Gives many cybernetics on mob sprites. Adds synthetic skin to allow hiding of them. (#30098)

* the first half

* rest of the skin

* duplicate

* new sprite / updated description / no more yell at me

* the rest of the owl

* oops, fixed
This commit is contained in:
Qwertytoforty
2025-10-06 18:30:31 +00:00
committed by GitHub
parent 66d66a8f02
commit 3c7ca73c04
15 changed files with 325 additions and 22 deletions
@@ -875,3 +875,11 @@ emp_act
to_contaminate -= to_contaminate[1]
for(var/atom/thing in to_contaminate)
thing.AddComponent(/datum/component/radioactive, intensity, source, emission_type)
/mob/living/carbon/human/proc/peel_off_synthetic_skin()
var/obj/item/organ/external/external_limb = get_organ(zone_selected)
if(external_limb && external_limb.augmented_skin_cover_level)
visible_message("<span class='warning'>[src] begins to pull at their skin...</span>")
if(!do_mob(src, src, 5 SECONDS))
return
external_limb.break_augmented_skin(TRUE)
@@ -1356,6 +1356,20 @@ GLOBAL_LIST_EMPTY(damage_icon_parts)
overlays_standing[INTORGAN_LAYER] = standing
apply_overlay(INTORGAN_LAYER)
update_hand_int_organs()
/mob/living/carbon/human/proc/update_hand_int_organs()
remove_overlay(HAND_INTORGAN_LAYER)
var/list/standing = list()
for(var/organ in internal_organs)
var/obj/item/organ/internal/I = organ
var/extra_render = I.extra_render()
if(extra_render)
standing += extra_render
overlays_standing[HAND_INTORGAN_LAYER] = standing
apply_overlay(HAND_INTORGAN_LAYER)
/mob/living/carbon/human/handle_transform_change()
..()
+5 -1
View File
@@ -294,7 +294,11 @@
// End BS12 momentum-transfer code.
/mob/living/proc/grabbedby(mob/living/carbon/user, supress_message = FALSE)
if(user == src || anchored)
if(user == src && ishuman(user))
var/mob/living/carbon/human/self = user
INVOKE_ASYNC(self, TYPE_PROC_REF(/mob/living/carbon/human, peel_off_synthetic_skin))
return
if(anchored)
return FALSE
if(!(status_flags & CANPUSH))
return FALSE