diff --git a/Content.Shared/Weapons/Ranged/Components/AmmoComponent.cs b/Content.Shared/Weapons/Ranged/Components/AmmoComponent.cs index 0fedf95146..b283b6ca0c 100644 --- a/Content.Shared/Weapons/Ranged/Components/AmmoComponent.cs +++ b/Content.Shared/Weapons/Ranged/Components/AmmoComponent.cs @@ -11,7 +11,7 @@ namespace Content.Shared.Weapons.Ranged.Components; public partial class AmmoComponent : Component, IShootable { // Muzzle flash stored on ammo because if we swap a gun to whatever we may want to override it. - + // Floof change: Changed this datafield to have a name so it could actually be changed. Before muzzleflash couldnt be changed due to no datafield existing that allowed this. [DataField] public EntProtoId? MuzzleFlash = "MuzzleFlashEffect"; } diff --git a/Resources/Audio/Weapons/Guns/Gunshots/sniperHeavy.ogg b/Resources/Audio/Weapons/Guns/Gunshots/sniperHeavy.ogg new file mode 100644 index 0000000000..0e0216176c Binary files /dev/null and b/Resources/Audio/Weapons/Guns/Gunshots/sniperHeavy.ogg differ diff --git a/Resources/Locale/en-US/_Floof/store/uplink-catalog.ftl b/Resources/Locale/en-US/_Floof/store/uplink-catalog.ftl new file mode 100644 index 0000000000..6432d87b27 --- /dev/null +++ b/Resources/Locale/en-US/_Floof/store/uplink-catalog.ftl @@ -0,0 +1,2 @@ +uplink-pistol-magazine-caseless-name-subsonic = Pistol Magazine (.25 caseless subsonic) +uplink-pistol-magazine-caseless-desc-subsonic = Pistol magazine with 10 subsonic cartridges. Copatible with the Cobra. This one is designed for stealth. diff --git a/Resources/Locale/en-US/store/uplink-catalog.ftl b/Resources/Locale/en-US/store/uplink-catalog.ftl index a3a68132f2..c477c4faea 100644 --- a/Resources/Locale/en-US/store/uplink-catalog.ftl +++ b/Resources/Locale/en-US/store/uplink-catalog.ftl @@ -104,7 +104,7 @@ uplink-estoc-ammo-name = Rifle magazine (.20 rifle) uplink-estoc-ammo-desc = A rifle magazine with 25 cartridges. Compatible with the Estoc DMR. uplink-pistol-magazine-caseless-name = Pistol Magazine (.25 caseless) -uplink-pistol-magazine-caseless-desc = Pistol magazine with 10 cartridges. Compatible with the Cobra. +uplink-pistol-magazine-caseless-desc = Pistol magazine with 10 cartridges. Compatible with the Cobra. If you want your stealth pistol to be not stealthy for some reason uplink-speedloader-magnum-name = Speedloader (.45 magnum AP) uplink-speedloader-magnu-desc = Revolver speedloader with 6 armor-piercing cartridges, capable of ignoring armor entirely. Compatible with the Python. diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Pistols/pistols.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Pistols/pistols.yml index d0269c8fd1..3ec0219a33 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Pistols/pistols.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Pistols/pistols.yml @@ -172,7 +172,7 @@ slots: gun_magazine: name: Magazine - startingItem: MagazinePistolCaselessRifle + startingItem: MagazinePistolCaselessRifleSubsonic insertSound: /Audio/Weapons/Guns/MagIn/pistol_magin.ogg ejectSound: /Audio/Weapons/Guns/MagOut/pistol_magout.ogg priority: 2 @@ -182,11 +182,11 @@ whitelistFailPopup: gun-magazine-whitelist-fail gun_chamber: name: Chamber - startingItem: CartridgeCaselessRifle + startingItem: CartridgeCaselessRifleSubsonic priority: 1 whitelist: tags: - - CartridgeCaselessRifle + - CartridgeCaselessRifleSubsonic - type: ContainerContainer containers: gun_magazine: !type:ContainerSlot diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Snipers/snipers.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Snipers/snipers.yml index 0c3b4f6251..4c3330509c 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Snipers/snipers.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Snipers/snipers.yml @@ -113,12 +113,12 @@ sprite: Objects/Weapons/Guns/Snipers/heavy_sniper.rsi - type: GunRequiresWield - type: Gun - fireRate: 0.4 + fireRate: 0.3 selectedMode: SemiAuto availableModes: - SemiAuto soundGunshot: - path: /Audio/Weapons/Guns/Gunshots/sniper.ogg + path: /Audio/Weapons/Guns/Gunshots/sniperHeavy.ogg - type: BallisticAmmoProvider whitelist: tags: @@ -126,8 +126,8 @@ capacity: 5 proto: CartridgeAntiMateriel - type: SpeedModifiedOnWield - walkModifier: 0.25 - sprintModifier: 0.25 + walkModifier: 0.8 + sprintModifier: 0.8 - type: CursorOffsetRequiresWield - type: EyeCursorOffset maxOffset: 3 diff --git a/Resources/Prototypes/Recipes/Lathes/ammo.yml b/Resources/Prototypes/Recipes/Lathes/ammo.yml index 79104471a5..281dfa60ea 100644 --- a/Resources/Prototypes/Recipes/Lathes/ammo.yml +++ b/Resources/Prototypes/Recipes/Lathes/ammo.yml @@ -461,12 +461,12 @@ Plastic: 80 # .60 anti-materiel -- type: latheRecipe - parent: BaseAmmoBoxRecipe - id: MagazineBoxAntiMateriel - result: MagazineBoxAntiMateriel - materials: - Steel: 200 +#- type: latheRecipe +# parent: BaseAmmoBoxRecipe +# id: MagazineBoxAntiMateriel +# result: MagazineBoxAntiMateriel +# materials: +# Steel: 200 # Encampment ammo - type: latheRecipe diff --git a/Resources/Prototypes/_DV/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/_DV/Entities/Structures/Machines/lathe.yml index aadac9e354..de4f8af2a3 100644 --- a/Resources/Prototypes/_DV/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/_DV/Entities/Structures/Machines/lathe.yml @@ -30,8 +30,11 @@ unlitIdleState: unlit unlitRunningState: unlit-building - type: EmagLatheRecipes + emagStaticPacks: - SecurityAmmoStatic + # Floof (Why the fuck is this not a thing?) + - SyndieGunAmmoFloof emagDynamicPacks: - SecurityAmmo - SecurityExplosives diff --git a/Resources/Prototypes/_Floof/Catalog/uplink_catalog.yml b/Resources/Prototypes/_Floof/Catalog/uplink_catalog.yml new file mode 100644 index 0000000000..db1993dffa --- /dev/null +++ b/Resources/Prototypes/_Floof/Catalog/uplink_catalog.yml @@ -0,0 +1,10 @@ +- type: listing + id: UplinkMagazinePistolCaselessRifleSubsonic + name: uplink-pistol-magazine-caseless-name-subsonic + description: uplink-pistol-magazine-caseless-desc-subsonic + icon: { sprite: /Textures/Objects/Weapons/Guns/Ammunition/Magazine/CaselessRifle/caseless_pistol_mag.rsi, state: red-icon } + productEntity: MagazinePistolCaselessRifleSubsonic + cost: + Telecrystal: 1 + categories: + - UplinkAmmo diff --git a/Resources/Prototypes/_Floof/Entities/Objects/Weapons/Guns/Ammunition/Boxes/caseless_rifle_subsonic.yml b/Resources/Prototypes/_Floof/Entities/Objects/Weapons/Guns/Ammunition/Boxes/caseless_rifle_subsonic.yml new file mode 100644 index 0000000000..b8c5ce8075 --- /dev/null +++ b/Resources/Prototypes/_Floof/Entities/Objects/Weapons/Guns/Ammunition/Boxes/caseless_rifle_subsonic.yml @@ -0,0 +1,14 @@ +- type: entity + parent: BaseMagazineBoxCaselessRifle + id: MagazineBoxCaselessRifleSubsonic + name: ammunition box (.25 caseless subsonic) + description: A cardboard box of .25 caseless subsonic rounds. Intended to hold general-purpose kinetic ammunition. + components: + - type: BallisticAmmoProvider + proto: CartridgeCaselessRifleSubsonic + - type: Sprite + layers: + - state: base + map: ["enum.GunVisualLayers.Base"] + - state: mag-1 + map: ["enum.GunVisualLayers.Mag"] diff --git a/Resources/Prototypes/_Floof/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/caseless_rifle_subsonic.yml b/Resources/Prototypes/_Floof/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/caseless_rifle_subsonic.yml new file mode 100644 index 0000000000..f0bd6f1197 --- /dev/null +++ b/Resources/Prototypes/_Floof/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/caseless_rifle_subsonic.yml @@ -0,0 +1,9 @@ +- type: entity + id: CartridgeCaselessRifleSubsonic + name: cartridge (.25 caseless Subsonic) + parent: BaseCartridgeCaselessRifle + description: A small caliber utilizing caseless technology, omitting conventional brass casing in favor of hardened propellant. Specifically built for stealth purposes + components: + - type: CartridgeAmmo + muzzleFlash: MuzzleFlashEffectSuppressed + proto: BulletCaselessRifleSubsonic diff --git a/Resources/Prototypes/_Floof/Entities/Objects/Weapons/Guns/Ammunition/Magazines/caseless_rifle_subsonic.yml b/Resources/Prototypes/_Floof/Entities/Objects/Weapons/Guns/Ammunition/Magazines/caseless_rifle_subsonic.yml new file mode 100644 index 0000000000..21ec330de8 --- /dev/null +++ b/Resources/Prototypes/_Floof/Entities/Objects/Weapons/Guns/Ammunition/Magazines/caseless_rifle_subsonic.yml @@ -0,0 +1,26 @@ +- type: entity + id: MagazinePistolCaselessRifleSubsonic + name: "pistol magazine (.25 caseless Subsonic)" + parent: BaseMagazinePistolCaselessRifle + description: 10-round magazine for the Cobra pistol. Intended to hold general-purpose kinetic ammunition. + components: + - type: BallisticAmmoProvider + proto: CartridgeCaselessRifleSubsonic + capacity: 10 + - type: Sprite + layers: + - state: red + map: ["enum.GunVisualLayers.Base"] + - state: mag-1 + map: ["enum.GunVisualLayers.Mag"] + - type: MagazineVisuals + magState: mag + steps: 6 + zeroVisible: false + - type: Appearance + - type: Item + inhandVisuals: + left: + - state: inhand-left-mag + right: + - state: inhand-right-mag diff --git a/Resources/Prototypes/_Floof/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/caseless_rifle_subsonic.yml b/Resources/Prototypes/_Floof/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/caseless_rifle_subsonic.yml new file mode 100644 index 0000000000..26dd226ffa --- /dev/null +++ b/Resources/Prototypes/_Floof/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/caseless_rifle_subsonic.yml @@ -0,0 +1,14 @@ +- type: entity + id: BulletCaselessRifleSubsonic + name: bullet (.25 caseless subsonic) + parent: BaseBullet + categories: [ HideSpawnMenu ] + components: + - type: Sprite + sprite: _Floof/Objects/Weapons/Guns/Projectiles/projectileSubsonic.rsi + layers: + - shader: shaded + - type: Projectile + damage: + types: + Piercing: 19 diff --git a/Resources/Prototypes/_Floof/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml b/Resources/Prototypes/_Floof/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml new file mode 100644 index 0000000000..07af8c33ed --- /dev/null +++ b/Resources/Prototypes/_Floof/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml @@ -0,0 +1,12 @@ +- type: entity + parent: MuzzleFlashEffect + id: MuzzleFlashEffectSuppressed + categories: [ HideSpawnMenu ] + components: + - type: Sprite + drawdepth: BelowMobs + layers: + - shader: unshaded + map: ["enum.EffectLayers.Unshaded"] + sprite: _Floof/Objects/Weapons/Guns/Projectiles/muzzleflashes.rsi # floof + state: kineticSuppressed # floof diff --git a/Resources/Prototypes/_Floof/Recipes/Lathes/Packs/ammo.yml b/Resources/Prototypes/_Floof/Recipes/Lathes/Packs/ammo.yml new file mode 100644 index 0000000000..1bc5ad8b75 --- /dev/null +++ b/Resources/Prototypes/_Floof/Recipes/Lathes/Packs/ammo.yml @@ -0,0 +1,10 @@ +## Static + +# Floof (Why the fuck is this not a thing?) +# Adds .60cal and .25 ammo and pistol magazines for the Cobra +- type: latheRecipePack + id: SyndieGunAmmoFloof + recipes: + - MagazineBoxAntiMateriel + - MagazineBoxCaselessRifleSubsonic + - MagazinePistolCaselessRifleSubsonic diff --git a/Resources/Prototypes/_Floof/Recipes/Lathes/ammo.yml b/Resources/Prototypes/_Floof/Recipes/Lathes/ammo.yml new file mode 100644 index 0000000000..0961d891fd --- /dev/null +++ b/Resources/Prototypes/_Floof/Recipes/Lathes/ammo.yml @@ -0,0 +1,20 @@ +#.25 Caseless +- type: latheRecipe + id: MagazineBoxCaselessRifleSubsonic + result: MagazineBoxCaselessRifleSubsonic + materials: + Steel: 800 + +- type: latheRecipe + id: MagazinePistolCaselessRifleSubsonic + result: MagazinePistolCaselessRifleSubsonic + materials: + Steel: 500 + +#.60 Ammo +- type: latheRecipe + id: MagazineBoxAntiMateriel + result: MagazineBoxAntiMateriel + completetime: 5 + materials: + Steel: 1000 diff --git a/Resources/Prototypes/_Floof/Tags/assorted.yml b/Resources/Prototypes/_Floof/Tags/assorted.yml index da47b1b63d..41b6dcc1b3 100644 --- a/Resources/Prototypes/_Floof/Tags/assorted.yml +++ b/Resources/Prototypes/_Floof/Tags/assorted.yml @@ -27,3 +27,6 @@ - type: Tag id: HighHeelBoots + +- type: Tag + id: CartridgeCaselessRifleSubsonic #Tag for new Cobra ammo diff --git a/Resources/Textures/_Floof/Objects/Weapons/Guns/Projectiles/muzzleflashes.rsi/kineticSuppressed.png b/Resources/Textures/_Floof/Objects/Weapons/Guns/Projectiles/muzzleflashes.rsi/kineticSuppressed.png new file mode 100644 index 0000000000..9041d7625e Binary files /dev/null and b/Resources/Textures/_Floof/Objects/Weapons/Guns/Projectiles/muzzleflashes.rsi/kineticSuppressed.png differ diff --git a/Resources/Textures/_Floof/Objects/Weapons/Guns/Projectiles/muzzleflashes.rsi/meta.json b/Resources/Textures/_Floof/Objects/Weapons/Guns/Projectiles/muzzleflashes.rsi/meta.json new file mode 100644 index 0000000000..fdea1ae516 --- /dev/null +++ b/Resources/Textures/_Floof/Objects/Weapons/Guns/Projectiles/muzzleflashes.rsi/meta.json @@ -0,0 +1,22 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by DVDPlayerOfDiscordFame (github) for Impstation.", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "kineticSuppressed", + "delays": [ + [ + 0.05, + 0.05, + 0.05, + 1.00 + ] + ] + } + ] +} diff --git a/Resources/Textures/_Floof/Objects/Weapons/Guns/Projectiles/projectileSubsonic.rsi/bullet.png b/Resources/Textures/_Floof/Objects/Weapons/Guns/Projectiles/projectileSubsonic.rsi/bullet.png new file mode 100644 index 0000000000..b25542ce8a Binary files /dev/null and b/Resources/Textures/_Floof/Objects/Weapons/Guns/Projectiles/projectileSubsonic.rsi/bullet.png differ diff --git a/Resources/Textures/_Floof/Objects/Weapons/Guns/Projectiles/projectileSubsonic.rsi/meta.json b/Resources/Textures/_Floof/Objects/Weapons/Guns/Projectiles/projectileSubsonic.rsi/meta.json new file mode 100644 index 0000000000..d770e40754 --- /dev/null +++ b/Resources/Textures/_Floof/Objects/Weapons/Guns/Projectiles/projectileSubsonic.rsi/meta.json @@ -0,0 +1,15 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Custom edited sprite of the 'bullet' RSI from the default bullet2.rsi folder", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "bullet", + "directions": 1 + } + ] +}