diff --git a/Content.Shared/Access/Systems/AccessReaderSystem.cs b/Content.Shared/Access/Systems/AccessReaderSystem.cs
index 5a0fee311319a1..736d9e6ac6b587 100644
--- a/Content.Shared/Access/Systems/AccessReaderSystem.cs
+++ b/Content.Shared/Access/Systems/AccessReaderSystem.cs
@@ -164,7 +164,7 @@ public bool IsAllowed(
return IsAllowedInternal(access, stationKeys, reader);
if (!_containerSystem.TryGetContainer(target, reader.ContainerAccessProvider, out var container))
- return false;
+ return Paused(target); // when mapping, containers with electronics arent spawned
foreach (var entity in container.ContainedEntities)
{
diff --git a/Content.Shared/Hands/Components/HandHelpers.cs b/Content.Shared/Hands/Components/HandHelpers.cs
index 11fff6d9c8a992..aecf3a69369330 100644
--- a/Content.Shared/Hands/Components/HandHelpers.cs
+++ b/Content.Shared/Hands/Components/HandHelpers.cs
@@ -1,4 +1,5 @@
using System.Linq;
+using Content.Shared.Hands.EntitySystems;
namespace Content.Shared.Hands.Components;
@@ -20,6 +21,15 @@ public static class HandHelpers
///
public static int CountFreeHands(this HandsComponent component) => component.Hands.Values.Count(hand => hand.IsEmpty);
+ ///
+ /// Get the number of hands that are not currently holding anything. This is a LinQ method, not a property, so
+ /// cache it instead of accessing this multiple times.
+ ///
+ public static int CountFreeableHands(this Entity component, SharedHandsSystem system)
+ {
+ return system.CountFreeableHands(component);
+ }
+
///
/// Get a list of hands that are currently holding nothing. This is a LinQ method, not a property, so cache
/// it instead of accessing this multiple times.
diff --git a/Content.Shared/Hands/EntitySystems/SharedHandsSystem.cs b/Content.Shared/Hands/EntitySystems/SharedHandsSystem.cs
index fd732009e9a2f6..e48aafeab52f69 100644
--- a/Content.Shared/Hands/EntitySystems/SharedHandsSystem.cs
+++ b/Content.Shared/Hands/EntitySystems/SharedHandsSystem.cs
@@ -5,7 +5,6 @@
using Content.Shared.Hands.Components;
using Content.Shared.Interaction;
using Content.Shared.Inventory.VirtualItem;
-using Content.Shared.Item;
using Content.Shared.Storage.EntitySystems;
using Robust.Shared.Containers;
using Robust.Shared.Input.Binding;
@@ -299,4 +298,16 @@ public bool TryGetHand(EntityUid handsUid, string handId, [NotNullWhen(true)] ou
return hands.Hands.TryGetValue(handId, out hand);
}
+
+ public int CountFreeableHands(Entity hands)
+ {
+ var freeable = 0;
+ foreach (var hand in hands.Comp.Hands.Values)
+ {
+ if (hand.IsEmpty || CanDropHeld(hands, hand))
+ freeable++;
+ }
+
+ return freeable;
+ }
}
diff --git a/Content.Shared/Inventory/VirtualItem/SharedVirtualItemSystem.cs b/Content.Shared/Inventory/VirtualItem/SharedVirtualItemSystem.cs
index e45530e4582313..b31cc75576387d 100644
--- a/Content.Shared/Inventory/VirtualItem/SharedVirtualItemSystem.cs
+++ b/Content.Shared/Inventory/VirtualItem/SharedVirtualItemSystem.cs
@@ -4,6 +4,7 @@
using Content.Shared.Interaction;
using Content.Shared.Inventory.Events;
using Content.Shared.Item;
+using Content.Shared.Popups;
using Robust.Shared.Containers;
using Robust.Shared.Network;
using Robust.Shared.Prototypes;
@@ -29,6 +30,7 @@ public abstract class SharedVirtualItemSystem : EntitySystem
[Dependency] private readonly SharedItemSystem _itemSystem = default!;
[Dependency] private readonly InventorySystem _inventorySystem = default!;
[Dependency] private readonly SharedHandsSystem _handsSystem = default!;
+ [Dependency] private readonly SharedPopupSystem _popup = default!;
[ValidatePrototypeId]
private const string VirtualItem = "VirtualItem";
@@ -71,23 +73,53 @@ private void OnBeforeRangedInteract(Entity ent, ref Before
}
#region Hands
+
///
/// Spawns a virtual item in a empty hand
///
/// The entity we will make a virtual entity copy of
/// The entity that we want to insert the virtual entity
- public bool TrySpawnVirtualItemInHand(EntityUid blockingEnt, EntityUid user)
+ /// Whether or not to try and drop other items to make space
+ public bool TrySpawnVirtualItemInHand(EntityUid blockingEnt, EntityUid user, bool dropOthers = false)
{
- return TrySpawnVirtualItemInHand(blockingEnt, user, out _);
+ return TrySpawnVirtualItemInHand(blockingEnt, user, out _, dropOthers);
}
- ///
- public bool TrySpawnVirtualItemInHand(EntityUid blockingEnt, EntityUid user, [NotNullWhen(true)] out EntityUid? virtualItem)
+ ///
+ public bool TrySpawnVirtualItemInHand(EntityUid blockingEnt, EntityUid user, [NotNullWhen(true)] out EntityUid? virtualItem, bool dropOthers = false)
{
- if (!TrySpawnVirtualItem(blockingEnt, user, out virtualItem) || !_handsSystem.TryGetEmptyHand(user, out var hand))
+ virtualItem = null;
+ if (!_handsSystem.TryGetEmptyHand(user, out var empty))
+ {
+ if (!dropOthers)
+ return false;
+
+ foreach (var hand in _handsSystem.EnumerateHands(user))
+ {
+ if (hand.HeldEntity is not { } held)
+ continue;
+
+ if (held == blockingEnt || HasComp(held))
+ continue;
+
+ if (!_handsSystem.TryDrop(user, hand))
+ continue;
+
+ if (!TerminatingOrDeleted(held))
+ _popup.PopupClient(Loc.GetString("virtual-item-dropped-other", ("dropped", held)), user, user);
+
+ empty = hand;
+ break;
+ }
+ }
+
+ if (empty == null)
+ return false;
+
+ if (!TrySpawnVirtualItem(blockingEnt, user, out virtualItem))
return false;
- _handsSystem.DoPickup(user, hand, virtualItem.Value);
+ _handsSystem.DoPickup(user, empty, virtualItem.Value);
return true;
}
@@ -120,6 +152,7 @@ public void DeleteInHandsMatching(EntityUid user, EntityUid matching)
/// The entity we will make a virtual entity copy of
/// The entity that we want to insert the virtual entity
/// The slot to which we will insert the virtual entity (could be the "shoes" slot, for example)
+ /// Whether or not to force an equip
public bool TrySpawnVirtualItemInInventory(EntityUid blockingEnt, EntityUid user, string slot, bool force = false)
{
return TrySpawnVirtualItemInInventory(blockingEnt, user, slot, force, out _);
@@ -140,6 +173,8 @@ public bool TrySpawnVirtualItemInInventory(EntityUid blockingEnt, EntityUid user
/// that's done check if the found virtual entity is a copy of our matching entity,
/// if it is, delete it
///
+ /// The entity that we want to delete the virtual entity from
+ /// The entity that made the virtual entity
/// Set this param if you have the name of the slot, it avoids unnecessary queries
public void DeleteInSlotMatching(EntityUid user, EntityUid matching, string? slotName = null)
{
@@ -178,6 +213,7 @@ public void DeleteInSlotMatching(EntityUid user, EntityUid matching, string? slo
///
/// The entity we will make a virtual entity copy of
/// The entity that we want to insert the virtual entity
+ /// The virtual item, if spawned
public bool TrySpawnVirtualItem(EntityUid blockingEnt, EntityUid user, [NotNullWhen(true)] out EntityUid? virtualItem)
{
if (_netManager.IsClient)
diff --git a/Content.Shared/Preferences/Loadouts/RoleLoadout.cs b/Content.Shared/Preferences/Loadouts/RoleLoadout.cs
index e1c6f8395d0481..ff3db32fd6f26b 100644
--- a/Content.Shared/Preferences/Loadouts/RoleLoadout.cs
+++ b/Content.Shared/Preferences/Loadouts/RoleLoadout.cs
@@ -74,12 +74,20 @@ public void EnsureValid(ICommonSession session, IDependencyCollection collection
{
var loadout = loadouts[i];
+ // Old prototype or otherwise invalid.
if (!protoManager.TryIndex(loadout.Prototype, out var loadoutProto))
{
loadouts.RemoveAt(i);
continue;
}
+ // Malicious client maybe, check the group even has it.
+ if (!groupProto.Loadouts.Contains(loadout.Prototype))
+ {
+ loadouts.RemoveAt(i);
+ continue;
+ }
+
// Validate the loadout can be applied (e.g. points).
if (!IsValid(session, loadout.Prototype, collection, out _))
{
diff --git a/Content.Shared/Weapons/Ranged/Components/GunRequiresWieldComponent.cs b/Content.Shared/Weapons/Ranged/Components/GunRequiresWieldComponent.cs
index 2ae71334b47cfe..fa3732209f5223 100644
--- a/Content.Shared/Weapons/Ranged/Components/GunRequiresWieldComponent.cs
+++ b/Content.Shared/Weapons/Ranged/Components/GunRequiresWieldComponent.cs
@@ -6,8 +6,13 @@ namespace Content.Shared.Weapons.Ranged.Components;
///
/// Indicates that this gun requires wielding to be useable.
///
-[RegisterComponent, NetworkedComponent, Access(typeof(WieldableSystem))]
+[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
+[Access(typeof(WieldableSystem))]
public sealed partial class GunRequiresWieldComponent : Component
{
+ [DataField, AutoNetworkedField]
+ public TimeSpan LastPopup;
+ [DataField, AutoNetworkedField]
+ public TimeSpan PopupCooldown = TimeSpan.FromSeconds(1);
}
diff --git a/Content.Shared/Weapons/Ranged/Components/GunWieldBonusComponent.cs b/Content.Shared/Weapons/Ranged/Components/GunWieldBonusComponent.cs
index ce96639e3c499f..522319ccbd330a 100644
--- a/Content.Shared/Weapons/Ranged/Components/GunWieldBonusComponent.cs
+++ b/Content.Shared/Weapons/Ranged/Components/GunWieldBonusComponent.cs
@@ -33,4 +33,7 @@ public sealed partial class GunWieldBonusComponent : Component
///
[DataField, AutoNetworkedField]
public Angle AngleIncrease = Angle.FromDegrees(0);
+
+ [DataField]
+ public LocId? WieldBonusExamineMessage = "gunwieldbonus-component-examine";
}
diff --git a/Content.Shared/Weapons/Ranged/Events/ShotAttemptedEvent.cs b/Content.Shared/Weapons/Ranged/Events/ShotAttemptedEvent.cs
index 40925ad614c943..d61862bf1a0a33 100644
--- a/Content.Shared/Weapons/Ranged/Events/ShotAttemptedEvent.cs
+++ b/Content.Shared/Weapons/Ranged/Events/ShotAttemptedEvent.cs
@@ -1,3 +1,5 @@
+using Content.Shared.Weapons.Ranged.Components;
+
namespace Content.Shared.Weapons.Ranged.Events;
///
@@ -15,7 +17,7 @@ public record struct ShotAttemptedEvent
///
/// The gun being shot.
///
- public EntityUid Used;
+ public Entity Used;
public bool Cancelled { get; private set; }
diff --git a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs
index c592a24141901a..eb597467fdc057 100644
--- a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs
+++ b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs
@@ -239,7 +239,7 @@ private void AttemptShoot(EntityUid user, EntityUid gunUid, GunComponent gun)
var prevention = new ShotAttemptedEvent
{
User = user,
- Used = gunUid
+ Used = (gunUid, gun)
};
RaiseLocalEvent(gunUid, ref prevention);
if (prevention.Cancelled)
diff --git a/Content.Shared/Wieldable/WieldableSystem.cs b/Content.Shared/Wieldable/WieldableSystem.cs
index ba3f787a4bbd8c..c09044f84b43aa 100644
--- a/Content.Shared/Wieldable/WieldableSystem.cs
+++ b/Content.Shared/Wieldable/WieldableSystem.cs
@@ -1,3 +1,4 @@
+using Content.Shared.Examine;
using Content.Shared.Hands;
using Content.Shared.Hands.Components;
using Content.Shared.Hands.EntitySystems;
@@ -15,7 +16,7 @@
using Content.Shared.Weapons.Ranged.Systems;
using Content.Shared.Wieldable.Components;
using Robust.Shared.Audio.Systems;
-using Robust.Shared.Player;
+using Robust.Shared.Timing;
namespace Content.Shared.Wieldable;
@@ -29,6 +30,7 @@ public sealed class WieldableSystem : EntitySystem
[Dependency] private readonly SharedAppearanceSystem _appearance = default!;
[Dependency] private readonly UseDelaySystem _delay = default!;
[Dependency] private readonly SharedGunSystem _gun = default!;
+ [Dependency] private readonly IGameTiming _timing = default!;
public override void Initialize()
{
@@ -39,12 +41,14 @@ public override void Initialize()
SubscribeLocalEvent(OnItemLeaveHand);
SubscribeLocalEvent(OnVirtualItemDeleted);
SubscribeLocalEvent>(AddToggleWieldVerb);
+ SubscribeLocalEvent(OnDeselectWieldable);
SubscribeLocalEvent(OnMeleeAttempt);
- SubscribeLocalEvent(OnShootAttempt);
+ SubscribeLocalEvent(OnShootAttempt);
SubscribeLocalEvent(OnGunWielded);
SubscribeLocalEvent(OnGunUnwielded);
SubscribeLocalEvent(OnGunRefreshModifiers);
+ SubscribeLocalEvent(OnExamine);
SubscribeLocalEvent(OnGetMeleeDamage);
}
@@ -59,16 +63,21 @@ private void OnMeleeAttempt(EntityUid uid, MeleeRequiresWieldComponent component
}
}
- private void OnShootAttempt(EntityUid uid, GunRequiresWieldComponent component, ref AttemptShootEvent args)
+ private void OnShootAttempt(EntityUid uid, GunRequiresWieldComponent component, ref ShotAttemptedEvent args)
{
if (TryComp(uid, out var wieldable) &&
!wieldable.Wielded)
{
- args.Cancelled = true;
+ args.Cancel();
- if (!HasComp(uid) && !HasComp(uid))
+ var time = _timing.CurTime;
+ if (time > component.LastPopup + component.PopupCooldown &&
+ !HasComp(uid) &&
+ !HasComp(uid))
{
- args.Message = Loc.GetString("wieldable-component-requires", ("item", uid));
+ component.LastPopup = time;
+ var message = Loc.GetString("wieldable-component-requires", ("item", uid));
+ _popupSystem.PopupClient(message, args.Used, args.User);
}
}
}
@@ -83,6 +92,14 @@ private void OnGunWielded(EntityUid uid, GunWieldBonusComponent component, ref I
_gun.RefreshModifiers(uid);
}
+ private void OnDeselectWieldable(EntityUid uid, WieldableComponent component, HandDeselectedEvent args)
+ {
+ if (!component.Wielded)
+ return;
+
+ TryUnwield(uid, component, args.User);
+ }
+
private void OnGunRefreshModifiers(Entity bonus, ref GunRefreshModifiersEvent args)
{
if (TryComp(bonus, out WieldableComponent? wield) &&
@@ -95,6 +112,12 @@ private void OnGunRefreshModifiers(Entity bonus, ref Gun
}
}
+ private void OnExamine(EntityUid uid, GunWieldBonusComponent component, ref ExaminedEvent args)
+ {
+ if (component.WieldBonusExamineMessage != null)
+ args.PushText(Loc.GetString(component.WieldBonusExamineMessage));
+ }
+
private void AddToggleWieldVerb(EntityUid uid, WieldableComponent component, GetVerbsEvent args)
{
if (args.Hands == null || !args.CanAccess || !args.CanInteract)
@@ -147,7 +170,7 @@ public bool CanWield(EntityUid uid, WieldableComponent component, EntityUid user
return false;
}
- if (hands.CountFreeHands() < component.FreeHandsRequired)
+ if (_handsSystem.CountFreeableHands((user, hands)) < component.FreeHandsRequired)
{
if (!quiet)
{
@@ -188,9 +211,21 @@ public bool TryWield(EntityUid used, WieldableComponent component, EntityUid use
if (component.WieldSound != null)
_audioSystem.PlayPredicted(component.WieldSound, used, user);
+ var virtuals = new List();
for (var i = 0; i < component.FreeHandsRequired; i++)
{
- _virtualItemSystem.TrySpawnVirtualItemInHand(used, user);
+ if (_virtualItemSystem.TrySpawnVirtualItemInHand(used, user, out var virtualItem, true))
+ {
+ virtuals.Add(virtualItem.Value);
+ continue;
+ }
+
+ foreach (var existingVirtual in virtuals)
+ {
+ QueueDel(existingVirtual);
+ }
+
+ return false;
}
if (TryComp(used, out UseDelayComponent? useDelay)
diff --git a/Resources/Locale/en-US/virtual/virtual-item.ftl b/Resources/Locale/en-US/virtual/virtual-item.ftl
new file mode 100644
index 00000000000000..cb91f24cf7c8bd
--- /dev/null
+++ b/Resources/Locale/en-US/virtual/virtual-item.ftl
@@ -0,0 +1 @@
+virtual-item-dropped-other = You dropped {THE($dropped)}!
diff --git a/Resources/Locale/en-US/wieldable/wieldable-component.ftl b/Resources/Locale/en-US/wieldable/wieldable-component.ftl
index 91eee8c2eaf50e..84b58224a77466 100644
--- a/Resources/Locale/en-US/wieldable/wieldable-component.ftl
+++ b/Resources/Locale/en-US/wieldable/wieldable-component.ftl
@@ -1,4 +1,4 @@
-### Locale for wielding items; i.e. two-handing them
+### Locale for wielding items; i.e. two-handing them
wieldable-verb-text-wield = Wield
wieldable-verb-text-unwield = Unwield
@@ -17,3 +17,4 @@ wieldable-component-not-in-hands = { CAPITALIZE(THE($item)) } isn't in your hand
wieldable-component-requires = { CAPITALIZE(THE($item))} must be wielded!
+gunwieldbonus-component-examine = This weapon has improved accuracy when wielded.
diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/base_wieldable.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/base_wieldable.yml
new file mode 100644
index 00000000000000..cf858e17374162
--- /dev/null
+++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/base_wieldable.yml
@@ -0,0 +1,12 @@
+# A basic inheritable template for a gun that is wieldable and has the standard inaccuracy.
+- type: entity
+ id: BaseGunWieldable
+ abstract: true
+ components:
+ - type: Wieldable
+ - type: GunWieldBonus
+ minAngle: -20
+ maxAngle: -30
+ - type: Gun
+ minAngle: 21
+ maxAngle: 32
diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml
index 576545f8e86859..642447b49e5801 100644
--- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml
+++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml
@@ -204,7 +204,7 @@
- type: entity
name: laser rifle
- parent: BaseWeaponBattery
+ parent: [BaseWeaponBattery, BaseGunWieldable]
id: WeaponLaserCarbine
description: A simple civilian grade laser carbine, the workhorse of many private security organizations.
components:
@@ -271,7 +271,7 @@
- type: entity
name: pulse carbine
- parent: BaseWeaponBattery
+ parent: [BaseWeaponBattery, BaseGunWieldable]
id: WeaponPulseCarbine
description: A high tech energy carbine favoured by the NT-ERT operatives. On the handle is a label that says 'for authorized use only.'
components:
@@ -302,7 +302,7 @@
- type: entity
name: pulse rifle
- parent: BaseWeaponBattery
+ parent: [BaseWeaponBattery, BaseGunWieldable]
id: WeaponPulseRifle
description: A weapon that is almost as infamous as its users. On the handle is a label that says 'for authorized use only.'
components:
@@ -329,7 +329,7 @@
- type: entity
name: laser cannon
- parent: BaseWeaponBattery
+ parent: [BaseWeaponBattery, BaseGunWieldable]
id: WeaponLaserCannon
description: A heavy duty, high powered laser weapon. On the handle is a label that says 'for authorized use only.'
components:
@@ -388,7 +388,7 @@
- type: entity
name: x-ray cannon
- parent: BaseWeaponBattery
+ parent: [BaseWeaponBattery, BaseGunWieldable]
id: WeaponXrayCannon
description: An illegal and experimental weapon that uses concentrated x-ray energy against its target.
components:
diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml
index 9f94ed2c52ba1f..82a363574558fb 100644
--- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml
+++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml
@@ -22,7 +22,7 @@
- type: entity
name: china lake
- parent: BaseWeaponLauncher
+ parent: [BaseWeaponLauncher, BaseGunWieldable]
id: WeaponLauncherChinaLake
description: PLOOP
components:
diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml
index ef83e6c5722792..bef02faf3abf85 100644
--- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml
+++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml
@@ -1,6 +1,6 @@
- type: entity
name: BaseWeaponRifle
- parent: BaseItem
+ parent: [BaseItem, BaseGunWieldable]
id: BaseWeaponRifle
description: A rooty tooty point and shooty.
abstract: true
diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml
index 45be47f79c09c1..9cdb4386bb4d83 100644
--- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml
+++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml
@@ -80,7 +80,7 @@
- type: entity
name: C-20r sub machine gun
- parent: BaseWeaponSubMachineGun
+ parent: [BaseWeaponSubMachineGun, BaseGunWieldable]
id: WeaponSubMachineGunC20r
description: An illegal firearm that is often used by the infamous nuclear operatives. Uses .35 auto ammo.
components:
@@ -94,6 +94,8 @@
- type: Clothing
sprite: Objects/Weapons/Guns/SMGs/c20r.rsi
- type: Gun
+ minAngle: 21
+ maxAngle: 32
shotsPerBurst: 5
availableModes:
- SemiAuto
@@ -112,7 +114,7 @@
- type: entity
name: Drozd
- parent: BaseWeaponSubMachineGun
+ parent: [BaseWeaponSubMachineGun, BaseGunWieldable]
id: WeaponSubMachineGunDrozd
description: An excellent fully automatic Heavy SMG. An illegal firearm often used by Syndicate agents.
components:
@@ -126,6 +128,8 @@
- type: Clothing
sprite: Objects/Weapons/Guns/SMGs/drozd.rsi
- type: Gun
+ minAngle: 21
+ maxAngle: 32
fireRate: 6
selectedMode: FullAuto
soundGunshot:
diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Shotguns/shotguns.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Shotguns/shotguns.yml
index bce85aac322e9b..a8ab8a8e41c849 100644
--- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Shotguns/shotguns.yml
+++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Shotguns/shotguns.yml
@@ -46,7 +46,7 @@
- type: entity
name: Bulldog
# Don't parent to BaseWeaponShotgun because it differs significantly
- parent: BaseItem
+ parent: [BaseItem, BaseGunWieldable]
id: WeaponShotgunBulldog
description: It's a magazine-fed shotgun designed for close quarters combat. Uses .50 shotgun shells. An illegal firearm often used by Syndicate agents.
components:
@@ -66,6 +66,7 @@
- Back
- suitStorage
- type: AmmoCounter
+ - type: GunRequiresWield #remove when inaccuracy on spreads is fixed
- type: Gun
fireRate: 2
selectedMode: FullAuto
@@ -102,7 +103,7 @@
- type: entity
name: double-barreled shotgun
- parent: BaseWeaponShotgun
+ parent: [BaseWeaponShotgun, BaseGunWieldable]
id: WeaponShotgunDoubleBarreled
description: An immortal classic. A civilian grade shotgun. Uses .50 shotgun shells.
components:
@@ -112,8 +113,8 @@
size: Normal
shape:
- 0,0,4,0
- sprite: Objects/Weapons/Guns/Shotguns/inhands_64x.rsi
- heldPrefix: db
+ sprite: Objects/Weapons/Guns/Shotguns/db_shotgun_inhands_64x.rsi
+ - type: GunRequiresWield #remove when inaccuracy on spreads is fixed
- type: Gun
fireRate: 2
- type: BallisticAmmoProvider
@@ -137,7 +138,7 @@
- type: entity
name: Enforcer
- parent: BaseWeaponShotgun
+ parent: [BaseWeaponShotgun, BaseGunWieldable]
id: WeaponShotgunEnforcer
description: A premium combat shotgun based on the Kammerer design, featuring an upgraded clip capacity. .50 shotgun shells. On the receiver is a label that says 'for authorized use only.'
components:
@@ -146,9 +147,9 @@
- type: Clothing
sprite: Objects/Weapons/Guns/Shotguns/enforcer.rsi
- type: Item
- sprite: Objects/Weapons/Guns/Shotguns/inhands_64x.rsi
- heldPrefix: enforcer
+ sprite: Objects/Weapons/Guns/Shotguns/enforcer_inhands_64x.rsi
- type: BallisticAmmoProvider
+ - type: GunRequiresWield #remove when inaccuracy on spreads is fixed
- type: entity
parent: WeaponShotgunEnforcer
@@ -160,7 +161,7 @@
- type: entity
name: Kammerer
- parent: BaseWeaponShotgun
+ parent: [BaseWeaponShotgun, BaseGunWieldable]
id: WeaponShotgunKammerer
description: When an old Remington design meets modern materials, this is the result. A civilian grade shotgun, favored by militia forces throughout many worlds. Uses .50 shotgun shells.
components:
@@ -168,12 +169,12 @@
size: Normal
shape:
- 0,0,4,0
- sprite: Objects/Weapons/Guns/Shotguns/inhands_64x.rsi
- heldPrefix: pump
+ sprite: Objects/Weapons/Guns/Shotguns/pump_inhands_64x.rsi
- type: Sprite
sprite: Objects/Weapons/Guns/Shotguns/pump.rsi
- type: Clothing
sprite: Objects/Weapons/Guns/Shotguns/pump.rsi
+ - type: GunRequiresWield #remove when inaccuracy on spreads is fixed
- type: BallisticAmmoProvider
capacity: 4
- type: Tag
@@ -192,8 +193,7 @@
sprite: Objects/Weapons/Guns/Shotguns/sawn.rsi
- type: Item
size: Small
- sprite: Objects/Weapons/Guns/Shotguns/inhands_64x.rsi
- heldPrefix: sawn
+ sprite: Objects/Weapons/Guns/Shotguns/sawn_inhands_64x.rsi
- type: Gun
fireRate: 4
- type: BallisticAmmoProvider
@@ -241,7 +241,7 @@
- type: entity
name: blunderbuss
- parent: BaseWeaponShotgun
+ parent: [BaseWeaponShotgun, BaseGunWieldable]
id: WeaponShotgunBlunderbuss
suffix: Pirate
description: Deadly at close range, an illegal shotgun often found at the side of a pirate.
@@ -252,6 +252,7 @@
- 0,0,4,0
- type: Sprite
sprite: Objects/Weapons/Guns/Shotguns/blunderbuss.rsi
+ - type: GunRequiresWield #remove when inaccuracy on spreads is fixed
- type: Gun
fireRate: 2
- type: BallisticAmmoProvider
@@ -261,7 +262,7 @@
- type: entity
name: improvised shotgun
- parent: BaseWeaponShotgun
+ parent: [BaseWeaponShotgun, BaseGunWieldable]
id: WeaponShotgunImprovised
description: A shitty, but legal, hand-made shotgun that uses .50 shotgun shells. It can only hold one round in the chamber.
components:
@@ -273,8 +274,8 @@
size: Normal
shape:
- 0,0,4,0
- sprite: Objects/Weapons/Guns/Shotguns/inhands_64x.rsi
- heldPrefix: improvised
+ sprite: Objects/Weapons/Guns/Shotguns/improvised_shotgun_inhands_64x.rsi
+ - type: GunRequiresWield #remove when inaccuracy on spreads is fixed
- type: Gun
fireRate: 4 #No reason to stifle the firerate since you have to manually reload every time anyways.
- type: BallisticAmmoProvider
diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Snipers/snipers.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Snipers/snipers.yml
index a45924fd4c5a19..9c9a8c77e57b39 100644
--- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Snipers/snipers.yml
+++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Snipers/snipers.yml
@@ -40,7 +40,7 @@
- type: entity
name: Kardashev-Mosin
- parent: BaseWeaponSniper
+ parent: [BaseWeaponSniper, BaseGunWieldable]
id: WeaponSniperMosin
description: A civilian grade weapon for hunting, or endless trench warfare. Uses .30 rifle ammo.
components:
@@ -51,7 +51,7 @@
- type: entity
name: Hristov
- parent: BaseWeaponSniper
+ parent: [BaseWeaponSniper, BaseGunWieldable]
id: WeaponSniperHristov
description: A portable anti-materiel rifle. Fires armor piercing 14.5mm shells. Uses .60 anti-materiel ammo. On the receiver is a label that says 'for authorized use only.'
components:
diff --git a/Resources/Textures/Objects/Weapons/Guns/Battery/laser_cannon.rsi/meta.json b/Resources/Textures/Objects/Weapons/Guns/Battery/laser_cannon.rsi/meta.json
index 6657216b76b751..acbd06c2708e8c 100644
--- a/Resources/Textures/Objects/Weapons/Guns/Battery/laser_cannon.rsi/meta.json
+++ b/Resources/Textures/Objects/Weapons/Guns/Battery/laser_cannon.rsi/meta.json
@@ -1,77 +1,85 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
- "copyright": "Taken from vgstation at https://github.com/vgstation-coders/vgstation13/commit/125c975f1b3bf9826b37029e9ab5a5f89e975a7e, backpack sprite by Peptide, backpack sling sprite edited by Boaz1111",
+ "copyright": "Taken from vgstation at https://github.com/vgstation-coders/vgstation13/commit/125c975f1b3bf9826b37029e9ab5a5f89e975a7e, backpack sprite by Peptide, backpack sling sprite edited by Boaz1111, wield sprites by RiceMar1244",
"size": {
"x": 32,
"y": 32
},
- "states": [
- {
- "name": "icon"
- },
- {
- "name": "base"
- },
- {
- "name": "mag-unshaded-1"
- },
- {
- "name": "mag-unshaded-2"
- },
- {
- "name": "mag-unshaded-3"
- },
- {
- "name": "mag-unshaded-4"
- },
- {
- "name": "inhand-left",
- "directions": 4
- },
- {
- "name": "inhand-right",
- "directions": 4
- },
- {
- "name": "0-inhand-left",
- "directions": 4
- },
- {
- "name": "0-inhand-right",
- "directions": 4
- },
- {
- "name": "25-inhand-left",
- "directions": 4
- },
- {
- "name": "25-inhand-right",
- "directions": 4
- },
- {
- "name": "50-inhand-left",
- "directions": 4
- },
- {
- "name": "50-inhand-right",
- "directions": 4
- },
- {
- "name": "75-inhand-left",
- "directions": 4
- },
- {
- "name": "75-inhand-right",
- "directions": 4
- },
- {
- "name": "equipped-BACKPACK",
- "directions": 4
- },
- {
- "name": "equipped-SUITSTORAGE",
- "directions": 4
- }
- ]
+ "states": [
+ {
+ "name": "icon"
+ },
+ {
+ "name": "base"
+ },
+ {
+ "name": "mag-unshaded-1"
+ },
+ {
+ "name": "mag-unshaded-2"
+ },
+ {
+ "name": "mag-unshaded-3"
+ },
+ {
+ "name": "mag-unshaded-4"
+ },
+ {
+ "name": "inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "inhand-right",
+ "directions": 4
+ },
+ {
+ "name": "wielded-inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "wielded-inhand-right",
+ "directions": 4
+ },
+ {
+ "name": "0-inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "0-inhand-right",
+ "directions": 4
+ },
+ {
+ "name": "25-inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "25-inhand-right",
+ "directions": 4
+ },
+ {
+ "name": "50-inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "50-inhand-right",
+ "directions": 4
+ },
+ {
+ "name": "75-inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "75-inhand-right",
+ "directions": 4
+ },
+ {
+ "name": "equipped-BACKPACK",
+ "directions": 4
+ },
+ {
+ "name": "equipped-SUITSTORAGE",
+ "directions": 4
+ }
+ ]
}
diff --git a/Resources/Textures/Objects/Weapons/Guns/Battery/laser_cannon.rsi/wielded-inhand-left.png b/Resources/Textures/Objects/Weapons/Guns/Battery/laser_cannon.rsi/wielded-inhand-left.png
new file mode 100644
index 00000000000000..38327d9708153b
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Battery/laser_cannon.rsi/wielded-inhand-left.png differ
diff --git a/Resources/Textures/Objects/Weapons/Guns/Battery/laser_cannon.rsi/wielded-inhand-right.png b/Resources/Textures/Objects/Weapons/Guns/Battery/laser_cannon.rsi/wielded-inhand-right.png
new file mode 100644
index 00000000000000..4e0a357b844b7f
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Battery/laser_cannon.rsi/wielded-inhand-right.png differ
diff --git a/Resources/Textures/Objects/Weapons/Guns/Battery/laser_gun.rsi/meta.json b/Resources/Textures/Objects/Weapons/Guns/Battery/laser_gun.rsi/meta.json
index 7ec48da4fecfcf..2b374ec4dd8e7f 100644
--- a/Resources/Textures/Objects/Weapons/Guns/Battery/laser_gun.rsi/meta.json
+++ b/Resources/Textures/Objects/Weapons/Guns/Battery/laser_gun.rsi/meta.json
@@ -1,45 +1,53 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
- "copyright": "Taken from Polaris at https://github.com/PolarisSS13/Polaris/commit/9ded73fb85b9106d6bbf1c9a34d1d2fa27ee0e2e, backpack sprite by Peptide, backpack sling sprite edited by Boaz1111",
+ "copyright": "Taken from Polaris at https://github.com/PolarisSS13/Polaris/commit/9ded73fb85b9106d6bbf1c9a34d1d2fa27ee0e2e, backpack sprite by Peptide, backpack sling sprite edited by Boaz1111, wield sprites by RiceMar1244",
"size": {
"x": 32,
"y": 32
},
"states": [
- {
- "name": "icon"
- },
- {
- "name": "base"
- },
- {
- "name": "mag-unshaded-1"
- },
- {
- "name": "mag-unshaded-2"
- },
- {
- "name": "mag-unshaded-3"
- },
- {
- "name": "mag-unshaded-4"
- },
- {
- "name": "inhand-left",
- "directions": 4
- },
- {
- "name": "inhand-right",
- "directions": 4
- },
- {
- "name": "equipped-BACKPACK",
- "directions": 4
- },
- {
- "name": "equipped-SUITSTORAGE",
- "directions": 4
- }
+ {
+ "name": "icon"
+ },
+ {
+ "name": "base"
+ },
+ {
+ "name": "mag-unshaded-1"
+ },
+ {
+ "name": "mag-unshaded-2"
+ },
+ {
+ "name": "mag-unshaded-3"
+ },
+ {
+ "name": "mag-unshaded-4"
+ },
+ {
+ "name": "inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "inhand-right",
+ "directions": 4
+ },
+ {
+ "name": "wielded-inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "wielded-inhand-right",
+ "directions": 4
+ },
+ {
+ "name": "equipped-BACKPACK",
+ "directions": 4
+ },
+ {
+ "name": "equipped-SUITSTORAGE",
+ "directions": 4
+ }
]
}
diff --git a/Resources/Textures/Objects/Weapons/Guns/Battery/laser_gun.rsi/wielded-inhand-left.png b/Resources/Textures/Objects/Weapons/Guns/Battery/laser_gun.rsi/wielded-inhand-left.png
new file mode 100644
index 00000000000000..126915fd2703fa
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Battery/laser_gun.rsi/wielded-inhand-left.png differ
diff --git a/Resources/Textures/Objects/Weapons/Guns/Battery/laser_gun.rsi/wielded-inhand-right.png b/Resources/Textures/Objects/Weapons/Guns/Battery/laser_gun.rsi/wielded-inhand-right.png
new file mode 100644
index 00000000000000..93a9303c5eaff6
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Battery/laser_gun.rsi/wielded-inhand-right.png differ
diff --git a/Resources/Textures/Objects/Weapons/Guns/Battery/pulse_carbine.rsi/meta.json b/Resources/Textures/Objects/Weapons/Guns/Battery/pulse_carbine.rsi/meta.json
index 3b48bfc87c3b79..434d66fcfd8a08 100644
--- a/Resources/Textures/Objects/Weapons/Guns/Battery/pulse_carbine.rsi/meta.json
+++ b/Resources/Textures/Objects/Weapons/Guns/Battery/pulse_carbine.rsi/meta.json
@@ -1,45 +1,53 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
- "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/pull/27386/commits/4814da0f8e0d88f430c8b335e541e0a7734755a2 backpack sprite by Peptide (copy of pulse rifle), backpack sling sprite edited by Boaz1111",
+ "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/pull/27386/commits/4814da0f8e0d88f430c8b335e541e0a7734755a2 backpack sprite by Peptide (copy of pulse rifle), backpack sling sprite edited by Boaz1111, wield sprites by RiceMar1244",
"size": {
"x": 32,
"y": 32
},
"states": [
- {
- "name": "icon"
- },
- {
- "name": "base"
- },
- {
- "name": "mag-unshaded-1"
- },
- {
- "name": "mag-unshaded-2"
- },
- {
- "name": "mag-unshaded-3"
- },
- {
- "name": "mag-unshaded-4"
- },
- {
- "name": "inhand-left",
- "directions": 4
- },
- {
- "name": "inhand-right",
- "directions": 4
- },
- {
- "name": "equipped-BACKPACK",
- "directions": 4
- },
- {
- "name": "equipped-SUITSTORAGE",
- "directions": 4
- }
+ {
+ "name": "icon"
+ },
+ {
+ "name": "base"
+ },
+ {
+ "name": "mag-unshaded-1"
+ },
+ {
+ "name": "mag-unshaded-2"
+ },
+ {
+ "name": "mag-unshaded-3"
+ },
+ {
+ "name": "mag-unshaded-4"
+ },
+ {
+ "name": "inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "inhand-right",
+ "directions": 4
+ },
+ {
+ "name": "wielded-inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "wielded-inhand-right",
+ "directions": 4
+ },
+ {
+ "name": "equipped-BACKPACK",
+ "directions": 4
+ },
+ {
+ "name": "equipped-SUITSTORAGE",
+ "directions": 4
+ }
]
}
diff --git a/Resources/Textures/Objects/Weapons/Guns/Battery/pulse_carbine.rsi/wielded-inhand-left.png b/Resources/Textures/Objects/Weapons/Guns/Battery/pulse_carbine.rsi/wielded-inhand-left.png
new file mode 100644
index 00000000000000..b9df7a2cb2de40
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Battery/pulse_carbine.rsi/wielded-inhand-left.png differ
diff --git a/Resources/Textures/Objects/Weapons/Guns/Battery/pulse_carbine.rsi/wielded-inhand-right.png b/Resources/Textures/Objects/Weapons/Guns/Battery/pulse_carbine.rsi/wielded-inhand-right.png
new file mode 100644
index 00000000000000..644db232d2e284
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Battery/pulse_carbine.rsi/wielded-inhand-right.png differ
diff --git a/Resources/Textures/Objects/Weapons/Guns/Battery/pulse_rifle.rsi/meta.json b/Resources/Textures/Objects/Weapons/Guns/Battery/pulse_rifle.rsi/meta.json
index 1a906ef965d419..023ad90cfae30d 100644
--- a/Resources/Textures/Objects/Weapons/Guns/Battery/pulse_rifle.rsi/meta.json
+++ b/Resources/Textures/Objects/Weapons/Guns/Battery/pulse_rifle.rsi/meta.json
@@ -1,45 +1,53 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
- "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/pull/27386/commits/4814da0f8e0d88f430c8b335e541e0a7734755a2, backpack sprite by Peptide, backpack sling sprite edited by Boaz1111",
+ "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/pull/27386/commits/4814da0f8e0d88f430c8b335e541e0a7734755a2, backpack sprite by Peptide, backpack sling sprite edited by Boaz1111, wield sprites by RiceMar1244",
"size": {
"x": 32,
"y": 32
},
"states": [
- {
- "name": "icon"
- },
- {
- "name": "base"
- },
- {
- "name": "mag-unshaded-1"
- },
- {
- "name": "mag-unshaded-2"
- },
- {
- "name": "mag-unshaded-3"
- },
- {
- "name": "mag-unshaded-4"
- },
- {
- "name": "inhand-left",
- "directions": 4
- },
- {
- "name": "inhand-right",
- "directions": 4
- },
- {
- "name": "equipped-BACKPACK",
- "directions": 4
- },
- {
- "name": "equipped-SUITSTORAGE",
- "directions": 4
- }
+ {
+ "name": "icon"
+ },
+ {
+ "name": "base"
+ },
+ {
+ "name": "mag-unshaded-1"
+ },
+ {
+ "name": "mag-unshaded-2"
+ },
+ {
+ "name": "mag-unshaded-3"
+ },
+ {
+ "name": "mag-unshaded-4"
+ },
+ {
+ "name": "inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "inhand-right",
+ "directions": 4
+ },
+ {
+ "name": "wielded-inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "wielded-inhand-right",
+ "directions": 4
+ },
+ {
+ "name": "equipped-BACKPACK",
+ "directions": 4
+ },
+ {
+ "name": "equipped-SUITSTORAGE",
+ "directions": 4
+ }
]
}
diff --git a/Resources/Textures/Objects/Weapons/Guns/Battery/pulse_rifle.rsi/wielded-inhand-left.png b/Resources/Textures/Objects/Weapons/Guns/Battery/pulse_rifle.rsi/wielded-inhand-left.png
new file mode 100644
index 00000000000000..b9df7a2cb2de40
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Battery/pulse_rifle.rsi/wielded-inhand-left.png differ
diff --git a/Resources/Textures/Objects/Weapons/Guns/Battery/pulse_rifle.rsi/wielded-inhand-right.png b/Resources/Textures/Objects/Weapons/Guns/Battery/pulse_rifle.rsi/wielded-inhand-right.png
new file mode 100644
index 00000000000000..644db232d2e284
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Battery/pulse_rifle.rsi/wielded-inhand-right.png differ
diff --git a/Resources/Textures/Objects/Weapons/Guns/Battery/xray.rsi/meta.json b/Resources/Textures/Objects/Weapons/Guns/Battery/xray.rsi/meta.json
index 990ba5118596e9..8766242121a79b 100644
--- a/Resources/Textures/Objects/Weapons/Guns/Battery/xray.rsi/meta.json
+++ b/Resources/Textures/Objects/Weapons/Guns/Battery/xray.rsi/meta.json
@@ -1,54 +1,62 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
- "copyright": "Taken from cev-eris at https://github.com/discordia-space/CEV-Eris/raw/167a810bc8534a56c74ffa8f1373acd3b1ac70ee/icons/obj/guns/energy/xray.dmi, backpack sprite by peptide, backpack sling sprite edited by Boaz1111",
+ "copyright": "Taken from cev-eris at https://github.com/discordia-space/CEV-Eris/raw/167a810bc8534a56c74ffa8f1373acd3b1ac70ee/icons/obj/guns/energy/xray.dmi, backpack sprite by peptide, backpack sling sprite edited by Boaz1111, wield sprites by RiceMar1244",
"size": {
"x": 32,
"y": 32
},
- "states": [
- {
- "name": "icon"
- },
- {
- "name": "base"
- },
- {
- "name": "mag-unshaded-0",
- "delays": [
- [
- 0.3,
- 0.3
- ]
- ]
- },
- {
- "name": "mag-unshaded-1"
- },
- {
- "name": "mag-unshaded-2"
- },
- {
- "name": "mag-unshaded-3"
- },
- {
- "name": "mag-unshaded-4"
- },
- {
- "name": "inhand-left",
- "directions": 4
- },
- {
- "name": "inhand-right",
- "directions": 4
- },
- {
- "name": "equipped-BACKPACK",
- "directions": 4
- },
- {
- "name": "equipped-SUITSTORAGE",
- "directions": 4
- }
- ]
+ "states": [
+ {
+ "name": "icon"
+ },
+ {
+ "name": "base"
+ },
+ {
+ "name": "mag-unshaded-0",
+ "delays": [
+ [
+ 0.3,
+ 0.3
+ ]
+ ]
+ },
+ {
+ "name": "mag-unshaded-1"
+ },
+ {
+ "name": "mag-unshaded-2"
+ },
+ {
+ "name": "mag-unshaded-3"
+ },
+ {
+ "name": "mag-unshaded-4"
+ },
+ {
+ "name": "inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "inhand-right",
+ "directions": 4
+ },
+ {
+ "name": "wielded-inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "wielded-inhand-right",
+ "directions": 4
+ },
+ {
+ "name": "equipped-BACKPACK",
+ "directions": 4
+ },
+ {
+ "name": "equipped-SUITSTORAGE",
+ "directions": 4
+ }
+ ]
}
diff --git a/Resources/Textures/Objects/Weapons/Guns/Battery/xray.rsi/wielded-inhand-left.png b/Resources/Textures/Objects/Weapons/Guns/Battery/xray.rsi/wielded-inhand-left.png
new file mode 100644
index 00000000000000..9fa2fafdff6634
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Battery/xray.rsi/wielded-inhand-left.png differ
diff --git a/Resources/Textures/Objects/Weapons/Guns/Battery/xray.rsi/wielded-inhand-right.png b/Resources/Textures/Objects/Weapons/Guns/Battery/xray.rsi/wielded-inhand-right.png
new file mode 100644
index 00000000000000..63615e2df1f4c9
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Battery/xray.rsi/wielded-inhand-right.png differ
diff --git a/Resources/Textures/Objects/Weapons/Guns/Launchers/china_lake.rsi/meta.json b/Resources/Textures/Objects/Weapons/Guns/Launchers/china_lake.rsi/meta.json
index a5e32a3b395da8..d3b991783f467d 100644
--- a/Resources/Textures/Objects/Weapons/Guns/Launchers/china_lake.rsi/meta.json
+++ b/Resources/Textures/Objects/Weapons/Guns/Launchers/china_lake.rsi/meta.json
@@ -1,7 +1,7 @@
{
"version": 1,
"license": "CC-BY-SA-4.0",
- "copyright": "Taken/modified from cev-eris at https://github.com/discordia-space/CEV-Eris/pull/6042/commits/64916c98f4847acc4adf3a2416bf78c005fd7dd7, https://github.com/discordia-space/CEV-Eris/blob/master/icons/obj/guns/launcher/grenadelauncher.dmi, backpack sprite by Peptide, backpack sling sprite edited by Boaz1111",
+ "copyright": "Taken/modified from cev-eris at https://github.com/discordia-space/CEV-Eris/pull/6042/commits/64916c98f4847acc4adf3a2416bf78c005fd7dd7, https://github.com/discordia-space/CEV-Eris/blob/master/icons/obj/guns/launcher/grenadelauncher.dmi, backpack sprite by Peptide, backpack sling sprite edited by Boaz1111, wield sprites by RiceMar1244",
"size": {
"x": 32,
"y": 32
@@ -21,11 +21,19 @@
"name": "inhand-right",
"directions": 4
},
+ {
+ "name": "wielded-inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "wielded-inhand-right",
+ "directions": 4
+ },
{
"name": "equipped-BACKPACK",
"directions": 4
},
- {
+ {
"name": "equipped-SUITSTORAGE",
"directions": 4
}
diff --git a/Resources/Textures/Objects/Weapons/Guns/Launchers/china_lake.rsi/wielded-inhand-left.png b/Resources/Textures/Objects/Weapons/Guns/Launchers/china_lake.rsi/wielded-inhand-left.png
new file mode 100644
index 00000000000000..a1d40617d2f4fb
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Launchers/china_lake.rsi/wielded-inhand-left.png differ
diff --git a/Resources/Textures/Objects/Weapons/Guns/Launchers/china_lake.rsi/wielded-inhand-right.png b/Resources/Textures/Objects/Weapons/Guns/Launchers/china_lake.rsi/wielded-inhand-right.png
new file mode 100644
index 00000000000000..146fe9b1c2a5d6
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Launchers/china_lake.rsi/wielded-inhand-right.png differ
diff --git a/Resources/Textures/Objects/Weapons/Guns/Rifles/ak.rsi/meta.json b/Resources/Textures/Objects/Weapons/Guns/Rifles/ak.rsi/meta.json
index 919d0f87ac08cc..0257e70364f3b4 100644
--- a/Resources/Textures/Objects/Weapons/Guns/Rifles/ak.rsi/meta.json
+++ b/Resources/Textures/Objects/Weapons/Guns/Rifles/ak.rsi/meta.json
@@ -1,7 +1,7 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
- "copyright": "Taken/modified from cev-eris at https://github.com/discordia-space/CEV-Eris/pull/6042/commits/64916c98f4847acc4adf3a2416bf78c005fd7dd7, https://github.com/discordia-space/CEV-Eris/raw/e1a3cbe9ba2e6e29b7f1cad1bb456b390aac936d/icons/obj/guns/projectile.dmi, backpack sprite by Peptide, backpack sling sprite edited by Boaz1111",
+ "copyright": "Taken/modified from cev-eris at https://github.com/discordia-space/CEV-Eris/pull/6042/commits/64916c98f4847acc4adf3a2416bf78c005fd7dd7, https://github.com/discordia-space/CEV-Eris/raw/e1a3cbe9ba2e6e29b7f1cad1bb456b390aac936d/icons/obj/guns/projectile.dmi, backpack sprite by Peptide, backpack sling sprite edited by Boaz1111, wield sprites by RiceMar1244",
"size": {
"x": 32,
"y": 32
@@ -27,13 +27,21 @@
"name": "inhand-right",
"directions": 4
},
+ {
+ "name": "wielded-inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "wielded-inhand-right",
+ "directions": 4
+ },
{
"name": "equipped-BACKPACK",
"directions": 4
- },
- {
- "name": "equipped-SUITSTORAGE",
- "directions": 4
+ },
+ {
+ "name": "equipped-SUITSTORAGE",
+ "directions": 4
}
]
}
diff --git a/Resources/Textures/Objects/Weapons/Guns/Rifles/ak.rsi/wielded-inhand-left.png b/Resources/Textures/Objects/Weapons/Guns/Rifles/ak.rsi/wielded-inhand-left.png
new file mode 100644
index 00000000000000..2fa1f7811dc72a
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Rifles/ak.rsi/wielded-inhand-left.png differ
diff --git a/Resources/Textures/Objects/Weapons/Guns/Rifles/ak.rsi/wielded-inhand-right.png b/Resources/Textures/Objects/Weapons/Guns/Rifles/ak.rsi/wielded-inhand-right.png
new file mode 100644
index 00000000000000..c358af57c3216b
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Rifles/ak.rsi/wielded-inhand-right.png differ
diff --git a/Resources/Textures/Objects/Weapons/Guns/Rifles/lecter.rsi/meta.json b/Resources/Textures/Objects/Weapons/Guns/Rifles/lecter.rsi/meta.json
index 2f30ef18a875f2..c45db54aff5b1b 100644
--- a/Resources/Textures/Objects/Weapons/Guns/Rifles/lecter.rsi/meta.json
+++ b/Resources/Textures/Objects/Weapons/Guns/Rifles/lecter.rsi/meta.json
@@ -1,7 +1,7 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
- "copyright": "Taken/modified from tgstation at https://github.com/tgstation/tgstation/pull/41393/commits/1e56473177d0994d163c9edca3d13d6e5b640cc4, https://github.com/tgstation/tgstation/tree/master/icons/obj/weapons/guns backpack sprite by Peptide (copy of carbine), backpack sling sprite edited by Boaz1111",
+ "copyright": "Taken/modified from tgstation at https://github.com/tgstation/tgstation/pull/41393/commits/1e56473177d0994d163c9edca3d13d6e5b640cc4, https://github.com/tgstation/tgstation/tree/master/icons/obj/weapons/guns backpack sprite by Peptide (copy of carbine), backpack sling sprite edited by Boaz1111, wield sprites by RiceMar1244",
"size": {
"x": 32,
"y": 32
@@ -27,11 +27,19 @@
"name": "inhand-right",
"directions": 4
},
+ {
+ "name": "wielded-inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "wielded-inhand-right",
+ "directions": 4
+ },
{
"name": "equipped-BACKPACK",
"directions": 4
},
- {
+ {
"name": "equipped-SUITSTORAGE",
"directions": 4
}
diff --git a/Resources/Textures/Objects/Weapons/Guns/Rifles/lecter.rsi/wielded-inhand-left.png b/Resources/Textures/Objects/Weapons/Guns/Rifles/lecter.rsi/wielded-inhand-left.png
new file mode 100644
index 00000000000000..42926b00f47059
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Rifles/lecter.rsi/wielded-inhand-left.png differ
diff --git a/Resources/Textures/Objects/Weapons/Guns/Rifles/lecter.rsi/wielded-inhand-right.png b/Resources/Textures/Objects/Weapons/Guns/Rifles/lecter.rsi/wielded-inhand-right.png
new file mode 100644
index 00000000000000..fd58fca837bd97
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Rifles/lecter.rsi/wielded-inhand-right.png differ
diff --git a/Resources/Textures/Objects/Weapons/Guns/SMGs/c20r.rsi/meta.json b/Resources/Textures/Objects/Weapons/Guns/SMGs/c20r.rsi/meta.json
index 8b1af3c504952a..2ff87fa291730a 100644
--- a/Resources/Textures/Objects/Weapons/Guns/SMGs/c20r.rsi/meta.json
+++ b/Resources/Textures/Objects/Weapons/Guns/SMGs/c20r.rsi/meta.json
@@ -45,11 +45,19 @@
"name": "inhand-right",
"directions": 4
},
+ {
+ "name": "wielded-inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "wielded-inhand-right",
+ "directions": 4
+ },
{
"name": "equipped-BACKPACK",
"directions": 4
},
- {
+ {
"name": "equipped-SUITSTORAGE",
"directions": 4
}
diff --git a/Resources/Textures/Objects/Weapons/Guns/SMGs/c20r.rsi/wielded-inhand-left.png b/Resources/Textures/Objects/Weapons/Guns/SMGs/c20r.rsi/wielded-inhand-left.png
new file mode 100644
index 00000000000000..50b0e2a1d4f1e5
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/SMGs/c20r.rsi/wielded-inhand-left.png differ
diff --git a/Resources/Textures/Objects/Weapons/Guns/SMGs/c20r.rsi/wielded-inhand-right.png b/Resources/Textures/Objects/Weapons/Guns/SMGs/c20r.rsi/wielded-inhand-right.png
new file mode 100644
index 00000000000000..eaf5e92574dcb0
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/SMGs/c20r.rsi/wielded-inhand-right.png differ
diff --git a/Resources/Textures/Objects/Weapons/Guns/SMGs/drozd.rsi/meta.json b/Resources/Textures/Objects/Weapons/Guns/SMGs/drozd.rsi/meta.json
index 25feebd92c2978..bd66b2c9685c3d 100644
--- a/Resources/Textures/Objects/Weapons/Guns/SMGs/drozd.rsi/meta.json
+++ b/Resources/Textures/Objects/Weapons/Guns/SMGs/drozd.rsi/meta.json
@@ -1,42 +1,50 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
- "copyright": "Taken/modified from cev-eris at https://github.com/discordia-space/CEV-Eris/raw/56cbafd6ad8c013ccd5472d6c4a0db790f7f872a/icons/obj/guns/projectile/drozd.dmi, sprite modification by Jaсkal 298/TaralGit, backpack sling sprite edited by Boaz1111",
+ "copyright": "Taken/modified from cev-eris at https://github.com/discordia-space/CEV-Eris/raw/56cbafd6ad8c013ccd5472d6c4a0db790f7f872a/icons/obj/guns/projectile/drozd.dmi, sprite modification by Jaсkal 298/TaralGit, backpack sling sprite edited by Boaz1111, wield sprites by RiceMar1244",
"size": {
"x": 32,
"y": 32
},
- "states": [
- {
- "name": "icon"
- },
- {
- "name": "base"
- },
- {
- "name": "bolt-open"
- },
- {
- "name": "mag-0"
- },
- {
- "name": "suppressor"
- },
- {
- "name": "inhand-left",
- "directions": 4
- },
- {
- "name": "inhand-right",
- "directions": 4
- },
- {
- "name": "equipped-BACKPACK",
- "directions": 4
- },
- {
- "name": "equipped-SUITSTORAGE",
- "directions": 4
- }
+ "states": [
+ {
+ "name": "icon"
+ },
+ {
+ "name": "base"
+ },
+ {
+ "name": "bolt-open"
+ },
+ {
+ "name": "mag-0"
+ },
+ {
+ "name": "suppressor"
+ },
+ {
+ "name": "inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "inhand-right",
+ "directions": 4
+ },
+ {
+ "name": "wielded-inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "wielded-inhand-right",
+ "directions": 4
+ },
+ {
+ "name": "equipped-BACKPACK",
+ "directions": 4
+ },
+ {
+ "name": "equipped-SUITSTORAGE",
+ "directions": 4
+ }
]
}
diff --git a/Resources/Textures/Objects/Weapons/Guns/SMGs/drozd.rsi/wielded-inhand-left.png b/Resources/Textures/Objects/Weapons/Guns/SMGs/drozd.rsi/wielded-inhand-left.png
new file mode 100644
index 00000000000000..ee66cf3df9bc02
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/SMGs/drozd.rsi/wielded-inhand-left.png differ
diff --git a/Resources/Textures/Objects/Weapons/Guns/SMGs/drozd.rsi/wielded-inhand-right.png b/Resources/Textures/Objects/Weapons/Guns/SMGs/drozd.rsi/wielded-inhand-right.png
new file mode 100644
index 00000000000000..c5d66956051b53
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/SMGs/drozd.rsi/wielded-inhand-right.png differ
diff --git a/Resources/Textures/Objects/Weapons/Guns/Shotguns/blunderbuss.rsi/meta.json b/Resources/Textures/Objects/Weapons/Guns/Shotguns/blunderbuss.rsi/meta.json
index f55fd2db207506..b3ab88b772f8c3 100644
--- a/Resources/Textures/Objects/Weapons/Guns/Shotguns/blunderbuss.rsi/meta.json
+++ b/Resources/Textures/Objects/Weapons/Guns/Shotguns/blunderbuss.rsi/meta.json
@@ -1,7 +1,7 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
- "copyright": "Made by brainfood1183(Github) inspired by an image created by rezierré#5003 (Discord)",
+ "copyright": "Made by brainfood1183(Github) inspired by an image created by rezierré#5003 (Discord), wield sprites by RiceMar1244",
"size": {
"x": 32,
"y": 32
@@ -20,6 +20,14 @@
{
"name": "inhand-left",
"directions": 4
+ },
+ {
+ "name": "wielded-inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "wielded-inhand-right",
+ "directions": 4
}
]
}
diff --git a/Resources/Textures/Objects/Weapons/Guns/Shotguns/blunderbuss.rsi/wielded-inhand-left.png b/Resources/Textures/Objects/Weapons/Guns/Shotguns/blunderbuss.rsi/wielded-inhand-left.png
new file mode 100644
index 00000000000000..da4a7f4f922164
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Shotguns/blunderbuss.rsi/wielded-inhand-left.png differ
diff --git a/Resources/Textures/Objects/Weapons/Guns/Shotguns/blunderbuss.rsi/wielded-inhand-right.png b/Resources/Textures/Objects/Weapons/Guns/Shotguns/blunderbuss.rsi/wielded-inhand-right.png
new file mode 100644
index 00000000000000..ac02c47a8444ec
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Shotguns/blunderbuss.rsi/wielded-inhand-right.png differ
diff --git a/Resources/Textures/Objects/Weapons/Guns/Shotguns/bulldog.rsi/meta.json b/Resources/Textures/Objects/Weapons/Guns/Shotguns/bulldog.rsi/meta.json
index 5ef981dec9e12e..8699d00b7dfa9d 100644
--- a/Resources/Textures/Objects/Weapons/Guns/Shotguns/bulldog.rsi/meta.json
+++ b/Resources/Textures/Objects/Weapons/Guns/Shotguns/bulldog.rsi/meta.json
@@ -1,7 +1,7 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
- "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/1b6831dab1e1a74c0d91f2229adb87abbb089d31, backpack sprite by Peptide, backpack sling sprite edited by Boaz1111",
+ "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/1b6831dab1e1a74c0d91f2229adb87abbb089d31, backpack sprite by Peptide, backpack sling sprite edited by Boaz1111, wield sprites by RiceMar1244",
"size": {
"x": 32,
"y": 32
@@ -27,11 +27,19 @@
"name": "inhand-right",
"directions": 4
},
+ {
+ "name": "wielded-inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "wielded-inhand-right",
+ "directions": 4
+ },
{
"name": "equipped-BACKPACK",
"directions": 4
},
- {
+ {
"name": "equipped-SUITSTORAGE",
"directions": 4
}
diff --git a/Resources/Textures/Objects/Weapons/Guns/Shotguns/bulldog.rsi/wielded-inhand-left.png b/Resources/Textures/Objects/Weapons/Guns/Shotguns/bulldog.rsi/wielded-inhand-left.png
new file mode 100644
index 00000000000000..9a45848ec52d24
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Shotguns/bulldog.rsi/wielded-inhand-left.png differ
diff --git a/Resources/Textures/Objects/Weapons/Guns/Shotguns/bulldog.rsi/wielded-inhand-right.png b/Resources/Textures/Objects/Weapons/Guns/Shotguns/bulldog.rsi/wielded-inhand-right.png
new file mode 100644
index 00000000000000..7252681abafb87
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Shotguns/bulldog.rsi/wielded-inhand-right.png differ
diff --git a/Resources/Textures/Objects/Weapons/Guns/Shotguns/db_shotgun.rsi/meta.json b/Resources/Textures/Objects/Weapons/Guns/Shotguns/db_shotgun.rsi/meta.json
index cd94834b2ae770..25613e8bcd9944 100644
--- a/Resources/Textures/Objects/Weapons/Guns/Shotguns/db_shotgun.rsi/meta.json
+++ b/Resources/Textures/Objects/Weapons/Guns/Shotguns/db_shotgun.rsi/meta.json
@@ -25,7 +25,7 @@
"name": "equipped-BACKPACK",
"directions": 4
},
- {
+ {
"name": "equipped-SUITSTORAGE",
"directions": 4
}
diff --git a/Resources/Textures/Objects/Weapons/Guns/Shotguns/inhands_64x.rsi/db-inhand-left.png b/Resources/Textures/Objects/Weapons/Guns/Shotguns/db_shotgun_inhands_64x.rsi/inhand-left.png
similarity index 100%
rename from Resources/Textures/Objects/Weapons/Guns/Shotguns/inhands_64x.rsi/db-inhand-left.png
rename to Resources/Textures/Objects/Weapons/Guns/Shotguns/db_shotgun_inhands_64x.rsi/inhand-left.png
diff --git a/Resources/Textures/Objects/Weapons/Guns/Shotguns/inhands_64x.rsi/db-inhand-right.png b/Resources/Textures/Objects/Weapons/Guns/Shotguns/db_shotgun_inhands_64x.rsi/inhand-right.png
similarity index 100%
rename from Resources/Textures/Objects/Weapons/Guns/Shotguns/inhands_64x.rsi/db-inhand-right.png
rename to Resources/Textures/Objects/Weapons/Guns/Shotguns/db_shotgun_inhands_64x.rsi/inhand-right.png
diff --git a/Resources/Textures/Objects/Weapons/Guns/Shotguns/db_shotgun_inhands_64x.rsi/meta.json b/Resources/Textures/Objects/Weapons/Guns/Shotguns/db_shotgun_inhands_64x.rsi/meta.json
new file mode 100644
index 00000000000000..6c1d1581e8afdf
--- /dev/null
+++ b/Resources/Textures/Objects/Weapons/Guns/Shotguns/db_shotgun_inhands_64x.rsi/meta.json
@@ -0,0 +1,27 @@
+{
+ "version": 1,
+ "license": "CC-BY-NC-4.0",
+ "copyright": "Taken from https://github.com/tgstation/tgstation/ at commit fb2d71495bfe81446159ef528534193d09dd8d34, wield sprites by RiceMar1244",
+ "size": {
+ "x": 64,
+ "y": 64
+ },
+ "states": [
+ {
+ "name": "inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "inhand-right",
+ "directions": 4
+ },
+ {
+ "name": "wielded-inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "wielded-inhand-right",
+ "directions": 4
+ }
+ ]
+}
diff --git a/Resources/Textures/Objects/Weapons/Guns/Shotguns/db_shotgun_inhands_64x.rsi/wielded-inhand-left.png b/Resources/Textures/Objects/Weapons/Guns/Shotguns/db_shotgun_inhands_64x.rsi/wielded-inhand-left.png
new file mode 100644
index 00000000000000..27c2e923590ea7
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Shotguns/db_shotgun_inhands_64x.rsi/wielded-inhand-left.png differ
diff --git a/Resources/Textures/Objects/Weapons/Guns/Shotguns/db_shotgun_inhands_64x.rsi/wielded-inhand-right.png b/Resources/Textures/Objects/Weapons/Guns/Shotguns/db_shotgun_inhands_64x.rsi/wielded-inhand-right.png
new file mode 100644
index 00000000000000..78165792c70357
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Shotguns/db_shotgun_inhands_64x.rsi/wielded-inhand-right.png differ
diff --git a/Resources/Textures/Objects/Weapons/Guns/Shotguns/enforcer.rsi/meta.json b/Resources/Textures/Objects/Weapons/Guns/Shotguns/enforcer.rsi/meta.json
index f3a7f48582c009..42b8d94d6d09d5 100644
--- a/Resources/Textures/Objects/Weapons/Guns/Shotguns/enforcer.rsi/meta.json
+++ b/Resources/Textures/Objects/Weapons/Guns/Shotguns/enforcer.rsi/meta.json
@@ -17,7 +17,7 @@
"name": "equipped-BACKPACK",
"directions": 4
},
- {
+ {
"name": "equipped-SUITSTORAGE",
"directions": 4
}
diff --git a/Resources/Textures/Objects/Weapons/Guns/Shotguns/inhands_64x.rsi/enforcer-inhand-left.png b/Resources/Textures/Objects/Weapons/Guns/Shotguns/enforcer_inhands_64x.rsi/inhand-left.png
similarity index 100%
rename from Resources/Textures/Objects/Weapons/Guns/Shotguns/inhands_64x.rsi/enforcer-inhand-left.png
rename to Resources/Textures/Objects/Weapons/Guns/Shotguns/enforcer_inhands_64x.rsi/inhand-left.png
diff --git a/Resources/Textures/Objects/Weapons/Guns/Shotguns/inhands_64x.rsi/enforcer-inhand-right.png b/Resources/Textures/Objects/Weapons/Guns/Shotguns/enforcer_inhands_64x.rsi/inhand-right.png
similarity index 100%
rename from Resources/Textures/Objects/Weapons/Guns/Shotguns/inhands_64x.rsi/enforcer-inhand-right.png
rename to Resources/Textures/Objects/Weapons/Guns/Shotguns/enforcer_inhands_64x.rsi/inhand-right.png
diff --git a/Resources/Textures/Objects/Weapons/Guns/Shotguns/enforcer_inhands_64x.rsi/meta.json b/Resources/Textures/Objects/Weapons/Guns/Shotguns/enforcer_inhands_64x.rsi/meta.json
new file mode 100644
index 00000000000000..6c1d1581e8afdf
--- /dev/null
+++ b/Resources/Textures/Objects/Weapons/Guns/Shotguns/enforcer_inhands_64x.rsi/meta.json
@@ -0,0 +1,27 @@
+{
+ "version": 1,
+ "license": "CC-BY-NC-4.0",
+ "copyright": "Taken from https://github.com/tgstation/tgstation/ at commit fb2d71495bfe81446159ef528534193d09dd8d34, wield sprites by RiceMar1244",
+ "size": {
+ "x": 64,
+ "y": 64
+ },
+ "states": [
+ {
+ "name": "inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "inhand-right",
+ "directions": 4
+ },
+ {
+ "name": "wielded-inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "wielded-inhand-right",
+ "directions": 4
+ }
+ ]
+}
diff --git a/Resources/Textures/Objects/Weapons/Guns/Shotguns/enforcer_inhands_64x.rsi/wielded-inhand-left.png b/Resources/Textures/Objects/Weapons/Guns/Shotguns/enforcer_inhands_64x.rsi/wielded-inhand-left.png
new file mode 100644
index 00000000000000..5f5b50d715d73b
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Shotguns/enforcer_inhands_64x.rsi/wielded-inhand-left.png differ
diff --git a/Resources/Textures/Objects/Weapons/Guns/Shotguns/enforcer_inhands_64x.rsi/wielded-inhand-right.png b/Resources/Textures/Objects/Weapons/Guns/Shotguns/enforcer_inhands_64x.rsi/wielded-inhand-right.png
new file mode 100644
index 00000000000000..4810c9c3755d51
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Shotguns/enforcer_inhands_64x.rsi/wielded-inhand-right.png differ
diff --git a/Resources/Textures/Objects/Weapons/Guns/Shotguns/inhands_64x.rsi/improvised-inhand-left.png b/Resources/Textures/Objects/Weapons/Guns/Shotguns/improvised_shotgun_inhands_64x.rsi/inhand-left.png
similarity index 100%
rename from Resources/Textures/Objects/Weapons/Guns/Shotguns/inhands_64x.rsi/improvised-inhand-left.png
rename to Resources/Textures/Objects/Weapons/Guns/Shotguns/improvised_shotgun_inhands_64x.rsi/inhand-left.png
diff --git a/Resources/Textures/Objects/Weapons/Guns/Shotguns/inhands_64x.rsi/improvised-inhand-right.png b/Resources/Textures/Objects/Weapons/Guns/Shotguns/improvised_shotgun_inhands_64x.rsi/inhand-right.png
similarity index 100%
rename from Resources/Textures/Objects/Weapons/Guns/Shotguns/inhands_64x.rsi/improvised-inhand-right.png
rename to Resources/Textures/Objects/Weapons/Guns/Shotguns/improvised_shotgun_inhands_64x.rsi/inhand-right.png
diff --git a/Resources/Textures/Objects/Weapons/Guns/Shotguns/improvised_shotgun_inhands_64x.rsi/meta.json b/Resources/Textures/Objects/Weapons/Guns/Shotguns/improvised_shotgun_inhands_64x.rsi/meta.json
new file mode 100644
index 00000000000000..6c1d1581e8afdf
--- /dev/null
+++ b/Resources/Textures/Objects/Weapons/Guns/Shotguns/improvised_shotgun_inhands_64x.rsi/meta.json
@@ -0,0 +1,27 @@
+{
+ "version": 1,
+ "license": "CC-BY-NC-4.0",
+ "copyright": "Taken from https://github.com/tgstation/tgstation/ at commit fb2d71495bfe81446159ef528534193d09dd8d34, wield sprites by RiceMar1244",
+ "size": {
+ "x": 64,
+ "y": 64
+ },
+ "states": [
+ {
+ "name": "inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "inhand-right",
+ "directions": 4
+ },
+ {
+ "name": "wielded-inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "wielded-inhand-right",
+ "directions": 4
+ }
+ ]
+}
diff --git a/Resources/Textures/Objects/Weapons/Guns/Shotguns/improvised_shotgun_inhands_64x.rsi/wielded-inhand-left.png b/Resources/Textures/Objects/Weapons/Guns/Shotguns/improvised_shotgun_inhands_64x.rsi/wielded-inhand-left.png
new file mode 100644
index 00000000000000..26a569bfc22539
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Shotguns/improvised_shotgun_inhands_64x.rsi/wielded-inhand-left.png differ
diff --git a/Resources/Textures/Objects/Weapons/Guns/Shotguns/improvised_shotgun_inhands_64x.rsi/wielded-inhand-right.png b/Resources/Textures/Objects/Weapons/Guns/Shotguns/improvised_shotgun_inhands_64x.rsi/wielded-inhand-right.png
new file mode 100644
index 00000000000000..e2380308b43fbc
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Shotguns/improvised_shotgun_inhands_64x.rsi/wielded-inhand-right.png differ
diff --git a/Resources/Textures/Objects/Weapons/Guns/Shotguns/inhands_64x.rsi/meta.json b/Resources/Textures/Objects/Weapons/Guns/Shotguns/inhands_64x.rsi/meta.json
deleted file mode 100644
index fefe1f6eb75a12..00000000000000
--- a/Resources/Textures/Objects/Weapons/Guns/Shotguns/inhands_64x.rsi/meta.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "version": 1,
- "license": "CC-BY-NC-4.0",
- "copyright": "Taken from https://github.com/tgstation/tgstation/ at commit fb2d71495bfe81446159ef528534193d09dd8d34, sawn-inhand states modified from db-inhand by Flareguy",
- "size": {
- "x": 64,
- "y": 64
- },
- "states": [
- {
- "name": "pump-inhand-left",
- "directions": 4
- },
- {
- "name": "pump-inhand-right",
- "directions": 4
- },
- {
- "name": "enforcer-inhand-left",
- "directions": 4
- },
- {
- "name": "enforcer-inhand-right",
- "directions": 4
- },
- {
- "name": "db-inhand-left",
- "directions": 4
- },
- {
- "name": "db-inhand-right",
- "directions": 4
- },
- {
- "name": "sawn-inhand-left",
- "directions": 4
- },
- {
- "name": "sawn-inhand-right",
- "directions": 4
- },
- {
- "name": "improvised-inhand-left",
- "directions": 4
- },
- {
- "name": "improvised-inhand-right",
- "directions": 4
- }
- ]
-}
diff --git a/Resources/Textures/Objects/Weapons/Guns/Shotguns/pump.rsi/meta.json b/Resources/Textures/Objects/Weapons/Guns/Shotguns/pump.rsi/meta.json
index 27d7ebd6653475..3add3a471b6fa3 100644
--- a/Resources/Textures/Objects/Weapons/Guns/Shotguns/pump.rsi/meta.json
+++ b/Resources/Textures/Objects/Weapons/Guns/Shotguns/pump.rsi/meta.json
@@ -17,7 +17,7 @@
"name": "equipped-BACKPACK",
"directions": 4
},
- {
+ {
"name": "equipped-SUITSTORAGE",
"directions": 4
}
diff --git a/Resources/Textures/Objects/Weapons/Guns/Shotguns/inhands_64x.rsi/pump-inhand-left.png b/Resources/Textures/Objects/Weapons/Guns/Shotguns/pump_inhands_64x.rsi/inhand-left.png
similarity index 100%
rename from Resources/Textures/Objects/Weapons/Guns/Shotguns/inhands_64x.rsi/pump-inhand-left.png
rename to Resources/Textures/Objects/Weapons/Guns/Shotguns/pump_inhands_64x.rsi/inhand-left.png
diff --git a/Resources/Textures/Objects/Weapons/Guns/Shotguns/inhands_64x.rsi/pump-inhand-right.png b/Resources/Textures/Objects/Weapons/Guns/Shotguns/pump_inhands_64x.rsi/inhand-right.png
similarity index 100%
rename from Resources/Textures/Objects/Weapons/Guns/Shotguns/inhands_64x.rsi/pump-inhand-right.png
rename to Resources/Textures/Objects/Weapons/Guns/Shotguns/pump_inhands_64x.rsi/inhand-right.png
diff --git a/Resources/Textures/Objects/Weapons/Guns/Shotguns/pump_inhands_64x.rsi/meta.json b/Resources/Textures/Objects/Weapons/Guns/Shotguns/pump_inhands_64x.rsi/meta.json
new file mode 100644
index 00000000000000..6c1d1581e8afdf
--- /dev/null
+++ b/Resources/Textures/Objects/Weapons/Guns/Shotguns/pump_inhands_64x.rsi/meta.json
@@ -0,0 +1,27 @@
+{
+ "version": 1,
+ "license": "CC-BY-NC-4.0",
+ "copyright": "Taken from https://github.com/tgstation/tgstation/ at commit fb2d71495bfe81446159ef528534193d09dd8d34, wield sprites by RiceMar1244",
+ "size": {
+ "x": 64,
+ "y": 64
+ },
+ "states": [
+ {
+ "name": "inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "inhand-right",
+ "directions": 4
+ },
+ {
+ "name": "wielded-inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "wielded-inhand-right",
+ "directions": 4
+ }
+ ]
+}
diff --git a/Resources/Textures/Objects/Weapons/Guns/Shotguns/pump_inhands_64x.rsi/wielded-inhand-left.png b/Resources/Textures/Objects/Weapons/Guns/Shotguns/pump_inhands_64x.rsi/wielded-inhand-left.png
new file mode 100644
index 00000000000000..09fbaae551e319
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Shotguns/pump_inhands_64x.rsi/wielded-inhand-left.png differ
diff --git a/Resources/Textures/Objects/Weapons/Guns/Shotguns/pump_inhands_64x.rsi/wielded-inhand-right.png b/Resources/Textures/Objects/Weapons/Guns/Shotguns/pump_inhands_64x.rsi/wielded-inhand-right.png
new file mode 100644
index 00000000000000..00b475f6b457c8
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Shotguns/pump_inhands_64x.rsi/wielded-inhand-right.png differ
diff --git a/Resources/Textures/Objects/Weapons/Guns/Shotguns/inhands_64x.rsi/sawn-inhand-left.png b/Resources/Textures/Objects/Weapons/Guns/Shotguns/sawn_inhands_64x.rsi/inhand-left.png
similarity index 100%
rename from Resources/Textures/Objects/Weapons/Guns/Shotguns/inhands_64x.rsi/sawn-inhand-left.png
rename to Resources/Textures/Objects/Weapons/Guns/Shotguns/sawn_inhands_64x.rsi/inhand-left.png
diff --git a/Resources/Textures/Objects/Weapons/Guns/Shotguns/inhands_64x.rsi/sawn-inhand-right.png b/Resources/Textures/Objects/Weapons/Guns/Shotguns/sawn_inhands_64x.rsi/inhand-right.png
similarity index 100%
rename from Resources/Textures/Objects/Weapons/Guns/Shotguns/inhands_64x.rsi/sawn-inhand-right.png
rename to Resources/Textures/Objects/Weapons/Guns/Shotguns/sawn_inhands_64x.rsi/inhand-right.png
diff --git a/Resources/Textures/Objects/Weapons/Guns/Shotguns/sawn_inhands_64x.rsi/meta.json b/Resources/Textures/Objects/Weapons/Guns/Shotguns/sawn_inhands_64x.rsi/meta.json
new file mode 100644
index 00000000000000..852268d1874e8a
--- /dev/null
+++ b/Resources/Textures/Objects/Weapons/Guns/Shotguns/sawn_inhands_64x.rsi/meta.json
@@ -0,0 +1,19 @@
+{
+ "version": 1,
+ "license": "CC-BY-NC-4.0",
+ "copyright": "Taken from https://github.com/tgstation/tgstation/ at commit fb2d71495bfe81446159ef528534193d09dd8d34, sawn-inhand states modified from db-inhand by Flareguy",
+ "size": {
+ "x": 64,
+ "y": 64
+ },
+ "states": [
+ {
+ "name": "inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "inhand-right",
+ "directions": 4
+ }
+ ]
+}
diff --git a/Resources/Textures/Objects/Weapons/Guns/Snipers/bolt_gun_wood.rsi/meta.json b/Resources/Textures/Objects/Weapons/Guns/Snipers/bolt_gun_wood.rsi/meta.json
index 4f7fc5d6f558bb..e4f1ef8dd85b44 100644
--- a/Resources/Textures/Objects/Weapons/Guns/Snipers/bolt_gun_wood.rsi/meta.json
+++ b/Resources/Textures/Objects/Weapons/Guns/Snipers/bolt_gun_wood.rsi/meta.json
@@ -1,7 +1,7 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
- "copyright": "Taken from InterBay13 at https://github.com/AndySok/InterBay13/commit/84824582fe1381d9ea6282b9da407994ab8ab509, backpack sling sprite edited by Boaz1111",
+ "copyright": "Taken from InterBay13 at https://github.com/AndySok/InterBay13/commit/84824582fe1381d9ea6282b9da407994ab8ab509, backpack sling sprite edited by Boaz1111, wield sprites by RiceMar1244",
"size": {
"x": 32,
"y": 32
@@ -21,11 +21,19 @@
"name": "inhand-right",
"directions": 4
},
+ {
+ "name": "wielded-inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "wielded-inhand-right",
+ "directions": 4
+ },
{
"name": "equipped-BACKPACK",
"directions": 4
},
- {
+ {
"name": "equipped-SUITSTORAGE",
"directions": 4
}
diff --git a/Resources/Textures/Objects/Weapons/Guns/Snipers/bolt_gun_wood.rsi/wielded-inhand-left.png b/Resources/Textures/Objects/Weapons/Guns/Snipers/bolt_gun_wood.rsi/wielded-inhand-left.png
new file mode 100644
index 00000000000000..dc8f572764113e
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Snipers/bolt_gun_wood.rsi/wielded-inhand-left.png differ
diff --git a/Resources/Textures/Objects/Weapons/Guns/Snipers/bolt_gun_wood.rsi/wielded-inhand-right.png b/Resources/Textures/Objects/Weapons/Guns/Snipers/bolt_gun_wood.rsi/wielded-inhand-right.png
new file mode 100644
index 00000000000000..7a478a39768ae7
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Snipers/bolt_gun_wood.rsi/wielded-inhand-right.png differ
diff --git a/Resources/Textures/Objects/Weapons/Guns/Snipers/heavy_sniper.rsi/meta.json b/Resources/Textures/Objects/Weapons/Guns/Snipers/heavy_sniper.rsi/meta.json
index da8881c7c583de..818c56417d40b1 100644
--- a/Resources/Textures/Objects/Weapons/Guns/Snipers/heavy_sniper.rsi/meta.json
+++ b/Resources/Textures/Objects/Weapons/Guns/Snipers/heavy_sniper.rsi/meta.json
@@ -1,7 +1,7 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
- "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/pull/13612/commits/c1cf3c42b0cd00023937e46845a7c32d6beefa0e, backpack sling sprite edited by Boaz1111",
+ "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/pull/13612/commits/c1cf3c42b0cd00023937e46845a7c32d6beefa0e, backpack sling sprite edited by Boaz1111, wield sprites by RiceMar1244",
"size": {
"x": 32,
"y": 32
@@ -21,11 +21,19 @@
"name": "inhand-right",
"directions": 4
},
+ {
+ "name": "wielded-inhand-left",
+ "directions": 4
+ },
+ {
+ "name": "wielded-inhand-right",
+ "directions": 4
+ },
{
"name": "equipped-BACKPACK",
"directions": 4
},
- {
+ {
"name": "equipped-SUITSTORAGE",
"directions": 4
}
diff --git a/Resources/Textures/Objects/Weapons/Guns/Snipers/heavy_sniper.rsi/wielded-inhand-left.png b/Resources/Textures/Objects/Weapons/Guns/Snipers/heavy_sniper.rsi/wielded-inhand-left.png
new file mode 100644
index 00000000000000..d373352b9f5766
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Snipers/heavy_sniper.rsi/wielded-inhand-left.png differ
diff --git a/Resources/Textures/Objects/Weapons/Guns/Snipers/heavy_sniper.rsi/wielded-inhand-right.png b/Resources/Textures/Objects/Weapons/Guns/Snipers/heavy_sniper.rsi/wielded-inhand-right.png
new file mode 100644
index 00000000000000..03625930c8240a
Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Snipers/heavy_sniper.rsi/wielded-inhand-right.png differ