Pneumatic cannons (#4560)

* basics & visuals

* pneumatic cannon works perf

* loc + popups

* gas tank does stuff + queue changes

* updates

* b

* forcefeeding

* inhand

* crafting!

* pie cannon now is a pneumatic cannon

* oopy

* fix for entman + verbs

* pie

* change for tools

* actual

* combat mode + better sounds

* reviews
This commit is contained in:
mirrorcult
2021-11-03 14:33:36 -07:00
committed by GitHub
parent 6bb1e58e77
commit 3f51ffbd3c
33 changed files with 791 additions and 89 deletions

View File

@@ -104,10 +104,6 @@
- state: tin
- state: plain
- type: CreamPie
- type: Ammo
caliber: CreamPie
caseless: true
projectile: BulletCreampie
# Tastes like pie, cream, banana.
- type: entity

View File

@@ -14,6 +14,9 @@
- type: Sprite
sprite: Objects/Misc/handcuffs.rsi
state: handcuff
- type: Tag
tags:
- Handcuffs
- type: entity
name: makeshift handcuffs

View File

@@ -82,32 +82,3 @@
magState: mag
steps: 1
zeroVisible: true
- type: entity
name: pie cannon
parent: LauncherBase
id: LauncherCreamPie
description: Load cream pie for optimal results.
components:
- type: Sprite
sprite: Objects/Weapons/Guns/Launchers/pie_cannon.rsi
state: piecannon
- type: Item
size: 24
sprite: Objects/Weapons/Guns/Launchers/pie_cannon.rsi
- type: RangedWeapon
clumsyCheck: false
- type: RevolverBarrel
caliber: CreamPie
currentSelector: Single
allSelectors:
- Single
fillPrototype: FoodPieBananaCream
fireRate: 5
capacity: 5
soundEmpty:
path: /Audio/Weapons/Guns/Empty/empty.ogg
soundGunshot:
path: /Audio/Effects/bang.ogg
soundInsert:
path: /Audio/Items/bikehorn.ogg

View File

@@ -312,30 +312,3 @@
damage:
types:
Piercing: 0
- type: entity
id: BulletCreampie
name: cream pie
parent: BulletBase
description: get creampied, honk!!
abstract: true
components:
- type: Projectile
deleteOnCollide: false # CreamPie component handles this.
damage:
types:
Blunt: 1
- type: CreamPie
- type: ThrownItem
- type: Sprite
sprite: Objects/Consumable/Food/Baked/pie.rsi
netsync: false
layers:
- state: tin
- state: plain
- type: SolutionContainerManager
solutions:
food:
reagents:
- ReagentId: Nutriment
Quantity: 8

View File

@@ -0,0 +1,56 @@
- type: entity
name: improvised pneumatic cannon
parent: BaseItem
id: ImprovisedPneumaticCannon
description: Improvised using nothing but a pipe, some zipties, and a pneumatic cannon.
components:
- type: Sprite
sprite: Objects/Weapons/Guns/Cannons/pneumatic_cannon.rsi
netsync: false
layers:
- state: pneumaticCannon
map: [ "enum.PneumaticCannonVisualLayers.Base" ]
- state: oxygen
map: [ "enum.PneumaticCannonVisualLayers.Tank" ]
visible: false
- type: Item
size: 40
sprite: Objects/Weapons/Guns/Cannons/pneumatic_cannon.rsi
- type: PneumaticCannon
- type: Storage
# todo mirror pneum replace with ecs/evnts
clickInsert: false
capacity: 30
- type: Appearance
visuals:
- type: PneumaticCannonVisualizer
- type: Construction
graph: PneumaticCannon
node: cannon
- type: entity
name: pie cannon
parent: BaseItem
id: LauncherCreamPie
description: Load cream pie for optimal results.
components:
- type: Sprite
sprite: Objects/Weapons/Guns/Cannons/pie_cannon.rsi
layers:
- state: piecannon
- type: Storage
whitelist:
components:
- CreamPie
clickInsert: false
storageSoundCollection:
collection: BikeHorn
capacity: 40
- type: PneumaticCannon
gasTankRequired: false
throwStrength: 30
baseThrowRange: 12
fireInterval: 0.4
- type: Item
size: 50
sprite: Objects/Weapons/Guns/Cannons/pie_cannon.rsi

View File

@@ -61,6 +61,9 @@
- type: AtmosUnsafeUnanchor
- type: AtmosPipeColor
- type: SubFloorHide
- type: Tag
tags:
- Pipe
#Note: The PipeDirection of the PipeNode should be the south-facing version, because the entity starts at an angle of 0 (south)

View File

@@ -0,0 +1,24 @@
- type: constructionGraph
id: PneumaticCannon
start: start
graph:
- node: start
edges:
- to: cannon
steps:
- tag: Pipe
icon:
sprite: Structures/Piping/Atmospherics/pipe.rsi
state: pipeStraight
name: pipe
- tag: Handcuffs
icon:
sprite: Objects/Misc/cablecuffs.rsi
state: cuff
color: red
name: cuffs
- material: Steel
amount: 6
doAfter: 10
- node: cannon
entity: ImprovisedPneumaticCannon

View File

@@ -1,12 +0,0 @@
- type: construction
name: baseball bat
id: bat
graph: WoodenBat
startNode: start
targetNode: bat
category: Weapons
description: A robust baseball bat.
icon:
sprite: Objects/Weapons/Melee/baseball_bat.rsi
state: icon
objectType: Item

View File

@@ -0,0 +1,36 @@
- type: construction
name: baseball bat
id: bat
graph: WoodenBat
startNode: start
targetNode: bat
category: Weapons
description: A robust baseball bat.
icon:
sprite: Objects/Weapons/Melee/baseball_bat.rsi
state: icon
objectType: Item
- type: construction
name: makeshift handcuffs
id: makeshifthandcuffs
graph: makeshifthandcuffs
startNode: start
targetNode: cuffscable
category: Utility
description: "Homemade handcuffs crafted from spare cables."
icon: Objects/Misc/cablecuffs.rsi/cuff.png
objectType: Item
- type: construction
name: improvised pneumatic cannon
id: pneumaticcannon
graph: PneumaticCannon
startNode: start
targetNode: cannon
category: Weapons
objectType: Item
description: This son of a gun can fire anything that fits in it using just a little gas.
icon:
sprite: Objects/Weapons/Guns/Cannons/pneumatic_cannon.rsi
state: pneumaticCannon

View File

@@ -1,11 +0,0 @@
- type: construction
name: makeshift handcuffs
id: makeshifthandcuffs
graph: makeshifthandcuffs
startNode: start
targetNode: cuffscable
category: Utility
description: "Homemade handcuffs crafted from spare cables."
icon: Objects/Misc/cablecuffs.rsi/cuff.png
objectType: Item

View File

@@ -112,6 +112,9 @@
- type: Tag
id: GlassBeaker
- type: Tag
id: Handcuffs
- type: Tag
id: Hoe
@@ -148,6 +151,9 @@
- type: Tag
id: Pill
- type: Tag
id: Pipe
- type: Tag
id: Pizza