Add disease resistance effects for spaceacillin (#67448)

About The Pull Request

Spaceacillin is currently an under utilized medical chem. Its only effect is to stop a person who is already infected from spreading an airborne disease.

My changes add the following when someone has taken spaceacillin:

    Infected mobs slow down disease progression by 50%
    Uninfected mobs have a 75% chance to block being infected
    Uninfected mobs have a 75% chance to block zombie infection when attacked
    Impregnated mobs that have an alien larva slow down larva growth by 50%

Why It's Good For The Game

Gives spaceacillin more utility since it was such a niche thing.
Changelog

cl
add: Add disease resistance to spaceacillin. It now gives 50% disease progression slowdown, 75% to block disease infection, 75% to block zombie infection when attacked, and 50% alien larva growth slowdown.
/cl
This commit is contained in:
Tim
2022-06-10 19:45:13 -05:00
committed by GitHub
parent 7a976bfff8
commit 4e347c21a6
5 changed files with 21 additions and 4 deletions
@@ -60,7 +60,11 @@
return
if(++stage < 6)
INVOKE_ASYNC(src, .proc/RefreshInfectionImage)
addtimer(CALLBACK(src, .proc/advance_embryo_stage), growth_time)
var/slowdown = 1
if(ishuman(owner))
var/mob/living/carbon/human/baby_momma = owner
slowdown = baby_momma.reagents.has_reagent(/datum/reagent/medicine/spaceacillin) ? 2 : 1 // spaceacillin doubles the time it takes to grow
addtimer(CALLBACK(src, .proc/advance_embryo_stage), growth_time*slowdown)
/obj/item/organ/internal/body_egg/alien_embryo/egg_process()
if(stage == 6 && prob(50))
@@ -271,7 +271,7 @@
/datum/reagent/medicine/spaceacillin
name = "Spaceacillin"
description = "Spaceacillin will prevent a patient from conventionally spreading any diseases they are currently infected with. Also reduces infection in serious burns."
description = "Spaceacillin will provide limited resistance against disease and parasites. Also reduces infection in serious burns."
color = "#E1F2E6"
metabolization_rate = 0.1 * REAGENTS_METABOLISM
ph = 8.1
+4
View File
@@ -48,6 +48,10 @@
// zombies)
return
// spaceacillin has a 75% chance to block infection
if(istype(target) && target.reagents.has_reagent(/datum/reagent/medicine/spaceacillin) && prob(75))
return
var/obj/item/organ/internal/zombie_infection/infection
infection = target.getorganslot(ORGAN_SLOT_ZOMBIE)
if(!infection)