mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-14 04:02:31 +00:00
[MIRROR] Spont vore & unlucky fix (#11817)
Co-authored-by: Cameron Lennox <killer65311@gmail.com>
This commit is contained in:
committed by
GitHub
parent
0c5d15cb28
commit
b47246cc56
@@ -152,7 +152,9 @@
|
|||||||
return
|
return
|
||||||
|
|
||||||
for(var/turf/the_turf as anything in our_guy_pos.AdjacentTurfs(check_blockage = FALSE)) //need false so we can check disposal units
|
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!"))
|
to_chat(living_guy, span_warning("You lose your balance and slip towards the edge!"))
|
||||||
living_guy.Weaken(5)
|
living_guy.Weaken(5)
|
||||||
living_guy.throw_at(the_turf, 1, 20)
|
living_guy.throw_at(the_turf, 1, 20)
|
||||||
@@ -161,7 +163,7 @@
|
|||||||
|
|
||||||
if(vorish)
|
if(vorish)
|
||||||
for(var/mob/living/living_mob in the_turf)
|
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.
|
continue //Don't do anything to ourselves.
|
||||||
if(living_mob.stat)
|
if(living_mob.stat)
|
||||||
continue
|
continue
|
||||||
@@ -183,7 +185,7 @@
|
|||||||
consume_omen()
|
consume_omen()
|
||||||
return
|
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)
|
for(var/obj/machinery/disposal/evil_disposal in the_turf)
|
||||||
if(evil_disposal.stat & (BROKEN|NOPOWER))
|
if(evil_disposal.stat & (BROKEN|NOPOWER))
|
||||||
continue
|
continue
|
||||||
@@ -193,7 +195,7 @@
|
|||||||
living_guy.forceMove(evil_disposal)
|
living_guy.forceMove(evil_disposal)
|
||||||
evil_disposal.flush = TRUE
|
evil_disposal.flush = TRUE
|
||||||
evil_disposal.update()
|
evil_disposal.update()
|
||||||
living_guy.Weaken(5)
|
living_guy.Stun(5)
|
||||||
consume_omen()
|
consume_omen()
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -289,7 +291,7 @@
|
|||||||
// In complete darkness
|
// In complete darkness
|
||||||
if(our_guy_pos.get_lumcount() <= LIGHTING_SOFT_THRESHOLD)
|
if(our_guy_pos.get_lumcount() <= LIGHTING_SOFT_THRESHOLD)
|
||||||
living_guy.Blind(5) //10 seconds of 'OH GOD WHAT'S HAPPENING'
|
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)
|
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!"))
|
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()
|
consume_omen()
|
||||||
|
|||||||
@@ -18,17 +18,12 @@
|
|||||||
/datum/element/spontaneous_vore/proc/handle_stumble(mob/living/source, mob/living/target)
|
/datum/element/spontaneous_vore/proc/handle_stumble(mob/living/source, mob/living/target)
|
||||||
SIGNAL_HANDLER
|
SIGNAL_HANDLER
|
||||||
|
|
||||||
//snowflake protean code to prevent protean blobform from eating their human form and humanform from eating their protean blob...gross.
|
//Prevents slipping into ourselves if we have a blobform.
|
||||||
//We are trying to eat our blobform
|
if(!isturf(target.loc) || !isturf(source.loc)) //No slipping into things that aren't even on a valid turf.
|
||||||
if(istype(target, /mob/living/simple_mob/protean_blob))
|
return
|
||||||
var/mob/living/simple_mob/protean_blob/PB = target
|
//Prevents eating ourselves with our own stomach.
|
||||||
if(PB.humanform == source)
|
if(source.vore_selected == target.vore_selected)
|
||||||
return
|
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
|
|
||||||
|
|
||||||
//We are able to eat the person stumbling into us.
|
//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!
|
if(CanStumbleVore(prey = target, pred = source)) //This is if the person stumbling into us is able to eat us!
|
||||||
|
|||||||
Reference in New Issue
Block a user