diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm index 8dd4573fcfd..7c23d1dc4cb 100644 --- a/code/modules/assembly/infrared.dm +++ b/code/modules/assembly/infrared.dm @@ -107,28 +107,14 @@ var/turf/last_turf = final_turfs[length(final_turfs)] buffer_turf = get_step(last_turf, dir) - var/beam_target_x = pixel_x - var/beam_target_y = pixel_y - // The beam by default will go to middle of turf (because items are in the middle of turfs) - // So we need to offset it - if(dir & NORTH) - beam_target_y += 16 - else if(dir & SOUTH) - beam_target_y -= 16 - if(dir & WEST) - beam_target_x -= 16 - else if(dir & EAST) - beam_target_x += 16 - active_beam = start_loc.Beam( BeamTarget = last_turf, beam_type = /obj/effect/ebeam/reacting/infrared, icon = 'icons/effects/beam.dmi', - icon_state = "1-full", - beam_color = COLOR_RED, + icon_state = "infrared", emissive = TRUE, - override_target_pixel_x = beam_target_x, - override_target_pixel_y = beam_target_y, + override_target_pixel_x = pixel_x, + override_target_pixel_y = pixel_y, ) RegisterSignal(active_beam, COMSIG_BEAM_ENTERED, PROC_REF(beam_entered)) RegisterSignal(active_beam, COMSIG_BEAM_TURFS_CHANGED, PROC_REF(beam_turfs_changed)) diff --git a/code/modules/assembly/timer.dm b/code/modules/assembly/timer.dm index 8366bb0f2b3..0d05d44320d 100644 --- a/code/modules/assembly/timer.dm +++ b/code/modules/assembly/timer.dm @@ -67,6 +67,9 @@ if(!timing) return time -= seconds_per_tick + if (time == 9 || time == 19 || time == 29) + update_appearance() + if(time <= 0) timing = FALSE timer_end() @@ -79,9 +82,14 @@ /obj/item/assembly/timer/update_overlays() . = ..() attached_overlays = list() - if(timing) - . += "timer_timing" - attached_overlays += "timer_timing" + if(!timing) + return + + attached_overlays += "timer_timing" + for (var/i in 1 to clamp(ceil(time / 10), 1, 3)) + var/mutable_appearance/timer_light = mutable_appearance(icon, "timer_light", layer, src) + timer_light.pixel_x = (i - 1) * 2 + . += timer_light /obj/item/assembly/timer/ui_status(mob/user, datum/ui_state/state) if(is_secured(user)) diff --git a/icons/effects/beam.dmi b/icons/effects/beam.dmi index ae668b0495a..85d450e03bd 100644 Binary files a/icons/effects/beam.dmi and b/icons/effects/beam.dmi differ diff --git a/icons/obj/devices/new_assemblies.dmi b/icons/obj/devices/new_assemblies.dmi index 1de208a7736..7bf96e5ba92 100644 Binary files a/icons/obj/devices/new_assemblies.dmi and b/icons/obj/devices/new_assemblies.dmi differ diff --git a/icons/obj/weapons/grenade.dmi b/icons/obj/weapons/grenade.dmi index b3fb018bafa..c65f6d0e9fb 100644 Binary files a/icons/obj/weapons/grenade.dmi and b/icons/obj/weapons/grenade.dmi differ