diff --git a/code/modules/organs/subtypes/parasite.dm b/code/modules/organs/subtypes/parasite.dm index 7cb71de548a..9ba6da2e484 100644 --- a/code/modules/organs/subtypes/parasite.dm +++ b/code/modules/organs/subtypes/parasite.dm @@ -139,7 +139,8 @@ if(prob(5)) owner << "You feel something squirming inside of you!" - owner.reagents.add_reagent("phoron", 4) + owner.reagents.add_reagent("phoron", 6) + owner.reagents.add_reagent("blackkois", 4) else if(prob(10)) owner << "You feel disorientated!" diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Dispenser.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Dispenser.dm index ad119ac4441..81ab53a3c96 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Dispenser.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Dispenser.dm @@ -165,8 +165,11 @@ glass_name = "glass of ethanol" glass_desc = "A well-known alcohol with a variety of applications." -/datum/reagent/alcohol/ethanol/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) - if(alien == IS_VAURCA)//Vaurca are damaged instead of getting nutrients, but they can still get drunk +/datum/reagent/alcohol/ethanol/affect_ingest(var/mob/living/carbon/human/M, var/alien, var/removed) + if(!istype(M)) + return + var/obj/item/organ/parasite/P = M.internal_organs_by_name["blackkois"] + if((alien == IS_VAURCA) || (istype(P) && P.stage >= 3))//Vaurca are damaged instead of getting nutrients, but they can still get drunk M.adjustToxLoss(1.5 * removed * (strength / 100)) else M.adjustNutritionLoss(-nutriment_factor * removed) @@ -212,8 +215,11 @@ glass_name = "glass of butanol" glass_desc = "A fairly harmless alcohol that has intoxicating effects on certain species." -/datum/reagent/alcohol/butanol/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) - if (alien == IS_VAURCA) +/datum/reagent/alcohol/butanol/affect_ingest(var/mob/living/carbon/human/M, var/alien, var/removed) + if(!istype(M)) + return + var/obj/item/organ/parasite/P = M.internal_organs_by_name["blackkois"] + if((alien == IS_VAURCA) || (istype(P) && P.stage >= 3)) M.adjustToxLoss(removed * (strength / 100)) else M.adjustNutritionLoss(-nutriment_factor * removed) diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm index f8413474082..67fd5d6d656 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm @@ -11,12 +11,16 @@ unaffected_species = IS_MACHINE var/kois_type = 1 -/datum/reagent/kois/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) - if(alien == IS_VAURCA) +/datum/reagent/kois/affect_ingest(var/mob/living/carbon/human/M, var/alien, var/removed) + if(!istype(M)) + return + var/obj/item/organ/parasite/P = M.internal_organs_by_name["blackkois"] + if((alien == IS_VAURCA) || (istype(P) && P.stage >= 3)) M.heal_organ_damage(1.2 * removed, 1.2 * removed) M.adjustToxLoss(-1.2 * removed) M.adjustNutritionLoss(-nutriment_factor * removed) M.add_chemical_effect(CE_BLOODRESTORE, 6 * removed) + else M.adjustToxLoss(1 * removed) if(istype(M,/mob/living/carbon/human)) @@ -104,8 +108,11 @@ return affect_ingest(M, alien, removed) -/datum/reagent/nutriment/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) - if(alien == IS_VAURCA) +/datum/reagent/nutriment/affect_ingest(var/mob/living/carbon/human/M, var/alien, var/removed) + if(!istype(M)) + return + var/obj/item/organ/parasite/P = M.internal_organs_by_name["blackkois"] + if((alien == IS_VAURCA) || (istype(P) && P.stage >= 3)) M.adjustToxLoss(1.5 * removed) else if(alien != IS_UNATHI) digest(M,removed) @@ -3754,8 +3761,12 @@ adj_sleepy = -3 taste_description = "viscous cola" -/datum/reagent/drink/zorasoda/drone/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) - if(alien == IS_VAURCA) +/datum/reagent/drink/zorasoda/drone/affect_ingest(var/mob/living/carbon/human/M, var/alien, var/removed) + if(!istype(M)) + return + + var/obj/item/organ/parasite/P = M.internal_organs_by_name["blackkois"] + if((alien == IS_VAURCA) || (istype(P) && P.stage >= 3)) M.add_chemical_effect(CE_SPEEDBOOST, 1) M.add_chemical_effect(CE_BLOODRESTORE, 2 * removed) M.make_jittery(5) diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm index 25a49c9a328..2f167fea8b1 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm @@ -73,6 +73,13 @@ /datum/reagent/toxin/phoron/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) if(ishuman(M)) var/mob/living/carbon/human/H = M + + var/obj/item/organ/parasite/PA = H.internal_organs_by_name["blackkois"] + if((istype(PA) && PA.stage >= 3)) + H.heal_organ_damage(2 * removed, 2 * removed) + H.add_chemical_effect(CE_BLOODRESTORE, 8 * removed) + H.adjustToxLoss(-2 * removed) + if(alien == IS_VAURCA && H.species.has_organ["filtration bit"]) metabolism = REM * 20 //vaurcae metabolise phoron faster than other species - good for them if their filter isn't broken. var/obj/item/organ/vaurca/filtrationbit/F = H.internal_organs_by_name["filtration bit"] @@ -88,6 +95,7 @@ return else P.air_contents.adjust_gas("phoron", (0.5*removed)) + else ..() else @@ -101,8 +109,12 @@ L.adjust_fire_stacks(amount / 5) /datum/reagent/toxin/phoron/affect_touch(var/mob/living/carbon/M, var/alien, var/removed) - if(alien == IS_VAURCA) - return + if(istype(M, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = M + var/obj/item/organ/parasite/P = H.internal_organs_by_name["blackkois"] + if((alien == IS_VAURCA) || (istype(P) && P.stage >= 3)) + return + M.take_organ_damage(0, removed * 0.1) //being splashed directly with phoron causes minor chemical burns if(prob(50)) M.pl_effects() @@ -124,8 +136,12 @@ conflicting_reagent = /datum/reagent/toxin/phoron strength = 1 -/datum/reagent/toxin/cardox/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) - if(alien == IS_VAURCA) +/datum/reagent/toxin/cardox/affect_blood(var/mob/living/carbon/human/M, var/alien, var/removed) + if(!istype(M)) + return + + var/obj/item/organ/parasite/P = M.internal_organs_by_name["blackkois"] + if((alien == IS_VAURCA) || (istype(P) && P.stage >= 3)) M.adjustToxLoss(removed * strength*2) else M.adjustToxLoss(removed * strength) diff --git a/html/changelogs/lordfowl-kois.yml b/html/changelogs/lordfowl-kois.yml new file mode 100644 index 00000000000..ba7e7f62282 --- /dev/null +++ b/html/changelogs/lordfowl-kois.yml @@ -0,0 +1,6 @@ +author: LordFowl + +delete-after: True + +changes: + - tweak: "Poor unfortunate souls afflicted by Black K'ois now have greater longevity and are in some cases more Vaurca than man."