Merge pull request #6532 from Citadel-Station-13/upstream-merge-37373
[MIRROR] Fixes missing augmentation hands
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user