mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-23 21:18:37 +01: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. /🆑
446 lines
17 KiB
Plaintext
446 lines
17 KiB
Plaintext
/datum/supply_pack/organic
|
|
group = "Food & Hydroponics"
|
|
crate_type = /obj/structure/closet/crate/freezer
|
|
|
|
/datum/supply_pack/organic/hydroponics
|
|
access_view = ACCESS_HYDROPONICS
|
|
crate_type = /obj/structure/closet/crate/hydroponics
|
|
|
|
/datum/supply_pack/organic/hydroponics/beekeeping_suits
|
|
name = "Beekeeper Suit Crate"
|
|
desc = "Bee business booming? Better be benevolent and boost botany by \
|
|
bestowing bi-Beekeeper-suits! Contains two beekeeper suits and matching headwear."
|
|
cost = CARGO_CRATE_VALUE * 2
|
|
contains = list(/obj/item/clothing/head/utility/beekeeper_head = 2,
|
|
/obj/item/clothing/suit/utility/beekeeper_suit = 2,
|
|
)
|
|
crate_name = "beekeeper suits"
|
|
crate_type = /obj/structure/closet/crate/hydroponics
|
|
|
|
/datum/supply_pack/organic/hydroponics/beekeeping_fullkit
|
|
name = "Beekeeping Starter Crate"
|
|
desc = "BEES BEES BEES. Contains three honey frames, a beekeeper suit and helmet, \
|
|
flyswatter, bee house, and, of course, a pure-bred Nanotrasen-Standardized Queen Bee!"
|
|
cost = CARGO_CRATE_VALUE * 3
|
|
contains = list(/obj/structure/beebox/unwrenched,
|
|
/obj/item/honey_frame = 3,
|
|
/obj/item/queen_bee/bought,
|
|
/obj/item/clothing/head/utility/beekeeper_head,
|
|
/obj/item/clothing/suit/utility/beekeeper_suit,
|
|
/obj/item/melee/flyswatter,
|
|
)
|
|
crate_name = "beekeeping starter crate"
|
|
crate_type = /obj/structure/closet/crate/hydroponics
|
|
|
|
/datum/supply_pack/organic/randomized/chef
|
|
name = "Excellent Meat Crate"
|
|
desc = "The best cuts in the whole galaxy. Contains a random assortment of exotic meats."
|
|
cost = CARGO_CRATE_VALUE * 4
|
|
contains = list(/obj/item/food/meat/slab/human/mutant/slime,
|
|
/obj/item/food/meat/slab/killertomato,
|
|
/obj/item/food/meat/slab/bear,
|
|
/obj/item/food/meat/slab/xeno,
|
|
/obj/item/food/meat/slab/spider,
|
|
/obj/item/food/meat/rawbacon,
|
|
/obj/item/food/meat/slab/penguin,
|
|
/obj/item/food/spiderleg,
|
|
/obj/item/food/fishmeat/carp,
|
|
/obj/item/food/meat/slab/human,
|
|
/obj/item/food/meat/slab/grassfed,
|
|
)
|
|
crate_name = "food crate"
|
|
|
|
/datum/supply_pack/organic/randomized/chef/fill(obj/structure/closet/crate/C)
|
|
for(var/i in 1 to 15)
|
|
var/item = pick(contains)
|
|
new item(C)
|
|
|
|
/datum/supply_pack/organic/exoticseeds
|
|
name = "Exotic Seeds Crate"
|
|
desc = "Any entrepreneuring botanist's dream. Contains twelve different seeds, \
|
|
including one replica-pod seed and two mystery seeds!"
|
|
cost = CARGO_CRATE_VALUE * 3
|
|
access_view = ACCESS_HYDROPONICS
|
|
contains = list(
|
|
/obj/item/seeds/amanita,
|
|
/obj/item/seeds/bamboo,
|
|
/obj/item/seeds/eggplant/eggy,
|
|
/obj/item/seeds/liberty,
|
|
/obj/item/seeds/nettle,
|
|
/obj/item/seeds/plump,
|
|
/obj/item/seeds/replicapod,
|
|
/obj/item/seeds/reishi,
|
|
/obj/item/seeds/rainbow_bunch,
|
|
/obj/item/seeds/seedling,
|
|
/obj/item/seeds/shrub,
|
|
/obj/item/seeds/random = 2,
|
|
)
|
|
crate_name = "exotic seeds crate"
|
|
crate_type = /obj/structure/closet/crate/hydroponics
|
|
|
|
/datum/supply_pack/organic/food
|
|
name = "Food Crate"
|
|
desc = "Get things cooking with this crate full of useful ingredients! \
|
|
Contains a dozen eggs, three bananas, and some flour, rice, milk, \
|
|
soymilk, salt, pepper, enzyme, sugar, and monkeymeat."
|
|
cost = CARGO_CRATE_VALUE * 2
|
|
contains = list(/obj/item/reagent_containers/condiment/flour,
|
|
/obj/item/reagent_containers/condiment/rice,
|
|
/obj/item/reagent_containers/condiment/milk,
|
|
/obj/item/reagent_containers/condiment/soymilk,
|
|
/obj/item/reagent_containers/condiment/saltshaker,
|
|
/obj/item/reagent_containers/condiment/peppermill,
|
|
/obj/item/storage/fancy/egg_box,
|
|
/obj/item/reagent_containers/condiment/enzyme,
|
|
/obj/item/reagent_containers/condiment/sugar,
|
|
/obj/item/food/meat/slab/monkey,
|
|
/obj/item/food/grown/banana = 3,
|
|
)
|
|
crate_name = "food crate"
|
|
|
|
/datum/supply_pack/organic/randomized/chef/fruits
|
|
name = "Fruit Crate"
|
|
desc = "Rich in vitamins. Contains a lime, orange, watermelon, apple, \
|
|
berries and a lemon."
|
|
cost = CARGO_CRATE_VALUE * 3
|
|
contains = list(/obj/item/food/grown/citrus/lime,
|
|
/obj/item/food/grown/citrus/orange,
|
|
/obj/item/food/grown/watermelon,
|
|
/obj/item/food/grown/apple,
|
|
/obj/item/food/grown/berries,
|
|
/obj/item/food/grown/citrus/lemon,
|
|
)
|
|
crate_name = "food crate"
|
|
|
|
/datum/supply_pack/organic/cream_piee
|
|
name = "High-yield Clown-grade Cream Pie Crate"
|
|
desc = "Designed by Aussec's Advanced Warfare Research Division, \
|
|
these high-yield, Clown-grade cream pies are powered by a synergy \
|
|
of performance and efficiency. Guaranteed to provide maximum results."
|
|
cost = CARGO_CRATE_VALUE * 12
|
|
contains = list(/obj/item/storage/backpack/duffelbag/clown/cream_pie)
|
|
crate_name = "party equipment crate"
|
|
contraband = TRUE
|
|
access = ACCESS_THEATRE
|
|
access_view = ACCESS_THEATRE
|
|
crate_type = /obj/structure/closet/crate/secure
|
|
discountable = SUPPLY_PACK_RARE_DISCOUNTABLE
|
|
|
|
/datum/supply_pack/organic/hydroponics/supplies
|
|
name = "Hydroponics Crate"
|
|
desc = "Supplies for growing a great garden! Contains two bottles of ammonia, \
|
|
two Plant-B-Gone spray bottles, a hatchet, cultivator, plant analyzer, \
|
|
as well as a pair of leather gloves and a botanist's apron."
|
|
cost = CARGO_CRATE_VALUE * 3
|
|
contains = list(/obj/item/reagent_containers/spray/plantbgone = 2,
|
|
/obj/item/reagent_containers/cup/bottle/ammonia = 2,
|
|
/obj/item/hatchet,
|
|
/obj/item/cultivator,
|
|
/obj/item/plant_analyzer,
|
|
/obj/item/clothing/gloves/botanic_leather,
|
|
/obj/item/clothing/suit/apron,
|
|
)
|
|
crate_name = "hydroponics crate"
|
|
|
|
/datum/supply_pack/organic/hydroponics/hydrotank
|
|
name = "Hydroponics Backpack Crate"
|
|
desc = "Bring on the flood with this high-capacity backpack crate. \
|
|
Contains 500 units of life-giving H2O."
|
|
cost = CARGO_CRATE_VALUE * 2
|
|
access = ACCESS_HYDROPONICS
|
|
contains = list(/obj/item/watertank)
|
|
crate_name = "hydroponics backpack crate"
|
|
crate_type = /obj/structure/closet/crate/secure/hydroponics
|
|
|
|
/datum/supply_pack/organic/pizza
|
|
name = "Pizza Crate"
|
|
desc = "Why visit the kitchen when you can have five random pizzas in a fraction of the time? \
|
|
Best prices this side of the galaxy! All deliveries are guaranteed to be 99% anomaly-free."
|
|
cost = CARGO_CRATE_VALUE * 10 // Best prices this side of the galaxy.
|
|
contains = list()
|
|
crate_name = "pizza crate"
|
|
|
|
///Whether we've provided an infinite pizza box already this shift or not.
|
|
var/anomalous_box_provided = FALSE
|
|
/// one percent chance for a pizza box to be the ininfite pizza box
|
|
var/infinite_pizza_chance = 1
|
|
///Whether we've provided a bomb pizza box already this shift or not.
|
|
var/boombox_provided = FALSE
|
|
/// three percent chance for a pizza box to be the pizza bomb box
|
|
var/bomb_pizza_chance = 3
|
|
/// 1 in 3 pizza bombs spawned will be a dud
|
|
var/bomb_dud_chance = 33
|
|
|
|
/// list of pizza that can randomly go inside of a crate, weighted by how disruptive it would be
|
|
var/list/pizza_types = list(
|
|
/obj/item/food/pizza/margherita = 10,
|
|
/obj/item/food/pizza/meat = 10,
|
|
/obj/item/food/pizza/mushroom = 10,
|
|
/obj/item/food/pizza/vegetable = 10,
|
|
/obj/item/food/pizza/donkpocket = 10,
|
|
/obj/item/food/pizza/dank = 7,
|
|
/obj/item/food/pizza/sassysage = 10,
|
|
/obj/item/food/pizza/pineapple = 10,
|
|
/obj/item/food/pizza/arnold = 3,
|
|
/obj/item/food/pizza/energy = 5
|
|
)
|
|
|
|
/datum/supply_pack/organic/pizza/fill(obj/structure/closet/crate/new_crate)
|
|
. = ..()
|
|
var/list/rng_pizza_list = pizza_types.Copy()
|
|
for(var/i in 1 to 5)
|
|
if(add_anomalous(new_crate))
|
|
continue
|
|
if(add_boombox(new_crate))
|
|
continue
|
|
add_normal_pizza(new_crate, rng_pizza_list)
|
|
|
|
/// adds the chance for an infinite pizza box
|
|
/datum/supply_pack/organic/pizza/proc/add_anomalous(obj/structure/closet/crate/new_crate)
|
|
if(anomalous_box_provided)
|
|
return FALSE
|
|
if(!prob(infinite_pizza_chance))
|
|
return FALSE
|
|
new /obj/item/pizzabox/infinite(new_crate)
|
|
anomalous_box_provided = TRUE
|
|
log_game("An anomalous pizza box was provided in a pizza crate at during cargo delivery.")
|
|
if(prob(50))
|
|
addtimer(CALLBACK(src, PROC_REF(anomalous_pizza_report)), rand(30 SECONDS, 180 SECONDS))
|
|
message_admins("An anomalous pizza box was provided in a pizza crate at during cargo delivery.")
|
|
else
|
|
message_admins("An anomalous pizza box was silently created with no command report in a pizza crate delivery.")
|
|
return TRUE
|
|
|
|
/// adds a chance of a pizza bomb replacing a pizza
|
|
/datum/supply_pack/organic/pizza/proc/add_boombox(obj/structure/closet/crate/new_crate)
|
|
if(boombox_provided)
|
|
return FALSE
|
|
if(!prob(bomb_pizza_chance))
|
|
return FALSE
|
|
var/boombox_type = (prob(bomb_dud_chance)) ? /obj/item/pizzabox/bomb : /obj/item/pizzabox/bomb/armed
|
|
new boombox_type(new_crate)
|
|
boombox_provided = TRUE
|
|
log_game("A pizza box bomb was created by a pizza crate delivery.")
|
|
message_admins("A pizza box bomb has arrived in a pizza crate delivery.")
|
|
return TRUE
|
|
|
|
/// adds a randomized pizza from the pizza list
|
|
/datum/supply_pack/organic/pizza/proc/add_normal_pizza(obj/structure/closet/crate/new_crate, list/rng_pizza_list)
|
|
var/randomize_pizza = pick_weight(rng_pizza_list)
|
|
rng_pizza_list -= randomize_pizza
|
|
var/obj/item/pizzabox/new_pizza_box = new(new_crate)
|
|
new_pizza_box.pizza = new randomize_pizza(new_pizza_box)
|
|
new_pizza_box.pizza.slice()
|
|
new_pizza_box.boxtag = new_pizza_box.pizza.boxtag
|
|
new_pizza_box.boxtag_set = TRUE
|
|
new_pizza_box.update_appearance(UPDATE_ICON | UPDATE_DESC)
|
|
|
|
/// tells crew that an infinite pizza box exists, half of the time, based on a roll in the anamolous box proc
|
|
/datum/supply_pack/organic/pizza/proc/anomalous_pizza_report()
|
|
print_command_report("[station_name()], our anomalous materials divison has reported a missing object that is highly likely to have been sent to your station during a routine cargo \
|
|
delivery. Please search all crates and manifests provided with the delivery and return the object if is located. The object resembles a standard <b>\[DATA EXPUNGED\]</b> and is to be \
|
|
considered <b>\[REDACTED\]</b> and returned at your leisure. Note that objects the anomaly produces are specifically attuned exactly to the individual opening the anomaly; regardless \
|
|
of species, the individual will find the object edible and it will taste great according to their personal definitions, which vary significantly based on person and species.")
|
|
|
|
/datum/supply_pack/organic/potted_plants
|
|
name = "Potted Plants Crate"
|
|
desc = "Spruce up the station with these lovely plants! Contains a random \
|
|
assortment of five potted plants from Nanotrasen's potted plant research division. \
|
|
Warranty void if thrown."
|
|
cost = CARGO_CRATE_VALUE * 1.5
|
|
contains = list(/obj/item/kirbyplants/random = 5)
|
|
crate_name = "potted plants crate"
|
|
crate_type = /obj/structure/closet/crate/wooden
|
|
|
|
/datum/supply_pack/organic/seeds
|
|
name = "Seeds Crate"
|
|
desc = "Big things have small beginnings. Contains fifteen different seeds."
|
|
cost = CARGO_CRATE_VALUE * 2
|
|
contains = list(/obj/item/seeds/chili,
|
|
/obj/item/seeds/cotton,
|
|
/obj/item/seeds/berry,
|
|
/obj/item/seeds/corn,
|
|
/obj/item/seeds/eggplant,
|
|
/obj/item/seeds/tomato,
|
|
/obj/item/seeds/soya,
|
|
/obj/item/seeds/wheat,
|
|
/obj/item/seeds/wheat/rice,
|
|
/obj/item/seeds/carrot,
|
|
/obj/item/seeds/sunflower,
|
|
/obj/item/seeds/rose,
|
|
/obj/item/seeds/chanter,
|
|
/obj/item/seeds/potato,
|
|
/obj/item/seeds/sugarcane,
|
|
/obj/item/seeds/cucumber,
|
|
)
|
|
crate_name = "seeds crate"
|
|
crate_type = /obj/structure/closet/crate/hydroponics
|
|
|
|
/datum/supply_pack/organic/randomized/chef/vegetables
|
|
name = "Vegetables Crate"
|
|
desc = "Grown in vats. Contains a chili, corn, tomato, potato, carrot, \
|
|
chanterelle, onion, pumpkin, and cucumber."
|
|
cost = CARGO_CRATE_VALUE * 1.8
|
|
contains = list(/obj/item/food/grown/chili,
|
|
/obj/item/food/grown/corn,
|
|
/obj/item/food/grown/tomato,
|
|
/obj/item/food/grown/potato,
|
|
/obj/item/food/grown/carrot,
|
|
/obj/item/food/grown/mushroom/chanterelle,
|
|
/obj/item/food/grown/onion,
|
|
/obj/item/food/grown/pumpkin,
|
|
/obj/item/food/grown/cucumber,
|
|
)
|
|
crate_name = "food crate"
|
|
|
|
/datum/supply_pack/organic/grill
|
|
name = "Grilling Starter Kit"
|
|
desc = "Hey dad I'm Hungry. Hi Hungry I'm THE NEW GRILLING STARTER KIT \
|
|
ONLY 5000 BUX GET NOW! Contains a grill and fuel."
|
|
cost = CARGO_CRATE_VALUE * 4
|
|
crate_type = /obj/structure/closet/crate
|
|
contains = list(
|
|
/obj/item/stack/sheet/mineral/coal/five,
|
|
/obj/item/kitchen/tongs,
|
|
/obj/item/reagent_containers/cup/soda_cans/monkey_energy,
|
|
/obj/machinery/grill/unwrenched,
|
|
)
|
|
crate_name = "grilling starter kit crate"
|
|
discountable = SUPPLY_PACK_UNCOMMON_DISCOUNTABLE
|
|
|
|
/datum/supply_pack/organic/grillfuel
|
|
name = "Grilling Fuel Kit"
|
|
desc = "Contains propane and propane accessories. \
|
|
(Note: doesn't contain any actual propane.)"
|
|
cost = CARGO_CRATE_VALUE * 4
|
|
crate_type = /obj/structure/closet/crate
|
|
contains = list(/obj/item/stack/sheet/mineral/coal/ten,
|
|
/obj/item/reagent_containers/cup/soda_cans/monkey_energy,
|
|
)
|
|
crate_name = "grilling fuel kit crate"
|
|
discountable = SUPPLY_PACK_UNCOMMON_DISCOUNTABLE
|
|
|
|
/datum/supply_pack/organic/tiziran_supply
|
|
name = "Tiziran Supply Box"
|
|
desc = "A packaged box of supplies from the heart of the Lizard Empire. \
|
|
Contains a selection of Tiziran ingredients and basic foods."
|
|
cost = CARGO_CRATE_VALUE * 3
|
|
contains = list(/obj/item/storage/box/tiziran_goods,
|
|
/obj/item/storage/box/tiziran_cans,
|
|
/obj/item/storage/box/tiziran_meats,
|
|
)
|
|
crate_name = "\improper Tiziran Supply box"
|
|
crate_type = /obj/structure/closet/crate/cardboard/tiziran
|
|
|
|
/datum/supply_pack/organic/mothic_supply
|
|
name = "Mothic Supply Box"
|
|
desc = "A packaged box of surplus supplies from the Mothic Fleet. \
|
|
Contains a selection of Mothic ingredients and basic foods."
|
|
cost = CARGO_CRATE_VALUE * 3
|
|
contains = list(/obj/item/storage/box/mothic_goods,
|
|
/obj/item/storage/box/mothic_cans_sauces,
|
|
/obj/item/storage/box/mothic_rations,
|
|
)
|
|
crate_name = "\improper Mothic Supply box"
|
|
crate_type = /obj/structure/closet/crate/cardboard/mothic
|
|
|
|
/datum/supply_pack/organic/syrup
|
|
name = "Coffee Syrups Box"
|
|
desc = "A packaged box of various syrups, perfect for making your delicious coffee even more diabetic."
|
|
cost = CARGO_CRATE_VALUE * 4
|
|
contains = list(
|
|
/obj/item/reagent_containers/cup/bottle/syrup_bottle/caramel,
|
|
/obj/item/reagent_containers/cup/bottle/syrup_bottle/liqueur,
|
|
/obj/item/reagent_containers/cup/bottle/syrup_bottle/korta_nectar,
|
|
)
|
|
crate_name = "coffee syrups box"
|
|
crate_type = /obj/structure/closet/crate/cardboard
|
|
|
|
/datum/supply_pack/organic/syrup_contraband
|
|
contraband = TRUE
|
|
name = "Contraband Syrups Box"
|
|
desc = "A packaged box containing illegal coffee syrups. Possession of these carries a penalty established in the galactic penal code."
|
|
cost = CARGO_CRATE_VALUE * 6
|
|
contains = list(
|
|
/obj/item/reagent_containers/cup/bottle/syrup_bottle/laughsyrup = 2,
|
|
)
|
|
crate_name = "illegal syrups box"
|
|
crate_type = /obj/structure/closet/crate/cardboard
|
|
|
|
/datum/supply_pack/organic/cooking_oil
|
|
name = "Cooking Oil Vat"
|
|
desc = "This high-grade cooking oil can make almost anything edible. \
|
|
From a plasma cutter to a Syndicate bomb, if it fits in the fryer, it's a snack. \
|
|
Contains a vat of cooking oil."
|
|
cost = CARGO_CRATE_VALUE * 4.75
|
|
contains = list(/obj/structure/reagent_dispensers/cooking_oil)
|
|
crate_name = "cooking oil crate"
|
|
crate_type = /obj/structure/closet/crate/wooden
|
|
|
|
/datum/supply_pack/organic/beer_keg
|
|
name = "Beer Keg"
|
|
desc = "The perfect way to start your shift... or end it. \
|
|
Contains a full barrel of Nanotrasen brewed, low-grade alcoholic beverage, \
|
|
perfect for getting loose after a hard day of not dying."
|
|
cost = CARGO_CRATE_VALUE * 6.25
|
|
contains = list(/obj/structure/reagent_dispensers/beerkeg)
|
|
crate_name = "beer keg crate"
|
|
crate_type = /obj/structure/closet/crate/wooden
|
|
|
|
/datum/supply_pack/organic/nutraslop
|
|
name = "Nutraslop Serving Dish"
|
|
desc = "A culinary masterpiece created from all of Nanotrasen's previous culinary... innovations. \
|
|
A single bite will transport you back to the taste of yesterday's prison rations. \
|
|
Contains a serving dish filled with Nutraslop."
|
|
cost = CARGO_CRATE_VALUE * 4
|
|
contains = list(/obj/structure/reagent_dispensers/servingdish)
|
|
crate_name = "nutraslop serving dish crate"
|
|
|
|
|
|
/datum/supply_pack/organic/hydroponics/soil_normal
|
|
name = "NT-Ag Potting Soil Crate"
|
|
desc = "A crate containing sacks of regular, commercial soil."
|
|
cost = CARGO_CRATE_VALUE * 2
|
|
crate_name = "potting soil crate"
|
|
contains = list(
|
|
/obj/item/soil_sack = 5,
|
|
)
|
|
|
|
/datum/supply_pack/organic/hydroponics/soil_vermaculite
|
|
name = "NT-Ag Vermaculite Crate"
|
|
desc = "A crate containing sacks of NT-Ag vermaculite. Your favorite expanded mineral!"
|
|
cost = CARGO_CRATE_VALUE * 2
|
|
crate_name = "vermaculite crate"
|
|
contains = list(
|
|
/obj/item/soil_sack/vermaculite = 3,
|
|
)
|
|
|
|
/datum/supply_pack/organic/hydroponics/soil_gel
|
|
name = "NT-Ag Hydrogel Beads Crate"
|
|
desc = "A crate containing sacks of prehydrated superabsorbent gel beads. Everyone likes some nice beads."
|
|
cost = CARGO_CRATE_VALUE * 2
|
|
crate_name = "hydrogel beads crate"
|
|
contains = list(
|
|
/obj/item/soil_sack/gel = 3,
|
|
)
|
|
|
|
|
|
/datum/supply_pack/organic/hydroponics/soil_coir
|
|
name = "NT-Ag Korta Coir Crate"
|
|
desc = "A crate containing sacks of korta root coir. Good for starting a mushroom farm!"
|
|
cost = CARGO_CRATE_VALUE * 3
|
|
crate_name = "korta coir crate"
|
|
contains = list(
|
|
/obj/item/soil_sack/coir = 3,
|
|
)
|
|
|
|
/datum/supply_pack/organic/hydroponics/soil_worm
|
|
name = "NT-Ag Worm Castings Crate"
|
|
desc = "A crate containing sacks of vermicompost. Worms not included! Or?.."
|
|
cost = CARGO_CRATE_VALUE * 4
|
|
crate_name = "worm castings crate"
|
|
contains = list(
|
|
/obj/item/soil_sack/worm = 3,
|
|
)
|
|
|