Fleshes out smoking content (#3295)
* RSIs sorted out * Bookmark * Updated packet RSIs for Stacks * Cigs Packs done * Cigarette Cartons * fucking MANUALLY fixed the cigarette inhands, fuck you tgstation * Pipes work * Cigars/Cases * Updates vending machine inventory * tweaks count * Adds a cigarette crate * Fixes RSIs, working on rolling paper * Adds Tobacco and Cannabis plants * Cigarettes and Rollies are now craftable * There * Fixed crafting recipes * Reset RobustToolbox * Netsync'd * Ready Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
This commit is contained in:
@@ -31,3 +31,29 @@
|
||||
amount: 1
|
||||
- name: BoxLightbulb
|
||||
amount: 1
|
||||
|
||||
- type: entity
|
||||
id: CrateServiceSmokeables
|
||||
name: smokeables crate
|
||||
description: "Tired of a quick death on the station? Order this crate and chain-smoke your way to a coughy demise!"
|
||||
parent: CrateGenericonimo
|
||||
components:
|
||||
- type: StorageFill
|
||||
contents:
|
||||
- name: CigCartonGreen
|
||||
prob: 0.50
|
||||
orGroup: CigCarton1
|
||||
- name: CigCartonRed
|
||||
orGroup: CigCarton1
|
||||
- name: CigCartonBlue
|
||||
prob: 0.50
|
||||
orGroup: CigCarton2
|
||||
- name: CigCartonBlack
|
||||
orGroup: CigCarton2
|
||||
- name: CigarGoldCase
|
||||
prob: 0.05
|
||||
orGroup: Cigars
|
||||
- name: CigarCase
|
||||
orGroup: Cigars
|
||||
- name: Matchbox
|
||||
amount: 2
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
- type: entity
|
||||
id: Rollie
|
||||
parent: BaseSmokeable
|
||||
name: blunt
|
||||
description: "A roll of dried plant matter wrapped in thin paper."
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Consumable/Smokeables/Cigarettes/blunt.rsi
|
||||
netsync: false
|
||||
state: unlit-icon
|
||||
- type: Tag
|
||||
tags:
|
||||
- Cigarette
|
||||
- type: Clothing
|
||||
sprite: Objects/Consumable/Smokeables/Cigarettes/blunt.rsi
|
||||
Slots: [ mask ]
|
||||
HeldPrefix: unlit
|
||||
size: 1
|
||||
- type: Construction
|
||||
graph: smokeableRollie
|
||||
node: rollie
|
||||
@@ -0,0 +1,73 @@
|
||||
- type: entity
|
||||
id: CigCartonGreen
|
||||
parent: BoxBase
|
||||
name: Spessman's Smokes carton
|
||||
description: "A carton containing 6 packets of Spessman's Smokes."
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Consumable/Smokeables/Cigarettes/Cartons/green.rsi
|
||||
layers:
|
||||
- state: closed
|
||||
- type: Storage
|
||||
capacity: 36
|
||||
- type: Item
|
||||
sprite: Objects/Consumable/Smokeables/Cigarettes/Cartons/green.rsi
|
||||
- type: StorageFill
|
||||
contents:
|
||||
- name: CigPackGreen
|
||||
amount: 6
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: BagOpenCloseVisualizer
|
||||
openIcon: open
|
||||
|
||||
- type: entity
|
||||
id: CigCartonRed
|
||||
parent: CigCartonGreen
|
||||
name: Dromedaryco carton
|
||||
description: "A carton containing 6 packets of Dromedarycos."
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Consumable/Smokeables/Cigarettes/Cartons/red.rsi
|
||||
layers:
|
||||
- state: closed
|
||||
- type: Item
|
||||
sprite: Objects/Consumable/Smokeables/Cigarettes/Cartons/red.rsi
|
||||
- type: StorageFill
|
||||
contents:
|
||||
- name: CigPackRed
|
||||
amount: 6
|
||||
|
||||
- type: entity
|
||||
id: CigCartonBlue
|
||||
parent: CigCartonGreen
|
||||
name: AcmeCo carton
|
||||
description: "A carton containing 6 packets of AcmeCo."
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Consumable/Smokeables/Cigarettes/Cartons/blue.rsi
|
||||
layers:
|
||||
- state: closed
|
||||
- type: Item
|
||||
sprite: Objects/Consumable/Smokeables/Cigarettes/Cartons/blue.rsi
|
||||
- type: StorageFill
|
||||
contents:
|
||||
- name: CigPackBlue
|
||||
amount: 6
|
||||
|
||||
- type: entity
|
||||
id: CigCartonBlack
|
||||
parent: CigCartonGreen
|
||||
name: Nomads carton
|
||||
description: "A carton containing 6 packets of Nomads."
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Consumable/Smokeables/Cigarettes/Cartons/black.rsi
|
||||
layers:
|
||||
- state: closed
|
||||
- type: Item
|
||||
sprite: Objects/Consumable/Smokeables/Cigarettes/Cartons/black.rsi
|
||||
- type: StorageFill
|
||||
contents:
|
||||
- name: CigPackBlack
|
||||
amount: 6
|
||||
@@ -0,0 +1,25 @@
|
||||
- type: Tag
|
||||
id: Cigarette
|
||||
|
||||
- type: entity
|
||||
id: Cigarette
|
||||
parent: BaseSmokeable
|
||||
name: cigarette
|
||||
description: "A roll of tobacco and nicotine."
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Consumable/Smokeables/Cigarettes/cigarette.rsi
|
||||
netsync: false
|
||||
state: unlit-icon
|
||||
- type: Tag
|
||||
tags:
|
||||
- Cigarette
|
||||
- type: Clothing
|
||||
netsync: false
|
||||
sprite: Objects/Consumable/Smokeables/Cigarettes/cigarette.rsi
|
||||
Slots: [ mask ]
|
||||
HeldPrefix: unlit
|
||||
size: 1
|
||||
- type: Construction
|
||||
graph: smokeableCigarette
|
||||
node: cigarette
|
||||
@@ -0,0 +1,88 @@
|
||||
- type: entity
|
||||
id: CigPackBase
|
||||
parent: BaseItem
|
||||
name: cigarette pack
|
||||
abstract: true
|
||||
components:
|
||||
- type: Sprite
|
||||
netsync: false
|
||||
state: closed
|
||||
- type: Storage
|
||||
capacity: 6
|
||||
- type: Item
|
||||
size: 6
|
||||
- type: StorageFill
|
||||
contents:
|
||||
- name: Cigarette
|
||||
amount: 6
|
||||
- type: StorageCounter
|
||||
countTag: Cigarette
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: BagOpenCloseVisualizer
|
||||
openIcon: open
|
||||
- type: StackVisualizer
|
||||
composite: true
|
||||
stackLayers:
|
||||
- cig1
|
||||
- cig2
|
||||
- cig3
|
||||
- cig4
|
||||
- cig5
|
||||
- cig6
|
||||
|
||||
- type: entity
|
||||
id: CigPackGreen
|
||||
parent: CigPackBase
|
||||
name: Spessman's Smokes packet
|
||||
description: "A label on the packaging reads, 'Wouldn't a slow death make a change?'"
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Consumable/Smokeables/Cigarettes/Packs/green.rsi
|
||||
layers:
|
||||
- state: closed
|
||||
- type: Item
|
||||
sprite: Objects/Consumable/Smokeables/Cigarettes/Packs/green.rsi
|
||||
size: 6
|
||||
|
||||
- type: entity
|
||||
id: CigPackRed
|
||||
parent: CigPackBase
|
||||
name: DromedaryCo packet
|
||||
description: "The most popular brand of Space Cigarettes, sponsors of the Space Olympics."
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Consumable/Smokeables/Cigarettes/Packs/red.rsi
|
||||
layers:
|
||||
- state: closed
|
||||
- type: Item
|
||||
sprite: Objects/Consumable/Smokeables/Cigarettes/Packs/red.rsi
|
||||
size: 6
|
||||
|
||||
- type: entity
|
||||
id: CigPackBlue
|
||||
parent: CigPackBase
|
||||
name: AcmeCo packet
|
||||
description: "For those who somehow want to obtain the record for the most amount of cancerous tumors."
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Consumable/Smokeables/Cigarettes/Packs/blue.rsi
|
||||
layers:
|
||||
- state: closed
|
||||
- type: Item
|
||||
sprite: Objects/Consumable/Smokeables/Cigarettes/Packs/blue.rsi
|
||||
size: 6
|
||||
|
||||
- type: entity
|
||||
id: CigPackBlack
|
||||
parent: CigPackBase
|
||||
name: Nomads packet
|
||||
description: "Nomads's extra strong, for when your life is more extra hard."
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Consumable/Smokeables/Cigarettes/Packs/black.rsi
|
||||
layers:
|
||||
- state: closed
|
||||
- type: Item
|
||||
sprite: Objects/Consumable/Smokeables/Cigarettes/Packs/black.rsi
|
||||
size: 6
|
||||
@@ -0,0 +1,50 @@
|
||||
- type: entity
|
||||
parent: BaseItem
|
||||
name: pack of rolling paper
|
||||
id: PackPaperRolling
|
||||
description: "A pack of thin pieces of paper used to make fine smokeables."
|
||||
components:
|
||||
# I know but it just works.
|
||||
- type: FoodContainer
|
||||
prototypes:
|
||||
PaperRolling: 100
|
||||
- type: Sprite
|
||||
sprite: Objects/Consumable/Smokeables/Cigarettes/paper.rsi
|
||||
state: cigpapers
|
||||
- type: Item
|
||||
sprite: Objects/Consumable/Smokeables/Cigarettes/paper.rsi
|
||||
state: cigpapers
|
||||
|
||||
- type: entity
|
||||
id: PaperRolling
|
||||
name: rolling paper
|
||||
description: "A thin piece of paper used to make fine smokeables."
|
||||
parent: BaseItem
|
||||
components:
|
||||
- type: Stack
|
||||
stacktype: enum.StackType.PaperRolling
|
||||
max: 5
|
||||
count: 1
|
||||
- type: Sprite
|
||||
sprite: Objects/Consumable/Smokeables/Cigarettes/paper.rsi
|
||||
state: cigpaper
|
||||
- type: Item
|
||||
sprite: Objects/Consumable/Smokeables/Cigarettes/paper.rsi
|
||||
state: cigpaper
|
||||
|
||||
- type: entity
|
||||
id: CigaretteFilter
|
||||
name: cigarette filter
|
||||
description: "A strip of firm paper used as a filter for handmade cigarettes."
|
||||
parent: BaseItem
|
||||
components:
|
||||
- type: Stack
|
||||
stacktype: enum.StackType.CigaretteFilter
|
||||
max: 5
|
||||
count: 1
|
||||
- type: Sprite
|
||||
sprite: Objects/Consumable/Smokeables/Cigarettes/paper.rsi
|
||||
state: cigfilter
|
||||
- type: Item
|
||||
sprite: Objects/Consumable/Smokeables/Cigarettes/paper.rsi
|
||||
state: cigfilter
|
||||
@@ -0,0 +1,48 @@
|
||||
- type: entity
|
||||
id: CigarCase
|
||||
parent: BaseItem
|
||||
name: cigar case
|
||||
description: "A case for holding your cigars when you are not smoking them."
|
||||
components:
|
||||
- type: Sprite
|
||||
netsync: false
|
||||
sprite: Objects/Consumable/Smokeables/Cigars/case.rsi
|
||||
layers:
|
||||
- state: closed
|
||||
- type: Storage
|
||||
capacity: 8
|
||||
- type: Item
|
||||
sprite: Objects/Consumable/Smokeables/Cigars/case.rsi
|
||||
size: 8
|
||||
- type: StorageFill
|
||||
contents:
|
||||
- name: Cigar
|
||||
amount: 8
|
||||
- type: StorageCounter
|
||||
countTag: Cigar
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: BagOpenCloseVisualizer
|
||||
openIcon: open
|
||||
- type: StackVisualizer
|
||||
composite: true
|
||||
stackLayers:
|
||||
- cigar1
|
||||
- cigar2
|
||||
- cigar3
|
||||
- cigar4
|
||||
- cigar5
|
||||
- cigar6
|
||||
- cigar7
|
||||
- cigar8
|
||||
|
||||
- type: entity
|
||||
id: CigarGoldCase
|
||||
parent: CigarCase
|
||||
name: premium cigar case
|
||||
description: "A case of premium Havanian cigars. You'll only see heads with these."
|
||||
components:
|
||||
- type: StorageFill
|
||||
contents:
|
||||
- name: CigarGold
|
||||
amount: 8
|
||||
@@ -0,0 +1,39 @@
|
||||
- type: Tag
|
||||
id: Cigar
|
||||
|
||||
- type: entity
|
||||
id: Cigar
|
||||
parent: BaseSmokeable
|
||||
name: cigar
|
||||
description: "A brown roll of tobacco and... well, you're not quite sure."
|
||||
components:
|
||||
- type: Smoking
|
||||
duration: 70
|
||||
- type: Sprite
|
||||
sprite: Objects/Consumable/Smokeables/Cigars/cigar.rsi
|
||||
netsync: false
|
||||
state: unlit-icon
|
||||
- type: Tag
|
||||
tags:
|
||||
- Cigar
|
||||
- type: Clothing
|
||||
sprite: Objects/Consumable/Smokeables/Cigars/cigar.rsi
|
||||
Slots: [ mask ]
|
||||
HeldPrefix: unlit
|
||||
size: 1
|
||||
|
||||
- type: entity
|
||||
id: CigarGold
|
||||
parent: Cigar
|
||||
name: premium Havanian cigar
|
||||
description: "A cigar fit for only the best of the best."
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Consumable/Smokeables/Cigars/cigar-gold.rsi
|
||||
netsync: false
|
||||
state: unlit-icon
|
||||
- type: Clothing
|
||||
sprite: Objects/Consumable/Smokeables/Cigars/cigar-gold.rsi
|
||||
Slots: [ mask ]
|
||||
HeldPrefix: unlit
|
||||
size: 1
|
||||
@@ -0,0 +1,11 @@
|
||||
- type: entity
|
||||
description: "If you want to get cancer, might as well do it in style."
|
||||
id: BaseSmokeable
|
||||
parent: BaseItem
|
||||
abstract: true
|
||||
components:
|
||||
- type: Smoking
|
||||
duration: 50
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: BurnStateVisualizer
|
||||
@@ -0,0 +1,17 @@
|
||||
- type: entity
|
||||
id: SmokingPipe
|
||||
parent: BaseSmokeable
|
||||
name: smoking pipe
|
||||
description: "A pipe, for smoking. Probably made of meershaum or something."
|
||||
components:
|
||||
- type: Smoking
|
||||
duration: 70
|
||||
- type: Sprite
|
||||
sprite: Objects/Consumable/Smokeables/Pipes/pipe.rsi
|
||||
netsync: false
|
||||
state: unlit-icon
|
||||
- type: Clothing
|
||||
sprite: Objects/Consumable/Smokeables/Pipes/pipe.rsi
|
||||
Slots: [ mask ]
|
||||
HeldPrefix: unlit
|
||||
size: 1
|
||||
@@ -1,62 +0,0 @@
|
||||
- type: Tag
|
||||
id: Cigarette
|
||||
- type: entity
|
||||
name: "Base Cigarette"
|
||||
id: BaseCigarette
|
||||
parent: BaseItem
|
||||
abstract: true
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Consumable/Fancy/mask_cig.rsi
|
||||
netsync: false
|
||||
state: icon
|
||||
- type: Clothing
|
||||
sprite: Objects/Consumable/Fancy/mask_cig.rsi
|
||||
Slots: [ mask ]
|
||||
HeldPrefix: unlit
|
||||
size: 1
|
||||
- type: Tag
|
||||
tags:
|
||||
- Cigarette
|
||||
- type: Smoking
|
||||
duration: 30
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: BurnStateVisualizer
|
||||
|
||||
- type: entity
|
||||
id: Cigarette
|
||||
parent: BaseCigarette
|
||||
name: cigarette
|
||||
description: "If you want to get cancer, might as well do it in style."
|
||||
|
||||
- type: entity
|
||||
id: CigarettePack
|
||||
parent: SmallboxItem
|
||||
name: cigarette pack
|
||||
description: "Pack of cigarettes"
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Consumable/Fancy/cigarettes.rsi
|
||||
netsync: false
|
||||
layers:
|
||||
- state: cig
|
||||
- type: StorageFill
|
||||
contents:
|
||||
- name: Cigarette
|
||||
amount: 6
|
||||
- type: StorageCounter
|
||||
countTag: Cigarette
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: BagOpenCloseVisualizer
|
||||
openIcon: cig_open
|
||||
- type: StackVisualizer
|
||||
composite: true
|
||||
stackLayers:
|
||||
- cigarette_1
|
||||
- cigarette_2
|
||||
- cigarette_3
|
||||
- cigarette_4
|
||||
- cigarette_5
|
||||
- cigarette_6
|
||||
@@ -4,6 +4,7 @@
|
||||
abstract: true
|
||||
components:
|
||||
- type: Sprite
|
||||
netsync: false
|
||||
sprite: Objects/Storage/boxes.rsi
|
||||
- type: Item
|
||||
sprite: Objects/Storage/boxes.rsi
|
||||
|
||||
@@ -247,3 +247,117 @@
|
||||
sprite: Objects/Specific/Hydroponics/chanterelle.rsi
|
||||
- type: Produce
|
||||
seed: chanterelle
|
||||
|
||||
# Leaves
|
||||
|
||||
- type: entity
|
||||
name: cannabis leaves
|
||||
parent: ProduceBase
|
||||
id: LeavesCannabis
|
||||
description: "Recently legalized in most galaxies."
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/cannabis.rsi
|
||||
- type: Produce
|
||||
seed: cannabis
|
||||
- type: Food
|
||||
- type: SolutionContainer
|
||||
contents:
|
||||
reagents:
|
||||
- ReagentId: chem.THCOil
|
||||
Quantity: 5
|
||||
|
||||
- type: entity
|
||||
name: dried cannabis leaves
|
||||
parent: BaseItem
|
||||
id: LeavesCannabisDried
|
||||
description: "Dried cannabis leaves, ready to be ground."
|
||||
components:
|
||||
- type: Stack
|
||||
stacktype: enum.StackType.LeavesCannabisDried
|
||||
max: 5
|
||||
count: 1
|
||||
- type: SolutionContainer
|
||||
contents:
|
||||
reagents:
|
||||
- ReagentId: chem.THC
|
||||
Quantity: 2
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/tobacco.rsi
|
||||
state: dried
|
||||
|
||||
- type: entity
|
||||
name: ground cannabis
|
||||
parent: BaseItem
|
||||
id: GroundCannabis
|
||||
description: "Ground cannabis, ready to take you on a trip."
|
||||
components:
|
||||
- type: Stack
|
||||
stacktype: enum.StackType.GroundCannabis
|
||||
max: 5
|
||||
count: 1
|
||||
- type: SolutionContainer
|
||||
contents:
|
||||
reagents:
|
||||
- ReagentId: chem.THC
|
||||
Quantity: 10
|
||||
- type: Sprite
|
||||
sprite: Objects/Misc/reageant_fillings.rsi
|
||||
state: powderpile
|
||||
color: darkgreen
|
||||
- type: Construction
|
||||
graph: smokeableGroundCannabis
|
||||
node: ground
|
||||
|
||||
- type: entity
|
||||
name: tobacco leaves
|
||||
parent: ProduceBase
|
||||
id: LeavesTobacco
|
||||
description: "Dry them out to make some smokes."
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/tobacco.rsi
|
||||
- type: Produce
|
||||
seed: tobacco
|
||||
|
||||
- type: entity
|
||||
name: dried tobacco leaves
|
||||
parent: BaseItem
|
||||
id: LeavesTobaccoDried
|
||||
description: "Dried tobacco leaves, ready to be ground."
|
||||
components:
|
||||
- type: Stack
|
||||
stacktype: enum.StackType.LeavesTobaccoDried
|
||||
max: 5
|
||||
count: 1
|
||||
- type: SolutionContainer
|
||||
contents:
|
||||
reagents:
|
||||
- ReagentId: chem.Nicotine
|
||||
Quantity: 2
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/tobacco.rsi
|
||||
state: dried
|
||||
|
||||
- type: entity
|
||||
name: ground tobacco
|
||||
parent: BaseItem
|
||||
id: GroundTobacco
|
||||
description: "Ground tobacco, perfect for hand-rolled cigarettes."
|
||||
components:
|
||||
- type: Stack
|
||||
stacktype: enum.StackType.GroundTobacco
|
||||
max: 5
|
||||
count: 1
|
||||
- type: SolutionContainer
|
||||
contents:
|
||||
reagents:
|
||||
- ReagentId: chem.Nicotine
|
||||
Quantity: 10
|
||||
- type: Sprite
|
||||
sprite: Objects/Misc/reageant_fillings.rsi
|
||||
state: powderpile
|
||||
color: brown
|
||||
- type: Construction
|
||||
graph: smokeableGroundTobacco
|
||||
node: ground
|
||||
|
||||
@@ -140,3 +140,25 @@
|
||||
seed: eggy
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/eggy.rsi
|
||||
|
||||
- type: entity
|
||||
parent: SeedBase
|
||||
name: packet of tobacco seeds
|
||||
description: "These seeds grow into tobacco plants."
|
||||
id: TobaccoSeeds
|
||||
components:
|
||||
- type: Seed
|
||||
seed: tobacco
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/tobacco.rsi
|
||||
|
||||
- type: entity
|
||||
parent: SeedBase
|
||||
name: packet of cannabis seeds
|
||||
description: "Taxable."
|
||||
id: CannabisSeeds
|
||||
components:
|
||||
- type: Seed
|
||||
seed: cannabis
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/cannabis.rsi
|
||||
|
||||
Reference in New Issue
Block a user