From cd2fcfc920981d5e377a0fff07a7fc60a7854218 Mon Sep 17 00:00:00 2001 From: "giacomand@gmail.com" Date: Fri, 30 Nov 2012 16:37:35 +0000 Subject: [PATCH] -Fixed blood vomiting not hurting you. -Removed an unneeded fingerprint proc. -Fixed some of the blood/vomit/gibs spills not correctly processing. -Reduced the life of a virus with no mob host. -You can now tell how a virus spreads by the Pandemic. -Made making vaccines quicker and making blood virals quicker too. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5232 316c924e-a436-60f5-8080-3fe189b3f50e --- code/datums/disease.dm | 4 ++-- code/datums/diseases/advance/advance.dm | 7 +++++++ code/datums/diseases/advance/symptoms/vomit.dm | 2 +- code/game/atoms.dm | 13 ------------- code/game/machinery/kitchen/processor.dm | 2 +- .../game/objects/effects/decals/Cleanable/aliens.dm | 4 +++- .../game/objects/effects/decals/Cleanable/humans.dm | 5 ++++- code/game/objects/effects/gibs.dm | 4 ++-- code/modules/mob/living/silicon/robot/robot.dm | 7 +++---- code/modules/reagents/Chemistry-Machinery.dm | 5 +++-- code/modules/reagents/Chemistry-Reagents.dm | 6 +++--- 11 files changed, 29 insertions(+), 30 deletions(-) diff --git a/code/datums/disease.dm b/code/datums/disease.dm index f44293a8d04..3f5288071ca 100644 --- a/code/datums/disease.dm +++ b/code/datums/disease.dm @@ -44,7 +44,7 @@ var/list/diseases = typesof(/datum/disease) - /datum/disease var/permeability_mod = 1//permeability modifier coefficient. var/desc = null//description. Leave it null and this disease won't show in med records. var/severity = null//severity descr - var/longevity = 250//time in "ticks" the virus stays in inanimate object (blood stains, corpses, etc). In syringes, bottles and beakers it stays infinitely. + var/longevity = 150//time in "ticks" the virus stays in inanimate object (blood stains, corpses, etc). In syringes, bottles and beakers it stays infinitely. var/list/hidden = list(0, 0) var/can_carry = 1 // If the disease allows "carriers". // if hidden[1] is true, then virus is hidden from medical scanners @@ -183,7 +183,7 @@ var/list/diseases = typesof(/datum/disease) - /datum/disease /datum/disease/New(var/process=1, var/datum/disease/D)//process = 1 - adding the object to global list. List is processed by master controller. cure_list = list(cure_id) // to add more cures, add more vars to this list in the actual disease's New() - if(process) // Viruses in list are considered active. + if(process) // Viruses in list are considered active. active_diseases += src initial_spread = spread diff --git a/code/datums/diseases/advance/advance.dm b/code/datums/diseases/advance/advance.dm index 939960d5fe9..74f81f6eced 100644 --- a/code/datums/diseases/advance/advance.dm +++ b/code/datums/diseases/advance/advance.dm @@ -416,4 +416,11 @@ var/list/advance_cures = list( name_symptoms += S.name message_admins("[key_name_admin(user)] has triggered a custom virus outbreak of [D.name]! It has these symptoms: [english_list(name_symptoms)]") +/* +/mob/verb/test() + + for(var/datum/disease/D in active_diseases) + src << "[D.name] - [D.holder]" +*/ + #undef RANDOM_STARTING_LEVEL \ No newline at end of file diff --git a/code/datums/diseases/advance/symptoms/vomit.dm b/code/datums/diseases/advance/symptoms/vomit.dm index 1fe08646e88..79a3d82c7c4 100644 --- a/code/datums/diseases/advance/symptoms/vomit.dm +++ b/code/datums/diseases/advance/symptoms/vomit.dm @@ -86,7 +86,7 @@ Bonus // They lose blood and health. var/brute_dam = M.getBruteLoss() - if(brute_dam >= 50) + if(brute_dam < 50) M.adjustBruteLoss(3) var/turf/pos = get_turf(M) diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 3f14640c1d6..f23d6c09b49 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -516,20 +516,7 @@ its easier to just keep the beam vertical. var/turf/simulated/source2 = src new /obj/effect/decal/cleanable/oil(source2) -/atom/proc/clean_prints() - if(istype(fingerprints, /list)) - //Smudge up dem prints some - for(var/P in fingerprints) - var/test_print = stars(fingerprints[P], rand(10,20)) - if(stringpercent(test_print) == 32) //She's full of stars! (No actual print left) - fingerprints.Remove(P) - else - fingerprints[P] = test_print - if(!fingerprints.len) - del(fingerprints) - /atom/proc/clean_blood() - clean_prints() if(istype(blood_DNA, /list)) del(blood_DNA) return 1 diff --git a/code/game/machinery/kitchen/processor.dm b/code/game/machinery/kitchen/processor.dm index 98bf53dd947..f5e5b2987df 100644 --- a/code/game/machinery/kitchen/processor.dm +++ b/code/game/machinery/kitchen/processor.dm @@ -82,7 +82,7 @@ for(var/datum/disease/D in O.viruses) if(D.spread_type != SPECIAL) - B.data["viruses"] = D.Copy() + B.data["viruses"] += D.Copy() B.data["blood_DNA"] = copytext(O.dna.unique_enzymes,1,0) if(O.resistances&&O.resistances.len) diff --git a/code/game/objects/effects/decals/Cleanable/aliens.dm b/code/game/objects/effects/decals/Cleanable/aliens.dm index b8b990f6ff0..7ee6aaa3b50 100644 --- a/code/game/objects/effects/decals/Cleanable/aliens.dm +++ b/code/game/objects/effects/decals/Cleanable/aliens.dm @@ -26,7 +26,9 @@ if (i > 0) var/obj/effect/decal/cleanable/xenoblood/b = new /obj/effect/decal/cleanable/xenoblood/xsplatter(src.loc) for(var/datum/disease/D in src.viruses) - b.viruses += D.Copy() + var/datum/disease/ND = D.Copy(1) + b.viruses += ND + ND.holder = b if (step_to(src, get_step(src, direction), 0)) break diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm index a520de941f9..393eeb9dd6f 100644 --- a/code/game/objects/effects/decals/Cleanable/humans.dm +++ b/code/game/objects/effects/decals/Cleanable/humans.dm @@ -69,6 +69,9 @@ if (i > 0) var/obj/effect/decal/cleanable/blood/b = new /obj/effect/decal/cleanable/blood/splatter(src.loc) for(var/datum/disease/D in src.viruses) - b.viruses += D.Copy() + var/datum/disease/ND = D.Copy(1) + b.viruses += ND + ND.holder = b + if (step_to(src, get_step(src, direction), 0)) break \ No newline at end of file diff --git a/code/game/objects/effects/gibs.dm b/code/game/objects/effects/gibs.dm index 92be8ed4ddf..ae8fc7220a0 100644 --- a/code/game/objects/effects/gibs.dm +++ b/code/game/objects/effects/gibs.dm @@ -47,10 +47,10 @@ if(viruses.len > 0) for(var/datum/disease/D in viruses) if(prob(virusProb)) - var/datum/disease/viruus = D.Copy() + var/datum/disease/viruus = D.Copy(1) gib.viruses += viruus viruus.holder = gib - viruus.spread_type = CONTACT_FEET + gib.blood_DNA = list() if(MobDNA) gib.blood_DNA[MobDNA.unique_enzymes] = MobDNA.b_type diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index f59c2b57fd7..da1e5fbc9d7 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -1040,9 +1040,8 @@ set category = "IC" set src = usr - if(module_active) + var/obj/item/W = get_active_hand() + if (W) + W.attack_self(src) - var/obj/item/W = module_active - if (W) - W.attack_self(src) return \ No newline at end of file diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm index 726dec39875..7283673226c 100644 --- a/code/modules/reagents/Chemistry-Machinery.dm +++ b/code/modules/reagents/Chemistry-Machinery.dm @@ -498,7 +498,7 @@ Blood = L break var/list/res = Blood.data["resistances"] - spawn(res.len*500) + spawn(res.len*200) src.wait = null else src.temphtml = "The replicator is not ready yet." @@ -525,7 +525,7 @@ B.reagents.add_reagent("blood",20,data) src.updateUsrDialog() wait = 1 - spawn(2000) + spawn(1000) src.wait = null else src.temphtml = "The replicator is not ready yet." @@ -624,6 +624,7 @@ dat += "Disease Agent: [D?"[D.agent] - Create virus culture bottle":"none"]
" dat += "Common name: [(D.name||"none")]
" dat += "Description: [(D.desc||"none")]
" + dat += "Spread: [(D.spread||"none")]
" dat += "Possible cure: [(D.cure||"none")]

" if(istype(D, /datum/disease/advance)) diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 9a9be4fc9f0..5e8ae23fecb 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -125,7 +125,7 @@ datum blood_prop.blood_DNA[self.data["blood_DNA"]] = self.data["blood_type"] for(var/datum/disease/D in self.data["viruses"]) - var/datum/disease/newVirus = D.Copy() + var/datum/disease/newVirus = D.Copy(1) blood_prop.viruses += newVirus newVirus.holder = blood_prop @@ -136,7 +136,7 @@ datum blood_prop = new(T) blood_prop.blood_DNA["Non-Human DNA"] = "A+" for(var/datum/disease/D in self.data["viruses"]) - var/datum/disease/newVirus = D.Copy() + var/datum/disease/newVirus = D.Copy(1) blood_prop.viruses += newVirus newVirus.holder = blood_prop @@ -146,7 +146,7 @@ datum blood_prop = new(T) blood_prop.blood_DNA["UNKNOWN DNA STRUCTURE"] = "X*" for(var/datum/disease/D in self.data["viruses"]) - var/datum/disease/newVirus = D.Copy() + var/datum/disease/newVirus = D.Copy(1) blood_prop.viruses += newVirus newVirus.holder = blood_prop return