mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 11:37:40 +01:00
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:
@@ -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()
|
||||
..()
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user