diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index 610c257b03f..27d27b11a9b 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -4,6 +4,10 @@ var/radio_desc = "" icon_state = "headset" item_state = "headset" + sprite_sheets = list( + "Vox" = 'icons/mob/species/vox/ears.dmi', + "Vox Armalis" = 'icons/mob/species/armalis/ears.dmi' + ) //We read you loud and skree-er. materials = list(MAT_METAL=75) subspace_transmission = TRUE canhear_range = 0 // can't hear headsets from very far away diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm index bbf157ae4d7..ddae7d87f85 100644 --- a/code/game/objects/items/weapons/storage/backpack.dm +++ b/code/game/objects/items/weapons/storage/backpack.dm @@ -19,8 +19,9 @@ burntime = 20 sprite_sheets = list( "Vox" = 'icons/mob/species/vox/back.dmi', + "Vox Armalis" = 'icons/mob/species/armalis/back.dmi', "Grey" = 'icons/mob/species/grey/back.dmi' - ) + ) //For Armalis anything but this and the nitrogen tank will use the default backpack icon. /obj/item/storage/backpack/attackby(obj/item/W as obj, mob/user as mob, params) playsound(src.loc, "rustle", 50, 1, -5) diff --git a/code/game/objects/items/weapons/tanks/tank_types.dm b/code/game/objects/items/weapons/tanks/tank_types.dm index d3814b1af98..047f3d4ef3a 100644 --- a/code/game/objects/items/weapons/tanks/tank_types.dm +++ b/code/game/objects/items/weapons/tanks/tank_types.dm @@ -189,7 +189,7 @@ obj/item/tank/emergency_oxygen/double/empty/New() desc = "A tank of nitrogen." icon_state = "oxygen_fr" distribute_pressure = ONE_ATMOSPHERE*O2STANDARD - + sprite_sheets = list("Vox Armalis" = 'icons/mob/species/armalis/back.dmi') //Do it for Big Bird. /obj/item/tank/nitrogen/New() ..() @@ -206,6 +206,7 @@ obj/item/tank/emergency_oxygen/double/empty/New() desc = "A high-tech nitrogen tank designed specifically for Vox." icon_state = "emergency_vox" volume = 25 + sprite_sheets = list("Vox Armalis" = 'icons/mob/species/armalis/belt.dmi') //Do it for Big Bird. /obj/item/tank/emergency_oxygen/vox/New() ..() diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 4bbf68b4b7f..bea1f7bfaf2 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -90,6 +90,10 @@ throwforce = 2 slot_flags = SLOT_EARS burn_state = FIRE_PROOF + sprite_sheets = list( + "Vox" = 'icons/mob/species/vox/ears.dmi', + "Vox Armalis" = 'icons/mob/species/armalis/ears.dmi' + ) //We read you loud and skree-er. /obj/item/clothing/ears/attack_hand(mob/user) if(!user) diff --git a/code/modules/clothing/ears/ears.dm b/code/modules/clothing/ears/ears.dm index 2e3a1d40bda..74164f0e245 100644 --- a/code/modules/clothing/ears/ears.dm +++ b/code/modules/clothing/ears/ears.dm @@ -14,7 +14,7 @@ desc = "Unce unce unce unce." var/on = 0 icon_state = "headphones0" - item_state = "earmuffs" + item_state = null actions_types = list(/datum/action/item_action/toggle_headphones) burn_state = FLAMMABLE diff --git a/code/modules/clothing/masks/breath.dm b/code/modules/clothing/masks/breath.dm index df229f5b9c3..638aa3c2c84 100644 --- a/code/modules/clothing/masks/breath.dm +++ b/code/modules/clothing/masks/breath.dm @@ -12,6 +12,7 @@ burn_state = FIRE_PROOF sprite_sheets = list( "Vox" = 'icons/mob/species/vox/mask.dmi', + "Vox Armalis" = 'icons/mob/species/armalis/mask.dmi', "Unathi" = 'icons/mob/species/unathi/mask.dmi', "Tajaran" = 'icons/mob/species/tajaran/mask.dmi', "Vulpkanin" = 'icons/mob/species/vulpkanin/mask.dmi', @@ -43,7 +44,7 @@ icon_state = "voxmask" item_state = "voxmask" permeability_coefficient = 0.01 - species_restricted = list("Vox") + species_restricted = list("Vox", "Vox Armalis") //These should fit the "Mega Vox" just fine. actions_types = list() /obj/item/clothing/mask/breath/vox/attack_self(var/mob/user) diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index d573d2a8191..83d77896459 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -717,12 +717,13 @@ var/global/list/damage_icon_parts = list() l_ear.screen_loc = ui_l_ear //...draw the item in the inventory screen client.screen += l_ear //Either way, add the item to the HUD - var/t_type = l_ear.icon_state + var/t_type = l_ear.item_state + if(!t_type) + t_type = l_ear.icon_state if(l_ear.icon_override) t_type = "[t_type]_l" overlays_standing[EARS_LAYER] = mutable_appearance(l_ear.icon_override, "[t_type]", layer = -EARS_LAYER) else if(l_ear.sprite_sheets && l_ear.sprite_sheets[dna.species.name]) - t_type = "[t_type]_l" overlays_standing[EARS_LAYER] = mutable_appearance(l_ear.sprite_sheets[dna.species.name], "[t_type]", layer = -EARS_LAYER) else overlays_standing[EARS_LAYER] = mutable_appearance('icons/mob/ears.dmi', "[t_type]", layer = -EARS_LAYER) @@ -733,12 +734,13 @@ var/global/list/damage_icon_parts = list() r_ear.screen_loc = ui_r_ear //...draw the item in the inventory screen client.screen += r_ear //Either way, add the item to the HUD - var/t_type = r_ear.icon_state + var/t_type = r_ear.item_state + if(!t_type) + t_type = r_ear.icon_state if(r_ear.icon_override) t_type = "[t_type]_r" overlays_standing[EARS_LAYER] = mutable_appearance(r_ear.icon_override, "[t_type]", layer = -EARS_LAYER) else if(r_ear.sprite_sheets && r_ear.sprite_sheets[dna.species.name]) - t_type = "[t_type]_r" overlays_standing[EARS_LAYER] = mutable_appearance(r_ear.sprite_sheets[dna.species.name], "[t_type]", layer = -EARS_LAYER) else overlays_standing[EARS_LAYER] = mutable_appearance('icons/mob/ears.dmi', "[t_type]", layer = -EARS_LAYER) @@ -1017,9 +1019,14 @@ var/global/list/damage_icon_parts = list() if(!t_state) t_state = r_hand.icon_state - var/mutable_appearance/I = mutable_appearance(r_hand.righthand_file, "[t_state]", layer = -R_HAND_LAYER) - I = center_image(I, r_hand.inhand_x_dimension, r_hand.inhand_y_dimension) - overlays_standing[R_HAND_LAYER] = I + var/mutable_appearance/standing + if(r_hand.sprite_sheets && r_hand.sprite_sheets[dna.species.name]) + t_state = "[t_state]_r" + standing = mutable_appearance(r_hand.sprite_sheets[dna.species.name], "[t_state]", layer = -R_HAND_LAYER) + else + standing = mutable_appearance(r_hand.righthand_file, "[t_state]", layer = -R_HAND_LAYER) + standing = center_image(standing, r_hand.inhand_x_dimension, r_hand.inhand_y_dimension) + overlays_standing[R_HAND_LAYER] = standing apply_overlay(R_HAND_LAYER) @@ -1031,9 +1038,14 @@ var/global/list/damage_icon_parts = list() if(!t_state) t_state = l_hand.icon_state - var/mutable_appearance/I = mutable_appearance(l_hand.lefthand_file, "[t_state]", layer = -L_HAND_LAYER) - I = center_image(I, l_hand.inhand_x_dimension, l_hand.inhand_y_dimension) - overlays_standing[L_HAND_LAYER] = I + var/mutable_appearance/standing + if(l_hand.sprite_sheets && l_hand.sprite_sheets[dna.species.name]) + t_state = "[t_state]_l" + standing = mutable_appearance(l_hand.sprite_sheets[dna.species.name], "[t_state]", layer = -L_HAND_LAYER) + else + standing = mutable_appearance(l_hand.lefthand_file, "[t_state]", layer = -L_HAND_LAYER) + standing = center_image(standing, l_hand.inhand_x_dimension, l_hand.inhand_y_dimension) + overlays_standing[L_HAND_LAYER] = standing apply_overlay(L_HAND_LAYER) //human HUD updates for items in our inventory diff --git a/code/modules/projectiles/guns/alien.dm b/code/modules/projectiles/guns/alien.dm index 2a20e7e6c81..36bba8f3112 100644 --- a/code/modules/projectiles/guns/alien.dm +++ b/code/modules/projectiles/guns/alien.dm @@ -80,6 +80,7 @@ ammo_type = list(/obj/item/ammo_casing/energy/sonic) cell_type = /obj/item/stock_parts/cell/super restricted_species = list(/datum/species/vox/armalis) + sprite_sheets = list("Vox Armalis" = 'icons/mob/species/armalis/held.dmi') /obj/item/gun/energy/noisecannon/update_icon() return diff --git a/icons/mob/species/armalis/back.dmi b/icons/mob/species/armalis/back.dmi new file mode 100644 index 00000000000..31f4f21f812 Binary files /dev/null and b/icons/mob/species/armalis/back.dmi differ diff --git a/icons/mob/species/armalis/belt.dmi b/icons/mob/species/armalis/belt.dmi new file mode 100644 index 00000000000..2aba8e97d8a Binary files /dev/null and b/icons/mob/species/armalis/belt.dmi differ diff --git a/icons/mob/species/armalis/ears.dmi b/icons/mob/species/armalis/ears.dmi new file mode 100644 index 00000000000..f88c03feae5 Binary files /dev/null and b/icons/mob/species/armalis/ears.dmi differ diff --git a/icons/mob/species/armalis/mask.dmi b/icons/mob/species/armalis/mask.dmi new file mode 100644 index 00000000000..e97eb74f8e0 Binary files /dev/null and b/icons/mob/species/armalis/mask.dmi differ diff --git a/icons/mob/species/vox/ears.dmi b/icons/mob/species/vox/ears.dmi new file mode 100644 index 00000000000..b09c349cae9 Binary files /dev/null and b/icons/mob/species/vox/ears.dmi differ