Files
SyncIt21 468b351b86 Axes grind & juice vars into procs (#94592)
## About The Pull Request
Inspired by #94233. `grind_results`(list) & `juice_typepath`(typepath)
are only used when grinding & juicing after which the atom is deleted.
This means if that object is not processed these vars occupy memory &
don't do anything.

Now these values are only generated on demand by calling their
respective procs. Considering how these vars are on the obj level the
memory savings are quite significant

## Changelog
🆑
refactor: grinding & juicing have been refactored to occupy low memory.
Report bugs on github
code: improved grinding & juicing code
/🆑
2025-12-25 20:40:35 +01:00

347 lines
12 KiB
Plaintext

// Poppy
/obj/item/seeds/poppy
name = "poppy seed pack"
desc = "These seeds grow into poppies."
icon_state = "seed-poppy"
species = "poppy"
plantname = "Poppy Plants"
product = /obj/item/food/grown/poppy
endurance = 10
maturation = 8
yield = 6
potency = 20
instability = 1 //Flowers have 1 instability, if you want to breed out instability, crossbreed with flowers.
growthstages = 3
growing_icon = 'icons/obj/service/hydroponics/growing_flowers.dmi'
icon_grow = "poppy-grow"
icon_dead = "poppy-dead"
genes = list(/datum/plant_gene/trait/preserved, /datum/plant_gene/trait/opium_production)
mutatelist = list(/obj/item/seeds/poppy/geranium, /obj/item/seeds/poppy/lily)
reagents_add = list(/datum/reagent/medicine/c2/libital = 0.2, /datum/reagent/consumable/nutriment = 0.05)
/obj/item/food/grown/poppy
seed = /obj/item/seeds/poppy
name = "poppy"
desc = "Long-used as a symbol of rest, peace, and death."
icon_state = "poppy"
slot_flags = ITEM_SLOT_HEAD
alternate_worn_layer = ABOVE_BODY_FRONT_HEAD_LAYER
bite_consumption_mod = 2
foodtypes = VEGETABLES | GROSS
distill_reagent = /datum/reagent/consumable/ethanol/vermouth
// Lily
/obj/item/seeds/poppy/lily
name = "lily seed pack"
desc = "These seeds grow into lilies."
icon_state = "seed-lily"
species = "lily"
plantname = "Lily Plants"
product = /obj/item/food/grown/poppy/lily
growthstages = 3
growing_icon = 'icons/obj/service/hydroponics/growing_flowers.dmi'
icon_grow = "lily-grow"
icon_dead = "lily-dead"
genes = list(/datum/plant_gene/trait/preserved)
mutatelist = list(/obj/item/seeds/poppy/lily/trumpet)
/obj/item/food/grown/poppy/lily
seed = /obj/item/seeds/poppy/lily
name = "lily"
desc = "A beautiful white flower."
icon_state = "lily"
//Spacemans's Trumpet
/obj/item/seeds/poppy/lily/trumpet
name = "spaceman's trumpet seed pack"
desc = "A plant sculpted by extensive genetic engineering. The spaceman's trumpet is said to bear no resemblance to its wild ancestors. Inside NT AgriSci circles it is better known as NTPW-0372."
icon_state = "seed-trumpet"
species = "spacemanstrumpet"
plantname = "Spaceman's Trumpet Plant"
product = /obj/item/food/grown/trumpet
lifespan = 80
production = 5
endurance = 10
maturation = 12
yield = 4
potency = 20
growthstages = 4
weed_rate = 2
weed_chance = 10
growing_icon = 'icons/obj/service/hydroponics/growing_flowers.dmi'
icon_grow = "spacemanstrumpet-grow"
icon_dead = "spacemanstrumpet-dead"
mutatelist = null
genes = list(/datum/plant_gene/trait/preserved, /datum/plant_gene/reagent/preset/polypyr)
reagents_add = list(/datum/reagent/consumable/nutriment = 0.05)
rarity = 30
graft_gene = /datum/plant_gene/reagent/preset/polypyr
/obj/item/food/grown/trumpet
seed = /obj/item/seeds/poppy/lily/trumpet
name = "spaceman's trumpet"
desc = "A vivid flower that smells faintly of freshly cut grass. Touching the flower seems to stain the skin some time after contact, yet most other surfaces seem to be unaffected by this phenomenon."
icon_state = "spacemanstrumpet"
bite_consumption_mod = 2
foodtypes = VEGETABLES
// Geranium
/obj/item/seeds/poppy/geranium
name = "geranium seed pack"
desc = "These seeds grow into geranium."
icon_state = "seed-geranium"
species = "geranium"
plantname = "Geranium Plants"
product = /obj/item/food/grown/poppy/geranium
growthstages = 3
growing_icon = 'icons/obj/service/hydroponics/growing_flowers.dmi'
icon_grow = "geranium-grow"
icon_dead = "geranium-dead"
genes = list(/datum/plant_gene/trait/preserved)
mutatelist = list(/obj/item/seeds/poppy/geranium/fraxinella)
/obj/item/food/grown/poppy/geranium
seed = /obj/item/seeds/poppy/geranium
name = "geranium"
desc = "A beautiful blue flower."
icon_state = "geranium"
///Fraxinella seeds.
/obj/item/seeds/poppy/geranium/fraxinella
name = "fraxinella seed pack"
desc = "These seeds grow into fraxinella."
icon_state = "seed-fraxinella"
species = "fraxinella"
plantname = "Fraxinella Plants"
product = /obj/item/food/grown/poppy/geranium/fraxinella
mutatelist = null
rarity = 15
reagents_add = list(/datum/reagent/consumable/nutriment = 0.05, /datum/reagent/fuel/oil = 0.05)
graft_gene = /datum/plant_gene/trait/preserved
///Fraxinella Flowers.
/obj/item/food/grown/poppy/geranium/fraxinella
seed = /obj/item/seeds/poppy/geranium/fraxinella
name = "fraxinella"
desc = "A beautiful light pink flower."
icon_state = "fraxinella"
distill_reagent = /datum/reagent/ash
// Harebell
/obj/item/seeds/harebell
name = "harebell seed pack"
desc = "These seeds grow into pretty little flowers."
icon_state = "seed-harebell"
plant_icon_offset = 1
species = "harebell"
plantname = "Harebells"
product = /obj/item/food/grown/harebell
lifespan = 100
endurance = 20
maturation = 7
production = 1
yield = 2
potency = 30
instability = 1
growthstages = 4
genes = list(/datum/plant_gene/trait/plant_type/weed_hardy, /datum/plant_gene/trait/preserved)
growing_icon = 'icons/obj/service/hydroponics/growing_flowers.dmi'
reagents_add = list(/datum/reagent/consumable/nutriment = 0.04)
graft_gene = /datum/plant_gene/trait/plant_type/weed_hardy
/obj/item/food/grown/harebell
seed = /obj/item/seeds/harebell
name = "harebell"
desc = "\"I'll sweeten thy sad grave: thou shalt not lack the flower that's like thy face, pale primrose, nor the azured hare-bell, like thy veins; no, nor the leaf of eglantine, whom not to slander, out-sweeten'd not thy breath.\""
icon_state = "harebell"
slot_flags = ITEM_SLOT_HEAD
alternate_worn_layer = ABOVE_BODY_FRONT_HEAD_LAYER
bite_consumption_mod = 2
distill_reagent = /datum/reagent/consumable/ethanol/vermouth
// Sunflower
/obj/item/seeds/sunflower
name = "sunflower seed pack"
desc = "These seeds grow into sunflowers."
icon_state = "seed-sunflower"
species = "sunflower"
plantname = "Sunflowers"
product = /obj/item/food/grown/sunflower
genes = list(/datum/plant_gene/trait/attack/sunflower_attack, /datum/plant_gene/trait/preserved)
endurance = 20
production = 2
yield = 2
instability = 1
growthstages = 3
growing_icon = 'icons/obj/service/hydroponics/growing_flowers.dmi'
icon_grow = "sunflower-grow"
icon_dead = "sunflower-dead"
mutatelist = list(/obj/item/seeds/sunflower/moonflower, /obj/item/seeds/sunflower/novaflower)
reagents_add = list(/datum/reagent/consumable/nutriment/fat/oil = 0.08, /datum/reagent/consumable/nutriment = 0.04)
/obj/item/food/grown/sunflower // FLOWER POWER!
seed = /obj/item/seeds/sunflower
name = "sunflower"
desc = "It's beautiful! A certain person might beat you to death if you trample these."
icon_state = "sunflower"
inhand_icon_state = "sunflower"
lefthand_file = 'icons/mob/inhands/weapons/plants_lefthand.dmi'
righthand_file = 'icons/mob/inhands/weapons/plants_righthand.dmi'
foodtypes = VEGETABLES
damtype = BURN
force = 0
slot_flags = ITEM_SLOT_HEAD
alternate_worn_layer = ABOVE_BODY_FRONT_HEAD_LAYER
throwforce = 0
w_class = WEIGHT_CLASS_TINY
throw_speed = 1
throw_range = 3
/obj/item/food/grown/sunflower/make_dryable()
AddElement(/datum/element/dryable, /obj/item/food/semki/healthy) //yum
// Moonflower
/obj/item/seeds/sunflower/moonflower
name = "moonflower seed pack"
desc = "These seeds grow into moonflowers."
icon_state = "seed-moonflower"
lefthand_file = 'icons/mob/inhands/items/food_lefthand.dmi'
righthand_file = 'icons/mob/inhands/items/food_righthand.dmi'
species = "moonflower"
plantname = "Moonflowers"
icon_grow = "moonflower-grow"
icon_dead = "sunflower-dead"
product = /obj/item/food/grown/moonflower
genes = list(/datum/plant_gene/trait/glow/purple, /datum/plant_gene/trait/preserved)
mutatelist = null
reagents_add = list(/datum/reagent/consumable/ethanol/moonshine = 0.2, /datum/reagent/consumable/nutriment/vitamin = 0.02, /datum/reagent/consumable/nutriment = 0.02)
rarity = 15
graft_gene = /datum/plant_gene/trait/glow/purple
/obj/item/food/grown/moonflower
seed = /obj/item/seeds/sunflower/moonflower
name = "moonflower"
desc = "Store in a location at least 50 yards away from werewolves."
icon_state = "moonflower"
inhand_icon_state = "moonflower"
slot_flags = ITEM_SLOT_HEAD
alternate_worn_layer = ABOVE_BODY_FRONT_HEAD_LAYER
distill_reagent = /datum/reagent/consumable/ethanol/absinthe //It's made from flowers.
// Novaflower
/obj/item/seeds/sunflower/novaflower
name = "novaflower seed pack"
desc = "These seeds grow into novaflowers."
icon_state = "seed-novaflower"
species = "novaflower"
plantname = "Novaflowers"
icon_grow = "novaflower-grow"
icon_dead = "sunflower-dead"
product = /obj/item/grown/novaflower
genes = list(/datum/plant_gene/trait/backfire/novaflower_heat, /datum/plant_gene/trait/attack/novaflower_attack, /datum/plant_gene/trait/preserved)
mutatelist = null
reagents_add = list(/datum/reagent/consumable/condensedcapsaicin = 0.25, /datum/reagent/consumable/capsaicin = 0.3, /datum/reagent/consumable/nutriment = 0, /datum/reagent/toxin/acid = 0.05)
rarity = PLANT_MODERATELY_RARE
/obj/item/grown/novaflower
seed = /obj/item/seeds/sunflower/novaflower
name = "\improper novaflower"
desc = "These beautiful flowers have a crisp smokey scent, like a summer bonfire."
icon_state = "novaflower"
inhand_icon_state = "novaflower"
lefthand_file = 'icons/mob/inhands/weapons/plants_lefthand.dmi'
righthand_file = 'icons/mob/inhands/weapons/plants_righthand.dmi'
damtype = BURN
force = 0
slot_flags = ITEM_SLOT_HEAD
alternate_worn_layer = ABOVE_BODY_FRONT_HEAD_LAYER
throwforce = 0
w_class = WEIGHT_CLASS_TINY
throw_speed = 1
throw_range = 3
attack_verb_continuous = list("roasts", "scorches", "burns")
attack_verb_simple = list("roast", "scorch", "burn")
/obj/item/grown/novaflower/grind_results()
return list(/datum/reagent/consumable/capsaicin = 0, /datum/reagent/consumable/condensedcapsaicin = 0)
// Rose
/obj/item/seeds/rose
name = "rose seed pack"
desc = "These seeds grow into roses."
icon_state = "seed-rose"
species = "rose"
plantname = "Rose Bush"
product = /obj/item/food/grown/rose
endurance = 12
yield = 6
potency = 15
instability = 20 //Roses crossbreed easily, and there's many many species of them.
growthstages = 3
genes = list(/datum/plant_gene/trait/repeated_harvest, /datum/plant_gene/trait/backfire/rose_thorns, /datum/plant_gene/trait/preserved)
growing_icon = 'icons/obj/service/hydroponics/growing_flowers.dmi'
icon_grow = "rose-grow"
icon_dead = "rose-dead"
mutatelist = list(/obj/item/seeds/carbon_rose)
//Roses are commonly used as herbal medicines (diarrhodons) and for their 'rose oil'.
reagents_add = list(/datum/reagent/consumable/nutriment = 0.05, /datum/reagent/medicine/granibitaluri = 0.1, /datum/reagent/fuel/oil = 0.05)
/obj/item/food/grown/rose
seed = /obj/item/seeds/rose
name = "\improper rose"
desc = "The classic fleur d'amour - flower of love. Watch for its thorns!"
base_icon_state = "rose"
icon_state = "rose"
inhand_icon_state = "rose"
worn_icon_state = "rose"
lefthand_file = 'icons/mob/inhands/items/food_lefthand.dmi'
righthand_file = 'icons/mob/inhands/items/food_righthand.dmi'
slot_flags = ITEM_SLOT_HEAD | ITEM_SLOT_MASK
alternate_worn_layer = ABOVE_BODY_FRONT_HEAD_LAYER
bite_consumption_mod = 2
foodtypes = VEGETABLES | GROSS
/obj/item/food/grown/rose/equipped(mob/user, slot, initial)
. = ..()
if(slot & ITEM_SLOT_MASK)
worn_icon_state = "[base_icon_state]_mouth"
user.update_worn_mask()
else
worn_icon_state = base_icon_state
user.update_worn_head()
// Carbon Rose
/obj/item/seeds/carbon_rose
name = "carbon rose seed pack"
desc = "These seeds grow into carbon roses."
icon_state = "seed-carbonrose"
species = "carbonrose"
plantname = "Carbon Rose Flower"
product = /obj/item/grown/carbon_rose
endurance = 12
yield = 6
potency = 15
instability = 3
growthstages = 3
genes = list(/datum/plant_gene/reagent/preset/carbon, /datum/plant_gene/trait/preserved)
growing_icon = 'icons/obj/service/hydroponics/growing_flowers.dmi'
icon_grow = "carbonrose-grow"
icon_dead = "carbonrose-dead"
reagents_add = list(/datum/reagent/plastic_polymers = 0.05)
rarity = 10
graft_gene = /datum/plant_gene/reagent/preset/carbon
/obj/item/grown/carbon_rose
seed = /obj/item/seeds/carbon_rose
name = "carbon rose"
desc = "The all new fleur d'amour gris - the flower of love, modernized, with no harsh thorns."
icon_state = "carbonrose"
lefthand_file = 'icons/mob/inhands/weapons/plants_lefthand.dmi'
righthand_file = 'icons/mob/inhands/weapons/plants_righthand.dmi'
force = 0
throwforce = 0
slot_flags = ITEM_SLOT_HEAD
alternate_worn_layer = ABOVE_BODY_FRONT_HEAD_LAYER
throw_speed = 1
throw_range = 3