mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 10:21:11 +00:00
Virology Rewrite/Virus3/Nu-viro: IT'S FINALLY HERE (#23461)
* Virology Rewrite/Virus3 - Part 2.5 of 3 : Rebase to Bleeding-Edge (#23391) * Virology Rewrite/Virus3 - Part 1 of 3 : pathogen spread, science goggles (#22036) * blud * cloud * clooooud * spread * scanner * I am the god of hellfire * oh god oh no * trimming fat * dsqdsqdqs * sdqdqsdqs * derp * pinky & the brain * gibs n meats * fix * FeetStab * working * overload * recipes * analyser sprites * analyser * fucktheflu * cures * scanner * scanner data * work * incubator * more incubator stuff * all of the centrifuge * some splicer stuff * more stuff * lab mouse and cage * way too much shit * rr * duh * travis u havin a stroke? * dangerousness * better spacing * some fixes * qdel * virus and immune system transfer * derp * pixels * fixing retardation * srccccccccc * geh * ahh * sterility scan * however * out of * conflicted dmi fixes * what's wrong with you git * aight travis now get your shit together. * ffff * hurr durr * setting up * oh shit nigga why have I not commit any of this yet * ugh * curb your pathogens * bleh * eh * runtime * sterilizine buff * fixes * sterile * fixes * gibbbb * gneh * eh * oh that too * fixing mouse refactor * lab mice packs * oh god oh fuck here we go * fucking pandemic circuitboard * chew * ERT * step on it travis * get on with it * fixing disease touch not really though * what's your problem byond * o minus * syntax error Co-Authored-By: DamianX <DamianX@users.noreply.github.com> * spelling error Co-Authored-By: DamianX <DamianX@users.noreply.github.com> * still that spelling error Co-Authored-By: DamianX <DamianX@users.noreply.github.com> * boy am I bad at english Co-Authored-By: DamianX <DamianX@users.noreply.github.com> * I mean just look at that Co-Authored-By: DamianX <DamianX@users.noreply.github.com> * manual tweak and record * oxford comma or something Co-Authored-By: DamianX <DamianX@users.noreply.github.com> * TRAsen Co-Authored-By: DamianX <DamianX@users.noreply.github.com> * wrong proc * weird process * chem chem chem * mouse balance * defines
This commit is contained in:
@@ -64,9 +64,9 @@ var/list/event_last_fired = list()
|
||||
|
||||
possibleEvents[/datum/event/radiation_storm] = 50
|
||||
if(active_with_role["Medical"] > 1)
|
||||
possibleEvents[/datum/event/viral_infection] = 30
|
||||
possibleEvents[/datum/event/viral_infection] = 40
|
||||
possibleEvents[/datum/event/spontaneous_appendicitis] = 50
|
||||
possibleEvents[/datum/event/viral_outbreak] = 20
|
||||
possibleEvents[/datum/event/viral_outbreak] = 25
|
||||
possibleEvents[/datum/event/organ_failure] = 30
|
||||
|
||||
possibleEvents[/datum/event/prison_break] = 25
|
||||
|
||||
@@ -7,7 +7,7 @@ datum/event/organ_failure/setup()
|
||||
severity = rand(1, 4)
|
||||
|
||||
datum/event/organ_failure/announce()
|
||||
biohazard_alert(rand(3,7))
|
||||
biohazard_alert()
|
||||
datum/event/organ_failure/start()
|
||||
var/list/candidates = list() //list of candidate keys
|
||||
for(var/mob/living/carbon/human/G in player_list)
|
||||
|
||||
@@ -1,27 +1,46 @@
|
||||
|
||||
datum/event/viral_infection
|
||||
var/severity = 1
|
||||
|
||||
datum/event/viral_infection/setup()
|
||||
announceWhen = rand(0, 300)
|
||||
endWhen = announceWhen + 1
|
||||
severity = rand(1, 3)
|
||||
|
||||
datum/event/viral_infection/announce()
|
||||
biohazard_alert()
|
||||
biohazard_alert_minor()
|
||||
|
||||
datum/event/viral_infection/start()
|
||||
var/list/candidates = list() //list of candidate keys
|
||||
for(var/mob/living/carbon/human/G in player_list)
|
||||
if(G.z == map.zCentcomm) //Don't infect people on the centcomm z-level
|
||||
continue
|
||||
if(G.client && G.stat != DEAD)
|
||||
candidates += G
|
||||
var/virus_choice = pick(subtypesof(/datum/disease2/disease) - /datum/disease2/disease/prion)
|
||||
var/datum/disease2/disease/D = new virus_choice
|
||||
|
||||
var/list/anti = list(
|
||||
ANTIGEN_BLOOD = 1,
|
||||
ANTIGEN_COMMON = 1,
|
||||
ANTIGEN_RARE = 2,
|
||||
ANTIGEN_ALIEN = 0,
|
||||
)
|
||||
var/list/bad = list(
|
||||
EFFECT_DANGER_HELPFUL = 0,
|
||||
EFFECT_DANGER_FLAVOR = 1,
|
||||
EFFECT_DANGER_ANNOYING = 2,
|
||||
EFFECT_DANGER_HINDRANCE = 3,
|
||||
EFFECT_DANGER_HARMFUL = 1,
|
||||
EFFECT_DANGER_DEADLY = 0,
|
||||
)
|
||||
D.origin = "Minor Outbreak"
|
||||
|
||||
D.makerandom(list(50,90),list(50,90),anti,bad,src)
|
||||
|
||||
var/list/candidates = list()
|
||||
for(var/mob/living/candidate in player_list)
|
||||
if(candidate.z == STATION_Z && candidate.client && candidate.stat != DEAD && candidate.can_be_infected() && candidate.immune_system.CanInfect(D))
|
||||
candidates += candidate
|
||||
|
||||
if(!candidates.len)
|
||||
return
|
||||
candidates = shuffle(candidates)//Incorporating Donkie's list shuffle
|
||||
|
||||
while(severity > 0 && candidates.len)
|
||||
infect_mob_random_lesser(candidates[1])
|
||||
candidates.Remove(candidates[1])
|
||||
severity--
|
||||
var/infected = 1 + round(candidates.len/10)
|
||||
|
||||
for (var/i = 1 to infected)
|
||||
var/mob/living/candidate = pick(candidates)
|
||||
candidates -= candidate
|
||||
candidate.infect_disease2(D,1, "Minor Outbreak")
|
||||
|
||||
@@ -1,31 +1,46 @@
|
||||
|
||||
datum/event/viral_outbreak
|
||||
var/severity = 1
|
||||
|
||||
datum/event/viral_outbreak/setup()
|
||||
announceWhen = rand(0, 3000)
|
||||
endWhen = announceWhen + 1
|
||||
severity = rand(2, 4)
|
||||
|
||||
datum/event/viral_outbreak/announce()
|
||||
biohazard_alert()
|
||||
biohazard_alert_major()
|
||||
|
||||
datum/event/viral_outbreak/start()
|
||||
var/list/candidates = list() //list of candidate keys
|
||||
for(var/mob/living/carbon/human/G in player_list)
|
||||
if(G.z == map.zCentcomm) //Don't infect people on the centcomm z-level
|
||||
continue
|
||||
if(G.client && G.stat != DEAD)
|
||||
candidates += G
|
||||
var/virus_choice = pick(subtypesof(/datum/disease2/disease) - /datum/disease2/disease/bacteria)
|
||||
var/datum/disease2/disease/D = new virus_choice
|
||||
|
||||
var/list/anti = list(
|
||||
ANTIGEN_BLOOD = 0,
|
||||
ANTIGEN_COMMON = 1,
|
||||
ANTIGEN_RARE = 2,
|
||||
ANTIGEN_ALIEN = 2,
|
||||
)
|
||||
var/list/bad = list(
|
||||
EFFECT_DANGER_HELPFUL = 0,
|
||||
EFFECT_DANGER_FLAVOR = 1,
|
||||
EFFECT_DANGER_ANNOYING = 1,
|
||||
EFFECT_DANGER_HINDRANCE = 1,
|
||||
EFFECT_DANGER_HARMFUL = 2,
|
||||
EFFECT_DANGER_DEADLY = 3,
|
||||
)
|
||||
D.origin = "Major Outbreak"
|
||||
|
||||
D.makerandom(list(80,100),list(60,100),anti,bad,src)
|
||||
|
||||
var/list/candidates = list()
|
||||
for(var/mob/living/candidate in player_list)
|
||||
if(candidate.z == STATION_Z && candidate.client && candidate.stat != DEAD && candidate.can_be_infected() && candidate.immune_system.CanInfect(D))
|
||||
candidates += candidate
|
||||
|
||||
if(!candidates.len)
|
||||
return
|
||||
candidates = shuffle(candidates)//Incorporating Donkie's list shuffle
|
||||
|
||||
while(severity > 0 && candidates.len)
|
||||
if(prob(33))
|
||||
infect_mob_random_lesser(candidates[1])
|
||||
else
|
||||
infect_mob_random_greater(candidates[1])
|
||||
var/infected = 1 + round(candidates.len/10)
|
||||
|
||||
candidates.Remove(candidates[1])
|
||||
severity--
|
||||
for (var/i = 1 to infected)
|
||||
var/mob/living/candidate = pick(candidates)
|
||||
candidates -= candidate
|
||||
candidate.infect_disease2(D,1, "Major Outbreak")
|
||||
|
||||
Reference in New Issue
Block a user