Disease Refactor (#2021)

This commit is contained in:
CitadelStationBot
2017-07-15 11:40:49 -07:00
committed by kevinz000
parent 2ae38397c9
commit f2ac487927
56 changed files with 210 additions and 255 deletions
+7 -3
View File
@@ -1,6 +1,7 @@
/mob/proc/HasDisease(datum/disease/D)
for(var/datum/disease/DD in viruses)
for(var/thing in viruses)
var/datum/disease/DD = thing
if(D.IsSame(DD))
return 1
return 0
@@ -39,7 +40,7 @@
var/datum/disease/DD = new D.type(1, D, 0)
viruses += DD
DD.affected_mob = src
DD.holder = src
SSdisease.active_diseases += DD //Add it to the active diseases list, now that it's actually in a mob and being processed.
//Copy properties over. This is so edited diseases persist.
var/list/skipped = list("affected_mob","holder","carrier","stage","type","parent_type","vars","transformed")
@@ -147,6 +148,9 @@
/mob/living/carbon/human/CanContractDisease(datum/disease/D)
if(dna && (VIRUSIMMUNE in dna.species.species_traits))
if(dna && (VIRUSIMMUNE in dna.species.species_traits) && !D.bypasses_immunity)
return 0
for(var/thing in D.required_organs)
if(!((locate(thing) in bodyparts) || (locate(thing) in internal_organs)))
return 0
return ..()