Tunes new antag mechanic behaviors (Greimorian Egg Clade, Radioactive Waste) (#21713)

changes:
- rscadd: "Spilled radium now generates (weakly) radioactive puddles of
green goo, just like Uranium."
  - balance: "Extends Greimorian eggsac incubation time by 50%."
- balance: "Introduces a probability element to greimorian egg toxin
metabolism; after being injected with the reagent, each metabolism tick
only has a % chance to create the eggsac 'organ', meaning quick
helmizole injection (or dumb luck) can prevent incubation entirely."
- balance: "Introduces clamp on spiderling generation counter to prevent
RNG from causing outsized impact from single eggsac rupture."
- balance: "If the randomly chosen body part a Greimorian eggsac would
infest is the head, the victim will get an extra reroll of target body
part to avoid the associated instant death risk."
- balance: "Consuming radioactive waste is now MUCH unhealthier. Don't
eat radioactive waste."
- qol: "Updates some antagonist tips (removed old/deprecated ones, added
new one.)"
- bugfix: "Removed greimorian eggsacs now dissolve into goo as
intended."
This commit is contained in:
Batrachophreno
2026-01-17 12:58:09 -05:00
committed by GitHub
parent aa7e23f758
commit e2f82ec245
7 changed files with 59 additions and 33 deletions
@@ -444,7 +444,7 @@ ABSTRACT_TYPE(/singleton/reagent/alcohol)
if(!istype(T, /turf/space))
var/obj/effect/decal/cleanable/greenglow/glow = locate(/obj/effect/decal/cleanable/greenglow, T)
if(!glow)
new /obj/effect/decal/cleanable/greenglow(T)
new /obj/effect/decal/cleanable/greenglow/radioactive/low(T)
return
/singleton/reagent/acid
@@ -185,10 +185,11 @@
affect_ingest(M, alien, removed, holder)
/singleton/reagent/radioactive_waste/affect_blood(var/mob/living/carbon/M, var/alien, var/removed, var/datum/reagents/holder)
M.apply_effect(25 * removed, DAMAGE_RADIATION, blocked = 0)
var/rad_damage = min(75, 40 * removed)
M.apply_effect(rad_damage, DAMAGE_RADIATION, blocked = 0)
/singleton/reagent/radioactive_waste/touch_turf(var/turf/T, var/amount, var/datum/reagents/holder)
if(amount >= 5)
if(amount >= 3)
if(!istype(T, /turf/space))
var/obj/effect/decal/cleanable/greenglow/glow = locate(/obj/effect/decal/cleanable/greenglow, T)
if(!glow)
@@ -1061,8 +1061,11 @@
if(victim.chem_effects[CE_ANTIPARASITE])
return
if(!victim.internal_organs_by_name[BP_GREIMORIAN_EGGCLUSTER])
if(!victim.internal_organs_by_name[BP_GREIMORIAN_EGGCLUSTER] && prob(20))
var/obj/item/organ/external/affected = pick(victim.organs)
// Give the victim an extra chance to NOT get an eggsac in their head; reroll.
if(affected == BP_HEAD)
affected = pick(victim.organs)
var/obj/item/organ/internal/parasite/greimorian_eggcluster/infest = new()
infest.parent_organ = affected.limb_name
infest.replaced(victim, affected)