diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index f5a870878a8..01e296c8936 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -551,7 +551,8 @@ step(obstacle, dir) else if(istype(obstacle, /mob)) step(obstacle, dir) - + if(istype(obstacle, /obj/structure/table) || istype(obstacle, /obj/structure/rack)) + obstacle.ex_act(2) diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 392da076375..3f633c03a27 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -45,9 +45,17 @@ /obj/structure/table/ex_act(severity, target) ..() - if(severity == 3) - if(prob(25)) - table_destroy(1) + switch(severity) + if(1) + qdel(src) + if(2) + if(prob(50) + table_destroy(1) + else + qdel(src) + if(3) + if(prob(25)) + table_destroy(1) /obj/structure/table/blob_act() if(prob(75)) @@ -451,6 +459,10 @@ rack_destroy() return +/obj/structure/rack/mech_melee_attack(/obj/mecha/M) + visible.message("[M.name] smashes [src] apart!") + rack_destroy(1) + /obj/structure/rack/CanPass(atom/movable/mover, turf/target, height=0) if(height==0) return 1 if(src.density == 0) //Because broken racks -Agouri |TODO: SPRITE!|