From: IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com> Date: Tue, 18 Jun 2024 15:04:15 +0000 (-0400) Subject: Add the most anticipated gun in the game. Foam Force. (#29103) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=801d405919837760f7034ae5ced51e9577ec0d54;p=space-station-14.git Add the most anticipated gun in the game. Foam Force. (#29103) * Foam Force * make it available somewhere * add clumsyproof and nuke dev item * reorganize * oopsy files * Strap! * woopsie layering * fix grammar to rerun tests for rogue unrelated test fail. * cleanup * I eepy layer forgetti spaghetti * For real last necessary commit * Oops I broke the law! feexed * Decided to just change it to the same source as the poster source in our repo for consistency. --- diff --git a/Resources/Prototypes/Catalog/Fills/Crates/cargo.yml b/Resources/Prototypes/Catalog/Fills/Crates/cargo.yml index b9d45f0f96..7ef8a8262d 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/cargo.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/cargo.yml @@ -158,6 +158,9 @@ - id: WeaponTurretXeno prob: 0.01 orGroup: Weapons + - id: WeaponRifleFoam + prob: 0.03 + orGroup: Weapons #clothing - id: ClothingUniformJumpsuitFamilyGuy prob: 0.05 @@ -385,3 +388,12 @@ - id: WeakKudzu prob: 0.01 orGroup: NotUseful + - id: MagazineFoamBox + prob: 0.001 + orGroup: NotUseful + - id: BoxDonkSoftBox + prob: 0.008 + orGroup: NotUseful + - id: GrenadeFoamDart + prob: 0.001 + orGroup: NotUseful \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/toy.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/toy.yml new file mode 100644 index 0000000000..babbc2648f --- /dev/null +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Magazines/toy.yml @@ -0,0 +1,12 @@ +- type: entity + parent: MagazineLightRifleBox # It goes in a saw, its funny. + id: MagazineFoamBox + name: ammunition box (foam) + components: + - type: BallisticAmmoProvider + mayTransfer: true + whitelist: + tags: + - BulletFoam + proto: BulletFoam + capacity: 100 \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/toy.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/toy.yml index 34a39c1583..9b6c288e37 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/toy.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/toy.yml @@ -4,12 +4,30 @@ name: foam dart parent: BaseItem components: - - type: Tag - tags: - - BulletFoam - - Trash - - type: Ammo - - type: Sprite - sprite: Objects/Fun/toys.rsi - layers: - - state: foamdart + - type: Fixtures + fixtures: + fix1: + shape: !type:PolygonShape + vertices: + - -0.05,-0.15 + - -0.05,0.25 + - 0.05,-0.15 + - 0.05,0.25 + density: 20 + mask: + - ItemMask + restitution: 0.3 + friction: 0.2 + - type: Tag + tags: + - BulletFoam + - Trash + - type: Ammo + - type: Sprite + sprite: Objects/Fun/toys.rsi + layers: + - state: foamdart + - type: EmbeddableProjectile + removalTime: .2 + - type: ThrowingAngle + angle: 180 diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml index c034ac5749..9300367cde 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml @@ -186,3 +186,33 @@ steps: 1 zeroVisible: true - type: Appearance + +- type: entity + name: Foam Force Astro Ace + parent: [BaseWeaponShotgun, BaseGunWieldable] + id: WeaponRifleFoam + description: A premium foam rifle of the highest quality. Its plastic feels rugged, and its mechanisms sturdy. + components: + - type: Sprite + sprite: Objects/Weapons/Guns/Rifles/foam_rifle.rsi + - type: Clothing + sprite: Objects/Weapons/Guns/Rifles/foam_rifle.rsi + - type: Item + sprite: Objects/Weapons/Guns/Rifles/foam_rifle_inhand_64x.rsi + - type: BallisticAmmoProvider + whitelist: + tags: + - BulletFoam + capacity: 10 + proto: BulletFoam + - type: GunRequiresWield #remove when inaccuracy on spreads is fixed + - type: Gun + fireRate: 2 + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: + path: /Audio/Effects/thunk.ogg + soundEmpty: + path: /Audio/Weapons/Guns/Empty/empty.ogg + clumsyProof: true diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Throwable/clusterbang.yml b/Resources/Prototypes/Entities/Objects/Weapons/Throwable/clusterbang.yml index 36d4c947fc..35174ba34d 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Throwable/clusterbang.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Throwable/clusterbang.yml @@ -241,3 +241,22 @@ - type: ContainerContainer containers: cluster-payload: !type:Container + +- type: entity + parent: GrenadeShrapnel + id: GrenadeFoamDart + name: foam dart grenade + description: Releases a bothersome spray of foam darts that cause severe welching. + components: + - type: Sprite + sprite: Objects/Weapons/Grenades/foamdart.rsi + layers: + - state: icon + map: ["Base"] + - state: primed + map: ["enum.TriggerVisualLayers.Base"] + - type: ClusterGrenade + fillPrototype: BulletFoam + maxGrenadesCount: 30 + grenadeType: enum.GrenadeType.Throw + velocity: 70 diff --git a/Resources/Textures/Objects/Weapons/Grenades/foamdart.rsi/icon.png b/Resources/Textures/Objects/Weapons/Grenades/foamdart.rsi/icon.png new file mode 100644 index 0000000000..b986e22665 Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Grenades/foamdart.rsi/icon.png differ diff --git a/Resources/Textures/Objects/Weapons/Grenades/foamdart.rsi/meta.json b/Resources/Textures/Objects/Weapons/Grenades/foamdart.rsi/meta.json new file mode 100644 index 0000000000..ba5198513b --- /dev/null +++ b/Resources/Textures/Objects/Weapons/Grenades/foamdart.rsi/meta.json @@ -0,0 +1,17 @@ +{ + "version": 1, + "license": "CC-BY-NC-SA-3.0", + "copyright": "Taken from goonstation at https://github.com/goonstation/goonstation/pull/13630", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "primed" + } + ] +} diff --git a/Resources/Textures/Objects/Weapons/Grenades/foamdart.rsi/primed.png b/Resources/Textures/Objects/Weapons/Grenades/foamdart.rsi/primed.png new file mode 100644 index 0000000000..0d8b9b7a97 Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Grenades/foamdart.rsi/primed.png differ diff --git a/Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle.rsi/bolt-open.png b/Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle.rsi/bolt-open.png new file mode 100644 index 0000000000..7a11eab654 Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle.rsi/bolt-open.png differ diff --git a/Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle.rsi/equipped-BACKPACK.png b/Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle.rsi/equipped-BACKPACK.png new file mode 100644 index 0000000000..ec34a1b9ea Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle.rsi/equipped-BACKPACK.png differ diff --git a/Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle.rsi/equipped-SUITSTORAGE.png b/Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle.rsi/equipped-SUITSTORAGE.png new file mode 100644 index 0000000000..ec34a1b9ea Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle.rsi/equipped-SUITSTORAGE.png differ diff --git a/Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle.rsi/icon.png b/Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle.rsi/icon.png new file mode 100644 index 0000000000..ba597a8590 Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle.rsi/icon.png differ diff --git a/Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle.rsi/meta.json b/Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle.rsi/meta.json new file mode 100644 index 0000000000..ceffec91b5 --- /dev/null +++ b/Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from at commit https://github.com/tgstation/tgstation/commit/f01de25493e2bd2706ef9b0303cb0d7b5e3e471b and modified from the foam force poster by IProduceWidgets (github)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "bolt-open" + }, + { + "name": "equipped-BACKPACK", + "directions": 4 + }, + { + "name": "equipped-SUITSTORAGE", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle_inhand_64x.rsi/inhand-left.png b/Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle_inhand_64x.rsi/inhand-left.png new file mode 100644 index 0000000000..931a8ef973 Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle_inhand_64x.rsi/inhand-left.png differ diff --git a/Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle_inhand_64x.rsi/inhand-right.png b/Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle_inhand_64x.rsi/inhand-right.png new file mode 100644 index 0000000000..570f8be130 Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle_inhand_64x.rsi/inhand-right.png differ diff --git a/Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle_inhand_64x.rsi/meta.json b/Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle_inhand_64x.rsi/meta.json new file mode 100644 index 0000000000..b89b33c08f --- /dev/null +++ b/Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle_inhand_64x.rsi/meta.json @@ -0,0 +1,27 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from at commit https://github.com/tgstation/tgstation/commit/f01de25493e2bd2706ef9b0303cb0d7b5e3e471b sprite created from foam force poster by IProduceWidgets (github)", + "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/Rifles/foam_rifle_inhand_64x.rsi/wielded-inhand-left.png b/Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle_inhand_64x.rsi/wielded-inhand-left.png new file mode 100644 index 0000000000..3526954b4e Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle_inhand_64x.rsi/wielded-inhand-left.png differ diff --git a/Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle_inhand_64x.rsi/wielded-inhand-right.png b/Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle_inhand_64x.rsi/wielded-inhand-right.png new file mode 100644 index 0000000000..297ae7a752 Binary files /dev/null and b/Resources/Textures/Objects/Weapons/Guns/Rifles/foam_rifle_inhand_64x.rsi/wielded-inhand-right.png differ 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 3add3a471b..3e793381d0 100644 --- a/Resources/Textures/Objects/Weapons/Guns/Shotguns/pump.rsi/meta.json +++ b/Resources/Textures/Objects/Weapons/Guns/Shotguns/pump.rsi/meta.json @@ -22,4 +22,4 @@ "directions": 4 } ] -} +} \ No newline at end of file