diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index cb36b8e8391..68f415f675a 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -515,19 +515,19 @@ smoothing_groups = list(SMOOTH_GROUP_REINFORCED_TABLES) canSmoothWith = list(SMOOTH_GROUP_REINFORCED_TABLES) -/obj/structure/table/reinforced/deconstruction_hints(mob/user) //look, it was either copy paste these 3 procs, or copy paste all of the glass stuff +/obj/structure/table/glass/reinforced/deconstruction_hints(mob/user) //look, it was either copy paste these 4 procs, or copy paste all of the glass stuff if(deconstruction_ready) to_chat(user, "The top cover has been welded loose and the main frame's bolts are exposed.") else to_chat(user, "The top cover is firmly welded on.") -/obj/structure/table/reinforced/flip(direction) +/obj/structure/table/glass/reinforced/flip(direction) if(!deconstruction_ready) return FALSE else return ..() -/obj/structure/table/reinforced/welder_act(mob/user, obj/item/I) +/obj/structure/table/glass/reinforced/welder_act(mob/user, obj/item/I) . = TRUE if(!I.tool_use_check(user, 0)) return @@ -536,6 +536,19 @@ to_chat(user, "You [deconstruction_ready ? "strengthen" : "weaken"] the table.") deconstruction_ready = !deconstruction_ready +/obj/structure/table/glass/reinforced/shove_impact(mob/living/target, mob/living/attacker) + if(locate(/obj/structure/table) in get_turf(target)) + return FALSE + var/pass_flags_cache = target.pass_flags + target.pass_flags |= PASSTABLE + if(target.Move(loc)) + . = TRUE + target.Weaken(4 SECONDS) + add_attack_logs(attacker, target, "pushed onto [src]", ATKLOG_ALL) + else + . = FALSE + target.pass_flags = pass_flags_cache + /obj/structure/table/glass/reinforced/check_break(mob/living/M) if(has_gravity(M) && M.mob_size > MOB_SIZE_SMALL && (obj_integrity < (max_integrity / 2))) //big tables for big boys, only breaks under 50% hp table_shatter(M)