Altered functionality of detective scanner.

Fixed that damn book cluster spawning.
Secure doors can now be opened by hitting them with yer hand
Cleaned up surgery tools
People now lie down and stand properly.
For Cajoes: Cleanbot is more robust, and cleans up kitchen messes, now.
This commit is contained in:
SkyMarshal
2012-02-25 00:17:03 -07:00
parent 22d5e4659f
commit 74fd808873
8 changed files with 138 additions and 66 deletions
+4 -1
View File
@@ -92,13 +92,16 @@ obj/machinery/computer/forensic_scanning
scan_data = ""
scan_name = ""
scan_process = 0
booked = 0
req_access = list(access_forensics_lockers)
New()
..()
new /obj/item/weapon/book/manual/detective(get_turf(src))
if(!booked)
new /obj/item/weapon/book/manual/detective(get_turf(src))
booked = 1
return
+58 -1
View File
@@ -1419,6 +1419,7 @@
/obj/effect/equip_e/human/process()
if (item)
item.add_fingerprint(source)
var/item_loc = 0
if (!item)
switch(place)
if("mask")
@@ -1481,9 +1482,65 @@
//SN src = null
del(src)
return
else
switch(place)
if("mask")
if(target.wear_mask)
item_loc = 1
if("l_hand")
if(target.l_hand)
item_loc = 1
if("r_hand")
if(target.r_hand)
item_loc = 1
if("gloves")
if(target.gloves)
item_loc = 1
if("eyes")
if(target.glasses)
item_loc = 1
if("l_ear")
if(target.l_ear)
item_loc = 1
if("r_ear")
if(target.r_ear)
item_loc = 1
if("head")
if(target.head)
item_loc = 1
if("shoes")
if(target.shoes)
item_loc = 1
if("belt")
if(target.belt)
item_loc = 1
if("suit")
if(target.wear_suit)
item_loc = 1
if("back")
if(target.back)
item_loc = 1
if("uniform")
if(target.w_uniform)
item_loc = 1
if("s_store")
if(target.s_store)
item_loc = 1
if("h_store")
if(target.h_store)
item_loc = 1
if("id")
if(target.wear_id)
item_loc = 1
if("internal")
if (target.internal)
item_loc = 1
if("handcuff")
if (target.handcuffed)
item_loc = 1
var/list/L = list( "syringe", "pill", "drink", "dnainjector", "fuel")
if ((item && !( L.Find(place) )))
if (item && !L.Find(place) && !item_loc)
if(isrobot(source) && place != "handcuff")
del(src)
return
+25 -15
View File
@@ -13,6 +13,7 @@
isbreathing = 1
holdbreath = 0
lyingcheck = 0
buckle_check = 0
/mob/living/carbon/human/Life()
set invisibility = 0
@@ -24,7 +25,20 @@
if(!loc) // Fixing a null error that occurs when the mob isn't found in the world -- TLE
return
//Being buckled to a chair or bed
check_if_buckled()
// Update clothing
// update_clothing()
if((lyingcheck != lying) || (buckle_check != (buckled ? 1 : 0))) //This is a fix for falling down / standing up not updating icons. Instead of going through and changing every
spawn(5)
update_clothing() //instance in the code where lying is modified, I've just added a new variable "lyingcheck" which will be compared
lyingcheck = lying //to lying, so if lying ever changes, update_clothing() will run like normal.
if(stat == 2)
if((!lying || !lyingcheck) && !buckled)
lying = 1
update_clothing()
return
life_tick++
@@ -88,18 +102,9 @@
// Some mobs heal slowly, others die slowly
handle_health_updates()
// Update clothing
// update_clothing()
if(lyingcheck != lying) //This is a fix for falling down / standing up not updating icons. Instead of going through and changing every
update_clothing() //instance in the code where lying is modified, I've just added a new variable "lyingcheck" which will be compared
lyingcheck = lying //to lying, so if lying ever changes, update_clothing() will run like normal.
if(client)
handle_regular_hud_updates()
//Being buckled to a chair or bed
check_if_buckled()
// Yup.
update_canmove()
@@ -1191,13 +1196,18 @@
check_if_buckled()
if (buckled)
lying = istype(buckled, /obj/structure/stool/bed) || istype(buckled, /obj/machinery/conveyor)
if(lying)
if(buckle_check != (buckled ? 1 : 0))
buckle_check = (buckled ? 1 : 0)
if (buckled)
lying = istype(buckled, /obj/structure/stool/bed) || istype(buckled, /obj/machinery/conveyor)
if(lying)
drop_item()
density = 1
else
density = !lying
if(buckle_check)
if(istype(buckled, /obj/structure/stool/bed) || istype(buckled, /obj/machinery/conveyor))
drop_item()
density = 1
else
density = !lying
handle_stomach()
spawn(0)