diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index e9c7df22b2..2953f0de87 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -261,13 +261,13 @@ if(!isnull(stored_material[material])) stored_material[material] = max(0, stored_material[material] - round(making.resources[material] * mat_efficiency) * multiplier) - //Fancy autolathe animation. - flick("autolathe_n", src) - + update_icon() // So lid closes + sleep(build_time) busy = 0 update_use_power(1) + update_icon() // So lid opens //Sanity check. if(!making || !src) return @@ -281,7 +281,14 @@ updateUsrDialog() /obj/machinery/autolathe/update_icon() - icon_state = (panel_open ? "autolathe_t" : "autolathe") + if(panel_open) + icon_state = "autolathe_t" + else if(busy) + icon_state = "autolathe_n" + else + if(icon_state == "autolathe_n") + flick("autolathe_u", src) // If lid WAS closed, show opening animation + icon_state = "autolathe" //Updates overall lathe storage size. /obj/machinery/autolathe/RefreshParts() diff --git a/code/modules/research/protolathe.dm b/code/modules/research/protolathe.dm index 60aabdf3f8..be489f9637 100644 --- a/code/modules/research/protolathe.dm +++ b/code/modules/research/protolathe.dm @@ -85,6 +85,8 @@ else if(busy) icon_state = "protolathe_n" else + if(icon_state == "protolathe_n") + flick("protolathe_u", src) // If lid WAS closed, show opening animation icon_state = "protolathe" /obj/machinery/r_n_d/protolathe/attackby(var/obj/item/O as obj, var/mob/user as mob) diff --git a/icons/obj/machines/research.dmi b/icons/obj/machines/research.dmi index f85b00bcfd..00bb9d9e13 100644 Binary files a/icons/obj/machines/research.dmi and b/icons/obj/machines/research.dmi differ diff --git a/icons/obj/stationobjs.dmi b/icons/obj/stationobjs.dmi index 94f46b9c2c..401be8bb3c 100644 Binary files a/icons/obj/stationobjs.dmi and b/icons/obj/stationobjs.dmi differ