Merge branch 'master' of git@github.com:CIB/Baystation12

This commit is contained in:
cib
2012-07-05 09:43:18 +04:00
2 changed files with 21 additions and 4 deletions
@@ -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)
@@ -1208,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
@@ -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