Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rework the Flare Gun & add a Security Shell Gun. #32829

Merged
merged 14 commits into from
Nov 6, 2024
Merged
Show file tree
Hide file tree
Changes from 11 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Resources/Prototypes/Catalog/Fills/Lockers/misc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
- id: MedkitOxygenFilled
prob: 0.2
- id: WeaponFlareGun
prob: 0.05
prob: 0.1
- id: BoxMRE
prob: 0.1

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
tags:
- Cartridge
- ShellShotgun
- ShellShotgunLight
- type: CartridgeAmmo
soundEject:
collection: ShellEject
Expand All @@ -24,6 +25,11 @@
name: shell (.50 beanbag)
parent: BaseShellShotgun
components:
- type: Tag
tags:
- Cartridge
- ShellShotgun
- ShellShotgunLight
- type: Sprite
layers:
- state: beanbag
Expand Down Expand Up @@ -52,6 +58,11 @@
name: shell (.50 flare)
parent: BaseShellShotgun
components:
- type: Tag
tags:
- Cartridge
- ShellShotgun
- ShellShotgunLight
- type: Sprite
layers:
- state: flare
Expand Down Expand Up @@ -106,6 +117,11 @@
name: shell (.50 tranquilizer)
parent: BaseShellShotgun
components:
- type: Tag
tags:
- Cartridge
- ShellShotgun
- ShellShotgunLight
- type: Sprite
layers:
- state: tranquilizer
Expand All @@ -130,6 +146,11 @@
description: A homemade shotgun shell that shoots painful glass shrapnel. The spread is so wide that it couldn't hit the broad side of a barn.
parent: BaseShellShotgun
components:
- type: Tag
tags:
- Cartridge
- ShellShotgun
- ShellShotgunLight
- type: Sprite
layers:
- state: improvised
Expand Down
73 changes: 54 additions & 19 deletions Resources/Prototypes/Entities/Objects/Weapons/Guns/flare_gun.yml
Original file line number Diff line number Diff line change
@@ -1,39 +1,74 @@
- type: entity
name: flare gun
parent: BaseWeaponLauncher
parent: BaseItem
id: WeaponFlareGun
description: A compact, single-shot pistol that fires shotgun shells.
components:
- type: Sprite
sprite: Objects/Weapons/Guns/Shotguns/flaregun.rsi
layers:
- state: icon
- state: base
chromiumboy marked this conversation as resolved.
Show resolved Hide resolved
map: ["enum.GunVisualLayers.Base"]
- type: Item
size: Small
sprite: Objects/Weapons/Guns/Shotguns/flaregun.rsi
- type: Gun
fireRate: 8
selectedMode: SemiAuto
availableModes:
- SemiAuto
soundGunshot:
path: /Audio/Weapons/Guns/Gunshots/flaregun.ogg
- type: BallisticAmmoProvider
whitelist:
tags:
- ShellShotgun
proto: ShellShotgunFlare
capacity: 1
soundInsert:
path: /Audio/Weapons/Guns/MagIn/shotgun_insert.ogg
- type: ItemSlots
slots:
gun_chamber:
name: Chamber
startingItem: ShellShotgunFlare
priority: 1
whitelist:
tags: ## TODO: Add a risk of the gun blowing up if using non-light shotgun shells, and then re-enable them.
## - ShellShotgun
- ShellShotgunLight
- type: ContainerContainer
containers:
ballistic-ammo: !type:Container
ents: []
gun_chamber: !type:ContainerSlot
- type: ChamberMagazineAmmoProvider
autoCycle: false
boltClosed: true
soundBoltClosed: /Audio/Weapons/Guns/Cock/revolver_cock.ogg
soundBoltOpened: /Audio/Weapons/Guns/Cock/revolver_cock.ogg
soundRack: /Audio/Weapons/Guns/Cock/revolver_cock.ogg
- type: Clothing
sprite: Objects/Weapons/Guns/Shotguns/flaregun.rsi
quickEquip: false
slots:
- Belt
- suitStorage
- type: Appearance
- type: Gun
fireRate: 8
selectedMode: SemiAuto
availableModes:
- SemiAuto
soundGunshot:
path: /Audio/Weapons/Guns/Gunshots/flaregun.ogg


- type: entity
name: security shell gun
parent: [WeaponFlareGun, BaseSecurityContraband]
id: WeaponFlareGunSecurity
description: A modified flare gun designed to be used by security to launch non-lethal shotgun shells such as beanbags or tranquilizers. Can still fire lethal shells if neccesary.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If it's suppose to be a non-lethal device, I'm not sure if it firing lethal shells is a good idea. What purpose is this meant to serve?

All new weapons need approval by either sloth or DrSmugleaf (#8524)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well... it's realistic as many irl flare guns are 12 gauge, and it's kind of a cool cheap improvised weapon.

Copy link
Contributor Author

@BramvanZijp BramvanZijp Oct 26, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Quoted from #design-discussion.

Regular passengers will only have access to the regular flare gun (made out of plastic). You can fire shells in it just fine, but if you try to fire any shell other than a flare shell, the flaregun explodes and turns into a broken one, and we can maybe roll a 50% for the gun blowing up in their hand (clumsy system) or it “””working””” and shooting the shot, but one time.

Security will get a metal flaregun that just works with all shells. This is how they work in real life.


Furthermore, the purpose of being able to fire lethal shells is both realism and for in an emergency self defense situation. I would assume giving out lethal sec shell guns is still considered a lethal weapon and thus code red only.
As for the weapon approval, a maintainer said it should be fine unless somebody complains, so let me know if I need to still get review keeping in mind this is just a reskin of an already existing weapon while that weapon is being changed to no longer be lethal.

components:
- type: Sprite
sprite: Objects/Weapons/Guns/Shotguns/flaregun_security.rsi
layers:
- state: base
map: ["enum.GunVisualLayers.Base"]
- type: Item
size: Small
sprite: Objects/Weapons/Guns/Shotguns/flaregun_security.rsi
- type: ItemSlots
slots:
gun_chamber:
name: Chamber
priority: 1
whitelist:
tags:
- ShellShotgun
- type: Tag
tags:
- Sidearm
9 changes: 9 additions & 0 deletions Resources/Prototypes/Recipes/Lathes/security.yml
Original file line number Diff line number Diff line change
Expand Up @@ -603,6 +603,15 @@
Plastic: 320
Uranium: 240

- type: latheRecipe
parent: BaseWeaponRecipe
id: WeaponFlareGunSecurity
result: WeaponFlareGunSecurity
completetime: 6
materials:
Plastic: 100
Steel: 400

- type: latheRecipe
parent: BaseWeaponRecipe
id: WeaponDisabler
Expand Down
3 changes: 3 additions & 0 deletions Resources/Prototypes/tags.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1195,6 +1195,9 @@
- type: Tag
id: ShellShotgun

- type: Tag
id: ShellShotgunLight # shotgun shells that are compatible with the flare gun.

- type: Tag
id: Shiv

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
},
"states": [
{
"name": "icon"
"name": "base"
chromiumboy marked this conversation as resolved.
Show resolved Hide resolved
},
{
"name": "bolt-open"
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from cev-eris at https://github.com/discordia-space/CEV-Eris/raw/3f9ebb72931ff884427c3004a594ec61aaaa7041/icons/obj/guns/projectile/flaregun.dmi and edited",
chromiumboy marked this conversation as resolved.
Show resolved Hide resolved
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "base"
},
{
"name": "bolt-open"
},
{
"name": "inhand-right",
"directions": 4
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "equipped-BELT",
"directions": 4
},
{
"name": "equipped-SUITSTORAGE",
"directions": 4
}
]
}
Loading