Merge pull request #511 from SkyMarshal/master

Altered detective scanner functionality.
This commit is contained in:
Albert Iordache
2012-02-24 23:26:46 -08:00
8 changed files with 137 additions and 65 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)