◦ 2 new hairstyles, 1 new beard style. Includes the luxurious ADAM JENSEN beard/hair set. YOU NEVER ASKED FOR THIS.

◦ As a result of the previous change, a substantial overhaul of the order in which clothing and hairs are displayed has been put into effect. From what I've playtested, it works mostly fine. Keep an eye out for small little oddities, though.

◦ Masks and head wear have been given a new flag, BLOCKHAIR. If turned on, this flag will force to the hair to not display. Intended for space suits, rig helmets, etc.

◦ (Committed for Zudrag) Added in the circuit boards for clone pods and cloning scanners and making them produceable from the circuit imprinter.




git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2368 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
vageyenaman@gmail.com
2011-10-15 22:12:06 +00:00
parent b5cbc6dec4
commit 3b40c90488
12 changed files with 131 additions and 28 deletions
+1 -1
View File
@@ -8,7 +8,7 @@ Space suit parts
name = "Space helmet"
icon_state = "space"
desc = "A special helmet designed for work in a hazardous, low-pressure environment."
flags = FPRINT | TABLEPASS | HEADSPACE | HEADCOVERSEYES | HEADCOVERSMOUTH
flags = FPRINT | TABLEPASS | HEADSPACE | HEADCOVERSEYES | BLOCKHAIR
see_face = 0.0
item_state = "space"
permeability_coefficient = 0.01
+41 -4
View File
@@ -345,6 +345,7 @@
else if (W == glasses)
glasses = null
else if (W == head)
var/obj/item/prev_head = W
W = h_store
if (W)
u_equip(W)
@@ -355,6 +356,11 @@
W.dropped(src)
W.layer = initial(W.layer)
head = null
if(prev_head && (prev_head.flags & BLOCKHAIR))
// rebuild face
del(face_standing)
del(face_lying)
else if (W == ears)
ears = null
else if (W == shoes)
@@ -362,11 +368,17 @@
else if (W == belt)
belt = null
else if (W == wear_mask)
var/obj/item/prev_mask = W
if(internal)
if (internals)
internals.icon_state = "internal0"
internal = null
wear_mask = null
if(prev_mask && (prev_mask.flags & BLOCKHAIR))
// rebuild face
del(face_standing)
del(face_lying)
else if (W == wear_id)
wear_id = null
else if (W == r_store)
@@ -406,6 +418,10 @@
return
u_equip(W)
wear_mask = W
if(wear_mask && (wear_mask.flags & BLOCKHAIR))
del(face_standing)
del(face_lying)
W.equipped(src, text)
if("back")
if (back)
@@ -495,6 +511,10 @@
return
u_equip(W)
head = W
if(head && (head.flags & BLOCKHAIR))
del(face_standing)
del(face_lying)
if(istype(W,/obj/item/clothing/head/kitty))
W.update_icon(src)
W.equipped(src, text)
@@ -937,6 +957,14 @@
drop_item()
hand = h
if (lying)
if (face_lying)
overlays += face_lying
else
if (face_standing)
overlays += face_standing
// Head
if (head)
var/t1 = head.icon_state
@@ -1232,17 +1260,26 @@
var/icon/mouth_s = new/icon("icon" = 'human_face.dmi', "icon_state" = "mouth_[g]_s")
var/icon/mouth_l = new/icon("icon" = 'human_face.dmi', "icon_state" = "mouth_[g]_l")
eyes_s.Blend(hair_s, ICON_OVERLAY)
eyes_l.Blend(hair_l, ICON_OVERLAY)
// if the head or mask has the flag BLOCKHAIR (equal to 5), then do not apply hair
if((!(head && (head.flags & BLOCKHAIR))) && !(wear_mask && (wear_mask.flags & BLOCKHAIR)))
eyes_s.Blend(hair_s, ICON_OVERLAY)
eyes_l.Blend(hair_l, ICON_OVERLAY)
eyes_s.Blend(mouth_s, ICON_OVERLAY)
eyes_l.Blend(mouth_l, ICON_OVERLAY)
eyes_s.Blend(facial_s, ICON_OVERLAY)
eyes_l.Blend(facial_l, ICON_OVERLAY)
// if BLOCKHAIR, do not apply facial hair
if((!(head && (head.flags & BLOCKHAIR))) && !(wear_mask && (wear_mask.flags & BLOCKHAIR)))
eyes_s.Blend(facial_s, ICON_OVERLAY)
eyes_l.Blend(facial_l, ICON_OVERLAY)
face_standing = new /image()
face_lying = new /image()
face_standing.icon = eyes_s
face_standing.layer = MOB_LAYER
face_lying.icon = eyes_l
face_lying.layer = MOB_LAYER
del(mouth_l)
del(mouth_s)
+12 -4
View File
@@ -431,10 +431,10 @@ datum/preferences
if(gender == FEMALE)
h_style = pickweight ( list ("Cut Hair" = 5, "Short Hair" = 5, "Long Hair" = 5, "Mohawk" = 5, "Balding" = 1, "Fag" = 5, "Bedhead" = 5, "Dreadlocks" = 5, "Bald" = 5))
else
h_style = pickweight ( list ("Cut Hair" = 5, "Short Hair" = 5, "Long Hair" = 5, "Mohawk" = 5, "Balding" = 5, "Fag" = 5, "Bedhead" = 5, "Dreadlocks" = 5, "Bald" = 5))
h_style = pickweight ( list ("Cut Hair" = 5, "Short Hair" = 5, "Long Hair" = 5, "Mohawk" = 5, "Balding" = 5, "Fag" = 5, "Bedhead" = 5, "Dreadlocks" = 5, "Jensen Hair" = 5, "Skinhead" = 5, "Bald" = 5))
if("input")
var/new_style = input(user, "Please select hair style", "Character Generation") as null|anything in list( "Cut Hair", "Short Hair", "Long Hair", "Mohawk", "Balding", "Fag", "Bedhead", "Dreadlocks", "Bald" )
var/new_style = input(user, "Please select hair style", "Character Generation") as null|anything in list( "Cut Hair", "Short Hair", "Long Hair", "Longer Hair", "Mohawk", "Balding", "Fag", "Bedhead", "Dreadlocks", "Jensen Hair", "Skinhead", "Bald" )
if(new_style)
h_style = new_style
@@ -450,9 +450,9 @@ datum/preferences
if(gender == FEMALE)
f_style = pickweight ( list("Watson" = 1, "Chaplin" = 1, "Selleck" = 1, "Full Beard" = 1, "Long Beard" = 1, "Neckbeard" = 1, "Van Dyke" = 1, "Elvis" = 1, "Abe" = 1, "Chinstrap" = 1, "Hipster" = 1, "Goatee" = 1, "Hogan" = 1, "Shaved" = 100))
else
f_style = pickweight ( list("Watson" = 1, "Chaplin" = 1, "Selleck" = 1, "Full Beard" = 1, "Long Beard" = 1, "Neckbeard" = 1, "Van Dyke" = 1, "Elvis" = 1, "Abe" = 1, "Chinstrap" = 1, "Hipster" = 1, "Goatee" = 1, "Hogan" = 1, "Shaved" = 10))
f_style = pickweight ( list("Watson" = 1, "Chaplin" = 1, "Selleck" = 1, "Full Beard" = 1, "Long Beard" = 1, "Neckbeard" = 1, "Van Dyke" = 1, "Elvis" = 1, "Abe" = 1, "Chinstrap" = 1, "Hipster" = 1, "Goatee" = 1, "Hogan" = 1, "Jensen Goatee" = 1, "Shaved" = 10))
if("input")
var/new_style = input(user, "Please select facial style", "Character Generation") as null|anything in list("Watson", "Chaplin", "Selleck", "Full Beard", "Long Beard", "Neckbeard", "Van Dyke", "Elvis", "Abe", "Chinstrap", "Hipster", "Goatee", "Hogan", "Shaved")
var/new_style = input(user, "Please select facial style", "Character Generation") as null|anything in list("Watson", "Chaplin", "Selleck", "Full Beard", "Long Beard", "Neckbeard", "Van Dyke", "Elvis", "Abe", "Chinstrap", "Hipster", "Goatee", "Jensen Goatee", "Hogan", "Shaved")
if(new_style)
f_style = new_style
@@ -585,6 +585,12 @@ datum/preferences
character.hair_icon_state = "hair_bedhead"
if("Dreadlocks")
character.hair_icon_state = "hair_dreads"
if("Longer Hair")
character.hair_icon_state = "hair_vlong"
if("Jensen Hair")
character.hair_icon_state = "hair_jensen"
if("Skinhead")
character.hair_icon_state = "hair_skinhead"
else
character.hair_icon_state = "bald"
@@ -615,6 +621,8 @@ datum/preferences
character.face_icon_state = "facial_gt"
if("Hogan")
character.face_icon_state = "facial_hogan"
if("Jensen Goatee")
character.face_icon_state = "facial_jensen"
else
character.face_icon_state = "bald"
@@ -26,7 +26,7 @@ datum/preferences
proc/randomize_hair(var/gender)
//Women are more likely to have longer hair.
var/temp = gender==FEMALE&&prob(80) ? pick(2,6,8) : rand(1,9)
var/temp = gender==FEMALE&&prob(80) ? pick(2,6,8,9) : rand(1,12)
switch(temp)
if(1)
h_style = "Short Hair"
@@ -44,11 +44,17 @@ datum/preferences
h_style = "Bedhead"
if(8)
h_style = "Dreadlocks"
if(9)
h_style = "Longer Hair"
if(10)
h_style = "Jensen Hair"
if(11)
h_style = "Skinhead"
else
h_style = "bald"
proc/randomize_facial()
var/temp = prob(50) ? 14 : rand(1,13)//50% of not having a beard. Otherwise get a random one.
var/temp = prob(50) ? 15 : rand(1,14)//50% of not having a beard. Otherwise get a random one.
switch(temp)
if(1)
f_style = "Watson"
@@ -76,6 +82,8 @@ datum/preferences
f_style = "Goatee"
if(13)
f_style = "Hogan"
if(14)
f_style = "Jensen Goatee"
else
f_style = "bald"
@@ -252,6 +260,10 @@ datum/preferences
h_style_r = "hair_bedhead"
if("Dreadlocks")
h_style_r = "hair_dreads"
if("Longer Hair")
h_style_r = "hair_vlong"
if("Jensen Hair")
h_style_r = "hair_jensen"
else
h_style_r = "bald"
@@ -283,6 +295,8 @@ datum/preferences
f_style_r = "facial_gt"
if ("Hogan")
f_style_r = "facial_hogan"
if ("Jensen Goatee")
f_style_r = "facial_jensen"
else
f_style_r = "bald"
+18
View File
@@ -229,6 +229,24 @@ datum
materials = list("$glass" = 2000, "acid" = 20)
build_path = "/obj/item/weapon/circuitboard/cloning"
clonepod
name = "Circuit Design (Clone Pod)"
desc = "Allows for the construction of circuit boards used to build a Cloning Pod."
id = "clonepod"
req_tech = list("programming" = 3, "biotech" = 3)
build_type = IMPRINTER
materials = list("$glass" = 2000, "acid" = 20)
build_path = "/obj/item/weapon/circuitboard/clonepod"
clonescanner
name = "Circuit Design (Cloning Scanner)"
desc = "Allows for the construction of circuit boards used to build a Cloning Scanner."
id = "clonescanner"
req_tech = list("programming" = 3, "biotech" = 3)
build_type = IMPRINTER
materials = list("$glass" = 2000, "acid" = 20)
build_path = "/obj/item/weapon/circuitboard/clonescanner"
arcademachine
name = "Circuit Design (Arcade Machine)"
desc = "Allows for the construction of circuit boards used to build a new arcade machine."