From d78d9eabc2e3b5f85b71f203f8c15d1fd900d790 Mon Sep 17 00:00:00 2001 From: dylanstrategie Date: Sun, 20 Jul 2014 02:15:03 +0200 Subject: [PATCH] Added a few more machines Conflicts: code/game/machinery/Sleeper.dm code/game/machinery/adv_med.dm code/game/machinery/autolathe.dm code/game/machinery/cloning.dm --- code/game/machinery/Sleeper.dm | 8 ++++ code/game/machinery/adv_med.dm | 57 +++++++++++++++++++++++++++++ code/game/machinery/autolathe.dm | 8 ++++ code/game/machinery/biogenerator.dm | 8 ++++ code/game/machinery/cloning.dm | 11 +++++- code/game/machinery/cryo.dm | 8 ++++ 6 files changed, 99 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm index 09d1b570545..4e837c9cb49 100644 --- a/code/game/machinery/Sleeper.dm +++ b/code/game/machinery/Sleeper.dm @@ -11,6 +11,14 @@ density = 1 var/orient = "LEFT" // "RIGHT" changes the dir suffix to "-r" + l_color = "#7BF9FF" + power_change() + ..() + if(!(stat & (BROKEN|NOPOWER))) + SetLuminosity(2) + else + SetLuminosity(0) + /obj/machinery/sleep_console/process() if(stat & (NOPOWER|BROKEN)) return diff --git a/code/game/machinery/adv_med.dm b/code/game/machinery/adv_med.dm index 10a9a6526a1..b48ebca6fe4 100644 --- a/code/game/machinery/adv_med.dm +++ b/code/game/machinery/adv_med.dm @@ -9,6 +9,63 @@ icon_state = "body_scanner_0" density = 1 anchored = 1 + idle_power_usage = 1250 + active_power_usage = 2500 + + l_color = "#00FF00" + power_change() + ..() + if(!(stat & (BROKEN|NOPOWER))) + SetLuminosity(2) + else + SetLuminosity(0) + +/obj/machinery/bodyscanner/MouseDrop_T(atom/movable/O as mob|obj, mob/user as mob) + if(O.loc == user) //no you can't pull things out of your ass + return + if(user.restrained() || user.stat || user.weakened || user.stunned || user.paralysis || user.resting) //are you cuffed, dying, lying, stunned or other + return + if(O.anchored || get_dist(user, src) > 1 || get_dist(user, O) > 1 || user.contents.Find(src)) // is the mob anchored, too far away from you, or are you too far away from the source + return + if(!ismob(O)) //humans only + return + if(istype(O, /mob/living/simple_animal) || istype(O, /mob/living/silicon)) //animals and robutts dont fit + return + if(!ishuman(user) && !isrobot(user)) //No ghosts or mice putting people into the sleeper + return + if(user.loc==null) // just in case someone manages to get a closet into the blue light dimension, as unlikely as that seems + return + if(!istype(user.loc, /turf) || !istype(O.loc, /turf)) // are you in a container/closet/pod/etc? + return + if(occupant) + user << "\blue The body scanner is already occupied!" + return + var/mob/living/L = O + if(!istype(L) || L.buckled) + return + if(L.abiotic()) + user << "\blue Subject cannot have abiotic items on." + return + for(var/mob/living/carbon/slime/M in range(1,L)) + if(M.Victim == L) + usr << "[L.name] will not fit into the body scanner because they have a slime latched onto their head." + return + if(L == user) + visible_message("[user] climbs into the body scanner.", 3) + else + visible_message("[user] puts [L.name] into the body scanner.", 3) + + if (L.client) + L.client.perspective = EYE_PERSPECTIVE + L.client.eye = src + L.loc = src + src.occupant = L + src.icon_state = "body_scanner_1" + for(var/obj/OO in src) + OO.loc = src.loc + //Foreach goto(154) + src.add_fingerprint(user) + return /*/obj/machinery/bodyscanner/allow_drop() return 0*/ diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index e2832d3c44a..f29d285bd45 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -98,6 +98,14 @@ var/global/list/autolathe_recipes_hidden = list( \ active_power_usage = 100 var/busy = 0 + l_color = "#7BF9FF" + power_change() + ..() + if(!(stat & (BROKEN|NOPOWER))) + SetLuminosity(2) + else + SetLuminosity(0) + /obj/machinery/autolathe/proc/wires_win(mob/user as mob) var/dat as text dat += "Autolathe Wires:
" diff --git a/code/game/machinery/biogenerator.dm b/code/game/machinery/biogenerator.dm index be9f1eb9fa0..4609b2b3bf0 100644 --- a/code/game/machinery/biogenerator.dm +++ b/code/game/machinery/biogenerator.dm @@ -19,6 +19,14 @@ R.my_atom = src beaker = new /obj/item/weapon/reagent_containers/glass/beaker/large(src) + l_color = "#7BF9FF" + power_change() + ..() + if(!(stat & (BROKEN|NOPOWER))) + SetLuminosity(2) + else + SetLuminosity(0) + on_reagent_change() //When the reagents change, change the icon as well. update_icon() diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm index 5e9f9adcde4..3f319d0b98a 100644 --- a/code/game/machinery/cloning.dm +++ b/code/game/machinery/cloning.dm @@ -20,7 +20,16 @@ var/mess = 0 //Need to clean out it if it's full of exploded clone. var/attempting = 0 //One clone attempt at a time thanks var/eject_wait = 0 //Don't eject them as soon as they are created fuckkk - var/biomass = CLONE_BIOMASS + var/biomass = CLONE_BIOMASS // * 3 - N3X + + l_color = "#00FF00" + power_change() + ..() + if(!(stat & (BROKEN|NOPOWER))) + SetLuminosity(2) + else + SetLuminosity(0) + //The return of data disks?? Just for transferring between genetics machine/cloning machine. //TO-DO: Make the genetics machine accept them. diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm index 6f802a84fd1..2b1aa086108 100644 --- a/code/game/machinery/cryo.dm +++ b/code/game/machinery/cryo.dm @@ -13,6 +13,14 @@ var/current_heat_capacity = 50 + l_color = "#00FF00" + power_change() + ..() + if(!(stat & (BROKEN|NOPOWER))) + SetLuminosity(2) + else + SetLuminosity(0) + /obj/machinery/atmospherics/unary/cryo_cell/New() ..() initialize_directions = dir