diff --git a/code/game/objects/effects/glowshroom.dm b/code/game/objects/effects/glowshroom.dm index 08ae4c38e19..9004315d4a2 100644 --- a/code/game/objects/effects/glowshroom.dm +++ b/code/game/objects/effects/glowshroom.dm @@ -12,6 +12,7 @@ var/list/blacklisted_glowshroom_turfs = typecacheof(list( density = 0 icon = 'icons/obj/lighting.dmi' icon_state = "glowshroom" //replaced in New + light_color = "#AAD84B" layer = ABOVE_NORMAL_TURF_LAYER obj_integrity = 30 max_integrity = 30 @@ -24,7 +25,9 @@ var/list/blacklisted_glowshroom_turfs = typecacheof(list( /obj/structure/glowshroom/glowcap name = "glowcap" + desc = "Mycena Ruthenia, a species of mushroom that, while it does glow in the dark, is not actually bioluminescent." icon_state = "glowcap" + light_color = LIGHT_COLOR_RED /obj/structure/glowshroom/single yield = 0 @@ -35,7 +38,10 @@ var/list/blacklisted_glowshroom_turfs = typecacheof(list( /obj/structure/glowshroom/New() ..() - set_light(round(potency/10)) + addtimer(CALLBACK(src, .proc/setup), 0) //run this on the next tick so we can set vars first + +/obj/structure/glowshroom/proc/setup() + set_light(1.4 + potency*0.03, max(potency*0.04, 0.1)) setDir(CalcDir()) var/base_icon_state = initial(icon_state) if(!floor) diff --git a/code/modules/hydroponics/grown/mushrooms.dm b/code/modules/hydroponics/grown/mushrooms.dm index 602c2decdf7..39459d9406e 100644 --- a/code/modules/hydroponics/grown/mushrooms.dm +++ b/code/modules/hydroponics/grown/mushrooms.dm @@ -255,7 +255,7 @@ icon_dead = "glowshroom-dead" plantname = "Glowcaps" product = /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/glowcap - genes = list(/datum/plant_gene/trait/glow, /datum/plant_gene/trait/cell_charge, /datum/plant_gene/trait/plant_type/fungal_metabolism) + genes = list(/datum/plant_gene/trait/glow/red, /datum/plant_gene/trait/cell_charge, /datum/plant_gene/trait/plant_type/fungal_metabolism) mutatelist = list() reagents_add = list("teslium" = 0.1, "nutriment" = 0.04) rarity = 30 @@ -263,7 +263,7 @@ /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/glowcap seed = /obj/item/seeds/glowshroom/glowcap name = "glowcap cluster" - desc = "Mycena Ruthenia: This species of mushroom glows in the dark, but aren't bioluminescent. They're warm to the touch..." + desc = "Mycena Ruthenia: This species of mushroom glows in the dark, but isn't actually bioluminescent. They're warm to the touch..." icon_state = "glowcap" filling_color = "#00FA9A" effect_path = /obj/structure/glowshroom/glowcap diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm index 1790c54c7aa..57c2ac58b56 100644 --- a/code/modules/hydroponics/hydroponics.dm +++ b/code/modules/hydroponics/hydroponics.dm @@ -271,7 +271,7 @@ if(!self_sustaining) if(myseed && myseed.get_gene(/datum/plant_gene/trait/glow)) var/datum/plant_gene/trait/glow/G = myseed.get_gene(/datum/plant_gene/trait/glow) - set_light(G.get_lum(myseed)) + set_light(G.glow_range(myseed), G.glow_power(myseed), G.glow_color) else set_light(0) diff --git a/code/modules/hydroponics/plant_genes.dm b/code/modules/hydroponics/plant_genes.dm index 56f7d1bfe5a..d283e606e90 100644 --- a/code/modules/hydroponics/plant_genes.dm +++ b/code/modules/hydroponics/plant_genes.dm @@ -263,25 +263,31 @@ /datum/plant_gene/trait/glow // Makes plant glow. Makes plant in tray glow too. - // Adds potency*rate luminosity to products. + // Adds 1 + potency*rate light range and potency*(rate + 0.01) light_power to products. name = "Bioluminescence" - rate = 0.1 + rate = 0.03 examine_line = "It emits a soft glow." trait_id = "glow" + var/glow_color = "#AAD84B" -/datum/plant_gene/trait/glow/proc/get_lum(obj/item/seeds/S) - return round(S.potency*rate) +/datum/plant_gene/trait/glow/proc/glow_range(obj/item/seeds/S) + return 1.4 + S.potency*rate + +/datum/plant_gene/trait/glow/proc/glow_power(obj/item/seeds/S) + return max(S.potency*(rate + 0.01), 0.1) /datum/plant_gene/trait/glow/on_new(obj/item/weapon/reagent_containers/food/snacks/grown/G, newloc) ..() - if(ismob(newloc)) - G.pickup(newloc)//adjusts the lighting on the mob - else - G.set_light(get_lum(G.seed)) + G.set_light(glow_range(G.seed), glow_power(G.seed), glow_color) + +/datum/plant_gene/trait/glow/red + name = "Red Electrical Glow" + glow_color = LIGHT_COLOR_RED /datum/plant_gene/trait/glow/berry name = "Strong Bioluminescence" - rate = 0.2 + rate = 0.05 + glow_color = null /datum/plant_gene/trait/teleport