diff --git a/Resources/Audio/Weapons/Guns/EmptyAlarm/M1_empty_alarm.ogg b/Resources/Audio/Weapons/Guns/EmptyAlarm/M1_empty_alarm.ogg new file mode 100644 index 00000000000..c5e6118e901 Binary files /dev/null and b/Resources/Audio/Weapons/Guns/EmptyAlarm/M1_empty_alarm.ogg differ diff --git a/Resources/Audio/Weapons/Guns/EmptyAlarm/M1_empty_alarm2.ogg b/Resources/Audio/Weapons/Guns/EmptyAlarm/M1_empty_alarm2.ogg new file mode 100644 index 00000000000..8fe66c4cef2 Binary files /dev/null and b/Resources/Audio/Weapons/Guns/EmptyAlarm/M1_empty_alarm2.ogg differ diff --git a/Resources/Prototypes/DeltaV/Catalog/Fills/Crates/armory.yml b/Resources/Prototypes/DeltaV/Catalog/Fills/Crates/armory.yml index a4dc8b6a882..472ddf5f6e6 100644 --- a/Resources/Prototypes/DeltaV/Catalog/Fills/Crates/armory.yml +++ b/Resources/Prototypes/DeltaV/Catalog/Fills/Crates/armory.yml @@ -6,8 +6,8 @@ contents: - id: WeaponSniperGrand amount: 2 - - id: BoxSpeedLoaderLightRifle - amount: 1 + - id: MagazineLightRifleMarkOne + amount: 4 - type: entity id: CrateArmoryUniversal diff --git a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml index 9a374f3d0b2..f76e563c78a 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml @@ -248,6 +248,8 @@ - RiotShield - SpeedLoaderMagnum - SpeedLoaderMagnumEmpty + - MagazineLightRifleMarkOneEmpty + - MagazineLightRifleMarkOne - GrenadeFlashBang # Goobstation # .35 Caseless Pistol - MagazinePistolCaselessRiflePractice # EE @@ -1032,6 +1034,8 @@ - MagazineUniversalMagnumEmpty - MagazineUniversalMagnum - MagazineUniversalMagnumRubber + - MagazineLightRifleMarkOneEmpty + - MagazineLightRifleMarkOne dynamicRecipes: - Truncheon - Terminus @@ -1237,6 +1241,8 @@ - MagazineBoxCaselessRiflePractice # EE - MagazineBoxCaselessRifle # EE - MagazineBoxCaselessRifleRubber # EE + - MagazineLightRifleMarkOneEmpty + - MagazineLightRifleMarkOne - type: MaterialStorage whitelist: tags: diff --git a/Resources/Prototypes/Nyanotrasen/Entities/Objects/Weapons/Guns/Ammunition/Magazine/markone.yml b/Resources/Prototypes/Nyanotrasen/Entities/Objects/Weapons/Guns/Ammunition/Magazine/markone.yml new file mode 100644 index 00000000000..4438283cf48 --- /dev/null +++ b/Resources/Prototypes/Nyanotrasen/Entities/Objects/Weapons/Guns/Ammunition/Magazine/markone.yml @@ -0,0 +1,50 @@ +- type: entity + id: MagazineLightRifleMarkOneEmpty + name: "mark 1 rifle en-bloc (.30 rifle any)" + suffix: empty + parent: MagazineLightRifle + components: + - type: Tag + tags: + - MagazineMarkOne + - type: BallisticAmmoProvider + proto: null + capacity: 8 + - type: Item + size: Tiny + - type: Sprite + sprite: Objects/Weapons/Guns/Ammunition/SpeedLoaders/LightRifle/light_rifle_speed_loader.rsi + layers: + - state: base + map: ["enum.GunVisualLayers.Base"] + - state: mag-1 + map: ["enum.GunVisualLayers.Mag"] + - type: MagazineVisuals + magState: mag + steps: 6 + zeroVisible: false + +- type: entity + id: MagazineLightRifleMarkOne + name: "mark 1 rifle en-bloc (.30 rifle)" + parent: BaseMagazineLightRifle + components: + - type: Tag + tags: + - MagazineMarkOne + - type: BallisticAmmoProvider + proto: CartridgeLightRifle + capacity: 8 + - type: Item + size: Tiny + - type: Sprite + sprite: Objects/Weapons/Guns/Ammunition/SpeedLoaders/LightRifle/light_rifle_speed_loader.rsi + layers: + - state: base + map: ["enum.GunVisualLayers.Base"] + - state: mag-1 + map: ["enum.GunVisualLayers.Mag"] + - type: MagazineVisuals + magState: mag + steps: 6 + zeroVisible: false diff --git a/Resources/Prototypes/Nyanotrasen/Entities/Objects/Weapons/Guns/Snipers/snipers.yml b/Resources/Prototypes/Nyanotrasen/Entities/Objects/Weapons/Guns/Snipers/snipers.yml index 7a8dd8f2267..550df3634d7 100644 --- a/Resources/Prototypes/Nyanotrasen/Entities/Objects/Weapons/Guns/Snipers/snipers.yml +++ b/Resources/Prototypes/Nyanotrasen/Entities/Objects/Weapons/Guns/Snipers/snipers.yml @@ -1,11 +1,14 @@ - type: entity name: mark 1 rifle - parent: BaseWeaponSniper + parent: BaseWeaponRifle id: WeaponSniperGrand description: A heavy and reliable self-loading rifle, utilising a modified version of a centuries-old design. Uses .30 rifle ammo. components: - type: Sprite sprite: Nyanotrasen/Objects/Weapons/Guns/Snipers/grand_rifle.rsi + layers: + - state: base + map: ["enum.GunVisualLayers.Base"] - type: Clothing sprite: Nyanotrasen/Objects/Weapons/Guns/Snipers/grand_rifle.rsi - type: Gun @@ -15,22 +18,38 @@ - SemiAuto soundGunshot: path: /Audio/Weapons/Guns/Gunshots/rifle2.ogg - - type: BallisticAmmoProvider -# autoCycle: true - capacity: 5 - proto: CartridgeLightRifle - whitelist: - tags: - - CartridgeLightRifle + - type: ItemSlots + slots: + gun_magazine: + name: Magazine + startingItem: MagazineLightRifleMarkOne + priority: 2 + whitelist: + tags: + - MagazineMarkOne + gun_chamber: + name: Chamber + startingItem: CartridgeLightRifle + priority: 1 + whitelist: + tags: + - CartridgeLightRifle + - type: ChamberMagazineAmmoProvider + autoEject: true + soundAutoEject: + path: /Audio/Weapons/Guns/EmptyAlarm/M1_empty_alarm.ogg - type: entity name: ceremonial rifle - parent: BaseWeaponSniper + parent: BaseWeaponRifle id: WeaponSniperCeremonial description: A ceremonial variant of the Mark 1 Rifle, in tasteful blue and white. Uses .30 rifle ammo. components: - type: Sprite sprite: Nyanotrasen/Objects/Weapons/Guns/Snipers/ceremonial_grand.rsi + layers: + - state: base + map: ["enum.GunVisualLayers.Base"] - type: Clothing sprite: Nyanotrasen/Objects/Weapons/Guns/Snipers/ceremonial_grand.rsi - type: Gun @@ -40,10 +59,23 @@ - SemiAuto soundGunshot: path: /Audio/Weapons/Guns/Gunshots/rifle2.ogg - - type: BallisticAmmoProvider -# autoCycle: true - capacity: 5 - proto: CartridgeLightRifle - whitelist: - tags: - - CartridgeLightRifle + - type: ItemSlots + slots: + gun_magazine: + name: Magazine + startingItem: MagazineLightRifleMarkOne + priority: 2 + whitelist: + tags: + - MagazineMarkOne + gun_chamber: + name: Chamber + startingItem: CartridgeLightRifle + priority: 1 + whitelist: + tags: + - CartridgeLightRifle + - type: ChamberMagazineAmmoProvider + autoEject: true + soundAutoEject: + path: /Audio/Weapons/Guns/EmptyAlarm/M1_empty_alarm.ogg diff --git a/Resources/Prototypes/Recipes/Lathes/security.yml b/Resources/Prototypes/Recipes/Lathes/security.yml index e3b5de462d0..0719384daea 100644 --- a/Resources/Prototypes/Recipes/Lathes/security.yml +++ b/Resources/Prototypes/Recipes/Lathes/security.yml @@ -1446,3 +1446,19 @@ Plasteel: 100 Plastic: 450 Silver: 100 + +- type: latheRecipe + id: MagazineLightRifleMarkOneEmpty + result: MagazineLightRifleMarkOneEmpty + category: Ammo + completetime: 2 + materials: + Steel: 100 + +- type: latheRecipe + id: MagazineLightRifleMarkOne + result: MagazineLightRifleMarkOne + category: Ammo + completetime: 2 + materials: + Steel: 200 diff --git a/Resources/Prototypes/tags.yml b/Resources/Prototypes/tags.yml index 5f7ace66722..4bff97a564c 100644 --- a/Resources/Prototypes/tags.yml +++ b/Resources/Prototypes/tags.yml @@ -1529,5 +1529,8 @@ - type: Tag id: SiliconEmotes +- type: Tag + id: MagazineMarkOne + - type: Tag id: UnathiEmotes