diff --git a/code/game/objects/effects/glowshroom.dm b/code/game/objects/effects/glowshroom.dm index cabf8231c62..4b6de9371d6 100644 --- a/code/game/objects/effects/glowshroom.dm +++ b/code/game/objects/effects/glowshroom.dm @@ -6,7 +6,7 @@ opacity = 0 density = 0 icon = 'icons/obj/lighting.dmi' - icon_state = "glowshroomf" + icon_state = "glowshroom" //replaced in New layer = 2.1 var/endurance = 30 var/potency = 30 @@ -16,6 +16,10 @@ var/generation = 1 var/spreadIntoAdjacentChance = 60 +obj/effect/glowshroom/glowcap + name = "glowcap" + icon_state = "glowcap" + /obj/effect/glowshroom/single yield = 0 @@ -23,6 +27,7 @@ ..() SetLuminosity(round(potency/10)) dir = CalcDir() + var/base_icon_state = initial(icon_state) if(!floor) switch(dir) //offset to make it be on the wall rather than on the floor if(NORTH) @@ -33,9 +38,9 @@ pixel_x = 32 if(WEST) pixel_x = -32 - icon_state = "glowshroom[rand(1,3)]" + icon_state = "[base_icon_state][rand(1,3)]" else //if on the floor, glowshroom on-floor sprite - icon_state = "glowshroomf" + icon_state = "[base_icon_state]f" spawn(delay) Spread() @@ -71,13 +76,13 @@ if(shroomCount >= placeCount) continue - var/obj/effect/glowshroom/child = new /obj/effect/glowshroom(newLoc)//The baby mushrooms have different stats :3 + var/obj/effect/glowshroom/child = new type(newLoc)//The baby mushrooms have different stats :3 child.potency = max(potency+rand(-3,6), 0) child.yield = max(yield+rand(-1,2), 0) child.delay = max(delay+rand(-30,60), 0) child.endurance = max(endurance+rand(-3,6), 1) child.generation = generation+1 - child.desc = "This is a [child.generation]\th generation glowshroom!"//I added this for testing, but I figure I'll leave it in. + child.desc = "This is a [child.generation]\th generation [child.name]!"//I added this for testing, but I figure I'll leave it in. /obj/effect/glowshroom/proc/CalcDir(turf/location = loc) set background = BACKGROUND_ENABLED diff --git a/code/modules/hydroponics/grown.dm b/code/modules/hydroponics/grown.dm index 0de09b0af7d..02f29310def 100644 --- a/code/modules/hydroponics/grown.dm +++ b/code/modules/hydroponics/grown.dm @@ -1202,8 +1202,8 @@ obj/item/weapon/reagent_containers/food/snacks/grown/shell/eggy/add_juice() planted.endurance = endurance planted.yield = yield planted.potency = potency + user << "You plant [src]." qdel(src) - user << "You plant the glowshroom." /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/Destroy() if(istype(loc,/mob)) @@ -1218,6 +1218,27 @@ obj/item/weapon/reagent_containers/food/snacks/grown/shell/eggy/add_juice() user.AddLuminosity(round(-potency / 10,1)) SetLuminosity(round(potency / 10,1)) +/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/glowcap + seed = /obj/item/seeds/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..." + icon_state = "glowcap" + filling_color = "#00FA9A" + +/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/glowcap/On_Consume() + if(!reagents.total_volume) + var/batteries_recharged = 0 + for(var/obj/item/weapon/stock_parts/cell/C in usr.GetAllContents()) + var/newcharge = (potency*0.01)*C.maxcharge + if(C.charge < newcharge) + C.charge = newcharge + if(isobj(C.loc)) + var/obj/O = C.loc + O.update_icon() //update power meters and such + batteries_recharged = 1 + if(batteries_recharged) + usr << "Battery has recovered." + ..() /obj/item/weapon/reagent_containers/food/snacks/grown/shell/moneyfruit seed = /obj/item/seeds/cashseed diff --git a/code/modules/hydroponics/seeds.dm b/code/modules/hydroponics/seeds.dm index a4449f813b4..6a75e25d61c 100644 --- a/code/modules/hydroponics/seeds.dm +++ b/code/modules/hydroponics/seeds.dm @@ -757,6 +757,25 @@ growthstages = 4 plant_type = 2 rarity = 20 + mutatelist = list(/obj/item/seeds/glowcap) + +/obj/item/seeds/glowcap + name = "pack of glowcap mycelium" + desc = "This mycelium -powers- into mushrooms!" + icon_state = "mycelium-glowcap" + species = "glowcap" + plantname = "Glowcaps" + product = /obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom/glowcap + lifespan = 120 //ten times that is the delay + endurance = 30 + maturation = 15 + production = 1 + yield = 3 //-> spread + potency = 30 //-> brightness + oneharvest = 1 + growthstages = 4 + plant_type = 2 + rarity = 20 /obj/item/seeds/plumpmycelium name = "pack of plump-helmet mycelium" diff --git a/icons/obj/hydroponics/growing.dmi b/icons/obj/hydroponics/growing.dmi index fd0f0dcc7c6..019c0a84a87 100644 Binary files a/icons/obj/hydroponics/growing.dmi and b/icons/obj/hydroponics/growing.dmi differ diff --git a/icons/obj/hydroponics/harvest.dmi b/icons/obj/hydroponics/harvest.dmi index 99baa34e701..7cf90674b9f 100644 Binary files a/icons/obj/hydroponics/harvest.dmi and b/icons/obj/hydroponics/harvest.dmi differ diff --git a/icons/obj/hydroponics/seeds.dmi b/icons/obj/hydroponics/seeds.dmi index 8fff4c26ba5..081e7bf8e3d 100644 Binary files a/icons/obj/hydroponics/seeds.dmi and b/icons/obj/hydroponics/seeds.dmi differ diff --git a/icons/obj/lighting.dmi b/icons/obj/lighting.dmi index 6a1b5c236c7..6c980811ef3 100644 Binary files a/icons/obj/lighting.dmi and b/icons/obj/lighting.dmi differ