Files
Bubberstation/code/modules/hydroponics/grown/misc.dm
SkyratBot 1e705faa19 [MIRROR] Process procs now properly utilize deltatime when implementing rates, timers and probabilities (#709)
* Process procs now properly utilize deltatime when implementing rates, timers and probabilities (#52981)

* Process procs now properly use deltatime when implementing rates, timers and probabilities

* Review fixes

* Geiger counters cleanup

Made hardsuit geiger code more similar to geiger counter code
Geiger counters are more responsive now

* Moved SS*_DT defines to subsystems.dm

* Rebase fix

* Redefined the SS*_DT defines to use the subsystem wait vars

* Implemented suggested changes by @AnturK

* Commented /datum/proc/process about the deltatime stuff

* Send delta_time as a process parameter instead of the defines

Also DTfied acid_processing

* Dtfied new acid component

* Process procs now properly utilize deltatime when implementing rates, timers and probabilities

Co-authored-by: Donkie <daniel.cf.hultgren@gmail.com>
2020-09-09 08:19:23 +02:00

269 lines
9.2 KiB
Plaintext

// Starthistle
/obj/item/seeds/starthistle
name = "pack of starthistle seeds"
desc = "A robust species of weed that often springs up in-between the cracks of spaceship parking lots."
icon_state = "seed-starthistle"
species = "starthistle"
plantname = "Starthistle"
lifespan = 70
endurance = 50 // damm pesky weeds
maturation = 5
production = 1
yield = 2
potency = 10
instability = 35
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/starthistle/corpse_flower, /obj/item/seeds/galaxythistle)
graft_gene = /datum/plant_gene/trait/plant_type/weed_hardy
/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 seed_count)
var/obj/item/seeds/starthistle/harvestseeds = Copy()
harvestseeds.forceMove(output_loc)
parent.update_tray()
// Corpse flower
/obj/item/seeds/starthistle/corpse_flower
name = "pack of corpse flower seeds"
desc = "A species of plant that emits a horrible odor. The odor stops being produced in difficult atmospheric conditions."
icon_state = "seed-corpse-flower"
species = "corpse-flower"
plantname = "Corpse flower"
production = 2
growing_icon = 'icons/obj/hydroponics/growing_flowers.dmi'
genes = list()
mutatelist = list()
/obj/item/seeds/starthistle/corpse_flower/pre_attack(obj/machinery/hydroponics/I)
if(istype(I, /obj/machinery/hydroponics))
if(!I.myseed)
START_PROCESSING(SSobj, src)
return ..()
/obj/item/seeds/starthistle/corpse_flower/process(delta_time)
var/obj/machinery/hydroponics/parent = loc
if(parent.age < maturation) // Start a little before it blooms
return
var/turf/open/T = get_turf(parent)
if(abs(ONE_ATMOSPHERE - T.return_air().return_pressure()) > (potency/10 + 10)) // clouds can begin showing at around 50-60 potency in standard atmos
return
var/datum/gas_mixture/stank = new
ADD_GAS(/datum/gas/miasma, stank.gases)
stank.gases[/datum/gas/miasma][MOLES] = (yield + 6)*3.5*MIASMA_CORPSE_MOLES*delta_time // this process is only being called about 2/7 as much as corpses so this is 12-32 times a corpses
stank.temperature = T20C // without this the room would eventually freeze and miasma mining would be easier
T.assume_air(stank)
T.air_update_turf()
//Galaxy Thistle
/obj/item/seeds/galaxythistle
name = "pack of galaxythistle seeds"
desc = "An impressive species of weed that is thought to have evolved from the simple milk thistle. Contains flavolignans that can help repair a damaged liver."
icon_state = "seed-galaxythistle"
species = "galaxythistle"
plantname = "Galaxythistle"
product = /obj/item/reagent_containers/food/snacks/grown/galaxythistle
lifespan = 70
endurance = 40
maturation = 3
production = 2
yield = 2
potency = 25
instability = 35
growthstages = 3
growing_icon = 'icons/obj/hydroponics/growing_flowers.dmi'
genes = list(/datum/plant_gene/trait/plant_type/weed_hardy, /datum/plant_gene/trait/invasive)
mutatelist = list()
reagents_add = list(/datum/reagent/consumable/nutriment = 0.05, /datum/reagent/medicine/silibinin = 0.1)
graft_gene = /datum/plant_gene/trait/invasive
/obj/item/seeds/galaxythistle/Initialize(mapload,nogenes)
. = ..()
if(!nogenes)
unset_mutability(/datum/plant_gene/trait/invasive, PLANT_GENE_REMOVABLE)
/obj/item/reagent_containers/food/snacks/grown/galaxythistle
seed = /obj/item/seeds/galaxythistle
name = "galaxythistle flower head"
desc = "This spiny cluster of florets reminds you of the highlands."
icon_state = "galaxythistle"
filling_color = "#1E7549"
bitesize_mod = 3
foodtype = VEGETABLES
wine_power = 35
tastes = list("thistle" = 2, "artichoke" = 1)
// Cabbage
/obj/item/seeds/cabbage
name = "pack of cabbage seeds"
desc = "These seeds grow into cabbages."
icon_state = "seed-cabbage"
species = "cabbage"
plantname = "Cabbages"
product = /obj/item/reagent_containers/food/snacks/grown/cabbage
lifespan = 50
endurance = 25
maturation = 3
production = 5
yield = 4
instability = 10
growthstages = 1
growing_icon = 'icons/obj/hydroponics/growing_vegetables.dmi'
genes = list(/datum/plant_gene/trait/repeated_harvest)
mutatelist = list(/obj/item/seeds/replicapod)
reagents_add = list(/datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.1)
seed_flags = null
/obj/item/reagent_containers/food/snacks/grown/cabbage
seed = /obj/item/seeds/cabbage
name = "cabbage"
desc = "Ewwwwwwwwww. Cabbage."
icon_state = "cabbage"
filling_color = "#90EE90"
bitesize_mod = 2
foodtype = VEGETABLES
wine_power = 20
// Sugarcane
/obj/item/seeds/sugarcane
name = "pack of sugarcane seeds"
desc = "These seeds grow into sugarcane."
icon_state = "seed-sugarcane"
species = "sugarcane"
plantname = "Sugarcane"
product = /obj/item/reagent_containers/food/snacks/grown/sugarcane
genes = list(/datum/plant_gene/trait/repeated_harvest)
lifespan = 60
endurance = 50
maturation = 3
yield = 4
instability = 15
growthstages = 2
reagents_add = list(/datum/reagent/consumable/sugar = 0.25)
mutatelist = list(/obj/item/seeds/bamboo)
/obj/item/reagent_containers/food/snacks/grown/sugarcane
seed = /obj/item/seeds/sugarcane
name = "sugarcane"
desc = "Sickly sweet."
icon_state = "sugarcane"
filling_color = "#FFD700"
bitesize_mod = 2
foodtype = VEGETABLES | SUGAR
distill_reagent = /datum/reagent/consumable/ethanol/rum
// Gatfruit
/obj/item/seeds/gatfruit
name = "pack of gatfruit seeds"
desc = "These seeds grow into .357 revolvers."
icon_state = "seed-gatfruit"
species = "gatfruit"
plantname = "Gatfruit Tree"
product = /obj/item/reagent_containers/food/snacks/grown/shell/gatfruit
genes = list(/datum/plant_gene/trait/repeated_harvest)
lifespan = 20
endurance = 20
maturation = 40
production = 10
yield = 2
potency = 60
growthstages = 2
rarity = 60 // Obtainable only with xenobio+superluck.
growing_icon = 'icons/obj/hydroponics/growing_fruits.dmi'
reagents_add = list(/datum/reagent/sulfur = 0.1, /datum/reagent/carbon = 0.1, /datum/reagent/nitrogen = 0.07, /datum/reagent/potassium = 0.05)
/obj/item/reagent_containers/food/snacks/grown/shell/gatfruit
seed = /obj/item/seeds/gatfruit
name = "gatfruit"
desc = "It smells like burning."
icon_state = "gatfruit"
trash = /obj/item/gun/ballistic/revolver
bitesize_mod = 2
foodtype = FRUIT
tastes = list("gunpowder" = 1)
wine_power = 90 //It burns going down, too.
//Cherry Bombs
/obj/item/seeds/cherry/bomb
name = "pack of cherry bomb pits"
desc = "They give you vibes of dread and frustration."
icon_state = "seed-cherry_bomb"
species = "cherry_bomb"
plantname = "Cherry Bomb Tree"
product = /obj/item/reagent_containers/food/snacks/grown/cherry_bomb
mutatelist = list()
reagents_add = list(/datum/reagent/consumable/nutriment = 0.1, /datum/reagent/consumable/sugar = 0.1, /datum/reagent/gunpowder = 0.7)
rarity = 60 //See above
/obj/item/reagent_containers/food/snacks/grown/cherry_bomb
name = "cherry bombs"
desc = "You think you can hear the hissing of a tiny fuse."
icon_state = "cherry_bomb"
filling_color = rgb(20, 20, 20)
seed = /obj/item/seeds/cherry/bomb
bitesize_mod = 2
volume = 125 //Gives enough room for the gunpowder at max potency
max_integrity = 40
wine_power = 80
/obj/item/reagent_containers/food/snacks/grown/cherry_bomb/attack_self(mob/living/user)
user.visible_message("<span class='warning'>[user] plucks the stem from [src]!</span>", "<span class='userdanger'>You pluck the stem from [src], which begins to hiss loudly!</span>")
log_bomber(user, "primed a", src, "for detonation")
prime()
/obj/item/reagent_containers/food/snacks/grown/cherry_bomb/deconstruct(disassembled = TRUE)
if(!disassembled)
prime()
if(!QDELETED(src))
qdel(src)
/obj/item/reagent_containers/food/snacks/grown/cherry_bomb/ex_act(severity)
qdel(src) //Ensuring that it's deleted by its own explosion. Also prevents mass chain reaction with piles of cherry bombs
/obj/item/reagent_containers/food/snacks/grown/cherry_bomb/proc/prime(mob/living/lanced_by)
icon_state = "cherry_bomb_lit"
playsound(src, 'sound/effects/fuse.ogg', seed.potency, FALSE)
reagents.chem_temp = 1000 //Sets off the gunpowder
reagents.handle_reactions()
// aloe
/obj/item/seeds/aloe
name = "pack of aloe seeds"
desc = "These seeds grow into aloe."
icon_state = "seed-aloe"
species = "aloe"
plantname = "Aloe"
product = /obj/item/reagent_containers/food/snacks/grown/aloe
lifespan = 60
endurance = 25
maturation = 4
production = 4
yield = 6
growthstages = 5
growing_icon = 'icons/obj/hydroponics/growing_vegetables.dmi'
reagents_add = list(/datum/reagent/consumable/nutriment/vitamin = 0.05, /datum/reagent/consumable/nutriment = 0.05)
/obj/item/reagent_containers/food/snacks/grown/aloe
seed = /obj/item/seeds/aloe
name = "aloe"
desc = "Cut leaves from the aloe plant."
icon_state = "aloe"
filling_color = "#90EE90"
bitesize_mod = 5
foodtype = VEGETABLES
juice_results = list(/datum/reagent/consumable/aloejuice = 0)
distill_reagent = /datum/reagent/consumable/ethanol/tequila
/obj/item/reagent_containers/food/snacks/grown/aloe/microwave_act(obj/machinery/microwave/M)
new /obj/item/stack/medical/aloe(drop_location(), 2)
qdel(src)