diff --git a/code/modules/cm_preds/yaut_items.dm b/code/modules/cm_preds/yaut_items.dm index 97b0f14f5b9b..eeef1df39541 100644 --- a/code/modules/cm_preds/yaut_items.dm +++ b/code/modules/cm_preds/yaut_items.dm @@ -693,6 +693,8 @@ var/datum/effects/tethering/tether_effect var/tether_range = 5 var/mob/trapped_mob + var/duration = 30 SECONDS + var/disarm_timer layer = LOWER_ITEM_LAYER flags_item = ITEM_PREDATOR @@ -766,6 +768,7 @@ xeno.AddComponent(/datum/component/status_effect/interference, 100) // Some base interference to give pred time to get some damage in, if it cannot land a single hit during this time pred is cheeks RegisterSignal(xeno, COMSIG_XENO_PRE_HEAL, PROC_REF(block_heal)) message_all_yautja("A hunting trap has caught something in [get_area_name(loc)]!") + disarm_timer = addtimer(CALLBACK(src, PROC_REF(disarm)), duration, TIMER_UNIQUE|TIMER_STOPPABLE) /obj/item/hunting_trap/proc/block_heal(mob/living/carbon/xenomorph/xeno) SIGNAL_HANDLER @@ -799,6 +802,8 @@ /obj/item/hunting_trap/proc/disarm(mob/user) SIGNAL_HANDLER + if(disarm_timer) + deltimer(disarm_timer) armed = FALSE anchored = FALSE icon_state = "yauttrap[armed]"