diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm index 835c415fba7580..a144d4fc1f437e 100644 --- a/code/game/machinery/syndicatebomb.dm +++ b/code/game/machinery/syndicatebomb.dm @@ -30,6 +30,19 @@ var/detonation_timer var/explode_now = FALSE +/obj/machinery/syndicatebomb/proc/try_detonate() + . = (payload in src) && active && !defused + if(.) + payload.detonate() + +/obj/machinery/syndicatebomb/obj_break() + if(!try_detonate()) + ..() + +/obj/machinery/syndicatebomb/obj_destruction() + if(!try_detonate()) + ..() + /obj/machinery/syndicatebomb/process() if(!active) STOP_PROCESSING(SSfastprocess, src) @@ -60,8 +73,7 @@ active = FALSE timer_set = initial(timer_set) update_icon() - if(payload in src) - payload.detonate() + try_detonate() //Counter terrorists win else if(!active || defused) if(defused && payload in src) @@ -166,7 +178,10 @@ new /obj/item/stack/sheet/plasteel( loc, 5) qdel(src) else + var/old_integ = obj_integrity . = ..() + if((old_integ > obj_integrity) && active && !defused && (payload in src)) + user << "That seems like a really bad idea..." /obj/machinery/syndicatebomb/attack_hand(mob/user) interact(user)