diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index bec53531f8b..fa7160a8a3d 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -38,8 +38,26 @@ if(istype(target,/mob)) var/old_stat = target.stat - target.revive() - target.suiciding = 0 + if(isanimal(target) && target.stat == DEAD) + var/mob/living/simple_animal/O = target + var/mob/living/simple_animal/A = new O.type(O.loc) + A.real_name = O.real_name + A.name = O.name + if(iscorgi(O)) + var/mob/living/simple_animal/corgi/C = O + if(C.inventory_head) + C.inventory_head.loc = C.loc + if(C.inventory_back) + C.inventory_back.loc = C.loc + if(O.mind) + O.mind.transfer_to(A) + else + A.key = O.key + del(O) + target = A + else + target.revive() + target.suiciding = 0 if(!target.ckey) for(var/mob/dead/observer/ghost in player_list) if(target.real_name == ghost.real_name)