Merge pull request #6532 from Citadel-Station-13/upstream-merge-37373

[MIRROR] Fixes missing augmentation hands
This commit is contained in:
deathride58
2018-04-27 09:42:46 +00:00
committed by GitHub
9 changed files with 24 additions and 18 deletions
+13 -7
View File
@@ -219,6 +219,9 @@
owner.update_hair()
owner.update_damage_overlays()
/obj/item/bodypart/proc/is_organic_limb()
return (status == BODYPART_ORGANIC)
//we inform the bodypart of the changes that happened to the owner, or give it the informations from a source mob.
/obj/item/bodypart/proc/update_limb(dropping_limb, mob/living/carbon/source)
var/mob/living/carbon/C
@@ -227,17 +230,17 @@
if(!original_owner)
original_owner = source
else if(original_owner && owner != original_owner) //Foreign limb
no_update = 1
no_update = TRUE
else
C = owner
no_update = 0
no_update = FALSE
if(C.has_trait(TRAIT_HUSK))
if(C.has_trait(TRAIT_HUSK) && is_organic_limb())
species_id = "husk" //overrides species_id
dmg_overlay_type = "" //no damage overlay shown when husked
should_draw_gender = FALSE
should_draw_greyscale = FALSE
no_update = 1
no_update = TRUE
if(no_update)
return
@@ -282,7 +285,7 @@
dmg_overlay_type = "robotic"
if(dropping_limb)
no_update = 1 //when attached, the limb won't be affected by the appearance changes of its mob owner.
no_update = TRUE //when attached, the limb won't be affected by the appearance changes of its mob owner.
//to update the bodypart's icon when not attached to a mob
/obj/item/bodypart/proc/update_icon_dropped()
@@ -316,7 +319,7 @@
. += limb
if(animal_origin)
if(status == BODYPART_ORGANIC)
if(is_organic_limb())
limb.icon = 'icons/mob/animal_parts.dmi'
if(species_id == "husk")
limb.icon_state = "[animal_origin]_husk_[body_zone]"
@@ -332,7 +335,7 @@
if((body_zone != BODY_ZONE_HEAD && body_zone != BODY_ZONE_CHEST))
should_draw_gender = FALSE
if(status == BODYPART_ORGANIC)
if(is_organic_limb())
if(should_draw_greyscale)
limb.icon = 'icons/mob/human_parts_greyscale.dmi'
if(should_draw_gender)
@@ -365,6 +368,9 @@
limb.icon_state = "[body_zone]_[icon_gender]"
else
limb.icon_state = "[body_zone]"
if(aux_zone)
aux = image(limb.icon, "[aux_zone]", -aux_layer, image_dir)
. += aux
return
@@ -6,12 +6,16 @@
#define ROBOTIC_MEDIUM_BURN_MSG "charred"
#define ROBOTIC_HEAVY_BURN_MSG "smoldering"
//For ye whom may venture here, split up arm / hand sprites are formatted as "l_hand" & "l_arm".
//The complete sprite (displayed when the limb is on the ground) should be named "borg_l_arm".
//Failure to follow this pattern will cause the hand's icons to be missing due to the way get_limb_icon() works to generate the mob's icons using the aux_zone var.
/obj/item/bodypart/l_arm/robot
name = "cyborg left arm"
desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case."
attack_verb = list("slapped", "punched")
item_state = "buildpipe"
icon = 'icons/obj/robot_parts.dmi'
icon = 'icons/mob/augmentation/augments.dmi'
flags_1 = CONDUCT_1
icon_state = "borg_l_arm"
status = BODYPART_ROBOTIC
@@ -29,7 +33,7 @@
desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case."
attack_verb = list("slapped", "punched")
item_state = "buildpipe"
icon = 'icons/obj/robot_parts.dmi'
icon = 'icons/mob/augmentation/augments.dmi'
flags_1 = CONDUCT_1
icon_state = "borg_r_arm"
status = BODYPART_ROBOTIC
@@ -47,7 +51,7 @@
desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case."
attack_verb = list("kicked", "stomped")
item_state = "buildpipe"
icon = 'icons/obj/robot_parts.dmi'
icon = 'icons/mob/augmentation/augments.dmi'
flags_1 = CONDUCT_1
icon_state = "borg_l_leg"
status = BODYPART_ROBOTIC
@@ -65,7 +69,7 @@
desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case."
attack_verb = list("kicked", "stomped")
item_state = "buildpipe"
icon = 'icons/obj/robot_parts.dmi'
icon = 'icons/mob/augmentation/augments.dmi'
flags_1 = CONDUCT_1
icon_state = "borg_r_leg"
status = BODYPART_ROBOTIC
@@ -82,7 +86,7 @@
name = "cyborg torso"
desc = "A heavily reinforced case containing cyborg logic boards, with space for a standard power cell."
item_state = "buildpipe"
icon = 'icons/obj/robot_parts.dmi'
icon = 'icons/mob/augmentation/augments.dmi'
flags_1 = CONDUCT_1
icon_state = "borg_chest"
status = BODYPART_ROBOTIC
@@ -141,7 +145,7 @@
name = "cyborg head"
desc = "A standard reinforced braincase, with spine-plugged neural socket and sensor gimbals."
item_state = "buildpipe"
icon = 'icons/obj/robot_parts.dmi'
icon = 'icons/mob/augmentation/augments.dmi'
flags_1 = CONDUCT_1
icon_state = "borg_head"
status = BODYPART_ROBOTIC
@@ -218,28 +222,24 @@
name = "surplus prosthetic left arm"
desc = "A skeletal, robotic limb. Outdated and fragile, but it's still better than nothing."
icon = 'icons/mob/augmentation/surplus_augments.dmi'
icon_state = "l_arm"
max_damage = 20
/obj/item/bodypart/r_arm/robot/surplus
name = "surplus prosthetic right arm"
desc = "A skeletal, robotic limb. Outdated and fragile, but it's still better than nothing."
icon = 'icons/mob/augmentation/surplus_augments.dmi'
icon_state = "r_arm"
max_damage = 20
/obj/item/bodypart/l_leg/robot/surplus
name = "surplus prosthetic left leg"
desc = "A skeletal, robotic limb. Outdated and fragile, but it's still better than nothing."
icon = 'icons/mob/augmentation/surplus_augments.dmi'
icon_state = "l_leg"
max_damage = 20
/obj/item/bodypart/r_leg/robot/surplus
name = "surplus prosthetic right leg"
desc = "A skeletal, robotic limb. Outdated and fragile, but it's still better than nothing."
icon = 'icons/mob/augmentation/surplus_augments.dmi'
icon_state = "r_leg"
max_damage = 20