mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-09 07:46:20 +00:00
## About The Pull Request This PR adds 4 new types of soil and a holder item; the soil sack, to contain and transport said soils. <img width="496" height="378" alt="bild" src="https://github.com/user-attachments/assets/57f42a9c-c731-4195-91df-b4456ec45e7b" /> Two of the new soils + the regular old soil are available in the premium section of the nutrimax. All 5 soil types are available from cargo. It also adds two new plant traits; soil lover and semiaquatic, that allows coders to confer maluses to plants growing in trays or soil respectively. Potatoes, sweet potatoes, carrots, parsnips, cahn'roots, white and red beets currently have soil lover, reducing their produced yield by 30% and their potency randomly between 20-80% if grown hydroponically. Rice has semiaquatic which increases the amount of weeds gained by 50% if grown in soil rather than hydroponically. ## Advanced soil types ### Vermaculite #### Stats Max Nutrients: 20u Max Water: 150u #### Special Effects Multigraft: Up to 3 grafts can be cut from a plant planted in vermaculite. Graft Medium: Graft cuttiongs can be directly placed into vermaculite to create a new plant vegetatively. ### Hydrogel Beads #### Stats Max Nutrients: 15u Max Water: 300u #### Special Effects Hydroponic + Soil: Both water loving and soil loving plants can grow without maluses. Super Water: Water consumption rate is decreased by 50% ### Korta Coir #### Stats Max Nutrients: 20u Max Water: 100u #### Special Effects Fast Mushrooms: Mushrooms mature(and age) 40% faster if planted in this soil. ### Worm Castings #### Stats Max Nutrients = 35u Max Water = 200u #### Special Effects Slow Release: If the nutrients run out, 1u nitrogen will be automatically added to the nutient pool. Worm Habitat: Composting veggies in this soil has a chance to produce an extra slimy worm. ### Soil Sacks Use them on the floor to place a soil at that location. You can reverse this process by right clicking a soil with a shovel. The sacks are huge items that deals stamina damage, but have slowdown when carried. They can be wielded to remove slowdown, double the damage output and gain 25% block chance. They have unique normal and wielded inhands for each sack type. #### Price List **Soil** Nutrimax: 50 cr Cargo: 400 cr / 5 sacks **Vermaculite** Nutrimax: 100 cr Cargo: 400 cr / 3 sacks **Hydrogel** Nutrimax: 100 cr Cargo: 400 cr / 3 sacks **Coir** Nutrimax: N/A Cargo: 600 cr / 3 sacks **Worm Castings** Nutrimax: N/A Cargo: 800 cr / 3 sacks #### Misc Soil Changes Soil now have a new armour type and are generally much harder to destroy by shooting or bashing them. Fixed a bug where weeds would instantly reduce yield to 3 instead of lowering it by 1-2 per cycle. ## Why It's Good For The Game I have long been a fan of using soils in botany, they are the cheapest and easiest way to make new trays and enable many interesting strategies. The default soil is fine for what is but it kinda sucks, not only having low stats but also missing autogrow, a feature botanist have grown completely addicted and dependent on. When self sustaining trays were removed and autogrow added, it was intended as a way to keep a couple of plants alive while you ran out to do errands or grab a drink. However, the feature has devolved into basically a shift start self sustaining for all your trays and standard practice is using it on every single tray that currently is not trying to mutate. This has resulted in certain core botany mechanics like water and pests being made totally irrelevant, shrinking design space a lot. Rather than just reaching for the stick, I thought it would be fun to instead offer them a carrot in the form of an expanded toolset of soils with unique effects that cannot be replicated by trays. These new soils offer niche benefits that enable advanced botany gameplay and provides a framwork for deepening plant / tray interactions in the furture. ## Changelog 🆑 add: Added 4 new types of soil add: Added soils sacks to the nutrimax add: Added soil sack crates to cargo. balance: Soil now has higher armor values. balance: Rice now gets more weeds if grown in soil. balance: Carrots, potatoes, beets and their mutations now get reduced yield and potency if grown hydroponically. fix: Weed overgrowth no longer instantly sets yield to 3. /🆑
129 lines
4.9 KiB
Plaintext
129 lines
4.9 KiB
Plaintext
/// -- Botany plant stat defines. --
|
|
/// MAXES:
|
|
#define MAX_PLANT_YIELD 10
|
|
#define MAX_PLANT_LIFESPAN 100
|
|
#define MAX_PLANT_ENDURANCE 100
|
|
#define MAX_PLANT_PRODUCTION 10
|
|
#define MAX_PLANT_POTENCY 100
|
|
#define MAX_PLANT_INSTABILITY 100
|
|
#define MAX_PLANT_WEEDRATE 10
|
|
#define MAX_PLANT_WEEDCHANCE 67
|
|
/// MINS:
|
|
#define MIN_PLANT_ENDURANCE 10
|
|
|
|
/// Default reagent volume for grown plants
|
|
#define PLANT_REAGENT_VOLUME 100
|
|
|
|
/// -- Some botany trait value defines. --
|
|
/// Weed Hardy can only reduce plants to 3 yield.
|
|
#define WEED_HARDY_YIELD_MIN 3
|
|
/// Carnivory potency can only reduce potency to 30.
|
|
#define CARNIVORY_POTENCY_MIN 30
|
|
/// Fungle megabolism plants have a min yield of 1.
|
|
#define FUNGAL_METAB_YIELD_MIN 1
|
|
/// Semiaquatic plants gets 50% more weeds in soil.
|
|
#define SEMIAQUATIC_SOIL_WEED_MALUS 1.5
|
|
/// Soil loving plants get worse yield when grown in a medium that isn't soil.
|
|
#define SOIL_LOVER_HYDRO_YIELD_MALUS 0.7
|
|
/// Upper bound of produce size mod for soil lowers grown without soil.
|
|
#define SOIL_LOVER_HYDRO_POTENCY_MAX 0.8
|
|
/// Lower bound of produce size mod for soil lowers grown without soil
|
|
#define SOIL_LOVER_HYDRO_POTENCY_MIN 0.5
|
|
|
|
|
|
/// -- Hydroponics tray defines. --
|
|
/// Base amount of nutrients a tray can old.
|
|
#define STATIC_NUTRIENT_CAPACITY 10
|
|
/// Maximum amount of toxins a tray can reach.
|
|
#define MAX_TRAY_TOXINS 100
|
|
/// Maxumum pests a tray can reach.
|
|
#define MAX_TRAY_PESTS 10
|
|
/// Maximum weeds a tray can reach.
|
|
#define MAX_TRAY_WEEDS 10
|
|
/// Minumum plant health required for gene shears.
|
|
#define GENE_SHEAR_MIN_HEALTH 15
|
|
/// Minumum plant endurance required to lock a mutation with a somatoray.
|
|
#define FLORA_GUN_MIN_ENDURANCE 20
|
|
|
|
/// -- Flags for genes --
|
|
/// Plant genes that can be removed via gene shears.
|
|
#define PLANT_GENE_REMOVABLE (1<<0)
|
|
/// Plant genes that can be mutated randomly in strange seeds / due to high instability.
|
|
#define PLANT_GENE_MUTATABLE (1<<1)
|
|
/// Plant genes that can be graftable. Used in formatting text, as they need to be set to be graftable anyways.
|
|
#define PLANT_GENE_GRAFTABLE (1<<2)
|
|
|
|
/// -- Flags for seeds. --
|
|
/// Allows a plant to wild mutate (mutate on haravest) at a certain instability.
|
|
#define MUTATE_EARLY (1<<0)
|
|
|
|
/// -- Flags for traits. --
|
|
/// Caps the plant's yield at 5 instead of 10.
|
|
#define TRAIT_HALVES_YIELD (1<<0)
|
|
/// Doesn't get bonuses from tray yieldmod
|
|
#define TRAIT_NO_POLLINATION (1<<1)
|
|
/// Shows description on examine
|
|
#define TRAIT_SHOW_EXAMINE (1<<2)
|
|
|
|
/// -- Trait IDs. Plants that match IDs cannot be added to the same plant. --
|
|
/// Plants that glow.
|
|
#define GLOW_ID (1<<0)
|
|
/// Plant types.
|
|
#define PLANT_TYPE_ID (1<<1)
|
|
/// Plants that affect the reagent's temperature.
|
|
#define TEMP_CHANGE_ID (1<<2)
|
|
/// Plants that affect the reagent contents.
|
|
#define CONTENTS_CHANGE_ID (1<<3)
|
|
/// Plants that do something special when they impact.
|
|
#define THROW_IMPACT_ID (1<<4)
|
|
/// Plants that transfer reagents on impact.
|
|
#define REAGENT_TRANSFER_ID (1<<5)
|
|
/// Plants that have a unique effect on attack_self.
|
|
#define ATTACK_SELF_ID (1<<6)
|
|
|
|
#define GLOWSHROOM_SPREAD_BASE_DIMINISH_FACTOR 10
|
|
#define GLOWSHROOM_SPREAD_DIMINISH_FACTOR_PER_GLOWSHROOM 0.2
|
|
#define GLOWSHROOM_BASE_INTEGRITY 60
|
|
|
|
// obj/machinery/hydroponics/var/plant_status defines
|
|
|
|
/// How long to wait between plant age ticks, by default. See [/obj/machinery/hydroponics/var/cycledelay]
|
|
#define HYDROTRAY_CYCLE_DELAY 20 SECONDS
|
|
|
|
#define HYDROTRAY_NO_PLANT "missing"
|
|
#define HYDROTRAY_PLANT_DEAD "dead"
|
|
#define HYDROTRAY_PLANT_GROWING "growing"
|
|
#define HYDROTRAY_PLANT_HARVESTABLE "harvestable"
|
|
|
|
/// A list of possible egg laying descriptions
|
|
#define EGG_LAYING_MESSAGES list("lays an egg.","squats down and croons.","begins making a huge racket.","begins clucking raucously.")
|
|
|
|
/// Used as a baseline plant rarity for more uncommon plants, usually requiring mutation
|
|
#define PLANT_MODERATELY_RARE 20
|
|
|
|
/// How much water drain is reduced for trays with the SUPERWATER modifier such as superabsorbent hydrogel beads.
|
|
#define SUPER_WATER_MODIFIER 0.5
|
|
// How much faster our mushrooms mature on a good mushroom growing soil such as korta coir.
|
|
#define FAST_MUSH_MODIFIER 1.4
|
|
// How many grafts we harvest from one plant if planted in a tray with the MULTI_GRAFT flag.
|
|
#define MULTI_GRAFT_MAX_COUNT 3
|
|
|
|
/// TRAY BITFLAGS
|
|
|
|
/// For watery trays, capable of growing aquatic plants.
|
|
#define HYDROPONIC (1 << 0)
|
|
/// For soil type trays that provide structure for soil loving plants.
|
|
#define SOIL (1 << 1)
|
|
/// Allows you to take up to 3 grafts from the same plant.
|
|
#define MULTIGRAFT (1 << 2)
|
|
/// Allows you to plant grafts into this tray to propagate them vegetativley.
|
|
#define GRAFT_MEDIUM (1 << 3)
|
|
/// Musrooms mature faster in this type of tray.
|
|
#define FAST_MUSHROOMS (1 << 4)
|
|
/// Extra slimy worms can be created by composting greens in this soil.
|
|
#define WORM_HABITAT (1 << 5)
|
|
/// Water drains at a slower rate from this soil.
|
|
#define SUPERWATER (1 << 6)
|
|
/// If this tray runs out of nutrients, add a little nitrogen from the breakdown of natural fertilizers or nitrogen fixating bacteria.
|
|
#define SLOW_RELEASE (1 << 7)
|