mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-21 21:10:30 +01:00
Greimorian Egg Cluster Implantation Refactor (#21554)
Fixes https://github.com/Aurorastation/Aurora.3/issues/21509 **Summary:** Cleans up a lot of old Greimorian egg implantation code- rewrote the actual worker injection behavior to use the organ/internal/parasite code we have, instead of creating effects with their loc set to the organ itself. This largely means that not only is Greimorian implantation able to be treated pharmaceutically (as you'd expect, with them being parasitic and medicine including antiparasitics), but it also means that 'greimorian eggs' also get the same treatment as nerve flukes, etc. That is to say, antags can now purchase Greimorian Clade Kits from the uplink and inject people or monkeys with them to cause Unhappy Tidings. This code is also fairly easy to modify, if one wanted to create more implantable parasites that burst out of people, unrelated to Greimorians. **Changes:** - refactor: "Refactors the egg injection of Greimorian Workers to use parasite code; it can now be treated with anti-parasitic medicines in addition to amputation of the affected limb. Works on all playable species, and monkeys." - rscadd: "New reagent 'Greimorian Eggs' creates an egg cluster parasite in a random organ when metabolized in the bloodstream. It also has very mild soporific effects." - balance: "Greimorian Workers and playable Greimorian Servants/Queen now inject Greimorian Eggs instead of Soporific." - rscadd: "Greimorian Clade Kit now available in Uplink under Bioweapons section (Greimorians now able to be introduced to ship by egg cluster or injectable reagent)." - balance: "All parasite kit bioweapons have had their vial reagent count increased from 2 -> 5." - balance: "Helmizole no longer treats K'ois Mycosis, Black K'ois Mycosis, Zombification, or Tumors (Benign or Malignant)." - code_imp: "Updates a lot of code documentation to dmdocs."
This commit is contained in:
@@ -2015,13 +2015,12 @@
|
||||
M.add_chemical_effect(CE_EMETIC, M.chem_doses[type]/2)
|
||||
|
||||
/singleton/reagent/antiparasitic/overdose(mob/living/carbon/M, alien, removed, scale, datum/reagents/holder)
|
||||
if(istype(M,/mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = M
|
||||
|
||||
for(var/obj/item/organ/internal/parasite/P in H.internal_organs)
|
||||
if(P)
|
||||
if(P.drug_resistance == 0)
|
||||
P.drug_resistance = 1
|
||||
M.dizziness = max(50, M.dizziness)
|
||||
M.make_dizzy(5)
|
||||
M.adjustHydrationLoss(2*removed)
|
||||
M.adjustNutritionLoss(8*removed)
|
||||
M.adjustHalLoss(5)
|
||||
to_chat(M, SPAN_WARNING(pick("You feel flushed and woozy.", "Your guts feel like they're crawling.")))
|
||||
|
||||
/singleton/reagent/antibodies
|
||||
name = "Hylemnomil-Zeta Antibodies"
|
||||
|
||||
@@ -1029,6 +1029,44 @@
|
||||
var/obj/item/organ/internal/parasite/heartworm/infest = new()
|
||||
infest.replaced(H, affected)
|
||||
|
||||
/// Functions as a weaker version of soporific and also infests the victim with eggs.
|
||||
/singleton/reagent/toxin/greimorian_eggs
|
||||
name = "Greimorian Eggs"
|
||||
description = "The eggs of a greimorian clade. They are highly opportunistic, capable of infesting almost any organism, and are feared for the relatively swift speed with which they gestate. Immediate surgical removal or pharmaceutical intervention is a vital necessity."
|
||||
reagent_state = SOLID
|
||||
color = "#5f683f"
|
||||
metabolism = REM*2
|
||||
ingest_met = REM*2
|
||||
touch_met = REM*5
|
||||
taste_description = "something noxious"
|
||||
taste_mult = 0.25
|
||||
strength = 0
|
||||
|
||||
/singleton/reagent/toxin/greimorian_eggs/affect_blood(mob/living/carbon/mob, alien, removed, datum/reagents/holder)
|
||||
..()
|
||||
if(istype(mob,/mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/victim = mob
|
||||
|
||||
victim.add_chemical_effect(CE_PULSE, -2)
|
||||
var/dose = victim.chem_doses[type]
|
||||
if(dose > 2)
|
||||
if(ishuman(victim) && (dose == metabolism * 2 || prob(3)))
|
||||
victim.emote("yawn")
|
||||
if(dose > 20)
|
||||
victim.eye_blurry = max(victim.eye_blurry, 10)
|
||||
if(dose > 40)
|
||||
victim.Weaken(1)
|
||||
victim.drowsiness = max(victim.drowsiness, 20)
|
||||
|
||||
if(victim.chem_effects[CE_ANTIPARASITE])
|
||||
return
|
||||
|
||||
if(!victim.internal_organs_by_name[BP_GREIMORIAN_EGGCLUSTER])
|
||||
var/obj/item/organ/external/affected = pick(victim.organs)
|
||||
var/obj/item/organ/internal/parasite/greimorian_eggcluster/infest = new()
|
||||
infest.parent_organ = affected.limb_name
|
||||
infest.replaced(victim, affected)
|
||||
|
||||
/singleton/reagent/toxin/malignant_tumour_cells
|
||||
name = "Malignant Tumour Cells"
|
||||
description = "Cells of a malignant tumour which have broken off and entered the circulatory and/or lymphatic system to spread to other regions of the body."
|
||||
|
||||
Reference in New Issue
Block a user