mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-02-07 23:00:09 +00:00
Fixes
This commit is contained in:
@@ -24,7 +24,7 @@ GLOBAL_LIST_EMPTY(current_pending_diseases)
|
||||
else
|
||||
stack_trace("Disease Outbreak: Invalid Event Level [severity]. Expected: 1-2")
|
||||
virus = /datum/disease/cold
|
||||
chosen_disease = new virus()
|
||||
chosen_disease = new virus
|
||||
else
|
||||
if(severity == EVENT_LEVEL_MAJOR)
|
||||
chosen_disease = create_virus(severity * pick(2,3)) //50% chance for a major disease instead of a moderate one
|
||||
@@ -37,7 +37,7 @@ GLOBAL_LIST_EMPTY(current_pending_diseases)
|
||||
GLOB.current_pending_diseases += chosen_disease
|
||||
|
||||
var/list/candidates = list()
|
||||
for(var/mob/living/carbon/human/G in player_list)
|
||||
for(var/mob/living/carbon/human/G in human_mob_list)
|
||||
if(G.mind && G.stat != DEAD && G.is_client_active(5) && !player_is_antag(G.mind))
|
||||
var/area/A = get_area(G)
|
||||
if(!A)
|
||||
@@ -48,17 +48,18 @@ GLOBAL_LIST_EMPTY(current_pending_diseases)
|
||||
continue
|
||||
if(isbelly(G.loc))
|
||||
continue
|
||||
if(!G.CanContractDisease())
|
||||
if(G.species.virus_immune)
|
||||
continue
|
||||
candidates += G
|
||||
|
||||
var/chosen_infect = rand(3, 5)
|
||||
|
||||
while(chosen_infect)
|
||||
var/mob/living/carbon/human/H = pick(candidates)
|
||||
H.ContractDisease(chosen_disease)
|
||||
candidates -= H
|
||||
|
||||
if(!isemptylist(candidates))
|
||||
var/mob/living/carbon/human/H = pick(candidates)
|
||||
H.ForceContractDisease(chosen_disease)
|
||||
candidates -= H
|
||||
chosen_infect--
|
||||
|
||||
//Creates a virus with a harmful effect, guaranteed to be spreadable by contact or airborne
|
||||
/datum/event/disease_outbreak/proc/create_virus(max_severity = 6)
|
||||
|
||||
@@ -108,6 +108,7 @@
|
||||
new /datum/event_meta(EVENT_LEVEL_MAJOR, "Blob", /datum/event/blob, 10, list(ASSIGNMENT_ENGINEER = 60), 1),
|
||||
new /datum/event_meta(EVENT_LEVEL_MAJOR, "Meteor Wave", /datum/event/meteor_wave, 30, list(ASSIGNMENT_ENGINEER = 15), 1),
|
||||
new /datum/event_meta(EVENT_LEVEL_MAJOR, "Supply Demand", /datum/event/supply_demand, 0, list(ASSIGNMENT_ANY = 5, ASSIGNMENT_SCIENCE = 15, ASSIGNMENT_GARDENER = 10, ASSIGNMENT_ENGINEER = 10, ASSIGNMENT_MEDICAL = 15), 1),
|
||||
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Disease Outbreak", /datum/event/disease_outbreak, -30, list(ASSIGNMENT_MEDICAL = 30, ASSIGNMENT_ANY = 1), 1, min_jobs = list(ASSIGNMENT_MEDICAL = 2)),
|
||||
))
|
||||
|
||||
#undef ASSIGNMENT_ANY
|
||||
|
||||
@@ -296,7 +296,7 @@ var/const/CE_STABLE_THRESHOLD = 0.5
|
||||
var/datum/disease/D = ID
|
||||
if((D.spread_flags & SPECIAL) || (D.spread_flags & NON_CONTAGIOUS)) // You can't put non-contagius diseases in blood, but just in case
|
||||
continue
|
||||
ContractDisease(D)
|
||||
ForceContractDisease(D)
|
||||
if (injected.data["resistances"] && prob(5))
|
||||
antibodies |= injected.data["resistances"]
|
||||
if (injected.data["antibodies"] && prob(5))
|
||||
|
||||
Reference in New Issue
Block a user