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-tool-name = Bike Horn
|
||||
|
||||
tool-quality-woodcutting-name = Woodcutting
|
||||
tool-quality-woodcutting-tool-name = Hatchet
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
- 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"
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
@@ -98,6 +98,7 @@
|
||||
- GasAnalyzer
|
||||
- UtilityBelt
|
||||
- Pickaxe
|
||||
- ModularReceiver
|
||||
- AppraisalTool
|
||||
- SheetRGlass
|
||||
- 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:
|
||||
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
|
||||
|
||||
@@ -84,3 +84,11 @@
|
||||
materials:
|
||||
Steel: 1000
|
||||
Plastic: 500
|
||||
|
||||
- type: latheRecipe
|
||||
id: ModularReceiver
|
||||
result: ModularReceiver
|
||||
completetime: 12
|
||||
materials:
|
||||
Steel: 750
|
||||
Plastic: 100
|
||||
|
||||
@@ -875,3 +875,9 @@
|
||||
|
||||
- type: Tag
|
||||
id: Write
|
||||
|
||||
- type: Tag
|
||||
id: RifleStock
|
||||
|
||||
- type: Tag
|
||||
id: ModularReceiver
|
||||
|
||||
@@ -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 }
|
||||
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
|
||||
},
|
||||
"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"
|
||||
},
|
||||
|
||||
|
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"
|
||||
}
|
||||
]
|
||||
}
|
||||