diff --git a/code/modules/events/viral_infection.dm b/code/modules/events/viral_infection.dm
index 29daed2773..55dbe2b823 100644
--- a/code/modules/events/viral_infection.dm
+++ b/code/modules/events/viral_infection.dm
@@ -11,13 +11,22 @@ datum/event/viral_infection/setup()
var/datum/disease2/disease/D = new /datum/disease2/disease
var/strength = 1 //whether the disease is of the greater or lesser variety
- if (severity >= EVENT_LEVEL_MAJOR && prob(50))
+ if (severity >= EVENT_LEVEL_MAJOR && prob(75))
strength = 2
D.makerandom(strength)
viruses += D
datum/event/viral_infection/announce()
- command_announcement.Announce("Confirmed outbreak of level five biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert", new_sound = 'sound/AI/outbreak5.ogg')
+ var/level
+ if (severity == EVENT_LEVEL_MUNDANE)
+ return
+ else if (severity == EVENT_LEVEL_MODERATE)
+ level = pick("one", "two", "three", "four")
+ else
+ level = "five"
+
+ if (severity == EVENT_LEVEL_MAJOR || prob(60))
+ command_announcement.Announce("Confirmed outbreak of level [level] biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert", new_sound = 'sound/AI/outbreak5.ogg')
datum/event/viral_infection/start()
if(!viruses.len) return
diff --git a/code/modules/virus2/disease2.dm b/code/modules/virus2/disease2.dm
index c7a9b8e375..a68bafed7c 100644
--- a/code/modules/virus2/disease2.dm
+++ b/code/modules/virus2/disease2.dm
@@ -80,7 +80,7 @@
clicks += 10
//Moving to the next stage
- if(clicks > stage*100 && prob(10))
+ if(clicks > max(stage*100, 200) && prob(10))
if(stage == max_stage)
src.cure(mob)
mob.antibodies |= src.antigen
diff --git a/code/modules/virus2/effect.dm b/code/modules/virus2/effect.dm
index 22d0a49e0a..c79db488a8 100644
--- a/code/modules/virus2/effect.dm
+++ b/code/modules/virus2/effect.dm
@@ -40,7 +40,7 @@
////////////////////////////////////////////////////////////////
/datum/disease2/effect
- var/chance_maxm = 50
+ var/chance_maxm = 50 //note that disease effects only proc once every 3 ticks for humans
var/name = "Blanking effect"
var/stage = 4
var/maxm = 1
@@ -60,8 +60,7 @@
name = "Nil Syndrome"
stage = 4
badness = 1
- activate()
- return
+ chance_maxm = 0
/datum/disease2/effect/gibbingtons
name = "Gibbingtons Syndrome"
@@ -256,6 +255,7 @@
/datum/disease2/effect/groan
name = "Groaning Syndrome"
stage = 3
+ chance_maxm = 25
activate(var/mob/living/carbon/mob,var/multiplier)
mob.say("*groan")
////////////////////////STAGE 2/////////////////////////////////
@@ -263,6 +263,7 @@
/datum/disease2/effect/scream
name = "Loudness Syndrome"
stage = 2
+ chance_maxm = 25
activate(var/mob/living/carbon/mob,var/multiplier)
mob.say("*scream")
@@ -275,6 +276,7 @@
/datum/disease2/effect/sleepy
name = "Resting Syndrome"
stage = 2
+ chance_maxm = 15
activate(var/mob/living/carbon/mob,var/multiplier)
mob.say("*collapse")
@@ -301,6 +303,7 @@
/datum/disease2/effect/fridge
name = "Refridgerator Syndrome"
stage = 2
+ chance_maxm = 25
activate(var/mob/living/carbon/mob,var/multiplier)
mob.say("*shiver")
@@ -346,17 +349,19 @@
name = "Flemmingtons"
stage = 1
activate(var/mob/living/carbon/mob,var/multiplier)
- mob << "\red Mucous runs down the back of your throat."
+ mob << "Mucous runs down the back of your throat."
/datum/disease2/effect/drool
name = "Saliva Effect"
stage = 1
+ chance_maxm = 25
activate(var/mob/living/carbon/mob,var/multiplier)
mob.say("*drool")
/datum/disease2/effect/twitch
name = "Twitcher"
stage = 1
+ chance_maxm = 25
activate(var/mob/living/carbon/mob,var/multiplier)
mob.say("*twitch")
@@ -364,4 +369,4 @@
name = "Headache"
stage = 1
activate(var/mob/living/carbon/mob,var/multiplier)
- mob << " Your head hurts a bit"
+ mob << "Your head hurts a bit."
diff --git a/code/modules/virus2/helpers.dm b/code/modules/virus2/helpers.dm
index 8a744be85f..2c4e1e823c 100644
--- a/code/modules/virus2/helpers.dm
+++ b/code/modules/virus2/helpers.dm
@@ -73,12 +73,12 @@ proc/airborne_can_reach(turf/source, turf/target)
if(M.reagents.has_reagent("spaceacillin"))
return
- if(!disease.affected_species.len)
- return
-
if(!istype(M,/mob/living/carbon))
return
+ if(!disease.affected_species.len)
+ return
+
var/mob/living/carbon/C = M
if (!(C.species.name in disease.affected_species))
if (forced)