diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm index e3e4e37396..eaabcf5980 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm @@ -255,10 +255,8 @@ addtimer(CALLBACK(src, .proc/inert_check), 2400) /obj/item/organ/hivelord_core/proc/inert_check() - if(!owner && !preserved) + if(!preserved) go_inert() - else - preserved(implanted = 1) /obj/item/organ/hivelord_core/proc/preserved(implanted = 0) inert = FALSE @@ -278,7 +276,10 @@ update_icon() /obj/item/organ/hivelord_core/ui_action_click() - owner.revive(full_heal = 1) + if(inert) + to_chat(owner, "[src] breaks down as it tries to activate.") + else + owner.revive(full_heal = 1) qdel(src) /obj/item/organ/hivelord_core/on_life() @@ -306,6 +307,18 @@ qdel(src) ..() +/obj/item/organ/hivelord_core/Insert(mob/living/carbon/M, special = 0, drop_if_replaced = TRUE) + . = ..() + if(!preserved && !inert) + preserved(TRUE) + owner.visible_message("[src] stabilizes as it's inserted.") + +/obj/item/organ/hivelord_core/Remove(mob/living/carbon/M, special = 0) + if(!inert && !special) + owner.visible_message("[src] goes inert as it's removed.") + go_inert() + return ..() + /obj/item/organ/hivelord_core/prepare_eat() return null