Merge branch 'master' of https://github.com/Yawn-Wider/YWPolarisVore into May2020UpstreamPull2-2

This commit is contained in:
Razgriz
2020-05-21 03:20:13 -07:00
1424 changed files with 285906 additions and 194006 deletions
@@ -5,17 +5,23 @@ var/global/list/special_roles = list( //keep synced with the defines BE_* in set
"operative" = 1, // 1
"changeling" = 1, // 2
"wizard" = 1, // 3
"malf AI" = 1, // 4
"malf AI" = 1, // 4
"revolutionary" = 1, // 5
"alien candidate" = 1, // 6
"positronic brain" = 1, // 7
"cultist" = 1, // 8
"renegade" = 1, // 9
"ninja" = 1, // 10
"renegade" = 1, // 9
"ninja" = 1, // 10
"raider" = 1, // 11
"diona" = 1, // 12
"loyalist" = 1, // 13
"pAI candidate" = 1, // -- TLE // 14
"diona" = 1, // 12
"mutineer" = 1, // 13
"loyalist" = 1, // 14
"pAI candidate" = 1, // 15
//VOREStation Add
"lost drone" = 1, // 16
"maint pred" = 1, // 17
"morph" = 1, // 18
//VOREStation Add End
)
/datum/category_item/player_setup_item/antagonism/candidacy
@@ -1,6 +1,7 @@
/datum/category_item/player_setup_item/general/language
name = "Language"
sort_order = 2
var/static/list/forbidden_prefixes = list(";", ":", ".", "!", "*", "^", "-")
/datum/category_item/player_setup_item/general/language/load_character(var/savefile/S)
S["language"] >> pref.alternate_languages
@@ -18,6 +19,9 @@
pref.alternate_languages.len = S.num_alternate_languages // Truncate to allowed length
if(isnull(pref.language_prefixes) || !pref.language_prefixes.len)
pref.language_prefixes = config.language_prefixes.Copy()
for(var/prefix in pref.language_prefixes)
if(prefix in forbidden_prefixes)
pref.language_prefixes -= prefix
/datum/category_item/player_setup_item/general/language/content()
. += "<b>Languages</b><br>"
@@ -79,7 +83,7 @@
alert(user, "Only single characters allowed.", "Error", "Ok")
else if(char in list(";", ":", "."))
alert(user, "Radio character. Rejected.", "Error", "Ok")
else if(char in list("!","*", "^"))
else if(char in list("!","*","^","-"))
alert(user, "Say character. Rejected.", "Error", "Ok")
else if(contains_az09(char))
alert(user, "Non-special character. Rejected.", "Error", "Ok")
@@ -901,7 +901,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
dat += "<td width = 400>[current_species.blurb]</td>"
//vorestation edit end
dat += "<td width = 200 align='center'>"
if("preview" in icon_states(current_species.icobase))
if("preview" in cached_icon_states(current_species.icobase))
usr << browse_rsc(icon(current_species.icobase,"preview"), "species_preview_[current_species.name].png")
dat += "<img src='species_preview_[current_species.name].png' width='64px' height='64px'><br/><br/>"
dat += "<b>Language:</b> [current_species.species_language]<br/>"
@@ -104,6 +104,12 @@ var/list/_client_preferences_by_type
key = "EMOTE_NOISES"
enabled_description = "Noisy"
disabled_description = "Silent"
/datum/client_preference/whisubtle_vis
description = "Whi/Subtles Ghost Visible"
key = "WHISUBTLE_VIS"
enabled_description = "Visible"
disabled_description = "Hidden"
enabled_by_default = FALSE
//VOREStation Add End
/datum/client_preference/weather_sounds
description ="Weather sounds"
@@ -159,6 +165,12 @@ var/list/_client_preferences_by_type
enabled_description = "Show"
disabled_description = "Hide"
/datum/client_preference/inv_tooltips
description ="Inventory tooltips"
key = "INV_TOOLTIPS"
enabled_description = "Show"
disabled_description = "Hide"
/datum/client_preference/attack_icons
description ="Attack icons"
key = "ATTACK_ICONS"
@@ -1,5 +1,15 @@
// Collars
/datum/gear/choker //A colorable choker
display_name = "choker (colorable, tagless)"
path = /obj/item/clothing/accessory/choker
slot = slot_tie
sort_category = "Accessories"
/datum/gear/choker/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
/datum/gear/collar
display_name = "collar, silver"
path = /obj/item/clothing/accessory/collar/silver
@@ -13,6 +13,27 @@
display_name = "AR glasses, prescription"
path = /obj/item/clothing/glasses/omnihud/prescription
/datum/gear/eyes/arglasses/sec
display_name = "AR-S glasses (Sec)"
path = /obj/item/clothing/glasses/omnihud/sec
allowed_roles = list("Security Officer","Head of Security","Warden","Detective")
/datum/gear/eyes/arglasses/eng
display_name = "AR-E glasses (Eng)"
path = /obj/item/clothing/glasses/omnihud/eng
allowed_roles = list("Station Engineer","Chief Engineer","Atmospheric Technician")
/datum/gear/eyes/arglasses/med
display_name = "AR-M glasses (Medical)"
path = /obj/item/clothing/glasses/omnihud/med
allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist", "Psychiatrist", "Field Medic")
/datum/gear/eyes/arglasses/all
display_name = "AR-B glasses (CD, HoP)"
path = /obj/item/clothing/glasses/omnihud/all
cost = 2
allowed_roles = list("Colony Director","Head of Personnel")
/datum/gear/eyes/spiffygogs
display_name = "slick orange goggles"
path = /obj/item/clothing/glasses/fluff/spiffygogs
@@ -22,5 +43,9 @@
path = /obj/item/clothing/glasses/fluff/science_proper
/datum/gear/eyes/security/secpatch
display_name = "security hudpatch"
path = /obj/item/clothing/glasses/hud/security/eyepatch
display_name = "Security HUDpatch"
path = /obj/item/clothing/glasses/hud/security/eyepatch
/datum/gear/eyes/medical/medpatch
display_name = "Health HUDpatch"
path = /obj/item/clothing/glasses/hud/health/eyepatch
@@ -1,6 +1,7 @@
// Note for newly added fluff items: Ckeys should not contain any spaces, underscores or capitalizations,
// or else the item will not be usable.
// Example: Someone whose username is "Master Pred_Man" should be written as "masterpredman" instead
// Note: Do not use characters such as # in the display_name. It will cause the item to be unable to be selected.
/datum/gear/fluff
path = /obj/item
@@ -88,6 +89,13 @@
ckeywhitelist = list("azurachitin")
character_name = list("Azura Chitin")
/datum/gear/fluff/aurora
path = /obj/item/clothing/accessory/solgov/department/security/aurora
display_name = "Aurora's keepsake"
description = "An old solcom sec insignia given to Aurora"
ckeywhitelist = list("storesund97")
character_name = list("Aurora")
// B CKEYS
/datum/gear/fluff/yuuko_kimono
path = /obj/item/clothing/under/fluff/sakura_hokkaido_kimono
@@ -142,27 +150,6 @@
ckeywhitelist = list("bwoincognito")
character_name = list("Tasald Corlethian")
/datum/gear/fluff/tasald_cartographer_jumpsuit
path = /obj/item/clothing/under/solgov/utility/sifguard/officer/exploration
display_name = "Tasald's Cartographer's uniform - jumpsuit"
slot = slot_w_uniform
ckeywhitelist = list("bwoincognito")
character_name = list("Tasald Corlethian")
/datum/gear/fluff/tasald_cartographer_jacket
path = /obj/item/clothing/suit/storage/service/sifguard/command
display_name = "Tasald's Cartographer's uniform - jacket"
slot = slot_wear_suit
ckeywhitelist = list("bwoincognito")
character_name = list("Tasald Corlethian")
/datum/gear/fluff/tasald_cartographer_beret
path = /obj/item/clothing/head/beret/sol/expedition/command
display_name = "Tasald's Cartographer's uniform - beret"
slot = slot_head
ckeywhitelist = list("bwoincognito")
character_name = list("Tasald Corlethian")
/datum/gear/fluff/octavius_box
path = /obj/item/weapon/storage/box/fluff/octavious
display_name = "Octavious' Box"
@@ -674,6 +661,12 @@
ckeywhitelist = list("nickcrazy")
character_name = list("Damon Bones Xrim")
/datum/gear/fluff/damon_jacket
path = /obj/item/clothing/suit/storage/toggle/bomber/bombersec
display_name = "Damon's Bomber Jacket"
ckeywhitelist = list("nickcrazy")
character_name = list("Damon Bones Xrim")
/datum/gear/fluff/kt_fishing_rod
path = /obj/item/weapon/material/fishing_rod/modern/strong
display_name = "K't's fishing rod"
@@ -731,6 +724,13 @@
ckeywhitelist = list("phoenixgamma7")
character_name = list("Jamie Findlay")
/datum/gear/fluff/scylla_shades
path = /obj/item/clothing/glasses/fluff/scylla
display_name = "Scylla's Shades"
description = "These cherry-red cat-eye shades give you an inclination to eat chalk."
ckeywhitelist = list("pimientopyro")
character_name = list("Scylla Casmus")
// Q CKEYS
// R CKEYS
@@ -804,11 +804,18 @@
/datum/gear/fluff/nthasd_modkit //Converts a Security suit's sprite
path = /obj/item/device/modkit_conversion/hasd
display_name = "NT-HASD #556's Modkit"
display_name = "NT-HASD 556's Modkit"
ckeywhitelist = list("silencedmp5a5")
character_name = list("NT-HASD #556")
allowed_roles = list("Colony Director", "Head of Personnel", "Security Officer", "Warden", "Head of Security","Detective")
/datum/gear/fluff/serdykov_modkit //Also converts a Security suit's sprite
path = /obj/item/device/modkit_conversion/fluff/serdykit
display_name = "Serdykov Antoz's Modkit"
ckeywhitelist = list("silencedmp5a5")
character_name = list("Serdykov Antoz")
allowed_roles = list("Colony Director", "Head of Personnel", "Security Officer", "Warden", "Head of Security","Detective")
/datum/gear/fluff/tasy_clownuniform
path = /obj/item/clothing/under/sexyclown
display_name = "Tasy's Clown Uniform"
@@ -81,7 +81,7 @@
var/toytype = list()
toytype["Blink toy"] = /obj/item/toy/blink
toytype["Gravitational singularity"] = /obj/item/toy/spinningtoy
toytype["Water flower"] = /obj/item/toy/waterflower
toytype["Water flower"] = /obj/item/weapon/reagent_containers/spray/waterflower
toytype["Bosun's whistle"] = /obj/item/toy/bosunwhistle
toytype["Magic 8 Ball"] = /obj/item/toy/eight_ball
toytype["Magic Conch shell"] = /obj/item/toy/eight_ball/conch
@@ -6,6 +6,14 @@
sort_category = "Suits and Overwear"
cost = 2
/datum/gear/suit/apron_white
display_name = "apron, colorable"
path = /obj/item/clothing/suit/storage/apron/white
/datum/gear/suit/apron_white/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
/datum/gear/suit/greatcoat
display_name = "greatcoat"
path = /obj/item/clothing/suit/greatcoat
@@ -38,3 +38,15 @@
display_name = "Colorful poncho"
description = "A mexican looking poncho. It look like it fits wolf taurs as well."
path = /obj/item/clothing/suit/poncho
//Detective alternative
/datum/gear/uniform/detective_alt
display_name = "sleek modern coat, detective"
path = /obj/item/clothing/suit/storage/det_trench/alt
allowed_roles = list("Head of Security", "Detective")
//Detective alternative
/datum/gear/uniform/detective_alt2
display_name = "sleek modern coat (long), detective"
path = /obj/item/clothing/suit/storage/det_trench/alt2
allowed_roles = list("Head of Security", "Detective")
@@ -186,8 +186,17 @@ Swimsuits
display_name = "Varmacorp nanovest"
path = /obj/item/clothing/under/fluff/v_nanovest
//Detective alternative
/datum/gear/uniform/detective_alt
display_name = "sleek modern coat, detective"
path = /obj/item/clothing/under/detective_alt
allowed_roles = list("Head of Security", "Detective")
/*
Qipao
*/
/datum/gear/uniform/qipao
display_name = "qipao, black"
path = /obj/item/clothing/under/dress/qipao
/datum/gear/uniform/qipao_red
display_name = "qipao, red"
path = /obj/item/clothing/under/dress/qipao/red
/datum/gear/uniform/qipao_white
display_name = "qipao, white"
path = /obj/item/clothing/under/dress/qipao/white
@@ -150,6 +150,10 @@
sort_category = "Xenowear"
cost = 1
/datum/gear/shoes/footwraps/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
/datum/gear/uniform/cohesionsuits
display_name = "cohesion suit selection (Promethean)"
path = /obj/item/clothing/under/cohesion
@@ -350,3 +354,42 @@
display_name = "internal affairs cloak (Teshari)"
path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/iaa
allowed_roles = list("Internal Affairs Agent")
/datum/gear/uniform/smockcolor
display_name = "smock, recolorable (Teshari)"
path = /obj/item/clothing/under/seromi/smock/white
whitelisted = SPECIES_TESHARI
sort_category = "Xenowear"
/datum/gear/uniform/smockcolor/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
/datum/gear/uniform/undercoatcolor
display_name = "undercoat, recolorable (Teshari)"
path = /obj/item/clothing/under/seromi/undercoat/standard/white_grey
whitelisted = SPECIES_TESHARI
sort_category = "Xenowear"
/datum/gear/uniform/undercoatcolor/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
/datum/gear/suit/cloakcolor
display_name = "cloak, recolorable (Teshari)"
path = /obj/item/clothing/suit/storage/seromi/cloak/standard/white_grey
whitelisted = SPECIES_TESHARI
sort_category = "Xenowear"
/datum/gear/suit/cloakcolor/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
/datum/gear/suit/labcoat_tesh
display_name = "labcoat, colorable (Teshari)"
path = /obj/item/clothing/suit/storage/toggle/labcoat/teshari
whitelisted = SPECIES_TESHARI
sort_category = "Xenowear"
/datum/gear/suit/labcoat_tesh/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
@@ -1,7 +1,3 @@
/datum/gear/shoes/footwraps/New() //Give color pick option for footwraps
..()
gear_tweaks = list(gear_tweak_free_color_choice)
/datum/gear/uniform/voxcasual
display_name = "casual wear (Vox)"
path = /obj/item/clothing/under/vox/vox_casual
@@ -88,4 +84,4 @@
/datum/gear/suit/taur/white_dress
display_name = "white wedding dress (Wolf/Horse-taur)"
path = /obj/item/clothing/suit/taur_dress/white
sort_category = "Xenowear"
sort_category = "Xenowear"
@@ -147,6 +147,12 @@
var/available_in_days = job.available_in_days(user.client)
. += "<del>[rank]</del></td></a><td> \[IN [(available_in_days)] DAYS]</td></tr>"
continue
//VOREStation Add
if(!job.player_has_enough_playtime(user.client))
var/available_in_hours = job.available_in_playhours(user.client)
. += "<del>[rank]</del></td></a><td> \[IN [round(available_in_hours, 0.1)] DEPTHOURS]</td></tr>"
continue
//VOREStation Add End
if(job.minimum_character_age && user.client && (user.client.prefs.age < job.minimum_character_age))
. += "<del>[rank]</del></td></a><td> \[MINIMUM CHARACTER AGE: [job.minimum_character_age]]</td></tr>"
continue