This commit is contained in:
izac112
2020-11-24 20:26:30 +01:00
97 changed files with 41169 additions and 28566 deletions
@@ -57,4 +57,4 @@
/datum/gear/eyes/medical/medpatch
display_name = "Health HUDpatch"
path = /obj/item/clothing/glasses/hud/health/eyepatch
path = /obj/item/clothing/glasses/hud/health/eyepatch
@@ -379,6 +379,7 @@
/datum/gear/suit/cloakcolor/New()
..()
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/suit/labcoat_tesh
display_name = "labcoat, colorable (Teshari)"
path = /obj/item/clothing/suit/storage/toggle/labcoat/teshari
@@ -397,7 +398,6 @@
/datum/gear/suit/teshcoat/New()
..()
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/suit/teshcoatwhite
@@ -424,11 +424,16 @@
display_name = "toe-less jackboots"
path = /obj/item/clothing/shoes/boots/jackboots/toeless
/datum/gear/shoes/toelessknee
display_name = "toe-less jackboots, knee-length"
path = /obj/item/clothing/shoes/boots/jackboots/toeless/knee
/datum/gear/shoes/toelessthigh
display_name = "toe-less jackboots, thigh-length"
path = /obj/item/clothing/shoes/boots/jackboots/toeless/thigh
path = /obj/item/clothing/shoes/boots/jackboots/toeless/thigh
/datum/gear/eyes/aerogelgoggles
display_name = "airtight orange goggles (Teshari)"
path = /obj/item/clothing/glasses/aerogelgoggles
whitelisted = SPECIES_TESHARI
sort_category = "Xenowear"
@@ -96,3 +96,385 @@
display_name = "white wedding dress (Wolf/Horse-taur)"
path = /obj/item/clothing/suit/taur_dress/white
sort_category = "Xenowear"
//Net new alternate job undercoats.
/datum/gear/suit/dept/undercoat/cap
display_name = "facility director undercoat (Teshari)"
path = /obj/item/clothing/under/seromi/undercoat/jobs/cap_vr
allowed_roles = list("Site Manager")
/datum/gear/suit/dept/undercoat/psych
display_name = "psychiatrist undercoat (Teshari)"
path = /obj/item/clothing/under/seromi/undercoat/jobs/psych_vr
allowed_roles = list("Psychiatrist")
/datum/gear/suit/dept/undercoat/rd
display_name = "research director undercoat (Teshari)"
path = /obj/item/clothing/under/seromi/undercoat/jobs/rd_vr
allowed_roles = list("Research Director")
/datum/gear/suit/dept/undercoat/hos
display_name = "head of security undercoat (Teshari)"
path = /obj/item/clothing/under/seromi/undercoat/jobs/hos_vr
allowed_roles = list("Head of Security")
/datum/gear/suit/dept/undercoat/hop
display_name = "head of personnel undercoat (Teshari)"
path = /obj/item/clothing/under/seromi/undercoat/jobs/hop_vr
allowed_roles = list("Head of Personnel")
//Added to allow selection of alternate job undercoats.
./datum/gear/uniform/dept/undercoat/ce/New()
..()
var/list/undercoats = list()
for(var/undercoat in typesof(path))
var/obj/item/clothing/under/seromi/undercoat/jobs/undercoat_type = undercoat
undercoats[initial(undercoat_type.name)] = undercoat_type
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(undercoats))
/datum/gear/uniform/dept/undercoat/qm/New()
..()
var/list/undercoats = list()
for(var/undercoat in typesof(path))
var/obj/item/clothing/under/seromi/undercoat/jobs/undercoat_type = undercoat
undercoats[initial(undercoat_type.name)] = undercoat_type
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(undercoats))
/datum/gear/uniform/dept/undercoat/cmo/New()
..()
var/list/undercoats = list()
for(var/undercoat in typesof(path))
var/obj/item/clothing/under/seromi/undercoat/jobs/undercoat_type = undercoat
undercoats[initial(undercoat_type.name)] = undercoat_type
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(undercoats))
/datum/gear/uniform/dept/undercoat/cargo/New()
..()
var/list/undercoats = list()
for(var/undercoat in typesof(path))
var/obj/item/clothing/under/seromi/undercoat/jobs/undercoat_type = undercoat
undercoats[initial(undercoat_type.name)] = undercoat_type
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(undercoats))
/datum/gear/uniform/dept/undercoat/mining/New()
..()
var/list/undercoats = list()
for(var/undercoat in typesof(path))
var/obj/item/clothing/under/seromi/undercoat/jobs/undercoat_type = undercoat
undercoats[initial(undercoat_type.name)] = undercoat_type
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(undercoats))
/datum/gear/uniform/dept/undercoat/security/New()
..()
var/list/undercoats = list()
for(var/undercoat in typesof(path))
var/obj/item/clothing/under/seromi/undercoat/jobs/undercoat_type = undercoat
undercoats[initial(undercoat_type.name)] = undercoat_type
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(undercoats))
/datum/gear/uniform/dept/undercoat/service/New()
..()
var/list/undercoats = list()
for(var/undercoat in typesof(path))
var/obj/item/clothing/under/seromi/undercoat/jobs/undercoat_type = undercoat
undercoats[initial(undercoat_type.name)] = undercoat_type
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(undercoats))
/datum/gear/uniform/dept/undercoat/engineer/New()
..()
var/list/undercoats = list()
for(var/undercoat in typesof(path))
var/obj/item/clothing/under/seromi/undercoat/jobs/undercoat_type = undercoat
undercoats[initial(undercoat_type.name)] = undercoat_type
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(undercoats))
/datum/gear/uniform/dept/undercoat/atmos/New()
..()
var/list/undercoats = list()
for(var/undercoat in typesof(path))
var/obj/item/clothing/under/seromi/undercoat/jobs/undercoat_type = undercoat
undercoats[initial(undercoat_type.name)] = undercoat_type
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(undercoats))
/datum/gear/uniform/dept/undercoat/research/New()
..()
var/list/undercoats = list()
for(var/undercoat in typesof(path))
var/obj/item/clothing/under/seromi/undercoat/jobs/undercoat_type = undercoat
undercoats[initial(undercoat_type.name)] = undercoat_type
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(undercoats))
/datum/gear/uniform/dept/undercoat/robo/New()
..()
var/list/undercoats = list()
for(var/undercoat in typesof(path))
var/obj/item/clothing/under/seromi/undercoat/jobs/undercoat_type = undercoat
undercoats[initial(undercoat_type.name)] = undercoat_type
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(undercoats))
/datum/gear/uniform/dept/undercoat/medical/New()
..()
var/list/undercoats = list()
for(var/undercoat in typesof(path))
var/obj/item/clothing/under/seromi/undercoat/jobs/undercoat_type = undercoat
undercoats[initial(undercoat_type.name)] = undercoat_type
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(undercoats))
/datum/gear/uniform/dept/undercoat/chemistry/New()
..()
var/list/undercoats = list()
for(var/undercoat in typesof(path))
var/obj/item/clothing/under/seromi/undercoat/jobs/undercoat_type = undercoat
undercoats[initial(undercoat_type.name)] = undercoat_type
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(undercoats))
/datum/gear/uniform/dept/undercoat/virology/New()
..()
var/list/undercoats = list()
for(var/undercoat in typesof(path))
var/obj/item/clothing/under/seromi/undercoat/jobs/undercoat_type = undercoat
undercoats[initial(undercoat_type.name)] = undercoat_type
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(undercoats))
/datum/gear/uniform/dept/undercoat/paramedic/New()
..()
var/list/undercoats = list()
for(var/undercoat in typesof(path))
var/obj/item/clothing/under/seromi/undercoat/jobs/undercoat_type = undercoat
undercoats[initial(undercoat_type.name)] = undercoat_type
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(undercoats))
/datum/gear/uniform/dept/undercoat/iaa/New()
..()
var/list/undercoats = list()
for(var/undercoat in typesof(path))
var/obj/item/clothing/under/seromi/undercoat/jobs/undercoat_type = undercoat
undercoats[initial(undercoat_type.name)] = undercoat_type
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(undercoats))
//Net new alternate cloak sprites.
/datum/gear/suit/cloak_vr
display_name = "cloak selection (Teshari) (VR)"
path = /obj/item/clothing/suit/storage/teshari/cloak_vr/standard
whitelisted = SPECIES_TESHARI
sort_category = "Xenowear"
/datum/gear/suit/cloak_vr/New()
..()
var/list/cloaks = list()
for(var/cloak in typesof(/obj/item/clothing/suit/storage/teshari/cloak_vr/standard))
var/obj/item/clothing/suit/storage/teshari/cloak_vr/standard/cloak_type = cloak
cloaks[initial(cloak_type.name)] = cloak_type
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks))
/datum/gear/suit/cloak_vr_color
display_name = "cloak, recolorable (Teshari) (VR)"
path = /obj/item/clothing/suit/storage/teshari/cloak_vr/standard/white
whitelisted = SPECIES_TESHARI
sort_category = "Xenowear"
/datum/gear/suit/cloak_vr_color/New()
..()
gear_tweaks += gear_tweak_free_color_choice
//Net new alternate job cloaks
/datum/gear/suit/dept/cloak/cap
display_name = "facility director cloak (Teshari)"
path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/cap_vr
allowed_roles = list("Site Manager")
/datum/gear/suit/dept/cloak/psych
display_name = "psychiatrist cloak (Teshari)"
path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/psych_vr
allowed_roles = list("Psychiatrist")
/datum/gear/suit/dept/cloak/rd
display_name = "research director cloak (Teshari)"
path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/rd_vr
allowed_roles = list("Research Director")
/datum/gear/suit/dept/cloak/hos
display_name = "head of security cloak (Teshari)"
path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/hos_vr
allowed_roles = list("Head of Security")
/datum/gear/suit/dept/cloak/hop
display_name = "head of personnel cloak (Teshari)"
path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/hop_vr
allowed_roles = list("Head of Personnel")
//Added to allow selection of alternate job cloaks.
/datum/gear/suit/dept/cloak/ce/New()
..()
var/list/cloaks = list()
for(var/cloak in typesof(path))
var/obj/item/clothing/suit/storage/seromi/cloak/jobs/cloak_type = cloak
cloaks[initial(cloak_type.name)] = cloak_type
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks))
/datum/gear/suit/dept/cloak/qm/New()
..()
var/list/cloaks = list()
for(var/cloak in typesof(path))
var/obj/item/clothing/suit/storage/seromi/cloak/jobs/cloak_type = cloak
cloaks[initial(cloak_type.name)] = cloak_type
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks))
/datum/gear/suit/dept/cloak/command/New()
..()
var/list/cloaks = list()
for(var/cloak in typesof(path))
var/obj/item/clothing/suit/storage/seromi/cloak/jobs/cloak_type = cloak
cloaks[initial(cloak_type.name)] = cloak_type
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks))
/datum/gear/suit/dept/cloak/cmo/New()
..()
var/list/cloaks = list()
for(var/cloak in typesof(path))
var/obj/item/clothing/suit/storage/seromi/cloak/jobs/cloak_type = cloak
cloaks[initial(cloak_type.name)] = cloak_type
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks))
/datum/gear/suit/dept/cloak/cargo/New()
..()
var/list/cloaks = list()
for(var/cloak in typesof(path))
var/obj/item/clothing/suit/storage/seromi/cloak/jobs/cloak_type = cloak
cloaks[initial(cloak_type.name)] = cloak_type
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks))
/datum/gear/suit/dept/cloak/mining/New()
..()
var/list/cloaks = list()
for(var/cloak in typesof(path))
var/obj/item/clothing/suit/storage/seromi/cloak/jobs/cloak_type = cloak
cloaks[initial(cloak_type.name)] = cloak_type
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks))
/datum/gear/suit/dept/cloak/security/New()
..()
var/list/cloaks = list()
for(var/cloak in typesof(path))
var/obj/item/clothing/suit/storage/seromi/cloak/jobs/cloak_type = cloak
cloaks[initial(cloak_type.name)] = cloak_type
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks))
/datum/gear/suit/dept/cloak/service/New()
..()
var/list/cloaks = list()
for(var/cloak in typesof(path))
var/obj/item/clothing/suit/storage/seromi/cloak/jobs/cloak_type = cloak
cloaks[initial(cloak_type.name)] = cloak_type
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks))
/datum/gear/suit/dept/cloak/engineer/New()
..()
var/list/cloaks = list()
for(var/cloak in typesof(path))
var/obj/item/clothing/suit/storage/seromi/cloak/jobs/cloak_type = cloak
cloaks[initial(cloak_type.name)] = cloak_type
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks))
/datum/gear/suit/dept/cloak/atmos/New()
..()
var/list/cloaks = list()
for(var/cloak in typesof(path))
var/obj/item/clothing/suit/storage/seromi/cloak/jobs/cloak_type = cloak
cloaks[initial(cloak_type.name)] = cloak_type
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks))
/datum/gear/suit/dept/cloak/research/New()
..()
var/list/cloaks = list()
for(var/cloak in typesof(path))
var/obj/item/clothing/suit/storage/seromi/cloak/jobs/cloak_type = cloak
cloaks[initial(cloak_type.name)] = cloak_type
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks))
/datum/gear/suit/dept/cloak/robo/New()
..()
var/list/cloaks = list()
for(var/cloak in typesof(path))
var/obj/item/clothing/suit/storage/seromi/cloak/jobs/cloak_type = cloak
cloaks[initial(cloak_type.name)] = cloak_type
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks))
/datum/gear/suit/dept/cloak/medical/New()
..()
var/list/cloaks = list()
for(var/cloak in typesof(path))
var/obj/item/clothing/suit/storage/seromi/cloak/jobs/cloak_type = cloak
cloaks[initial(cloak_type.name)] = cloak_type
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks))
/datum/gear/suit/dept/cloak/chemistry/New()
..()
var/list/cloaks = list()
for(var/cloak in typesof(path))
var/obj/item/clothing/suit/storage/seromi/cloak/jobs/cloak_type = cloak
cloaks[initial(cloak_type.name)] = cloak_type
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks))
/datum/gear/suit/dept/cloak/virology/New()
..()
var/list/cloaks = list()
for(var/cloak in typesof(path))
var/obj/item/clothing/suit/storage/seromi/cloak/jobs/cloak_type = cloak
cloaks[initial(cloak_type.name)] = cloak_type
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks))
/datum/gear/suit/dept/cloak/paramedic/New()
..()
var/list/cloaks = list()
for(var/cloak in typesof(path))
var/obj/item/clothing/suit/storage/seromi/cloak/jobs/cloak_type = cloak
cloaks[initial(cloak_type.name)] = cloak_type
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks))
/datum/gear/suit/dept/cloak/iaa/New()
..()
var/list/cloaks = list()
for(var/cloak in typesof(path))
var/obj/item/clothing/suit/storage/seromi/cloak/jobs/cloak_type = cloak
cloaks[initial(cloak_type.name)] = cloak_type
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks))
//Added from CHOMP
/datum/gear/suit/cloak_hood
display_name = "hooded cloak selection (Teshari)"
path = /obj/item/clothing/suit/storage/hooded/teshari/standard
whitelisted = SPECIES_TESHARI
sort_category = "Xenowear"
/datum/gear/suit/cloak_hood/New()
..()
var/list/cloaks = list()
for(var/cloak in typesof(/obj/item/clothing/suit/storage/hooded/teshari/standard))
var/obj/item/clothing/suit/storage/seromi/cloak/cloak_type = cloak
cloaks[initial(cloak_type.name)] = cloak_type
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks))
/datum/gear/suit/beltcloak
display_name = "belted cloak selection (Teshari)"
path = /obj/item/clothing/suit/storage/seromi/beltcloak/standard
whitelisted = SPECIES_TESHARI
sort_category = "Xenowear"
/datum/gear/suit/beltcloak/New()
..()
var/list/cloaks = list()
for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/beltcloak/standard))
var/obj/item/clothing/suit/storage/seromi/beltcloak/standard/cloak_type = cloak
cloaks[initial(cloak_type.name)] = cloak_type
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks))
/datum/gear/suit/beltcloak_color
display_name = "belted cloak, recolorable (Teshari)"
path = /obj/item/clothing/suit/storage/seromi/beltcloak/standard/white_grey
whitelisted = SPECIES_TESHARI
sort_category = "Xenowear"
/datum/gear/suit/beltcloak_color/New()
..()
gear_tweaks += gear_tweak_free_color_choice
@@ -13,6 +13,9 @@
var/r_ears2 = 30 // Ear extra color.
var/g_ears2 = 30 // Ear extra color
var/b_ears2 = 30 // Ear extra color
var/r_ears3 = 30 // Ear tertiary color.
var/g_ears3 = 30 // Ear tertiary color
var/b_ears3 = 30 // Ear tertiary color
var/tail_style // Type of selected tail style
var/r_tail = 30 // Tail/Taur color
var/g_tail = 30 // Tail/Taur color
@@ -20,6 +23,9 @@
var/r_tail2 = 30 // For extra overlay.
var/g_tail2 = 30 // For extra overlay.
var/b_tail2 = 30 // For extra overlay.
var/r_tail3 = 30 // For tertiary overlay.
var/g_tail3 = 30 // For tertiary overlay.
var/b_tail3 = 30 // For tertiary overlay.
var/wing_style // Type of selected wing style
var/r_wing = 30 // Wing color
var/g_wing = 30 // Wing color
@@ -27,6 +33,9 @@
var/r_wing2 = 30 // Wing extra color
var/g_wing2 = 30 // Wing extra color
var/b_wing2 = 30 // Wing extra color
var/r_wing3 = 30 // Wing tertiary color
var/g_wing3 = 30 // Wing tertiary color
var/b_wing3 = 30 // Wing tertiary color
// Definition of the stuff for Ears
/datum/category_item/player_setup_item/vore/ears
@@ -41,6 +50,9 @@
S["r_ears2"] >> pref.r_ears2
S["g_ears2"] >> pref.g_ears2
S["b_ears2"] >> pref.b_ears2
S["r_ears3"] >> pref.r_ears3
S["g_ears3"] >> pref.g_ears3
S["b_ears3"] >> pref.b_ears3
S["tail_style"] >> pref.tail_style
S["r_tail"] >> pref.r_tail
S["g_tail"] >> pref.g_tail
@@ -48,6 +60,9 @@
S["r_tail2"] >> pref.r_tail2
S["g_tail2"] >> pref.g_tail2
S["b_tail2"] >> pref.b_tail2
S["r_tail3"] >> pref.r_tail3
S["g_tail3"] >> pref.g_tail3
S["b_tail3"] >> pref.b_tail3
S["wing_style"] >> pref.wing_style
S["r_wing"] >> pref.r_wing
S["g_wing"] >> pref.g_wing
@@ -55,6 +70,9 @@
S["r_wing2"] >> pref.r_wing2
S["g_wing2"] >> pref.g_wing2
S["b_wing2"] >> pref.b_wing2
S["r_wing3"] >> pref.r_wing3
S["g_wing3"] >> pref.g_wing3
S["b_wing3"] >> pref.b_wing3
/datum/category_item/player_setup_item/vore/ears/save_character(var/savefile/S)
S["ear_style"] << pref.ear_style
@@ -64,6 +82,9 @@
S["r_ears2"] << pref.r_ears2
S["g_ears2"] << pref.g_ears2
S["b_ears2"] << pref.b_ears2
S["r_ears3"] << pref.r_ears3
S["g_ears3"] << pref.g_ears3
S["b_ears3"] << pref.b_ears3
S["tail_style"] << pref.tail_style
S["r_tail"] << pref.r_tail
S["g_tail"] << pref.g_tail
@@ -71,6 +92,9 @@
S["r_tail2"] << pref.r_tail2
S["g_tail2"] << pref.g_tail2
S["b_tail2"] << pref.b_tail2
S["r_tail3"] << pref.r_tail3
S["g_tail3"] << pref.g_tail3
S["b_tail3"] << pref.b_tail3
S["wing_style"] << pref.wing_style
S["r_wing"] << pref.r_wing
S["g_wing"] << pref.g_wing
@@ -78,6 +102,9 @@
S["r_wing2"] << pref.r_wing2
S["g_wing2"] << pref.g_wing2
S["b_wing2"] << pref.b_wing2
S["r_wing3"] << pref.r_wing3
S["g_wing3"] << pref.g_wing3
S["b_wing3"] << pref.b_wing3
/datum/category_item/player_setup_item/vore/ears/sanitize_character()
pref.r_ears = sanitize_integer(pref.r_ears, 0, 255, initial(pref.r_ears))
@@ -86,18 +113,28 @@
pref.r_ears2 = sanitize_integer(pref.r_ears2, 0, 255, initial(pref.r_ears2))
pref.g_ears2 = sanitize_integer(pref.g_ears2, 0, 255, initial(pref.g_ears2))
pref.b_ears2 = sanitize_integer(pref.b_ears2, 0, 255, initial(pref.b_ears2))
pref.r_ears3 = sanitize_integer(pref.r_ears3, 0, 255, initial(pref.r_ears3))
pref.g_ears3 = sanitize_integer(pref.g_ears3, 0, 255, initial(pref.g_ears3))
pref.b_ears3 = sanitize_integer(pref.b_ears3, 0, 255, initial(pref.b_ears3))
pref.r_tail = sanitize_integer(pref.r_tail, 0, 255, initial(pref.r_tail))
pref.g_tail = sanitize_integer(pref.g_tail, 0, 255, initial(pref.g_tail))
pref.b_tail = sanitize_integer(pref.b_tail, 0, 255, initial(pref.b_tail))
pref.r_tail2 = sanitize_integer(pref.r_tail2, 0, 255, initial(pref.r_tail2))
pref.g_tail2 = sanitize_integer(pref.g_tail2, 0, 255, initial(pref.g_tail2))
pref.b_tail2 = sanitize_integer(pref.b_tail2, 0, 255, initial(pref.b_tail2))
pref.r_tail3 = sanitize_integer(pref.r_tail3, 0, 255, initial(pref.r_tail3))
pref.g_tail3 = sanitize_integer(pref.g_tail3, 0, 255, initial(pref.g_tail3))
pref.b_tail3 = sanitize_integer(pref.b_tail3, 0, 255, initial(pref.b_tail3))
pref.r_wing = sanitize_integer(pref.r_wing, 0, 255, initial(pref.r_wing))
pref.g_wing = sanitize_integer(pref.g_wing, 0, 255, initial(pref.g_wing))
pref.b_wing = sanitize_integer(pref.b_wing, 0, 255, initial(pref.b_wing))
pref.r_wing2 = sanitize_integer(pref.r_wing2, 0, 255, initial(pref.r_wing2))
pref.g_wing2 = sanitize_integer(pref.g_wing2, 0, 255, initial(pref.g_wing2))
pref.b_wing2 = sanitize_integer(pref.b_wing2, 0, 255, initial(pref.b_wing2))
pref.r_wing3 = sanitize_integer(pref.r_wing3, 0, 255, initial(pref.r_wing3))
pref.g_wing3 = sanitize_integer(pref.g_wing3, 0, 255, initial(pref.g_wing3))
pref.b_wing3 = sanitize_integer(pref.b_wing3, 0, 255, initial(pref.b_wing3))
if(pref.ear_style)
pref.ear_style = sanitize_inlist(pref.ear_style, ear_styles_list, initial(pref.ear_style))
var/datum/sprite_accessory/temp_ear_style = ear_styles_list[pref.ear_style]
@@ -122,6 +159,9 @@
character.r_ears2 = pref.r_ears2
character.b_ears2 = pref.b_ears2
character.g_ears2 = pref.g_ears2
character.r_ears3 = pref.r_ears3
character.b_ears3 = pref.b_ears3
character.g_ears3 = pref.g_ears3
character.tail_style = tail_styles_list[pref.tail_style]
character.r_tail = pref.r_tail
character.b_tail = pref.b_tail
@@ -129,6 +169,9 @@
character.r_tail2 = pref.r_tail2
character.b_tail2 = pref.b_tail2
character.g_tail2 = pref.g_tail2
character.r_tail3 = pref.r_tail3
character.b_tail3 = pref.b_tail3
character.g_tail3 = pref.g_tail3
character.wing_style = wing_styles_list[pref.wing_style]
character.r_wing = pref.r_wing
character.b_wing = pref.b_wing
@@ -136,6 +179,9 @@
character.r_wing2 = pref.r_wing2
character.b_wing2 = pref.b_wing2
character.g_wing2 = pref.g_wing2
character.r_wing3 = pref.r_wing3
character.b_wing3 = pref.b_wing3
character.g_wing3 = pref.g_wing3
@@ -153,10 +199,12 @@
. += " Style: <a href='?src=\ref[src];ear_style=1'>[ear_display]</a><br>"
if(ear_styles_list[pref.ear_style])
var/datum/sprite_accessory/ears/ear = ear_styles_list[pref.ear_style]
if (ear.do_colouration)
if(ear.do_colouration)
. += "<a href='?src=\ref[src];ear_color=1'>Change Color</a> [color_square(pref.r_ears, pref.g_ears, pref.b_ears)]<br>"
if (ear.extra_overlay)
if(ear.extra_overlay)
. += "<a href='?src=\ref[src];ear_color2=1'>Change Secondary Color</a> [color_square(pref.r_ears2, pref.g_ears2, pref.b_ears2)]<br>"
if(ear.extra_overlay2)
. += "<a href='?src=\ref[src];ear_color3=1'>Change Tertiary Color</a> [color_square(pref.r_ears3, pref.g_ears3, pref.b_ears3)]<br>"
var/tail_display = "Normal"
if(pref.tail_style && (pref.tail_style in tail_styles_list))
@@ -169,10 +217,12 @@
if(tail_styles_list[pref.tail_style])
var/datum/sprite_accessory/tail/T = tail_styles_list[pref.tail_style]
if (T.do_colouration)
if(T.do_colouration)
. += "<a href='?src=\ref[src];tail_color=1'>Change Color</a> [color_square(pref.r_tail, pref.g_tail, pref.b_tail)]<br>"
if (T.extra_overlay)
if(T.extra_overlay)
. += "<a href='?src=\ref[src];tail_color2=1'>Change Secondary Color</a> [color_square(pref.r_tail2, pref.g_tail2, pref.b_tail2)]<br>"
if(T.extra_overlay2)
. += "<a href='?src=\ref[src];tail_color3=1'>Change Tertiary Color</a> [color_square(pref.r_tail3, pref.g_tail3, pref.b_tail3)]<br>"
var/wing_display = "Normal"
if(pref.wing_style && (pref.wing_style in wing_styles_list))
@@ -189,6 +239,8 @@
. += "<a href='?src=\ref[src];wing_color=1'>Change Color</a> [color_square(pref.r_wing, pref.g_wing, pref.b_wing)]<br>"
if (W.extra_overlay)
. += "<a href='?src=\ref[src];wing_color2=1'>Change Secondary Color</a> [color_square(pref.r_wing2, pref.g_wing2, pref.b_wing2)]<br>"
if (W.extra_overlay2)
. += "<a href='?src=\ref[src];wing_color3=1'>Change Secondary Color</a> [color_square(pref.r_wing3, pref.g_wing3, pref.b_wing3)]<br>"
/datum/category_item/player_setup_item/vore/ears/OnTopic(var/href,var/list/href_list, var/mob/user)
if(!CanUseTopic(user))
@@ -219,7 +271,7 @@
return TOPIC_REFRESH_UPDATE_PREVIEW
else if(href_list["ear_color2"])
var/new_earc2 = input(user, "Choose your character's ear colour:", "Character Preference",
var/new_earc2 = input(user, "Choose your character's secondary ear colour:", "Character Preference",
rgb(pref.r_ears2, pref.g_ears2, pref.b_ears2)) as color|null
if(new_earc2)
pref.r_ears2 = hex2num(copytext(new_earc2, 2, 4))
@@ -227,6 +279,15 @@
pref.b_ears2 = hex2num(copytext(new_earc2, 6, 8))
return TOPIC_REFRESH_UPDATE_PREVIEW
else if(href_list["ear_color3"])
var/new_earc3 = input(user, "Choose your character's tertiary ear colour:", "Character Preference",
rgb(pref.r_ears3, pref.g_ears3, pref.b_ears3)) as color|null
if(new_earc3)
pref.r_ears3 = hex2num(copytext(new_earc3, 2, 4))
pref.g_ears3 = hex2num(copytext(new_earc3, 4, 6))
pref.b_ears3 = hex2num(copytext(new_earc3, 6, 8))
return TOPIC_REFRESH_UPDATE_PREVIEW
else if(href_list["tail_style"])
// Construct the list of names allowed for this user.
var/list/pretty_tail_styles = list("Normal" = null)
@@ -260,6 +321,15 @@
pref.b_tail2 = hex2num(copytext(new_tailc2, 6, 8))
return TOPIC_REFRESH_UPDATE_PREVIEW
else if(href_list["tail_color3"])
var/new_tailc3 = input(user, "Choose your character's tertiary tail/taur colour:", "Character Preference",
rgb(pref.r_tail3, pref.g_tail3, pref.b_tail3)) as color|null
if(new_tailc3)
pref.r_tail3 = hex2num(copytext(new_tailc3, 2, 4))
pref.g_tail3 = hex2num(copytext(new_tailc3, 4, 6))
pref.b_tail3 = hex2num(copytext(new_tailc3, 6, 8))
return TOPIC_REFRESH_UPDATE_PREVIEW
else if(href_list["wing_style"])
// Construct the list of names allowed for this user.
var/list/pretty_wing_styles = list("Normal" = null)
@@ -293,4 +363,13 @@
pref.b_wing2 = hex2num(copytext(new_wingc2, 6, 8))
return TOPIC_REFRESH_UPDATE_PREVIEW
else if(href_list["wing_color3"])
var/new_wingc3 = input(user, "Choose your character's tertiary wing colour:", "Character Preference",
rgb(pref.r_wing3, pref.g_wing3, pref.b_wing3)) as color|null
if(new_wingc3)
pref.r_wing3 = hex2num(copytext(new_wingc3, 2, 4))
pref.g_wing3 = hex2num(copytext(new_wingc3, 4, 6))
pref.b_wing3 = hex2num(copytext(new_wingc3, 6, 8))
return TOPIC_REFRESH_UPDATE_PREVIEW
return ..()