Fixes large crates acting like lockers (#37707)

* Fixes large crates acting like lockers

* removes forgotten comment

* Adds Cobby's suggestions, and makes the description more useful. Also improves feedback when using the wrong tool.
This commit is contained in:
Alexch2
2018-05-12 23:41:41 +02:00
committed by letterjay
parent 20ac9089a7
commit b0b9240466

View File

@@ -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 @@
"<span class='italics'>You hear splitting wood.</span>")
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, "<span class='warning'>You need a crowbar to pry this open!</span>")
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.