mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-08-30 08:39:12 +01:00
[MIRROR] Fixes dark maw not eating captured prey (#12219)
Co-authored-by: Guti <32563288+TheCaramelion@users.noreply.github.com>
This commit is contained in:
co-authored by
Guti
parent
62e89b8654
commit
e54bb9d80e
@@ -4,7 +4,7 @@
|
||||
|
||||
/// Most basic check of them all.
|
||||
/// Checks if PRED can eat PREY.
|
||||
/proc/can_vore(mob/living/pred, mob/living/prey)
|
||||
/proc/can_vore(mob/living/pred, mob/living/prey, allow_incorporeal = FALSE)
|
||||
if(pred == prey)
|
||||
return FALSE
|
||||
if(!istype(pred) || !istype(prey))
|
||||
@@ -14,7 +14,8 @@
|
||||
if(!is_vore_predator(pred))
|
||||
return FALSE
|
||||
if(prey.is_incorporeal() || pred.is_incorporeal())
|
||||
return FALSE
|
||||
if(!allow_incorporeal)
|
||||
return FALSE
|
||||
if(!pred.vore_selected)
|
||||
return FALSE
|
||||
if(!pred.can_be_afk_pred && (!pred.client || pred.away_from_keyboard))
|
||||
@@ -27,8 +28,8 @@
|
||||
|
||||
/// Basic spont vore check.
|
||||
/// Checks if both have spont vore enable
|
||||
/proc/can_spontaneous_vore(mob/living/pred, mob/living/prey)
|
||||
if(!can_vore(pred, prey))
|
||||
/proc/can_spontaneous_vore(mob/living/pred, mob/living/prey, allow_incorporeal = FALSE)
|
||||
if(!can_vore(pred, prey, allow_incorporeal))
|
||||
return FALSE
|
||||
if(!pred.can_be_drop_pred || !prey.can_be_drop_prey)
|
||||
return FALSE
|
||||
@@ -62,8 +63,8 @@
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/proc/can_phase_vore(mob/living/pred, mob/living/prey)
|
||||
if(!can_spontaneous_vore(pred, prey))
|
||||
/proc/can_phase_vore(mob/living/pred, mob/living/prey, allow_incorporeal = FALSE)
|
||||
if(!can_spontaneous_vore(pred, prey, allow_incorporeal))
|
||||
return FALSE
|
||||
if(!pred.phase_vore || !prey.phase_vore)
|
||||
return FALSE
|
||||
|
||||
@@ -156,7 +156,7 @@
|
||||
/obj/effect/abstract/dark_maw/proc/do_trigger(var/mob/living/L)
|
||||
var/will_vore = 1
|
||||
|
||||
if(!(target in owner) || !can_phase_vore(owner, L))
|
||||
if(!(target in owner) || !can_phase_vore(owner, L, TRUE))
|
||||
will_vore = 0
|
||||
|
||||
if(!src || src.gc_destroyed)
|
||||
|
||||
Reference in New Issue
Block a user