# Conflicts:
#	code/_helpers/unsorted.dm
#	code/controllers/subsystems/mapping_vr.dm
#	code/datums/datum.dm
#	code/datums/datumvars.dm
#	code/datums/supplypacks/voidsuits.dm
#	code/game/machinery/suit_storage_unit.dm
#	code/game/objects/items/devices/defib.dm
#	code/game/objects/items/weapons/tools/weldingtool.dm
#	code/game/world.dm
#	code/modules/client/preference_setup/loadout/loadout_accessories.dm
#	code/modules/client/preference_setup/loadout/loadout_eyes.dm
#	code/modules/client/preference_setup/loadout/loadout_head.dm
#	code/modules/client/preference_setup/loadout/loadout_suit.dm
#	code/modules/client/preference_setup/loadout/loadout_uniform.dm
#	code/modules/clothing/glasses/glasses.dm
#	code/modules/food/food/snacks.dm
#	code/modules/mob/living/carbon/human/species/station/station_vr.dm
#	code/modules/reagents/Chemistry-Recipes.dm
#	code/world.dm
#	config/custom_items.txt
#	config/example/config.txt
#	config/example/game_options.txt
#	icons/mob/robots.dmi
#	icons/obj/mining.dmi
#	maps/submaps/surface_submaps/wilderness/wilderness.dm
#	vorestation.dme
This commit is contained in:
Repede
2019-04-07 19:40:12 -04:00
1789 changed files with 447589 additions and 66985 deletions
@@ -1,21 +1,21 @@
var/global/list/special_roles = list( //keep synced with the defines BE_* in setup.dm --rastaf
//some autodetection here.
// TODO: Update to new antagonist system.
"traitor" = IS_MODE_COMPILED("traitor"), // 0
"operative" = IS_MODE_COMPILED("nuclear"), // 1
"changeling" = IS_MODE_COMPILED("changeling"), // 2
"wizard" = IS_MODE_COMPILED("wizard"), // 3
"malf AI" = IS_MODE_COMPILED("malfunction"), // 4
"revolutionary" = IS_MODE_COMPILED("revolution"), // 5
"alien candidate" = 1, //always show // 6
"positronic brain" = 1, // 7
"cultist" = IS_MODE_COMPILED("cult"), // 8
"renegade" = 1, // 9
"ninja" = "true", // 10
"raider" = IS_MODE_COMPILED("heist"), // 11
"diona" = 1, // 12
"loyalist" = IS_MODE_COMPILED("revolution"), // 13
"pAI candidate" = 1, // -- TLE // 14
// Change these to 0 if the equivalent mode is disabled for whatever reason!
"traitor" = 1, // 0
"operative" = 1, // 1
"changeling" = 1, // 2
"wizard" = 1, // 3
"malf AI" = 1, // 4
"revolutionary" = 1, // 5
"alien candidate" = 1, // 6
"positronic brain" = 1, // 7
"cultist" = 1, // 8
"renegade" = 1, // 9
"ninja" = 1, // 10
"raider" = 1, // 11
"diona" = 1, // 12
"loyalist" = 1, // 13
"pAI candidate" = 1, // -- TLE // 14
)
/datum/category_item/player_setup_item/antagonism/candidacy
@@ -182,7 +182,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
if(isnull(last_descriptors[entry]))
pref.body_descriptors[entry] = descriptor.default_value // Species datums have initial default value.
else
pref.body_descriptors[entry] = Clamp(last_descriptors[entry], 1, LAZYLEN(descriptor.standalone_value_descriptors))
pref.body_descriptors[entry] = CLAMP(last_descriptors[entry], 1, LAZYLEN(descriptor.standalone_value_descriptors))
return
@@ -15,7 +15,7 @@
S["media_player"] << pref.media_player
/datum/category_item/player_setup_item/player_global/media/sanitize_preferences()
pref.media_volume = isnum(pref.media_volume) ? Clamp(pref.media_volume, 0, 1) : initial(pref.media_volume)
pref.media_volume = isnum(pref.media_volume) ? CLAMP(pref.media_volume, 0, 1) : initial(pref.media_volume)
pref.media_player = sanitize_inlist(pref.media_player, list(0, 1, 2), initial(pref.media_player))
/datum/category_item/player_setup_item/player_global/media/content(var/mob/user)
@@ -35,7 +35,7 @@
if(CanUseTopic(user))
var/value = input("Choose your Jukebox volume (0-100%)", "Jukebox volume", round(pref.media_volume * 100))
if(isnum(value))
value = Clamp(value, 0, 100)
value = CLAMP(value, 0, 100)
pref.media_volume = value/100.0
if(user.client && user.client.media)
user.client.media.update_volume(pref.media_volume)
@@ -76,7 +76,7 @@ var/list/_client_preferences_by_type
if(!enabled)
preference_mob << sound(null, repeat = 0, wait = 0, volume = 0, channel = 1)
preference_mob << sound(null, repeat = 0, wait = 0, volume = 0, channel = 2)
//VOREStation Add - Need to put it here because it should be ordered riiiight here.
/datum/client_preference/play_jukebox
description ="Play jukebox music"
key = "SOUND_JUKEBOX"
@@ -86,18 +86,31 @@ var/list/_client_preferences_by_type
preference_mob.stop_all_music()
else
preference_mob.update_music()
//VOREStation Add - Need to put it here because it should be ordered riiiight here.
/datum/client_preference/eating_noises
description = "Eating Noises"
key = "EATING_NOISES"
enabled_description = "Noisy"
disabled_description = "Silent"
/datum/client_preference/digestion_noises
description = "Digestion Noises"
key = "DIGEST_NOISES"
enabled_description = "Noisy"
disabled_description = "Silent"
//VOREStation Add End
/datum/client_preference/weather_sounds
description ="Weather sounds"
key = "SOUND_WEATHER"
enabled_description = "Audible"
disabled_description = "Silent"
/datum/client_preference/supermatter_hum
description ="Supermatter hum"
key = "SOUND_SUPERMATTER"
enabled_description = "Audible"
disabled_description = "Silent"
/datum/client_preference/ghost_ears
description ="Ghost ears"
key = "CHAT_GHOSTEARS"
@@ -135,17 +135,17 @@
/datum/gear/accessory/brown_vest
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","Blueshield Guard")
allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer","Security Officer","Detective","Head of Security","Warden","Paramedic","Chief Medical Officer","Medical Doctor", "Search and Rescue","Blueshield Guard")
/datum/gear/accessory/black_vest
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","Blueshield Guard")
allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer","Security Officer","Detective","Head of Security","Warden","Paramedic","Chief Medical Officer","Medical Doctor", "Search and Rescue","Blueshield Guard")
/datum/gear/accessory/white_vest
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","Blueshield Guard")
allowed_roles = list("Station Engineer","Atmospheric Technician","Chief Engineer","Security Officer","Detective","Head of Security","Warden","Paramedic","Chief Medical Officer","Medical Doctor", "Search and Rescue","Blueshield Guard")
/datum/gear/accessory/brown_drop_pouches
display_name = "drop pouches, brown"
@@ -243,4 +243,37 @@
/datum/gear/accessory/locket
display_name = "locket"
path = /obj/item/clothing/accessory/locket
path = /obj/item/clothing/accessory/locket
/datum/gear/accessory/halfcape
display_name = "half cape"
path = /obj/item/clothing/accessory/halfcape
/datum/gear/accessory/fullcape
display_name = "full cape"
path = /obj/item/clothing/accessory/fullcape
/datum/gear/accessory/sash
display_name = "sash (colorable)"
path = /obj/item/clothing/accessory/sash
/datum/gear/accessory/sash/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
/datum/gear/accessory/asym
display_name = "asymmetric jacket selection"
path = /obj/item/clothing/accessory/asymmetric
cost = 1
/datum/gear/accessory/asym/New()
..()
var/list/asyms = list()
for(var/asym in typesof(/obj/item/clothing/accessory/asymmetric))
var/obj/item/clothing/accessory/asymmetric_type = asym
asyms[initial(asymmetric_type.name)] = asymmetric_type
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(asyms))
/datum/gear/accessory/cowledvest
display_name = "cowled vest"
path = /obj/item/clothing/accessory/cowledvest
@@ -36,7 +36,7 @@
/datum/gear/eyes/security
display_name = "Security HUD (Security)"
path = /obj/item/clothing/glasses/hud/security
allowed_roles = list("Security Officer","Head of Security","Warden","Blueshield Guard")
allowed_roles = list("Security Officer","Head of Security","Warden", "Detective","Blueshield Guard")
/datum/gear/eyes/security/prescriptionsec
display_name = "Security HUD, prescription (Security)"
@@ -72,12 +72,12 @@
path = /obj/item/clothing/glasses/hud/health/aviator/prescription
/datum/gear/eyes/meson
display_name = "Optical Meson Scanners (Engineering, Science)"
display_name = "Optical Meson Scanners (Engineering, Science, Mining)"
path = /obj/item/clothing/glasses/meson
allowed_roles = list("Station Engineer","Chief Engineer","Atmospheric Technician", "Scientist", "Research Director")
allowed_roles = list("Station Engineer","Chief Engineer","Atmospheric Technician", "Scientist", "Research Director", "Shaft Miner")
/datum/gear/eyes/meson/prescription
display_name = "Optical Meson Scanners, prescription (Engineering, Science)"
display_name = "Optical Meson Scanners, prescription (Engineering, Science, Mining)"
path = /obj/item/clothing/glasses/meson/prescription
/datum/gear/eyes/material
@@ -90,11 +90,11 @@
path = /obj/item/clothing/glasses/material/prescription
/datum/gear/eyes/meson/aviator
display_name = "Optical Meson Aviators, (Engineering, Science)"
display_name = "Optical Meson Aviators, (Engineering, Science, Mining)"
path = /obj/item/clothing/glasses/meson/aviator
/datum/gear/eyes/meson/aviator/prescription
display_name = "Optical Meson Aviators, prescription (Engineering, Science)"
display_name = "Optical Meson Aviators, prescription (Engineering, Science, Mining)"
path = /obj/item/clothing/glasses/meson/aviator/prescription
/datum/gear/eyes/glasses/fakesun
@@ -124,4 +124,20 @@
/datum/gear/eyes/circuitry
display_name = "goggles, circuitry (empty)"
path = /obj/item/clothing/glasses/circuitry
path = /obj/item/clothing/glasses/circuitry
/datum/gear/eyes/glasses/rimless
display_name = "Glasses, rimless"
path = /obj/item/clothing/glasses/rimless
/datum/gear/eyes/glasses/prescriptionrimless
display_name = "Glasses, prescription rimless"
path = /obj/item/clothing/glasses/regular/rimless
/datum/gear/eyes/glasses/thin
display_name = "Glasses, thin frame"
path = /obj/item/clothing/glasses/thin
/datum/gear/eyes/glasses/prescriptionthin
display_name = "Glasses, prescription thin frame"
path = /obj/item/clothing/glasses/regular/thin
@@ -34,7 +34,7 @@
/datum/gear/head/beret/csec
display_name = "beret, corporate (officer)"
path = /obj/item/clothing/head/beret/sec/corporate/officer
allowed_roles = list("Security Officer","Head of Security","Warden","Blueshield Guard")
allowed_roles = list("Security Officer","Head of Security","Warden", "Detective","Blueshield Guard")
/datum/gear/head/beret/csec_warden
display_name = "beret, corporate (warden)"
@@ -57,7 +57,7 @@
/datum/gear/head/beret/sec
display_name = "beret, red (security)"
path = /obj/item/clothing/head/beret/sec
allowed_roles = list("Security Officer","Head of Security","Warden","Blueshield Guard")
allowed_roles = list("Security Officer","Head of Security","Warden", "Detective","Blueshield Guard")
/datum/gear/head/cap
display_name = "cap, black"
@@ -324,22 +324,18 @@
/datum/gear/head/welding/demon
display_name = "welding, demon (engineering/robotics)"
path = /obj/item/clothing/head/welding/demon
allowed_roles = list("Chief Engineer","Station Engineer","Atmospheric Technician","Research Director","Roboticist")
/datum/gear/head/welding/knight
display_name = "welding, knight (engineering/robotics)"
path = /obj/item/clothing/head/welding/knight
allowed_roles = list("Chief Engineer","Station Engineer","Atmospheric Technician","Research Director","Roboticist")
/datum/gear/head/welding/fancy
display_name = "welding, fancy (engineering/robotics)"
path = /obj/item/clothing/head/welding/fancy
allowed_roles = list("Chief Engineer","Station Engineer","Atmospheric Technician","Research Director","Roboticist")
/datum/gear/head/welding/engie
display_name = "welding, engie (engineering/robotics)"
path = /obj/item/clothing/head/welding/engie
allowed_roles = list("Chief Engineer","Station Engineer","Atmospheric Technician","Research Director","Roboticist")
/*/datum/gear/head/beret/sol
display_name = "beret sol, selection"
@@ -370,4 +366,12 @@
/datum/gear/head/circuitry
display_name = "headwear, circuitry (empty)"
path = /obj/item/clothing/head/circuitry
path = /obj/item/clothing/head/circuitry
/datum/gear/head/maangtikka
display_name = "maang tikka"
path = /obj/item/clothing/head/maangtikka
/datum/gear/head/jingasa
display_name = "jingasa"
path = /obj/item/clothing/head/jingasa
@@ -191,7 +191,6 @@
/datum/gear/shoes/boots/winter/science
display_name = "science winter boots"
path = /obj/item/clothing/shoes/boots/winter/science
allowed_roles = list("Research Director","Scientist", "Roboticist", "Xenobiologist")
/datum/gear/shoes/boots/winter/command
display_name = "colony director's winter boots"
@@ -201,32 +200,26 @@
/datum/gear/shoes/boots/winter/engineering
display_name = "engineering winter boots"
path = /obj/item/clothing/shoes/boots/winter/engineering
allowed_roles = list("Chief Engineer","Atmospheric Technician", "Station Engineer")
/datum/gear/shoes/boots/winter/atmos
display_name = "atmospherics winter boots"
path = /obj/item/clothing/shoes/boots/winter/atmos
allowed_roles = list("Chief Engineer", "Atmospheric Technician")
/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", "Psychiatrist")
/datum/gear/shoes/boots/winter/mining
display_name = "mining winter boots"
path = /obj/item/clothing/shoes/boots/winter/mining
allowed_roles = list("Shaft Miner")
/datum/gear/shoes/boots/winter/supply
display_name = "supply winter boots"
path = /obj/item/clothing/shoes/boots/winter/supply
allowed_roles = list("Quartermaster","Cargo Technician")
/datum/gear/shoes/boots/winter/hydro
display_name = "hydroponics winter boots"
path = /obj/item/clothing/shoes/boots/winter/hydro
allowed_roles = list("Botanist", "Xenobiologist")
/datum/gear/shoes/circuitry
display_name = "boots, circuitry (empty)"
@@ -244,12 +244,10 @@ datum/gear/suit/duster
/datum/gear/suit/roles/poncho/cloak/cargo
display_name = "cloak, cargo"
path = /obj/item/clothing/accessory/poncho/roles/cloak/cargo
allowed_roles = list("Cargo Technician","Quartermaster")
/datum/gear/suit/roles/poncho/cloak/mining
display_name = "cloak, mining"
path = /obj/item/clothing/accessory/poncho/roles/cloak/mining
allowed_roles = list("Quartermaster","Shaft Miner")
/datum/gear/suit/roles/poncho/cloak/security
display_name = "cloak, security"
@@ -259,27 +257,22 @@ datum/gear/suit/duster
/datum/gear/suit/roles/poncho/cloak/service
display_name = "cloak, service"
path = /obj/item/clothing/accessory/poncho/roles/cloak/service
allowed_roles = list("Head of Personnel","Bartender","Botanist","Janitor","Chef","Librarian")
/datum/gear/suit/roles/poncho/cloak/engineer
display_name = "cloak, engineer"
path = /obj/item/clothing/accessory/poncho/roles/cloak/engineer
allowed_roles = list("Chief Engineer","Station Engineer")
/datum/gear/suit/roles/poncho/cloak/atmos
display_name = "cloak, atmos"
path = /obj/item/clothing/accessory/poncho/roles/cloak/atmos
allowed_roles = list("Chief Engineer","Atmospheric Technician")
/datum/gear/suit/roles/poncho/cloak/research
display_name = "cloak, science"
path = /obj/item/clothing/accessory/poncho/roles/cloak/research
allowed_roles = list("Research Director","Scientist", "Roboticist", "Xenobiologist")
/datum/gear/suit/roles/poncho/cloak/medical
display_name = "cloak, medical"
path = /obj/item/clothing/accessory/poncho/roles/cloak/medical
allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist", "Psychiatrist")
/datum/gear/suit/unathi_robe
display_name = "roughspun robe"
@@ -339,37 +332,30 @@ datum/gear/suit/duster
/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", "Psychiatrist")
/datum/gear/suit/wintercoat/science
display_name = "winter coat, science"
path = /obj/item/clothing/suit/storage/hooded/wintercoat/science
allowed_roles = list("Research Director","Scientist", "Roboticist", "Xenobiologist")
/datum/gear/suit/wintercoat/engineering
display_name = "winter coat, engineering"
path = /obj/item/clothing/suit/storage/hooded/wintercoat/engineering
allowed_roles = list("Chief Engineer","Atmospheric Technician", "Station Engineer")
/datum/gear/suit/wintercoat/atmos
display_name = "winter coat, atmospherics"
path = /obj/item/clothing/suit/storage/hooded/wintercoat/engineering/atmos
allowed_roles = list("Chief Engineer", "Atmospheric Technician")
/datum/gear/suit/wintercoat/hydro
display_name = "winter coat, hydroponics"
path = /obj/item/clothing/suit/storage/hooded/wintercoat/hydro
allowed_roles = list("Botanist", "Xenobiologist")
/datum/gear/suit/wintercoat/cargo
display_name = "winter coat, cargo"
path = /obj/item/clothing/suit/storage/hooded/wintercoat/cargo
allowed_roles = list("Quartermaster","Cargo Technician")
/datum/gear/suit/wintercoat/miner
display_name = "winter coat, mining"
path = /obj/item/clothing/suit/storage/hooded/wintercoat/miner
allowed_roles = list("Shaft Miner")
/datum/gear/suit/varsity
display_name = "varsity jacket selection"
@@ -463,6 +449,10 @@ datum/gear/suit/duster
..()
gear_tweaks = list(gear_tweak_free_color_choice)
/datum/gear/suit/miscellaneous/kamishimo
display_name = "kamishimo"
path = /obj/item/clothing/suit/kamishimo
/datum/gear/suit/snowsuit
display_name = "snowsuit"
path = /obj/item/clothing/suit/storage/snowsuit
@@ -495,4 +485,4 @@ datum/gear/suit/duster
/datum/gear/suit/snowsuit/cargo
display_name = "snowsuit, supply"
path = /obj/item/clothing/suit/storage/snowsuit/cargo
allowed_roles = list("Quartermaster","Shaft Miner","Cargo Technician","Head of Personnel")
allowed_roles = list("Quartermaster","Shaft Miner","Cargo Technician","Head of Personnel")
@@ -163,6 +163,26 @@
path = /obj/item/clothing/under/rank/head_of_security/skirt
allowed_roles = list("Head of Security")
/datum/gear/uniform/job_turtle/science
display_name = "turtleneck, science"
path = /obj/item/clothing/under/rank/scientist/turtleneck
allowed_roles = list("Research Director", "Scientist", "Roboticist", "Xenobiologist")
/datum/gear/uniform/job_turtle/security
display_name = "turtleneck, security"
path = /obj/item/clothing/under/rank/security/turtleneck
allowed_roles = list("Head of Security", "Warden", "Detective", "Security Officer")
/datum/gear/uniform/job_turtle/engineering
display_name = "turtleneck, engineering"
path = /obj/item/clothing/under/rank/engineer/turtleneck
allowed_roles = list("Chief Engineer", "Atmospheric Technician", "Station Engineer")
/datum/gear/uniform/job_turtle/medical
display_name = "turtleneck, medical"
path = /obj/item/clothing/under/rank/medical/turtleneck
allowed_roles = list("Chief Medical Officer", "Paramedic", "Medical Doctor", "Psychologist", "Search and Rescue", "Chemist")
/datum/gear/uniform/jeans_qm
display_name = "jeans, QM"
path = /obj/item/clothing/under/rank/cargo/jeans
@@ -402,14 +422,12 @@
path = /obj/item/clothing/under/focal
/datum/gear/uniform/mbill
display_name = "outfit, major bill's (Cargo)"
display_name = "outfit, major bill's"
path = /obj/item/clothing/under/mbill
allowed_roles = list("Quartermaster","Cargo Technician")
/datum/gear/uniform/pcrc
display_name = "uniform, PCRC (Security)"
path = /obj/item/clothing/under/pcrc
cost = 2
allowed_roles = list("Security Officer","Head of Security","Warden","Blueshield Guard")
/datum/gear/uniform/brandsuit/grayson
@@ -462,4 +480,25 @@
/datum/gear/uniform/circuitry
display_name = "jumpsuit, circuitry (empty)"
path = /obj/item/clothing/under/circuitry
path = /obj/item/clothing/under/circuitry
/datum/gear/uniform/sleekoverall
display_name = "sleek overalls"
path = /obj/item/clothing/under/overalls/sleek
/datum/gear/uniform/sarired
display_name = "sari, red"
path = /obj/item/clothing/under/dress/sari
/datum/gear/uniform/sarigreen
display_name = "sari, green"
path = /obj/item/clothing/under/dress/sari/green
/datum/gear/uniform/wrappedcoat
display_name = "modern wrapped coat"
path = /obj/item/clothing/under/moderncoat
/datum/gear/uniform/ascetic
display_name = "plain ascetic garb"
path = /obj/item/clothing/under/ascetic
@@ -1,4 +1,5 @@
// Alien clothing.
/datum/gear/suit/zhan_furs
display_name = "Zhan-Khazan furs (Tajaran)"
path = /obj/item/clothing/suit/tajaran/furs
@@ -165,198 +166,187 @@
/datum/gear/uniform/dept
whitelisted = SPECIES_TESHARI
sort_category = "Xenowear"
/datum/gear/uniform/dept/undercoat/ce
display_name = "Teshari Chief Engineer Undercoat"
display_name = "chief engineer undercoat (Teshari)"
path = /obj/item/clothing/under/seromi/undercoat/jobs/ce
allowed_roles = list("Chief Engineer")
/datum/gear/uniform/dept/undercoat/ce_w
display_name = "Teshari Chief Engineer Undercoat (White)"
display_name = "chief engineer undercoat - white (Teshari)"
path = /obj/item/clothing/under/seromi/undercoat/jobs/ce_w
allowed_roles = list("Chief Engineer")
/*
/datum/gear/uniform/undercoat/rd
display_name = "cloak, research director"
path = /obj/item/clothing/accessory/poncho/roles/cloak/rd
allowed_roles = list("Research Director")
*/
/datum/gear/uniform/dept/undercoat/qm
display_name = "Teshari Quarter Master Undercoat"
display_name = "quartermaster undercoat (Teshari)"
path = /obj/item/clothing/under/seromi/undercoat/jobs/qm
allowed_roles = list("Quartermaster")
/datum/gear/uniform/dept/undercoat/command
display_name = "Teshari Command Undercoat"
display_name = "command undercoat (Teshari)"
path = /obj/item/clothing/under/seromi/undercoat/jobs/command
allowed_roles = list("Colony Director","Head of Personnel","Head of Security","Chief Engineer","Chief Medical Officer")
allowed_roles = list("Colony Director","Head of Personnel","Head of Security","Chief Engineer","Chief Medical Officer","Research Director")
/datum/gear/uniform/dept/undercoat/command_g
display_name = "Teshari Command Undercoat (gold buttons)"
display_name = "command undercoat - gold buttons (Teshari)"
path = /obj/item/clothing/under/seromi/undercoat/jobs/command_g
allowed_roles = list("Colony Director","Head of Personnel","Head of Security","Chief Engineer","Chief Medical Officer")
allowed_roles = list("Colony Director","Head of Personnel","Head of Security","Chief Engineer","Chief Medical Officer","Research Director")
/datum/gear/uniform/dept/undercoat/cmo
display_name = "Teshari Chief Medical Officer Undercoat"
display_name = "chief medical officer undercoat (Teshari)"
path = /obj/item/clothing/under/seromi/undercoat/jobs/cmo
allowed_roles = list("Chief Medical Officer")
/datum/gear/uniform/dept/undercoat/cargo
display_name = "Teshari Cargo Undercoat"
display_name = "cargo undercoat (Teshari)"
path = /obj/item/clothing/under/seromi/undercoat/jobs/cargo
allowed_roles = list("Cargo Technician","Quartermaster","Shaft Miner")
/datum/gear/uniform/dept/undercoat/mining
display_name = "Teshari Mining Undercoat"
display_name = "mining undercoat (Teshari)"
path = /obj/item/clothing/accessory/poncho/roles/cloak/mining
allowed_roles = list("Quartermaster","Shaft Miner")
/datum/gear/uniform/dept/undercoat/security
display_name = "Teshari Security Undercoat"
display_name = "security undercoat (Teshari)"
path = /obj/item/clothing/under/seromi/undercoat/jobs/sec
allowed_roles = list("Head of Security","Detective","Warden","Security Officer",)
/datum/gear/uniform/dept/undercoat/service
display_name = "Teshari Service Undercoat"
display_name = "service undercoat (Teshari)"
path = /obj/item/clothing/under/seromi/undercoat/jobs/service
allowed_roles = list("Head of Personnel","Bartender","Botanist","Janitor","Chef","Librarian")
/datum/gear/uniform/dept/undercoat/engineer
display_name = "Teshari Engineer Undercoat"
display_name = "engineering undercoat (Teshari)"
path = /obj/item/clothing/under/seromi/undercoat/jobs/engineer
allowed_roles = list("Chief Engineer","Station Engineer")
/datum/gear/uniform/dept/undercoat/atmos
display_name = "Teshari Atmos Tech Undercoat"
display_name = "atmospherics undercoat (Teshari)"
path = /obj/item/clothing/under/seromi/undercoat/jobs/atmos
allowed_roles = list("Chief Engineer","Atmospheric Technician")
/datum/gear/uniform/dept/undercoat/research
display_name = "Teshari Science Undercoat"
display_name = "scientist undercoat (Teshari)"
path = /obj/item/clothing/under/seromi/undercoat/jobs/sci
allowed_roles = list("Research Director","Scientist", "Roboticist", "Xenobiologist")
/datum/gear/uniform/dept/undercoat/robo
display_name = "Teshari Roboticist Undercoat"
display_name = "roboticist undercoat (Teshari)"
path = /obj/item/clothing/under/seromi/undercoat/jobs/robo
allowed_roles = list("Roboticist")
/datum/gear/uniform/dept/undercoat/medical
display_name = "Teshari Medical Undercoat"
display_name = "medical undercoat (Teshari)"
path = /obj/item/clothing/under/seromi/undercoat/jobs/medical
allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist", "Psychiatrist")
/datum/gear/uniform/dept/undercoat/chemistry
display_name = "Teshari Chemistry Undercoat"
display_name = "chemist undercoat (Teshari)"
path = /obj/item/clothing/under/seromi/undercoat/jobs/chemistry
allowed_roles = list("Chemist")
/datum/gear/uniform/dept/undercoat/virology
display_name = "Teshari Medical Undercoat"
display_name = "virologist undercoat (Teshari)"
path = /obj/item/clothing/under/seromi/undercoat/jobs/viro
allowed_roles = list("Medical Doctor")
/datum/gear/uniform/dept/undercoat/paramedic
display_name = "Teshari Paramedic Undercoat"
display_name = "paramedic undercoat (Teshari)"
path = /obj/item/clothing/under/seromi/undercoat/jobs/para
allowed_roles = list("Paramedic")
/datum/gear/uniform/dept/undercoat/iaa
display_name = "Teshari IAA Undercoat"
display_name = "internal affairs undercoat (Teshari)"
path = /obj/item/clothing/under/seromi/undercoat/jobs/iaa
allowed_roles = list("Internal Affairs Agent")
/datum/gear/suit/dept/cloak/
whitelisted = SPECIES_TESHARI
sort_category = "Xenowear"
/datum/gear/suit/cloak/dept/ce
display_name = "Teshari Chief Engineer Cloak"
display_name = "chief engineer cloak (Teshari)"
path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/ce
allowed_roles = list("Chief Engineer")
/*
/datum/gear/suit/cloak/rd
display_name = "cloak, research director"
path = /obj/item/clothing/accessory/poncho/roles/cloak/rd
allowed_roles = list("Research Director")
*/
/datum/gear/suit/dept/cloak/qm
display_name = "Teshari Quarter Master Cloak"
display_name = "quartermaster cloak (Teshari)"
path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/qm
allowed_roles = list("Quartermaster")
/datum/gear/suit/dept/cloak/command
display_name = "Teshari Command Cloak"
display_name = "command cloak (Teshari)"
path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/command
allowed_roles = list("Colony Director","Head of Personnel","Head of Security","Chief Engineer","Chief Medical Officer")
allowed_roles = list("Colony Director","Head of Personnel","Head of Security","Chief Engineer","Chief Medical Officer","Research Director")
/datum/gear/suit/dept/cloak/cmo
display_name = "Teshari Chief Medical Officer Cloak"
display_name = "chief medical officer cloak (Teshari)"
path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/cmo
allowed_roles = list("Chief Medical Officer")
/datum/gear/suit/dept/cloak/cargo
display_name = "Teshari Cargo Cloak"
display_name = "cargo cloak (Teshari)"
path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/cargo
allowed_roles = list("Cargo Technician","Quartermaster","Shaft Miner")
/datum/gear/suit/dept/cloak/mining
display_name = "Teshari Mining Cloak"
display_name = "mining cloak (Teshari)"
path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/mining
allowed_roles = list("Quartermaster","Shaft Miner")
/datum/gear/suit/dept/cloak/security
display_name = "Teshari Security Cloak"
display_name = "security cloak (Teshari)"
path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/sec
allowed_roles = list("Head of Security","Detective","Warden","Security Officer",)
/datum/gear/suit/dept/cloak/service
display_name = "Teshari Service Cloak"
display_name = "service cloak (Teshari)"
path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/service
allowed_roles = list("Head of Personnel","Bartender","Botanist","Janitor","Chef","Librarian")
/datum/gear/suit/dept/cloak/engineer
display_name = "Teshari Engineer Cloak"
display_name = "engineering cloak (Teshari)"
path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/eningeer
allowed_roles = list("Chief Engineer","Station Engineer")
/datum/gear/suit/dept/cloak/atmos
display_name = "Teshari Atmos Tech Cloak"
display_name = "atmospherics cloak (Teshari)"
path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/atmos
allowed_roles = list("Chief Engineer","Atmospheric Technician")
/datum/gear/suit/dept/cloak/research
display_name = "Teshari Science Cloak"
display_name = "scientist cloak (Teshari)"
path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/sci
allowed_roles = list("Research Director","Scientist", "Roboticist", "Xenobiologist")
/datum/gear/suit/dept/cloak/robo
display_name = "Teshari Roboticist Cloak"
display_name = "roboticist cloak (Teshari)"
path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/robo
allowed_roles = list("Roboticist")
/datum/gear/suit/dept/cloak/medical
display_name = "Teshari Medical Cloak"
display_name = "medical cloak (Teshari)"
path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/medical
allowed_roles = list("Medical Doctor","Chief Medical Officer","Chemist","Paramedic","Geneticist", "Psychiatrist")
/datum/gear/suit/dept/cloak/chemistry
display_name = "Teshari Chemistry Cloak"
display_name = "chemist cloak (Teshari)"
path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/chemistry
allowed_roles = list("Chemist")
/datum/gear/suit/dept/cloak/virology
display_name = "Teshari Medical Cloak"
display_name = "virologist cloak (Teshari)"
path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/viro
allowed_roles = list("Medical Doctor")
/datum/gear/suit/dept/cloak/paramedic
display_name = "Teshari Paramedic Cloak"
display_name = "paramedic cloak (Teshari)"
path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/para
allowed_roles = list("Paramedic")
/datum/gear/suit/dept/cloak/iaa
display_name = "Teshari IAA Cloak"
display_name = "internal affairs cloak (Teshari)"
path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/iaa
allowed_roles = list("Internal Affairs Agent")
@@ -37,4 +37,35 @@
/datum/gear/uniform/loincloth
display_name = "loincloth"
path = /obj/item/clothing/suit/storage/fluff/loincloth
sort_category = "Xenowear"
sort_category = "Xenowear"
// Taj clothing
/datum/gear/eyes/tajblind
display_name = "embroidered veil"
path = /obj/item/clothing/glasses/tajblind
//whitelisted = SPECIES_TAJ
sort_category = "Xenowear"
/datum/gear/eyes/medical/tajblind
display_name = "medical veil (Tajara) (Medical)"
path = /obj/item/clothing/glasses/hud/health/tajblind
//whitelisted = SPECIES_TAJ
sort_category = "Xenowear"
/datum/gear/eyes/meson/tajblind
display_name = "industrial veil (Tajara) (Engineering, Science)"
path = /obj/item/clothing/glasses/meson/prescription/tajblind
//whitelisted = SPECIES_TAJ
sort_category = "Xenowear"
/datum/gear/eyes/material/tajblind
display_name = "mining veil (Tajara) (Mining)"
path = /obj/item/clothing/glasses/material/prescription/tajblind
//whitelisted = SPECIES_TAJ
sort_category = "Xenowear"
/datum/gear/eyes/security/tajblind
display_name = "sleek veil (Tajara) (Security)"
path = /obj/item/clothing/glasses/sunglasses/sechud/tajblind
//whitelisted = SPECIES_TAJ
sort_category = "Xenowear"
@@ -60,7 +60,7 @@
/datum/category_item/player_setup_item/vore/size/OnTopic(var/href, var/list/href_list, var/mob/user)
if(href_list["size_multiplier"])
var/new_size = input(user, "Choose your character's size, ranging from 25% to 200%", "Set Size") as num|null
if (!IsInRange(new_size,25,200))
if (!ISINRANGE(new_size,25,200))
pref.size_multiplier = 1
user << "<span class='notice'>Invalid size.</span>"
return TOPIC_REFRESH_UPDATE_PREVIEW
@@ -12,7 +12,7 @@ var/XENOMORPH_EGG = "Xenomorph"
// Define a place to save appearance in character setup
/datum/preferences
var/egg_type = "Egg" //The egg type they have.
var/vore_egg_type = "Egg" //The egg type they have.
// Definition of the stuff for the egg type.
/datum/category_item/player_setup_item/vore/egg
@@ -20,31 +20,31 @@ var/XENOMORPH_EGG = "Xenomorph"
sort_order = 3
/datum/category_item/player_setup_item/vore/egg/load_character(var/savefile/S)
S["egg_type"] >> pref.egg_type
S["vore_egg_type"] >> pref.vore_egg_type
/datum/category_item/player_setup_item/vore/egg/save_character(var/savefile/S)
S["egg_type"] << pref.egg_type
S["vore_egg_type"] << pref.vore_egg_type
/datum/category_item/player_setup_item/vore/egg/sanitize_character()
var/valid_egg_types = global_egg_types
pref.egg_type = sanitize_inlist(pref.egg_type, valid_egg_types, initial(pref.egg_type))
var/valid_vore_egg_types = global_vore_egg_types
pref.vore_egg_type = sanitize_inlist(pref.vore_egg_type, valid_vore_egg_types, initial(pref.vore_egg_type))
/datum/category_item/player_setup_item/vore/egg/copy_to_mob(var/mob/living/carbon/human/character)
character.egg_type = pref.egg_type
character.vore_egg_type = pref.vore_egg_type
/datum/category_item/player_setup_item/vore/egg/content(var/mob/user)
. += "<br>"
. += " Egg Type: <a href='?src=\ref[src];egg_type=1'>[pref.egg_type]</a><br>"
. += " Egg Type: <a href='?src=\ref[src];vore_egg_type=1'>[pref.vore_egg_type]</a><br>"
/datum/category_item/player_setup_item/vore/egg/OnTopic(var/href, var/list/href_list, var/mob/user)
if(!CanUseTopic(user))
return TOPIC_NOACTION
else if(href_list["egg_type"])
var/list/egg_types = global_egg_types
var/selection = input(user, "Choose your character's egg type:", "Character Preference", pref.egg_type) as null|anything in egg_types
else if(href_list["vore_egg_type"])
var/list/vore_egg_types = global_vore_egg_types
var/selection = input(user, "Choose your character's egg type:", "Character Preference", pref.vore_egg_type) as null|anything in vore_egg_types
if(selection)
pref.egg_type = egg_types[selection]
pref.vore_egg_type = vore_egg_types[selection]
return TOPIC_REFRESH
else
return
return
@@ -87,13 +87,14 @@
var/S = pref.custom_base ? pref.custom_base : "Human"
var/datum/species/custom/new_CS = CS.produceCopy(S, pref.pos_traits + pref.neu_traits + pref.neg_traits, character)
//Statistics for this would be nice
var/english_traits = english_list(new_CS.traits, and_text = ";", comma_text = ";")
log_game("TRAITS [pref.client_ckey]/([character]) with: [english_traits]") //Terrible 'fake' key_name()... but they aren't in the same entity yet
//Any additional non-trait settings can be applied here
new_CS.blood_color = pref.blood_color
if(pref.species == SPECIES_CUSTOM)
//Statistics for this would be nice
var/english_traits = english_list(new_CS.traits, and_text = ";", comma_text = ";")
log_game("TRAITS [pref.client_ckey]/([character]) with: [english_traits]") //Terrible 'fake' key_name()... but they aren't in the same entity yet
/datum/category_item/player_setup_item/vore/traits/content(var/mob/user)
. += "<b>Custom Species</b> "
. += "<a href='?src=\ref[src];custom_species=1'>[pref.custom_species ? pref.custom_species : "-Input Name-"]</a><br>"