mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 02:34:00 +00:00
[MIRROR] Add a protean ability to absorb implants into themselves (#11247)
Co-authored-by: ShadowLarkens <shadowlarkens@gmail.com>
This commit is contained in:
committed by
GitHub
parent
1d9103c1a5
commit
123b401d1d
@@ -903,3 +903,43 @@
|
|||||||
icon = 'icons/obj/slimeborg/slimecore.dmi'
|
icon = 'icons/obj/slimeborg/slimecore.dmi'
|
||||||
icon_state = "core"
|
icon_state = "core"
|
||||||
to_call = /mob/living/carbon/human/proc/transparency_toggle
|
to_call = /mob/living/carbon/human/proc/transparency_toggle
|
||||||
|
|
||||||
|
/obj/effect/protean_ability/absorb_implant
|
||||||
|
ability_name = "Absorb Implant"
|
||||||
|
desc = "Absorb an implant into your system."
|
||||||
|
icon = 'icons/obj/surgery.dmi'
|
||||||
|
icon_state = "heart-on"
|
||||||
|
to_call = /mob/living/carbon/human/proc/absorb_implant
|
||||||
|
|
||||||
|
/mob/living/carbon/human/proc/absorb_implant()
|
||||||
|
set name = "Absorb Implant"
|
||||||
|
set category = "Abilities.Protean"
|
||||||
|
if(stat || world.time < last_special)
|
||||||
|
return
|
||||||
|
last_special = world.time + 50
|
||||||
|
|
||||||
|
var/obj/item/organ/internal/augment/A = get_active_hand()
|
||||||
|
if(!istype(A))
|
||||||
|
to_chat(src, span_danger("You cannot integrate this into your body."))
|
||||||
|
return
|
||||||
|
|
||||||
|
if(!(ORGAN_NANOFORM in A.target_parent_classes))
|
||||||
|
to_chat(src, span_danger("This implant is incompatible with our nanoform."))
|
||||||
|
return
|
||||||
|
|
||||||
|
var/obj/item/organ/external/target_organ = get_organ(zone_sel.selecting)
|
||||||
|
if(!istype(target_organ) || target_organ.is_stump())
|
||||||
|
to_chat(src, span_danger("Your [target_organ] is currently unsuitable for implants."))
|
||||||
|
return
|
||||||
|
|
||||||
|
if(target_organ.organ_tag != A.parent_organ)
|
||||||
|
to_chat(src, span_danger("[A] does not go in [target_organ]."))
|
||||||
|
return
|
||||||
|
|
||||||
|
if(!unEquip(A))
|
||||||
|
to_chat(src, span_danger("[A] is stuck to your hand."))
|
||||||
|
return
|
||||||
|
|
||||||
|
A.replaced(src, target_organ)
|
||||||
|
to_chat(src, span_notice("You absorb [A] into your [target_organ]."))
|
||||||
|
log_admin("[key_name(src)] protean self-implanted [A].")
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
target_slot = slot_l_hand
|
target_slot = slot_l_hand
|
||||||
|
|
||||||
target_parent_classes = list(ORGAN_FLESH, ORGAN_ROBOT)
|
target_parent_classes = list(ORGAN_FLESH, ORGAN_ROBOT, ORGAN_NANOFORM)
|
||||||
|
|
||||||
integrated_object_type = /obj/item/gun/energy/laser/mounted/augment
|
integrated_object_type = /obj/item/gun/energy/laser/mounted/augment
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user