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
@@ -24,3 +24,6 @@ tool-quality-sawing-tool-name = Saw
|
|||||||
|
|
||||||
tool-quality-honking-name = Honking
|
tool-quality-honking-name = Honking
|
||||||
tool-quality-honking-tool-name = Bike Horn
|
tool-quality-honking-tool-name = Bike Horn
|
||||||
|
|
||||||
|
tool-quality-woodcutting-name = Woodcutting
|
||||||
|
tool-quality-woodcutting-tool-name = Hatchet
|
||||||
@@ -127,6 +127,8 @@
|
|||||||
prob: 0.25
|
prob: 0.25
|
||||||
- id: StrangePill
|
- id: StrangePill
|
||||||
prob: 0.20
|
prob: 0.20
|
||||||
|
- id: ModularReceiver
|
||||||
|
prob: 0.1
|
||||||
- id: DrinkSpaceGlue
|
- id: DrinkSpaceGlue
|
||||||
prob: 0.20
|
prob: 0.20
|
||||||
- id: DrinkSpaceLube
|
- id: DrinkSpaceLube
|
||||||
@@ -208,6 +210,12 @@
|
|||||||
prob: 0.1
|
prob: 0.1
|
||||||
- id: ClothingHandsGlovesColorYellowBudget
|
- id: ClothingHandsGlovesColorYellowBudget
|
||||||
prob: 0.25
|
prob: 0.25
|
||||||
|
- id: StrangePill
|
||||||
|
prob: 0.20
|
||||||
|
- id: DrinkSpaceGlue
|
||||||
|
prob: 0.20
|
||||||
|
- id: ModularReceiver
|
||||||
|
prob: 0.1
|
||||||
# Syndicate loot
|
# Syndicate loot
|
||||||
- id: null
|
- id: null
|
||||||
prob: 0.95
|
prob: 0.95
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -130,3 +130,22 @@
|
|||||||
maxTransferAmount: 7
|
maxTransferAmount: 7
|
||||||
- type: SpentAmmoVisuals
|
- type: SpentAmmoVisuals
|
||||||
state: "practice"
|
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"
|
||||||
@@ -70,6 +70,21 @@
|
|||||||
types:
|
types:
|
||||||
Blunt: 1
|
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
|
- type: entity
|
||||||
id: PelletShotgunTranquilizer
|
id: PelletShotgunTranquilizer
|
||||||
name: pellet (.50 tranquilizer)
|
name: pellet (.50 tranquilizer)
|
||||||
|
|||||||
@@ -220,3 +220,35 @@
|
|||||||
fireRate: 2
|
fireRate: 2
|
||||||
- type: BallisticAmmoProvider
|
- type: BallisticAmmoProvider
|
||||||
capacity: 1
|
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
|
||||||
@@ -98,6 +98,7 @@
|
|||||||
- GasAnalyzer
|
- GasAnalyzer
|
||||||
- UtilityBelt
|
- UtilityBelt
|
||||||
- Pickaxe
|
- Pickaxe
|
||||||
|
- ModularReceiver
|
||||||
- AppraisalTool
|
- AppraisalTool
|
||||||
- SheetRGlass
|
- SheetRGlass
|
||||||
- Beaker
|
- Beaker
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -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
|
||||||
@@ -112,3 +112,29 @@
|
|||||||
icon:
|
icon:
|
||||||
sprite: Objects/Specific/Janitorial/rag.rsi
|
sprite: Objects/Specific/Janitorial/rag.rsi
|
||||||
state: rag
|
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
|
||||||
|
|||||||
@@ -84,3 +84,11 @@
|
|||||||
materials:
|
materials:
|
||||||
Steel: 1000
|
Steel: 1000
|
||||||
Plastic: 500
|
Plastic: 500
|
||||||
|
|
||||||
|
- type: latheRecipe
|
||||||
|
id: ModularReceiver
|
||||||
|
result: ModularReceiver
|
||||||
|
completetime: 12
|
||||||
|
materials:
|
||||||
|
Steel: 750
|
||||||
|
Plastic: 100
|
||||||
|
|||||||
@@ -875,3 +875,9 @@
|
|||||||
|
|
||||||
- type: Tag
|
- type: Tag
|
||||||
id: Write
|
id: Write
|
||||||
|
|
||||||
|
- type: Tag
|
||||||
|
id: RifleStock
|
||||||
|
|
||||||
|
- type: Tag
|
||||||
|
id: ModularReceiver
|
||||||
|
|||||||
@@ -59,4 +59,4 @@
|
|||||||
name: tool-quality-honking-name
|
name: tool-quality-honking-name
|
||||||
toolName: tool-quality-honking-tool-name
|
toolName: tool-quality-honking-tool-name
|
||||||
spawn: BikeHorn
|
spawn: BikeHorn
|
||||||
icon: { sprite: Objects/Fun/bikehorn.rsi, state: icon }
|
icon: { sprite: Objects/Fun/bikehorn.rsi, state: icon }
|
||||||
BIN
Resources/Textures/Objects/Misc/modular_receiver.rsi/icon.png
Normal file
|
After Width: | Height: | Size: 353 B |
|
After Width: | Height: | Size: 240 B |
|
After Width: | Height: | Size: 260 B |
@@ -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
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
BIN
Resources/Textures/Objects/Misc/rifle_stock.rsi/icon.png
Normal file
|
After Width: | Height: | Size: 296 B |
BIN
Resources/Textures/Objects/Misc/rifle_stock.rsi/inhand-left.png
Normal file
|
After Width: | Height: | Size: 289 B |
BIN
Resources/Textures/Objects/Misc/rifle_stock.rsi/inhand-right.png
Normal file
|
After Width: | Height: | Size: 297 B |
22
Resources/Textures/Objects/Misc/rifle_stock.rsi/meta.json
Normal 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
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 284 B |
|
After Width: | Height: | Size: 282 B |
@@ -5,7 +5,7 @@
|
|||||||
"y": 32
|
"y": 32
|
||||||
},
|
},
|
||||||
"license": "CC-BY-SA-3.0",
|
"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": [
|
"states": [
|
||||||
{
|
{
|
||||||
"name": "base"
|
"name": "base"
|
||||||
@@ -31,6 +31,12 @@
|
|||||||
{
|
{
|
||||||
"name": "flare-spent"
|
"name": "flare-spent"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "improvised"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "improvised-spent"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "incendiary"
|
"name": "incendiary"
|
||||||
},
|
},
|
||||||
|
|||||||
|
After Width: | Height: | Size: 541 B |
|
After Width: | Height: | Size: 379 B |
|
After Width: | Height: | Size: 500 B |
|
After Width: | Height: | Size: 512 B |
|
After Width: | Height: | Size: 301 B |
|
After Width: | Height: | Size: 403 B |
@@ -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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||