diff --git a/code/game/objects/items/flag.dm b/code/game/objects/items/flag.dm index eafe218ad7d..f33e504a3e6 100644 --- a/code/game/objects/items/flag.dm +++ b/code/game/objects/items/flag.dm @@ -269,13 +269,16 @@ /obj/item/flag/chameleon/burn() if(boobytrap) fire_act() - spawn(boobytrap.det_time) - boobytrap.loc = get_turf(loc) - boobytrap.prime() - ..() + addtimer(CALLBACK(src, .proc/prime_boobytrap), boobytrap.det_time) else ..() +/obj/item/flag/chameleon/proc/prime_boobytrap() + boobytrap.forceMove(get_turf(loc)) + boobytrap.prime() + boobytrap = null + burn() + /obj/item/flag/chameleon/updateFlagIcon() icon_state = updated_icon_state