Now if virus can infect lesser/greater form of specie, it can infect its counterpart.
Also made viruses affect only joinable species to lessen a chance of spawning a virus that they can't work on (e.g. slime-affecting viruses that can't be injected into monkeys). As a side-effect viro reports are a little less inane listing all the species crewmembers aren't supposed to know about like xenomorphs and Shadows.
This commit is contained in:
Chinsky
2015-08-14 04:07:36 +03:00
parent f95efdc0a1
commit 38adf2c5b4

View File

@@ -45,14 +45,17 @@
var/list/res = list()
for (var/specie in all_species)
var/datum/species/S = all_species[specie]
if(!(S.flags & IS_SYNTHETIC))
meat += S.name
if(!(S.flags & IS_SYNTHETIC) && S.flags & CAN_JOIN)
meat += S
if(meat.len)
var/num = rand(1,meat.len)
for(var/i=0,i<num,i++)
var/picked = pick(meat)
meat -= picked
res += picked
var/datum/species/picked = pick_n_take(meat)
res |= picked.name
if(picked.greater_form)
res |= picked.greater_form
if(picked.primitive_form)
res |= picked.primitive_form
return res
/datum/disease2/disease/proc/activate(var/mob/living/carbon/mob)