diff --git a/Resources/Audio/Weapons/Guns/Gunshots/attributions.yml b/Resources/Audio/Weapons/Guns/Gunshots/attributions.yml index 7c46974818a..1801eec00cd 100644 --- a/Resources/Audio/Weapons/Guns/Gunshots/attributions.yml +++ b/Resources/Audio/Weapons/Guns/Gunshots/attributions.yml @@ -26,4 +26,9 @@ - files: ["ship_duster.ogg", "ship_friendship.ogg", "ship_svalinn.ogg", "ship_perforator.ogg"] license: "CC0-1.0" copyright: "Created by MIXnikita for Space Station 14" - source: "https://github.com/MIXnikita" \ No newline at end of file + source: "https://github.com/MIXnikita" + +- files: ["rifle3.ogg"] + license: "CC-BY-3.0" + copyright: "Created by Michel Baradari apollo-music.de" + source: "https://opengameart.org/content/chaingun-pistol-rifle-shotgun-shots" \ No newline at end of file diff --git a/Resources/Audio/Weapons/Guns/Gunshots/rifle3.ogg b/Resources/Audio/Weapons/Guns/Gunshots/rifle3.ogg new file mode 100644 index 00000000000..31eb29e82c6 Binary files /dev/null and b/Resources/Audio/Weapons/Guns/Gunshots/rifle3.ogg differ diff --git a/Resources/Prototypes/_NF/Catalog/Fills/Crates/armory.yml b/Resources/Prototypes/_NF/Catalog/Fills/Crates/armory.yml index 30ca672ae55..b17b36f1b16 100644 --- a/Resources/Prototypes/_NF/Catalog/Fills/Crates/armory.yml +++ b/Resources/Prototypes/_NF/Catalog/Fills/Crates/armory.yml @@ -1,9 +1,24 @@ +# Registered (legal) weapon crates +- type: entity + id: CrateArmoryRifleGestio + parent: CrateWeaponSecure + name: gestio rifle crate + description: Contains two old prototype, burst-fire rifles with six low capacity mags. Requires Armory access to open. + components: + - type: StorageFill + contents: + - id: WeaponRifleGestio + amount: 2 + - id: MagazineRifleLowCapacity + amount: 6 + # Contraband (unregistered) weaponry crates for expeditions - type: entity id: CrateArmorySMGExpedition parent: [ CrateWeaponSecure, UnregisteredFirearmBase ] name: SMG crate description: Contains two high-powered, SMGs with four mags. Requires Armory access to open. Unregistered. + noSpawn: true components: - type: StorageFill contents: @@ -17,6 +32,7 @@ parent: [ CrateWeaponSecure, UnregisteredFirearmBase ] name: shotgun crate description: For when the enemy absolutely needs to be replaced with lead. Contains two Enforcer Combat Shotguns, and some standard shotgun shells. Requires Armory access to open. Unregistered. + noSpawn: true components: - type: StorageFill contents: @@ -30,6 +46,7 @@ parent: [ CrateWeaponSecure, UnregisteredFirearmBase ] name: lasers crate description: Contains three standard-issue laser carbines. Requires Armory access to open. Unregistered. + noSpawn: true components: - type: StorageFill contents: @@ -41,6 +58,7 @@ parent: [ CrateWeaponSecure, UnregisteredFirearmBase ] name: energy guns crate description: Contains three energy guns. Requires Armory access to open. Unregistered. + noSpawn: true components: - type: StorageFill contents: @@ -52,6 +70,7 @@ parent: [ CrateWeaponSecure, UnregisteredFirearmBase ] name: pistols crate description: Contains two standard NT pistols with four mags. Requires Armory access to open. Unregistered. + noSpawn: true components: - type: StorageFill contents: @@ -59,3 +78,17 @@ amount: 2 - id: MagazinePistol amount: 4 + +- type: entity + id: CrateArmoryRifleGestioExpedition + parent: [ CrateWeaponSecure, UnregisteredFirearmBase ] + name: gestio rifle crate + description: Contains two old prototype, burst-fire rifles with six low capacity mags. Requires Armory access to open. Unregistered. + noSpawn: true + components: + - type: StorageFill + contents: + - id: WeaponRifleGestioExpedition + amount: 2 + - id: MagazineRifleLowCapacity + amount: 6 diff --git a/Resources/Prototypes/_NF/Catalog/Fills/Items/weapon_cases_expedition.yml b/Resources/Prototypes/_NF/Catalog/Fills/Items/weapon_cases_expedition.yml index 0ca918b205f..76749b1ef4e 100644 --- a/Resources/Prototypes/_NF/Catalog/Fills/Items/weapon_cases_expedition.yml +++ b/Resources/Prototypes/_NF/Catalog/Fills/Items/weapon_cases_expedition.yml @@ -224,6 +224,19 @@ amount: 2 # Rifles +- type: entity + parent: WeaponCaseLong + id: WeaponCaseLongGestioExpedition + suffix: Dungeon, Gestio + noSpawn: true + components: + - type: StorageFill + contents: + - id: WeaponRifleGestio + amount: 1 + - id: MagazineRifleLowCapacity + amount: 3 + - type: entity parent: WeaponCaseLong id: WeaponCaseLongLecterExpedition diff --git a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/dungeon_items_mercenary.yml b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/dungeon_items_mercenary.yml index 17358578172..b88ab34e70e 100644 --- a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/dungeon_items_mercenary.yml +++ b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/dungeon_items_mercenary.yml @@ -388,6 +388,7 @@ prototypes: - CrateArmoryShotgunExpedition - CrateArmoryPistolsExpedition + - CrateArmoryRifleGestioExpedition chance: 0.55 offset: 0.0 rarePrototypes: diff --git a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/dungeon_items_weapons.yml b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/dungeon_items_weapons.yml index 4ebd4e4bb11..a4ad207280e 100644 --- a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/dungeon_items_weapons.yml +++ b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/dungeon_items_weapons.yml @@ -178,6 +178,7 @@ - WeaponCaseShortCobra - WeaponCaseShortDeckardExpedition - WeaponCaseShortPython + - WeaponCaseLongGestioExpedition - WeaponCaseLongKammererExpedition - WeaponCaseLongEnergyGunExpedition - WeaponCaseLongRepeaterExpedition diff --git a/Resources/Prototypes/_NF/Entities/Objects/Weapons/Ammunition/Boxes/nfsd.yml b/Resources/Prototypes/_NF/Entities/Objects/Weapons/Guns/Ammunition/Boxes/nfsd.yml similarity index 100% rename from Resources/Prototypes/_NF/Entities/Objects/Weapons/Ammunition/Boxes/nfsd.yml rename to Resources/Prototypes/_NF/Entities/Objects/Weapons/Guns/Ammunition/Boxes/nfsd.yml diff --git a/Resources/Prototypes/_NF/Entities/Objects/Weapons/Guns/Ammunition/Magazines/rifle_lowcap.yml b/Resources/Prototypes/_NF/Entities/Objects/Weapons/Guns/Ammunition/Magazines/rifle_lowcap.yml new file mode 100644 index 00000000000..36ad148c41b --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Objects/Weapons/Guns/Ammunition/Magazines/rifle_lowcap.yml @@ -0,0 +1,68 @@ +- type: entity + id: MagazineRifleLowCapacity + name: "magazine Low-Cap (.20 rifle)" + parent: BaseMagazineRifle + components: + - type: BallisticAmmoProvider + proto: CartridgeRifle + capacity: 15 + - type: Item + size: Tiny + - type: Sprite + sprite: _NF/Objects/Weapons/Low-Cap-Rifle-Magazine.rsi + layers: + - state: red + map: ["enum.GunVisualLayers.Base"] + - state: mag-1 + map: ["enum.GunVisualLayers.Mag"] + +- type: entity + id: MagazineRifleLowCapacityPractice + name: "magazine Low-Cap (.20 rifle practice)" + parent: MagazineRifleLowCapacity + components: + - type: BallisticAmmoProvider + proto: CartridgeRiflePractice + capacity: 15 + - type: Item + size: Tiny + - type: Sprite + layers: + - state: practice + map: ["enum.GunVisualLayers.Base"] + - state: mag-1 + map: ["enum.GunVisualLayers.Mag"] + +- type: entity + id: MagazineRifleLowCapacityRubber + name: "magazine Low-Cap (.20 rifle rubber)" + parent: MagazineRifleLowCapacity + components: + - type: BallisticAmmoProvider + proto: CartridgeRifleRubber + capacity: 15 + - type: Item + size: Tiny + - type: Sprite + layers: + - state: rubber + map: ["enum.GunVisualLayers.Base"] + - state: mag-1 + map: ["enum.GunVisualLayers.Mag"] + +- type: entity + id: MagazineRifleLowCapacityUranium + name: "magazine Low-Cap (.20 rifle uranium)" + parent: MagazineRifleLowCapacity + components: + - type: BallisticAmmoProvider + proto: CartridgeRifleUranium + capacity: 15 + - type: Item + size: Tiny + - type: Sprite + layers: + - state: uranium + map: ["enum.GunVisualLayers.Base"] + - state: mag-1 + map: ["enum.GunVisualLayers.Mag"] diff --git a/Resources/Prototypes/_NF/Entities/Objects/Weapons/Guns/Rifles/gestio.yml b/Resources/Prototypes/_NF/Entities/Objects/Weapons/Guns/Rifles/gestio.yml new file mode 100644 index 00000000000..f9f22136860 --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Objects/Weapons/Guns/Rifles/gestio.yml @@ -0,0 +1,85 @@ +- type: entity + name: Gestio + parent: BaseWeaponRifle + id: WeaponRifleGestio + description: An old prototype burst-fire NanoTrasen marksman rifle. Manufactured by Silver Industries. It hasn't ever left the trials. Given it's antiquity it is considered a civilian grade weapon. Uses .20 rifle ammo. + components: + - type: Sprite + sprite: _NF/Objects/Weapons/Gestio-Rifle.rsi + layers: + - state: base + map: ["enum.GunVisualLayers.Base"] + - state: mag-0 + map: ["enum.GunVisualLayers.Mag"] + - type: Clothing + sprite: _NF/Objects/Weapons/Gestio-Rifle.rsi + - type: Gun + fireRate: 3.75 + projectileSpeed: 30 + angleDecay: 4 #in testing 3 was more balanced + angleIncrease: 6 + minAngle: 2 #generally meant to be 0 when used properly + maxAngle: 30 #generally meant to be 20 when used properly + selectedMode: Burst + availableModes: + - Burst + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/rifle3.ogg + - type: Wieldable + - type: GunWieldBonus + minAngle: -2 + maxAngle: -10 + angleDecay: 4 #in testing 3 was more balanced + angleIncrease: -3 + - type: ItemSlots + slots: + gun_magazine: + name: Magazine + startingItem: MagazineRifleLowCapacity + insertSound: /Audio/Weapons/Guns/MagIn/ltrifle_magin.ogg + ejectSound: /Audio/Weapons/Guns/MagOut/ltrifle_magout.ogg + priority: 2 + whitelist: + tags: + - MagazineRifle + gun_chamber: + name: Chamber + startingItem: CartridgeRifle + priority: 1 + whitelist: + tags: + - CartridgeRifle + - type: ContainerContainer + containers: + gun_magazine: !type:ContainerSlot + gun_chamber: !type:ContainerSlot + - type: MagazineVisuals + magState: mag + steps: 1 + zeroVisible: true + - type: Appearance + +- type: entity + name: Gestio + parent: WeaponRifleGestio + id: WeaponRifleGestioRubber + suffix: Non-lethal + components: + - type: ItemSlots + slots: + gun_magazine: + name: Magazine + startingItem: MagazineRifleLowCapacityRubber + insertSound: /Audio/Weapons/Guns/MagIn/ltrifle_magin.ogg + ejectSound: /Audio/Weapons/Guns/MagOut/ltrifle_magout.ogg + priority: 2 + whitelist: + tags: + - MagazineRifle + gun_chamber: + name: Chamber + startingItem: CartridgeRifleRubber + priority: 1 + whitelist: + tags: + - CartridgeRifle diff --git a/Resources/Prototypes/_NF/Entities/Objects/Weapons/Guns/expedition_guns.yml b/Resources/Prototypes/_NF/Entities/Objects/Weapons/Guns/expedition_guns.yml index 43f335b70a1..e87a685f467 100644 --- a/Resources/Prototypes/_NF/Entities/Objects/Weapons/Guns/expedition_guns.yml +++ b/Resources/Prototypes/_NF/Entities/Objects/Weapons/Guns/expedition_guns.yml @@ -45,6 +45,12 @@ noSpawn: true id: WeaponShotgunKammererExpedition +# Rifles +- type: entity + parent: [ WeaponRifleGestio, UnregisteredFirearmBase ] + noSpawn: true + id: WeaponRifleGestioExpedition + # SMGs - type: entity parent: [ WeaponSubMachineGunWt550, UnregisteredFirearmBase ] diff --git a/Resources/Textures/_NF/Objects/Weapons/Gestio-Rifle.rsi/base.png b/Resources/Textures/_NF/Objects/Weapons/Gestio-Rifle.rsi/base.png new file mode 100644 index 00000000000..6fe18f245a7 Binary files /dev/null and b/Resources/Textures/_NF/Objects/Weapons/Gestio-Rifle.rsi/base.png differ diff --git a/Resources/Textures/_NF/Objects/Weapons/Gestio-Rifle.rsi/bolt-open.png b/Resources/Textures/_NF/Objects/Weapons/Gestio-Rifle.rsi/bolt-open.png new file mode 100644 index 00000000000..261f484f0ac Binary files /dev/null and b/Resources/Textures/_NF/Objects/Weapons/Gestio-Rifle.rsi/bolt-open.png differ diff --git a/Resources/Textures/_NF/Objects/Weapons/Gestio-Rifle.rsi/equipped-BACKPACK.png b/Resources/Textures/_NF/Objects/Weapons/Gestio-Rifle.rsi/equipped-BACKPACK.png new file mode 100644 index 00000000000..5d0e0fb6caf Binary files /dev/null and b/Resources/Textures/_NF/Objects/Weapons/Gestio-Rifle.rsi/equipped-BACKPACK.png differ diff --git a/Resources/Textures/_NF/Objects/Weapons/Gestio-Rifle.rsi/equipped-SUITSTORAGE.png b/Resources/Textures/_NF/Objects/Weapons/Gestio-Rifle.rsi/equipped-SUITSTORAGE.png new file mode 100644 index 00000000000..5d0e0fb6caf Binary files /dev/null and b/Resources/Textures/_NF/Objects/Weapons/Gestio-Rifle.rsi/equipped-SUITSTORAGE.png differ diff --git a/Resources/Textures/_NF/Objects/Weapons/Gestio-Rifle.rsi/icon.png b/Resources/Textures/_NF/Objects/Weapons/Gestio-Rifle.rsi/icon.png new file mode 100644 index 00000000000..0b5b1cd0d9e Binary files /dev/null and b/Resources/Textures/_NF/Objects/Weapons/Gestio-Rifle.rsi/icon.png differ diff --git a/Resources/Textures/_NF/Objects/Weapons/Gestio-Rifle.rsi/inhand-left.png b/Resources/Textures/_NF/Objects/Weapons/Gestio-Rifle.rsi/inhand-left.png new file mode 100644 index 00000000000..5c1b05b3621 Binary files /dev/null and b/Resources/Textures/_NF/Objects/Weapons/Gestio-Rifle.rsi/inhand-left.png differ diff --git a/Resources/Textures/_NF/Objects/Weapons/Gestio-Rifle.rsi/inhand-right.png b/Resources/Textures/_NF/Objects/Weapons/Gestio-Rifle.rsi/inhand-right.png new file mode 100644 index 00000000000..335115ae8e1 Binary files /dev/null and b/Resources/Textures/_NF/Objects/Weapons/Gestio-Rifle.rsi/inhand-right.png differ diff --git a/Resources/Textures/_NF/Objects/Weapons/Gestio-Rifle.rsi/mag-0.png b/Resources/Textures/_NF/Objects/Weapons/Gestio-Rifle.rsi/mag-0.png new file mode 100644 index 00000000000..3d7e94dddaf Binary files /dev/null and b/Resources/Textures/_NF/Objects/Weapons/Gestio-Rifle.rsi/mag-0.png differ diff --git a/Resources/Textures/_NF/Objects/Weapons/Gestio-Rifle.rsi/meta.json b/Resources/Textures/_NF/Objects/Weapons/Gestio-Rifle.rsi/meta.json new file mode 100644 index 00000000000..6526cece8c9 --- /dev/null +++ b/Resources/Textures/_NF/Objects/Weapons/Gestio-Rifle.rsi/meta.json @@ -0,0 +1,47 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Data_Redacted)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "base" + }, + { + "name": "bolt-open" + }, + { + "name": "mag-0" + }, + { + "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/_NF/Objects/Weapons/Gestio-Rifle.rsi/wielded-inhand-left.png b/Resources/Textures/_NF/Objects/Weapons/Gestio-Rifle.rsi/wielded-inhand-left.png new file mode 100644 index 00000000000..cc2fb205646 Binary files /dev/null and b/Resources/Textures/_NF/Objects/Weapons/Gestio-Rifle.rsi/wielded-inhand-left.png differ diff --git a/Resources/Textures/_NF/Objects/Weapons/Gestio-Rifle.rsi/wielded-inhand-right.png b/Resources/Textures/_NF/Objects/Weapons/Gestio-Rifle.rsi/wielded-inhand-right.png new file mode 100644 index 00000000000..9496a36c74c Binary files /dev/null and b/Resources/Textures/_NF/Objects/Weapons/Gestio-Rifle.rsi/wielded-inhand-right.png differ diff --git a/Resources/Textures/_NF/Objects/Weapons/Low-Cap-Rifle-Magazine.rsi/base.png b/Resources/Textures/_NF/Objects/Weapons/Low-Cap-Rifle-Magazine.rsi/base.png new file mode 100644 index 00000000000..254b15d64e5 Binary files /dev/null and b/Resources/Textures/_NF/Objects/Weapons/Low-Cap-Rifle-Magazine.rsi/base.png differ diff --git a/Resources/Textures/_NF/Objects/Weapons/Low-Cap-Rifle-Magazine.rsi/mag-1.png b/Resources/Textures/_NF/Objects/Weapons/Low-Cap-Rifle-Magazine.rsi/mag-1.png new file mode 100644 index 00000000000..6be8b7fe8eb Binary files /dev/null and b/Resources/Textures/_NF/Objects/Weapons/Low-Cap-Rifle-Magazine.rsi/mag-1.png differ diff --git a/Resources/Textures/_NF/Objects/Weapons/Low-Cap-Rifle-Magazine.rsi/meta.json b/Resources/Textures/_NF/Objects/Weapons/Low-Cap-Rifle-Magazine.rsi/meta.json new file mode 100644 index 00000000000..15add7b96ac --- /dev/null +++ b/Resources/Textures/_NF/Objects/Weapons/Low-Cap-Rifle-Magazine.rsi/meta.json @@ -0,0 +1,29 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Data_Redacted", + "states": [ + { + "name": "base" + }, + { + "name": "practice" + }, + { + "name": "red" + }, + { + "name": "rubber" + }, + { + "name": "uranium" + }, + { + "name": "mag-1" + } + ] +} diff --git a/Resources/Textures/_NF/Objects/Weapons/Low-Cap-Rifle-Magazine.rsi/practice.png b/Resources/Textures/_NF/Objects/Weapons/Low-Cap-Rifle-Magazine.rsi/practice.png new file mode 100644 index 00000000000..a146281c860 Binary files /dev/null and b/Resources/Textures/_NF/Objects/Weapons/Low-Cap-Rifle-Magazine.rsi/practice.png differ diff --git a/Resources/Textures/_NF/Objects/Weapons/Low-Cap-Rifle-Magazine.rsi/red.png b/Resources/Textures/_NF/Objects/Weapons/Low-Cap-Rifle-Magazine.rsi/red.png new file mode 100644 index 00000000000..e8065a1cce7 Binary files /dev/null and b/Resources/Textures/_NF/Objects/Weapons/Low-Cap-Rifle-Magazine.rsi/red.png differ diff --git a/Resources/Textures/_NF/Objects/Weapons/Low-Cap-Rifle-Magazine.rsi/rubber.png b/Resources/Textures/_NF/Objects/Weapons/Low-Cap-Rifle-Magazine.rsi/rubber.png new file mode 100644 index 00000000000..653430109c3 Binary files /dev/null and b/Resources/Textures/_NF/Objects/Weapons/Low-Cap-Rifle-Magazine.rsi/rubber.png differ diff --git a/Resources/Textures/_NF/Objects/Weapons/Low-Cap-Rifle-Magazine.rsi/uranium.png b/Resources/Textures/_NF/Objects/Weapons/Low-Cap-Rifle-Magazine.rsi/uranium.png new file mode 100644 index 00000000000..af9139f883a Binary files /dev/null and b/Resources/Textures/_NF/Objects/Weapons/Low-Cap-Rifle-Magazine.rsi/uranium.png differ