Botany (#2357)
* plants and seeds go brrrr * update plants * P L A N T * brrrr * Hydroponics actually work! How about that? * Reuse resource path in visualizer * They lied to us. * Several stuffs * more werk * Add a bunch of plants * Logs go brr. * Brrr moment. * Remove unused method * Important comment. * Seed inventory, yo! * tomato moment * Balance consumption * Makes hydroponics pourable * Adds plant metabolism effect for sugar, the same as glucose. * Eggplant moment * Apple moment * Corn moment * Chanterelle mushroom moment * prototype tweaks * Seed extractor moment * typo * IPlantMetabolizable doc improvement * I should trust my gut instinct more often. * egg-plant..... * localization * Make WaterLevel and NutritionLevel setters private * Less code repetition! Wooo!
This commit is contained in:
committed by
GitHub
parent
7c57d10531
commit
484eb0bba4
@@ -0,0 +1,28 @@
|
||||
- type: entity
|
||||
id: SeedExtractor
|
||||
name: seed extractor
|
||||
description: Extracts seeds from produce.
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
- type: Clickable
|
||||
- type: InteractionOutline
|
||||
- type: Sprite
|
||||
sprite: Constructible/Hydroponics/hydro_tools.rsi
|
||||
state: sextractor
|
||||
- type: Physics
|
||||
mass: 25
|
||||
anchored: true
|
||||
shapes:
|
||||
- !type:PhysShapeAabb
|
||||
bounds: "-0.4,-0.25,0.4,0.25"
|
||||
layer:
|
||||
- Opaque
|
||||
- Impassable
|
||||
- MobImpassable
|
||||
- VaultImpassable
|
||||
- type: SnapGrid
|
||||
offset: Center
|
||||
- type: Anchorable
|
||||
- type: SeedExtractor
|
||||
- type: PowerReceiver
|
||||
47
Resources/Prototypes/Entities/Constructible/hydroponics.yml
Normal file
47
Resources/Prototypes/Entities/Constructible/hydroponics.yml
Normal file
@@ -0,0 +1,47 @@
|
||||
- type: entity
|
||||
name: soil
|
||||
id: hydroponicsSoil
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
components:
|
||||
- type: Clickable
|
||||
- type: InteractionOutline
|
||||
- type: Physics
|
||||
anchored: true
|
||||
hard: false
|
||||
shapes:
|
||||
- !type:PhysShapeAabb
|
||||
mask:
|
||||
- Impassable
|
||||
- MobImpassable
|
||||
- VaultImpassable
|
||||
- type: Destructible
|
||||
deadThreshold: 50
|
||||
resistances: metallicResistances
|
||||
- type: Sprite
|
||||
sprite: Constructible/Hydroponics/hydro_tools.rsi
|
||||
state: soil
|
||||
- type: PlantHolder
|
||||
drawWarnings: false
|
||||
- type: SolutionContainer
|
||||
maxVol: 200
|
||||
caps: AddTo, NoExamine
|
||||
- type: Pourable
|
||||
- type: SnapGrid
|
||||
offset: Center
|
||||
- type: Appearance
|
||||
visuals:
|
||||
- type: PlantHolderVisualizer
|
||||
|
||||
- type: entity
|
||||
name: hydroponics tray
|
||||
parent: hydroponicsSoil
|
||||
id: hydroponicsTray
|
||||
components:
|
||||
- type: Anchorable
|
||||
snap: true
|
||||
- type: Sprite
|
||||
sprite: Constructible/Hydroponics/hydro_tools.rsi
|
||||
state: hydrotray3
|
||||
- type: PlantHolder
|
||||
drawWarnings: true
|
||||
@@ -167,10 +167,12 @@
|
||||
- type: RotationVisualizer
|
||||
- type: BuckleVisualizer
|
||||
- type: FireVisualizer
|
||||
sprite: Mobs/Effects/onfire.rsi
|
||||
normalState: Generic_mob_burning
|
||||
alternateState: Standing
|
||||
fireStackAlternateState: 3
|
||||
- type: CreamPiedVisualizer
|
||||
state: creampie_human
|
||||
- type: CombatMode
|
||||
- type: Climbing
|
||||
- type: Cuffable
|
||||
|
||||
212
Resources/Prototypes/Entities/Objects/Consumable/botany.yml
Normal file
212
Resources/Prototypes/Entities/Objects/Consumable/botany.yml
Normal file
@@ -0,0 +1,212 @@
|
||||
- type: entity
|
||||
parent: BaseItem
|
||||
id: ProduceBase
|
||||
abstract: true
|
||||
components:
|
||||
- type: SolutionContainer
|
||||
caps: NoExamine
|
||||
- type: Sprite
|
||||
state: produce
|
||||
- type: Produce
|
||||
|
||||
- type: entity
|
||||
name: wheat
|
||||
description: Sigh... wheat... a-grain?
|
||||
id: Wheat
|
||||
parent: ProduceBase
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/wheat.rsi
|
||||
- type: SolutionContainer
|
||||
caps: NoExamine
|
||||
contents:
|
||||
chem.Nutrient: 5
|
||||
chem.Flour: 5
|
||||
- type: Produce
|
||||
seed: wheat
|
||||
|
||||
- type: entity
|
||||
name: sugarcane
|
||||
description: Sickly sweet.
|
||||
id: Sugarcane
|
||||
parent: ProduceBase
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/sugarcane.rsi
|
||||
- type: SolutionContainer
|
||||
caps: NoExamine
|
||||
contents:
|
||||
chem.Nutrient: 5
|
||||
chem.Flour: 5
|
||||
- type: Produce
|
||||
seed: sugarcane
|
||||
|
||||
- type: entity
|
||||
name: tower-cap log
|
||||
description: It's better than bad, it's good!
|
||||
id: Log
|
||||
parent: ProduceBase
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/towercap.rsi
|
||||
- type: SolutionContainer
|
||||
caps: NoExamine
|
||||
- type: MeleeWeapon
|
||||
- type: Produce
|
||||
seed: towercap
|
||||
- type: Log
|
||||
|
||||
- type: entity
|
||||
name: banana
|
||||
parent: ProduceBase
|
||||
id: FoodBanana
|
||||
description: Rich in potassium.
|
||||
components:
|
||||
- type: Food
|
||||
trash: TrashBananaPeel
|
||||
- type: SolutionContainer
|
||||
contents:
|
||||
reagents:
|
||||
- ReagentId: chem.Nutriment
|
||||
Quantity: 6
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/banana.rsi
|
||||
- type: Produce
|
||||
seed: banana
|
||||
|
||||
- type: entity
|
||||
name: carrot
|
||||
parent: ProduceBase
|
||||
id: FoodCarrot
|
||||
description: It's good for the eyes!
|
||||
components:
|
||||
- type: Food
|
||||
- type: SolutionContainer
|
||||
contents:
|
||||
reagents:
|
||||
- ReagentId: chem.Nutriment
|
||||
Quantity: 6
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/carrot.rsi
|
||||
- type: Produce
|
||||
seed: carrots
|
||||
|
||||
- type: entity
|
||||
name: lemon
|
||||
parent: ProduceBase
|
||||
id: FoodLemon
|
||||
description: When life gives you lemons, be grateful they aren't limes
|
||||
components:
|
||||
- type: Food
|
||||
- type: SolutionContainer
|
||||
contents:
|
||||
reagents:
|
||||
- ReagentId: chem.Nutriment
|
||||
Quantity: 6
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/lemon.rsi
|
||||
- type: Produce
|
||||
seed: lemon
|
||||
|
||||
- type: entity
|
||||
name: potato
|
||||
parent: ProduceBase
|
||||
id: FoodPotato
|
||||
description: The space Irish starved to death after their potato crops died. Sadly they were unable to fish for space carp due to it being the queen's space. Bringing this up to any space IRA member will drive them insane with anger.
|
||||
components:
|
||||
- type: Food
|
||||
- type: SolutionContainer
|
||||
contents:
|
||||
reagents:
|
||||
- ReagentId: chem.Nutriment
|
||||
Quantity: 6
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/potato.rsi
|
||||
- type: Produce
|
||||
seed: potato
|
||||
|
||||
- type: entity
|
||||
name: tomato
|
||||
parent: ProduceBase
|
||||
id: FoodTomato
|
||||
description: I say to-mah-to, you say tom-mae-to.
|
||||
components:
|
||||
- type: Food
|
||||
- type: SolutionContainer
|
||||
contents:
|
||||
reagents:
|
||||
- ReagentId: chem.Nutriment
|
||||
Quantity: 6
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/tomato.rsi
|
||||
- type: Produce
|
||||
seed: tomato
|
||||
|
||||
- type: entity
|
||||
name: eggplant
|
||||
parent: ProduceBase
|
||||
id: FoodEggplant
|
||||
description: Maybe there's a chicken inside?
|
||||
components:
|
||||
- type: Food
|
||||
- type: SolutionContainer
|
||||
contents:
|
||||
reagents:
|
||||
- ReagentId: chem.Nutriment
|
||||
Quantity: 6
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/eggplant.rsi
|
||||
- type: Produce
|
||||
seed: eggplant
|
||||
|
||||
- type: entity
|
||||
name: apple
|
||||
parent: ProduceBase
|
||||
id: FoodApple
|
||||
description: It's a little piece of Eden.
|
||||
components:
|
||||
- type: Food
|
||||
- type: SolutionContainer
|
||||
contents:
|
||||
reagents:
|
||||
- ReagentId: chem.Nutriment
|
||||
Quantity: 6
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/apple.rsi
|
||||
- type: Produce
|
||||
seed: apple
|
||||
|
||||
- type: entity
|
||||
name: ear of corn
|
||||
parent: ProduceBase
|
||||
id: FoodCorn
|
||||
description: Needs some butter!
|
||||
components:
|
||||
- type: Food
|
||||
trash: TrashCornCob
|
||||
- type: SolutionContainer
|
||||
contents:
|
||||
reagents:
|
||||
- ReagentId: chem.Nutriment
|
||||
Quantity: 6
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/corn.rsi
|
||||
- type: Produce
|
||||
seed: corn
|
||||
|
||||
- type: entity
|
||||
name: chanterelle cluster
|
||||
parent: ProduceBase
|
||||
id: FoodMushroom
|
||||
description: "Cantharellus Cibarius: These jolly yellow little shrooms sure look tasty!"
|
||||
components:
|
||||
- type: Food
|
||||
- type: SolutionContainer
|
||||
contents:
|
||||
reagents:
|
||||
- ReagentId: chem.Nutriment
|
||||
Quantity: 6
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/chanterelle.rsi
|
||||
- type: Produce
|
||||
seed: chanterelle
|
||||
@@ -931,7 +931,8 @@
|
||||
Quantity: 2
|
||||
- type: Sprite
|
||||
sprite: Objects/Consumable/Food/egg.rsi
|
||||
|
||||
- type: Produce
|
||||
seed: eggy
|
||||
- type: Item
|
||||
sprite: Objects/Consumable/Food/egg.rsi
|
||||
|
||||
@@ -2857,24 +2858,6 @@
|
||||
- type: Sprite
|
||||
sprite: Objects/Consumable/Food/milkape.rsi
|
||||
|
||||
|
||||
- type: entity
|
||||
name: banana
|
||||
parent: FoodBase
|
||||
id: FoodBanana
|
||||
description: Rich in potassium.
|
||||
components:
|
||||
- type: Food
|
||||
trash: TrashBananaPeel
|
||||
- type: SolutionContainer
|
||||
contents:
|
||||
reagents:
|
||||
- ReagentId: chem.Nutriment
|
||||
Quantity: 6
|
||||
- type: Sprite
|
||||
sprite: Objects/Consumable/Food/banana.rsi
|
||||
|
||||
|
||||
- type: entity
|
||||
name: memory leek
|
||||
parent: FoodBase
|
||||
|
||||
@@ -46,7 +46,8 @@
|
||||
|
||||
|
||||
- type: entity
|
||||
name: corn cob (trash)
|
||||
name: corn cob
|
||||
description: A reminder of meals gone by.
|
||||
parent: TrashBase
|
||||
id: TrashCornCob
|
||||
components:
|
||||
@@ -188,9 +189,8 @@
|
||||
id: TrashBananaPeel
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Consumable/Food/banana.rsi
|
||||
sprite: Objects/Specific/Hydroponics/banana.rsi
|
||||
state: peel
|
||||
|
||||
- type: Slippery
|
||||
intersectPercentage: 0.2
|
||||
- type: Physics
|
||||
|
||||
@@ -6,9 +6,6 @@
|
||||
- type: Sprite
|
||||
sprite: Objects/Misc/utensils.rsi
|
||||
|
||||
|
||||
|
||||
|
||||
- type: entity
|
||||
parent: UtensilBase
|
||||
id: Fork
|
||||
@@ -17,7 +14,7 @@
|
||||
components:
|
||||
- type: Sprite
|
||||
state: fork
|
||||
|
||||
- type: Hoe
|
||||
- type: Utensil
|
||||
types:
|
||||
- Fork
|
||||
|
||||
142
Resources/Prototypes/Entities/Objects/Specific/seeds.yml
Normal file
142
Resources/Prototypes/Entities/Objects/Specific/seeds.yml
Normal file
@@ -0,0 +1,142 @@
|
||||
- type: entity
|
||||
parent: BaseItem
|
||||
id: SeedBase
|
||||
abstract: true
|
||||
components:
|
||||
- type: Seed
|
||||
- type: SolutionContainer
|
||||
caps: NoExamine
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/seeds.rsi
|
||||
state: seed
|
||||
netsync: true
|
||||
|
||||
- type: entity
|
||||
parent: SeedBase
|
||||
name: packet of wheat seeds
|
||||
id: WheatSeeds
|
||||
components:
|
||||
- type: Seed
|
||||
seed: wheat
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/wheat.rsi
|
||||
|
||||
- type: entity
|
||||
parent: SeedBase
|
||||
name: packet of banana seeds
|
||||
id: BananaSeeds
|
||||
components:
|
||||
- type: Seed
|
||||
seed: banana
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/banana.rsi
|
||||
|
||||
- type: entity
|
||||
parent: SeedBase
|
||||
name: packet of carrot seeds
|
||||
id: CarrotSeeds
|
||||
components:
|
||||
- type: Seed
|
||||
seed: carrots
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/carrot.rsi
|
||||
|
||||
- type: entity
|
||||
parent: SeedBase
|
||||
name: packet of lemon seeds
|
||||
id: LemonSeeds
|
||||
components:
|
||||
- type: Seed
|
||||
seed: lemon
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/lemon.rsi
|
||||
|
||||
- type: entity
|
||||
parent: SeedBase
|
||||
name: packet of potato seeds
|
||||
id: PotatoSeeds
|
||||
components:
|
||||
- type: Seed
|
||||
seed: potato
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/potato.rsi
|
||||
|
||||
- type: entity
|
||||
parent: SeedBase
|
||||
name: packet of sugarcane seeds
|
||||
id: SugarcaneSeeds
|
||||
components:
|
||||
- type: Seed
|
||||
seed: sugarcane
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/sugarcane.rsi
|
||||
|
||||
- type: entity
|
||||
parent: SeedBase
|
||||
name: packet of tower cap seeds
|
||||
id: TowercapSeeds
|
||||
components:
|
||||
- type: Seed
|
||||
seed: towercap
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/towercap.rsi
|
||||
|
||||
- type: entity
|
||||
parent: SeedBase
|
||||
name: packet of tomato seeds
|
||||
id: TomatoSeeds
|
||||
components:
|
||||
- type: Seed
|
||||
seed: tomato
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/tomato.rsi
|
||||
|
||||
- type: entity
|
||||
parent: SeedBase
|
||||
name: packet of eggplant seeds
|
||||
id: EggplantSeeds
|
||||
components:
|
||||
- type: Seed
|
||||
seed: eggplant
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/eggplant.rsi
|
||||
|
||||
- type: entity
|
||||
parent: SeedBase
|
||||
name: packet of apple seeds
|
||||
id: AppleSeeds
|
||||
components:
|
||||
- type: Seed
|
||||
seed: apple
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/apple.rsi
|
||||
|
||||
- type: entity
|
||||
parent: SeedBase
|
||||
name: packet of corn seeds
|
||||
id: CornSeeds
|
||||
components:
|
||||
- type: Seed
|
||||
seed: apple
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/corn.rsi
|
||||
|
||||
- type: entity
|
||||
parent: SeedBase
|
||||
name: packet of chanterelle spores
|
||||
id: ChanterelleSeeds
|
||||
components:
|
||||
- type: Seed
|
||||
seed: chanterelle
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/chanterelle.rsi
|
||||
|
||||
- type: entity
|
||||
parent: SeedBase
|
||||
name: packet of egg-plant seeds
|
||||
id: EggySeeds
|
||||
components:
|
||||
- type: Seed
|
||||
seed: eggy
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Hydroponics/eggy.rsi
|
||||
100
Resources/Prototypes/Entities/Objects/Tools/botany_tools.yml
Normal file
100
Resources/Prototypes/Entities/Objects/Tools/botany_tools.yml
Normal file
@@ -0,0 +1,100 @@
|
||||
- type: entity
|
||||
name: mini hoe
|
||||
parent: BaseItem
|
||||
id: MiniHoe
|
||||
description: It's used for removing weeds or scratching your back.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Constructible/Hydroponics/hydro_tools.rsi
|
||||
state: hoe
|
||||
- type: ItemCooldown
|
||||
- type: MeleeWeapon
|
||||
- type: Item
|
||||
- type: Hoe
|
||||
|
||||
- type: entity
|
||||
name: Plant-B-Gone
|
||||
id: PlantBGoneSpray
|
||||
parent: SprayBottle
|
||||
description: Kills those pesky weeds!
|
||||
suffix: "Filled"
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Constructible/Hydroponics/hydro_tools.rsi
|
||||
state: plantbgone
|
||||
- type: SolutionContainer
|
||||
maxVol: 100
|
||||
caps: RemoveFrom, NoExamine
|
||||
contents:
|
||||
reagents:
|
||||
- ReagentId: chem.PlantBGone
|
||||
Quantity: 100
|
||||
|
||||
- type: entity
|
||||
name: weed spray
|
||||
id: WeedSpray
|
||||
parent: SprayBottle
|
||||
description: It's a toxic mixture, in spray form, to kill small weeds.
|
||||
suffix: "Filled"
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Constructible/Hydroponics/hydro_tools.rsi
|
||||
state: weedspray
|
||||
- type: SolutionContainer
|
||||
maxVol: 50
|
||||
caps: RemoveFrom, NoExamine
|
||||
contents:
|
||||
reagents:
|
||||
- ReagentId: chem.WeedKiller
|
||||
Quantity: 50
|
||||
- type: Pourable
|
||||
transferAmount: 1.0
|
||||
- type: Spillable
|
||||
- type: ItemCooldown
|
||||
- type: Spray
|
||||
transferAmount: 1
|
||||
|
||||
- type: entity
|
||||
name: pest spray
|
||||
id: PestSpray
|
||||
parent: WeedSpray
|
||||
description: It's some pest eliminator spray! Do not inhale!
|
||||
suffix: "Filled"
|
||||
components:
|
||||
- type: Sprite
|
||||
state: pestspray
|
||||
- type: SolutionContainer
|
||||
maxVol: 50
|
||||
caps: RemoveFrom, NoExamine
|
||||
contents:
|
||||
reagents:
|
||||
- ReagentId: chem.PestKiller
|
||||
Quantity: 50
|
||||
|
||||
- type: entity
|
||||
name: scythe
|
||||
parent: BaseItem
|
||||
id: Scythe
|
||||
description: A sharp and curved blade on a long fibremetal handle, this tool makes it easy to reap what you sow.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Constructible/Hydroponics/hydro_tools.rsi
|
||||
state: scythe
|
||||
- type: ItemCooldown
|
||||
- type: MeleeWeapon
|
||||
- type: BotanySharp
|
||||
- type: Item
|
||||
|
||||
- type: entity
|
||||
name: hatchet
|
||||
parent: BaseItem
|
||||
id: Hatchet
|
||||
description: A very sharp axe blade upon a short fibremetal handle. It has a long history of chopping things, but now it is used for chopping wood.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Constructible/Hydroponics/hydro_tools.rsi
|
||||
state: hatchet
|
||||
- type: ItemCooldown
|
||||
- type: MeleeWeapon
|
||||
- type: BotanySharp
|
||||
- type: Item
|
||||
@@ -27,6 +27,7 @@
|
||||
yellow: "#d58c18"
|
||||
- type: Item
|
||||
sprite: Objects/Tools/wirecutters.rsi
|
||||
- type: PlantSampleTaker
|
||||
|
||||
- type: entity
|
||||
name: screwdriver
|
||||
|
||||
@@ -163,8 +163,21 @@
|
||||
- type: entity
|
||||
name: wood plank
|
||||
id: WoodPlank
|
||||
parent: BaseItem
|
||||
parent: MaterialStack
|
||||
suffix: Full
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: Objects/Materials/materials.rsi
|
||||
state: wood_plank
|
||||
# TODO: Specify a material.
|
||||
- type: Sprite
|
||||
sprite: Objects/Materials/materials.rsi
|
||||
state: wood_plank
|
||||
- type: Stack
|
||||
stacktype: enum.StackType.Wood
|
||||
|
||||
- type: entity
|
||||
id: WoodPlank1
|
||||
name: wood plank
|
||||
parent: WoodPlank
|
||||
suffix: 1
|
||||
components:
|
||||
- type: Stack
|
||||
count: 1
|
||||
|
||||
Reference in New Issue
Block a user