diff --git a/code/game/objects/effects/mines.dm b/code/game/objects/effects/mines.dm index 0ec48ee7db..209422fdde 100644 --- a/code/game/objects/effects/mines.dm +++ b/code/game/objects/effects/mines.dm @@ -42,6 +42,8 @@ new_turf.register_dangerous_object(src) /obj/effect/mine/proc/explode(var/mob/living/M) + if(triggered) // Prevents circular mine explosions from two mines detonating eachother + return var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread() triggered = 1 s.set_up(3, 1, src) @@ -127,6 +129,8 @@ mineitemtype = /obj/item/mine/dnascramble /obj/effect/mine/dnascramble/explode(var/mob/living/M) + if(triggered) // Prevents circular mine explosions from two mines detonating eachother + return var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread() triggered = 1 s.set_up(3, 1, src) @@ -144,6 +148,8 @@ mineitemtype = /obj/item/mine/stun /obj/effect/mine/stun/explode(var/mob/living/M) + if(triggered) // Prevents circular mine explosions from two mines detonating eachother + return triggered = 1 var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread() s.set_up(3, 1, src) @@ -159,6 +165,8 @@ mineitemtype = /obj/item/mine/n2o /obj/effect/mine/n2o/explode(var/mob/living/M) + if(triggered) // Prevents circular mine explosions from two mines detonating eachother + return triggered = 1 for (var/turf/simulated/floor/target in range(1,src)) if(!target.blocks_air) @@ -171,6 +179,8 @@ mineitemtype = /obj/item/mine/phoron /obj/effect/mine/phoron/explode(var/mob/living/M) + if(triggered) // Prevents circular mine explosions from two mines detonating eachother + return triggered = 1 for (var/turf/simulated/floor/target in range(1,src)) if(!target.blocks_air) @@ -184,6 +194,8 @@ mineitemtype = /obj/item/mine/kick /obj/effect/mine/kick/explode(var/mob/living/M) + if(triggered) // Prevents circular mine explosions from two mines detonating eachother + return var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread() triggered = 1 s.set_up(3, 1, src) @@ -205,6 +217,8 @@ var/spread_range = 7 /obj/effect/mine/frag/explode(var/mob/living/M) + if(triggered) // Prevents circular mine explosions from two mines detonating eachother + return var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread() triggered = 1 s.set_up(3, 1, src) @@ -224,6 +238,8 @@ mineitemtype = /obj/item/mine/training /obj/effect/mine/training/explode(var/mob/living/M) + if(triggered) // Prevents circular mine explosions from two mines detonating eachother + return triggered = 1 visible_message("\The [src.name]'s light flashes rapidly as it 'explodes'.") new src.mineitemtype(get_turf(src)) @@ -234,6 +250,8 @@ mineitemtype = /obj/item/mine/emp /obj/effect/mine/emp/explode(var/mob/living/M) + if(triggered) // Prevents circular mine explosions from two mines detonating eachother + return triggered = 1 //ChompEDIT recursing mines var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread() s.set_up(3, 1, src) @@ -250,6 +268,8 @@ mineitemtype = /obj/item/mine/incendiary /obj/effect/mine/incendiary/explode(var/mob/living/M) + if(triggered) // Prevents circular mine explosions from two mines detonating eachother + return triggered = 1 var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread() s.set_up(3, 1, src) @@ -265,6 +285,8 @@ mineitemtype = /obj/item/mine/gadget /obj/effect/mine/gadget/explode(var/mob/living/M) + if(triggered) // Prevents circular mine explosions from two mines detonating eachother + return var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread() triggered = 1 s.set_up(3, 1, src)