Allows non-contagious viruses to be picked up with blood (#18948)

* Virus :)

* This too
This commit is contained in:
Guti
2025-12-28 04:59:17 +01:00
committed by GitHub
parent d0eb01977d
commit dad8e15b4e
3 changed files with 4 additions and 7 deletions
+2 -5
View File
@@ -313,10 +313,7 @@ BLOOD_VOLUME_SURVIVE = 40
if(!B.data["viruses"])
B.data["viruses"] = list()
for(var/datum/disease/D in GetSpreadableViruses())
B.data["viruses"] |= D.Copy()
for(var/datum/disease/D in GetDormantDiseases())
for(var/datum/disease/D in GetViruses())
B.data["viruses"] |= D.Copy()
if(!B.data["resistances"])
@@ -360,7 +357,7 @@ BLOOD_VOLUME_SURVIVE = 40
var/list/sniffles = injected.data["viruses"]
for(var/ID in sniffles)
var/datum/disease/D = ID
if(D.spread_flags & (DISEASE_SPREAD_SPECIAL | DISEASE_SPREAD_NON_CONTAGIOUS)) // You can't put non-contagius diseases in blood, but just in case
if(D.spread_flags & (DISEASE_SPREAD_SPECIAL | DISEASE_SPREAD_NON_CONTAGIOUS)) // Special/Non-Contagious stay in the blood, but they won't spread
continue
ContractDisease(D)
if (injected.data["resistances"] && prob(5))
@@ -413,8 +413,7 @@
//Grab any viruses they have
if(iscarbon(target) && LAZYLEN(target.IsInfected()))
LAZYINITLIST(viruses)
var/datum/disease/virus = pick(target.IsInfected())
viruses[hash] = virus.Copy()
viruses[hash] = target.GetViruses()
//Dirtiness should be very low if you're the first injectee. If you're spam-injecting 4 people in a row around you though,
//This gives the last one a 30% chance of infection.