diff --git a/code/modules/surgery/organs/organ_external.dm b/code/modules/surgery/organs/organ_external.dm index f9eb942d7fa..023f5078947 100644 --- a/code/modules/surgery/organs/organ_external.dm +++ b/code/modules/surgery/organs/organ_external.dm @@ -831,7 +831,7 @@ Note that amputating the affected organ does in fact remove the infection from t AddComponent(/datum/component/surgery_initiator/limb, forced_surgery = /datum/surgery/reattach_synth) if(company && istext(company)) - set_company(company) + set_company(company, owner.dna.species.sprite_sheet_name) limb_flags |= CANNOT_BREAK get_icon() @@ -841,11 +841,14 @@ Note that amputating the affected organ does in fact remove the infection from t -/obj/item/organ/external/proc/set_company(company) +/obj/item/organ/external/proc/set_company(company, species_sheet_name) model = company var/datum/robolimb/R = GLOB.all_robolimbs[company] if(R) - force_icon = R.icon + if(length(R.sprite_sheets)) // Species specific augmented limbs + force_icon = R.sprite_sheets[species_sheet_name] + else + force_icon = R.icon name = "[R.company] [initial(name)]" desc = "[R.desc]" diff --git a/code/modules/surgery/organs/robolimbs.dm b/code/modules/surgery/organs/robolimbs.dm index d8037ad8066..28b257a35d4 100644 --- a/code/modules/surgery/organs/robolimbs.dm +++ b/code/modules/surgery/organs/robolimbs.dm @@ -6,6 +6,7 @@ GLOBAL_DATUM(basic_robolimb, /datum/robolimb) var/company = "Unbranded" // Shown when selecting the limb. var/desc = "A generic unbranded robotic prosthesis." // Seen when examining a limb. var/icon = 'icons/mob/human_races/robotic.dmi' // Icon base to draw from. + var/list/sprite_sheets = null // Species specific icons to draw from. Path formats is... [icons/mob/human_races/{species}/cyberlimbs/{company}.dmi] var/unavailable_at_chargen // If set, not available at chargen. var/selectable = 1 // If set, is it available for selection on attack_self with a robo limb? var/is_monitor // If set, limb is a monitor and should be getting monitor styles. @@ -16,6 +17,7 @@ GLOBAL_DATUM(basic_robolimb, /datum/robolimb) company = "Bishop Cybernetics" desc = "This limb has a white polymer casing with blue holo-displays." icon = 'icons/mob/human_races/cyberlimbs/bishop/bishop_main.dmi' + sprite_sheets = list("Vox" = 'icons/mob/human_races/vox/cyberlimbs/wardtakahashi.dmi') has_subtypes = 1 /datum/robolimb/bishop/alt1 @@ -37,6 +39,7 @@ GLOBAL_DATUM(basic_robolimb, /datum/robolimb) company = "Hesphiastos Industries" desc = "This limb has a militaristic black and green casing with gold stripes." icon = 'icons/mob/human_races/cyberlimbs/hesphiastos/hesphiastos_main.dmi' + sprite_sheets = list("Vox" = 'icons/mob/human_races/vox/cyberlimbs/hesphiastos.dmi') has_subtypes = 1 /datum/robolimb/hesphiastos/alt1 @@ -59,6 +62,7 @@ GLOBAL_DATUM(basic_robolimb, /datum/robolimb) company = "Morpheus Cyberkinetics" desc = "This limb is simple and functional; no effort has been made to make it look human." icon = 'icons/mob/human_races/cyberlimbs/morpheus/morpheus_main.dmi' + sprite_sheets = list("Vox" = 'icons/mob/human_races/vox/cyberlimbs/wardtakahashi.dmi') unavailable_at_chargen = 1 is_monitor = 1 has_subtypes = 1 @@ -77,6 +81,7 @@ GLOBAL_DATUM(basic_robolimb, /datum/robolimb) company = "Ward-Takahashi" desc = "This limb features sleek black and white polymers." icon = 'icons/mob/human_races/cyberlimbs/wardtakahashi/wardtakahashi_main.dmi' + sprite_sheets = list("Vox" = 'icons/mob/human_races/vox/cyberlimbs/wardtakahashi.dmi') has_subtypes = 1 /datum/robolimb/wardtakahashi/alt1 @@ -98,6 +103,7 @@ GLOBAL_DATUM(basic_robolimb, /datum/robolimb) company = "Xion Manufacturing Group" desc = "This limb has a minimalist black and red casing." icon = 'icons/mob/human_races/cyberlimbs/xion/xion_main.dmi' + sprite_sheets = list("Vox" = 'icons/mob/human_races/vox/cyberlimbs/wardtakahashi.dmi') has_subtypes = 1 /datum/robolimb/xion/alt1 @@ -119,12 +125,14 @@ GLOBAL_DATUM(basic_robolimb, /datum/robolimb) company = "Zeng-Hu Pharmaceuticals" desc = "This limb has a rubbery fleshtone covering with visible seams." icon = 'icons/mob/human_races/cyberlimbs/zenghu/zenghu_main.dmi' + sprite_sheets = list("Vox" = 'icons/mob/human_races/vox/cyberlimbs/wardtakahashi.dmi') has_subtypes = 2 /datum/robolimb/shellguard company = "Shellguard Munitions Standard Series" desc = "This limb features exposed robust steel and paint to match Shellguards motifs." icon = 'icons/mob/human_races/cyberlimbs/shellguard/shellguard_main.dmi' + sprite_sheets = list("Vox" = 'icons/mob/human_races/vox/cyberlimbs/shellguard.dmi') has_subtypes = 1 /datum/robolimb/shellguard/alt1 diff --git a/icons/mob/human_races/vox/cyberlimbs/hesphiastos.dmi b/icons/mob/human_races/vox/cyberlimbs/hesphiastos.dmi new file mode 100644 index 00000000000..f0d1fc6b7cd Binary files /dev/null and b/icons/mob/human_races/vox/cyberlimbs/hesphiastos.dmi differ diff --git a/icons/mob/human_races/vox/cyberlimbs/shellguard.dmi b/icons/mob/human_races/vox/cyberlimbs/shellguard.dmi new file mode 100644 index 00000000000..49bc6d8b432 Binary files /dev/null and b/icons/mob/human_races/vox/cyberlimbs/shellguard.dmi differ diff --git a/icons/mob/human_races/vox/cyberlimbs/wardtakahashi.dmi b/icons/mob/human_races/vox/cyberlimbs/wardtakahashi.dmi new file mode 100644 index 00000000000..b30441cb8c3 Binary files /dev/null and b/icons/mob/human_races/vox/cyberlimbs/wardtakahashi.dmi differ