Fixes mismatching diona internal organ tags

This commit is contained in:
mwerezak
2015-12-05 23:28:58 -05:00
parent b12e094112
commit a7d80a93e5
4 changed files with 20 additions and 22 deletions

View File

@@ -213,15 +213,19 @@
var/obj/item/organ/O = new limb_path(H)
organ_data["descriptor"] = O.name
for(var/organ in has_organ)
var/organ_type = has_organ[organ]
H.internal_organs_by_name[organ] = new organ_type(H,1)
for(var/organ_tag in has_organ)
var/organ_type = has_organ[organ_tag]
var/obj/item/organ/O = new organ_type(H,1)
if(organ_tag != O.organ_tag)
warning("[O.type] has a default organ tag \"[O.organ_tag]\" that differs from the species' organ tag \"[organ_tag]\". Updating organ_tag to match.")
O.organ_tag = organ_tag
H.internal_organs_by_name[organ_tag] = O
for(var/name in H.organs_by_name)
H.organs |= H.organs_by_name[name]
for(var/obj/item/organ/external/O in H.organs)
O.owner = H
//These should be unnecessary
//for(var/name in H.organs_by_name)
// H.organs |= H.organs_by_name[name]
//for(var/obj/item/organ/external/O in H.organs)
// O.owner = H
if(flags & IS_SYNTHETIC)
for(var/obj/item/organ/external/E in H.organs)

View File

@@ -56,7 +56,7 @@ var/list/organ_cache = list()
var/mob/living/carbon/human/H = holder
if(istype(H))
if(internal)
var/obj/item/organ/external/E = H.organs_by_name[src.parent_organ]
var/obj/item/organ/external/E = H.get_organ(parent_organ)
if(E)
if(E.internal_organs == null)
E.internal_organs = list()

View File

@@ -158,14 +158,6 @@
name = "anchoring ligament"
parent_organ = "groin"
/obj/item/organ/diona/node
name = "receptor node"
parent_organ = "head"
/obj/item/organ/diona/nutrients
name = "nutrient vessel"
parent_organ = "chest"
/obj/item/organ/diona
name = "diona nymph"
icon = 'icons/obj/objects.dmi'
@@ -183,8 +175,9 @@
// These are different to the standard diona organs as they have a purpose in other
// species (absorbing radiation and light respectively)
/obj/item/organ/diona/nutrients
name = "nutrient vessel"
organ_tag = "nutrient vessel"
name = "nutrient channel"
parent_organ = "chest"
organ_tag = "nutrient channel"
icon = 'icons/mob/alien.dmi'
icon_state = "claw"
@@ -192,7 +185,8 @@
return
/obj/item/organ/diona/node
name = "receptor node"
name = "response node"
parent_organ = "head"
organ_tag = "receptor node"
icon = 'icons/mob/alien.dmi'
icon_state = "claw"

View File

@@ -159,8 +159,8 @@
return
/obj/item/organ/external/New(var/mob/living/carbon/holder, var/internal)
..()
/obj/item/organ/external/New(var/mob/living/carbon/holder)
..(holder, 0)
if(owner)
replaced(owner)
sync_colour_to_human(owner)