From 786258b620e8ef5528b30ce1a6edf4760cc09447 Mon Sep 17 00:00:00 2001 From: private-tristan <54422837+private-tristan@users.noreply.github.com> Date: Thu, 23 Jan 2025 05:48:43 -0500 Subject: [PATCH] Sent and Queen Stim Drain buff (#8173) # About the pull request Sentinel's slowing spit now removes 2u of any stims per hit, medchem drain is unaffected. Queen's spit now removes 4u of any stims per hit, does not drain medchems. # Explain why it's good for the game Xenomorphs should have better ways of dealing with stims that aren't locked to the weakest T1 in the game (sentinel) or KING. Sentinel's drain of 1.75u of stims wasn't very useful, I bumped it up to 2u and might increase it more. Queen needs a way to deal with stimulants, and putting it on screech seems a bit too OP (King has that). # Testing Photographs and Procedure spawned stim with no effects, injected myself, spawned combat queen, spammed neuro, stims gone. # Changelog :cl: add: Queen neuro spit now drains 4u of stims per hit. balance: Sentinel's slowing spit now drains 2u of stims per hit (from 1.75u). /:cl: --- code/datums/ammo/xeno.dm | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/code/datums/ammo/xeno.dm b/code/datums/ammo/xeno.dm index 3217de419c98..653beba573e9 100644 --- a/code/datums/ammo/xeno.dm +++ b/code/datums/ammo/xeno.dm @@ -27,6 +27,7 @@ flags_ammo_behavior = AMMO_XENO|AMMO_IGNORE_RESIST spit_cost = 25 var/effect_power = XENO_NEURO_TIER_4 + var/drain_power = 2 var/datum/callback/neuro_callback shell_speed = AMMO_SPEED_TIER_3 @@ -37,7 +38,7 @@ neuro_callback = CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(apply_neuro)) -/proc/apply_neuro(mob/living/M, power, insta_neuro = FALSE, drain_stims = FALSE, drain_medchems = FALSE) +/proc/apply_neuro(mob/living/M, power, drain, insta_neuro = FALSE, drain_stims = FALSE, drain_medchems = FALSE) if(skillcheck(M, SKILL_ENDURANCE, SKILL_ENDURANCE_MAX) && !insta_neuro) M.visible_message(SPAN_DANGER("[M] withstands the neurotoxin!")) return //endurance 5 makes you immune to weak neurotoxin @@ -45,13 +46,13 @@ var/mob/living/carbon/human/H = M if(drain_stims) for(var/datum/reagent/generated/stim in H.reagents.reagent_list) - H.reagents.remove_reagent(stim.id, power, TRUE) + H.reagents.remove_reagent(stim.id, drain, TRUE) if(H.chem_effect_flags & CHEM_EFFECT_RESIST_NEURO || H.species.flags & NO_NEURO) H.visible_message(SPAN_DANGER("[M] shrugs off the neurotoxin!")) return //species like zombies or synths are immune to neurotoxin if(drain_medchems) for(var/datum/reagent/medical/med in H.reagents.reagent_list) - H.reagents.remove_reagent(med.id, power, TRUE) + H.reagents.remove_reagent(med.id, drain, TRUE) if(!isxeno(M)) if(insta_neuro) @@ -95,10 +96,10 @@ if(ishuman(M)) var/mob/living/carbon/human/H = M if(H.status_flags & XENO_HOST) - neuro_callback.Invoke(H, effect_power, TRUE, TRUE, TRUE) + neuro_callback.Invoke(H, effect_power, drain_power, TRUE, TRUE, TRUE) return - neuro_callback.Invoke(M, effect_power, FALSE, TRUE, TRUE) + neuro_callback.Invoke(M, effect_power, drain_power, FALSE, TRUE, TRUE) /datum/ammo/xeno/toxin/medium //Spitter name = "neurotoxic spatter" @@ -111,12 +112,13 @@ name = "neurotoxic spit" spit_cost = 50 effect_power = 2 + drain_power = 4 accuracy = HIT_ACCURACY_TIER_5*2 max_range = 6 - 1 /datum/ammo/xeno/toxin/queen/on_hit_mob(mob/M,obj/projectile/P) - neuro_callback.Invoke(M, effect_power, TRUE, FALSE, FALSE) + neuro_callback.Invoke(M, effect_power, drain_power, TRUE, TRUE, FALSE) /datum/ammo/xeno/toxin/shotgun name = "neurotoxic droplet"