diff --git a/Content.Client/Clothing/ClientClothingSystem.cs b/Content.Client/Clothing/ClientClothingSystem.cs index 5b04be4713..1cfe5f4b4f 100644 --- a/Content.Client/Clothing/ClientClothingSystem.cs +++ b/Content.Client/Clothing/ClientClothingSystem.cs @@ -30,7 +30,7 @@ public sealed class ClientClothingSystem : ClothingSystem /// For some context, im currently refactoring inventory. Part of that is slots not being indexed by a massive enum anymore, but by strings. /// Problem here: Every rsi-state is using the old enum-names in their state. I already used the new inventoryslots ALOT. tldr: its this or another week of renaming files. /// - private static readonly Dictionary TemporarySlotMap = new() + public static readonly Dictionary TemporarySlotMap = new() //CP14 Public { {"head", "HELMET"}, {"eyes", "EYES"}, diff --git a/Content.Client/UserInterface/Systems/Storage/Controls/ItemGridPiece.cs b/Content.Client/UserInterface/Systems/Storage/Controls/ItemGridPiece.cs index dd9986e4c6..45c7522fb7 100644 --- a/Content.Client/UserInterface/Systems/Storage/Controls/ItemGridPiece.cs +++ b/Content.Client/UserInterface/Systems/Storage/Controls/ItemGridPiece.cs @@ -160,8 +160,9 @@ public sealed class ItemGridPiece : Control, IEntityControl } // typically you'd divide by two, but since the textures are half a tile, this is done implicitly - var iconPosition = new Vector2((boundingGrid.Width + 1) * size.X + itemComponent.StoredOffset.X * 2, - (boundingGrid.Height + 1) * size.Y + itemComponent.StoredOffset.Y * 2); + var iconPosition = new Vector2( + (boundingGrid.Width + 1) * size.X + Location.Rotation.RotateVec(itemComponent.StoredOffset).X * 2, + (boundingGrid.Height + 1) * size.Y + Location.Rotation.RotateVec(itemComponent.StoredOffset).Y * 2); var iconRotation = Location.Rotation + Angle.FromDegrees(itemComponent.StoredRotation); if (itemComponent.StoredSprite is { } storageSprite) diff --git a/Content.Client/_CP14/ModularCraft/CP14ClientModularCraftSystem.cs b/Content.Client/_CP14/ModularCraft/CP14ClientModularCraftSystem.cs new file mode 100644 index 0000000000..e99aae7d99 --- /dev/null +++ b/Content.Client/_CP14/ModularCraft/CP14ClientModularCraftSystem.cs @@ -0,0 +1,213 @@ +using Content.Client.Clothing; +using Content.Shared._CP14.ModularCraft; +using Content.Shared._CP14.ModularCraft.Components; +using Content.Shared.Clothing; +using Content.Shared.Hands; +using Content.Shared.Inventory; +using Content.Shared.Item; +using Content.Shared.Wieldable.Components; +using Robust.Client.GameObjects; +using Robust.Client.ResourceManagement; +using Robust.Shared.Prototypes; +using Robust.Shared.Serialization.TypeSerializers.Implementations; + +namespace Content.Client._CP14.ModularCraft; + +public sealed class CP14ClientModularCraftSystem : CP14SharedModularCraftSystem +{ + [Dependency] private readonly IPrototypeManager _proto = default!; + [Dependency] private readonly IResourceCache _resCache = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnAfterHandleState); + SubscribeLocalEvent(OnGetInhandVisuals); + SubscribeLocalEvent(OnGetEquipmentVisuals); + } + + private void OnAfterHandleState(Entity start, + ref AfterAutoHandleStateEvent args) + { + if (!TryComp(start, out var sprite)) + return; + + UpdateIcon(start, sprite); + } + + private void UpdateIcon(Entity start, SpriteComponent? sprite = null) + { + if (!Resolve(start, ref sprite, false)) + return; + + //Remove old layers + foreach (var key in start.Comp.RevealedLayers) + { + sprite.RemoveLayer(key); + } + + start.Comp.RevealedLayers.Clear(); + + //Add new layers + var counterPart = 0; + foreach (var part in start.Comp.InstalledParts) + { + var indexedPart = _proto.Index(part); + + if (indexedPart.IconSprite is null) + { + //Try get default sprite + if (indexedPart.RsiPath is null) + continue; + + var state = $"icon"; + + var rsi = _resCache + .GetResource(SpriteSpecifierSerializer.TextureRoot / indexedPart.RsiPath) + .RSI; + + if (!rsi.TryGetState(state, out _)) + continue; + + var defaultLayer = new PrototypeLayerData + { + RsiPath = indexedPart.RsiPath, + State = state, + }; + + var keyCode = $"cp14-modular-icon-layer-{counterPart}-default"; + start.Comp.RevealedLayers.Add(keyCode); + var index = sprite.AddLayer(defaultLayer); + sprite.LayerMapSet(keyCode, index); + } + else + { + var counter = 0; + foreach (var layer in indexedPart.IconSprite) + { + var keyCode = $"cp14-modular-icon-layer-{counterPart}-{counter}"; + start.Comp.RevealedLayers.Add(keyCode); + var index = sprite.AddLayer(layer); + sprite.LayerMapSet(keyCode, index); + + counter++; + } + } + + counterPart++; + } + } + + private void OnGetInhandVisuals(Entity start, ref GetInhandVisualsEvent args) + { + var defaultKey = $"cp14-modular-inhand-layer-{args.Location.ToString().ToLowerInvariant()}"; + + if (!TryComp(start, out var item)) + return; + + var wielded = item.HeldPrefix == "wielded"; //SHITCOOOOOOODE + + var counterPart = 0; + foreach (var part in start.Comp.InstalledParts) + { + var indexedPart = _proto.Index(part); + + var targetLayers = + wielded ? indexedPart.WieldedInhandVisuals : indexedPart.InhandVisuals; + + if (targetLayers is not null && targetLayers.TryGetValue(args.Location, out var layers)) + { + var i = 0; + foreach (var layer in layers) + { + var key = $"{defaultKey}-{counterPart}-{i}"; + args.Layers.Add((key, layer)); + i++; + } + } + else + { + //Try get default visuals + if (indexedPart.RsiPath is null) + continue; + + var rsi = _resCache + .GetResource(SpriteSpecifierSerializer.TextureRoot / indexedPart.RsiPath) + .RSI; + + var state = $"inhand-{args.Location.ToString().ToLowerInvariant()}"; + + if (wielded) + state = $"wielded-{state}"; + + if (!rsi.TryGetState(state, out _)) + continue; + + var defaultLayer = new PrototypeLayerData + { + RsiPath = indexedPart.RsiPath, + State = state, + }; + + var key = $"{defaultKey}-{counterPart}-default"; + args.Layers.Add((key, defaultLayer)); + } + + counterPart++; + } + } + + private void OnGetEquipmentVisuals(Entity start, + ref GetEquipmentVisualsEvent args) + { + if (!TryComp(args.Equipee, out InventoryComponent? inventory)) + return; + + var defaultKey = $"cp14-modular-clothing-layer-{args.Slot}"; + + var counterPart = 0; + foreach (var part in start.Comp.InstalledParts) + { + var indexedPart = _proto.Index(part); + + if (indexedPart.ClothingVisuals is not null && indexedPart.ClothingVisuals.TryGetValue(args.Slot, out var layers)) + { + var i = 0; + foreach (var layer in layers) + { + var key = $"{defaultKey}-{counterPart}-{i}"; + args.Layers.Add((key, layer)); + i++; + } + } + else + { + //Try get default sprites + if (indexedPart.RsiPath is null) + continue; + + var rsi = _resCache + .GetResource(SpriteSpecifierSerializer.TextureRoot / indexedPart.RsiPath) + .RSI; + + if (!ClientClothingSystem.TemporarySlotMap.TryGetValue(args.Slot, out var correctedSlot)) + continue; + + var state = $"equipped-{correctedSlot}"; + + if (!rsi.TryGetState(state, out _)) + continue; + + var defaultLayer = new PrototypeLayerData + { + RsiPath = indexedPart.RsiPath, + State = state, + }; + + var key = $"{defaultKey}-{counterPart}-default"; + args.Layers.Add((key, defaultLayer)); + } + } + } +} diff --git a/Content.Server/_CP14/DPSMeter/CP14DPSMeterComponent.cs b/Content.Server/_CP14/DPSMeter/CP14DPSMeterComponent.cs new file mode 100644 index 0000000000..6c695f235a --- /dev/null +++ b/Content.Server/_CP14/DPSMeter/CP14DPSMeterComponent.cs @@ -0,0 +1,22 @@ +using Content.Shared.Damage; + +namespace Content.Server._CP14.DPSMeter; + +[RegisterComponent] +public sealed partial class CP14DPSMeterComponent : Component +{ + [DataField] + public DamageSpecifier TotalDamage = new DamageSpecifier(); + + [DataField] + public TimeSpan LastHitTime = TimeSpan.Zero; + + [DataField] + public TimeSpan StartTrackTime = TimeSpan.Zero; + + [DataField] + public TimeSpan EndTrackTime = TimeSpan.Zero; + + [DataField] + public TimeSpan TrackTimeAfterHit = TimeSpan.FromSeconds(5f); +} diff --git a/Content.Server/_CP14/DPSMeter/CP14DPSMeterSystem.cs b/Content.Server/_CP14/DPSMeter/CP14DPSMeterSystem.cs new file mode 100644 index 0000000000..49b26001f7 --- /dev/null +++ b/Content.Server/_CP14/DPSMeter/CP14DPSMeterSystem.cs @@ -0,0 +1,62 @@ +using Content.Shared.Damage; +using Content.Shared.FixedPoint; +using Content.Shared.Popups; +using Robust.Shared.Timing; + +namespace Content.Server._CP14.DPSMeter; + +public sealed class CP14DPSMeterSystem : EntitySystem +{ + [Dependency] private readonly IGameTiming _timing = default!; + [Dependency] private readonly SharedPopupSystem _popup = default!; + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnDamageChanged); + } + + public override void Update(float frameTime) + { + base.Update(frameTime); + + var query = EntityQueryEnumerator(); + while (query.MoveNext(out var uid, out var meter)) + { + if (_timing.CurTime < meter.EndTrackTime || meter.EndTrackTime == TimeSpan.Zero) + continue; + + //Clear tracking + _popup.PopupEntity($"TOTAL DPS: {GetDPS((uid, meter))}", uid, PopupType.Large); + meter.TotalDamage = new DamageSpecifier(); + meter.EndTrackTime = TimeSpan.Zero; + meter.StartTrackTime = TimeSpan.Zero; + } + } + + private void OnDamageChanged(Entity ent, ref DamageChangedEvent args) + { + if (args.DamageDelta is null) + return; + + ent.Comp.TotalDamage += args.DamageDelta; + + if (ent.Comp.StartTrackTime == TimeSpan.Zero) + ent.Comp.StartTrackTime = _timing.CurTime; + + ent.Comp.LastHitTime = _timing.CurTime; + ent.Comp.EndTrackTime = _timing.CurTime + ent.Comp.TrackTimeAfterHit; + + _popup.PopupEntity($"DPS: {GetDPS(ent)}", ent); + } + + private FixedPoint2 GetDPS(Entity ent) + { + var totalDamage = ent.Comp.TotalDamage.GetTotal(); + var totalSeconds = (ent.Comp.LastHitTime - ent.Comp.StartTrackTime).TotalSeconds; + + var DPS = totalDamage / Math.Max(totalSeconds, 1f); + + return DPS; + } +} diff --git a/Content.Server/_CP14/ModularCraft/CP14ModularCraftSystem.cs b/Content.Server/_CP14/ModularCraft/CP14ModularCraftSystem.cs new file mode 100644 index 0000000000..ebd691c30f --- /dev/null +++ b/Content.Server/_CP14/ModularCraft/CP14ModularCraftSystem.cs @@ -0,0 +1,169 @@ +using Content.Server.Item; +using Content.Shared._CP14.ModularCraft; +using Content.Shared._CP14.ModularCraft.Components; +using Content.Shared._CP14.ModularCraft.Prototypes; +using Content.Shared.Throwing; +using Robust.Server.GameObjects; +using Robust.Shared.Prototypes; +using Robust.Shared.Random; + +namespace Content.Server._CP14.ModularCraft; + +public sealed class CP14ModularCraftSystem : CP14SharedModularCraftSystem +{ + [Dependency] private readonly IPrototypeManager _proto = default!; + [Dependency] private readonly TransformSystem _transform = default!; + [Dependency] private readonly ThrowingSystem _throwing = default!; + [Dependency] private readonly IRobustRandom _random = default!; + [Dependency] private readonly ItemSystem _item = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnStartPointMapInit); + SubscribeLocalEvent(OnAddedPart); + } + + private void OnAddedPart(Entity ent, ref CP14ModularCraftAddPartDoAfter args) + { + if (args.Cancelled || args.Handled) + return; + + if (!TryComp(args.Used, out var partComp)) + return; + + if (!TryAddPartToFirstSlot(ent, (args.Used.Value, partComp))) + return; + + //TODO: Sound + + args.Handled = true; + } + + private void OnStartPointMapInit(Entity ent, ref MapInitEvent args) + { + foreach (var startSlot in ent.Comp.StartSlots) + { + ent.Comp.FreeSlots.Add(startSlot); + } + + if (TryComp(ent, out var autoAssemble)) + { + foreach (var detail in autoAssemble.Details) + { + TryAddPartToFirstSlot(ent, detail); + } + } + } + + private bool TryAddPartToFirstSlot(Entity start, + Entity part) + { + foreach (var partProto in part.Comp.PossibleParts) + { + if (!_proto.TryIndex(partProto, out var partIndexed)) + continue; + + if (partIndexed.TargetSlot is null) + continue; + + if (!start.Comp.FreeSlots.Contains(partIndexed.TargetSlot.Value)) + continue; + + if (TryAddPartToSlot(start, part, partProto, partIndexed.TargetSlot.Value)) + { + QueueDel(part); + return true; + } + } + return false; + } + private bool TryAddPartToFirstSlot(Entity start, + ProtoId partProto) + { + if (!_proto.TryIndex(partProto, out var partIndexed)) + return false; + + if (partIndexed.TargetSlot is null) + return false; + + if (!start.Comp.FreeSlots.Contains(partIndexed.TargetSlot.Value)) + return false; + + return TryAddPartToSlot(start, null, partProto, partIndexed.TargetSlot.Value); + } + + private bool TryAddPartToSlot(Entity start, + Entity? part, + ProtoId partProto, + ProtoId slot) + { + if (!start.Comp.FreeSlots.Contains(slot)) + return false; + + var xform = Transform(start); + if (xform.GridUid != xform.ParentUid) + return false; + + AddPartToSlot(start, part, partProto, slot); + return true; + } + + private void AddPartToSlot(Entity start, + Entity? part, + ProtoId partProto, + ProtoId slot) + { + start.Comp.FreeSlots.Remove(slot); + start.Comp.InstalledParts.Add(partProto); + + var indexedPart = _proto.Index(partProto); + start.Comp.FreeSlots.AddRange(indexedPart.AddSlots); + + foreach (var modifier in indexedPart.Modifiers) + { + modifier.Effect(EntityManager, start, part); + } + + _item.VisualsChanged(start); + Dirty(start); + } + + public void DisassembleModular(EntityUid target) + { + if (!TryComp(target, out var modular)) + return; + + var sourceCoord = _transform.GetMapCoordinates(target); + + //Spawn start part + if (modular.StartProtoPart is not null) + { + if (_random.Prob(0.5f)) //TODO: Dehardcode + { + var spawned = Spawn(modular.StartProtoPart, sourceCoord); + _throwing.TryThrow(spawned, _random.NextAngle().ToWorldVec(), 1f); + } + } + + //Spawn parts + foreach (var part in modular.InstalledParts) + { + if (!_proto.TryIndex(part, out var indexedPart)) + continue; + + if (_random.Prob(indexedPart.DestroyProb)) + continue; + + if (indexedPart.SourcePart is null) + continue; + + var spawned = Spawn(indexedPart.SourcePart, sourceCoord); + _throwing.TryThrow(spawned, _random.NextAngle().ToWorldVec(), 1f); + } + + //Delete + QueueDel(target); + } +} diff --git a/Content.Server/_CP14/ModularCraft/CP14ModularDisassembleBehavior.cs b/Content.Server/_CP14/ModularCraft/CP14ModularDisassembleBehavior.cs new file mode 100644 index 0000000000..88834d70c1 --- /dev/null +++ b/Content.Server/_CP14/ModularCraft/CP14ModularDisassembleBehavior.cs @@ -0,0 +1,15 @@ +using Content.Server.Destructible; +using Content.Server.Destructible.Thresholds.Behaviors; + +namespace Content.Server._CP14.ModularCraft; + +[Serializable] +[DataDefinition] +public sealed partial class CP14ModularDisassembleBehavior : IThresholdBehavior +{ + public void Execute(EntityUid owner, DestructibleSystem system, EntityUid? cause = null) + { + var modular = system.EntityManager.System(); + modular.DisassembleModular(owner); + } +} diff --git a/Content.Server/_CP14/ModularCraft/Modifiers/AddComponents.cs b/Content.Server/_CP14/ModularCraft/Modifiers/AddComponents.cs new file mode 100644 index 0000000000..1fd630c27c --- /dev/null +++ b/Content.Server/_CP14/ModularCraft/Modifiers/AddComponents.cs @@ -0,0 +1,20 @@ +using Content.Shared._CP14.ModularCraft; +using Content.Shared._CP14.ModularCraft.Components; +using Robust.Shared.Prototypes; + +namespace Content.Server._CP14.ModularCraft.Modifiers; + +public sealed partial class AddComponents : CP14ModularCraftModifier +{ + [DataField] + public ComponentRegistry? Components; + + [DataField] + public bool Override = false; + + public override void Effect(EntityManager entManager, Entity start, Entity? part) + { + if (Components is not null) + entManager.AddComponents(start, Components, Override); + } +} diff --git a/Content.Server/_CP14/ModularCraft/Modifiers/EditDamageableModifier.cs b/Content.Server/_CP14/ModularCraft/Modifiers/EditDamageableModifier.cs new file mode 100644 index 0000000000..ef9590df54 --- /dev/null +++ b/Content.Server/_CP14/ModularCraft/Modifiers/EditDamageableModifier.cs @@ -0,0 +1,20 @@ +using Content.Shared._CP14.Damageable; +using Content.Shared._CP14.ModularCraft; +using Content.Shared._CP14.ModularCraft.Components; + +namespace Content.Server._CP14.ModularCraft.Modifiers; + +public sealed partial class EditDamageableModifier : CP14ModularCraftModifier +{ + [DataField(required: true)] + public float Multiplier = 1f; + + public override void Effect(EntityManager entManager, Entity start, Entity? part) + { + if (!entManager.TryGetComponent(start, out var damageable)) + return; + + damageable.Modifier *= Multiplier; + entManager.Dirty(start); + } +} diff --git a/Content.Server/_CP14/ModularCraft/Modifiers/EditIncreaseDamageOnWield.cs b/Content.Server/_CP14/ModularCraft/Modifiers/EditIncreaseDamageOnWield.cs new file mode 100644 index 0000000000..4c9397edba --- /dev/null +++ b/Content.Server/_CP14/ModularCraft/Modifiers/EditIncreaseDamageOnWield.cs @@ -0,0 +1,28 @@ +using Content.Shared._CP14.ModularCraft; +using Content.Shared._CP14.ModularCraft.Components; +using Content.Shared.Damage; +using Content.Shared.Wieldable.Components; + +namespace Content.Server._CP14.ModularCraft.Modifiers; + +public sealed partial class EditIncreaseDamageOnWield : CP14ModularCraftModifier +{ + [DataField] + public DamageSpecifier? BonusDamage; + + [DataField] + public float? DamageMultiplier; + + public override void Effect(EntityManager entManager, Entity start, Entity? part) + { + if (!entManager.TryGetComponent(start, out var wield)) + return; + + if (BonusDamage is not null) + wield.BonusDamage += BonusDamage; + + if (DamageMultiplier is not null) + wield.BonusDamage *= DamageMultiplier.Value; + } + +} diff --git a/Content.Server/_CP14/ModularCraft/Modifiers/EditItem.cs b/Content.Server/_CP14/ModularCraft/Modifiers/EditItem.cs new file mode 100644 index 0000000000..e70f9d1a47 --- /dev/null +++ b/Content.Server/_CP14/ModularCraft/Modifiers/EditItem.cs @@ -0,0 +1,48 @@ +using System.Linq; +using Content.Shared._CP14.ModularCraft; +using Content.Shared._CP14.ModularCraft.Components; +using Content.Shared.Item; +using Robust.Shared.Prototypes; + +namespace Content.Server._CP14.ModularCraft.Modifiers; + +public sealed partial class EditItem : CP14ModularCraftModifier +{ + [DataField] + public ProtoId? NewSize; + + /// + /// Only works if the item has 1 shape. Increases or decreases it size. + /// + [DataField] + public Vector2i? AdjustShape; + + [DataField] + public Vector2i? StoredOffsetBonus; + + public override void Effect(EntityManager entManager, Entity start, Entity? part) + { + if (!entManager.TryGetComponent(start, out var itemComp) || itemComp.Shape is null) + return; + + var itemSystem = entManager.System(); + + if (NewSize is not null) + itemSystem.SetSize(start, NewSize.Value); + + var itemShape = itemSystem.GetItemShape((start, itemComp)); + if (AdjustShape is not null && itemShape.Count == 1) + { + var box = itemComp.Shape.First(); + box.Right += AdjustShape.Value.X; + box.Top += AdjustShape.Value.Y; + itemSystem.SetShape(start, new List{box}); + } + + if (StoredOffsetBonus is not null) + { + var newOffset = itemComp.StoredOffset + StoredOffsetBonus.Value; + itemSystem.SetStoredOffset(start, newOffset, itemComp); + } + } +} diff --git a/Content.Server/_CP14/ModularCraft/Modifiers/EditMeleeWeapon.cs b/Content.Server/_CP14/ModularCraft/Modifiers/EditMeleeWeapon.cs new file mode 100644 index 0000000000..fe78823b4c --- /dev/null +++ b/Content.Server/_CP14/ModularCraft/Modifiers/EditMeleeWeapon.cs @@ -0,0 +1,64 @@ +using Content.Shared._CP14.ModularCraft; +using Content.Shared._CP14.ModularCraft.Components; +using Content.Shared.Damage; +using Content.Shared.Weapons.Melee; +using Robust.Shared.Prototypes; + +namespace Content.Server._CP14.ModularCraft.Modifiers; + +public sealed partial class EditMeleeWeapon : CP14ModularCraftModifier +{ + [DataField] + public EntProtoId? NewAnimation; + + [DataField] + public EntProtoId? NewWideAnimation; + + [DataField] + public float? AngleMultiplier; + + [DataField] + public DamageSpecifier? BonusDamage; + + [DataField] + public float? DamageMultiplier; + + [DataField] + public float? AttackRateMultiplier; + + [DataField] + public float? BonusRange; + + [DataField] + public bool? ResetOnHandSelected; + + public override void Effect(EntityManager entManager, Entity start, Entity? part) + { + if (!entManager.TryGetComponent(start, out var melee)) + return; + + if (NewAnimation is not null) + melee.Animation = NewAnimation.Value; + + if (NewWideAnimation is not null) + melee.WideAnimation = NewWideAnimation.Value; + + if (AngleMultiplier is not null) + melee.Angle = Angle.FromDegrees(melee.Angle.Degrees * AngleMultiplier.Value); + + if (BonusDamage is not null) + melee.Damage += BonusDamage; + + if (DamageMultiplier is not null) + melee.Damage *= DamageMultiplier.Value; + + if (AttackRateMultiplier is not null) + melee.AttackRate *= AttackRateMultiplier.Value; + + if (BonusRange is not null) + melee.Range += BonusRange.Value; + + if (ResetOnHandSelected is not null) + melee.ResetOnHandSelected = ResetOnHandSelected.Value; + } +} diff --git a/Content.Server/_CP14/ModularCraft/Modifiers/Inherit.cs b/Content.Server/_CP14/ModularCraft/Modifiers/Inherit.cs new file mode 100644 index 0000000000..a923a70d46 --- /dev/null +++ b/Content.Server/_CP14/ModularCraft/Modifiers/Inherit.cs @@ -0,0 +1,25 @@ +using Content.Shared._CP14.ModularCraft; +using Content.Shared._CP14.ModularCraft.Components; +using Content.Shared._CP14.ModularCraft.Prototypes; +using Robust.Shared.Prototypes; + +namespace Content.Server._CP14.ModularCraft.Modifiers; + +public sealed partial class Inherit : CP14ModularCraftModifier +{ + [DataField(required: true)] + public List> CopyFrom = new(); + + public override void Effect(EntityManager entManager, Entity start, Entity? part) + { + var prototypeManager = IoCManager.Resolve(); + + foreach (var copy in CopyFrom) + { + foreach (var modifier in prototypeManager.Index(copy).Modifiers) + { + modifier.Effect(entManager, start, part); + } + } + } +} diff --git a/Content.Shared/Item/SharedItemSystem.cs b/Content.Shared/Item/SharedItemSystem.cs index a058cb8658..5c1d44f2ce 100644 --- a/Content.Shared/Item/SharedItemSystem.cs +++ b/Content.Shared/Item/SharedItemSystem.cs @@ -55,6 +55,15 @@ public abstract class SharedItemSystem : EntitySystem Dirty(uid, component); } + public void SetStoredOffset(EntityUid uid, Vector2i newOffset, ItemComponent? component = null) + { + if (!Resolve(uid, ref component, false)) + return; + + component.StoredOffset = newOffset; + Dirty(uid, component); + } + public void SetHeldPrefix(EntityUid uid, string? heldPrefix, bool force = false, ItemComponent? component = null) { if (!Resolve(uid, ref component, false)) diff --git a/Content.Shared/Verbs/VerbCategory.cs b/Content.Shared/Verbs/VerbCategory.cs index 5b0f934c6f..a513d0033b 100644 --- a/Content.Shared/Verbs/VerbCategory.cs +++ b/Content.Shared/Verbs/VerbCategory.cs @@ -76,9 +76,12 @@ namespace Content.Shared.Verbs public static readonly VerbCategory InstrumentStyle = new("verb-categories-instrument-style", null); - public static readonly VerbCategory Lockpick = + public static readonly VerbCategory CP14LockPick = new("verb-categories-lock-pick", "/Textures/Interface/VerbIcons/lock.svg.192dpi.png"); + public static readonly VerbCategory CP14ModularCraft = + new("verb-categories-modular-craft", "/Textures/Interface/AdminActions/unbolt.png"); + public static readonly VerbCategory ChannelSelect = new("verb-categories-channel-select", null); public static readonly VerbCategory SetSensor = new("verb-categories-set-sensor", null); diff --git a/Content.Shared/Weapons/Melee/MeleeWeaponComponent.cs b/Content.Shared/Weapons/Melee/MeleeWeaponComponent.cs index 5b4d01ca6e..e4c05c0eba 100644 --- a/Content.Shared/Weapons/Melee/MeleeWeaponComponent.cs +++ b/Content.Shared/Weapons/Melee/MeleeWeaponComponent.cs @@ -39,7 +39,7 @@ public sealed partial class MeleeWeaponComponent : Component /// /// Starts attack cooldown when equipped if true. /// - [ViewVariables(VVAccess.ReadWrite), DataField] + [ViewVariables(VVAccess.ReadWrite), DataField, AutoNetworkedField] //CP14 AutoNetworked public bool ResetOnHandSelected = true; /* diff --git a/Content.Shared/Wieldable/Components/IncreaseDamageOnWieldComponent.cs b/Content.Shared/Wieldable/Components/IncreaseDamageOnWieldComponent.cs index 3336923b02..5c9bda8e3c 100644 --- a/Content.Shared/Wieldable/Components/IncreaseDamageOnWieldComponent.cs +++ b/Content.Shared/Wieldable/Components/IncreaseDamageOnWieldComponent.cs @@ -2,7 +2,7 @@ using Content.Shared.Damage; namespace Content.Shared.Wieldable.Components; -[RegisterComponent, Access(typeof(WieldableSystem))] +[RegisterComponent/*, Access(typeof(WieldableSystem))*/] //CP14 Public access public sealed partial class IncreaseDamageOnWieldComponent : Component { [DataField("damage", required: true)] diff --git a/Content.Shared/_CP14/Damageable/CP14DamageableModifierComponent.cs b/Content.Shared/_CP14/Damageable/CP14DamageableModifierComponent.cs new file mode 100644 index 0000000000..138e325b30 --- /dev/null +++ b/Content.Shared/_CP14/Damageable/CP14DamageableModifierComponent.cs @@ -0,0 +1,14 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared._CP14.Damageable; + +/// +/// Increases or decreases incoming damage, regardless of the damage type. +/// Unlike standard Damageable modifiers, this value can be changed during the game. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class CP14DamageableModifierComponent : Component +{ + [DataField, AutoNetworkedField] + public float Modifier = 1f; +} diff --git a/Content.Shared/_CP14/Damageable/CP14DamageableModifierSystem.cs b/Content.Shared/_CP14/Damageable/CP14DamageableModifierSystem.cs new file mode 100644 index 0000000000..f93e9ac4cd --- /dev/null +++ b/Content.Shared/_CP14/Damageable/CP14DamageableModifierSystem.cs @@ -0,0 +1,18 @@ +using Content.Shared.Damage; + +namespace Content.Shared._CP14.Damageable; + +public sealed class CP14DamageableModifierSystem : EntitySystem +{ + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnDamageModify); + } + + private void OnDamageModify(Entity ent, ref DamageModifyEvent args) + { + args.Damage *= ent.Comp.Modifier; + } +} diff --git a/Content.Shared/_CP14/Door/CP14DoorInteractionPopupComponent.cs b/Content.Shared/_CP14/Door/CP14DoorInteractionPopupComponent.cs index 60a6c7575f..3df827adb3 100644 --- a/Content.Shared/_CP14/Door/CP14DoorInteractionPopupComponent.cs +++ b/Content.Shared/_CP14/Door/CP14DoorInteractionPopupComponent.cs @@ -16,7 +16,7 @@ public sealed partial class CP14DoorInteractionPopupComponent : Component public string InteractString = "cp14-closed-door-interact-popup"; [DataField("interactSound")] - public SoundSpecifier InteractSound; + public SoundSpecifier? InteractSound; [ViewVariables(VVAccess.ReadWrite)] public TimeSpan LastInteractTime = TimeSpan.Zero; diff --git a/Content.Shared/_CP14/LockKey/SharedCP14LockKeySystem.cs b/Content.Shared/_CP14/LockKey/SharedCP14LockKeySystem.cs index 46f042a24c..89a34f7cc1 100644 --- a/Content.Shared/_CP14/LockKey/SharedCP14LockKeySystem.cs +++ b/Content.Shared/_CP14/LockKey/SharedCP14LockKeySystem.cs @@ -129,7 +129,7 @@ public sealed class SharedCP14LockKeySystem : EntitySystem }, Text = Loc.GetString("cp14-lock-verb-lock-pick-use-text") + $" {height}", Message = Loc.GetString("cp14-lock-verb-lock-pick-use-message"), - Category = VerbCategory.Lockpick, + Category = VerbCategory.CP14LockPick, Priority = height, CloseMenu = false, }; diff --git a/Content.Shared/_CP14/MeleeWeapon/Components/CP14SharpenedComponent.cs b/Content.Shared/_CP14/MeleeWeapon/Components/CP14SharpenedComponent.cs index ee7c81042a..70ef3ce9ad 100644 --- a/Content.Shared/_CP14/MeleeWeapon/Components/CP14SharpenedComponent.cs +++ b/Content.Shared/_CP14/MeleeWeapon/Components/CP14SharpenedComponent.cs @@ -1,16 +1,17 @@ using Content.Shared._CP14.MeleeWeapon.EntitySystems; +using Robust.Shared.GameStates; namespace Content.Shared._CP14.MeleeWeapon.Components; /// /// allows the object to become blunt with use /// -[RegisterComponent, Access(typeof(CP14SharpeningSystem))] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState, Access(typeof(CP14SharpeningSystem))] public sealed partial class CP14SharpenedComponent : Component { - [DataField] + [DataField, AutoNetworkedField] public float Sharpness = 1f; [DataField] - public float SharpnessDamageBy1Damage = 0.002f; //500 damage + public float SharpnessDamageBy1Damage = 0.001f; //1000 damage } diff --git a/Content.Shared/_CP14/MeleeWeapon/EntitySystems/CP14MeleeParrySystem.cs b/Content.Shared/_CP14/MeleeWeapon/EntitySystems/CP14MeleeParrySystem.cs index 684dad3452..1c10810d8e 100644 --- a/Content.Shared/_CP14/MeleeWeapon/EntitySystems/CP14MeleeParrySystem.cs +++ b/Content.Shared/_CP14/MeleeWeapon/EntitySystems/CP14MeleeParrySystem.cs @@ -2,7 +2,6 @@ using Content.Shared._CP14.MeleeWeapon.Components; using Content.Shared.Hands.EntitySystems; using Content.Shared.Popups; using Content.Shared.Throwing; -using Content.Shared.Weapons.Melee; using Content.Shared.Weapons.Melee.Events; using Robust.Shared.Audio.Systems; using Robust.Shared.Random; diff --git a/Content.Shared/_CP14/ModularCraft/CP14ModularCraftModifier.cs b/Content.Shared/_CP14/ModularCraft/CP14ModularCraftModifier.cs new file mode 100644 index 0000000000..ec22e39889 --- /dev/null +++ b/Content.Shared/_CP14/ModularCraft/CP14ModularCraftModifier.cs @@ -0,0 +1,11 @@ +using Content.Shared._CP14.ModularCraft.Components; +using JetBrains.Annotations; + +namespace Content.Shared._CP14.ModularCraft; + +[ImplicitDataDefinitionForInheritors] +[MeansImplicitUse] +public abstract partial class CP14ModularCraftModifier +{ + public abstract void Effect(EntityManager entManager, Entity start, Entity? part); +} diff --git a/Content.Shared/_CP14/ModularCraft/CP14SharedModularCraftSystem.cs b/Content.Shared/_CP14/ModularCraft/CP14SharedModularCraftSystem.cs new file mode 100644 index 0000000000..900d1f30cd --- /dev/null +++ b/Content.Shared/_CP14/ModularCraft/CP14SharedModularCraftSystem.cs @@ -0,0 +1,51 @@ +using Content.Shared._CP14.ModularCraft.Components; +using Content.Shared.DoAfter; +using Content.Shared.Interaction; +using Robust.Shared.Serialization; + +namespace Content.Shared._CP14.ModularCraft; + +public abstract class CP14SharedModularCraftSystem : EntitySystem +{ + [Dependency] private readonly SharedDoAfterSystem _doAfter = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnAfterInteractPart); + } + + private void OnAfterInteractPart(Entity start, ref AfterInteractEvent args) + { + if (args.Handled || args.Target is null) + return; + + if (!HasComp(args.Target)) + return; + + var xform = Transform(args.Target.Value); + if (xform.GridUid != xform.ParentUid) + return; + + _doAfter.TryStartDoAfter(new DoAfterArgs(EntityManager, + args.User, + start.Comp.DoAfter, + new CP14ModularCraftAddPartDoAfter(), + args.Target, + args.Target, + start) + { + BreakOnDamage = true, + BreakOnMove = true, + BreakOnDropItem = true, + }); + + args.Handled = true; + } +} + +[Serializable, NetSerializable] +public sealed partial class CP14ModularCraftAddPartDoAfter : SimpleDoAfterEvent +{ +} diff --git a/Content.Shared/_CP14/ModularCraft/Components/CP14ModularAutoAssembleComponent.cs b/Content.Shared/_CP14/ModularCraft/Components/CP14ModularAutoAssembleComponent.cs new file mode 100644 index 0000000000..fcb7ae5888 --- /dev/null +++ b/Content.Shared/_CP14/ModularCraft/Components/CP14ModularAutoAssembleComponent.cs @@ -0,0 +1,14 @@ +using Content.Shared._CP14.ModularCraft.Prototypes; +using Robust.Shared.Prototypes; + +namespace Content.Shared._CP14.ModularCraft.Components; + +/// +/// Adds all details to the item when initializing. This is useful for spawning modular items directly when mapping or as loot in demiplanes. +/// +[RegisterComponent, Access(typeof(CP14SharedModularCraftSystem))] +public sealed partial class CP14ModularCraftAutoAssembleComponent : Component +{ + [DataField] + public List> Details = new(); +} diff --git a/Content.Shared/_CP14/ModularCraft/Components/CP14ModularCraftPartComponent.cs b/Content.Shared/_CP14/ModularCraft/Components/CP14ModularCraftPartComponent.cs new file mode 100644 index 0000000000..44e8751fa9 --- /dev/null +++ b/Content.Shared/_CP14/ModularCraft/Components/CP14ModularCraftPartComponent.cs @@ -0,0 +1,16 @@ +using Content.Shared._CP14.ModularCraft.Prototypes; +using Robust.Shared.Prototypes; + +namespace Content.Shared._CP14.ModularCraft.Components; + +[RegisterComponent, Access(typeof(CP14SharedModularCraftSystem))] +public sealed partial class CP14ModularCraftPartComponent : Component +{ + [DataField(required: true)] + public HashSet> PossibleParts = new(); + + [DataField] + public float DoAfter = 1f; + + //TODO: Sound +} diff --git a/Content.Shared/_CP14/ModularCraft/Components/CP14ModularCraftStartpointComponent.cs b/Content.Shared/_CP14/ModularCraft/Components/CP14ModularCraftStartpointComponent.cs new file mode 100644 index 0000000000..296bc2babb --- /dev/null +++ b/Content.Shared/_CP14/ModularCraft/Components/CP14ModularCraftStartpointComponent.cs @@ -0,0 +1,38 @@ +using Content.Shared._CP14.ModularCraft.Prototypes; +using Robust.Shared.GameStates; +using Robust.Shared.Prototypes; + +namespace Content.Shared._CP14.ModularCraft.Components; + +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState(true), Access(typeof(CP14SharedModularCraftSystem))] +public sealed partial class CP14ModularCraftStartPointComponent : Component +{ + /// + /// Starting free slots + /// + [DataField] + public List> StartSlots = new(); + + /// + /// Current free slots. May vary depending on the modules delivered + /// + [DataField] + public List> FreeSlots = new(); + + /// + /// A list of all installed parts. + /// + [DataField, AutoNetworkedField] + public List> InstalledParts = new(); + + /// + /// Spawned on disassembling + /// + [DataField] + public EntProtoId? StartProtoPart; + + /// + /// Clentside visual layers from installedParts + /// + public HashSet RevealedLayers = new(); +} diff --git a/Content.Shared/_CP14/ModularCraft/Prototypes/CP14ModularCraftPartPrototype.cs b/Content.Shared/_CP14/ModularCraft/Prototypes/CP14ModularCraftPartPrototype.cs new file mode 100644 index 0000000000..1123bdd0d3 --- /dev/null +++ b/Content.Shared/_CP14/ModularCraft/Prototypes/CP14ModularCraftPartPrototype.cs @@ -0,0 +1,45 @@ +using Content.Shared.Hands.Components; +using Robust.Shared.Prototypes; + +namespace Content.Shared._CP14.ModularCraft.Prototypes; + +[Prototype("modularPart")] +public sealed partial class CP14ModularCraftPartPrototype : IPrototype +{ + [IdDataField] + public string ID { get; private set; } = default!; + + [DataField] + public ProtoId? TargetSlot; + + /// + /// An entity that can drop out of the final modular item when destroyed. + /// By design, the original item with this prototype from which the weapon was assembled. + /// + [DataField] + public EntProtoId? SourcePart; + + [DataField] + public float DestroyProb = 0.25f; + + [DataField(serverOnly: true)] + public List Modifiers = new(); + + [DataField] + public HashSet> AddSlots = new(); + + [DataField] + public string? RsiPath; + + [DataField] + public List? IconSprite; + + [DataField] + public Dictionary>? InhandVisuals; + + [DataField] + public Dictionary>? WieldedInhandVisuals; + + [DataField] + public Dictionary>? ClothingVisuals; +} diff --git a/Content.Shared/_CP14/ModularCraft/Prototypes/CP14ModularCraftSlotPrototype.cs b/Content.Shared/_CP14/ModularCraft/Prototypes/CP14ModularCraftSlotPrototype.cs new file mode 100644 index 0000000000..5777819360 --- /dev/null +++ b/Content.Shared/_CP14/ModularCraft/Prototypes/CP14ModularCraftSlotPrototype.cs @@ -0,0 +1,13 @@ +using Robust.Shared.Prototypes; + +namespace Content.Shared._CP14.ModularCraft.Prototypes; + +[Prototype("modularSlot")] +public sealed partial class CP14ModularCraftSlotPrototype : IPrototype +{ + [IdDataField] + public string ID { get; private set; } = default!; + + [DataField(required: true)] + public LocId Name = string.Empty; +} diff --git a/Content.Shared/_CP14/Temperature/CP14SharedFireSpreadSystem.cs b/Content.Shared/_CP14/Temperature/CP14SharedFireSpreadSystem.cs index 0f4d53b030..e523205992 100644 --- a/Content.Shared/_CP14/Temperature/CP14SharedFireSpreadSystem.cs +++ b/Content.Shared/_CP14/Temperature/CP14SharedFireSpreadSystem.cs @@ -68,7 +68,7 @@ public abstract partial class CP14SharedFireSpreadSystem : EntitySystem new CP14IgnitionDoAfter(), args.Target, args.Target, - args.Used) + ent) { BreakOnDamage = true, BreakOnMove = true, diff --git a/Resources/Locale/ru-RU/_CP14/modularCraft/modularCraft.ftl b/Resources/Locale/ru-RU/_CP14/modularCraft/modularCraft.ftl new file mode 100644 index 0000000000..20795993ae --- /dev/null +++ b/Resources/Locale/ru-RU/_CP14/modularCraft/modularCraft.ftl @@ -0,0 +1,3 @@ +verb-categories-modular-craft = Ковка + +cp14-modular-craft-add-part-verb-text = Прикрепить как {$slot} \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_CP14/modularCraft/slots.ftl b/Resources/Locale/ru-RU/_CP14/modularCraft/slots.ftl new file mode 100644 index 0000000000..f37ad49ba1 --- /dev/null +++ b/Resources/Locale/ru-RU/_CP14/modularCraft/slots.ftl @@ -0,0 +1,2 @@ +cp14-modular-slot-blade = лезвие +cp14-modular-slot-jewerly1 = украшение (1) \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Catalog/Fills/crates.yml b/Resources/Prototypes/_CP14/Catalog/Fills/crates.yml index b5246ac96d..91faffb3da 100644 --- a/Resources/Prototypes/_CP14/Catalog/Fills/crates.yml +++ b/Resources/Prototypes/_CP14/Catalog/Fills/crates.yml @@ -52,10 +52,10 @@ - id: CP14Torch - id: CP14Lighter - id: CP14ManaOperationGlove - - id: CP14BaseShovel + - id: CP14ModularIronShovel - id: CP14BaseMop - id: CP14BaseBroom - - id: CP14BasePickaxe + - id: CP14ModularIronPickaxe - !type:GroupSelector children: - id: CP14CrystalLampBlueEmpty diff --git a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Water/T0_ice_dagger.yml b/Resources/Prototypes/_CP14/Entities/Actions/Spells/Water/T0_ice_dagger.yml deleted file mode 100644 index aca3985a12..0000000000 --- a/Resources/Prototypes/_CP14/Entities/Actions/Spells/Water/T0_ice_dagger.yml +++ /dev/null @@ -1,107 +0,0 @@ -- type: entity - id: CP14ActionSpellIceDagger - name: Ice dagger - description: Materialization of a temporary sharp ice throwing dagger - components: - - type: Sprite - sprite: _CP14/Effects/Magic/spells_icons.rsi - state: ice_dagger - - type: CP14MagicEffect - magicType: Water - manaCost: 15 - effects: - - !type:CP14SpellSpawnEntityOnTarget - spawns: - - CP14ImpactEffectIceDagger - - !type:CP14SpellSpawnInHandEntity - spawns: - - CP14DaggerIce - - type: CP14MagicEffectSomaticAspect - - type: CP14MagicEffectCastingVisual - proto: CP14RuneIceDagger - - type: InstantAction - itemIconStyle: BigAction - sound: !type:SoundPathSpecifier - path: /Audio/Magic/rumble.ogg - icon: - sprite: _CP14/Effects/Magic/spells_icons.rsi - state: ice_dagger - event: !type:CP14DelayedInstantActionEvent - cooldown: 10 - castDelay: 0.5 - breakOnMove: false - -- type: entity - id: CP14RuneIceDagger - parent: CP14BaseMagicRune - categories: [ HideSpawnMenu ] - components: - - type: PointLight - color: "#5eabeb" - - type: Sprite - layers: - - state: medium_line - color: "#5eabeb" - shader: unshaded - -- type: entity - id: CP14ImpactEffectIceDagger - parent: CP14BaseMagicImpact - categories: [ HideSpawnMenu ] - components: - - type: Sprite - layers: - - state: particles_up - color: "#5eabeb" - shader: unshaded - -- type: entity - id: CP14DaggerIce - parent: - - CP14BaseDagger - name: ice dagger - description: A piece of sharp magical ice. In a little while, the spell will wear off, and he will disappear. - components: - - type: TimedDespawn - lifetime: 60 # 1 min - - type: Clothing - sprite: _CP14/Objects/Weapons/Melee/Dagger/ice_dagger.rsi - - type: Sprite - sprite: _CP14/Objects/Weapons/Melee/Dagger/ice_dagger.rsi - - type: CP14Currency - currency: 0 - - type: MeleeWeapon - damage: - types: - Slash: 5 - Piercing: 2 - Cold: 3 - - type: DamageOtherOnHit - damage: - types: - Piercing: 5 - Cold: 5 - - type: CP14MeleeSelfDamage - damageToSelf: - types: - Blunt: 2 # 5 hits - - type: Destructible - thresholds: - - trigger: - !type:DamageTrigger - damage: 10 - behaviors: - - !type:PlaySoundBehavior - sound: - collection: GlassBreak - - !type:DoActsBehavior - acts: ["Destruction"] - -- type: entity - parent: CP14BaseSpellScrollWater - id: CP14SpellScrollIceDagger - name: ice dagger spell scroll - components: - - type: CP14SpellStorage - spells: - - CP14ActionSpellIceDagger \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Markers/Spawners/Random/Loot/spawners.yml b/Resources/Prototypes/_CP14/Entities/Markers/Spawners/Random/Loot/spawners.yml index 649e06eeac..60a9d7f206 100644 --- a/Resources/Prototypes/_CP14/Entities/Markers/Spawners/Random/Loot/spawners.yml +++ b/Resources/Prototypes/_CP14/Entities/Markers/Spawners/Random/Loot/spawners.yml @@ -35,7 +35,6 @@ - !type:GroupSelector children: - id: CP14SpellScrollIceShards - - id: CP14SpellScrollIceDagger - id: CP14SpellScrollShadowGrab - id: CP14SpellScrollSphereOfLight - id: CP14SpellScrollCureWounds diff --git a/Resources/Prototypes/_CP14/Entities/Mobs/NPC/skeleton.yml b/Resources/Prototypes/_CP14/Entities/Mobs/NPC/skeleton.yml index ad1476f868..265620aea1 100644 --- a/Resources/Prototypes/_CP14/Entities/Mobs/NPC/skeleton.yml +++ b/Resources/Prototypes/_CP14/Entities/Mobs/NPC/skeleton.yml @@ -19,7 +19,7 @@ - type: entity id: SpawnPointGhostDemiplaneSkeleton name: ghost role spawn point - suffix: rat king + suffix: skeleton categories: [ ForkFiltered ] parent: MarkerBase components: diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/blade.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/blade.yml new file mode 100644 index 0000000000..29a0c05ebf --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/blade.yml @@ -0,0 +1,147 @@ +- type: entity + parent: BaseItem + id: CP14ModularBladeIronDagger + categories: [ ForkFiltered ] + name: iron dagger blade + description: A dagger blade without a hilt. A blacksmith can use it as a spare part to create a weapon. + components: + - type: Item + storedRotation: 45 + shape: + - 0,0,0,0 + storedOffset: 0, 5 + - type: Sprite + sprite: _CP14/Objects/ModularTools/iron_dagger.rsi + state: icon + - type: CP14ModularCraftPart + possibleParts: + - BladeIronDagger + +- type: entity + parent: BaseItem + id: CP14ModularBladeIronSpear + categories: [ ForkFiltered ] + name: iron spearhead + description: Hiltless spearhead. A blacksmith can use it as a spare part to create a weapon. + components: + - type: Item + storedRotation: 45 + shape: + - 0,0,0,0 + storedOffset: 0, 5 + - type: Sprite + sprite: _CP14/Objects/ModularTools/iron_spear.rsi + state: icon + - type: CP14ModularCraftPart + possibleParts: + - BladeIronSpear + +- type: entity + parent: BaseItem + id: CP14ModularBladeIronMace + categories: [ ForkFiltered ] + name: iron mace ball + description: A mace ball without a hilt. A blacksmith can use it as a spare part to create a weapon. + components: + - type: Item + storedRotation: 45 + shape: + - 0,0,0,0 + storedOffset: 0, 5 + - type: Sprite + sprite: _CP14/Objects/ModularTools/iron_mace.rsi + state: icon + - type: CP14ModularCraftPart + possibleParts: + - BladeIronMace + +- type: entity + parent: BaseItem + id: CP14ModularBladeIronSword + categories: [ ForkFiltered ] + name: iron sword blade + description: A sword blade without a hilt. A blacksmith can use it as a spare part to create a weapon. + components: + - type: Item + storedRotation: 45 + shape: + - 0,0,0,1 + storedOffset: 0, 10 + - type: Sprite + sprite: _CP14/Objects/ModularTools/iron_sword.rsi + state: icon + - type: CP14ModularCraftPart + possibleParts: + - BladeIronSword + +- type: entity + parent: BaseItem + id: CP14ModularBladeIronSickle + categories: [ ForkFiltered ] + name: iron sickle blade + description: A sickle blade without a hilt. A blacksmith can use it as a spare part to create a weapon. + components: + - type: Item + storedRotation: 45 + shape: + - 0,0,0,0 + storedOffset: 0, 5 + - type: Sprite + sprite: _CP14/Objects/ModularTools/iron_sickle.rsi + state: icon + - type: CP14ModularCraftPart + possibleParts: + - BladeIronSickle + +- type: entity + parent: BaseItem + id: CP14ModularBladeIronShovel + categories: [ ForkFiltered ] + name: iron shovel blade + description: A shovel blade without a hilt. A blacksmith can use it as a spare part to create a tool. + components: + - type: Item + storedRotation: 45 + shape: + - 0,0,0,0 + storedOffset: 0, 5 + - type: Sprite + sprite: _CP14/Objects/ModularTools/iron_shovel.rsi + state: icon + - type: CP14ModularCraftPart + possibleParts: + - BladeIronShovel + +- type: entity + parent: BaseItem + id: CP14ModularBladeIronPickaxe + categories: [ ForkFiltered ] + name: iron pickaxe head + description: A pickaxe head without a hilt. A blacksmith can use it as a spare part to create a tool. + components: + - type: Item + storedRotation: 45 + shape: + - 0,0,1,0 + storedOffset: 0, 5 + - type: Sprite + sprite: _CP14/Objects/ModularTools/iron_pickaxe.rsi + state: icon + - type: CP14ModularCraftPart + possibleParts: + - BladeIronPickaxe + +#- type: entity +# parent: BaseItem +# id: CP14ModularBladeIronSwordTwoHanded +# categories: [ ForkFiltered ] +# name: iron two-handed sword blade +# description: A two-handed sword blade without a hilt. A blacksmith can use it as a spare part to create a weapon. +# components: +# - type: Sprite +# sprite: _CP14/Objects/ModularTools/blade48.rsi +# layers: +# - state: iron_sword_twohanded +# - type: CP14ModularCraftPart +# possibleParts: +# - BladeIronSwordTwoHanded \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/grips.yml b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/grips.yml new file mode 100644 index 0000000000..b8aee82926 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Objects/ModularTools/grips.yml @@ -0,0 +1,160 @@ +- type: entity + parent: BaseItem + id: CP14ModularGripBase + abstract: true + categories: [ ForkFiltered ] + components: + - type: Item + storedRotation: 45 + - type: ExaminableDamage + messages: CP14WeaponMessages + - type: Damageable + damageContainer: Inorganic + - type: CP14MeleeSelfDamage + damageToSelf: + types: + Blunt: 0.5 # 100 hits + - type: MeleeWeapon + angle: 45 + attackRate: 1 + wideAnimationRotation: 135 + wideAnimation: CP14WeaponArcSlash + damage: + types: + Blunt: 0 + soundHit: + collection: MetalThud + cPAnimationLength: 0.25 + - type: Clothing + equipDelay: 0.25 + unequipDelay: 0.25 + quickEquip: false + breakOnMove: false + - type: CP14MeleeParriable + +- type: entity + parent: CP14ModularGripBase + id: CP14ModularGripWooden + name: wooden grip + description: A short wooden handle for a weapon or tool. The cheapest and most unstable material. + components: + - type: Item + shape: + - 0,0,0,0 + storedOffset: 0, -5 + - type: Sprite + sprite: _CP14/Objects/ModularTools/wooden_grip.rsi + state: icon + - type: CP14ModularCraftStartPoint + startProtoPart: CP14ModularGripWooden + startSlots: + - Blade + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 50 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + - !type:CP14ModularDisassembleBehavior + - !type:DoActsBehavior + acts: ["Destruction"] + - type: MeleeWeapon + resetOnHandSelected: false #Fast swap + range: 1.0 # 1.5 standart + cPAnimationOffset: -0.75 #-1 standart + attackRate: 1 # 1 standart + - type: Clothing + slots: + - belt + +- type: entity + parent: CP14ModularGripBase + id: CP14ModularGripWoodenLong + name: long wooden grip + description: long, two-handed wooden handle for heavy weapons or large tools. + components: + - type: Item + shape: + - 0,0,0,1 + storedOffset: 0, -15 + - type: Sprite + sprite: _CP14/Objects/ModularTools/wooden_grip_long.rsi + state: icon + - type: CP14ModularCraftStartPoint + startProtoPart: CP14ModularGripWoodenLong + startSlots: + - Blade + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 50 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + - !type:CP14ModularDisassembleBehavior + - !type:DoActsBehavior + acts: ["Destruction"] + - type: MeleeWeapon + resetOnHandSelected: true + range: 1.5 # 1.5 standart + attackRate: 0.7 # 1 standart + cPAnimationOffset: -1 + - type: Wieldable + - type: IncreaseDamageOnWield + damage: + types: + Blunt: 0 + - type: Clothing + slots: + - neck + +- type: entity + parent: CP14ModularGripWooden + id: CP14ModularGripIron + name: iron grip + description: A short iron handle for a weapon or tool. + components: + - type: Sprite + sprite: _CP14/Objects/ModularTools/iron_grip.rsi + - type: CP14ModularCraftStartPoint + startProtoPart: CP14ModularGripIron + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 100 #x2 durability + behaviors: + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + - !type:CP14ModularDisassembleBehavior + - !type:DoActsBehavior + acts: ["Destruction"] + +- type: entity + parent: CP14ModularGripWoodenLong + id: CP14ModularGripIronLong + name: long iron grip + description: long, two-handed iron handle for heavy weapons or large tools. + components: + - type: Sprite + sprite: _CP14/Objects/ModularTools/iron_grip_long.rsi + - type: CP14ModularCraftStartPoint + startProtoPart: CP14ModularGripIronLong + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 100 #x2 durability + behaviors: + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + - !type:CP14ModularDisassembleBehavior + - !type:DoActsBehavior + acts: ["Destruction"] \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/Tools/pickaxe.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/Tools/pickaxe.yml deleted file mode 100644 index 4c2c09edd9..0000000000 --- a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/Tools/pickaxe.yml +++ /dev/null @@ -1,44 +0,0 @@ -- type: entity - id: CP14BasePickaxe - parent: - - BaseItem - - CP14BaseWeaponDestructible - - CP14BaseWeaponSelfDamage - - CP14BaseWeaponChemical - name: pickaxe - description: Notched to perfection, for jamming it into rocks - components: - - type: Item - size: Normal - storedRotation: 45 - shape: - - 0,0,2,0 - - 1,1,1,1 - sprite: _CP14/Objects/Weapons/Melee/Pickaxe/pickaxe.rsi - - type: Sprite - sprite: _CP14/Objects/Weapons/Melee/Pickaxe/pickaxe.rsi - state: icon - - type: MeleeWeapon - wideAnimationRotation: 135 - damage: - types: - Piercing: 8 - soundHit: - collection: MetalThud - - type: IncreaseDamageOnWield - damage: - groups: - Brute: 8 - types: - Structural: 10 - - type: Wieldable - - type: ToolTileCompatible - - type: Tool - qualities: - - CP14Digging - useSound: - collection: CP14Digging - params: - variation: 0.03 - volume: 2 - - type: UseDelay \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/Tools/shovel.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/Tools/shovel.yml deleted file mode 100644 index b4918db069..0000000000 --- a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/Tools/shovel.yml +++ /dev/null @@ -1,35 +0,0 @@ -- type: entity - id: CP14BaseShovel - parent: - - BaseItem - - CP14BaseWeaponDestructible - - CP14BaseWeaponSelfDamage - name: shovel - description: An implement for digging up earth, digging beds or graves. - components: - - type: Item - size: Normal - storedRotation: 45 - shape: - - 0,0,0,2 - sprite: _CP14/Objects/Weapons/Melee/Shovel/shovel.rsi - - type: Sprite - sprite: _CP14/Objects/Weapons/Melee/Shovel/shovel.rsi - state: icon - - type: MeleeWeapon - wideAnimationRotation: 65 - damage: - types: - Blunt: 6 - Slash: 2 - soundHit: - collection: MetalThud - - type: ToolTileCompatible - - type: Tool - qualities: - - CP14Digging - useSound: - collection: CP14Digging - params: - variation: 0.03 - volume: 2 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/base.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/base.yml index 59ba993a83..85a1321ef5 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/base.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/base.yml @@ -1,7 +1,7 @@ - type: entity - id: CP14BaseWeaponChemical abstract: true - categories: [ ForkFiltered ] + id: CP14BaseWeaponChemical + categories: [ HideSpawnMenu, ForkFiltered ] components: - type: SolutionContainerManager solutions: @@ -20,9 +20,9 @@ maxTransferAmount: 2 - type: entity - id: CP14BaseWeaponThrowable abstract: true - categories: [ ForkFiltered ] + id: CP14BaseWeaponThrowable + categories: [ HideSpawnMenu, ForkFiltered ] components: - type: LandAtCursor - type: DamageOtherOnHit @@ -49,26 +49,26 @@ friction: 0.2 - type: entity - id: CP14BaseWeaponLight abstract: true - categories: [ ForkFiltered ] + id: CP14BaseWeaponLight + categories: [ HideSpawnMenu, ForkFiltered ] components: - type: MeleeWeapon resetOnHandSelected: false - type: entity - id: CP14BaseWeaponShort abstract: true - categories: [ ForkFiltered ] + id: CP14BaseWeaponShort + categories: [ HideSpawnMenu, ForkFiltered ] components: - type: MeleeWeapon range: 1.0 # 1.5 standart cPAnimationOffset: -0.75 - type: entity - id: CP14BaseWeaponSharp abstract: true - categories: [ ForkFiltered ] + id: CP14BaseWeaponSharp + categories: [ HideSpawnMenu, ForkFiltered ] components: - type: Sharp - type: CP14Sharpened @@ -85,9 +85,9 @@ - type: CP14WallpaperRemover - type: entity - id: CP14BaseWeaponDestructible abstract: true - categories: [ ForkFiltered ] + id: CP14BaseWeaponDestructible + categories: [ HideSpawnMenu, ForkFiltered ] components: - type: ExaminableDamage messages: CP14WeaponMessages @@ -107,9 +107,9 @@ - type: CP14MeleeParriable - type: entity - id: CP14BaseWeaponSelfDamage abstract: true - categories: [ ForkFiltered ] + id: CP14BaseWeaponSelfDamage + categories: [ HideSpawnMenu, ForkFiltered ] components: - type: CP14MeleeSelfDamage damageToSelf: diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/dagger.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/dagger.yml deleted file mode 100644 index 6f67985a1e..0000000000 --- a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/dagger.yml +++ /dev/null @@ -1,47 +0,0 @@ -- type: entity - id: CP14BaseDagger - parent: - - BaseItem - - CP14BaseWeaponDestructible - - CP14BaseWeaponSharp - - CP14BaseWeaponChemical - - CP14BaseWeaponThrowable - - CP14BaseWeaponLight - - CP14BaseWeaponShort - name: dagger - description: A small, multi-purpose, sharp blade. You can cut meat or throw it at a goblin. - components: - - type: Item - size: Normal - shape: - - 0,0,0,1 - storedRotation: 45 - - type: Clothing - equipDelay: 0.25 - unequipDelay: 0.25 - sprite: _CP14/Objects/Weapons/Melee/Dagger/dagger.rsi - quickEquip: false - breakOnMove: false - slots: - - belt - - type: Sprite - sprite: _CP14/Objects/Weapons/Melee/Dagger/dagger.rsi - layers: - - state: icon - - type: MeleeWeapon - angle: 60 - attackRate: 1.8 - wideAnimationRotation: 135 - wideAnimation: CP14WeaponArcSlash - damage: - types: - Slash: 5 - Piercing: 5 - soundHit: - collection: MetalThud - cPAnimationLength: 0.15 - - type: EmbeddableProjectile - offset: 0.15,0.15 - removalTime: 1 - - type: ThrowingAngle - angle: 135 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/mace.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/mace.yml deleted file mode 100644 index f1a9833c3d..0000000000 --- a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/mace.yml +++ /dev/null @@ -1,40 +0,0 @@ -- type: entity - id: CP14BaseMace - parent: - - BaseItem - - CP14BaseWeaponDestructible - - CP14BaseWeaponThrowable - - CP14BaseWeaponSelfDamage - name: mace - description: A heavy piece of metal on a long stick. What could be simpler than that? - components: - - type: Item - size: Normal - - type: Clothing - equipDelay: 0.35 - unequipDelay: 0.35 - sprite: _CP14/Objects/Weapons/Melee/Mace/mace.rsi - quickEquip: false - breakOnMove: false - slots: - - belt - - type: Sprite - sprite: _CP14/Objects/Weapons/Melee/Mace/mace.rsi - layers: - - state: icon - - type: Sharp - - type: MeleeWeapon - angle: 100 - attackRate: 0.9 - range: 1.5 - wideAnimationRotation: 135 - wideAnimation: CP14WeaponArcSlash - damage: - types: - Blunt: 15 - Piercing: 4 - soundHit: - collection: MetalThud - cPAnimationLength: 0.25 - - type: StaminaDamageOnHit - damage: 6 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/sickle.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/sickle.yml deleted file mode 100644 index 22560fe611..0000000000 --- a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/sickle.yml +++ /dev/null @@ -1,42 +0,0 @@ -- type: entity - id: CP14BaseSickle - parent: - - BaseItem - - CP14BaseWeaponDestructible - - CP14BaseWeaponSharp - - CP14BaseWeaponChemical - - CP14BaseWeaponLight - - CP14BaseWeaponShort - name: sickle - description: Originally developed as a weapon against grass, the sickle suddenly proved itself good at the bloodier harvest as well. - components: - - type: Item - size: Normal - - type: Clothing - equipDelay: 0.45 - unequipDelay: 0.45 - sprite: _CP14/Objects/Weapons/Melee/Sickle/sickle.rsi - quickEquip: false - breakOnMove: false - slots: - - belt - - type: Sprite - sprite: _CP14/Objects/Weapons/Melee/Sickle/sickle.rsi - layers: - - state: icon - - type: MeleeWeapon - angle: 80 - range: 1.1 - attackRate: 1.5 - wideAnimationRotation: 135 - wideAnimation: CP14WeaponArcSlash - cPAnimationLength: 0.18 - damage: - types: - Slash: 7 - Piercing: 3 - soundHit: - collection: MetalThud - - type: Tag - tags: - - CP14HerbalGathering \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/spear.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/spear.yml deleted file mode 100644 index 1dc0a11f4f..0000000000 --- a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/spear.yml +++ /dev/null @@ -1,46 +0,0 @@ -- type: entity - id: CP14BaseThrowableSpear - parent: - - BaseItem - - CP14BaseWeaponDestructible - - CP14BaseWeaponSharp - - CP14BaseWeaponChemical - - CP14BaseWeaponThrowable - name: throwing javelin - description: A weapon that has done its duty since the age of the giants. - components: - - type: Item - size: Normal - storedRotation: 45 - shape: - - 0,0,0,3 - - type: Sprite - sprite: _CP14/Objects/Weapons/Melee/ThrowableSpear/throwableSpear.rsi - layers: - - state: icon - - type: MeleeWeapon - angle: 0 - attackRate: 1.2 - range: 1.2 - wideAnimationRotation: 135 - wideAnimation: CP14WeaponArcThrust - damage: - types: - Piercing: 15 - soundHit: - collection: MetalThud - cPAnimationLength: 0.25 - cPAnimationOffset: -1.3 - - type: EmbeddableProjectile - offset: 0.15,0.15 - removalTime: 1 - - type: ThrowingAngle - angle: 135 - - type: DamageOtherOnHit - damage: - types: - Piercing: 18 - #- type: DamageOnLand - # damage: - # types: - # Piercing: 18 diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/sword.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/sword.yml deleted file mode 100644 index e4d43f08b6..0000000000 --- a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/Melee/sword.yml +++ /dev/null @@ -1,39 +0,0 @@ -- type: entity - id: CP14BaseSword - parent: - - BaseItem - - CP14BaseWeaponDestructible - - CP14BaseWeaponSharp - - CP14BaseWeaponChemical - name: sword - description: the gold standard of edged weapons. Medium length, comfortable grip. No frills. - components: - - type: Item - size: Ginormous - - type: Clothing - equipDelay: 0.45 - unequipDelay: 0.45 - sprite: _CP14/Objects/Weapons/Melee/Sword/sword.rsi - quickEquip: false - breakOnMove: false - slots: - - neck - - type: Sprite - sprite: _CP14/Objects/Weapons/Melee/Sword/sword.rsi - layers: - - state: icon - - type: MeleeWeapon - angle: 100 - attackRate: 1.4 - wideAnimationRotation: 135 - wideAnimation: CP14WeaponArcSlash - cPAnimationLength: 0.18 - damage: - types: - Slash: 17 - soundHit: - collection: MetalThud - - type: CP14SkillRequirement - fuckupChance: 0.5 - requiredSkills: - - Warcraft \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/ModularPresets/daggers.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/ModularPresets/daggers.yml new file mode 100644 index 0000000000..f0fa1aee29 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/ModularPresets/daggers.yml @@ -0,0 +1,14 @@ +- type: entity + id: CP14ModularIronDagger + parent: CP14ModularGripWooden + name: iron dagger + description: A small, multi-purpose, sharp blade. You can cut meat or throw it at a goblin. + components: + - type: Sprite + layers: + - state: icon + - sprite: _CP14/Objects/ModularTools/iron_dagger.rsi + state: icon + - type: CP14ModularCraftAutoAssemble + details: + - BladeIronDagger \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/ModularPresets/mace.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/ModularPresets/mace.yml new file mode 100644 index 0000000000..fcc1285144 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/ModularPresets/mace.yml @@ -0,0 +1,14 @@ +- type: entity + id: CP14ModularIronMace + parent: CP14ModularGripWooden + name: iron mace + description: A heavy piece of metal on a long stick. What could be simpler than that? + components: + - type: Sprite + layers: + - state: icon + - sprite: _CP14/Objects/ModularTools/iron_mace.rsi + state: icon + - type: CP14ModularCraftAutoAssemble + details: + - BladeIronMace \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/ModularPresets/pickaxe.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/ModularPresets/pickaxe.yml new file mode 100644 index 0000000000..b8fbd0decc --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/ModularPresets/pickaxe.yml @@ -0,0 +1,14 @@ +- type: entity + id: CP14ModularIronPickaxe + parent: CP14ModularGripWoodenLong + name: iron pickaxe + description: Notched to perfection, for jamming it into rocks + components: + - type: Sprite + layers: + - state: icon + - sprite: _CP14/Objects/ModularTools/iron_pickaxe.rsi + state: icon + - type: CP14ModularCraftAutoAssemble + details: + - BladeIronPickaxe \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/ModularPresets/shovel.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/ModularPresets/shovel.yml new file mode 100644 index 0000000000..f603db51e9 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/ModularPresets/shovel.yml @@ -0,0 +1,14 @@ +- type: entity + id: CP14ModularIronShovel + parent: CP14ModularGripWoodenLong + name: iron shovel + description: An implement for digging up earth, digging beds or graves. + components: + - type: Sprite + layers: + - state: icon + - sprite: _CP14/Objects/ModularTools/iron_shovel.rsi + state: icon + - type: CP14ModularCraftAutoAssemble + details: + - BladeIronShovel \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/ModularPresets/sickle.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/ModularPresets/sickle.yml new file mode 100644 index 0000000000..ac6421a894 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/ModularPresets/sickle.yml @@ -0,0 +1,14 @@ +- type: entity + id: CP14ModularIronSickle + parent: CP14ModularGripWooden + name: iron sickle + description: Originally developed as a weapon against grass, the sickle suddenly proved itself good at the bloodier harvest as well. + components: + - type: Sprite + layers: + - state: icon + - sprite: _CP14/Objects/ModularTools/iron_sickle.rsi + state: icon + - type: CP14ModularCraftAutoAssemble + details: + - BladeIronSickle \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/ModularPresets/spear.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/ModularPresets/spear.yml new file mode 100644 index 0000000000..e22024fbb4 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/ModularPresets/spear.yml @@ -0,0 +1,29 @@ +- type: entity + id: CP14ModularIronSpear + parent: CP14ModularGripWoodenLong + name: iron spear + description: A weapon that has done its duty since the age of the giants. + components: + - type: Sprite + layers: + - state: icon + - sprite: _CP14/Objects/ModularTools/iron_spear.rsi + state: icon + - type: CP14ModularCraftAutoAssemble + details: + - BladeIronSpear + +- type: entity + id: CP14ModularIronKunai + parent: CP14ModularGripWooden + name: iron kunai + description: An effective throwing weapon. Throw it at a wall, or no, better yet, at a goblin! + components: + - type: Sprite + layers: + - state: icon + - sprite: _CP14/Objects/ModularTools/iron_spear.rsi + state: icon + - type: CP14ModularCraftAutoAssemble + details: + - BladeIronSpear \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Weapons/ModularPresets/sword.yml b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/ModularPresets/sword.yml new file mode 100644 index 0000000000..ceda006ad8 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Objects/Weapons/ModularPresets/sword.yml @@ -0,0 +1,14 @@ +- type: entity + id: CP14ModularIronSword + parent: CP14ModularGripWooden + name: iron sword + description: the gold standard of edged weapons. Medium length, comfortable grip. No frills. + components: + - type: Sprite + layers: + - state: icon + - sprite: _CP14/Objects/ModularTools/iron_sword.rsi + state: icon + - type: CP14ModularCraftAutoAssemble + details: + - BladeIronSword \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Structures/test.yml b/Resources/Prototypes/_CP14/Entities/Structures/test.yml index c9d47cb357..8ca47a6a2e 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/test.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/test.yml @@ -21,3 +21,30 @@ interfaces: enum.CP14StoreUiKey.Key: type: CP14StoreBoundUserInterface + +- type: entity + id: CP14DPSMeter + parent: BaseStructureDynamic + categories: [ ForkFiltered ] + name: DPS Meter + suffix: Debug, DO NOT MAP + components: + - type: Sprite + sprite: Objects/Specific/Security/target.rsi + state: target_stake + noRot: true + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.35 + density: 200 + mask: + - FullTileMask + layer: + - WallLayer + - type: InteractionOutline + - type: Physics + - type: Damageable + - type: CP14DPSMeter \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Loadouts/Jobs/general.yml b/Resources/Prototypes/_CP14/Loadouts/Jobs/general.yml index 7782388bb1..cd0b2d6fad 100644 --- a/Resources/Prototypes/_CP14/Loadouts/Jobs/general.yml +++ b/Resources/Prototypes/_CP14/Loadouts/Jobs/general.yml @@ -289,9 +289,9 @@ - CP14PenFeather - CP14PaperFolderBlue - CP14SilverCoin5 - - CP14BaseDagger - - CP14BaseSickle - - CP14BasePickaxe + - CP14ModularIronDagger + - CP14ModularIronSickle + - CP14ModularIronPickaxe - CP14Lighter - CP14Torch @@ -361,22 +361,22 @@ - CP14SilverCoin5 - type: loadout - id: CP14BaseDagger + id: CP14ModularIronDagger storage: back: - - CP14BaseDagger + - CP14ModularIronDagger - type: loadout - id: CP14BaseSickle + id: CP14ModularIronSickle storage: back: - - CP14BaseSickle + - CP14ModularIronSickle - type: loadout - id: CP14BasePickaxe + id: CP14ModularIronPickaxe storage: back: - - CP14BasePickaxe + - CP14ModularIronPickaxe - type: loadout id: CP14Lighter @@ -406,7 +406,6 @@ - CP14ActionSpellManaConsume - CP14ActionSpellManaGift - CP14ActionSpellShadowGrab - - CP14ActionSpellIceDagger - CP14ActionSpellWaterCreation - CP14ActionSpellBeerCreation @@ -458,12 +457,6 @@ actions: - CP14ActionSpellShadowGrab -- type: loadout - id: CP14ActionSpellIceDagger - dummyEntity: CP14ActionSpellIceDagger - actions: - - CP14ActionSpellIceDagger - - type: loadout id: CP14ActionSpellWaterCreation dummyEntity: CP14ActionSpellWaterCreation diff --git a/Resources/Prototypes/_CP14/Loadouts/Misc/undead_startinggear.yml b/Resources/Prototypes/_CP14/Loadouts/Misc/undead_startinggear.yml index c3c306fe69..b97f202046 100644 --- a/Resources/Prototypes/_CP14/Loadouts/Misc/undead_startinggear.yml +++ b/Resources/Prototypes/_CP14/Loadouts/Misc/undead_startinggear.yml @@ -56,7 +56,7 @@ id: CP14MobSkeleton equipment: pants: CP14ClothingPantsLoincloth - neck: CP14BaseSword - belt1: CP14BaseDagger + neck: CP14ModularIronSword + belt1: CP14ModularIronDagger inhand: - CP14TorchIgnited \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/ModularCraft/Blade/blade.yml b/Resources/Prototypes/_CP14/ModularCraft/Blade/blade.yml new file mode 100644 index 0000000000..0d3f0cc642 --- /dev/null +++ b/Resources/Prototypes/_CP14/ModularCraft/Blade/blade.yml @@ -0,0 +1,217 @@ +#Concept: +# + Fast attackRate +# fast swing +# - Low damage +- type: modularPart + id: BladeIronDagger + targetSlot: Blade + sourcePart: CP14ModularBladeIronDagger + rsiPath: _CP14/Objects/ModularTools/iron_dagger.rsi + modifiers: + - !type:Inherit + copyFrom: + - BaseWeaponThrowable + - BaseWeaponChemical + - BaseWeaponSharp + - !type:AddComponents + components: + - type: ThrowingAngle + angle: 135 + - type: EmbeddableProjectile + offset: -0.15,-0.15 + removalTime: 0.5 + - !type:EditMeleeWeapon + attackRateMultiplier: 1.4 + bonusDamage: + types: + Slash: 3 + Piercing: 3 + - !type:EditItem + newSize: Normal + adjustShape: 0, 1 + storedOffsetBonus: 0, 5 + +#Concept: +# Copy of dagger with lesser damage +# But can gather grass from world +- type: modularPart + id: BladeIronSickle + targetSlot: Blade + sourcePart: CP14ModularBladeIronSickle + rsiPath: _CP14/Objects/ModularTools/iron_sickle.rsi + modifiers: + - !type:Inherit + copyFrom: + - BaseWeaponChemical + - BaseWeaponSharp + #components: TODO Add gathering tag + - !type:EditMeleeWeapon + attackRateMultiplier: 1.4 + bonusDamage: + types: + Slash: 4 + Piercing: 1 + - !type:EditItem + newSize: Normal + adjustShape: 0, 1 + storedOffsetBonus: 0, 5 + +#Concept: +# + High Throwable damage +# Piercing animation +# - Low Melee Damage +- type: modularPart + id: BladeIronSpear + targetSlot: Blade + sourcePart: CP14ModularBladeIronSpear + rsiPath: _CP14/Objects/ModularTools/iron_spear.rsi + modifiers: + - !type:Inherit + copyFrom: + - BaseWeaponThrowable + - BaseWeaponChemical + - BaseWeaponSharp + - !type:AddComponents + override: true + components: + - type: DamageOtherOnHit + damage: + types: + Piercing: 15 + - type: ThrowingAngle + angle: 135 + - type: EmbeddableProjectile + offset: -0.15,-0.15 + removalTime: 1.5 + - !type:EditMeleeWeapon + newWideAnimation: CP14WeaponArcThrust + angleMultiplier: 0 + bonusDamage: + types: + Piercing: 7 + - !type:EditItem + newSize: Normal + adjustShape: 0, 1 + storedOffsetBonus: 0, 5 + +#Concept: +# + High Wielded damage +# - Low AttackRate +- type: modularPart + id: BladeIronMace + targetSlot: Blade + sourcePart: CP14ModularBladeIronMace + rsiPath: _CP14/Objects/ModularTools/iron_mace.rsi + modifiers: + - !type:Inherit + copyFrom: + - BaseWeaponChemical + - !type:EditMeleeWeapon + resetOnHandSelected: true # Disable fast swap + attackRateMultiplier: 0.85 + bonusDamage: + types: + Blunt: 4 + Piercing: 1 + - !type:EditIncreaseDamageOnWield + bonusDamage: + types: + Blunt: 8 + Piercing: 4 + - !type:EditItem + newSize: Large + adjustShape: 0, 1 + storedOffsetBonus: 0, 5 + +#Concept: +# + Additional range +# + High Damage! + Wielded buff +# - Required Warcraft skill +- type: modularPart + id: BladeIronSword + targetSlot: Blade + sourcePart: CP14ModularBladeIronSword + rsiPath: _CP14/Objects/ModularTools/iron_sword.rsi + modifiers: + - !type:Inherit + copyFrom: + - BaseWeaponChemical + - BaseWeaponSharp + - !type:AddComponents + components: + - type: CP14SkillRequirement + fuckupChance: 0.5 + requiredSkills: + - Warcraft + - !type:EditMeleeWeapon + resetOnHandSelected: true # Disable fast swap + bonusRange: 0.2 + angleMultiplier: 1.2 + bonusDamage: + types: + Slash: 8 + Piercing: 5 + - !type:EditIncreaseDamageOnWield + bonusDamage: + types: + Slash: 5 + Piercing: 2 + - !type:EditItem + newSize: Large + adjustShape: 0, 2 + storedOffsetBonus: 0, 10 + +- type: modularPart + id: BladeIronShovel + targetSlot: Blade + sourcePart: CP14ModularBladeIronShovel + rsiPath: _CP14/Objects/ModularTools/iron_shovel.rsi + modifiers: + - !type:AddComponents + components: + - type: ToolTileCompatible + - type: Tool + qualities: + - CP14Digging + useSound: + collection: CP14Digging + params: + variation: 0.03 + volume: 2 + - !type:EditMeleeWeapon + angleMultiplier: 1.2 + bonusDamage: + types: + Slash: 3 + Blunt: 3 + - !type:EditIncreaseDamageOnWield + bonusDamage: + types: + Slash: 3 + Blunt: 3 + - !type:EditItem + newSize: Normal + adjustShape: 0, 1 + storedOffsetBonus: 0, 5 + +- type: modularPart + id: BladeIronPickaxe + targetSlot: Blade + sourcePart: CP14ModularBladeIronPickaxe + rsiPath: _CP14/Objects/ModularTools/iron_pickaxe.rsi + modifiers: + - !type:EditMeleeWeapon + attackRateMultiplier: 0.75 + angleMultiplier: 1.2 + bonusDamage: + types: + Piercing: 9 + - !type:EditIncreaseDamageOnWield + bonusDamage: + types: + Piercing: 4 + Structural: 10 + - !type:EditItem + newSize: Normal + adjustShape: 1, 1 + storedOffsetBonus: 0, 5 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/ModularCraft/baseModularModifier.yml b/Resources/Prototypes/_CP14/ModularCraft/baseModularModifier.yml new file mode 100644 index 0000000000..08b08f9bc6 --- /dev/null +++ b/Resources/Prototypes/_CP14/ModularCraft/baseModularModifier.yml @@ -0,0 +1,68 @@ +- type: modularPart + id: BaseWeaponChemical + modifiers: + - !type:AddComponents + components: + - type: SolutionContainerManager + solutions: + melee: + maxVol: 4 + - type: MeleeChemicalInjector + solution: melee + - type: RefillableSolution + solution: melee + - type: InjectableSolution + solution: melee + - type: SolutionInjectOnEmbed + transferAmount: 2 + solution: melee + - type: SolutionTransfer + maxTransferAmount: 2 + +- type: modularPart + id: BaseWeaponThrowable + modifiers: + - !type:AddComponents + components: + - type: LandAtCursor + - type: DamageOtherOnHit + damage: + types: + Piercing: 10 + - type: DamageOnLand + damage: + types: + Piercing: 3 + - type: Fixtures + fixtures: + fix1: + shape: !type:PolygonShape + vertices: + - -0.40,-0.30 + - -0.30,-0.40 + - 0.40,0.30 + - 0.30,0.40 + density: 10 + mask: + - ItemMask + restitution: 0.3 + friction: 0.2 + +- type: modularPart + id: BaseWeaponSharp + modifiers: + - !type:AddComponents + components: + - type: Sharp + - type: CP14Sharpened + - type: CP14SharpeningStone + - type: UseDelay + - type: Tool + qualities: + - Slicing + useSound: + path: /Audio/Items/Culinary/chop.ogg + - type: Utensil + types: + - Knife + - type: CP14WallpaperRemover \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/ModularCraft/slots.yml b/Resources/Prototypes/_CP14/ModularCraft/slots.yml new file mode 100644 index 0000000000..f432e54896 --- /dev/null +++ b/Resources/Prototypes/_CP14/ModularCraft/slots.yml @@ -0,0 +1,3 @@ +- type: modularSlot + id: Blade + name: cp14-modular-slot-blade \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Procedural/dungeon_loot.yml b/Resources/Prototypes/_CP14/Procedural/dungeon_loot.yml deleted file mode 100644 index f721fe349c..0000000000 --- a/Resources/Prototypes/_CP14/Procedural/dungeon_loot.yml +++ /dev/null @@ -1,9 +0,0 @@ -- type: salvageLoot - id: CP14DungeonLoot - loots: - - !type:RandomSpawnsLoot - entries: - - proto: CP14BaseThrowableSpear - prob: 0.5 - - proto: CP14BaseDagger - prob: 0.5 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/anvil.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/anvil.yml index 55d6283ba1..3f56541f59 100644 --- a/Resources/Prototypes/_CP14/Recipes/Workbench/anvil.yml +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/anvil.yml @@ -1,48 +1,3 @@ -- type: CP14Recipe - id: CP14BaseBattleHammer - tag: CP14RecipeAnvil - craftTime: 4 - stacks: - CP14WoodenPlanks: 1 - CP14IronBar: 3 - result: CP14BaseBattleHammer - -- type: CP14Recipe - id: CP14BaseDagger - tag: CP14RecipeAnvil - craftTime: 4 - stacks: - CP14WoodenPlanks: 1 - CP14IronBar: 1 - result: CP14BaseDagger - -- type: CP14Recipe - id: CP14BaseHandheldAxe - tag: CP14RecipeAnvil - craftTime: 4 - stacks: - CP14WoodenPlanks: 1 - CP14IronBar: 1 - result: CP14BaseHandheldAxe - -- type: CP14Recipe - id: CP14BaseLightHammer - tag: CP14RecipeAnvil - craftTime: 4 - stacks: - CP14WoodenPlanks: 1 - CP14IronBar: 1 - result: CP14BaseLightHammer - -- type: CP14Recipe - id: CP14BaseMace - tag: CP14RecipeAnvil - craftTime: 4 - stacks: - CP14WoodenPlanks: 1 - CP14IronBar: 2 - result: CP14BaseMace - - type: CP14Recipe id: CP14BaseShield tag: CP14RecipeAnvil @@ -52,33 +7,6 @@ CP14IronBar: 2 result: CP14BaseShield -- type: CP14Recipe - id: CP14BaseSickle - tag: CP14RecipeAnvil - craftTime: 4 - stacks: - CP14WoodenPlanks: 1 - CP14IronBar: 2 - result: CP14BaseSickle - -- type: CP14Recipe - id: CP14BaseThrowableSpear - tag: CP14RecipeAnvil - craftTime: 4 - stacks: - CP14WoodenPlanks: 2 - CP14IronBar: 1 - result: CP14BaseThrowableSpear - -- type: CP14Recipe - id: CP14BaseSword - tag: CP14RecipeAnvil - craftTime: 4 - stacks: - CP14WoodenPlanks: 1 - CP14IronBar: 3 - result: CP14BaseSword - - type: CP14Recipe id: CP14BaseCrowbar tag: CP14RecipeAnvil @@ -95,42 +23,6 @@ CP14IronBar: 2 result: CP14BaseWrench -- type: CP14Recipe - id: CP14BaseTwoHandedSword - tag: CP14RecipeAnvil - craftTime: 4 - stacks: - CP14WoodenPlanks: 1 - CP14IronBar: 4 - result: CP14BaseTwoHandedSword - -- type: CP14Recipe - id: CP14BaseHoe - tag: CP14RecipeAnvil - craftTime: 4 - stacks: - CP14WoodenPlanks: 1 - CP14IronBar: 2 - result: CP14BaseHoe - -- type: CP14Recipe - id: CP14BasePickaxe - tag: CP14RecipeAnvil - craftTime: 4 - stacks: - CP14WoodenPlanks: 1 - CP14IronBar: 2 - result: CP14BasePickaxe - -- type: CP14Recipe - id: CP14BaseShovel - tag: CP14RecipeAnvil - craftTime: 4 - stacks: - CP14WoodenPlanks: 1 - CP14IronBar: 2 - result: CP14BaseShovel - - type: CP14Recipe id: CP14ClothingCloakCuirass tag: CP14RecipeAnvil @@ -211,4 +103,76 @@ craftTime: 1 stacks: CP14CopperBar: 1 - result: CP14Crossbolt \ No newline at end of file + result: CP14Crossbolt + +- type: CP14Recipe + id: CP14ModularBladeIronDagger + tag: CP14RecipeAnvil + craftTime: 2 + stacks: + CP14IronBar: 1 + result: CP14ModularBladeIronDagger + +- type: CP14Recipe + id: CP14ModularBladeIronSpear + tag: CP14RecipeAnvil + craftTime: 2 + stacks: + CP14IronBar: 1 + result: CP14ModularBladeIronSpear + +- type: CP14Recipe + id: CP14ModularBladeIronMace + tag: CP14RecipeAnvil + craftTime: 2 + stacks: + CP14IronBar: 1 + result: CP14ModularBladeIronMace + +- type: CP14Recipe + id: CP14ModularBladeIronSword + tag: CP14RecipeAnvil + craftTime: 4 + stacks: + CP14IronBar: 2 + result: CP14ModularBladeIronSword + +- type: CP14Recipe + id: CP14ModularBladeIronSickle + tag: CP14RecipeAnvil + craftTime: 2 + stacks: + CP14IronBar: 1 + result: CP14ModularBladeIronSickle + +- type: CP14Recipe + id: CP14ModularBladeIronShovel + tag: CP14RecipeAnvil + craftTime: 2 + stacks: + CP14IronBar: 1 + result: CP14ModularBladeIronShovel + +- type: CP14Recipe + id: CP14ModularBladeIronPickaxe + tag: CP14RecipeAnvil + craftTime: 2 + stacks: + CP14IronBar: 1 + result: CP14ModularBladeIronPickaxe + +- type: CP14Recipe + id: CP14ModularGripIron + tag: CP14RecipeAnvil + craftTime: 2 + stacks: + CP14IronBar: 1 + result: CP14ModularGripIron + +- type: CP14Recipe + id: CP14ModularGripIronLong + tag: CP14RecipeAnvil + craftTime: 4 + stacks: + CP14IronBar: 2 + result: CP14ModularGripIronLong \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/workbench.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/workbench.yml index 0880398972..85176ed07c 100644 --- a/Resources/Prototypes/_CP14/Recipes/Workbench/workbench.yml +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/workbench.yml @@ -69,3 +69,19 @@ CP14Stone: 1 CP14IronBar: 1 result: CP14Lighter + +- type: CP14Recipe + id: CP14ModularGripWooden + tag: CP14RecipeWorkbench + craftTime: 2 + stacks: + CP14WoodenPlanks: 1 + result: CP14ModularGripWooden + +- type: CP14Recipe + id: CP14ModularGripWoodenLong + tag: CP14RecipeWorkbench + craftTime: 2 + stacks: + CP14WoodenPlanks: 2 + result: CP14ModularGripWoodenLong diff --git a/Resources/Prototypes/_CP14/Roles/Jobs/Fun/misc_startinggear.yml b/Resources/Prototypes/_CP14/Roles/Jobs/Fun/misc_startinggear.yml index 38c36b53db..f764e2a201 100644 --- a/Resources/Prototypes/_CP14/Roles/Jobs/Fun/misc_startinggear.yml +++ b/Resources/Prototypes/_CP14/Roles/Jobs/Fun/misc_startinggear.yml @@ -6,5 +6,5 @@ pants: CP14ClothingPantsLoincloth shoes: CP14ClothingShoesSandals inhand: - - CP14BaseDagger - - CP14BaseDagger \ No newline at end of file + - CP14ModularIronDagger + - CP14ModularIronDagger \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/tools.yml b/Resources/Prototypes/_CP14/tools.yml index 5db184019f..5a2383b198 100644 --- a/Resources/Prototypes/_CP14/tools.yml +++ b/Resources/Prototypes/_CP14/tools.yml @@ -2,8 +2,8 @@ id: CP14Digging name: cp14-tool-quality-digging-name toolName: cp14-tool-quality-digging-tool-name - spawn: CP14BaseShovel - icon: { sprite: _CP14/Objects/Weapons/Melee/Shovel/shovel.rsi, state: icon} + spawn: CP14ModularIronShovel + icon: { sprite: _CP14/Objects/ModularTools/iron_shovel.rsi, state: icon} - type: tool id: CP14Hammering diff --git a/Resources/ServerInfo/_CP14/Guidebook_EN/Demiplanes.xml b/Resources/ServerInfo/_CP14/Guidebook_EN/Demiplanes.xml index bb1bd24754..17c4757444 100644 --- a/Resources/ServerInfo/_CP14/Guidebook_EN/Demiplanes.xml +++ b/Resources/ServerInfo/_CP14/Guidebook_EN/Demiplanes.xml @@ -31,8 +31,8 @@ When you decide to leave the demiplane after finding the portal, you must touch - - + + diff --git a/Resources/ServerInfo/_CP14/Guidebook_RU/Demiplanes.xml b/Resources/ServerInfo/_CP14/Guidebook_RU/Demiplanes.xml index ae50b207a7..31b0c4959f 100644 --- a/Resources/ServerInfo/_CP14/Guidebook_RU/Demiplanes.xml +++ b/Resources/ServerInfo/_CP14/Guidebook_RU/Demiplanes.xml @@ -31,8 +31,8 @@ - - + + diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_big_sword.rsi/icon.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_big_sword.rsi/icon.png new file mode 100644 index 0000000000..fca2aa542f Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_big_sword.rsi/icon.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_big_sword.rsi/meta.json b/Resources/Textures/_CP14/Objects/ModularTools/iron_big_sword.rsi/meta.json new file mode 100644 index 0000000000..493ae2dc97 --- /dev/null +++ b/Resources/Textures/_CP14/Objects/ModularTools/iron_big_sword.rsi/meta.json @@ -0,0 +1,14 @@ +{ + "version": 1, + "size": { + "x": 48, + "y": 48 + }, + "license": "CLA", + "copyright": "Created by Jaraten (Github) ", + "states": [ + { + "name": "icon" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_dagger.rsi/equipped-BELT1.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_dagger.rsi/equipped-BELT1.png new file mode 100644 index 0000000000..8b20687d50 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_dagger.rsi/equipped-BELT1.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_dagger.rsi/equipped-BELT2.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_dagger.rsi/equipped-BELT2.png new file mode 100644 index 0000000000..54d14ef3b7 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_dagger.rsi/equipped-BELT2.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_dagger.rsi/equipped-NECK.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_dagger.rsi/equipped-NECK.png new file mode 100644 index 0000000000..218946af4c Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_dagger.rsi/equipped-NECK.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_dagger.rsi/icon.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_dagger.rsi/icon.png new file mode 100644 index 0000000000..c2763f1e75 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_dagger.rsi/icon.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_dagger.rsi/inhand-left.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_dagger.rsi/inhand-left.png new file mode 100644 index 0000000000..5b66e61bf3 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_dagger.rsi/inhand-left.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_dagger.rsi/inhand-right.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_dagger.rsi/inhand-right.png new file mode 100644 index 0000000000..4bc6c8be39 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_dagger.rsi/inhand-right.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_dagger.rsi/meta.json b/Resources/Textures/_CP14/Objects/ModularTools/iron_dagger.rsi/meta.json new file mode 100644 index 0000000000..3767fb75aa --- /dev/null +++ b/Resources/Textures/_CP14/Objects/ModularTools/iron_dagger.rsi/meta.json @@ -0,0 +1,42 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CLA", + "copyright": "Created by TheShuEd (Github) ", + "states": [ + { + "name": "equipped-BELT1", + "directions": 4 + }, + { + "name": "equipped-BELT2", + "directions": 4 + }, + { + "name": "equipped-NECK", + "directions": 4 + }, + { + "name": "icon" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "wielded-inhand-left", + "directions": 4 + }, + { + "name": "wielded-inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_dagger.rsi/wielded-inhand-left.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_dagger.rsi/wielded-inhand-left.png new file mode 100644 index 0000000000..764bb24d8e Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_dagger.rsi/wielded-inhand-left.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_dagger.rsi/wielded-inhand-right.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_dagger.rsi/wielded-inhand-right.png new file mode 100644 index 0000000000..18ac0acecf Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_dagger.rsi/wielded-inhand-right.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_grip.rsi/equipped-BELT1.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_grip.rsi/equipped-BELT1.png new file mode 100644 index 0000000000..e2f4cea325 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_grip.rsi/equipped-BELT1.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_grip.rsi/equipped-BELT2.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_grip.rsi/equipped-BELT2.png new file mode 100644 index 0000000000..ee22a4653f Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_grip.rsi/equipped-BELT2.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_grip.rsi/icon.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_grip.rsi/icon.png new file mode 100644 index 0000000000..29564e898c Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_grip.rsi/icon.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_grip.rsi/inhand-left.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_grip.rsi/inhand-left.png new file mode 100644 index 0000000000..c274271dd2 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_grip.rsi/inhand-left.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_grip.rsi/inhand-right.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_grip.rsi/inhand-right.png new file mode 100644 index 0000000000..940acdc10b Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_grip.rsi/inhand-right.png differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/Sickle/sickle.rsi/meta.json b/Resources/Textures/_CP14/Objects/ModularTools/iron_grip.rsi/meta.json similarity index 100% rename from Resources/Textures/_CP14/Objects/Weapons/Melee/Sickle/sickle.rsi/meta.json rename to Resources/Textures/_CP14/Objects/ModularTools/iron_grip.rsi/meta.json diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_grip_long.rsi/equipped-NECK.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_grip_long.rsi/equipped-NECK.png new file mode 100644 index 0000000000..38068342e0 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_grip_long.rsi/equipped-NECK.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_grip_long.rsi/icon.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_grip_long.rsi/icon.png new file mode 100644 index 0000000000..3b1d163bec Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_grip_long.rsi/icon.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_grip_long.rsi/inhand-left.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_grip_long.rsi/inhand-left.png new file mode 100644 index 0000000000..cccd10da2f Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_grip_long.rsi/inhand-left.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_grip_long.rsi/inhand-right.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_grip_long.rsi/inhand-right.png new file mode 100644 index 0000000000..f8b632e7f6 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_grip_long.rsi/inhand-right.png differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/Pickaxe/pickaxe.rsi/meta.json b/Resources/Textures/_CP14/Objects/ModularTools/iron_grip_long.rsi/meta.json similarity index 73% rename from Resources/Textures/_CP14/Objects/Weapons/Melee/Pickaxe/pickaxe.rsi/meta.json rename to Resources/Textures/_CP14/Objects/ModularTools/iron_grip_long.rsi/meta.json index 1103b688d5..4b7b3f4c43 100644 --- a/Resources/Textures/_CP14/Objects/Weapons/Melee/Pickaxe/pickaxe.rsi/meta.json +++ b/Resources/Textures/_CP14/Objects/ModularTools/iron_grip_long.rsi/meta.json @@ -1,12 +1,16 @@ { "version": 1, - "license": "CLA", - "copyright": "Created by TheShuEd (Github)", "size": { - "x": 32, - "y": 32 + "x": 48, + "y": 48 }, + "license": "CLA", + "copyright": "Created by TheShuEd (Github) ", "states": [ + { + "name": "equipped-NECK", + "directions": 4 + }, { "name": "icon" }, @@ -27,4 +31,4 @@ "directions": 4 } ] -} +} \ No newline at end of file diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_grip_long.rsi/wielded-inhand-left.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_grip_long.rsi/wielded-inhand-left.png new file mode 100644 index 0000000000..f6182c4846 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_grip_long.rsi/wielded-inhand-left.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_grip_long.rsi/wielded-inhand-right.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_grip_long.rsi/wielded-inhand-right.png new file mode 100644 index 0000000000..c10986c8db Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_grip_long.rsi/wielded-inhand-right.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_mace.rsi/equipped-BELT1.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_mace.rsi/equipped-BELT1.png new file mode 100644 index 0000000000..c4c5169aa0 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_mace.rsi/equipped-BELT1.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_mace.rsi/equipped-BELT2.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_mace.rsi/equipped-BELT2.png new file mode 100644 index 0000000000..2c3cde0147 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_mace.rsi/equipped-BELT2.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_mace.rsi/equipped-NECK.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_mace.rsi/equipped-NECK.png new file mode 100644 index 0000000000..c3264c2b4d Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_mace.rsi/equipped-NECK.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_mace.rsi/icon.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_mace.rsi/icon.png new file mode 100644 index 0000000000..4b39398ecb Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_mace.rsi/icon.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_mace.rsi/inhand-left.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_mace.rsi/inhand-left.png new file mode 100644 index 0000000000..672e2e2870 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_mace.rsi/inhand-left.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_mace.rsi/inhand-right.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_mace.rsi/inhand-right.png new file mode 100644 index 0000000000..610360d1a5 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_mace.rsi/inhand-right.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_mace.rsi/meta.json b/Resources/Textures/_CP14/Objects/ModularTools/iron_mace.rsi/meta.json new file mode 100644 index 0000000000..3767fb75aa --- /dev/null +++ b/Resources/Textures/_CP14/Objects/ModularTools/iron_mace.rsi/meta.json @@ -0,0 +1,42 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CLA", + "copyright": "Created by TheShuEd (Github) ", + "states": [ + { + "name": "equipped-BELT1", + "directions": 4 + }, + { + "name": "equipped-BELT2", + "directions": 4 + }, + { + "name": "equipped-NECK", + "directions": 4 + }, + { + "name": "icon" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "wielded-inhand-left", + "directions": 4 + }, + { + "name": "wielded-inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_mace.rsi/wielded-inhand-left.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_mace.rsi/wielded-inhand-left.png new file mode 100644 index 0000000000..7e8a549f32 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_mace.rsi/wielded-inhand-left.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_mace.rsi/wielded-inhand-right.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_mace.rsi/wielded-inhand-right.png new file mode 100644 index 0000000000..a3e18c375b Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_mace.rsi/wielded-inhand-right.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_pickaxe.rsi/equipped-BELT1.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_pickaxe.rsi/equipped-BELT1.png new file mode 100644 index 0000000000..ec4c89e282 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_pickaxe.rsi/equipped-BELT1.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_pickaxe.rsi/equipped-BELT2.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_pickaxe.rsi/equipped-BELT2.png new file mode 100644 index 0000000000..5d895578cd Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_pickaxe.rsi/equipped-BELT2.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_pickaxe.rsi/equipped-NECK.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_pickaxe.rsi/equipped-NECK.png new file mode 100644 index 0000000000..fa185773b3 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_pickaxe.rsi/equipped-NECK.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_pickaxe.rsi/icon.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_pickaxe.rsi/icon.png new file mode 100644 index 0000000000..33db4a0e43 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_pickaxe.rsi/icon.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_pickaxe.rsi/inhand-left.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_pickaxe.rsi/inhand-left.png new file mode 100644 index 0000000000..3ac4cf8936 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_pickaxe.rsi/inhand-left.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_pickaxe.rsi/inhand-right.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_pickaxe.rsi/inhand-right.png new file mode 100644 index 0000000000..5229515589 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_pickaxe.rsi/inhand-right.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_pickaxe.rsi/meta.json b/Resources/Textures/_CP14/Objects/ModularTools/iron_pickaxe.rsi/meta.json new file mode 100644 index 0000000000..3767fb75aa --- /dev/null +++ b/Resources/Textures/_CP14/Objects/ModularTools/iron_pickaxe.rsi/meta.json @@ -0,0 +1,42 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CLA", + "copyright": "Created by TheShuEd (Github) ", + "states": [ + { + "name": "equipped-BELT1", + "directions": 4 + }, + { + "name": "equipped-BELT2", + "directions": 4 + }, + { + "name": "equipped-NECK", + "directions": 4 + }, + { + "name": "icon" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "wielded-inhand-left", + "directions": 4 + }, + { + "name": "wielded-inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_pickaxe.rsi/wielded-inhand-left.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_pickaxe.rsi/wielded-inhand-left.png new file mode 100644 index 0000000000..9044415f83 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_pickaxe.rsi/wielded-inhand-left.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_pickaxe.rsi/wielded-inhand-right.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_pickaxe.rsi/wielded-inhand-right.png new file mode 100644 index 0000000000..cdc249a321 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_pickaxe.rsi/wielded-inhand-right.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_shovel.rsi/equipped-BELT1.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_shovel.rsi/equipped-BELT1.png new file mode 100644 index 0000000000..b67b3f3fc6 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_shovel.rsi/equipped-BELT1.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_shovel.rsi/equipped-BELT2.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_shovel.rsi/equipped-BELT2.png new file mode 100644 index 0000000000..2b95da714a Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_shovel.rsi/equipped-BELT2.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_shovel.rsi/equipped-NECK.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_shovel.rsi/equipped-NECK.png new file mode 100644 index 0000000000..520813e750 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_shovel.rsi/equipped-NECK.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_shovel.rsi/icon.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_shovel.rsi/icon.png new file mode 100644 index 0000000000..be90409ffc Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_shovel.rsi/icon.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_shovel.rsi/inhand-left.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_shovel.rsi/inhand-left.png new file mode 100644 index 0000000000..a94a1fd069 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_shovel.rsi/inhand-left.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_shovel.rsi/inhand-right.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_shovel.rsi/inhand-right.png new file mode 100644 index 0000000000..77e3f89991 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_shovel.rsi/inhand-right.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_shovel.rsi/meta.json b/Resources/Textures/_CP14/Objects/ModularTools/iron_shovel.rsi/meta.json new file mode 100644 index 0000000000..3767fb75aa --- /dev/null +++ b/Resources/Textures/_CP14/Objects/ModularTools/iron_shovel.rsi/meta.json @@ -0,0 +1,42 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CLA", + "copyright": "Created by TheShuEd (Github) ", + "states": [ + { + "name": "equipped-BELT1", + "directions": 4 + }, + { + "name": "equipped-BELT2", + "directions": 4 + }, + { + "name": "equipped-NECK", + "directions": 4 + }, + { + "name": "icon" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "wielded-inhand-left", + "directions": 4 + }, + { + "name": "wielded-inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_shovel.rsi/wielded-inhand-left.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_shovel.rsi/wielded-inhand-left.png new file mode 100644 index 0000000000..f150ab9f19 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_shovel.rsi/wielded-inhand-left.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_shovel.rsi/wielded-inhand-right.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_shovel.rsi/wielded-inhand-right.png new file mode 100644 index 0000000000..4f8def30ad Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_shovel.rsi/wielded-inhand-right.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_sickle.rsi/equipped-BELT1.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_sickle.rsi/equipped-BELT1.png new file mode 100644 index 0000000000..20b23da66a Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_sickle.rsi/equipped-BELT1.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_sickle.rsi/equipped-BELT2.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_sickle.rsi/equipped-BELT2.png new file mode 100644 index 0000000000..6981924047 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_sickle.rsi/equipped-BELT2.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_sickle.rsi/equipped-NECK.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_sickle.rsi/equipped-NECK.png new file mode 100644 index 0000000000..e3c685c425 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_sickle.rsi/equipped-NECK.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_sickle.rsi/icon.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_sickle.rsi/icon.png new file mode 100644 index 0000000000..8fcbfc40f7 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_sickle.rsi/icon.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_sickle.rsi/inhand-left.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_sickle.rsi/inhand-left.png new file mode 100644 index 0000000000..9a354e7b99 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_sickle.rsi/inhand-left.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_sickle.rsi/inhand-right.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_sickle.rsi/inhand-right.png new file mode 100644 index 0000000000..1b7ee17278 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_sickle.rsi/inhand-right.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_sickle.rsi/meta.json b/Resources/Textures/_CP14/Objects/ModularTools/iron_sickle.rsi/meta.json new file mode 100644 index 0000000000..3767fb75aa --- /dev/null +++ b/Resources/Textures/_CP14/Objects/ModularTools/iron_sickle.rsi/meta.json @@ -0,0 +1,42 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CLA", + "copyright": "Created by TheShuEd (Github) ", + "states": [ + { + "name": "equipped-BELT1", + "directions": 4 + }, + { + "name": "equipped-BELT2", + "directions": 4 + }, + { + "name": "equipped-NECK", + "directions": 4 + }, + { + "name": "icon" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "wielded-inhand-left", + "directions": 4 + }, + { + "name": "wielded-inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_sickle.rsi/wielded-inhand-left.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_sickle.rsi/wielded-inhand-left.png new file mode 100644 index 0000000000..01e18a7282 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_sickle.rsi/wielded-inhand-left.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_sickle.rsi/wielded-inhand-right.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_sickle.rsi/wielded-inhand-right.png new file mode 100644 index 0000000000..46e3206fdb Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_sickle.rsi/wielded-inhand-right.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_spear.rsi/equipped-BELT1.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_spear.rsi/equipped-BELT1.png new file mode 100644 index 0000000000..0fe7a31ce9 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_spear.rsi/equipped-BELT1.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_spear.rsi/equipped-BELT2.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_spear.rsi/equipped-BELT2.png new file mode 100644 index 0000000000..169595725d Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_spear.rsi/equipped-BELT2.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_spear.rsi/equipped-NECK.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_spear.rsi/equipped-NECK.png new file mode 100644 index 0000000000..d183a3f26b Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_spear.rsi/equipped-NECK.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_spear.rsi/icon.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_spear.rsi/icon.png new file mode 100644 index 0000000000..e36dcbe02e Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_spear.rsi/icon.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_spear.rsi/inhand-left.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_spear.rsi/inhand-left.png new file mode 100644 index 0000000000..2a11fe88cc Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_spear.rsi/inhand-left.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_spear.rsi/inhand-right.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_spear.rsi/inhand-right.png new file mode 100644 index 0000000000..ae3f668d79 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_spear.rsi/inhand-right.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_spear.rsi/meta.json b/Resources/Textures/_CP14/Objects/ModularTools/iron_spear.rsi/meta.json new file mode 100644 index 0000000000..3767fb75aa --- /dev/null +++ b/Resources/Textures/_CP14/Objects/ModularTools/iron_spear.rsi/meta.json @@ -0,0 +1,42 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CLA", + "copyright": "Created by TheShuEd (Github) ", + "states": [ + { + "name": "equipped-BELT1", + "directions": 4 + }, + { + "name": "equipped-BELT2", + "directions": 4 + }, + { + "name": "equipped-NECK", + "directions": 4 + }, + { + "name": "icon" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "wielded-inhand-left", + "directions": 4 + }, + { + "name": "wielded-inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_spear.rsi/wielded-inhand-left.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_spear.rsi/wielded-inhand-left.png new file mode 100644 index 0000000000..d1ba530ab7 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_spear.rsi/wielded-inhand-left.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_spear.rsi/wielded-inhand-right.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_spear.rsi/wielded-inhand-right.png new file mode 100644 index 0000000000..4c3dee15b4 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_spear.rsi/wielded-inhand-right.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_sword.rsi/equipped-BELT1.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_sword.rsi/equipped-BELT1.png new file mode 100644 index 0000000000..45295ecbef Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_sword.rsi/equipped-BELT1.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_sword.rsi/equipped-BELT2.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_sword.rsi/equipped-BELT2.png new file mode 100644 index 0000000000..0e3c59b367 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_sword.rsi/equipped-BELT2.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_sword.rsi/equipped-NECK.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_sword.rsi/equipped-NECK.png new file mode 100644 index 0000000000..df63ea0e41 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_sword.rsi/equipped-NECK.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_sword.rsi/icon.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_sword.rsi/icon.png new file mode 100644 index 0000000000..f3c84ec4c8 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_sword.rsi/icon.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_sword.rsi/inhand-left.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_sword.rsi/inhand-left.png new file mode 100644 index 0000000000..fcdef88115 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_sword.rsi/inhand-left.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_sword.rsi/inhand-right.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_sword.rsi/inhand-right.png new file mode 100644 index 0000000000..49b83fe949 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_sword.rsi/inhand-right.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_sword.rsi/meta.json b/Resources/Textures/_CP14/Objects/ModularTools/iron_sword.rsi/meta.json new file mode 100644 index 0000000000..06a73b7b49 --- /dev/null +++ b/Resources/Textures/_CP14/Objects/ModularTools/iron_sword.rsi/meta.json @@ -0,0 +1,42 @@ +{ + "version": 1, + "size": { + "x": 48, + "y": 48 + }, + "license": "CLA", + "copyright": "Created by TheShuEd (Github) ", + "states": [ + { + "name": "equipped-BELT1", + "directions": 4 + }, + { + "name": "equipped-BELT2", + "directions": 4 + }, + { + "name": "equipped-NECK", + "directions": 4 + }, + { + "name": "icon" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "wielded-inhand-left", + "directions": 4 + }, + { + "name": "wielded-inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_sword.rsi/wielded-inhand-left.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_sword.rsi/wielded-inhand-left.png new file mode 100644 index 0000000000..f16af60f91 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_sword.rsi/wielded-inhand-left.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/iron_sword.rsi/wielded-inhand-right.png b/Resources/Textures/_CP14/Objects/ModularTools/iron_sword.rsi/wielded-inhand-right.png new file mode 100644 index 0000000000..d52b19b18b Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/iron_sword.rsi/wielded-inhand-right.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip.rsi/equipped-BELT1.png b/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip.rsi/equipped-BELT1.png new file mode 100644 index 0000000000..1246414667 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip.rsi/equipped-BELT1.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip.rsi/equipped-BELT2.png b/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip.rsi/equipped-BELT2.png new file mode 100644 index 0000000000..3636f35b0e Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip.rsi/equipped-BELT2.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip.rsi/icon.png b/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip.rsi/icon.png new file mode 100644 index 0000000000..76f0fab3a1 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip.rsi/icon.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip.rsi/inhand-left.png b/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip.rsi/inhand-left.png new file mode 100644 index 0000000000..205924a119 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip.rsi/inhand-left.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip.rsi/inhand-right.png b/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip.rsi/inhand-right.png new file mode 100644 index 0000000000..b36e29defa Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip.rsi/inhand-right.png differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/Mace/mace.rsi/meta.json b/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip.rsi/meta.json similarity index 89% rename from Resources/Textures/_CP14/Objects/Weapons/Melee/Mace/mace.rsi/meta.json rename to Resources/Textures/_CP14/Objects/ModularTools/wooden_grip.rsi/meta.json index 999e0d7aaf..0f12276b8c 100644 --- a/Resources/Textures/_CP14/Objects/Weapons/Melee/Mace/mace.rsi/meta.json +++ b/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CLA", - "copyright": "Created by link (Discord)", + "copyright": "Created by TheShuEd (Github)", "size": { "x": 32, "y": 32 diff --git a/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip_long.rsi/equipped-NECK.png b/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip_long.rsi/equipped-NECK.png new file mode 100644 index 0000000000..9f5ce30a0d Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip_long.rsi/equipped-NECK.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip_long.rsi/helper32.png b/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip_long.rsi/helper32.png new file mode 100644 index 0000000000..b68a16ee85 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip_long.rsi/helper32.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip_long.rsi/icon.png b/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip_long.rsi/icon.png new file mode 100644 index 0000000000..cfaff0af5c Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip_long.rsi/icon.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip_long.rsi/inhand-left.png b/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip_long.rsi/inhand-left.png new file mode 100644 index 0000000000..7cd9b2392a Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip_long.rsi/inhand-left.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip_long.rsi/inhand-right.png b/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip_long.rsi/inhand-right.png new file mode 100644 index 0000000000..f1939e85cb Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip_long.rsi/inhand-right.png differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/Sword/sword.rsi/meta.json b/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip_long.rsi/meta.json similarity index 62% rename from Resources/Textures/_CP14/Objects/Weapons/Melee/Sword/sword.rsi/meta.json rename to Resources/Textures/_CP14/Objects/ModularTools/wooden_grip_long.rsi/meta.json index 8ed6de0a3b..4b7b3f4c43 100644 --- a/Resources/Textures/_CP14/Objects/Weapons/Melee/Sword/sword.rsi/meta.json +++ b/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip_long.rsi/meta.json @@ -1,12 +1,16 @@ { "version": 1, - "license": "CLA", - "copyright": "Created by TheShuEd (Github)", "size": { "x": 48, "y": 48 }, + "license": "CLA", + "copyright": "Created by TheShuEd (Github) ", "states": [ + { + "name": "equipped-NECK", + "directions": 4 + }, { "name": "icon" }, @@ -19,8 +23,12 @@ "directions": 4 }, { - "name": "equipped-NECK", + "name": "wielded-inhand-left", + "directions": 4 + }, + { + "name": "wielded-inhand-right", "directions": 4 } ] -} +} \ No newline at end of file diff --git a/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip_long.rsi/wielded-helper32.png b/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip_long.rsi/wielded-helper32.png new file mode 100644 index 0000000000..a4a7f46e7b Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip_long.rsi/wielded-helper32.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip_long.rsi/wielded-inhand-left.png b/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip_long.rsi/wielded-inhand-left.png new file mode 100644 index 0000000000..eb3881bd7b Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip_long.rsi/wielded-inhand-left.png differ diff --git a/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip_long.rsi/wielded-inhand-right.png b/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip_long.rsi/wielded-inhand-right.png new file mode 100644 index 0000000000..91f96b381d Binary files /dev/null and b/Resources/Textures/_CP14/Objects/ModularTools/wooden_grip_long.rsi/wielded-inhand-right.png differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/Mace/mace.rsi/equipped-BELT1.png b/Resources/Textures/_CP14/Objects/Weapons/Melee/Mace/mace.rsi/equipped-BELT1.png deleted file mode 100644 index d075d6d6ab..0000000000 Binary files a/Resources/Textures/_CP14/Objects/Weapons/Melee/Mace/mace.rsi/equipped-BELT1.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/Mace/mace.rsi/equipped-BELT2.png b/Resources/Textures/_CP14/Objects/Weapons/Melee/Mace/mace.rsi/equipped-BELT2.png deleted file mode 100644 index ea91205bf4..0000000000 Binary files a/Resources/Textures/_CP14/Objects/Weapons/Melee/Mace/mace.rsi/equipped-BELT2.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/Mace/mace.rsi/icon.png b/Resources/Textures/_CP14/Objects/Weapons/Melee/Mace/mace.rsi/icon.png deleted file mode 100644 index e1fcfa6454..0000000000 Binary files a/Resources/Textures/_CP14/Objects/Weapons/Melee/Mace/mace.rsi/icon.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/Mace/mace.rsi/inhand-left.png b/Resources/Textures/_CP14/Objects/Weapons/Melee/Mace/mace.rsi/inhand-left.png deleted file mode 100644 index dbaa5f2e8a..0000000000 Binary files a/Resources/Textures/_CP14/Objects/Weapons/Melee/Mace/mace.rsi/inhand-left.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/Mace/mace.rsi/inhand-right.png b/Resources/Textures/_CP14/Objects/Weapons/Melee/Mace/mace.rsi/inhand-right.png deleted file mode 100644 index 015e28dae8..0000000000 Binary files a/Resources/Textures/_CP14/Objects/Weapons/Melee/Mace/mace.rsi/inhand-right.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/Pickaxe/pickaxe.rsi/icon.png b/Resources/Textures/_CP14/Objects/Weapons/Melee/Pickaxe/pickaxe.rsi/icon.png deleted file mode 100644 index 2b28ac3668..0000000000 Binary files a/Resources/Textures/_CP14/Objects/Weapons/Melee/Pickaxe/pickaxe.rsi/icon.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/Pickaxe/pickaxe.rsi/inhand-left.png b/Resources/Textures/_CP14/Objects/Weapons/Melee/Pickaxe/pickaxe.rsi/inhand-left.png deleted file mode 100644 index e8c3dc413d..0000000000 Binary files a/Resources/Textures/_CP14/Objects/Weapons/Melee/Pickaxe/pickaxe.rsi/inhand-left.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/Pickaxe/pickaxe.rsi/inhand-right.png b/Resources/Textures/_CP14/Objects/Weapons/Melee/Pickaxe/pickaxe.rsi/inhand-right.png deleted file mode 100644 index 158927fe9b..0000000000 Binary files a/Resources/Textures/_CP14/Objects/Weapons/Melee/Pickaxe/pickaxe.rsi/inhand-right.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/Pickaxe/pickaxe.rsi/wielded-inhand-left.png b/Resources/Textures/_CP14/Objects/Weapons/Melee/Pickaxe/pickaxe.rsi/wielded-inhand-left.png deleted file mode 100644 index 2fa9f2817a..0000000000 Binary files a/Resources/Textures/_CP14/Objects/Weapons/Melee/Pickaxe/pickaxe.rsi/wielded-inhand-left.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/Pickaxe/pickaxe.rsi/wielded-inhand-right.png b/Resources/Textures/_CP14/Objects/Weapons/Melee/Pickaxe/pickaxe.rsi/wielded-inhand-right.png deleted file mode 100644 index 1818ad4ee1..0000000000 Binary files a/Resources/Textures/_CP14/Objects/Weapons/Melee/Pickaxe/pickaxe.rsi/wielded-inhand-right.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/Shovel/shovel.rsi/icon.png b/Resources/Textures/_CP14/Objects/Weapons/Melee/Shovel/shovel.rsi/icon.png deleted file mode 100644 index ae4eb46d7a..0000000000 Binary files a/Resources/Textures/_CP14/Objects/Weapons/Melee/Shovel/shovel.rsi/icon.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/Shovel/shovel.rsi/inhand-left.png b/Resources/Textures/_CP14/Objects/Weapons/Melee/Shovel/shovel.rsi/inhand-left.png deleted file mode 100644 index 1a560d037b..0000000000 Binary files a/Resources/Textures/_CP14/Objects/Weapons/Melee/Shovel/shovel.rsi/inhand-left.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/Shovel/shovel.rsi/inhand-right.png b/Resources/Textures/_CP14/Objects/Weapons/Melee/Shovel/shovel.rsi/inhand-right.png deleted file mode 100644 index 821e63f157..0000000000 Binary files a/Resources/Textures/_CP14/Objects/Weapons/Melee/Shovel/shovel.rsi/inhand-right.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/Shovel/shovel.rsi/meta.json b/Resources/Textures/_CP14/Objects/Weapons/Melee/Shovel/shovel.rsi/meta.json deleted file mode 100644 index 82588ec9cb..0000000000 --- a/Resources/Textures/_CP14/Objects/Weapons/Melee/Shovel/shovel.rsi/meta.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "version": 1, - "license": "CLA", - "copyright": "Created by TheShuEd (Github)", - "size": { - "x": 32, - "y": 32 - }, - "states": [ - { - "name": "icon" - }, - { - "name": "inhand-left", - "directions": 4 - }, - { - "name": "inhand-right", - "directions": 4 - } - ] -} diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/Sickle/sickle.rsi/equipped-BELT1.png b/Resources/Textures/_CP14/Objects/Weapons/Melee/Sickle/sickle.rsi/equipped-BELT1.png deleted file mode 100644 index 33ebbb0b98..0000000000 Binary files a/Resources/Textures/_CP14/Objects/Weapons/Melee/Sickle/sickle.rsi/equipped-BELT1.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/Sickle/sickle.rsi/equipped-BELT2.png b/Resources/Textures/_CP14/Objects/Weapons/Melee/Sickle/sickle.rsi/equipped-BELT2.png deleted file mode 100644 index 22df661ec8..0000000000 Binary files a/Resources/Textures/_CP14/Objects/Weapons/Melee/Sickle/sickle.rsi/equipped-BELT2.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/Sickle/sickle.rsi/icon.png b/Resources/Textures/_CP14/Objects/Weapons/Melee/Sickle/sickle.rsi/icon.png deleted file mode 100644 index 0db7f90f0f..0000000000 Binary files a/Resources/Textures/_CP14/Objects/Weapons/Melee/Sickle/sickle.rsi/icon.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/Sickle/sickle.rsi/inhand-left.png b/Resources/Textures/_CP14/Objects/Weapons/Melee/Sickle/sickle.rsi/inhand-left.png deleted file mode 100644 index 65c042d5a8..0000000000 Binary files a/Resources/Textures/_CP14/Objects/Weapons/Melee/Sickle/sickle.rsi/inhand-left.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/Sickle/sickle.rsi/inhand-right.png b/Resources/Textures/_CP14/Objects/Weapons/Melee/Sickle/sickle.rsi/inhand-right.png deleted file mode 100644 index 894bca78f1..0000000000 Binary files a/Resources/Textures/_CP14/Objects/Weapons/Melee/Sickle/sickle.rsi/inhand-right.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/Sword/sword.rsi/equipped-NECK.png b/Resources/Textures/_CP14/Objects/Weapons/Melee/Sword/sword.rsi/equipped-NECK.png deleted file mode 100644 index 98b12ac1b2..0000000000 Binary files a/Resources/Textures/_CP14/Objects/Weapons/Melee/Sword/sword.rsi/equipped-NECK.png and /dev/null 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 deleted file mode 100644 index 0c70cd842e..0000000000 Binary files a/Resources/Textures/_CP14/Objects/Weapons/Melee/Sword/sword.rsi/icon.png and /dev/null 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 deleted file mode 100644 index 9aa89dc609..0000000000 Binary files a/Resources/Textures/_CP14/Objects/Weapons/Melee/Sword/sword.rsi/inhand-left.png and /dev/null 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 deleted file mode 100644 index be1811c5cf..0000000000 Binary files a/Resources/Textures/_CP14/Objects/Weapons/Melee/Sword/sword.rsi/inhand-right.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/ThrowableSpear/throwableSpear.rsi/icon.png b/Resources/Textures/_CP14/Objects/Weapons/Melee/ThrowableSpear/throwableSpear.rsi/icon.png deleted file mode 100644 index f58c5a4044..0000000000 Binary files a/Resources/Textures/_CP14/Objects/Weapons/Melee/ThrowableSpear/throwableSpear.rsi/icon.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/ThrowableSpear/throwableSpear.rsi/inhand-left.png b/Resources/Textures/_CP14/Objects/Weapons/Melee/ThrowableSpear/throwableSpear.rsi/inhand-left.png deleted file mode 100644 index 5004c2a798..0000000000 Binary files a/Resources/Textures/_CP14/Objects/Weapons/Melee/ThrowableSpear/throwableSpear.rsi/inhand-left.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/ThrowableSpear/throwableSpear.rsi/inhand-right.png b/Resources/Textures/_CP14/Objects/Weapons/Melee/ThrowableSpear/throwableSpear.rsi/inhand-right.png deleted file mode 100644 index 0acd4a80e8..0000000000 Binary files a/Resources/Textures/_CP14/Objects/Weapons/Melee/ThrowableSpear/throwableSpear.rsi/inhand-right.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Objects/Weapons/Melee/ThrowableSpear/throwableSpear.rsi/meta.json b/Resources/Textures/_CP14/Objects/Weapons/Melee/ThrowableSpear/throwableSpear.rsi/meta.json deleted file mode 100644 index 82588ec9cb..0000000000 --- a/Resources/Textures/_CP14/Objects/Weapons/Melee/ThrowableSpear/throwableSpear.rsi/meta.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "version": 1, - "license": "CLA", - "copyright": "Created by TheShuEd (Github)", - "size": { - "x": 32, - "y": 32 - }, - "states": [ - { - "name": "icon" - }, - { - "name": "inhand-left", - "directions": 4 - }, - { - "name": "inhand-right", - "directions": 4 - } - ] -} diff --git a/Resources/migration.yml b/Resources/migration.yml index ee60565a48..9e268bf8d9 100644 --- a/Resources/migration.yml +++ b/Resources/migration.yml @@ -15,7 +15,7 @@ CP14ClothingShirtHarlequineRed: CP14ClothingShirtCottonBlack # 2024-07-18 CP14ClothingShirtCottonBlueDark: CP14ClothingShirtCottonBlack -CP14Shovel: CP14BaseShovel +CP14Shovel: CP14ModularIronShovel CP14Hoe: CP14BaseHoe CP14WallStoneSilverOre: CP14WallStoneGoldOre @@ -160,6 +160,15 @@ CP14ClothingCloakSimpleDarkBlue: null CP14ClothingCloakArmoredRed: CP14ClothingCloakGuardCommander CP14SpawnPointCaptain: null +#2024-27-11 +CP14BaseDagger: CP14ModularIronDagger +CP14BaseMace: CP14ModularIronMace +CP14BaseSickle: CP14ModularIronSickle +CP14BaseThrowableSpear: CP14ModularIronSpear +CP14BaseSword: CP14ModularIronSword +CP14BaseShovel: CP14ModularIronShovel +CP14BasePickaxe: CP14ModularIronPickaxe + # <---> CrystallEdge migration zone end