Spider tweaks and Mob pulling (#17782)

* Spider tweaks and Mob pulling

Added a small amount of weaken to spider warning bites to knock people over.
Added a new variable to mobs that can prevent them from being pulled when alive, currently only applies to the spiders.
Fixed an issue where spiders would sometimes try to inject poison where they couldn't and runtime.

* Invert var
This commit is contained in:
SatinIsle
2025-06-02 20:42:27 +01:00
committed by GitHub
parent 53e39b082e
commit efb8805c55
3 changed files with 9 additions and 1 deletions
@@ -127,6 +127,8 @@
var/warning_warmup = 2 SECONDS // How long the leap telegraphing is.
var/warning_sound = 'sound/weapons/spiderlunge.ogg'
no_pull_when_living = TRUE
/mob/living/simple_mob/animal/giant_spider/Initialize(mapload)
. = ..()
@@ -204,7 +206,8 @@
break
if(victim)
A.reagents.add_reagent(REAGENT_ID_WARNINGTOXIN, poison_per_bite)
victim.reagents.add_reagent(REAGENT_ID_WARNINGTOXIN, poison_per_bite)
victim.AdjustWeakened(2)
victim.visible_message(span_danger("\The [src] has bitten \the [victim]!"))
to_chat(victim, span_critical("\The [src] bites you and retreats!"))
. = TRUE
+4
View File
@@ -607,6 +607,10 @@
else
M.LAssailant = usr
if(M.no_pull_when_living && !(M.stat == DEAD)) //If it's now allowed to be pulled when living, and it's not dead yet, deny.
to_chat(src, span_warning("\The [M] won't let you just pull them!"))
return
else if(isobj(AM))
var/obj/I = AM
if(!can_pull_size || can_pull_size < I.w_class)
+1
View File
@@ -120,6 +120,7 @@
var/m_intent = I_RUN//Living
var/lastKnownIP = null
var/obj/buckled = null//Living
var/no_pull_when_living = FALSE //Test for if it can be pulled when alive
var/seer = 0 //for cult//Carbon, probably Human