Merge pull request #13508 from DeltaFire15/robotic-fixes

bodypart fixes - robotic bodypart & digitigrade edition
This commit is contained in:
silicons
2020-10-03 14:32:45 -07:00
committed by GitHub
6 changed files with 9 additions and 6 deletions
+2 -2
View File
@@ -2639,9 +2639,9 @@ GLOBAL_LIST_EMPTY(preferences_datums)
//limb stuff, only done when initially spawning in
if(initial_spawn)
//delete any existing prosthetic limbs to make sure no remnant prosthetics are left over
//delete any existing prosthetic limbs to make sure no remnant prosthetics are left over - But DO NOT delete those that are species-related
for(var/obj/item/bodypart/part in character.bodyparts)
if(part.status == BODYPART_ROBOTIC)
if(part.status == BODYPART_ROBOTIC && !part.render_like_organic)
qdel(part)
character.regenerate_limbs() //regenerate limbs so now you only have normal limbs
for(var/modified_limb in modified_limbs)
+1 -1
View File
@@ -581,7 +581,7 @@
C = owner
no_update = FALSE
if(HAS_TRAIT(C, TRAIT_HUSK) && is_organic_limb())
if(HAS_TRAIT(C, TRAIT_HUSK) && (is_organic_limb() || render_like_organic))
species_id = "husk" //overrides species_id
dmg_overlay_type = "" //no damage overlay shown when husked
should_draw_gender = FALSE
@@ -434,5 +434,8 @@
var/datum/scar/scaries = new
var/datum/wound/loss/phantom_loss = new // stolen valor, really
scaries.generate(L, phantom_loss)
if(HAS_TRAIT(src, ROBOTIC_LIMBS)) //Snowflake trait moment, but needed.
L.render_like_organic = TRUE
L.change_bodypart_status(BODYPART_ROBOTIC, FALSE, TRUE) //Haha what if IPC-lings actually regenerated the right limbs instead of organic ones? That'd be pretty cool, right?
L.attach_limb(src, 1)
return TRUE
+1 -1
View File
@@ -529,7 +529,7 @@ GLOBAL_LIST_EMPTY(vending_products)
if(5) // limb squish!
for(var/i in C.bodyparts)
var/obj/item/bodypart/squish_part = i
if(squish_part.is_organic_limb())
if(squish_part.is_organic_limb() || squish_part.render_like_organic)
var/type_wound = pick(list(/datum/wound/blunt/critical, /datum/wound/blunt/severe, /datum/wound/blunt/moderate))
squish_part.force_wound_upwards(type_wound)
else