diff --git a/Resources/Prototypes/Catalog/Fills/Crates/cargo.yml b/Resources/Prototypes/Catalog/Fills/Crates/cargo.yml index b9d45f0f960a..7ef8a8262d60 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 000000000000..babbc2648f71 --- /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 34a39c1583eb..9b6c288e3786 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 c034ac5749ae..9300367cdec3 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 36d4c947fcd7..35174ba34d26 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 000000000000..b986e2266502 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 000000000000..ba5198513b63 --- /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 000000000000..0d8b9b7a97b1 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 000000000000..7a11eab654ed 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 000000000000..ec34a1b9ea10 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 000000000000..ec34a1b9ea10 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 000000000000..ba597a85909b 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 000000000000..ceffec91b506 --- /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 000000000000..931a8ef97326 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 000000000000..570f8be130ba 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 000000000000..b89b33c08ffe --- /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 000000000000..3526954b4e2d 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 000000000000..297ae7a752a6 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 3add3a471b6f..3e793381d0fa 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