mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-13 11:43:31 +00:00
Fixes #10294
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:
@@ -45,14 +45,17 @@
|
|||||||
var/list/res = list()
|
var/list/res = list()
|
||||||
for (var/specie in all_species)
|
for (var/specie in all_species)
|
||||||
var/datum/species/S = all_species[specie]
|
var/datum/species/S = all_species[specie]
|
||||||
if(!(S.flags & IS_SYNTHETIC))
|
if(!(S.flags & IS_SYNTHETIC) && S.flags & CAN_JOIN)
|
||||||
meat += S.name
|
meat += S
|
||||||
if(meat.len)
|
if(meat.len)
|
||||||
var/num = rand(1,meat.len)
|
var/num = rand(1,meat.len)
|
||||||
for(var/i=0,i<num,i++)
|
for(var/i=0,i<num,i++)
|
||||||
var/picked = pick(meat)
|
var/datum/species/picked = pick_n_take(meat)
|
||||||
meat -= picked
|
res |= picked.name
|
||||||
res += picked
|
if(picked.greater_form)
|
||||||
|
res |= picked.greater_form
|
||||||
|
if(picked.primitive_form)
|
||||||
|
res |= picked.primitive_form
|
||||||
return res
|
return res
|
||||||
|
|
||||||
/datum/disease2/disease/proc/activate(var/mob/living/carbon/mob)
|
/datum/disease2/disease/proc/activate(var/mob/living/carbon/mob)
|
||||||
|
|||||||
Reference in New Issue
Block a user