mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-17 18:13:34 +01:00
Skin Masquerade: Epidermal Applicator, Lifelike Quirk, and the Skinmonger Implant (#31185)
* adds the epidermal applicator, lifelike quirk, and skinmonger traitor implant * lint * lint * attack chain fix * more linty fixes * more lint * fix some buggy bugs, synthetic skinned body parts recolor to their host * make emp on skinmonger work, fix a skinmonger bug * make bruising / denting examine text not betray the masquerade * burn away synthetic skin with acid * comment / code structure / description tweaks * i sell pharmaceuticals and pharmaceutical accessories * code review comments * oops * god damn it * god damn it (x2) * Update code/modules/surgery/organs/augments_internal.dm Co-authored-by: 1080pCat <96908085+1080pCat@users.noreply.github.com> Signed-off-by: Pooble <90473506+poobsie@users.noreply.github.com> * lower syndi level for implant * Update code/modules/research/designs/medical_designs.dm Co-authored-by: JimKil3 <47290811+JimKil3@users.noreply.github.com> Signed-off-by: Pooble <90473506+poobsie@users.noreply.github.com> * Update code/game/objects/items/tools/epidermal_applicator.dm Co-authored-by: JimKil3 <47290811+JimKil3@users.noreply.github.com> Signed-off-by: Pooble <90473506+poobsie@users.noreply.github.com> * Update code/modules/surgery/organs/organ_external.dm Co-authored-by: JimKil3 <47290811+JimKil3@users.noreply.github.com> Signed-off-by: Pooble <90473506+poobsie@users.noreply.github.com> * Update code/modules/surgery/organs/organ_external.dm Co-authored-by: JimKil3 <47290811+JimKil3@users.noreply.github.com> Signed-off-by: Pooble <90473506+poobsie@users.noreply.github.com> * tweaks for review * Update code/__DEFINES/dcs/datum_signals.dm Co-authored-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com> Signed-off-by: Pooble <90473506+poobsie@users.noreply.github.com> --------- Signed-off-by: Pooble <90473506+poobsie@users.noreply.github.com> Co-authored-by: 1080pCat <96908085+1080pCat@users.noreply.github.com> Co-authored-by: JimKil3 <47290811+JimKil3@users.noreply.github.com> Co-authored-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>
This commit is contained in:
@@ -1964,6 +1964,9 @@
|
||||
if(status == "cybernetic")
|
||||
I.robotize()
|
||||
|
||||
// Send signal that robotic limbs have been applied
|
||||
SEND_SIGNAL(character, COMSIG_HUMAN_ROBOTIC_LIMBS_APPLIED)
|
||||
|
||||
character.dna.blood_type = b_type
|
||||
|
||||
// Wheelchair necessary?
|
||||
|
||||
@@ -36,6 +36,50 @@
|
||||
trait_to_apply = TRAIT_GLUTTON
|
||||
species_flags = QUIRK_MACHINE_INCOMPATIBLE
|
||||
|
||||
/datum/quirk/lifelike
|
||||
name = "Lifelike"
|
||||
desc = "Your prosthetic limbs have been fitted with a synthetic epidermis, making them appear natural. \
|
||||
For IPCs, this covers all body parts, making them look human (except monitor-shaped heads). \
|
||||
For all others, it covers prosthetic limbs."
|
||||
cost = 4
|
||||
|
||||
/datum/quirk/lifelike/apply_quirk_effects(mob/living/carbon/human/target, character)
|
||||
. = ..(target, character)
|
||||
// Apply synthetic skin after robotic limbs are applied or the quirk doesn't work very well
|
||||
RegisterSignal(target, COMSIG_HUMAN_ROBOTIC_LIMBS_APPLIED, PROC_REF(apply_synthetic_skin_on_signal))
|
||||
|
||||
/datum/quirk/lifelike/proc/apply_synthetic_skin_on_signal(mob/living/carbon/human/target)
|
||||
SIGNAL_HANDLER // COMSIG_HUMAN_ROBOTIC_LIMBS_APPLIED
|
||||
|
||||
for(var/obj/item/organ/external/limb as anything in target.bodyparts)
|
||||
if(!limb)
|
||||
continue
|
||||
|
||||
// Skip monitor heads
|
||||
if(limb.limb_name == "head" && limb.model)
|
||||
var/datum/robolimb/R = GLOB.all_robolimbs[limb.model]
|
||||
if(R && R.is_monitor)
|
||||
continue
|
||||
|
||||
if(ismachineperson(target) || limb.is_robotic())
|
||||
limb.has_synthetic_skin = TRUE
|
||||
// Apply owner's skin color to synthetic skin
|
||||
limb.synthetic_skin_colour = target.skin_colour
|
||||
// Set real identity for head
|
||||
if(limb.limb_name == "head")
|
||||
limb.synthetic_skin_identity = target.dna.real_name
|
||||
// Clear cached limb icon because otherwise it's sticky
|
||||
limb.force_icon = null
|
||||
// Force mob icon regeneration
|
||||
limb.mob_icon = null
|
||||
limb.compile_icon()
|
||||
|
||||
// Now rebuild appearance
|
||||
target.update_body(rebuild_base = TRUE)
|
||||
|
||||
// Unregister the signal since we're done with it
|
||||
UnregisterSignal(target, COMSIG_HUMAN_ROBOTIC_LIMBS_APPLIED)
|
||||
|
||||
/obj/item/storage/box/papersack/prepped_meal
|
||||
name = "packed meal"
|
||||
var/list/entree_options = list(
|
||||
|
||||
Reference in New Issue
Block a user