diff --git a/baystation12.dme b/baystation12.dme index 8673e06048..36f69929a0 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -741,19 +741,19 @@ #include "code\modules\customitems\item_defines.dm" #include "code\modules\customitems\item_spawning.dm" #include "code\modules\destilery\main.dm" -#include "code\modules\DetectiveWork\detective_work.dm" -#include "code\modules\DetectiveWork\evidence.dm" -#include "code\modules\DetectiveWork\footprints_and_rag.dm" -#include "code\modules\DetectiveWork\scanner.dm" -#include "code\modules\Economy\Accounts.dm" -#include "code\modules\Economy\Accounts_DB.dm" -#include "code\modules\Economy\ATM.dm" -#include "code\modules\Economy\EFTPOS.dm" -#include "code\modules\Economy\Misc.dm" -#include "code\modules\Economy\Events.dm" -#include "code\modules\Economy\Events_Mundane.dm" -#include "code\modules\Economy\Job_Departments.dm" -#include "code\modules\Economy\TradeDestinations.dm" +#include "code\modules\detectivework\detective_work.dm" +#include "code\modules\detectivework\evidence.dm" +#include "code\modules\detectivework\footprints_and_rag.dm" +#include "code\modules\detectivework\scanner.dm" +#include "code\modules\economy\Accounts.dm" +#include "code\modules\economy\Accounts_DB.dm" +#include "code\modules\economy\ATM.dm" +#include "code\modules\economy\EFTPOS.dm" +#include "code\modules\economy\Misc.dm" +#include "code\modules\economy\Events.dm" +#include "code\modules\economy\Events_Mundane.dm" +#include "code\modules\economy\Job_Departments.dm" +#include "code\modules\economy\TradeDestinations.dm" #include "code\modules\events\alien_infestation.dm" #include "code\modules\events\blob.dm" #include "code\modules\events\brand_intelligence.dm" diff --git a/code/modules/DetectiveWork/scanner.dm b/code/modules/DetectiveWork/scanner.dm deleted file mode 100644 index 448425e454..0000000000 --- a/code/modules/DetectiveWork/scanner.dm +++ /dev/null @@ -1,182 +0,0 @@ -//CONTAINS: Detective's Scanner - - -/obj/item/device/detective_scanner - name = "Scanner" - desc = "Used to scan objects for DNA and fingerprints." - icon_state = "forensic1" - var/amount = 20.0 - var/list/stored = list() - w_class = 3.0 - item_state = "electronic" - flags = FPRINT | TABLEPASS | CONDUCT | USEDELAY - slot_flags = SLOT_BELT - - attackby(obj/item/weapon/f_card/W as obj, mob/user as mob) - ..() - if (istype(W, /obj/item/weapon/f_card)) - if (W.fingerprints) - return - if (src.amount == 20) - return - if (W.amount + src.amount > 20) - src.amount = 20 - W.amount = W.amount + src.amount - 20 - else - src.amount += W.amount - //W = null - del(W) - add_fingerprint(user) - if (W) - W.add_fingerprint(user) - return - - attack(mob/living/carbon/human/M as mob, mob/user as mob) - if (!ishuman(M)) - user << "\red [M] is not human and cannot have the fingerprints." - flick("forensic0",src) - return 0 - if (( !( istype(M.dna, /datum/dna) ) || M.gloves) ) - user << "\blue No fingerprints found on [M]" - flick("forensic0",src) - return 0 - else - if (src.amount < 1) - user << text("\blue Fingerprints scanned on [M]. Need more cards to print.") - else - src.amount-- - var/obj/item/weapon/f_card/F = new /obj/item/weapon/f_card( user.loc ) - F.amount = 1 - F.add_fingerprint(M) - F.icon_state = "fingerprint1" - F.name = text("FPrintC- '[M.name]'") - - user << "\blue Done printing." - user << "\blue [M]'s Fingerprints: [md5(M.dna.uni_identity)]" - if ( !M.blood_DNA || !M.blood_DNA.len ) - user << "\blue No blood found on [M]" - if(M.blood_DNA) - del(M.blood_DNA) - else - user << "\blue Blood found on [M]. Analysing..." - spawn(15) - for(var/blood in M.blood_DNA) - user << "\blue Blood type: [M.blood_DNA[blood]]\nDNA: [blood]" - return - - afterattack(atom/A as obj|turf|area, mob/user as mob) - if(!in_range(A,user)) - return - if(loc != user) - return - if(istype(A,/obj/machinery/computer/forensic_scanning)) //breaks shit. - return - if(istype(A,/obj/item/weapon/f_card)) - user << "The scanner displays on the screen: \"ERROR 43: Object on Excluded Object List.\"" - flick("forensic0",src) - return - - add_fingerprint(user) - - - //Special case for blood splaters. - if (istype(A, /obj/effect/decal/cleanable/blood) || istype(A, /obj/effect/rune)) - if(!isnull(A.blood_DNA)) - for(var/blood in A.blood_DNA) - user << "\blue Blood type: [A.blood_DNA[blood]]\nDNA: [blood]" - flick("forensic2",src) - return - - //General - if ((!A.fingerprints || !A.fingerprints.len) && !A.suit_fibers && !A.blood_DNA) - user.visible_message("\The [user] scans \the [A] with \a [src], the air around [user.gender == MALE ? "him" : "her"] humming[prob(70) ? " gently." : "."]" ,\ - "\blue Unable to locate any fingerprints, materials, fibers, or blood on [A]!",\ - "You hear a faint hum of electrical equipment.") - flick("forensic0",src) - return 0 - - if(add_data(A)) - user << "\blue Object already in internal memory. Consolidating data..." - flick("forensic2",src) - return - - - //PRINTS - if(!A.fingerprints || !A.fingerprints.len) - if(A.fingerprints) - del(A.fingerprints) - else - user << "\blue Isolated [A.fingerprints.len] fingerprints: Data Stored: Scan with Hi-Res Forensic Scanner to retrieve." - var/list/complete_prints = list() - for(var/i in A.fingerprints) - var/print = A.fingerprints[i] - if(stringpercent(print) <= FINGERPRINT_COMPLETE) - complete_prints += print - if(complete_prints.len < 1) - user << "\blue   No intact prints found" - else - user << "\blue   Found [complete_prints.len] intact prints" - for(var/i in complete_prints) - user << "\blue     [i]" - - //FIBERS - if(A.suit_fibers) - user << "\blue Fibers/Materials Data Stored: Scan with Hi-Res Forensic Scanner to retrieve." - flick("forensic2",src) - - //Blood - if (A.blood_DNA) - user << "\blue Blood found on [A]. Analysing..." - spawn(15) - for(var/blood in A.blood_DNA) - user << "Blood type: \red [A.blood_DNA[blood]] \t \black DNA: \red [blood]" - if(prob(80) || !A.fingerprints) - user.visible_message("\The [user] scans \the [A] with \a [src], the air around [user.gender == MALE ? "him" : "her"] humming[prob(70) ? " gently." : "."]" ,\ - "You finish scanning \the [A].",\ - "You hear a faint hum of electrical equipment.") - flick("forensic2",src) - return 0 - else - user.visible_message("\The [user] scans \the [A] with \a [src], the air around [user.gender == MALE ? "him" : "her"] humming[prob(70) ? " gently." : "."]\n[user.gender == MALE ? "He" : "She"] seems to perk up slightly at the readout." ,\ - "The results of the scan pique your interest.",\ - "You hear a faint hum of electrical equipment, and someone making a thoughtful noise.") - flick("forensic2",src) - return 0 - return - - proc/add_data(atom/A as mob|obj|turf|area) - //I love associative lists. - var/list/data_entry = stored["\ref [A]"] - if(islist(data_entry)) //Yay, it was already stored! - //Merge the fingerprints. - var/list/data_prints = data_entry[1] - for(var/print in A.fingerprints) - var/merged_print = data_prints[print] - if(!merged_print) - data_prints[print] = A.fingerprints[print] - else - data_prints[print] = stringmerge(data_prints[print],A.fingerprints[print]) - - //Now the fibers - var/list/fibers = data_entry[2] - if(!fibers) - fibers = list() - if(A.suit_fibers && A.suit_fibers.len) - 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 = data_entry[3] - if(!blood) - blood = list() - if(A.blood_DNA && A.blood_DNA.len) - for(var/main_blood in A.blood_DNA) - if(!blood[main_blood]) - blood[main_blood] = A.blood_DNA[blood] - return 1 - var/list/sum_list[4] //Pack it back up! - sum_list[1] = A.fingerprints ? A.fingerprints.Copy() : null - sum_list[2] = A.suit_fibers ? A.suit_fibers.Copy() : null - sum_list[3] = A.blood_DNA ? A.blood_DNA.Copy() : null - sum_list[4] = "\The [A] in \the [get_area(A)]" - stored["\ref [A]"] = sum_list - return 0 \ No newline at end of file diff --git a/code/modules/DetectiveWork/detective_work.dm b/code/modules/detectivework/detective_work.dm similarity index 100% rename from code/modules/DetectiveWork/detective_work.dm rename to code/modules/detectivework/detective_work.dm diff --git a/code/modules/DetectiveWork/evidence.dm b/code/modules/detectivework/evidence.dm similarity index 100% rename from code/modules/DetectiveWork/evidence.dm rename to code/modules/detectivework/evidence.dm diff --git a/code/modules/DetectiveWork/footprints_and_rag.dm b/code/modules/detectivework/footprints_and_rag.dm similarity index 100% rename from code/modules/DetectiveWork/footprints_and_rag.dm rename to code/modules/detectivework/footprints_and_rag.dm diff --git a/code/modules/Economy/ATM.dm b/code/modules/economy/ATM.dm similarity index 100% rename from code/modules/Economy/ATM.dm rename to code/modules/economy/ATM.dm diff --git a/code/modules/Economy/Accounts.dm b/code/modules/economy/Accounts.dm similarity index 100% rename from code/modules/Economy/Accounts.dm rename to code/modules/economy/Accounts.dm diff --git a/code/modules/Economy/Accounts_DB.dm b/code/modules/economy/Accounts_DB.dm similarity index 100% rename from code/modules/Economy/Accounts_DB.dm rename to code/modules/economy/Accounts_DB.dm diff --git a/code/modules/Economy/EFTPOS.dm b/code/modules/economy/EFTPOS.dm similarity index 100% rename from code/modules/Economy/EFTPOS.dm rename to code/modules/economy/EFTPOS.dm diff --git a/code/modules/Economy/Events.dm b/code/modules/economy/Events.dm similarity index 100% rename from code/modules/Economy/Events.dm rename to code/modules/economy/Events.dm diff --git a/code/modules/Economy/Events_Mundane.dm b/code/modules/economy/Events_Mundane.dm similarity index 100% rename from code/modules/Economy/Events_Mundane.dm rename to code/modules/economy/Events_Mundane.dm diff --git a/code/modules/Economy/Job_Departments.dm b/code/modules/economy/Job_Departments.dm similarity index 100% rename from code/modules/Economy/Job_Departments.dm rename to code/modules/economy/Job_Departments.dm diff --git a/code/modules/Economy/Misc.dm b/code/modules/economy/Misc.dm similarity index 100% rename from code/modules/Economy/Misc.dm rename to code/modules/economy/Misc.dm diff --git a/code/modules/Economy/TradeDestinations.dm b/code/modules/economy/TradeDestinations.dm similarity index 100% rename from code/modules/Economy/TradeDestinations.dm rename to code/modules/economy/TradeDestinations.dm