From 085d357b4be636289872f4c74b676a0addf39301 Mon Sep 17 00:00:00 2001 From: Head Date: Sun, 14 Oct 2012 00:43:23 +0200 Subject: [PATCH] Hopefully fixed organ spam. --- code/datums/organs/organ_external.dm | 10 +++++++- code/modules/mob/living/carbon/human/human.dm | 25 ++++++++++--------- code/modules/mob/new_player/savefile.dm | 1 + 3 files changed, 23 insertions(+), 13 deletions(-) diff --git a/code/datums/organs/organ_external.dm b/code/datums/organs/organ_external.dm index aba465b3a14..a6b25f525a0 100644 --- a/code/datums/organs/organ_external.dm +++ b/code/datums/organs/organ_external.dm @@ -33,8 +33,16 @@ var/open = 0 var/stage = 0 - // how often wounds should be updated, a higher number means less often + // how often wounds should be updated, a higher number means less often var/wound_update_accuracy = 20 // update every 20 ticks(roughly every minute) + New(var/datum/organ/external/P) + if(P) + parent = P + if(!parent.children) + parent.children = list() + parent.children.Add(src) + return ..() + proc/take_damage(brute, burn, sharp, used_weapon = null, list/forbidden_limbs = list()) // TODO: this proc needs to be rewritten to not update damages directly diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 3cce88cde48..108a71e59cc 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -23,19 +23,20 @@ //initialise organs organs = list() organs_by_name["chest"] = new/datum/organ/external/chest() - organs_by_name["head"] = new/datum/organ/external/head() - organs_by_name["l_arm"] = new/datum/organ/external/l_arm() - organs_by_name["r_arm"] = new/datum/organ/external/r_arm() - organs_by_name["r_leg"] = new/datum/organ/external/r_leg() - organs_by_name["l_leg"] = new/datum/organ/external/l_leg() - organs_by_name["l_hand"] = new/datum/organ/external/l_hand() - organs_by_name["r_hand"] = new/datum/organ/external/r_hand() - organs_by_name["l_foot"] = new/datum/organ/external/l_foot() - organs_by_name["r_foot"] = new/datum/organ/external/r_foot() - organs_by_name["groin"] = new/datum/organ/external/groin() + organs_by_name["groin"] = new/datum/organ/external/groin(organs_by_name["chest"]) + organs_by_name["head"] = new/datum/organ/external/head(organs_by_name["chest"]) + organs_by_name["l_arm"] = new/datum/organ/external/l_arm(organs_by_name["chest"]) + organs_by_name["r_arm"] = new/datum/organ/external/r_arm(organs_by_name["chest"]) + organs_by_name["r_leg"] = new/datum/organ/external/r_leg(organs_by_name["groin"]) + organs_by_name["l_leg"] = new/datum/organ/external/l_leg(organs_by_name["groin"]) + organs_by_name["l_hand"] = new/datum/organ/external/l_hand(organs_by_name["l_arm"]) + organs_by_name["r_hand"] = new/datum/organ/external/r_hand(organs_by_name["r_arm"]) + organs_by_name["l_foot"] = new/datum/organ/external/l_foot(organs_by_name["l_leg"]) + organs_by_name["r_foot"] = new/datum/organ/external/r_foot(organs_by_name["r_leg"]) + // connect feet to legs and hands to arms - var/datum/organ/external/organ = organs_by_name["l_hand"] +/* var/datum/organ/external/organ = organs_by_name["l_hand"] organ.parent = organs_by_name["l_arm"] organ = organs_by_name["r_hand"] organ.parent = organs_by_name["r_arm"] @@ -57,7 +58,7 @@ organ.parent = organs_by_name["chest"] organ = organs_by_name["l_arm"] organ.parent = organs_by_name["chest"] - + */ for(var/name in organs_by_name) organs += organs_by_name[name] diff --git a/code/modules/mob/new_player/savefile.dm b/code/modules/mob/new_player/savefile.dm index 92caa3f98b0..e63714935b8 100644 --- a/code/modules/mob/new_player/savefile.dm +++ b/code/modules/mob/new_player/savefile.dm @@ -135,6 +135,7 @@ datum/preferences/proc/savefile_save(mob/user) // returns 0 if savefile did not exist datum/preferences/proc/savefile_load(mob/user) + if(user.client == null) return 0 if(IsGuestKey(user.key)) return 0 var/path = savefile_path(user)