Proper mirror PR for the disease refactor because I fucked up the first one. (#2026)

* Revert "im a dumbass and didn't see the .rej files Revert "[MIRROR] Disease Refactor" (#2025)"

This reverts commit 44742cb115.

* Delete shuttle_loan.dm.rej

* Delete life.dm.rej

* Update life.dm

* Delete life.dm.rej

* compile
This commit is contained in:
kevinz000
2017-07-31 23:41:22 -07:00
committed by GitHub
parent 277b7e6f80
commit bbcad2fa58
55 changed files with 246 additions and 322 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 ..()