From bbbc49354ecfef3f12dc44192a2c38fba732896f Mon Sep 17 00:00:00 2001 From: CHOMPStation2StaffMirrorBot <94713762+CHOMPStation2StaffMirrorBot@users.noreply.github.com> Date: Sat, 28 Dec 2024 12:32:51 -0700 Subject: [PATCH] [MIRROR] Extra borg overlay for more options (#9712) Co-authored-by: Asher-42 --- code/modules/mob/living/silicon/robot/robot.dm | 14 ++++++++++++++ .../living/silicon/robot/sprites/_sprite_datum.dm | 7 +++++++ 2 files changed, 21 insertions(+) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 4d1a2f2557..0523f7e43c 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -26,6 +26,7 @@ var/crisis //Admin-settable for combat module use. var/crisis_override = 0 var/integrated_light_power = 6 + var/robotdecal_on = 0 var/datum/wires/robot/wires can_be_antagged = TRUE @@ -446,6 +447,13 @@ handle_light() update_icon() +/mob/living/silicon/robot/verb/toggle_robot_decals() // loads overlay UNDER lights. + set category = "Abilities.Silicon" + set name = "Toggle extras" + robotdecal_on = !robotdecal_on + to_chat(usr, span_filter_notice("You [robotdecal_on ? "enable" : "disable"] your extra apperances.")) + update_icon() + /mob/living/silicon/robot/verb/spark_plug() //So you can still sparkle on demand without violence. set category = "Abilities.Silicon" set name = "Emit Sparks" @@ -1010,6 +1018,12 @@ if(eyes_overlay) add_overlay(eyes_overlay) + if(robotdecal_on && sprite_datum.has_robotdecal_sprites) + if(!shell || deployed) // Shell borgs that are not deployed will have no eyes. + var/robotdecal_overlay = sprite_datum.get_robotdecal_overlay(src) + if(robotdecal_overlay) + add_overlay(robotdecal_overlay) + if(lights_on && sprite_datum.has_eye_light_sprites) if(!shell || deployed) // Shell borgs that are not deployed will have no eyes. var/eyes_overlay = sprite_datum.get_eye_light_overlay(src) diff --git a/code/modules/mob/living/silicon/robot/sprites/_sprite_datum.dm b/code/modules/mob/living/silicon/robot/sprites/_sprite_datum.dm index fca31ee987..7df1b35e9c 100644 --- a/code/modules/mob/living/silicon/robot/sprites/_sprite_datum.dm +++ b/code/modules/mob/living/silicon/robot/sprites/_sprite_datum.dm @@ -10,6 +10,7 @@ var/has_eye_sprites = TRUE var/has_eye_light_sprites = FALSE + var/has_robotdecal_sprites = FALSE var/has_custom_open_sprites = FALSE var/has_vore_belly_sprites = FALSE var/has_vore_belly_resting_sprites = FALSE @@ -131,6 +132,12 @@ else return +/datum/robot_sprite/proc/get_robotdecal_overlay(var/mob/living/silicon/robot/ourborg) + if(!(ourborg.resting && has_rest_sprites)) + return "[sprite_icon_state]-decals" + else + return + /datum/robot_sprite/proc/get_rest_sprite(var/mob/living/silicon/robot/ourborg) if(!(ourborg.rest_style in rest_sprite_options)) ourborg.rest_style = "Default"