mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-22 19:47:47 +01:00
Merge branch 'master' of https://github.com/PolarisSS13/Polaris into vatborn
This commit is contained in:
@@ -29,6 +29,10 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
S["organ_data"] >> pref.organ_data
|
||||
S["rlimb_data"] >> pref.rlimb_data
|
||||
S["body_markings"] >> pref.body_markings
|
||||
S["synth_color"] >> pref.synth_color
|
||||
S["synth_red"] >> pref.r_synth
|
||||
S["synth_green"] >> pref.g_synth
|
||||
S["synth_blue"] >> pref.b_synth
|
||||
pref.preview_icon = null
|
||||
|
||||
/datum/category_item/player_setup_item/general/body/save_character(var/savefile/S)
|
||||
@@ -53,6 +57,10 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
S["organ_data"] << pref.organ_data
|
||||
S["rlimb_data"] << pref.rlimb_data
|
||||
S["body_markings"] << pref.body_markings
|
||||
S["synth_color"] << pref.synth_color
|
||||
S["synth_red"] << pref.r_synth
|
||||
S["synth_green"] << pref.g_synth
|
||||
S["synth_blue"] << pref.b_synth
|
||||
|
||||
/datum/category_item/player_setup_item/general/body/sanitize_character(var/savefile/S)
|
||||
if(!pref.species || !(pref.species in playable_species))
|
||||
@@ -101,6 +109,10 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
character.h_style = pref.h_style
|
||||
character.f_style = pref.f_style
|
||||
character.b_type = pref.b_type
|
||||
character.synth_color = pref.synth_color
|
||||
character.r_synth = pref.r_synth
|
||||
character.g_synth = pref.g_synth
|
||||
character.b_synth = pref.b_synth
|
||||
|
||||
// Destroy/cyborgize organs and limbs.
|
||||
for(var/name in list(BP_HEAD, BP_L_HAND, BP_R_HAND, BP_L_ARM, BP_R_ARM, BP_L_FOOT, BP_R_FOOT, BP_L_LEG, BP_R_LEG, BP_GROIN, BP_TORSO))
|
||||
@@ -284,6 +296,11 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
. += "<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>"
|
||||
|
||||
. += "<br>"
|
||||
. += "<b>Allow Synth color:</b> <a href='?src=\ref[src];synth_color=1'><b>[pref.synth_color ? "Yes" : "No"]</b></a><br>"
|
||||
if(pref.synth_color)
|
||||
. += "<a href='?src=\ref[src];synth2_color=1'>Change Color</a> <font face='fixedsys' size='3' color='#[num2hex(pref.r_synth, 2)][num2hex(pref.g_synth, 2)][num2hex(pref.b_synth, 2)]'><table style='display:inline;' bgcolor='#[num2hex(pref.r_synth, 2)][num2hex(pref.g_synth, 2)][num2hex(pref.b_synth)]'><tr><td>__</td></tr></table></font> "
|
||||
|
||||
. = jointext(.,null)
|
||||
|
||||
/datum/category_item/player_setup_item/general/body/proc/has_flag(var/datum/species/mob_species, var/flag)
|
||||
@@ -665,6 +682,18 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
pref.equip_preview_mob ^= text2num(href_list["toggle_preview_value"])
|
||||
return TOPIC_REFRESH_UPDATE_PREVIEW
|
||||
|
||||
else if(href_list["synth_color"])
|
||||
pref.synth_color = !pref.synth_color
|
||||
return TOPIC_REFRESH_UPDATE_PREVIEW
|
||||
|
||||
else if(href_list["synth2_color"])
|
||||
var/new_color = input(user, "Choose your character's synth colour: ", "Character Preference", rgb(pref.r_synth, pref.g_synth, pref.b_synth)) as color|null
|
||||
if(new_color && CanUseTopic(user))
|
||||
pref.r_synth = hex2num(copytext(new_color, 2, 4))
|
||||
pref.g_synth = hex2num(copytext(new_color, 4, 6))
|
||||
pref.b_synth = hex2num(copytext(new_color, 6, 8))
|
||||
return TOPIC_REFRESH_UPDATE_PREVIEW
|
||||
|
||||
return ..()
|
||||
|
||||
/datum/category_item/player_setup_item/general/body/proc/reset_limbs()
|
||||
|
||||
@@ -14,7 +14,8 @@ var/list/gear_datums = list()
|
||||
//create a list of gear datums to sort
|
||||
for(var/geartype in typesof(/datum/gear)-/datum/gear)
|
||||
var/datum/gear/G = geartype
|
||||
|
||||
if(initial(G.type_category) == geartype)
|
||||
continue
|
||||
var/use_name = initial(G.display_name)
|
||||
var/use_category = initial(G.sort_category)
|
||||
|
||||
@@ -205,6 +206,7 @@ var/list/gear_datums = list()
|
||||
var/sort_category = "General"
|
||||
var/list/gear_tweaks = list() //List of datums which will alter the item after it has been spawned.
|
||||
var/exploitable = 0 //Does it go on the exploitable information list?
|
||||
var/type_category = null
|
||||
|
||||
/datum/gear/New()
|
||||
..()
|
||||
|
||||
@@ -1,42 +1,28 @@
|
||||
/datum/gear/accessory
|
||||
display_name = "armband, red"
|
||||
path = /obj/item/clothing/accessory/armband
|
||||
display_name = "accessory"
|
||||
slot = slot_tie
|
||||
sort_category = "Accessories"
|
||||
type_category = /datum/gear/accessory
|
||||
path = /obj/item/clothing/accessory
|
||||
cost = 1
|
||||
|
||||
/datum/gear/accessory/cargo
|
||||
display_name = "armband, cargo"
|
||||
path = /obj/item/clothing/accessory/armband/cargo
|
||||
/datum/gear/accessory/armband
|
||||
display_name = "armband selection"
|
||||
path = /obj/item/clothing/accessory/armband
|
||||
|
||||
/datum/gear/accessory/emt
|
||||
display_name = "armband, EMT"
|
||||
path = /obj/item/clothing/accessory/armband/medblue
|
||||
/datum/gear/accessory/armband/New()
|
||||
..()
|
||||
var/list/armbands = list()
|
||||
for(var/armband in (typesof(/obj/item/clothing/accessory/armband) - typesof(/obj/item/clothing/accessory/armband/med/color)))
|
||||
var/obj/item/clothing/accessory/armband_type = armband
|
||||
armbands[initial(armband_type.name)] = armband_type
|
||||
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(armbands))
|
||||
|
||||
/datum/gear/accessory/engineering
|
||||
display_name = "armband, engineering"
|
||||
path = /obj/item/clothing/accessory/armband/engine
|
||||
|
||||
/datum/gear/accessory/hydroponics
|
||||
display_name = "armband, hydroponics"
|
||||
path = /obj/item/clothing/accessory/armband/hydro
|
||||
|
||||
/datum/gear/accessory/medical
|
||||
display_name = "armband, medical"
|
||||
path = /obj/item/clothing/accessory/armband/med
|
||||
|
||||
/datum/gear/accessory/medical/cross
|
||||
display_name = "armband, medic"
|
||||
path = /obj/item/clothing/accessory/armband/med/cross
|
||||
|
||||
/datum/gear/accessory/science
|
||||
display_name = "armband, science"
|
||||
path = /obj/item/clothing/accessory/armband/science
|
||||
|
||||
/datum/gear/accessory/colored
|
||||
/datum/gear/accessory/armband/colored
|
||||
display_name = "armband"
|
||||
path = /obj/item/clothing/accessory/armband/med/color
|
||||
|
||||
/datum/gear/accessory/colored/New()
|
||||
/datum/gear/accessory/armband/colored/New()
|
||||
..()
|
||||
gear_tweaks = list(gear_tweak_free_color_choice)
|
||||
|
||||
@@ -74,215 +60,109 @@
|
||||
..()
|
||||
gear_tweaks = list(gear_tweak_free_color_choice)
|
||||
|
||||
|
||||
/datum/gear/accessory/wcoat
|
||||
display_name = "waistcoat"
|
||||
display_name = "waistcoat selection"
|
||||
path = /obj/item/clothing/accessory/wcoat
|
||||
cost = 1
|
||||
|
||||
/datum/gear/accessory/wcoat/red
|
||||
display_name = "waistcoat, red"
|
||||
path = /obj/item/clothing/accessory/wcoat/red
|
||||
|
||||
/datum/gear/accessory/wcoat/grey
|
||||
display_name = "waistcoat, grey"
|
||||
path = /obj/item/clothing/accessory/wcoat/grey
|
||||
|
||||
/datum/gear/accessory/wcoat/brown
|
||||
display_name = "waistcoat, brown"
|
||||
path = /obj/item/clothing/accessory/wcoat/brown
|
||||
|
||||
/datum/gear/accessory/swvest
|
||||
display_name = "sweatervest, black"
|
||||
path = /obj/item/clothing/accessory/wcoat/swvest
|
||||
cost = 1
|
||||
|
||||
/datum/gear/accessory/swvest/blue
|
||||
display_name = "sweatervest, blue"
|
||||
path = /obj/item/clothing/accessory/wcoat/swvest/blue
|
||||
|
||||
/datum/gear/accessory/swvest/red
|
||||
display_name = "sweatervest, red"
|
||||
path = /obj/item/clothing/accessory/wcoat/swvest/red
|
||||
/datum/gear/accessory/wcoat/New()
|
||||
..()
|
||||
var/list/wcoats = list()
|
||||
for(var/wcoat in typesof(/obj/item/clothing/accessory/wcoat))
|
||||
var/obj/item/clothing/accessory/wcoat_type = wcoat
|
||||
wcoats[initial(wcoat_type.name)] = wcoat_type
|
||||
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(wcoats))
|
||||
|
||||
/datum/gear/accessory/holster
|
||||
display_name = "holster, armpit"
|
||||
path = /obj/item/clothing/accessory/holster/armpit
|
||||
display_name = "holster selection (Security, CD, HoP)"
|
||||
path = /obj/item/clothing/accessory/holster
|
||||
allowed_roles = list("Colony Director", "Head of Personnel", "Security Officer", "Warden", "Head of Security","Detective")
|
||||
|
||||
/datum/gear/accessory/holster/hip
|
||||
display_name = "holster, hip"
|
||||
path = /obj/item/clothing/accessory/holster/hip
|
||||
|
||||
/datum/gear/accessory/holster/leg
|
||||
display_name = "holster, leg"
|
||||
path = /obj/item/clothing/accessory/holster/leg
|
||||
|
||||
/datum/gear/accessory/holster/waist
|
||||
display_name = "holster, waist"
|
||||
path = /obj/item/clothing/accessory/holster/waist
|
||||
/datum/gear/accessory/holster/New()
|
||||
..()
|
||||
var/list/holsters = list()
|
||||
for(var/holster in typesof(/obj/item/clothing/accessory/holster))
|
||||
var/obj/item/clothing/accessory/holster_type = holster
|
||||
holsters[initial(holster_type.name)] = holster_type
|
||||
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(holsters))
|
||||
|
||||
/datum/gear/accessory/tie
|
||||
display_name = "tie, black"
|
||||
path = /obj/item/clothing/accessory/black
|
||||
display_name = "tie selection"
|
||||
path = /obj/item/clothing/accessory/tie
|
||||
cost = 1
|
||||
|
||||
/datum/gear/accessory/tie/blue
|
||||
display_name = "tie, blue"
|
||||
path = /obj/item/clothing/accessory/blue
|
||||
|
||||
/datum/gear/accessory/tie/blue_clip
|
||||
display_name = "tie, blue with clip"
|
||||
path = /obj/item/clothing/accessory/blue_clip
|
||||
|
||||
/datum/gear/accessory/tie/blue_long
|
||||
display_name = "tie, blue long"
|
||||
path = /obj/item/clothing/accessory/blue_long
|
||||
|
||||
/datum/gear/accessory/tie/red
|
||||
display_name = "tie, red"
|
||||
path = /obj/item/clothing/accessory/red
|
||||
|
||||
/datum/gear/accessory/tie/red_clip
|
||||
display_name = "tie, red with clip"
|
||||
path = /obj/item/clothing/accessory/red_clip
|
||||
|
||||
/datum/gear/accessory/tie/red_long
|
||||
display_name = "tie, red long"
|
||||
path = /obj/item/clothing/accessory/red_long
|
||||
|
||||
/datum/gear/accessory/tie/yellow
|
||||
display_name = "tie, yellow"
|
||||
path = /obj/item/clothing/accessory/yellow
|
||||
|
||||
/datum/gear/accessory/tie/navy
|
||||
display_name = "tie, navy blue"
|
||||
path = /obj/item/clothing/accessory/navy
|
||||
|
||||
/datum/gear/accessory/tie/white
|
||||
display_name = "tie, white"
|
||||
path = /obj/item/clothing/accessory/white
|
||||
|
||||
/datum/gear/accessory/tie/horrible
|
||||
display_name = "tie, socially disgraceful"
|
||||
path = /obj/item/clothing/accessory/horrible
|
||||
/datum/gear/accessory/tie/New()
|
||||
..()
|
||||
var/list/ties = list()
|
||||
for(var/tie in typesof(/obj/item/clothing/accessory/tie))
|
||||
var/obj/item/clothing/accessory/tie_type = tie
|
||||
ties[initial(tie_type.name)] = tie_type
|
||||
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(ties))
|
||||
|
||||
/datum/gear/accessory/scarf
|
||||
display_name = "scarf"
|
||||
display_name = "scarf selection"
|
||||
path = /obj/item/clothing/accessory/scarf
|
||||
cost = 1
|
||||
|
||||
/datum/gear/accessory/scarf/red
|
||||
display_name = "scarf, red"
|
||||
path = /obj/item/clothing/accessory/scarf/red
|
||||
/datum/gear/accessory/scarf/New()
|
||||
..()
|
||||
var/list/scarfs = list()
|
||||
for(var/scarf in typesof(/obj/item/clothing/accessory/scarf))
|
||||
var/obj/item/clothing/accessory/scarf_type = scarf
|
||||
scarfs[initial(scarf_type.name)] = scarf_type
|
||||
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(scarfs))
|
||||
|
||||
/datum/gear/accessory/scarf/green
|
||||
display_name = "scarf, green"
|
||||
path = /obj/item/clothing/accessory/scarf/green
|
||||
/datum/gear/accessory/jacket
|
||||
display_name = "suit jacket selection"
|
||||
path = /obj/item/clothing/accessory/jacket
|
||||
cost = 1
|
||||
|
||||
/datum/gear/accessory/scarf/darkblue
|
||||
display_name = "scarf, dark blue"
|
||||
path = /obj/item/clothing/accessory/scarf/darkblue
|
||||
|
||||
/datum/gear/accessory/scarf/purple
|
||||
display_name = "scarf, purple"
|
||||
path = /obj/item/clothing/accessory/scarf/purple
|
||||
|
||||
/datum/gear/accessory/scarf/yellow
|
||||
display_name = "scarf, yellow"
|
||||
path = /obj/item/clothing/accessory/scarf/yellow
|
||||
|
||||
/datum/gear/accessory/scarf/orange
|
||||
display_name = "scarf, orange"
|
||||
path = /obj/item/clothing/accessory/scarf/orange
|
||||
|
||||
/datum/gear/accessory/scarf/lightblue
|
||||
display_name = "scarf, light blue"
|
||||
path = /obj/item/clothing/accessory/scarf/lightblue
|
||||
|
||||
/datum/gear/accessory/scarf/white
|
||||
display_name = "scarf, white"
|
||||
path = /obj/item/clothing/accessory/scarf/white
|
||||
|
||||
/datum/gear/accessory/scarf/black
|
||||
display_name = "scarf, black"
|
||||
path = /obj/item/clothing/accessory/scarf/black
|
||||
|
||||
/datum/gear/accessory/scarf/zebra
|
||||
display_name = "scarf, zebra"
|
||||
path = /obj/item/clothing/accessory/scarf/zebra
|
||||
|
||||
/datum/gear/accessory/scarf/christmas
|
||||
display_name = "scarf, christmas"
|
||||
path = /obj/item/clothing/accessory/scarf/christmas
|
||||
|
||||
/datum/gear/accessory/scarf/stripedred
|
||||
display_name = "scarf, striped red"
|
||||
path = /obj/item/clothing/accessory/stripedredscarf
|
||||
|
||||
/datum/gear/accessory/scarf/stripedgreen
|
||||
display_name = "scarf, striped green"
|
||||
path = /obj/item/clothing/accessory/stripedgreenscarf
|
||||
|
||||
/datum/gear/accessory/scarf/stripedblue
|
||||
display_name = "scarf, striped blue"
|
||||
path = /obj/item/clothing/accessory/stripedbluescarf
|
||||
|
||||
/datum/gear/accessory/suitjacket
|
||||
display_name = "suit jacket, tan"
|
||||
path = /obj/item/clothing/accessory/tan_jacket
|
||||
|
||||
/datum/gear/accessory/suitjacket/charcoal
|
||||
display_name = "suit jacket, charcoal"
|
||||
path = /obj/item/clothing/accessory/charcoal_jacket
|
||||
|
||||
/datum/gear/accessory/suitjacket/navy
|
||||
display_name = "suit jacket, navy blue"
|
||||
path = /obj/item/clothing/accessory/navy_jacket
|
||||
|
||||
/datum/gear/accessory/suitjacket/burgundy
|
||||
display_name = "suit jacket, burgundy"
|
||||
path = /obj/item/clothing/accessory/burgundy_jacket
|
||||
|
||||
/datum/gear/accessory/suitjacket/checkered
|
||||
display_name = "suit jacket, checkered"
|
||||
path = /obj/item/clothing/accessory/checkered_jacket
|
||||
/datum/gear/accessory/jacket/New()
|
||||
..()
|
||||
var/list/jackets = list()
|
||||
for(var/jacket in typesof(/obj/item/clothing/accessory/jacket))
|
||||
var/obj/item/clothing/accessory/jacket_type = jacket
|
||||
jackets[initial(jacket_type.name)] = jacket_type
|
||||
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(jackets))
|
||||
|
||||
/datum/gear/accessory/suitvest
|
||||
display_name = "suit vest"
|
||||
path = /obj/item/clothing/accessory/vest
|
||||
|
||||
/datum/gear/accessory/brown_vest
|
||||
display_name = "webbing, engineering"
|
||||
display_name = "webbing, brown"
|
||||
path = /obj/item/clothing/accessory/storage/brown_vest
|
||||
allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer","Security Officer","Detective","Head of Security","Warden","Paramedic","Chief Medical Officer","Medical Doctor")
|
||||
|
||||
/datum/gear/accessory/black_vest
|
||||
display_name = "webbing, security"
|
||||
display_name = "webbing, black"
|
||||
path = /obj/item/clothing/accessory/storage/black_vest
|
||||
allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer","Security Officer","Detective","Head of Security","Warden","Paramedic","Chief Medical Officer","Medical Doctor")
|
||||
|
||||
/datum/gear/accessory/white_vest
|
||||
display_name = "webbing, medical"
|
||||
display_name = "webbing, white"
|
||||
path = /obj/item/clothing/accessory/storage/white_vest
|
||||
allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer","Security Officer","Detective","Head of Security","Warden","Paramedic","Chief Medical Officer","Medical Doctor")
|
||||
|
||||
/datum/gear/accessory/brown_drop_pouches
|
||||
display_name = "drop pouches, engineering"
|
||||
display_name = "drop pouches, brown"
|
||||
path = /obj/item/clothing/accessory/storage/brown_drop_pouches
|
||||
allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer","Security Officer","Detective","Head of Security","Warden","Paramedic","Chief Medical Officer","Medical Doctor")
|
||||
|
||||
/datum/gear/accessory/black_drop_pouches
|
||||
display_name = "drop pouches, security"
|
||||
display_name = "drop pouches, black"
|
||||
path = /obj/item/clothing/accessory/storage/black_drop_pouches
|
||||
allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer","Security Officer","Detective","Head of Security","Warden","Paramedic","Chief Medical Officer","Medical Doctor")
|
||||
|
||||
/datum/gear/accessory/white_drop_pouches
|
||||
display_name = "drop pouches, medical"
|
||||
display_name = "drop pouches, white"
|
||||
path = /obj/item/clothing/accessory/storage/white_drop_pouches
|
||||
allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer","Security Officer","Detective","Head of Security","Warden","Paramedic","Chief Medical Officer","Medical Doctor")
|
||||
|
||||
/datum/gear/accessory/fannypack
|
||||
display_name = "fannypack selection"
|
||||
cost = 2
|
||||
path = /obj/item/weapon/storage/belt/fannypack
|
||||
|
||||
/datum/gear/accessory/fannypack/New()
|
||||
..()
|
||||
|
||||
@@ -68,9 +68,9 @@
|
||||
path = /obj/item/clothing/glasses/sunglasses/medhud/aviator/prescription
|
||||
|
||||
/datum/gear/eyes/meson
|
||||
display_name = "Optical Meson Scanners (Engineering)"
|
||||
display_name = "Optical Meson Scanners (Engineering, Science)"
|
||||
path = /obj/item/clothing/glasses/meson
|
||||
allowed_roles = list("Station Engineer","Chief Engineer","Atmospheric Technician")
|
||||
allowed_roles = list("Station Engineer","Chief Engineer","Atmospheric Technician", "Scientist", "Research Director")
|
||||
|
||||
/datum/gear/eyes/meson/prescription
|
||||
display_name = "Optical Meson Scanners, prescription (Engineering)"
|
||||
@@ -115,4 +115,3 @@
|
||||
/datum/gear/eyes/sun/prescriptionsun
|
||||
display_name = "sunglasses, presciption (Security/Command)"
|
||||
path = /obj/item/clothing/glasses/sunglasses/prescription
|
||||
cost = 2
|
||||
|
||||
@@ -68,10 +68,34 @@
|
||||
cost = 3
|
||||
|
||||
/datum/gear/gloves/forensic
|
||||
display_name = "gloves, forensic"
|
||||
display_name = "gloves, forensic (Detective)"
|
||||
path = /obj/item/clothing/gloves/forensic
|
||||
allowed_roles = list("Detective")
|
||||
|
||||
/datum/gear/gloves/fingerless
|
||||
display_name = "fingerless gloves"
|
||||
path = /obj/item/clothing/gloves/fingerless
|
||||
path = /obj/item/clothing/gloves/fingerless
|
||||
|
||||
/datum/gear/gloves/ring
|
||||
display_name = "ring selection"
|
||||
description = "Choose from a number of rings."
|
||||
path = /obj/item/clothing/gloves/ring
|
||||
cost = 1
|
||||
|
||||
/datum/gear/gloves/ring/New()
|
||||
..()
|
||||
var/ringtype = list()
|
||||
ringtype["CTI ring"] = /obj/item/clothing/gloves/ring/cti
|
||||
ringtype["Mariner University ring"] = /obj/item/clothing/gloves/ring/mariner
|
||||
ringtype["engagement ring"] = /obj/item/clothing/gloves/ring/engagement
|
||||
ringtype["signet ring"] = /obj/item/clothing/gloves/ring/seal/signet
|
||||
ringtype["masonic ring"] = /obj/item/clothing/gloves/ring/seal/mason
|
||||
ringtype["ring, steel"] = /obj/item/clothing/gloves/ring/material/steel
|
||||
ringtype["ring, iron"] = /obj/item/clothing/gloves/ring/material/iron
|
||||
ringtype["ring, silver"] = /obj/item/clothing/gloves/ring/material/silver
|
||||
ringtype["ring, gold"] = /obj/item/clothing/gloves/ring/material/gold
|
||||
ringtype["ring, platinum"] = /obj/item/clothing/gloves/ring/material/platinum
|
||||
ringtype["ring, glass"] = /obj/item/clothing/gloves/ring/material/glass
|
||||
ringtype["ring, wood"] = /obj/item/clothing/gloves/ring/material/wood
|
||||
ringtype["ring, plastic"] = /obj/item/clothing/gloves/ring/material/plastic
|
||||
gear_tweaks += new/datum/gear_tweak/path(ringtype)
|
||||
@@ -136,7 +136,6 @@
|
||||
/datum/gear/head/cowboy
|
||||
display_name = "cowboy, rodeo"
|
||||
path = /obj/item/clothing/head/cowboy_hat
|
||||
cost = 3
|
||||
|
||||
/datum/gear/head/cowboy/black
|
||||
display_name = "cowboy, black"
|
||||
@@ -268,6 +267,11 @@
|
||||
..()
|
||||
gear_tweaks = list(gear_tweak_free_color_choice)
|
||||
|
||||
|
||||
/datum/gear/head/kitty
|
||||
display_name = "kitty ears"
|
||||
path = /obj/item/clothing/head/kitty
|
||||
|
||||
/datum/gear/head/beanie
|
||||
display_name = "beanie"
|
||||
path = /obj/item/clothing/head/beanie
|
||||
|
||||
@@ -195,6 +195,10 @@
|
||||
..()
|
||||
gear_tweaks = list(gear_tweak_free_color_choice)
|
||||
|
||||
/datum/gear/shoes/slippers
|
||||
display_name = "bunny slippers"
|
||||
path = /obj/item/clothing/shoes/slippers
|
||||
|
||||
/datum/gear/shoes/boots/winter
|
||||
display_name = "winter boots"
|
||||
path = /obj/item/clothing/shoes/boots/winter
|
||||
@@ -227,7 +231,7 @@
|
||||
/datum/gear/shoes/boots/winter/medical
|
||||
display_name = "medical winter boots"
|
||||
path = /obj/item/clothing/shoes/boots/winter/medical
|
||||
allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist")
|
||||
allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist", "Psychiatrist")
|
||||
|
||||
/datum/gear/shoes/boots/winter/mining
|
||||
display_name = "mining winter boots"
|
||||
|
||||
@@ -149,7 +149,7 @@
|
||||
/datum/gear/suit/labcoat/emt
|
||||
display_name = "labcoat, EMT (Medical)"
|
||||
path = /obj/item/clothing/suit/storage/toggle/labcoat/emt
|
||||
allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist")
|
||||
allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist", "Psychiatrist")
|
||||
|
||||
/datum/gear/suit/roles/surgical_apron
|
||||
display_name = "surgical apron"
|
||||
@@ -182,7 +182,7 @@
|
||||
/datum/gear/suit/roles/poncho/medical
|
||||
display_name = "poncho, medical"
|
||||
path = /obj/item/clothing/accessory/poncho/roles/medical
|
||||
allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist")
|
||||
allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist", "Psychiatrist")
|
||||
|
||||
/datum/gear/suit/roles/poncho/engineering
|
||||
display_name = "poncho, engineering"
|
||||
@@ -199,6 +199,41 @@
|
||||
path = /obj/item/clothing/accessory/poncho/roles/cargo
|
||||
allowed_roles = list("Quartermaster","Cargo Technician")
|
||||
|
||||
/datum/gear/suit/roles/poncho/cloak/hos
|
||||
display_name = "cloak, head of security"
|
||||
path = /obj/item/clothing/accessory/poncho/roles/cloak/hos
|
||||
allowed_roles = list("Head of Security")
|
||||
|
||||
/datum/gear/suit/roles/poncho/cloak/cmo
|
||||
display_name = "cloak, chief medical officer"
|
||||
path = /obj/item/clothing/accessory/poncho/roles/cloak/cmo
|
||||
allowed_roles = list("Chief Medical Officer")
|
||||
|
||||
/datum/gear/suit/roles/poncho/cloak/ce
|
||||
display_name = "cloak, chief engineer"
|
||||
path = /obj/item/clothing/accessory/poncho/roles/cloak/ce
|
||||
allowed_roles = list("Chief Engineer")
|
||||
|
||||
/datum/gear/suit/roles/poncho/cloak/rd
|
||||
display_name = "cloak, research director"
|
||||
path = /obj/item/clothing/accessory/poncho/roles/cloak/rd
|
||||
allowed_roles = list("Research Director")
|
||||
|
||||
/datum/gear/suit/roles/poncho/cloak/qm
|
||||
display_name = "cloak, quartermaster"
|
||||
path = /obj/item/clothing/accessory/poncho/roles/cloak/qm
|
||||
allowed_roles = list("Quartermaster")
|
||||
|
||||
/datum/gear/suit/roles/poncho/cloak/captain
|
||||
display_name = "cloak, colony director"
|
||||
path = /obj/item/clothing/accessory/poncho/roles/cloak/captain
|
||||
allowed_roles = list("Colony Director")
|
||||
|
||||
/datum/gear/suit/roles/poncho/cloak/hop
|
||||
display_name = "cloak, head of personnel"
|
||||
path = /obj/item/clothing/accessory/poncho/roles/cloak/hop
|
||||
allowed_roles = list("Head of Personnel")
|
||||
|
||||
/datum/gear/suit/unathi_robe
|
||||
display_name = "roughspun robe"
|
||||
path = /obj/item/clothing/suit/unathi/robe
|
||||
@@ -257,7 +292,7 @@
|
||||
/datum/gear/suit/wintercoat/medical
|
||||
display_name = "winter coat, medical"
|
||||
path = /obj/item/clothing/suit/storage/hooded/wintercoat/medical
|
||||
allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist")
|
||||
allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist", "Psychiatrist")
|
||||
|
||||
/datum/gear/suit/wintercoat/science
|
||||
display_name = "winter coat, science"
|
||||
@@ -410,7 +445,7 @@
|
||||
/datum/gear/suit/snowsuit/medical
|
||||
display_name = "snowsuit, medical"
|
||||
path = /obj/item/clothing/suit/storage/snowsuit/medical
|
||||
allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist")
|
||||
allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist", "Psychiatrist")
|
||||
|
||||
/datum/gear/suit/snowsuit/science
|
||||
display_name = "snowsuit, science"
|
||||
|
||||
@@ -243,7 +243,6 @@
|
||||
/datum/gear/uniform/scrub
|
||||
display_name = "scrubs selection"
|
||||
path = /obj/item/clothing/under/rank/medical/scrubs
|
||||
allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist", "Roboticist")
|
||||
|
||||
/datum/gear/uniform/scrub/New()
|
||||
..()
|
||||
@@ -455,3 +454,7 @@
|
||||
/datum/gear/uniform/red_swept_dress
|
||||
display_name = "red swept dress"
|
||||
path = /obj/item/clothing/under/dress/red_swept_dress
|
||||
|
||||
/datum/gear/uniform/bathrobe
|
||||
display_name = "bathrobe"
|
||||
path = /obj/item/clothing/under/bathrobe
|
||||
@@ -30,14 +30,14 @@
|
||||
name = "Flimsy"
|
||||
desc = "You're more fragile than most, and have less of an ability to endure harm."
|
||||
modifier_type = /datum/modifier/trait/flimsy
|
||||
muturally_exclusive = list(/datum/trait/modifier/physical/frail)
|
||||
mutually_exclusive = list(/datum/trait/modifier/physical/frail)
|
||||
|
||||
|
||||
/datum/trait/modifier/physical/frail
|
||||
name = "Frail"
|
||||
desc = "Your body is very fragile, and has even less of an ability to endure harm."
|
||||
modifier_type = /datum/modifier/trait/frail
|
||||
muturally_exclusive = list(/datum/trait/modifier/physical/flimsy)
|
||||
mutually_exclusive = list(/datum/trait/modifier/physical/flimsy)
|
||||
|
||||
|
||||
/datum/trait/modifier/physical/haemophilia
|
||||
@@ -51,10 +51,19 @@
|
||||
// If a species lacking blood is added, it is suggested to add a check for them here.
|
||||
return ..()
|
||||
|
||||
|
||||
/datum/trait/modifier/physical/weak
|
||||
name = "Weak"
|
||||
desc = "A lack of physical strength causes a diminshed capability in close quarters combat."
|
||||
modifier_type = /datum/modifier/trait/weak
|
||||
mutually_exclusive = list(/datum/trait/modifier/physical/wimpy)
|
||||
|
||||
|
||||
/datum/trait/modifier/physical/wimpy
|
||||
name = "Wimpy"
|
||||
desc = "An extreme lack of physical strength causes a greatly diminished capability in close quarters combat."
|
||||
modifier_type = /datum/modifier/trait/wimpy
|
||||
mutually_exclusive = list(/datum/trait/modifier/physical/weak)
|
||||
|
||||
|
||||
/datum/trait/modifier/physical/inaccurate
|
||||
@@ -68,6 +77,7 @@
|
||||
/datum/trait/modifier/physical/high_metabolism
|
||||
name = "High Metabolism"
|
||||
modifier_type = /datum/modifier/trait/high_metabolism
|
||||
mutually_exclusive = list(/datum/trait/modifier/physical/low_metabolism)
|
||||
|
||||
/datum/trait/modifier/physical/high_metabolism/test_for_invalidity(var/datum/category_item/player_setup_item/traits/setup)
|
||||
if(setup.is_FBP())
|
||||
@@ -78,6 +88,7 @@
|
||||
/datum/trait/modifier/physical/low_metabolism
|
||||
name = "Low Metabolism"
|
||||
modifier_type = /datum/modifier/trait/low_metabolism
|
||||
mutually_exclusive = list(/datum/trait/modifier/physical/high_metabolism)
|
||||
|
||||
/datum/trait/modifier/physical/low_metabolism/test_for_invalidity(var/datum/category_item/player_setup_item/traits/setup)
|
||||
if(setup.is_FBP())
|
||||
@@ -165,7 +176,7 @@
|
||||
name = "Xenophobic"
|
||||
desc = "The mind of the Alien is unknowable, and as such, their intentions cannot be known. You always watch the xenos closely, as they most certainly are watching you \
|
||||
closely, waiting to strike."
|
||||
muturally_exclusive = list(
|
||||
mutually_exclusive = list(
|
||||
/datum/trait/modifier/mental/humanphobe,
|
||||
/datum/trait/modifier/mental/skrellphobe,
|
||||
/datum/trait/modifier/mental/tajaraphobe,
|
||||
@@ -177,36 +188,36 @@
|
||||
/datum/trait/modifier/mental/humanphobe
|
||||
name = "Human-phobic"
|
||||
desc = "Boilerplate racism for monkeys goes here."
|
||||
muturally_exclusive = list(/datum/trait/modifier/mental/xenophobe)
|
||||
mutually_exclusive = list(/datum/trait/modifier/mental/xenophobe)
|
||||
|
||||
/datum/trait/modifier/mental/skrellphobe
|
||||
name = "Skrell-phobic"
|
||||
desc = "Boilerplate racism for squid goes here."
|
||||
muturally_exclusive = list(/datum/trait/modifier/mental/xenophobe)
|
||||
mutually_exclusive = list(/datum/trait/modifier/mental/xenophobe)
|
||||
|
||||
/datum/trait/modifier/mental/tajaraphobe
|
||||
name = "Tajara-phobic"
|
||||
desc = "Boilerplate racism for cats goes here."
|
||||
muturally_exclusive = list(/datum/trait/modifier/mental/xenophobe)
|
||||
mutually_exclusive = list(/datum/trait/modifier/mental/xenophobe)
|
||||
|
||||
/datum/trait/modifier/mental/unathiphobe
|
||||
name = "Unathi-phobic"
|
||||
desc = "Boilerplate racism for lizards goes here."
|
||||
muturally_exclusive = list(/datum/trait/modifier/mental/xenophobe)
|
||||
mutually_exclusive = list(/datum/trait/modifier/mental/xenophobe)
|
||||
|
||||
// Not sure why anyone would hate/fear these guys but for the sake of completeness here we are.
|
||||
/datum/trait/modifier/mental/dionaphobe
|
||||
name = "Diona-phobic"
|
||||
desc = "Boilerplate racism for trees goes here."
|
||||
muturally_exclusive = list(/datum/trait/modifier/mental/xenophobe)
|
||||
mutually_exclusive = list(/datum/trait/modifier/mental/xenophobe)
|
||||
|
||||
/datum/trait/modifier/mental/teshariphobe
|
||||
name = "Teshari-phobic"
|
||||
desc = "Boilerplate racism for birds goes here."
|
||||
muturally_exclusive = list(/datum/trait/modifier/mental/xenophobe)
|
||||
mutually_exclusive = list(/datum/trait/modifier/mental/xenophobe)
|
||||
|
||||
/datum/trait/modifier/mental/prometheanphobe
|
||||
name = "Promethean-phobic"
|
||||
desc = "Boilerplate racism for jellos goes here."
|
||||
muturally_exclusive = list(/datum/trait/modifier/mental/xenophobe)
|
||||
mutually_exclusive = list(/datum/trait/modifier/mental/xenophobe)
|
||||
*/
|
||||
@@ -79,7 +79,7 @@ var/list/trait_categories = list() // The categories available for the trait men
|
||||
if(invalidity)
|
||||
invalid += "[invalidity] "
|
||||
if(conflicts)
|
||||
invalid += "This trait is muturally exclusive with [conflicts]."
|
||||
invalid += "This trait is mutually exclusive with [conflicts]."
|
||||
|
||||
. += "<td width = 75%><font size=2><i>[T.desc]</i>\
|
||||
[invalid ? "<font color='#FF0000'><br>Cannot take trait. Reason: [invalid]</font>":""]</font></td></tr>"
|
||||
@@ -114,7 +114,7 @@ var/list/trait_categories = list() // The categories available for the trait men
|
||||
var/conflicts = T.test_for_trait_conflict(pref.traits)
|
||||
if(conflicts)
|
||||
pref.traits -= trait_name
|
||||
to_chat(preference_mob, "<span class='warning'>The [trait_name] trait is muturally exclusive with [conflicts].</span>")
|
||||
to_chat(preference_mob, "<span class='warning'>The [trait_name] trait is mutually exclusive with [conflicts].</span>")
|
||||
|
||||
/datum/category_item/player_setup_item/traits/OnTopic(href, href_list, user)
|
||||
if(href_list["toggle_trait"])
|
||||
@@ -129,7 +129,7 @@ var/list/trait_categories = list() // The categories available for the trait men
|
||||
|
||||
var/conflicts = T.test_for_trait_conflict(pref.traits)
|
||||
if(conflicts)
|
||||
to_chat(user, "<span class='warning'>The [T.name] trait is muturally exclusive with [conflicts].</span>")
|
||||
to_chat(user, "<span class='warning'>The [T.name] trait is mutually exclusive with [conflicts].</span>")
|
||||
return TOPIC_NOACTION
|
||||
|
||||
pref.traits += T.name
|
||||
@@ -143,7 +143,7 @@ var/list/trait_categories = list() // The categories available for the trait men
|
||||
/datum/trait
|
||||
var/name = null // Name to show on UI
|
||||
var/desc = null // Description of what it does, also shown on UI.
|
||||
var/list/muturally_exclusive = list() // List of trait types which cannot be taken alongside this trait.
|
||||
var/list/mutually_exclusive = list() // List of trait types which cannot be taken alongside this trait.
|
||||
var/category = null // What section to place this trait inside.
|
||||
|
||||
// Applies effects to the newly spawned mob.
|
||||
@@ -156,16 +156,16 @@ var/list/trait_categories = list() // The categories available for the trait men
|
||||
/datum/trait/proc/test_for_invalidity(var/datum/category_item/player_setup_item/traits/setup)
|
||||
return null
|
||||
|
||||
// Checks muturally_exclusive. current_traits needs to be a list of strings.
|
||||
// Checks mutually_exclusive. current_traits needs to be a list of strings.
|
||||
// Returns null if everything is well, similar to the above proc. Otherwise returns an english_list() of conflicting traits.
|
||||
/datum/trait/proc/test_for_trait_conflict(var/list/current_traits)
|
||||
var/list/conflicts = list()
|
||||
var/result
|
||||
|
||||
if(muturally_exclusive.len)
|
||||
if(mutually_exclusive.len)
|
||||
for(var/trait_name in current_traits)
|
||||
var/datum/trait/T = trait_datums[trait_name]
|
||||
if(T.type in muturally_exclusive)
|
||||
if(T.type in mutually_exclusive)
|
||||
conflicts.Add(T.name)
|
||||
|
||||
if(conflicts.len)
|
||||
|
||||
Reference in New Issue
Block a user