-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
This commit is contained in:
giacomand@gmail.com
2012-11-30 16:37:35 +00:00
parent ea700332cb
commit cd2fcfc920
11 changed files with 29 additions and 30 deletions

View File

@@ -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

View File

@@ -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 << "<a href='?_src_=vars;Vars=\ref[D]'>[D.name] - [D.holder]</a>"
*/
#undef RANDOM_STARTING_LEVEL

View File

@@ -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)

View File

@@ -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

View File

@@ -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)

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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 += "<b>Disease Agent:</b> [D?"[D.agent] - <A href='?src=\ref[src];create_virus_culture=[disease_creation]'>Create virus culture bottle</A>":"none"]<BR>"
dat += "<b>Common name:</b> [(D.name||"none")]<BR>"
dat += "<b>Description: </b> [(D.desc||"none")]<BR>"
dat += "<b>Spread:</b> [(D.spread||"none")]<BR>"
dat += "<b>Possible cure:</b> [(D.cure||"none")]<BR><BR>"
if(istype(D, /datum/disease/advance))

View File

@@ -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