diff --git a/code/controllers/subsystems/robot_sprites.dm b/code/controllers/subsystems/robot_sprites.dm index 2cbb7feba5..cd69dd01b4 100644 --- a/code/controllers/subsystems/robot_sprites.dm +++ b/code/controllers/subsystems/robot_sprites.dm @@ -196,9 +196,15 @@ SUBSYSTEM_DEF(robot_sprites) if(findtext(icon, regex("-disabler"))) RS.sprite_flags |= ROBOT_HAS_DISABLER_SPRITE continue + if(findtext(icon, regex("-rest-eyes"))) + RS.has_rest_eyes_sprites = TRUE + continue if(findtext(icon, regex("-eyes"))) RS.has_eye_sprites = TRUE continue + if(findtext(icon, regex("-rest-lights"))) + RS.has_rest_lights_sprites = TRUE + continue if(findtext(icon, regex("-lights"))) RS.has_eye_light_sprites = TRUE continue 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 e9e42d9294..935edf11ad 100644 --- a/code/modules/mob/living/silicon/robot/sprites/_sprite_datum.dm +++ b/code/modules/mob/living/silicon/robot/sprites/_sprite_datum.dm @@ -17,6 +17,8 @@ var/has_vore_struggle_sprite = FALSE var/max_belly_size = 1 //If larger bellies are made, set this to the value of the largest size var/has_rest_sprites = FALSE + var/has_rest_eyes_sprites = FALSE + var/has_rest_lights_sprites = FALSE var/list/rest_sprite_options var/has_dead_sprite = FALSE var/has_dead_sprite_overlay = FALSE @@ -139,14 +141,18 @@ /datum/robot_sprite/proc/get_eyes_overlay(var/mob/living/silicon/robot/ourborg) if(!(ourborg.resting && has_rest_sprites)) return "[sprite_icon_state]-eyes" - else if(ourborg.resting && has_rest_sprites) + else if(ourborg.resting && has_rest_eyes_sprites) return "[get_rest_sprite(ourborg)]-eyes" + else + return /datum/robot_sprite/proc/get_eye_light_overlay(var/mob/living/silicon/robot/ourborg) if(!(ourborg.resting && has_rest_sprites)) return "[sprite_icon_state]-lights" - else if(ourborg.resting && has_rest_sprites) + else if(ourborg.resting && has_rest_lights_sprites) return "[get_rest_sprite(ourborg)]-lights" + else + return // This can not use the get_rest_sprite function as it could use belly overlays as decals /datum/robot_sprite/proc/get_robotdecal_overlay(var/mob/living/silicon/robot/ourborg, var/type) diff --git a/code/modules/mob/living/silicon/robot/sprites/civilian.dm b/code/modules/mob/living/silicon/robot/sprites/civilian.dm index 9d6d88018a..6c085c74b3 100644 --- a/code/modules/mob/living/silicon/robot/sprites/civilian.dm +++ b/code/modules/mob/living/silicon/robot/sprites/civilian.dm @@ -322,6 +322,8 @@ has_rest_sprites = TRUE has_vore_belly_sprites = TRUE has_vore_belly_resting_sprites = TRUE + has_rest_lights_sprites = TRUE + has_rest_eyes_sprites = TRUE sprite_decals = list("breastplate", "loincloth","loinclothbreastplate","eyecover") pixel_x = 0 icon_x = 32 @@ -338,8 +340,8 @@ icon_x = 64 pixel_x = -16 -/datum/robot_sprite/dogborg/tall/service/dullahan/servicealt3 - name = "Dullahan v4 matcha" +/datum/robot_sprite/dogborg/tall/service/dullahanv3/servicealt3 + name = "Dullahan v3 matcha" sprite_icon = 'icons/mob/robot/dullahan/v3/barista.dmi' sprite_icon_state = "dullahanbarista" sprite_decals = list("decals") diff --git a/code/modules/mob/living/silicon/robot/sprites/engineering.dm b/code/modules/mob/living/silicon/robot/sprites/engineering.dm index ae4a4bdef9..d04554584b 100644 --- a/code/modules/mob/living/silicon/robot/sprites/engineering.dm +++ b/code/modules/mob/living/silicon/robot/sprites/engineering.dm @@ -230,6 +230,8 @@ has_rest_sprites = TRUE has_vore_belly_sprites = TRUE has_vore_belly_resting_sprites = TRUE + has_rest_lights_sprites = TRUE + has_rest_eyes_sprites = TRUE icon_x = 32 pixel_x = 0 diff --git a/code/modules/mob/living/silicon/robot/sprites/janitor.dm b/code/modules/mob/living/silicon/robot/sprites/janitor.dm index fd2e90b1ed..5d3b68a955 100644 --- a/code/modules/mob/living/silicon/robot/sprites/janitor.dm +++ b/code/modules/mob/living/silicon/robot/sprites/janitor.dm @@ -213,6 +213,8 @@ has_rest_sprites = TRUE has_vore_belly_sprites = TRUE has_vore_belly_resting_sprites = TRUE + has_rest_lights_sprites = TRUE + has_rest_eyes_sprites = TRUE rest_sprite_options = list("Default", "Sit") sprite_decals = list("breastplate", "eyecover") icon_x = 32 diff --git a/code/modules/mob/living/silicon/robot/sprites/medical.dm b/code/modules/mob/living/silicon/robot/sprites/medical.dm index 4ff58550ec..9a5f2f8cee 100644 --- a/code/modules/mob/living/silicon/robot/sprites/medical.dm +++ b/code/modules/mob/living/silicon/robot/sprites/medical.dm @@ -149,6 +149,8 @@ has_rest_sprites = TRUE has_vore_belly_sprites = TRUE has_vore_belly_resting_sprites = TRUE + has_rest_lights_sprites = TRUE + has_rest_eyes_sprites = TRUE rest_sprite_options = list("Default", "Sit") sprite_decals = list("breastplate","loincloth","eyecover") icon_x = 32 diff --git a/code/modules/mob/living/silicon/robot/sprites/mining.dm b/code/modules/mob/living/silicon/robot/sprites/mining.dm index c3d760b9e1..1d05fac140 100644 --- a/code/modules/mob/living/silicon/robot/sprites/mining.dm +++ b/code/modules/mob/living/silicon/robot/sprites/mining.dm @@ -196,6 +196,8 @@ has_rest_sprites = TRUE has_vore_belly_sprites = TRUE has_vore_belly_resting_sprites = TRUE + has_rest_lights_sprites = TRUE + has_rest_eyes_sprites = TRUE sprite_decals = list("breastplate","loincloth","eyecover") rest_sprite_options = list("Default", "sit") icon_x = 32 @@ -221,6 +223,8 @@ has_rest_sprites = TRUE has_vore_belly_sprites = TRUE has_vore_belly_resting_sprites = TRUE + has_rest_lights_sprites = TRUE + has_rest_eyes_sprites = TRUE rest_sprite_options = list("Default", "Sit") sprite_decals = list("breastplate","eyecover") icon_x = 32 diff --git a/code/modules/mob/living/silicon/robot/sprites/science.dm b/code/modules/mob/living/silicon/robot/sprites/science.dm index d1b0196aab..cd64a5b678 100644 --- a/code/modules/mob/living/silicon/robot/sprites/science.dm +++ b/code/modules/mob/living/silicon/robot/sprites/science.dm @@ -219,6 +219,8 @@ has_rest_sprites = TRUE has_vore_belly_sprites = TRUE has_vore_belly_resting_sprites = TRUE + has_rest_lights_sprites = TRUE + has_rest_eyes_sprites = TRUE sprite_hud_icon_state = "sci-borg" rest_sprite_options = list("Default", "Sit") sprite_decals = list("breastplate","loincloth","eyecover") diff --git a/code/modules/mob/living/silicon/robot/sprites/security.dm b/code/modules/mob/living/silicon/robot/sprites/security.dm index b465f82e9a..4e0928c262 100644 --- a/code/modules/mob/living/silicon/robot/sprites/security.dm +++ b/code/modules/mob/living/silicon/robot/sprites/security.dm @@ -227,6 +227,8 @@ has_rest_sprites = TRUE has_vore_belly_sprites = TRUE has_vore_belly_resting_sprites = TRUE + has_rest_lights_sprites = TRUE + has_rest_eyes_sprites = TRUE rest_sprite_options = list("Default", "Sit") icon_x = 32 pixel_x = 0 diff --git a/code/modules/mob/living/silicon/robot/sprites/syndicate.dm b/code/modules/mob/living/silicon/robot/sprites/syndicate.dm index 7e75cacb66..8567af603e 100644 --- a/code/modules/mob/living/silicon/robot/sprites/syndicate.dm +++ b/code/modules/mob/living/silicon/robot/sprites/syndicate.dm @@ -75,6 +75,9 @@ sprite_icon_state = "dullahansyndi" has_eye_light_sprites = TRUE has_vore_belly_sprites = TRUE + has_vore_belly_resting_sprites = TRUE + has_rest_lights_sprites = TRUE + has_rest_eyes_sprites = TRUE rest_sprite_options = list("Default", "Sit") sprite_decals = list("breastplate","loincloth","eyecover") icon_x = 32 diff --git a/code/unit_tests/robot_tests.dm b/code/unit_tests/robot_tests.dm index 3ecd4e6ad0..fb8eb92975 100644 --- a/code/unit_tests/robot_tests.dm +++ b/code/unit_tests/robot_tests.dm @@ -178,6 +178,12 @@ if(RS.has_glow_sprites) if(check_state(RS,"-[rest_style]-glow")) failed = TRUE + if(RS.has_rest_lights_sprites) + if(check_state(RS,"-[rest_style]-lights")) + failed = TRUE + if(RS.has_rest_eyes_sprites) + if(check_state(RS,"-[rest_style]-eyes")) + failed = TRUE // death if(RS.has_dead_sprite) if(check_state(RS,"-wreck")) diff --git a/icons/mob/robot/dullahan/v1/dullahan_cargo.dmi b/icons/mob/robot/dullahan/v1/dullahan_cargo.dmi index 2d25715398..14bde535aa 100644 Binary files a/icons/mob/robot/dullahan/v1/dullahan_cargo.dmi and b/icons/mob/robot/dullahan/v1/dullahan_cargo.dmi differ diff --git a/icons/mob/robot/dullahan/v1/dullahan_clown.dmi b/icons/mob/robot/dullahan/v1/dullahan_clown.dmi index 0c318a5321..56325a8a91 100644 Binary files a/icons/mob/robot/dullahan/v1/dullahan_clown.dmi and b/icons/mob/robot/dullahan/v1/dullahan_clown.dmi differ diff --git a/icons/mob/robot/dullahan/v1/dullahan_eng.dmi b/icons/mob/robot/dullahan/v1/dullahan_eng.dmi index 23804e6b6e..748081245a 100644 Binary files a/icons/mob/robot/dullahan/v1/dullahan_eng.dmi and b/icons/mob/robot/dullahan/v1/dullahan_eng.dmi differ diff --git a/icons/mob/robot/dullahan/v1/dullahan_explorer.dmi b/icons/mob/robot/dullahan/v1/dullahan_explorer.dmi index 6c6e94348d..6ce4bc5447 100644 Binary files a/icons/mob/robot/dullahan/v1/dullahan_explorer.dmi and b/icons/mob/robot/dullahan/v1/dullahan_explorer.dmi differ diff --git a/icons/mob/robot/dullahan/v1/dullahan_jani.dmi b/icons/mob/robot/dullahan/v1/dullahan_jani.dmi index 0f38a70dcb..7924775456 100644 Binary files a/icons/mob/robot/dullahan/v1/dullahan_jani.dmi and b/icons/mob/robot/dullahan/v1/dullahan_jani.dmi differ diff --git a/icons/mob/robot/dullahan/v1/dullahan_med.dmi b/icons/mob/robot/dullahan/v1/dullahan_med.dmi index dd15c97164..fdec441cee 100644 Binary files a/icons/mob/robot/dullahan/v1/dullahan_med.dmi and b/icons/mob/robot/dullahan/v1/dullahan_med.dmi differ diff --git a/icons/mob/robot/dullahan/v1/dullahan_mine.dmi b/icons/mob/robot/dullahan/v1/dullahan_mine.dmi index a74910426e..bd589f5d96 100644 Binary files a/icons/mob/robot/dullahan/v1/dullahan_mine.dmi and b/icons/mob/robot/dullahan/v1/dullahan_mine.dmi differ diff --git a/icons/mob/robot/dullahan/v1/dullahan_sci.dmi b/icons/mob/robot/dullahan/v1/dullahan_sci.dmi index 8f32fa68a1..87df05a970 100644 Binary files a/icons/mob/robot/dullahan/v1/dullahan_sci.dmi and b/icons/mob/robot/dullahan/v1/dullahan_sci.dmi differ diff --git a/icons/mob/robot/dullahan/v1/dullahan_sec.dmi b/icons/mob/robot/dullahan/v1/dullahan_sec.dmi index 36f83ca2a5..4941561237 100644 Binary files a/icons/mob/robot/dullahan/v1/dullahan_sec.dmi and b/icons/mob/robot/dullahan/v1/dullahan_sec.dmi differ diff --git a/icons/mob/robot/dullahan/v1/dullahan_serv.dmi b/icons/mob/robot/dullahan/v1/dullahan_serv.dmi index 0fcb9e11a2..659e3631cc 100644 Binary files a/icons/mob/robot/dullahan/v1/dullahan_serv.dmi and b/icons/mob/robot/dullahan/v1/dullahan_serv.dmi differ diff --git a/icons/mob/robot/dullahan/v1/dullahan_syndie.dmi b/icons/mob/robot/dullahan/v1/dullahan_syndie.dmi index ef1cc9d6fe..cb61721b93 100644 Binary files a/icons/mob/robot/dullahan/v1/dullahan_syndie.dmi and b/icons/mob/robot/dullahan/v1/dullahan_syndie.dmi differ