Merge pull request #13508 from DeltaFire15/robotic-fixes
bodypart fixes - robotic bodypart & digitigrade edition
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user