mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-13 19:52:40 +00:00
virus fixes. WIP will update commit message later
Signed-off-by: Mloc-Argent <colmohici@gmail.com>
This commit is contained in:
@@ -1361,14 +1361,14 @@
|
||||
V.cure(src)
|
||||
|
||||
for(var/obj/effect/decal/cleanable/blood/B in view(1,src))
|
||||
if(B.virus2.len && get_infection_chance(src))
|
||||
if(B.virus2.len)
|
||||
for (var/ID in B.virus2)
|
||||
var/datum/disease2/disease/V = virus2[ID]
|
||||
var/datum/disease2/disease/V = B.virus2[ID]
|
||||
infect_virus2(src,V)
|
||||
for(var/obj/effect/decal/cleanable/mucus/M in view(1,src))
|
||||
if(M.virus2.len && get_infection_chance(src))
|
||||
if(M.virus2.len)
|
||||
for (var/ID in M.virus2)
|
||||
var/datum/disease2/disease/V = virus2[ID]
|
||||
var/datum/disease2/disease/V = M.virus2[ID]
|
||||
infect_virus2(src,V)
|
||||
|
||||
for (var/ID in virus2)
|
||||
|
||||
@@ -171,14 +171,14 @@
|
||||
V.cure(src)
|
||||
|
||||
for(var/obj/effect/decal/cleanable/blood/B in view(1,src))
|
||||
if(B.virus2.len && get_infection_chance(src))
|
||||
if(B.virus2.len)
|
||||
for (var/ID in B.virus2)
|
||||
var/datum/disease2/disease/V = virus2[ID]
|
||||
var/datum/disease2/disease/V = B.virus2[ID]
|
||||
infect_virus2(src,V)
|
||||
for(var/obj/effect/decal/cleanable/mucus/M in view(1,src))
|
||||
if(M.virus2.len && get_infection_chance(src))
|
||||
if(M.virus2.len)
|
||||
for (var/ID in M.virus2)
|
||||
var/datum/disease2/disease/V = virus2[ID]
|
||||
var/datum/disease2/disease/V = M.virus2[ID]
|
||||
infect_virus2(src,V)
|
||||
|
||||
for (var/ID in virus2)
|
||||
|
||||
@@ -126,7 +126,7 @@ datum
|
||||
if(method == TOUCH)
|
||||
infect_virus2(M,self.data["virus2"])
|
||||
else
|
||||
infect_virus2(M,self.data["virus2"],1)
|
||||
infect_virus2(M,self.data["virus2"],1) //injected, force infection!
|
||||
if(self.data && self.data["antibodies"] && istype(M, /mob/living/carbon))//... and curing
|
||||
var/mob/living/carbon/C = M
|
||||
C.antibodies |= self.data["antibodies"]
|
||||
|
||||
@@ -38,9 +38,9 @@
|
||||
if(mob.stat == 2)
|
||||
return
|
||||
if(stage <= 1 && clicks == 0) // with a certain chance, the mob may become immune to the disease before it starts properly
|
||||
if(prob(20))
|
||||
mob.antibodies |= antigen // 20% immunity is a good chance IMO, because it allows finding an immune person easily
|
||||
else
|
||||
if(prob(10))
|
||||
mob.antibodies |= antigen
|
||||
|
||||
if(mob.radiation > 50)
|
||||
if(prob(1))
|
||||
majormutate()
|
||||
@@ -65,6 +65,12 @@
|
||||
for(var/datum/disease2/effectholder/e in effects)
|
||||
e.runeffect(mob,stage)
|
||||
|
||||
//Short airborne spread
|
||||
if(src.spreadtype == "Airborne")
|
||||
for(var/mob/living/carbon/M in oview(1,mob))
|
||||
if(airborne_can_reach(get_turf(mob), get_turf(M)))
|
||||
infect_virus2(M,src)
|
||||
|
||||
//fever
|
||||
mob.bodytemperature = max(mob.bodytemperature, min(310+5*stage ,mob.bodytemperature+5*stage))
|
||||
clicks+=speed
|
||||
|
||||
@@ -285,9 +285,10 @@
|
||||
stage = 2
|
||||
activate(var/mob/living/carbon/mob,var/multiplier)
|
||||
mob.say("*cough")
|
||||
for(var/mob/living/carbon/M in view(1,mob))
|
||||
for(var/mob/living/carbon/M in oview(2,mob))
|
||||
if(airborne_can_reach(get_turf(mob), get_turf(M)))
|
||||
for (var/datum/disease2/disease/V in mob.virus2)
|
||||
for (var/key in mob.virus2)
|
||||
var/datum/disease2/disease/V = mob.virus2[key]
|
||||
if(V.spreadtype == "Airborne")
|
||||
infect_virus2(M,V)
|
||||
|
||||
|
||||
@@ -53,8 +53,8 @@
|
||||
if(prob(50))
|
||||
user << "The dish shatters"
|
||||
if(virus2.infectionchance > 0)
|
||||
for(var/mob/living/carbon/target in view(null, src))
|
||||
if(airborne_can_reach(src.loc, target.loc))
|
||||
for(var/mob/living/carbon/target in view(1, get_turf(src)))
|
||||
if(airborne_can_reach(get_turf(src), get_turf(target)))
|
||||
if(get_infection_chance(target))
|
||||
infect_virus2(target,src.virus2)
|
||||
del src
|
||||
|
||||
Reference in New Issue
Block a user