[MIRROR] Spont vore & unlucky fix (#11817)

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
This commit is contained in:
CHOMPStation2StaffMirrorBot
2025-10-14 13:12:11 -07:00
committed by GitHub
parent 0c5d15cb28
commit b47246cc56
2 changed files with 13 additions and 16 deletions

View File

@@ -152,7 +152,9 @@
return
for(var/turf/the_turf as anything in our_guy_pos.AdjacentTurfs(check_blockage = FALSE)) //need false so we can check disposal units
if(the_turf.CanZPass(our_guy, DOWN))
if(iswall(the_turf))
continue
if(the_turf.CanZPass(our_guy, DOWN) && !isspace(the_turf))
to_chat(living_guy, span_warning("You lose your balance and slip towards the edge!"))
living_guy.Weaken(5)
living_guy.throw_at(the_turf, 1, 20)
@@ -161,7 +163,7 @@
if(vorish)
for(var/mob/living/living_mob in the_turf)
if(living_mob == our_guy)
if(living_mob == our_guy || (living_mob.vore_selected == living_guy.vore_selected))
continue //Don't do anything to ourselves.
if(living_mob.stat)
continue
@@ -183,7 +185,7 @@
consume_omen()
return
if(evil || safe_disposals) //On servers without safe disposals, this is a death sentence. With servers with safe disposals, it's just funny.
if((evil || safe_disposals) && living_guy.m_intent == I_RUN) //On servers without safe disposals, this is a death sentence. With servers with safe disposals, it's just funny. Either way, walk near disposals.
for(var/obj/machinery/disposal/evil_disposal in the_turf)
if(evil_disposal.stat & (BROKEN|NOPOWER))
continue
@@ -193,7 +195,7 @@
living_guy.forceMove(evil_disposal)
evil_disposal.flush = TRUE
evil_disposal.update()
living_guy.Weaken(5)
living_guy.Stun(5)
consume_omen()
return
@@ -289,7 +291,7 @@
// In complete darkness
if(our_guy_pos.get_lumcount() <= LIGHTING_SOFT_THRESHOLD)
living_guy.Blind(5) //10 seconds of 'OH GOD WHAT'S HAPPENING'
living_guy.silent = 5
living_guy.silent = max(living_guy.silent, 5)
living_guy.Paralyse(5)
to_chat(living_guy, span_bolddanger("You feel the ground buckle underneath you, falling down, your vision going dark as you feel paralyzed in place!"))
consume_omen()

View File

@@ -18,17 +18,12 @@
/datum/element/spontaneous_vore/proc/handle_stumble(mob/living/source, mob/living/target)
SIGNAL_HANDLER
//snowflake protean code to prevent protean blobform from eating their human form and humanform from eating their protean blob...gross.
//We are trying to eat our blobform
if(istype(target, /mob/living/simple_mob/protean_blob))
var/mob/living/simple_mob/protean_blob/PB = target
if(PB.humanform == source)
return
//Our blobform is trying to eat us
if(istype(source, /mob/living/simple_mob/protean_blob))
var/mob/living/simple_mob/protean_blob/PB = source
if(PB.humanform == target)
return
//Prevents slipping into ourselves if we have a blobform.
if(!isturf(target.loc) || !isturf(source.loc)) //No slipping into things that aren't even on a valid turf.
return
//Prevents eating ourselves with our own stomach.
if(source.vore_selected == target.vore_selected)
return
//We are able to eat the person stumbling into us.
if(CanStumbleVore(prey = target, pred = source)) //This is if the person stumbling into us is able to eat us!