mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 18:53:06 +00:00
Merge branch 'master' of git://github.com/Baystation12/Baystation12
Conflicts: code/game/objects/closets/secure/engineering.dm maps/tgstation.2.0.8.dmm Signed-off-by: CaelAislinn <cael_aislinn@yahoo.com.au>
This commit is contained in:
@@ -187,7 +187,17 @@ A list of items and costs is stored under the datum of every game mode, alongsid
|
||||
|
||||
//A Syndicate uplink disguised as a portable radio
|
||||
/obj/item/device/uplink/radio/implanted
|
||||
uses = 5
|
||||
New()
|
||||
..()
|
||||
uses = 5
|
||||
return
|
||||
|
||||
explode()
|
||||
var/obj/item/weapon/implant/uplink/U = src.loc
|
||||
var/mob/living/A = U.imp_in
|
||||
A.gib()
|
||||
..()
|
||||
|
||||
|
||||
/obj/item/device/uplink/radio
|
||||
name = "ship bounced radio"
|
||||
@@ -228,12 +238,10 @@ A list of items and costs is stored under the datum of every game mode, alongsid
|
||||
if (usr.stat || usr.restrained())
|
||||
return
|
||||
|
||||
var/mob/living/carbon/human/H = usr
|
||||
|
||||
if (!( istype(H, /mob/living/carbon/human)))
|
||||
if (!( istype(usr, /mob/living/carbon/human)))
|
||||
return 1
|
||||
|
||||
if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf))))
|
||||
if ((usr.contents.Find(src) || (in_range(src, usr) && istype(src.loc, /turf)) || istype(src.loc,/obj/item/weapon/implant/uplink)))
|
||||
usr.machine = src
|
||||
|
||||
if(href_list["buy_item"])
|
||||
@@ -241,6 +249,9 @@ A list of items and costs is stored under the datum of every game mode, alongsid
|
||||
var/path_obj = text2path(href_list["buy_item"])
|
||||
var/item = new path_obj(get_turf(src.loc))
|
||||
var/mob/A = src.loc
|
||||
if(istype(src.loc,/obj/item/weapon/implant/uplink))
|
||||
var/obj/item/weapon/implant/uplink/U = src.loc
|
||||
A = U.imp_in
|
||||
if(ismob(A) && !(locate(item) in NotInHand)) //&& !istype(item, /obj/spawner))
|
||||
if(!A.r_hand)
|
||||
item:loc = A
|
||||
@@ -295,12 +306,13 @@ A list of items and costs is stored under the datum of every game mode, alongsid
|
||||
else if (href_list["clear_selfdestruct"])
|
||||
src.temp = null
|
||||
|
||||
if (istype(src.loc, /mob))
|
||||
attack_self(src.loc)
|
||||
else
|
||||
for(var/mob/M in viewers(1, src))
|
||||
if (M.client)
|
||||
src.attack_self(M)
|
||||
attack_self(usr)
|
||||
// if (istype(src.loc, /mob))
|
||||
// attack_self(src.loc)
|
||||
// else
|
||||
// for(var/mob/M in viewers(1, src))
|
||||
// if (M.client)
|
||||
// src.attack_self(M)
|
||||
return
|
||||
|
||||
proc/explode()
|
||||
|
||||
78
code/WorkInProgress/SkyMarshal/wardrobes.dm
Normal file → Executable file
78
code/WorkInProgress/SkyMarshal/wardrobes.dm
Normal file → Executable file
@@ -1,19 +1,22 @@
|
||||
/obj/item/wardrobe
|
||||
name = "wardrobe"
|
||||
desc = "Seems to have everything I need for my job in it, sweet."
|
||||
desc = "A standard-issue bag for clothing and equipment. Usually comes sealed, stocked with everything you need for a particular job."
|
||||
icon = 'suits.dmi'
|
||||
icon_state = "wardrobe"
|
||||
icon_state = "wardrobe_sealed"
|
||||
item_state = "wardrobe"
|
||||
w_class = 4
|
||||
layer = 2.9
|
||||
var
|
||||
descriptor = "various clothing."
|
||||
descriptor = "various clothing"
|
||||
seal_torn = 0
|
||||
|
||||
attack_self(mob/user)
|
||||
if(!contents.len)
|
||||
user << "It's empty!"
|
||||
else
|
||||
user.visible_message("\blue [user] unwraps the clothing from the [src]")
|
||||
user.visible_message("\blue [user] unwraps the clothing from the [src][seal_torn ? "" : ", tearing the seal"].")
|
||||
seal_torn = 1
|
||||
|
||||
for(var/obj/item/I in src)
|
||||
I.loc = get_turf(src)
|
||||
update_icon()
|
||||
@@ -26,8 +29,11 @@
|
||||
if(istype(I, /obj/item/weapon/grab))
|
||||
return
|
||||
user.drop_item()
|
||||
|
||||
if(I)
|
||||
I.loc = src.loc
|
||||
I.loc = src
|
||||
|
||||
update_icon()
|
||||
else
|
||||
user << "\red There's not enough space to fit that!"
|
||||
return
|
||||
@@ -35,7 +41,11 @@
|
||||
examine()
|
||||
set src in usr
|
||||
..()
|
||||
usr << "It claims to contain [contents.len ? descriptor : descriptor + "... but it looks empty"]"
|
||||
usr << "It claims to contain [contents.len ? descriptor : descriptor + "... but it looks empty"]."
|
||||
if(seal_torn && !contents.len)
|
||||
usr << "The seal on the bag is broken."
|
||||
else
|
||||
usr << "The seal on the bag is[seal_torn ? ", however, not intact" : " intact"]."
|
||||
return
|
||||
|
||||
update_icon()
|
||||
@@ -52,7 +62,7 @@
|
||||
|
||||
/obj/item/wardrobe/assistant
|
||||
name = "assistant wardrobe"
|
||||
descriptor = "clothing for an assistant"
|
||||
descriptor = "clothing and basic equipment for an assistant"
|
||||
|
||||
New()
|
||||
..()
|
||||
@@ -66,7 +76,7 @@
|
||||
|
||||
/obj/item/wardrobe/chief_engineer
|
||||
name = "Chief Engineer wardrobe"
|
||||
descriptor = "clothing for a Chief Engineer"
|
||||
descriptor = "clothing and basic equipment for a Chief Engineer"
|
||||
|
||||
New()
|
||||
..()
|
||||
@@ -90,7 +100,7 @@
|
||||
|
||||
/obj/item/wardrobe/engineer
|
||||
name = "Station Engineer wardrobe"
|
||||
descriptor = "clothing for a Station Engineer"
|
||||
descriptor = "clothing and basic equipment for a Station Engineer"
|
||||
|
||||
New()
|
||||
..()
|
||||
@@ -111,7 +121,7 @@
|
||||
|
||||
/obj/item/wardrobe/atmos
|
||||
name = "Atmospheric Technician wardrobe"
|
||||
descriptor = "clothing for an Atmospheric Technician"
|
||||
descriptor = "clothing and basic equipment for an Atmospheric Technician"
|
||||
|
||||
New()
|
||||
..()
|
||||
@@ -126,7 +136,7 @@
|
||||
|
||||
/obj/item/wardrobe/roboticist
|
||||
name = "Roboticist wardrobe"
|
||||
descriptor = "clothing for a Roboticist"
|
||||
descriptor = "clothing and basic equipment for a Roboticist"
|
||||
|
||||
New()
|
||||
..()
|
||||
@@ -143,7 +153,7 @@
|
||||
|
||||
/obj/item/wardrobe/chaplain
|
||||
name = "Chaplain wardrobe"
|
||||
descriptor = "clothing for a Chaplain"
|
||||
descriptor = "clothing and basic equipment for a Chaplain"
|
||||
|
||||
New()
|
||||
..()
|
||||
@@ -158,7 +168,7 @@
|
||||
|
||||
/obj/item/wardrobe/captain
|
||||
name = "Captain wardrobe"
|
||||
descriptor = "clothing for a Captain"
|
||||
descriptor = "clothing and basic equipment for a Captain"
|
||||
|
||||
New()
|
||||
..()
|
||||
@@ -181,7 +191,7 @@
|
||||
|
||||
/obj/item/wardrobe/hop
|
||||
name = "Head of Personnel wardrobe"
|
||||
descriptor = "clothing for a Head of Personnel"
|
||||
descriptor = "clothing and basic equipment for a Head of Personnel"
|
||||
|
||||
New()
|
||||
..()
|
||||
@@ -202,7 +212,7 @@
|
||||
|
||||
/obj/item/wardrobe/cmo
|
||||
name = "Chief Medical Officer wardrobe"
|
||||
descriptor = "clothing for a Chief Medical Officer"
|
||||
descriptor = "clothing and basic equipment for a Chief Medical Officer"
|
||||
|
||||
New()
|
||||
..()
|
||||
@@ -222,7 +232,7 @@
|
||||
|
||||
/obj/item/wardrobe/doctor
|
||||
name = "Medical Doctor wardrobe"
|
||||
descriptor = "clothing for a Medical Doctor"
|
||||
descriptor = "clothing and basic equipment for a Medical Doctor"
|
||||
|
||||
New()
|
||||
..()
|
||||
@@ -242,7 +252,7 @@
|
||||
|
||||
/obj/item/wardrobe/geneticist
|
||||
name = "Geneticist wardrobe"
|
||||
descriptor = "clothing for a Geneticist"
|
||||
descriptor = "clothing and basic equipment for a Geneticist"
|
||||
|
||||
New()
|
||||
..()
|
||||
@@ -258,7 +268,7 @@
|
||||
|
||||
/obj/item/wardrobe/virologist
|
||||
name = "Virologist wardrobe"
|
||||
descriptor = "clothing for a Virologist"
|
||||
descriptor = "clothing and basic equipment for a Virologist"
|
||||
|
||||
New()
|
||||
..()
|
||||
@@ -275,7 +285,7 @@
|
||||
|
||||
/obj/item/wardrobe/rd
|
||||
name = "Research Director wardrobe"
|
||||
descriptor = "clothing for a Research Director"
|
||||
descriptor = "clothing and basic equipment for a Research Director"
|
||||
|
||||
New()
|
||||
..()
|
||||
@@ -296,7 +306,7 @@
|
||||
|
||||
/obj/item/wardrobe/scientist
|
||||
name = "Scientist wardrobe"
|
||||
descriptor = "clothing for a Scientist"
|
||||
descriptor = "clothing and basic equipment for a Scientist"
|
||||
|
||||
New()
|
||||
..()
|
||||
@@ -313,7 +323,7 @@
|
||||
|
||||
/obj/item/wardrobe/chemist
|
||||
name = "Chemist wardrobe"
|
||||
descriptor = "clothing for a Chemist"
|
||||
descriptor = "clothing and basic equipment for a Chemist"
|
||||
|
||||
New()
|
||||
..()
|
||||
@@ -328,7 +338,7 @@
|
||||
|
||||
/obj/item/wardrobe/hos
|
||||
name = "Head of Security wardrobe"
|
||||
descriptor = "clothing for a Head of Security"
|
||||
descriptor = "clothing and basic equipment for a Head of Security"
|
||||
|
||||
New()
|
||||
..()
|
||||
@@ -351,7 +361,7 @@
|
||||
|
||||
/obj/item/wardrobe/warden
|
||||
name = "Warden wardrobe"
|
||||
descriptor = "clothing for a Warden"
|
||||
descriptor = "clothing and basic equipment for a Warden"
|
||||
|
||||
New()
|
||||
..()
|
||||
@@ -374,7 +384,7 @@
|
||||
|
||||
/obj/item/wardrobe/detective
|
||||
name = "Detective wardrobe"
|
||||
descriptor = "clothing for a Detective"
|
||||
descriptor = "clothing and basic equipment for a Detective"
|
||||
|
||||
New()
|
||||
..()
|
||||
@@ -396,7 +406,7 @@
|
||||
|
||||
/obj/item/wardrobe/officer
|
||||
name = "Security Officer wardrobe"
|
||||
descriptor = "clothing for a Security Officer"
|
||||
descriptor = "clothing and basic equipment for a Security Officer"
|
||||
|
||||
New()
|
||||
..()
|
||||
@@ -424,7 +434,7 @@
|
||||
|
||||
/obj/item/wardrobe/bartender
|
||||
name = "Bartender wardrobe"
|
||||
descriptor = "clothing for a Bartender"
|
||||
descriptor = "clothing and basic equipment for a Bartender"
|
||||
|
||||
New()
|
||||
..()
|
||||
@@ -442,7 +452,7 @@
|
||||
|
||||
/obj/item/wardrobe/chef
|
||||
name = "Chef wardrobe"
|
||||
descriptor = "clothing for a Chef"
|
||||
descriptor = "clothing and basic equipment for a Chef"
|
||||
|
||||
New()
|
||||
..()
|
||||
@@ -457,7 +467,7 @@
|
||||
|
||||
/obj/item/wardrobe/hydro
|
||||
name = "Botanist wardrobe"
|
||||
descriptor = "clothing for a Botanist"
|
||||
descriptor = "clothing and basic equipment for a Botanist"
|
||||
|
||||
New()
|
||||
..()
|
||||
@@ -473,7 +483,7 @@
|
||||
|
||||
/obj/item/wardrobe/qm
|
||||
name = "Quartermaster wardrobe"
|
||||
descriptor = "clothing for a Quartermaster"
|
||||
descriptor = "clothing and basic equipment for a Quartermaster"
|
||||
|
||||
New()
|
||||
..()
|
||||
@@ -489,7 +499,7 @@
|
||||
|
||||
/obj/item/wardrobe/cargo_tech
|
||||
name = "Cargo Technician wardrobe"
|
||||
descriptor = "clothing for a Cargo Technician"
|
||||
descriptor = "clothing and basic equipment for a Cargo Technician"
|
||||
|
||||
New()
|
||||
..()
|
||||
@@ -503,7 +513,7 @@
|
||||
|
||||
/obj/item/wardrobe/mining
|
||||
name = "Shaft Miner wardrobe"
|
||||
descriptor = "clothing for a Shaft Miner"
|
||||
descriptor = "clothing and basic equipment for a Shaft Miner"
|
||||
|
||||
New()
|
||||
..()
|
||||
@@ -523,7 +533,7 @@
|
||||
|
||||
/obj/item/wardrobe/janitor
|
||||
name = "Janitor wardrobe"
|
||||
descriptor = "clothing for a Janitor"
|
||||
descriptor = "clothing and basic equipment for a Janitor"
|
||||
|
||||
New()
|
||||
..()
|
||||
@@ -536,7 +546,7 @@
|
||||
|
||||
/obj/item/wardrobe/librarian
|
||||
name = "Librarian wardrobe"
|
||||
descriptor = "clothing for a Librarian"
|
||||
descriptor = "clothing and basic equipment for a Librarian"
|
||||
|
||||
New()
|
||||
..()
|
||||
@@ -549,7 +559,7 @@
|
||||
|
||||
/obj/item/wardrobe/lawyer
|
||||
name = "Lawyer wardrobe"
|
||||
descriptor = "clothing for a Lawyer"
|
||||
descriptor = "clothing and basic equipment for a Lawyer"
|
||||
|
||||
New()
|
||||
..()
|
||||
|
||||
@@ -6,9 +6,9 @@
|
||||
speak_chance = 1
|
||||
turns_per_move = 15
|
||||
meat_type = /obj/item/weapon/reagent_containers/food/snacks/meat
|
||||
response_help = "pets "
|
||||
response_disarm = "gently pushes aside "
|
||||
response_harm = "kicks "
|
||||
response_help = "pets"
|
||||
response_disarm = "gently pushes aside"
|
||||
response_harm = "kicks"
|
||||
var/max_nutrition = 100 // different animals get hungry faster, basically number of 5-second steps from full to starving (60 == 5 minutes)
|
||||
var/nutrition_step // cycle step in nutrition system
|
||||
var/obj/movement_target // eating-ing target
|
||||
@@ -17,6 +17,9 @@
|
||||
if(!nutrition)
|
||||
nutrition = max_nutrition * 0.33 // at 1/3 nutrition
|
||||
|
||||
reagents = new()
|
||||
reagents.my_atom = src
|
||||
|
||||
Life()
|
||||
..()
|
||||
|
||||
@@ -38,12 +41,14 @@
|
||||
if(nutrition >= max_nutrition)
|
||||
return
|
||||
|
||||
if((movement_target) && !(isturf(movement_target.loc) || ishuman(movement_target.loc) ))
|
||||
if((movement_target) && !(isturf(movement_target.loc)))
|
||||
movement_target = null
|
||||
stop_automated_movement = 0
|
||||
a_intent = "help"
|
||||
turns_per_move = initial(turns_per_move)
|
||||
if( !movement_target || !(movement_target.loc in oview(src, 3)) )
|
||||
movement_target = null
|
||||
stop_automated_movement = 0
|
||||
a_intent = "help"
|
||||
turns_per_move = initial(turns_per_move)
|
||||
for(var/obj/item/weapon/reagent_containers/food/snacks/S in oview(src,3))
|
||||
if(isturf(S.loc) || ishuman(S.loc))
|
||||
movement_target = S
|
||||
|
||||
@@ -83,7 +83,7 @@ obj/machinery/computer/forensic_scanning
|
||||
|
||||
New()
|
||||
..()
|
||||
new /obj/item/weapon/book/manual/detective(get_turf(src)) //DEEEERP
|
||||
new /obj/item/weapon/book/manual/detective(get_turf(src))
|
||||
return
|
||||
|
||||
|
||||
@@ -187,7 +187,7 @@ obj/machinery/computer/forensic_scanning
|
||||
if(files && files.len)
|
||||
temp = "<b>Criminal Evidence Database</b><br><br>"
|
||||
temp += "Consolidated data points:<br>"
|
||||
for(var/i = 1, i < (files.len + 1), i++)
|
||||
for(var/i = 1, i <= files.len, i++)
|
||||
temp += "<a href='?src=\ref[src];operation=record;identifier=[i]'>{Dossier [i]}</a><br>"
|
||||
temp += "<br><a href='?src=\ref[src];operation=card'>{Insert Finger Print Card}</a><br><br><br>"
|
||||
else
|
||||
@@ -197,7 +197,7 @@ obj/machinery/computer/forensic_scanning
|
||||
delete_record(text2num(href_list["delete"]))
|
||||
temp += "<b>Auxiliary Evidence Database</b><br><br>"
|
||||
temp += "This is where anything without fingerprints goes.<br><br>"
|
||||
for(var/i = 1, i < (misc.len + 1), i++)
|
||||
for(var/i = 1, i <= misc.len, i++)
|
||||
var/list/temp_list = misc[i]
|
||||
var/item_name = get_name(temp_list[1])
|
||||
temp += "<a href='?src=\ref[src];operation=auxiliary;identifier=[i]'>{[item_name]}</a><br>"
|
||||
@@ -213,7 +213,7 @@ obj/machinery/computer/forensic_scanning
|
||||
if(stringpercent(prints[num2text(2)]) <= FINGERPRINT_COMPLETE)
|
||||
print_string = "Fingerprints: (80% or higher completion reached)<br>" + prints[num2text(2)] + "<br>"
|
||||
temp += print_string
|
||||
for(var/i = 2, i < (dossier.len + 1), i++)
|
||||
for(var/i = 2, i <= dossier.len, i++)
|
||||
var/list/outputs = dossier[i]
|
||||
var/item_name = get_name(outputs[1])
|
||||
var/list/prints_len = outputs[2]
|
||||
@@ -222,7 +222,7 @@ obj/machinery/computer/forensic_scanning
|
||||
var/list/fibers = outputs[3]
|
||||
if(fibers && fibers.len)
|
||||
var/dat = "[fibers[1]]"
|
||||
for(var/j = 2, j < (fibers.len + 1), j++)
|
||||
for(var/j = 2, j <= fibers.len, j++)
|
||||
dat += ",<br> [fibers[j]]"
|
||||
temp += " Fibers: [dat]<br>"
|
||||
else
|
||||
@@ -231,7 +231,7 @@ obj/machinery/computer/forensic_scanning
|
||||
if(blood && blood.len)
|
||||
var/dat = "[blood[1]]"
|
||||
if(blood.len > 1)
|
||||
for(var/j = 2, j < (blood.len + 1), j++)
|
||||
for(var/j = 2, j <= blood.len, j++)
|
||||
dat += ",<br> [blood[j]]"
|
||||
temp += " Blood: [dat]<br>"
|
||||
else
|
||||
@@ -253,7 +253,7 @@ obj/machinery/computer/forensic_scanning
|
||||
if(stringpercent(prints[num2text(2)]) <= FINGERPRINT_COMPLETE)
|
||||
print_string = "Fingerprints: " + prints[num2text(2)] + "<BR>"
|
||||
P.info += print_string
|
||||
for(var/i = 2, i < (dossier.len + 1), i++)
|
||||
for(var/i = 2, i <= dossier.len, i++)
|
||||
var/list/outputs = dossier[i]
|
||||
var/item_name = get_name(outputs[1])
|
||||
var/list/prints_len = outputs[2]
|
||||
@@ -262,7 +262,7 @@ obj/machinery/computer/forensic_scanning
|
||||
var/list/fibers = outputs[3]
|
||||
if(fibers && fibers.len)
|
||||
var/dat = "[fibers[1]]"
|
||||
for(var/j = 2, j < (fibers.len + 1), j++)
|
||||
for(var/j = 2, j <= fibers.len, j++)
|
||||
dat += ",<br> [fibers[j]]"
|
||||
P.info += " Fibers: [dat]<br>"
|
||||
else
|
||||
@@ -271,7 +271,7 @@ obj/machinery/computer/forensic_scanning
|
||||
if(blood && blood.len)
|
||||
var/dat = "[blood[1]]"
|
||||
if(blood.len > 1)
|
||||
for(var/j = 2, j < (blood.len + 1), j++)
|
||||
for(var/j = 2, j <= blood.len, j++)
|
||||
dat += ",<br> [blood[j]]"
|
||||
P.info += " Blood: [dat]<br>"
|
||||
else
|
||||
@@ -366,7 +366,7 @@ obj/machinery/computer/forensic_scanning
|
||||
scan_data = "<u>[scanning]</u><br><br>"
|
||||
if (scanning.blood_DNA.len)
|
||||
scan_data += "Blood Found:<br>"
|
||||
for(var/i = 1, i < (scanning.blood_DNA.len + 1), i++)
|
||||
for(var/i = 1, i <= scanning.blood_DNA.len, i++)
|
||||
var/list/templist = scanning.blood_DNA[i]
|
||||
scan_data += "-Blood type: [templist[2]]\nDNA: [templist[1]]<br><br>"
|
||||
else
|
||||
@@ -432,11 +432,13 @@ obj/machinery/computer/forensic_scanning
|
||||
updateUsrDialog()
|
||||
|
||||
verb/reset()
|
||||
set name = "Reset Screen"
|
||||
set name = "Reset Database"
|
||||
set category = "Object"
|
||||
set src in oview(1)
|
||||
temp = ""
|
||||
add_fingerprint(usr)
|
||||
files = list()
|
||||
misc = list()
|
||||
return
|
||||
|
||||
|
||||
@@ -445,9 +447,10 @@ obj/machinery/computer/forensic_scanning
|
||||
|
||||
|
||||
proc/add_data_scanner(var/obj/item/device/detective_scanner/W)
|
||||
for(var/i = 1, i < (W.stored.len + 1), i++)
|
||||
for(var/i = 1, i <= W.stored.len, i++)
|
||||
var/list/data = W.stored[i]
|
||||
add_data(data[1],1,data[2],data[3],data[4])
|
||||
W.stored = list()
|
||||
|
||||
|
||||
proc/add_data(var/atom/A, var/override = 0, var/tempfingerprints, var/tempsuit_fibers,var/tempblood_DNA)
|
||||
@@ -469,7 +472,7 @@ obj/machinery/computer/forensic_scanning
|
||||
if(!misc)
|
||||
misc = list()
|
||||
if(misc)
|
||||
for(var/i = 1, i < (misc.len + 1), i++) //Lets see if we can find it.
|
||||
for(var/i = 1, i <= misc.len, i++) //Lets see if we can find it.
|
||||
var/list/templist = misc[i]
|
||||
var/check = templist[1]
|
||||
if(check == A) //There it is!
|
||||
@@ -478,14 +481,14 @@ obj/machinery/computer/forensic_scanning
|
||||
if(!fibers)
|
||||
fibers = list()
|
||||
if(A.suit_fibers)
|
||||
for(var/j = 1, j < (A.suit_fibers.len + 1), j++) //Fibers~~~
|
||||
for(var/j = 1, j <= A.suit_fibers.len, j++) //Fibers~~~
|
||||
if(!fibers.Find(A.suit_fibers[j])) //It isn't! Add!
|
||||
fibers += A.suit_fibers[j]
|
||||
var/list/blood = templist[3]
|
||||
if(!blood)
|
||||
blood = list()
|
||||
if(A.blood_DNA)
|
||||
for(var/j = 1, j < (A.blood_DNA.len + 1), j++) //Blood~~~
|
||||
for(var/j = 1, j <= A.blood_DNA.len, j++) //Blood~~~
|
||||
if(!blood.Find(A.blood_DNA[j])) //It isn't! Add!
|
||||
blood += A.blood_DNA[j]
|
||||
var/list/sum_list[3] //Pack it back up!
|
||||
@@ -504,21 +507,21 @@ obj/machinery/computer/forensic_scanning
|
||||
return !merged
|
||||
else //Has prints.
|
||||
var/list/found_prints[A.fingerprints.len + 1]
|
||||
for(var/i = 1, i < (found_prints.len + 1), i++)
|
||||
for(var/i = 1, i <= found_prints.len, i++)
|
||||
found_prints[i] = 0
|
||||
if(!files)
|
||||
files = list()
|
||||
for(var/i = 1, i < (files.len + 1), i++) //Lets see if we can find the owner of the prints
|
||||
for(var/i = 1, i <= files.len, i++) //Lets see if we can find the owner of the prints
|
||||
var/list/perp_list = files[i]
|
||||
var/list/perp_prints = params2list(perp_list[1])
|
||||
var/perp = perp_prints[num2text(1)]
|
||||
var/found2 = 0
|
||||
for(var/m = 1, m < (A.fingerprints.len + 1), m++) //Compare database prints with prints on object.
|
||||
for(var/m = 1, m <= A.fingerprints.len, m++) //Compare database prints with prints on object.
|
||||
var/list/test_prints_list = params2list(A.fingerprints[m])
|
||||
var/checker = test_prints_list[num2text(1)]
|
||||
if(checker == perp) //Found 'em! Merge!
|
||||
found_prints[m] = 1
|
||||
for(var/n = 2, n < (perp_list.len + 1), n++) //Lets see if it is already in the database
|
||||
for(var/n = 2, n <= perp_list.len, n++) //Lets see if it is already in the database
|
||||
var/list/target = perp_list[n]
|
||||
if(target[1] == A) //Found the original object!
|
||||
found2 = 1
|
||||
@@ -526,11 +529,11 @@ obj/machinery/computer/forensic_scanning
|
||||
if(!prints)
|
||||
prints = list()
|
||||
if(A.fingerprints)
|
||||
for(var/j = 1, j < (A.fingerprints.len + 1), j++) //Fingerprints~~~
|
||||
for(var/j = 1, j <= A.fingerprints.len, j++) //Fingerprints~~~
|
||||
var/list/print_test1 = params2list(A.fingerprints[j])
|
||||
var/test_print1 = print_test1[num2text(1)]
|
||||
var/found = 0
|
||||
for(var/k = 1, k <= (prints.len + 1), k++) //Lets see if the print is already in there
|
||||
for(var/k = 1, k <= prints.len, k++) //Lets see if the print is already in there
|
||||
var/list/print_test2 = params2list(prints[k])
|
||||
var/test_print2 = print_test2[num2text(1)]
|
||||
if(test_print2 == test_print1) //It is! Merge!
|
||||
@@ -594,15 +597,15 @@ obj/machinery/computer/forensic_scanning
|
||||
|
||||
|
||||
proc/update_fingerprints() //I am tired, but this updates the master print, which is used to determine completion of a print.
|
||||
for(var/k = 1, k < (files.len + 1), k++)
|
||||
for(var/k = 1, k <= files.len, k++)
|
||||
var/list/perp_list = files[k]
|
||||
var/list/perp_prints = params2list(perp_list[1])
|
||||
var/perp = perp_prints[num2text(1)]
|
||||
var/list/found_prints = list()
|
||||
for(var/i = 2, i < (perp_list.len + 1), i++)
|
||||
for(var/i = 2, i <= perp_list.len, i++)
|
||||
var/list/test_list = perp_list[i]
|
||||
var/list/test_prints = test_list[2]
|
||||
for(var/j = 1, j < (test_prints.len + 1), j++)
|
||||
for(var/j = 1, j <= test_prints.len, j++)
|
||||
var/list/test_list_2 = params2list(test_prints[j])
|
||||
var/test_prints_2 = test_list_2[num2text(1)]
|
||||
if(test_prints_2 == perp)
|
||||
@@ -617,10 +620,10 @@ obj/machinery/computer/forensic_scanning
|
||||
proc/process_card() //I am tired, but this updates the master print from a fingerprint card
|
||||
//which is used to determine completion of a print.
|
||||
if(card.fingerprints)
|
||||
for(var/k = 1, k < (card.fingerprints.len + 1), k++)
|
||||
for(var/k = 1, k <= card.fingerprints.len, k++)
|
||||
var/list/test_prints = params2list(card.fingerprints[k])
|
||||
var/print = test_prints[num2text(1)]
|
||||
for(var/i = 1, i < (files.len + 1), i++)
|
||||
for(var/i = 1, i <= files.len, i++)
|
||||
var/list/test_list = files[i]
|
||||
var/list/perp_prints = params2list(test_list[1])
|
||||
var/perp = perp_prints[num2text(1)]
|
||||
|
||||
Reference in New Issue
Block a user