mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-20 19:44:09 +01:00
Makes DNA swapping methods more reliable
- Makes heads keep hair on removal - Amputated limbs from a DNA-injected individual now will keep their appearance of the DNA-injected person - Wounds will now vanish on their own now - Admins now have an "incarnate" option on the player panel when viewing ghosts for quick player instantiation - Fixes a runtime regarding failing a limb reconnection surgery - Copying a client's preferences now overrides the previous mob's DNA
This commit is contained in:
@@ -636,3 +636,13 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
||||
return 0
|
||||
usr.visible_message("<span class='deadsay'><b>[src]</b> points to [A].</span>")
|
||||
return 1
|
||||
|
||||
/mob/dead/observer/proc/incarnate_ghost()
|
||||
if(!client)
|
||||
return
|
||||
var/mob/living/carbon/human/new_char = new(get_turf(src))
|
||||
client.prefs.copy_to(new_char)
|
||||
if(mind)
|
||||
mind.transfer_to(new_char)
|
||||
else
|
||||
new_char.key = key
|
||||
@@ -147,11 +147,14 @@
|
||||
/*
|
||||
When assimilate is 1, organs that have a different UE will still have their DNA overriden by that of the host
|
||||
Otherwise, this restricts itself to organs that share the UE of the host.
|
||||
|
||||
old_ue: Set this to a UE string, and this proc will overwrite the dna of organs that have that UE, instead of the host's present UE
|
||||
*/
|
||||
/mob/living/carbon/human/proc/sync_organ_dna(var/assimilate = 1)
|
||||
/mob/living/carbon/human/proc/sync_organ_dna(var/assimilate = 1, var/old_ue = null)
|
||||
var/ue_to_compare = (old_ue) ? old_ue : dna.unique_enzymes
|
||||
var/list/all_bits = internal_organs|organs
|
||||
for(var/obj/item/organ/O in all_bits)
|
||||
if(assimilate || O.dna.unique_enzymes == dna.unique_enzymes)
|
||||
if(assimilate || O.dna.unique_enzymes == ue_to_compare)
|
||||
O.set_dna(dna)
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user