Merge branch 'master' of https://github.com/PolarisSS13/Polaris into cosmetic_things

# Conflicts:
#	code/datums/supplypacks/medical.dm
#	code/game/objects/structures/crates_lockers/closets/wardrobe.dm
#	code/modules/clothing/shoes/miscellaneous.dm
#	code/modules/clothing/suits/labcoat.dm
#	icons/mob/back.dmi
#	icons/mob/feet.dmi
#	icons/mob/human_face.dmi
#	icons/mob/items/lefthand.dmi
#	icons/mob/items/righthand.dmi
#	icons/mob/suit.dmi
#	icons/obj/clothing/shoes.dmi
#	icons/obj/clothing/suits.dmi
#	icons/obj/storage.dmi
#	maps/northern_star/polaris-2.dmm
#	maps/northern_star/polaris-5.dmm
This commit is contained in:
Anewbe
2017-04-01 12:45:45 -05:00
659 changed files with 19000 additions and 10384 deletions

View File

@@ -130,7 +130,11 @@ datum/preferences/proc/set_biological_gender(var/gender)
return ..()
/datum/category_item/player_setup_item/general/basic/proc/get_genders()
var/datum/species/S = all_species[pref.species]
var/datum/species/S
if(pref.species)
S = all_species[pref.species]
else
S = all_species["Human"]
var/list/possible_genders = S.genders
if(!pref.organ_data || pref.organ_data[BP_TORSO] != "cyborg")
return possible_genders

View File

@@ -28,6 +28,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
S["disabilities"] >> pref.disabilities
S["organ_data"] >> pref.organ_data
S["rlimb_data"] >> pref.rlimb_data
S["body_markings"] >> pref.body_markings
pref.preview_icon = null
/datum/category_item/player_setup_item/general/body/save_character(var/savefile/S)
@@ -51,6 +52,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
S["disabilities"] << pref.disabilities
S["organ_data"] << pref.organ_data
S["rlimb_data"] << pref.rlimb_data
S["body_markings"] << pref.body_markings
/datum/category_item/player_setup_item/general/body/sanitize_character(var/savefile/S)
if(!pref.species || !(pref.species in playable_species))
@@ -75,6 +77,8 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
pref.disabilities = sanitize_integer(pref.disabilities, 0, 65535, initial(pref.disabilities))
if(!pref.organ_data) pref.organ_data = list()
if(!pref.rlimb_data) pref.rlimb_data = list()
if(!pref.body_markings) pref.body_markings = list()
else pref.body_markings &= body_marking_styles_list
// Moved from /datum/preferences/proc/copy_to()
/datum/category_item/player_setup_item/general/body/copy_to_mob(var/mob/living/carbon/human/character)
@@ -123,6 +127,20 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
I.robotize()
else if(status == "digital")
I.digitize()
for(var/N in character.organs_by_name)
var/obj/item/organ/external/O = character.organs_by_name[N]
O.markings.Cut()
for(var/M in pref.body_markings)
var/datum/sprite_accessory/marking/mark_datum = body_marking_styles_list[M]
var/mark_color = "[pref.body_markings[M]]"
for(var/BP in mark_datum.body_parts)
var/obj/item/organ/external/O = character.organs_by_name[BP]
if(O)
O.markings[M] = list("color" = mark_color, "datum" = mark_datum)
return
/datum/category_item/player_setup_item/general/body/content(var/mob/user)
@@ -251,6 +269,13 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
if(has_flag(mob_species, HAS_SKIN_COLOR))
. += "<br><b>Body Color</b><br>"
. += "<a href='?src=\ref[src];skin_color=1'>Change Color</a> <font face='fixedsys' size='3' color='#[num2hex(pref.r_skin, 2)][num2hex(pref.g_skin, 2)][num2hex(pref.b_skin, 2)]'><table style='display:inline;' bgcolor='#[num2hex(pref.r_skin, 2)][num2hex(pref.g_skin, 2)][num2hex(pref.b_skin)]'><tr><td>__</td></tr></table></font><br>"
. += "<br><a href='?src=\ref[src];marking_style=1'>Body Markings +</a><br>"
for(var/M in pref.body_markings)
. += "[M] <a href='?src=\ref[src];marking_remove=[M]'>-</a> <a href='?src=\ref[src];marking_color=[M]'>Color</a>"
. += "<font face='fixedsys' size='3' color='[pref.body_markings[M]]'><table style='display:inline;' bgcolor='[pref.body_markings[M]]'><tr><td>__</td></tr></table></font>"
. += "<br>"
. = jointext(.,null)
/datum/category_item/player_setup_item/general/body/proc/has_flag(var/datum/species/mob_species, var/flag)
@@ -289,7 +314,6 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
if(!(pref.biological_gender in mob_species.genders))
pref.set_biological_gender(mob_species.genders[1])
//grab one of the valid hair styles for the newly chosen species
var/list/valid_hairstyles = list()
for(var/hairstyle in hair_styles_list)
@@ -334,6 +358,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
pref.s_tone = 0
reset_limbs() // Safety for species with incompatible manufacturers; easier than trying to do it case by case.
pref.body_markings.Cut() // Basically same as above.
var/min_age = get_min_age()
var/max_age = get_max_age()
@@ -421,6 +446,32 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
pref.f_style = new_f_style
return TOPIC_REFRESH_UPDATE_PREVIEW
else if(href_list["marking_style"])
var/list/usable_markings = pref.body_markings.Copy() ^ body_marking_styles_list.Copy()
for(var/M in usable_markings)
var/datum/sprite_accessory/S = usable_markings[M]
if(!S.species_allowed.len)
continue
else if(!(pref.species in S.species_allowed))
usable_markings -= M
var/new_marking = input(user, "Choose a body marking:", "Character Preference") as null|anything in usable_markings
if(new_marking && CanUseTopic(user))
pref.body_markings[new_marking] = "#000000" //New markings start black
return TOPIC_REFRESH_UPDATE_PREVIEW
else if(href_list["marking_remove"])
var/M = href_list["marking_remove"]
pref.body_markings -= M
return TOPIC_REFRESH_UPDATE_PREVIEW
else if(href_list["marking_color"])
var/M = href_list["marking_color"]
var/mark_color = input(user, "Choose the [M] color: ", "Character Preference", pref.body_markings[M]) as color|null
if(mark_color && CanUseTopic(user))
pref.body_markings[M] = "[mark_color]"
return TOPIC_REFRESH_UPDATE_PREVIEW
else if(href_list["reset_limbs"])
reset_limbs()
return TOPIC_REFRESH_UPDATE_PREVIEW

View File

@@ -38,7 +38,7 @@
pref.backbag = 1 //Same as above
character.backbag = pref.backbag
if(pref.pdachoice > 3 || pref.pdachoice < 1)
if(pref.pdachoice > 4 || pref.pdachoice < 1)
pref.pdachoice = 1
character.pdachoice = pref.pdachoice

View File

@@ -42,7 +42,7 @@
/datum/category_item/player_setup_item/general/background/content(var/mob/user)
. += "<b>Background Information</b><br>"
. += "[company_name] Relation: <a href='?src=\ref[src];nt_relation=1'>[pref.nanotrasen_relation]</a><br/>"
. += "[using_map.company_name] Relation: <a href='?src=\ref[src];nt_relation=1'>[pref.nanotrasen_relation]</a><br/>"
. += "Home System: <a href='?src=\ref[src];home_system=1'>[pref.home_system]</a><br/>"
. += "Citizenship: <a href='?src=\ref[src];citizenship=1'>[pref.citizenship]</a><br/>"
. += "Faction: <a href='?src=\ref[src];faction=1'>[pref.faction]</a><br/>"

View File

@@ -126,6 +126,12 @@ var/list/_client_preferences_by_type
enabled_description = "Show"
disabled_description = "Hide"
/datum/client_preference/check_mention
description ="Emphasize Name Mention"
key = "CHAT_MENTION"
enabled_description = "Emphasize"
disabled_description = "Normal"
/datum/client_preference/show_progress_bar
description ="Progress Bar"
key = "SHOW_PROGRESS"

View File

@@ -8,3 +8,8 @@
/datum/gear/ears/headphones
display_name = "headphones"
path = /obj/item/clothing/ears/earmuffs/headphones
/datum/gear/ears/translator
display_name = "universal translator, ear"
path = /obj/item/device/universal_translator/ear
cost = 8

View File

@@ -63,7 +63,7 @@
display_name = "Medical HUD Aviators (Medical)"
path = /obj/item/clothing/glasses/sunglasses/medhud/aviator
/datum/gear/eyes/medical/aviator
/datum/gear/eyes/medical/aviator/prescription
display_name = "Medical HUD Aviators, prescription (Medical)"
path = /obj/item/clothing/glasses/sunglasses/medhud/aviator/prescription

View File

@@ -1,21 +1,21 @@
// Shoelocker
/datum/gear/shoes
display_name = "jackboots"
path = /obj/item/clothing/shoes/jackboots
path = /obj/item/clothing/shoes/boots/jackboots
slot = slot_shoes
sort_category = "Shoes and Footwear"
/datum/gear/shoes/toeless
display_name = "toe-less jackboots"
path = /obj/item/clothing/shoes/jackboots/toeless
path = /obj/item/clothing/shoes/boots/jackboots/toeless
/datum/gear/shoes/workboots
display_name = "workboots"
path = /obj/item/clothing/shoes/workboots
path = /obj/item/clothing/shoes/boots/workboots
/datum/gear/shoes/workboots/toeless
display_name = "toe-less workboots"
path = /obj/item/clothing/shoes/workboots/toeless
path = /obj/item/clothing/shoes/boots/workboots/toeless
/datum/gear/shoes/sandals
display_name = "sandals"
@@ -135,16 +135,16 @@
/datum/gear/shoes/cowboy
display_name = "cowboy boots"
path = /obj/item/clothing/shoes/cowboy
path = /obj/item/clothing/shoes/boots/cowboy
/datum/gear/shoes/jungle
display_name = "jungle boots"
path = /obj/item/clothing/shoes/jungleboots
path = /obj/item/clothing/shoes/boots/jungle
cost = 2
/datum/gear/shoes/duty
display_name = "duty boots"
path = /obj/item/clothing/shoes/dutyboots
path = /obj/item/clothing/shoes/boots/duty
cost = 2
/datum/gear/shoes/dress
@@ -153,4 +153,12 @@
/datum/gear/shoes/dress/white
display_name = "shoes, dress white"
path = /obj/item/clothing/shoes/dress/white
path = /obj/item/clothing/shoes/dress/white
/datum/gear/shoes/heels
display_name = "high heels"
path = /obj/item/clothing/shoes/heels
/datum/gear/shoes/heels/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)

View File

@@ -357,3 +357,30 @@
services[initial(service.name)] = service
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(services))
/datum/gear/suit/miscellaneous/kimono
display_name = "kimono"
path = /obj/item/clothing/suit/kimono
/datum/gear/suit/miscellaneous/kimono/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
/datum/gear/suit/miscellaneous/sec_dep_jacket
display_name = "department jacket, security"
path = /obj/item/clothing/suit/storage/toggle/sec_dep_jacket
/datum/gear/suit/miscellaneous/engi_dep_jacket
display_name = "department jacket, engineering"
path = /obj/item/clothing/suit/storage/toggle/engi_dep_jacket
/datum/gear/suit/miscellaneous/supply_dep_jacket
display_name = "department jacket, supply"
path = /obj/item/clothing/suit/storage/toggle/supply_dep_jacket
/datum/gear/suit/miscellaneous/sci_dep_jacket
display_name = "department jacket, science"
path = /obj/item/clothing/suit/storage/toggle/sci_dep_jacket
/datum/gear/suit/miscellaneous/med_dep_jacket
display_name = "department jacket, medical"
path = /obj/item/clothing/suit/storage/toggle/med_dep_jacket

View File

@@ -444,4 +444,12 @@
/datum/gear/uniform/brandsuit/hephaestus
display_name = "jumpsuit, hephaestus"
path = /obj/item/clothing/under/hephaestus
path = /obj/item/clothing/under/hephaestus
/datum/gear/uniform/yogapants
display_name = "yoga pants"
path = /obj/item/clothing/under/pants/yogapants
/datum/gear/uniform/yogapants/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)

View File

@@ -46,6 +46,22 @@
display_name = "flashlight"
path = /obj/item/device/flashlight
/datum/gear/utility/flashlight_blue
display_name = "flashlight, blue"
path = /obj/item/device/flashlight/color
/datum/gear/utility/flashlight_orange
display_name = "flashlight, orange"
path = /obj/item/device/flashlight/color/orange
/datum/gear/utility/flashlight_red
display_name = "flashlight, red"
path = /obj/item/device/flashlight/color/red
/datum/gear/utility/flashlight_yellow
display_name = "flashlight, yellow"
path = /obj/item/device/flashlight/color/yellow
/datum/gear/utility/maglight
display_name = "flashlight, maglight"
path = /obj/item/device/flashlight/maglight
@@ -61,3 +77,8 @@
cost = 2
slot = "implant"
var/implant_type = "EAL"
/datum/gear/utility/translator
display_name = "universal translator"
path = /obj/item/device/universal_translator
cost = 8

View File

@@ -44,32 +44,24 @@
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(bandtypes))
/datum/gear/ears/skrell/cloth/male
display_name = "male headtail cloth selection (Skrell)"
path = /obj/item/clothing/ears/skrell/cloth_male
display_name = "male headtail cloth (Skrell)"
path = /obj/item/clothing/ears/skrell/cloth_male/black
sort_category = "Xenowear"
whitelisted = "Skrell"
/datum/gear/ears/skrell/cloth/male/New()
..()
var/list/clothtypes = list()
for(var/cloth_style in typesof(/obj/item/clothing/ears/skrell/cloth_male))
var/obj/item/clothing/ears/skrell/cloth_male/cloth = cloth_style
clothtypes[initial(cloth.name)] = cloth
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(clothtypes))
gear_tweaks = list(gear_tweak_free_color_choice)
/datum/gear/ears/skrell/cloth/female
display_name = "female headtail cloth selection (Skrell)"
path = /obj/item/clothing/ears/skrell/cloth_female
display_name = "female headtail cloth (Skrell)"
path = /obj/item/clothing/ears/skrell/cloth_female/black
sort_category = "Xenowear"
whitelisted = "Skrell"
/datum/gear/ears/skrell/cloth/female/New()
..()
var/list/clothtypes = list()
for(var/cloth_style in typesof(/obj/item/clothing/ears/skrell/cloth_female))
var/obj/item/clothing/ears/skrell/cloth_female/cloth = cloth_style
clothtypes[initial(cloth.name)] = cloth
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(clothtypes))
gear_tweaks = list(gear_tweak_free_color_choice)
/datum/gear/ears/skrell/colored/band
display_name = "Colored bands (Skrell)"

View File

@@ -263,13 +263,14 @@
/datum/category_item/player_setup_item/proc/get_FBP_type()
if(!is_FBP())
return 0 // Not a robot.
switch(pref.organ_data["brain"])
if("assisted")
return PREF_FBP_CYBORG
if("mechanical")
return PREF_FBP_POSI
if("digital")
return PREF_FBP_SOFTWARE
if(O_BRAIN in pref.organ_data)
switch(pref.organ_data[O_BRAIN])
if("assisted")
return PREF_FBP_CYBORG
if("mechanical")
return PREF_FBP_POSI
if("digital")
return PREF_FBP_SOFTWARE
return 0 //Something went wrong!
/datum/category_item/player_setup_item/proc/get_min_age()