diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm index a55f965a20d..4b29746d368 100644 --- a/code/modules/power/solar.dm +++ b/code/modules/power/solar.dm @@ -50,7 +50,7 @@ if(S.glass_type == /obj/item/stack/sheet/rglass) //if the panel is in reinforced glass max_integrity *= 2 //this need to be placed here, because panels already on the map don't have an assembly linked to obj_integrity = max_integrity - update_icon() + update_icon(UPDATE_OVERLAYS) /obj/machinery/power/solar/crowbar_act(mob/user, obj/item/I) @@ -78,7 +78,7 @@ playsound(loc, 'sound/effects/glassbr3.ogg', 100, TRUE) stat |= BROKEN unset_control() - update_icon() + update_icon(UPDATE_OVERLAYS) /obj/machinery/power/solar/deconstruct(disassembled = TRUE) if(!(flags & NODECONSTRUCT)) @@ -98,8 +98,11 @@ if(stat & BROKEN) . += image('icons/goonstation/objects/power.dmi', icon_state = "solar_panel-b", layer = FLY_LAYER) else - . += image('icons/goonstation/objects/power.dmi', icon_state = "solar_panel", layer = FLY_LAYER) - set_angle(adir) + var/image/panel = image('icons/goonstation/objects/power.dmi', icon_state = "solar_panel", layer = FLY_LAYER) + var/matrix/M = matrix() + M.Turn(adir) + panel.transform = M + . += panel //calculates the fraction of the sunlight that the panel recieves /obj/machinery/power/solar/proc/update_solar_exposure() @@ -137,7 +140,7 @@ . = (!(stat & BROKEN)) stat |= BROKEN unset_control() - update_icon() + update_icon(UPDATE_OVERLAYS) /obj/machinery/power/solar/fake/New(turf/loc, obj/item/solar_assembly/S) ..(loc, S, 0) @@ -488,7 +491,7 @@ for(var/obj/machinery/power/solar/S in connected_panels) S.adir = cdir //instantly rotates the panel S.occlusion()//and - S.update_icon() //update it + S.update_icon(UPDATE_OVERLAYS) //update it update_icon()