Fixes #8702 properly.

This commit is contained in:
Zuhayr
2015-04-01 17:57:28 -07:00
parent 3cc34ab55e
commit 84b903cf69
8 changed files with 23 additions and 5 deletions
@@ -49,7 +49,7 @@
/obj/item/organ/brain/removed(var/mob/living/user)
..()
name = "[owner.real_name]'s brain"
var/mob/living/simple_animal/borer/borer = owner.has_brain_worms()
@@ -60,6 +60,8 @@
if(istype(B) && istype(owner))
B.transfer_identity(owner)
..()
/obj/item/organ/brain/replaced(var/mob/living/target)
if(target.key)
@@ -117,7 +117,7 @@
g_skin = green
b_skin = blue
update_body()
force_update_limbs()
return 1
/mob/living/carbon/human/proc/change_skin_tone(var/tone)
@@ -126,7 +126,7 @@
s_tone = tone
update_body()
force_update_limbs()
return 1
/mob/living/carbon/human/proc/update_dna()
@@ -186,3 +186,8 @@
/proc/q()
var/mob/living/carbon/human/H = usr
H.change_appearance(APPEARANCE_ALL)
/mob/living/carbon/human/proc/force_update_limbs()
for(var/obj/item/organ/external/O in organs)
O.sync_colour_to_human(src)
update_body(0)
@@ -473,6 +473,7 @@
//new_character.dna.UpdateSE()
// Do the initial caching of the player's body icons.
new_character.force_update_limbs()
new_character.regenerate_icons()
new_character.key = key //Manually transfer the key to log them in
+1
View File
@@ -235,6 +235,7 @@ var/list/organ_cache = list()
owner.internal_organs_by_name[organ_tag] = null
owner.internal_organs_by_name -= organ_tag
owner.internal_organs_by_name -= null
owner.internal_organs -= src
var/obj/item/organ/external/affected = owner.get_organ(parent_organ)
+1
View File
@@ -1056,6 +1056,7 @@ Note that amputating the affected organ does in fact remove the infection from t
/obj/item/organ/external/head/removed()
if(owner)
name = "[owner.real_name]'s head"
owner.u_equip(owner.glasses)
owner.u_equip(owner.head)
owner.u_equip(owner.l_ear)
+2
View File
@@ -16,6 +16,8 @@ var/global/list/limb_icon_cache = list()
/obj/item/organ/external/proc/sync_colour_to_human(var/mob/living/carbon/human/human)
s_tone = null
s_col = null
if(status & ORGAN_ROBOT)
return
if(!isnull(human.s_tone) && (human.species.flags & HAS_SKIN_TONE))
s_tone = human.s_tone
if(human.species.flags & HAS_SKIN_COLOR)
+7 -1
View File
@@ -39,8 +39,14 @@
if(L.part)
for(var/part_name in L.part)
if(!isnull(target.get_organ(part_name))) continue
world << "Checking [part_name]"
if(!isnull(target.get_organ(part_name)))
world << "target has organ there"
continue
var/list/organ_data = target.species.has_limbs["[target_zone]"]
if(!organ_data)
world << "target species has no limb for that part"
continue
var/new_limb_type = organ_data["path"]
var/obj/item/organ/external/new_limb = new new_limb_type(target)
new_limb.robotize(L.model_info)