Malignant organs + Selling organs (#9744)

This commit is contained in:
tacoguy7765093
2025-01-08 19:09:47 +01:00
committed by GitHub
parent 495ed7adf2
commit 78c6862211
18 changed files with 1018 additions and 10 deletions
@@ -103,6 +103,7 @@
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Space Dust", /datum/event/dust, 0, list(ASSIGNMENT_ENGINEER = 20), 1, 0, 50),
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Spacefish Migration", /datum/event/spacefish_migration, 0, list(ASSIGNMENT_SECURITY = 40, ASSIGNMENT_MEDICAL = 5), 1, min_jobs = list(ASSIGNMENT_SECURITY = 3)),
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Spider Infestation", /datum/event/spider_infestation, -20, list(ASSIGNMENT_SECURITY = 30, ASSIGNMENT_HOS = 20, ASSIGNMENT_WARDEN = 20), 0, min_jobs = list(ASSIGNMENT_SECURITY = 1)),
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Spontaneous Malignant Organ", /datum/event/spontaneous_malignant_organ, -30, list(ASSIGNMENT_MEDICAL = 30), 1, min_jobs = list(ASSIGNMENT_MEDICAL = 2)),
new /datum/event_meta(EVENT_LEVEL_MODERATE, "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, "Virology Breach", /datum/event/prison_break/virology, 0, list(ASSIGNMENT_MEDICAL = 100), 1, min_jobs = list(ASSIGNMENT_MEDICAL = 1)),
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Wormholes", /datum/event/wormholes, 20, list(ASSIGNMENT_ANY = 5)),
@@ -0,0 +1,34 @@
/datum/event/spontaneous_malignant_organ/start()
for(var/mob/living/carbon/human/H in shuffle(living_mob_list))
var/area/A = get_area(H)
if(!A)
continue
// Dont give bellied people and antags cancer
if(player_is_antag(H.mind) || isbelly(H.loc))
continue
if(H.species.virus_immune)
continue
/*
if(!(A.z in using_map.event_levels))
continue
//Not needed for us
if(H.job == JOB_STOWAWAY && prob(90)) // stowaways only have a 10% chance to proc
continue
*/
if(H.client && H.random_malignant_organ(TRUE,TRUE,prob(20)))
break
/datum/event/spontaneous_malignant_organ/only_tumor/start()
for(var/mob/living/carbon/human/H in shuffle(living_mob_list))
if(H.client && H.random_malignant_organ(TRUE,FALSE,FALSE))
break
/datum/event/spontaneous_malignant_organ/only_para/start()
for(var/mob/living/carbon/human/H in shuffle(living_mob_list))
if(H.client && H.random_malignant_organ(FALSE,TRUE,FALSE))
break
/datum/event/spontaneous_malignant_organ/only_engineered/start()
for(var/mob/living/carbon/human/H in shuffle(living_mob_list))
if(H.client && H.random_malignant_organ(FALSE,FALSE,TRUE))
break