* 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:
Víctor Aguilera Puerto
2020-10-26 23:19:46 +01:00
committed by GitHub
parent 7c57d10531
commit 484eb0bba4
250 changed files with 3297 additions and 72 deletions

View File

@@ -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

View 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

View File

@@ -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

View 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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View 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

View 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

View File

@@ -27,6 +27,7 @@
yellow: "#d58c18"
- type: Item
sprite: Objects/Tools/wirecutters.rsi
- type: PlantSampleTaker
- type: entity
name: screwdriver

View File

@@ -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