/obj/structure/sandbag
name = "sandbag barricade"
desc = "A barrier made of stacked sandbags."
icon = 'icons/obj/structures/sandbags.dmi'
icon_state = "sandbags-0"
base_icon_state = "sandbags"
anchored = TRUE
density = TRUE
pass_flags_self = ATOM_PASS_TABLE | ATOM_PASS_THROWN | ATOM_PASS_CLICK
smoothing_flags = SMOOTH_BITMASK
smoothing_groups = (SMOOTH_GROUP_SANDBAGS)
canSmoothWith = (SMOOTH_GROUP_SANDBAGS)
integrity = 200
integrity_max = 200
var/vestigial = TRUE
/obj/structure/sandbag/Initialize(mapload)
. = ..()
for(var/obj/structure/sandbag/S in loc)
if(S != src)
break_to_parts(full_return = 1)
return
if(mapload)
return INITIALIZE_HINT_LATELOAD
else
//update_connections(TRUE)
update_icon()
/obj/structure/sandbag/LateInitialize()
//update_connections(FALSE)
update_icon()
/obj/structure/sandbag/Destroy()
//update_connections(TRUE)
. = ..()
/obj/structure/sandbag/attackby(obj/item/W as obj, mob/user as mob)
user.setClickCooldownLegacy(user.get_attack_speed_legacy(W))
if(istype(W, /obj/item/stack/sandbags))
var/obj/item/stack/sandbags/S = W
if(integrity < integrity_max)
if(S.get_amount() < 1)
to_chat(user, "You need one sandbag to repair \the [src].")
return CLICKCHAIN_DO_NOT_PROPAGATE
visible_message("[user] begins to repair \the [src].")
if(do_after(user,20) && integrity < integrity_max)
if(S.use(1))
integrity = integrity_max
visible_message("[user] repairs \the [src].")
return CLICKCHAIN_DO_NOT_PROPAGATE | CLICKCHAIN_DID_SOMETHING
return CLICKCHAIN_DO_NOT_PROPAGATE
return ..()
/obj/structure/sandbag/proc/break_to_parts(full_return = 0)
if(full_return || prob(20))
new /obj/item/stack/sandbags(src.loc)
else
new /obj/item/stack/material/cloth(src.loc)
new /obj/item/stack/ore/glass(src.loc)
qdel(src)