Merge pull request #6612 from Crazylemon64/partial_cloning

Cloning now puts you together bit by bit
This commit is contained in:
Fox McCloud
2017-05-27 14:48:23 -04:00
committed by GitHub
21 changed files with 211 additions and 134 deletions
@@ -249,9 +249,9 @@
if(istype(owner, /mob/living/carbon/human))
var/mob/living/carbon/human/H = owner
if(H.stat != DEAD && prob(50 / severity))
H.heart_attack = 1
H.set_heartattack(TRUE)
spawn(600 / severity)
H.heart_attack = 0
H.set_heartattack(FALSE)
if(H.stat == CONSCIOUS)
to_chat(H, "<span class='notice'>You feel your heart beating again!</span>")
+3 -13
View File
@@ -294,7 +294,7 @@ var/list/organ_cache = list()
/obj/item/organ/internal/heart/emp_act(intensity)
if(owner && robotic == 2)
owner.heart_attack = 1
Stop() // In the name of looooove~!
owner.visible_message("<span class='danger'>[owner] clutches their chest and gasps!</span>","<span class='userdanger'>You clutch your chest in pain!</span>")
else if(owner && robotic == 1)
take_damage(11,1)
@@ -324,18 +324,8 @@ var/list/organ_cache = list()
owner = null
return src
/obj/item/organ/proc/replaced(var/mob/living/carbon/human/target,var/obj/item/organ/external/affected)
if(!istype(target)) return
owner = target
processing_objects -= src
affected.internal_organs |= src
if(!target.get_int_organ(src))
target.internal_organs += src
loc = target
if(robotic)
status |= ORGAN_ROBOT
/obj/item/organ/proc/replaced(var/mob/living/carbon/human/target)
return // Nothing uses this, it is always overridden
/obj/item/organ/proc/surgeryize()
+2 -14
View File
@@ -69,9 +69,8 @@
A.Remove(M)
return src
/obj/item/organ/internal/replaced(var/mob/living/carbon/human/target,var/obj/item/organ/external/affected)
/obj/item/organ/internal/replaced(var/mob/living/carbon/human/target)
insert(target)
..()
/obj/item/organ/internal/item_action_slot_check(slot, mob/user)
return
@@ -155,11 +154,9 @@
. = ..()
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(H.stat == DEAD || H.heart_attack)
if(H.stat == DEAD)
Stop()
return
if(!special)
H.heart_attack = 1
spawn(120)
if(!owner)
@@ -173,15 +170,6 @@
if(!owner)
Stop()
/obj/item/organ/internal/heart/insert(mob/living/carbon/M, special = 0)
..()
if(ishuman(M) && beating)
var/mob/living/carbon/human/H = M
if(H.heart_attack)
H.heart_attack = 0
return
/obj/item/organ/internal/heart/proc/Stop()
beating = 0
update_icon()