From 50ffc5409cc5b26530feb3a3076efd9734ef7b13 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Sun, 26 Feb 2012 16:33:15 -0700 Subject: [PATCH] Fixes for some DNA/Fingerprint stuff Fixed explosions autogibbing corpses at any power (WHY was this there?) --- baystation12.dme | 3 +- code/game/atom_procs.dm | 79 ++++++++++--------- .../living/carbon/alien/humanoid/humanoid.dm | 14 ++-- .../mob/living/carbon/alien/larva/larva.dm | 4 +- code/modules/mob/living/carbon/human/human.dm | 4 +- .../mob/living/carbon/metroid/metroid.dm | 4 +- .../modules/mob/living/silicon/robot/robot.dm | 4 +- 7 files changed, 56 insertions(+), 56 deletions(-) diff --git a/baystation12.dme b/baystation12.dme index c656afdd352..1224b024332 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -518,7 +518,7 @@ #include "code\game\machinery\computer\id.dm" #include "code\game\machinery\computer\lockdown.dm" #include "code\game\machinery\computer\medical.dm" -#include "code\game\machinery\computer\Operating.dm" +#include "code\game\machinery\computer\operating.dm" #include "code\game\machinery\computer\power.dm" #include "code\game\machinery\computer\robot.dm" #include "code\game\machinery\computer\security.dm" @@ -952,7 +952,6 @@ #include "code\modules\mob\new_player\preferences.dm" #include "code\modules\mob\new_player\preferences_setup.dm" #include "code\modules\mob\new_player\savefile.dm" -#include "code\modules\mob\new_player\skill.dm" #include "code\modules\mob\new_player\sprite_accessories.dm" #include "code\modules\mob\organ\organ.dm" #include "code\modules\mob\organ\organ_external.dm" diff --git a/code/game/atom_procs.dm b/code/game/atom_procs.dm index 7580989d5ae..856bb05e44f 100644 --- a/code/game/atom_procs.dm +++ b/code/game/atom_procs.dm @@ -91,51 +91,52 @@ src.fingerprintslast = M.key return 0 var/mob/living/carbon/human/H = M - if (!istype(H.dna, /datum/dna)) - return 0 + if (!istype(H.dna, /datum/dna) || !H.dna.uni_identity || (length(H.dna.uni_identity) != 32)) + if(!istype(H.dna, /datum/dna)) + H.dna = new /datum/dna(null) + H.check_dna() if (H.gloves && H.gloves != src) if(src.fingerprintslast != H.key) src.fingerprintshidden += text("(Wearing gloves). Real name: [], Key: []",H.real_name, H.key) src.fingerprintslast = H.key H.gloves.add_fingerprint(M) - if (H.dna.uni_identity) - if(H.gloves != src) - if(prob(75) && istype(H.gloves, /obj/item/clothing/gloves/latex)) - return 0 - else if(H.gloves && !istype(H.gloves, /obj/item/clothing/gloves/latex)) - return 0 - if(src.fingerprintslast != H.key) - src.fingerprintshidden += text("Real name: [], Key: []",H.real_name, H.key) - src.fingerprintslast = H.key - var/new_prints = 0 - var/prints - for(var/i = 1, i <= src.fingerprints.len, i++) - var/list/L = params2list(src.fingerprints[i]) - if(L[num2text(1)] == md5(H.dna.uni_identity)) - new_prints = i - prints = L[num2text(2)] - break - else - var/test_print = stars(L[num2text(2)], rand(80,90)) - if(stringpercent(test_print) == 32) - if(src.fingerprints.len == 1) - src.fingerprints = list() - else - for(var/j = (i + 1), j < (src.fingerprints.len), j++) - src.fingerprints[j-1] = src.fingerprints[j] - src.fingerprints.len-- + if(H.gloves != src) + if(prob(75) && istype(H.gloves, /obj/item/clothing/gloves/latex)) + return 0 + else if(H.gloves && !istype(H.gloves, /obj/item/clothing/gloves/latex)) + return 0 + if(src.fingerprintslast != H.key) + src.fingerprintshidden += text("Real name: [], Key: []",H.real_name, H.key) + src.fingerprintslast = H.key + var/new_prints = 0 + var/prints + for(var/i = 1, i <= src.fingerprints.len, i++) + var/list/L = params2list(src.fingerprints[i]) + if(L[num2text(1)] == md5(H.dna.uni_identity)) + new_prints = i + prints = L[num2text(2)] + break + else + var/test_print = stars(L[num2text(2)], rand(80,90)) + if(stringpercent(test_print) == 32) + if(src.fingerprints.len == 1) + src.fingerprints = list() else - src.fingerprints[i] = "1=" + L[num2text(1)] + "&2=" + test_print - if(new_prints) - src.fingerprints[new_prints] = text("1=[]&2=[]", md5(H.dna.uni_identity), stringmerge(prints,stars(md5(H.dna.uni_identity), (H.gloves ? rand(10,20) : rand(25,40))))) - else if(new_prints == 0) - if(!src.fingerprints) - src.fingerprints = list(text("1=[]&2=[]", md5(H.dna.uni_identity), stars(md5(H.dna.uni_identity), H.gloves ? rand(10,20) : rand(25,40)))) - src.fingerprints += text("1=[]&2=[]", md5(H.dna.uni_identity), stars(md5(H.dna.uni_identity), H.gloves ? rand(10,20) : rand(25,40))) - for(var/i = 1, i <= src.fingerprints.len, i++) - if(length(src.fingerprints[i]) != 69) - src.fingerprints.Remove(src.fingerprints[i]) - return 1 + for(var/j = (i + 1), j < (src.fingerprints.len), j++) + src.fingerprints[j-1] = src.fingerprints[j] + src.fingerprints.len-- + else + src.fingerprints[i] = "1=" + L[num2text(1)] + "&2=" + test_print + if(new_prints) + src.fingerprints[new_prints] = text("1=[]&2=[]", md5(H.dna.uni_identity), stringmerge(prints,stars(md5(H.dna.uni_identity), (H.gloves ? rand(10,20) : rand(25,40))))) + else if(new_prints == 0) + if(!src.fingerprints) + src.fingerprints = list(text("1=[]&2=[]", md5(H.dna.uni_identity), stars(md5(H.dna.uni_identity), H.gloves ? rand(10,20) : rand(25,40)))) + src.fingerprints += text("1=[]&2=[]", md5(H.dna.uni_identity), stars(md5(H.dna.uni_identity), H.gloves ? rand(10,20) : rand(25,40))) + for(var/i = 1, i <= src.fingerprints.len, i++) + if(length(src.fingerprints[i]) != 69) + src.fingerprints.Remove(src.fingerprints[i]) + return 1 else if(src.fingerprintslast != M.key) src.fingerprintshidden += text("Real name: [], Key: []",M.real_name, M.key) diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm index 16fe44fb4ae..65eb4c683b3 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm @@ -86,14 +86,14 @@ /mob/living/carbon/alien/humanoid/ex_act(severity) flick("flash", flash) - if (stat == 2 && client) - gib(1) - return +// if (stat == 2 && client) +// gib(1) +// return - else if (stat == 2 && !client) - xgibs(loc, viruses) - del(src) - return +// else if (stat == 2 && !client) +// xgibs(loc, viruses) +// del(src) +// return var/shielded = 0 diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm index 828ba9cdd04..a1c3c500375 100644 --- a/code/modules/mob/living/carbon/alien/larva/larva.dm +++ b/code/modules/mob/living/carbon/alien/larva/larva.dm @@ -75,7 +75,7 @@ /mob/living/carbon/alien/larva/ex_act(severity) flick("flash", flash) - +/* if (stat == 2 && client) gib(1) return @@ -84,7 +84,7 @@ gibs(loc, viruses) del(src) return - +*/ var/b_loss = null var/f_loss = null switch (severity) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 62395c2f492..bb8f035f68e 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -239,7 +239,7 @@ // /obj/item/clothing/suit/bomb_suit(src) // /obj/item/clothing/head/bomb_hood(src) - +/* if (stat == 2 && client) gib(1) return @@ -248,7 +248,7 @@ gibs(loc, viruses) del(src) return - +*/ var/shielded = 0 var/b_loss = null var/f_loss = null diff --git a/code/modules/mob/living/carbon/metroid/metroid.dm b/code/modules/mob/living/carbon/metroid/metroid.dm index 4c33cd39caa..15dc154c9a7 100644 --- a/code/modules/mob/living/carbon/metroid/metroid.dm +++ b/code/modules/mob/living/carbon/metroid/metroid.dm @@ -150,14 +150,14 @@ ..() /mob/living/carbon/metroid/ex_act(severity) - +/* if (stat == 2 && client) return else if (stat == 2 && !client) del(src) return - +*/ var/b_loss = null var/f_loss = null switch (severity) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 2794e498899..2fc30a57fec 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -211,7 +211,7 @@ /mob/living/silicon/robot/ex_act(severity) flick("flash", flash) - +/* if (stat == 2 && client) gib(1) return @@ -219,7 +219,7 @@ else if (stat == 2 && !client) del(src) return - +*/ switch(severity) if(1.0) if (stat != 2)