Adds the Improvised Shotgun (#18025)

* improvised shotguns

* spaghetti

* progress so far (TODO: rename modular_reciever.yml)

* i forgotted

* everything so far

* fuck fuck fuck (boner boner)

* ganon: You must die

* bobie

* boob boob booby balls
This commit is contained in:
Flareguy
2023-07-18 16:10:07 -05:00
committed by GitHub
parent e95350ee5e
commit ae9af73263
32 changed files with 282 additions and 2 deletions

View File

@@ -24,3 +24,6 @@ tool-quality-sawing-tool-name = Saw
tool-quality-honking-name = Honking
tool-quality-honking-tool-name = Bike Horn
tool-quality-woodcutting-name = Woodcutting
tool-quality-woodcutting-tool-name = Hatchet

View File

@@ -127,6 +127,8 @@
prob: 0.25
- id: StrangePill
prob: 0.20
- id: ModularReceiver
prob: 0.1
- id: DrinkSpaceGlue
prob: 0.20
- id: DrinkSpaceLube
@@ -208,6 +210,12 @@
prob: 0.1
- id: ClothingHandsGlovesColorYellowBudget
prob: 0.25
- id: StrangePill
prob: 0.20
- id: DrinkSpaceGlue
prob: 0.20
- id: ModularReceiver
prob: 0.1
# Syndicate loot
- id: null
prob: 0.95

View File

@@ -0,0 +1,38 @@
#The entire game mysteriously shits itself and dies if you uncomment the item size. I have no idea why.
#TODO: Assimilate these into the same RSI.
- type: entity
parent: BaseItem
id: ModularReceiver
name: modular receiver
description: A vital part used in the creation of firearms. #Could use a better description, but I'm not a gun nut so I can't really do that.
components:
# - type: Item
# size: 15
- type: Sprite
sprite: Objects/Misc/modular_receiver.rsi
- type: Item
sprite: Objects/Misc/modular_receiver.rsi
- type: Tag
tags:
- ModularReceiver
- Metal
- type: entity
parent: BaseItem
id: RifleStock
name: rifle stock
description: A robust wooden stock, used in the creation of firearms. #Same as above
components:
# - type: Item
# size: 25
- type: Sprite
sprite: Objects/Misc/rifle_stock.rsi
- type: Item
sprite: Objects/Misc/rifle_stock.rsi
- type: Construction
graph: RifleStockGraph
node: riflestock
- type: Tag
tags:
- RifleStock
- Wooden

View File

@@ -130,3 +130,22 @@
maxTransferAmount: 7
- type: SpentAmmoVisuals
state: "practice"
#Not yet craftable due to balance concerns. Should take a good bit of setup to create like the /tg/station recipe.
#Either the improvised shotgun or its recipe (as of July 2023) will also probably have to be nerfed if you decide to make this craftable.
- type: entity
id: ShellShotgunImprovised
name: improvised shotgun shell
description: A homemade shotgun shell that shoots painful metal shrapnel. The spread is so wide that it couldn't hit the broad side of a barn.
parent: BaseShellShotgun
components:
- type: Sprite
layers:
- state: improvised
map: [ "enum.AmmoVisualLayers.Base" ]
- type: CartridgeAmmo
count: 10
spread: 45 #deadly if you can get up close... otherwise, good luck doing any kind of real damage
proto: PelletShotgunImprovised
- type: SpentAmmoVisuals
state: "improvised"

View File

@@ -70,6 +70,21 @@
types:
Blunt: 1
- type: entity
id: PelletShotgunImprovised
name: improvised pellet
noSpawn: true
parent: BaseBullet
components:
- type: Sprite
sprite: Objects/Weapons/Guns/Projectiles/projectiles2.rsi
state: buckshot
- type: Projectile
damage:
types:
Piercing: 3
Slash: 3 #remember, it's metal shrapnel!
- type: entity
id: PelletShotgunTranquilizer
name: pellet (.50 tranquilizer)

View File

@@ -220,3 +220,35 @@
fireRate: 2
- type: BallisticAmmoProvider
capacity: 1
- type: entity
name: improvised shotgun
parent: BaseWeaponShotgun
id: WeaponShotgunImprovised
description: A shitty, hand-made shotgun that uses .50 shotgun shells. It can only hold one round in the chamber.
components:
- type: Sprite
sprite: Objects/Weapons/Guns/Shotguns/improvised_shotgun.rsi
- type: Clothing
sprite: Objects/Weapons/Guns/Shotguns/improvised_shotgun.rsi
- type: Item
size: 75
- type: Gun
fireRate: 4 #No reason to stifle the firerate since you have to manually reload every time anyways.
- type: BallisticAmmoProvider
capacity: 1
proto: null
- type: Construction
graph: ImprovisedShotgunGraph
node: shotgun
- type: StaticPrice
price: 400
- type: entity
name: improvised shotgun
parent: WeaponShotgunImprovised
suffix: Loaded
id: WeaponShotgunImprovisedLoaded
components:
- type: BallisticAmmoProvider
proto: ShellShotgunImprovised

View File

@@ -98,6 +98,7 @@
- GasAnalyzer
- UtilityBelt
- Pickaxe
- ModularReceiver
- AppraisalTool
- SheetRGlass
- Beaker

View File

@@ -0,0 +1,28 @@
- type: constructionGraph
id: ImprovisedShotgunGraph
start: start
graph:
- node: start
edges:
- to: shotgun
steps:
- tag: Pipe
icon:
sprite: Structures/Piping/Atmospherics/pipe.rsi
state: pipeStraight
name: pipe
- tag: ModularReceiver
icon:
sprite: Objects/Misc/modular_receiver.rsi
state: icon
name: modular receiver
- tag: RifleStock
icon:
sprite: Objects/Misc/rifle_stock.rsi
state: icon
name: rifle stock
- material: Cloth
amount: 3
doAfter: 10
- node: shotgun
entity: WeaponShotgunImprovised

View File

@@ -0,0 +1,14 @@
#In its own file and not improvised-shotgun.yml in case anyone ever wants to add more guns that use it.
- type: constructionGraph
id: RifleStockGraph
start: start
graph:
- node: start
edges:
- to: riflestock
steps:
- material: WoodPlank
amount: 5
doAfter: 4
- node: riflestock
entity: RifleStock

View File

@@ -112,3 +112,29 @@
icon:
sprite: Objects/Specific/Janitorial/rag.rsi
state: rag
- type: construction
name: improvised shotgun
id: improvisedshotgun
graph: ImprovisedShotgunGraph
startNode: start
targetNode: shotgun
category: construction-category-weapons
objectType: Item
description: A shitty, single-shot shotgun made from salvaged and hand-crafted gun parts. Ammo not included.
icon:
sprite: Objects/Weapons/Guns/Shotguns/improvised_shotgun.rsi
state: icon
- type: construction
name: rifle stock
id: riflestock
graph: RifleStockGraph
startNode: start
targetNode: riflestock
category: construction-category-weapons
objectType: Item
description: A stock carved out of wood, vital for improvised firearms.
icon:
sprite: Objects/Misc/rifle_stock.rsi
state: icon

View File

@@ -84,3 +84,11 @@
materials:
Steel: 1000
Plastic: 500
- type: latheRecipe
id: ModularReceiver
result: ModularReceiver
completetime: 12
materials:
Steel: 750
Plastic: 100

View File

@@ -875,3 +875,9 @@
- type: Tag
id: Write
- type: Tag
id: RifleStock
- type: Tag
id: ModularReceiver

View File

@@ -59,4 +59,4 @@
name: tool-quality-honking-name
toolName: tool-quality-honking-tool-name
spawn: BikeHorn
icon: { sprite: Objects/Fun/bikehorn.rsi, state: icon }
icon: { sprite: Objects/Fun/bikehorn.rsi, state: icon }

Binary file not shown.

After

Width:  |  Height:  |  Size: 353 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 240 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 B

View File

@@ -0,0 +1,22 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from https://github.com/tgstation/tgstation at commit 6665eec76c98a4f3f89bebcd10b34b47dcc0b8ae. Inhands sprited by Flareguy for Space Station 14.",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon"
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 296 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 289 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 297 B

View File

@@ -0,0 +1,22 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken from https://github.com/tgstation/tgstation at commit 6665eec76c98a4f3f89bebcd10b34b47dcc0b8ae. Inhands sprited by Flareguy for Space Station 14.",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon"
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 284 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 282 B

View File

@@ -5,7 +5,7 @@
"y": 32
},
"license": "CC-BY-SA-3.0",
"copyright": "https://github.com/discordia-space/CEV-Eris/raw/e1d495c3faf4642b6ec1c4be8acc7cd5bc51d785/icons/obj/ammo.dmi",
"copyright": "https://github.com/discordia-space/CEV-Eris/raw/e1d495c3faf4642b6ec1c4be8acc7cd5bc51d785/icons/obj/ammo.dmi, improvised ammo from https://github.com/tgstation/tgstation/ at commit fb2d71495bfe81446159ef528534193d09dd8d34",
"states": [
{
"name": "base"
@@ -31,6 +31,12 @@
{
"name": "flare-spent"
},
{
"name": "improvised"
},
{
"name": "improvised-spent"
},
{
"name": "incendiary"
},

Binary file not shown.

After

Width:  |  Height:  |  Size: 541 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 379 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 500 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 512 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 301 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 403 B

View File

@@ -0,0 +1,32 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Taken/modified from https://github.com/tgstation/tgstation/ at commit fb2d71495bfe81446159ef528534193d09dd8d34, inhand and back sprites modified by Flareguy",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon"
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
},
{
"name": "equipped-BACKPACK",
"directions": 4
},
{
"name": "ishotgunstep1"
},
{
"name": "ishotgunstep2"
}
]
}