mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-23 03:57:48 +01:00
Merge branch 'master' of https://github.com/VOREStation/Polaris into sync-09272018
# Conflicts: # code/__defines/holomap.dm # code/__defines/mobs.dm # code/_helpers/icons.dm # code/_helpers/unsorted.dm # code/_onclick/hud/hud.dm # code/_onclick/item_attack.dm # code/controllers/Processes/supply.dm # code/controllers/subsystems/planets.dm # code/datums/supplypacks/munitions.dm # code/datums/supplypacks/science.dm # code/datums/supplypacks/security.dm # code/datums/supplypacks/supply.dm # code/game/area/Space Station 13 areas.dm # code/game/atoms_movable.dm # code/game/machinery/autolathe.dm # code/game/machinery/doors/door.dm # code/game/machinery/jukebox.dm # code/game/machinery/recharger.dm # code/game/machinery/vending.dm # code/game/mecha/equipment/tools/medical_tools.dm # code/game/mecha/equipment/weapons/weapons.dm # code/game/objects/items/devices/PDA/PDA.dm # code/game/objects/items/devices/megaphone.dm # code/game/objects/items/poi_items.dm # code/game/objects/items/weapons/implants/implantlanguage.dm # code/game/objects/items/weapons/storage/firstaid.dm # code/game/objects/items/weapons/tools/weldingtool.dm # code/game/objects/structures/flora/trees.dm # code/game/objects/structures/plasticflaps.dm # code/game/supplyshuttle.dm # code/game/turfs/simulated/wall_attacks.dm # code/modules/admin/admin_verbs.dm # code/modules/assembly/infrared.dm # code/modules/client/client procs.dm # code/modules/client/preference_setup/loadout/loadout_utility.dm # code/modules/client/preferences.dm # code/modules/clothing/suits/miscellaneous.dm # code/modules/holomap/holomap_datum.dm # code/modules/holomap/station_holomap.dm # code/modules/integrated_electronics/core/printer.dm # code/modules/mining/machine_processing.dm # code/modules/mob/living/carbon/human/human_defense.dm # code/modules/mob/living/carbon/human/species/virtual_reality/avatar.dm # code/modules/mob/living/death.dm # code/modules/mob/living/silicon/ai/ai.dm # code/modules/mob/living/silicon/pai/pai.dm # code/modules/mob/living/silicon/robot/robot.dm # code/modules/mob/living/simple_animal/animals/parrot.dm # code/modules/mob/mob_movement.dm # code/modules/organs/organ_external.dm # code/modules/organs/organ_icon.dm # code/modules/organs/subtypes/standard.dm # code/modules/planet/weather.dm # code/modules/power/cable.dm # code/modules/power/fusion/core/core_control.dm # code/modules/power/fusion/fuel_assembly/fuel_control.dm # code/modules/power/fusion/gyrotron/gyrotron_control.dm # code/modules/projectiles/gun.dm # code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm # config/names/first_name_skrell.txt # config/names/last_name_skrell.txt # icons/mob/head.dmi # icons/mob/robots.dmi # icons/mob/species/tajaran/helmet.dmi # icons/obj/ammo.dmi # icons/obj/gun.dmi # icons/obj/mining.dmi # icons/obj/projectiles.dmi # icons/obj/rig_modules.dmi # icons/obj/surgery.dmi # icons/turf/walls.dmi # maps/southern_cross/southern_cross-1.dmm # maps/southern_cross/southern_cross-3.dmm # maps/southern_cross/southern_cross-6.dmm # maps/southern_cross/southern_cross-8.dmm # maps/submaps/surface_submaps/mountains/backup/IceCave1.dmm # maps/submaps/surface_submaps/mountains/backup/IceCave1A.dmm # maps/submaps/surface_submaps/mountains/backup/IceCave1B.dmm # maps/submaps/surface_submaps/mountains/backup/IceCave1C.dmm # maps/submaps/surface_submaps/mountains/crashedcontainmentshuttle.dmm # maps/submaps/surface_submaps/mountains/deadspy.dmm # maps/submaps/surface_submaps/mountains/mountains_areas.dm # maps/submaps/surface_submaps/plains/Thiefc.dmm # maps/~map_system/maps.dm # vorestation.dme
This commit is contained in:
@@ -29,8 +29,7 @@
|
||||
///////////////
|
||||
//SOUND STUFF//
|
||||
///////////////
|
||||
var/ambience_playing= null
|
||||
var/played = 0
|
||||
var/time_last_ambience_played = 0 // world.time when ambience was played to this client, to space out ambience sounds.
|
||||
|
||||
////////////
|
||||
//SECURITY//
|
||||
|
||||
@@ -150,7 +150,7 @@
|
||||
log_client_to_db()
|
||||
|
||||
send_resources()
|
||||
nanomanager.send_resources(src)
|
||||
GLOB.nanomanager.send_resources(src)
|
||||
|
||||
if(!void)
|
||||
void = new()
|
||||
|
||||
@@ -39,6 +39,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
S["synth_markings"] >> pref.synth_markings
|
||||
pref.preview_icon = null
|
||||
S["bgstate"] >> pref.bgstate
|
||||
S["body_descriptors"] >> pref.body_descriptors
|
||||
|
||||
/datum/category_item/player_setup_item/general/body/save_character(var/savefile/S)
|
||||
S["species"] << pref.species
|
||||
@@ -68,6 +69,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
S["synth_blue"] << pref.b_synth
|
||||
S["synth_markings"] << pref.synth_markings
|
||||
S["bgstate"] << pref.bgstate
|
||||
S["body_descriptors"] << pref.body_descriptors
|
||||
|
||||
/datum/category_item/player_setup_item/general/body/sanitize_character(var/savefile/S)
|
||||
if(!pref.species || !(pref.species in playable_species))
|
||||
@@ -142,6 +144,10 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
if(!status)
|
||||
continue
|
||||
var/obj/item/organ/I = character.internal_organs_by_name[name]
|
||||
if(istype(I, /obj/item/organ/internal/brain))
|
||||
var/obj/item/organ/external/E = character.get_organ(I.parent_organ)
|
||||
if(E.robotic < ORGAN_ASSISTED)
|
||||
continue
|
||||
if(I)
|
||||
if(status == "assisted")
|
||||
I.mechassist()
|
||||
@@ -163,6 +169,21 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
if(O)
|
||||
O.markings[M] = list("color" = mark_color, "datum" = mark_datum)
|
||||
|
||||
var/list/last_descriptors = list()
|
||||
if(islist(pref.body_descriptors))
|
||||
last_descriptors = pref.body_descriptors.Copy()
|
||||
pref.body_descriptors = list()
|
||||
|
||||
var/datum/species/mob_species = all_species[pref.species]
|
||||
if(LAZYLEN(mob_species.descriptors))
|
||||
for(var/entry in mob_species.descriptors)
|
||||
var/datum/mob_descriptor/descriptor = mob_species.descriptors[entry]
|
||||
if(istype(descriptor))
|
||||
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))
|
||||
|
||||
return
|
||||
|
||||
/datum/category_item/player_setup_item/general/body/content(var/mob/user)
|
||||
@@ -171,7 +192,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
pref.update_preview_icon()
|
||||
user << browse_rsc(pref.preview_icon, "previewicon.png")
|
||||
|
||||
var/mob_species = all_species[pref.species]
|
||||
var/datum/species/mob_species = all_species[pref.species]
|
||||
. += "<table><tr style='vertical-align:top'><td><b>Body</b> "
|
||||
. += "(<a href='?src=\ref[src];random=1'>®</A>)"
|
||||
. += "<br>"
|
||||
@@ -188,8 +209,8 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
for(var/name in pref.organ_data)
|
||||
var/status = pref.organ_data[name]
|
||||
var/organ_name = null
|
||||
switch(name)
|
||||
|
||||
switch(name)
|
||||
if(BP_TORSO)
|
||||
organ_name = "torso"
|
||||
if(BP_GROIN)
|
||||
@@ -276,6 +297,13 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
else
|
||||
. += "<br><br>"
|
||||
|
||||
if(LAZYLEN(pref.body_descriptors))
|
||||
. += "<table>"
|
||||
for(var/entry in pref.body_descriptors)
|
||||
var/datum/mob_descriptor/descriptor = mob_species.descriptors[entry]
|
||||
. += "<tr><td><b>[capitalize(descriptor.chargen_label)]:</b></td><td>[descriptor.get_standalone_value_descriptor(pref.body_descriptors[entry])]</td><td><a href='?src=\ref[src];change_descriptor=[entry]'>Change</a><br/></td></tr>"
|
||||
. += "</table><br>"
|
||||
|
||||
. += "</td><td><b>Preview</b><br>"
|
||||
. += "<div class='statusDisplay'><center><img src=previewicon.png width=[pref.preview_icon.Width()] height=[pref.preview_icon.Height()]></center></div>"
|
||||
. += "<br><a href='?src=\ref[src];cycle_bg=1'>Cycle background</a>"
|
||||
@@ -325,6 +353,16 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
pref.randomize_appearance_and_body_for()
|
||||
return TOPIC_REFRESH_UPDATE_PREVIEW
|
||||
|
||||
else if(href_list["change_descriptor"])
|
||||
if(mob_species.descriptors)
|
||||
var/desc_id = href_list["change_descriptor"]
|
||||
if(pref.body_descriptors[desc_id])
|
||||
var/datum/mob_descriptor/descriptor = mob_species.descriptors[desc_id]
|
||||
var/choice = input("Please select a descriptor.", "Descriptor") as null|anything in descriptor.chargen_value_descriptors
|
||||
if(choice && mob_species.descriptors[desc_id]) // Check in case they sneakily changed species.
|
||||
pref.body_descriptors[desc_id] = descriptor.chargen_value_descriptors[choice]
|
||||
return TOPIC_REFRESH
|
||||
|
||||
else if(href_list["blood_type"])
|
||||
var/new_b_type = input(user, "Choose your character's blood-type:", "Character Preference") as null|anything in valid_bloodtypes
|
||||
if(new_b_type && CanUseTopic(user))
|
||||
@@ -585,6 +623,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
choice_options = list("Prosthesis")
|
||||
if("Full Body")
|
||||
limb = BP_TORSO
|
||||
second_limb = BP_HEAD
|
||||
third_limb = BP_GROIN
|
||||
choice_options = list("Normal","Prosthesis")
|
||||
|
||||
@@ -593,12 +632,15 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
|
||||
|
||||
switch(new_state)
|
||||
if("Normal")
|
||||
pref.organ_data[limb] = null
|
||||
pref.rlimb_data[limb] = null
|
||||
if(limb == BP_TORSO)
|
||||
for(var/other_limb in BP_ALL - BP_TORSO)
|
||||
pref.organ_data[other_limb] = null
|
||||
pref.rlimb_data[other_limb] = null
|
||||
pref.organ_data[limb] = null
|
||||
pref.rlimb_data[limb] = null
|
||||
for(var/internal in O_STANDARD)
|
||||
pref.organ_data[internal] = null
|
||||
pref.rlimb_data[internal] = null
|
||||
if(third_limb)
|
||||
pref.organ_data[third_limb] = null
|
||||
pref.rlimb_data[third_limb] = null
|
||||
|
||||
@@ -126,7 +126,7 @@ var/list/_client_preferences_by_type
|
||||
description ="Mob tooltips"
|
||||
key = "MOB_TOOLTIPS"
|
||||
enabled_description = "Show"
|
||||
disabled_description = "Hide"
|
||||
disabled_description = "Hide"
|
||||
|
||||
/datum/client_preference/attack_icons
|
||||
description ="Attack icons"
|
||||
@@ -207,6 +207,10 @@ var/list/_client_preferences_by_type
|
||||
PH.set_ao(VIS_OBJS, enabled)
|
||||
PH.set_ao(VIS_MOBS, enabled)
|
||||
|
||||
/datum/client_preference/instrument_toggle
|
||||
description ="Hear In-game Instruments"
|
||||
key = "SOUND_INSTRUMENT"
|
||||
|
||||
/********************
|
||||
* Staff Preferences *
|
||||
********************/
|
||||
|
||||
@@ -7,4 +7,8 @@
|
||||
|
||||
/datum/gear/ears/headphones
|
||||
display_name = "headphones"
|
||||
path = /obj/item/clothing/ears/earmuffs/headphones
|
||||
path = /obj/item/clothing/ears/earmuffs/headphones
|
||||
|
||||
/datum/gear/ears/circuitry
|
||||
display_name = "earwear, circuitry (empty)"
|
||||
path = /obj/item/clothing/ears/circuitry
|
||||
@@ -121,3 +121,7 @@
|
||||
/datum/gear/eyes/sun/prescriptionsun
|
||||
display_name = "sunglasses, presciption (Security/Command)"
|
||||
path = /obj/item/clothing/glasses/sunglasses/prescription
|
||||
|
||||
/datum/gear/eyes/circuitry
|
||||
display_name = "goggles, circuitry (empty)"
|
||||
path = /obj/item/clothing/glasses/circuitry
|
||||
@@ -98,4 +98,8 @@
|
||||
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)
|
||||
gear_tweaks += new/datum/gear_tweak/path(ringtype)
|
||||
|
||||
/datum/gear/gloves/circuitry
|
||||
display_name = "gloves, circuitry (empty)"
|
||||
path = /obj/item/clothing/gloves/circuitry
|
||||
@@ -372,3 +372,7 @@
|
||||
/datum/gear/head/surgical/purple
|
||||
display_name = "surgical cap, purple"
|
||||
path = /obj/item/clothing/head/surgery/purple
|
||||
|
||||
/datum/gear/head/circuitry
|
||||
display_name = "headwear, circuitry (empty)"
|
||||
path = /obj/item/clothing/head/circuitry
|
||||
@@ -227,3 +227,7 @@
|
||||
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)"
|
||||
path = /obj/item/clothing/shoes/circuitry
|
||||
|
||||
@@ -456,4 +456,8 @@
|
||||
|
||||
/datum/gear/uniform/westernbustle
|
||||
display_name = "western bustle"
|
||||
path = /obj/item/clothing/under/dress/westernbustle
|
||||
path = /obj/item/clothing/under/dress/westernbustle
|
||||
|
||||
/datum/gear/uniform/circuitry
|
||||
display_name = "jumpsuit, circuitry (empty)"
|
||||
path = /obj/item/clothing/under/circuitry
|
||||
@@ -107,29 +107,29 @@
|
||||
|
||||
/datum/gear/uniform/undercoat
|
||||
display_name = "undercoat selection (Teshari)"
|
||||
path = /obj/item/clothing/under/seromi/undercoat
|
||||
path = /obj/item/clothing/under/seromi/undercoat/standard
|
||||
whitelisted = SPECIES_TESHARI
|
||||
sort_category = "Xenowear"
|
||||
|
||||
/datum/gear/uniform/undercoat/New()
|
||||
..()
|
||||
var/list/undercoats = list()
|
||||
for(var/undercoat in typesof(/obj/item/clothing/under/seromi/undercoat))
|
||||
var/obj/item/clothing/under/seromi/undercoat/undercoat_type = undercoat
|
||||
for(var/undercoat in typesof(/obj/item/clothing/under/seromi/undercoat/standard))
|
||||
var/obj/item/clothing/under/seromi/undercoat/standard/undercoat_type = undercoat
|
||||
undercoats[initial(undercoat_type.name)] = undercoat_type
|
||||
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(undercoats))
|
||||
|
||||
/datum/gear/suit/cloak
|
||||
display_name = "cloak selection (Teshari)"
|
||||
path = /obj/item/clothing/suit/storage/seromi/cloak
|
||||
path = /obj/item/clothing/suit/storage/seromi/cloak/standard
|
||||
whitelisted = SPECIES_TESHARI
|
||||
sort_category = "Xenowear"
|
||||
|
||||
/datum/gear/suit/cloak/New()
|
||||
..()
|
||||
var/list/cloaks = list()
|
||||
for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/cloak))
|
||||
var/obj/item/clothing/suit/storage/seromi/cloak/cloak_type = cloak
|
||||
for(var/cloak in typesof(/obj/item/clothing/suit/storage/seromi/cloak/standard))
|
||||
var/obj/item/clothing/suit/storage/seromi/cloak/standard/cloak_type = cloak
|
||||
cloaks[initial(cloak_type.name)] = cloak_type
|
||||
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks))
|
||||
|
||||
@@ -160,4 +160,203 @@
|
||||
for(var/cohesionsuit in (typesof(/obj/item/clothing/under/cohesion)))
|
||||
var/obj/item/clothing/under/cohesion/cohesion_type = cohesionsuit
|
||||
cohesionsuits[initial(cohesion_type.name)] = cohesion_type
|
||||
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cohesionsuits))
|
||||
gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cohesionsuits))
|
||||
|
||||
/datum/gear/uniform/dept
|
||||
whitelisted = SPECIES_TESHARI
|
||||
sort_category = "Xenowear"
|
||||
|
||||
/datum/gear/uniform/dept/undercoat/ce
|
||||
display_name = "Teshari Chief Engineer Undercoat"
|
||||
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)"
|
||||
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"
|
||||
path = /obj/item/clothing/under/seromi/undercoat/jobs/qm
|
||||
allowed_roles = list("Quartermaster")
|
||||
|
||||
/datum/gear/uniform/dept/undercoat/command
|
||||
display_name = "Teshari Command Undercoat"
|
||||
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")
|
||||
|
||||
/datum/gear/uniform/dept/undercoat/command_g
|
||||
display_name = "Teshari Command Undercoat (gold buttons)"
|
||||
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")
|
||||
|
||||
/datum/gear/uniform/dept/undercoat/cmo
|
||||
display_name = "Teshari Chief Medical Officer Undercoat"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
path = /obj/item/clothing/under/seromi/undercoat/jobs/robo
|
||||
allowed_roles = list("Roboticist")
|
||||
|
||||
/datum/gear/uniform/dept/undercoat/medical
|
||||
display_name = "Teshari Medical Undercoat"
|
||||
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"
|
||||
path = /obj/item/clothing/under/seromi/undercoat/jobs/chemistry
|
||||
allowed_roles = list("Chemist")
|
||||
|
||||
/datum/gear/uniform/dept/undercoat/virology
|
||||
display_name = "Teshari Medical Undercoat"
|
||||
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"
|
||||
path = /obj/item/clothing/under/seromi/undercoat/jobs/para
|
||||
allowed_roles = list("Paramedic")
|
||||
|
||||
/datum/gear/uniform/dept/undercoat/iaa
|
||||
display_name = "Teshari IAA Undercoat"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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")
|
||||
|
||||
/datum/gear/suit/dept/cloak/cmo
|
||||
display_name = "Teshari Chief Medical Officer Cloak"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
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"
|
||||
path = /obj/item/clothing/suit/storage/seromi/cloak/jobs/iaa
|
||||
allowed_roles = list("Internal Affairs Agent")
|
||||
|
||||
@@ -92,6 +92,30 @@
|
||||
modifier_type = /datum/modifier/trait/larger
|
||||
mutually_exclusive = list(/datum/trait/modifier/physical/smaller, /datum/trait/modifier/physical/small, /datum/trait/modifier/physical/large)
|
||||
|
||||
/datum/trait/modifier/physical/colorblind_protanopia
|
||||
name = "Protanopia"
|
||||
desc = "You have a form of red-green colorblindness. You cannot see reds, and have trouble distinguishing them from yellows and greens."
|
||||
modifier_type = /datum/modifier/trait/colorblind_protanopia
|
||||
mutually_exclusive = list(/datum/trait/modifier/physical/colorblind_deuteranopia, /datum/trait/modifier/physical/colorblind_tritanopia, /datum/trait/modifier/physical/colorblind_monochrome)
|
||||
|
||||
/datum/trait/modifier/physical/colorblind_deuteranopia
|
||||
name = "Deuteranopia"
|
||||
desc = "You have a form of red-green colorblindness. You cannot see greens, and have trouble distinguishing them from yellows and reds."
|
||||
modifier_type = /datum/modifier/trait/colorblind_deuteranopia
|
||||
mutually_exclusive = list(/datum/trait/modifier/physical/colorblind_protanopia, /datum/trait/modifier/physical/colorblind_tritanopia, /datum/trait/modifier/physical/colorblind_monochrome)
|
||||
|
||||
/datum/trait/modifier/physical/colorblind_tritanopia
|
||||
name = "Tritanopia"
|
||||
desc = "You have a form of blue-yellow colorblindness. You have trouble distinguishing between blues, greens, and yellows, and see blues and violets as dim."
|
||||
modifier_type = /datum/modifier/trait/colorblind_tritanopia
|
||||
mutually_exclusive = list(/datum/trait/modifier/physical/colorblind_protanopia, /datum/trait/modifier/physical/colorblind_deuteranopia, /datum/trait/modifier/physical/colorblind_monochrome)
|
||||
|
||||
/datum/trait/modifier/physical/colorblind_monochrome
|
||||
name = "Monochromacy"
|
||||
desc = "You are fully colorblind. Your condition is rare, but you can see no colors at all."
|
||||
modifier_type = /datum/modifier/trait/colorblind_monochrome
|
||||
mutually_exclusive = list(/datum/trait/modifier/physical/colorblind_protanopia, /datum/trait/modifier/physical/colorblind_deuteranopia, /datum/trait/modifier/physical/colorblind_tritanopia)
|
||||
|
||||
// These two traits might be borderline, feel free to remove if they get abused.
|
||||
/datum/trait/modifier/physical/high_metabolism
|
||||
name = "High Metabolism"
|
||||
|
||||
@@ -60,7 +60,7 @@ datum/preferences
|
||||
var/r_synth //Used with synth_color to color synth parts that normaly can't be colored.
|
||||
var/g_synth //Same as above
|
||||
var/b_synth //Same as above
|
||||
var/synth_markings = 1 //VOREStation edit. Enable/disable markings on synth parts.
|
||||
var/synth_markings = 1 //Enable/disable markings on synth parts. //VOREStation Edit - 1 by default
|
||||
|
||||
//Some faction information.
|
||||
var/home_system = "Unset" //System of birth.
|
||||
@@ -104,6 +104,8 @@ datum/preferences
|
||||
var/list/flavor_texts = list()
|
||||
var/list/flavour_texts_robot = list()
|
||||
|
||||
var/list/body_descriptors = list()
|
||||
|
||||
var/med_record = ""
|
||||
var/sec_record = ""
|
||||
var/gen_record = ""
|
||||
@@ -300,6 +302,10 @@ datum/preferences
|
||||
character.update_underwear()
|
||||
character.update_hair()
|
||||
|
||||
if(LAZYLEN(character.descriptors))
|
||||
for(var/entry in body_descriptors)
|
||||
character.descriptors[entry] = body_descriptors[entry]
|
||||
|
||||
/datum/preferences/proc/open_load_dialog(mob/user)
|
||||
var/dat = "<body>"
|
||||
dat += "<tt><center>"
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
toggle_preference(pref_path)
|
||||
|
||||
src << "You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear all mob speech as a ghost."
|
||||
to_chat(src,"You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear all mob speech as a ghost.")
|
||||
|
||||
prefs.save_preferences()
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
toggle_preference(pref_path)
|
||||
|
||||
src << "You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] see all emotes as a ghost."
|
||||
to_chat(src,"You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] see all emotes as a ghost.")
|
||||
|
||||
prefs.save_preferences()
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
|
||||
toggle_preference(pref_path)
|
||||
|
||||
src << "You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear all radios as a ghost."
|
||||
to_chat(src,"You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear all radios as a ghost.")
|
||||
|
||||
prefs.save_preferences()
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
|
||||
toggle_preference(pref_path)
|
||||
|
||||
src << "You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear dead chat as a ghost."
|
||||
to_chat(src,"You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear dead chat as a ghost.")
|
||||
|
||||
prefs.save_preferences()
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
|
||||
toggle_preference(pref_path)
|
||||
|
||||
src << "You will [ (is_preference_enabled(/datum/client_preference/show_ooc)) ? "now" : "no longer"] hear global out of character chat."
|
||||
to_chat(src,"You will [ (is_preference_enabled(/datum/client_preference/show_ooc)) ? "now" : "no longer"] hear global out of character chat.")
|
||||
|
||||
prefs.save_preferences()
|
||||
|
||||
@@ -83,7 +83,7 @@
|
||||
|
||||
toggle_preference(pref_path)
|
||||
|
||||
src << "You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear local out of character chat."
|
||||
to_chat(src,"You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear local out of character chat.")
|
||||
|
||||
prefs.save_preferences()
|
||||
|
||||
@@ -98,7 +98,7 @@
|
||||
|
||||
toggle_preference(pref_path)
|
||||
|
||||
src << "You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] have the speech indicator."
|
||||
to_chat(src,"You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] have the speech indicator.")
|
||||
|
||||
prefs.save_preferences()
|
||||
|
||||
@@ -113,7 +113,7 @@
|
||||
|
||||
toggle_preference(pref_path)
|
||||
|
||||
src << "You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] receive noise from admin messages."
|
||||
to_chat(src,"You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] receive noise from admin messages.")
|
||||
|
||||
prefs.save_preferences()
|
||||
|
||||
@@ -128,7 +128,7 @@
|
||||
|
||||
toggle_preference(pref_path)
|
||||
|
||||
src << "You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear music in the lobby."
|
||||
to_chat(src,"You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] hear music in the lobby.")
|
||||
|
||||
prefs.save_preferences()
|
||||
|
||||
@@ -143,7 +143,7 @@
|
||||
|
||||
toggle_preference(pref_path)
|
||||
|
||||
src << "You will [ (is_preference_enabled(pref_path)) ? "now" : " no longer"] hear MIDIs from admins."
|
||||
to_chat(src,"You will [ (is_preference_enabled(pref_path)) ? "now" : " no longer"] hear MIDIs from admins.")
|
||||
|
||||
prefs.save_preferences()
|
||||
|
||||
@@ -158,7 +158,7 @@
|
||||
|
||||
toggle_preference(pref_path)
|
||||
|
||||
src << "You will [ (is_preference_enabled(pref_path)) ? "now" : " no longer"] hear ambient noise."
|
||||
to_chat(src,"You will [ (is_preference_enabled(pref_path)) ? "now" : " no longer"] hear ambient noise.")
|
||||
|
||||
prefs.save_preferences()
|
||||
|
||||
@@ -190,7 +190,7 @@
|
||||
prefs.be_special ^= role_flag
|
||||
prefs.save_preferences()
|
||||
|
||||
src << "You will [(prefs.be_special & role_flag) ? "now" : "no longer"] be considered for [role] events (where possible)."
|
||||
to_chat(src,"You will [(prefs.be_special & role_flag) ? "now" : "no longer"] be considered for [role] events (where possible).")
|
||||
|
||||
feedback_add_details("admin_verb","TBeSpecial") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
@@ -203,7 +203,7 @@
|
||||
toggle_preference(pref_path)
|
||||
prefs.save_preferences()
|
||||
|
||||
src << "You will now use [(is_preference_enabled(/datum/client_preference/safefiring)) ? "safe" : "dangerous"] firearms firing."
|
||||
to_chat(src,"You will now use [(is_preference_enabled(/datum/client_preference/safefiring)) ? "safe" : "dangerous"] firearms firing.")
|
||||
|
||||
feedback_add_details("admin_verb","TFiringMode") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
@@ -216,10 +216,23 @@
|
||||
toggle_preference(pref_path)
|
||||
prefs.save_preferences()
|
||||
|
||||
src << "You will now [(is_preference_enabled(/datum/client_preference/mob_tooltips)) ? "see" : "not see"] mob tooltips."
|
||||
to_chat(src,"You will now [(is_preference_enabled(/datum/client_preference/mob_tooltips)) ? "see" : "not see"] mob tooltips.")
|
||||
|
||||
feedback_add_details("admin_verb","TMobTooltips") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/verb/toggle_hear_instruments()
|
||||
set name = "Toggle Hear/Ignore Instruments"
|
||||
set category = "Preferences"
|
||||
set desc = "Hear In-game Instruments"
|
||||
|
||||
var/pref_path = /datum/client_preference/instrument_toggle
|
||||
toggle_preference(pref_path)
|
||||
prefs.save_preferences()
|
||||
|
||||
to_chat(src, "You will now [(is_preference_enabled(/datum/client_preference/instrument_toggle)) ? "hear" : "not hear"] instruments being played.")
|
||||
|
||||
feedback_add_details("admin_verb","THInstm") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
//Toggles for Staff
|
||||
//Developers
|
||||
|
||||
@@ -232,7 +245,7 @@
|
||||
|
||||
if(check_rights(R_ADMIN|R_DEBUG))
|
||||
toggle_preference(pref_path)
|
||||
src << "You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] receive debug logs."
|
||||
to_chat(src,"You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] receive debug logs.")
|
||||
prefs.save_preferences()
|
||||
|
||||
feedback_add_details("admin_verb","TBeSpecial") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
@@ -247,7 +260,7 @@
|
||||
|
||||
if(check_rights(R_ADMIN|R_MOD))
|
||||
toggle_preference(pref_path)
|
||||
src << "You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] receive attack logs."
|
||||
to_chat(src,"You will [ (is_preference_enabled(pref_path)) ? "now" : "no longer"] receive attack logs.")
|
||||
prefs.save_preferences()
|
||||
|
||||
feedback_add_details("admin_verb","TBeSpecial") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
Reference in New Issue
Block a user