Skip to content

Commit

Permalink
Sent and Queen Stim Drain buff (#8173)
Browse files Browse the repository at this point in the history
# 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.

<!-- Remove this text and explain what the purpose of your PR is.

Mention if you have tested your changes. If you changed a map, make sure
you used the mapmerge tool.
If this is an Issue Correction, you can type "Fixes Issue #169420" to
link the PR to the corresponding Issue number #169420.

Remember: something that is self-evident to you might not be to others.
Explain your rationale fully, even if you feel it goes without saying.
-->

# 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:
  • Loading branch information
private-tristan authored Jan 23, 2025
1 parent ab27492 commit 786258b
Showing 1 changed file with 8 additions and 6 deletions.
14 changes: 8 additions & 6 deletions code/datums/ammo/xeno.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -37,21 +38,21 @@

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
if(ishuman(M))
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)
Expand Down Expand Up @@ -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"
Expand All @@ -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"
Expand Down

0 comments on commit 786258b

Please sign in to comment.