diff --git a/code/game/objects/structures/crates_lockers/crates/large.dm b/code/game/objects/structures/crates_lockers/crates/large.dm
index 7098520ef53..6c8feae50ba 100644
--- a/code/game/objects/structures/crates_lockers/crates/large.dm
+++ b/code/game/objects/structures/crates_lockers/crates/large.dm
@@ -1,15 +1,14 @@
/obj/structure/closet/crate/large
name = "large crate"
- desc = "A hefty wooden crate."
+ desc = "A hefty wooden crate. You'll need a crowbar to get it open."
icon_state = "largecrate"
density = TRUE
material_drop = /obj/item/stack/sheet/mineral/wood
+ material_drop_amount = 4
delivery_icon = "deliverybox"
+ integrity_failure = 0 //Makes the crate break when integrity reaches 0, instead of opening and becoming an invisible sprite.
/obj/structure/closet/crate/large/attack_hand(mob/user)
- . = ..()
- if(.)
- return
add_fingerprint(user)
if(manifest)
tear_manifest(user)
@@ -18,7 +17,6 @@
/obj/structure/closet/crate/large/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/crowbar))
- var/turf/T = get_turf(src)
if(manifest)
tear_manifest(user)
@@ -27,11 +25,19 @@
"You hear splitting wood.")
playsound(src.loc, 'sound/weapons/slashmiss.ogg', 75, 1)
- for(var/i in 1 to rand(2, 5))
+ var/turf/T = get_turf(src)
+ for(var/i in 1 to material_drop_amount)
new material_drop(src)
for(var/atom/movable/AM in contents)
AM.forceMove(T)
qdel(src)
+
else
- return ..()
+ if(user.a_intent == INTENT_HARM) //Only return ..() if intent is harm, otherwise return 0 or just end it.
+ return ..() //Stops it from opening and turning invisible when items are used on it.
+
+ else
+ to_chat(user, "You need a crowbar to pry this open!")
+ return FALSE //Just stop. Do nothing. Don't turn into an invisible sprite. Don't open like a locker.
+ //The large crate has no non-attack interactions other than the crowbar, anyway.
\ No newline at end of file