diff --git a/code/modules/art/paintings.dm b/code/modules/art/paintings.dm index 0835ae7f60e..be0e0520b97 100644 --- a/code/modules/art/paintings.dm +++ b/code/modules/art/paintings.dm @@ -559,6 +559,8 @@ /obj/item/canvas/twentythree_twentythree, /obj/item/canvas/twentyfour_twentyfour, ) + /// the type of wallframe it 'disassembles' into + var/wallframe_type = /obj/item/wallframe/painting WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/painting) @@ -579,6 +581,16 @@ WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/painting) else return ..() +/obj/structure/sign/painting/knock_down(mob/living/user) + var/turf/drop_turf + if(user) + drop_turf = get_turf(user) + else + drop_turf = drop_location() + current_canvas?.forceMove(drop_turf) + var/obj/item/wallframe/frame = new wallframe_type(drop_turf) + frame.update_integrity(get_integrity()) //Transfer how damaged it is. + /obj/structure/sign/painting/examine(mob/user) . = ..() if(persistence_id) @@ -784,6 +796,7 @@ WALL_MOUNT_DIRECTIONAL_HELPERS(/obj/structure/sign/painting) /obj/item/canvas/thirtysix_twentyfour, /obj/item/canvas/fortyfive_twentyseven, ) + wallframe_type = /obj/item/wallframe/painting/large /obj/structure/sign/painting/large/Initialize(mapload) . = ..() diff --git a/icons/obj/art/painting_frames.dmi b/icons/obj/art/painting_frames.dmi index 2570b460adc..28e1b866596 100644 Binary files a/icons/obj/art/painting_frames.dmi and b/icons/obj/art/painting_frames.dmi differ