diff --git a/code/game/objects/structures/crates_lockers/crates/secure.dm b/code/game/objects/structures/crates_lockers/crates/secure.dm
index bac428d5d1f..8ca845c35bb 100644
--- a/code/game/objects/structures/crates_lockers/crates/secure.dm
+++ b/code/game/objects/structures/crates_lockers/crates/secure.dm
@@ -7,6 +7,7 @@
obj_integrity = 500
max_integrity = 500
armor = list(melee = 30, bullet = 50, laser = 50, energy = 100, bomb = 0, bio = 0, rad = 0, fire = 80, acid = 80)
+ var/tamperproof = 0
/obj/structure/closet/crate/secure/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir)
if(damage_flag == "melee" && damage_amount < 25)
@@ -22,6 +23,20 @@
else
add_overlay("securecrateg")
+/obj/structure/closet/crate/secure/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1)
+ if(prob(tamperproof))
+ boom()
+ ..()
+
+
+/obj/structure/closet/crate/secure/proc/boom(mob/user)
+ if(user)
+ user << "The crate's anti-tamper system activates!"
+ for(var/atom/movable/AM in src)
+ qdel(AM)
+ explosion(get_turf(src), 0, 1, 5, 5)
+ qdel(src)
+
/obj/structure/closet/crate/secure/weapon
desc = "A secure weapons crate."
name = "weapons crate"
diff --git a/code/modules/mining/abandoned_crates.dm b/code/modules/mining/abandoned_crates.dm
index e8ef37d7b0f..d1d00ef1ee5 100644
--- a/code/modules/mining/abandoned_crates.dm
+++ b/code/modules/mining/abandoned_crates.dm
@@ -9,6 +9,7 @@
var/lastattempt = null
var/attempts = 10
var/codelen = 4
+ tamperproof = 90
/obj/structure/closet/crate/secure/loot/New()
..()
@@ -224,11 +225,3 @@
/obj/structure/closet/crate/secure/loot/deconstruct(disassembled = TRUE)
boom()
-
-/obj/structure/closet/crate/secure/loot/proc/boom(mob/user)
- if(user)
- user << "The crate's anti-tamper system activates!"
- for(var/atom/movable/AM in src)
- qdel(AM)
- explosion(get_turf(src), 0, 1, 5, 5)
- qdel(src)
\ No newline at end of file