Disease Refactor (#2021)

This commit is contained in:
CitadelStationBot
2017-07-15 13:40:49 -05:00
committed by kevinz000
parent 2ae38397c9
commit f2ac487927
56 changed files with 210 additions and 255 deletions

View File

@@ -27,11 +27,17 @@
continue
if(T.z != ZLEVEL_STATION)
continue
var/foundAlready = 0 // don't infect someone that already has the virus
for(var/datum/disease/D in H.viruses)
foundAlready = 1
if(!H.client)
continue
if(H.stat == DEAD)
continue
if(VIRUSIMMUNE in H.dna.species.species_traits) //Don't pick someone who's virus immune, only for it to not do anything.
continue
var/foundAlready = FALSE // don't infect someone that already has a disease
for(var/thing in H.viruses)
foundAlready = TRUE
break
if(H.stat == DEAD || foundAlready)
if(foundAlready)
continue
var/datum/disease/D
@@ -45,6 +51,6 @@
DS.strain_data["SE"] = H.dna.struc_enzymes
else
D = new virus_type()
D.carrier = 1
D.carrier = TRUE
H.AddDisease(D)
break

View File

@@ -132,7 +132,7 @@
new /obj/structure/spider/stickyweb(T)
if(ANTIDOTE_NEEDED)
var/virus_type = pick(/datum/disease/beesease, /datum/disease/brainrot, /datum/disease/fluspanish)
var/obj/item/weapon/reagent_containers/glass/bottle/virus_type = pick(/obj/item/weapon/reagent_containers/glass/bottle/beesease, /obj/item/weapon/reagent_containers/glass/bottle/brainrot, /obj/item/weapon/reagent_containers/glass/bottle/fluspanish)
var/turf/T
for(var/i=0, i<10, i++)
if(prob(15))
@@ -142,11 +142,7 @@
else if(prob(25))
shuttle_spawns.Add(/obj/item/weapon/shard)
T = pick_n_take(empty_shuttle_turfs)
var/obj/effect/decal/cleanable/blood/b = new(T)
var/datum/disease/D = new virus_type()
D.longevity = 1000
b.viruses += D
D.holder = b
new virus_type(T)
shuttle_spawns.Add(/obj/structure/closet/crate)
shuttle_spawns.Add(/obj/item/weapon/reagent_containers/glass/bottle/pierrot_throat)
shuttle_spawns.Add(/obj/item/weapon/reagent_containers/glass/bottle/magnitis)

View File

@@ -0,0 +1,10 @@
diff a/code/modules/events/shuttle_loan.dm b/code/modules/events/shuttle_loan.dm (rejected hunks)
@@ -21,7 +21,7 @@
var/thanks_msg = "The cargo shuttle should return in five minutes. Have some supply points for your trouble."
/datum/round_event/shuttle_loan/start()
- dispatch_type = ANTIDOTE_NEEDED /*pick(HIJACK_SYNDIE, RUSKY_PARTY, SPIDER_GIFT, DEPARTMENT_RESUPPLY, ANTIDOTE_NEEDED, PIZZA_DELIVERY) */
+ dispatch_type = pick(HIJACK_SYNDIE, RUSKY_PARTY, SPIDER_GIFT, DEPARTMENT_RESUPPLY, ANTIDOTE_NEEDED, PIZZA_DELIVERY)
/datum/round_event/shuttle_loan/announce()
SSshuttle.shuttle_loan = src

View File

@@ -8,10 +8,17 @@
/datum/round_event/spontaneous_appendicitis/start()
for(var/mob/living/carbon/human/H in shuffle(GLOB.living_mob_list))
var/foundAlready = 0 //don't infect someone that already has the virus
for(var/datum/disease/D in H.viruses)
foundAlready = 1
if(H.stat == 2 || foundAlready)
if(!H.client)
continue
if(H.stat == DEAD)
continue
if(!H.getorgan(/obj/item/organ/appendix)) //Don't give the disease to some who lacks it, only for it to be auto-cured
continue
var/foundAlready = FALSE //don't infect someone that already has appendicitis
for(var/datum/disease/appendicitis/A in H.viruses)
foundAlready = TRUE
break
if(foundAlready)
continue
var/datum/disease/D = new /datum/disease/appendicitis