diff --git a/code/game/objects/effects/spawners/random/food_or_drink.dm b/code/game/objects/effects/spawners/random/food_or_drink.dm index 4ff47f08fe9..e1cd6696c8b 100644 --- a/code/game/objects/effects/spawners/random/food_or_drink.dm +++ b/code/game/objects/effects/spawners/random/food_or_drink.dm @@ -59,10 +59,11 @@ /obj/item/seeds/seedling = 5, /obj/item/seeds/nettle/death = 1, /obj/item/seeds/plump/walkingmushroom = 1, - /obj/item/seeds/cannabis/rainbow = 1, + /obj/item/seeds/cannabis/anti = 1, /obj/item/seeds/cannabis/death = 1, - /obj/item/seeds/cannabis/white = 1, + /obj/item/seeds/cannabis/rainbow = 1, /obj/item/seeds/cannabis/ultimate = 1, + /obj/item/seeds/cannabis/white = 1, /obj/item/seeds/kudzu = 1, /obj/item/seeds/angel = 1, /obj/item/seeds/glowshroom/glowcap = 1, diff --git a/code/modules/hydroponics/grown/cannabis.dm b/code/modules/hydroponics/grown/cannabis.dm index 6309ae8475b..87d3adf2624 100644 --- a/code/modules/hydroponics/grown/cannabis.dm +++ b/code/modules/hydroponics/grown/cannabis.dm @@ -15,10 +15,12 @@ icon_grow = "cannabis-grow" // Uses one growth icons set for all the subtypes icon_dead = "cannabis-dead" // Same for the dead icon genes = list(/datum/plant_gene/trait/repeated_harvest) - mutatelist = list(/obj/item/seeds/cannabis/rainbow, + mutatelist = list( + /obj/item/seeds/cannabis/anti, /obj/item/seeds/cannabis/death, - /obj/item/seeds/cannabis/white, + /obj/item/seeds/cannabis/rainbow, /obj/item/seeds/cannabis/ultimate, + /obj/item/seeds/cannabis/white, ) reagents_add = list(/datum/reagent/drug/thc = 0.15) //SKYRAT EDIT - MORENARCOTICS - axed lipolicide, replaced space drugs with thc @@ -86,6 +88,30 @@ rarity = 69 graft_gene = /datum/plant_gene/trait/glow/green +/obj/item/seeds/cannabis/anti + name = "anti weed seed pack" + desc = "These seeds grow into anti weed." + icon_state = "seed-ocannabis" + plant_icon_offset = 0 + icon_grow = "ocannabis-grow" + species = "ocannabis" + plantname = "Anti Weed" + product = /obj/item/food/grown/cannabis/anti + genes = list(/datum/plant_gene/trait/repeated_harvest, /datum/plant_gene/trait/glow/shadow) + mutatelist = null + reagents_add = list(/datum/reagent/medicine/naloxone = 0.3, /datum/reagent/medicine/antihol = 0.2, /datum/reagent/medicine/synaphydramine = 0.1) + rarity = 40 + instability = 0 + +/obj/item/seeds/cannabis/anti/Initialize(mapload, nogenes) + . = ..() + add_atom_colour(COLOR_MATRIX_INVERT, FIXED_COLOUR_PRIORITY) + transform = transform.Turn(180) + +/obj/item/seeds/cannabis/anti/get_tray_overlay(age, status) + var/mutable_appearance/plant = ..() + plant.color = COLOR_MATRIX_INVERT + return plant // --------------------------------------------------------------- @@ -128,3 +154,16 @@ icon_state = "ocannabis" bite_consumption_mod = 2 // Ingesting like 40 units of drugs in 1 bite at 100 potency wine_power = 90 + +/obj/item/food/grown/cannabis/anti + seed = /obj/item/seeds/cannabis/anti + name = "anti cannabis leaf" + desc = "You feel normal looking at it. What the fuck?" + icon_state = "ocannabis" + +/obj/item/food/grown/cannabis/anti/Initialize(mapload, obj/item/seeds/new_seed) + . = ..() + add_atom_colour(COLOR_MATRIX_INVERT, FIXED_COLOUR_PRIORITY) + transform = transform.Turn(180) + if(prob(0.05)) + name = "evil cannabis leaf" diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm index 390e79941e1..389e82a9545 100644 --- a/code/modules/hydroponics/hydroponics.dm +++ b/code/modules/hydroponics/hydroponics.dm @@ -508,28 +508,12 @@ /obj/machinery/hydroponics/update_overlays() . = ..() if(myseed) - . += update_plant_overlay() + . += myseed.get_tray_overlay(age, plant_status) . += update_status_light_overlays() if(self_sustaining && self_sustaining_overlay_icon_state) . += mutable_appearance(icon, self_sustaining_overlay_icon_state) -/obj/machinery/hydroponics/proc/update_plant_overlay() - var/mutable_appearance/plant_overlay = mutable_appearance(myseed.growing_icon, layer = OBJ_LAYER + 0.01) - switch(plant_status) - if(HYDROTRAY_PLANT_DEAD) - plant_overlay.icon_state = myseed.icon_dead - if(HYDROTRAY_PLANT_HARVESTABLE) - if(!myseed.icon_harvest) - plant_overlay.icon_state = "[myseed.icon_grow][myseed.growthstages]" - else - plant_overlay.icon_state = myseed.icon_harvest - else - var/t_growthstate = clamp(round((age / myseed.maturation) * myseed.growthstages), 1, myseed.growthstages) - plant_overlay.icon_state = "[myseed.icon_grow][t_growthstate]" - plant_overlay.pixel_z = myseed.plant_icon_offset - return plant_overlay - /obj/machinery/hydroponics/proc/update_status_light_overlays() . = list() if(waterlevel <= 10) diff --git a/code/modules/hydroponics/seeds.dm b/code/modules/hydroponics/seeds.dm index be3b686f5b8..78ad61c5499 100644 --- a/code/modules/hydroponics/seeds.dm +++ b/code/modules/hydroponics/seeds.dm @@ -654,3 +654,17 @@ var/datum/plant_gene/reagent/selected_reagent = pick(valid_reagents) genes += selected_reagent.Copy() reagents_from_genes() + +/// Returns a mutable appearance to be used as an overlay for the plant in hydro trays. +/obj/item/seeds/proc/get_tray_overlay(age, status) + var/mutable_appearance/plant_overlay = mutable_appearance(growing_icon, layer = OBJ_LAYER + 0.01) + switch(status) + if(HYDROTRAY_PLANT_DEAD) + plant_overlay.icon_state = icon_dead + if(HYDROTRAY_PLANT_HARVESTABLE) + plant_overlay.icon_state = icon_harvest || "[icon_grow][growthstages]" + else + var/t_growthstate = clamp(round((age / maturation) * growthstages), 1, growthstages) + plant_overlay.icon_state = "[icon_grow][t_growthstate]" + plant_overlay.pixel_z = plant_icon_offset + return plant_overlay