diff --git a/code/modules/mob/living/silicon/robot/sprites/combat.dm b/code/modules/mob/living/silicon/robot/sprites/combat.dm index a451a70e790..3ff24f321ff 100644 --- a/code/modules/mob/living/silicon/robot/sprites/combat.dm +++ b/code/modules/mob/living/silicon/robot/sprites/combat.dm @@ -8,9 +8,8 @@ var/has_shield_sprite = FALSE /datum/robot_sprite/combat/handle_extra_icon_updates(var/mob/living/silicon/robot/ourborg) - if(has_speed_sprite) - if(istype(ourborg.module_active,/obj/item/borg/combat/mobility)) - ourborg.icon_state = "[sprite_icon_state]-roll" + if(has_speed_sprite && istype(ourborg.module_active, /obj/item/borg/combat/mobility)) + ourborg.icon_state = "[sprite_icon_state]-roll" if(has_shield_sprite) if(ourborg.has_active_type(/obj/item/borg/combat/shield)) var/obj/item/borg/combat/shield/shield = locate() in ourborg @@ -90,10 +89,20 @@ has_custom_equipment_sprites = TRUE var/has_gun_sprite = FALSE + var/has_speed_sprite = FALSE + var/has_shield_sprite = FALSE /datum/robot_sprite/dogborg/tall/combat/handle_extra_icon_updates(var/mob/living/silicon/robot/ourborg) if(has_gun_sprite && (istype(ourborg.module_active, /obj/item/weapon/gun/energy/laser/mounted) || istype(ourborg.module_active, /obj/item/weapon/gun/energy/taser/mounted/cyborg/ertgun) || istype(ourborg.module_active, /obj/item/weapon/gun/energy/lasercannon/mounted))) ourborg.add_overlay("[sprite_icon_state]-gun") + if(has_speed_sprite && (istype(ourborg.module_active, /obj/item/borg/combat/mobility))) + ourborg.icon_state = "[sprite_icon_state]-roll" + if(has_shield_sprite) + if(ourborg.has_active_type(/obj/item/borg/combat/shield)) + var/obj/item/borg/combat/shield/shield = locate() in ourborg + if(shield && shield.active) + ourborg.add_overlay("[sprite_icon_state]-shield") + /datum/robot_sprite/dogborg/tall/combat/do_equipment_glamour(var/obj/item/weapon/robot_module/module) if(!has_custom_equipment_sprites) @@ -133,3 +142,29 @@ rest_sprite_options = list("Default") has_eye_sprites = FALSE has_eye_light_sprites = TRUE + +/datum/robot_sprite/dogborg/tall/combat/raptor + name = "Raptor V-4" + sprite_icon_state = "raptor" + sprite_hud_icon_state = "ert" + rest_sprite_options = list("Default", "Bellyup") + has_gun_sprite = TRUE + has_eye_light_sprites = TRUE + has_shield_sprite = TRUE + has_speed_sprite = TRUE + +/datum/robot_sprite/dogborg/tall/combat/raptor/get_eyes_overlay(var/mob/living/silicon/robot/ourborg) + if(istype(ourborg.module_active,/obj/item/borg/combat/mobility)) + return + else + return ..() +/datum/robot_sprite/dogborg/tall/combat/raptor/get_eye_light_overlay(var/mob/living/silicon/robot/ourborg) + if(istype(ourborg.module_active,/obj/item/borg/combat/mobility)) + return + else + return ..() +/datum/robot_sprite/dogborg/tall/combat/raptor/get_belly_overlay(var/mob/living/silicon/robot/ourborg) + if(istype(ourborg.module_active,/obj/item/borg/combat/mobility)) + return + else + return ..() diff --git a/code/modules/mob/living/silicon/robot/sprites/event.dm b/code/modules/mob/living/silicon/robot/sprites/event.dm index 71cecd56eed..681e0f2fcfb 100644 --- a/code/modules/mob/living/silicon/robot/sprites/event.dm +++ b/code/modules/mob/living/silicon/robot/sprites/event.dm @@ -47,6 +47,32 @@ sprite_icon_state = "stray" +// Tall sprites + +/datum/robot_sprite/dogborg/tall/lost + module_type = "Lost" + sprite_icon = 'icons/mob/robot/lost_large.dmi' + sprite_hud_icon_state = "lost" + + var/has_shield_sprite = FALSE + var/has_laser_sprite = FALSE + +/datum/robot_sprite/dogborg/tall/lost/handle_extra_icon_updates(var/mob/living/silicon/robot/ourborg) + if(has_laser_sprite && istype(ourborg.module_active, /obj/item/weapon/gun/energy/retro/mounted)) + ourborg.add_overlay("[sprite_icon_state]-laser") + if(has_shield_sprite) + if(ourborg.has_active_type(/obj/item/borg/combat/shield)) + var/obj/item/borg/combat/shield/shield = locate() in ourborg + if(shield && shield.active) + ourborg.add_overlay("[sprite_icon_state]-shield") + +/datum/robot_sprite/dogborg/tall/lost/raptor + name = "Raptor V-4" + sprite_icon_state = "raptor" + has_shield_sprite = TRUE + has_laser_sprite = TRUE + + // Gravekeeper // Regular sprites @@ -73,4 +99,30 @@ /datum/robot_sprite/gravekeeper/sleek name = "WTOperator" sprite_icon_state = "sleek" - has_shield_sprite = TRUE \ No newline at end of file + has_shield_sprite = TRUE + + +// Tall sprites + +/datum/robot_sprite/dogborg/tall/gravekeeper + module_type = "Gravekeeper" + sprite_icon = 'icons/mob/robot/gravekeeper_large.dmi' + sprite_hud_icon_state = "lost" + + var/has_shield_sprite = FALSE + var/has_laser_sprite = FALSE + +/datum/robot_sprite/dogborg/tall/gravekeeper/handle_extra_icon_updates(var/mob/living/silicon/robot/ourborg) + if(has_laser_sprite && istype(ourborg.module_active, /obj/item/weapon/gun/energy/retro/mounted)) + ourborg.add_overlay("[sprite_icon_state]-laser") + if(has_shield_sprite) + if(ourborg.has_active_type(/obj/item/borg/combat/shield)) + var/obj/item/borg/combat/shield/shield = locate() in ourborg + if(shield && shield.active) + ourborg.add_overlay("[sprite_icon_state]-shield") + +/datum/robot_sprite/dogborg/tall/gravekeeper/raptor + name = "Raptor V-4" + sprite_icon_state = "raptor" + has_shield_sprite = TRUE + has_laser_sprite = TRUE diff --git a/code/modules/mob/living/silicon/robot/sprites/science.dm b/code/modules/mob/living/silicon/robot/sprites/science.dm index 4443f90a198..7232bd97262 100644 --- a/code/modules/mob/living/silicon/robot/sprites/science.dm +++ b/code/modules/mob/living/silicon/robot/sprites/science.dm @@ -148,6 +148,12 @@ module_type = "Research" sprite_icon = 'icons/mob/robot/science_large.dmi' + var/has_taser_sprite = FALSE + +/datum/robot_sprite/dogborg/tall/science/handle_extra_icon_updates(var/mob/living/silicon/robot/ourborg) + if(has_taser_sprite && istype(ourborg.module_active, /obj/item/weapon/gun/energy/taser/xeno/robot)) + ourborg.add_overlay("[sprite_icon_state]-taser") + /datum/robot_sprite/dogborg/tall/science/do_equipment_glamour(var/obj/item/weapon/robot_module/module) if(!has_custom_equipment_sprites) return @@ -166,6 +172,7 @@ name = "Raptor V-4" sprite_icon_state = "raptor" has_custom_equipment_sprites = TRUE + has_taser_sprite = TRUE rest_sprite_options = list("Default", "Bellyup") /datum/robot_sprite/dogborg/tall/science/meka @@ -203,4 +210,4 @@ has_eye_light_sprites = TRUE has_custom_open_sprites = TRUE has_vore_belly_sprites = FALSE - rest_sprite_options = list("Default", "Bellyup") \ No newline at end of file + rest_sprite_options = list("Default", "Bellyup") diff --git a/code/modules/mob/living/silicon/robot/sprites/security.dm b/code/modules/mob/living/silicon/robot/sprites/security.dm index fb38d159f42..c42ea7279ed 100644 --- a/code/modules/mob/living/silicon/robot/sprites/security.dm +++ b/code/modules/mob/living/silicon/robot/sprites/security.dm @@ -182,10 +182,21 @@ module_type = "Security" sprite_icon = 'icons/mob/robot/security_large.dmi' + var/has_laser_sprite = FALSE + var/has_taser_sprite = FALSE + +/datum/robot_sprite/dogborg/tall/security/handle_extra_icon_updates(var/mob/living/silicon/robot/ourborg) + if(has_laser_sprite && istype(ourborg.module_active, /obj/item/weapon/gun/energy/laser/mounted)) + ourborg.add_overlay("[sprite_icon_state]-laser") + if(has_taser_sprite && istype(ourborg.module_active, /obj/item/weapon/gun/energy/taser/mounted/cyborg)) + ourborg.add_overlay("[sprite_icon_state]-taser") + /datum/robot_sprite/dogborg/tall/security/raptor name = "Raptor V-4" sprite_icon_state = "raptor" has_custom_equipment_sprites = TRUE + has_laser_sprite = TRUE + has_taser_sprite = TRUE rest_sprite_options = list("Default", "Bellyup") /datum/robot_sprite/dogborg/tall/security/meka @@ -223,4 +234,4 @@ has_eye_light_sprites = TRUE has_custom_open_sprites = TRUE has_vore_belly_sprites = FALSE - rest_sprite_options = list("Default", "Bellyup") \ No newline at end of file + rest_sprite_options = list("Default", "Bellyup") diff --git a/code/modules/mob/living/silicon/robot/sprites/syndicate.dm b/code/modules/mob/living/silicon/robot/sprites/syndicate.dm index 685ebce2b27..2bc63bbe066 100644 --- a/code/modules/mob/living/silicon/robot/sprites/syndicate.dm +++ b/code/modules/mob/living/silicon/robot/sprites/syndicate.dm @@ -32,11 +32,6 @@ sprite_icon = 'icons/mob/robot/syndie_large.dmi' sprite_hud_icon_state = "malf" -/datum/robot_sprite/dogborg/tall/syndie/raptor - name = "Raptor V-4" - sprite_icon_state = "raptor" - rest_sprite_options = list("Default", "Bellyup") - /datum/robot_sprite/dogborg/tall/syndie/meka name = "MEKA" sprite_icon_state = "meka" @@ -112,6 +107,25 @@ sprite_icon_state = "k9" has_eye_light_sprites = TRUE +// Tall sprites + +/datum/robot_sprite/dogborg/tall/protector + module_type = "Protector" + sprite_icon = 'icons/mob/robot/syndie_large.dmi' + sprite_hud_icon_state = "malf" + + var/has_gun_sprite = FALSE + +/datum/robot_sprite/dogborg/tall/protector/handle_extra_icon_updates(var/mob/living/silicon/robot/ourborg) + if(has_gun_sprite && istype (ourborg.module_active, /obj/item/weapon/gun/energy/dakkalaser)) + ourborg.add_overlay("[sprite_icon_state]-gun") + +/datum/robot_sprite/dogborg/tall/protector/syndiprotraptor + name = "Raptor V-4" + sprite_icon_state = "syndiprotraptor" + has_eye_light_sprites = TRUE + has_gun_sprite = TRUE + rest_sprite_options = list("Default", "Bellyup") // Mechanist @@ -143,6 +157,18 @@ has_eye_light_sprites = TRUE rest_sprite_options = list("Default") +// Tall sprites + +/datum/robot_sprite/dogborg/tall/mechanist + module_type = "Mechanist" + sprite_icon = 'icons/mob/robot/syndie_large.dmi' + sprite_hud_icon_state = "malf" + +/datum/robot_sprite/dogborg/tall/mechanist/syndimechraptor + name = "Raptor V-4" + sprite_icon_state = "syndimechraptor" + has_eye_light_sprites = TRUE + rest_sprite_options = list("Default", "Bellyup") // Combat Medic @@ -183,3 +209,16 @@ sprite_icon_state = "vale" has_eye_light_sprites = TRUE has_sleeper_light_indicator = TRUE + +// Tall sprites + +/datum/robot_sprite/dogborg/tall/combat_medic + module_type = "Combat Medic" + sprite_icon = 'icons/mob/robot/syndie_large.dmi' + sprite_hud_icon_state = "malf" + +/datum/robot_sprite/dogborg/tall/combat_medic/syndimediraptor + name = "Raptor V-4" + sprite_icon_state = "syndimediraptor" + has_eye_light_sprites = TRUE + rest_sprite_options = list("Default", "Bellyup") diff --git a/code/modules/projectiles/projectile/energy.dm b/code/modules/projectiles/projectile/energy.dm index 5e5d7f5c4ea..2309744420c 100644 --- a/code/modules/projectiles/projectile/energy.dm +++ b/code/modules/projectiles/projectile/energy.dm @@ -273,7 +273,7 @@ /obj/item/projectile/energy/blue_pellet name = "suppressive pellet" icon_state = "blue_pellet" - fire_sound = 'sound/weapons/Laser.ogg' + fire_sound = 'sound/weapons/Laser4.ogg' damage = 5 armor_penetration = 75 pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE @@ -334,4 +334,4 @@ /obj/item/projectile/energy/flash/flare flash_range = 2 - hud_state = "grenade_dummy" \ No newline at end of file + hud_state = "grenade_dummy" diff --git a/icons/mob/robot/combat_large.dmi b/icons/mob/robot/combat_large.dmi index 0319962e5f4..7f654ef73e1 100644 Binary files a/icons/mob/robot/combat_large.dmi and b/icons/mob/robot/combat_large.dmi differ diff --git a/icons/mob/robot/crisis_large.dmi b/icons/mob/robot/crisis_large.dmi index ff9cfbbf415..c14ec16a115 100644 Binary files a/icons/mob/robot/crisis_large.dmi and b/icons/mob/robot/crisis_large.dmi differ diff --git a/icons/mob/robot/engineering_large.dmi b/icons/mob/robot/engineering_large.dmi index 74986efb5c9..611d26eee79 100644 Binary files a/icons/mob/robot/engineering_large.dmi and b/icons/mob/robot/engineering_large.dmi differ diff --git a/icons/mob/robot/gravekeeper_large.dmi b/icons/mob/robot/gravekeeper_large.dmi new file mode 100644 index 00000000000..ead49b5d1cd Binary files /dev/null and b/icons/mob/robot/gravekeeper_large.dmi differ diff --git a/icons/mob/robot/janitor_large.dmi b/icons/mob/robot/janitor_large.dmi index 178d861f5c8..ef28836268e 100644 Binary files a/icons/mob/robot/janitor_large.dmi and b/icons/mob/robot/janitor_large.dmi differ diff --git a/icons/mob/robot/lost_large.dmi b/icons/mob/robot/lost_large.dmi new file mode 100644 index 00000000000..981b301c38e Binary files /dev/null and b/icons/mob/robot/lost_large.dmi differ diff --git a/icons/mob/robot/mining_large.dmi b/icons/mob/robot/mining_large.dmi index 685076d204e..5258bc66979 100644 Binary files a/icons/mob/robot/mining_large.dmi and b/icons/mob/robot/mining_large.dmi differ diff --git a/icons/mob/robot/science_large.dmi b/icons/mob/robot/science_large.dmi index 389a4856aea..28bc4c04948 100644 Binary files a/icons/mob/robot/science_large.dmi and b/icons/mob/robot/science_large.dmi differ diff --git a/icons/mob/robot/security_large.dmi b/icons/mob/robot/security_large.dmi index 6f891fb185f..d7dc24fe5e2 100644 Binary files a/icons/mob/robot/security_large.dmi and b/icons/mob/robot/security_large.dmi differ diff --git a/icons/mob/robot/service_large.dmi b/icons/mob/robot/service_large.dmi index 9fe00af4dd6..1844e60bfab 100644 Binary files a/icons/mob/robot/service_large.dmi and b/icons/mob/robot/service_large.dmi differ diff --git a/icons/mob/robot/surgical_large.dmi b/icons/mob/robot/surgical_large.dmi index 9928442c4c0..5b7d22835f7 100644 Binary files a/icons/mob/robot/surgical_large.dmi and b/icons/mob/robot/surgical_large.dmi differ diff --git a/icons/mob/robot/syndie_large.dmi b/icons/mob/robot/syndie_large.dmi index 3a0db17d6e3..90edf7aa895 100644 Binary files a/icons/mob/robot/syndie_large.dmi and b/icons/mob/robot/syndie_large.dmi differ diff --git a/sound/weapons/Laser4.ogg b/sound/weapons/Laser4.ogg new file mode 100644 index 00000000000..2a3929356d0 Binary files /dev/null and b/sound/weapons/Laser4.ogg differ