diff --git a/code/WorkInProgress/mining.dm b/code/WorkInProgress/mining.dm index 237c7a0cf5..1c4990c027 100644 --- a/code/WorkInProgress/mining.dm +++ b/code/WorkInProgress/mining.dm @@ -750,6 +750,14 @@ proc/move_mining_shuttle() var/turf/simulated/floor/airless/asteroid/W var/old_dir = dir + for(var/direction in cardinal) + for(var/obj/glowshroom/shroom in get_step(src,direction)) + if(!shroom.floor) //shrooms drop to the floor + shroom.floor = 1 + shroom.icon_state = "glowshroomf" + shroom.pixel_x = 0 + shroom.pixel_y = 0 + W = new /turf/simulated/floor/airless/asteroid( locate(src.x, src.y, src.z) ) W.dir = old_dir W.fullUpdateMineralOverlays() diff --git a/code/defines/obj/hydro.dm b/code/defines/obj/hydro.dm index 92e70ac2e2..f3cbcb5298 100644 --- a/code/defines/obj/hydro.dm +++ b/code/defines/obj/hydro.dm @@ -70,7 +70,7 @@ var/se = null var/ckey = null var/realName = null - var/mind = null + var/datum/mind/mind = null gender = "male" /obj/item/seeds/berryseed diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm index 46c640f4ef..202e9fa2e0 100644 --- a/code/game/gamemodes/wizard/wizard.dm +++ b/code/game/gamemodes/wizard/wizard.dm @@ -661,7 +661,7 @@ M.mind.special_verbs -= /client/proc/blink else if(spell_type == "object") for(var/obj/spell/spell_to_remove in src.spell_list) - src.spell_list -= spell_to_remove + del(spell_to_remove) /*Checks if the wizard can cast spells. Made a proc so this is not repeated 14 (or more) times.*/ diff --git a/code/game/machinery/hydroponics.dm b/code/game/machinery/hydroponics.dm index 3f009c88d9..a6936ee0fd 100644 --- a/code/game/machinery/hydroponics.dm +++ b/code/game/machinery/hydroponics.dm @@ -793,7 +793,7 @@ obj/machinery/hydroponics/attackby(var/obj/item/O as obj, var/mob/user as mob) else podman.real_name = "pod person" //No null names!! - if(mind && istype(mind,/datum/mind)) //let's try that + if(mind && istype(mind,/datum/mind) && mind.current.stat == 2) //only transfer dead people's minds mind:transfer_to(podman) mind:original = podman else //welp @@ -841,14 +841,18 @@ obj/machinery/hydroponics/attackby(var/obj/item/O as obj, var/mob/user as mob) if(!prob(potency)) //if it fails, plantman! podman.mutantrace = "plant" - else //else, one packet of seeds. ONE. - var/obj/item/seeds/replicapod/harvestseeds = new /obj/item/seeds/replicapod(user.loc) - harvestseeds.lifespan = lifespan - harvestseeds.endurance = endurance - harvestseeds.maturation = maturation - harvestseeds.production = production - harvestseeds.yield = yield - harvestseeds.potency = potency + else //else, one packet of seeds. maybe two + var/seed_count = 1 + if(prob(yield * parent.yieldmod * 20)) + seed_count++ + for(var/i=0,i= maxDistance) + return + switch(dir) + if(NORTHWEST) + dir = NORTH + if(NORTHEAST) + dir = EAST + if(SOUTHWEST) + dir = WEST + if(SOUTHEAST) + dir = SOUTH + sleep(spreadDelay) + Spread() + +/obj/biomass/proc/Spread(var/direction = dir) + var/possibleDirsInt = 0 + + for(var/newDirection in cardinal) + if(newDirection == turn(direction,180)) //can't go backwards + continue + var/turf/T = get_step(loc,newDirection) + if(!IsValidBiomassLoc(T,src)) + continue + possibleDirsInt |= newDirection + + var/list/possibleDirs = list() + + if(possibleDirsInt & direction) + for(var/i=0 , iAlert: The emergency shuttle has been called. It will arrive in [round(emergency_shuttle.timeleft()/60)] minutes." - world << sound('shuttlecalled.ogg') + if(callshuttle == 3) //if all three conditions are met + emergency_shuttle.incall(2) + log_game("All the AIs, comm consoles and boards are destroyed. Shuttle called.") + message_admins("All the AIs, comm consoles and boards are destroyed. Shuttle called.", 1) + world << "\blue Alert: The emergency shuttle has been called. It will arrive in [round(emergency_shuttle.timeleft()/60)] minutes." + world << sound('shuttlecalled.ogg') for(var/obj/machinery/ai_status_display/O in world) //change status spawn( 0 ) diff --git a/icons/obj/biomass.dmi b/icons/obj/biomass.dmi new file mode 100644 index 0000000000..ffb133f768 Binary files /dev/null and b/icons/obj/biomass.dmi differ diff --git a/tgstation.dme b/tgstation.dme index 94b938b3a6..c8feaed2c9 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -450,6 +450,7 @@ #include "code\game\mecha\working\ripley.dm" #include "code\game\mecha\working\working.dm" #include "code\game\objects\assemblies.dm" +#include "code\game\objects\biomass.dm" #include "code\game\objects\blood.dm" #include "code\game\objects\bomb.dm" #include "code\game\objects\cleaner.dm"