diff --git a/code/WorkInProgress/Chemistry-Reagents.dm b/code/WorkInProgress/Chemistry-Reagents.dm index ba0ac874ba9..9bfe70cbb9a 100644 --- a/code/WorkInProgress/Chemistry-Reagents.dm +++ b/code/WorkInProgress/Chemistry-Reagents.dm @@ -520,7 +520,7 @@ datum M.take_organ_damage(15) reaction_obj(var/obj/O, var/volume) - if(istype(O,/obj/item) && prob(40)) + if((istype(O,/obj/item) || istype(O,/obj/glowshroom)) && prob(40)) var/obj/decal/cleanable/molten_item/I = new/obj/decal/cleanable/molten_item(O.loc) I.desc = "Looks like this was \an [O] some time ago." for(var/mob/M in viewers(5, O)) @@ -575,7 +575,7 @@ datum M.take_organ_damage(15) reaction_obj(var/obj/O, var/volume) - if(istype(O,/obj/item)) + if((istype(O,/obj/item) || istype(O,/obj/glowshroom))) var/obj/decal/cleanable/molten_item/I = new/obj/decal/cleanable/molten_item(O.loc) I.desc = "Looks like this was \an [O] some time ago." for(var/mob/M in viewers(5, O)) @@ -796,6 +796,8 @@ datum if(istype(O,/obj/alien/weeds/)) O:health -= rand(15,35) // Kills alien weeds pretty fast O:healthcheck() + else if(istype(O,/obj/glowshroom)) //even a small amount is enough to kill it + del(O) // Damage that is done to growing plants is separately // at code/game/machinery/hydroponics at obj/item/hydroponics @@ -804,6 +806,8 @@ datum if(istype(M, /mob/living/carbon)) if(!M.wear_mask) // If not wearing a mask M:toxloss += 2 // 4 toxic damage per application, doubled for some reason + if(istype(M,/mob/living/carbon/human) && M:mutantrace == "plant") //plantmen take a LOT of damage + M:toxloss += 10 //if(prob(10)) //M.make_dizzy(1) doesn't seem to do anything diff --git a/code/defines/obj/hydro.dm b/code/defines/obj/hydro.dm index ba80b20264d..c709836628f 100644 --- a/code/defines/obj/hydro.dm +++ b/code/defines/obj/hydro.dm @@ -358,7 +358,7 @@ species = "glowshroom" plantname = "Glowshroom" productname = "/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/glowshroom" - lifespan = 60 //ten times that is the delay + lifespan = 120 //ten times that is the delay endurance = 30 maturation = 15 production = 1 @@ -816,7 +816,7 @@ pickup(src.loc) else src.sd_SetLuminosity(potency/10) - lifespan = 60 //ten times that is the delay + lifespan = 120 //ten times that is the delay endurance = 30 maturation = 15 production = 1 diff --git a/code/defines/obj/toy.dm b/code/defines/obj/toy.dm index 250a5624fa3..e96b0f8707d 100644 --- a/code/defines/obj/toy.dm +++ b/code/defines/obj/toy.dm @@ -218,4 +218,100 @@ obj/item/toy/blink for(var/mob/O in viewers(M, null)) if (O.client) O.show_message(text("\red [] casually lines up a shot with []'s head, pulls the trigger, then realizes they are out of ammo and drops to the floor in search of some!", user, M), 1, "\red You hear someone fall", 2) user.weakened += 5 - return \ No newline at end of file + return + +/obj/item/toy/crayonbox + name = "box of crayons" + desc = "A box of crayons for all your rune drawing needs." + icon = 'toy.dmi' + icon_state = "crayonbox6" + +/obj/item/toy/crayonbox/New() + ..() + new /obj/item/toy/crayon/red(src) + new /obj/item/toy/crayon/orange(src) + new /obj/item/toy/crayon/yellow(src) + new /obj/item/toy/crayon/green(src) + new /obj/item/toy/crayon/blue(src) + new /obj/item/toy/crayon/purple(src) + +/obj/item/toy/crayonbox/attack_hand(mob/user as mob) + if(user.r_hand == src || user.l_hand == src) + if(!contents.len) + user << "\red You're out of crayons!" + return + else + var/crayon = contents[contents.len] + user.contents += crayon + if(user.hand) + user.l_hand = crayon + else + user.r_hand = crayon + crayon:layer = 20 + else + return ..() + icon_state = "crayonbox[contents.len]" + return + +/obj/item/toy/crayon + name = "crayon" + desc = "A colourful crayon. Looks tasty. Mmmm..." + icon = 'toy.dmi' + icon_state = "crayonred" + var/colour = "000000" //RGB + var/shadeColour = "000000" //RGB + +/obj/item/toy/crayon/red + icon_state = "crayonred" + colour = "DA0000" + shadeColour = "810C0C" + +/obj/item/toy/crayon/orange + icon_state = "crayonorange" + colour = "FF9300" + shadeColour = "A55403" + +/obj/item/toy/crayon/yellow + icon_state = "crayonyellow" + colour = "FFF200" + shadeColour = "886422" + +/obj/item/toy/crayon/green + icon_state = "crayongreen" + colour = "A8E61D" + shadeColour = "61840F" + +/obj/item/toy/crayon/blue + icon_state = "crayonblue" + colour = "00B7EF" + shadeColour = "0082A8" + +/obj/item/toy/crayon/purple + icon_state = "crayonpurple" + colour = "DA00FF" + shadeColour = "810CFF" + +/obj/item/toy/crayon/afterattack(atom/target, mob/user as mob) + if(istype(target,/turf/simulated/floor)) + new /obj/crayonrune(target,colour,shadeColour) + user << "You draw a rune on the [target.name]." + return + +/obj/crayonrune + name = "rune" + desc = "A rune drawn in crayon." + icon = 'rune.dmi' + +/obj/crayonrune/New(location,main = "FFFFFF",shade = "000000") + ..() + loc = location + var/runeShape = rand(1,6) + + var/icon/mainOverlay = new/icon('rune.dmi',"main[runeShape]",2.1) + mainOverlay.Blend("#[main]",ICON_ADD) + + var/icon/shadeOverlay = new/icon('rune.dmi',"shade[runeShape]",3) + shadeOverlay.Blend("#[shade]",ICON_ADD) + + overlays += mainOverlay + overlays += shadeOverlay \ No newline at end of file diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index e994c1f8249..88abf6d5074 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -133,7 +133,7 @@ src.gameover = 1 src.temp = "[src.enemy_name] has fallen! Rejoice!" var/obj/item/prize - var/prizeselect = pick(1,2,3,4,5,6,7) + var/prizeselect = pick(1,2,3,4,5,6,7,8) switch(prizeselect) if(1) prize = new /obj/item/weapon/spacecash(src.loc) @@ -153,6 +153,8 @@ if(7) prize = new /obj/item/clothing/suit/syndicatefake(src.loc) prize = new /obj/item/clothing/head/syndicatefake(src.loc) + if(8) + prize = new /obj/item/toy/crayonbox(loc) else if ((src.enemy_mp <= 5) && (prob(70))) diff --git a/code/game/objects/glowshroom.dm b/code/game/objects/glowshroom.dm index c243ec5acb3..3c36e80b38c 100644 --- a/code/game/objects/glowshroom.dm +++ b/code/game/objects/glowshroom.dm @@ -10,10 +10,10 @@ layer = 2.1 var/endurance = 30 var/potency = 30 - var/delay = 600 + var/delay = 1200 var/floor = 0 var/yield = 3 - var/spreadChance = 80 + var/spreadChance = 40 var/spreadIntoAdjacentChance = 60 var/evolveChance = 2 diff --git a/icons/obj/rune.dmi b/icons/obj/rune.dmi index 4e8787553e4..d0bd47d6858 100644 Binary files a/icons/obj/rune.dmi and b/icons/obj/rune.dmi differ diff --git a/icons/obj/toy.dmi b/icons/obj/toy.dmi index 1cd331bba99..fee14cbcc20 100644 Binary files a/icons/obj/toy.dmi and b/icons/obj/toy.dmi differ