From 9061bb167bf7b35876ad34b0eda058e27122ad32 Mon Sep 17 00:00:00 2001 From: cib Date: Thu, 5 Jul 2012 07:35:23 +0200 Subject: [PATCH 1/2] Now changes to the arm will also affect the hand where necessary. --- code/modules/mob/new_player/preferences.dm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/code/modules/mob/new_player/preferences.dm b/code/modules/mob/new_player/preferences.dm index 765e628f3a6..bb54bf8d540 100644 --- a/code/modules/mob/new_player/preferences.dm +++ b/code/modules/mob/new_player/preferences.dm @@ -951,23 +951,33 @@ datum/preferences if(!limb_name) return var/limb = null + var/second_limb = null // if you try to change the arm, the hand should also change + var/third_limb = null // if you try to unchange the hand, the arm should also change switch(limb_name) if("Left Leg") limb = "l_leg" + second_limb = "l_foot" if("Right Leg") limb = "r_leg" + second_limb = "r_foot" if("Left Arm") limb = "l_arm" + second_limb = "l_hand" if("Right Arm") limb = "r_arm" + second_limb = "r_hand" if("Left Foot") limb = "l_foot" + third_limb = "l_leg" if("Right Foot") limb = "r_foot" + third_limb = "r_leg" if("Left Hand") limb = "l_hand" + third_limb = "l_arm" if("Right Hand") limb = "r_hand" + third_limb = "r_arm" var/new_state = input(user, "What state do you wish the limb to be in?") as null|anything in list("Normal","Amputated","Prothesis") if(!new_state) return @@ -975,10 +985,16 @@ datum/preferences switch(new_state) if("Normal") organ_data[limb] = null + if(third_limb) + organ_data[third_limb] = null if("Amputated") organ_data[limb] = "amputated" + if(second_limb) + organ_data[second_limb] = "amputated" if("Prothesis") organ_data[limb] = "cyborg" + if(second_limb) + organ_data[second_limb] = "cyborg" if(link_tags["UI"]) switch(UI_style) From ede4c1cb5650b3582b47fa83cf5926fefe60a9f6 Mon Sep 17 00:00:00 2001 From: cib Date: Thu, 5 Jul 2012 07:43:00 +0200 Subject: [PATCH 2/2] Fixed a few more bugs. --- code/modules/mob/new_player/preferences.dm | 1 + code/modules/mob/new_player/preferences_setup.dm | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/code/modules/mob/new_player/preferences.dm b/code/modules/mob/new_player/preferences.dm index bb54bf8d540..78ec74c0d32 100644 --- a/code/modules/mob/new_player/preferences.dm +++ b/code/modules/mob/new_player/preferences.dm @@ -1224,6 +1224,7 @@ datum/preferences var/status = organ_data[name] if(status == "amputated") O.status |= DESTROYED + O.destspawn = 1 else if(status == "cyborg") O.status |= ROBOT diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index 5d54225412a..05d983d85c6 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -221,10 +221,10 @@ datum/preferences else preview_icon = new /icon('human.dmi', "torso_[g]_s", "dir" = preview_dir) - preview_icon.Blend(new /icon('human.dmi', "chest_[g]_s"), ICON_OVERLAY) + preview_icon.Blend(new /icon('human.dmi', "chest_[g]_s"), ICON_OVERLAY, "dir" = preview_dir) if(organ_data["head"] != "amputated") - preview_icon.Blend(new /icon('human.dmi', "head_[g]_s"), ICON_OVERLAY) + preview_icon.Blend(new /icon('human.dmi', "head_[g]_s"), ICON_OVERLAY, "dir" = preview_dir) for(var/name in list("l_arm","r_arm","l_leg","r_leg","l_foot","r_foot","l_hand","r_hand")) // make sure the organ is added to the list so it's drawn @@ -234,13 +234,13 @@ datum/preferences for(var/name in organ_data) if(organ_data[name] == "amputated") continue - var/icon/temp = new /icon('human.dmi', "[name]_s") + var/icon/temp = new /icon('human.dmi', "[name]_s", "dir" = preview_dir) if(organ_data[name] == "cyborg") temp.MapColors(rgb(77,77,77), rgb(150,150,150), rgb(28,28,28), rgb(0,0,0)) preview_icon.Blend(temp, ICON_OVERLAY) - preview_icon.Blend(new /icon('human.dmi', "groin_[g]_s"), ICON_OVERLAY) + preview_icon.Blend(new /icon('human.dmi', "groin_[g]_s"), ICON_OVERLAY, "dir" = preview_dir) // Skin tone