Merge branch 'master' into robotic-limbs-PT2
This commit is contained in:
@@ -488,12 +488,12 @@
|
||||
//Checks disabled status thresholds
|
||||
|
||||
//Checks disabled status thresholds
|
||||
/obj/item/bodypart/proc/update_disabled()
|
||||
/obj/item/bodypart/proc/update_disabled(silent = FALSE)
|
||||
if(!owner)
|
||||
return
|
||||
set_disabled(is_disabled())
|
||||
set_disabled(is_disabled(silent), silent)
|
||||
|
||||
/obj/item/bodypart/proc/is_disabled()
|
||||
/obj/item/bodypart/proc/is_disabled(silent = FALSE)
|
||||
if(!owner)
|
||||
return
|
||||
if(HAS_TRAIT(owner, TRAIT_PARALYSIS))
|
||||
@@ -505,7 +505,7 @@
|
||||
if(can_dismember() && !HAS_TRAIT(owner, TRAIT_NODISMEMBER))
|
||||
. = disabled //inertia, to avoid limbs healing 0.1 damage and being re-enabled
|
||||
if(get_damage(TRUE) >= max_damage * (HAS_TRAIT(owner, TRAIT_EASYLIMBDISABLE) ? 0.6 : 1)) //Easy limb disable disables the limb at 40% health instead of 0%
|
||||
if(!last_maxed)
|
||||
if(!last_maxed && !silent)
|
||||
owner.emote("scream")
|
||||
last_maxed = TRUE
|
||||
if(!is_organic_limb(FALSE) || stamina_dam >= max_damage)
|
||||
|
||||
@@ -161,7 +161,7 @@
|
||||
debrain_overlay.icon = 'icons/mob/animal_parts.dmi'
|
||||
debrain_overlay.icon_state = "debrained_larva"
|
||||
else if(!(NOBLOOD in species_flags_list))
|
||||
debrain_overlay.icon = 'icons/mob/human_face.dmi'
|
||||
debrain_overlay.icon = 'icons/mob/human_parts.dmi'
|
||||
debrain_overlay.icon_state = "debrained"
|
||||
. += debrain_overlay
|
||||
else
|
||||
@@ -175,21 +175,31 @@
|
||||
|
||||
// lipstick
|
||||
if(lip_style)
|
||||
var/image/lips_overlay = image('icons/mob/human_face.dmi', "lips_[lip_style]", -BODY_LAYER, SOUTH)
|
||||
var/image/lips_overlay = image('icons/mob/lips.dmi', "lips_[lip_style]", -BODY_LAYER, SOUTH)
|
||||
lips_overlay.color = lip_color
|
||||
. += lips_overlay
|
||||
|
||||
// eyes
|
||||
if(eyes)
|
||||
var/image/left_eye = image('icons/mob/human_face.dmi', "left_eye", -BODY_LAYER, SOUTH)
|
||||
var/image/right_eye = image('icons/mob/human_face.dmi', "right_eye", -BODY_LAYER, SOUTH)
|
||||
if(eyes.left_eye_color && eyes.right_eye_color)
|
||||
left_eye.color = "#" + eyes.left_eye_color
|
||||
right_eye.color = "#" + eyes.right_eye_color
|
||||
. += left_eye
|
||||
. += right_eye
|
||||
var/left_state = DEFAULT_LEFT_EYE_STATE
|
||||
var/right_state = DEFAULT_RIGHT_EYE_STATE
|
||||
if(owner && owner.dna.species)
|
||||
var/eye_type = owner.dna.species.eye_type
|
||||
if(GLOB.eye_types[eye_type])
|
||||
left_state = eye_type + "_left_eye"
|
||||
right_state = eye_type + "_right_eye"
|
||||
if(left_state != DEFAULT_NO_EYE_STATE)
|
||||
var/image/left_eye = image('icons/mob/hair.dmi', left_state, -BODY_LAYER, SOUTH)
|
||||
if(eyes.left_eye_color)
|
||||
left_eye.color = "#" + eyes.left_eye_color
|
||||
. += left_eye
|
||||
if(right_state != DEFAULT_NO_EYE_STATE)
|
||||
var/image/right_eye = image('icons/mob/hair.dmi', right_state, -BODY_LAYER, SOUTH)
|
||||
if(eyes.right_eye_color)
|
||||
right_eye.color = "#" + eyes.right_eye_color
|
||||
. += right_eye
|
||||
else
|
||||
var/eyes_overlay = image('icons/mob/human_face.dmi', "eyes_missing", -BODY_LAYER, SOUTH)
|
||||
var/eyes_overlay = image('icons/mob/hair.dmi', "eyes_missing", -BODY_LAYER, SOUTH)
|
||||
. += eyes_overlay
|
||||
|
||||
/obj/item/bodypart/head/monkey
|
||||
|
||||
@@ -75,11 +75,11 @@
|
||||
return BODYPART_DISABLED_PARALYSIS
|
||||
return ..()
|
||||
|
||||
/obj/item/bodypart/l_arm/set_disabled(new_disabled)
|
||||
/obj/item/bodypart/l_arm/set_disabled(new_disabled, silent = FALSE)
|
||||
. = ..()
|
||||
if(!.)
|
||||
return
|
||||
if(owner.stat < UNCONSCIOUS)
|
||||
if(owner.stat < UNCONSCIOUS && !silent)
|
||||
switch(disabled)
|
||||
if(BODYPART_DISABLED_DAMAGE)
|
||||
owner.emote("scream")
|
||||
@@ -136,11 +136,11 @@
|
||||
return BODYPART_DISABLED_PARALYSIS
|
||||
return ..()
|
||||
|
||||
/obj/item/bodypart/r_arm/set_disabled(new_disabled)
|
||||
/obj/item/bodypart/r_arm/set_disabled(new_disabled, silent = FALSE)
|
||||
. = ..()
|
||||
if(!.)
|
||||
return
|
||||
if(owner.stat < UNCONSCIOUS)
|
||||
if(owner.stat < UNCONSCIOUS && !silent)
|
||||
switch(disabled)
|
||||
if(BODYPART_DISABLED_DAMAGE)
|
||||
owner.emote("scream")
|
||||
@@ -196,16 +196,17 @@
|
||||
return BODYPART_DISABLED_PARALYSIS
|
||||
return ..()
|
||||
|
||||
/obj/item/bodypart/l_leg/set_disabled(new_disabled)
|
||||
/obj/item/bodypart/l_leg/set_disabled(new_disabled, silent = FALSE)
|
||||
. = ..()
|
||||
if(!. || owner.stat >= UNCONSCIOUS)
|
||||
return
|
||||
switch(disabled)
|
||||
if(BODYPART_DISABLED_DAMAGE)
|
||||
owner.emote("scream")
|
||||
to_chat(owner, "<span class='userdanger'>Your [name] is too damaged to function!</span>")
|
||||
if(BODYPART_DISABLED_PARALYSIS)
|
||||
to_chat(owner, "<span class='userdanger'>You can't feel your [name]!</span>")
|
||||
if(!silent)
|
||||
switch(disabled)
|
||||
if(BODYPART_DISABLED_DAMAGE)
|
||||
owner.emote("scream")
|
||||
to_chat(owner, "<span class='userdanger'>Your [name] is too damaged to function!</span>")
|
||||
if(BODYPART_DISABLED_PARALYSIS)
|
||||
to_chat(owner, "<span class='userdanger'>You can't feel your [name]!</span>")
|
||||
|
||||
/obj/item/bodypart/l_leg/digitigrade
|
||||
name = "left digitigrade leg"
|
||||
@@ -253,16 +254,17 @@
|
||||
return BODYPART_DISABLED_PARALYSIS
|
||||
return ..()
|
||||
|
||||
/obj/item/bodypart/r_leg/set_disabled(new_disabled)
|
||||
/obj/item/bodypart/r_leg/set_disabled(new_disabled, silent = FALSE)
|
||||
. = ..()
|
||||
if(!. || owner.stat >= UNCONSCIOUS)
|
||||
return
|
||||
switch(disabled)
|
||||
if(BODYPART_DISABLED_DAMAGE)
|
||||
owner.emote("scream")
|
||||
to_chat(owner, "<span class='userdanger'>Your [name] is too damaged to function!</span>")
|
||||
if(BODYPART_DISABLED_PARALYSIS)
|
||||
to_chat(owner, "<span class='userdanger'>You can't feel your [name]!</span>")
|
||||
if(!silent)
|
||||
switch(disabled)
|
||||
if(BODYPART_DISABLED_DAMAGE)
|
||||
owner.emote("scream")
|
||||
to_chat(owner, "<span class='userdanger'>Your [name] is too damaged to function!</span>")
|
||||
if(BODYPART_DISABLED_PARALYSIS)
|
||||
to_chat(owner, "<span class='userdanger'>You can't feel your [name]!</span>")
|
||||
|
||||
/obj/item/bodypart/r_leg/digitigrade
|
||||
name = "right digitigrade leg"
|
||||
|
||||
@@ -248,7 +248,7 @@
|
||||
|
||||
/obj/item/organ/eyes/robotic/glow/Initialize()
|
||||
. = ..()
|
||||
mob_overlay = image('icons/mob/human_face.dmi', "eyes_glow_gs")
|
||||
mob_overlay = image('icons/mob/eyes.dmi', "eyes_glow_gs")
|
||||
|
||||
/obj/item/organ/eyes/robotic/glow/Destroy()
|
||||
terminate_effects()
|
||||
|
||||
Reference in New Issue
Block a user