mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 03:27:05 +01:00
◦ 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:
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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."
|
||||
|
||||
Reference in New Issue
Block a user