diff --git a/code/modules/mob/living/silicon/robot/sprites/combat.dm b/code/modules/mob/living/silicon/robot/sprites/combat.dm index 17e5045513..f7658ec6d2 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 @@ -93,10 +92,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) @@ -136,3 +145,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 71cecd56ee..681e0f2fcf 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 34bea5baff..f6f58b639f 100644 --- a/code/modules/mob/living/silicon/robot/sprites/science.dm +++ b/code/modules/mob/living/silicon/robot/sprites/science.dm @@ -150,11 +150,15 @@ /datum/robot_sprite/dogborg/tall/science module_type = "Research" sprite_icon = 'icons/mob/robot/science_large.dmi' + var/has_taser_sprite = FALSE -/datum/robot_sprite/dogborg/raptor/science/do_equipment_glamour(var/obj/item/weapon/robot_module/module) //CHOMPEdit - changed typepath +/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 - ..() var/obj/item/weapon/shockpaddles/robot/jumper/J = locate() in module.modules @@ -169,6 +173,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 diff --git a/code/modules/mob/living/silicon/robot/sprites/security.dm b/code/modules/mob/living/silicon/robot/sprites/security.dm index 2a317f4985..149693fea5 100644 --- a/code/modules/mob/living/silicon/robot/sprites/security.dm +++ b/code/modules/mob/living/silicon/robot/sprites/security.dm @@ -185,10 +185,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 diff --git a/code/modules/mob/living/silicon/robot/sprites/syndicate.dm b/code/modules/mob/living/silicon/robot/sprites/syndicate.dm index 685ebce2b2..2bc63bbe06 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 4f8b0be69a..91178a085f 100644 --- a/code/modules/projectiles/projectile/energy.dm +++ b/code/modules/projectiles/projectile/energy.dm @@ -275,7 +275,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 diff --git a/icons/mob/robot/combat_large.dmi b/icons/mob/robot/combat_large.dmi index 0319962e5f..7f654ef73e 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 ff9cfbbf41..c14ec16a11 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 74986efb5c..611d26eee7 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 0000000000..ead49b5d1c 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 178d861f5c..ef28836268 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 0000000000..981b301c38 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 685076d204..5258bc6697 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 389a4856ae..28bc4c0494 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 6f891fb185..d7dc24fe5e 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 9fe00af4dd..1844e60bfa 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 9928442c4c..5b7d22835f 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 3a0db17d6e..90edf7aa89 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 0000000000..2a3929356d Binary files /dev/null and b/sound/weapons/Laser4.ogg differ