diff --git a/code/_onclick/hud/plane_master.dm b/code/_onclick/hud/plane_master.dm index b43715ee598..a5586578b3f 100644 --- a/code/_onclick/hud/plane_master.dm +++ b/code/_onclick/hud/plane_master.dm @@ -34,7 +34,7 @@ /obj/screen/plane_master/game_world name = "game world plane master" plane = GAME_PLANE - appearance_flags = PLANE_MASTER //should use client color + appearance_flags = PLANE_MASTER blend_mode = BLEND_OVERLAY /obj/screen/plane_master/game_world/backdrop(mob/mymob) @@ -45,6 +45,7 @@ /obj/screen/plane_master/lighting name = "lighting plane master" plane = LIGHTING_PLANE + appearance_flags = PLANE_MASTER blend_mode = BLEND_MULTIPLY mouse_opacity = MOUSE_OPACITY_TRANSPARENT diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm index 45bfb37f035..3c5fea2a967 100644 --- a/code/game/objects/effects/decals/Cleanable/humans.dm +++ b/code/game/objects/effects/decals/Cleanable/humans.dm @@ -14,7 +14,6 @@ var/global/list/image/splatter_cache = list() icon = 'icons/effects/blood.dmi' icon_state = "mfloor1" random_icon_states = list("mfloor1", "mfloor2", "mfloor3", "mfloor4", "mfloor5", "mfloor6", "mfloor7") - appearance_flags = NO_CLIENT_COLOR blood_DNA = list() var/base_icon = 'icons/effects/blood.dmi' var/blood_state = BLOOD_STATE_HUMAN @@ -155,7 +154,6 @@ var/global/list/image/splatter_cache = list() layer = TURF_LAYER random_icon_states = null blood_DNA = list() - appearance_flags = NO_CLIENT_COLOR var/list/existing_dirs = list() /obj/effect/decal/cleanable/trail_holder/can_bloodcrawl_in() diff --git a/code/modules/client/client procs.dm b/code/modules/client/client procs.dm index 00a9137fe05..c6ab57bae4d 100644 --- a/code/modules/client/client procs.dm +++ b/code/modules/client/client procs.dm @@ -688,8 +688,8 @@ message += " (RESTRICTED)" to_chat(world, "[message]") -/client/proc/colour_transition(var/list/colour_to = null, var/time = 10) //Call this with no parameters to reset to default. - animate(src, color=colour_to, time=time, easing=SINE_EASING) +/client/proc/colour_transition(list/colour_to = null, time = 10) //Call this with no parameters to reset to default. + animate(src, color = colour_to, time = time, easing = SINE_EASING) /client/proc/on_varedit() var_edited = TRUE diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index 032792063be..7295a9b94dd 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -256,16 +256,16 @@ desc = "Somehow these seem even more out-of-date than normal sunglasses." actions_types = list(/datum/action/item_action/noir) -/obj/item/clothing/glasses/sunglasses/noir/attack_self() - toggle_noir() +/obj/item/clothing/glasses/sunglasses/noir/attack_self(mob/user) + toggle_noir(user) /obj/item/clothing/glasses/sunglasses/noir/item_action_slot_check(slot) if(slot == slot_glasses) return 1 -/obj/item/clothing/glasses/sunglasses/noir/proc/toggle_noir() +/obj/item/clothing/glasses/sunglasses/noir/proc/toggle_noir(mob/user) color_view = color_view ? null : MATRIX_GREYSCALE //Toggles between null and grayscale, with null being the default option. - usr.update_client_colour() + user.update_client_colour() /obj/item/clothing/glasses/sunglasses/yeah name = "agreeable glasses" diff --git a/code/modules/mining/minebot.dm b/code/modules/mining/minebot.dm index 4f0196473c7..5b20aad5047 100644 --- a/code/modules/mining/minebot.dm +++ b/code/modules/mining/minebot.dm @@ -207,19 +207,26 @@ /datum/action/innate/minedrone/toggle_meson_vision name = "Toggle Meson Vision" button_icon_state = "meson" + var/sight_flags = SEE_TURFS + var/lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE /datum/action/innate/minedrone/toggle_meson_vision/Activate() - var/mob/living/simple_animal/hostile/mining_drone/user = owner - if(user.sight & SEE_TURFS) - user.sight &= ~SEE_TURFS - user.lighting_alpha = initial(user.lighting_alpha) + var/mob/living/user = owner + var/is_active = user.sight & SEE_TURFS + + if(is_active) + UnregisterSignal(user, COMSIG_MOB_UPDATE_SIGHT) + user.update_sight() else - user.sight |= SEE_TURFS - user.lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE + RegisterSignal(user, COMSIG_MOB_UPDATE_SIGHT, .proc/update_user_sight) + user.update_sight() - user.sync_lighting_plane_alpha() + to_chat(user, "You toggle your meson vision [!is_active ? "on" : "off"].") - to_chat(user, "You toggle your meson vision [(user.sight & SEE_TURFS) ? "on" : "off"].") +/datum/action/innate/minedrone/toggle_meson_vision/proc/update_user_sight(mob/living/user) + user.sight |= sight_flags + if(!isnull(lighting_alpha)) + user.lighting_alpha = min(user.lighting_alpha, lighting_alpha) /datum/action/innate/minedrone/toggle_mode name = "Toggle Mode" diff --git a/code/modules/mob/living/silicon/pai/software_modules.dm b/code/modules/mob/living/silicon/pai/software_modules.dm index 90af0fba3c4..84c467b1549 100644 --- a/code/modules/mob/living/silicon/pai/software_modules.dm +++ b/code/modules/mob/living/silicon/pai/software_modules.dm @@ -619,12 +619,14 @@ /datum/pai_software/flashlight/toggle(mob/living/silicon/pai/user) var/atom/movable/actual_location = istype(user.loc, /obj/item/paicard) ? user.loc : user - if(user.flashlight_on) + if(!user.flashlight_on) actual_location.set_light(2) user.card.set_light(2) - return - actual_location.set_light(2) - user.card.set_light(0) + else + actual_location.set_light(0) + user.card.set_light(0) + + user.flashlight_on = !user.flashlight_on /datum/pai_software/flashlight/is_active(mob/living/silicon/pai/user) return user.flashlight_on