Merge pull request #12266 from Fox-McCloud/hydro-update
Hydroponics Update: Growable Ash Flora
@@ -1275,16 +1275,57 @@
|
||||
product_slogans = "THIS'S WHERE TH' SEEDS LIVE! GIT YOU SOME!;Hands down the best seed selection on the station!;Also certain mushroom varieties available, more for experts! Get certified today!"
|
||||
product_ads = "We like plants!;Grow some crops!;Grow, baby, growww!;Aw h'yeah son!"
|
||||
icon_state = "seeds"
|
||||
products = list(/obj/item/seeds/aloe =3, /obj/item/seeds/ambrosia = 3, /obj/item/seeds/apple = 3, /obj/item/seeds/cotton = 3, /obj/item/seeds/banana = 3, /obj/item/seeds/berry = 3,
|
||||
/obj/item/seeds/cabbage = 3, /obj/item/seeds/carrot = 3, /obj/item/seeds/cherry = 3, /obj/item/seeds/chanter = 3,
|
||||
/obj/item/seeds/chili = 3, /obj/item/seeds/cocoapod = 3, /obj/item/seeds/coffee = 3, /obj/item/seeds/comfrey =3, /obj/item/seeds/corn = 3,
|
||||
/obj/item/seeds/nymph =3, /obj/item/seeds/eggplant = 3, /obj/item/seeds/grape = 3, /obj/item/seeds/grass = 3, /obj/item/seeds/lemon = 3,
|
||||
/obj/item/seeds/lime = 3, /obj/item/seeds/onion = 3, /obj/item/seeds/orange = 3, /obj/item/seeds/peanuts = 3, /obj/item/seeds/pineapple = 3, /obj/item/seeds/potato = 3, /obj/item/seeds/poppy = 3,
|
||||
/obj/item/seeds/pumpkin = 3, /obj/item/seeds/replicapod = 3, /obj/item/seeds/wheat/rice = 3, /obj/item/seeds/soya = 3, /obj/item/seeds/sunflower = 3, /obj/item/seeds/sugarcane = 3,
|
||||
/obj/item/seeds/tea = 3, /obj/item/seeds/tobacco = 3, /obj/item/seeds/tomato = 3,
|
||||
/obj/item/seeds/tower = 3, /obj/item/seeds/watermelon = 3, /obj/item/seeds/wheat = 3, /obj/item/seeds/whitebeet = 3)
|
||||
contraband = list(/obj/item/seeds/amanita = 2, /obj/item/seeds/glowshroom = 2, /obj/item/seeds/liberty = 2, /obj/item/seeds/nettle = 2,
|
||||
/obj/item/seeds/plump = 2, /obj/item/seeds/reishi = 2, /obj/item/seeds/cannabis = 3, /obj/item/seeds/starthistle = 2, /obj/item/seeds/fungus = 3, /obj/item/seeds/random = 2)
|
||||
products = list(/obj/item/seeds/aloe =3,
|
||||
/obj/item/seeds/ambrosia = 3,
|
||||
/obj/item/seeds/apple = 3,
|
||||
/obj/item/seeds/cotton = 3,
|
||||
/obj/item/seeds/banana = 3,
|
||||
/obj/item/seeds/berry = 3,
|
||||
/obj/item/seeds/cabbage = 3,
|
||||
/obj/item/seeds/carrot = 3,
|
||||
/obj/item/seeds/cherry = 3,
|
||||
/obj/item/seeds/chanter = 3,
|
||||
/obj/item/seeds/chili = 3,
|
||||
/obj/item/seeds/cocoapod = 3,
|
||||
/obj/item/seeds/coffee = 3,
|
||||
/obj/item/seeds/comfrey =3,
|
||||
/obj/item/seeds/corn = 3,
|
||||
/obj/item/seeds/nymph =3,
|
||||
/obj/item/seeds/eggplant = 3,
|
||||
/obj/item/seeds/garlic = 3,
|
||||
/obj/item/seeds/grape = 3,
|
||||
/obj/item/seeds/grass = 3,
|
||||
/obj/item/seeds/lemon = 3,
|
||||
/obj/item/seeds/lime = 3,
|
||||
/obj/item/seeds/onion = 3,
|
||||
/obj/item/seeds/orange = 3,
|
||||
/obj/item/seeds/peanuts = 3,
|
||||
/obj/item/seeds/pineapple = 3,
|
||||
/obj/item/seeds/potato = 3,
|
||||
/obj/item/seeds/poppy = 3,
|
||||
/obj/item/seeds/pumpkin = 3,
|
||||
/obj/item/seeds/replicapod = 3,
|
||||
/obj/item/seeds/wheat/rice = 3,
|
||||
/obj/item/seeds/soya = 3,
|
||||
/obj/item/seeds/sunflower = 3,
|
||||
/obj/item/seeds/sugarcane = 3,
|
||||
/obj/item/seeds/tea = 3,
|
||||
/obj/item/seeds/tobacco = 3,
|
||||
/obj/item/seeds/tomato = 3,
|
||||
/obj/item/seeds/tower = 3,
|
||||
/obj/item/seeds/watermelon = 3,
|
||||
/obj/item/seeds/wheat = 3,
|
||||
/obj/item/seeds/whitebeet = 3)
|
||||
contraband = list(/obj/item/seeds/amanita = 2,
|
||||
/obj/item/seeds/glowshroom = 2,
|
||||
/obj/item/seeds/liberty = 2,
|
||||
/obj/item/seeds/nettle = 2,
|
||||
/obj/item/seeds/plump = 2,
|
||||
/obj/item/seeds/reishi = 2,
|
||||
/obj/item/seeds/cannabis = 3,
|
||||
/obj/item/seeds/starthistle = 2,
|
||||
/obj/item/seeds/fungus = 3,
|
||||
/obj/item/seeds/random = 2)
|
||||
premium = list(/obj/item/reagent_containers/spray/waterflower = 1)
|
||||
refill_canister = /obj/item/vending_refill/hydroseeds
|
||||
|
||||
|
||||
@@ -334,14 +334,6 @@
|
||||
icon_state = "britcup"
|
||||
volume = 30
|
||||
|
||||
/obj/item/reagent_containers/food/drinks/mushroom_bowl
|
||||
name = "mushroom bowl"
|
||||
desc = "A bowl made out of mushrooms. Not food, though it might have contained some at some point."
|
||||
icon = 'icons/obj/lavaland/ash_flora.dmi'
|
||||
icon_state = "mushroom_bowl"
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
|
||||
|
||||
/obj/item/reagent_containers/food/drinks/bag
|
||||
name = "drink bag"
|
||||
desc = "Normally put in wine boxes, or down pants at stadium events."
|
||||
|
||||
@@ -374,6 +374,7 @@
|
||||
seed.genes += disk.gene.Copy()
|
||||
if(istype(disk.gene, /datum/plant_gene/reagent))
|
||||
seed.reagents_from_genes()
|
||||
disk.gene.apply_vars(seed)
|
||||
repaint_seed()
|
||||
|
||||
update_genes()
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
icon_dead = "soybean-dead"
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
||||
mutatelist = list(/obj/item/seeds/soya/koi)
|
||||
reagents_add = list("soybeanoil" = 0.2, "vitamin" = 0.04, "plantmatter" = 0.05)
|
||||
reagents_add = list("vitamin" = 0.04, "plantmatter" = 0.05, "soybeanoil" = 0.03)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/soybeans
|
||||
seed = /obj/item/seeds/soya
|
||||
@@ -25,7 +25,7 @@
|
||||
icon_state = "soybeans"
|
||||
filling_color = "#F0E68C"
|
||||
bitesize_mod = 2
|
||||
tastes = list("soybean" = 1)
|
||||
tastes = list("soy" = 1)
|
||||
wine_power = 0.2
|
||||
|
||||
// Koibean
|
||||
|
||||
@@ -46,8 +46,8 @@
|
||||
desc = "Taste so good, you could die!"
|
||||
icon_state = "poisonberrypile"
|
||||
filling_color = "#C71585"
|
||||
distill_reagent = null
|
||||
tastes = list("poison-berry" = 1)
|
||||
distill_reagent = null
|
||||
wine_power = 0.35
|
||||
|
||||
// Death Berries
|
||||
@@ -70,8 +70,8 @@
|
||||
desc = "Taste so good, you could die!"
|
||||
icon_state = "deathberrypile"
|
||||
filling_color = "#708090"
|
||||
distill_reagent = null
|
||||
tastes = list("death-berry" = 1)
|
||||
distill_reagent = null
|
||||
wine_power = 0.5
|
||||
|
||||
// Glow Berries
|
||||
@@ -130,8 +130,8 @@
|
||||
gender = PLURAL
|
||||
filling_color = "#FF0000"
|
||||
bitesize_mod = 2
|
||||
wine_power = 0.3
|
||||
tastes = list("cherry" = 1)
|
||||
wine_power = 0.3
|
||||
|
||||
// Blue Cherries
|
||||
/obj/item/seeds/cherry/blue
|
||||
@@ -152,8 +152,8 @@
|
||||
icon_state = "bluecherry"
|
||||
filling_color = "#6495ED"
|
||||
bitesize_mod = 2
|
||||
wine_power = 0.5
|
||||
tastes = list("blue cherry" = 1)
|
||||
wine_power = 0.5
|
||||
|
||||
// Grapes
|
||||
/obj/item/seeds/grape
|
||||
@@ -184,8 +184,8 @@
|
||||
dried_type = /obj/item/reagent_containers/food/snacks/no_raisin
|
||||
filling_color = "#FF1493"
|
||||
bitesize_mod = 2
|
||||
distill_reagent = "wine"
|
||||
tastes = list("grapes" = 1)
|
||||
distill_reagent = "wine"
|
||||
|
||||
// Green Grapes
|
||||
/obj/item/seeds/grape/green
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
filling_color = "#0000CD"
|
||||
bitesize_mod = 2
|
||||
origin_tech = "biotech=4"
|
||||
tastes = list("chilli" = 1)
|
||||
tastes = list("chilly" = 1)
|
||||
wine_power = 0.3
|
||||
|
||||
// Ghost Chili
|
||||
|
||||
@@ -31,7 +31,6 @@
|
||||
icon_state = "lime"
|
||||
filling_color = "#00FF00"
|
||||
tastes = list("lime" = 1)
|
||||
distill_reagent = "triple_sec"
|
||||
|
||||
// Orange
|
||||
/obj/item/seeds/orange
|
||||
@@ -59,6 +58,7 @@
|
||||
icon_state = "orange"
|
||||
tastes = list("orange" = 1)
|
||||
filling_color = "#FFA500"
|
||||
distill_reagent = "triple_sec"
|
||||
|
||||
// Lemon
|
||||
/obj/item/seeds/lemon
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
/obj/item/grown/snapcorn
|
||||
seed = /obj/item/seeds/corn/snapcorn
|
||||
name = "snap corn"
|
||||
desc = "A cob with snap pops"
|
||||
desc = "A cob with snap pops."
|
||||
icon_state = "snapcorn"
|
||||
item_state = "corncob"
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
|
||||
@@ -27,9 +27,11 @@
|
||||
|
||||
// Egg-Plant
|
||||
/obj/item/seeds/eggplant/eggy
|
||||
name = "pack of egg-plant seeds"
|
||||
desc = "These seeds grow to produce berries that look a lot like eggs."
|
||||
icon_state = "seed-eggy"
|
||||
species = "eggy"
|
||||
plantname = "Egg-Plants"
|
||||
product = /obj/item/reagent_containers/food/snacks/grown/shell/eggy
|
||||
lifespan = 75
|
||||
production = 12
|
||||
|
||||
@@ -138,6 +138,8 @@
|
||||
icon_state = "seed-moonflower"
|
||||
species = "moonflower"
|
||||
plantname = "Moonflowers"
|
||||
icon_grow = "moonflower-grow"
|
||||
icon_dead = "sunflower-dead"
|
||||
product = /obj/item/reagent_containers/food/snacks/grown/moonflower
|
||||
mutatelist = list()
|
||||
reagents_add = list("moonshine" = 0.2, "vitamin" = 0.02, "plantmatter" = 0.02)
|
||||
@@ -152,7 +154,7 @@
|
||||
filling_color = "#E6E6FA"
|
||||
bitesize_mod = 2
|
||||
tastes = list("moonflower" = 1)
|
||||
distill_reagent = "absinthe"
|
||||
distill_reagent = "absinthe" //It's made from flowers.
|
||||
|
||||
// Novaflower
|
||||
/obj/item/seeds/sunflower/novaflower
|
||||
@@ -161,6 +163,8 @@
|
||||
icon_state = "seed-novaflower"
|
||||
species = "novaflower"
|
||||
plantname = "Novaflowers"
|
||||
icon_grow = "novaflower-grow"
|
||||
icon_dead = "sunflower-dead"
|
||||
product = /obj/item/grown/novaflower
|
||||
mutatelist = list()
|
||||
reagents_add = list("condensedcapsaicin" = 0.25, "capsaicin" = 0.3, "plantmatter" = 0)
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
/obj/item/seeds/garlic
|
||||
name = "pack of garlic seeds"
|
||||
desc = "A packet of extremely pungent seeds."
|
||||
icon_state = "seed-garlic"
|
||||
species = "garlic"
|
||||
plantname = "Garlic Sprouts"
|
||||
product = /obj/item/reagent_containers/food/snacks/grown/garlic
|
||||
yield = 6
|
||||
potency = 25
|
||||
growthstages = 3
|
||||
growing_icon = 'icons/obj/hydroponics/growing_vegetables.dmi'
|
||||
reagents_add = list("garlic" = 0.15, "plantmatter" = 0.1)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/garlic
|
||||
seed = /obj/item/seeds/garlic
|
||||
name = "garlic"
|
||||
desc = "Delicious, but with a potentially overwhelming odor."
|
||||
icon_state = "garlic"
|
||||
filling_color = "#C0C9A0"
|
||||
bitesize_mod = 2
|
||||
tastes = list("garlic" = 1)
|
||||
wine_power = 0.1
|
||||
@@ -38,17 +38,8 @@
|
||||
continue
|
||||
grassAmt += 1 + round(G.seed.potency * tile_coefficient)
|
||||
qdel(G)
|
||||
var/obj/item/stack/tile/GT = new stacktype(user.loc)
|
||||
while(grassAmt > GT.max_amount)
|
||||
GT.amount = GT.max_amount
|
||||
grassAmt -= GT.max_amount
|
||||
GT = new stacktype(user.loc)
|
||||
GT.amount = grassAmt
|
||||
for(var/obj/item/stack/tile/T in user.loc)
|
||||
if((T.type == stacktype) && (T.amount < T.max_amount) && (T != GT))
|
||||
T.attackby(GT, user)
|
||||
new stacktype(user.drop_location(), grassAmt)
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
// Carpet
|
||||
/obj/item/seeds/grass/carpet
|
||||
|
||||
@@ -14,6 +14,13 @@
|
||||
mutatelist = list(/obj/item/seeds/watermelon/holy)
|
||||
reagents_add = list("water" = 0.2, "vitamin" = 0.04, "plantmatter" = 0.2)
|
||||
|
||||
/obj/item/seeds/watermelon/suicide_act(mob/user)
|
||||
user.visible_message("<span class='suicide'>[user] is swallowing [src]! It looks like [user.p_theyre()] trying to commit suicide!</span>")
|
||||
user.gib()
|
||||
new product(drop_location())
|
||||
qdel(src)
|
||||
return OBLITERATION
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/watermelon
|
||||
seed = /obj/item/seeds/watermelon
|
||||
name = "watermelon"
|
||||
|
||||
@@ -14,19 +14,19 @@
|
||||
growthstages = 3
|
||||
growing_icon = 'icons/obj/hydroponics/growing_flowers.dmi'
|
||||
genes = list(/datum/plant_gene/trait/plant_type/weed_hardy)
|
||||
mutatelist = list(/obj/item/seeds/harebell)
|
||||
|
||||
/obj/item/seeds/starthistle/harvest(mob/user)
|
||||
var/obj/machinery/hydroponics/parent = loc
|
||||
var/seed_count = yield
|
||||
if(prob(getYield() * 20))
|
||||
seed_count++
|
||||
var/output_loc = parent.Adjacent(user) ? user.loc : parent.loc
|
||||
for(var/i in 1 to yield+1)
|
||||
for(var/i in 1 to seed_count)
|
||||
var/obj/item/seeds/starthistle/harvestseeds = Copy()
|
||||
harvestseeds.forceMove(output_loc)
|
||||
|
||||
parent.update_tray()
|
||||
|
||||
|
||||
// Cabbage
|
||||
/obj/item/seeds/cabbage
|
||||
name = "pack of cabbage seeds"
|
||||
|
||||
@@ -175,7 +175,7 @@
|
||||
can_distill = FALSE
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/mushroom/walkingmushroom/attack_self(mob/user)
|
||||
if(istype(user.loc, /turf/space))
|
||||
if(isspaceturf(user.loc))
|
||||
return
|
||||
var/mob/living/simple_animal/hostile/mushroom/M = new /mob/living/simple_animal/hostile/mushroom(user.loc)
|
||||
M.maxHealth += round(seed.endurance / 4)
|
||||
@@ -277,8 +277,7 @@
|
||||
desc = "This mycelium -powers- into mushrooms!"
|
||||
icon_state = "mycelium-glowcap"
|
||||
species = "glowcap"
|
||||
icon_grow = "glowshroom-grow"
|
||||
icon_dead = "glowshroom-dead"
|
||||
icon_harvest = "glowcap-harvest"
|
||||
plantname = "Glowcaps"
|
||||
product = /obj/item/reagent_containers/food/snacks/grown/mushroom/glowshroom/glowcap
|
||||
genes = list(/datum/plant_gene/trait/glow/red, /datum/plant_gene/trait/cell_charge, /datum/plant_gene/trait/plant_type/fungal_metabolism)
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
slice_path = /obj/item/reagent_containers/food/snacks/onion_slice
|
||||
tastes = list("onion" = 1, "pungentness" = 1)
|
||||
slices_num = 2
|
||||
wine_power = 0.2
|
||||
wine_power = 0.3
|
||||
wine_flavor = "pungentness"
|
||||
|
||||
/obj/item/seeds/onion/red
|
||||
|
||||
@@ -1,29 +1,33 @@
|
||||
// Pineapple!
|
||||
/obj/item/seeds/pineapple
|
||||
name = "pack of pineapple seeds"
|
||||
desc = "These seeds grow into pineapple plants."
|
||||
icon_state = "seed-pineapple" //NEEDED
|
||||
species = "pineapple"
|
||||
plantname = "Pineapple Plant"
|
||||
product = /obj/item/reagent_containers/food/snacks/grown/pineapple
|
||||
maturation = 6
|
||||
lifespan = 55
|
||||
endurance = 35
|
||||
growthstages = 4
|
||||
growing_icon = 'icons/obj/hydroponics/growing_fruits.dmi'
|
||||
icon_grow = "pineapple-grow" //NEEDED
|
||||
icon_dead = "pineapple-dead" //NEEDED
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
||||
reagents_add = list("water" = 0.1, "vitamin" = 0.03, "sugar" = 0.02, "plantmatter" = 0.2)
|
||||
name = "pack of pineapple seeds"
|
||||
desc = "Oooooooooooooh!"
|
||||
icon_state = "seed-pineapple"
|
||||
species = "pineapple"
|
||||
plantname = "Pineapple Plant"
|
||||
product = /obj/item/reagent_containers/food/snacks/grown/pineapple
|
||||
lifespan = 40
|
||||
endurance = 30
|
||||
growthstages = 3
|
||||
growing_icon = 'icons/obj/hydroponics/growing_fruits.dmi'
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
||||
mutatelist = list(/obj/item/seeds/apple)
|
||||
reagents_add = list("vitamin" = 0.02, "plantmatter" = 0.2, "water" = 0.04)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/pineapple
|
||||
seed = /obj/item/seeds/pineapple
|
||||
name = "pineapple"
|
||||
desc = "A soft sweet interior surrounded by a spiky skin."
|
||||
slice_path = /obj/item/reagent_containers/food/snacks/pineappleslice
|
||||
slices_num = 4
|
||||
icon_state = "pineapple"
|
||||
filling_color = "#e5b437"
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
bitesize_mod = 3
|
||||
tastes = list("pineapple" = 1)
|
||||
wine_power = 0.4
|
||||
seed = /obj/item/seeds/pineapple
|
||||
name = "pineapple"
|
||||
desc = "A soft sweet interior surrounded by a spiky skin."
|
||||
icon_state = "pineapple"
|
||||
force = 4
|
||||
throwforce = 8
|
||||
hitsound = 'sound/weapons/bladeslice.ogg'
|
||||
attack_verb = list("stung", "pined")
|
||||
throw_speed = 1
|
||||
throw_range = 5
|
||||
slice_path = /obj/item/reagent_containers/food/snacks/pineappleslice
|
||||
slices_num = 3
|
||||
filling_color = "#F6CB0B"
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
tastes = list("pineapple" = 1)
|
||||
wine_power = 0.4
|
||||
@@ -98,8 +98,6 @@
|
||||
podman.ckey = ckey_holder
|
||||
podman.gender = blood_gender
|
||||
podman.faction |= factions
|
||||
podman.faction |= "plants"
|
||||
podman.faction |= "vines" //Pod grown Diona are allied with plants and vines alike.
|
||||
|
||||
else //else, one packet of seeds. maybe two
|
||||
var/seed_count = 1
|
||||
|
||||
@@ -44,15 +44,11 @@
|
||||
attack_verb = list("bashed", "battered", "bludgeoned", "whacked")
|
||||
var/plank_type = /obj/item/stack/sheet/wood
|
||||
var/plank_name = "wooden planks"
|
||||
var/list/accepted = list(/obj/item/reagent_containers/food/snacks/grown/tobacco,
|
||||
var/static/list/accepted = typecacheof(list(/obj/item/reagent_containers/food/snacks/grown/tobacco,
|
||||
/obj/item/reagent_containers/food/snacks/grown/tea,
|
||||
/obj/item/reagent_containers/food/snacks/grown/ambrosia/vulgaris,
|
||||
/obj/item/reagent_containers/food/snacks/grown/ambrosia/deus,
|
||||
/obj/item/reagent_containers/food/snacks/grown/wheat)
|
||||
|
||||
/obj/item/grown/log/New()
|
||||
..()
|
||||
accepted = typecacheof(accepted)
|
||||
/obj/item/reagent_containers/food/snacks/grown/wheat))
|
||||
|
||||
/obj/item/grown/log/attackby(obj/item/W, mob/user, params)
|
||||
if(is_sharp(W))
|
||||
@@ -69,7 +65,7 @@
|
||||
to_chat(user, "<span class='notice'>You add the newly-formed [plank_name] to the stack. It now contains [plank.amount] [plank_name].</span>")
|
||||
qdel(src)
|
||||
|
||||
if(is_type_in_typecache(W, accepted))
|
||||
if(CheckAccepted(W))
|
||||
var/obj/item/reagent_containers/food/snacks/grown/leaf = W
|
||||
if(leaf.dry)
|
||||
user.show_message("<span class='notice'>You wrap \the [W] around the log, turning it into a torch!</span>")
|
||||
@@ -84,6 +80,9 @@
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/item/grown/log/proc/CheckAccepted(obj/item/I)
|
||||
return is_type_in_typecache(I, accepted)
|
||||
|
||||
/obj/item/grown/log/tree
|
||||
seed = null
|
||||
name = "wood log"
|
||||
@@ -94,10 +93,11 @@
|
||||
name = "steel-cap log"
|
||||
desc = "It's made of metal."
|
||||
icon_state = "steellogs"
|
||||
accepted = list()
|
||||
plank_type = /obj/item/stack/rods
|
||||
plank_name = "rods"
|
||||
|
||||
/obj/item/grown/log/steel/CheckAccepted(obj/item/I)
|
||||
return FALSE
|
||||
|
||||
/////////BONFIRES//////////
|
||||
|
||||
|
||||
@@ -636,9 +636,10 @@
|
||||
|
||||
// why, just why
|
||||
if(S.has_reagent("napalm", 1))
|
||||
adjustHealth(-round(S.get_reagent_amount("napalm") * 6))
|
||||
adjustToxic(round(S.get_reagent_amount("napalm") * 7))
|
||||
adjustWeeds(-rand(5,9))
|
||||
if(!(myseed.resistance_flags & FIRE_PROOF))
|
||||
adjustHealth(-round(S.get_reagent_amount("napalm") * 6))
|
||||
adjustToxic(round(S.get_reagent_amount("napalm") * 7))
|
||||
adjustWeeds(-rand(5, 9)) //At least give them a small reward if they bother
|
||||
|
||||
//Weed Spray
|
||||
if(S.has_reagent("atrazine", 1))
|
||||
|
||||
@@ -10,7 +10,8 @@
|
||||
/datum/plant_gene/proc/Copy()
|
||||
return new type
|
||||
|
||||
|
||||
/datum/plant_gene/proc/apply_vars(obj/item/seeds/S) // currently used for fire resist, can prob. be further refactored
|
||||
return
|
||||
|
||||
|
||||
// Core plant genes store 5 main variables: lifespan, endurance, production, yield, potency
|
||||
@@ -412,6 +413,17 @@
|
||||
S.set_up(G.reagents, splat_location)
|
||||
S.start(smoke_amount)
|
||||
|
||||
/datum/plant_gene/trait/fire_resistance // Lavaland
|
||||
name = "Fire Resistance"
|
||||
|
||||
/datum/plant_gene/trait/fire_resistance/apply_vars(obj/item/seeds/S)
|
||||
if(!(S.resistance_flags & FIRE_PROOF))
|
||||
S.resistance_flags |= FIRE_PROOF
|
||||
|
||||
/datum/plant_gene/trait/fire_resistance/on_new(obj/item/reagent_containers/food/snacks/grown/G, newloc)
|
||||
if(!(G.resistance_flags & FIRE_PROOF))
|
||||
G.resistance_flags |= FIRE_PROOF
|
||||
|
||||
/datum/plant_gene/trait/plant_type // Parent type
|
||||
name = "you shouldn't see this"
|
||||
trait_id = "plant_type"
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/obj/structure/flora/ash
|
||||
gender = PLURAL
|
||||
layer = PROJECTILE_HIT_THRESHHOLD_LAYER //sporangiums up don't shoot
|
||||
icon = 'icons/obj/lavaland/ash_flora.dmi'
|
||||
icon_state = "l_mushroom"
|
||||
name = "large mushrooms"
|
||||
@@ -17,42 +18,41 @@
|
||||
var/harvest_message_high = "You harvest and collect shavings from several mushroom caps."
|
||||
var/harvested = FALSE
|
||||
var/base_icon
|
||||
var/regrowth_time_low = 4800
|
||||
var/regrowth_time_high = 8400
|
||||
var/regrowth_time_low = 8 MINUTES
|
||||
var/regrowth_time_high = 16 MINUTES
|
||||
|
||||
/obj/structure/flora/ash/New()
|
||||
..()
|
||||
/obj/structure/flora/ash/Initialize(mapload)
|
||||
. = ..()
|
||||
base_icon = "[icon_state][rand(1, 4)]"
|
||||
icon_state = base_icon
|
||||
if(prob(15))
|
||||
harvest(null, TRUE)
|
||||
|
||||
/obj/structure/flora/ash/ex_act(severity, target)
|
||||
switch(severity)
|
||||
if(1)
|
||||
qdel(src)
|
||||
if(2)
|
||||
if(prob(80))
|
||||
qdel(src)
|
||||
if(3)
|
||||
if(prob(50))
|
||||
/obj/structure/flora/ash/ex_act(severity, target)
|
||||
switch(severity)
|
||||
if(1)
|
||||
qdel(src)
|
||||
if(2)
|
||||
if(prob(80))
|
||||
qdel(src)
|
||||
if(3)
|
||||
if(prob(50))
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/flora/ash/proc/harvest(user, no_drop)
|
||||
/obj/structure/flora/ash/proc/harvest(user)
|
||||
if(harvested)
|
||||
return 0
|
||||
if(!no_drop)
|
||||
var/rand_harvested = rand(harvest_amount_low, harvest_amount_high)
|
||||
if(rand_harvested)
|
||||
if(user)
|
||||
var/msg = harvest_message_med
|
||||
if(rand_harvested == harvest_amount_low)
|
||||
msg = harvest_message_low
|
||||
else if(rand_harvested == harvest_amount_high)
|
||||
msg = harvest_message_high
|
||||
to_chat(user, "<span class='notice'>[msg]</span>")
|
||||
for(var/i in 1 to rand_harvested)
|
||||
new harvest(get_turf(src))
|
||||
|
||||
var/rand_harvested = rand(harvest_amount_low, harvest_amount_high)
|
||||
if(rand_harvested)
|
||||
if(user)
|
||||
var/msg = harvest_message_med
|
||||
if(rand_harvested == harvest_amount_low)
|
||||
msg = harvest_message_low
|
||||
else if(rand_harvested == harvest_amount_high)
|
||||
msg = harvest_message_high
|
||||
to_chat(user, "<span class='notice'>[msg]</span>")
|
||||
for(var/i in 1 to rand_harvested)
|
||||
new harvest(get_turf(src))
|
||||
|
||||
icon_state = "[base_icon]p"
|
||||
name = harvested_name
|
||||
desc = harvested_desc
|
||||
@@ -120,7 +120,8 @@
|
||||
icon_state = "t_mushroom"
|
||||
name = "numerous mushrooms"
|
||||
desc = "A large number of mushrooms, some of which have long, fleshy stems. They're radiating light!"
|
||||
luminosity = 1
|
||||
light_range = 1.5
|
||||
light_power = 2.1
|
||||
harvested_name = "tiny mushrooms"
|
||||
harvested_desc = "A few tiny mushrooms around larger stumps. You can already see them growing back."
|
||||
harvest = /obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_stem
|
||||
@@ -166,12 +167,12 @@
|
||||
desc = "Some shavings from a tall mushroom. With enough, might serve as a bowl."
|
||||
icon = 'icons/obj/lavaland/ash_flora.dmi'
|
||||
icon_state = "mushroom_shavings"
|
||||
list_reagents = list("sugar" = 3, "ethanol" = 2, "stabilizing_agent" = 3, "minttoxin" = 2)
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
seed = /obj/item/seeds/lavaland/polypore
|
||||
wine_power = 0.2
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/ash_flora/New()
|
||||
..()
|
||||
/obj/item/reagent_containers/food/snacks/grown/ash_flora/Initialize(mapload)
|
||||
. = ..()
|
||||
pixel_x = rand(-4, 4)
|
||||
pixel_y = rand(-4, 4)
|
||||
|
||||
@@ -180,39 +181,105 @@
|
||||
/obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_leaf
|
||||
name = "mushroom leaf"
|
||||
desc = "A leaf, from a mushroom."
|
||||
list_reagents = list("nutriment" = 3, "vitfro" = 2, "nicotine" = 2)
|
||||
icon_state = "mushroom_leaf"
|
||||
seed = /obj/item/seeds/lavaland/porcini
|
||||
wine_power = 0.4
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_cap
|
||||
name = "mushroom cap"
|
||||
desc = "The cap of a large mushroom."
|
||||
list_reagents = list("lsd" = 2, "entpoly" = 4, "psilocybin" = 2)
|
||||
icon_state = "mushroom_cap"
|
||||
seed = /obj/item/seeds/lavaland/inocybe
|
||||
wine_power = 0.7
|
||||
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_stem
|
||||
name = "mushroom stem"
|
||||
desc = "A long mushroom stem. It's slightly glowing."
|
||||
list_reagents = list("tinlux" = 2, "vitamin" = 1, "space_drugs" = 1)
|
||||
icon_state = "mushroom_stem"
|
||||
luminosity = 1
|
||||
seed = /obj/item/seeds/lavaland/ember
|
||||
wine_power = 0.6
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/ash_flora/cactus_fruit
|
||||
name = "cactus fruit"
|
||||
list_reagents = list("vitamin" = 2, "nutriment" = 2, "vitfro" = 4)
|
||||
desc = "A cactus fruit covered in a thick, reddish skin. And some ash."
|
||||
icon_state = "cactus_fruit"
|
||||
seed = /obj/item/seeds/lavaland/cactus
|
||||
wine_power = 0.5
|
||||
|
||||
/obj/item/mushroom_bowl
|
||||
name = "mushroom bowl"
|
||||
desc = "A bowl made out of mushrooms. Not food, though it might have contained some at some point."
|
||||
icon = 'icons/obj/lavaland/ash_flora.dmi'
|
||||
icon_state = "mushroom_bowl"
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
//SEEDS
|
||||
|
||||
/obj/item/seeds/lavaland
|
||||
name = "lavaland seeds"
|
||||
desc = "You should never see this."
|
||||
lifespan = 50
|
||||
endurance = 25
|
||||
maturation = 7
|
||||
production = 4
|
||||
yield = 4
|
||||
potency = 15
|
||||
growthstages = 3
|
||||
rarity = 20
|
||||
reagents_add = list("nutriment" = 0.1)
|
||||
resistance_flags = FIRE_PROOF
|
||||
|
||||
/obj/item/seeds/lavaland/cactus
|
||||
name = "pack of fruiting cactus seeds"
|
||||
desc = "These seeds grow into fruiting cacti."
|
||||
icon_state = "seed-cactus"
|
||||
species = "cactus"
|
||||
plantname = "Fruiting Cactus"
|
||||
product = /obj/item/reagent_containers/food/snacks/grown/ash_flora/cactus_fruit
|
||||
genes = list(/datum/plant_gene/trait/fire_resistance)
|
||||
growing_icon = 'icons/obj/hydroponics/growing_fruits.dmi'
|
||||
growthstages = 2
|
||||
reagents_add = list("vitamin" = 0.04, "nutriment" = 0.04, "vitfro" = 0.08)
|
||||
|
||||
/obj/item/seeds/lavaland/polypore
|
||||
name = "pack of polypore mycelium"
|
||||
desc = "This mycelium grows into bracket mushrooms, also known as polypores. Woody and firm, shaft miners often use them for makeshift crafts."
|
||||
icon_state = "mycelium-polypore"
|
||||
species = "polypore"
|
||||
plantname = "Polypore Mushrooms"
|
||||
product = /obj/item/reagent_containers/food/snacks/grown/ash_flora/shavings
|
||||
genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism, /datum/plant_gene/trait/fire_resistance)
|
||||
growing_icon = 'icons/obj/hydroponics/growing_mushrooms.dmi'
|
||||
reagents_add = list("sugar" = 0.06, "ethanol" = 0.04, "stabilizing_agent" = 0.06, "minttoxin" = 0.02)
|
||||
|
||||
/obj/item/seeds/lavaland/porcini
|
||||
name = "pack of porcini mycelium"
|
||||
desc = "This mycelium grows into Boletus edulus, also known as porcini. Native to the late Earth, but discovered on Lavaland. Has culinary, medicinal and relaxant effects."
|
||||
icon_state = "mycelium-porcini"
|
||||
species = "porcini"
|
||||
plantname = "Porcini Mushrooms"
|
||||
product = /obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_leaf
|
||||
genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism, /datum/plant_gene/trait/fire_resistance)
|
||||
growing_icon = 'icons/obj/hydroponics/growing_mushrooms.dmi'
|
||||
reagents_add = list("nutriment" = 0.06, "vitfro" = 0.04, "nicotine" = 0.04)
|
||||
|
||||
|
||||
/obj/item/seeds/lavaland/inocybe
|
||||
name = "pack of inocybe mycelium"
|
||||
desc = "This mycelium grows into an inocybe mushroom, a species of Lavaland origin with hallucinatory and toxic effects."
|
||||
icon_state = "mycelium-inocybe"
|
||||
species = "inocybe"
|
||||
plantname = "Inocybe Mushrooms"
|
||||
product = /obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_cap
|
||||
genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism, /datum/plant_gene/trait/fire_resistance)
|
||||
growing_icon = 'icons/obj/hydroponics/growing_mushrooms.dmi'
|
||||
reagents_add = list("lsd" = 0.04, "entpoly" = 0.08, "psilocybin" = 0.04)
|
||||
|
||||
/obj/item/seeds/lavaland/ember
|
||||
name = "pack of embershroom mycelium"
|
||||
desc = "This mycelium grows into embershrooms, a species of bioluminescent mushrooms native to Lavaland."
|
||||
icon_state = "mycelium-ember"
|
||||
species = "ember"
|
||||
plantname = "Embershroom Mushrooms"
|
||||
product = /obj/item/reagent_containers/food/snacks/grown/ash_flora/mushroom_stem
|
||||
genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism, /datum/plant_gene/trait/glow, /datum/plant_gene/trait/fire_resistance)
|
||||
growing_icon = 'icons/obj/hydroponics/growing_mushrooms.dmi'
|
||||
reagents_add = list("tinlux" = 0.04, "vitamin" = 0.02, "space_drugs" = 0.02)
|
||||
|
||||
//CRAFTING
|
||||
|
||||
//what you can craft with these things
|
||||
/datum/crafting_recipe/mushroom_bowl
|
||||
@@ -221,3 +288,10 @@
|
||||
reqs = list(/obj/item/reagent_containers/food/snacks/grown/ash_flora/shavings = 5)
|
||||
time = 30
|
||||
category = CAT_PRIMAL
|
||||
|
||||
/obj/item/reagent_containers/food/drinks/mushroom_bowl
|
||||
name = "mushroom bowl"
|
||||
desc = "A bowl made out of mushrooms. Not food, though it might have contained some at some point."
|
||||
icon = 'icons/obj/lavaland/ash_flora.dmi'
|
||||
icon_state = "mushroom_bowl"
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
@@ -336,6 +336,31 @@
|
||||
M.bodytemperature = min(310, M.bodytemperature + (5 * TEMPERATURE_DAMAGE_COEFFICIENT))
|
||||
return ..()
|
||||
|
||||
/datum/reagent/consumable/garlic
|
||||
name = "Garlic Juice"
|
||||
id = "garlic"
|
||||
description = "Crushed garlic. Chefs love it, but it can make you smell bad."
|
||||
color = "#FEFEFE"
|
||||
taste_description = "garlic"
|
||||
metabolization_rate = 0.15 * REAGENTS_METABOLISM
|
||||
|
||||
/datum/reagent/consumable/garlic/on_mob_life(mob/living/carbon/M)
|
||||
var/update_flags = STATUS_UPDATE_NONE
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(H.mind && H.mind.vampire && !H.mind.vampire.get_ability(/datum/vampire_passive/full)) //incapacitating but not lethal.
|
||||
if(prob(min(25, current_cycle)))
|
||||
to_chat(H, "<span class='danger'>You can't get the scent of garlic out of your nose! You can barely think...</span>")
|
||||
H.Weaken(1)
|
||||
H.Jitter(10)
|
||||
H.fakevomit()
|
||||
else
|
||||
if(H.job == "Chef")
|
||||
if(prob(20)) //stays in the system much longer than sprinkles/banana juice, so heals slower to partially compensate
|
||||
update_flags |= H.adjustBruteLoss(-1, FALSE)
|
||||
update_flags |= H.adjustFireLoss(-1, FALSE)
|
||||
return ..() | update_flags
|
||||
|
||||
/datum/reagent/consumable/sprinkles
|
||||
name = "Sprinkles"
|
||||
id = "sprinkles"
|
||||
@@ -941,7 +966,7 @@
|
||||
id = "entpoly"
|
||||
description = "An ichor, derived from a certain mushroom, makes for a bad time."
|
||||
color = "#1d043d"
|
||||
taste_description = "mold"
|
||||
taste_description = "bitter mushroom"
|
||||
|
||||
/datum/reagent/consumable/entpoly/on_mob_life(mob/living/M)
|
||||
var/update_flags = STATUS_UPDATE_NONE
|
||||
@@ -960,13 +985,13 @@
|
||||
id = "tinlux"
|
||||
description = "A stimulating ichor which causes luminescent fungi to grow on the skin. "
|
||||
color = "#b5a213"
|
||||
var/light_activated = 0
|
||||
taste_description = "mold"
|
||||
var/light_activated = FALSE
|
||||
taste_description = "tingling mushroom"
|
||||
|
||||
/datum/reagent/consumable/tinlux/on_mob_life(mob/living/M)
|
||||
if(!light_activated)
|
||||
M.set_light(2)
|
||||
light_activated = 1
|
||||
light_activated = TRUE
|
||||
return ..()
|
||||
|
||||
/datum/reagent/consumable/tinlux/on_mob_delete(mob/living/M)
|
||||
@@ -978,11 +1003,11 @@
|
||||
description = "A bubbly paste that heals wounds of the skin."
|
||||
color = "#d3a308"
|
||||
nutriment_factor = 3 * REAGENTS_METABOLISM
|
||||
taste_description = "sweetness"
|
||||
taste_description = "fruity mushroom"
|
||||
|
||||
/datum/reagent/consumable/vitfro/on_mob_life(mob/living/M)
|
||||
var/update_flags = STATUS_UPDATE_NONE
|
||||
if(prob(80))
|
||||
update_flags |= M.adjustBruteLoss(-1 * REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
update_flags |= M.adjustFireLoss(-1 * REAGENTS_EFFECT_MULTIPLIER, FALSE)
|
||||
return ..() | update_flags
|
||||
return ..() | update_flags
|
||||
|
Before Width: | Height: | Size: 69 KiB After Width: | Height: | Size: 70 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 53 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 18 KiB |
@@ -1600,6 +1600,7 @@
|
||||
#include "code\modules\hydroponics\grown\cotton.dm"
|
||||
#include "code\modules\hydroponics\grown\eggplant.dm"
|
||||
#include "code\modules\hydroponics\grown\flowers.dm"
|
||||
#include "code\modules\hydroponics\grown\garlic.dm"
|
||||
#include "code\modules\hydroponics\grown\grass_carpet.dm"
|
||||
#include "code\modules\hydroponics\grown\herbals.dm"
|
||||
#include "code\modules\hydroponics\grown\kudzu.dm"
|
||||
|
||||