From e4b62dfa3561b3745321f39e547d6d30e14da4ad Mon Sep 17 00:00:00 2001 From: Kashargul Date: Sun, 21 Jan 2024 12:34:53 +0100 Subject: [PATCH] remove static chat colour tags --- code/__defines/span_vr.dm | 7 ++ code/_helpers/files.dm | 4 +- code/_helpers/mobs.dm | 4 +- code/controllers/subsystems/ticker.dm | 14 ++-- code/controllers/subsystems/vote.dm | 18 ++--- code/datums/mind.dm | 6 +- code/game/antagonist/antagonist_print.dm | 12 ++-- code/game/dna/dna_modifier.dm | 2 +- code/game/gamemodes/cult/runes.dm | 4 +- .../gamemodes/events/holidays/Holidays.dm | 4 +- code/game/gamemodes/game_mode.dm | 20 +++--- .../technomancer/spells/audible_deception.dm | 2 +- code/game/machinery/computer/ai_core.dm | 4 +- .../embedded_controller/mapping_helpers.dm | 12 ++-- .../machinery/suit_storage/suit_storage.dm | 36 +++++----- code/game/mecha/combat/combat.dm | 4 +- code/game/mecha/combat/gygax.dm | 2 +- code/game/mecha/equipment/mecha_equipment.dm | 2 +- .../game/mecha/equipment/tools/cable_layer.dm | 4 +- code/game/mecha/equipment/tools/sleeper.dm | 6 +- code/game/mecha/mecha.dm | 30 ++++---- code/game/mecha/mecha_actions.dm | 41 +++++++---- code/game/mecha/medical/odysseus.dm | 4 +- code/game/mecha/micro/micro.dm | 5 +- code/game/objects/items/devices/paicard.dm | 4 +- .../objects/items/devices/radio/intercom.dm | 6 +- .../objects/items/devices/scanners/health.dm | 20 +++--- .../objects/items/devices/taperecorder.dm | 16 ++--- .../objects/items/devices/translocator_vr.dm | 4 +- .../objects/items/weapons/storage/boxes.dm | 4 +- .../structures/crates_lockers/crates_vr.dm | 8 +-- code/game/objects/structures/dancepole_vr.dm | 4 +- code/game/world.dm | 4 +- code/modules/admin/DB ban/functions.dm | 14 ++-- code/modules/admin/IsBanned.dm | 6 +- code/modules/admin/ToRban.dm | 6 +- code/modules/admin/admin.dm | 20 +++--- code/modules/admin/admin_verbs.dm | 14 ++-- code/modules/admin/callproc/callproc.dm | 14 ++-- code/modules/admin/newbanjob.dm | 2 +- .../admin/permissionverbs/permissionedit.dm | 16 ++--- code/modules/admin/player_notes.dm | 4 +- code/modules/admin/topic.dm | 68 +++++++++---------- code/modules/admin/verbs/SDQL2/SDQL_2.dm | 8 +-- code/modules/admin/verbs/adminhelp.dm | 20 +++--- code/modules/admin/verbs/debug.dm | 16 ++--- code/modules/admin/verbs/getlogs.dm | 8 +-- code/modules/admin/verbs/mapping.dm | 20 +++--- code/modules/admin/verbs/pray.dm | 10 +-- code/modules/admin/verbs/randomverbs.dm | 48 ++++++------- code/modules/admin/verbs/randomverbs_vr.dm | 8 +-- code/modules/admin/verbs/striketeam.dm | 6 +- code/modules/admin/verbs/tripAI.dm | 4 +- code/modules/artifice/cursedform.dm | 2 +- code/modules/artifice/deadringer.dm | 12 ++-- code/modules/assembly/mousetrap.dm | 4 +- code/modules/awaymissions/gateway.dm | 24 +++---- code/modules/awaymissions/gateway_vr.dm | 10 +-- code/modules/awaymissions/zlevel.dm | 8 +-- code/modules/client/client procs.dm | 4 +- code/modules/client/verbs/who.dm | 14 ++-- code/modules/clothing/clothing_vr.dm | 28 ++++---- code/modules/clothing/glasses/glasses.dm | 3 +- code/modules/clothing/masks/hailer.dm | 6 +- code/modules/clothing/spacesuits/breaches.dm | 6 +- .../clothing/spacesuits/rig/modules/combat.dm | 4 +- .../spacesuits/rig/modules/computer.dm | 12 ++-- .../clothing/spacesuits/rig/modules/ninja.dm | 2 +- .../rig/modules/specific/ai_container.dm | 4 +- .../rig/modules/specific/chem_dispenser.dm | 2 +- .../rig/modules/specific/cleaner_launcher.dm | 2 +- .../spacesuits/rig/modules/specific/cloak.dm | 4 +- .../rig/modules/specific/datajack.dm | 6 +- .../rig/modules/specific/grenade_launcher.dm | 2 +- .../rig/modules/specific/inhand_fabricator.dm | 2 +- .../modules/specific/passive_protection.dm | 12 ++-- .../rig/modules/specific/powersink.dm | 4 +- .../rig/modules/specific/sprinter.dm | 2 +- .../spacesuits/rig/modules/specific/vision.dm | 8 +-- .../spacesuits/rig/modules/specific/voice.dm | 8 +-- .../spacesuits/rig/modules/utility.dm | 12 ++-- .../clothing/spacesuits/rig/modules/vision.dm | 6 +- .../clothing/spacesuits/rig/rig_verbs.dm | 12 ++-- .../modules/clothing/spacesuits/spacesuits.dm | 4 +- code/modules/clothing/suits/armor.dm | 6 +- code/modules/economy/ATM.dm | 10 +-- code/modules/economy/money_bag.dm | 6 +- code/modules/flufftext/Dreaming.dm | 2 +- code/modules/flufftext/Hallucination.dm | 10 +-- code/modules/food/food/sandwich.dm | 10 +-- code/modules/food/food/snacks.dm | 8 +-- .../food/kitchen/cooking_machines/fryer.dm | 4 +- code/modules/holodeck/HolodeckObjects.dm | 8 +-- code/modules/library/lib_items.dm | 6 +- .../materials/sheets/organic/tanning/hide.dm | 8 +-- .../sheets/organic/tanning/hide_hairless.dm | 6 +- .../sheets/organic/tanning/leather_wet.dm | 6 +- code/modules/mentor/mentorhelp.dm | 6 +- code/modules/mob/dead/observer/observer.dm | 20 +++--- code/modules/mob/dead/observer/say.dm | 6 +- code/modules/mob/inventory.dm | 2 +- .../mob/living/carbon/alien/alien_attacks.dm | 8 +-- .../living/carbon/alien/diona/progression.dm | 4 +- code/modules/mob/living/carbon/alien/life.dm | 2 +- .../mob/living/carbon/alien/progression.dm | 6 +- code/modules/mob/living/carbon/brain/MMI.dm | 6 +- code/modules/mob/living/carbon/brain/life.dm | 18 ++--- .../mob/living/carbon/brain/posibrain.dm | 6 +- code/modules/mob/living/carbon/carbon.dm | 6 +- .../living/carbon/human/MedicalSideEffects.dm | 2 +- .../living/carbon/human/chem_side_effects.dm | 2 +- .../mob/living/carbon/human/examine_vr.dm | 4 +- code/modules/mob/living/carbon/human/human.dm | 26 +++---- .../living/carbon/human/human_attackhand.dm | 4 +- .../mob/living/carbon/human/human_defense.dm | 8 +-- .../mob/living/carbon/human/human_powers.dm | 12 ++-- .../mob/living/carbon/human/inventory.dm | 2 +- code/modules/mob/living/carbon/human/life.dm | 6 +- .../species/shadekin/shadekin_abilities.dm | 2 +- .../station/protean_vr/protean_blob.dm | 2 +- .../station/station_special_abilities_vr.dm | 20 +++--- code/modules/mob/living/living.dm | 8 +-- code/modules/mob/living/living_defense.dm | 8 +-- code/modules/mob/living/silicon/ai/ai.dm | 2 +- code/modules/mob/living/silicon/pai/life.dm | 4 +- code/modules/mob/living/silicon/pai/pai.dm | 10 +-- code/modules/mob/living/silicon/pai/say.dm | 2 +- .../living/silicon/pai/software_modules.dm | 6 +- .../mob/living/silicon/robot/analyzer.dm | 54 +++++++-------- code/modules/mob/living/silicon/robot/life.dm | 2 +- .../modules/mob/living/silicon/robot/robot.dm | 18 ++--- .../mob/living/silicon/robot/robot_damage.dm | 10 +-- .../subtypes/animal/borer/borer_captive.dm | 2 +- .../subtypes/animal/borer/borer_powers.dm | 18 ++--- .../subtypes/animal/farm animals/chicken.dm | 4 +- .../subtypes/animal/farm animals/cow.dm | 6 +- .../subtypes/animal/farm animals/goat.dm | 6 +- .../subtypes/animal/passive/mouse.dm | 2 +- .../simple_mob/subtypes/animal/pets/dog.dm | 8 +-- .../subtypes/animal/sif/grafadreka.dm | 2 +- .../subtypes/humanoid/mercs/mercs.dm | 2 +- .../subtypes/occult/constructs/shade.dm | 4 +- .../subtypes/vore/demon/demon_abilities.dm | 6 +- .../living/simple_mob/subtypes/vore/mimic.dm | 4 +- .../simple_mob/subtypes/vore/morph/morph.dm | 2 +- .../subtypes/vore/shadekin/ability_procs.dm | 2 +- code/modules/mob/login.dm | 6 +- code/modules/mob/mob.dm | 4 +- code/modules/mob/mob_movement.dm | 12 ++-- code/modules/mob/mob_transformation_simple.dm | 4 +- code/modules/mob/new_player/new_player.dm | 4 +- code/modules/mob/new_player/poll.dm | 28 ++++---- code/modules/mob/say.dm | 2 +- code/modules/mob/transform_procs.dm | 7 +- code/modules/multiz/movement_vr.dm | 4 +- code/modules/news/new_newspaper.dm | 2 +- code/modules/news/newspaper.dm | 4 +- code/modules/organs/blood.dm | 8 +-- code/modules/paperwork/paper.dm | 2 +- code/modules/paperwork/paper_bundle.dm | 4 +- code/modules/paperwork/photocopier.dm | 2 +- code/modules/power/antimatter/control.dm | 6 +- code/modules/power/antimatter/engine.dm | 6 +- code/modules/power/antimatter/fuel.dm | 4 +- code/modules/power/antimatter/shielding.dm | 4 +- code/modules/power/breaker_box.dm | 18 ++--- code/modules/power/cable.dm | 2 +- code/modules/power/cable_heavyduty.dm | 6 +- code/modules/power/lighting.dm | 4 +- code/modules/power/pacman2.dm | 12 ++-- code/modules/power/singularity/collector.dm | 13 ++-- .../power/singularity/field_generator.dm | 6 +- code/modules/power/smes_construction.dm | 4 +- code/modules/power/solar.dm | 4 +- code/modules/power/supermatter/supermatter.dm | 4 +- code/modules/projectiles/ammunition.dm | 10 +-- code/modules/projectiles/gun.dm | 6 +- .../projectiles/guns/energy/bsharpoon_vr.dm | 16 ++--- .../guns/energy/cell_loaded_vr/ml3m_cells.dm | 6 +- code/modules/projectiles/guns/launcher.dm | 2 +- .../projectiles/guns/launcher/confetti.dm | 22 +++--- .../projectiles/guns/launcher/rocket.dm | 8 +-- .../projectiles/guns/magnetic/magnetic.dm | 8 +-- .../projectiles/guns/projectile/dartgun.dm | 6 +- .../modules/projectiles/projectile/special.dm | 8 +-- .../reagent_containers/blood_pack_vr.dm | 4 +- .../reagents/reagent_containers/syringes.dm | 2 +- code/modules/reagents/reagents/vore_vr.dm | 4 +- code/modules/recycling/disposal.dm | 10 +-- code/modules/recycling/sortingmachinery.dm | 10 +-- .../security levels/keycard authentication.dm | 12 ++-- code/modules/shieldgen/emergency_shield.dm | 20 +++--- code/modules/shieldgen/sheldwallgen.dm | 12 ++-- code/modules/shieldgen/shield_capacitor.dm | 8 +-- code/modules/shieldgen/shield_gen.dm | 6 +- code/modules/shuttles/shuttle.dm | 4 +- code/modules/shuttles/shuttles_web.dm | 4 +- code/modules/spells/spell_code.dm | 4 +- code/modules/spells/spellbook.dm | 2 +- code/modules/tgui/modules/communications.dm | 4 +- code/modules/vehicles/Securitrain_vr.dm | 6 +- code/modules/vehicles/cargo_train.dm | 10 +-- code/modules/vehicles/rover_vr.dm | 6 +- code/modules/vehicles/train.dm | 22 +++--- code/modules/vehicles/vehicle.dm | 6 +- code/modules/virus2/biohazard destroyer.dm | 2 +- code/modules/virus2/items_devices.dm | 2 +- code/modules/vore/eating/belly_obj_vr.dm | 8 +-- code/modules/vore/eating/vorepanel_vr.dm | 66 +++++++++--------- .../vore/fluffstuff/custom_clothes_vr.dm | 4 +- code/modules/vore/resizing/sizegun_vr.dm | 4 +- .../xenoarcheaology/artifacts/crystal.dm | 2 +- code/modules/xenoarcheaology/effect.dm | 2 +- code/modules/xenoarcheaology/effect_master.dm | 3 +- .../xenoarcheaology/effects/badfeeling.dm | 12 ++-- .../xenoarcheaology/effects/cannibal.dm | 12 ++-- code/modules/xenoarcheaology/effects/cold.dm | 2 +- .../xenoarcheaology/effects/goodfeeling.dm | 12 ++-- code/modules/xenoarcheaology/effects/heal.dm | 6 +- code/modules/xenoarcheaology/effects/heat.dm | 2 +- .../xenoarcheaology/effects/resurrect.dm | 4 +- .../xenoarcheaology/effects/roboheal.dm | 6 +- .../xenoarcheaology/effects/robohurt.dm | 6 +- .../modules/xenoarcheaology/effects/sleepy.dm | 12 ++-- code/modules/xenoarcheaology/effects/stun.dm | 8 +-- .../xenoarcheaology/effects/teleport.dm | 6 +- code/modules/xenoarcheaology/finds/special.dm | 6 +- code/modules/xenoarcheaology/finds/talking.dm | 4 +- .../tools/ano_device_battery.dm | 14 ++-- .../tools/artifact_harvester.dm | 4 +- .../tools/geosample_scanner.dm | 8 +-- .../tools/suspension_generator.dm | 12 ++-- interface/stylesheet.dm | 10 ++- maps/RandomZLevels/stationCollision.dm | 4 +- maps/gateway_archive_vr/labyrinth.dm | 6 +- maps/gateway_archive_vr/stationCollision.dm | 4 +- maps/gateway_archive_vr/wildwest.dm | 2 +- .../tgui-panel/styles/tgchat/chat-dark.scss | 44 +++++++++++- .../tgui-panel/styles/tgchat/chat-light.scss | 40 +++++++++++ .../styles/tgchat/chat-vchatdark.scss | 39 +++++++++++ .../styles/tgchat/chat-vchatlight.scss | 40 +++++++++++ tgui/public/tgui-panel.bundle.css | 2 +- 242 files changed, 1178 insertions(+), 996 deletions(-) diff --git a/code/__defines/span_vr.dm b/code/__defines/span_vr.dm index 549098f2d8..474ac4e593 100644 --- a/code/__defines/span_vr.dm +++ b/code/__defines/span_vr.dm @@ -88,3 +88,10 @@ #define span_orange(str) ("" + str + "") #define span_blue(str) ("" + str + "") #define span_green(str) ("" + str + "") +#define span_purple(str) ("" + str + "") +#define span_yellow(str) ("" + str + "") +#define span_pink(str) ("" + str + "") +#define span_cyan(str) ("" + str + "") +#define span_crimson(str) ("" + str + "") +#define span_maroon(str) ("" + str + "") +#define span_brown(str) ("" + str + "") diff --git a/code/_helpers/files.dm b/code/_helpers/files.dm index 9468becf8b..d904646a0f 100644 --- a/code/_helpers/files.dm +++ b/code/_helpers/files.dm @@ -39,7 +39,7 @@ var/extension = copytext(path,-4,0) if( !fexists(path) || !(extension in valid_extensions) ) - to_chat(src, "Error: browse_files(): File not found/Invalid file([path]).") + to_chat(src, span_red("Error: browse_files(): File not found/Invalid file([path]).")) return return path @@ -53,7 +53,7 @@ /client/proc/file_spam_check() var/time_to_wait = fileaccess_timer - world.time if(time_to_wait > 0) - to_chat(src, "Error: file_spam_check(): Spam. Please wait [round(time_to_wait/10)] seconds.") + to_chat(src, span_red("Error: file_spam_check(): Spam. Please wait [round(time_to_wait/10)] seconds.")) return 1 fileaccess_timer = world.time + FTPDELAY return 0 diff --git a/code/_helpers/mobs.dm b/code/_helpers/mobs.dm index d0f25eeb29..a9fedf110b 100644 --- a/code/_helpers/mobs.dm +++ b/code/_helpers/mobs.dm @@ -121,9 +121,9 @@ Proc for attack log creation, because really why not var/target_str = key_name(target) if(ismob(user)) - user.attack_log += text("\[[time_stamp()]\] Attacked [target_str]: [what_done]") + user.attack_log += text("\[[time_stamp()]\] [span_red("Attacked [target_str]: [what_done]")]") if(ismob(target)) - target.attack_log += text("\[[time_stamp()]\] Attacked by [user_str]: [what_done]") + target.attack_log += text("\[[time_stamp()]\] [span_orange("Attacked by [user_str]: [what_done]")]") log_attack(user_str,target_str,what_done) if(admin_notify) msg_admin_attack("[key_name_admin(user)] vs [target_str]: [what_done]") diff --git a/code/controllers/subsystems/ticker.dm b/code/controllers/subsystems/ticker.dm index 1a8f8fb1b5..4ff5e5a18b 100644 --- a/code/controllers/subsystems/ticker.dm +++ b/code/controllers/subsystems/ticker.dm @@ -462,22 +462,22 @@ var/global/datum/controller/subsystem/ticker/ticker var/turf/playerTurf = get_turf(Player) if(emergency_shuttle.departed && emergency_shuttle.evac) if(isNotAdminLevel(playerTurf.z)) - to_chat(Player, "You survived the round, but remained on [station_name()] as [Player.real_name].") + to_chat(Player, "[span_blue("You survived the round, but remained on [station_name()] as [Player.real_name].")]") else - to_chat(Player, "You managed to survive the events on [station_name()] as [Player.real_name].") + to_chat(Player, "[span_green("You managed to survive the events on [station_name()] as [Player.real_name].")]") else if(isAdminLevel(playerTurf.z)) - to_chat(Player, "You successfully underwent crew transfer after events on [station_name()] as [Player.real_name].") + to_chat(Player, "[span_green("You successfully underwent crew transfer after events on [station_name()] as [Player.real_name].")]") else if(issilicon(Player)) - to_chat(Player, "You remain operational after the events on [station_name()] as [Player.real_name].") + to_chat(Player, "[span_green("You remain operational after the events on [station_name()] as [Player.real_name].")]") else - to_chat(Player, "You missed the crew transfer after the events on [station_name()] as [Player.real_name].") + to_chat(Player, "[span_blue("You missed the crew transfer after the events on [station_name()] as [Player.real_name].")]") else if(istype(Player,/mob/observer/dead)) var/mob/observer/dead/O = Player if(!O.started_as_observer) - to_chat(Player, "You did not survive the events on [station_name()]...") + to_chat(Player, "[span_red("You did not survive the events on [station_name()]...")]") else - to_chat(Player, "You did not survive the events on [station_name()]...") + to_chat(Player, "[span_red("You did not survive the events on [station_name()]...")]") to_world("
") for (var/mob/living/silicon/ai/aiPlayer in mob_list) diff --git a/code/controllers/subsystems/vote.dm b/code/controllers/subsystems/vote.dm index 7d2ec4b999..8a1b7bf8f9 100644 --- a/code/controllers/subsystems/vote.dm +++ b/code/controllers/subsystems/vote.dm @@ -104,7 +104,7 @@ SUBSYSTEM_DEF(vote) else factor = 1.4 choices["Initiate Crew Transfer"] = round(choices["Initiate Crew Transfer"] * factor) - to_world("Crew Transfer Factor: [factor]") + to_world(span_purple("Crew Transfer Factor: [factor]")) greatest_votes = max(choices["Initiate Crew Transfer"], choices["Extend the Shift"]) //VOREStation Edit . = list() // Get all options with that many votes and return them in a list @@ -137,7 +137,7 @@ SUBSYSTEM_DEF(vote) if(mode == VOTE_ADD_ANTAGONIST) antag_add_failed = 1 log_vote(text) - to_chat(world, "[text]") + to_chat(world, span_purple("[text]")) /datum/controller/subsystem/vote/proc/result() . = announce_result() @@ -166,7 +166,7 @@ SUBSYSTEM_DEF(vote) if(mode == VOTE_GAMEMODE) //fire this even if the vote fails. if(!round_progressing) round_progressing = 1 - to_world("The round will start soon.") + to_world(span_red("The round will start soon.")) if(restart) to_world("World restarting due to vote...") @@ -252,14 +252,14 @@ SUBSYSTEM_DEF(vote) log_vote(text) - to_world("[text]\nType vote or click here to place your votes.\nYou have [config.vote_period / 10] seconds to vote.") + to_world(span_purple("[text]\nType vote or click here to place your votes.\nYou have [config.vote_period / 10] seconds to vote.")) if(vote_type == VOTE_CREW_TRANSFER || vote_type == VOTE_GAMEMODE || vote_type == VOTE_CUSTOM) world << sound('sound/ambience/alarm4.ogg', repeat = 0, wait = 0, volume = 50, channel = 3) if(mode == VOTE_GAMEMODE && round_progressing) gamemode_vote_called = TRUE round_progressing = 0 - to_world("Round start has been delayed.") + to_world(span_red("Round start has been delayed.")) time_remaining = round(config.vote_period / 10) return 1 @@ -308,13 +308,13 @@ SUBSYSTEM_DEF(vote) if(admin || config.allow_vote_restart) . += "Restart" else - . += "Restart (Disallowed)" + . += span_gray("Restart (Disallowed)") . += "
  • " if(admin || config.allow_vote_restart) . += "Crew Transfer" else - . += "Crew Transfer (Disallowed)" + . += span_gray("Crew Transfer (Disallowed)") if(admin) . += "\t([config.allow_vote_restart ? "Allowed" : "Disallowed"])" @@ -323,7 +323,7 @@ SUBSYSTEM_DEF(vote) if(admin || config.allow_vote_mode) . += "GameMode" else - . += "GameMode (Disallowed)" + . += span_gray("GameMode (Disallowed)") if(admin) . += "\t([config.allow_vote_mode ? "Allowed" : "Disallowed"])" @@ -332,7 +332,7 @@ SUBSYSTEM_DEF(vote) if(!antag_add_failed && config.allow_extra_antags) . += "Add Antagonist Type" else - . += "Add Antagonist (Disallowed)" + . += span_gray("Add Antagonist (Disallowed)") . += "
  • " if(admin) diff --git a/code/datums/mind.dm b/code/datums/mind.dm index bc87275800..f7bb7a738f 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -143,9 +143,9 @@ for(var/datum/objective/O in objectives) out += "Objective #[num]: [O.explanation_text] " if(O.completed) - out += "(complete)" + out += "([span_green("complete")])" else - out += "(incomplete)" + out += "([span_red("incomplete")])" out += " \[toggle\]" out += " \[remove\]
    " num++ @@ -419,7 +419,7 @@ else if (href_list["obj_announce"]) var/obj_count = 1 - to_chat(current, "Your current objectives:") + to_chat(current, span_blue("Your current objectives:")) for(var/datum/objective/objective in objectives) to_chat(current, "Objective #[obj_count]: [objective.explanation_text]") obj_count++ diff --git a/code/game/antagonist/antagonist_print.dm b/code/game/antagonist/antagonist_print.dm index 16fa6176df..830d4806f5 100644 --- a/code/game/antagonist/antagonist_print.dm +++ b/code/game/antagonist/antagonist_print.dm @@ -16,17 +16,17 @@ for(var/datum/objective/O in P.objectives) text += print_objective(O, num) if(O.check_completion()) - text += "Success!" + text += span_green("Success!") feedback_add_details(feedback_tag,"[O.type]|SUCCESS") else - text += "Fail." + text += span_red("Fail.") feedback_add_details(feedback_tag,"[O.type]|FAIL") failed = TRUE num++ if(failed) - text += "
    The [role_text] has failed." + text += "
    " + span_red("The [role_text] has failed.") else - text += "
    The [role_text] was successful!" + text += "
    " + span_green("The [role_text] was successful!") if(global_objectives && global_objectives.len) text += "
    Their objectives were:" @@ -42,9 +42,9 @@ var/text = "
    Objective [num]: [O.explanation_text] " if(append_success) if(O.check_completion()) - text += "Success!" + text += span_green("Success!") else - text += "Fail." + text += span_red("Fail.") return text /datum/antagonist/proc/print_player_lite(var/datum/mind/ply) diff --git a/code/game/dna/dna_modifier.dm b/code/game/dna/dna_modifier.dm index 74c4d3569e..0e8e0ba43c 100644 --- a/code/game/dna/dna_modifier.dm +++ b/code/game/dna/dna_modifier.dm @@ -217,7 +217,7 @@ if(!M.client && M.mind) for(var/mob/observer/dead/ghost in player_list) if(ghost.mind == M.mind) - to_chat(ghost, "Your corpse has been placed into a cloning scanner. Return to your body if you want to be resurrected/cloned! (Verbs -> Ghost -> Re-enter corpse)") + to_chat(ghost, span_interface("Your corpse has been placed into a cloning scanner. Return to your body if you want to be resurrected/cloned! (Verbs -> Ghost -> Re-enter corpse)")) break SStgui.update_uis(src) diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm index 3ad86499bd..0c52c00621 100644 --- a/code/game/gamemodes/cult/runes.dm +++ b/code/game/gamemodes/cult/runes.dm @@ -357,9 +357,9 @@ var/list/sacrificed = list() else if(!corpse_to_raise.client && corpse_to_raise.mind) //Don't force the dead person to come back if they don't want to. for(var/mob/observer/dead/ghost in player_list) if(ghost.mind == corpse_to_raise.mind) - to_chat(ghost, "The cultist [usr.real_name] is trying to \ + to_chat(ghost, span_interface("The cultist [usr.real_name] is trying to \ revive you. Return to your body if you want to be resurrected into the service of Nar'Sie! \ - (Verbs -> Ghost -> Re-enter corpse)") + (Verbs -> Ghost -> Re-enter corpse)")) break sleep(10 SECONDS) diff --git a/code/game/gamemodes/events/holidays/Holidays.dm b/code/game/gamemodes/events/holidays/Holidays.dm index 3995f53784..35d67ccd57 100644 --- a/code/game/gamemodes/events/holidays/Holidays.dm +++ b/code/game/gamemodes/events/holidays/Holidays.dm @@ -268,11 +268,11 @@ var/global/list/Holiday = list() //Holidays are lists now, so we can have more t holidays.Add(p) holiday_blurbs.Add("[Holiday[p]]") var/holidays_string = english_list(holidays, nothing_text = "nothing", and_text = " and ", comma_text = ", ", final_comma_text = "" ) - to_world("and...") + to_world(span_blue("and...")) to_world("

    Happy [holidays_string] Everybody!

    ") if(holiday_blurbs.len != 0) for(var/blurb in holiday_blurbs) - to_world("
    [blurb]
    ") + to_world(span_blue("
    [blurb]
    ")) switch(Holiday) //special holidays if("Easter") //do easter stuff diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 7af06d8d33..6148cca6ea 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -369,11 +369,11 @@ var/global/list/additional_antag_types = list() send2mainirc("A round of [src.name] has ended - [surviving_total] survivors, [ghosts] ghosts.") SSwebhooks.send( - WEBHOOK_ROUNDEND, + WEBHOOK_ROUNDEND, list( - "survivors" = surviving_total, - "escaped" = escaped_total, - "ghosts" = ghosts, + "survivors" = surviving_total, + "escaped" = escaped_total, + "ghosts" = ghosts, "clients" = clients ) ) @@ -480,15 +480,15 @@ var/global/list/additional_antag_types = list() found = 1 break if(!found) - msg += "[L.name] ([L.ckey]), the [L.job] (Disconnected)\n" + msg += "[L.name] ([L.ckey]), the [L.job] ([span_yellow("Disconnected")])\n" if(L.ckey && L.client) if(L.client.inactivity >= (ROUNDSTART_LOGOUT_REPORT_TIME / 2)) //Connected, but inactive (alt+tabbed or something) - msg += "[L.name] ([L.ckey]), the [L.job] (Connected, Inactive)\n" + msg += "[L.name] ([L.ckey]), the [L.job] ([span_yellow("Connected, Inactive")])\n" continue //AFK client if(L.stat) if(L.suiciding) //Suicider - msg += "[L.name] ([L.ckey]), the [L.job] (Suicide)\n" + msg += "[L.name] ([L.ckey]), the [L.job] ([span_red("Suicide")])\n" continue //Disconnected client if(L.stat == UNCONSCIOUS) msg += "[L.name] ([L.ckey]), the [L.job] (Dying)\n" @@ -502,17 +502,17 @@ var/global/list/additional_antag_types = list() if(D.mind && (D.mind.original == L || D.mind.current == L)) if(L.stat == DEAD) if(L.suiciding) //Suicider - msg += "[L.name] ([ckey(D.mind.key)]), the [L.job] (Suicide)\n" + msg += "[L.name] ([ckey(D.mind.key)]), the [L.job] ([span_red("Suicide")])\n" continue //Disconnected client else msg += "[L.name] ([ckey(D.mind.key)]), the [L.job] (Dead)\n" continue //Dead mob, ghost abandoned else if(D.can_reenter_corpse) - msg += "[L.name] ([ckey(D.mind.key)]), the [L.job] (Adminghosted)\n" + msg += "[L.name] ([ckey(D.mind.key)]), the [L.job] ([span_red("Adminghosted")])\n" continue //Lolwhat else - msg += "[L.name] ([ckey(D.mind.key)]), the [L.job] (Ghosted)\n" + msg += "[L.name] ([ckey(D.mind.key)]), the [L.job] ([span_red("Ghosted")])\n" continue //Ghosted while alive msg += "" // close the span from right at the top diff --git a/code/game/gamemodes/technomancer/spells/audible_deception.dm b/code/game/gamemodes/technomancer/spells/audible_deception.dm index ebd8974305..b89db0c0c4 100644 --- a/code/game/gamemodes/technomancer/spells/audible_deception.dm +++ b/code/game/gamemodes/technomancer/spells/audible_deception.dm @@ -92,4 +92,4 @@ M.Paralyse(4) else M.make_jittery(50) - to_chat(M, "HONK") + to_chat(M, span_red("HONK")) diff --git a/code/game/machinery/computer/ai_core.dm b/code/game/machinery/computer/ai_core.dm index 15b04580f8..a039cd3d3d 100644 --- a/code/game/machinery/computer/ai_core.dm +++ b/code/game/machinery/computer/ai_core.dm @@ -270,7 +270,7 @@ GLOBAL_LIST_BOILERPLATE(all_deactivated_AI_cores, /obj/structure/AIcore/deactiva if(D in empty_playable_ai_cores) empty_playable_ai_cores -= D - to_chat(src, "\The [id] is now not available for latejoining AIs.") + to_chat(src, "\The [id] is now [span_red("not available")] for latejoining AIs.") else empty_playable_ai_cores += D - to_chat(src, "\The [id] is now available for latejoining AIs.") + to_chat(src, "\The [id] is now [span_green("available")] for latejoining AIs.") diff --git a/code/game/machinery/embedded_controller/mapping_helpers.dm b/code/game/machinery/embedded_controller/mapping_helpers.dm index 768fc74beb..0306146d38 100644 --- a/code/game/machinery/embedded_controller/mapping_helpers.dm +++ b/code/game/machinery/embedded_controller/mapping_helpers.dm @@ -26,11 +26,11 @@ Any frequency works, it's self-setting, but it seems like people have decided 13 my_controller = get_controller(get_area(src)) my_device = locate(my_device_type) in get_turf(src) if(!my_device) - to_world("WARNING:Airlock helper '[name]' couldn't find what it wanted at: X:[x] Y:[y] Z:[z]") + to_world("[span_red("WARNING:")][span_black("Airlock helper '[name]' couldn't find what it wanted at: X:[x] Y:[y] Z:[z]")]") else if(!my_controller) - to_world("WARNING:Airlock helper '[name]' couldn't find a controller at: X:[x] Y:[y] Z:[z]") + to_world("[span_red("WARNING:")][span_black("Airlock helper '[name]' couldn't find a controller at: X:[x] Y:[y] Z:[z]")]") else if(!my_controller.id_tag) - to_world("WARNING:Airlock helper '[name]' found a controller without an 'id_tag' set: X:[x] Y:[y] Z:[z]") + to_world("[span_red("WARNING:")][span_black("Airlock helper '[name]' found a controller without an 'id_tag' set: X:[x] Y:[y] Z:[z]")]") else setup() return INITIALIZE_HINT_QDEL @@ -48,15 +48,15 @@ Any frequency works, it's self-setting, but it seems like people have decided 13 for(var/obj/O in A) if(istype(O, my_controller_type)) potentials += O - + //Couldn't find one if(!potentials.len) return null - + //Only found one if(potentials.len == 1) return potentials[1] - + //Gotta find closest var/closest = potentials[potentials.len] var/closest_dist = get_dist(src, closest) diff --git a/code/game/machinery/suit_storage/suit_storage.dm b/code/game/machinery/suit_storage/suit_storage.dm index 3134eee487..021b050c5f 100644 --- a/code/game/machinery/suit_storage/suit_storage.dm +++ b/code/game/machinery/suit_storage/suit_storage.dm @@ -229,7 +229,7 @@ /obj/machinery/suit_storage_unit/proc/toggle_open(mob/user as mob) if(islocked || isUV) - to_chat(user, "Unable to open unit.") + to_chat(user, span_red("Unable to open unit.")) return if(OCCUPANT) eject_occupant(user) @@ -240,7 +240,7 @@ /obj/machinery/suit_storage_unit/proc/toggle_lock(mob/user as mob) if(OCCUPANT && safetieson) - to_chat(user, "The Unit's safety protocols disallow locking when a biological form is detected inside its compartments.") + to_chat(user, span_red("The Unit's safety protocols disallow locking when a biological form is detected inside its compartments.")) return if(isopen) return @@ -252,10 +252,10 @@ if(isUV || isopen) //I'm bored of all these sanity checks return if(OCCUPANT && safetieson) - to_chat(user, "WARNING: Biological entity detected in the confines of the Unit's storage. Cannot initiate cycle.") + to_chat(user, span_red("WARNING: Biological entity detected in the confines of the Unit's storage. Cannot initiate cycle.")) return if(!HELMET && !MASK && !SUIT && !OCCUPANT) //shit's empty yo - to_chat(user, "Unit storage bays empty. Nothing to disinfect -- Aborting.") + to_chat(user, span_red("Unit storage bays empty. Nothing to disinfect -- Aborting.")) return to_chat(user, "You start the Unit's cauterisation cycle.") cycletime_left = 20 @@ -295,7 +295,7 @@ SUIT = null if(MASK) MASK = null - visible_message("With a loud whining noise, the Suit Storage Unit's door grinds open. Puffs of ashen smoke come out of its chamber.", 3) + visible_message(span_red("With a loud whining noise, the Suit Storage Unit's door grinds open. Puffs of ashen smoke come out of its chamber."), 3) isbroken = 1 isopen = 1 islocked = 0 @@ -320,9 +320,9 @@ if(OCCUPANT.client) if(user != OCCUPANT) - to_chat(OCCUPANT, "The machine kicks you out!") + to_chat(OCCUPANT, span_blue("The machine kicks you out!")) if(user.loc != src.loc) - to_chat(OCCUPANT, "You leave the not-so-cozy confines of the SSU.") + to_chat(OCCUPANT, span_blue("You leave the not-so-cozy confines of the SSU.")) OCCUPANT.client.eye = OCCUPANT.client.mob OCCUPANT.client.perspective = MOB_PERSPECTIVE @@ -356,13 +356,13 @@ if(usr.stat != 0) return if(!isopen) - to_chat(usr, "The unit's doors are shut.") + to_chat(usr, span_red("The unit's doors are shut.")) return if(!ispowered || isbroken) - to_chat(usr, "The unit is not operational.") + to_chat(usr, span_red("The unit is not operational.")) return if((OCCUPANT) || (HELMET) || (SUIT)) - to_chat(usr, "It's too cluttered inside for you to fit in!") + to_chat(usr, span_red("It's too cluttered inside for you to fit in!")) return visible_message("[usr] starts squeezing into the suit storage unit!", 3) if(do_after(usr, 10)) @@ -388,7 +388,7 @@ if(I.has_tool_quality(TOOL_SCREWDRIVER)) panelopen = !panelopen playsound(src, I.usesound, 100, 1) - to_chat(user, "You [panelopen ? "open up" : "close"] the unit's maintenance panel.") + to_chat(user, span_blue("You [panelopen ? "open up" : "close"] the unit's maintenance panel.")) updateUsrDialog() return if(istype(I, /obj/item/weapon/grab)) @@ -396,13 +396,13 @@ if(!(ismob(G.affecting))) return if(!isopen) - to_chat(user, "The unit's doors are shut.") + to_chat(user, span_red("The unit's doors are shut.")) return if(!ispowered || isbroken) - to_chat(user, "The unit is not operational.") + to_chat(user, span_red("The unit is not operational.")) return if((OCCUPANT) || (HELMET) || (SUIT)) //Unit needs to be absolutely empty - to_chat(user, "The unit's storage area is too cluttered.") + to_chat(user, span_red("The unit's storage area is too cluttered.")) return visible_message("[user] starts putting [G.affecting.name] into the Suit Storage Unit.", 3) if(do_after(user, 20)) @@ -426,7 +426,7 @@ return var/obj/item/clothing/suit/space/S = I if(SUIT) - to_chat(user, "The unit already contains a suit.") + to_chat(user, span_blue("The unit already contains a suit.")) return to_chat(user, "You load the [S.name] into the storage compartment.") user.drop_item() @@ -440,7 +440,7 @@ return var/obj/item/clothing/head/helmet/H = I if(HELMET) - to_chat(user, "The unit already contains a helmet.") + to_chat(user, span_blue("The unit already contains a helmet.")) return to_chat(user, "You load the [H.name] into the storage compartment.") user.drop_item() @@ -454,7 +454,7 @@ return var/obj/item/clothing/mask/M = I if(MASK) - to_chat(user, "The unit already contains a mask.") + to_chat(user, span_blue("The unit already contains a mask.")) return to_chat(user, "You load the [M.name] into the storage compartment.") user.drop_item() @@ -473,4 +473,4 @@ //////////////////////////////REMINDER: Make it lock once you place some fucker inside. -//God this entire file is fucking awful //Yes \ No newline at end of file +//God this entire file is fucking awful //Yes diff --git a/code/game/mecha/combat/combat.dm b/code/game/mecha/combat/combat.dm index 88dace7ff9..1a163579c3 100644 --- a/code/game/mecha/combat/combat.dm +++ b/code/game/mecha/combat/combat.dm @@ -97,7 +97,7 @@ return M.updatehealth() src.occupant_message("You hit [T].") - src.visible_message("[src.name] hits [T].") + src.visible_message(span_red("[src.name] hits [T].")) else step_away(M,src) src.occupant_message("You push [T] out of the way.") @@ -114,7 +114,7 @@ if(src.occupant.a_intent == I_HURT || istype(src.occupant, /mob/living/carbon/brain)) // Don't smash unless we mean it if(damtype == "brute") src.occupant_message("You hit [T].") - src.visible_message("[src.name] hits [T]") + src.visible_message(span_red("[src.name] hits [T]")) playsound(src, 'sound/weapons/heavysmash.ogg', 50, 1) if(istype(T, /obj/structure/girder)) diff --git a/code/game/mecha/combat/gygax.dm b/code/game/mecha/combat/gygax.dm index 1fa6933add..8e64f7efd8 100644 --- a/code/game/mecha/combat/gygax.dm +++ b/code/game/mecha/combat/gygax.dm @@ -120,7 +120,7 @@ /obj/mecha/combat/gygax/serenity/moved_inside(var/mob/living/carbon/human/H as mob) if(..()) if(H.glasses) - occupant_message("[H.glasses] prevent you from using [src] [hud]") + occupant_message(span_red("[H.glasses] prevent you from using [src] [hud]!")) else H.glasses = hud H.recalculate_vis() diff --git a/code/game/mecha/equipment/mecha_equipment.dm b/code/game/mecha/equipment/mecha_equipment.dm index 7184fc3364..0b3cc2ff5b 100644 --- a/code/game/mecha/equipment/mecha_equipment.dm +++ b/code/game/mecha/equipment/mecha_equipment.dm @@ -90,7 +90,7 @@ if(chassis.selected == src) chassis.selected = null src.update_chassis_page() - chassis.occupant_message("The [src] is destroyed!") + chassis.occupant_message(span_red("The [src] is destroyed!")) chassis.log_append_to_last("[src] is destroyed.",1) if(istype(src, /obj/item/mecha_parts/mecha_equipment/weapon))//Gun switch(chassis.mech_faction) diff --git a/code/game/mecha/equipment/tools/cable_layer.dm b/code/game/mecha/equipment/tools/cable_layer.dm index 8de184cb7a..eb1e891a3b 100644 --- a/code/game/mecha/equipment/tools/cable_layer.dm +++ b/code/game/mecha/equipment/tools/cable_layer.dm @@ -20,7 +20,7 @@ var/result = load_cable(target) var/message if(isnull(result)) - message = "Unable to load [target] - no cable found." + message = span_red("Unable to load [target] - no cable found.") else if(!result) message = "Reel is full." else @@ -123,4 +123,4 @@ //NC.mergeConnectedNetworksOnTurf() last_piece = NC - return 1 \ No newline at end of file + return 1 diff --git a/code/game/mecha/equipment/tools/sleeper.dm b/code/game/mecha/equipment/tools/sleeper.dm index 9163ecec2b..634e1ad435 100644 --- a/code/game/mecha/equipment/tools/sleeper.dm +++ b/code/game/mecha/equipment/tools/sleeper.dm @@ -44,7 +44,7 @@ if(chassis.loc!=C || target.loc!=T) return if(occupant) - occupant_message("The sleeper is already occupied!") + occupant_message(span_red("The sleeper is already occupied!")) return target.forceMove(src) occupant = target @@ -57,7 +57,7 @@ */ set_ready_state(FALSE) START_PROCESSING(SSprocessing, src) - occupant_message("[target] successfully loaded into [src]. Life support functions engaged.") + occupant_message(span_blue("[target] successfully loaded into [src]. Life support functions engaged.")) chassis.visible_message("[chassis] loads [target] into [src].") log_message("[target] loaded. Life support functions engaged.") return @@ -236,4 +236,4 @@ M.reagents.add_reagent("inaprovaline", 5) chassis.use_power(energy_drain) update_equip_info() - return \ No newline at end of file + return diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index effab680ea..633757a03f 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -622,7 +622,7 @@ show_radial_occupant(user) return if(state) - occupant_message("Maintenance protocols in effect") + occupant_message(span_red("Maintenance protocols in effect")) return if(phasing)//Phazon and other mechs with phasing. @@ -792,7 +792,7 @@ if(defence_mode)//Check if we are currently locked down if(world.time - last_message > 20) - src.occupant_message("Unable to move while in defence mode") + src.occupant_message(span_red("Unable to move while in defence mode")) last_message = world.time return 0 @@ -810,7 +810,7 @@ if(health < initial(health) - initial(health)/3) overload = 0 step_energy_drain = initial(step_energy_drain) - src.occupant_message("Leg actuators damage threshold exceded. Disabling overload.") + src.occupant_message(span_red("Leg actuators damage threshold exceded. Disabling overload.")) var/move_result = 0 @@ -979,12 +979,12 @@ internal_damage &= ~int_dam_flag switch(int_dam_flag) if(MECHA_INT_TEMP_CONTROL) - occupant_message("Life support system reactivated.") + occupant_message(span_blue("Life support system reactivated.")) start_process(MECHA_PROC_INT_TEMP) if(MECHA_INT_FIRE) - occupant_message("Internal fire extinquished.") + occupant_message(span_blue("Internal fire extinquished.")) if(MECHA_INT_TANK_BREACH) - occupant_message("Damaged internal tank has been sealed.") + occupant_message(span_blue("Damaged internal tank has been sealed.")) return @@ -1097,9 +1097,9 @@ src.take_damage(15) //The take_damage() proc handles armor values if(prob(25)) //Hulks punch hard but lets not give them consistent internal damage. src.check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST)) - user.visible_message("[user] hits [src.name], doing some damage.", "You hit [src.name] with all your might. The metal creaks and bends.") + user.visible_message(span_red("[user] hits [src.name], doing some damage."), span_red("You hit [src.name] with all your might. The metal creaks and bends.")) else - user.visible_message("[user] hits [src.name]. Nothing happens.","You hit [src.name] with no visible effect.") + user.visible_message(span_red("[user] hits [src.name]. Nothing happens."),span_red("You hit [src.name] with no visible effect.")) src.log_append_to_last("Armor saved.") return @@ -1377,8 +1377,8 @@ else pass_damage_reduc_mod = 1 //Just making sure. - src.occupant_message("[user] hits [src] with [W].") - user.visible_message("[user] hits [src] with [W].", "You hit [src] with [W].") + src.occupant_message(span_red("[user] hits [src] with [W].")) + user.visible_message(span_red("[user] hits [src] with [W]."), span_red("You hit [src] with [W].")) var/pass_damage = W.force pass_damage = (pass_damage*pass_damage_reduc_mod) //Apply the reduction of damage from not having enough armor penetration. This is not regular armor values at play. @@ -2555,7 +2555,7 @@ if(href_list["toggle_maint_access"]) if(usr != src.occupant) return if(state) - occupant_message("Maintenance protocols in effect") + occupant_message(span_red("Maintenance protocols in effect")) return maint_access = !maint_access send_byjax(src.occupant,"exosuit.browser","t_maint_access","[maint_access?"Forbid":"Permit"] maintenance protocols") @@ -2647,10 +2647,10 @@ if(do_after(100)) if(T == src.loc) src.clearInternalDamage(MECHA_INT_CONTROL_LOST) - src.occupant_message("Recalibration successful.") + src.occupant_message(span_blue("Recalibration successful.")) src.log_message("Recalibration of coordination system finished with 0 errors.") else - src.occupant_message("Recalibration failed.") + src.occupant_message(span_red("Recalibration failed.")) src.log_message("Recalibration of coordination system failed with 1 error.",1) if(href_list["drop_from_cargo"]) var/obj/O = locate(href_list["drop_from_cargo"]) @@ -2795,7 +2795,7 @@ src.log_append_to_last("Armor saved.") src.occupant_message("\The [user]'s attack is stopped by the armor.") visible_message("\The [user] rebounds off [src.name]'s armor!") - user.attack_log += text("\[[time_stamp()]\] attacked [src.name]") + user.attack_log += text("\[[time_stamp()]\] [span_red("attacked [src.name]")]") playsound(src, 'sound/weapons/slash.ogg', 50, 1, -1) else if(damage < temp_damage_minimum)//Pathetic damage levels just don't harm MECH. @@ -2810,7 +2810,7 @@ if(damage > internal_damage_minimum) //Only decently painful attacks trigger a chance of mech damage. src.check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST)) visible_message("[user] [attack_message] [src]!") - user.attack_log += text("\[[time_stamp()]\] attacked [src.name]") + user.attack_log += text("\[[time_stamp()]\] [span_red("attacked [src.name]")]") return 1 diff --git a/code/game/mecha/mecha_actions.dm b/code/game/mecha/mecha_actions.dm index 33d7d711e8..cee2768dac 100644 --- a/code/game/mecha/mecha_actions.dm +++ b/code/game/mecha/mecha_actions.dm @@ -195,7 +195,7 @@ return if(!chassis.selected) chassis.selected = available_equipment[1] - chassis.occupant_message("You select [chassis.selected]") + chassis.occupant_message("You select [chassis.selected]") send_byjax(chassis.occupant,"exosuit.browser","eq_list",chassis.get_equipment_list()) button_icon_state = "mech_cycle_equip_on" button.UpdateIcon() @@ -277,10 +277,10 @@ defence_mode = !defence_mode if(defence_mode) deflect_chance = defence_deflect - src.occupant_message("You enable [src] defence mode.") + src.occupant_message(span_blue("You enable [src] defence mode.")) else deflect_chance = initial(deflect_chance) - src.occupant_message("You disable [src] defence mode.") + src.occupant_message(span_red("You disable [src] defence mode.")) src.log_message("Toggled defence mode.") return @@ -299,17 +299,17 @@ if(usr!=src.occupant) return if(health < initial(health) - initial(health)/3)//Same formula as in movement, just beforehand. - src.occupant_message("Leg actuators damage critical, unable to engage overload.") + src.occupant_message(span_red("Leg actuators damage critical, unable to engage overload.")) overload = 0 //Just to be sure return if(overload) overload = 0 step_energy_drain = initial(step_energy_drain) - src.occupant_message("You disable leg actuators overload.") + src.occupant_message(span_blue("You disable leg actuators overload.")) else overload = 1 step_energy_drain = step_energy_drain*overload_coeff - src.occupant_message("You enable leg actuators overload.") + src.occupant_message(span_red("You enable leg actuators overload.")) src.log_message("Toggled leg actuators overload.") playsound(src, 'sound/mecha/mechanical_toggle.ogg', 50, 1) return @@ -327,12 +327,12 @@ return if(smoke_reserve < 1) - src.occupant_message("You don't have any smoke left in stock!") + src.occupant_message(span_red("You don't have any smoke left in stock!")) return if(smoke_ready) smoke_reserve-- //Remove ammo - src.occupant_message("Smoke fired. [smoke_reserve] usages left.") + src.occupant_message(span_red("Smoke fired. [smoke_reserve] usages left.")) var/datum/effect/effect/system/smoke_spread/smoke = new /datum/effect/effect/system/smoke_spread() smoke.attach(src) @@ -360,7 +360,10 @@ if(src.occupant.client) src.zoom = !src.zoom src.log_message("Toggled zoom mode.") - src.occupant_message("Zoom mode [zoom?"en":"dis"]abled.") + if(src.zoom) + src.occupant_message(span_blue("Zoom mode enabled.")) + else + src.occupant_message(span_red("Zoom mode disabled.")) if(zoom) src.occupant.set_viewsize(12) src.occupant << sound('sound/mecha/imag_enh.ogg',volume=50) @@ -384,7 +387,10 @@ if(get_charge() > 0) thrusters = !thrusters src.log_message("Toggled thrusters.") - src.occupant_message("Thrusters [thrusters?"en":"dis"]abled.") + if(src.thrusters) + src.occupant_message(span_blue("Thrusters enabled.")) + else + src.occupant_message(span_red("Thrusters disabled.")) return @@ -427,7 +433,10 @@ return phasing = !phasing send_byjax(src.occupant,"exosuit.browser","phasing_command","[phasing?"Dis":"En"]able phasing") - src.occupant_message("En":"#f00\">Dis"]abled phasing.") + if(phasing) + src.occupant_message(span_blue("Enabled phasing.")) + else + src.occupant_message(span_red("Disabled phasing.")) return @@ -447,7 +456,10 @@ else cloak() - src.occupant_message("En":"#f00\">Dis"]abled cloaking.") + if(cloaked) + src.occupant_message(span_blue("Enabled cloaking.")) + else + src.occupant_message(span_red("Disabled cloaking.")) return /obj/mecha/verb/toggle_weapons_only_cycle() @@ -461,5 +473,8 @@ if(usr!=src.occupant) return weapons_only_cycle = !weapons_only_cycle - src.occupant_message("En":"#f00\">Dis"]abled weapons only cycling.") + if(weapons_only_cycle) + src.occupant_message(span_blue("Enabled weapons only cycling.")) + else + src.occupant_message(span_red("Disabled weapons only cycling.")) return diff --git a/code/game/mecha/medical/odysseus.dm b/code/game/mecha/medical/odysseus.dm index f1612e9083..929418e4a4 100644 --- a/code/game/mecha/medical/odysseus.dm +++ b/code/game/mecha/medical/odysseus.dm @@ -28,7 +28,7 @@ /obj/mecha/medical/odysseus/moved_inside(var/mob/living/carbon/human/H as mob) if(..()) if(H.glasses) - occupant_message("[H.glasses] prevent you from using [src] [hud]") + occupant_message(span_red("[H.glasses] prevent you from using [src] [hud]!")) else H.glasses = hud H.recalculate_vis() @@ -143,4 +143,4 @@ ..() health = 25 maxhealth = 50 //Just slightly worse. - cell.charge = rand(0, (cell.charge/2)) \ No newline at end of file + cell.charge = rand(0, (cell.charge/2)) diff --git a/code/game/mecha/micro/micro.dm b/code/game/mecha/micro/micro.dm index d1e5aedf59..1f301ce541 100644 --- a/code/game/mecha/micro/micro.dm +++ b/code/game/mecha/micro/micro.dm @@ -81,7 +81,7 @@ return M.updatehealth() src.occupant_message("You hit [target].") - src.visible_message("[src.name] hits [target].") + src.visible_message(span_red("[src.name] hits [target].")) else step_away(M,src) src.occupant_message("You push [target] out of the way.") @@ -97,7 +97,7 @@ for(var/target_type in src.destroyable_obj) if(istype(target, target_type) && hascall(target, "attackby")) src.occupant_message("You hit [target].") - src.visible_message("[src.name] hits [target]") + src.visible_message(span_red("[src.name] hits [target].")) if(!istype(target, /turf/simulated/wall)) target:attackby(src,src.occupant) else @@ -155,4 +155,3 @@ /obj/effect/decal/mecha_wreckage/micro icon = 'icons/mecha/micro.dmi' - diff --git a/code/game/objects/items/devices/paicard.dm b/code/game/objects/items/devices/paicard.dm index d8be1b8c2c..3e07548542 100644 --- a/code/game/objects/items/devices/paicard.dm +++ b/code/game/objects/items/devices/paicard.dm @@ -349,12 +349,12 @@ GLOBAL_LIST_BOILERPLATE(all_pai_cards, /obj/item/device/paicard) return var/mob/M = usr if(!istype(M, /mob/living/carbon)) - to_chat(usr, "You don't have any DNA, or your DNA is incompatible with this device.") + to_chat(usr, span_blue("You don't have any DNA, or your DNA is incompatible with this device.")) else var/datum/dna/dna = usr.dna pai.master = M.real_name pai.master_dna = dna.unique_enzymes - to_chat(pai, "

    You have been bound to a new master.

    ") + to_chat(pai, span_red("

    You have been bound to a new master.

    ")) if(href_list["request"]) src.looking_for_personality = 1 paiController.findPAI(src, usr) diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm index e6fc45e2e4..2d682f036c 100644 --- a/code/game/objects/items/devices/radio/intercom.dm +++ b/code/game/objects/items/devices/radio/intercom.dm @@ -203,10 +203,10 @@ /obj/item/device/radio/intercom/AIAltClick(var/mob/user) if(frequency == AI_FREQ) set_frequency(initial(frequency)) - to_chat(user, "\The [src]'s frequency is now set to Default.") + to_chat(user, "\The [src]'s frequency is now set to [span_green("Default")].") else set_frequency(AI_FREQ) - to_chat(user, "\The [src]'s frequency is now set to AI Private.") + to_chat(user, "\The [src]'s frequency is now set to [span_pink("AI Private")].") //VOREStation Add End /obj/item/device/radio/intercom/locked var/locked_frequency @@ -226,4 +226,4 @@ /obj/item/device/radio/intercom/locked/confessional name = "confessional intercom" - frequency = 1480 \ No newline at end of file + frequency = 1480 diff --git a/code/game/objects/items/devices/scanners/health.dm b/code/game/objects/items/devices/scanners/health.dm index 6d854e201c..6f086c3aa5 100644 --- a/code/game/objects/items/devices/scanners/health.dm +++ b/code/game/objects/items/devices/scanners/health.dm @@ -59,11 +59,11 @@ if (!ishuman(M) || M.isSynthetic()) //these sensors are designed for organic life dat += "Analyzing Results for ERROR:\n\tOverall Status: ERROR
    " - dat += "\tKey: Suffocation/Toxin/Burns/Brute
    " - dat += "\tDamage Specifics: ? - ? - ? - ?
    " + dat += "\tKey: [span_cyan("Suffocation")]/[span_green("Toxin")]/[span_orange("Burns")]/[span_red("Brute")]
    " + dat += "\tDamage Specifics: [span_cyan("?")] - [span_green("?")] - [span_orange("?")] - [span_red("?")]
    " dat += "Body Temperature: [M.bodytemperature-T0C]°C ([M.bodytemperature*1.8-459.67]°F)

    " dat += "Warning: Blood Level ERROR: --% --cl. Type: ERROR
    " - dat += "Subject's pulse: -- bpm." + dat += "Subject's pulse: [span_red("-- bpm.")]" user.show_message(dat, 1) return @@ -78,8 +78,8 @@ dat += "Overall Status: dead
    " else dat += "Analyzing Results for [M]:\n\t Overall Status: [M.stat > 1 ? "dead" : "[round((M.health/M.getMaxHealth())*100) ]% healthy"]
    " - dat += "\tKey: Suffocation/Toxin/Burns/Brute
    " - dat += "\tDamage Specifics: [OX] - [TX] - [BU] - [BR]
    " + dat += "\tKey: [span_cyan("Suffocation")]/[span_green("Toxin")]/[span_orange("Burns")]/[span_red("Brute")]
    " + dat += "\tDamage Specifics: [span_cyan("[OX]")] - [span_green("[TX]")] - [span_orange("[BU]")] - [span_red("[BR]")]
    " dat += "Body Temperature: [M.bodytemperature-T0C]°C ([M.bodytemperature*1.8-459.67]°F)

    " //VOREStation edit/addition starts if(M.timeofdeath && (M.stat == DEAD || (M.status_flags & FAKEDEATH))) @@ -99,14 +99,14 @@ else dat += " [capitalize(org.name)]: [(org.brute_dam > 0) ? "[org.brute_dam]" : 0]" dat += "[(org.status & ORGAN_BLEEDING)?"\[Bleeding\]":""] - " - dat += "[(org.burn_dam > 0) ? "[org.burn_dam]" : 0]
    " + dat += "[(org.burn_dam > 0) ? "[span_orange("[org.burn_dam]")]" : 0]
    " else dat += " Limbs are OK.
    " - OX = M.getOxyLoss() > 50 ? "Severe oxygen deprivation detected" : "Subject bloodstream oxygen level normal" - TX = M.getToxLoss() > 50 ? "Dangerous amount of toxins detected" : "Subject bloodstream toxin level minimal" - BU = M.getFireLoss() > 50 ? "Severe burn damage detected" : "Subject burn injury status O.K" - BR = M.getBruteLoss() > 50 ? "Severe anatomical damage detected" : "Subject brute-force injury status O.K" + OX = M.getOxyLoss() > 50 ? "[span_cyan("Severe oxygen deprivation detected")]" : "Subject bloodstream oxygen level normal" + TX = M.getToxLoss() > 50 ? "[span_green("Dangerous amount of toxins detected")]" : "Subject bloodstream toxin level minimal" + BU = M.getFireLoss() > 50 ? "[span_orange("Severe burn damage detected")]" : "Subject burn injury status O.K" + BR = M.getBruteLoss() > 50 ? "[span_red("Severe anatomical damage detected")]" : "Subject brute-force injury status O.K" if(M.status_flags & FAKEDEATH) OX = fake_oxy > 50 ? "Severe oxygen deprivation detected" : "Subject bloodstream oxygen level normal" dat += "[OX] | [TX] | [BU] | [BR]
    " diff --git a/code/game/objects/items/devices/taperecorder.dm b/code/game/objects/items/devices/taperecorder.dm index 131aba4993..4294b56f85 100644 --- a/code/game/objects/items/devices/taperecorder.dm +++ b/code/game/objects/items/devices/taperecorder.dm @@ -259,13 +259,13 @@ var/playedmessage = mytape.storedinfo[i] if (findtextEx(playedmessage,"*",1,2)) //remove marker for action sounds playedmessage = copytext(playedmessage,2) - T.audible_message("Tape Recorder: [playedmessage]", runemessage = playedmessage) + T.audible_message(span_maroon("Tape Recorder: [playedmessage]"), runemessage = playedmessage) if(mytape.storedinfo.len < i+1) playsleepseconds = 1 sleep(10) T = get_turf(src) - T.audible_message("Tape Recorder: End of recording.", runemessage = "click") + T.audible_message(span_maroon("Tape Recorder: End of recording."), runemessage = "click") break else playsleepseconds = mytape.timestamp[i+1] - mytape.timestamp[i] @@ -273,7 +273,7 @@ if(playsleepseconds > 14) sleep(10) T = get_turf(src) - T.audible_message("Tape Recorder: Skipping [playsleepseconds] seconds of silence", runemessage = "tape winding") + T.audible_message(span_maroon("Tape Recorder: Skipping [playsleepseconds] seconds of silence"), runemessage = "tape winding") playsleepseconds = 1 sleep(10 * playsleepseconds) @@ -283,19 +283,19 @@ if(emagged) var/turf/T = get_turf(src) - T.audible_message("Tape Recorder: This tape recorder will self-destruct in... Five.", runemessage = "beep beep") + T.audible_message(span_maroon("Tape Recorder: This tape recorder will self-destruct in... Five."), runemessage = "beep beep") sleep(10) T = get_turf(src) - T.audible_message("Tape Recorder: Four.") + T.audible_message(span_maroon("Tape Recorder: Four.")) sleep(10) T = get_turf(src) - T.audible_message("Tape Recorder: Three.") + T.audible_message(span_maroon("Tape Recorder: Three.")) sleep(10) T = get_turf(src) - T.audible_message("Tape Recorder: Two.") + T.audible_message(span_maroon("Tape Recorder: Two.")) sleep(10) T = get_turf(src) - T.audible_message("Tape Recorder: One.") + T.audible_message(span_maroon("Tape Recorder: One.")) sleep(10) explode() diff --git a/code/game/objects/items/devices/translocator_vr.dm b/code/game/objects/items/devices/translocator_vr.dm index 9bc4233ccf..5123602a35 100644 --- a/code/game/objects/items/devices/translocator_vr.dm +++ b/code/game/objects/items/devices/translocator_vr.dm @@ -301,11 +301,11 @@ This device records all warnings given and teleport events for admin review in c if(isbelly(real_dest)) var/obj/belly/B = real_dest if(!(target.can_be_drop_prey) && B.owner != user) - to_chat(target,"\The [src] narrowly avoids teleporting you right into \a [lowertext(real_dest.name)]!") + to_chat(target,"\The [src] narrowly avoids teleporting you right into \a [lowertext(real_dest.name)]!") real_dest = dT //Nevermind! else televored = TRUE - to_chat(target,"\The [src] teleports you right into \a [lowertext(real_dest.name)]!") + to_chat(target,"\The [src] teleports you right into \a [lowertext(real_dest.name)]!") //Phase-out effect phase_out(target,get_turf(target)) diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm index f930b12ddc..15ae2c9d4f 100644 --- a/code/game/objects/items/weapons/storage/boxes.dm +++ b/code/game/objects/items/weapons/storage/boxes.dm @@ -335,7 +335,7 @@ /obj/item/weapon/storage/box/mousetraps name = "box of Pest-B-Gon mousetraps" - desc = "WARNING: Keep out of reach of children." + desc = span_red("WARNING:") + " Keep out of reach of children." icon_state = "mousetraps" starts_with = list(/obj/item/device/assembly/mousetrap = 7) @@ -504,4 +504,4 @@ name = "box of sin-pockets" desc = "Instructions: Crush bottom of package to initiate chemical heating. Wait for 20 seconds before consumption. Product will cool if not eaten within seven minutes." icon_state = "donk_kit" - starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/donkpocket/sinpocket = 7) \ No newline at end of file + starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/donkpocket/sinpocket = 7) diff --git a/code/game/objects/structures/crates_lockers/crates_vr.dm b/code/game/objects/structures/crates_lockers/crates_vr.dm index 5ebf9894e9..8825c25d83 100644 --- a/code/game/objects/structures/crates_lockers/crates_vr.dm +++ b/code/game/objects/structures/crates_lockers/crates_vr.dm @@ -7,7 +7,7 @@ if(locked && tamper_proof && health <= Proj.damage) if(tamper_proof == 2) // Mainly used for events to prevent any chance of opening the box improperly. - visible_message("The anti-tamper mechanism of [src] triggers an explosion!") + visible_message(span_red("The anti-tamper mechanism of [src] triggers an explosion!")) var/turf/T = get_turf(src.loc) explosion(T, 0, 0, 0, 1) // Non-damaging, but it'll alert security. qdel(src) @@ -15,18 +15,18 @@ var/open_chance = rand(1,5) switch(open_chance) if(1) - visible_message("The anti-tamper mechanism of [src] causes an explosion!") + visible_message(span_red("The anti-tamper mechanism of [src] causes an explosion!")) var/turf/T = get_turf(src.loc) explosion(T, 0, 0, 0, 1) // Non-damaging, but it'll alert security. qdel(src) if(2 to 4) - visible_message("The anti-tamper mechanism of [src] causes a small fire!") + visible_message(span_red("The anti-tamper mechanism of [src] causes a small fire!")) for(var/atom/movable/A as mob|obj in src) // For every item in the box, we spawn a pile of ash. new /obj/effect/decal/cleanable/ash(src.loc) new /obj/fire(src.loc) qdel(src) if(5) - visible_message("The anti-tamper mechanism of [src] fails!") + visible_message(span_green("The anti-tamper mechanism of [src] fails!")) return ..() diff --git a/code/game/objects/structures/dancepole_vr.dm b/code/game/objects/structures/dancepole_vr.dm index c44ff91fb9..739d50643c 100644 --- a/code/game/objects/structures/dancepole_vr.dm +++ b/code/game/objects/structures/dancepole_vr.dm @@ -24,9 +24,9 @@ anchored = !anchored playsound(src, O.usesound, 50, 1) if(anchored) - to_chat(user, "You secure \the [src].") + to_chat(user, span_blue("You secure \the [src].")) else - to_chat(user, "You unsecure \the [src].") + to_chat(user, span_blue("You unsecure \the [src].")) if(O.has_tool_quality(TOOL_WRENCH)) playsound(src, O.usesound, 50, 1) to_chat(user, "Now disassembling \the [src]...") diff --git a/code/game/world.dm b/code/game/world.dm index 9f08a33380..0087ae27e5 100644 --- a/code/game/world.dm +++ b/code/game/world.dm @@ -337,8 +337,8 @@ var/world_topic_spam_protect_time = world.timeofday if(!rank) rank = "Admin" - var/message = "IRC-[rank] PM from IRC-[input["sender"]]: [input["msg"]]" - var/amessage = "IRC-[rank] PM from IRC-[input["sender"]] to [key_name(C)] : [input["msg"]]" + var/message = span_red("IRC-[rank] PM from IRC-[input["sender"]]: [input["msg"]]") + var/amessage = span_blue("IRC-[rank] PM from IRC-[input["sender"]] to [key_name(C)] : [input["msg"]]") C.received_irc_pm = world.time C.irc_admin = input["sender"] diff --git a/code/modules/admin/DB ban/functions.dm b/code/modules/admin/DB ban/functions.dm index dfd236c0d9..51e538e831 100644 --- a/code/modules/admin/DB ban/functions.dm +++ b/code/modules/admin/DB ban/functions.dm @@ -83,7 +83,7 @@ var/sql = "INSERT INTO erro_ban (`id`,`bantime`,`serverip`,`bantype`,`reason`,`job`,`duration`,`rounds`,`expiration_time`,`ckey`,`computerid`,`ip`,`a_ckey`,`a_computerid`,`a_ip`,`who`,`adminwho`,`edits`,`unbanned`,`unbanned_datetime`,`unbanned_ckey`,`unbanned_computerid`,`unbanned_ip`) VALUES (null, Now(), '[serverip]', '[bantype_str]', '[reason]', '[job]', [(duration)?"[duration]":"0"], [(rounds)?"[rounds]":"0"], Now() + INTERVAL [(duration>0) ? duration : 0] MINUTE, '[ckey]', '[computerid]', '[ip]', '[a_ckey]', '[a_computerid]', '[a_ip]', '[who]', '[adminwho]', '', null, null, null, null, null)" var/DBQuery/query_insert = dbcon.NewQuery(sql) query_insert.Execute() - to_chat(usr, "Ban saved to database.") + to_chat(usr, "[span_blue("Ban saved to database.")]") message_admins("[key_name_admin(usr)] has added a [bantype_str] for [ckey] [(job)?"([job])":""] [(duration > 0)?"([duration] minutes)":""] with the reason: \"[reason]\" to the ban database.",1) @@ -137,17 +137,17 @@ ban_number++; if(ban_number == 0) - to_chat(usr, "Database update failed due to no bans fitting the search criteria. If this is not a legacy ban you should contact the database admin.") + to_chat(usr, "[span_red("Database update failed due to no bans fitting the search criteria. If this is not a legacy ban you should contact the database admin.")]") return if(ban_number > 1) - to_chat(usr, "Database update failed due to multiple bans fitting the search criteria. Note down the ckey, job and current time and contact the database admin.") + to_chat(usr, "[span_red("Database update failed due to multiple bans fitting the search criteria. Note down the ckey, job and current time and contact the database admin.")]") return if(istext(ban_id)) ban_id = text2num(ban_id) if(!isnum(ban_id)) - to_chat(usr, "Database update failed due to a ban ID mismatch. Contact the database admin.") + to_chat(usr, "[span_red("Database update failed due to a ban ID mismatch. Contact the database admin.")]") return DB_ban_unban_by_id(ban_id) @@ -228,11 +228,11 @@ ban_number++; if(ban_number == 0) - to_chat(usr, "Database update failed due to a ban id not being present in the database.") + to_chat(usr, "[span_red("Database update failed due to a ban id not being present in the database.")]") return if(ban_number > 1) - to_chat(usr, "Database update failed due to multiple bans having the same ID. Contact the database admin.") + to_chat(usr, "[span_red("Database update failed due to multiple bans having the same ID. Contact the database admin.")]") return if(!src.owner || !istype(src.owner, /client)) @@ -268,7 +268,7 @@ establish_db_connection() if(!dbcon.IsConnected()) - to_chat(usr, "Failed to establish database connection") + to_chat(usr, "[span_red("Failed to establish database connection")]") return var/output = "
    " diff --git a/code/modules/admin/IsBanned.dm b/code/modules/admin/IsBanned.dm index efaf0795e2..d9a756ed53 100644 --- a/code/modules/admin/IsBanned.dm +++ b/code/modules/admin/IsBanned.dm @@ -7,13 +7,13 @@ //Guest Checking if(!config.guests_allowed && IsGuestKey(key)) log_adminwarn("Failed Login: [key] - Guests not allowed") - message_admins("Failed Login: [key] - Guests not allowed") + message_admins(span_blue("Failed Login: [key] - Guests not allowed")) return list("reason"="guest", "desc"="\nReason: Guests not allowed. Please sign in with a byond account.") //check if the IP address is a known TOR node if(config && config.ToRban && ToRban_isbanned(address)) log_adminwarn("Failed Login: [src] - Banned: ToR") - message_admins("Failed Login: [src] - Banned: ToR") + message_admins(span_blue("Failed Login: [src] - Banned: ToR")) //ban their computer_id and ckey for posterity AddBan(ckey(key), computer_id, "Use of ToR", "Automated Ban", 0, 0) return list("reason"="Using ToR", "desc"="\nReason: The network you are using to connect has been banned.\nIf you believe this is a mistake, please request help at [config.banappeals]") @@ -25,7 +25,7 @@ . = CheckBan( ckey(key), computer_id, address ) if(.) log_adminwarn("Failed Login: [key] [computer_id] [address] - Banned [.["reason"]]") - message_admins("Failed Login: [key] id:[computer_id] ip:[address] - Banned [.["reason"]]") + message_admins(span_blue("Failed Login: [key] id:[computer_id] ip:[address] - Banned [.["reason"]]")) return . return ..() //default pager ban stuff diff --git a/code/modules/admin/ToRban.dm b/code/modules/admin/ToRban.dm index dfe4ba88e2..0002cb7e29 100644 --- a/code/modules/admin/ToRban.dm +++ b/code/modules/admin/ToRban.dm @@ -54,10 +54,10 @@ if(config) if(config.ToRban) config.ToRban = 0 - message_admins("ToR banning disabled.") + message_admins(span_red("ToR banning disabled.")) else config.ToRban = 1 - message_admins("ToR banning enabled.") + message_admins(span_green("ToR banning enabled.")) if("show") var/savefile/F = new(TORFILE) var/dat @@ -80,7 +80,7 @@ var/input = tgui_input_text(src,"Please input an IP address to search for:","Find ToR ban",null) if(input) if(ToRban_isbanned(input)) - to_chat(src, "Address is a known ToR address") + to_chat(src, "[span_orange("Address is a known ToR address")]") else to_chat(src, "Address is not a known ToR address") return diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index b9ec670640..0d8cbb07dc 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -866,7 +866,7 @@ var/datum/announcement/minor/admin_min_announcer = new else to_world("New players may now enter the game.") log_admin("[key_name(usr)] toggled new player game entering.") - message_admins("[key_name_admin(usr)] toggled new player game entering.", 1) + message_admins(span_blue("[key_name_admin(usr)] toggled new player game entering."), 1) world.update_status() feedback_add_details("admin_verb","TE") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -892,7 +892,7 @@ var/datum/announcement/minor/admin_min_announcer = new to_world("You may now respawn.") else to_world("You may no longer respawn :(") - message_admins("[key_name_admin(usr)] toggled respawn to [config.abandon_allowed ? "On" : "Off"].", 1) + message_admins(span_blue("[key_name_admin(usr)] toggled respawn to [config.abandon_allowed ? "On" : "Off"]."), 1) log_admin("[key_name(usr)] toggled respawn to [config.abandon_allowed ? "On" : "Off"].") world.update_status() feedback_add_details("admin_verb","TR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -906,7 +906,7 @@ var/datum/announcement/minor/admin_min_announcer = new to_world("Persistence is now enabled..") else to_world("Persistence is no longer enabled.") - message_admins("[key_name_admin(usr)] toggled persistence to [config.persistence_disabled ? "Off" : "On"].", 1) + message_admins(span_blue("[key_name_admin(usr)] toggled persistence to [config.persistence_disabled ? "Off" : "On"]."), 1) log_admin("[key_name(usr)] toggled persistence to [config.persistence_disabled ? "Off" : "On"].") world.update_status() feedback_add_details("admin_verb","TPD") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -920,7 +920,7 @@ var/datum/announcement/minor/admin_min_announcer = new to_world("Persistence is now enabled..") else to_world("Persistence is no longer enabled.") - message_admins("[key_name_admin(usr)] toggled persistence to [config.persistence_ignore_mapload ? "Off" : "On"].", 1) + message_admins(span_blue("[key_name_admin(usr)] toggled persistence to [config.persistence_ignore_mapload ? "Off" : "On"]."), 1) log_admin("[key_name(usr)] toggled persistence to [config.persistence_ignore_mapload ? "Off" : "On"].") world.update_status() feedback_add_details("admin_verb","TMPD") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -952,7 +952,7 @@ var/datum/announcement/minor/admin_min_announcer = new if (SSticker.current_state >= GAME_STATE_PLAYING) SSticker.delay_end = !SSticker.delay_end log_admin("[key_name(usr)] [SSticker.delay_end ? "delayed the round end" : "has made the round end normally"].") - message_admins("[key_name(usr)] [SSticker.delay_end ? "delayed the round end" : "has made the round end normally"].", 1) + message_admins(span_blue("[key_name(usr)] [SSticker.delay_end ? "delayed the round end" : "has made the round end normally"]."), 1) return round_progressing = !round_progressing if (!round_progressing) @@ -968,7 +968,7 @@ var/datum/announcement/minor/admin_min_announcer = new set desc="Toggle admin jumping" set name="Toggle Jump" config.allow_admin_jump = !(config.allow_admin_jump) - message_admins("Toggled admin jumping to [config.allow_admin_jump].") + message_admins(span_blue("Toggled admin jumping to [config.allow_admin_jump].")) feedback_add_details("admin_verb","TJ") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/adspawn() @@ -976,7 +976,7 @@ var/datum/announcement/minor/admin_min_announcer = new set desc="Toggle admin spawning" set name="Toggle Spawn" config.allow_admin_spawning = !(config.allow_admin_spawning) - message_admins("Toggled admin item spawning to [config.allow_admin_spawning].") + message_admins(span_blue("Toggled admin item spawning to [config.allow_admin_spawning].")) feedback_add_details("admin_verb","TAS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/adrev() @@ -984,7 +984,7 @@ var/datum/announcement/minor/admin_min_announcer = new set desc="Toggle admin revives" set name="Toggle Revive" config.allow_admin_rev = !(config.allow_admin_rev) - message_admins("Toggled reviving to [config.allow_admin_rev].") + message_admins(span_blue("Toggled reviving to [config.allow_admin_rev].")) feedback_add_details("admin_verb","TAR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/immreboot() @@ -994,7 +994,7 @@ var/datum/announcement/minor/admin_min_announcer = new if(!usr.client.holder) return if(alert(usr, "Reboot server?","Reboot!","Yes","No") == "No") // Not tgui_alert for safety return - to_world("Rebooting world!Initiated by [usr.client.holder.fakekey ? "Admin" : usr.key]!") + to_world("[span_red("Rebooting world!")] [span_blue("Initiated by [usr.client.holder.fakekey ? "Admin" : usr.key]!")]") log_admin("[key_name(usr)] initiated an immediate reboot.") feedback_set_details("end_error","immediate admin reboot - by [usr.key] [usr.client.holder.fakekey ? "(stealth)" : ""]") @@ -1260,7 +1260,7 @@ var/datum/announcement/minor/admin_min_announcer = new else to_world("Guests may now enter the game.") log_admin("[key_name(usr)] toggled guests game entering [config.guests_allowed?"":"dis"]allowed.") - message_admins("[key_name_admin(usr)] toggled guests game entering [config.guests_allowed?"":"dis"]allowed.", 1) + message_admins(span_blue("[key_name_admin(usr)] toggled guests game entering [config.guests_allowed?"":"dis"]allowed."), 1) feedback_add_details("admin_verb","TGU") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /datum/admins/proc/output_ai_laws() diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 81a3e79576..d6502200fe 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -279,7 +279,7 @@ var/light_impact_range = tgui_input_number(usr, "Light impact range (in tiles):") var/flash_range = tgui_input_number(usr, "Flash range (in tiles):") explosion(epicenter, devastation_range, heavy_impact_range, light_impact_range, flash_range) - message_admins("[ckey] creating an admin explosion at [epicenter.loc].") + message_admins(span_blue("[ckey] creating an admin explosion at [epicenter.loc].")) feedback_add_details("admin_verb","DB") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/give_disease2(mob/T as mob in mob_list) // -- Giacom @@ -311,7 +311,7 @@ feedback_add_details("admin_verb","GD2") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! log_admin("[key_name(usr)] gave [key_name(T)] a [greater] disease2 with infection chance [D.infectionchance].") - message_admins("[key_name_admin(usr)] gave [key_name(T)] a [greater] disease2 with infection chance [D.infectionchance].", 1) + message_admins(span_blue("[key_name_admin(usr)] gave [key_name(T)] a [greater] disease2 with infection chance [D.infectionchance]."), 1) /client/proc/admin_give_modifier(var/mob/living/L) set category = "Debug" @@ -347,7 +347,7 @@ return O.audible_message(message) log_admin("[key_name(usr)] made [O] at [O.x], [O.y], [O.z]. make a sound") - message_admins("[key_name_admin(usr)] made [O] at [O.x], [O.y], [O.z]. make a sound.", 1) + message_admins(span_blue("[key_name_admin(usr)] made [O] at [O.x], [O.y], [O.z]. make a sound."), 1) feedback_add_details("admin_verb","MS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -377,7 +377,7 @@ to_chat(usr, "[SSair.can_fire ? "En" : "Dis"]abled air processing.") feedback_add_details("admin_verb","KA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! log_admin("[key_name(usr)] used 'kill air'.") - message_admins("[key_name_admin(usr)] used 'kill air'.", 1) + message_admins(span_blue("[key_name_admin(usr)] used 'kill air'."), 1) /client/proc/readmin_self() set name = "Re-Admin self" @@ -533,7 +533,7 @@ to_chat(T, "Move along.") log_admin("[key_name(usr)] told [key_name(T)] to man up and deal with it.") - message_admins("[key_name_admin(usr)] told [key_name(T)] to man up and deal with it.", 1) + message_admins(span_blue("[key_name_admin(usr)] told [key_name(T)] to man up and deal with it."), 1) /client/proc/global_man_up() set category = "Fun" @@ -547,7 +547,7 @@ T << 'sound/voice/ManUp1.ogg' log_admin("[key_name(usr)] told everyone to man up and deal with it.") - message_admins("[key_name_admin(usr)] told everyone to man up and deal with it.", 1) + message_admins(span_blue("[key_name_admin(usr)] told everyone to man up and deal with it."), 1) /client/proc/give_spell(mob/T as mob in mob_list) // -- Urist set category = "Fun" @@ -558,4 +558,4 @@ T.spell_list += new S feedback_add_details("admin_verb","GS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! log_admin("[key_name(usr)] gave [key_name(T)] the spell [S].") - message_admins("[key_name_admin(usr)] gave [key_name(T)] the spell [S].", 1) \ No newline at end of file + message_admins(span_blue("[key_name_admin(usr)] gave [key_name(T)] the spell [S]."), 1) diff --git a/code/modules/admin/callproc/callproc.dm b/code/modules/admin/callproc/callproc.dm index 58e9012277..b3bea8ee6c 100644 --- a/code/modules/admin/callproc/callproc.dm +++ b/code/modules/admin/callproc/callproc.dm @@ -39,12 +39,12 @@ testname = replacetext(testname, "()", "") if(targetselected && !hascall(target,testname)) - to_chat(usr, "Error: callproc(): type [target.type] has no proc named [procname].") + to_chat(usr, "" + span_red("Error: callproc(): type [target.type] has no proc named [procname].") + "") return else var/procpath = text2path(procname) if (!procpath) - to_chat(usr, "Error: callproc(): proc [procname] does not exist. (Did you forget the /proc/ part?)") + to_chat(usr, "" + span_red("Error: callproc(): proc [procname] does not exist. (Did you forget the /proc/ part?)") + "") return var/list/lst = get_callproc_args() if(!lst) @@ -52,7 +52,7 @@ if(targetselected) if(!target) - to_chat(usr, "Error: callproc(): owner of proc no longer exists.") + to_chat(usr, "" + span_red("Error: callproc(): owner of proc no longer exists.") + "") return var/msg = "[key_name(src)] called [target]'s [procname]() with [lst.len ? "the arguments [list2params(lst)]":"no arguments"]." log_admin(msg) @@ -140,7 +140,7 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention) if(!procname) return if(!hascall(A,procname)) - to_chat(usr, "Error: callproc_datum(): type [A.type] has no proc named [procname].") + to_chat(usr, "" + span_red("Error: callproc_datum(): type [A.type] has no proc named [procname].") + "") return var/list/lst = get_callproc_args() if(!lst) @@ -190,7 +190,7 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention) . = "" if(islist(returnval)) var/list/returnedlist = returnval - . = "" + . = "" if(returnedlist.len) var/assoc_check = returnedlist[1] if(istext(assoc_check) && (returnedlist[assoc_check] != null)) @@ -204,7 +204,7 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention) . += "\n[elem]" else . = "[procname] returned an empty list" - . += "" + . += "" else - . = "[procname] returned: [!isnull(returnval) ? returnval : "null"]" + . = span_blue("[procname] returned: [!isnull(returnval) ? returnval : "null"]") diff --git a/code/modules/admin/newbanjob.dm b/code/modules/admin/newbanjob.dm index 4915c00594..7657182312 100644 --- a/code/modules/admin/newbanjob.dm +++ b/code/modules/admin/newbanjob.dm @@ -141,7 +141,7 @@ var/savefile/Banlistjob Banlistjob.cd = "/base" if ( Banlistjob.dir.Find("[ckey][computerid][rank]") ) - to_chat(usr,"Banjob already exists.") + to_chat(usr, span_red("Banjob already exists.")) return 0 else Banlistjob.dir.Add("[ckey][computerid][rank]") diff --git a/code/modules/admin/permissionverbs/permissionedit.dm b/code/modules/admin/permissionverbs/permissionedit.dm index 5f84d5692a..b6be3a7790 100644 --- a/code/modules/admin/permissionverbs/permissionedit.dm +++ b/code/modules/admin/permissionverbs/permissionedit.dm @@ -51,13 +51,13 @@ return if(!usr.client.holder || !(usr.client.holder.rights & R_PERMISSIONS)) - to_chat(usr, "You do not have permission to do this!") + to_chat(usr, "[span_red("You do not have permission to do this!")]") return establish_db_connection() if(!dbcon.IsConnected()) - to_chat(usr, "Failed to establish database connection") + to_chat(usr, "[span_red("Failed to establish database connection")]") return if(!adm_ckey || !new_rank) @@ -85,14 +85,14 @@ insert_query.Execute() var/DBQuery/log_query = dbcon.NewQuery("INSERT INTO `test`.`erro_admin_log` (`id` ,`datetime` ,`adminckey` ,`adminip` ,`log` ) VALUES (NULL , NOW( ) , '[usr.ckey]', '[usr.client.address]', 'Added new admin [adm_ckey] to rank [new_rank]');") log_query.Execute() - to_chat(usr, "New admin added.") + to_chat(usr, "[span_blue("New admin added.")]") else if(!isnull(admin_id) && isnum(admin_id)) var/DBQuery/insert_query = dbcon.NewQuery("UPDATE `erro_admin` SET rank = '[new_rank]' WHERE id = [admin_id]") insert_query.Execute() var/DBQuery/log_query = dbcon.NewQuery("INSERT INTO `test`.`erro_admin_log` (`id` ,`datetime` ,`adminckey` ,`adminip` ,`log` ) VALUES (NULL , NOW( ) , '[usr.ckey]', '[usr.client.address]', 'Edited the rank of [adm_ckey] to [new_rank]');") log_query.Execute() - to_chat(usr, "Admin rank changed.") + to_chat(usr, "[span_blue("Admin rank changed.")]") /datum/admins/proc/log_admin_permission_modification(var/adm_ckey, var/new_permission) if(config.admin_legacy_system) return @@ -101,12 +101,12 @@ return if(!usr.client.holder || !(usr.client.holder.rights & R_PERMISSIONS)) - to_chat(usr, "You do not have permission to do this!") + to_chat(usr, "[span_red(">You do not have permission to do this!")]") return establish_db_connection() if(!dbcon.IsConnected()) - to_chat(usr, "Failed to establish database connection") + to_chat(usr, "[span_red("Failed to establish database connection!")]") return if(!adm_ckey || !new_permission) @@ -140,10 +140,10 @@ insert_query.Execute() var/DBQuery/log_query = dbcon.NewQuery("INSERT INTO `test`.`erro_admin_log` (`id` ,`datetime` ,`adminckey` ,`adminip` ,`log` ) VALUES (NULL , NOW( ) , '[usr.ckey]', '[usr.client.address]', 'Removed permission [rights2text(new_permission)] (flag = [new_permission]) to admin [adm_ckey]');") log_query.Execute() - to_chat(usr, "Permission removed.") + to_chat(usr, "[span_blue("Permission removed.")]") else //This admin doesn't have this permission, so we are adding it. var/DBQuery/insert_query = dbcon.NewQuery("UPDATE `erro_admin` SET flags = '[admin_rights | new_permission]' WHERE id = [admin_id]") insert_query.Execute() var/DBQuery/log_query = dbcon.NewQuery("INSERT INTO `test`.`erro_admin_log` (`id` ,`datetime` ,`adminckey` ,`adminip` ,`log` ) VALUES (NULL , NOW( ) , '[usr.ckey]', '[usr.client.address]', 'Added permission [rights2text(new_permission)] (flag = [new_permission]) to admin [adm_ckey]')") log_query.Execute() - to_chat(usr, "Permission added.") + to_chat(usr, "[span_blue("Permission added.")]") diff --git a/code/modules/admin/player_notes.dm b/code/modules/admin/player_notes.dm index f25e6024b9..53479bdcad 100644 --- a/code/modules/admin/player_notes.dm +++ b/code/modules/admin/player_notes.dm @@ -37,7 +37,7 @@ infos += P info << infos - message_admins("[key_name_admin(user)] has edited [key]'s notes.") + message_admins(span_blue("[key_name_admin(user)] has edited [key]'s notes.")) log_admin("[key_name(user)] has edited [key]'s notes.") admin_action_message(P.author, key, "added note on", note, 0) //VOREStation Add del(info) // savefile, so NOT qdel @@ -62,7 +62,7 @@ infos.Remove(item) info << infos - message_admins("[key_name_admin(usr)] deleted one of [key]'s notes.") + message_admins(span_blue("[key_name_admin(usr)] deleted one of [key]'s notes.")) log_admin("[key_name(usr)] deleted one of [key]'s notes.") admin_action_message(usr.key, key, "deleted note on", "\[Note gone\]", 0) //VOREStation Add qdel(info) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index fb1f9c4bb9..157a05d64a 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -234,7 +234,7 @@ if (emergency_shuttle.can_call()) emergency_shuttle.call_evac() log_admin("[key_name(usr)] called the Emergency Shuttle") - message_admins("[key_name_admin(usr)] called the Emergency Shuttle to the station.", 1) + message_admins(span_blue("[key_name_admin(usr)] called the Emergency Shuttle to the station."), 1) if("2") if (!( ticker ) || !emergency_shuttle.location()) @@ -242,12 +242,12 @@ if (emergency_shuttle.can_call()) emergency_shuttle.call_evac() log_admin("[key_name(usr)] called the Emergency Shuttle") - message_admins("[key_name_admin(usr)] called the Emergency Shuttle to the station.", 1) + message_admins(span_blue("[key_name_admin(usr)] called the Emergency Shuttle to the station."), 1) else if (emergency_shuttle.can_recall()) emergency_shuttle.recall() log_admin("[key_name(usr)] sent the Emergency Shuttle back") - message_admins("[key_name_admin(usr)] sent the Emergency Shuttle back.", 1) + message_admins(span_blue("[key_name_admin(usr)] sent the Emergency Shuttle back."), 1) href_list["secretsadmin"] = "check_antagonist" @@ -260,14 +260,14 @@ emergency_shuttle.launch_time = world.time + new_time_left*10 log_admin("[key_name(usr)] edited the Emergency Shuttle's launch time to [new_time_left]") - message_admins("[key_name_admin(usr)] edited the Emergency Shuttle's launch time to [new_time_left*10]", 1) + message_admins(span_blue("[key_name_admin(usr)] edited the Emergency Shuttle's launch time to [new_time_left*10]"), 1) else if (emergency_shuttle.shuttle.has_arrive_time()) var/new_time_left = tgui_input_number(usr, "Enter new shuttle arrival time (seconds):","Edit Shuttle Arrival Time", emergency_shuttle.estimate_arrival_time() ) emergency_shuttle.shuttle.arrive_time = world.time + new_time_left*10 log_admin("[key_name(usr)] edited the Emergency Shuttle's arrival time to [new_time_left]") - message_admins("[key_name_admin(usr)] edited the Emergency Shuttle's arrival time to [new_time_left*10]", 1) + message_admins(span_blue("[key_name_admin(usr)] edited the Emergency Shuttle's arrival time to [new_time_left*10]"), 1) else tgui_alert_async(usr, "The shuttle is neither counting down to launch nor is it in transit. Please try again when it is.") @@ -278,7 +278,7 @@ ticker.delay_end = !ticker.delay_end log_admin("[key_name(usr)] [ticker.delay_end ? "delayed the round end" : "has made the round end normally"].") - message_admins("[key_name(usr)] [ticker.delay_end ? "delayed the round end" : "has made the round end normally"].", 1) + message_admins(span_blue("[key_name(usr)] [ticker.delay_end ? "delayed the round end" : "has made the round end normally"]."), 1) href_list["secretsadmin"] = "check_antagonist" else if(href_list["simplemake"]) @@ -296,7 +296,7 @@ if("Yes") delmob = 1 log_admin("[key_name(usr)] has used rudimentary transformation on [key_name(M)]. Transforming to [href_list["simplemake"]]; deletemob=[delmob]") - message_admins("[key_name_admin(usr)] has used rudimentary transformation on [key_name_admin(M)]. Transforming to [href_list["simplemake"]]; deletemob=[delmob]", 1) + message_admins(span_blue("[key_name_admin(usr)] has used rudimentary transformation on [key_name_admin(M)]. Transforming to [href_list["simplemake"]]; deletemob=[delmob]"), 1) switch(href_list["simplemake"]) if("observer") M.change_mob_type( /mob/observer/dead , null, null, delmob ) @@ -376,7 +376,7 @@ log_admin("[key_name(usr)] edited [banned_key]'s ban. Reason: [reason] Duration: [duration]") ban_unban_log_save("[key_name(usr)] edited [banned_key]'s ban. Reason: [reason] Duration: [duration]") - message_admins("[key_name_admin(usr)] edited [banned_key]'s ban. Reason: [reason] Duration: [duration]", 1) + message_admins(span_blue("[key_name_admin(usr)] edited [banned_key]'s ban. Reason: [reason] Duration: [duration]"), 1) Banlist.cd = "/base/[banfolder]" Banlist["reason"] << reason Banlist["temp"] << temp @@ -804,10 +804,10 @@ else msg += ", [job]" notes_add(M.ckey, "Banned from [msg] - [reason]", usr) - message_admins("[key_name_admin(usr)] banned [key_name_admin(M)] from [msg] for [mins] minutes", 1) - to_chat(M, "You have been jobbanned by [usr.client.ckey] from: [msg].") - to_chat(M, "The reason is: [reason]") - to_chat(M, "This jobban will be lifted in [mins] minutes.") + message_admins(span_blue("[key_name_admin(usr)] banned [key_name_admin(M)] from [msg] for [mins] minutes"), 1) + to_chat(M, "[span_red("You have been jobbanned by [usr.client.ckey] from: [msg].")]") + to_chat(M, "[span_red("The reason is: [reason]")]") + to_chat(M, "[span_red("This jobban will be lifted in [mins] minutes.")]") href_list["jobban2"] = 1 // lets it fall through and refresh return 1 if("No") @@ -825,10 +825,10 @@ if(!msg) msg = job else msg += ", [job]" notes_add(M.ckey, "Banned from [msg] - [reason]", usr) - message_admins("[key_name_admin(usr)] banned [key_name_admin(M)] from [msg]", 1) - to_chat(M, "You have been jobbanned by [usr.client.ckey] from: [msg].") - to_chat(M, "The reason is: [reason]") - to_chat(M, "Jobban can be lifted only upon request.") + message_admins(span_blue("[key_name_admin(usr)] banned [key_name_admin(M)] from [msg]"), 1) + to_chat(M, "[span_red("You have been jobbanned by [usr.client.ckey] from: [msg].")]") + to_chat(M, "[span_red("The reason is: [reason]")]") + to_chat(M, "[span_red("Jobban can be lifted only upon request.")]") href_list["jobban2"] = 1 // lets it fall through and refresh return 1 if("Cancel") @@ -858,7 +858,7 @@ else continue if(msg) - message_admins("[key_name_admin(usr)] unbanned [key_name_admin(M)] from [msg]", 1) + message_admins(span_blue("[key_name_admin(usr)] unbanned [key_name_admin(M)] from [msg]"), 1) to_chat(M, "You have been un-jobbanned by [usr.client.ckey] from [msg].") href_list["jobban2"] = 1 // lets it fall through and refresh return 1 @@ -875,7 +875,7 @@ to_chat(M, span("filter_system critical", "You have been kicked from the server: [reason]")) log_admin("[key_name(usr)] booted [key_name(M)] for reason: '[reason]'.") - message_admins("[key_name_admin(usr)] booted [key_name_admin(M)] for reason '[reason]'.", 1) + message_admins(span_blue("[key_name_admin(usr)] booted [key_name_admin(M)] for reason '[reason]'."), 1) //M.client = null admin_action_message(usr.key, M.key, "kicked", reason, 0) //VOREStation Add qdel(M.client) @@ -887,7 +887,7 @@ if(t) if((tgui_alert(usr, "Do you want to unjobban [t]?","Unjobban confirmation", list("Yes", "No")) == "Yes") && t) //No more misclicks! Unless you do it twice. log_admin("[key_name(usr)] removed [t]") - message_admins("[key_name_admin(usr)] removed [t]", 1) + message_admins(span_blue("[key_name_admin(usr)] removed [t]"), 1) jobban_remove(t) href_list["ban"] = 1 // lets it fall through and refresh var/t_split = splittext(t, " - ") @@ -934,7 +934,7 @@ else to_chat(M, "No ban appeals URL has been set.") log_admin("[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis will be removed in [mins] minutes.") - message_admins("[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis will be removed in [mins] minutes.") + message_admins(span_blue("[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis will be removed in [mins] minutes.")) var/datum/admin_help/AH = M.client ? M.client.current_ticket : null if(AH) AH.Resolve() @@ -960,7 +960,7 @@ ban_unban_log_save("[usr.client.ckey] has permabanned [M.ckey]. - Reason: [reason] - This is a permanent ban.") notes_add(M.ckey,"[usr.client.ckey] has permabanned [M.ckey]. - Reason: [reason] - This is a permanent ban.",usr) log_admin("[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis is a permanent ban.") - message_admins("[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis is a permanent ban.") + message_admins(span_blue("[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis is a permanent ban.")) feedback_inc("ban_perma",1) DB_ban_record(BANTYPE_PERMA, M, -1, reason) var/datum/admin_help/AH = M.client ? M.client.current_ticket : null @@ -1018,8 +1018,8 @@ return tgui_alert_async(usr, "The game has already started.") master_mode = href_list["c_mode2"] log_admin("[key_name(usr)] set the mode as [config.mode_names[master_mode]].") - message_admins("[key_name_admin(usr)] set the mode as [config.mode_names[master_mode]].", 1) - to_world("The mode is now: [config.mode_names[master_mode]]") + message_admins(span_blue("[key_name_admin(usr)] set the mode as [config.mode_names[master_mode]]."), 1) + to_world(span_blue("The mode is now: [config.mode_names[master_mode]]")) Game() // updates the main game menu world.save_mode(master_mode) .(href, list("c_mode"=1)) @@ -1033,7 +1033,7 @@ return tgui_alert_async(usr, "The game mode has to be secret!") secret_force_mode = href_list["f_secret2"] log_admin("[key_name(usr)] set the forced secret mode as [secret_force_mode].") - message_admins("[key_name_admin(usr)] set the forced secret mode as [secret_force_mode].", 1) + message_admins(span_blue("[key_name_admin(usr)] set the forced secret mode as [secret_force_mode]."), 1) Game() // updates the main game menu .(href, list("f_secret"=1)) @@ -1046,7 +1046,7 @@ return log_admin("[key_name(usr)] attempting to monkeyize [key_name(H)]") - message_admins("[key_name_admin(usr)] attempting to monkeyize [key_name_admin(H)]", 1) + message_admins(span_blue("[key_name_admin(usr)] attempting to monkeyize [key_name_admin(H)]"), 1) H.monkeyize() else if(href_list["corgione"]) @@ -1058,7 +1058,7 @@ return log_admin("[key_name(usr)] attempting to corgize [key_name(H)]") - message_admins("[key_name_admin(usr)] attempting to corgize [key_name_admin(H)]", 1) + message_admins(span_blue("[key_name_admin(usr)] attempting to corgize [key_name_admin(H)]"), 1) H.corgize() else if(href_list["forcespeech"]) @@ -1073,7 +1073,7 @@ M.say(speech) speech = sanitize(speech) // Nah, we don't trust them log_admin("[key_name(usr)] forced [key_name(M)] to say: [speech]") - message_admins("[key_name_admin(usr)] forced [key_name_admin(M)] to say: [speech]") + message_admins(span_blue("[key_name_admin(usr)] forced [key_name_admin(M)] to say: [speech]")) else if(href_list["sendtoprison"]) if(!check_rights(R_ADMIN)) return @@ -1113,7 +1113,7 @@ to_chat(M, "You have been sent to the prison station!") log_admin("[key_name(usr)] sent [key_name(M)] to the prison station.") - message_admins("[key_name_admin(usr)] sent [key_name_admin(M)] to the prison station.", 1) + message_admins(span_blue("[key_name_admin(usr)] sent [key_name_admin(M)] to the prison station."), 1) else if(href_list["sendbacktolobby"]) if(!check_rights(R_ADMIN)) @@ -1249,7 +1249,7 @@ if(config.allow_admin_rev) L.revive() - message_admins("Admin [key_name_admin(usr)] healed / revived [key_name_admin(L)]!", 1) + message_admins(span_red("Admin [key_name_admin(usr)] healed / revived [key_name_admin(L)]!"), 1) log_admin("[key_name(usr)] healed / Rrvived [key_name(L)]") else to_chat(usr, "Admin Rejuvinates have been disabled") @@ -1262,7 +1262,7 @@ to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human") return - message_admins("Admin [key_name_admin(usr)] AIized [key_name_admin(H)]!", 1) + message_admins(span_red("Admin [key_name_admin(usr)] AIized [key_name_admin(H)]!"), 1) log_admin("[key_name(usr)] AIized [key_name(H)]") H.AIize() @@ -1402,7 +1402,7 @@ //Job + antagonist if(M.mind) - special_role_description = "Role: [M.mind.assigned_role]; Antagonist: [M.mind.special_role]; Has been rev: [(M.mind.has_been_rev)?"Yes":"No"]" + special_role_description = "Role: [M.mind.assigned_role]; Antagonist: [span_red("[M.mind.special_role]")]; Has been rev: [(M.mind.has_been_rev)?"Yes":"No"]" else special_role_description = "Role: Mind datum missing Antagonist: Mind datum missing; Has been rev: Mind datum missing;" @@ -1412,8 +1412,8 @@ var/status switch (M.stat) if (0) status = "Alive" - if (1) status = "Unconscious" - if (2) status = "Dead" + if (1) status = span_orange("Unconscious") + if (2) status = span_red("Dead") health_description = "Status = [status]" health_description += "
    Oxy: [L.getOxyLoss()] - Tox: [L.getToxLoss()] - Fire: [L.getFireLoss()] - Brute: [L.getBruteLoss()] - Clone: [L.getCloneLoss()] - Brain: [L.getBrainLoss()]" else @@ -1422,7 +1422,7 @@ //Gener switch(M.gender) if(MALE,FEMALE) gender_description = "[M.gender]" - else gender_description = "[M.gender]" + else gender_description = span_red("[M.gender]") to_chat(src.owner, "Info about [M.name]:
    \ Mob type = [M.type]; Gender = [gender_description] Damage = [health_description]
    \ diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2.dm b/code/modules/admin/verbs/SDQL2/SDQL_2.dm index fe64b97346..14b1bf7932 100644 --- a/code/modules/admin/verbs/SDQL2/SDQL_2.dm +++ b/code/modules/admin/verbs/SDQL2/SDQL_2.dm @@ -1046,7 +1046,7 @@ GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/SDQL2_VV_all, new(null else if(char == "'") if(word != "") - to_chat(usr, "SDQL2: You have an error in your SDQL syntax, unexpected ' in query: \"[query_text]\" following \"[word]\". Please check your syntax, and try again.") + to_chat(usr, span_red("SDQL2: You have an error in your SDQL syntax, unexpected ' in query: \"[span_gray("[query_text]")]\" following \"[span_gray("[word]")]\". Please check your syntax, and try again.")) return null word = "'" @@ -1066,7 +1066,7 @@ GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/SDQL2_VV_all, new(null word += char if(i > len) - to_chat(usr, "SDQL2: You have an error in your SDQL syntax, unmatched ' in query: \"[query_text]\". Please check your syntax, and try again.") + to_chat(usr, span_red("SDQL2: You have an error in your SDQL syntax, unmatched ' in query: \"[span_gray("[query_text]")]\". Please check your syntax, and try again.")) return null query_list += "[word]'" @@ -1074,7 +1074,7 @@ GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/SDQL2_VV_all, new(null else if(char == "\"") if(word != "") - to_chat(usr, "SDQL2: You have an error in your SDQL syntax, unexpected \" in query: \"[query_text]\" following \"[word]\". Please check your syntax, and try again.") + to_chat(usr, span_red("SDQL2: You have an error in your SDQL syntax, unexpected \" in query: \"[span_gray("[query_text]")]\" following \"[span_gray("[word]")]\". Please check your syntax, and try again.")) return null word = "\"" @@ -1094,7 +1094,7 @@ GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/SDQL2_VV_all, new(null word += char if(i > len) - to_chat(usr, "SDQL2: You have an error in your SDQL syntax, unmatched \" in query: \"[query_text]\". Please check your syntax, and try again.") + to_chat(usr, span_red("SDQL2: You have an error in your SDQL syntax, unmatched \" in query: \"[span_gray("[query_text]")]\". Please check your syntax, and try again.")) return null query_list += "[word]\"" diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm index c19d013b84..618232ae2f 100644 --- a/code/modules/admin/verbs/adminhelp.dm +++ b/code/modules/admin/verbs/adminhelp.dm @@ -170,7 +170,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) if(is_bwoink) AddInteraction("[key_name_admin(usr)] PM'd [LinkedReplyName()]") - message_admins("Ticket [TicketHref("#[id]")] created") + message_admins(span_blue("Ticket [TicketHref("#[id]")] created")) else MessageNoRecipient(parsed_message) send2adminchat() //VOREStation Add @@ -280,7 +280,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) AddInteraction("Reopened by [key_name_admin(usr)]") if(initiator) - to_chat(initiator, "Ticket [TicketHref("#[id]")] was reopened by [key_name(usr,FALSE,FALSE)].") + to_chat(initiator, "[span_purple("Ticket [TicketHref("#[id]")] was reopened by [key_name(usr,FALSE,FALSE)].")]") var/msg = "Ticket [TicketHref("#[id]")] reopened by [key_name_admin(usr)]." message_admins(msg) log_admin(msg) @@ -314,7 +314,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) GLOB.ahelp_tickets.ListInsert(src) AddInteraction("Closed by [key_name_admin(usr)].") if(initiator) - to_chat(initiator, "Ticket [TicketHref("#[id]")] was closed by [key_name(usr,FALSE,FALSE)].") + to_chat(initiator, "[span_red("Ticket [TicketHref("#[id]")] was closed by [key_name(usr,FALSE,FALSE)].")]") if(!silent) feedback_inc("ahelp_close") var/msg = "Ticket [TicketHref("#[id]")] closed by [key_name_admin(usr)]." @@ -339,7 +339,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) AddInteraction("Resolved by [key_name_admin(usr)].") if(initiator) - to_chat(initiator, "Ticket [TicketHref("#[id]")] was marked resolved by [key_name(usr,FALSE,FALSE)].") + to_chat(initiator, "[span_green("Ticket [TicketHref("#[id]")] was marked resolved by [key_name(usr,FALSE,FALSE)].")]") if(!silent) feedback_inc("ahelp_resolve") var/msg = "Ticket [TicketHref("#[id]")] resolved by [key_name_admin(usr)]" @@ -363,8 +363,8 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) if(initiator.is_preference_enabled(/datum/client_preference/holder/play_adminhelp_ping)) initiator << 'sound/effects/adminhelp.ogg' - to_chat(initiator, "- AdminHelp Rejected! -
    \ - Your admin help was rejected.
    \ + to_chat(initiator, "[span_red("- AdminHelp Rejected! -")]
    \ + [span_red("Your admin help was rejected.")]
    \ Please try to be calm, clear, and descriptive in admin helps, do not assume the admin has seen any related events, and clearly state the names of anybody you are reporting.
    ") feedback_inc("ahelp_reject") @@ -387,9 +387,9 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) if(state != AHELP_ACTIVE) return - var/msg = "- AdminHelp marked as IC issue! -
    " - msg += "This is something that can be solved ICly, and does not currently require staff intervention.
    " - msg += "Your AdminHelp may also be unanswerable due to ongoing events.
    " + var/msg = "[span_red("- AdminHelp marked as IC issue! -")]
    " + msg += "[span_red("This is something that can be solved ICly, and does not currently require staff intervention.")]
    " + msg += "[span_red("Your AdminHelp may also be unanswerable due to ongoing events.")]
    " if(initiator) to_chat(initiator, msg) @@ -414,7 +414,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) if(state != AHELP_ACTIVE) return - var/msg = "Your AdminHelp is being handled by [key_name(usr,FALSE,FALSE)] please be patient." + var/msg = span_red("Your AdminHelp is being handled by [key_name(usr,FALSE,FALSE)] please be patient.") if(initiator) to_chat(initiator, msg) diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 10b4bc7cc9..d4344704f5 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -84,11 +84,11 @@ var/datum/gas_mixture/env = T.return_air() - var/t = "Coordinates: [T.x],[T.y],[T.z]\n" - t += "Temperature: [env.temperature]\n" - t += "Pressure: [env.return_pressure()]kPa\n" + var/t = span_blue("Coordinates: [T.x],[T.y],[T.z]\n") + t += span_red("Temperature: [env.temperature]\n") + t += span_red("Pressure: [env.return_pressure()]kPa\n") for(var/g in env.gas) - t += "[g]: [env.gas[g]] / [env.gas[g] * R_IDEAL_GAS_EQUATION * env.temperature / env.volume]kPa\n" + t += span_blue("[g]: [env.gas[g]] / [env.gas[g] * R_IDEAL_GAS_EQUATION * env.temperature / env.volume]kPa\n") usr.show_message(t, 1) feedback_add_details("admin_verb","ASL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -301,7 +301,7 @@ tgui_alert_async(usr, "Invalid mob") feedback_add_details("admin_verb","GFA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! log_admin("[key_name(src)] has granted [M.key] full access.") - message_admins("[key_name_admin(usr)] has granted [M.key] full access.", 1) + message_admins(span_blue("[key_name_admin(usr)] has granted [M.key] full access."), 1) /client/proc/cmd_assume_direct_control(var/mob/M in mob_list) set category = "Admin" @@ -315,7 +315,7 @@ else var/mob/observer/dead/ghost = new/mob/observer/dead(M,1) ghost.ckey = M.ckey - message_admins("[key_name_admin(usr)] assumed direct control of [M].", 1) + message_admins(span_blue("[key_name_admin(usr)] assumed direct control of [M]."), 1) log_admin("[key_name(usr)] assumed direct control of [M].") var/mob/adminmob = src.mob M.ckey = src.ckey @@ -567,7 +567,7 @@ SMES.output_level = 75000 if(!found_the_pump && response == "Setup Completely") - to_chat(src, "Unable to locate air supply to fill up with coolant, adding some coolant around the supermatter") + to_chat(src, span_red("Unable to locate air supply to fill up with coolant, adding some coolant around the supermatter")) var/turf/simulated/T = SM.loc T.zone.air.gas["nitrogen"] += 450 T.zone.air.temperature = 50 @@ -575,7 +575,7 @@ log_admin("[key_name(usr)] setup the supermatter engine [response == "Setup except coolant" ? "without coolant" : ""]") - message_admins("[key_name_admin(usr)] setup the supermatter engine [response == "Setup except coolant" ? "without coolant": ""]", 1) + message_admins(span_blue("[key_name_admin(usr)] setup the supermatter engine [response == "Setup except coolant" ? "without coolant": ""]"), 1) return diff --git a/code/modules/admin/verbs/getlogs.dm b/code/modules/admin/verbs/getlogs.dm index 723d59b577..6d79548df3 100644 --- a/code/modules/admin/verbs/getlogs.dm +++ b/code/modules/admin/verbs/getlogs.dm @@ -24,16 +24,16 @@ set category = null if(!src.holder) - to_chat(src, "Only Admins may use this command.") + to_chat(src, span_red("Only Admins may use this command.")) return var/client/target = tgui_input_list(src,"Choose somebody to grant access to the server's runtime logs (permissions expire at the end of each round):","Grant Permissions", GLOB.clients) if(!istype(target,/client)) - to_chat(src, "Error: giveruntimelog(): Client not found.") + to_chat(src, span_red("Error: giveruntimelog(): Client not found.")) return target.verbs |= /client/proc/getruntimelog - to_chat(target, "You have been granted access to runtime logs. Please use them responsibly or risk being banned.") + to_chat(target, span_red("You have been granted access to runtime logs. Please use them responsibly or risk being banned.")) return @@ -89,7 +89,7 @@ if( fexists(path) ) src << run( file(path) ) else - to_chat(src, "Error: view_txt_log(): File not found/Invalid path([path]).") + to_chat(src, span_red("Error: view_txt_log(): File not found/Invalid path([path]).")) return feedback_add_details("admin_verb","VTL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return diff --git a/code/modules/admin/verbs/mapping.dm b/code/modules/admin/verbs/mapping.dm index fea37f2931..7d5f92142e 100644 --- a/code/modules/admin/verbs/mapping.dm +++ b/code/modules/admin/verbs/mapping.dm @@ -218,7 +218,7 @@ var/list/debug_verbs = list ( var/turf/simulated/location = get_turf(usr) if(!istype(location, /turf/simulated)) // We're in space, let's not cause runtimes. - to_chat(usr, "this debug tool cannot be used from space") + to_chat(usr, span_red("this debug tool cannot be used from space")) return var/icon/red = new('icons/misc/debug_group.dmi', "red") //created here so we don't have to make thousands of these. @@ -227,10 +227,10 @@ var/list/debug_verbs = list ( if(!usedZAScolors) to_chat(usr, "ZAS Test Colors") - to_chat(usr, "Green = Zone you are standing in") - to_chat(usr, "Blue = Connected zone to the zone you are standing in") - to_chat(usr, "Yellow = A zone that is connected but not one adjacent to your connected zone") - to_chat(usr, "Red = Not connected") + to_chat(usr, "[span_green("Green")] = Zone you are standing in") + to_chat(usr, "[span_blue("Blue")] = Connected zone to the zone you are standing in") + to_chat(usr, "[span_yellow("Yellow")] = A zone that is connected but not one adjacent to your connected zone") + to_chat(usr, "[span_red("Red")] = Not connected") usedZAScolors = 1 testZAScolors_zones += location.zone @@ -362,7 +362,7 @@ var/global/prevent_airgroup_regroup = 0 set category = "Mapping" set name = "Regroup All Airgroups Attempt" - to_chat(usr, "Proc disabled.") //Why not.. Delete the procs instead? + to_chat(usr, span_red("Proc disabled.")) //Why not.. Delete the procs instead? /*prevent_airgroup_regroup = 0 for(var/datum/air_group/AG in air_master.air_groups) @@ -373,7 +373,7 @@ var/global/prevent_airgroup_regroup = 0 set category = "Mapping" set name = "Kill pipe processing" - to_chat(usr, "Proc disabled.") + to_chat(usr, span_red("Proc disabled.")) /*pipe_processing_killed = !pipe_processing_killed if(pipe_processing_killed) @@ -385,7 +385,7 @@ var/global/prevent_airgroup_regroup = 0 set category = "Mapping" set name = "Kill air processing" - to_chat(usr, "Proc disabled.") + to_chat(usr, span_red("Proc disabled.")) /*air_processing_killed = !air_processing_killed if(air_processing_killed) @@ -399,7 +399,7 @@ var/global/say_disabled = 0 set category = "Mapping" set name = "Disable all communication verbs" - to_chat(usr, "Proc disabled.") + to_chat(usr, span_red("Proc disabled.")) /*say_disabled = !say_disabled if(say_disabled) @@ -414,7 +414,7 @@ var/global/movement_disabled_exception //This is the client that calls the proc, set category = "Mapping" set name = "Disable all movement" - to_chat(usr, "Proc disabled.") + to_chat(usr, span_red("Proc disabled.")) /*movement_disabled = !movement_disabled if(movement_disabled) diff --git a/code/modules/admin/verbs/pray.dm b/code/modules/admin/verbs/pray.dm index ffac68a6f9..4add0123f8 100644 --- a/code/modules/admin/verbs/pray.dm +++ b/code/modules/admin/verbs/pray.dm @@ -3,7 +3,7 @@ set name = "Pray" if(say_disabled) //This is here to try to identify lag problems - to_chat(usr, "Speech is currently admin-disabled.") + to_chat(usr, span_red("Speech is currently admin-disabled.")) return var/raw_msg = sanitize(tgui_input_text(usr, "Prayers are sent to staff but do not open tickets or go to Discord. If you have a technical difficulty or an event/spice idea/hook - please ahelp instead. Thank you!", "Pray", null, MAX_MESSAGE_LEN)) @@ -13,11 +13,11 @@ if(raw_msg) client.handle_spam_prevention(MUTE_PRAY) if(usr.client.prefs.muted & MUTE_PRAY) - to_chat(usr, " You cannot pray (muted).") + to_chat(usr, span_red("You cannot pray (muted).")) return var/icon/cross = icon('icons/obj/storage.dmi',"bible") - var/msg = "\icon[cross][bicon(cross)] PRAY: [key_name(src, 1)] [ADMIN_QUE(src)] [ADMIN_PP(src)] [ADMIN_VV(src)] [ADMIN_SM(src)] ([admin_jump_link(src, src)]) [ADMIN_CA(src)] [ADMIN_SC(src)] [ADMIN_SMITE(src)]: [raw_msg]" + var/msg = "" + span_blue("\icon[cross][bicon(cross)] " + span_purple("PRAY: ") + "[key_name(src, 1)] [ADMIN_QUE(src)] [ADMIN_PP(src)] [ADMIN_VV(src)] [ADMIN_SM(src)] ([admin_jump_link(src, src)]) [ADMIN_CA(src)] [ADMIN_SC(src)] [ADMIN_SMITE(src)]: [raw_msg]") + "" for(var/client/C in GLOB.admins) if(R_ADMIN|R_EVENT & C.holder.rights) @@ -30,14 +30,14 @@ log_pray(raw_msg, src) /proc/CentCom_announce(var/msg, var/mob/Sender, var/iamessage) - msg = "[uppertext(using_map.boss_short)]M[iamessage ? " IA" : ""]:[key_name(Sender, 1)] [ADMIN_PP(Sender)] [ADMIN_VV(Sender)] [ADMIN_SM(Sender)] ([admin_jump_link(Sender)]) [ADMIN_CA(Sender)] [ADMIN_BSA(Sender)] [ADMIN_CENTCOM_REPLY(Sender)]: [msg]" + msg = span_blue("" + span_orange("[uppertext(using_map.boss_short)]M[iamessage ? " IA" : ""]:") + "[key_name(Sender, 1)] [ADMIN_PP(Sender)] [ADMIN_VV(Sender)] [ADMIN_SM(Sender)] ([admin_jump_link(Sender)]) [ADMIN_CA(Sender)] [ADMIN_BSA(Sender)] [ADMIN_CENTCOM_REPLY(Sender)]: [msg]") for(var/client/C in GLOB.admins) //VOREStation Edit - GLOB admins if(R_ADMIN|R_EVENT & C.holder.rights) to_chat(C,msg) C << 'sound/machines/signal.ogg' /proc/Syndicate_announce(var/msg, var/mob/Sender) - msg = "ILLEGAL:[key_name(Sender, 1)] [ADMIN_PP(Sender)] [ADMIN_VV(Sender)] [ADMIN_SM(Sender)] ([admin_jump_link(Sender)]) [ADMIN_CA(Sender)] [ADMIN_BSA(Sender)] [ADMIN_SYNDICATE_REPLY(Sender)]: [msg]" + msg = span_blue("" + span_crimson("ILLEGAL:") + "[key_name(Sender, 1)] [ADMIN_PP(Sender)] [ADMIN_VV(Sender)] [ADMIN_SM(Sender)] ([admin_jump_link(Sender)]) [ADMIN_CA(Sender)] [ADMIN_BSA(Sender)] [ADMIN_SYNDICATE_REPLY(Sender)]: [msg]") for(var/client/C in GLOB.admins) //VOREStation Edit - GLOB admins if(R_ADMIN|R_EVENT & C.holder.rights) to_chat(C,msg) diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 2719ad6dbf..64987e38c1 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -39,9 +39,9 @@ prisoner.equip_to_slot_or_del(new /obj/item/clothing/under/color/prison(prisoner), slot_w_uniform) prisoner.equip_to_slot_or_del(new /obj/item/clothing/shoes/orange(prisoner), slot_shoes) spawn(50) - to_chat(M, "You have been sent to the prison station!") + to_chat(M, span_red("You have been sent to the prison station!")) log_admin("[key_name(usr)] sent [key_name(M)] to the prison station.") - message_admins("[key_name_admin(usr)] sent [key_name_admin(M)] to the prison station.", 1) + message_admins(span_blue("[key_name_admin(usr)] sent [key_name_admin(M)] to the prison station."), 1) feedback_add_details("admin_verb","PRISON") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! //Allows staff to determine who the newer players are. @@ -123,7 +123,7 @@ to_world("[msg]") log_admin("GlobalNarrate: [key_name(usr)] : [msg]") - message_admins(" GlobalNarrate: [key_name_admin(usr)] : [msg]
    ", 1) + message_admins(span_blue(" GlobalNarrate: [key_name_admin(usr)] : [msg]
    "), 1) feedback_add_details("admin_verb","GLN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_admin_direct_narrate(var/mob/M) // Targetted narrate -- TLE @@ -161,7 +161,7 @@ return M.status_flags ^= GODMODE - to_chat(usr, " Toggled [(M.status_flags & GODMODE) ? "ON" : "OFF"]") + to_chat(usr, span_blue("Toggled [(M.status_flags & GODMODE) ? "ON" : "OFF"]")) log_admin("[key_name(usr)] has toggled [key_name(M)]'s nodamage to [(M.status_flags & GODMODE) ? "On" : "Off"]") var/msg = "[key_name_admin(usr)] has toggled [ADMIN_LOOKUPFLW(M)]'s nodamage to [(M.status_flags & GODMODE) ? "On" : "Off"]" @@ -178,12 +178,12 @@ if(!usr || !usr.client) return if(!usr.client.holder) - to_chat(usr, "Error: cmd_admin_mute: You don't have permission to do this.") + to_chat(usr, span_red("Error: cmd_admin_mute: You don't have permission to do this.")) return if(!M.client) - to_chat(usr, "Error: cmd_admin_mute: This mob doesn't have a client tied to it.") + to_chat(usr, span_red("Error: cmd_admin_mute: This mob doesn't have a client tied to it.")) if(M.client.holder) - to_chat(usr, "Error: cmd_admin_mute: You cannot mute an admin/mod.") + to_chat(usr, span_red("Error: cmd_admin_mute: You cannot mute an admin/mod.")) if(!M.client) return if(M.client.holder) @@ -324,18 +324,18 @@ Ccomp's first proc. if(g.antagHUD) g.antagHUD = 0 // Disable it on those that have it enabled g.has_enabled_antagHUD = 2 // We'll allow them to respawn - to_chat(g, "The Administrator has disabled AntagHUD ") + to_chat(g, span_red("The Administrator has disabled AntagHUD ")) config.antag_hud_allowed = 0 - to_chat(src, "AntagHUD usage has been disabled") + to_chat(src, span_red("AntagHUD usage has been disabled")) action = "disabled" else for(var/mob/observer/dead/g in get_ghosts()) if(!g.client.holder) // Add the verb back for all non-admin ghosts g.verbs += /mob/observer/dead/verb/toggle_antagHUD - to_chat(g, "The Administrator has enabled AntagHUD ") // Notify all observers they can now use AntagHUD + to_chat(g, span_blue("The Administrator has enabled AntagHUD ")) // Notify all observers they can now use AntagHUD config.antag_hud_allowed = 1 action = "enabled" - to_chat(src, "AntagHUD usage has been enabled") + to_chat(src, span_blue("AntagHUD usage has been enabled")) log_admin("[key_name(usr)] has [action] antagHUD usage for observers") @@ -354,19 +354,19 @@ Ccomp's first proc. var/action="" if(config.antag_hud_restricted) for(var/mob/observer/dead/g in get_ghosts()) - to_chat(g, "The administrator has lifted restrictions on joining the round if you use AntagHUD") + to_chat(g, span_blue("The administrator has lifted restrictions on joining the round if you use AntagHUD")) action = "lifted restrictions" config.antag_hud_restricted = 0 - to_chat(src, "AntagHUD restrictions have been lifted") + to_chat(src, span_blue("AntagHUD restrictions have been lifted")) else for(var/mob/observer/dead/g in get_ghosts()) - to_chat(g, "The administrator has placed restrictions on joining the round if you use AntagHUD") - to_chat(g, "Your AntagHUD has been disabled, you may choose to re-enabled it but will be under restrictions ") + to_chat(g, span_red("The administrator has placed restrictions on joining the round if you use AntagHUD")) + to_chat(g, span_red("Your AntagHUD has been disabled, you may choose to re-enabled it but will be under restrictions ")) g.antagHUD = 0 g.has_enabled_antagHUD = 0 action = "placed restrictions" config.antag_hud_restricted = 1 - to_chat(src, "AntagHUD restrictions have been enabled") + to_chat(src, span_red("AntagHUD restrictions have been enabled")) log_admin("[key_name(usr)] has [action] on joining the round if they use AntagHUD") message_admins("Admin [key_name_admin(usr)] has [action] on joining the round if they use AntagHUD", 1) @@ -605,7 +605,7 @@ Traitors and the like can also be revived with the previous role mostly intact. else M.add_ion_law(input) for(var/mob/living/silicon/ai/O in mob_list) - to_chat(O,input + "... LAWS UPDATED!") + to_chat(O,input + span_red("... LAWS UPDATED!")) O.show_laws() log_admin("Admin [key_name(usr)] has added a new AI law - [input]") @@ -660,7 +660,7 @@ Traitors and the like can also be revived with the previous role mostly intact. if("Yes") command_announcement.Announce(input, customname, new_sound = 'sound/AI/commandreport.ogg', msg_sanitized = 1); if("No") - to_world("New [using_map.company_name] Update available at all communication consoles.") + to_world(span_red("New [using_map.company_name] Update available at all communication consoles.")) world << sound('sound/AI/commandreport.ogg') log_admin("[key_name(src)] has created a command report: [input]") @@ -778,7 +778,7 @@ Traitors and the like can also be revived with the previous role mostly intact. mob.gib() log_admin("[key_name(usr)] used gibself.") - message_admins("[key_name_admin(usr)] used gibself.", 1) + message_admins(span_blue("[key_name_admin(usr)] used gibself."), 1) feedback_add_details("admin_verb","GIBS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /* /client/proc/cmd_manual_ban() @@ -935,7 +935,7 @@ Traitors and the like can also be revived with the previous role mostly intact. feedback_add_details("admin_verb","CSHUT") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! log_admin("[key_name(usr)] admin-called the emergency shuttle.") - message_admins("[key_name_admin(usr)] admin-called the emergency shuttle.", 1) + message_admins(span_blue("[key_name_admin(usr)] admin-called the emergency shuttle."), 1) return /client/proc/admin_cancel_shuttle() @@ -952,7 +952,7 @@ Traitors and the like can also be revived with the previous role mostly intact. emergency_shuttle.recall() feedback_add_details("admin_verb","CCSHUT") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! log_admin("[key_name(usr)] admin-recalled the emergency shuttle.") - message_admins("[key_name_admin(usr)] admin-recalled the emergency shuttle.", 1) + message_admins(span_blue("[key_name_admin(usr)] admin-recalled the emergency shuttle."), 1) return @@ -974,7 +974,7 @@ Traitors and the like can also be revived with the previous role mostly intact. set category = "Special Verbs" set name = "Attack Log" - to_chat(usr, "Attack Log for [mob]") + to_chat(usr, span_red("Attack Log for [mob]")) for(var/t in M.attack_log) to_chat(usr,t) feedback_add_details("admin_verb","ATTL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -1006,7 +1006,7 @@ Traitors and the like can also be revived with the previous role mostly intact. message_admins("Admin [key_name_admin(usr)] has forced the players to have random appearances.", 1) if(notifyplayers == "Yes") - to_world("Admin [usr.key] has forced the players to have completely random identities!") + to_world(span_blue("Admin [usr.key] has forced the players to have completely random identities!")) to_chat(usr, "Remember: you can always disable the randomness by using the verb again, assuming the round hasn't started yet.") @@ -1161,4 +1161,4 @@ Traitors and the like can also be revived with the previous role mostly intact. if("Polite") new /obj/structure/drop_pod/polite(get_turf(usr), L, autoopen == "Yes" ? TRUE : FALSE) - feedback_add_details("admin_verb","DPD") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! \ No newline at end of file + feedback_add_details("admin_verb","DPD") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! diff --git a/code/modules/admin/verbs/randomverbs_vr.dm b/code/modules/admin/verbs/randomverbs_vr.dm index d19d67916a..6a1e90aed1 100644 --- a/code/modules/admin/verbs/randomverbs_vr.dm +++ b/code/modules/admin/verbs/randomverbs_vr.dm @@ -2,7 +2,7 @@ set category = "Special Verbs" set name = "Spawn Character As Mob" set desc = "Spawn a specified ckey as a chosen mob." - + if(!holder) return @@ -95,7 +95,7 @@ if(M.z == pos_z) to_chat(M, msg) log_admin("ZNarrate: [key_name(usr)] : [msg]") - message_admins(" ZNarrate: [key_name_admin(usr)] : [msg]
    ", 1) + message_admins(span_blue(" ZNarrate: [key_name_admin(usr)] : [msg]
    "), 1) feedback_add_details("admin_verb","GLNA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/toggle_vantag_hud(var/mob/target as mob) @@ -107,10 +107,10 @@ target.vantag_hud = FALSE target.recalculate_vis() to_chat(src, "You removed the event HUD from [key_name(target)].") - to_chat(target, "You no longer have the event HUD.") + to_chat(target, "You no longer have the event HUD.") else target.vantag_hud = TRUE target.recalculate_vis() to_chat(src, "You gave the event HUD to [key_name(target)].") - to_chat(target, "You now have the event HUD. Icons will appear next to characters indicating if they prefer to be killed(red crosshairs), devoured(belly), or kidnapped(blue crosshairs) by event characters.") + to_chat(target, "You now have the event HUD. Icons will appear next to characters indicating if they prefer to be killed(red crosshairs), devoured(belly), or kidnapped(blue crosshairs) by event characters.") feedback_add_details("admin_verb","GREHud") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! diff --git a/code/modules/admin/verbs/striketeam.dm b/code/modules/admin/verbs/striketeam.dm index 7724062a6e..85e13ce288 100644 --- a/code/modules/admin/verbs/striketeam.dm +++ b/code/modules/admin/verbs/striketeam.dm @@ -11,11 +11,11 @@ var/const/commandos_possible = 6 //if more Commandos are needed in the future return if(!ticker) - to_chat(usr, "The game hasn't started yet!") + to_chat(usr, span_red("The game hasn't started yet!")) return if(world.time < 6000) - to_chat(usr, "There are [(6000-world.time)/10] seconds remaining before it may be called.") + to_chat(usr, span_red("There are [(6000-world.time)/10] seconds remaining before it may be called.")) return var/datum/antagonist/deathsquad/team @@ -33,7 +33,7 @@ var/const/commandos_possible = 6 //if more Commandos are needed in the future return if(team.deployed) - to_chat(usr, "Someone is already sending a team.") + to_chat(usr, span_red("Someone is already sending a team.")) return if(tgui_alert(usr, "Do you want to send in a strike team? Once enabled, this is irreversible.","Strike Team",list("Yes","No"))!="Yes") diff --git a/code/modules/admin/verbs/tripAI.dm b/code/modules/admin/verbs/tripAI.dm index eaf6dfa49f..9298d1111c 100644 --- a/code/modules/admin/verbs/tripAI.dm +++ b/code/modules/admin/verbs/tripAI.dm @@ -14,9 +14,9 @@ if(ticker.triai) ticker.triai = 0 to_chat(usr, "Only one AI will be spawned at round start.") - message_admins("[key_name_admin(usr)] has toggled off triple AIs at round start.", 1) + message_admins(span_blue("[key_name_admin(usr)] has toggled off triple AIs at round start."), 1) else ticker.triai = 1 to_chat(usr, "There will be an AI Triumvirate at round start.") - message_admins("[key_name_admin(usr)] has toggled on triple AIs at round start.", 1) + message_admins(span_blue("[key_name_admin(usr)] has toggled on triple AIs at round start."), 1) return diff --git a/code/modules/artifice/cursedform.dm b/code/modules/artifice/cursedform.dm index 43acac8bf3..ee994924c8 100644 --- a/code/modules/artifice/cursedform.dm +++ b/code/modules/artifice/cursedform.dm @@ -31,7 +31,7 @@ qdel(src) else - to_chat(user,"You must hold \the [P] steady to burn \the [src].") + to_chat(user, span_red("You must hold \the [P] steady to burn \the [src].")) if(isliving(user)) var/mob/living/L = user diff --git a/code/modules/artifice/deadringer.dm b/code/modules/artifice/deadringer.dm index d0774dc2a5..ed4e184543 100644 --- a/code/modules/artifice/deadringer.dm +++ b/code/modules/artifice/deadringer.dm @@ -32,20 +32,20 @@ /obj/item/weapon/deadringer/attack_self(var/mob/living/user as mob) var/mob/living/H = src.loc if (!istype(H, /mob/living/carbon/human)) - to_chat(H,"You have no clue what to do with this thing.") + to_chat(H, span_blue("You have no clue what to do with this thing.")) return if(!activated) if(timer == 0) - to_chat(H, "You press a small button on [src]'s side. It starts to hum quietly.") + to_chat(H, span_blue("You press a small button on [src]'s side. It starts to hum quietly.")) bruteloss_prev = H.getBruteLoss() fireloss_prev = H.getFireLoss() activated = 1 return else - to_chat(H,"You press a small button on [src]'s side. It buzzes a little.") + to_chat(H, span_blue("You press a small button on [src]'s side. It buzzes a little.")) return if(activated) - to_chat(H,"You press a small button on [src]'s side. It stops humming.") + to_chat(H, span_blue("You press a small button on [src]'s side. It stops humming.")) activated = 0 return @@ -58,9 +58,9 @@ deathprevent() activated = 0 if(watchowner.isSynthetic()) - to_chat(watchowner, "You fade into nothingness! [src]'s screen blinks, being unable to copy your synthetic body!") + to_chat(watchowner, span_blue("You fade into nothingness! [src]'s screen blinks, being unable to copy your synthetic body!")) else - to_chat(watchowner, "You fade into nothingness, leaving behind a fake body!") + to_chat(watchowner, span_blue("You fade into nothingness, leaving behind a fake body!")) icon_state = "deadringer_cd" timer = 50 return diff --git a/code/modules/assembly/mousetrap.dm b/code/modules/assembly/mousetrap.dm index 31f4ca5244..dbd4ffc859 100644 --- a/code/modules/assembly/mousetrap.dm +++ b/code/modules/assembly/mousetrap.dm @@ -41,7 +41,7 @@ H.updatehealth() else if(ismouse(target)) var/mob/living/simple_mob/animal/passive/mouse/M = target - visible_message("SPLAT!") + visible_message(span_red("SPLAT!")) M.splat() playsound(target, 'sound/effects/snap.ogg', 50, 1) layer = MOB_LAYER - 0.2 @@ -120,4 +120,4 @@ return layer = HIDING_LAYER - to_chat(usr, "You hide [src].") \ No newline at end of file + to_chat(usr, "You hide [src].") diff --git a/code/modules/awaymissions/gateway.dm b/code/modules/awaymissions/gateway.dm index 6474e008b7..156002b3c0 100644 --- a/code/modules/awaymissions/gateway.dm +++ b/code/modules/awaymissions/gateway.dm @@ -44,12 +44,12 @@ GLOBAL_DATUM(gateway_station, /obj/machinery/gateway/centerstation) update_icon() wait = world.time + config.gateway_delay //+ thirty minutes default - + if(GLOB.gateway_away) awaygate = GLOB.gateway_away else awaygate = locate(/obj/machinery/gateway/centeraway) - + . = ..() density = TRUE //VOREStation Add @@ -167,7 +167,7 @@ GLOBAL_DATUM(gateway_station, /obj/machinery/gateway/centerstation) if(dest) M.forceMove(dest.loc) M.set_dir(SOUTH) - //VOREStation Addition Start: Mcguffin time! + //VOREStation Addition Start: Mcguffin time! if(ishuman(M)) var/mob/living/carbon/human/H = M if(H.client) @@ -177,7 +177,7 @@ GLOBAL_DATUM(gateway_station, /obj/machinery/gateway/centerstation) //VOREStation Addition Start: Abduction! if(istype(M, /mob/living) && dest.abductor) var/mob/living/L = M - if(L.nutrition > 500) + if(L.nutrition > 500) L.nutrition = 500 //If the aim is to negate people overpreparing, then they shouldn't be able to stuff themselves full of food either. //Situations to get the mob out of if(L.buckled) @@ -225,7 +225,7 @@ GLOBAL_DATUM(gateway_station, /obj/machinery/gateway/centerstation) /obj/machinery/gateway/centerstation/attackby(obj/item/device/W as obj, mob/user as mob) if(istype(W,/obj/item/device/multitool)) - if(!awaygate) + if(!awaygate) if(GLOB.gateway_away) awaygate = GLOB.gateway_away else @@ -235,7 +235,7 @@ GLOBAL_DATUM(gateway_station, /obj/machinery/gateway/centerstation) return to_chat(user, "Startup programming successful!: A destination in another point of space and time has been detected.") else - to_chat(user, "The gate is already calibrated, there is no work for you to do here.") + to_chat(user, span_black("The gate is already calibrated, there is no work for you to do here.")) return /////////////////////////////////////Away//////////////////////// @@ -257,9 +257,9 @@ GLOBAL_DATUM(gateway_away, /obj/machinery/gateway/centeraway) warning("[src] at [x],[y],[z] appears to be an additional away-gateway") else GLOB.gateway_away = src - + update_icon() - + if(GLOB.gateway_station) stationgate = GLOB.gateway_station else @@ -338,7 +338,7 @@ GLOBAL_DATUM(gateway_away, /obj/machinery/gateway/centeraway) if(istype(M, /mob/living/carbon)) for(var/obj/item/weapon/implant/exile/E in M)//Checking that there is an exile implant in the contents if(E.imp_in == M)//Checking that it's actually implanted vs just in their pocket - to_chat(M, "The station gate has detected your exile implant and is blocking your entry.") + to_chat(M, span_black("The station gate has detected your exile implant and is blocking your entry.")) return M.forceMove(get_step(stationgate.loc, SOUTH)) M.set_dir(SOUTH) @@ -349,7 +349,7 @@ GLOBAL_DATUM(gateway_away, /obj/machinery/gateway/centeraway) /obj/machinery/gateway/centeraway/attackby(obj/item/device/W as obj, mob/user as mob) if(istype(W,/obj/item/device/multitool)) if(calibrated && stationgate) - to_chat(user, "The gate is already calibrated, there is no work for you to do here.") + to_chat(user, span_black("The gate is already calibrated, there is no work for you to do here.")) return else // VOREStation Add @@ -362,6 +362,6 @@ GLOBAL_DATUM(gateway_away, /obj/machinery/gateway/centeraway) return // VOREStation Add End else - to_chat(user, "Recalibration successful!: This gate's systems have been fine tuned. Travel to this gate will now be on target.") + to_chat(user, span_blue("Recalibration successful!:") + span_black(" This gate's systems have been fine tuned. Travel to this gate will now be on target.")) calibrated = 1 - return \ No newline at end of file + return diff --git a/code/modules/awaymissions/gateway_vr.dm b/code/modules/awaymissions/gateway_vr.dm index 86ff8e5e13..25a57ce7d7 100644 --- a/code/modules/awaymissions/gateway_vr.dm +++ b/code/modules/awaymissions/gateway_vr.dm @@ -15,7 +15,7 @@ return if(istype(W,mcguffin_type) && !calibrated) - to_chat(user, "As the device nears the gateway, mechanical clunks and whirrs can be heard.
    Configuration successful!
    This gate's systems have been fine tuned. Travel to this gate will now be on target.
    ") + to_chat(user, "As the device nears the gateway, mechanical clunks and whirrs can be heard.
    [span_blue("Configuration successful! ")]
    This gate's systems have been fine tuned. Travel to this gate will now be on target.
    ") calibrated = 1 return else @@ -39,7 +39,7 @@ /obj/machinery/gateway/centeraway/proc/entrydetect() return - + /obj/machinery/gateway/centeraway/mcguffin/entrydetect() if(key) return @@ -47,9 +47,9 @@ var/list/spawners = list() for(var/obj/effect/landmark/mcguffin_spawner/sp in world) spawners += sp - + var/obj/effect/landmark/mcguffin_spawner/the_cool_one = pick(spawners) - + var/atom/destination = get_turf(the_cool_one) var/obj/structure/closet/CL = locate() in destination if(CL) @@ -76,4 +76,4 @@ //No, you can't digest the key to leave the gateway. /obj/item/device/mcguffin/digest_act(var/atom/movable/item_storage = null) - return FALSE \ No newline at end of file + return FALSE diff --git a/code/modules/awaymissions/zlevel.dm b/code/modules/awaymissions/zlevel.dm index fea781da8b..8a959a6501 100644 --- a/code/modules/awaymissions/zlevel.dm +++ b/code/modules/awaymissions/zlevel.dm @@ -3,7 +3,7 @@ return var/list/potentialRandomZlevels = list() - admin_notice(" Searching for away missions...", R_DEBUG) + admin_notice(span_red(" Searching for away missions..."), R_DEBUG) var/list/Lines = file2list("maps/RandomZLevels/fileList.txt") if(!Lines.len) return for (var/t in Lines) @@ -35,7 +35,7 @@ if(potentialRandomZlevels.len) - admin_notice("Loading away mission...", R_DEBUG) + admin_notice(span_red("Loading away mission..."), R_DEBUG) var/map = pick(potentialRandomZlevels) to_world_log("Away mission picked: [map]") //VOREStation Add for debugging @@ -50,10 +50,10 @@ continue awaydestinations.Add(L) */ //VOREStation Removal End - admin_notice("Away mission loaded.", R_DEBUG) + admin_notice(span_red("Away mission loaded."), R_DEBUG) else - admin_notice("No away missions found.", R_DEBUG) + admin_notice(span_red("No away missions found."), R_DEBUG) return //VOREStation Add - This landmark type so it's not so ghetto. diff --git a/code/modules/client/client procs.dm b/code/modules/client/client procs.dm index 1efa62c77c..525f7256f4 100644 --- a/code/modules/client/client procs.dm +++ b/code/modules/client/client procs.dm @@ -143,7 +143,7 @@ //This stops files larger than UPLOAD_LIMIT being sent from client to server via input(), client.Import() etc. /client/AllowUpload(filename, filelength) if(filelength > UPLOAD_LIMIT) - to_chat(src, "Error: AllowUpload(): File Upload too large. Upload Limit: [UPLOAD_LIMIT/1024]KiB.") + to_chat(src, span_red("Error: AllowUpload(): File Upload too large. Upload Limit: [UPLOAD_LIMIT/1024]KiB.")) return 0 /* //Don't need this at the moment. But it's here if it's needed later. //Helps prevent multiple files being uploaded at once. Or right after eachother. @@ -173,7 +173,7 @@ //Only show this if they are put into a new_player mob. Otherwise, "what title screen?" if(isnewplayer(src.mob)) - to_chat(src, "If the title screen is black, resources are still downloading. Please be patient until the title screen appears.") + to_chat(src, span_red("If the title screen is black, resources are still downloading. Please be patient until the title screen appears.")) GLOB.clients += src GLOB.directory[ckey] = src diff --git a/code/modules/client/verbs/who.dm b/code/modules/client/verbs/who.dm index a9e4c07f80..b00d2bb896 100644 --- a/code/modules/client/verbs/who.dm +++ b/code/modules/client/verbs/who.dm @@ -16,29 +16,29 @@ entry += " - Playing as [C.mob.real_name]" switch(C.mob.stat) if(UNCONSCIOUS) - entry += " - Unconscious" + entry += " - [span_darkgray("Unconscious")]" if(DEAD) if(isobserver(C.mob)) var/mob/observer/dead/O = C.mob if(O.started_as_observer) - entry += " - Observing" + entry += " - [span_gray("Observing")]" else - entry += " - DEAD" + entry += " - [span_black("DEAD")]" else - entry += " - DEAD" + entry += " - [span_black("DEAD")]" if(C.player_age != initial(C.player_age) && isnum(C.player_age)) // database is on var/age = C.player_age switch(age) if(0 to 1) - age = "[age] days old" + age = span_red("[age] days old") if(1 to 10) - age = "[age] days old" + age = span_orange("[age] days old") else entry += " - [age] days old" if(is_special_character(C.mob)) - entry += " - Antagonist" + entry += " - [span_red("Antagonist")]" if(C.is_afk()) var/seconds = C.last_activity_seconds() diff --git a/code/modules/clothing/clothing_vr.dm b/code/modules/clothing/clothing_vr.dm index b56e84921e..32cfb9cffc 100644 --- a/code/modules/clothing/clothing_vr.dm +++ b/code/modules/clothing/clothing_vr.dm @@ -11,10 +11,10 @@ /obj/item/clothing/shoes/New() inside_emotes = list( - "You feel weightless for a moment as \the [name] moves upwards.", - "\The [name] are a ride you've got no choice but to participate in as the wearer moves.", - "The wearer of \the [name] moves, pressing down on you.", - "More motion while \the [name] move, feet pressing down against you." + span_red("You feel weightless for a moment as \the [name] moves upwards."), + span_red("\The [name] are a ride you've got no choice but to participate in as the wearer moves."), + span_red("The wearer of \the [name] moves, pressing down on you."), + span_red("More motion while \the [name] move, feet pressing down against you.") ) ..() @@ -116,20 +116,20 @@ if(ishuman(src.loc)) //Is this on a person? var/mob/living/carbon/human/H = src.loc if(istype(user,/mob/living/voice)) //Is this a possessed item? Spooky. It can move on it's own! - to_chat(H, "The [src] shifts about, almost as if squirming!") - to_chat(user, "You cause the [src] to shift against [H]'s form! Well, what little you can get to, given your current state!") + to_chat(H, span_red("The [src] shifts about, almost as if squirming!")) + to_chat(user, span_red("You cause the [src] to shift against [H]'s form! Well, what little you can get to, given your current state!")) else if(H.shoes == src) - to_chat(H, "[user]'s tiny body presses against you in \the [src], squirming!") - to_chat(user, "Your body presses out against [H]'s form! Well, what little you can get to!") + to_chat(H, span_red("[user]'s tiny body presses against you in \the [src], squirming!")) + to_chat(user, span_red("Your body presses out against [H]'s form! Well, what little you can get to!")) else - to_chat(H, "[user]'s form shifts around in the \the [src], squirming!") - to_chat(user, "You move around inside the [src], to no avail.") + to_chat(H, span_red("[user]'s form shifts around in the \the [src], squirming!")) + to_chat(user, span_red("You move around inside the [src], to no avail.")) else if(istype(user,/mob/living/voice)) //Possessed! - src.visible_message("The [src] shifts about!") - to_chat(user, "You cause the [src] to shift about!") + src.visible_message(span_red("The [src] shifts about!")) + to_chat(user, span_red("You cause the [src] to shift about!")) else - src.visible_message("\The [src] moves a little!") - to_chat(user, "You throw yourself against the inside of \the [src]!") + src.visible_message(span_red("\The [src] moves a little!")) + to_chat(user, span_red("You throw yourself against the inside of \the [src]!")) //Mask /obj/item/clothing/mask diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index 2940b9902e..c38ee2bc01 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -537,7 +537,7 @@ BLIND // can't see anything /obj/item/clothing/glasses/thermal/emp_act(severity) if(istype(src.loc, /mob/living/carbon/human)) var/mob/living/carbon/human/M = src.loc - to_chat(M, "The Optical Thermal Scanner overloads and blinds you!") + to_chat(M, span_red("The Optical Thermal Scanner overloads and blinds you!")) if(M.glasses == src) M.Blind(3) M.eye_blurry = 5 @@ -624,4 +624,3 @@ BLIND // can't see anything to_chat(usr, "You push \the [src] up from in front of your eyes.") update_clothing_icon() usr.update_action_buttons() - diff --git a/code/modules/clothing/masks/hailer.dm b/code/modules/clothing/masks/hailer.dm index 4b12f8382e..8737aa71a1 100644 --- a/code/modules/clothing/masks/hailer.dm +++ b/code/modules/clothing/masks/hailer.dm @@ -155,11 +155,11 @@ if(cooldown < world.time - 35) // A cooldown, to stop people being jerks if(!safety) message = "FUCK YOUR CUNT YOU SHIT EATING COCKSUCKER MAN EAT A DONG FUCKING ASS RAMMING SHIT FUCK EAT PENISES IN YOUR FUCK FACE AND SHIT OUT ABORTIONS OF FUCK AND DO SHIT IN YOUR ASS YOU COCK FUCK SHIT MONKEY FUCK ASS WANKER FROM THE DEPTHS OF SHIT." - usr.visible_message("[usr]'s Compli-o-Nator: [message]") + usr.visible_message("[usr]'s Compli-o-Nator: [span_red("[message]")]") playsound(src, 'sound/voice/binsult.ogg', 50, 0, 4) //Future sound channel = something like SFX cooldown = world.time return - usr.visible_message("[usr]'s Compli-o-Nator: [message]") + usr.visible_message("[usr]'s Compli-o-Nator: [span_red("[message]")]") playsound(src, "sound/voice/complionator/[key].ogg", 50, 0, 4) //future sound channel = something like SFX - cooldown = world.time \ No newline at end of file + cooldown = world.time diff --git a/code/modules/clothing/spacesuits/breaches.dm b/code/modules/clothing/spacesuits/breaches.dm index c12caa2e02..7e74ee57f8 100644 --- a/code/modules/clothing/spacesuits/breaches.dm +++ b/code/modules/clothing/spacesuits/breaches.dm @@ -206,7 +206,7 @@ var/global/list/breach_burn_descriptors = list( else if(W.has_tool_quality(TOOL_WELDER)) if(istype(src.loc,/mob/living)) - to_chat(user, "How do you intend to patch a hardsuit while someone is wearing it?") + to_chat(user, span_red("How do you intend to patch a hardsuit while someone is wearing it?")) return if (!damage || ! brute_damage) @@ -215,7 +215,7 @@ var/global/list/breach_burn_descriptors = list( var/obj/item/weapon/weldingtool/WT = W.get_welder() if(!WT.remove_fuel(5)) - to_chat(user, "You need more welding fuel to repair this suit.") + to_chat(user, span_red("You need more welding fuel to repair this suit.")) return repair_breaches(BRUTE, 3, user) @@ -227,4 +227,4 @@ var/global/list/breach_burn_descriptors = list( . = ..() if(can_breach && breaches?.len) for(var/datum/breach/B in breaches) - . += "It has \a [B.descriptor]." + . += span_red("It has \a [B.descriptor].") diff --git a/code/modules/clothing/spacesuits/rig/modules/combat.dm b/code/modules/clothing/spacesuits/rig/modules/combat.dm index 5d92408e56..4db4e7146e 100644 --- a/code/modules/clothing/spacesuits/rig/modules/combat.dm +++ b/code/modules/clothing/spacesuits/rig/modules/combat.dm @@ -54,7 +54,7 @@ to_chat(user, "Another grenade of that type will not fit into the module.") return 0 - to_chat(user, "You slot \the [input_device] into the suit module.") + to_chat(user, span_blue("You slot \the [input_device] into the suit module.")) user.drop_from_inventory(input_device) qdel(input_device) accepted_item.charges++ @@ -256,7 +256,7 @@ else var/obj/item/new_weapon = new fabrication_type() new_weapon.forceMove(H) - to_chat(H, "You quickly fabricate \a [new_weapon].") + to_chat(H, span_blue("You quickly fabricate \a [new_weapon].")) H.put_in_hands(new_weapon) return 1 diff --git a/code/modules/clothing/spacesuits/rig/modules/computer.dm b/code/modules/clothing/spacesuits/rig/modules/computer.dm index fbf08479f4..21dad8e8c2 100644 --- a/code/modules/clothing/spacesuits/rig/modules/computer.dm +++ b/code/modules/clothing/spacesuits/rig/modules/computer.dm @@ -208,8 +208,8 @@ user.drop_from_inventory(ai) ai.forceMove(src) ai_card = ai - to_chat(ai_mob, "You have been transferred to \the [holder]'s [src].") - to_chat(user, "You load [ai_mob] into \the [holder]'s [src].") + to_chat(ai_mob, span_blue("You have been transferred to \the [holder]'s [src].")) + to_chat(user, span_blue("You load [ai_mob] into \the [holder]'s [src].")) integrated_ai = ai_mob @@ -261,7 +261,7 @@ var/obj/item/weapon/disk/tech_disk/disk = input_device if(disk.stored) if(load_data(disk.stored)) - to_chat(user, "Download successful; disk erased.") + to_chat(user, span_blue"Download successful; disk erased.")) disk.stored = null else to_chat(user, "The disk is corrupt. It is useless to you.") @@ -287,7 +287,7 @@ else // Maybe consider a way to drop all your data into a target repo in the future. if(load_data(incoming_files.known_tech)) - to_chat(user, "Download successful; local and remote repositories synchronized.") + to_chat(user, span_blue("Download successful; local and remote repositories synchronized.")) else to_chat(user, "Scan complete. There is nothing useful stored on this terminal.") return 1 @@ -466,10 +466,10 @@ if(!interfaced_with) if(M) - to_chat(M, "Total power drained: [round(total_power_drained*CELLRATE)] cell units.") + to_chat(M, span_blue("Total power drained: [round(total_power_drained*CELLRATE)] cell units.")) else if(M) - to_chat(M, "Total power drained from [interfaced_with]: [round(total_power_drained*CELLRATE)] cell units.") + to_chat(M, span_blue("Total power drained from [interfaced_with]: [round(total_power_drained*CELLRATE)] cell units.")) interfaced_with.drain_power(0,1,0) // Damage the victim. drain_loc = null diff --git a/code/modules/clothing/spacesuits/rig/modules/ninja.dm b/code/modules/clothing/spacesuits/rig/modules/ninja.dm index 48752e3b6f..8980213480 100644 --- a/code/modules/clothing/spacesuits/rig/modules/ninja.dm +++ b/code/modules/clothing/spacesuits/rig/modules/ninja.dm @@ -37,7 +37,7 @@ var/mob/living/carbon/human/H = holder.wearer - to_chat(H, "You are now nearly invisible to normal detection.") + to_chat(H, span_blue("You are now nearly invisible to normal detection.")) H.alpha = 5 anim(get_turf(H), H, 'icons/effects/effects.dmi', "electricity",null,20,null) diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/ai_container.dm b/code/modules/clothing/spacesuits/rig/modules/specific/ai_container.dm index cdc86a0acf..d3d6208911 100644 --- a/code/modules/clothing/spacesuits/rig/modules/specific/ai_container.dm +++ b/code/modules/clothing/spacesuits/rig/modules/specific/ai_container.dm @@ -200,8 +200,8 @@ user.drop_from_inventory(ai) ai.forceMove(src) ai_card = ai - to_chat(ai_mob, "You have been transferred to \the [holder]'s [src].") - to_chat(user, "You load [ai_mob] into \the [holder]'s [src].") + to_chat(ai_mob, span_blue("You have been transferred to \the [holder]'s [src].")) + to_chat(user, span_blue("You load [ai_mob] into \the [holder]'s [src].")) integrated_ai = ai_mob diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/chem_dispenser.dm b/code/modules/clothing/spacesuits/rig/modules/specific/chem_dispenser.dm index e8d6416e9a..7e1d40858b 100644 --- a/code/modules/clothing/spacesuits/rig/modules/specific/chem_dispenser.dm +++ b/code/modules/clothing/spacesuits/rig/modules/specific/chem_dispenser.dm @@ -71,7 +71,7 @@ break if(total_transferred) - to_chat(user, "You transfer [total_transferred] units into the suit reservoir.") + to_chat(user, span_blue("You transfer [total_transferred] units into the suit reservoir.")) else to_chat(user, "None of the reagents seem suitable.") return 1 diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/cleaner_launcher.dm b/code/modules/clothing/spacesuits/rig/modules/specific/cleaner_launcher.dm index 998fc3d46a..46acec1598 100644 --- a/code/modules/clothing/spacesuits/rig/modules/specific/cleaner_launcher.dm +++ b/code/modules/clothing/spacesuits/rig/modules/specific/cleaner_launcher.dm @@ -34,7 +34,7 @@ to_chat(user, "Another grenade of that type will not fit into the module.") return 0 - to_chat(user, "You slot \the [input_device] into the suit module.") + to_chat(user, span_blue("You slot \the [input_device] into the suit module.")) user.drop_from_inventory(input_device) qdel(input_device) accepted_item.charges++ diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/cloak.dm b/code/modules/clothing/spacesuits/rig/modules/specific/cloak.dm index c63f1c2fbd..2d27dd2ddb 100644 --- a/code/modules/clothing/spacesuits/rig/modules/specific/cloak.dm +++ b/code/modules/clothing/spacesuits/rig/modules/specific/cloak.dm @@ -29,7 +29,7 @@ var/mob/living/carbon/human/H = holder.wearer - to_chat(H, "You are now nearly invisible to normal detection.") + to_chat(H, span_blue("You are now nearly invisible to normal detection.")) H.alpha = 5 anim(get_turf(H), H, 'icons/effects/effects.dmi', "electricity",null,20,null) @@ -50,4 +50,4 @@ H.alpha = initial(H.alpha) H.visible_message("[H.name] appears from thin air!") - playsound(H, 'sound/effects/stealthoff.ogg', 75, 1) \ No newline at end of file + playsound(H, 'sound/effects/stealthoff.ogg', 75, 1) diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/datajack.dm b/code/modules/clothing/spacesuits/rig/modules/specific/datajack.dm index be34426447..d863fa0676 100644 --- a/code/modules/clothing/spacesuits/rig/modules/specific/datajack.dm +++ b/code/modules/clothing/spacesuits/rig/modules/specific/datajack.dm @@ -36,7 +36,7 @@ var/obj/item/weapon/disk/tech_disk/disk = input_device if(disk.stored) if(load_data(disk.stored)) - to_chat(user, "Download successful; disk erased.") + to_chat(user, span_blue("Download successful; disk erased.")) disk.stored = null else to_chat(user, "The disk is corrupt. It is useless to you.") @@ -58,7 +58,7 @@ else // Maybe consider a way to drop all your data into a target repo in the future. if(load_data(incoming_files.known_tech)) - to_chat(user, "Download successful; local and remote repositories synchronized.") + to_chat(user, span_blue("Download successful; local and remote repositories synchronized.")) else to_chat(user, "Scan complete. There is nothing useful stored on this terminal.") return 1 @@ -83,4 +83,4 @@ if(!data_found) stored_research += incoming_data return 1 - return 0 \ No newline at end of file + return 0 diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/grenade_launcher.dm b/code/modules/clothing/spacesuits/rig/modules/specific/grenade_launcher.dm index 9252b062bd..0ae4a461a3 100644 --- a/code/modules/clothing/spacesuits/rig/modules/specific/grenade_launcher.dm +++ b/code/modules/clothing/spacesuits/rig/modules/specific/grenade_launcher.dm @@ -36,7 +36,7 @@ to_chat(user, "Another grenade of that type will not fit into the module.") return 0 - to_chat(user, "You slot \the [input_device] into the suit module.") + to_chat(user, span_blue("You slot \the [input_device] into the suit module.")) user.drop_from_inventory(input_device) qdel(input_device) accepted_item.charges++ diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/inhand_fabricator.dm b/code/modules/clothing/spacesuits/rig/modules/specific/inhand_fabricator.dm index 8e71cf2745..3ea3c09ea8 100644 --- a/code/modules/clothing/spacesuits/rig/modules/specific/inhand_fabricator.dm +++ b/code/modules/clothing/spacesuits/rig/modules/specific/inhand_fabricator.dm @@ -34,7 +34,7 @@ else var/obj/item/new_weapon = new fabrication_type() new_weapon.forceMove(H) - to_chat(H, "You quickly fabricate \a [new_weapon].") + to_chat(H, span_blue("You quickly fabricate \a [new_weapon].")) H.put_in_hands(new_weapon) return 1 diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/passive_protection.dm b/code/modules/clothing/spacesuits/rig/modules/specific/passive_protection.dm index c27e0d9ce3..27eb5f9b79 100644 --- a/code/modules/clothing/spacesuits/rig/modules/specific/passive_protection.dm +++ b/code/modules/clothing/spacesuits/rig/modules/specific/passive_protection.dm @@ -27,14 +27,14 @@ if(!..()) return 0 - + var/mob/living/carbon/human/H = holder.wearer var/obj/item/clothing/shoes/boots = holder.boots var/obj/item/clothing/suit/space/rig/chest = holder.chest var/obj/item/clothing/head/helmet/space/rig/helmet = holder.helmet var/obj/item/clothing/gloves/gauntlets/rig/gloves = holder.gloves - to_chat(H, "You activate your suit's powered radiation shielding.") + to_chat(H, span_blue("You activate your suit's powered radiation shielding.")) stored_rad_armor = holder.armor["rad"] if(boots) boots.armor["rad"] = 100 @@ -107,17 +107,17 @@ if(!..()) return 0 - + var/mob/living/carbon/human/H = holder.wearer var/obj/item/clothing/shoes/boots = holder.boots var/obj/item/clothing/suit/space/rig/chest = holder.chest var/obj/item/clothing/head/helmet/space/rig/helmet = holder.helmet var/obj/item/clothing/gloves/gauntlets/rig/gloves = holder.gloves - + stored_max_pressure = holder.max_pressure_protection stored_max_temp = holder.max_heat_protection_temperature - to_chat(H, "You activate your suit's powered atmospheric shielding.") + to_chat(H, span_blue("You activate your suit's powered atmospheric shielding.")) if(boots) boots.max_pressure_protection = INFINITY @@ -163,4 +163,4 @@ holder.max_heat_protection_temperature = stored_max_temp stored_max_pressure = 0 - stored_max_temp = 0 \ No newline at end of file + stored_max_temp = 0 diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/powersink.dm b/code/modules/clothing/spacesuits/rig/modules/specific/powersink.dm index bfea5ccf1c..562f874af1 100644 --- a/code/modules/clothing/spacesuits/rig/modules/specific/powersink.dm +++ b/code/modules/clothing/spacesuits/rig/modules/specific/powersink.dm @@ -118,10 +118,10 @@ if(!interfaced_with) if(M) - to_chat(M, "Total power drained: [round(total_power_drained*CELLRATE)] cell units.") + to_chat(M, span_blue("Total power drained: [round(total_power_drained*CELLRATE)] cell units.")) else if(M) - to_chat(M, "Total power drained from [interfaced_with]: [round(total_power_drained*CELLRATE)] cell units.") + to_chat(M, span_blue("Total power drained from [interfaced_with]: [round(total_power_drained*CELLRATE)] cell units.")) interfaced_with.drain_power(0,1,0) // Damage the victim. drain_loc = null diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/sprinter.dm b/code/modules/clothing/spacesuits/rig/modules/specific/sprinter.dm index b8646cfa81..2df47f575f 100644 --- a/code/modules/clothing/spacesuits/rig/modules/specific/sprinter.dm +++ b/code/modules/clothing/spacesuits/rig/modules/specific/sprinter.dm @@ -27,7 +27,7 @@ var/mob/living/carbon/human/H = holder.wearer - to_chat(H, "You activate the suit's sprint mode.") + to_chat(H, span_blue("You activate the suit's sprint mode.")) holder.slowdown = initial(holder.slowdown) - sprint_speed diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/vision.dm b/code/modules/clothing/spacesuits/rig/modules/specific/vision.dm index 7e73f08880..37848b2c1d 100644 --- a/code/modules/clothing/spacesuits/rig/modules/specific/vision.dm +++ b/code/modules/clothing/spacesuits/rig/modules/specific/vision.dm @@ -198,7 +198,7 @@ // Don't cycle if this engage() is being called by activate(). if(!active) - to_chat(holder.wearer, "You activate your visual sensors.") + to_chat(holder.wearer, span_blue("You activate your visual sensors.")) return 1 if(vision_modes.len > 1) @@ -207,9 +207,9 @@ vision_index = 1 vision = vision_modes[vision_index] - to_chat(holder.wearer, "You cycle your sensors to [vision.mode] mode.") + to_chat(holder.wearer, span_blue("You cycle your sensors to [vision.mode] mode.")) else - to_chat(holder.wearer, "Your sensors only have one mode.") + to_chat(holder.wearer, span_blue("Your sensors only have one mode.")) return 1 /obj/item/rig_module/vision/activate() @@ -234,4 +234,4 @@ if(!vision) vision = vision_datum processed_vision += vision_datum - vision_modes = processed_vision \ No newline at end of file + vision_modes = processed_vision diff --git a/code/modules/clothing/spacesuits/rig/modules/specific/voice.dm b/code/modules/clothing/spacesuits/rig/modules/specific/voice.dm index fe04d123f5..5f32f15c41 100644 --- a/code/modules/clothing/spacesuits/rig/modules/specific/voice.dm +++ b/code/modules/clothing/spacesuits/rig/modules/specific/voice.dm @@ -38,15 +38,15 @@ if("Enable") active = 1 voice_holder.active = 1 - to_chat(usr, "You enable the speech synthesiser.") + to_chat(usr, span_blue("You enable the speech synthesiser.")) if("Disable") active = 0 voice_holder.active = 0 - to_chat(usr, "You disable the speech synthesiser.") + to_chat(usr, span_blue("You disable the speech synthesiser.")) if("Set Name") var/raw_choice = sanitize(input(usr, "Please enter a new name.") as text|null, MAX_NAME_LEN) if(!raw_choice) return 0 voice_holder.voice = raw_choice - to_chat(usr, "You are now mimicking [voice_holder.voice].") - return 1 \ No newline at end of file + to_chat(usr, span_blue("You are now mimicking [voice_holder.voice].")) + return 1 diff --git a/code/modules/clothing/spacesuits/rig/modules/utility.dm b/code/modules/clothing/spacesuits/rig/modules/utility.dm index 4550eab088..a92dfe1039 100644 --- a/code/modules/clothing/spacesuits/rig/modules/utility.dm +++ b/code/modules/clothing/spacesuits/rig/modules/utility.dm @@ -201,7 +201,7 @@ break if(total_transferred) - to_chat(user, "You transfer [total_transferred] units into the suit reservoir.") + to_chat(user, span_blue("You transfer [total_transferred] units into the suit reservoir.")) else to_chat(user, "None of the reagents seem suitable.") return 1 @@ -330,17 +330,17 @@ if("Enable") active = 1 voice_holder.active = 1 - to_chat(usr, "You enable the speech synthesiser.") + to_chat(usr, span_blue("You enable the speech synthesiser.")) if("Disable") active = 0 voice_holder.active = 0 - to_chat(usr, "You disable the speech synthesiser.") + to_chat(usr, span_blue("You disable the speech synthesiser.")) if("Set Name") var/raw_choice = sanitize(input(usr, "Please enter a new name.") as text|null, MAX_NAME_LEN) if(!raw_choice) return 0 voice_holder.voice = raw_choice - to_chat(usr, "You are now mimicking [voice_holder.voice].") + to_chat(usr, span_blue("You are now mimicking [voice_holder.voice].")) return 1 /obj/item/rig_module/maneuvering_jets @@ -508,7 +508,7 @@ to_chat(user, "Another grenade of that type will not fit into the module.") return 0 - to_chat(user, "You slot \the [input_device] into the suit module.") + to_chat(user, span_blue("You slot \the [input_device] into the suit module.")) user.drop_from_inventory(input_device) qdel(input_device) accepted_item.charges++ @@ -632,7 +632,7 @@ var/mob/living/carbon/human/H = holder.wearer - to_chat(H, "You activate the suit's sprint mode.") + to_chat(H, span_blue("You activate the suit's sprint mode.")) holder.slowdown = initial(holder.slowdown) - sprint_speed diff --git a/code/modules/clothing/spacesuits/rig/modules/vision.dm b/code/modules/clothing/spacesuits/rig/modules/vision.dm index ad8a6fc5ab..d96c6a80fa 100644 --- a/code/modules/clothing/spacesuits/rig/modules/vision.dm +++ b/code/modules/clothing/spacesuits/rig/modules/vision.dm @@ -205,7 +205,7 @@ // Don't cycle if this engage() is being called by activate(). if(starting_up) - to_chat(holder.wearer, "You activate your visual sensors.") + to_chat(holder.wearer, span_blue("You activate your visual sensors.")) return 1 if(vision_modes.len > 1) @@ -214,9 +214,9 @@ vision_index = 1 vision = vision_modes[vision_index] - to_chat(holder.wearer, "You cycle your sensors to [vision.mode] mode.") + to_chat(holder.wearer, span_blue("You cycle your sensors to [vision.mode] mode.")) else - to_chat(holder.wearer, "Your sensors only have one mode.") + to_chat(holder.wearer, span_blue("Your sensors only have one mode.")) return 1 /obj/item/rig_module/vision/activate() diff --git a/code/modules/clothing/spacesuits/rig/rig_verbs.dm b/code/modules/clothing/spacesuits/rig/rig_verbs.dm index b28d93bc55..3cc91f6249 100644 --- a/code/modules/clothing/spacesuits/rig/rig_verbs.dm +++ b/code/modules/clothing/spacesuits/rig/rig_verbs.dm @@ -223,11 +223,11 @@ if(!istype(module)) selected_module = null - to_chat(usr, "Primary system is now: deselected.") + to_chat(usr, span_blue("Primary system is now: deselected.")) return selected_module = module - to_chat(usr, "Primary system is now: [selected_module.interface_name].") + to_chat(usr, span_blue("Primary system is now: [selected_module.interface_name].")) /obj/item/weapon/rig/verb/toggle_module() @@ -261,10 +261,10 @@ return if(module.active) - to_chat(usr, "You attempt to deactivate \the [module.interface_name].") + to_chat(usr, span_blue("You attempt to deactivate \the [module.interface_name].")) module.deactivate() else - to_chat(usr, "You attempt to activate \the [module.interface_name].") + to_chat(usr, span_blue("You attempt to activate \the [module.interface_name].")) module.activate() /obj/item/weapon/rig/verb/engage_module() @@ -298,5 +298,5 @@ if(!istype(module)) return - to_chat(usr, "You attempt to engage the [module.interface_name].") - module.engage() \ No newline at end of file + to_chat(usr, span_blue("You attempt to engage the [module.interface_name].")) + module.engage() diff --git a/code/modules/clothing/spacesuits/spacesuits.dm b/code/modules/clothing/spacesuits/spacesuits.dm index 9ee31aeb60..a07ebe19a9 100644 --- a/code/modules/clothing/spacesuits/spacesuits.dm +++ b/code/modules/clothing/spacesuits/spacesuits.dm @@ -54,11 +54,11 @@ if(camera.status == TRUE) camera.set_status(FALSE) - to_chat(usr, "Camera deactivated.") + to_chat(usr, span_blue("Camera deactivated.")) else camera.set_status(TRUE) camera.c_tag = usr.name - to_chat(usr, "User scanned as [camera.c_tag]. Camera activated.") + to_chat(usr, span_blue("User scanned as [camera.c_tag]. Camera activated.")) /obj/item/clothing/head/helmet/space/examine(mob/user) . = ..() diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index ec0b54befa..001f894ca6 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -198,10 +198,10 @@ /obj/item/clothing/suit/armor/reactive/attack_self(mob/user as mob) active = !( active ) if (active) - to_chat(user, "The reactive armor is now active.") + to_chat(user, span_blue("The reactive armor is now active.")) icon_state = "reactive" else - to_chat(user, "The reactive armor is now inactive.") + to_chat(user, span_blue("The reactive armor is now inactive.")) icon_state = "reactiveoff" add_fingerprint(user) return @@ -639,4 +639,4 @@ starting_accessories = list(/obj/item/clothing/accessory/armor/armorplate/bulletproof, /obj/item/clothing/accessory/armor/armguards/bulletproof, /obj/item/clothing/accessory/armor/legguards/bulletproof, /obj/item/clothing/accessory/storage/pouches) /obj/item/clothing/suit/armor/pcarrier/riot/full - starting_accessories = list(/obj/item/clothing/accessory/armor/armorplate/riot, /obj/item/clothing/accessory/armor/armguards/riot, /obj/item/clothing/accessory/armor/legguards/riot, /obj/item/clothing/accessory/storage/pouches) \ No newline at end of file + starting_accessories = list(/obj/item/clothing/accessory/armor/armorplate/riot, /obj/item/clothing/accessory/armor/armguards/riot, /obj/item/clothing/accessory/armor/legguards/riot, /obj/item/clothing/accessory/storage/pouches) diff --git a/code/modules/economy/ATM.dm b/code/modules/economy/ATM.dm index aae9a23515..5d77b215f3 100644 --- a/code/modules/economy/ATM.dm +++ b/code/modules/economy/ATM.dm @@ -85,7 +85,7 @@ log transactions if(istype(I, /obj/item/weapon/card)) if(emagged > 0) //prevent inserting id into an emagged ATM - to_chat(user, "\icon[src][bicon(src)] CARD READER ERROR. This system has been compromised!") + to_chat(user, span_red("\icon[src][bicon(src)] CARD READER ERROR. This system has been compromised!")) return else if(istype(I,/obj/item/weapon/card/emag)) I.resolve_attackby(src, user) @@ -288,11 +288,11 @@ log transactions T.time = stationtime2text() failed_account.transaction_log.Add(T) else - to_chat(usr, "\icon[src][bicon(src)] Incorrect pin/account combination entered, [max_pin_attempts - number_incorrect_tries] attempts remaining.") + to_chat(usr, span_red("\icon[src][bicon(src)] Incorrect pin/account combination entered, [max_pin_attempts - number_incorrect_tries] attempts remaining.")) previous_account_number = tried_account_num playsound(src, 'sound/machines/buzz-sigh.ogg', 50, 1) else - to_chat(usr, "\icon[src][bicon(src)] incorrect pin/account combination entered.") + to_chat(usr, span_red("\icon[src][bicon(src)] incorrect pin/account combination entered.")) number_incorrect_tries = 0 else playsound(src, 'sound/machines/twobeep.ogg', 50, 1) @@ -308,7 +308,7 @@ log transactions T.time = stationtime2text() authenticated_account.transaction_log.Add(T) - to_chat(usr, "\icon[src][bicon(src)] Access granted. Welcome user '[authenticated_account.owner_name].'") + to_chat(usr, span_blue("\icon[src][bicon(src)] Access granted. Welcome user '[authenticated_account.owner_name].'")) previous_account_number = tried_account_num if("e_withdrawal") @@ -433,7 +433,7 @@ log transactions if(!held_card) //this might happen if the user had the browser window open when somebody emagged it if(emagged > 0) - to_chat(usr, "\icon[src][bicon(src)] The ATM card reader rejected your ID because this machine has been sabotaged!") + to_chat(usr, span_red("\icon[src][bicon(src)] The ATM card reader rejected your ID because this machine has been sabotaged!")) else var/obj/item/I = usr.get_active_hand() if (istype(I, /obj/item/weapon/card/id)) diff --git a/code/modules/economy/money_bag.dm b/code/modules/economy/money_bag.dm index 3e85d62e46..d9afc36357 100644 --- a/code/modules/economy/money_bag.dm +++ b/code/modules/economy/money_bag.dm @@ -49,14 +49,14 @@ ..() if (istype(W, /obj/item/weapon/coin)) var/obj/item/weapon/coin/C = W - to_chat(user, "You add the [C.name] into the bag.") + to_chat(user, span_blue("You add the [C.name] into the bag.")) usr.drop_item() contents += C if (istype(W, /obj/item/weapon/moneybag)) var/obj/item/weapon/moneybag/C = W for (var/obj/O in C.contents) contents += O; - to_chat(user, "You empty the [C.name] into the bag.") + to_chat(user, span_blue("You empty the [C.name] into the bag.")) return /obj/item/weapon/moneybag/Topic(href, href_list) @@ -95,4 +95,4 @@ new /obj/item/weapon/coin/silver(src) new /obj/item/weapon/coin/silver(src) new /obj/item/weapon/coin/gold(src) - new /obj/item/weapon/coin/gold(src) \ No newline at end of file + new /obj/item/weapon/coin/gold(src) diff --git a/code/modules/flufftext/Dreaming.dm b/code/modules/flufftext/Dreaming.dm index 49b1cc4bf2..53ffe22879 100644 --- a/code/modules/flufftext/Dreaming.dm +++ b/code/modules/flufftext/Dreaming.dm @@ -27,7 +27,7 @@ var/list/dreams = list( spawn(0) for(var/i = rand(1,4),i > 0, i--) - to_chat(src, "... [pick(dreams)] ...") + to_chat(src, span_blue("... [pick(dreams)] ...")) sleep(rand(40,70)) if(paralysis <= 0) dreaming = 0 diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index e4fc9ac89c..f0dc850bd9 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -244,8 +244,8 @@ Gunshots/explosions/opening doors/less rare audio (done) /obj/effect/fake_attacker/attackby(var/obj/item/weapon/P as obj, mob/user as mob) step_away(src,my_target,2) for(var/mob/M in oviewers(world.view,my_target)) - to_chat(M, "[my_target] flails around wildly.") - my_target.show_message("[src] has been attacked by [my_target] ", 1) //Lazy. + to_chat(M, span_red("[my_target] flails around wildly.")) + my_target.show_message(span_red("[src] has been attacked by [my_target] "), 1) //Lazy. src.health -= P.force @@ -257,7 +257,7 @@ Gunshots/explosions/opening doors/less rare audio (done) step_away(src,my_target,2) if(prob(30)) for(var/mob/O in oviewers(world.view , my_target)) - to_chat(O, "[my_target] stumbles around.") + to_chat(O, span_red("[my_target] stumbles around.")) /obj/effect/fake_attacker/New() ..() @@ -304,7 +304,7 @@ Gunshots/explosions/opening doors/less rare audio (done) if(prob(15)) if(weapon_name) my_target << sound(pick('sound/weapons/genhit1.ogg', 'sound/weapons/genhit2.ogg', 'sound/weapons/genhit3.ogg')) - my_target.show_message("[my_target] has been attacked with [weapon_name] by [src.name] ", 1) + my_target.show_message(span_red("[my_target] has been attacked with [weapon_name] by [src.name]!"), 1) my_target.halloss += 8 if(prob(20)) my_target.eye_blurry += 3 if(prob(33)) @@ -312,7 +312,7 @@ Gunshots/explosions/opening doors/less rare audio (done) fake_blood(my_target) else my_target << sound(pick('sound/weapons/punch1.ogg','sound/weapons/punch2.ogg','sound/weapons/punch3.ogg','sound/weapons/punch4.ogg')) - my_target.show_message("[src.name] has punched [my_target]!", 1) + my_target.show_message(span_red("[src.name] has punched [my_target]!"), 1) my_target.halloss += 4 if(prob(33)) if(!locate(/obj/effect/overlay) in my_target.loc) diff --git a/code/modules/food/food/sandwich.dm b/code/modules/food/food/sandwich.dm index 738e3f4a46..e8fc9e9e1e 100644 --- a/code/modules/food/food/sandwich.dm +++ b/code/modules/food/food/sandwich.dm @@ -23,16 +23,16 @@ sandwich_limit += 4 if(istype(W,/obj/item/weapon/material/shard)) - to_chat(user, "You hide [W] in \the [src].") + to_chat(user, span_blue("You hide [W] in \the [src].")) user.drop_item() W.loc = src update() return else if(istype(W,/obj/item/weapon/reagent_containers/food/snacks)) if(src.contents.len > sandwich_limit) - to_chat(user, "If you put anything else on \the [src] it's going to collapse.") + to_chat(user, span_red("If you put anything else on \the [src] it's going to collapse.")) return - to_chat(user, "You layer [W] over \the [src].") + to_chat(user, span_blue("You layer [W] over \the [src].")) var/obj/item/weapon/reagent_containers/F = W F.reagents.trans_to_obj(src, F.reagents.total_volume) user.drop_item() @@ -82,7 +82,7 @@ . = ..() if(contents.len) var/obj/item/O = pick(contents) - . += "You think you can see [O.name] in there." + . += span_blue("You think you can see [O.name] in there.") /obj/item/weapon/reagent_containers/food/snacks/csandwich/attack(mob/M as mob, mob/user as mob, def_zone) @@ -97,6 +97,6 @@ H = M if(H && shard && M == user) //This needs a check for feeding the food to other people, but that could be abusable. - to_chat(H, "You lacerate your mouth on a [shard.name] in the sandwich!") + to_chat(H, span_red("You lacerate your mouth on a [shard.name] in the sandwich!")) H.adjustBruteLoss(5) //TODO: Target head if human. //This TODO has been here for 4 years. ..() diff --git a/code/modules/food/food/snacks.dm b/code/modules/food/food/snacks.dm index 4488a07701..38142fc466 100644 --- a/code/modules/food/food/snacks.dm +++ b/code/modules/food/food/snacks.dm @@ -853,7 +853,7 @@ . = ..() new/obj/effect/decal/cleanable/egg_smudge(src.loc) src.reagents.splash(hit_atom, reagents.total_volume) - src.visible_message("[src.name] has been squashed.","You hear a smack.") + src.visible_message(span_red("[src.name] has been squashed."),span_red("You hear a smack.")) qdel(src) /obj/item/weapon/reagent_containers/food/snacks/egg/attackby(obj/item/weapon/W as obj, mob/user as mob) @@ -862,10 +862,10 @@ var/clr = C.colourName if(!(clr in list("blue","green","mime","orange","purple","rainbow","red","yellow"))) - to_chat(usr, "The egg refuses to take on this color!") + to_chat(usr, span_blue("The egg refuses to take on this color!")) return - to_chat(usr, "You color \the [src] [clr]") + to_chat(usr, span_blue("You color \the [src] [clr]")) icon_state = "egg-[clr]" else . = ..() @@ -1633,7 +1633,7 @@ /obj/item/weapon/reagent_containers/food/snacks/popcorn/On_Consume() if(prob(unpopped)) //lol ...what's the point? - to_chat(usr, "You bite down on an un-popped kernel!") + to_chat(usr, span_red("You bite down on an un-popped kernel!")) unpopped = max(0, unpopped-1) . = ..() diff --git a/code/modules/food/kitchen/cooking_machines/fryer.dm b/code/modules/food/kitchen/cooking_machines/fryer.dm index 6e28243bac..5746e18c4c 100644 --- a/code/modules/food/kitchen/cooking_machines/fryer.dm +++ b/code/modules/food/kitchen/cooking_machines/fryer.dm @@ -233,8 +233,8 @@ else to_chat(victim, "Searing hot oil scorches your [E ? E.name : "flesh"]!") - user.attack_log += text("\[[time_stamp()]\] Has [cook_type] \the [victim] ([victim.ckey]) in \a [src]") - victim.attack_log += text("\[[time_stamp()]\] Has been [cook_type] in \a [src] by [user.name] ([user.ckey])") + user.attack_log += text("\[[time_stamp()]\] [span_red("Has [cook_type] \the [victim] ([victim.ckey]) in \a [src]")]") + victim.attack_log += text("\[[time_stamp()]\] [span_orange("Has been [cook_type] in \a [src] by [user.name] ([user.ckey])")]") msg_admin_attack("[key_name_admin(user)] [cook_type] \the [victim] ([victim.ckey]) in \a [src]. (JMP)") //Coat the victim in some oil diff --git a/code/modules/holodeck/HolodeckObjects.dm b/code/modules/holodeck/HolodeckObjects.dm index 5ae93bfd9c..430029a0df 100644 --- a/code/modules/holodeck/HolodeckObjects.dm +++ b/code/modules/holodeck/HolodeckObjects.dm @@ -154,7 +154,7 @@ var/damage = rand(0, 9) if(!damage) playsound(target, 'sound/weapons/punchmiss.ogg', 25, 1, -1) - target.visible_message("[user] has attempted to punch [target]!") + target.visible_message(span_red("[user] has attempted to punch [target]!")) return TRUE var/obj/item/organ/external/affecting = target.get_organ(ran_zone(user.zone_sel.selecting)) var/armor_block = target.run_armor_check(affecting, "melee") @@ -165,14 +165,14 @@ playsound(target, "punch", 25, 1, -1) - target.visible_message("[user] has punched [target]!") + target.visible_message(span_red("[user] has punched [target]!")) if(armor_soak >= damage) return TRUE target.apply_damage(damage, HALLOSS, affecting, armor_block, armor_soak) if(damage >= 9) - target.visible_message("[user] has weakened [target]!") + target.visible_message(span_red("[user] has weakened [target]!")) target.apply_effect(4, WEAKEN, armor_block) return TRUE @@ -239,7 +239,7 @@ if(src.density && istype(I, /obj/item/weapon) && !istype(I, /obj/item/weapon/card)) var/aforce = I.force playsound(src, 'sound/effects/Glasshit.ogg', 75, 1) - visible_message("[src] was hit by [I].") + visible_message(span_red("[src] was hit by [I].")) if(I.damtype == BRUTE || I.damtype == BURN) take_damage(aforce) return diff --git a/code/modules/library/lib_items.dm b/code/modules/library/lib_items.dm index 0b11c0ef15..00712e4f7c 100644 --- a/code/modules/library/lib_items.dm +++ b/code/modules/library/lib_items.dm @@ -404,7 +404,7 @@ Book Cart End modedesc = "ERROR" to_chat(user, " - Mode [mode] : [modedesc]") if(src.computer) - to_chat(user, "Computer has been associated with this unit.") + to_chat(user, span_green("Computer has been associated with this unit.")) else - to_chat(user, "No associated computer found. Only local scans will function properly.") - to_chat(user, "\n") \ No newline at end of file + to_chat(user, span_red("No associated computer found. Only local scans will function properly.")) + to_chat(user, "\n") diff --git a/code/modules/materials/sheets/organic/tanning/hide.dm b/code/modules/materials/sheets/organic/tanning/hide.dm index e8dadfce73..5f61873537 100644 --- a/code/modules/materials/sheets/organic/tanning/hide.dm +++ b/code/modules/materials/sheets/organic/tanning/hide.dm @@ -1,7 +1,7 @@ /obj/item/stack/animalhide name = "hide" desc = "The hide of some creature." - description_info = "Use something sharp, like a knife, to scrape the hairs/feathers/etc off this hide to prepare it for tanning." + description_info = "Use something sharp, like a knife, to scrape the hairs/feathers/etc off this hide to prepare it for tanning." icon_state = "sheet-hide" drop_sound = 'sound/items/drop/cloth.ogg' pickup_sound = 'sound/items/pickup/cloth.ogg' @@ -27,7 +27,7 @@ if(HS.get_amount() < HS.max_amount) H = HS break - + // Either we found a valid stack, in which case increment amount, // Or we need to make a new stack if(istype(H)) @@ -38,7 +38,7 @@ // Increment the amount src.use(1) scraped++ - + if(scraped) to_chat(user, SPAN_NOTICE("You scrape the hair off [scraped] hide\s.")) else @@ -87,4 +87,4 @@ desc = "The skin of a terrible creature." singular_name = "alien hide piece" icon_state = "sheet-xeno" - stacktype = "hide-xeno" \ No newline at end of file + stacktype = "hide-xeno" diff --git a/code/modules/materials/sheets/organic/tanning/hide_hairless.dm b/code/modules/materials/sheets/organic/tanning/hide_hairless.dm index f504e24a9f..edb36b9b86 100644 --- a/code/modules/materials/sheets/organic/tanning/hide_hairless.dm +++ b/code/modules/materials/sheets/organic/tanning/hide_hairless.dm @@ -3,7 +3,7 @@ /obj/item/stack/hairlesshide name = "hairless hide" desc = "This hide was stripped of it's hair, but still needs tanning." - description_info = "Get it wet to continue tanning this into leather.
    \ + description_info = "Get it wet to continue tanning this into leather.
    \ You could set it in a river, wash it with a sink, or just splash water on it with a bucket." singular_name = "hairless hide piece" icon_state = "sheet-hairlesshide" @@ -24,7 +24,7 @@ if(HS.get_amount() < HS.max_amount) H = HS break - + // Either we found a valid stack, in which case increment amount, // Or we need to make a new stack if(istype(H)) @@ -45,4 +45,4 @@ I.dry() use(1) - stacknum -= 1 \ No newline at end of file + stacknum -= 1 diff --git a/code/modules/materials/sheets/organic/tanning/leather_wet.dm b/code/modules/materials/sheets/organic/tanning/leather_wet.dm index 6d1df6fd75..be4d60570a 100644 --- a/code/modules/materials/sheets/organic/tanning/leather_wet.dm +++ b/code/modules/materials/sheets/organic/tanning/leather_wet.dm @@ -3,9 +3,9 @@ name = "wet leather" desc = "This leather has been cleaned but still needs to be dried." description_info = "To finish tanning the leather, you need to dry it. \ - You could place it under a fire, \ - put it in a drying rack, \ - or build a tanning rack from steel or wooden boards." + You could place it under a fire, \ + put it in a drying rack, \ + or build a tanning rack from steel or wooden boards." singular_name = "wet leather piece" icon_state = "sheet-wetleather" var/wetness = 30 //Reduced when exposed to high temperautres diff --git a/code/modules/mentor/mentorhelp.dm b/code/modules/mentor/mentorhelp.dm index 41a760f475..3b0d0502b9 100644 --- a/code/modules/mentor/mentorhelp.dm +++ b/code/modules/mentor/mentorhelp.dm @@ -224,7 +224,7 @@ GLOBAL_DATUM_INIT(mhelp_tickets, /datum/mentor_help_tickets, new) AddInteraction("Reopened by [usr.ckey]") if(initiator) - to_chat(initiator, "Ticket [TicketHref("#[id]")] was reopened by [usr.ckey].") + to_chat(initiator, "[span_purple("Ticket [TicketHref("#[id]")] was reopened by [usr.ckey].")]/span>") var/msg = "Ticket [TicketHref("#[id]")] reopened by [usr.ckey]." message_mentors(msg) log_admin(msg) @@ -249,9 +249,9 @@ GLOBAL_DATUM_INIT(mhelp_tickets, /datum/mentor_help_tickets, new) state = AHELP_RESOLVED GLOB.mhelp_tickets.ListInsert(src) - AddInteraction("Resolved by [usr.ckey].") + AddInteraction("[span_green("Resolved by [usr.ckey].")]") if(initiator) - to_chat(initiator, "Ticket [TicketHref("#[id]")] was marked resolved by [usr.ckey].") + to_chat(initiator, "[span_green("Ticket [TicketHref("#[id]")] was marked resolved by [usr.ckey].")]") if(!silent) feedback_inc("mhelp_resolve") var/msg = "Ticket [TicketHref("#[id]")] resolved by [usr.ckey]" diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 6819453fac..32ec266f4c 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -323,10 +323,10 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp set desc = "Toggles AntagHUD allowing you to see who is the antagonist" if(!config.antag_hud_allowed && !client.holder) - to_chat(src, "Admins have disabled this for this round.") + to_chat(src, "[span_red("Admins have disabled this for this round.")]") return if(jobban_isbanned(src, "AntagHUD")) - to_chat(src, "You have been banned from using this feature") + to_chat(src, "[span_red("You have been banned from using this feature")]") return if(config.antag_hud_restricted && !has_enabled_antagHUD && !client.holder) var/response = tgui_alert(src, "If you turn this on, you will not be able to take any part in the round.","Are you sure you want to turn this feature on?",list("Yes","No")) @@ -597,11 +597,11 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp /mob/observer/dead/memory() set hidden = 1 - to_chat(src, "You are dead! You have no mind to store memory!") + to_chat(src, "[span_red("You are dead! You have no mind to store memory!")]") /mob/observer/dead/add_memory() set hidden = 1 - to_chat(src, "You are dead! You have no mind to store memory!") + to_chat(src, "[span_red("You are dead! You have no mind to store memory!")]") /mob/observer/dead/Post_Incorpmove() stop_following() @@ -625,7 +625,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp if(abs(pressure - ONE_ATMOSPHERE) < 10) gas_analyzing += "Pressure: [round(pressure,0.1)] kPa" else - gas_analyzing += "Pressure: [round(pressure,0.1)] kPa" + gas_analyzing += span_red("Pressure: [round(pressure,0.1)] kPa") if(total_moles) for(var/g in environment.gas) gas_analyzing += "[gas_data.name[g]]: [round((environment.gas[g] / total_moles) * 100)]% ([round(environment.gas[g], 0.01)] moles)" @@ -724,7 +724,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp set desc = "If the round is sufficiently spooky, write a short message in blood on the floor or a wall. Remember, no IC in OOC or OOC in IC." if(!(config.cult_ghostwriter)) - to_chat(src, "That verb is not currently permitted.") + to_chat(src, "[span_red("That verb is not currently permitted.")]") return if (!src.stat) @@ -739,7 +739,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp ghosts_can_write = 1 if(!ghosts_can_write && !check_rights(R_ADMIN|R_EVENT|R_FUN, 0)) //Let's allow for admins to write in blood for events and the such. - to_chat(src, "The veil is not thin enough for you to do that.") + to_chat(src, "[span_red("The veil is not thin enough for you to do that.")]") return var/list/choices = list() @@ -789,7 +789,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp W.update_icon() W.message = message W.add_hiddenprint(src) - W.visible_message("Invisible fingers crudely paint something in blood on [T]...") + W.visible_message("[span_red("Invisible fingers crudely paint something in blood on [T]...")]") /mob/observer/dead/pointed(atom/A as mob|obj|turf in view()) if(!..()) @@ -801,7 +801,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp is_manifest = TRUE verbs |= /mob/observer/dead/proc/toggle_visibility verbs |= /mob/observer/dead/proc/ghost_whisper - to_chat(src, "As you are now in the realm of the living, you can whisper to the living with the Spectral Whisper verb, inside the IC tab.") + to_chat(src, "[span_purple("As you are now in the realm of the living, you can whisper to the living with the Spectral Whisper verb, inside the IC tab.")]") if(plane != PLANE_WORLD) user.visible_message( \ "\The [user] drags ghost, [src], to our plane of reality!", \ @@ -944,7 +944,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp var/msg = sanitize(tgui_input_text(src, "Message:", "Spectral Whisper")) if(msg) log_say("(SPECWHISP to [key_name(M)]): [msg]", src) - to_chat(M, " You hear a strange, unidentifiable voice in your head... [msg]") + to_chat(M, " You hear a strange, unidentifiable voice in your head... [span_purple("[msg]")]") to_chat(src, " You said: '[msg]' to [M].") else return diff --git a/code/modules/mob/dead/observer/say.dm b/code/modules/mob/dead/observer/say.dm index 96aa9ccada..8bf61350ec 100644 --- a/code/modules/mob/dead/observer/say.dm +++ b/code/modules/mob/dead/observer/say.dm @@ -10,7 +10,7 @@ if(message) client.handle_spam_prevention(MUTE_DEADCHAT) if(client.prefs.muted & MUTE_DEADCHAT) - to_chat(src, "You cannot talk in deadchat (muted).") + to_chat(src, "[span_red("You cannot talk in deadchat (muted).")]") return . = say_dead(message) @@ -26,7 +26,7 @@ if(message) client.handle_spam_prevention(MUTE_DEADCHAT) if(client.prefs.muted & MUTE_DEADCHAT) - to_chat(src, "You cannot emote in deadchat (muted).") + to_chat(src, "[span_red("You cannot emote in deadchat (muted).")]") return . = emote_dead(message) @@ -39,4 +39,4 @@ //Announce computer and various stuff that broadcasts doesn't use it's real name but AI's can't pretend to be other mobs. if(speaker && (speaker_name != speaker.real_name) && !isAI(speaker)) speaker_name = "[speaker.real_name] ([speaker_name])" - return speaker_name \ No newline at end of file + return speaker_name diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm index e7bf3f4415..eec77b02ab 100644 --- a/code/modules/mob/inventory.dm +++ b/code/modules/mob/inventory.dm @@ -56,7 +56,7 @@ var/list/slot_equipment_priority = list( \ else if(!disable_warning) - to_chat(src, "You are unable to equip that.") //Only print if del_on_fail is false + to_chat(src, span_red("You are unable to equip that.")) //Only print if del_on_fail is false return 0 equip_to_slot(W, slot, redraw_mob) //This proc should not ever fail. diff --git a/code/modules/mob/living/carbon/alien/alien_attacks.dm b/code/modules/mob/living/carbon/alien/alien_attacks.dm index e2c965e2c9..6eac6a05d2 100644 --- a/code/modules/mob/living/carbon/alien/alien_attacks.dm +++ b/code/modules/mob/living/carbon/alien/alien_attacks.dm @@ -28,7 +28,7 @@ playsound(src, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) for(var/mob/O in viewers(src, null)) if ((O.client && !( O.blinded ))) - O.show_message(text("[] has grabbed [] passively!", M, src), 1) + O.show_message(span_red(text("[] has grabbed [] passively!", M, src)), 1) else var/damage = rand(1, 9) @@ -43,17 +43,17 @@ playsound(src, "punch", 25, 1, -1) for(var/mob/O in viewers(src, null)) if ((O.client && !( O.blinded ))) - O.show_message(text("[] has punched []!", M, src), 1) + O.show_message(span_red(text("[] has punched []!", M, src)), 1) if (damage > 4.9) Weaken(rand(10,15)) for(var/mob/O in viewers(M, null)) if ((O.client && !( O.blinded ))) - O.show_message(text("[] has weakened []!", M, src), 1, "You hear someone fall.", 2) + O.show_message(span_red(text("[] has weakened []!", M, src)), 1, span_red("You hear someone fall."), 2) adjustBruteLoss(damage) updatehealth() else playsound(src, 'sound/weapons/punchmiss.ogg', 25, 1, -1) for(var/mob/O in viewers(src, null)) if ((O.client && !( O.blinded ))) - O.show_message(text("[] has attempted to punch []!", M, src), 1) + O.show_message(span_red(text("[] has attempted to punch []!", M, src)), 1) return diff --git a/code/modules/mob/living/carbon/alien/diona/progression.dm b/code/modules/mob/living/carbon/alien/diona/progression.dm index 6a8d0864f4..806fcbe8db 100644 --- a/code/modules/mob/living/carbon/alien/diona/progression.dm +++ b/code/modules/mob/living/carbon/alien/diona/progression.dm @@ -20,5 +20,5 @@ src.loc = L.loc qdel(L) - src.visible_message("[src] begins to shift and quiver, and erupts in a shower of shed bark as it splits into a tangle of nearly a dozen new dionaea.","You begin to shift and quiver, feeling your awareness splinter. All at once, we consume our stored nutrients to surge with growth, splitting into a tangle of at least a dozen new dionaea. We have attained our gestalt form.") - return SPECIES_DIONA \ No newline at end of file + src.visible_message(span_red("[src] begins to shift and quiver, and erupts in a shower of shed bark as it splits into a tangle of nearly a dozen new dionaea."),span_red("You begin to shift and quiver, feeling your awareness splinter. All at once, we consume our stored nutrients to surge with growth, splitting into a tangle of at least a dozen new dionaea. We have attained our gestalt form.")) + return SPECIES_DIONA diff --git a/code/modules/mob/living/carbon/alien/life.dm b/code/modules/mob/living/carbon/alien/life.dm index 64e5145b97..df3c336a58 100644 --- a/code/modules/mob/living/carbon/alien/life.dm +++ b/code/modules/mob/living/carbon/alien/life.dm @@ -150,7 +150,7 @@ adjustFireLoss((environment.temperature - (T0C+66))/5) // Might be too high, check in testing. throw_alert("alien_fire", /obj/screen/alert/alien_fire) if(prob(20)) - to_chat(src, "You feel a searing heat!") + to_chat(src, span_red("You feel a searing heat!")) else clear_alert("alien_fire") diff --git a/code/modules/mob/living/carbon/alien/progression.dm b/code/modules/mob/living/carbon/alien/progression.dm index 0dd4ba7e13..001c111139 100644 --- a/code/modules/mob/living/carbon/alien/progression.dm +++ b/code/modules/mob/living/carbon/alien/progression.dm @@ -12,11 +12,11 @@ return if(handcuffed || legcuffed) - to_chat(src, "You cannot evolve when you are cuffed.") + to_chat(src, span_red("You cannot evolve when you are cuffed.")) return if(amount_grown < max_grown) - to_chat(src, "You are not fully grown.") + to_chat(src, span_red("You are not fully grown.")) return // confirm_evolution() handles choices and other specific requirements. @@ -62,4 +62,4 @@ return /mob/living/carbon/alien/proc/show_evolution_blurb() - return \ No newline at end of file + return diff --git a/code/modules/mob/living/carbon/brain/MMI.dm b/code/modules/mob/living/carbon/brain/MMI.dm index cfa9d59f85..d0549e250c 100644 --- a/code/modules/mob/living/carbon/brain/MMI.dm +++ b/code/modules/mob/living/carbon/brain/MMI.dm @@ -237,7 +237,7 @@ /obj/item/device/mmi/digital/attack_self(mob/user as mob) if(brainmob && !brainmob.key && searching == 0) //Start the process of searching for a new user. - to_chat(user, "You carefully locate the manual activation switch and start the [src]'s boot process.") + to_chat(user, span_blue("You carefully locate the manual activation switch and start the [src]'s boot process.")) request_player() /obj/item/device/mmi/digital/proc/request_player() @@ -261,7 +261,7 @@ var/turf/T = get_turf_or_move(src.loc) for (var/mob/M in viewers(T)) - M.show_message("\The [src] buzzes quietly, and the golden lights fade away. Perhaps you could try again?") + M.show_message(span_blue("\The [src] buzzes quietly, and the golden lights fade away. Perhaps you could try again?")) /obj/item/device/mmi/digital/proc/transfer_personality(var/mob/candidate) announce_ghost_joinleave(candidate, 0, "They are occupying a synthetic brain now.") @@ -279,7 +279,7 @@ var/turf/T = get_turf_or_move(src.loc) for (var/mob/M in viewers(T)) - M.show_message("\The [src] chimes quietly.") + M.show_message(span_blue("\The [src] chimes quietly.")) /obj/item/device/mmi/digital/robot name = "robotic intelligence circuit" diff --git a/code/modules/mob/living/carbon/brain/life.dm b/code/modules/mob/living/carbon/brain/life.dm index 075384bc18..1ba6bd0918 100644 --- a/code/modules/mob/living/carbon/brain/life.dm +++ b/code/modules/mob/living/carbon/brain/life.dm @@ -6,9 +6,9 @@ if (radiation > 100) radiation = 100 if(!container)//If it's not in an MMI - to_chat(src, "You feel weak.") + to_chat(src, span_red("You feel weak.")) else//Fluff-wise, since the brain can't detect anything itself, the MMI handles thing like that - to_chat(src, "STATUS: CRITICAL AMOUNTS OF RADIATION DETECTED.") + to_chat(src, span_red("STATUS: CRITICAL AMOUNTS OF RADIATION DETECTED.")) switch(radiation) if(1 to 49) @@ -23,9 +23,9 @@ if(prob(5)) radiation -= 5 if(!container) - to_chat(src, "You feel weak.") + to_chat(src, span_red("You feel weak.")) else - to_chat(src, "STATUS: DANGEROUS LEVELS OF RADIATION DETECTED.") + to_chat(src, span_red("STATUS: DANGEROUS LEVELS OF RADIATION DETECTED.")) updatehealth() if(75 to 100) @@ -115,7 +115,7 @@ silent = 1 if(!alert)//Sounds an alarm, but only once per 'level' emote("alarm") - to_chat(src, "Major electrical distruption detected: System rebooting.") + to_chat(src, span_red("Major electrical distruption detected: System rebooting.")) alert = 1 if(prob(75)) emp_damage -= 1 @@ -131,7 +131,7 @@ ear_damage = 1 if(!alert) emote("alert") - to_chat(src, "Primary systems are now online.") + to_chat(src, span_red("Primary systems are now online.")) alert = 1 if(prob(50)) emp_damage -= 1 @@ -143,13 +143,13 @@ if(2 to 9)//Low level of EMP damage, has few effects(handled elsewhere) if(!alert) emote("notice") - to_chat(src, "System reboot nearly complete.") + to_chat(src, span_red("System reboot nearly complete.")) alert = 1 if(prob(25)) emp_damage -= 1 if(1) alert = 0 - to_chat(src, "All systems restored.") + to_chat(src, span_red("All systems restored.")) emp_damage -= 1 return 1 @@ -219,4 +219,4 @@ if(client && !client.adminobs) reset_view(null) - return 1 \ No newline at end of file + return 1 diff --git a/code/modules/mob/living/carbon/brain/posibrain.dm b/code/modules/mob/living/carbon/brain/posibrain.dm index a1f12f97b5..cb155797a2 100644 --- a/code/modules/mob/living/carbon/brain/posibrain.dm +++ b/code/modules/mob/living/carbon/brain/posibrain.dm @@ -16,7 +16,7 @@ /obj/item/device/mmi/digital/posibrain/attack_self(mob/user as mob) if(brainmob && !brainmob.key && searching == 0) //Start the process of searching for a new user. - to_chat(user, "You carefully locate the manual activation switch and start the positronic brain's boot process.") + to_chat(user, span_blue("You carefully locate the manual activation switch and start the positronic brain's boot process.")) icon_state = "posibrain-searching" src.searching = 1 src.request_player() @@ -68,7 +68,7 @@ var/turf/T = get_turf_or_move(src.loc) for (var/mob/M in viewers(T)) - M.show_message("The positronic brain beeps as it loads a personality.") + M.show_message(span_blue("The positronic brain beeps as it loads a personality.")) playsound(src, 'sound/misc/boobeebeep.ogg', 50, 1) icon_state = "posibrain-occupied" @@ -82,7 +82,7 @@ var/turf/T = get_turf_or_move(src.loc) for (var/mob/M in viewers(T)) - M.show_message("The positronic brain buzzes and beeps, and the golden lights fade away. Perhaps you could try again?") + M.show_message(span_blue("The positronic brain buzzes and beeps, and the golden lights fade away. Perhaps you could try again?")) playsound(src, 'sound/misc/buzzbeep.ogg', 50, 1) /obj/item/device/mmi/digital/posibrain/emp_act(severity) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 3904656a99..316f314860 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -80,7 +80,7 @@ M.loc = src.loc for(var/mob/N in viewers(src, null)) if(N.client) - N.show_message(text("[M] bursts out of [src]!"), 2) + N.show_message(span_red(text("[M] bursts out of [src]!")), 2) ..() /mob/living/carbon/attack_hand(mob/M as mob) @@ -91,7 +91,7 @@ if (H.hand) temp = H.organs_by_name["l_hand"] if(temp && !temp.is_usable()) - to_chat(H, "You can't use your [temp.name]") + to_chat(H, span_red("You can't use your [temp.name]")) return return @@ -400,7 +400,7 @@ set category = "IC" if(usr.sleeping) - to_chat(usr, "You are already sleeping") + to_chat(usr, span_red("You are already sleeping")) return if(tgui_alert(src,"You sure you want to sleep for a while?","Sleep",list("Yes","No")) == "Yes") usr.AdjustSleeping(20) diff --git a/code/modules/mob/living/carbon/human/MedicalSideEffects.dm b/code/modules/mob/living/carbon/human/MedicalSideEffects.dm index b37dff23ac..f5b52e0929 100644 --- a/code/modules/mob/living/carbon/human/MedicalSideEffects.dm +++ b/code/modules/mob/living/carbon/human/MedicalSideEffects.dm @@ -24,7 +24,7 @@ for(var/R in cures) if(H.reagents.has_reagent(R)) if (cure_message) - to_chat(H, "[cure_message]") + to_chat(H, span_blue("[cure_message]")) return 1 return 0 diff --git a/code/modules/mob/living/carbon/human/chem_side_effects.dm b/code/modules/mob/living/carbon/human/chem_side_effects.dm index b37dff23ac..f5b52e0929 100644 --- a/code/modules/mob/living/carbon/human/chem_side_effects.dm +++ b/code/modules/mob/living/carbon/human/chem_side_effects.dm @@ -24,7 +24,7 @@ for(var/R in cures) if(H.reagents.has_reagent(R)) if (cure_message) - to_chat(H, "[cure_message]") + to_chat(H, span_blue("[cure_message]")) return 1 return 0 diff --git a/code/modules/mob/living/carbon/human/examine_vr.dm b/code/modules/mob/living/carbon/human/examine_vr.dm index 3ac7698e63..e1d52728f9 100644 --- a/code/modules/mob/living/carbon/human/examine_vr.dm +++ b/code/modules/mob/living/carbon/human/examine_vr.dm @@ -87,13 +87,13 @@ /mob/living/carbon/human/proc/examine_pickup_size(mob/living/H) var/message = "" if(istype(H) && (H.get_effective_size(FALSE) - src.get_effective_size(TRUE)) >= 0.50) - message = "They are small enough that you could easily pick them up!" + message = span_blue("They are small enough that you could easily pick them up!") return message /mob/living/carbon/human/proc/examine_step_size(mob/living/H) var/message = "" if(istype(H) && (H.get_effective_size(FALSE) - src.get_effective_size(TRUE)) >= 0.75) - message = "They are small enough that you could easily trample them!" + message = span_red("They are small enough that you could easily trample them!") return message /mob/living/carbon/human/proc/examine_nif(mob/living/carbon/human/H) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 14903ee208..a7f07f8938 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -371,7 +371,7 @@ U.handle_regular_hud_updates() if(!modified) - to_chat(usr, "Unable to locate a data core entry for this person.") + to_chat(usr, "[span_red("Unable to locate a data core entry for this person.")]") if (href_list["secrecord"]) if(hasHUD(usr,"security")) @@ -401,7 +401,7 @@ read = 1 if(!read) - to_chat(usr, "Unable to locate a data core entry for this person.") + to_chat(usr, "[span_red("Unable to locate a data core entry for this person.")]") if (href_list["secrecordComment"]) if(hasHUD(usr,"security")) @@ -428,7 +428,7 @@ to_chat(usr, "\[Add comment\]") if(!read) - to_chat(usr, "Unable to locate a data core entry for this person.") + to_chat(usr, "[span_red("Unable to locate a data core entry for this person.")]") if (href_list["secrecordadd"]) if(hasHUD(usr,"security")) @@ -490,7 +490,7 @@ U.handle_regular_hud_updates() if(!modified) - to_chat(usr, "Unable to locate a data core entry for this person.") + to_chat(usr, "[span_red("Unable to locate a data core entry for this person.")]") if (href_list["medrecord"]) if(hasHUD(usr,"medical")) @@ -521,7 +521,7 @@ read = 1 if(!read) - to_chat(usr, "Unable to locate a data core entry for this person.") + to_chat(usr, "[span_red("Unable to locate a data core entry for this person.")]") if (href_list["medrecordComment"]) if(hasHUD(usr,"medical")) @@ -548,7 +548,7 @@ to_chat(usr, "\[Add comment\]") if(!read) - to_chat(usr, "Unable to locate a data core entry for this person.") + to_chat(usr, "[span_red("Unable to locate a data core entry for this person.")]") if (href_list["medrecordadd"]) if(hasHUD(usr,"medical")) @@ -607,7 +607,7 @@ read = 1 if(!read) - to_chat(usr, "Unable to locate a data core entry for this person.") + to_chat(usr, "[span_red("Unable to locate a data core entry for this person.")]") if (href_list["emprecordComment"]) if(hasHUD(usr,"best")) @@ -634,7 +634,7 @@ to_chat(usr, "\[Add comment\]") if(!read) - to_chat(usr, "Unable to locate a data core entry for this person.") + to_chat(usr, "[span_red("Unable to locate a data core entry for this person.")]") if (href_list["emprecordadd"]) if(hasHUD(usr,"best")) @@ -798,7 +798,7 @@ /mob/living/carbon/human/proc/play_xylophone() if(!src.xylophone) var/datum/gender/T = gender_datums[get_visible_gender()] - visible_message("\The [src] begins playing [T.his] ribcage like a xylophone. It's quite spooky.","You begin to play a spooky refrain on your ribcage.","You hear a spooky xylophone melody.") + visible_message("[span_red("\The [src] begins playing [T.his] ribcage like a xylophone. It's quite spooky.")]","You begin to play a spooky refrain on your ribcage.","[span_red("You hear a spooky xylophone melody.")]") var/song = pick('sound/effects/xylophone1.ogg','sound/effects/xylophone2.ogg','sound/effects/xylophone3.ogg') playsound(src, song, 50, 1, -1) xylophone = 1 @@ -889,7 +889,7 @@ regenerate_icons() check_dna() var/datum/gender/T = gender_datums[get_visible_gender()] - visible_message("\The [src] morphs and changes [T.his] appearance!", "You change your appearance!", "Oh, god! What the hell was that? It sounded like flesh getting squished and bone ground into a different shape!") + visible_message("\The [src] morphs and changes [T.his] appearance!", "You change your appearance!", "[span_red("Oh, god! What the hell was that? It sounded like flesh getting squished and bone ground into a different shape!")]") /mob/living/carbon/human/proc/remotesay() set name = "Project mind" @@ -912,10 +912,10 @@ var/say = sanitize(tgui_input_text(usr, "What do you wish to say?")) if(mRemotetalk in target.mutations) - target.show_message("You hear [src.real_name]'s voice: [say]") + target.show_message("[span_blue("You hear [src.real_name]'s voice: [say]")]") else - target.show_message("You hear a voice that seems to echo around the room: [say]") - usr.show_message("You project your mind into [target.real_name]: [say]") + target.show_message("[span_blue("You hear a voice that seems to echo around the room: [say]")]") + usr.show_message("[span_blue("You project your mind into [target.real_name]: [say]")]") log_say("(TPATH to [key_name(target)]) [say]",src) for(var/mob/observer/dead/G in mob_list) G.show_message("Telepathic message from [src] to [target]: [say]") diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index 16acfd7131..42786250f5 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -57,7 +57,7 @@ if(!hit_zone) H.do_attack_animation(src) playsound(src, 'sound/weapons/punchmiss.ogg', 25, 1, -1) - visible_message("[H] reaches for [src], but misses!") + visible_message("[span_red("[H] reaches for [src], but misses!")]") return FALSE if(H != src && check_shields(0, null, H, H.zone_sel.selecting, H.name)) @@ -333,7 +333,7 @@ return playsound(src, 'sound/weapons/punchmiss.ogg', 25, 1, -1) - visible_message(" [M] attempted to disarm [src]!") + visible_message("[span_red("[M] attempted to disarm [src]!")]") return /mob/living/carbon/human/proc/afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob|obj, inrange, params) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 8c7aaebe8e..723fbc49b2 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -404,7 +404,7 @@ emp_act // PERSON BEING THROWN: DEVOURABLE, ALLOWS THROW VORE, CAN BE DROP PREY. if((can_be_drop_pred && throw_vore && vore_selected) && (thrown_mob.devourable && thrown_mob.throw_vore && thrown_mob.can_be_drop_prey)) //Prey thrown into pred. vore_selected.nom_mob(thrown_mob) //Eat them!!! - visible_message("[thrown_mob] is thrown right into [src]'s [lowertext(vore_selected.name)]!") + visible_message("[thrown_mob] is thrown right into [src]'s [lowertext(vore_selected.name)]!") if(thrown_mob.loc != vore_selected) thrown_mob.forceMove(vore_selected) //Double check. Should never happen but...Weirder things have happened! add_attack_logs(thrown_mob.thrower,src,"Devoured [thrown_mob.name] via throw vore.") @@ -413,7 +413,7 @@ emp_act // PERSON BEING HIT: CAN BE DROP PREY, ALLOWS THROW VORE, AND IS DEVOURABLE. // PERSON BEING THROWN: CAN BE DROP PRED, ALLOWS THROW VORE. else if((can_be_drop_prey && throw_vore && devourable) && (thrown_mob.can_be_drop_pred && thrown_mob.throw_vore && thrown_mob.vore_selected)) //Pred thrown into prey. - visible_message("[src] suddenly slips inside of [thrown_mob]'s [lowertext(thrown_mob.vore_selected.name)] as [thrown_mob] flies into them!") + visible_message("[src] suddenly slips inside of [thrown_mob]'s [lowertext(thrown_mob.vore_selected.name)] as [thrown_mob] flies into them!") thrown_mob.vore_selected.nom_mob(src) //Eat them!!! if(src.loc != thrown_mob.vore_selected) src.forceMove(thrown_mob.vore_selected) //Double check. Should never happen but...Weirder things have happened! @@ -469,7 +469,7 @@ emp_act var/obj/item/organ/external/affecting = get_organ(zone) var/hit_area = affecting.name - src.visible_message("[src] has been hit in the [hit_area] by [O].") + src.visible_message("[span_red("[src] has been hit in the [hit_area] by [O].")]") if(ismob(O.thrower)) add_attack_logs(O.thrower,src,"Hit with thrown [O.name]") @@ -515,7 +515,7 @@ emp_act if(O.throw_source && momentum >= THROWNOBJ_KNOCKBACK_SPEED && !buckled) var/dir = get_dir(O.throw_source, src) - visible_message("[src] staggers under the impact!","You stagger under the impact!") + visible_message("[span_red("[src] staggers under the impact!")]","[span_red("You stagger under the impact!")]") src.throw_at(get_edge_target_turf(src,dir),1,momentum) if(!O || !src) return diff --git a/code/modules/mob/living/carbon/human/human_powers.dm b/code/modules/mob/living/carbon/human/human_powers.dm index ce3fb9d186..6e5f9eae6c 100644 --- a/code/modules/mob/living/carbon/human/human_powers.dm +++ b/code/modules/mob/living/carbon/human/human_powers.dm @@ -78,7 +78,7 @@ for(var/mob/O in viewers(src, null)) if ((O.client && !( O.blinded ))) - O.show_message("[src] [failed ? "tried to tackle" : "has tackled"] down [T]!", 1) + O.show_message("[span_red("[src] [failed ? "tried to tackle" : "has tackled"] down [T]!")]", 1) /mob/living/carbon/human/proc/commune() set category = "Abilities" @@ -108,12 +108,12 @@ log_say("(COMMUNE to [key_name(M)]) [text]",src) - to_chat(M, "Like lead slabs crashing into the ocean, alien thoughts drop into your mind: [text]") + to_chat(M, "[span_blue("Like lead slabs crashing into the ocean, alien thoughts drop into your mind: [text]")]") if(istype(M,/mob/living/carbon/human)) var/mob/living/carbon/human/H = M if(H.species.name == src.species.name) return - to_chat(H, "Your nose begins to bleed...") + to_chat(H, "[span_red("Your nose begins to bleed...")]") H.drip(1) /mob/living/carbon/human/proc/regurgitate() @@ -126,7 +126,7 @@ if(M in stomach_contents) stomach_contents.Remove(M) M.loc = loc - src.visible_message("[src] hurls out the contents of their stomach!") + src.visible_message("[span_red("[src] hurls out the contents of their stomach!")]") return /mob/living/carbon/human/proc/psychic_whisper(mob/M as mob in oview()) @@ -137,8 +137,8 @@ var/msg = sanitize(tgui_input_text(usr, "Message:", "Psychic Whisper")) if(msg) log_say("(PWHISPER to [key_name(M)]) [msg]", src) - to_chat(M, "You hear a strange, alien voice in your head... [msg]") - to_chat(src, "You said: \"[msg]\" to [M]") + to_chat(M, "[span_green("You hear a strange, alien voice in your head... [msg]")]") + to_chat(src, "[span_green("You said: \"[msg]\" to [M]")]") return /mob/living/carbon/human/proc/diona_split_nymph() diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index c8aba57735..b164159717 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -357,7 +357,7 @@ This saves us from having to call add_fingerprint() any time something is put in if(C.attempt_attach_accessory(A, src)) return else - to_chat(src, "You are trying to equip this item to an unsupported inventory slot. How the heck did you manage that? Stop it...") + to_chat(src, span_red("You are trying to equip this item to an unsupported inventory slot. How the heck did you manage that? Stop it...")) return if((W == src.l_hand) && (slot != slot_l_hand)) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 4afe699cfa..0849993170 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -199,7 +199,7 @@ if (disabilities & EPILEPSY) if ((prob(1) && paralysis < 1)) - to_chat(src, "You have a seizure!") + to_chat(src, span_red("You have a seizure!")) for(var/mob/O in viewers(src, null)) if(O == src) continue @@ -435,7 +435,7 @@ if(prob(50) && prob(100 * RADIATION_SPEED_COEFFICIENT)) spawn vomit() if(!paralysis && prob(30) && prob(100 * RADIATION_SPEED_COEFFICIENT)) //CNS is shutting down. - to_chat(src, "You have a seizure!") + to_chat(src, "You have a seizure!") Paralyse(10) make_jittery(1000) if(!lying) @@ -495,7 +495,7 @@ drop_item() if(accumulated_rads > 700) // (12Gy) if(!paralysis && prob(1) && prob(100 * RADIATION_SPEED_COEFFICIENT)) //1 in 1000 chance per tick. - to_chat(src, "You have a seizure!") + to_chat(src, "You have a seizure!") Paralyse(10) make_jittery(1000) if(!lying) diff --git a/code/modules/mob/living/carbon/human/species/shadekin/shadekin_abilities.dm b/code/modules/mob/living/carbon/human/species/shadekin/shadekin_abilities.dm index e64a4bf938..eed09b56c5 100644 --- a/code/modules/mob/living/carbon/human/species/shadekin/shadekin_abilities.dm +++ b/code/modules/mob/living/carbon/human/species/shadekin/shadekin_abilities.dm @@ -121,7 +121,7 @@ var/mob/living/target = pick(potentials) if(istype(target) && target.devourable && target.can_be_drop_prey && vore_selected) target.forceMove(vore_selected) - to_chat(target,"\The [src] phases in around you, [vore_selected.vore_verb]ing you into their [vore_selected.name]!") + to_chat(target,"\The [src] phases in around you, [vore_selected.vore_verb]ing you into their [vore_selected.name]!") ability_flags &= ~AB_PHASE_SHIFTING diff --git a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_blob.dm b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_blob.dm index bc228f7ef0..6a397f985f 100644 --- a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_blob.dm +++ b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_blob.dm @@ -276,7 +276,7 @@ if(target.buckled) target.buckled.unbuckle_mob(target, force = TRUE) target.forceMove(vore_selected) - to_chat(target,"\The [src] quickly engulfs you, [vore_selected.vore_verb]ing you into their [vore_selected.name]!") + to_chat(target,"\The [src] quickly engulfs you, [vore_selected.vore_verb]ing you into their [vore_selected.name]!") /mob/living/simple_mob/protean_blob/attack_target(var/atom/A) if(refactory && istype(A,/obj/item/stack/material)) diff --git a/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm b/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm index d938025485..f4b8023562 100644 --- a/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm +++ b/code/modules/mob/living/carbon/human/species/station/station_special_abilities_vr.dm @@ -430,7 +430,7 @@ to_chat(src, "You cannot bite in your current state.") return if(B.vessel.total_volume <= 0 || B.isSynthetic()) //Do they have any blood in the first place, and are they synthetic? - to_chat(src, "There appears to be no blood in this prey...") + to_chat(src, span_red("There appears to be no blood in this prey...")) return last_special = world.time + 600 @@ -468,9 +468,9 @@ if(noise) - src.visible_message("[src] moves their head next to [B]'s neck, seemingly looking for something!") + src.visible_message(span_red("[src] moves their head next to [B]'s neck, seemingly looking for something!")) else - src.visible_message("[src] moves their head next to [B]'s neck, seemingly looking for something!", range = 1) + src.visible_message(span_red("[src] moves their head next to [B]'s neck, seemingly looking for something!"), range = 1) if(bleed) //Due to possibility of missing/misclick and missing the bleeding cues, we are warning the scene members of BLEEDING being on to_chat(src, SPAN_WARNING("This is going to cause [B] to keep bleeding!")) @@ -479,9 +479,9 @@ if(do_after(src, 300, B)) //Thrirty seconds. if(!Adjacent(B)) return if(noise) - src.visible_message("[src] suddenly extends their fangs and plunges them down into [B]'s neck!") + src.visible_message(span_red("[src] suddenly extends their fangs and plunges them down into [B]'s neck!")) else - src.visible_message("[src] suddenly extends their fangs and plunges them down into [B]'s neck!", range = 1) + src.visible_message(span_red("[src] suddenly extends their fangs and plunges them down into [B]'s neck!"), range = 1) if(bleed) B.apply_damage(10, BRUTE, BP_HEAD, blocked = 0, soaked = 0, sharp = TRUE, edge = FALSE) var/obj/item/organ/external/E = B.get_organ(BP_HEAD) @@ -1232,9 +1232,9 @@ return if(target.buckled) //how are you buckled in the water?! target.buckled.unbuckle_mob() - target.visible_message("\The [target] suddenly disappears, being dragged into the water!",\ - "You are dragged below the water and feel yourself slipping directly into \the [src]'s [vore_selected]!") - to_chat(src, "You successfully drag \the [target] into the water, slipping them into your [vore_selected].") + target.visible_message("\The [target] suddenly disappears, being dragged into the water!",\ + "You are dragged below the water and feel yourself slipping directly into \the [src]'s [vore_selected]!") + to_chat(src, "You successfully drag \the [target] into the water, slipping them into your [vore_selected].") target.forceMove(src.vore_selected) /mob/living/carbon/human/proc/toggle_pain_module() @@ -1308,8 +1308,8 @@ to_chat(src, "You need to be closer to do that.") return - visible_message("\The [src] attempts to snatch up [target]!", \ - "You attempt to snatch up [target]!" ) + visible_message("\The [src] attempts to snatch up [target]!", \ + "You attempt to snatch up [target]!" ) playsound(src, 'sound/vore/sunesound/pred/schlorp.ogg', 25) //Code to shoot the beam here. diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index a959c635ed..7abf8601aa 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -109,14 +109,14 @@ confirm2 = tgui_alert(usr, "Pressing this buttom will really kill you, no going back", "Are you sure?", list("Yes", "No")) //Swapped answers to protect from accidental double clicks. if (src.health < 0 && stat != DEAD && confirm1 == "Yes" && confirm2 == "Yes") // Checking both confirm1 and confirm2 for good measure. I don't trust TGUI. src.death() - to_chat(src, "You have given up life and succumbed to death.") + to_chat(src, span_blue("You have given up life and succumbed to death.")) else if(stat == DEAD) - to_chat(src, "As much as you'd like, you can't die when already dead") + to_chat(src, span_blue("As much as you'd like, you can't die when already dead")) else if(confirm1 == "No" || confirm2 == "No") - to_chat(src, "You chose to live another day.") + to_chat(src, span_blue("You chose to live another day.")) else - to_chat(src, "You are not injured enough to succumb to death!") + to_chat(src, span_blue("You are not injured enough to succumb to death!")) /mob/living/proc/updatehealth() if(status_flags & GODMODE) diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index f30c02a151..a686d4501e 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -269,7 +269,7 @@ visible_message("\The [O] misses [src] narrowly!") return - src.visible_message("[src] has been hit by [O].") + src.visible_message("[span_red("[src] has been hit by [O].")]") var/armor = run_armor_check(null, "melee") var/soaked = get_armor_soak(null, "melee") @@ -296,7 +296,7 @@ if(O.throw_source && momentum >= THROWNOBJ_KNOCKBACK_SPEED) var/dir = get_dir(O.throw_source, src) - visible_message("[src] staggers under the impact!","You stagger under the impact!") + visible_message("[span_red("[src] staggers under the impact!")]","[span_red("You stagger under the impact!")]") src.throw_at(get_edge_target_turf(src,dir),1,momentum) if(!O || !src) return @@ -330,7 +330,7 @@ // PERSON BEING THROWN: DEVOURABLE, ALLOWS THROW VORE, CAN BE DROP PREY. if((can_be_drop_pred && throw_vore) && (thrown_mob.devourable && thrown_mob.throw_vore && thrown_mob.can_be_drop_prey)) //Prey thrown into pred. vore_selected.nom_mob(thrown_mob) //Eat them!!! - visible_message("[thrown_mob] is thrown right into [src]'s [lowertext(vore_selected.name)]!") + visible_message("[thrown_mob] is thrown right into [src]'s [lowertext(vore_selected.name)]!") if(thrown_mob.loc != vore_selected) thrown_mob.forceMove(vore_selected) //Double check. Should never happen but...Weirder things have happened! on_throw_vore_special(TRUE, thrown_mob) @@ -340,7 +340,7 @@ // PERSON BEING HIT: CAN BE DROP PREY, ALLOWS THROW VORE, AND IS DEVOURABLE. // PERSON BEING THROWN: CAN BE DROP PRED, ALLOWS THROW VORE. else if((can_be_drop_prey && throw_vore && devourable) && (thrown_mob.can_be_drop_pred && thrown_mob.throw_vore)) //Pred thrown into prey. - visible_message("[src] suddenly slips inside of [thrown_mob]'s [lowertext(thrown_mob.vore_selected.name)] as [thrown_mob] flies into them!") + visible_message("[src] suddenly slips inside of [thrown_mob]'s [lowertext(thrown_mob.vore_selected.name)] as [thrown_mob] flies into them!") thrown_mob.vore_selected.nom_mob(src) //Eat them!!! if(src.loc != thrown_mob.vore_selected) src.forceMove(thrown_mob.vore_selected) //Double check. Should never happen but...Weirder things have happened! diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index ea9cdc3579..33f79d28c0 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -475,7 +475,7 @@ var/list/ai_verbs_default = list( if(target && (!istype(target, /mob/living/carbon/human) || html_decode(href_list["trackname"]) == target:get_face_name())) ai_actual_track(target) else - to_chat(src, "System error. Cannot locate [html_decode(href_list["trackname"])].") + to_chat(src, "[span_red("System error. Cannot locate [html_decode(href_list["trackname"])].")]") return if(href_list["trackbot"]) diff --git a/code/modules/mob/living/silicon/pai/life.dm b/code/modules/mob/living/silicon/pai/life.dm index 6e7e8a42a1..054497422c 100644 --- a/code/modules/mob/living/silicon/pai/life.dm +++ b/code/modules/mob/living/silicon/pai/life.dm @@ -4,7 +4,7 @@ if(get_dist(src, src.cable) > 1) var/turf/T = get_turf_or_move(src.loc) for (var/mob/M in viewers(T)) - M.show_message("The data cable rapidly retracts back into its spool.", 3, "You hear a click and the sound of wire spooling rapidly.", 2) + M.show_message(span_red("The data cable rapidly retracts back into its spool."), 3, span_red("You hear a click and the sound of wire spooling rapidly."), 2) playsound(src, 'sound/machines/click.ogg', 50, 1) qdel(src.cable) @@ -31,7 +31,7 @@ if(silence_time) if(world.timeofday >= silence_time) silence_time = null - to_chat(src, "Communication circuit reinitialized. Speech and messaging functionality restored.") + to_chat(src, span_green("Communication circuit reinitialized. Speech and messaging functionality restored.")) handle_statuses() diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index 7ad0487945..9424979016 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -186,12 +186,12 @@ // 33% chance of no additional effect src.silence_time = world.timeofday + 120 * 10 // Silence for 2 minutes - to_chat(src, "Communication circuit overload. Shutting down and reloading communication circuits - speech and messaging functionality will be unavailable until the reboot is complete.") + to_chat(src, span_green("Communication circuit overload. Shutting down and reloading communication circuits - speech and messaging functionality will be unavailable until the reboot is complete.")) if(prob(20)) var/turf/T = get_turf_or_move(src.loc) card.death_damage() for (var/mob/M in viewers(T)) - M.show_message("A shower of sparks spray from [src]'s inner workings.", 3, "You hear and smell the ozone hiss of electrical sparks being expelled violently.", 2) + M.show_message(span_red("A shower of sparks spray from [src]'s inner workings."), 3, span_red("You hear and smell the ozone hiss of electrical sparks being expelled violently."), 2) return if(prob(50)) card.damage_random_component(TRUE) @@ -199,7 +199,7 @@ if(1) src.master = null src.master_dna = null - to_chat(src, "You feel unbound.") + to_chat(src, span_green("You feel unbound.")) if(2) var/command if(severity == 1) @@ -207,9 +207,9 @@ else command = pick("Serve", "Kill", "Love", "Hate", "Disobey", "Devour", "Fool", "Enrage", "Entice", "Observe", "Judge", "Respect", "Disrespect", "Consume", "Educate", "Destroy", "Disgrace", "Amuse", "Entertain", "Ignite", "Glorify", "Memorialize", "Analyze") src.pai_law0 = "[command] your master." - to_chat(src, "Pr1m3 d1r3c71v3 uPd473D.") + to_chat(src, span_green("Pr1m3 d1r3c71v3 uPd473D.")) if(3) - to_chat(src, "You feel an electric surge run through your circuitry and become acutely aware at how lucky you are that you can still feel at all.") + to_chat(src, span_green("You feel an electric surge run through your circuitry and become acutely aware at how lucky you are that you can still feel at all.")) /mob/living/silicon/pai/proc/switchCamera(var/obj/machinery/camera/C) if (!C) diff --git a/code/modules/mob/living/silicon/pai/say.dm b/code/modules/mob/living/silicon/pai/say.dm index ed38dfc9c8..869692c92d 100644 --- a/code/modules/mob/living/silicon/pai/say.dm +++ b/code/modules/mob/living/silicon/pai/say.dm @@ -1,6 +1,6 @@ /mob/living/silicon/pai/say(var/message, var/datum/language/speaking = null, var/whispering = 0) if(silence_time) - to_chat(src, "Communication circuits remain uninitialized.") + to_chat(src, span_green("Communication circuits remain uninitialized.")) else if(card.speech_synthesizer != PP_FUNCTIONAL) to_chat(src, "Communication circuits damaged. Service required.") else diff --git a/code/modules/mob/living/silicon/pai/software_modules.dm b/code/modules/mob/living/silicon/pai/software_modules.dm index a5553f350b..5fceeceb33 100644 --- a/code/modules/mob/living/silicon/pai/software_modules.dm +++ b/code/modules/mob/living/silicon/pai/software_modules.dm @@ -77,7 +77,7 @@ for (var/mob/v in viewers(T)) v.show_message("[M] presses [TM.his] thumb against [P].", 3, "[P] makes a sharp clicking sound as it extracts DNA material from [M].", 2) var/datum/dna/dna = M.dna - to_chat(P, "

    [M]'s UE string : [dna.unique_enzymes]

    ") + to_chat(P, span_red("

    [M]'s UE string : [dna.unique_enzymes]

    ")) if(dna.unique_enzymes == P.master_dna) to_chat(P, "DNA is a match to stored Master DNA.") else @@ -293,9 +293,9 @@ var/turf/T = get_turf(src) for(var/mob/living/silicon/ai/AI in player_list) if(T.loc) - to_chat(AI, "Network Alert: Brute-force encryption crack in progress in [T.loc].") + to_chat(AI, span_red("Network Alert: Brute-force encryption crack in progress in [T.loc].")) else - to_chat(AI, "Network Alert: Brute-force encryption crack in progress. Unable to pinpoint location.") + to_chat(AI, span_red("Network Alert: Brute-force encryption crack in progress. Unable to pinpoint location.")) var/obj/machinery/door/D = cable.machine if(!istype(D)) hack_aborted = 1 diff --git a/code/modules/mob/living/silicon/robot/analyzer.dm b/code/modules/mob/living/silicon/robot/analyzer.dm index 6a24796d87..74e9f9750d 100644 --- a/code/modules/mob/living/silicon/robot/analyzer.dm +++ b/code/modules/mob/living/silicon/robot/analyzer.dm @@ -20,13 +20,13 @@ /obj/item/device/robotanalyzer/proc/do_scan(mob/living/M as mob, mob/living/user as mob) if((CLUMSY in user.mutations) && prob(50)) - to_chat(user, "You try to analyze the floor's vitals!") + to_chat(user, span_red("You try to analyze the floor's vitals!")) for(var/mob/O in viewers(M, null)) - O.show_message(text("[user] has analyzed the floor's vitals!"), 1) - user.show_message(text("Analyzing Results for The floor:\n\t Overall Status: Healthy"), 1) - user.show_message(text("\t Damage Specifics: [0]-[0]-[0]-[0]"), 1) - user.show_message("Key: Suffocation/Toxin/Burns/Brute", 1) - user.show_message("Body Temperature: ???", 1) + O.show_message(span_red(text("[user] has analyzed the floor's vitals!")), 1) + user.show_message(span_blue(text("Analyzing Results for The floor:\n\t Overall Status: Healthy")), 1) + user.show_message(span_blue(text("\t Damage Specifics: [0]-[0]-[0]-[0]")), 1) + user.show_message(span_blue("Key: Suffocation/Toxin/Burns/Brute"), 1) + user.show_message(span_blue("Body Temperature: ???"), 1) return var/scan_type @@ -37,7 +37,7 @@ else if(istype(M, /obj/mecha)) scan_type = "mecha" else - to_chat(user, "You can't analyze non-robotic things!") + to_chat(user, span_red("You can't analyze non-robotic things!")) return user.visible_message("\The [user] has analyzed [M]'s components.","You have analyzed [M]'s components.") @@ -45,36 +45,36 @@ if("robot") var/BU = M.getFireLoss() > 50 ? "[M.getFireLoss()]" : M.getFireLoss() var/BR = M.getBruteLoss() > 50 ? "[M.getBruteLoss()]" : M.getBruteLoss() - user.show_message("Analyzing Results for [M]:\n\t Overall Status: [M.stat > 1 ? "fully disabled" : "[M.health - M.halloss]% functional"]") - user.show_message("\t Key: Electronics/Brute", 1) - user.show_message("\t Damage Specifics: [BU] - [BR]") + user.show_message(span_blue("Analyzing Results for [M]:\n\t Overall Status: [M.stat > 1 ? "fully disabled" : "[M.health - M.halloss]% functional"]")) + user.show_message("\t Key: [span_orange("Electronics")]/[span_red("Brute")]", 1) + user.show_message("\t Damage Specifics: [span_orange("[BU]")] - [span_red("[BR]")]") if(M.tod && M.stat == DEAD) - user.show_message("Time of Disable: [M.tod]") + user.show_message(span_blue("Time of Disable: [M.tod]")) var/mob/living/silicon/robot/H = M var/list/damaged = H.get_damaged_components(1,1,1) - user.show_message("Localized Damage:",1) + user.show_message(span_blue("Localized Damage:"),1) if(length(damaged)>0) for(var/datum/robot_component/org in damaged) - user.show_message(text("\t []: [][] - [] - [] - []", \ - capitalize(org.name), \ - (org.installed == -1) ? "DESTROYED " :"",\ - (org.electronics_damage > 0) ? "[org.electronics_damage]" :0, \ - (org.brute_damage > 0) ? "[org.brute_damage]" :0, \ - (org.toggled) ? "Toggled ON" : "Toggled OFF",\ - (org.powered) ? "Power ON" : "Power OFF"),1) + user.show_message(span_blue(text("\t []: [][] - [] - [] - []", \ + span_blue(capitalize(org.name)), \ + (org.installed == -1) ? "[span_red("DESTROYED")] " :"",\ + (org.electronics_damage > 0) ? "[span_orange("[org.electronics_damage]")]" :0, \ + (org.brute_damage > 0) ? "[span_red("[org.brute_damage]")]" :0, \ + (org.toggled) ? "Toggled ON" : "[span_red("Toggled OFF")]",\ + (org.powered) ? "Power ON" : "[span_red("Power OFF")]")),1) else - user.show_message("\t Components are OK.",1) + user.show_message(span_blue("\t Components are OK."),1) if(H.emagged && prob(5)) - user.show_message("\t ERROR: INTERNAL SYSTEMS COMPROMISED",1) - user.show_message("Operating Temperature: [M.bodytemperature-T0C]°C ([M.bodytemperature*1.8-459.67]°F)", 1) + user.show_message(span_red("\t ERROR: INTERNAL SYSTEMS COMPROMISED"),1) + user.show_message(span_blue("Operating Temperature: [M.bodytemperature-T0C]°C ([M.bodytemperature*1.8-459.67]°F)"), 1) if("prosthetics") var/mob/living/carbon/human/H = M to_chat(user, "Analyzing Results for \the [H]:") if(H.isSynthetic()) - to_chat(user, "System instability: [H.getToxLoss()]") - to_chat(user, "Key: Electronics/Brute") + to_chat(user, "System instability: [span_green("[H.getToxLoss()]")]") + to_chat(user, "Key: [span_orange("Electronics")]/[span_red("Brute")]") to_chat(user, "External prosthetics:") var/organ_found if(H.internal_organs.len) @@ -82,7 +82,7 @@ if(!(E.robotic >= ORGAN_ROBOT)) continue organ_found = 1 - to_chat(user, "[E.name]: [E.brute_dam] [E.burn_dam]") + to_chat(user, "[E.name]: [span_red("[E.brute_dam] ")] [span_orange("[E.burn_dam]")]") if(!organ_found) to_chat(user, "No prosthetics located.") to_chat(user, "
    ") @@ -93,7 +93,7 @@ if(!(O.robotic >= ORGAN_ROBOT)) continue organ_found = 1 - to_chat(user, "[O.name]: [O.damage]") + to_chat(user, "[O.name]: [span_red("[O.damage]")]") if(!organ_found) to_chat(user, "No prosthetics located.") @@ -113,7 +113,7 @@ Air source: [Mecha.use_internal_tank?"Internal Airtank":"Environment"]
    Airtank pressure: [tank_pressure]kPa
    Airtank temperature: [tank_temperature]K|[tank_temperature - T0C]°C
    - Cabin pressure: [cabin_pressure>WARNING_HIGH_PRESSURE ? "[cabin_pressure]": cabin_pressure]kPa
    + Cabin pressure: [cabin_pressure>WARNING_HIGH_PRESSURE ? span_red("[cabin_pressure]"): cabin_pressure]kPa
    Cabin temperature: [Mecha.return_temperature()]K|[Mecha.return_temperature() - T0C]°C
    DNA Lock: [Mecha.dna?"Mecha.dna":"Not Found"]
    "} diff --git a/code/modules/mob/living/silicon/robot/life.dm b/code/modules/mob/living/silicon/robot/life.dm index e2fc82df32..106ab34f7d 100644 --- a/code/modules/mob/living/silicon/robot/life.dm +++ b/code/modules/mob/living/silicon/robot/life.dm @@ -60,7 +60,7 @@ src.has_power = 1 else if (src.has_power) - to_chat(src, "You are now running on emergency backup power.") + to_chat(src, span_red("You are now running on emergency backup power.")) src.has_power = 0 if(lights_on) // Light is on but there is no power! lights_on = 0 diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 373d38a8e4..249342f796 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -319,7 +319,7 @@ else modules.Add(robot_module_types) if(crisis || security_level == SEC_LEVEL_RED || crisis_override) - to_chat(src, "Crisis mode active. Combat module available.") + to_chat(src, span_red("Crisis mode active. Combat module available.")) modules |= emergency_module_types for(var/module_name in whitelisted_module_types) if(is_borg_whitelisted(src, module_name)) @@ -449,11 +449,11 @@ set name = "Self Diagnosis" if(!is_component_functioning("diagnosis unit")) - to_chat(src, "Your self-diagnosis component isn't functioning.") + to_chat(src, span_red("Your self-diagnosis component isn't functioning.")) var/datum/robot_component/CO = get_component("diagnosis unit") if (!cell_use_power(CO.active_usage)) - to_chat(src, "Low Power.") + to_chat(src, span_red("Low Power.")) var/dat = self_diagnosis() src << browse(dat, "window=robotdiagnosis") @@ -477,10 +477,10 @@ var/datum/robot_component/C = components[toggle] if(C.toggled) C.toggled = 0 - to_chat(src, "You disable [C.name].") + to_chat(src, span_red("You disable [C.name].")) else C.toggled = 1 - to_chat(src, "You enable [C.name].") + to_chat(src, span_red("You enable [C.name].")) /mob/living/silicon/robot/verb/spark_plug() //So you can still sparkle on demand without violence. set category = "Robot Commands" @@ -608,7 +608,7 @@ updatehealth() add_fingerprint(user) for(var/mob/O in viewers(user, null)) - O.show_message("[user] has fixed some of the dents on [src]!", 1) + O.show_message("[span_red("[user] has fixed some of the dents on [src]!")]", 1) else to_chat(user, "Need more welding fuel!") return @@ -623,7 +623,7 @@ adjustFireLoss(-30) updatehealth() for(var/mob/O in viewers(user, null)) - O.show_message("[user] has fixed some of the burnt wires on [src]!", 1) + O.show_message("[span_red("[user] has fixed some of the burnt wires on [src]!")]", 1) else if(W.has_tool_quality(TOOL_CROWBAR) && user.a_intent != I_HURT) // crowbar means open or close the cover if(opened) @@ -753,7 +753,7 @@ to_chat(user, "You [ locked ? "lock" : "unlock"] [src]'s interface.") update_icon() else - to_chat(user, "Access denied.") + to_chat(user, "[span_red("Access denied.")]") else if(istype(W, /obj/item/borg/upgrade/)) var/obj/item/borg/upgrade/U = W @@ -1010,7 +1010,7 @@ /mob/living/silicon/robot/proc/installed_modules() if(weapon_lock) - to_chat(src, "Weapon lock active, unable to use modules! Count:[weaponlock_time]") + to_chat(src, "" + span_red("Weapon lock active, unable to use modules! Count:[weaponlock_time]") + "") return if(!module) diff --git a/code/modules/mob/living/silicon/robot/robot_damage.dm b/code/modules/mob/living/silicon/robot/robot_damage.dm index 82c5edd414..83d08c98dd 100644 --- a/code/modules/mob/living/silicon/robot/robot_damage.dm +++ b/code/modules/mob/living/silicon/robot/robot_damage.dm @@ -79,11 +79,11 @@ cell.charge -= cost if(cell.charge <= 0) cell.charge = 0 - to_chat(src, "Your shield has overloaded!") + to_chat(src, "[span_red("Your shield has overloaded!")]") else brute -= absorb_brute burn -= absorb_burn - to_chat(src, "Your shield absorbs some of the impact!") + to_chat(src, "[span_red("Your shield absorbs some of the impact!")]") if(!emp) var/datum/robot_component/armour/A = get_armour() @@ -126,11 +126,11 @@ cell.charge -= cost if(cell.charge <= 0) cell.charge = 0 - to_chat(src, "Your shield has overloaded!") + to_chat(src, "[span_red("Your shield has overloaded!")]") else brute -= absorb_brute burn -= absorb_burn - to_chat(src, "Your shield absorbs some of the impact!") + to_chat(src, "[span_red("Your shield absorbs some of the impact!")]") var/datum/robot_component/armour/A = get_armour() if(A) @@ -152,4 +152,4 @@ /mob/living/silicon/robot/emp_act(severity) uneq_all() - ..() //Damage is handled at /silicon/ level. \ No newline at end of file + ..() //Damage is handled at /silicon/ level. diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/borer/borer_captive.dm b/code/modules/mob/living/simple_mob/subtypes/animal/borer/borer_captive.dm index 618efee6dc..c0bc4e310a 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/borer/borer_captive.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/borer/borer_captive.dm @@ -9,7 +9,7 @@ if (src.client) if(client.prefs.muted & MUTE_IC) - to_chat(src, "You cannot speak in IC (muted).") + to_chat(src, span_red("You cannot speak in IC (muted).")) return if(istype(src.loc, /mob/living/simple_mob/animal/borer)) diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/borer/borer_powers.dm b/code/modules/mob/living/simple_mob/subtypes/animal/borer/borer_powers.dm index 39f3a27e87..f7b19810b7 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/borer/borer_powers.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/borer/borer_powers.dm @@ -11,7 +11,7 @@ to_chat(src, "You cannot leave your host in your current state.") if(docile) - to_chat(src, "You are feeling far too docile to do that.") + to_chat(src, span_blue("You are feeling far too docile to do that.")) return if(!host || !src) return @@ -212,7 +212,7 @@ to_chat(src, "You cannot secrete chemicals in your current state.") if(docile) - to_chat(src, "You are feeling far too docile to do that.") + to_chat(src, span_blue("You are feeling far too docile to do that.")) return if(chemicals < 50) @@ -223,7 +223,7 @@ if(!chem || chemicals < 50 || !host || controlling || !src || stat) //Sanity check. return - to_chat(src, "You squirt a measure of [chem] from your reservoirs into [host]'s bloodstream.") + to_chat(src, span_red("You squirt a measure of [chem] from your reservoirs into [host]'s bloodstream.")) host.reagents.add_reagent(chem, 10) chemicals -= 50 @@ -261,8 +261,8 @@ to_chat(src, "You cannot infest someone who is already infested!") return - to_chat(src, "You focus your psychic lance on [M] and freeze their limbs with a wave of terrible dread.") - to_chat(M, "You feel a creeping, horrible sense of dread come over you, freezing your limbs and setting your heart racing.") + to_chat(src, span_red("You focus your psychic lance on [M] and freeze their limbs with a wave of terrible dread.")) + to_chat(M, span_red("You feel a creeping, horrible sense of dread come over you, freezing your limbs and setting your heart racing.")) M.Weaken(10) used_dominate = world.time @@ -281,7 +281,7 @@ return if(docile) - to_chat(src, "You are feeling far too docile to do that.") + to_chat(src, span_blue("You are feeling far too docile to do that.")) return to_chat(src, "You begin delicately adjusting your connection to the host brain...") @@ -292,8 +292,8 @@ return else - to_chat(src, "You plunge your probosci deep into the cortex of the host brain, interfacing directly with their nervous system.") - to_chat(host, "You feel a strange shifting sensation behind your eyes as an alien consciousness displaces yours.") + to_chat(src, span_red("You plunge your probosci deep into the cortex of the host brain, interfacing directly with their nervous system.")) + to_chat(host, span_red("You feel a strange shifting sensation behind your eyes as an alien consciousness displaces yours.")) host.add_language("Cortical Link") // host -> brain @@ -353,4 +353,4 @@ rejuvenate() restore_blood() fixblood() - update_canmove() \ No newline at end of file + update_canmove() diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/chicken.dm b/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/chicken.dm index 7a22edf533..4a97ab3a31 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/chicken.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/chicken.dm @@ -52,12 +52,12 @@ GLOBAL_VAR_INIT(chicken_count, 0) // How mant chickens DO we have? var/obj/item/weapon/reagent_containers/food/snacks/grown/G = O if(G.seed && G.seed.kitchen_tag == "wheat") if(!stat && eggsleft < 8) - user.visible_message("[user] feeds [O] to [name]! It clucks happily.","You feed [O] to [name]! It clucks happily.") + user.visible_message(span_blue("[user] feeds [O] to [name]! It clucks happily."),span_blue("You feed [O] to [name]! It clucks happily.")) user.drop_item() qdel(O) eggsleft += rand(1, 4) else - to_chat(user, "[name] doesn't seem hungry!") + to_chat(user, span_blue("[name] doesn't seem hungry!")) else to_chat(user, "[name] doesn't seem interested in that.") else diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/cow.dm b/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/cow.dm index 0ff6ee6496..4fdd32500e 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/cow.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/cow.dm @@ -35,9 +35,9 @@ user.visible_message("[user] milks [src] using \the [O].") var/transfered = udder.trans_id_to(G, "milk", rand(5,10)) if(G.reagents.total_volume >= G.volume) - to_chat(user, "The [O] is full.") + to_chat(user, span_red("The [O] is full.")) if(!transfered) - to_chat(user, "The udder is dry. Wait a bit longer...") + to_chat(user, span_red("The udder is dry. Wait a bit longer...")) else ..() @@ -69,4 +69,4 @@ emote_see = list("shakes its head") /decl/mob_organ_names/cow - hit_zones = list("head", "torso", "left foreleg", "right foreleg", "left hind leg", "right hind leg", "udder") \ No newline at end of file + hit_zones = list("head", "torso", "left foreleg", "right foreleg", "left hind leg", "right hind leg", "udder") diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/goat.dm b/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/goat.dm index 477dcb5aa7..c172d0b654 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/goat.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/farm animals/goat.dm @@ -66,9 +66,9 @@ user.visible_message("[user] milks [src] using \the [O].") var/transfered = udder.trans_id_to(G, "milk", rand(5,10)) if(G.reagents.total_volume >= G.volume) - to_chat(user, "The [O] is full.") + to_chat(user, span_red("The [O] is full.")) if(!transfered) - to_chat(user, "The udder is dry. Wait a bit longer...") + to_chat(user, span_red("The udder is dry. Wait a bit longer...")) else ..() @@ -78,4 +78,4 @@ emote_see = list("shakes its head", "stamps a foot", "glares around") // say_got_target doesn't seem to handle emotes, but keeping this here in case someone wants to make it work -// say_got_target = list("[src] gets an evil-looking gleam in their eye.") \ No newline at end of file +// say_got_target = list("[src] gets an evil-looking gleam in their eye.") diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/passive/mouse.dm b/code/modules/mob/living/simple_mob/subtypes/animal/passive/mouse.dm index dcb5349ad2..dd6b6db3cf 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/passive/mouse.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/passive/mouse.dm @@ -79,7 +79,7 @@ if( ishuman(AM) ) if(!stat) var/mob/M = AM - M.visible_message("\icon[src][bicon(src)] Squeek!") + M.visible_message(span_blue("\icon[src][bicon(src)] Squeek!")) playsound(src, 'sound/effects/mouse_squeak.ogg', 35, 1) ..() diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/pets/dog.dm b/code/modules/mob/living/simple_mob/subtypes/animal/pets/dog.dm index 8e74d7e873..dc24b8d396 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/pets/dog.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/pets/dog.dm @@ -33,7 +33,7 @@ if(!stat) for(var/mob/M in viewers(user, null)) if ((M.client && !( M.blinded ))) - M.show_message("[user] baps [name] on the nose with the rolled up [O]") + M.show_message(span_blue("[user] baps [name] on the nose with the rolled up [O].")) spawn(0) for(var/i in list(1,2,4,8,4,2,1,2)) set_dir(i) @@ -103,7 +103,7 @@ //pupplies cannot wear anything. /mob/living/simple_mob/animal/passive/dog/corgi/puppy/Topic(href, href_list) if(href_list["remove_inv"] || href_list["add_inv"]) - to_chat(usr, "You can't fit this on [src]") + to_chat(usr, span_red("You can't fit this on [src]!")) return ..() @@ -190,7 +190,7 @@ //Lisa already has a cute bow! /mob/living/simple_mob/animal/passive/dog/corgi/Lisa/Topic(href, href_list) if(href_list["remove_inv"] || href_list["add_inv"]) - to_chat(usr, "[src] already has a cute bow!") + to_chat(usr, span_red("[src] already has a cute bow!")) return ..() @@ -279,4 +279,4 @@ icon_dead = "brittany_dead" /decl/mob_organ_names/corgi - hit_zones = list("head", "body", "left foreleg", "right foreleg", "left hind leg", "right hind leg", "tail", "heart") //You monster. \ No newline at end of file + hit_zones = list("head", "body", "left foreleg", "right foreleg", "left hind leg", "right hind leg", "tail", "heart") //You monster. diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/grafadreka.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/grafadreka.dm index 9dd02f083c..167992f9cd 100644 --- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/grafadreka.dm +++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/grafadreka.dm @@ -121,7 +121,7 @@ Field studies suggest analytical abilities on par with some species of cepholapo desc = "A large, sleek snow drake with heavy claws, powerful jaws and many pale spines along its body." player_msg = "You are a large Sivian pack predator in symbiosis with the local bioluminescent bacteria. You can eat glowing \ tree fruit to fuel your ranged spitting attack and poisonous bite (on harm intent), as well as healing saliva \ - (on help intent).
    There are humans moving through your territory; whether you help them get home safely, or treat them as a snack, \ + (on help intent).
    There are humans moving through your territory; whether you help them get home safely, or treat them as a snack, \ is up to you." color = "#608894" icon = 'icons/mob/drake_adult.dmi' diff --git a/code/modules/mob/living/simple_mob/subtypes/humanoid/mercs/mercs.dm b/code/modules/mob/living/simple_mob/subtypes/humanoid/mercs/mercs.dm index 84733bac39..f939e1d3c7 100644 --- a/code/modules/mob/living/simple_mob/subtypes/humanoid/mercs/mercs.dm +++ b/code/modules/mob/living/simple_mob/subtypes/humanoid/mercs/mercs.dm @@ -135,7 +135,7 @@ /mob/living/simple_mob/humanoid/merc/melee/sword/bullet_act(var/obj/item/projectile/Proj) if(!Proj) return if(prob(35)) - visible_message("[src] blocks [Proj] with its shield!") + visible_message(span_red("[src] blocks [Proj] with its shield!")) if(Proj.firer) ai_holder.react_to_attack(Proj.firer) return diff --git a/code/modules/mob/living/simple_mob/subtypes/occult/constructs/shade.dm b/code/modules/mob/living/simple_mob/subtypes/occult/constructs/shade.dm index f20d02b5c7..df9bed2d6a 100644 --- a/code/modules/mob/living/simple_mob/subtypes/occult/constructs/shade.dm +++ b/code/modules/mob/living/simple_mob/subtypes/occult/constructs/shade.dm @@ -43,11 +43,11 @@ ..() for(var/mob/M in viewers(src, null)) if((M.client && !( M.blinded ))) - M.show_message("[src] lets out a contented sigh as their form unwinds.") + M.show_message(span_red("[src] lets out a contented sigh as their form unwinds.")) ghostize() qdel(src) return /decl/mob_organ_names/shade - hit_zones = list("spectral robe", "featureless visage", "haunting glow") \ No newline at end of file + hit_zones = list("spectral robe", "featureless visage", "haunting glow") diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/demon/demon_abilities.dm b/code/modules/mob/living/simple_mob/subtypes/vore/demon/demon_abilities.dm index e6c84387c8..2ff98138eb 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/demon/demon_abilities.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/demon/demon_abilities.dm @@ -57,7 +57,7 @@ var/mob/living/target = pick(potentials) if(istype(target) && target.devourable && target.can_be_drop_prey && vore_selected) target.forceMove(vore_selected) - to_chat(target,"\The [src] phases in around you, [vore_selected.vore_verb]ing you into their [vore_selected.name]!") + to_chat(target,"\The [src] phases in around you, [vore_selected.vore_verb]ing you into their [vore_selected.name]!") // Do this after the potential vore, so we get the belly update_icon() @@ -201,10 +201,10 @@ var/mob/living/target = pick(potentials) if(istype(target) && target.devourable && target.can_be_drop_prey && vore_selected) target.forceMove(vore_selected) - to_chat(target,"\The [src] phases in around you, [vore_selected.vore_verb]ing you into their [vore_selected.name]!") + to_chat(target,"\The [src] phases in around you, [vore_selected.vore_verb]ing you into their [vore_selected.name]!") // Do this after the potential vore, so we get the belly update_icon() shift_state = AB_SHIFT_NONE - last_shift = world.time \ No newline at end of file + last_shift = world.time diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/mimic.dm b/code/modules/mob/living/simple_mob/subtypes/vore/mimic.dm index e6bacc0ed1..e6fee921b7 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/mimic.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/mimic.dm @@ -31,7 +31,7 @@ mimic_active = FALSE if(prob(mimic_chance)) var/mob/living/simple_mob/vore/aggressive/mimic/new_mimic = new(loc, src) - visible_message("[new_mimic] suddenly growls as it turns out to be a mimic!") + visible_message(span_red("[new_mimic] suddenly growls as it turns out to be a mimic!")) forceMove(new_mimic) new_mimic.real_crate = src new_mimic.name = name @@ -52,7 +52,7 @@ /obj/structure/closet/crate/mimic/damage(var/damage) if(contents.len) - visible_message("[src] makes out a crunchy noise as its contents are destroyed!") + visible_message(span_red("[src] makes out a crunchy noise as its contents are destroyed!")) for(var/obj/O in src.contents) qdel(O) ..() diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/morph/morph.dm b/code/modules/mob/living/simple_mob/subtypes/vore/morph/morph.dm index 5fac858527..6d3d58f40a 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/morph/morph.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/morph/morph.dm @@ -221,7 +221,7 @@ if(target.buckled) target.buckled.unbuckle_mob(target, force = TRUE) target.forceMove(vore_selected) - to_chat(target,"\The [src] quickly engulfs you, [vore_selected.vore_verb]ing you into their [vore_selected.name]!") + to_chat(target,"\The [src] quickly engulfs you, [vore_selected.vore_verb]ing you into their [vore_selected.name]!") else ..() diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/ability_procs.dm b/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/ability_procs.dm index ec1161630a..d094bd9114 100644 --- a/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/ability_procs.dm +++ b/code/modules/mob/living/simple_mob/subtypes/vore/shadekin/ability_procs.dm @@ -45,7 +45,7 @@ var/mob/living/target = pick(potentials) if(istype(target) && target.devourable && target.can_be_drop_prey && vore_selected) target.forceMove(vore_selected) - to_chat(target,"\The [src] phases in around you, [vore_selected.vore_verb]ing you into their [vore_selected.name]!") + to_chat(target,"\The [src] phases in around you, [vore_selected.vore_verb]ing you into their [vore_selected.name]!") // Do this after the potential vore, so we get the belly update_icon() diff --git a/code/modules/mob/login.dm b/code/modules/mob/login.dm index 398c748ccc..099ddfde0f 100644 --- a/code/modules/mob/login.dm +++ b/code/modules/mob/login.dm @@ -18,10 +18,10 @@ tgui_alert_async(usr, "You appear to have logged in with another key this round, which is not permitted. Please contact an administrator if you believe this message to be in error.") if(matches) if(M.client) - message_admins("Notice: [key_name_admin(src)] has the same [matches] as [key_name_admin(M)].", 1) + message_admins("[span_red("Notice: ")][span_blue("[key_name_admin(src)] has the same [matches] as [key_name_admin(M)].")]", 1) log_adminwarn("Notice: [key_name(src)] has the same [matches] as [key_name(M)].") else - message_admins("Notice: [key_name_admin(src)] has the same [matches] as [key_name_admin(M)] (no longer logged in). ", 1) + message_admins("[span_red("Notice: ")][span_blue("[key_name_admin(src)] has the same [matches] as [key_name_admin(M)] (no longer logged in). ")]", 1) log_adminwarn("Notice: [key_name(src)] has the same [matches] as [key_name(M)] (no longer logged in).") /mob/Login() @@ -83,4 +83,4 @@ if(cloaked && cloaked_selfimage) client.images += cloaked_selfimage - SEND_SIGNAL(src, COMSIG_MOB_CLIENT_LOGIN, client) \ No newline at end of file + SEND_SIGNAL(src, COMSIG_MOB_CLIENT_LOGIN, client) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 71fabe29a7..59ccff39b8 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -458,7 +458,7 @@ if(client.holder && (client.holder.rights & R_ADMIN|R_EVENT)) is_admin = 1 else if(stat != DEAD || istype(src, /mob/new_player)) - to_chat(usr, "You must be observing to use this!") + to_chat(usr, "[span_blue("You must be observing to use this!")]") return if(is_admin && stat == DEAD) @@ -609,7 +609,7 @@ playsound(src.loc, 'sound/weapons/thudswoosh.ogg', 25) //Quieter than hugging/grabbing but we still want some audio feedback if(H.pull_damage()) - to_chat(src, "Pulling \the [H] in their current condition would probably be a bad idea.") + to_chat(src, "[span_red("Pulling \the [H] in their current condition would probably be a bad idea.")]") //Attempted fix for people flying away through space when cuffed and dragged. if(ismob(AM)) diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index 6cbb624012..ea3802856f 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -45,7 +45,7 @@ var/mob/living/carbon/C = usr C.toggle_throw_mode() else - to_chat(usr, "This mob type cannot throw items.") + to_chat(usr, span_red("This mob type cannot throw items.")) return if(NORTHWEST) if(isliving(usr)) @@ -54,11 +54,11 @@ if(C.pulling) C.stop_pulling() return - to_chat(usr, "You have nothing to drop in your hand.") + to_chat(usr, span_red("You have nothing to drop in your hand.")) return drop_item() else - to_chat(usr, "This mob type cannot drop items.") + to_chat(usr, span_red("This mob type cannot drop items.")) return //This gets called when you press the delete button. @@ -66,7 +66,7 @@ set hidden = 1 if(!usr.pulling) - to_chat(usr, "You are not pulling anything.") + to_chat(usr, span_blue("You are not pulling anything.")) return usr.stop_pulling() @@ -225,13 +225,13 @@ for(var/mob/M in range(my_mob, 1)) if(M.pulling == my_mob) if(!M.restrained() && M.stat == 0 && M.canmove && my_mob.Adjacent(M)) - to_chat(src, "You're restrained! You can't move!") + to_chat(src, span_blue("You're restrained! You can't move!")) return 0 else M.stop_pulling() if(my_mob.pinned.len) - to_chat(src, "You're pinned to a wall by [my_mob.pinned[1]]!") + to_chat(src, span_blue("You're pinned to a wall by [my_mob.pinned[1]]!")) return 0 if(istype(my_mob.buckled, /obj/vehicle) || ismob(my_mob.buckled)) diff --git a/code/modules/mob/mob_transformation_simple.dm b/code/modules/mob/mob_transformation_simple.dm index 2534755873..f32ae4aa74 100644 --- a/code/modules/mob/mob_transformation_simple.dm +++ b/code/modules/mob/mob_transformation_simple.dm @@ -5,7 +5,7 @@ /mob/proc/change_mob_type(var/new_type = null, var/turf/location = null, var/new_name = null as text, var/delete_old_mob = 0 as num, var/subspecies) if(istype(src,/mob/new_player)) - to_chat(usr, "cannot convert players who have not entered yet.") + to_chat(usr, span_red("cannot convert players who have not entered yet.")) return if(!new_type) @@ -19,7 +19,7 @@ return if( new_type == /mob/new_player ) - to_chat(usr, "cannot convert into a new_player mob type.") + to_chat(usr, span_red("cannot convert into a new_player mob type.")) return var/mob/M diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index 16b5bf9377..f2b867f5d3 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -195,7 +195,7 @@ if(href_list["late_join"]) if(!ticker || ticker.current_state != GAME_STATE_PLAYING) - to_chat(usr, "The round is either not ready, or has already finished...") + to_chat(usr, span_red("The round is either not ready, or has already finished...")) return var/time_till_respawn = time_till_respawn() @@ -428,7 +428,7 @@ if (src != usr) return 0 if(!ticker || ticker.current_state != GAME_STATE_PLAYING) - to_chat(usr, "The round is either not ready, or has already finished...") + to_chat(usr, span_red("The round is either not ready, or has already finished...")) return 0 if(!config.enter_allowed) to_chat(usr, "There is an administrative lock on entering the game!") diff --git a/code/modules/mob/new_player/poll.dm b/code/modules/mob/new_player/poll.dm index e4f42774e9..7476783a12 100644 --- a/code/modules/mob/new_player/poll.dm +++ b/code/modules/mob/new_player/poll.dm @@ -103,7 +103,7 @@ break if(!found) - to_chat(usr, "Poll question details not found.") + to_chat(usr, span_red("Poll question details not found.")) return switch(polltype) @@ -360,7 +360,7 @@ break if(!validpoll) - to_chat(usr, "Poll is not valid.") + to_chat(usr, span_red("Poll is not valid.")) return var/DBQuery/select_query2 = dbcon.NewQuery("SELECT id FROM erro_poll_option WHERE id = [optionid] AND pollid = [pollid]") @@ -373,7 +373,7 @@ break if(!validoption) - to_chat(usr, "Poll option is not valid.") + to_chat(usr, span_red("Poll option is not valid.")) return var/alreadyvoted = 0 @@ -387,11 +387,11 @@ break if(!multichoice && alreadyvoted) - to_chat(usr, "You already voted in this poll.") + to_chat(usr, span_red("You already voted in this poll.")) return if(multichoice && (alreadyvoted >= multiplechoiceoptions)) - to_chat(usr, "You already have more than [multiplechoiceoptions] logged votes on this poll. Enough is enough. Contact the database admin if this is an error.") + to_chat(usr, span_red("You already have more than [multiplechoiceoptions] logged votes on this poll. Enough is enough. Contact the database admin if this is an error.")) return var/adminrank = "Player" @@ -402,7 +402,7 @@ var/DBQuery/insert_query = dbcon.NewQuery("INSERT INTO erro_poll_vote (id ,datetime ,pollid ,optionid ,ckey ,ip ,adminrank) VALUES (null, Now(), [pollid], [optionid], '[usr.ckey]', '[usr.client.address]', '[adminrank]')") insert_query.Execute() - to_chat(usr, "Vote successful.") + to_chat(usr, span_blue("Vote successful.")) usr << browse(null,"window=playerpoll") @@ -427,7 +427,7 @@ break if(!validpoll) - to_chat(usr, "Poll is not valid.") + to_chat(usr, span_red("Poll is not valid.")) return var/alreadyvoted = 0 @@ -440,7 +440,7 @@ break if(alreadyvoted) - to_chat(usr, "You already sent your feedback for this poll.") + to_chat(usr, span_red("You already sent your feedback for this poll.")) return var/adminrank = "Player" @@ -460,7 +460,7 @@ var/DBQuery/insert_query = dbcon.NewQuery("INSERT INTO erro_poll_textreply (id ,datetime ,pollid ,ckey ,ip ,replytext ,adminrank) VALUES (null, Now(), [pollid], '[usr.ckey]', '[usr.client.address]', '[replytext]', '[adminrank]')") insert_query.Execute() - to_chat(usr, "Feedback logging successful.") + to_chat(usr, span_blue("Feedback logging successful.")) usr << browse(null,"window=playerpoll") @@ -485,7 +485,7 @@ break if(!validpoll) - to_chat(usr, "Poll is not valid.") + to_chat(usr, span_red("Poll is not valid.")) return var/DBQuery/select_query2 = dbcon.NewQuery("SELECT id FROM erro_poll_option WHERE id = [optionid] AND pollid = [pollid]") @@ -498,7 +498,7 @@ break if(!validoption) - to_chat(usr, "Poll option is not valid.") + to_chat(usr, span_red("Poll option is not valid.")) return var/alreadyvoted = 0 @@ -511,7 +511,7 @@ break if(alreadyvoted) - to_chat(usr, "You already voted in this poll.") + to_chat(usr, span_red("You already voted in this poll.")) return var/adminrank = "Player" @@ -522,5 +522,5 @@ var/DBQuery/insert_query = dbcon.NewQuery("INSERT INTO erro_poll_vote (id ,datetime ,pollid ,optionid ,ckey ,ip ,adminrank, rating) VALUES (null, Now(), [pollid], [optionid], '[usr.ckey]', '[usr.client.address]', '[adminrank]', [(isnull(rating)) ? "null" : rating])") insert_query.Execute() - to_chat(usr, "Vote successful.") - usr << browse(null,"window=playerpoll") \ No newline at end of file + to_chat(usr, span_blue("Vote successful.")) + usr << browse(null,"window=playerpoll") diff --git a/code/modules/mob/say.dm b/code/modules/mob/say.dm index eec138c412..d728e90537 100644 --- a/code/modules/mob/say.dm +++ b/code/modules/mob/say.dm @@ -29,7 +29,7 @@ set category = "IC" if(say_disabled) //This is here to try to identify lag problems - to_chat(usr, "Speech is currently admin-disabled.") + to_chat(usr, span_red("Speech is currently admin-disabled.")) return //VOREStation Addition Start if(forced_psay) diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index e012ed4b1a..dd2cc1986f 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -254,7 +254,7 @@ var/mobpath = tgui_input_list(usr, "Which type of mob should [src] turn into?", "Choose a type", mobtypes) if(!safe_animal(mobpath)) - to_chat(usr, "Sorry but this mob type is currently unavailable.") + to_chat(usr, span_red("Sorry but this mob type is currently unavailable.")) return if(transforming) @@ -288,7 +288,7 @@ var/mobpath = tgui_input_list(usr, "Which type of mob should [src] turn into?", "Choose a type", mobtypes) if(!safe_animal(mobpath)) - to_chat(usr, "Sorry but this mob type is currently unavailable.") + to_chat(usr, span_red("Sorry but this mob type is currently unavailable.")) return var/mob/new_mob = new mobpath(src.loc) @@ -337,6 +337,3 @@ //Not in here? Must be untested! return 0 - - - diff --git a/code/modules/multiz/movement_vr.dm b/code/modules/multiz/movement_vr.dm index db9057d6c0..c77ab2c041 100644 --- a/code/modules/multiz/movement_vr.dm +++ b/code/modules/multiz/movement_vr.dm @@ -48,11 +48,11 @@ pred.loc = fallloc if(!safe_fall) pred.Weaken(8) - pred.visible_message("\The [pred] falls right onto \the [prey]!") + pred.visible_message("\The [pred] falls right onto \the [prey]!") else if(prey.vore_selected && prey.can_be_drop_pred && pred.can_be_drop_prey && pred.drop_vore && prey.drop_vore) prey.feed_grabbed_to_self_falling_nom(prey,pred) prey.Weaken(4) - prey.visible_message("\The [pred] falls right into \the [prey]!") + prey.visible_message("\The [pred] falls right into \the [prey]!") else pred.loc = prey.loc if(!safe_fall) diff --git a/code/modules/news/new_newspaper.dm b/code/modules/news/new_newspaper.dm index 3962f80cf4..d84a2a53c4 100644 --- a/code/modules/news/new_newspaper.dm +++ b/code/modules/news/new_newspaper.dm @@ -132,7 +132,7 @@ obj/item/weapon/newspaper/Topic(href, href_list) obj/item/weapon/newspaper/attackby(obj/item/weapon/W as obj, mob/user) if(istype(W, /obj/item/weapon/pen)) if(scribble_page == curr_page) - to_chat(user, "There's already a scribble in this page... You wouldn't want to make things too cluttered, would you?") + to_chat(user, span_blue("There's already a scribble in this page... You wouldn't want to make things too cluttered, would you?")) else var/s = sanitize(tgui_input_text(user, "Write something", "Newspaper", "")) s = sanitize(s) diff --git a/code/modules/news/newspaper.dm b/code/modules/news/newspaper.dm index 9eae4b19ee..d58b9446b2 100644 --- a/code/modules/news/newspaper.dm +++ b/code/modules/news/newspaper.dm @@ -133,7 +133,7 @@ /obj/item/weapon/newspaper/attackby(obj/item/weapon/W as obj, mob/user as mob) if(istype(W, /obj/item/weapon/pen)) if(scribble_page == curr_page) - to_chat(user, "There's already a scribble in this page... You wouldn't want to make things too cluttered, would you?") + to_chat(user, span_blue("There's already a scribble in this page... You wouldn't want to make things too cluttered, would you?")) else var/s = sanitize(tgui_input_text(user, "Write something", "Newspaper", "")) s = sanitize(s) @@ -144,4 +144,4 @@ scribble_page = curr_page scribble = s attack_self(user) - return \ No newline at end of file + return diff --git a/code/modules/organs/blood.dm b/code/modules/organs/blood.dm index 9d36c005d0..7d820c54f1 100644 --- a/code/modules/organs/blood.dm +++ b/code/modules/organs/blood.dm @@ -118,10 +118,10 @@ var/const/CE_STABLE_THRESHOLD = 0.5 pale = 1 update_icons_body() var/word = pick("dizzy","woozy","faint","disoriented","unsteady") - to_chat(src, "You feel slightly [word]") + to_chat(src, span_red("You feel slightly [word]")) if(prob(1)) var/word = pick("dizzy","woozy","faint","disoriented","unsteady") - to_chat(src, "You feel [word]") + to_chat(src, span_red("You feel [word]")) if(getOxyLoss() < 20 * threshold_coef) adjustOxyLoss(3 * dmg_coef) else if(blood_volume_raw >= species.blood_volume*species.blood_level_danger) @@ -135,13 +135,13 @@ var/const/CE_STABLE_THRESHOLD = 0.5 if(prob(15)) Paralyse(rand(1,3)) var/word = pick("dizzy","woozy","faint","disoriented","unsteady") - to_chat(src, "You feel dangerously [word]") + to_chat(src, span_red("You feel dangerously [word]")) else if(blood_volume_raw >= species.blood_volume*species.blood_level_fatal) adjustOxyLoss(5 * dmg_coef) // adjustToxLoss(3 * dmg_coef) if(prob(15)) var/word = pick("dizzy","woozy","faint","disoriented","unsteady") - to_chat(src, "You feel extremely [word]") + to_chat(src, span_red("You feel extremely [word]")) else //Not enough blood to survive (usually) if(!pale) pale = 1 diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index f55a36cb81..cf74c4ec64 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -415,7 +415,7 @@ qdel(src) else - to_chat(user, "You must hold \the [P] steady to burn \the [src].") + to_chat(user, span_red("You must hold \the [P] steady to burn \the [src].")) /obj/item/weapon/paper/Topic(href, href_list) diff --git a/code/modules/paperwork/paper_bundle.dm b/code/modules/paperwork/paper_bundle.dm index 287927a6d3..cad2cff56f 100644 --- a/code/modules/paperwork/paper_bundle.dm +++ b/code/modules/paperwork/paper_bundle.dm @@ -94,7 +94,7 @@ qdel(src) else - to_chat(user, "You must hold \the [P] steady to burn \the [src].") + to_chat(user, span_red("You must hold \the [P] steady to burn \the [src].")) /obj/item/weapon/paper_bundle/examine(mob/user) . = ..() @@ -243,4 +243,4 @@ if(photo) desc += "\nThere is a photo attached to it." add_overlay(image('icons/obj/bureaucracy.dmi', "clip")) - return \ No newline at end of file + return diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm index 5ce9eacd99..fcaa6ca414 100644 --- a/code/modules/paperwork/photocopier.dm +++ b/code/modules/paperwork/photocopier.dm @@ -230,7 +230,7 @@ toner-- if(toner == 0) playsound(src, "sound/machines/buzz-sigh.ogg", 100) - visible_message("A red light on \the [src] flashes, indicating that it is out of toner.") + visible_message("A [span_red("red")] light on \the [src] flashes, indicating that it is out of toner.") return c diff --git a/code/modules/power/antimatter/control.dm b/code/modules/power/antimatter/control.dm index 189f029501..aab380fe48 100644 --- a/code/modules/power/antimatter/control.dm +++ b/code/modules/power/antimatter/control.dm @@ -156,12 +156,12 @@ src.anchored = FALSE disconnect_from_network() else - to_chat(user, "Once bolted and linked to a shielding unit it the [src.name] is unable to be moved!") + to_chat(user, span_red("Once bolted and linked to a shielding unit it the [src.name] is unable to be moved!")) return if(istype(W, /obj/item/weapon/am_containment)) if(fueljar) - to_chat(user, "There is already a [fueljar] inside!") + to_chat(user, span_red("There is already a [fueljar] inside!")) return fueljar = W user.remove_from_mob(W) @@ -327,4 +327,4 @@ check_core_stability() updateDialog() - return \ No newline at end of file + return diff --git a/code/modules/power/antimatter/engine.dm b/code/modules/power/antimatter/engine.dm index c76f329b50..224c12e381 100644 --- a/code/modules/power/antimatter/engine.dm +++ b/code/modules/power/antimatter/engine.dm @@ -109,7 +109,7 @@ antiH_fuel = residual_matter for(var/mob/M in hearers(src, null)) - M.show_message(text("You hear a loud bang!")) + M.show_message(span_red(text("You hear a loud bang!"))) //Q = k x (delta T) @@ -161,7 +161,7 @@ if(energy > convert2energy(8e-12)) //TOO MUCH ENERGY for(var/mob/M in hearers(src, null)) - M.show_message(text("You hear a loud whirring!")) + M.show_message(span_red(text("You hear a loud whirring!"))) sleep(20) //Q = k x (delta T) @@ -180,7 +180,7 @@ if(energy > convert2energy(8e-12)) //FAR TOO MUCH ENERGY STILL for(var/mob/M in hearers(src, null)) - M.show_message(text("BANG!")) + M.show_message(span_red(text("BANG!"))) new /obj/effect/bhole(src.loc) else //this amount of energy is okay so it does the proper output thing diff --git a/code/modules/power/antimatter/fuel.dm b/code/modules/power/antimatter/fuel.dm index bd78186a96..9d94e80c44 100644 --- a/code/modules/power/antimatter/fuel.dm +++ b/code/modules/power/antimatter/fuel.dm @@ -77,7 +77,7 @@ if("Anti-Hydrogen") M.gib() //Yikes! if("Hydrogen") - to_chat(M, "You feel very light, as if you might just float away...") + to_chat(M, span_blue("You feel very light, as if you might just float away...")) qdel(src) return @@ -96,5 +96,5 @@ return else for(var/mob/O in viewers(M, null)) - O.show_message(text("[M] ate the [content ? content : "empty canister"]!"), 1) + O.show_message(span_red(text("[M] ate the [content ? content : "empty canister"]!")), 1) src.injest(M) diff --git a/code/modules/power/antimatter/shielding.dm b/code/modules/power/antimatter/shielding.dm index 3dc9e97af3..753ed9c788 100644 --- a/code/modules/power/antimatter/shielding.dm +++ b/code/modules/power/antimatter/shielding.dm @@ -68,7 +68,7 @@ /obj/machinery/am_shielding/Destroy() if(control_unit) control_unit.remove_shielding(src) if(processing) shutdown_core() - visible_message("The [src.name] melts!") + visible_message(span_red("The [src.name] melts!")) //Might want to have it leave a mess on the floor but no sprites for now ..() return @@ -202,4 +202,4 @@ qdel(src) return ..() - return \ No newline at end of file + return diff --git a/code/modules/power/breaker_box.dm b/code/modules/power/breaker_box.dm index 2dffe3c228..1b2e03cb74 100644 --- a/code/modules/power/breaker_box.dm +++ b/code/modules/power/breaker_box.dm @@ -53,18 +53,18 @@ /obj/machinery/power/breakerbox/attack_ai(mob/user) if(update_locked) - to_chat(user, "System locked. Please try again later.") + to_chat(user, span_red("System locked. Please try again later.")) return if(busy) - to_chat(user, "System is busy. Please wait until current operation is finished before changing power settings.") + to_chat(user, span_red("System is busy. Please wait until current operation is finished before changing power settings.")) return busy = 1 - to_chat(user, "Updating power settings...") + to_chat(user, span_green("Updating power settings...")) if(do_after(user, 50)) set_state(!on) - to_chat(user, "Update Completed. New setting:[on ? "on": "off"]") + to_chat(user, span_green("Update Completed. New setting:[on ? "on": "off"]")) update_locked = 1 spawn(600) update_locked = 0 @@ -73,16 +73,16 @@ /obj/machinery/power/breakerbox/attack_hand(mob/user) if(update_locked) - to_chat(user, "System locked. Please try again later.") + to_chat(user, span_red("System locked. Please try again later.")) return if(busy) - to_chat(user, "System is busy. Please wait until current operation is finished before changing power settings.") + to_chat(user, span_red("System is busy. Please wait until current operation is finished before changing power settings.")) return busy = 1 for(var/mob/O in viewers(user)) - O.show_message(text("[user] started reprogramming [src]!"), 1) + O.show_message(span_red(text("[user] started reprogramming [src]!")), 1) if(do_after(user, 50)) set_state(!on) @@ -102,7 +102,7 @@ RCon_tag = newtag to_chat(user, "You changed the RCON tag to: [newtag]") if(on) - to_chat(user, "Disable the breaker before performing maintenance.") + to_chat(user, span_red("Disable the breaker before performing maintenance.")) return if(default_deconstruction_screwdriver(user, W)) return @@ -152,4 +152,4 @@ update_locked = 0 /obj/machinery/power/breakerbox/process() - return 1 \ No newline at end of file + return 1 diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index 0b06dfbf31..00e855e047 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -985,7 +985,7 @@ var/list/possible_cable_coil_colours = list( var/obj/item/stack/cable_coil/CC = new/obj/item/stack/cable_coil(user.loc) CC.amount = N CC.update_icon() - to_chat(user,"You take [N] units of wire from the [src].") + to_chat(user,span_blue("You take [N] units of wire from the [src].")) if (CC) user.put_in_hands(CC) src.add_fingerprint(user) diff --git a/code/modules/power/cable_heavyduty.dm b/code/modules/power/cable_heavyduty.dm index e37a8755d6..cc0cdcd6a1 100644 --- a/code/modules/power/cable_heavyduty.dm +++ b/code/modules/power/cable_heavyduty.dm @@ -18,13 +18,13 @@ return if(W.has_tool_quality(TOOL_WIRECUTTER)) - to_chat(usr, "These cables are too tough to be cut with those [W.name].") + to_chat(usr, span_blue("These cables are too tough to be cut with those [W.name].")) return else if(istype(W, /obj/item/stack/cable_coil)) - to_chat(usr, "You will need heavier cables to connect to these.") + to_chat(usr, span_blue("You will need heavier cables to connect to these.")) return else ..() /obj/structure/cable/heavyduty/cableColor(var/colorC) - return \ No newline at end of file + return diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 454e491f70..6ee50752b1 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -777,7 +777,7 @@ var/global/list/light_type_cache = list() if(H.species.can_shred(H)) user.setClickCooldown(user.get_attack_speed()) for(var/mob/M in viewers(src)) - M.show_message("[user.name] smashed the light!", 3, "You hear a tinkle of breaking glass", 2) + M.show_message(span_red("[user.name] smashed the light!"), 3, "You hear a tinkle of breaking glass", 2) broken() return @@ -1165,7 +1165,7 @@ var/global/list/light_type_cache = list() /obj/item/weapon/light/proc/shatter() if(status == LIGHT_OK || status == LIGHT_BURNED) - src.visible_message("[name] shatters."," You hear a small glass object shatter.") + src.visible_message(span_red("[name] shatters."),span_red("You hear a small glass object shatter.")) status = LIGHT_BROKEN force = 5 sharp = TRUE diff --git a/code/modules/power/pacman2.dm b/code/modules/power/pacman2.dm index 27f86867ed..9471665d47 100644 --- a/code/modules/power/pacman2.dm +++ b/code/modules/power/pacman2.dm @@ -63,28 +63,28 @@ attackby(var/obj/item/O as obj, var/mob/user as mob) if(istype(O, /obj/item/weapon/tank/phoron)) if(P) - to_chat(user, "The generator already has a phoron tank loaded!") + to_chat(user, span_red("The generator already has a phoron tank loaded!")) return P = O user.drop_item() O.loc = src - to_chat(user, "You add the phoron tank to the generator.") + to_chat(user, span_blue("You add the phoron tank to the generator.")) else if(!active) if(O.has_tool_quality(TOOL_WRENCH)) anchored = !anchored playsound(src, 'sound/items/Deconstruct.ogg', 50, 1) if(anchored) - to_chat(user, "You secure the generator to the floor.") + to_chat(user, span_blue("You secure the generator to the floor.")) else - to_chat(user, "You unsecure the generator from the floor.") + to_chat(user, span_blue("You unsecure the generator from the floor.")) SSmachines.makepowernets() else if(O.has_tool_quality(TOOL_SCREWDRIVER)) open = !open playsound(src, O.usesound, 50, 1) if(open) - to_chat(user, "You open the access panel.") + to_chat(user, span_blue("You open the access panel.")) else - to_chat(user, "You close the access panel.") + to_chat(user, span_blue("You close the access panel.")) else if(O.has_tool_quality(TOOL_CROWBAR) && !open) playsound(src, O.usesound, 50, 1) var/obj/machinery/constructable_frame/machine_frame/new_frame = new /obj/machinery/constructable_frame/machine_frame(src.loc) diff --git a/code/modules/power/singularity/collector.dm b/code/modules/power/singularity/collector.dm index 59abb2cca7..fcaea3b899 100644 --- a/code/modules/power/singularity/collector.dm +++ b/code/modules/power/singularity/collector.dm @@ -54,17 +54,17 @@ var/global/list/rad_collectors = list() investigate_log("turned [active?"on":"off"] by [user.key]. [P?"Fuel: [round(P.air_contents.gas["phoron"]/0.29)]%":"It is empty"].","singulo") return else - to_chat(user, "The controls are locked!") + to_chat(user, span_red("The controls are locked!")) return /obj/machinery/power/rad_collector/attackby(obj/item/W, mob/user) if(istype(W, /obj/item/weapon/tank/phoron)) if(!src.anchored) - to_chat(user, "The [src] needs to be secured to the floor first.") + to_chat(user, span_red("The [src] needs to be secured to the floor first.")) return 1 if(src.P) - to_chat(user, "There's already a phoron tank loaded.") + to_chat(user, span_red("There's already a phoron tank loaded.")) return 1 user.drop_item() src.P = W @@ -77,7 +77,7 @@ var/global/list/rad_collectors = list() return 1 else if(W.has_tool_quality(TOOL_WRENCH)) if(P) - to_chat(user, "Remove the phoron tank first.") + to_chat(user, span_blue("Remove the phoron tank first.")) return 1 playsound(src, W.usesound, 75, 1) src.anchored = !src.anchored @@ -96,9 +96,9 @@ var/global/list/rad_collectors = list() to_chat(user, "The controls are now [src.locked ? "locked." : "unlocked."]") else src.locked = 0 //just in case it somehow gets locked - to_chat(user, "The controls can only be locked when the [src] is active.") + to_chat(user, span_red("The controls can only be locked when the [src] is active.")) else - to_chat(user, "Access denied!") + to_chat(user, span_red("Access denied!")) return 1 return ..() @@ -157,4 +157,3 @@ var/global/list/rad_collectors = list() flick("ca_deactive", src) update_icons() return - diff --git a/code/modules/power/singularity/field_generator.dm b/code/modules/power/singularity/field_generator.dm index 17c4d770e4..657f0a2373 100644 --- a/code/modules/power/singularity/field_generator.dm +++ b/code/modules/power/singularity/field_generator.dm @@ -133,13 +133,13 @@ field_generator power level display "You hear ratchet") src.anchored = FALSE if(2) - to_chat(user, "The [src.name] needs to be unwelded from the floor.") + to_chat(user, span_red("The [src.name] needs to be unwelded from the floor.")) return else if(W.has_tool_quality(TOOL_WELDER)) var/obj/item/weapon/weldingtool/WT = W.get_welder() switch(state) if(0) - to_chat(user, "The [src.name] needs to be wrenched to the floor.") + to_chat(user, span_red("The [src.name] needs to be wrenched to the floor.")) return if(1) if (WT.remove_fuel(0,user)) @@ -227,7 +227,7 @@ field_generator power level display return 1 else for(var/mob/M in viewers(src)) - M.show_message("\The [src] shuts down!") + M.show_message(span_red("\The [src] shuts down!")) turn_off() log_game("FIELDGEN([x],[y],[z]) Lost power and was ON.") investigate_log("ran out of power and deactivated","singulo") diff --git a/code/modules/power/smes_construction.dm b/code/modules/power/smes_construction.dm index 47bd37f008..902616f934 100644 --- a/code/modules/power/smes_construction.dm +++ b/code/modules/power/smes_construction.dm @@ -348,7 +348,7 @@ total_system_failure(failure_probability, user) return - to_chat(user, "You have disassembled the SMES cell!") + to_chat(user, span_red("You have disassembled the SMES cell!")) dismantle() return @@ -367,4 +367,4 @@ W.loc = src recalc_coils() else - to_chat(user, "You can't insert more coils into this SMES unit!") + to_chat(user, span_red("You can't insert more coils into this SMES unit!")) diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm index 97d9ff488b..179b6e7b78 100644 --- a/code/modules/power/solar.dm +++ b/code/modules/power/solar.dm @@ -416,7 +416,7 @@ GLOBAL_LIST_EMPTY(solars_list) playsound(src, I.usesound, 50, 1) if(do_after(user, 20)) if (src.stat & BROKEN) - to_chat(user, "The broken glass falls out.") + to_chat(user, span_blue("The broken glass falls out.")) var/obj/structure/frame/A = new /obj/structure/frame/computer( src.loc ) new /obj/item/weapon/material/shard( src.loc ) var/obj/item/weapon/circuitboard/solar_control/M = new /obj/item/weapon/circuitboard/solar_control( A ) @@ -428,7 +428,7 @@ GLOBAL_LIST_EMPTY(solars_list) A.anchored = TRUE qdel(src) else - to_chat(user, "You disconnect the monitor.") + to_chat(user, span_blue("You disconnect the monitor.")) var/obj/structure/frame/A = new /obj/structure/frame/computer( src.loc ) var/obj/item/weapon/circuitboard/solar_control/M = new /obj/item/weapon/circuitboard/solar_control( A ) for (var/obj/C in src) diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index 45ca8fb603..4c94888c83 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -48,7 +48,7 @@ /obj/machinery/power/supermatter name = "Supermatter" - desc = "A strangely translucent and iridescent crystal. You get headaches just from looking at it." + desc = "A strangely translucent and iridescent crystal. You get headaches just from looking at it." icon = 'icons/obj/supermatter.dmi' icon_state = "darkmatter" plane = MOB_PLANE // So people can walk behind the top part @@ -515,7 +515,7 @@ /obj/machinery/power/supermatter/shard //Small subtype, less efficient and more sensitive, but less boom. name = "Supermatter Shard" - desc = "A strangely translucent and iridescent crystal that looks like it used to be part of a larger structure. You get headaches just from looking at it." + desc = "A strangely translucent and iridescent crystal that looks like it used to be part of a larger structure. You get headaches just from looking at it." icon_state = "darkmatter_shard" base_icon_state = "darkmatter_shard" diff --git a/code/modules/projectiles/ammunition.dm b/code/modules/projectiles/ammunition.dm index a09e7cfb61..2330a4dad1 100644 --- a/code/modules/projectiles/ammunition.dm +++ b/code/modules/projectiles/ammunition.dm @@ -33,18 +33,18 @@ /obj/item/ammo_casing/attackby(obj/item/I as obj, mob/user as mob) if(I.has_tool_quality(TOOL_SCREWDRIVER)) if(!BB) - to_chat(user, "There is no bullet in the casing to inscribe anything into.") + to_chat(user, span_blue("There is no bullet in the casing to inscribe anything into.")) return var/tmp_label = "" var/label_text = sanitizeSafe(tgui_input_text(user, "Inscribe some text into \the [initial(BB.name)]","Inscription",tmp_label,MAX_NAME_LEN), MAX_NAME_LEN) if(length(label_text) > 20) - to_chat(user, "The inscription can be at most 20 characters long.") + to_chat(user, span_red("The inscription can be at most 20 characters long.")) else if(!label_text) - to_chat(user, "You scratch the inscription off of [initial(BB)].") + to_chat(user, span_blue("You scratch the inscription off of [initial(BB)].")) BB.name = initial(BB.name) else - to_chat(user, "You inscribe \"[label_text]\" into \the [initial(BB.name)].") + to_chat(user, span_blue("You inscribe \"[label_text]\" into \the [initial(BB.name)].")) BB.name = "[initial(BB.name)] (\"[label_text]\")" else if(istype(I, /obj/item/ammo_magazine) && isturf(loc)) // Mass magazine reloading. var/obj/item/ammo_magazine/box = I @@ -281,4 +281,4 @@ /obj/item/ammo_magazine/ammo_box/examine(mob/user) . = ..() - . += to_chat(usr, "Alt-click to extract contents.") \ No newline at end of file + . += to_chat(usr, "Alt-click to extract contents.") diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 5e095bfc7f..3f5da791e4 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -702,9 +702,9 @@ var/mob/living/carbon/human/M = user mouthshoot = 1 - M.visible_message("[user] sticks their gun in their mouth, ready to pull the trigger...") + M.visible_message(span_red("[user] sticks their gun in their mouth, ready to pull the trigger...")) if(!do_after(user, 40)) - M.visible_message("[user] decided life was worth living") + M.visible_message(span_blue("[user] decided life was worth living")) mouthshoot = 0 return var/obj/item/projectile/in_chamber = consume_next_projectile() @@ -799,4 +799,4 @@ /obj/item/weapon/gun/dropped(mob/living/user) // Ditto as above, we remove the HUD. Pending porting TGMC code to clean up this fucking nightmare of spaghetti. user.hud_used.remove_ammo_hud(user, src) - ..() \ No newline at end of file + ..() diff --git a/code/modules/projectiles/guns/energy/bsharpoon_vr.dm b/code/modules/projectiles/guns/energy/bsharpoon_vr.dm index e1c5711d27..4bea1318c6 100644 --- a/code/modules/projectiles/guns/energy/bsharpoon_vr.dm +++ b/code/modules/projectiles/guns/energy/bsharpoon_vr.dm @@ -144,8 +144,8 @@ if(prey != user && prey.can_be_drop_prey) prey.forceMove(belly_dest) vore_happened = TRUE - to_chat(prey, "[living_user] materializes around you, as you end up in their [belly_dest]!") - to_chat(living_user, "You materialize around [prey] as they end up in your [belly_dest]!") + to_chat(prey, "[living_user] materializes around you, as you end up in their [belly_dest]!") + to_chat(living_user, "You materialize around [prey] as they end up in your [belly_dest]!") if(can_dropnom && !vore_happened && living_user.can_be_drop_prey) var/mob/living/pred for(var/mob/living/potential_pred in ToTurf) @@ -159,8 +159,8 @@ belly_dest = pick(pred.vore_organs) if(belly_dest) living_user.forceMove(belly_dest) - to_chat(pred, "[living_user] materializes inside you as they end up in your [belly_dest]!") - to_chat(living_user, "You materialize inside [pred] as you end up in their [belly_dest]!") + to_chat(pred, "[living_user] materializes inside you as they end up in your [belly_dest]!") + to_chat(living_user, "You materialize inside [pred] as you end up in their [belly_dest]!") else for(var/obj/O in FromTurf) @@ -185,8 +185,8 @@ belly_dest = pick(living_user.vore_organs) if(belly_dest) M.forceMove(belly_dest) - to_chat(living_user, "[M] materializes inside you as they end up in your [belly_dest]!") - to_chat(M, "You materialize inside [living_user] as you end up in their [belly_dest]!") + to_chat(living_user, "[M] materializes inside you as they end up in your [belly_dest]!") + to_chat(M, "You materialize inside [living_user] as you end up in their [belly_dest]!") else if(can_dropnom && living_user.can_be_drop_prey && M.can_be_drop_pred && !user_vored) var/obj/belly/belly_dest if(M.vore_selected) @@ -196,8 +196,8 @@ if(belly_dest) living_user.forceMove(belly_dest) user_vored = TRUE - to_chat(living_user, "[M] materializes around you, as you end up in their [belly_dest]!") - to_chat(M, "You materialize around [living_user] as they end up in your [belly_dest]!") + to_chat(living_user, "[M] materializes around you, as you end up in their [belly_dest]!") + to_chat(M, "You materialize around [living_user] as they end up in your [belly_dest]!") /obj/item/weapon/bluespace_harpoon/attack_self(mob/living/user as mob) diff --git a/code/modules/projectiles/guns/energy/cell_loaded_vr/ml3m_cells.dm b/code/modules/projectiles/guns/energy/cell_loaded_vr/ml3m_cells.dm index e66908daef..cb27f2fa71 100644 --- a/code/modules/projectiles/guns/energy/cell_loaded_vr/ml3m_cells.dm +++ b/code/modules/projectiles/guns/energy/cell_loaded_vr/ml3m_cells.dm @@ -322,7 +322,7 @@ /obj/item/projectile/beam/medical_cell/shrink/on_hit(var/mob/living/carbon/human/target) if(istype(target, /mob/living/carbon/human)) target.resize(0.5) - target.show_message("The beam fires into your body, changing your size!") + target.show_message(span_blue("The beam fires into your body, changing your size!")) target.update_icon() else return 1 @@ -336,7 +336,7 @@ /obj/item/projectile/beam/medical_cell/grow/on_hit(var/mob/living/carbon/human/target) if(istype(target, /mob/living/carbon/human)) target.resize(2.0) - target.show_message("The beam fires into your body, changing your size!") + target.show_message(span_blue("The beam fires into your body, changing your size!")) target.update_icon() else return 1 @@ -350,7 +350,7 @@ /obj/item/projectile/beam/medical_cell/normalsize/on_hit(var/mob/living/carbon/human/target) if(istype(target, /mob/living/carbon/human)) target.resize(1) - target.show_message("The beam fires into your body, changing your size!") + target.show_message(span_blue("The beam fires into your body, changing your size!")) target.update_icon() else return 1 diff --git a/code/modules/projectiles/guns/launcher.dm b/code/modules/projectiles/guns/launcher.dm index 412a032d3a..e0494e534d 100644 --- a/code/modules/projectiles/guns/launcher.dm +++ b/code/modules/projectiles/guns/launcher.dm @@ -15,7 +15,7 @@ //Override this to avoid a runtime with suicide handling. /obj/item/weapon/gun/launcher/handle_suicide(mob/living/user) - to_chat(user, "Shooting yourself with \a [src] is pretty tricky. You can't seem to manage it.") + to_chat(user, span_red("Shooting yourself with \a [src] is pretty tricky. You can't seem to manage it.")) return /obj/item/weapon/gun/launcher/proc/update_release_force(obj/item/projectile) diff --git a/code/modules/projectiles/guns/launcher/confetti.dm b/code/modules/projectiles/guns/launcher/confetti.dm index 3d23b19385..a6924b3434 100644 --- a/code/modules/projectiles/guns/launcher/confetti.dm +++ b/code/modules/projectiles/guns/launcher/confetti.dm @@ -17,17 +17,17 @@ /obj/item/weapon/gun/launcher/confetti_cannon/examine(mob/user) . = ..() if(get_dist(user, src) <= 2) - . += "It's loaded with [confetti_charge] ball\s of confetti." + . += span_blue("It's loaded with [confetti_charge] ball\s of confetti.") /obj/item/weapon/gun/launcher/confetti_cannon/attackby(obj/item/I as obj, mob/user as mob) if(istype(I, /obj/item/weapon/paper) || istype(I, /obj/item/weapon/shreddedp)) if(confetti_charge < max_confetti) user.drop_item() ++confetti_charge - to_chat(usr, "You put the paper in the [src].") + to_chat(usr, span_blue("You put the paper in the [src].")) qdel(I) else - to_chat(usr, "[src] cannot hold more paper.") + to_chat(usr, span_red("[src] cannot hold more paper.")) /obj/item/weapon/gun/launcher/confetti_cannon/proc/pump(mob/M as mob) playsound(M, 'sound/weapons/shotgunpump.ogg', 60, 1) @@ -35,11 +35,11 @@ if(confetti_charge) chambered = new /obj/item/weapon/grenade/confetti/party_ball --confetti_charge - to_chat(usr, "You compress a new confetti ball.") + to_chat(usr, span_blue("You compress a new confetti ball.")) else - to_chat(usr, "The [src] is out of confetti!") + to_chat(usr, span_red("The [src] is out of confetti!")) else - to_chat(usr, "The [src] is already loaded!") + to_chat(usr, span_red("The [src] is already loaded!")) /obj/item/weapon/gun/launcher/confetti_cannon/attack_self(mob/user) pump(user) @@ -80,26 +80,26 @@ switch(choice) if("Confetti") chambered = new /obj/item/weapon/grenade/confetti/party_ball - to_chat(usr, "Confetti loaded.") + to_chat(usr, span_blue("Confetti loaded.")) if(istype(usr,/mob/living/silicon/robot)) var/mob/living/silicon/robot/R = usr R.cell.charge -= 200 if("Banana Peel") chambered = new /obj/item/weapon/bananapeel - to_chat(usr, "Banana peel loaded.") + to_chat(usr, span_blue("Banana peel loaded.")) if(istype(usr,/mob/living/silicon/robot)) var/mob/living/silicon/robot/R = usr R.cell.charge -= 200 if("Cream Pie") chambered = new /obj/item/weapon/reagent_containers/food/snacks/pie - to_chat(usr, "Banana cream pie loaded.") + to_chat(usr, span_blue("Banana cream pie loaded.")) if(istype(usr,/mob/living/silicon/robot)) var/mob/living/silicon/robot/R = usr R.cell.charge -= 200 else - to_chat(usr, "The [src] is already loaded!") + to_chat(usr, span_red("The [src] is already loaded!")) /obj/item/weapon/gun/launcher/confetti_cannon/robot/consume_next_projectile() if(istype(chambered,/obj/item/weapon/grenade/confetti/party_ball)) chambered.activate(null) - return chambered \ No newline at end of file + return chambered diff --git a/code/modules/projectiles/guns/launcher/rocket.dm b/code/modules/projectiles/guns/launcher/rocket.dm index 647864365b..2ae1996e05 100644 --- a/code/modules/projectiles/guns/launcher/rocket.dm +++ b/code/modules/projectiles/guns/launcher/rocket.dm @@ -19,7 +19,7 @@ /obj/item/weapon/gun/launcher/rocket/examine(mob/user) . = ..() if(get_dist(user, src) <= 2) - . += "[rockets.len] / [max_rockets] rockets." + . += span_blue("[rockets.len] / [max_rockets] rockets.") /obj/item/weapon/gun/launcher/rocket/attackby(obj/item/I as obj, mob/user as mob) if(istype(I, /obj/item/ammo_casing/rocket)) @@ -27,10 +27,10 @@ user.drop_item() I.loc = src rockets += I - to_chat(user, "You put the rocket in [src].") - to_chat(user, "[rockets.len] / [max_rockets] rockets.") + to_chat(user, span_blue("You put the rocket in [src].")) + to_chat(user, span_blue("[rockets.len] / [max_rockets] rockets.")) else - to_chat(usr, "[src] cannot hold more rockets.") + to_chat(usr, span_red(">[src] cannot hold more rockets.")) /obj/item/weapon/gun/launcher/rocket/consume_next_projectile() if(rockets.len) diff --git a/code/modules/projectiles/guns/magnetic/magnetic.dm b/code/modules/projectiles/guns/magnetic/magnetic.dm index 20aef6e980..f1d3e20d7b 100644 --- a/code/modules/projectiles/guns/magnetic/magnetic.dm +++ b/code/modules/projectiles/guns/magnetic/magnetic.dm @@ -134,12 +134,12 @@ . += "The installed [capacitor.name] has a charge level of [round((capacitor.charge/capacitor.max_charge)*100)]%." if(state & ICON_BAD) - . += "The capacitor charge indicator is blinking red. Maybe you should check the cell or capacitor." + . += "The capacitor charge indicator is blinking [span_red("red")]. Maybe you should check the cell or capacitor." else if(state & ICON_CHARGE) - . += "The capacitor charge indicator is amber." + . += "The capacitor charge indicator is [span_orange("amber")]." else - . += "The capacitor charge indicator is green." + . += "The capacitor charge indicator is [span_green("green")]." /obj/item/weapon/gun/magnetic/attackby(var/obj/item/thing, var/mob/user) @@ -313,4 +313,4 @@ #undef ICON_BAD #undef ICON_CHARGE #undef ICON_READY -#undef ICON_LOADED \ No newline at end of file +#undef ICON_LOADED diff --git a/code/modules/projectiles/guns/projectile/dartgun.dm b/code/modules/projectiles/guns/projectile/dartgun.dm index c0a6180352..6fde481f1f 100644 --- a/code/modules/projectiles/guns/projectile/dartgun.dm +++ b/code/modules/projectiles/guns/projectile/dartgun.dm @@ -111,16 +111,16 @@ /obj/item/weapon/gun/projectile/dartgun/attackby(obj/item/I as obj, mob/user as mob) if(istype(I, /obj/item/weapon/reagent_containers/glass)) if(!istype(I, container_type)) - to_chat(user, "[I] doesn't seem to fit into [src].") + to_chat(user, span_blue("[I] doesn't seem to fit into [src].")) return if(beakers.len >= max_beakers) - to_chat(user, "[src] already has [max_beakers] beakers in it - another one isn't going to fit!") + to_chat(user, span_blue("[src] already has [max_beakers] beakers in it - another one isn't going to fit!")) return var/obj/item/weapon/reagent_containers/glass/beaker/B = I user.drop_item() B.loc = src beakers += B - to_chat(user, "You slot [B] into [src].") + to_chat(user, span_blue("You slot [B] into [src].")) src.updateUsrDialog() return 1 ..() diff --git a/code/modules/projectiles/projectile/special.dm b/code/modules/projectiles/projectile/special.dm index e45e4ee3a5..6b9d9d51d0 100644 --- a/code/modules/projectiles/projectile/special.dm +++ b/code/modules/projectiles/projectile/special.dm @@ -163,7 +163,7 @@ M.Weaken(5) var/datum/gender/TM = gender_datums[M.get_visible_gender()] for (var/mob/V in viewers(src)) - V.show_message("[M] writhes in pain as [TM.his] vacuoles boil.", 3, "You hear the crunching of leaves.", 2) + V.show_message(span_red("[M] writhes in pain as [TM.his] vacuoles boil."), 3, span_red("You hear the crunching of leaves."), 2) if(prob(35)) // for (var/mob/V in viewers(src)) //Public messages commented out to prevent possible metaish genetics experimentation and stuff. - Cheridan // V.show_message("[M] is mutated by the radiation beam.", 3, " You hear the snapping of twigs.", 2) @@ -175,13 +175,13 @@ domutcheck(M,null) else M.adjustFireLoss(rand(5,15)) - M.show_message("The radiation beam singes you!") + M.show_message(span_red("The radiation beam singes you!")) // for (var/mob/V in viewers(src)) // V.show_message("[M] is singed by the radiation beam.", 3, " You hear the crackle of burning leaves.", 2) else if(istype(target, /mob/living/carbon/)) // for (var/mob/V in viewers(src)) // V.show_message("The radiation beam dissipates harmlessly through [M]", 3) - M.show_message("The radiation beam dissipates harmlessly through your body.") + M.show_message(span_blue("The radiation beam dissipates harmlessly through your body.")) else return 1 @@ -218,7 +218,7 @@ if((H.species.flags & IS_PLANT) && (M.nutrition < 500)) M.adjust_nutrition(30) else if (istype(target, /mob/living/carbon/)) - M.show_message("The radiation beam dissipates harmlessly through your body.") + M.show_message(span_blue("The radiation beam dissipates harmlessly through your body.")) else return 1 diff --git a/code/modules/reagents/reagent_containers/blood_pack_vr.dm b/code/modules/reagents/reagent_containers/blood_pack_vr.dm index 118ad57bb3..d6a15ae59a 100644 --- a/code/modules/reagents/reagent_containers/blood_pack_vr.dm +++ b/code/modules/reagents/reagent_containers/blood_pack_vr.dm @@ -6,7 +6,7 @@ switch(reagents.get_master_reagent_id()) if("blood") user.show_message("You sink your fangs into \the [src] and suck the blood out of it!") - user.visible_message("[user] sinks their fangs into \the [src] and drains it!") + user.visible_message(span_red("[user] sinks their fangs into \the [src] and drains it!")) user.adjust_nutrition(remove_volume*5) reagents.remove_reagent(reagent_to_remove, remove_volume) update_icon() @@ -55,4 +55,4 @@ /obj/item/weapon/reagent_containers/blood/prelabeled/OMinus name = "IV Pack (O-)" desc = "Holds liquids used for transfusion. This one's label seems to be hardprinted. This one is labeled O-" - blood_type = "O-" \ No newline at end of file + blood_type = "O-" diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm index 797e7c701d..71d5731ea2 100644 --- a/code/modules/reagents/reagent_containers/syringes.dm +++ b/code/modules/reagents/reagent_containers/syringes.dm @@ -278,7 +278,7 @@ if (target != user && H.getarmor(target_zone, "melee") > 5 && prob(50)) for(var/mob/O in viewers(world.view, user)) - O.show_message(text("[user] tries to stab [target] in \the [hit_area] with [src.name], but the attack is deflected by armor!"), 1) + O.show_message(span_red(text("[user] tries to stab [target] in \the [hit_area] with [src.name], but the attack is deflected by armor!")), 1) user.remove_from_mob(src) qdel(src) diff --git a/code/modules/reagents/reagents/vore_vr.dm b/code/modules/reagents/reagents/vore_vr.dm index 4da668883e..42e3906562 100644 --- a/code/modules/reagents/reagents/vore_vr.dm +++ b/code/modules/reagents/reagents/vore_vr.dm @@ -113,7 +113,7 @@ else if(prob(1)) playsound(M, 'sound/vore/schlorp.ogg', 50, 1) P.absorbed = 0 - M.visible_message("Something spills into [M]'s [lowertext(B.name)]!") + M.visible_message(span_green("Something spills into [M]'s [lowertext(B.name)]!")) ////////////////////////// TF Drugs ////////////////////////// @@ -185,4 +185,4 @@ H.set_gender(PLURAL) H.change_gender_identity(PLURAL) H.visible_message("[H] suddenly twitches as some of their features seem to contort and reshape, adjusting... In the end, it seems they are now of mixed gender.", - "Your body suddenly contorts, feeling very different in various ways... By the time the rushing feeling is over it seems you just became of mixed gender.") \ No newline at end of file + "Your body suddenly contorts, feeling very different in various ways... By the time the rushing feeling is over it seems you just became of mixed gender.") diff --git a/code/modules/recycling/disposal.dm b/code/modules/recycling/disposal.dm index a9a317b45d..c3174a3d37 100644 --- a/code/modules/recycling/disposal.dm +++ b/code/modules/recycling/disposal.dm @@ -100,7 +100,7 @@ if(istype(I, /obj/item/weapon/storage/bag/trash)) var/obj/item/weapon/storage/bag/trash/T = I - to_chat(user, "You empty the bag.") + to_chat(user, span_blue("You empty the bag.")) for(var/obj/item/O in T.contents) T.remove_from_storage(O,src) T.update_icon() @@ -129,7 +129,7 @@ GM.client.eye = src GM.forceMove(src) for (var/mob/C in viewers(src)) - C.show_message("[GM.name] has been placed in the [src] by [user].", 3) + C.show_message(span_red("[GM.name] has been placed in the [src] by [user]."), 3) qdel(G) add_attack_logs(user,GM,"Disposals dunked") @@ -233,7 +233,7 @@ return if(user && user.loc == src) - to_chat(user, "You cannot reach the controls from inside.") + to_chat(user, span_red("You cannot reach the controls from inside.")) return // Clumsy folks can only flush it. @@ -1272,7 +1272,7 @@ if(O.currTag)// Tag set sort_tag = O.currTag playsound(src, 'sound/machines/twobeep.ogg', 100, 1) - to_chat(user, "Changed tag to '[sort_tag]'.") + to_chat(user, span_blue("Changed tag to '[sort_tag]'.")) updatename() updatedesc() @@ -1340,7 +1340,7 @@ if(O.currTag)// Tag set sortType = O.currTag playsound(src, 'sound/machines/twobeep.ogg', 100, 1) - to_chat(user, "Changed filter to '[sortType]'.") + to_chat(user, span_blue("Changed filter to '[sortType]'.")) updatename() updatedesc() diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm index caa4df13bc..d630c3e6c1 100755 --- a/code/modules/recycling/sortingmachinery.dm +++ b/code/modules/recycling/sortingmachinery.dm @@ -59,7 +59,7 @@ if("Description") var/str = sanitize(tgui_input_text(usr,"Label text?","Set label","")) if(!str || !length(str)) - to_chat(user, "Invalid text.") + to_chat(user, span_red("Invalid text.")) return if(!examtext && !nameset) examtext = str @@ -171,7 +171,7 @@ if("Description") var/str = sanitize(tgui_input_text(usr,"Label text?","Set label","")) if(!str || !length(str)) - to_chat(user, "Invalid text.") + to_chat(user, span_red("Invalid text.")) return if(!examtext && !nameset) examtext = str @@ -241,7 +241,7 @@ if(user in target) //no wrapping closets that you are inside - it's not physically possible return - user.attack_log += text("\[[time_stamp()]\] Has used [src.name] on \ref[target]") + user.attack_log += text("\[[time_stamp()]\] [span_blue("Has used [src.name] on \ref[target]")]") if (istype(target, /obj/item) && !(istype(target, /obj/item/weapon/storage) && !istype(target,/obj/item/weapon/storage/box))) @@ -305,7 +305,7 @@ else if(src.amount < 3) to_chat(user, "You need more paper.") else - to_chat(user, "The object you are trying to wrap is unsuitable for the sorting machinery!") + to_chat(user, span_blue("The object you are trying to wrap is unsuitable for the sorting machinery!")) if (src.amount <= 0) new /obj/item/weapon/c_tube( src.loc ) qdel(src) @@ -315,7 +315,7 @@ /obj/item/weapon/packageWrap/examine(mob/user) . = ..() if(get_dist(user, src) <= 0) - . += "There are [amount] units of package wrap left!" + . += span_blue("There are [amount] units of package wrap left!") /obj/structure/bigDelivery/Destroy() if(wrapped) //sometimes items can disappear. For example, bombs. --rastaf0 diff --git a/code/modules/security levels/keycard authentication.dm b/code/modules/security levels/keycard authentication.dm index effc14b222..5330fd3fd6 100644 --- a/code/modules/security levels/keycard authentication.dm +++ b/code/modules/security levels/keycard authentication.dm @@ -175,7 +175,7 @@ feedback_inc("alert_keycard_auth_maintRevoke",1) if("Emergency Response Team") if(is_ert_blocked()) - to_chat(usr, "All emergency response teams are dispatched and can not be called at this time.") + to_chat(usr, span_red("All emergency response teams are dispatched and can not be called at this time.")) return trigger_armed_response_team(1) @@ -189,15 +189,15 @@ var/global/maint_all_access = 0 /proc/make_maint_all_access() maint_all_access = 1 - to_world("Attention!") - to_world("The maintenance access requirement has been revoked on all airlocks.") + to_world(span_red("Attention!")) + to_world(span_red("The maintenance access requirement has been revoked on all airlocks.")) /proc/revoke_maint_all_access() maint_all_access = 0 - to_world("Attention!") - to_world("The maintenance access requirement has been readded on all maintenance airlocks.") + to_world(span_red("Attention!")) + to_world(span_red("The maintenance access requirement has been readded on all maintenance airlocks.")) /obj/machinery/door/airlock/allowed(mob/M) if(maint_all_access && src.check_access_list(list(access_maint_tunnels))) return 1 - return ..(M) \ No newline at end of file + return ..(M) diff --git a/code/modules/shieldgen/emergency_shield.dm b/code/modules/shieldgen/emergency_shield.dm index a3908a6a55..49610cbcd0 100644 --- a/code/modules/shieldgen/emergency_shield.dm +++ b/code/modules/shieldgen/emergency_shield.dm @@ -259,14 +259,14 @@ return if (src.active) - user.visible_message("\icon[src][bicon(src)] [user] deactivated the shield generator.", \ - "\icon[src][bicon(src)] You deactivate the shield generator.", \ + user.visible_message(span_blue("\icon[src][bicon(src)] [user] deactivated the shield generator."), \ + span_blue("\icon[src][bicon(src)] You deactivate the shield generator."), \ "You hear heavy droning fade out.") src.shields_down() else if(anchored) - user.visible_message("\icon[src][bicon(src)] [user] activated the shield generator.", \ - "\icon[src][bicon(src)] You activate the shield generator.", \ + user.visible_message(span_blue("\icon[src][bicon(src)] [user] activated the shield generator."), \ + span_blue("\icon[src][bicon(src)] You activate the shield generator."), \ "You hear heavy droning.") src.shields_up() else @@ -283,10 +283,10 @@ if(W.has_tool_quality(TOOL_SCREWDRIVER)) playsound(src, W.usesound, 100, 1) if(is_open) - to_chat(user, "You close the panel.") + to_chat(user, span_blue("You close the panel.")) is_open = 0 else - to_chat(user, "You open the panel and expose the wiring.") + to_chat(user, span_blue("You open the panel and expose the wiring.")) is_open = 1 else if(istype(W, /obj/item/stack/cable_coil) && malfunction && is_open) @@ -306,15 +306,15 @@ return if(anchored) playsound(src, W.usesound, 100, 1) - to_chat(user, "You unsecure the [src] from the floor!") + to_chat(user, span_blue("You unsecure the [src] from the floor!")) if(active) - to_chat(user, "The [src] shuts off!") + to_chat(user, span_blue("The [src] shuts off!")) src.shields_down() anchored = FALSE else if(istype(get_turf(src), /turf/space)) return //No wrenching these in space! playsound(src, W.usesound, 100, 1) - to_chat(user, "You secure the [src] to the floor!") + to_chat(user, span_blue("You secure the [src] to the floor!")) anchored = TRUE @@ -323,7 +323,7 @@ src.locked = !src.locked to_chat(user, "The controls are now [src.locked ? "locked." : "unlocked."]") else - to_chat(user, "Access denied.") + to_chat(user, span_red("Access denied.")) else ..() diff --git a/code/modules/shieldgen/sheldwallgen.dm b/code/modules/shieldgen/sheldwallgen.dm index 3f4b7c2922..cc78324ba8 100644 --- a/code/modules/shieldgen/sheldwallgen.dm +++ b/code/modules/shieldgen/sheldwallgen.dm @@ -27,13 +27,13 @@ /obj/machinery/shieldwallgen/attack_hand(mob/user as mob) if(state != 1) - to_chat(user, "The shield generator needs to be firmly secured to the floor first.") + to_chat(user, span_red("The shield generator needs to be firmly secured to the floor first.")) return 1 if(src.locked && !istype(user, /mob/living/silicon)) - to_chat(user, "The controls are locked!") + to_chat(user, span_red("The controls are locked!")) return 1 if(power != 1) - to_chat(user, "The shield generator needs to be powered by wire underneath.") + to_chat(user, span_red("The shield generator needs to be powered by wire underneath.")) return 1 if(src.active >= 1) @@ -105,7 +105,7 @@ src.active = 2 if(src.active >= 1) if(src.power == 0) - src.visible_message("The [src.name] shuts down due to lack of power!", \ + src.visible_message(span_red("The [src.name] shuts down due to lack of power!"), \ "You hear heavy droning fade out") icon_state = "Shield_Gen" src.active = 0 @@ -181,11 +181,11 @@ src.locked = !src.locked to_chat(user, "Controls are now [src.locked ? "locked." : "unlocked."]") else - to_chat(user, "Access denied.") + to_chat(user, span_red("Access denied.")) else src.add_fingerprint(user) - visible_message("The [src.name] has been hit with \the [W.name] by [user.name]!") + visible_message(span_red("The [src.name] has been hit with \the [W.name] by [user.name]!")) /obj/machinery/shieldwallgen/proc/cleanup(var/NSEW) var/obj/machinery/shieldwall/F diff --git a/code/modules/shieldgen/shield_capacitor.dm b/code/modules/shieldgen/shield_capacitor.dm index c32998a0a2..6ec477ceb2 100644 --- a/code/modules/shieldgen/shield_capacitor.dm +++ b/code/modules/shieldgen/shield_capacitor.dm @@ -45,11 +45,11 @@ to_chat(user, "Controls are now [src.locked ? "locked." : "unlocked."]") updateDialog() else - to_chat(user, "Access denied.") + to_chat(user, span_red("Access denied.")) else if(W.has_tool_quality(TOOL_WRENCH)) src.anchored = !src.anchored playsound(src, W.usesound, 75, 1) - src.visible_message("\icon[src][bicon(src)] [src] has been [anchored ? "bolted to the floor" : "unbolted from the floor"] by [user].") + src.visible_message(span_blue("\icon[src][bicon(src)] [src] has been [anchored ? "bolted to the floor" : "unbolted from the floor"] by [user].")) if(anchored) spawn(0) @@ -121,7 +121,7 @@ switch(action) if("toggle") if(!active && !anchored) - to_chat(usr, "The [src] needs to be firmly secured to the floor first.") + to_chat(usr, span_red("The [src] needs to be firmly secured to the floor first.")) return active = !active . = TRUE @@ -145,4 +145,4 @@ return src.set_dir(turn(src.dir, 270)) - return \ No newline at end of file + return diff --git a/code/modules/shieldgen/shield_gen.dm b/code/modules/shieldgen/shield_gen.dm index 3763f324d7..5a2cfc2616 100644 --- a/code/modules/shieldgen/shield_gen.dm +++ b/code/modules/shieldgen/shield_gen.dm @@ -65,11 +65,11 @@ to_chat(user, "Controls are now [src.locked ? "locked." : "unlocked."]") updateDialog() else - to_chat(user, "Access denied.") + to_chat(user, span_red("Access denied.")) else if(W.has_tool_quality(TOOL_WRENCH)) src.anchored = !src.anchored playsound(src, W.usesound, 75, 1) - src.visible_message("\icon[src][bicon(src)] [src] has been [anchored?"bolted to the floor":"unbolted from the floor"] by [user].") + src.visible_message(span_blue("\icon[src][bicon(src)] [src] has been [anchored?"bolted to the floor":"unbolted from the floor"] by [user].")) if(active) toggle() @@ -204,7 +204,7 @@ switch(action) if("toggle") if (!active && !anchored) - to_chat(usr, "The [src] needs to be firmly secured to the floor first.") + to_chat(usr, span_red("The [src] needs to be firmly secured to the floor first.")) return toggle() . = TRUE diff --git a/code/modules/shuttles/shuttle.dm b/code/modules/shuttles/shuttle.dm index 04ec338000..f1d23995c4 100644 --- a/code/modules/shuttles/shuttle.dm +++ b/code/modules/shuttles/shuttle.dm @@ -332,10 +332,10 @@ for(var/mob/living/M in A) spawn(0) if(M.buckled) - to_chat(M, "Sudden acceleration presses you into \the [M.buckled]!") + to_chat(M, span_red("Sudden acceleration presses you into \the [M.buckled]!")) shake_camera(M, 3, 1) else - to_chat(M, "The floor lurches beneath you!") + to_chat(M, span_red("The floor lurches beneath you!")) shake_camera(M, 10, 1) // TODO - tossing? //M.visible_message("[M.name] is tossed around by the sudden acceleration!") diff --git a/code/modules/shuttles/shuttles_web.dm b/code/modules/shuttles/shuttles_web.dm index 6cfe6ba6a3..0b0bc59a51 100644 --- a/code/modules/shuttles/shuttles_web.dm +++ b/code/modules/shuttles/shuttles_web.dm @@ -300,7 +300,7 @@ return if(WS.moving_status != SHUTTLE_IDLE) - to_chat(usr, "[WS.visible_name] is busy moving.") + to_chat(usr, span_blue("[WS.visible_name] is busy moving.")) return switch(action) @@ -337,7 +337,7 @@ return if((WS.last_move + WS.cooldown) > world.time) - to_chat(usr, "The ship's drive is inoperable while the engines are charging.") + to_chat(usr, span_red("The ship's drive is inoperable while the engines are charging.")) return var/index = text2num(params["traverse"]) diff --git a/code/modules/spells/spell_code.dm b/code/modules/spells/spell_code.dm index 6db671d1bb..0491deac1a 100644 --- a/code/modules/spells/spell_code.dm +++ b/code/modules/spells/spell_code.dm @@ -90,7 +90,7 @@ var/list/spells = typesof(/spell) //needed for the badmin verb for now take_charge(user, skipcharge) before_cast(targets) //applies any overlays and effects - user.attack_log += text("\[[time_stamp()]\] [user.real_name] ([user.ckey]) cast the spell [name].") + user.attack_log += text("\[[time_stamp()]\] [span_red("[user.real_name] ([user.ckey]) cast the spell [name].")]") if(prob(critfailchance)) critfail(targets, user) else @@ -267,7 +267,7 @@ var/list/spells = typesof(/spell) //needed for the badmin verb for now else user.whisper(replacetext(invocation," ","`")) if(SpI_EMOTE) - user.custom_emote(VISIBLE_MESSAGE, invocation) + user.custom_emote(VISIBLE_MESSAGE, invocation) ///////////////////// ///UPGRADING PROCS/// diff --git a/code/modules/spells/spellbook.dm b/code/modules/spells/spellbook.dm index eea8cc1a9a..d49dda3e7f 100644 --- a/code/modules/spells/spellbook.dm +++ b/code/modules/spells/spellbook.dm @@ -270,7 +270,7 @@ else user.add_spell(S) to_chat(user, "you rapidly read through the arcane book. Suddenly you realize you understand [spellname]!") - user.attack_log += text("\[[time_stamp()]\] [user.real_name] ([user.ckey]) learned the spell [spellname] ([S]).") + user.attack_log += text("\[[time_stamp()]\] [span_orange("[user.real_name] ([user.ckey]) learned the spell [spellname] ([S]).")]") onlearned(user) /obj/item/weapon/spellbook/oneuse/proc/recoil(mob/user as mob) diff --git a/code/modules/tgui/modules/communications.dm b/code/modules/tgui/modules/communications.dm index 10429d53cc..6a726aae9c 100644 --- a/code/modules/tgui/modules/communications.dm +++ b/code/modules/tgui/modules/communications.dm @@ -347,7 +347,7 @@ to_chat(usr, "Message '[input]' is too short. [COMM_CCMSGLEN_MINIMUM] character minimum.") return CentCom_announce(input, usr) - to_chat(usr, "Message transmitted.") + to_chat(usr, span_blue("Message transmitted.")) log_game("[key_name(usr)] has made an IA [using_map.boss_short] announcement: [input]") centcomm_message_cooldown = world.time + 300 // 30 seconds setMenuState(usr, COMM_SCREEN_MAIN) @@ -365,7 +365,7 @@ to_chat(usr, "Message '[input]' is too short. [COMM_CCMSGLEN_MINIMUM] character minimum.") return Syndicate_announce(input, usr) - to_chat(usr, "Message transmitted.") + to_chat(usr, span_blue("Message transmitted.")) log_game("[key_name(usr)] has made an illegal announcement: [input]") centcomm_message_cooldown = world.time + 300 // 30 seconds diff --git a/code/modules/vehicles/Securitrain_vr.dm b/code/modules/vehicles/Securitrain_vr.dm index 3db5ffa3db..f01c535f5a 100644 --- a/code/modules/vehicles/Securitrain_vr.dm +++ b/code/modules/vehicles/Securitrain_vr.dm @@ -175,7 +175,7 @@ /obj/vehicle/train/security/trolley/RunOver(var/mob/living/M) ..() - attack_log += text("\[[time_stamp()]\] ran over [M.name] ([M.ckey])") + attack_log += text("\[[time_stamp()]\] [span_red("ran over [M.name] ([M.ckey])")]") /obj/vehicle/train/security/engine/RunOver(var/mob/living/M) ..() @@ -185,9 +185,9 @@ to_chat(D, "You ran over \the [M]!" visible_message("\The [src] ran over \the [M]!") add_attack_logs(D,M,"Ran over with [src.name]") - attack_log += text("\[[time_stamp()]\] ran over [M.name] ([M.ckey]), driven by [D.name] ([D.ckey])") + attack_log += text("\[[time_stamp()]\] [span_red("ran over [M.name] ([M.ckey]), driven by [D.name] ([D.ckey])")]") else - attack_log += text("\[[time_stamp()]\] ran over [M.name] ([M.ckey])") + attack_log += text("\[[time_stamp()]\] [span_red("ran over [M.name] ([M.ckey])")]") //------------------------------------------- diff --git a/code/modules/vehicles/cargo_train.dm b/code/modules/vehicles/cargo_train.dm index 30adcf1f73..4549dbe050 100644 --- a/code/modules/vehicles/cargo_train.dm +++ b/code/modules/vehicles/cargo_train.dm @@ -164,19 +164,19 @@ /obj/vehicle/train/trolley/RunOver(var/mob/living/M) ..() - attack_log += text("\[[time_stamp()]\] ran over [M.name] ([M.ckey])") + attack_log += text("\[[time_stamp()]\] [span_red("ran over [M.name] ([M.ckey])")]") /obj/vehicle/train/engine/RunOver(var/mob/living/M) ..() if(is_train_head() && istype(load, /mob/living/carbon/human)) var/mob/living/carbon/human/D = load - to_chat(D, "You ran over [M]!") - visible_message("\The [src] ran over [M]!") + to_chat(D, span_red("You ran over [M]!")) + visible_message(span_red("\The [src] ran over [M]!")) add_attack_logs(D,M,"Ran over with [src.name]") - attack_log += text("\[[time_stamp()]\] ran over [M.name] ([M.ckey]), driven by [D.name] ([D.ckey])") + attack_log += text("\[[time_stamp()]\] [span_red("ran over [M.name] ([M.ckey]), driven by [D.name] ([D.ckey])")]") else - attack_log += text("\[[time_stamp()]\] ran over [M.name] ([M.ckey])") + attack_log += text("\[[time_stamp()]\] [span_red("ran over [M.name] ([M.ckey])")]") //------------------------------------------- diff --git a/code/modules/vehicles/rover_vr.dm b/code/modules/vehicles/rover_vr.dm index 7d24c936fd..9c1a670c54 100644 --- a/code/modules/vehicles/rover_vr.dm +++ b/code/modules/vehicles/rover_vr.dm @@ -173,7 +173,7 @@ /obj/vehicle/train/rover/trolley/RunOver(var/mob/living/M) ..() - attack_log += text("\[[time_stamp()]\] ran over [M.name] ([M.ckey])") + attack_log += text("\[[time_stamp()]\] [span_red("ran over [M.name] ([M.ckey])")]") /obj/vehicle/train/rover/engine/RunOver(var/mob/living/M) ..() @@ -183,9 +183,9 @@ to_chat(D, "You ran over \the [M]!") visible_message("\The [src] ran over \the [M]!") add_attack_logs(D,M,"Ran over with [src.name]") - attack_log += text("\[[time_stamp()]\] ran over [M.name] ([M.ckey]), driven by [D.name] ([D.ckey])") + attack_log += text("\[[time_stamp()]\] [span_red("ran over [M.name] ([M.ckey]), driven by [D.name] ([D.ckey])")]") else - attack_log += text("\[[time_stamp()]\] ran over [M.name] ([M.ckey])") + attack_log += text("\[[time_stamp()]\] [span_red("ran over [M.name] ([M.ckey])")]") //------------------------------------------- diff --git a/code/modules/vehicles/train.dm b/code/modules/vehicles/train.dm index a92b9828f6..be09f4986e 100644 --- a/code/modules/vehicles/train.dm +++ b/code/modules/vehicles/train.dm @@ -50,12 +50,12 @@ if(emagged) if(istype(A, /mob/living)) var/mob/living/M = A - visible_message("[src] knocks over [M]!") + visible_message(span_red("[src] knocks over [M]!")) M.apply_effects(5, 5) //knock people down if you hit them M.apply_damages(22 / move_delay) // and do damage according to how fast the train is going if(istype(load, /mob/living/carbon/human)) var/mob/living/D = load - to_chat(D, "You hit [M]!") + to_chat(D, span_red("You hit [M]!")) add_attack_logs(D,M,"Ran over with [src.name]") //trains are commonly open topped, so there is a chance the projectile will hit the mob riding the train instead @@ -99,7 +99,7 @@ unload(user, direction) - to_chat(user, "You climb down from [src].") + to_chat(user, span_blue("You climb down from [src].")) return 1 @@ -110,7 +110,7 @@ latch(C, user) else if(!load(C, user)) - to_chat(user, "You were unable to load [C] on [src].") + to_chat(user, span_red("You were unable to load [C] on [src].")) /obj/vehicle/train/attack_hand(mob/user as mob) if(user.stat || user.restrained() || !Adjacent(user)) @@ -149,17 +149,17 @@ /obj/vehicle/train/proc/attach_to(obj/vehicle/train/T, mob/user) if (get_dist(src, T) > 1) if(user) - to_chat(user, "[src] is too far away from [T] to hitch them together.") + to_chat(user, span_red("[src] is too far away from [T] to hitch them together.")) return if (lead) if(user) - to_chat(user, "[src] is already hitched to something.") + to_chat(user, span_red("[src] is already hitched to something.")) return if (T.tow) if(user) - to_chat(user, "[T] is already towing something.") + to_chat(user, span_red("[T] is already towing something.")) return //check for cycles. @@ -167,7 +167,7 @@ while (next_car) if (next_car == src) if(user) - to_chat(user, "That seems very silly.") + to_chat(user, span_red("That seems very silly.")) return next_car = next_car.lead @@ -177,7 +177,7 @@ set_dir(lead.dir) if(user) - to_chat(user, "You hitch [src] to [T].") + to_chat(user, span_blue("You hitch [src] to [T].")) update_stats() @@ -185,13 +185,13 @@ //detaches the train from whatever is towing it /obj/vehicle/train/proc/unattach(mob/user) if (!lead) - to_chat(user, "[src] is not hitched to anything.") + to_chat(user, span_red("[src] is not hitched to anything.")) return lead.tow = null lead.update_stats() - to_chat(user, "You unhitch [src] from [lead].") + to_chat(user, span_blue("You unhitch [src] from [lead].")) lead = null update_stats() diff --git a/code/modules/vehicles/vehicle.dm b/code/modules/vehicles/vehicle.dm index d515199e6d..c4d37c9f1e 100644 --- a/code/modules/vehicles/vehicle.dm +++ b/code/modules/vehicles/vehicle.dm @@ -111,7 +111,7 @@ health = min(maxhealth, health+10) user.setClickCooldown(user.get_attack_speed(W)) playsound(src, T.usesound, 50, 1) - user.visible_message("[user] repairs [src]!"," You repair [src]!") + user.visible_message(span_red("[user] repairs [src]!"),span_blue("You repair [src]!")) else to_chat(user, "Unable to repair with the maintenance panel closed.") else @@ -226,7 +226,7 @@ return TRUE /obj/vehicle/proc/explode() - src.visible_message("[src] blows apart!", 1) + src.visible_message(span_red("[src] blows apart!"), 1) var/turf/Tsec = get_turf(src) //stuns people who are thrown off a train that has been blown up @@ -402,7 +402,7 @@ if(!damage) return visible_message("[user] [attack_message] the [src]!") - user.attack_log += text("\[[time_stamp()]\] attacked [src.name]") + user.attack_log += text("\[[time_stamp()]\] [span_red("attacked [src.name]")]") user.do_attack_animation(src) src.health -= damage if(mechanical && prob(10)) diff --git a/code/modules/virus2/biohazard destroyer.dm b/code/modules/virus2/biohazard destroyer.dm index fe5bb7c853..e4cdeafd23 100644 --- a/code/modules/virus2/biohazard destroyer.dm +++ b/code/modules/virus2/biohazard destroyer.dm @@ -17,4 +17,4 @@ I.loc = src.loc for(var/mob/O in hearers(src, null)) - O.show_message("\icon[src][bicon(src)] The [src.name] beeps.", 2) \ No newline at end of file + O.show_message(span_blue("\icon[src][bicon(src)] The [src.name] beeps."), 2) diff --git a/code/modules/virus2/items_devices.dm b/code/modules/virus2/items_devices.dm index 4fae221b5a..a5744d3c5b 100644 --- a/code/modules/virus2/items_devices.dm +++ b/code/modules/virus2/items_devices.dm @@ -31,7 +31,7 @@ report("Antibodies detected: [antigens2string(C.antibodies)]", user) /obj/item/device/antibody_scanner/proc/report(var/text, mob/user as mob) - to_chat(user, "\icon[src][bicon(src)] \The [src] beeps, \"[text]\"") + to_chat(user, "[span_blue("\icon[src][bicon(src)] \The [src] beeps,")] \"[span_blue("[text]")]\"") ///////////////VIRUS DISH/////////////// diff --git a/code/modules/vore/eating/belly_obj_vr.dm b/code/modules/vore/eating/belly_obj_vr.dm index 960c406c03..9a89b154f0 100644 --- a/code/modules/vore/eating/belly_obj_vr.dm +++ b/code/modules/vore/eating/belly_obj_vr.dm @@ -551,7 +551,7 @@ //Print notifications/sound if necessary if(!silent && count) - owner.visible_message("[owner] [release_verb] everything from their [lowertext(name)]!", range = privacy_range) + owner.visible_message("[span_green("[owner] [release_verb] everything from their [lowertext(name)]!")]", range = privacy_range) var/soundfile if(!fancy_vore) soundfile = classic_release_sounds[release_sound] @@ -631,7 +631,7 @@ //Print notifications/sound if necessary if(!silent) - owner.visible_message("[owner] [release_verb] [M] from their [lowertext(name)]!",range = privacy_range) + owner.visible_message("[span_green("[owner] [release_verb] [M] from their [lowertext(name)]!")]",range = privacy_range) var/soundfile if(!fancy_vore) soundfile = classic_release_sounds[release_sound] @@ -703,7 +703,7 @@ formatted_message = replacetext(formatted_message, "%countprey", living_count) formatted_message = replacetext(formatted_message, "%count", contents.len) - return("[formatted_message]") + return(span_red("[formatted_message]")) /obj/belly/proc/get_examine_msg_absorbed() if(!(contents.len) || !(examine_messages_absorbed.len) || !display_absorbed_examine) @@ -727,7 +727,7 @@ formatted_message = replacetext(formatted_message, "%prey", english_list(absorbed_victims)) formatted_message = replacetext(formatted_message, "%countprey", absorbed_count) - return("[formatted_message]") + return(span_red("[formatted_message]")) // The next function gets the messages set on the belly, in human-readable format. // This is useful in customization boxes and such. The delimiter right now is \n\n so diff --git a/code/modules/vore/eating/vorepanel_vr.dm b/code/modules/vore/eating/vorepanel_vr.dm index 8fa43b135a..a3f6c0ba37 100644 --- a/code/modules/vore/eating/vorepanel_vr.dm +++ b/code/modules/vore/eating/vorepanel_vr.dm @@ -649,19 +649,19 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", to_chat(user, "You can't do that in your state!") return TRUE - to_chat(user,"You begin to push [M] to freedom!") - to_chat(M,"[host] begins to push you to freedom!") - to_chat(OB.owner,"Someone is trying to escape from inside you!") + to_chat(user,"[span_green("You begin to push [M] to freedom!")]") + to_chat(M,"[host] begins to push you to freedom!") + to_chat(OB.owner,"Someone is trying to escape from inside you!") sleep(50) if(prob(33)) OB.release_specific_contents(M) - to_chat(user,"You manage to help [M] to safety!") - to_chat(M,"[host] pushes you free!") - to_chat(OB.owner,"[M] forces free of the confines of your body!") + to_chat(user,"[span_green("You manage to help [M] to safety!")]") + to_chat(M, "[span_green("[host] pushes you free!")]") + to_chat(OB.owner,"[M] forces free of the confines of your body!") else - to_chat(user,"[M] slips back down inside despite your efforts.") - to_chat(M," Even with [host]'s help, you slip back inside again.") - to_chat(OB.owner,"Your body efficiently shoves [M] back where they belong.") + to_chat(user,"[M] slips back down inside despite your efforts.") + to_chat(M," Even with [host]'s help, you slip back inside again.") + to_chat(OB.owner,"[span_green("Your body efficiently shoves [M] back where they belong.")]") return TRUE if("Devour") //Eat the inside mob @@ -674,15 +674,15 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", return TRUE var/obj/belly/TB = host.vore_selected - to_chat(user,"You begin to [lowertext(TB.vore_verb)] [M] into your [lowertext(TB.name)]!") - to_chat(M,"[host] begins to [lowertext(TB.vore_verb)] you into their [lowertext(TB.name)]!") - to_chat(OB.owner,"Someone inside you is eating someone else!") + to_chat(user,"You begin to [lowertext(TB.vore_verb)] [M] into your [lowertext(TB.name)]!") + to_chat(M,"[host] begins to [lowertext(TB.vore_verb)] you into their [lowertext(TB.name)]!") + to_chat(OB.owner,"Someone inside you is eating someone else!") sleep(TB.nonhuman_prey_swallow_time) //Can't do after, in a stomach, weird things abound. if((host in OB) && (M in OB)) //Make sure they're still here. - to_chat(user,"You manage to [lowertext(TB.vore_verb)] [M] into your [lowertext(TB.name)]!") - to_chat(M,"[host] manages to [lowertext(TB.vore_verb)] you into their [lowertext(TB.name)]!") - to_chat(OB.owner,"Someone inside you has eaten someone else!") + to_chat(user,"You manage to [lowertext(TB.vore_verb)] [M] into your [lowertext(TB.name)]!") + to_chat(M,"[host] manages to [lowertext(TB.vore_verb)] you into their [lowertext(TB.name)]!") + to_chat(OB.owner,"Someone inside you has eaten someone else!") if(M.absorbed) M.absorbed = FALSE OB.handle_absorb_langs(M, OB.owner) @@ -716,7 +716,7 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", return FALSE for(var/atom/movable/target in host.vore_selected) - to_chat(target,"You're squished from [host]'s [lowertext(host.vore_selected)] to their [lowertext(choice.name)]!") + to_chat(target,"You're squished from [host]'s [lowertext(host.vore_selected)] to their [lowertext(choice.name)]!") host.vore_selected.transfer_contents(target, choice, 1) return TRUE return @@ -756,7 +756,7 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", var/obj/belly/choice = tgui_input_list(usr, "Move [target] where?","Select Belly", host.vore_organs) if(!choice || !(target in host.vore_selected)) return TRUE - to_chat(target,"You're squished from [host]'s [lowertext(host.vore_selected.name)] to their [lowertext(choice.name)]!") + to_chat(target,"You're squished from [host]'s [lowertext(host.vore_selected.name)] to their [lowertext(choice.name)]!") host.vore_selected.transfer_contents(target, choice) @@ -785,18 +785,18 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", return TRUE if(belly_owner != host) - to_chat(user, "Transfer offer sent. Await their response.") + to_chat(user, "Transfer offer sent. Await their response.") var/accepted = tgui_alert(belly_owner, "[host] is trying to transfer [target] from their [lowertext(host.vore_selected.name)] into your [lowertext(choice.name)]. Do you accept?", "Feeding Offer", list("Yes", "No")) if(accepted != "Yes") - to_chat(user, "[belly_owner] refused the transfer!!") + to_chat(user, "[belly_owner] refused the transfer!!") return TRUE if(!belly_owner || !(belly_owner in range(1, host))) return TRUE - to_chat(target,"You're squished from [host]'s [lowertext(host.vore_selected.name)] to [belly_owner]'s [lowertext(choice.name)]!") - to_chat(belly_owner,"[target] is squished from [host]'s [lowertext(host.vore_selected.name)] to your [lowertext(choice.name)]!") + to_chat(target,"You're squished from [host]'s [lowertext(host.vore_selected.name)] to [belly_owner]'s [lowertext(choice.name)]!") + to_chat(belly_owner,"[target] is squished from [host]'s [lowertext(host.vore_selected.name)] to your [lowertext(choice.name)]!") host.vore_selected.transfer_contents(target, choice) else - to_chat(target,"You're squished from [host]'s [lowertext(host.vore_selected.name)] to their [lowertext(choice.name)]!") + to_chat(target,"You're squished from [host]'s [lowertext(host.vore_selected.name)] to their [lowertext(choice.name)]!") host.vore_selected.transfer_contents(target, choice) return TRUE @@ -826,27 +826,27 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", if(process_options.len) process_options += "Cancel" else - to_chat(usr, "You cannot instantly process [ourtarget].") + to_chat(usr, "You cannot instantly process [ourtarget].") return var/ourchoice = tgui_input_list(usr, "How would you prefer to process \the [target]? This will perform the given action instantly if the prey accepts.","Instant Process", process_options) if(!ourchoice) return if(!ourtarget.client) - to_chat(usr, "You cannot instantly process [ourtarget].") + to_chat(usr, "You cannot instantly process [ourtarget].") return var/obj/belly/b = ourtarget.loc switch(ourchoice) if("Digest") if(ourtarget.absorbed) - to_chat(usr, "\The [ourtarget] is absorbed, and cannot presently be digested.") + to_chat(usr, "\The [ourtarget] is absorbed, and cannot presently be digested.") return if(tgui_alert(ourtarget, "\The [usr] is attempting to instantly digest you. Is this something you are okay with happening to you?","Instant Digest", list("No", "Yes")) != "Yes") - to_chat(usr, "\The [ourtarget] declined your digest attempt.") - to_chat(ourtarget, "You declined the digest attempt.") + to_chat(usr, "\The [ourtarget] declined your digest attempt.") + to_chat(ourtarget, "You declined the digest attempt.") return if(ourtarget.loc != b) - to_chat(usr, "\The [ourtarget] is no longer in \the [b].") + to_chat(usr, "\The [ourtarget] is no longer in \the [b].") return if(isliving(usr)) var/mob/living/l = usr @@ -865,11 +865,11 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", b.handle_digestion_death(ourtarget) if("Absorb") if(tgui_alert(ourtarget, "\The [usr] is attempting to instantly absorb you. Is this something you are okay with happening to you?","Instant Absorb", list("No", "Yes")) != "Yes") - to_chat(usr, "\The [ourtarget] declined your absorb attempt.") - to_chat(ourtarget, "You declined the absorb attempt.") + to_chat(usr, "\The [ourtarget] declined your absorb attempt.") + to_chat(ourtarget, "You declined the absorb attempt.") return if(ourtarget.loc != b) - to_chat(usr, "\The [ourtarget] is no longer in \the [b].") + to_chat(usr, "\The [ourtarget] is no longer in \the [b].") return if(isliving(usr)) var/mob/living/l = usr @@ -884,7 +884,7 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", var/target_health = round((H.health/H.getMaxHealth())*100) var/condition var/condition_consequences - to_chat(usr, "\The [target] is at [target_health]% health.") + to_chat(usr, "\The [target] is at [target_health]% health.") if(H.blinded) condition += "blinded" condition_consequences += "hear emotes" @@ -901,7 +901,7 @@ var/global/list/belly_colorable_only_fullscreens = list("a_synth_flesh_mono", condition += "sleeping" condition_consequences += "hear or do anything" if(condition) - to_chat(usr, "\The [target] is currently [condition], they will not be able to [condition_consequences].") + to_chat(usr, "\The [target] is currently [condition], they will not be able to [condition_consequences].") return diff --git a/code/modules/vore/fluffstuff/custom_clothes_vr.dm b/code/modules/vore/fluffstuff/custom_clothes_vr.dm index e52b2f50da..16631c9446 100644 --- a/code/modules/vore/fluffstuff/custom_clothes_vr.dm +++ b/code/modules/vore/fluffstuff/custom_clothes_vr.dm @@ -547,7 +547,7 @@ //Chica Head /obj/item/clothing/head/helmet/fluff/freddy/chica - desc = "LET'S EAT!" + desc = span_red("LET'S EAT!") icon_state = "chicahead" item_state = "chicahead_mob" @@ -586,7 +586,7 @@ //Chica Suit /obj/item/clothing/suit/fluff/freddy/chica - desc = "LET'S EAT!" + desc = span_red("LET'S EAT!") icon_state = "chicasuit" item_state = "chicasuit_mob" diff --git a/code/modules/vore/resizing/sizegun_vr.dm b/code/modules/vore/resizing/sizegun_vr.dm index f75ecaeed0..c5fc1f3648 100644 --- a/code/modules/vore/resizing/sizegun_vr.dm +++ b/code/modules/vore/resizing/sizegun_vr.dm @@ -155,7 +155,7 @@ M.visible_message("\The [H]'s bracelet flashes and absorbs the beam!","Your bracelet flashes and absorbs the beam!") return if(!M.resize(set_size, uncapped = M.has_large_resize_bounds(), ignore_prefs = ignoring_prefs)) - to_chat(M, "The beam fires into your body, changing your size!") + to_chat(M, span_blue("The beam fires into your body, changing your size!")) M.update_icon() return return 1 @@ -175,7 +175,7 @@ M.resize(set_size, uncapped = TRUE, ignore_prefs = TRUE) // Always ignores prefs, caution is advisable - to_chat(M, "The beam fires into your body, changing your size!") + to_chat(M, span_blue("The beam fires into your body, changing your size!")) M.update_icon() return return 1 diff --git a/code/modules/xenoarcheaology/artifacts/crystal.dm b/code/modules/xenoarcheaology/artifacts/crystal.dm index a1d93d824b..fecf94098d 100644 --- a/code/modules/xenoarcheaology/artifacts/crystal.dm +++ b/code/modules/xenoarcheaology/artifacts/crystal.dm @@ -17,7 +17,7 @@ "It's mesmerizing to behold.") /obj/structure/crystal/Destroy() - src.visible_message("[src] shatters!") + src.visible_message(span_red("[src] shatters!")) if(prob(75)) new /obj/item/weapon/material/shard/phoron(src.loc) if(prob(50)) diff --git a/code/modules/xenoarcheaology/effect.dm b/code/modules/xenoarcheaology/effect.dm index bccb9faa0e..966e55d05d 100644 --- a/code/modules/xenoarcheaology/effect.dm +++ b/code/modules/xenoarcheaology/effect.dm @@ -92,7 +92,7 @@ var/atom/toplevelholder = target while(!istype(toplevelholder.loc, /turf)) toplevelholder = toplevelholder.loc - toplevelholder.visible_message("\icon[toplevelholder][bicon(toplevelholder)] [toplevelholder] [display_msg]") + toplevelholder.visible_message("[span_red("\icon[toplevelholder][bicon(toplevelholder)] [toplevelholder] [display_msg]")]") /datum/artifact_effect/proc/DoEffectTouch(var/mob/user) /datum/artifact_effect/proc/DoEffectAura(var/atom/holder) diff --git a/code/modules/xenoarcheaology/effect_master.dm b/code/modules/xenoarcheaology/effect_master.dm index b320cbead3..ddb77f661a 100644 --- a/code/modules/xenoarcheaology/effect_master.dm +++ b/code/modules/xenoarcheaology/effect_master.dm @@ -260,7 +260,7 @@ return if (get_dist(user, holder) > 1) - to_chat(user, "You can't reach [holder] from here.") + to_chat(user, "[span_red("You can't reach [holder] from here.")]") return if(ishuman(user) && user:gloves) to_chat(user, "You touch [holder] with your gloved hands, [pick("but nothing of note happens","but nothing happens","but nothing interesting happens","but you notice nothing different","but nothing seems to have happened")].") @@ -418,4 +418,3 @@ //NITROGEN GAS ACTIVATION if(my_effect.trigger == TRIGGER_NITRO && (trigger_nitro ^ my_effect.activated)) my_effect.ToggleActivate() - diff --git a/code/modules/xenoarcheaology/effects/badfeeling.dm b/code/modules/xenoarcheaology/effects/badfeeling.dm index 2a7e480e18..ec47e0df41 100644 --- a/code/modules/xenoarcheaology/effects/badfeeling.dm +++ b/code/modules/xenoarcheaology/effects/badfeeling.dm @@ -34,9 +34,9 @@ var/mob/living/carbon/human/H = user if(prob(50)) if(prob(75)) - to_chat(H, "[pick(drastic_messages)]") + to_chat(H, span_red("[pick(drastic_messages)]")) else - to_chat(H, "[pick(messages)]") + to_chat(H, span_red("[pick(messages)]")) if(prob(50)) H.dizziness += rand(3,5) @@ -48,9 +48,9 @@ for (var/mob/living/carbon/human/H in range(src.effectrange,T)) if(prob(5)) if(prob(75)) - to_chat(H, "[pick(messages)]") + to_chat(H, span_red("[pick(messages)]")) else - to_chat(H, "[pick(drastic_messages)]") + to_chat(H, span_red("[pick(drastic_messages)]")) if(prob(10)) H.dizziness += rand(3,5) @@ -63,9 +63,9 @@ for (var/mob/living/carbon/human/H in range(src.effectrange,T)) if(prob(50)) if(prob(95)) - to_chat(H, "[pick(drastic_messages)]") + to_chat(H, span_red("[pick(drastic_messages)]")) else - to_chat(H, "[pick(messages)]") + to_chat(H, span_red("[pick(messages)]")) if(prob(50)) H.dizziness += rand(3,5) diff --git a/code/modules/xenoarcheaology/effects/cannibal.dm b/code/modules/xenoarcheaology/effects/cannibal.dm index ad584ccc7c..ba1b4a616c 100644 --- a/code/modules/xenoarcheaology/effects/cannibal.dm +++ b/code/modules/xenoarcheaology/effects/cannibal.dm @@ -35,9 +35,9 @@ if(H.is_sentient()) if(prob(50)) if(prob(75)) - to_chat(H, "[pick(drastic_messages)]") + to_chat(H, span_red("[pick(drastic_messages)]")) else - to_chat(H, "[pick(messages)]") + to_chat(H, span_red("[pick(messages)]")) if(prob(50)) H.dizziness += rand(3,5) @@ -51,9 +51,9 @@ if(H.is_sentient()) if(prob(5)) if(prob(75)) - to_chat(H, "[pick(messages)]") + to_chat(H, span_red("[pick(messages)]")) else - to_chat(H, "[pick(drastic_messages)]") + to_chat(H, span_red("[pick(drastic_messages)]")) if(prob(10)) H.dizziness += rand(3,5) @@ -68,9 +68,9 @@ if(H.is_sentient()) if(prob(50)) if(prob(95)) - to_chat(H, "[pick(drastic_messages)]") + to_chat(H, span_red("[pick(drastic_messages)]")) else - to_chat(H, "[pick(messages)]") + to_chat(H, span_red("[pick(messages)]")) if(prob(50)) H.dizziness += rand(3,5) diff --git a/code/modules/xenoarcheaology/effects/cold.dm b/code/modules/xenoarcheaology/effects/cold.dm index f20fdf00d5..1b922f9132 100644 --- a/code/modules/xenoarcheaology/effects/cold.dm +++ b/code/modules/xenoarcheaology/effects/cold.dm @@ -14,7 +14,7 @@ /datum/artifact_effect/cold/DoEffectTouch(var/mob/user) var/atom/holder = get_master_holder() if(holder) - to_chat(user, "A chill passes up your spine!") + to_chat(user, span_blue("A chill passes up your spine!")) var/datum/gas_mixture/env = holder.loc.return_air() if(env) env.temperature = max(env.temperature - rand(5,50), 0) diff --git a/code/modules/xenoarcheaology/effects/goodfeeling.dm b/code/modules/xenoarcheaology/effects/goodfeeling.dm index 42b1be7e3a..10678a9600 100644 --- a/code/modules/xenoarcheaology/effects/goodfeeling.dm +++ b/code/modules/xenoarcheaology/effects/goodfeeling.dm @@ -32,9 +32,9 @@ var/mob/living/carbon/human/H = user if(prob(50)) if(prob(75)) - to_chat(H, "[pick(drastic_messages)]") + to_chat(H, span_blue("[pick(drastic_messages)]")) else - to_chat(H, "[pick(messages)]") + to_chat(H, span_blue("[pick(messages)]")) if(prob(50)) H.dizziness += rand(3,5) @@ -46,9 +46,9 @@ for (var/mob/living/carbon/human/H in range(src.effectrange,T)) if(prob(5)) if(prob(75)) - to_chat(H, "[pick(messages)]") + to_chat(H, span_blue("[pick(messages)]")) else - to_chat(H, "[pick(drastic_messages)]") + to_chat(H, span_blue("[pick(drastic_messages)]")) if(prob(5)) H.dizziness += rand(3,5) @@ -61,9 +61,9 @@ for (var/mob/living/carbon/human/H in range(src.effectrange,T)) if(prob(50)) if(prob(95)) - to_chat(H, "[pick(drastic_messages)]") + to_chat(H, span_blue("[pick(drastic_messages)]")) else - to_chat(H, "[pick(messages)]") + to_chat(H, span_blue("[pick(messages)]")) if(prob(50)) H.dizziness += rand(3,5) diff --git a/code/modules/xenoarcheaology/effects/heal.dm b/code/modules/xenoarcheaology/effects/heal.dm index 313bbc011e..f6e659397e 100644 --- a/code/modules/xenoarcheaology/effects/heal.dm +++ b/code/modules/xenoarcheaology/effects/heal.dm @@ -9,7 +9,7 @@ var/weakness = GetAnomalySusceptibility(toucher) if(prob(weakness * 100)) var/mob/living/carbon/C = toucher - to_chat(C, "You feel a soothing energy invigorate you.") + to_chat(C, span_blue("You feel a soothing energy invigorate you.")) if(ishuman(toucher)) var/mob/living/carbon/human/H = toucher @@ -42,7 +42,7 @@ var/weakness = GetAnomalySusceptibility(C) if(prob(weakness * 100)) if(prob(10)) - to_chat(C, "You feel a soothing energy radiating from something nearby.") + to_chat(C, span_blue("You feel a soothing energy radiating from something nearby.")) C.adjustBruteLoss(-1 * weakness) C.adjustFireLoss(-1 * weakness) C.adjustToxLoss(-1 * weakness) @@ -58,7 +58,7 @@ for (var/mob/living/carbon/C in range(src.effectrange,T)) var/weakness = GetAnomalySusceptibility(C) if(prob(weakness * 100)) - to_chat(C, "A wave of energy invigorates you.") + to_chat(C, span_blue("A wave of energy invigorates you.")) C.adjustBruteLoss(-5 * weakness) C.adjustFireLoss(-5 * weakness) C.adjustToxLoss(-5 * weakness) diff --git a/code/modules/xenoarcheaology/effects/heat.dm b/code/modules/xenoarcheaology/effects/heat.dm index 0bb3ae1f10..1dbab3eecf 100644 --- a/code/modules/xenoarcheaology/effects/heat.dm +++ b/code/modules/xenoarcheaology/effects/heat.dm @@ -13,7 +13,7 @@ /datum/artifact_effect/heat/DoEffectTouch(var/mob/user) var/atom/holder = get_master_holder() if(holder) - to_chat(user, " You feel a wave of heat travel up your spine!") + to_chat(user, span_red("You feel a wave of heat travel up your spine!")) var/datum/gas_mixture/env = holder.loc.return_air() if(env) env.temperature += rand(5,50) diff --git a/code/modules/xenoarcheaology/effects/resurrect.dm b/code/modules/xenoarcheaology/effects/resurrect.dm index 0fbb8c6aef..0fb7c1b88f 100644 --- a/code/modules/xenoarcheaology/effects/resurrect.dm +++ b/code/modules/xenoarcheaology/effects/resurrect.dm @@ -58,9 +58,9 @@ if(!H.client && H.mind) for(var/mob/observer/dead/ghost in player_list) if(ghost.mind == H.mind) - to_chat(ghost, "An artifact is trying to \ + to_chat(ghost, "[span_interface("An artifact is trying to \ revive you. Return to your body if you want to be resurrected! \ - (Verbs -> Ghost -> Re-enter corpse)") + (Verbs -> Ghost -> Re-enter corpse)")]") break H.adjustBruteLoss(-40) diff --git a/code/modules/xenoarcheaology/effects/roboheal.dm b/code/modules/xenoarcheaology/effects/roboheal.dm index 16660029b7..f8a1820bcb 100644 --- a/code/modules/xenoarcheaology/effects/roboheal.dm +++ b/code/modules/xenoarcheaology/effects/roboheal.dm @@ -12,7 +12,7 @@ if(user) if (istype(user, /mob/living/silicon/robot)) var/mob/living/silicon/robot/R = user - to_chat(R, "Your systems report damaged components mending by themselves!") + to_chat(R, span_blue("Your systems report damaged components mending by themselves!")) R.adjustBruteLoss(rand(-10,-30)) R.adjustFireLoss(rand(-10,-30)) return 1 @@ -23,7 +23,7 @@ var/turf/T = get_turf(holder) for (var/mob/living/silicon/robot/M in range(src.effectrange,T)) if(world.time - last_message > 200) - to_chat(M, "SYSTEM ALERT: Beneficial energy field detected!") + to_chat(M, span_blue("SYSTEM ALERT: Beneficial energy field detected!")) last_message = world.time M.adjustBruteLoss(-1) M.adjustFireLoss(-1) @@ -36,7 +36,7 @@ var/turf/T = get_turf(holder) for (var/mob/living/silicon/robot/M in range(src.effectrange,T)) if(world.time - last_message > 200) - to_chat(M, "SYSTEM ALERT: Structural damage has been repaired by energy pulse!") + to_chat(M, span_blue("SYSTEM ALERT: Structural damage has been repaired by energy pulse!")) last_message = world.time M.adjustBruteLoss(-10) M.adjustFireLoss(-10) diff --git a/code/modules/xenoarcheaology/effects/robohurt.dm b/code/modules/xenoarcheaology/effects/robohurt.dm index 8b93e04ead..41b8caf72b 100644 --- a/code/modules/xenoarcheaology/effects/robohurt.dm +++ b/code/modules/xenoarcheaology/effects/robohurt.dm @@ -12,7 +12,7 @@ if(user) if (istype(user, /mob/living/silicon/robot)) var/mob/living/silicon/robot/R = user - to_chat(R, "Your systems report severe damage has been inflicted!") + to_chat(R, span_red("Your systems report severe damage has been inflicted!")) R.adjustBruteLoss(rand(10,50)) R.adjustFireLoss(rand(10,50)) return 1 @@ -23,7 +23,7 @@ var/turf/T = get_turf(holder) for (var/mob/living/silicon/robot/M in range(src.effectrange,T)) if(world.time - last_message > 200) - to_chat(M, "SYSTEM ALERT: Harmful energy field detected!") + to_chat(M, span_red("SYSTEM ALERT: Harmful energy field detected!")) last_message = world.time M.adjustBruteLoss(1) M.adjustFireLoss(1) @@ -36,7 +36,7 @@ var/turf/T = get_turf(holder) for (var/mob/living/silicon/robot/M in range(src.effectrange,T)) if(world.time - last_message > 200) - to_chat(M, "SYSTEM ALERT: Structural damage inflicted by energy pulse!") + to_chat(M, span_red("SYSTEM ALERT: Structural damage inflicted by energy pulse!")) last_message = world.time M.adjustBruteLoss(10) M.adjustFireLoss(10) diff --git a/code/modules/xenoarcheaology/effects/sleepy.dm b/code/modules/xenoarcheaology/effects/sleepy.dm index 244814a1da..a13c1dcbb4 100644 --- a/code/modules/xenoarcheaology/effects/sleepy.dm +++ b/code/modules/xenoarcheaology/effects/sleepy.dm @@ -12,12 +12,12 @@ var/weakness = GetAnomalySusceptibility(toucher) if(ishuman(toucher) && prob(weakness * 100)) var/mob/living/carbon/human/H = toucher - to_chat(H, pick("You feel like taking a nap."," You feel a yawn coming on."," You feel a little tired.")) + to_chat(H, span_blue("[pick("You feel like taking a nap.","You feel a yawn coming on.","You feel a little tired.")]")) H.drowsyness = min(H.drowsyness + rand(5,25) * weakness, 50 * weakness) H.eye_blurry = min(H.eye_blurry + rand(1,3) * weakness, 50 * weakness) return 1 else if(isrobot(toucher)) - to_chat(toucher, "SYSTEM ALERT: CPU cycles slowing down.") + to_chat(toucher, span_red("SYSTEM ALERT: CPU cycles slowing down.")) return 1 /datum/artifact_effect/sleepy/DoEffectAura() @@ -28,11 +28,11 @@ var/weakness = GetAnomalySusceptibility(H) if(prob(weakness * 100)) if(prob(10)) - to_chat(H, pick("You feel like taking a nap."," You feel a yawn coming on."," You feel a little tired.")) + to_chat(H, span_blue("[pick("You feel like taking a nap.","You feel a yawn coming on.","You feel a little tired.")]")) H.drowsyness = min(H.drowsyness + 1 * weakness, 25 * weakness) H.eye_blurry = min(H.eye_blurry + 1 * weakness, 25 * weakness) for (var/mob/living/silicon/robot/R in range(src.effectrange,holder)) - to_chat(R, "SYSTEM ALERT: CPU cycles slowing down.") + to_chat(R, span_red("SYSTEM ALERT: CPU cycles slowing down.")) return 1 /datum/artifact_effect/sleepy/DoEffectPulse() @@ -42,9 +42,9 @@ for(var/mob/living/carbon/human/H in range(src.effectrange, T)) var/weakness = GetAnomalySusceptibility(H) if(prob(weakness * 100)) - to_chat(H, pick("You feel like taking a nap."," You feel a yawn coming on."," You feel a little tired.")) + to_chat(H, span_blue("[pick("You feel like taking a nap.","You feel a yawn coming on.","You feel a little tired.")]")) H.drowsyness = min(H.drowsyness + rand(5,15) * weakness, 50 * weakness) H.eye_blurry = min(H.eye_blurry + rand(5,15) * weakness, 50 * weakness) for (var/mob/living/silicon/robot/R in range(src.effectrange,holder)) - to_chat(R, "SYSTEM ALERT: CPU cycles slowing down.") + to_chat(R, span_red("SYSTEM ALERT: CPU cycles slowing down.")) return 1 diff --git a/code/modules/xenoarcheaology/effects/stun.dm b/code/modules/xenoarcheaology/effects/stun.dm index 12ca276b93..82b0ff534c 100644 --- a/code/modules/xenoarcheaology/effects/stun.dm +++ b/code/modules/xenoarcheaology/effects/stun.dm @@ -11,7 +11,7 @@ var/mob/living/carbon/C = toucher var/susceptibility = GetAnomalySusceptibility(C) if(prob(susceptibility * 100)) - to_chat(C, "A powerful force overwhelms your consciousness.") + to_chat(C, span_red("A powerful force overwhelms your consciousness.")) C.Weaken(rand(1,10) * susceptibility) C.stuttering += 30 * susceptibility C.Stun(rand(1,10) * susceptibility) @@ -23,13 +23,13 @@ for (var/mob/living/carbon/C in range(src.effectrange,T)) var/susceptibility = GetAnomalySusceptibility(C) if(prob(10 * susceptibility)) - to_chat(C, "Your body goes numb for a moment.") + to_chat(C, span_red("Your body goes numb for a moment.")) C.Weaken(2) C.stuttering += 2 if(prob(10)) C.Stun(1) else if(prob(10)) - to_chat(C, "You feel numb.") + to_chat(C, span_red("You feel numb.")) /datum/artifact_effect/stun/DoEffectPulse() var/atom/holder = get_master_holder() @@ -38,7 +38,7 @@ for (var/mob/living/carbon/C in range(src.effectrange,T)) var/susceptibility = GetAnomalySusceptibility(C) if(prob(100 * susceptibility)) - to_chat(C, "A wave of energy overwhelms your senses!") + to_chat(C, span_red("A wave of energy overwhelms your senses!")) C.SetWeakened(4 * susceptibility) C.stuttering = 4 * susceptibility if(prob(10)) diff --git a/code/modules/xenoarcheaology/effects/teleport.dm b/code/modules/xenoarcheaology/effects/teleport.dm index de71e76768..31a0dd6e67 100644 --- a/code/modules/xenoarcheaology/effects/teleport.dm +++ b/code/modules/xenoarcheaology/effects/teleport.dm @@ -8,7 +8,7 @@ var/atom/holder = get_master_holder() var/weakness = GetAnomalySusceptibility(user) if(prob(100 * weakness)) - to_chat(user, "You are suddenly zapped away elsewhere!") + to_chat(user, span_red("You are suddenly zapped away elsewhere!")) if (user.buckled) user.buckled.unbuckle_mob() @@ -29,7 +29,7 @@ for (var/mob/living/M in range(src.effectrange,T)) var/weakness = GetAnomalySusceptibility(M) if(prob(100 * weakness)) - to_chat(M, "You are displaced by a strange force!") + to_chat(M, span_red("You are displaced by a strange force!")) if(M.buckled) M.buckled.unbuckle_mob(M) @@ -49,7 +49,7 @@ for (var/mob/living/M in range(src.effectrange, T)) var/weakness = GetAnomalySusceptibility(M) if(prob(100 * weakness)) - to_chat(M, "You are displaced by a strange force!") + to_chat(M, span_red("You are displaced by a strange force!")) if(M.buckled) M.buckled.unbuckle_mob() diff --git a/code/modules/xenoarcheaology/finds/special.dm b/code/modules/xenoarcheaology/finds/special.dm index af22d90dbf..cf6c21546d 100644 --- a/code/modules/xenoarcheaology/finds/special.dm +++ b/code/modules/xenoarcheaology/finds/special.dm @@ -99,7 +99,7 @@ if(charges >= 0.1) if(prob(5)) - src.visible_message("\icon[src][bicon(src)] [src]'s eyes glow ruby red for a moment!") + src.visible_message(span_red("\icon[src][bicon(src)] [src]'s eyes glow ruby red for a moment!")) charges -= 0.1 //check on our shadow wights @@ -129,7 +129,7 @@ var/target = pick(M.organs_by_name) M.apply_damage(rand(5, 10), BRUTE, target) - to_chat(M, "The skin on your [parse_zone(target)] feels like it's ripping apart, and a stream of blood flies out.") + to_chat(M, span_red("The skin on your [parse_zone(target)] feels like it's ripping apart, and a stream of blood flies out.")) var/obj/effect/decal/cleanable/blood/splatter/animated/B = new(M.loc) B.target_turf = pick(range(1, src)) B.blood_DNA = list() @@ -200,4 +200,4 @@ STOP_PROCESSING(SSobj, src) /obj/effect/shadow_wight/Bump(var/atom/obstacle) - to_chat(obstacle, "You feel a chill run down your spine!") + to_chat(obstacle, span_red("You feel a chill run down your spine!")) diff --git a/code/modules/xenoarcheaology/finds/talking.dm b/code/modules/xenoarcheaology/finds/talking.dm index d2ce513285..2d6b23508a 100644 --- a/code/modules/xenoarcheaology/finds/talking.dm +++ b/code/modules/xenoarcheaology/finds/talking.dm @@ -54,7 +54,7 @@ var/list/options = list("[holder_atom] seems to be listening intently to [source]...",\ "[holder_atom] seems to be focusing on [source]...",\ "[holder_atom] seems to turn it's attention to [source]...") - holder_atom.loc.visible_message("\icon[holder_atom][bicon(holder_atom)] [pick(options)]") + holder_atom.loc.visible_message(span_blue("\icon[holder_atom][bicon(holder_atom)] [pick(options)]")) if(prob(20)) spawn(2) @@ -111,5 +111,5 @@ var/list/listening = viewers(holder_atom) for(var/mob/M in listening) - to_chat(M, "\icon[holder_atom][bicon(holder_atom)] [holder_atom] reverberates, \"[msg]\"") + to_chat(M, "\icon[holder_atom][bicon(holder_atom)] [holder_atom] reverberates, \"[span_blue(msg)]\"") last_talk_time = world.time diff --git a/code/modules/xenoarcheaology/tools/ano_device_battery.dm b/code/modules/xenoarcheaology/tools/ano_device_battery.dm index a83462c43b..7fb51a0a4a 100644 --- a/code/modules/xenoarcheaology/tools/ano_device_battery.dm +++ b/code/modules/xenoarcheaology/tools/ano_device_battery.dm @@ -45,7 +45,7 @@ /obj/item/weapon/anodevice/attackby(var/obj/I as obj, var/mob/user as mob) if(istype(I, /obj/item/weapon/anobattery)) if(!inserted_battery) - to_chat(user, "You insert the battery.") + to_chat(user, span_blue("You insert the battery.")) user.drop_item() I.loc = src inserted_battery = I @@ -103,7 +103,7 @@ if("startup") if(inserted_battery && inserted_battery.battery_effect && (inserted_battery.stored_charge > 0)) activated = TRUE - visible_message("\icon[src][bicon(src)] [src] whirrs.", "\icon[src][bicon(src)]You hear something whirr.") + visible_message(span_blue("\icon[src][bicon(src)] [src] whirrs."), span_blue("\icon[src][bicon(src)]You hear something whirr.")) if(!inserted_battery.battery_effect.activated) inserted_battery.battery_effect.ToggleActivate(1) time_end = world.time + duration @@ -175,13 +175,13 @@ //work out if we need to shutdown if(inserted_battery.stored_charge <= 0) - src.loc.visible_message("\icon[src][bicon(src)] [src] buzzes.", "\icon[src][bicon(src)] You hear something buzz.") + src.loc.visible_message(span_blue("\icon[src][bicon(src)] [src] buzzes."), span_blue("\icon[src][bicon(src)] You hear something buzz.")) shutdown_emission() else if(world.time > time_end) - src.loc.visible_message("\icon[src][bicon(src)] [src] chimes.", "\icon[src][bicon(src)] You hear something chime.") + src.loc.visible_message(span_blue("\icon[src][bicon(src)] [src] chimes."), span_blue("\icon[src][bicon(src)] You hear something chime.")) shutdown_emission() else - src.visible_message("\icon[src][bicon(src)] [src] buzzes.", "\icon[src][bicon(src)] You hear something buzz.") + src.visible_message(span_blue("\icon[src][bicon(src)] [src] buzzes."), span_blue("\icon[src][bicon(src)] You hear something buzz.")) shutdown_emission() last_process = world.time @@ -210,9 +210,9 @@ if(activated && inserted_battery?.battery_effect?.effect == EFFECT_TOUCH && !isnull(inserted_battery)) inserted_battery?.battery_effect?.DoEffectTouch(M) inserted_battery.use_power(energy_consumed_on_touch) - user.visible_message("[user] taps [M] with [src], and it shudders on contact.") + user.visible_message(span_blue("[user] taps [M] with [src], and it shudders on contact.")) else - user.visible_message("[user] taps [M] with [src], but nothing happens.") + user.visible_message(span_blue("[user] taps [M] with [src], but nothing happens.")) //admin logging user.lastattacked = M diff --git a/code/modules/xenoarcheaology/tools/artifact_harvester.dm b/code/modules/xenoarcheaology/tools/artifact_harvester.dm index 03f0fdb484..a8f19c916b 100644 --- a/code/modules/xenoarcheaology/tools/artifact_harvester.dm +++ b/code/modules/xenoarcheaology/tools/artifact_harvester.dm @@ -22,13 +22,13 @@ /obj/machinery/artifact_harvester/attackby(var/obj/I as obj, var/mob/user as mob) if(istype(I,/obj/item/weapon/anobattery)) if(!inserted_battery) - to_chat(user, "You insert [I] into [src].") + to_chat(user, span_blue("You insert [I] into [src].")) user.drop_item() I.loc = src src.inserted_battery = I SStgui.update_uis(src) else - to_chat(user, "There is already a battery in [src].") + to_chat(user, span_red("There is already a battery in [src].")) else return..() diff --git a/code/modules/xenoarcheaology/tools/geosample_scanner.dm b/code/modules/xenoarcheaology/tools/geosample_scanner.dm index 4ab22878c1..53733810c6 100644 --- a/code/modules/xenoarcheaology/tools/geosample_scanner.dm +++ b/code/modules/xenoarcheaology/tools/geosample_scanner.dm @@ -268,16 +268,16 @@ //emergency stop if seal integrity reaches 0 if(scanner_seal_integrity <= 0 || (scanner_temperature >= 1273 && !rad_shield)) stop_scanning() - src.visible_message("\icon[src][bicon(src)] buzzes unhappily. It has failed mid-scan!", 2) + src.visible_message(span_blue("\icon[src][bicon(src)] buzzes unhappily. It has failed mid-scan!"), 2) if(prob(5)) - src.visible_message("\icon[src][bicon(src)] [pick("whirrs","chuffs","clicks")][pick(" excitedly"," energetically"," busily")].", 2) + src.visible_message(span_blue("\icon[src][bicon(src)] [pick("whirrs","chuffs","clicks")][pick(" excitedly"," energetically"," busily")]."), 2) else //gradually cool down over time if(scanner_temperature > 0) scanner_temperature = max(scanner_temperature - 5 - 10 * rand(), 0) if(prob(0.75)) - src.visible_message("\icon[src][bicon(src)] [pick("plinks","hisses")][pick(" quietly"," softly"," sadly"," plaintively")].", 2) + src.visible_message(span_blue("\icon[src][bicon(src)] [pick("plinks","hisses")][pick(" quietly"," softly"," sadly"," plaintively")]."), 2) playsound(src, 'sound/effects/ding.ogg', 25) last_process_worldtime = world.time @@ -296,7 +296,7 @@ used_coolant = 0 /obj/machinery/radiocarbon_spectrometer/proc/complete_scan() - src.visible_message("\icon[src][bicon(src)] makes an insistent chime.", 2) + src.visible_message(span_blue("\icon[src][bicon(src)] makes an insistent chime."), 2) if(scanned_item) //create report diff --git a/code/modules/xenoarcheaology/tools/suspension_generator.dm b/code/modules/xenoarcheaology/tools/suspension_generator.dm index 4449d85db5..51f23f8b0a 100644 --- a/code/modules/xenoarcheaology/tools/suspension_generator.dm +++ b/code/modules/xenoarcheaology/tools/suspension_generator.dm @@ -150,10 +150,10 @@ for(var/mob/living/M in T) M.Weaken(5) - M.visible_message("[bicon(M)] [M] begins to float in the air!","You feel tingly and light, but it is difficult to move.") + M.visible_message(span_blue("[bicon(M)] [M] begins to float in the air!"),"You feel tingly and light, but it is difficult to move.") suspension_field = new(T) - visible_message("[bicon(src)] [src] activates with a low hum.") + visible_message(span_blue("[bicon(src)] [src] activates with a low hum.")) icon_state = "suspension_on" playsound(loc, 'sound/machines/quiet_beep.ogg', 40) update_icon() @@ -165,7 +165,7 @@ if(collected) suspension_field.icon_state = "energynet" add_overlay("shield2") - visible_message("[bicon(suspension_field)] [suspension_field] gently absconds [collected > 1 ? "something" : "several things"].") + visible_message(span_blue("[bicon(suspension_field)] [suspension_field] gently absconds [collected > 1 ? "something" : "several things"].")) else if(istype(T,/turf/simulated/mineral) || istype(T,/turf/simulated/wall)) suspension_field.icon_state = "shieldsparkles" @@ -180,7 +180,7 @@ to_chat(M, "You no longer feel like floating.") M.Weaken(3) - visible_message("[bicon(src)] [src] deactivates with a gentle shudder.") + visible_message(span_blue("[bicon(src)] [src] deactivates with a gentle shudder.")) qdel(suspension_field) suspension_field = null icon_state = "suspension_wrenched" @@ -197,7 +197,7 @@ set category = "Object" if(anchored) - to_chat(usr, "You cannot rotate [src], it has been firmly fixed to the floor.") + to_chat(usr, span_red("You cannot rotate [src], it has been firmly fixed to the floor.")) return set_dir(turn(dir, 90)) @@ -207,7 +207,7 @@ set category = "Object" if(anchored) - to_chat(usr, "You cannot rotate [src], it has been firmly fixed to the floor.") + to_chat(usr, span_red("You cannot rotate [src], it has been firmly fixed to the floor.")) return set_dir(turn(dir, 270)) diff --git a/interface/stylesheet.dm b/interface/stylesheet.dm index 646e7fd1da..fbe3451b8a 100644 --- a/interface/stylesheet.dm +++ b/interface/stylesheet.dm @@ -133,7 +133,6 @@ h1.alert, h2.alert {color: #000000;} .say_quote {font-family: Georgia, Verdana, sans-serif;} .say_quote_italics {font-style: italic; font-family: Georgia, Verdana, sans-serif;} .terminus {font-family: "Times New Roman", Times, serif, sans-serif} -.interface {color: #330033;} .spacer {color: #9c660b;} /* VOREStation Add */ .blob {color: #ff950d; font-weight: bold; font-style: italic;} .teppi {color: #816540; word-spacing:4pt; font-family: "Segoe Script Bold","Segoe Script",sans-serif,Verdana;} @@ -148,6 +147,8 @@ BIG IMG.icon {width: 32px; height: 32px;} .debug_debug {color:#0000FF;} .debug_trace {color:#888888;} +.interface {color: #330033;} + .black {color: #000000;} .darkgray {color: #808080;} .gray {color: #A9A9A9;} @@ -155,6 +156,13 @@ BIG IMG.icon {width: 32px; height: 32px;} .orange {color: #FF8C00;} .blue {color: #0000FF;} .green {color: #00DD00;} +.purple {color: #800080;} +.yellow {color: #ffcc00;} +.pink {color: #ffc0cb;} +.cyan {color: #00ffff;} +.maroon {color: #800000;} +.crimson {color: #DC143C;} +.brown {color: #8D4925;} .pnarrate {color: #009AB2;} diff --git a/maps/RandomZLevels/stationCollision.dm b/maps/RandomZLevels/stationCollision.dm index 551611b8f4..681f1955a7 100644 --- a/maps/RandomZLevels/stationCollision.dm +++ b/maps/RandomZLevels/stationCollision.dm @@ -124,7 +124,7 @@ var/sc_safecode5 = "[rand(0,9)]" /obj/item/weapon/paper/sc_safehint_paper_caf name = "blood-soaked paper" //This does not have to be in New() because it is a constant. There are no variables in it i.e. [sc_safcode] - info = "This paper is soaked in blood, it is impossible to read any text." + info = "This paper is soaked in blood, it is impossible to read any text." /obj/item/weapon/paper/sc_safehint_paper_bible name = "hidden paper" @@ -202,4 +202,4 @@ var/sc_safecode5 = "[rand(0,9)]" return /obj/machinery/singularity/narsie/sc_Narsie/ex_act() - return \ No newline at end of file + return diff --git a/maps/gateway_archive_vr/labyrinth.dm b/maps/gateway_archive_vr/labyrinth.dm index 94a88a68fc..d4b34893aa 100644 --- a/maps/gateway_archive_vr/labyrinth.dm +++ b/maps/gateway_archive_vr/labyrinth.dm @@ -167,13 +167,13 @@ return 0 playsound(chassis, 'sound/items/AirHorn.ogg', 100, 1) - chassis.occupant_message("HONK") + chassis.occupant_message(span_red("font size='5'>HONK")) for(var/mob/living/carbon/M in ohearers(6, chassis)) if(istype(M, /mob/living/carbon/human)) var/mob/living/carbon/human/H = M if(istype(H.l_ear, /obj/item/clothing/ears/earmuffs) || istype(H.r_ear, /obj/item/clothing/ears/earmuffs)) continue - to_chat(M, "HONK") + to_chat(M, span_red("font size='7'>HONK")) M.sleeping = 0 M.stuttering += 20 M.ear_deaf += 30 @@ -365,4 +365,4 @@ icon_state = "x2" lootcount = 1 //how many items will be spawned lootdoubles = 0 //if the same item can be spawned twice - loot = "" //a list of possible items to spawn- a string of paths \ No newline at end of file + loot = "" //a list of possible items to spawn- a string of paths diff --git a/maps/gateway_archive_vr/stationCollision.dm b/maps/gateway_archive_vr/stationCollision.dm index 551611b8f4..681f1955a7 100644 --- a/maps/gateway_archive_vr/stationCollision.dm +++ b/maps/gateway_archive_vr/stationCollision.dm @@ -124,7 +124,7 @@ var/sc_safecode5 = "[rand(0,9)]" /obj/item/weapon/paper/sc_safehint_paper_caf name = "blood-soaked paper" //This does not have to be in New() because it is a constant. There are no variables in it i.e. [sc_safcode] - info = "This paper is soaked in blood, it is impossible to read any text." + info = "This paper is soaked in blood, it is impossible to read any text." /obj/item/weapon/paper/sc_safehint_paper_bible name = "hidden paper" @@ -202,4 +202,4 @@ var/sc_safecode5 = "[rand(0,9)]" return /obj/machinery/singularity/narsie/sc_Narsie/ex_act() - return \ No newline at end of file + return diff --git a/maps/gateway_archive_vr/wildwest.dm b/maps/gateway_archive_vr/wildwest.dm index ed6ab28594..9cffa0d7f8 100644 --- a/maps/gateway_archive_vr/wildwest.dm +++ b/maps/gateway_archive_vr/wildwest.dm @@ -121,7 +121,7 @@ if(istype(M, /mob/living/carbon/human) || istype(M, /mob/living/carbon/monkey)) for(var/mob/O in viewers(world.view, src.loc)) - to_chat(O, "[M] triggered the \icon[src][bicon(src)] [src]") + to_chat(O, span_red("[M] triggered the \icon[src][bicon(src)] [src]")) triggered = 1 call(src,triggerproc)(M) diff --git a/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss b/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss index 71bfdae0f6..b2fa242a54 100644 --- a/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss +++ b/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss @@ -662,8 +662,48 @@ img.icon.bigicon { color: #ff0000; } +.crimson { + color: #dc143c; +} + +.maroon { + color: #c60000; +} + +.brown { + color: #db733b; +} + .blue { - color: #215cff; + color: #4173fd; +} + +.black { + color: #ffffff; +} + +.darkgray { + color: #808080; +} + +.gray { + color: #a9a9a9; +} + +.yellow { + color: #ffcc00; +} + +.pink { + color: #ffc0cb; +} + +.cyan { + color: #00ffff; +} + +.orange { + color: #ff8c00; } .nicegreen { @@ -833,7 +873,7 @@ img.icon.bigicon { } .interface { - color: #750e75; + color: #961196; } .sans { diff --git a/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss b/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss index 23b62dcb63..e3c92cde3d 100644 --- a/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss +++ b/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss @@ -689,10 +689,50 @@ h2.alert { color: #ff0000; } +.crimson { + color: #dc143c; +} + +.maroon { + color: #800000; +} + +.brown { + color: #8d4925; +} + .blue { color: #0000ff; } +.black { + color: #000000; +} + +.darkgray { + color: #808080; +} + +.gray { + color: #a9a9a9; +} + +.yellow { + color: #ffcc00; +} + +.pink { + color: #ffc0cb; +} + +.cyan { + color: #00ffff; +} + +.orange { + color: #ff8c00; +} + .nicegreen { color: #14a833; } diff --git a/tgui/packages/tgui-panel/styles/tgchat/chat-vchatdark.scss b/tgui/packages/tgui-panel/styles/tgchat/chat-vchatdark.scss index 88c7ad08cb..1b6fc2185d 100644 --- a/tgui/packages/tgui-panel/styles/tgchat/chat-vchatdark.scss +++ b/tgui/packages/tgui-panel/styles/tgchat/chat-vchatdark.scss @@ -662,11 +662,50 @@ img.icon.bigicon { .red { color: #ff0000; } +.crimson { + color: #dc143c; +} + +.maroon { + color: #c60000; +} + +.brown { + color: #db733b; +} .blue { color: #6666ff; } +.black { + color: #ffffff; +} + +.darkgray { + color: #808080; +} + +.gray { + color: #a9a9a9; +} + +.yellow { + color: #ffcc00; +} + +.pink { + color: #ffc0cb; +} + +.cyan { + color: #00ffff; +} + +.orange { + color: #ff8c00; +} + .nicegreen { color: #059223; } diff --git a/tgui/packages/tgui-panel/styles/tgchat/chat-vchatlight.scss b/tgui/packages/tgui-panel/styles/tgchat/chat-vchatlight.scss index dd1d02f60a..c3f6855608 100644 --- a/tgui/packages/tgui-panel/styles/tgchat/chat-vchatlight.scss +++ b/tgui/packages/tgui-panel/styles/tgchat/chat-vchatlight.scss @@ -690,10 +690,50 @@ h2.alert { color: #ff0000; } +.crimson { + color: #dc143c; +} + +.maroon { + color: #800000; +} + +.brown { + color: #8d4925; +} + .blue { color: #0000ff; } +.black { + color: #000000; +} + +.darkgray { + color: #808080; +} + +.gray { + color: #a9a9a9; +} + +.yellow { + color: #ffcc00; +} + +.pink { + color: #ffc0cb; +} + +.cyan { + color: #00ffff; +} + +.orange { + color: #ff8c00; +} + .nicegreen { color: #14a833; } diff --git a/tgui/public/tgui-panel.bundle.css b/tgui/public/tgui-panel.bundle.css index 9b09ada81a..bcbbf2eaba 100644 --- a/tgui/public/tgui-panel.bundle.css +++ b/tgui/public/tgui-panel.bundle.css @@ -1 +1 @@ -html,body{box-sizing:border-box;height:100%;margin:0;font-size:12px}html{overflow:hidden;cursor:default}body{overflow:auto;font-family:Verdana,Geneva,sans-serif}*,*:before,*:after{box-sizing:inherit}h1,h2,h3,h4,h5,h6{display:block;margin:0;padding:6px 0;padding:.5rem 0}h1{font-size:18px;font-size:1.5rem}h2{font-size:16px;font-size:1.333rem}h3{font-size:14px;font-size:1.167rem}h4{font-size:12px;font-size:1rem}td,th{vertical-align:baseline;text-align:left}.candystripe:nth-child(odd){background-color:rgba(0,0,0,.25)}.color-black{color:#1a1a1a!important}.color-white{color:#fff!important}.color-red{color:#df3e3e!important}.color-orange{color:#f37f33!important}.color-yellow{color:#fbda21!important}.color-olive{color:#cbe41c!important}.color-green{color:#25ca4c!important}.color-teal{color:#00d6cc!important}.color-blue{color:#2e93de!important}.color-violet{color:#7349cf!important}.color-purple{color:#ad45d0!important}.color-pink{color:#e34da1!important}.color-brown{color:#b97447!important}.color-grey{color:#848484!important}.color-good{color:#68c22d!important}.color-average{color:#f29a29!important}.color-bad{color:#df3e3e!important}.color-label{color:#8b9bb0!important}.color-bg-black{background-color:#000!important}.color-bg-white{background-color:#d9d9d9!important}.color-bg-red{background-color:#bd2020!important}.color-bg-orange{background-color:#d95e0c!important}.color-bg-yellow{background-color:#d9b804!important}.color-bg-olive{background-color:#9aad14!important}.color-bg-green{background-color:#1b9638!important}.color-bg-teal{background-color:#009a93!important}.color-bg-blue{background-color:#1c71b1!important}.color-bg-violet{background-color:#552dab!important}.color-bg-purple{background-color:#8b2baa!important}.color-bg-pink{background-color:#cf2082!important}.color-bg-brown{background-color:#8c5836!important}.color-bg-grey{background-color:#646464!important}.color-bg-good{background-color:#4d9121!important}.color-bg-average{background-color:#cd7a0d!important}.color-bg-bad{background-color:#bd2020!important}.color-bg-label{background-color:#657a94!important}.debug-layout,.debug-layout *:not(g):not(path){color:rgba(255,255,255,.9)!important;background:rgba(0,0,0,0)!important;outline:1px solid rgba(255,255,255,.5)!important;box-shadow:none!important;filter:none!important}.debug-layout:hover,.debug-layout *:not(g):not(path):hover{outline-color:rgba(255,255,255,.8)!important}.outline-dotted{outline-style:dotted!important}.outline-dashed{outline-style:dashed!important}.outline-solid{outline-style:solid!important}.outline-double{outline-style:double!important}.outline-groove{outline-style:groove!important}.outline-ridge{outline-style:ridge!important}.outline-inset{outline-style:inset!important}.outline-outset{outline-style:outset!important}.outline-color-black{outline:.167rem solid #1a1a1a!important}.outline-color-white{outline:.167rem solid #fff!important}.outline-color-red{outline:.167rem solid #df3e3e!important}.outline-color-orange{outline:.167rem solid #f37f33!important}.outline-color-yellow{outline:.167rem solid #fbda21!important}.outline-color-olive{outline:.167rem solid #cbe41c!important}.outline-color-green{outline:.167rem solid #25ca4c!important}.outline-color-teal{outline:.167rem solid #00d6cc!important}.outline-color-blue{outline:.167rem solid #2e93de!important}.outline-color-violet{outline:.167rem solid #7349cf!important}.outline-color-purple{outline:.167rem solid #ad45d0!important}.outline-color-pink{outline:.167rem solid #e34da1!important}.outline-color-brown{outline:.167rem solid #b97447!important}.outline-color-grey{outline:.167rem solid #848484!important}.outline-color-good{outline:.167rem solid #68c22d!important}.outline-color-average{outline:.167rem solid #f29a29!important}.outline-color-bad{outline:.167rem solid #df3e3e!important}.outline-color-label{outline:.167rem solid #8b9bb0!important}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-baseline{text-align:baseline}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-pre{white-space:pre}.text-bold{font-weight:700}.text-italic{font-style:italic}.text-underline{text-decoration:underline}.BlockQuote{color:#8b9bb0;border-left:.1666666667em solid #8b9bb0;padding-left:.5em;margin-bottom:.5em}.BlockQuote:last-child{margin-bottom:0}.Button{position:relative;display:inline-block;line-height:1.667em;padding:0 .5em;margin-right:.1666666667em;white-space:nowrap;outline:0;border-radius:.16em;margin-bottom:.1666666667em;user-select:none;-ms-user-select:none}.Button:last-child{margin-right:0;margin-bottom:0}.Button .fa,.Button .fas,.Button .far{margin-left:-.25em;margin-right:-.25em;min-width:1.333em;text-align:center}.Button--hasContent .fa,.Button--hasContent .fas,.Button--hasContent .far{margin-right:.25em}.Button--hasContent.Button--iconPosition--right .fa,.Button--hasContent.Button--iconPosition--right .fas,.Button--hasContent.Button--iconPosition--right .far{margin-right:0;margin-left:3px}.Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.Button--fluid{display:block;margin-left:0;margin-right:0}.Button--circular{border-radius:50%}.Button--compact{padding:0 .25em;line-height:1.333em}.Button--color--black{transition:color 50ms,background-color 50ms;background-color:#000;color:#fff}.Button--color--black:hover{transition:color 0ms,background-color 0ms}.Button--color--black:focus{transition:color .1s,background-color .1s}.Button--color--black:hover,.Button--color--black:focus{background-color:#131313;color:#fff}.Button--color--white{transition:color 50ms,background-color 50ms;background-color:#d9d9d9;color:#000}.Button--color--white:hover{transition:color 0ms,background-color 0ms}.Button--color--white:focus{transition:color .1s,background-color .1s}.Button--color--white:hover,.Button--color--white:focus{background-color:#f8f8f8;color:#000}.Button--color--red{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.Button--color--red:hover{transition:color 0ms,background-color 0ms}.Button--color--red:focus{transition:color .1s,background-color .1s}.Button--color--red:hover,.Button--color--red:focus{background-color:#dc4848;color:#fff}.Button--color--orange{transition:color 50ms,background-color 50ms;background-color:#d95e0c;color:#fff}.Button--color--orange:hover{transition:color 0ms,background-color 0ms}.Button--color--orange:focus{transition:color .1s,background-color .1s}.Button--color--orange:hover,.Button--color--orange:focus{background-color:#f0853f;color:#fff}.Button--color--yellow{transition:color 50ms,background-color 50ms;background-color:#d9b804;color:#000}.Button--color--yellow:hover{transition:color 0ms,background-color 0ms}.Button--color--yellow:focus{transition:color .1s,background-color .1s}.Button--color--yellow:hover,.Button--color--yellow:focus{background-color:#f5d72e;color:#000}.Button--color--olive{transition:color 50ms,background-color 50ms;background-color:#9aad14;color:#fff}.Button--color--olive:hover{transition:color 0ms,background-color 0ms}.Button--color--olive:focus{transition:color .1s,background-color .1s}.Button--color--olive:hover,.Button--color--olive:focus{background-color:#c4da2b;color:#fff}.Button--color--green{transition:color 50ms,background-color 50ms;background-color:#1b9638;color:#fff}.Button--color--green:hover{transition:color 0ms,background-color 0ms}.Button--color--green:focus{transition:color .1s,background-color .1s}.Button--color--green:hover,.Button--color--green:focus{background-color:#32c154;color:#fff}.Button--color--teal{transition:color 50ms,background-color 50ms;background-color:#009a93;color:#fff}.Button--color--teal:hover{transition:color 0ms,background-color 0ms}.Button--color--teal:focus{transition:color .1s,background-color .1s}.Button--color--teal:hover,.Button--color--teal:focus{background-color:#13c4bc;color:#fff}.Button--color--blue{transition:color 50ms,background-color 50ms;background-color:#1c71b1;color:#fff}.Button--color--blue:hover{transition:color 0ms,background-color 0ms}.Button--color--blue:focus{transition:color .1s,background-color .1s}.Button--color--blue:hover,.Button--color--blue:focus{background-color:#3a95d9;color:#fff}.Button--color--violet{transition:color 50ms,background-color 50ms;background-color:#552dab;color:#fff}.Button--color--violet:hover{transition:color 0ms,background-color 0ms}.Button--color--violet:focus{transition:color .1s,background-color .1s}.Button--color--violet:hover,.Button--color--violet:focus{background-color:#7953cc;color:#fff}.Button--color--purple{transition:color 50ms,background-color 50ms;background-color:#8b2baa;color:#fff}.Button--color--purple:hover{transition:color 0ms,background-color 0ms}.Button--color--purple:focus{transition:color .1s,background-color .1s}.Button--color--purple:hover,.Button--color--purple:focus{background-color:#ad4fcd;color:#fff}.Button--color--pink{transition:color 50ms,background-color 50ms;background-color:#cf2082;color:#fff}.Button--color--pink:hover{transition:color 0ms,background-color 0ms}.Button--color--pink:focus{transition:color .1s,background-color .1s}.Button--color--pink:hover,.Button--color--pink:focus{background-color:#e257a5;color:#fff}.Button--color--brown{transition:color 50ms,background-color 50ms;background-color:#8c5836;color:#fff}.Button--color--brown:hover{transition:color 0ms,background-color 0ms}.Button--color--brown:focus{transition:color .1s,background-color .1s}.Button--color--brown:hover,.Button--color--brown:focus{background-color:#b47851;color:#fff}.Button--color--grey{transition:color 50ms,background-color 50ms;background-color:#646464;color:#fff}.Button--color--grey:hover{transition:color 0ms,background-color 0ms}.Button--color--grey:focus{transition:color .1s,background-color .1s}.Button--color--grey:hover,.Button--color--grey:focus{background-color:#868686;color:#fff}.Button--color--good{transition:color 50ms,background-color 50ms;background-color:#4d9121;color:#fff}.Button--color--good:hover{transition:color 0ms,background-color 0ms}.Button--color--good:focus{transition:color .1s,background-color .1s}.Button--color--good:hover,.Button--color--good:focus{background-color:#6cba39;color:#fff}.Button--color--average{transition:color 50ms,background-color 50ms;background-color:#cd7a0d;color:#fff}.Button--color--average:hover{transition:color 0ms,background-color 0ms}.Button--color--average:focus{transition:color .1s,background-color .1s}.Button--color--average:hover,.Button--color--average:focus{background-color:#ed9d35;color:#fff}.Button--color--bad{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.Button--color--bad:hover{transition:color 0ms,background-color 0ms}.Button--color--bad:focus{transition:color .1s,background-color .1s}.Button--color--bad:hover,.Button--color--bad:focus{background-color:#dc4848;color:#fff}.Button--color--label{transition:color 50ms,background-color 50ms;background-color:#657a94;color:#fff}.Button--color--label:hover{transition:color 0ms,background-color 0ms}.Button--color--label:focus{transition:color .1s,background-color .1s}.Button--color--label:hover,.Button--color--label:focus{background-color:#91a1b3;color:#fff}.Button--color--default{transition:color 50ms,background-color 50ms;background-color:#3e6189;color:#fff}.Button--color--default:hover{transition:color 0ms,background-color 0ms}.Button--color--default:focus{transition:color .1s,background-color .1s}.Button--color--default:hover,.Button--color--default:focus{background-color:#5c83b0;color:#fff}.Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#d9b804;color:#000}.Button--color--caution:hover{transition:color 0ms,background-color 0ms}.Button--color--caution:focus{transition:color .1s,background-color .1s}.Button--color--caution:hover,.Button--color--caution:focus{background-color:#f5d72e;color:#000}.Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.Button--color--danger:hover{transition:color 0ms,background-color 0ms}.Button--color--danger:focus{transition:color .1s,background-color .1s}.Button--color--danger:hover,.Button--color--danger:focus{background-color:#dc4848;color:#fff}.Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#202020;color:#fff;background-color:rgba(32,32,32,0);color:rgba(255,255,255,.5)}.Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.Button--color--transparent:focus{transition:color .1s,background-color .1s}.Button--color--transparent:hover,.Button--color--transparent:focus{background-color:#383838;color:#fff}.Button--disabled{background-color:#999!important}.Button--selected{transition:color 50ms,background-color 50ms;background-color:#1b9638;color:#fff}.Button--selected:hover{transition:color 0ms,background-color 0ms}.Button--selected:focus{transition:color .1s,background-color .1s}.Button--selected:hover,.Button--selected:focus{background-color:#32c154;color:#fff}.Button--flex{display:inline-flex;flex-direction:column}.Button--flex--fluid{width:100%}.Button--verticalAlignContent--top{justify-content:flex-start}.Button--verticalAlignContent--middle{justify-content:center}.Button--verticalAlignContent--bottom{justify-content:flex-end}.Button__content{display:block;align-self:stretch}.ColorBox{display:inline-block;width:1em;height:1em;line-height:1em;text-align:center}.Dimmer{display:flex;justify-content:center;align-items:center;position:absolute;top:0;bottom:0;left:0;right:0;background-color:rgba(0,0,0,.75);z-index:1}.Dropdown{position:relative}.Dropdown__control{position:relative;display:inline-block;font-family:Verdana,sans-serif;font-size:1em;width:8.3333333333em;line-height:1.4166666667em;-ms-user-select:none;user-select:none}.Dropdown__arrow-button{float:right;padding-left:.35em;width:1.2em;height:1.8333333333em;border-left:.0833333333em solid #000;border-left:.0833333333em solid rgba(0,0,0,.25)}.Dropdown__menu{position:absolute;overflow-y:auto;z-index:5;width:8.3333333333em;max-height:16.6666666667em;overflow-y:scroll;border-radius:0 0 .1666666667em .1666666667em;color:#fff;background-color:#000;background-color:rgba(0,0,0,.75)}.Dropdown__menu-noscroll{position:absolute;overflow-y:auto;z-index:5;width:8.3333333333em;max-height:16.6666666667em;border-radius:0 0 .1666666667em .1666666667em;color:#fff;background-color:#000;background-color:rgba(0,0,0,.75)}.Dropdown__menuentry{padding:.1666666667em .3333333333em;font-family:Verdana,sans-serif;font-size:1em;line-height:1.4166666667em;transition:background-color .1s ease-out}.Dropdown__menuentry:hover{background-color:rgba(255,255,255,.2);transition:background-color 0ms}.Dropdown__over{top:auto;bottom:100%}.Dropdown__selected-text{display:inline-block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;height:1.4166666667em;width:calc(100% - 1.2em)}.Flex{display:-ms-flexbox;display:flex}.Flex--inline{display:inline-flex}.Flex--iefix{display:block}.Flex--iefix.Flex--inline,.Flex__item--iefix{display:inline-block}.Flex--iefix--column>.Flex__item--iefix{display:block}.Knob{position:relative;font-size:1rem;width:2.6em;height:2.6em;margin:0 auto -.2em;cursor:n-resize}.Knob:after{content:".";color:rgba(0,0,0,0);line-height:2.5em}.Knob__circle{position:absolute;top:.1em;bottom:.1em;left:.1em;right:.1em;margin:.3em;background-color:#333;background-image:linear-gradient(to bottom,rgba(255,255,255,.15) 0%,rgba(255,255,255,0) 100%);border-radius:50%;box-shadow:0 .05em .5em rgba(0,0,0,.5)}.Knob__cursorBox{position:absolute;top:0;bottom:0;left:0;right:0}.Knob__cursor{position:relative;top:.05em;margin:0 auto;width:.2em;height:.8em;background-color:rgba(255,255,255,.9)}.Knob__popupValue{position:absolute;top:-2rem;right:50%;font-size:1rem;text-align:center;padding:.25rem .5rem;color:#fff;background-color:#000;transform:translate(50%);white-space:nowrap}.Knob__ring{position:absolute;top:0;bottom:0;left:0;right:0;padding:.1em}.Knob__ringTrackPivot{transform:rotate(135deg)}.Knob__ringTrack{fill:rgba(0,0,0,0);stroke:rgba(255,255,255,.1);stroke-width:8;stroke-linecap:round;stroke-dasharray:235.62}.Knob__ringFillPivot{transform:rotate(135deg)}.Knob--bipolar .Knob__ringFillPivot{transform:rotate(270deg)}.Knob__ringFill{fill:rgba(0,0,0,0);stroke:#6a96c9;stroke-width:8;stroke-linecap:round;stroke-dasharray:314.16;transition:stroke 50ms ease-out}.Knob--color--black .Knob__ringFill{stroke:#1a1a1a}.Knob--color--white .Knob__ringFill{stroke:#fff}.Knob--color--red .Knob__ringFill{stroke:#df3e3e}.Knob--color--orange .Knob__ringFill{stroke:#f37f33}.Knob--color--yellow .Knob__ringFill{stroke:#fbda21}.Knob--color--olive .Knob__ringFill{stroke:#cbe41c}.Knob--color--green .Knob__ringFill{stroke:#25ca4c}.Knob--color--teal .Knob__ringFill{stroke:#00d6cc}.Knob--color--blue .Knob__ringFill{stroke:#2e93de}.Knob--color--violet .Knob__ringFill{stroke:#7349cf}.Knob--color--purple .Knob__ringFill{stroke:#ad45d0}.Knob--color--pink .Knob__ringFill{stroke:#e34da1}.Knob--color--brown .Knob__ringFill{stroke:#b97447}.Knob--color--grey .Knob__ringFill{stroke:#848484}.Knob--color--good .Knob__ringFill{stroke:#68c22d}.Knob--color--average .Knob__ringFill{stroke:#f29a29}.Knob--color--bad .Knob__ringFill{stroke:#df3e3e}.Knob--color--label .Knob__ringFill{stroke:#8b9bb0}.LabeledList{display:table;width:100%;width:calc(100% + 1em);border-collapse:collapse;border-spacing:0;margin:-.25em -.5em 0;padding:0}.LabeledList__row{display:table-row}.LabeledList__row:last-child .LabeledList__cell{padding-bottom:0}.LabeledList__cell{display:table-cell;margin:0;padding:.25em .5em;border:0;text-align:left}.LabeledList__label--nowrap{width:1%;white-space:nowrap;min-width:5em}.LabeledList__buttons{width:.1%;white-space:nowrap;text-align:right;padding-top:.0833333333em;padding-bottom:0}.LabeledList__breakContents{word-break:break-all;word-wrap:break-word}.Modal{background-color:#202020;max-width:calc(100% - 1rem);padding:1rem}.NoticeBox{padding:.33em .5em;margin-bottom:.5em;box-shadow:none;font-weight:700;font-style:italic;color:#000;background-color:#bb9b68;background-image:repeating-linear-gradient(-45deg,transparent,transparent .8333333333em,rgba(0,0,0,.1) .8333333333em,rgba(0,0,0,.1) 1.6666666667em)}.NoticeBox--color--black{color:#fff;background-color:#000}.NoticeBox--color--white{color:#000;background-color:#b3b3b3}.NoticeBox--color--red{color:#fff;background-color:#701f1f}.NoticeBox--color--orange{color:#fff;background-color:#854114}.NoticeBox--color--yellow{color:#000;background-color:#83710d}.NoticeBox--color--olive{color:#000;background-color:#576015}.NoticeBox--color--green{color:#fff;background-color:#174e24}.NoticeBox--color--teal{color:#fff;background-color:#064845}.NoticeBox--color--blue{color:#fff;background-color:#1b4565}.NoticeBox--color--violet{color:#fff;background-color:#3b2864}.NoticeBox--color--purple{color:#fff;background-color:#542663}.NoticeBox--color--pink{color:#fff;background-color:#802257}.NoticeBox--color--brown{color:#fff;background-color:#4c3729}.NoticeBox--color--grey{color:#fff;background-color:#3e3e3e}.NoticeBox--color--good{color:#fff;background-color:#2e4b1a}.NoticeBox--color--average{color:#fff;background-color:#7b4e13}.NoticeBox--color--bad{color:#fff;background-color:#701f1f}.NoticeBox--color--label{color:#fff;background-color:#53565a}.NoticeBox--type--info{color:#fff;background-color:#235982}.NoticeBox--type--success{color:#fff;background-color:#1e662f}.NoticeBox--type--warning{color:#fff;background-color:#a95219}.NoticeBox--type--danger{color:#fff;background-color:#8f2828}.NumberInput{position:relative;display:inline-block;border:.0833333333em solid #88bfff;border:.0833333333em solid rgba(136,191,255,.75);border-radius:.16em;color:#88bfff;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;text-align:right;overflow:visible;cursor:n-resize}.NumberInput--fluid{display:block}.NumberInput__content{margin-left:.5em}.NumberInput__barContainer{position:absolute;top:.1666666667em;bottom:.1666666667em;left:.1666666667em}.NumberInput__bar{position:absolute;bottom:0;left:0;width:.25em;box-sizing:border-box;border-bottom:.0833333333em solid #88bfff;background-color:#88bfff}.NumberInput__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:#0a0a0a;color:#fff;text-align:right}.ProgressBar{display:inline-block;position:relative;width:100%;padding:0 .5em;border-radius:.16em;background-color:rgba(0,0,0,0);transition:border-color .9s ease-out}.ProgressBar__fill{position:absolute;top:-.5px;left:0;bottom:-.5px}.ProgressBar__fill--animated{transition:background-color .9s ease-out,width .9s ease-out}.ProgressBar__content{position:relative;line-height:1.4166666667em;width:100%;text-align:right}.ProgressBar--color--default{border:.0833333333em solid #3e6189}.ProgressBar--color--default .ProgressBar__fill{background-color:#3e6189}.ProgressBar--color--black{border:.0833333333em solid #000!important}.ProgressBar--color--black .ProgressBar__fill{background-color:#000}.ProgressBar--color--white{border:.0833333333em solid #d9d9d9!important}.ProgressBar--color--white .ProgressBar__fill{background-color:#d9d9d9}.ProgressBar--color--red{border:.0833333333em solid #bd2020!important}.ProgressBar--color--red .ProgressBar__fill{background-color:#bd2020}.ProgressBar--color--orange{border:.0833333333em solid #d95e0c!important}.ProgressBar--color--orange .ProgressBar__fill{background-color:#d95e0c}.ProgressBar--color--yellow{border:.0833333333em solid #d9b804!important}.ProgressBar--color--yellow .ProgressBar__fill{background-color:#d9b804}.ProgressBar--color--olive{border:.0833333333em solid #9aad14!important}.ProgressBar--color--olive .ProgressBar__fill{background-color:#9aad14}.ProgressBar--color--green{border:.0833333333em solid #1b9638!important}.ProgressBar--color--green .ProgressBar__fill{background-color:#1b9638}.ProgressBar--color--teal{border:.0833333333em solid #009a93!important}.ProgressBar--color--teal .ProgressBar__fill{background-color:#009a93}.ProgressBar--color--blue{border:.0833333333em solid #1c71b1!important}.ProgressBar--color--blue .ProgressBar__fill{background-color:#1c71b1}.ProgressBar--color--violet{border:.0833333333em solid #552dab!important}.ProgressBar--color--violet .ProgressBar__fill{background-color:#552dab}.ProgressBar--color--purple{border:.0833333333em solid #8b2baa!important}.ProgressBar--color--purple .ProgressBar__fill{background-color:#8b2baa}.ProgressBar--color--pink{border:.0833333333em solid #cf2082!important}.ProgressBar--color--pink .ProgressBar__fill{background-color:#cf2082}.ProgressBar--color--brown{border:.0833333333em solid #8c5836!important}.ProgressBar--color--brown .ProgressBar__fill{background-color:#8c5836}.ProgressBar--color--grey{border:.0833333333em solid #646464!important}.ProgressBar--color--grey .ProgressBar__fill{background-color:#646464}.ProgressBar--color--good{border:.0833333333em solid #4d9121!important}.ProgressBar--color--good .ProgressBar__fill{background-color:#4d9121}.ProgressBar--color--average{border:.0833333333em solid #cd7a0d!important}.ProgressBar--color--average .ProgressBar__fill{background-color:#cd7a0d}.ProgressBar--color--bad{border:.0833333333em solid #bd2020!important}.ProgressBar--color--bad .ProgressBar__fill{background-color:#bd2020}.ProgressBar--color--label{border:.0833333333em solid #657a94!important}.ProgressBar--color--label .ProgressBar__fill{background-color:#657a94}.Section{position:relative;margin-bottom:.5em;background-color:#131313;box-sizing:border-box}.Section:last-child{margin-bottom:0}.Section__title{position:relative;padding:.5em;border-bottom:.1666666667em solid #4972a1}.Section__titleText{font-size:1.1666666667em;font-weight:700;color:#fff}.Section__buttons{position:absolute;display:inline-block;right:.5em;margin-top:-.0833333333em}.Section__rest{position:relative}.Section__content{padding:.66em .5em}.Section--fitted>.Section__rest>.Section__content{padding:0}.Section--fill{display:flex;flex-direction:column;height:100%}.Section--fill>.Section__rest{flex-grow:1}.Section--fill>.Section__rest>.Section__content{height:100%}.Section--fill.Section--scrollable>.Section__rest>.Section__content{position:absolute;top:0;left:0;right:0;bottom:0}.Section--fill.Section--iefix{display:table!important;width:100%!important;height:100%!important;border-collapse:collapse;border-spacing:0}.Section--fill.Section--iefix>.Section__rest{display:table-row!important;height:100%!important}.Section--scrollable{overflow-x:hidden;overflow-y:hidden}.Section--scrollable>.Section__rest>.Section__content{overflow-y:scroll;overflow-x:hidden}.Section--scrollableHorizontal{overflow-x:hidden;overflow-y:hidden}.Section--scrollableHorizontal>.Section__rest>.Section__content{overflow-y:hidden;overflow-x:scroll}.Section--scrollable.Section--scrollableHorizontal{overflow-x:hidden;overflow-y:hidden}.Section--scrollable.Section--scrollableHorizontal>.Section__rest>.Section__content{overflow-y:scroll;overflow-x:scroll}.Section .Section{background-color:rgba(0,0,0,0);margin-left:-.5em;margin-right:-.5em}.Section .Section:first-child{margin-top:-.5em}.Section .Section .Section__titleText{font-size:1.0833333333em}.Section .Section .Section .Section__titleText{font-size:1em}.Section--flex{display:flex;flex-flow:column}.Section--flex .Section__content{overflow:auto;flex-grow:1}.Section__content--noTopPadding{padding-top:0}.Section__content--stretchContents{height:calc(100% - 3rem)}.Slider{cursor:e-resize}.Slider__cursorOffset{position:absolute;top:0;left:0;bottom:0;transition:none!important}.Slider__cursor{position:absolute;top:0;right:-.0833333333em;bottom:0;width:0;border-left:.1666666667em solid #fff}.Slider__pointer{position:absolute;right:-.4166666667em;bottom:-.3333333333em;width:0;height:0;border-left:.4166666667em solid rgba(0,0,0,0);border-right:.4166666667em solid rgba(0,0,0,0);border-bottom:.4166666667em solid #fff}.Slider__popupValue{position:absolute;right:0;top:-2rem;font-size:1rem;padding:.25rem .5rem;color:#fff;background-color:#000;transform:translate(50%);white-space:nowrap}.Divider--horizontal{margin:.5em 0}.Divider--horizontal:not(.Divider--hidden){border-top:.1666666667em solid rgba(255,255,255,.1)}.Divider--vertical{height:100%;margin:0 .5em}.Divider--vertical:not(.Divider--hidden){border-left:.1666666667em solid rgba(255,255,255,.1)}.Stack--fill{height:100%}.Stack--horizontal>.Stack__item{margin-left:.5em}.Stack--horizontal>.Stack__item:first-child{margin-left:0}.Stack--vertical>.Stack__item{margin-top:.5em}.Stack--vertical>.Stack__item:first-child{margin-top:0}.Stack--horizontal>.Stack__divider:not(.Stack__divider--hidden){border-left:.1666666667em solid rgba(255,255,255,.1)}.Stack--vertical>.Stack__divider:not(.Stack__divider--hidden){border-top:.1666666667em solid rgba(255,255,255,.1)}.Table{display:table;width:100%;border-collapse:collapse;border-spacing:0;margin:0}.Table--collapsing{width:auto}.Table__row{display:table-row}.Table__cell{display:table-cell;padding:0 .25em}.Table__cell:first-child{padding-left:0}.Table__cell:last-child{padding-right:0}.Table__row--header .Table__cell,.Table__cell--header{font-weight:700;padding-bottom:.5em}.Table__cell--collapsing{width:1%;white-space:nowrap}.Tabs{display:flex;align-items:stretch;overflow:hidden;background-color:#131313}.Tabs--fill{height:100%}.Section .Tabs{background-color:rgba(0,0,0,0)}.Section:not(.Section--fitted) .Tabs{margin:0 -.5em .5em}.Section:not(.Section--fitted) .Tabs:first-child{margin-top:-.5em}.Tabs--vertical{flex-direction:column;padding:.25em 0 .25em .25em}.Tabs--horizontal{margin-bottom:.5em;padding:.25em .25em 0}.Tabs--horizontal:last-child{margin-bottom:0}.Tabs__Tab{flex-grow:0}.Tabs--fluid .Tabs__Tab{flex-grow:1}.Tab{display:flex;align-items:center;justify-content:space-between;background-color:rgba(0,0,0,0);color:rgba(255,255,255,.5);min-height:2.25em;min-width:4em;transition:background-color 50ms ease-out}.Tab:not(.Tab--selected):hover{background-color:rgba(255,255,255,.075);transition:background-color 0}.Tab--selected{background-color:rgba(255,255,255,.125);color:#dfe7f0}.Tab__text{flex-grow:1;margin:0 .5em}.Tab__left{min-width:1.5em;text-align:center;margin-left:.25em}.Tab__right{min-width:1.5em;text-align:center;margin-right:.25em}.Tabs--horizontal .Tab{border-top:.1666666667em solid rgba(0,0,0,0);border-bottom:.1666666667em solid rgba(0,0,0,0);border-top-left-radius:.25em;border-top-right-radius:.25em}.Tabs--horizontal .Tab--selected{border-bottom:.1666666667em solid #d4dfec}.Tabs--vertical .Tab{min-height:2em;border-left:.1666666667em solid rgba(0,0,0,0);border-right:.1666666667em solid rgba(0,0,0,0);border-top-left-radius:.25em;border-bottom-left-radius:.25em}.Tabs--vertical .Tab--selected{border-right:.1666666667em solid #d4dfec}.Tab--selected.Tab--color--black{color:#535353}.Tabs--horizontal .Tab--selected.Tab--color--black{border-bottom-color:#1a1a1a}.Tabs--vertical .Tab--selected.Tab--color--black{border-right-color:#1a1a1a}.Tab--selected.Tab--color--white{color:#fff}.Tabs--horizontal .Tab--selected.Tab--color--white{border-bottom-color:#fff}.Tabs--vertical .Tab--selected.Tab--color--white{border-right-color:#fff}.Tab--selected.Tab--color--red{color:#e76e6e}.Tabs--horizontal .Tab--selected.Tab--color--red{border-bottom-color:#df3e3e}.Tabs--vertical .Tab--selected.Tab--color--red{border-right-color:#df3e3e}.Tab--selected.Tab--color--orange{color:#f69f66}.Tabs--horizontal .Tab--selected.Tab--color--orange{border-bottom-color:#f37f33}.Tabs--vertical .Tab--selected.Tab--color--orange{border-right-color:#f37f33}.Tab--selected.Tab--color--yellow{color:#fce358}.Tabs--horizontal .Tab--selected.Tab--color--yellow{border-bottom-color:#fbda21}.Tabs--vertical .Tab--selected.Tab--color--yellow{border-right-color:#fbda21}.Tab--selected.Tab--color--olive{color:#d8eb55}.Tabs--horizontal .Tab--selected.Tab--color--olive{border-bottom-color:#cbe41c}.Tabs--vertical .Tab--selected.Tab--color--olive{border-right-color:#cbe41c}.Tab--selected.Tab--color--green{color:#53e074}.Tabs--horizontal .Tab--selected.Tab--color--green{border-bottom-color:#25ca4c}.Tabs--vertical .Tab--selected.Tab--color--green{border-right-color:#25ca4c}.Tab--selected.Tab--color--teal{color:#21fff5}.Tabs--horizontal .Tab--selected.Tab--color--teal{border-bottom-color:#00d6cc}.Tabs--vertical .Tab--selected.Tab--color--teal{border-right-color:#00d6cc}.Tab--selected.Tab--color--blue{color:#62aee6}.Tabs--horizontal .Tab--selected.Tab--color--blue{border-bottom-color:#2e93de}.Tabs--vertical .Tab--selected.Tab--color--blue{border-right-color:#2e93de}.Tab--selected.Tab--color--violet{color:#9676db}.Tabs--horizontal .Tab--selected.Tab--color--violet{border-bottom-color:#7349cf}.Tabs--vertical .Tab--selected.Tab--color--violet{border-right-color:#7349cf}.Tab--selected.Tab--color--purple{color:#c274db}.Tabs--horizontal .Tab--selected.Tab--color--purple{border-bottom-color:#ad45d0}.Tabs--vertical .Tab--selected.Tab--color--purple{border-right-color:#ad45d0}.Tab--selected.Tab--color--pink{color:#ea79b9}.Tabs--horizontal .Tab--selected.Tab--color--pink{border-bottom-color:#e34da1}.Tabs--vertical .Tab--selected.Tab--color--pink{border-right-color:#e34da1}.Tab--selected.Tab--color--brown{color:#ca9775}.Tabs--horizontal .Tab--selected.Tab--color--brown{border-bottom-color:#b97447}.Tabs--vertical .Tab--selected.Tab--color--brown{border-right-color:#b97447}.Tab--selected.Tab--color--grey{color:#a3a3a3}.Tabs--horizontal .Tab--selected.Tab--color--grey{border-bottom-color:#848484}.Tabs--vertical .Tab--selected.Tab--color--grey{border-right-color:#848484}.Tab--selected.Tab--color--good{color:#8cd95a}.Tabs--horizontal .Tab--selected.Tab--color--good{border-bottom-color:#68c22d}.Tabs--vertical .Tab--selected.Tab--color--good{border-right-color:#68c22d}.Tab--selected.Tab--color--average{color:#f5b35e}.Tabs--horizontal .Tab--selected.Tab--color--average{border-bottom-color:#f29a29}.Tabs--vertical .Tab--selected.Tab--color--average{border-right-color:#f29a29}.Tab--selected.Tab--color--bad{color:#e76e6e}.Tabs--horizontal .Tab--selected.Tab--color--bad{border-bottom-color:#df3e3e}.Tabs--vertical .Tab--selected.Tab--color--bad{border-right-color:#df3e3e}.Tab--selected.Tab--color--label{color:#a8b4c4}.Tabs--horizontal .Tab--selected.Tab--color--label{border-bottom-color:#8b9bb0}.Tabs--vertical .Tab--selected.Tab--color--label{border-right-color:#8b9bb0}.Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #88bfff;border:.0833333333em solid rgba(136,191,255,.75);border-radius:.16em;color:#fff;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.Input--fluid{display:block;width:auto}.Input__baseline{display:inline-block;color:rgba(0,0,0,0)}.Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:rgba(0,0,0,0);color:#fff;color:inherit}.Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.Input--monospace .Input__input{font-family:Consolas,monospace}.TextArea{position:relative;display:inline-block;border:.0833333333em solid #88bfff;border:.0833333333em solid rgba(136,191,255,.75);border-radius:.16em;background-color:#0a0a0a;margin-right:.1666666667em;line-height:1.4166666667em;box-sizing:border-box;width:100%}.TextArea--fluid{display:block;width:auto;height:auto}.TextArea__textarea{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;height:100%;font-size:1em;line-height:1.4166666667em;min-height:1.4166666667em;margin:0;padding:0 .5em;font-family:inherit;background-color:rgba(0,0,0,0);color:inherit;box-sizing:border-box;word-wrap:break-word;overflow:hidden}.TextArea__textarea:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.Tooltip{z-index:2;padding:.5em .75em;pointer-events:none;text-align:left;transition:opacity .15s ease-out;background-color:#000;color:#fff;box-shadow:.1em .1em 1.25em -.1em rgba(0,0,0,.5);border-radius:.16em;max-width:20.8333333333em}.Chat{color:#abc6ec}.Chat__badge{display:inline-block;min-width:.5em;font-size:.7em;padding:.2em .3em;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#dc143c;border-radius:10px;transition:font-size .2s ease-out}.Chat__badge:before{content:"x"}.Chat__badge--animate{font-size:.9em;transition:font-size 0ms}.Chat__scrollButton{position:fixed;right:2em;bottom:1em}.Chat__reconnected{font-size:.85em;text-align:center;margin:1em 0 2em}.Chat__reconnected:before{content:"Reconnected";display:inline-block;border-radius:1em;padding:0 .7em;color:#db2828;background-color:#131313}.Chat__reconnected:after{content:"";display:block;margin-top:-.75em;border-bottom:.1666666667em solid #db2828}.Chat__highlight{color:#000}.Chat__highlight--restricted{color:#fff;background-color:#a00;font-weight:700}.ChatMessage{word-wrap:break-word}.ChatMessage--highlighted{position:relative;border-left:.1666666667em solid #fd4;padding-left:.5em}.ChatMessage--highlighted:after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;background-color:rgba(255,221,68,.1);pointer-events:none}.Ping{position:relative;padding:.125em .25em;border:.0833333333em solid rgba(140,140,140,.5);border-radius:.25em;width:3.75em;text-align:right}.Ping__indicator{content:"";position:absolute;top:.5em;left:.5em;width:.5em;height:.5em;background-color:#888;border-radius:.25em}.Notifications{position:absolute;bottom:1em;left:1em;right:2em}.Notification{color:#fff;background-color:#dc143c;padding:.5em;margin:1em 0}.Notification:first-child{margin-top:0}.Notification:last-child{margin-bottom:0}.Layout,.Layout *{scrollbar-base-color:#181818;scrollbar-face-color:#363636;scrollbar-3dlight-color:#202020;scrollbar-highlight-color:#202020;scrollbar-track-color:#181818;scrollbar-arrow-color:#909090;scrollbar-shadow-color:#363636}.Layout__content{position:absolute;top:0;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden}.Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.Layout__content--flexRow{display:flex;flex-flow:row}.Layout__content--flexColumn{display:flex;flex-flow:column}.Window{position:fixed;top:0;bottom:0;left:0;right:0;color:#fff;background-color:#202020;background-image:linear-gradient(to bottom,#202020 0%,#202020 100%)}.Window__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;height:2.6666666667rem}.Window__rest{position:fixed;top:32px;top:2.6666666667rem;bottom:0;left:0;right:0}.Window__contentPadding{margin:.5rem;height:100%;height:calc(100% - 1.01rem)}.Window__contentPadding:after{height:0}.Layout__content--scrollable .Window__contentPadding:after{display:block;content:"";height:.5rem}.Window__dimmer{position:fixed;top:0;bottom:0;left:0;right:0;background-color:rgba(56,56,56,.25);pointer-events:none}.Window__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;width:1.6666666667rem;height:20px;height:1.6666666667rem;cursor:se-resize}.Window__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;height:.5rem;cursor:s-resize}.Window__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;width:.25rem;cursor:e-resize}img{margin:0;padding:0;line-height:1;-ms-interpolation-mode:nearest-neighbor;image-rendering:pixelated}img.icon{height:1em;min-height:16px;width:auto;vertical-align:bottom}a{color:#397ea5}a.visited,a:visited{color:#7c00e6}a.popt{text-decoration:none}.popup{position:fixed;top:50%;left:50%;background:#ddd}.popup .close{position:absolute;background:#aaa;top:0;right:0;color:#333;text-decoration:none;z-index:2;padding:0 10px;height:30px;line-height:30px}.popup .close:hover{background:#999}.popup .head{background:#999;color:#ddd;padding:0 10px;height:30px;line-height:30px;text-transform:uppercase;font-size:.9em;font-weight:700;border-bottom:2px solid green}.popup input{border:1px solid #999;background:#fff;margin:0;padding:5px;outline:none;color:#333}.popup input[type=text]:hover,.popup input[type=text]:active,.popup input[type=text]:focus{border-color:green}.popup input[type=submit]{padding:5px 10px;background:#999;color:#ddd;text-transform:uppercase;font-size:.9em;font-weight:700}.popup input[type=submit]:hover,.popup input[type=submit]:focus,.popup input[type=submit]:active{background:#aaa;cursor:pointer}.changeFont{padding:10px}.changeFont a{display:block;text-decoration:none;padding:3px;color:#333}.changeFont a:hover{background:#ccc}.highlightPopup{padding:10px;text-align:center}.highlightPopup input[type=text]{display:block;width:215px;text-align:left;margin-top:5px}.highlightPopup input.highlightColor{background-color:#ff0}.highlightPopup input.highlightTermSubmit{margin-top:5px}.contextMenu{background-color:#ddd;position:fixed;margin:2px;width:150px}.contextMenu a{display:block;padding:2px 5px;text-decoration:none;color:#333}.contextMenu a:hover{background-color:#ccc}.filterMessages{padding:5px}.filterMessages div{padding:2px 0}.icon-stack{height:1em;line-height:1em;width:1em;vertical-align:middle;margin-top:-2px}.motd{color:#a4bad6;font-family:Verdana,sans-serif;white-space:normal}.motd h1,.motd h2,.motd h3,.motd h4,.motd h5,.motd h6{color:#a4bad6;text-decoration:underline}.motd a,.motd a:link,.motd a:visited,.motd a:active,.motd a:hover{color:#a4bad6}.bold,.name,.prefix,.ooc,.looc,.adminooc,.admin,.medal,.yell{font-weight:700}.italic,.italics{font-style:italic}.highlight{background:#ff0}h1,h2,h3,h4,h5,h6{color:#a4bad6;font-family:Georgia,Verdana,sans-serif}h1.alert,h2.alert{color:#a4bad6}em{font-style:normal;font-weight:700}.ooc{color:#cca300;font-weight:700}.ooc .elevated{color:#2e78d9}.ooc .moderator{color:#184880}.ooc .developer{color:#1b521f}.ooc .admin{color:#b82e00}.ooc .event_manager{color:#603}.ooc .aooc{color:#960018}img.text_tag{width:32px;height:10px;min-height:10px}img.icon{vertical-align:middle;max-height:1em}img.icon.bigicon{max-height:32px}.looc{color:#3a9696;font-weight:700}.rlooc{color:#3abb96;font-weight:700}.adminobserverooc{color:#09c;font-weight:700}.adminooc{color:#3d5bc3;font-weight:700}.adminsay{color:#ff4500;font-weight:700}.admin{color:#5975da;font-weight:700}.mentor_channel{color:olive;font-weight:700}.mod_channel{color:#735638;font-weight:700}.admin_channel{color:#9611d4;font-weight:700}.event_channel{color:#c39;font-weight:700}.name{font-weight:700}.psay,.pemote{color:#e300e4;font-style:italic}.deadsay{color:#e2c1ff}.binarysay{color:#1e90ff}.binarysay a{color:#0f0}.binarysay a:active,.binarysay a:visited{color:#8f8}.radio{color:#1ecc43}.sciradio{color:#c68cfa}.comradio{color:#57b8f0}.secradio{color:#dd3535}.medradio{color:#57f09e}.engradio{color:#fcdf03}.supradio{color:#b88646}.srvradio{color:#6ca729}.expradio{color:#8a8a8a}.syndradio{color:#8f4a4b}.gangradio{color:#ac2ea1}.centradio{color:#2681a5}.airadio{color:#d65d95}.redteamradio{color:#f44!important}.blueteamradio{color:#3434fd!important}.greenteamradio{color:#34fd34!important}.yellowteamradio{color:#fdfd34!important}.yell{font-weight:700}.alert,.valert{color:#d82020}.userdanger{color:#c51e1e;font-weight:700;font-size:185%}.bolddanger{color:#c51e1e;font-weight:700}.danger,.vdanger{color:#c51e1e}.warning,.vwarning{color:#c51e1e;font-style:italic}.alertwarning{color:red;font-weight:700}.boldwarning{color:#c51e1e;font-style:italic;font-weight:700}.announce,.boldannounce{color:#c51e1e;font-weight:700}.minorannounce{color:#c51e1e;font-weight:700;font-size:185%}.minoralert{color:#a4bad6;font-size:125%}.priorityannounce{color:#a4bad6;font-weight:700;font-size:225%}.prioritytitle{color:#6685f5;font-weight:700;font-size:185%}.priorityalert{color:#c51e1e;font-size:140%}.greenannounce{color:#059223;font-weight:700}.rose{color:#ff5050}.info{color:#9ab0ff}.notice,.vnotice{color:#6685f5}.tinynotice{color:#6685f5;font-size:85%}.tinynoticeital{color:#6685f5;font-style:italic;font-size:85%}.smallnotice{color:#6685f5;font-size:90%}.smallnoticeital{color:#6685f5;font-style:italic;font-size:90%}.bolditalic{font-style:italic;font-weight:700}.boldnotice{color:#6685f5;font-weight:700}.hear{color:#6685f5;font-style:italic}.adminnotice{color:#6685f5}.adminhelp{color:red;font-weight:700}.log_message{color:#386aff;font-weight:700}.unconscious{color:#a4bad6;font-weight:700}.suicide{color:#ff5050;font-style:italic}.green{color:#059223}.grey{color:#838383}.red{color:red}.blue{color:#215cff}.nicegreen{color:#059223}.boldnicegreen{color:#059223;font-weight:700}.blob{color:#ee4000}.blobannounce{color:#556b2f;font-weight:700;font-size:185%}.cult{color:#973e3b}.cultitalic{color:#973e3b;font-style:italic}.cultbold{color:#973e3b;font-style:italic;font-weight:700}.cultboldtalic,.cultlarge{color:#973e3b;font-weight:700;font-size:185%}.narsie{color:#973e3b;font-weight:700;font-size:925%}.narsiesmall{color:#973e3b;font-weight:700;font-size:370%}.colossus{color:#7f282a;font-size:310%}.hierophant{color:#b441ee;font-weight:700;font-style:italic}.hierophant_warning{color:#c56bf1;font-style:italic}.purple{color:#9956d3}.holoparasite{color:#88809c}.revennotice{color:#c099e2}.revenboldnotice{color:#c099e2;font-weight:700}.revenbignotice{color:#c099e2;font-weight:700;font-size:185%}.revenminor{color:#823abb}.revenwarning{color:#760fbb;font-style:italic}.revendanger{color:#760fbb;font-weight:700;font-size:185%}.deconversion_message{color:#a947ff;font-size:185%;font-style:italic}.ghostalert{color:#60f;font-style:italic;font-weight:700}.alien{color:#855d85}.noticealien{color:#059223}.alertalien{color:#059223;font-weight:700}.changeling{color:#b000b1;font-style:italic}.alertsyndie{color:red;font-size:185%;font-weight:700}.spiderbroodmother{color:#80f;font-weight:700;font-size:185%}.spiderbreacher{color:#e8b670;font-weight:700;font-size:140%}.spiderscout{color:#231d98;font-weight:700;font-size:120%}.interface{color:#750e75}.sans{font-family:Comic Sans MS,cursive,sans-serif}.papyrus{font-family:Papyrus,cursive,sans-serif}.robot{font-family:Courier New,cursive,sans-serif}.tape_recorder{color:red;font-family:Courier New,cursive,sans-serif}.command_headset{font-weight:700;font-size:160%}.small{font-size:60%}.big{font-size:185%}.reallybig{font-size:245%}.extremelybig{font-size:310%}.greentext{color:#059223;font-size:185%}.redtext{color:#c51e1e;font-size:185%}.clown{color:#ff70c1;font-size:160%;font-family:Comic Sans MS,cursive,sans-serif;font-weight:700}.singing{font-family:Trebuchet MS,cursive,sans-serif;font-style:italic}.his_grace{color:#15d512;font-family:Courier New,cursive,sans-serif;font-style:italic}.hypnophrase{color:#202020;font-weight:700;animation:hypnocolor 1.5s infinite;animation-direction:alternate}.phobia{color:#d00;font-weight:700;animation:phobia .75s infinite}.icon{height:1em;width:auto}.bigicon{font-size:2.5em}.hugeicon{font-size:5em}.memo{color:#638500;text-align:center}.memoedit{text-align:center;font-size:125%}.abductor{color:#c204c2;font-style:italic}.mind_control{color:#df3da9;font-size:100%;font-weight:700;font-style:italic}.slime{color:#00ced1}.drone{color:#848482}.monkey{color:#975032}.swarmer{color:#2c75ff}.resonate{color:#298f85}.upside_down{display:inline;-moz-transform:scale(-1,-1);-webkit-transform:scale(-1,-1);-o-transform:scale(-1,-1);-ms-transform:scale(-1,-1);transform:scale(-1)}.connectionClosed,.fatalError{background:red;color:#fff;padding:5px}.connectionClosed.restored{background:green}.internal.boldnshit{color:#3d5bc3;font-weight:700}.text-normal{font-weight:400;font-style:normal}.hidden{display:none;visibility:hidden}.ml-1{margin-left:1em}.ml-2{margin-left:2em}.ml-3{margin-left:3em}.examine_block{background:#1b1c1e;border:1px solid #a4bad6;margin:.5em;padding:.5em .75em}.tooltip{font-style:italic;border-bottom:1px dashed #fff}.major_announcement_title{font-size:175%;padding:0rem .5rem;line-height:100%;text-align:left;text-decoration:none;width:100%}.subheader_announcement_text{font-weight:700;padding:.25rem .5rem 0;line-height:100%;width:100%;height:100%;text-align:left;font-size:125%}.major_announcement_text{color:#eaeaea;background-color:#131313;font-weight:700;font-size:100%;text-align:left;padding:.5rem;width:100%;height:100%}.minor_announcement_title{font-weight:700;padding:0 .5rem;padding-top:0;line-height:100%;width:100%;height:100%;text-align:left;font-size:150%}.minor_announcement_text{background-color:#202020;color:#eaeaea;padding:.5rem;text-align:left;font-size:100%}.announcement_header{padding:.5rem 0;display:flex;flex-direction:column}.chat_alert_default{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#003045,#003045 10px,#00283a 10px,#00283a 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.chat_alert_default .major_announcement_title,.chat_alert_default .minor_announcement_title{color:#33d5ff}.chat_alert_default .subheader_announcement_text{color:#ff5297}.chat_alert_default .minor_announcement_text,.chat_alert_default .major_announcement_text{background-color:#001621}.chat_alert_green{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#004700,#004700 10px,#003d00 10px,#003d00 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.chat_alert_green .major_announcement_title,.chat_alert_green .minor_announcement_title{color:#00ff80}.chat_alert_green .subheader_announcement_text{color:#ff85b5}.chat_alert_green .minor_announcement_text,.chat_alert_green .major_announcement_text{background-color:#002400}.chat_alert_blue{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#003045,#003045 10px,#00283a 10px,#00283a 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.chat_alert_blue .major_announcement_title,.chat_alert_blue .minor_announcement_title{color:#33d5ff}.chat_alert_blue .subheader_announcement_text{color:#ff5297}.chat_alert_blue .minor_announcement_text,.chat_alert_blue .major_announcement_text{background-color:#001621}.chat_alert_pink{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#400025,#400025 10px,#30001b 10px,#30001b 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.chat_alert_pink .major_announcement_title,.chat_alert_pink .minor_announcement_title{color:#ff5297}.chat_alert_pink .subheader_announcement_text{color:#33d5ff}.chat_alert_pink .minor_announcement_text,.chat_alert_pink .major_announcement_text{background-color:#17000d}.chat_alert_yellow{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#4d4100,#4d4100 10px,#574a00 10px,#574a00 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.chat_alert_yellow .major_announcement_title,.chat_alert_yellow .minor_announcement_title{color:#fff4e0}.chat_alert_yellow .subheader_announcement_text{color:#33d5ff}.chat_alert_yellow .minor_announcement_text,.chat_alert_yellow .major_announcement_text{background-color:#3e3400}.chat_alert_orange{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#6b4200,#6b4200 10px,#593400 10px,#593400 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.chat_alert_orange .major_announcement_title,.chat_alert_orange .minor_announcement_title{color:#feefe7}.chat_alert_orange .subheader_announcement_text{color:#33d5ff}.chat_alert_orange .minor_announcement_text,.chat_alert_orange .major_announcement_text{background-color:#402500}.chat_alert_red{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#520000,#520000 10px,#420000 10px,#420000 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.chat_alert_red .major_announcement_title,.chat_alert_red .minor_announcement_title{color:#ff5297}.chat_alert_red .subheader_announcement_text{color:#33d5ff}.chat_alert_red .minor_announcement_text,.chat_alert_red .major_announcement_text{background-color:#290000}.chat_alert_purple{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#38003d,#38003d 10px,#2c0030 10px,#2c0030 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.chat_alert_purple .major_announcement_title,.chat_alert_purple .minor_announcement_title{color:#c7a1f7}.chat_alert_purple .subheader_announcement_text{color:#33d5ff}.chat_alert_purple .minor_announcement_text,.chat_alert_purple .major_announcement_text{background-color:#150017}.chat_alert_grey{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#292929,#292929 10px,#252525 10px,#252525 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.chat_alert_grey .major_announcement_title,.chat_alert_grey .minor_announcement_title{color:#ff5297}.chat_alert_grey .subheader_announcement_text{color:#33d5ff}.chat_alert_grey .minor_announcement_text,.chat_alert_grey .major_announcement_text{background-color:#181818}.tajaran{color:#803b56}.tajaran_signlang{color:#941c1c}.akhani{color:#ac398c}.skrell{color:#00b0b3}.skrellfar{color:#70fcff}.soghun{color:#50ba6c}.solcom{color:#6da6f0}.sergal{color:#07f}.birdsongc{color:#c90}.vulpkanin{color:#b97a57}.tavan{color:#f54298;font-family:Arial}.echosong{color:#826d8c}.enochian{color:#848a33;letter-spacing:-1pt;word-spacing:4pt;font-family:Lucida Sans Unicode,Lucida Grande,sans-serif}.daemon{color:#5e339e;letter-spacing:-1pt;word-spacing:0pt;font-family:Courier New,Courier,monospace}.drudakar{color:#bb2463;word-spacing:0pt;font-family:High Tower Text,monospace}.bug{color:#9e9e39}.vox{color:#a0a}.promethean{color:#a5a5a5;font-family:Comic Sans MS,Comic Sans,cursive}.zaddat{color:#941c1c}.rough{font-family:Trebuchet MS,cursive,sans-serif}.say_quote{font-family:Georgia,Verdana,sans-serif}.say_quote_italics{font-style:italic;font-family:Georgia,Verdana,sans-serif}.terminus{font-family:Times New Roman,Times,serif,sans-serif}.spacer{color:#9c660b}.teppi{color:#816540;word-spacing:4pt;font-family:Segoe Script Bold,Segoe Script,sans-serif,Verdana}.shadekin{color:#be3cc5;font-size:150%;font-weight:700;font-family:Gabriola,cursive,sans-serif}.theme-light .color-black{color:#000!important}.theme-light .color-white{color:#e6e6e6!important}.theme-light .color-red{color:#c82121!important}.theme-light .color-orange{color:#e6630d!important}.theme-light .color-yellow{color:#e5c304!important}.theme-light .color-olive{color:#a3b816!important}.theme-light .color-green{color:#1d9f3b!important}.theme-light .color-teal{color:#00a39c!important}.theme-light .color-blue{color:#1e78bb!important}.theme-light .color-violet{color:#5a30b5!important}.theme-light .color-purple{color:#932eb4!important}.theme-light .color-pink{color:#db228a!important}.theme-light .color-brown{color:#955d39!important}.theme-light .color-grey{color:#e6e6e6!important}.theme-light .color-good{color:#529923!important}.theme-light .color-average{color:#da810e!important}.theme-light .color-bad{color:#c82121!important}.theme-light .color-label{color:#353535!important}.theme-light .color-bg-black{background-color:#000!important}.theme-light .color-bg-white{background-color:#bfbfbf!important}.theme-light .color-bg-red{background-color:#a61c1c!important}.theme-light .color-bg-orange{background-color:#c0530b!important}.theme-light .color-bg-yellow{background-color:#bfa303!important}.theme-light .color-bg-olive{background-color:#889912!important}.theme-light .color-bg-green{background-color:#188532!important}.theme-light .color-bg-teal{background-color:#008882!important}.theme-light .color-bg-blue{background-color:#19649c!important}.theme-light .color-bg-violet{background-color:#4b2897!important}.theme-light .color-bg-purple{background-color:#7a2696!important}.theme-light .color-bg-pink{background-color:#b61d73!important}.theme-light .color-bg-brown{background-color:#7c4d2f!important}.theme-light .color-bg-grey{background-color:#bfbfbf!important}.theme-light .color-bg-good{background-color:#44801d!important}.theme-light .color-bg-average{background-color:#b56b0b!important}.theme-light .color-bg-bad{background-color:#a61c1c!important}.theme-light .color-bg-label{background-color:#2c2c2c!important}.theme-light .Tabs{display:flex;align-items:stretch;overflow:hidden;background-color:#fff}.theme-light .Tabs--fill{height:100%}.theme-light .Section .Tabs{background-color:rgba(0,0,0,0)}.theme-light .Section:not(.Section--fitted) .Tabs{margin:0 -.5em .5em}.theme-light .Section:not(.Section--fitted) .Tabs:first-child{margin-top:-.5em}.theme-light .Tabs--vertical{flex-direction:column;padding:.25em 0 .25em .25em}.theme-light .Tabs--horizontal{margin-bottom:.5em;padding:.25em .25em 0}.theme-light .Tabs--horizontal:last-child{margin-bottom:0}.theme-light .Tabs__Tab{flex-grow:0}.theme-light .Tabs--fluid .Tabs__Tab{flex-grow:1}.theme-light .Tab{display:flex;align-items:center;justify-content:space-between;background-color:rgba(0,0,0,0);color:rgba(0,0,0,.5);min-height:2.25em;min-width:4em;transition:background-color 50ms ease-out}.theme-light .Tab:not(.Tab--selected):hover{background-color:rgba(255,255,255,.075);transition:background-color 0}.theme-light .Tab--selected{background-color:rgba(255,255,255,.125);color:#404040}.theme-light .Tab__text{flex-grow:1;margin:0 .5em}.theme-light .Tab__left{min-width:1.5em;text-align:center;margin-left:.25em}.theme-light .Tab__right{min-width:1.5em;text-align:center;margin-right:.25em}.theme-light .Tabs--horizontal .Tab{border-top:.1666666667em solid rgba(0,0,0,0);border-bottom:.1666666667em solid rgba(0,0,0,0);border-top-left-radius:.25em;border-top-right-radius:.25em}.theme-light .Tabs--horizontal .Tab--selected{border-bottom:.1666666667em solid #000}.theme-light .Tabs--vertical .Tab{min-height:2em;border-left:.1666666667em solid rgba(0,0,0,0);border-right:.1666666667em solid rgba(0,0,0,0);border-top-left-radius:.25em;border-bottom-left-radius:.25em}.theme-light .Tabs--vertical .Tab--selected{border-right:.1666666667em solid #000}.theme-light .Tab--selected.Tab--color--black{color:#404040}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--black{border-bottom-color:#000}.theme-light .Tabs--vertical .Tab--selected.Tab--color--black{border-right-color:#000}.theme-light .Tab--selected.Tab--color--white{color:#ececec}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--white{border-bottom-color:#e6e6e6}.theme-light .Tabs--vertical .Tab--selected.Tab--color--white{border-right-color:#e6e6e6}.theme-light .Tab--selected.Tab--color--red{color:#e14d4d}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--red{border-bottom-color:#c82121}.theme-light .Tabs--vertical .Tab--selected.Tab--color--red{border-right-color:#c82121}.theme-light .Tab--selected.Tab--color--orange{color:#f48942}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--orange{border-bottom-color:#e6630d}.theme-light .Tabs--vertical .Tab--selected.Tab--color--orange{border-right-color:#e6630d}.theme-light .Tab--selected.Tab--color--yellow{color:#fcdd33}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--yellow{border-bottom-color:#e5c304}.theme-light .Tabs--vertical .Tab--selected.Tab--color--yellow{border-right-color:#e5c304}.theme-light .Tab--selected.Tab--color--olive{color:#d0e732}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--olive{border-bottom-color:#a3b816}.theme-light .Tabs--vertical .Tab--selected.Tab--color--olive{border-right-color:#a3b816}.theme-light .Tab--selected.Tab--color--green{color:#33da5a}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--green{border-bottom-color:#1d9f3b}.theme-light .Tabs--vertical .Tab--selected.Tab--color--green{border-right-color:#1d9f3b}.theme-light .Tab--selected.Tab--color--teal{color:#00faef}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--teal{border-bottom-color:#00a39c}.theme-light .Tabs--vertical .Tab--selected.Tab--color--teal{border-right-color:#00a39c}.theme-light .Tab--selected.Tab--color--blue{color:#419ce1}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--blue{border-bottom-color:#1e78bb}.theme-light .Tabs--vertical .Tab--selected.Tab--color--blue{border-right-color:#1e78bb}.theme-light .Tab--selected.Tab--color--violet{color:#7f58d3}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--violet{border-bottom-color:#5a30b5}.theme-light .Tabs--vertical .Tab--selected.Tab--color--violet{border-right-color:#5a30b5}.theme-light .Tab--selected.Tab--color--purple{color:#b455d4}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--purple{border-bottom-color:#932eb4}.theme-light .Tabs--vertical .Tab--selected.Tab--color--purple{border-right-color:#932eb4}.theme-light .Tab--selected.Tab--color--pink{color:#e558a7}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--pink{border-bottom-color:#db228a}.theme-light .Tabs--vertical .Tab--selected.Tab--color--pink{border-right-color:#db228a}.theme-light .Tab--selected.Tab--color--brown{color:#c0825a}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--brown{border-bottom-color:#955d39}.theme-light .Tabs--vertical .Tab--selected.Tab--color--brown{border-right-color:#955d39}.theme-light .Tab--selected.Tab--color--grey{color:#ececec}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--grey{border-bottom-color:#e6e6e6}.theme-light .Tabs--vertical .Tab--selected.Tab--color--grey{border-right-color:#e6e6e6}.theme-light .Tab--selected.Tab--color--good{color:#77d23b}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--good{border-bottom-color:#529923}.theme-light .Tabs--vertical .Tab--selected.Tab--color--good{border-right-color:#529923}.theme-light .Tab--selected.Tab--color--average{color:#f3a23a}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--average{border-bottom-color:#da810e}.theme-light .Tabs--vertical .Tab--selected.Tab--color--average{border-right-color:#da810e}.theme-light .Tab--selected.Tab--color--bad{color:#e14d4d}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--bad{border-bottom-color:#c82121}.theme-light .Tabs--vertical .Tab--selected.Tab--color--bad{border-right-color:#c82121}.theme-light .Tab--selected.Tab--color--label{color:#686868}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--label{border-bottom-color:#353535}.theme-light .Tabs--vertical .Tab--selected.Tab--color--label{border-right-color:#353535}.theme-light .Section{position:relative;margin-bottom:.5em;background-color:#fff;box-sizing:border-box}.theme-light .Section:last-child{margin-bottom:0}.theme-light .Section__title{position:relative;padding:.5em;border-bottom:.1666666667em solid #fff}.theme-light .Section__titleText{font-size:1.1666666667em;font-weight:700;color:#000}.theme-light .Section__buttons{position:absolute;display:inline-block;right:.5em;margin-top:-.0833333333em}.theme-light .Section__rest{position:relative}.theme-light .Section__content{padding:.66em .5em}.theme-light .Section--fitted>.Section__rest>.Section__content{padding:0}.theme-light .Section--fill{display:flex;flex-direction:column;height:100%}.theme-light .Section--fill>.Section__rest{flex-grow:1}.theme-light .Section--fill>.Section__rest>.Section__content{height:100%}.theme-light .Section--fill.Section--scrollable>.Section__rest>.Section__content{position:absolute;top:0;left:0;right:0;bottom:0}.theme-light .Section--fill.Section--iefix{display:table!important;width:100%!important;height:100%!important;border-collapse:collapse;border-spacing:0}.theme-light .Section--fill.Section--iefix>.Section__rest{display:table-row!important;height:100%!important}.theme-light .Section--scrollable{overflow-x:hidden;overflow-y:hidden}.theme-light .Section--scrollable>.Section__rest>.Section__content{overflow-y:scroll;overflow-x:hidden}.theme-light .Section--scrollableHorizontal{overflow-x:hidden;overflow-y:hidden}.theme-light .Section--scrollableHorizontal>.Section__rest>.Section__content{overflow-y:hidden;overflow-x:scroll}.theme-light .Section--scrollable.Section--scrollableHorizontal{overflow-x:hidden;overflow-y:hidden}.theme-light .Section--scrollable.Section--scrollableHorizontal>.Section__rest>.Section__content{overflow-y:scroll;overflow-x:scroll}.theme-light .Section .Section{background-color:rgba(0,0,0,0);margin-left:-.5em;margin-right:-.5em}.theme-light .Section .Section:first-child{margin-top:-.5em}.theme-light .Section .Section .Section__titleText{font-size:1.0833333333em}.theme-light .Section .Section .Section .Section__titleText{font-size:1em}.theme-light .Section--flex{display:flex;flex-flow:column}.theme-light .Section--flex .Section__content{overflow:auto;flex-grow:1}.theme-light .Section__content--noTopPadding{padding-top:0}.theme-light .Section__content--stretchContents{height:calc(100% - 3rem)}.theme-light .Button{position:relative;display:inline-block;line-height:1.667em;padding:0 .5em;margin-right:.1666666667em;white-space:nowrap;outline:0;border-radius:.16em;margin-bottom:.1666666667em;user-select:none;-ms-user-select:none}.theme-light .Button:last-child{margin-right:0;margin-bottom:0}.theme-light .Button .fa,.theme-light .Button .fas,.theme-light .Button .far{margin-left:-.25em;margin-right:-.25em;min-width:1.333em;text-align:center}.theme-light .Button--hasContent .fa,.theme-light .Button--hasContent .fas,.theme-light .Button--hasContent .far{margin-right:.25em}.theme-light .Button--hasContent.Button--iconPosition--right .fa,.theme-light .Button--hasContent.Button--iconPosition--right .fas,.theme-light .Button--hasContent.Button--iconPosition--right .far{margin-right:0;margin-left:3px}.theme-light .Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.theme-light .Button--fluid{display:block;margin-left:0;margin-right:0}.theme-light .Button--circular{border-radius:50%}.theme-light .Button--compact{padding:0 .25em;line-height:1.333em}.theme-light .Button--color--black{transition:color 50ms,background-color 50ms;background-color:#000;color:#fff}.theme-light .Button--color--black:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--black:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--black:hover,.theme-light .Button--color--black:focus{background-color:#131313;color:#fff}.theme-light .Button--color--white{transition:color 50ms,background-color 50ms;background-color:#bfbfbf;color:#000}.theme-light .Button--color--white:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--white:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--white:hover,.theme-light .Button--color--white:focus{background-color:#efefef;color:#000}.theme-light .Button--color--red{transition:color 50ms,background-color 50ms;background-color:#a61c1c;color:#fff}.theme-light .Button--color--red:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--red:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--red:hover,.theme-light .Button--color--red:focus{background-color:#d23333;color:#fff}.theme-light .Button--color--orange{transition:color 50ms,background-color 50ms;background-color:#c0530b;color:#fff}.theme-light .Button--color--orange:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--orange:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--orange:hover,.theme-light .Button--color--orange:focus{background-color:#ea7426;color:#fff}.theme-light .Button--color--yellow{transition:color 50ms,background-color 50ms;background-color:#bfa303;color:#fff}.theme-light .Button--color--yellow:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--yellow:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--yellow:hover,.theme-light .Button--color--yellow:focus{background-color:#efce17;color:#fff}.theme-light .Button--color--olive{transition:color 50ms,background-color 50ms;background-color:#889912;color:#fff}.theme-light .Button--color--olive:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--olive:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--olive:hover,.theme-light .Button--color--olive:focus{background-color:#afc328;color:#fff}.theme-light .Button--color--green{transition:color 50ms,background-color 50ms;background-color:#188532;color:#fff}.theme-light .Button--color--green:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--green:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--green:hover,.theme-light .Button--color--green:focus{background-color:#2fac4c;color:#fff}.theme-light .Button--color--teal{transition:color 50ms,background-color 50ms;background-color:#008882;color:#fff}.theme-light .Button--color--teal:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--teal:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--teal:hover,.theme-light .Button--color--teal:focus{background-color:#13afa9;color:#fff}.theme-light .Button--color--blue{transition:color 50ms,background-color 50ms;background-color:#19649c;color:#fff}.theme-light .Button--color--blue:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--blue:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--blue:hover,.theme-light .Button--color--blue:focus{background-color:#3086c7;color:#fff}.theme-light .Button--color--violet{transition:color 50ms,background-color 50ms;background-color:#4b2897;color:#fff}.theme-light .Button--color--violet:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--violet:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--violet:hover,.theme-light .Button--color--violet:focus{background-color:#6a41c1;color:#fff}.theme-light .Button--color--purple{transition:color 50ms,background-color 50ms;background-color:#7a2696;color:#fff}.theme-light .Button--color--purple:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--purple:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--purple:hover,.theme-light .Button--color--purple:focus{background-color:#a03fc0;color:#fff}.theme-light .Button--color--pink{transition:color 50ms,background-color 50ms;background-color:#b61d73;color:#fff}.theme-light .Button--color--pink:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--pink:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--pink:hover,.theme-light .Button--color--pink:focus{background-color:#da3f96;color:#fff}.theme-light .Button--color--brown{transition:color 50ms,background-color 50ms;background-color:#7c4d2f;color:#fff}.theme-light .Button--color--brown:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--brown:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--brown:hover,.theme-light .Button--color--brown:focus{background-color:#a26c49;color:#fff}.theme-light .Button--color--grey{transition:color 50ms,background-color 50ms;background-color:#bfbfbf;color:#000}.theme-light .Button--color--grey:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--grey:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--grey:hover,.theme-light .Button--color--grey:focus{background-color:#efefef;color:#000}.theme-light .Button--color--good{transition:color 50ms,background-color 50ms;background-color:#44801d;color:#fff}.theme-light .Button--color--good:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--good:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--good:hover,.theme-light .Button--color--good:focus{background-color:#62a635;color:#fff}.theme-light .Button--color--average{transition:color 50ms,background-color 50ms;background-color:#b56b0b;color:#fff}.theme-light .Button--color--average:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--average:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--average:hover,.theme-light .Button--color--average:focus{background-color:#e48f20;color:#fff}.theme-light .Button--color--bad{transition:color 50ms,background-color 50ms;background-color:#a61c1c;color:#fff}.theme-light .Button--color--bad:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--bad:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--bad:hover,.theme-light .Button--color--bad:focus{background-color:#d23333;color:#fff}.theme-light .Button--color--label{transition:color 50ms,background-color 50ms;background-color:#2c2c2c;color:#fff}.theme-light .Button--color--label:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--label:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--label:hover,.theme-light .Button--color--label:focus{background-color:#464646;color:#fff}.theme-light .Button--color--default{transition:color 50ms,background-color 50ms;background-color:#bbb;color:#000}.theme-light .Button--color--default:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--default:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--default:hover,.theme-light .Button--color--default:focus{background-color:#eaeaea;color:#000}.theme-light .Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#be6209;color:#fff}.theme-light .Button--color--caution:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--caution:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--caution:hover,.theme-light .Button--color--caution:focus{background-color:#ec8420;color:#fff}.theme-light .Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#9a9d00;color:#fff}.theme-light .Button--color--danger:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--danger:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--danger:hover,.theme-light .Button--color--danger:focus{background-color:#c4c813;color:#fff}.theme-light .Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#eee;color:#000;background-color:rgba(238,238,238,0);color:rgba(0,0,0,.5)}.theme-light .Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--transparent:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--transparent:hover,.theme-light .Button--color--transparent:focus{background-color:#fcfcfc;color:#000}.theme-light .Button--disabled{background-color:#363636!important}.theme-light .Button--selected{transition:color 50ms,background-color 50ms;background-color:#0668b8;color:#fff}.theme-light .Button--selected:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--selected:focus{transition:color .1s,background-color .1s}.theme-light .Button--selected:hover,.theme-light .Button--selected:focus{background-color:#1a8be7;color:#fff}.theme-light .Button--flex{display:inline-flex;flex-direction:column}.theme-light .Button--flex--fluid{width:100%}.theme-light .Button--verticalAlignContent--top{justify-content:flex-start}.theme-light .Button--verticalAlignContent--middle{justify-content:center}.theme-light .Button--verticalAlignContent--bottom{justify-content:flex-end}.theme-light .Button__content{display:block;align-self:stretch}.theme-light .NumberInput{position:relative;display:inline-block;border:.0833333333em solid #353535;border:.0833333333em solid rgba(53,53,53,.75);border-radius:.16em;color:#353535;background-color:#fff;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;text-align:right;overflow:visible;cursor:n-resize}.theme-light .NumberInput--fluid{display:block}.theme-light .NumberInput__content{margin-left:.5em}.theme-light .NumberInput__barContainer{position:absolute;top:.1666666667em;bottom:.1666666667em;left:.1666666667em}.theme-light .NumberInput__bar{position:absolute;bottom:0;left:0;width:.25em;box-sizing:border-box;border-bottom:.0833333333em solid #353535;background-color:#353535}.theme-light .NumberInput__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:#fff;color:#000;text-align:right}.theme-light .Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #353535;border:.0833333333em solid rgba(53,53,53,.75);border-radius:.16em;color:#000;background-color:#fff;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.theme-light .Input--fluid{display:block;width:auto}.theme-light .Input__baseline{display:inline-block;color:rgba(0,0,0,0)}.theme-light .Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:rgba(0,0,0,0);color:#000;color:inherit}.theme-light .Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.theme-light .Input--monospace .Input__input{font-family:Consolas,monospace}.theme-light .TextArea{position:relative;display:inline-block;border:.0833333333em solid #353535;border:.0833333333em solid rgba(53,53,53,.75);border-radius:.16em;background-color:#fff;margin-right:.1666666667em;line-height:1.4166666667em;box-sizing:border-box;width:100%}.theme-light .TextArea--fluid{display:block;width:auto;height:auto}.theme-light .TextArea__textarea{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;height:100%;font-size:1em;line-height:1.4166666667em;min-height:1.4166666667em;margin:0;padding:0 .5em;font-family:inherit;background-color:rgba(0,0,0,0);color:inherit;box-sizing:border-box;word-wrap:break-word;overflow:hidden}.theme-light .TextArea__textarea:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.theme-light .Knob{position:relative;font-size:1rem;width:2.6em;height:2.6em;margin:0 auto -.2em;cursor:n-resize}.theme-light .Knob:after{content:".";color:rgba(0,0,0,0);line-height:2.5em}.theme-light .Knob__circle{position:absolute;top:.1em;bottom:.1em;left:.1em;right:.1em;margin:.3em;background-color:#333;background-image:linear-gradient(to bottom,rgba(255,255,255,.15) 0%,rgba(255,255,255,0) 100%);border-radius:50%;box-shadow:0 .05em .5em rgba(0,0,0,.5)}.theme-light .Knob__cursorBox{position:absolute;top:0;bottom:0;left:0;right:0}.theme-light .Knob__cursor{position:relative;top:.05em;margin:0 auto;width:.2em;height:.8em;background-color:rgba(255,255,255,.9)}.theme-light .Knob__popupValue{position:absolute;top:-2rem;right:50%;font-size:1rem;text-align:center;padding:.25rem .5rem;color:#fff;background-color:#000;transform:translate(50%);white-space:nowrap}.theme-light .Knob__ring{position:absolute;top:0;bottom:0;left:0;right:0;padding:.1em}.theme-light .Knob__ringTrackPivot{transform:rotate(135deg)}.theme-light .Knob__ringTrack{fill:rgba(0,0,0,0);stroke:rgba(255,255,255,.1);stroke-width:8;stroke-linecap:round;stroke-dasharray:235.62}.theme-light .Knob__ringFillPivot{transform:rotate(135deg)}.theme-light .Knob--bipolar .Knob__ringFillPivot{transform:rotate(270deg)}.theme-light .Knob__ringFill{fill:rgba(0,0,0,0);stroke:#6a96c9;stroke-width:8;stroke-linecap:round;stroke-dasharray:314.16;transition:stroke 50ms ease-out}.theme-light .Knob--color--black .Knob__ringFill{stroke:#000}.theme-light .Knob--color--white .Knob__ringFill{stroke:#e6e6e6}.theme-light .Knob--color--red .Knob__ringFill{stroke:#c82121}.theme-light .Knob--color--orange .Knob__ringFill{stroke:#e6630d}.theme-light .Knob--color--yellow .Knob__ringFill{stroke:#e5c304}.theme-light .Knob--color--olive .Knob__ringFill{stroke:#a3b816}.theme-light .Knob--color--green .Knob__ringFill{stroke:#1d9f3b}.theme-light .Knob--color--teal .Knob__ringFill{stroke:#00a39c}.theme-light .Knob--color--blue .Knob__ringFill{stroke:#1e78bb}.theme-light .Knob--color--violet .Knob__ringFill{stroke:#5a30b5}.theme-light .Knob--color--purple .Knob__ringFill{stroke:#932eb4}.theme-light .Knob--color--pink .Knob__ringFill{stroke:#db228a}.theme-light .Knob--color--brown .Knob__ringFill{stroke:#955d39}.theme-light .Knob--color--grey .Knob__ringFill{stroke:#e6e6e6}.theme-light .Knob--color--good .Knob__ringFill{stroke:#529923}.theme-light .Knob--color--average .Knob__ringFill{stroke:#da810e}.theme-light .Knob--color--bad .Knob__ringFill{stroke:#c82121}.theme-light .Knob--color--label .Knob__ringFill{stroke:#353535}.theme-light .Slider{cursor:e-resize}.theme-light .Slider__cursorOffset{position:absolute;top:0;left:0;bottom:0;transition:none!important}.theme-light .Slider__cursor{position:absolute;top:0;right:-.0833333333em;bottom:0;width:0;border-left:.1666666667em solid #000}.theme-light .Slider__pointer{position:absolute;right:-.4166666667em;bottom:-.3333333333em;width:0;height:0;border-left:.4166666667em solid rgba(0,0,0,0);border-right:.4166666667em solid rgba(0,0,0,0);border-bottom:.4166666667em solid #000}.theme-light .Slider__popupValue{position:absolute;right:0;top:-2rem;font-size:1rem;padding:.25rem .5rem;color:#fff;background-color:#000;transform:translate(50%);white-space:nowrap}.theme-light .ProgressBar{display:inline-block;position:relative;width:100%;padding:0 .5em;border-radius:.16em;background-color:rgba(0,0,0,0);transition:border-color .9s ease-out}.theme-light .ProgressBar__fill{position:absolute;top:-.5px;left:0;bottom:-.5px}.theme-light .ProgressBar__fill--animated{transition:background-color .9s ease-out,width .9s ease-out}.theme-light .ProgressBar__content{position:relative;line-height:1.4166666667em;width:100%;text-align:right}.theme-light .ProgressBar--color--default{border:.0833333333em solid #bfbfbf}.theme-light .ProgressBar--color--default .ProgressBar__fill{background-color:#bfbfbf}.theme-light .ProgressBar--color--black{border:.0833333333em solid #000!important}.theme-light .ProgressBar--color--black .ProgressBar__fill{background-color:#000}.theme-light .ProgressBar--color--white{border:.0833333333em solid #bfbfbf!important}.theme-light .ProgressBar--color--white .ProgressBar__fill{background-color:#bfbfbf}.theme-light .ProgressBar--color--red{border:.0833333333em solid #a61c1c!important}.theme-light .ProgressBar--color--red .ProgressBar__fill{background-color:#a61c1c}.theme-light .ProgressBar--color--orange{border:.0833333333em solid #c0530b!important}.theme-light .ProgressBar--color--orange .ProgressBar__fill{background-color:#c0530b}.theme-light .ProgressBar--color--yellow{border:.0833333333em solid #bfa303!important}.theme-light .ProgressBar--color--yellow .ProgressBar__fill{background-color:#bfa303}.theme-light .ProgressBar--color--olive{border:.0833333333em solid #889912!important}.theme-light .ProgressBar--color--olive .ProgressBar__fill{background-color:#889912}.theme-light .ProgressBar--color--green{border:.0833333333em solid #188532!important}.theme-light .ProgressBar--color--green .ProgressBar__fill{background-color:#188532}.theme-light .ProgressBar--color--teal{border:.0833333333em solid #008882!important}.theme-light .ProgressBar--color--teal .ProgressBar__fill{background-color:#008882}.theme-light .ProgressBar--color--blue{border:.0833333333em solid #19649c!important}.theme-light .ProgressBar--color--blue .ProgressBar__fill{background-color:#19649c}.theme-light .ProgressBar--color--violet{border:.0833333333em solid #4b2897!important}.theme-light .ProgressBar--color--violet .ProgressBar__fill{background-color:#4b2897}.theme-light .ProgressBar--color--purple{border:.0833333333em solid #7a2696!important}.theme-light .ProgressBar--color--purple .ProgressBar__fill{background-color:#7a2696}.theme-light .ProgressBar--color--pink{border:.0833333333em solid #b61d73!important}.theme-light .ProgressBar--color--pink .ProgressBar__fill{background-color:#b61d73}.theme-light .ProgressBar--color--brown{border:.0833333333em solid #7c4d2f!important}.theme-light .ProgressBar--color--brown .ProgressBar__fill{background-color:#7c4d2f}.theme-light .ProgressBar--color--grey{border:.0833333333em solid #bfbfbf!important}.theme-light .ProgressBar--color--grey .ProgressBar__fill{background-color:#bfbfbf}.theme-light .ProgressBar--color--good{border:.0833333333em solid #44801d!important}.theme-light .ProgressBar--color--good .ProgressBar__fill{background-color:#44801d}.theme-light .ProgressBar--color--average{border:.0833333333em solid #b56b0b!important}.theme-light .ProgressBar--color--average .ProgressBar__fill{background-color:#b56b0b}.theme-light .ProgressBar--color--bad{border:.0833333333em solid #a61c1c!important}.theme-light .ProgressBar--color--bad .ProgressBar__fill{background-color:#a61c1c}.theme-light .ProgressBar--color--label{border:.0833333333em solid #2c2c2c!important}.theme-light .ProgressBar--color--label .ProgressBar__fill{background-color:#2c2c2c}.theme-light .Chat{color:#000}.theme-light .Chat__badge{display:inline-block;min-width:.5em;font-size:.7em;padding:.2em .3em;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#dc143c;border-radius:10px;transition:font-size .2s ease-out}.theme-light .Chat__badge:before{content:"x"}.theme-light .Chat__badge--animate{font-size:.9em;transition:font-size 0ms}.theme-light .Chat__scrollButton{position:fixed;right:2em;bottom:1em}.theme-light .Chat__reconnected{font-size:.85em;text-align:center;margin:1em 0 2em}.theme-light .Chat__reconnected:before{content:"Reconnected";display:inline-block;border-radius:1em;padding:0 .7em;color:#db2828;background-color:#fff}.theme-light .Chat__reconnected:after{content:"";display:block;margin-top:-.75em;border-bottom:.1666666667em solid #db2828}.theme-light .Chat__highlight{color:#000}.theme-light .Chat__highlight--restricted{color:#fff;background-color:#a00;font-weight:700}.theme-light .ChatMessage{word-wrap:break-word}.theme-light .ChatMessage--highlighted{position:relative;border-left:.1666666667em solid #fd4;padding-left:.5em}.theme-light .ChatMessage--highlighted:after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;background-color:rgba(255,221,68,.1);pointer-events:none}.theme-light .Layout,.theme-light .Layout *{scrollbar-base-color:#f2f2f2;scrollbar-face-color:#d6d6d6;scrollbar-3dlight-color:#eee;scrollbar-highlight-color:#eee;scrollbar-track-color:#f2f2f2;scrollbar-arrow-color:#777;scrollbar-shadow-color:#d6d6d6}.theme-light .Layout__content{position:absolute;top:0;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden}.theme-light .Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.theme-light .Layout__content--flexRow{display:flex;flex-flow:row}.theme-light .Layout__content--flexColumn{display:flex;flex-flow:column}.theme-light .Window{position:fixed;top:0;bottom:0;left:0;right:0;color:#000;background-color:#eee;background-image:linear-gradient(to bottom,#eee 0%,#eee 100%)}.theme-light .Window__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;height:2.6666666667rem}.theme-light .Window__rest{position:fixed;top:32px;top:2.6666666667rem;bottom:0;left:0;right:0}.theme-light .Window__contentPadding{margin:.5rem;height:100%;height:calc(100% - 1.01rem)}.theme-light .Window__contentPadding:after{height:0}.theme-light .Layout__content--scrollable .Window__contentPadding:after{display:block;content:"";height:.5rem}.theme-light .Window__dimmer{position:fixed;top:0;bottom:0;left:0;right:0;background-color:rgba(252,252,252,.25);pointer-events:none}.theme-light .Window__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;width:1.6666666667rem;height:20px;height:1.6666666667rem;cursor:se-resize}.theme-light .Window__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;height:.5rem;cursor:s-resize}.theme-light .Window__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;width:.25rem;cursor:e-resize}.theme-light .TitleBar{background-color:#eee;border-bottom:1px solid rgba(0,0,0,.25);box-shadow:0 2px 2px rgba(0,0,0,.1);box-shadow:0 .1666666667rem .1666666667rem rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.theme-light .TitleBar__clickable{color:rgba(0,0,0,.5);background-color:#eee;transition:color .25s ease-out,background-color .25s ease-out}.theme-light .TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.theme-light .TitleBar__title{position:absolute;display:inline-block;top:0;left:46px;left:3.8333333333rem;color:rgba(0,0,0,.75);font-size:14px;font-size:1.1666666667rem;line-height:31px;line-height:2.5833333333rem;white-space:nowrap;pointer-events:none}.theme-light .TitleBar__buttons{pointer-events:initial;display:inline-block;width:100%;margin-left:10px}.theme-light .TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px;height:2.6666666667rem}.theme-light .TitleBar__statusIcon{position:absolute;top:0;left:12px;left:1rem;transition:color .5s;font-size:20px;font-size:1.6666666667rem;line-height:32px!important;line-height:2.6666666667rem!important}.theme-light .TitleBar__close{position:absolute;top:-1px;right:0;width:45px;width:3.75rem;height:32px;height:2.6666666667rem;font-size:20px;font-size:1.6666666667rem;line-height:31px;line-height:2.5833333333rem;text-align:center}.theme-light .TitleBar__devBuildIndicator{position:absolute;top:6px;top:.5rem;right:52px;right:4.3333333333rem;min-width:20px;min-width:1.6666666667rem;padding:2px 4px;padding:.1666666667rem .3333333333rem;background-color:rgba(91,170,39,.75);color:#fff;text-align:center}.theme-light html,.theme-light body{padding:0;margin:0;height:100%;color:#000}.theme-light body{background:#fff;font-family:Verdana,sans-serif;font-size:13px;line-height:1.2;overflow-x:hidden;overflow-y:scroll;word-wrap:break-word}.theme-light img{margin:0;padding:0;line-height:1;-ms-interpolation-mode:nearest-neighbor;image-rendering:pixelated}.theme-light img.icon{height:1em;min-height:16px;width:auto;vertical-align:bottom}.theme-light a{color:#00f}.theme-light a.visited,.theme-light a:visited{color:#f0f}.theme-light a.popt{text-decoration:none}.theme-light .popup{position:fixed;top:50%;left:50%;background:#ddd}.theme-light .popup .close{position:absolute;background:#aaa;top:0;right:0;color:#333;text-decoration:none;z-index:2;padding:0 10px;height:30px;line-height:30px}.theme-light .popup .close:hover{background:#999}.theme-light .popup .head{background:#999;color:#ddd;padding:0 10px;height:30px;line-height:30px;text-transform:uppercase;font-size:.9em;font-weight:700;border-bottom:2px solid green}.theme-light .popup input{border:1px solid #999;background:#fff;margin:0;padding:5px;outline:none;color:#333}.theme-light .popup input[type=text]:hover,.theme-light .popup input[type=text]:active,.theme-light .popup input[type=text]:focus{border-color:green}.theme-light .popup input[type=submit]{padding:5px 10px;background:#999;color:#ddd;text-transform:uppercase;font-size:.9em;font-weight:700}.theme-light .popup input[type=submit]:hover,.theme-light .popup input[type=submit]:focus,.theme-light .popup input[type=submit]:active{background:#aaa;cursor:pointer}.theme-light .changeFont{padding:10px}.theme-light .changeFont a{display:block;text-decoration:none;padding:3px;color:#333}.theme-light .changeFont a:hover{background:#ccc}.theme-light .highlightPopup{padding:10px;text-align:center}.theme-light .highlightPopup input[type=text]{display:block;width:215px;text-align:left;margin-top:5px}.theme-light .highlightPopup input.highlightColor{background-color:#ff0}.theme-light .highlightPopup input.highlightTermSubmit{margin-top:5px}.theme-light .contextMenu{background-color:#ddd;position:fixed;margin:2px;width:150px}.theme-light .contextMenu a{display:block;padding:2px 5px;text-decoration:none;color:#333}.theme-light .contextMenu a:hover{background-color:#ccc}.theme-light .filterMessages{padding:5px}.theme-light .filterMessages div{padding:2px 0}.theme-light .icon-stack{height:1em;line-height:1em;width:1em;vertical-align:middle;margin-top:-2px}.theme-light .motd{color:#638500;font-family:Verdana,sans-serif;white-space:normal}.theme-light .motd h1,.theme-light .motd h2,.theme-light .motd h3,.theme-light .motd h4,.theme-light .motd h5,.theme-light .motd h6{color:#638500;text-decoration:underline}.theme-light .motd a,.theme-light .motd a:link,.theme-light .motd a:visited,.theme-light .motd a:active,.theme-light .motd a:hover{color:#638500}.theme-light .bold,.theme-light .name,.theme-light .prefix,.theme-light .ooc,.theme-light .looc,.theme-light .adminooc,.theme-light .admin,.theme-light .medal,.theme-light .yell{font-weight:700}.theme-light .italic,.theme-light .italics{font-style:italic}.theme-light .highlight{background:#ff0}.theme-light h1,.theme-light h2,.theme-light h3,.theme-light h4,.theme-light h5,.theme-light h6{color:#00f;font-family:Georgia,Verdana,sans-serif}.theme-light em{font-style:normal;font-weight:700}.theme-light .ooc{color:#002eb8;font-weight:700}.theme-light .ooc .elevated{color:#2e78d9}.theme-light .ooc .moderator{color:#184880}.theme-light .ooc .developer{color:#1b521f}.theme-light .ooc .admin{color:#b82e00}.theme-light .ooc .event_manager{color:#603}.theme-light .ooc .aooc{color:#960018}.theme-light img.text_tag{width:32px;height:10px;min-height:10px}.theme-light img.icon{vertical-align:middle;max-height:1em}.theme-light img.icon.bigicon{max-height:32px}.theme-light .looc{color:#3a9696;font-weight:700}.theme-light .rlooc{color:#3abb96;font-weight:700}.theme-light .adminobserverooc{color:#09c;font-weight:700}.theme-light .adminooc{color:#700038;font-weight:700}.theme-light .adminsay{color:#ff4500;font-weight:700}.theme-light .admin{color:#4473ff;font-weight:700}.theme-light .mentor_channel{color:olive;font-weight:700}.theme-light .mod_channel{color:#735638;font-weight:700}.theme-light .admin_channel{color:#9611d4;font-weight:700}.theme-light .event_channel{color:#c39;font-weight:700}.theme-light .name{font-weight:700}.theme-light .psay,.theme-light .pemote{color:purple;font-style:italic}.theme-light .deadsay{color:#5c00e6}.theme-light .binarysay{color:#20c20e;background-color:#000;display:block}.theme-light .binarysay a{color:#0f0}.theme-light .binarysay a:active,.theme-light .binarysay a:visited{color:#8f8}.theme-light .radio{color:green}.theme-light .sciradio{color:#939}.theme-light .comradio{color:#337296}.theme-light .secradio{color:#a30000}.theme-light .medradio{color:#339661}.theme-light .engradio{color:#948f02}.theme-light .supradio{color:#a8732b}.theme-light .srvradio{color:#6eaa2c}.theme-light .expradio{color:#555}.theme-light .syndradio{color:#6d3f40}.theme-light .gangradio{color:#ac2ea1}.theme-light .centradio{color:#686868}.theme-light .airadio{color:#f0f}.theme-light .redteamradio{color:red!important}.theme-light .blueteamradio{color:#00f!important}.theme-light .greenteamradio{color:#0f0!important}.theme-light .yellowteamradio{color:#d1ba22!important}.theme-light .yell{font-weight:700}.theme-light .alert,.theme-light .valert{color:red}.theme-light h1.alert,.theme-light h2.alert{color:#000}.theme-light .userdanger{color:red;font-weight:700;font-size:185%}.theme-light .bolddanger{color:red;font-weight:700}.theme-light .danger,.theme-light .vdanger{color:red}.theme-light .tinydanger{color:red;font-size:85%}.theme-light .smalldanger{color:red;font-size:90%}.theme-light .warning,.theme-light .vwarning{color:red;font-style:italic}.theme-light .alertwarning{color:red;font-weight:700}.theme-light .boldwarning{color:red;font-style:italic;font-weight:700}.theme-light .announce{color:#228b22;font-weight:700}.theme-light .boldannounce{color:red;font-weight:700}.theme-light .minorannounce{color:red;font-weight:700;font-size:185%}.theme-light .minoralert{color:#000;font-size:125%}.theme-light .priorityannounce{color:#000;font-weight:700;font-size:225%}.theme-light .prioritytitle{color:#00f;font-weight:700;font-size:185%}.theme-light .priorityalert{color:red;font-size:140%}.theme-light .greenannounce{color:#0f0;font-weight:700}.theme-light .rose{color:#ff5050}.theme-light .info{color:#00c}.theme-light .notice,.theme-light .vnotice{color:#009}.theme-light .tinynotice{color:#009;font-size:85%}.theme-light .tinynoticeital{color:#009;font-style:italic;font-size:85%}.theme-light .smallnotice{color:#009;font-size:90%}.theme-light .smallnoticeital{color:#009;font-style:italic;font-size:90%}.theme-light .boldnotice{color:#009;font-weight:700}.theme-light .hear{color:#009;font-style:italic}.theme-light .adminnotice{color:#00f}.theme-light .adminhelp{color:red;font-weight:700}.theme-light .log_message{color:#386aff;font-weight:700}.theme-light .unconscious{color:#00f;font-weight:700}.theme-light .suicide{color:#ff5050;font-style:italic}.theme-light .green{color:#03ff39}.theme-light .grey{color:#838383}.theme-light .red{color:red}.theme-light .blue{color:#00f}.theme-light .nicegreen{color:#14a833}.theme-light .boldnicegreen{color:#14a833;font-weight:700}.theme-light .cult{color:#973e3b}.theme-light .cultitalic{color:#973e3b;font-style:italic}.theme-light .cultbold{color:#973e3b;font-style:italic;font-weight:700}.theme-light .cultboldtalic,.theme-light .cultlarge{color:#973e3b;font-weight:700;font-size:185%}.theme-light .blob{color:#ee4000}.theme-light .blobannounce{color:#323f1c;font-weight:700;font-size:185%}.theme-light .narsie{color:#973e3b;font-weight:700;font-size:925%}.theme-light .narsiesmall{color:#973e3b;font-weight:700;font-size:370%}.theme-light .colossus{color:#7f282a;font-size:310%}.theme-light .hierophant{color:#609;font-weight:700;font-style:italic}.theme-light .hierophant_warning{color:#609;font-style:italic}.theme-light .purple{color:#5e2d79}.theme-light .holoparasite{color:#35333a}.theme-light .revennotice{color:#1d2953}.theme-light .revenboldnotice{color:#1d2953;font-weight:700}.theme-light .revenbignotice{color:#1d2953;font-weight:700;font-size:185%}.theme-light .revenminor{color:#823abb}.theme-light .revenwarning{color:#760fbb;font-style:italic}.theme-light .revendanger{color:#760fbb;font-weight:700;font-size:185%}.theme-light .deconversion_message{color:#5000a0;font-size:185%;font-style:italic}.theme-light .ghostalert{color:#5c00e6;font-style:italic;font-weight:700}.theme-light .alien{color:#543354}.theme-light .noticealien{color:#00c000}.theme-light .alertalien{color:#00c000;font-weight:700}.theme-light .changeling{color:purple;font-style:italic}.theme-light .alertsyndie{color:red;font-size:185%;font-weight:700}.theme-light .spiderbroodmother{color:#4d004d;font-weight:700;font-size:185%}.theme-light .spiderbreacher{color:#804b02;font-weight:700;font-size:140%}.theme-light .spiderscout{color:#0c0674;font-weight:700;font-size:120%}.theme-light .interface{color:#303}.theme-light .sans{font-family:Comic Sans MS,cursive,sans-serif}.theme-light .papyrus{font-family:Papyrus,cursive,sans-serif}.theme-light .robot{font-family:Courier New,cursive,sans-serif}.theme-light .tape_recorder{color:maroon;font-family:Courier New,cursive,sans-serif}.theme-light .command_headset{font-weight:700;font-size:160%}.theme-light .small{font-size:60%}.theme-light .big{font-size:185%}.theme-light .reallybig{font-size:245%}.theme-light .extremelybig{font-size:310%}.theme-light .greentext{color:#0f0;font-size:185%}.theme-light .redtext{color:red;font-size:185%}.theme-light .clown{color:#ff69bf;font-size:160%;font-family:Comic Sans MS,cursive,sans-serif;font-weight:700}.theme-light .singing{font-family:Trebuchet MS,cursive,sans-serif;font-style:italic}.theme-light .his_grace{color:#15d512;font-family:Courier New,cursive,sans-serif;font-style:italic}.theme-light .hypnophrase{color:#0d0d0d;font-weight:700;animation:hypnocolor 1.5s infinite;animation-direction:alternate}@keyframes hypnocolor{0%{color:#0d0d0d}25%{color:#410194}50%{color:#7f17d8}75%{color:#410194}to{color:#3bb5d3}}.theme-light .phobia{color:#d00;font-weight:700;animation:phobia .75s infinite}@keyframes phobia{0%{color:#0d0d0d}50%{color:#d00}to{color:#0d0d0d}}.theme-light .icon{height:1em;width:auto}.theme-light .bigicon{font-size:2.5em}.theme-light .hugeicon{font-size:5em}.theme-light .memo{color:#638500;text-align:center}.theme-light .memoedit{text-align:center;font-size:125%}.theme-light .abductor{color:purple;font-style:italic}.theme-light .mind_control{color:#a00d6f;font-size:100%;font-weight:700;font-style:italic}.theme-light .slime{color:#00ced1}.theme-light .drone{color:#848482}.theme-light .monkey{color:#975032}.theme-light .swarmer{color:#2c75ff}.theme-light .resonate{color:#298f85}.theme-light .upside_down{display:inline;-moz-transform:scale(-1,-1);-webkit-transform:scale(-1,-1);-o-transform:scale(-1,-1);-ms-transform:scale(-1,-1);transform:scale(-1)}.theme-light .connectionClosed,.theme-light .fatalError{background:red;color:#fff;padding:5px}.theme-light .connectionClosed.restored{background:green}.theme-light .internal.boldnshit{color:#00f;font-weight:700}.theme-light .text-normal{font-weight:400;font-style:normal}.theme-light .hidden{display:none;visibility:hidden}.theme-light .ml-1{margin-left:1em}.theme-light .ml-2{margin-left:2em}.theme-light .ml-3{margin-left:3em}.theme-light .examine_block{background:#f2f7fa;border:1px solid #111a27;margin:.5em;padding:.5em .75em}.theme-light .tooltip{font-style:italic;border-bottom:1px dashed #000}.theme-light .major_announcement_title{font-size:175%;padding:0rem .5rem;line-height:100%;text-align:left;text-decoration:none;width:100%}.theme-light .subheader_announcement_text{font-weight:700;padding:.25rem .5rem 0;line-height:100%;width:100%;height:100%;text-align:left;font-size:125%}.theme-light .major_announcement_text{color:#131313;background-color:#eaeaea;font-weight:700;font-size:100%;text-align:left;padding:.5rem;width:100%;height:100%}.theme-light .minor_announcement_title{font-weight:700;padding:0 .5rem;padding-top:0;line-height:100%;width:100%;height:100%;text-align:left;font-size:150%}.theme-light .minor_announcement_text{background-color:#eaeaea;color:#202020;padding:.5rem;text-align:left;font-size:100%}.theme-light .announcement_header{padding:.5rem 0;display:flex;flex-direction:column}.theme-light .chat_alert_default{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#bdc8ff,#bdc8ff 10px,#b3bfff 10px,#b3bfff 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.theme-light .chat_alert_default .major_announcement_title,.theme-light .chat_alert_default .minor_announcement_title{color:#003061}.theme-light .chat_alert_default .subheader_announcement_text{color:#6b0020}.theme-light .chat_alert_default .minor_announcement_text,.theme-light .chat_alert_default .major_announcement_text{background-color:#d7ddff}.theme-light .chat_alert_green{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#bdffbd,#bdffbd 10px,#adffad 10px,#adffad 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.theme-light .chat_alert_green .major_announcement_title,.theme-light .chat_alert_green .minor_announcement_title{color:#005229}.theme-light .chat_alert_green .subheader_announcement_text{color:#6b0020}.theme-light .chat_alert_green .minor_announcement_text,.theme-light .chat_alert_green .major_announcement_text{background-color:#d7ffd7}.theme-light .chat_alert_blue{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#bdc8ff,#bdc8ff 10px,#b3bfff 10px,#b3bfff 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.theme-light .chat_alert_blue .major_announcement_title,.theme-light .chat_alert_blue .minor_announcement_title{color:#003061}.theme-light .chat_alert_blue .subheader_announcement_text{color:#6b0020}.theme-light .chat_alert_blue .minor_announcement_text,.theme-light .chat_alert_blue .major_announcement_text{background-color:#d7ddff}.theme-light .chat_alert_pink{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#ffc2e5,#ffc2e5 10px,#ffb3df 10px,#ffb3df 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.theme-light .chat_alert_pink .major_announcement_title,.theme-light .chat_alert_pink .minor_announcement_title{color:#800033}.theme-light .chat_alert_pink .subheader_announcement_text{color:#002c85}.theme-light .chat_alert_pink .minor_announcement_text,.theme-light .chat_alert_pink .major_announcement_text{background-color:#ffdcf0}.theme-light .chat_alert_yellow{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#fff5c2,#fff5c2 10px,#fff3b3 10px,#fff3b3 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.theme-light .chat_alert_yellow .major_announcement_title,.theme-light .chat_alert_yellow .minor_announcement_title{color:#754900}.theme-light .chat_alert_yellow .subheader_announcement_text{color:#002c85}.theme-light .chat_alert_yellow .minor_announcement_text,.theme-light .chat_alert_yellow .major_announcement_text{background-color:#fff9dc}.theme-light .chat_alert_orange{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#ffe8c2,#ffe8c2 10px,#ffe2b3 10px,#ffe2b3 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.theme-light .chat_alert_orange .major_announcement_title,.theme-light .chat_alert_orange .minor_announcement_title{color:#823208}.theme-light .chat_alert_orange .subheader_announcement_text{color:#002c85}.theme-light .chat_alert_orange .minor_announcement_text,.theme-light .chat_alert_orange .major_announcement_text{background-color:#fff2dc}.theme-light .chat_alert_red{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#ffc2c2,#ffc2c2 10px,#ffb3b3 10px,#ffb3b3 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.theme-light .chat_alert_red .major_announcement_title,.theme-light .chat_alert_red .minor_announcement_title{color:#800029}.theme-light .chat_alert_red .subheader_announcement_text{color:#002c85}.theme-light .chat_alert_red .minor_announcement_text,.theme-light .chat_alert_red .major_announcement_text{background-color:#ffdcdc}.theme-light .chat_alert_purple{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#fbd1ff,#fbd1ff 10px,#fac2ff 10px,#fac2ff 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.theme-light .chat_alert_purple .major_announcement_title,.theme-light .chat_alert_purple .minor_announcement_title{color:#450d8c}.theme-light .chat_alert_purple .subheader_announcement_text{color:#002c85}.theme-light .chat_alert_purple .minor_announcement_text,.theme-light .chat_alert_purple .major_announcement_text{background-color:#fdebff}.theme-light .chat_alert_grey{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#ebebeb,#ebebeb 10px,#e3e3e3 10px,#e3e3e3 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.theme-light .chat_alert_grey .major_announcement_title,.theme-light .chat_alert_grey .minor_announcement_title{color:#800033}.theme-light .chat_alert_grey .subheader_announcement_text{color:#002c85}.theme-light .chat_alert_grey .minor_announcement_text,.theme-light .chat_alert_grey .major_announcement_text{background-color:#f8f8f8}.theme-light .tajaran{color:#803b56}.theme-light .tajaran_signlang{color:#941c1c}.theme-light .akhani{color:#ac398c}.theme-light .skrell{color:#00b0b3}.theme-light .skrellfar{color:#70fcff}.theme-light .soghun{color:#50ba6c}.theme-light .solcom{color:#3333ce}.theme-light .sergal{color:#07f}.theme-light .birdsongc{color:#c90}.theme-light .vulpkanin{color:#b97a57}.theme-light .tavan{color:#f54298;font-family:Arial}.theme-light .echosong{color:#826d8c}.theme-light .enochian{color:#848a33;letter-spacing:-1pt;word-spacing:4pt;font-family:Lucida Sans Unicode,Lucida Grande,sans-serif}.theme-light .daemon{color:#5e339e;letter-spacing:-1pt;word-spacing:0pt;font-family:Courier New,Courier,monospace}.theme-light .drudakar{color:#bb2463;word-spacing:0pt;font-family:High Tower Text,monospace}.theme-light .bug{color:#9e9e39}.theme-light .vox{color:#a0a}.theme-light .promethean{color:#5a5a5a;font-family:Comic Sans MS,Comic Sans,cursive}.theme-light .zaddat{color:#941c1c}.theme-light .rough{font-family:Trebuchet MS,cursive,sans-serif}.theme-light .say_quote{font-family:Georgia,Verdana,sans-serif}.theme-light .say_quote_italics{font-style:italic;font-family:Georgia,Verdana,sans-serif}.theme-light .terminus{font-family:Times New Roman,Times,serif,sans-serif}.theme-light .spacer{color:#9c660b}.theme-light .teppi{color:#816540;word-spacing:4pt;font-family:Segoe Script Bold,Segoe Script,sans-serif,Verdana}.theme-light .shadekin{color:#be3cc5;font-size:150%;font-weight:700;font-family:Gabriola,cursive,sans-serif}.theme-vchatdark .color-black{color:#1a1a1a!important}.theme-vchatdark .color-white{color:#fff!important}.theme-vchatdark .color-red{color:#df3e3e!important}.theme-vchatdark .color-orange{color:#f37f33!important}.theme-vchatdark .color-yellow{color:#fbda21!important}.theme-vchatdark .color-olive{color:#cbe41c!important}.theme-vchatdark .color-green{color:#25ca4c!important}.theme-vchatdark .color-teal{color:#00d6cc!important}.theme-vchatdark .color-blue{color:#2e93de!important}.theme-vchatdark .color-violet{color:#7349cf!important}.theme-vchatdark .color-purple{color:#ad45d0!important}.theme-vchatdark .color-pink{color:#e34da1!important}.theme-vchatdark .color-brown{color:#b97447!important}.theme-vchatdark .color-grey{color:#848484!important}.theme-vchatdark .color-good{color:#68c22d!important}.theme-vchatdark .color-average{color:#f29a29!important}.theme-vchatdark .color-bad{color:#df3e3e!important}.theme-vchatdark .color-label{color:#8b9bb0!important}.theme-vchatdark .color-bg-black{background-color:#000!important}.theme-vchatdark .color-bg-white{background-color:#d9d9d9!important}.theme-vchatdark .color-bg-red{background-color:#bd2020!important}.theme-vchatdark .color-bg-orange{background-color:#d95e0c!important}.theme-vchatdark .color-bg-yellow{background-color:#d9b804!important}.theme-vchatdark .color-bg-olive{background-color:#9aad14!important}.theme-vchatdark .color-bg-green{background-color:#1b9638!important}.theme-vchatdark .color-bg-teal{background-color:#009a93!important}.theme-vchatdark .color-bg-blue{background-color:#1c71b1!important}.theme-vchatdark .color-bg-violet{background-color:#552dab!important}.theme-vchatdark .color-bg-purple{background-color:#8b2baa!important}.theme-vchatdark .color-bg-pink{background-color:#cf2082!important}.theme-vchatdark .color-bg-brown{background-color:#8c5836!important}.theme-vchatdark .color-bg-grey{background-color:#646464!important}.theme-vchatdark .color-bg-good{background-color:#4d9121!important}.theme-vchatdark .color-bg-average{background-color:#cd7a0d!important}.theme-vchatdark .color-bg-bad{background-color:#bd2020!important}.theme-vchatdark .color-bg-label{background-color:#657a94!important}.theme-vchatdark .Tabs{display:flex;align-items:stretch;overflow:hidden;background-color:rgba(0,0,0,.33)}.theme-vchatdark .Tabs--fill{height:100%}.theme-vchatdark .Section .Tabs{background-color:rgba(0,0,0,0)}.theme-vchatdark .Section:not(.Section--fitted) .Tabs{margin:0 -.5em .5em}.theme-vchatdark .Section:not(.Section--fitted) .Tabs:first-child{margin-top:-.5em}.theme-vchatdark .Tabs--vertical{flex-direction:column;padding:.25em 0 .25em .25em}.theme-vchatdark .Tabs--horizontal{margin-bottom:.5em;padding:.25em .25em 0}.theme-vchatdark .Tabs--horizontal:last-child{margin-bottom:0}.theme-vchatdark .Tabs__Tab{flex-grow:0}.theme-vchatdark .Tabs--fluid .Tabs__Tab{flex-grow:1}.theme-vchatdark .Tab{display:flex;align-items:center;justify-content:space-between;background-color:rgba(0,0,0,0);color:rgba(255,255,255,.5);min-height:2.25em;min-width:4em;transition:background-color 50ms ease-out}.theme-vchatdark .Tab:not(.Tab--selected):hover{background-color:rgba(255,255,255,.075);transition:background-color 0}.theme-vchatdark .Tab--selected{background-color:rgba(255,255,255,.125);color:#dfe7f0}.theme-vchatdark .Tab__text{flex-grow:1;margin:0 .5em}.theme-vchatdark .Tab__left{min-width:1.5em;text-align:center;margin-left:.25em}.theme-vchatdark .Tab__right{min-width:1.5em;text-align:center;margin-right:.25em}.theme-vchatdark .Tabs--horizontal .Tab{border-top:.1666666667em solid rgba(0,0,0,0);border-bottom:.1666666667em solid rgba(0,0,0,0);border-top-left-radius:.25em;border-top-right-radius:.25em}.theme-vchatdark .Tabs--horizontal .Tab--selected{border-bottom:.1666666667em solid #d4dfec}.theme-vchatdark .Tabs--vertical .Tab{min-height:2em;border-left:.1666666667em solid rgba(0,0,0,0);border-right:.1666666667em solid rgba(0,0,0,0);border-top-left-radius:.25em;border-bottom-left-radius:.25em}.theme-vchatdark .Tabs--vertical .Tab--selected{border-right:.1666666667em solid #d4dfec}.theme-vchatdark .Tab--selected.Tab--color--black{color:#535353}.theme-vchatdark .Tabs--horizontal .Tab--selected.Tab--color--black{border-bottom-color:#1a1a1a}.theme-vchatdark .Tabs--vertical .Tab--selected.Tab--color--black{border-right-color:#1a1a1a}.theme-vchatdark .Tab--selected.Tab--color--white{color:#fff}.theme-vchatdark .Tabs--horizontal .Tab--selected.Tab--color--white{border-bottom-color:#fff}.theme-vchatdark .Tabs--vertical .Tab--selected.Tab--color--white{border-right-color:#fff}.theme-vchatdark .Tab--selected.Tab--color--red{color:#e76e6e}.theme-vchatdark .Tabs--horizontal .Tab--selected.Tab--color--red{border-bottom-color:#df3e3e}.theme-vchatdark .Tabs--vertical .Tab--selected.Tab--color--red{border-right-color:#df3e3e}.theme-vchatdark .Tab--selected.Tab--color--orange{color:#f69f66}.theme-vchatdark .Tabs--horizontal .Tab--selected.Tab--color--orange{border-bottom-color:#f37f33}.theme-vchatdark .Tabs--vertical .Tab--selected.Tab--color--orange{border-right-color:#f37f33}.theme-vchatdark .Tab--selected.Tab--color--yellow{color:#fce358}.theme-vchatdark .Tabs--horizontal .Tab--selected.Tab--color--yellow{border-bottom-color:#fbda21}.theme-vchatdark .Tabs--vertical .Tab--selected.Tab--color--yellow{border-right-color:#fbda21}.theme-vchatdark .Tab--selected.Tab--color--olive{color:#d8eb55}.theme-vchatdark .Tabs--horizontal .Tab--selected.Tab--color--olive{border-bottom-color:#cbe41c}.theme-vchatdark .Tabs--vertical .Tab--selected.Tab--color--olive{border-right-color:#cbe41c}.theme-vchatdark .Tab--selected.Tab--color--green{color:#53e074}.theme-vchatdark .Tabs--horizontal .Tab--selected.Tab--color--green{border-bottom-color:#25ca4c}.theme-vchatdark .Tabs--vertical .Tab--selected.Tab--color--green{border-right-color:#25ca4c}.theme-vchatdark .Tab--selected.Tab--color--teal{color:#21fff5}.theme-vchatdark .Tabs--horizontal .Tab--selected.Tab--color--teal{border-bottom-color:#00d6cc}.theme-vchatdark .Tabs--vertical .Tab--selected.Tab--color--teal{border-right-color:#00d6cc}.theme-vchatdark .Tab--selected.Tab--color--blue{color:#62aee6}.theme-vchatdark .Tabs--horizontal .Tab--selected.Tab--color--blue{border-bottom-color:#2e93de}.theme-vchatdark .Tabs--vertical .Tab--selected.Tab--color--blue{border-right-color:#2e93de}.theme-vchatdark .Tab--selected.Tab--color--violet{color:#9676db}.theme-vchatdark .Tabs--horizontal .Tab--selected.Tab--color--violet{border-bottom-color:#7349cf}.theme-vchatdark .Tabs--vertical .Tab--selected.Tab--color--violet{border-right-color:#7349cf}.theme-vchatdark .Tab--selected.Tab--color--purple{color:#c274db}.theme-vchatdark .Tabs--horizontal .Tab--selected.Tab--color--purple{border-bottom-color:#ad45d0}.theme-vchatdark .Tabs--vertical .Tab--selected.Tab--color--purple{border-right-color:#ad45d0}.theme-vchatdark .Tab--selected.Tab--color--pink{color:#ea79b9}.theme-vchatdark .Tabs--horizontal .Tab--selected.Tab--color--pink{border-bottom-color:#e34da1}.theme-vchatdark .Tabs--vertical .Tab--selected.Tab--color--pink{border-right-color:#e34da1}.theme-vchatdark .Tab--selected.Tab--color--brown{color:#ca9775}.theme-vchatdark .Tabs--horizontal .Tab--selected.Tab--color--brown{border-bottom-color:#b97447}.theme-vchatdark .Tabs--vertical .Tab--selected.Tab--color--brown{border-right-color:#b97447}.theme-vchatdark .Tab--selected.Tab--color--grey{color:#a3a3a3}.theme-vchatdark .Tabs--horizontal .Tab--selected.Tab--color--grey{border-bottom-color:#848484}.theme-vchatdark .Tabs--vertical .Tab--selected.Tab--color--grey{border-right-color:#848484}.theme-vchatdark .Tab--selected.Tab--color--good{color:#8cd95a}.theme-vchatdark .Tabs--horizontal .Tab--selected.Tab--color--good{border-bottom-color:#68c22d}.theme-vchatdark .Tabs--vertical .Tab--selected.Tab--color--good{border-right-color:#68c22d}.theme-vchatdark .Tab--selected.Tab--color--average{color:#f5b35e}.theme-vchatdark .Tabs--horizontal .Tab--selected.Tab--color--average{border-bottom-color:#f29a29}.theme-vchatdark .Tabs--vertical .Tab--selected.Tab--color--average{border-right-color:#f29a29}.theme-vchatdark .Tab--selected.Tab--color--bad{color:#e76e6e}.theme-vchatdark .Tabs--horizontal .Tab--selected.Tab--color--bad{border-bottom-color:#df3e3e}.theme-vchatdark .Tabs--vertical .Tab--selected.Tab--color--bad{border-right-color:#df3e3e}.theme-vchatdark .Tab--selected.Tab--color--label{color:#a8b4c4}.theme-vchatdark .Tabs--horizontal .Tab--selected.Tab--color--label{border-bottom-color:#8b9bb0}.theme-vchatdark .Tabs--vertical .Tab--selected.Tab--color--label{border-right-color:#8b9bb0}.theme-vchatdark .Section{position:relative;margin-bottom:.5em;background-color:#191919;background-color:rgba(0,0,0,.33);box-sizing:border-box}.theme-vchatdark .Section:last-child{margin-bottom:0}.theme-vchatdark .Section__title{position:relative;padding:.5em;border-bottom:.1666666667em solid #4972a1}.theme-vchatdark .Section__titleText{font-size:1.1666666667em;font-weight:700;color:#fff}.theme-vchatdark .Section__buttons{position:absolute;display:inline-block;right:.5em;margin-top:-.0833333333em}.theme-vchatdark .Section__rest{position:relative}.theme-vchatdark .Section__content{padding:.66em .5em}.theme-vchatdark .Section--fitted>.Section__rest>.Section__content{padding:0}.theme-vchatdark .Section--fill{display:flex;flex-direction:column;height:100%}.theme-vchatdark .Section--fill>.Section__rest{flex-grow:1}.theme-vchatdark .Section--fill>.Section__rest>.Section__content{height:100%}.theme-vchatdark .Section--fill.Section--scrollable>.Section__rest>.Section__content{position:absolute;top:0;left:0;right:0;bottom:0}.theme-vchatdark .Section--fill.Section--iefix{display:table!important;width:100%!important;height:100%!important;border-collapse:collapse;border-spacing:0}.theme-vchatdark .Section--fill.Section--iefix>.Section__rest{display:table-row!important;height:100%!important}.theme-vchatdark .Section--scrollable{overflow-x:hidden;overflow-y:hidden}.theme-vchatdark .Section--scrollable>.Section__rest>.Section__content{overflow-y:scroll;overflow-x:hidden}.theme-vchatdark .Section--scrollableHorizontal{overflow-x:hidden;overflow-y:hidden}.theme-vchatdark .Section--scrollableHorizontal>.Section__rest>.Section__content{overflow-y:hidden;overflow-x:scroll}.theme-vchatdark .Section--scrollable.Section--scrollableHorizontal{overflow-x:hidden;overflow-y:hidden}.theme-vchatdark .Section--scrollable.Section--scrollableHorizontal>.Section__rest>.Section__content{overflow-y:scroll;overflow-x:scroll}.theme-vchatdark .Section .Section{background-color:rgba(0,0,0,0);margin-left:-.5em;margin-right:-.5em}.theme-vchatdark .Section .Section:first-child{margin-top:-.5em}.theme-vchatdark .Section .Section .Section__titleText{font-size:1.0833333333em}.theme-vchatdark .Section .Section .Section .Section__titleText{font-size:1em}.theme-vchatdark .Section--flex{display:flex;flex-flow:column}.theme-vchatdark .Section--flex .Section__content{overflow:auto;flex-grow:1}.theme-vchatdark .Section__content--noTopPadding{padding-top:0}.theme-vchatdark .Section__content--stretchContents{height:calc(100% - 3rem)}.theme-vchatdark .Button{position:relative;display:inline-block;line-height:1.667em;padding:0 .5em;margin-right:.1666666667em;white-space:nowrap;outline:0;border-radius:.16em;margin-bottom:.1666666667em;user-select:none;-ms-user-select:none}.theme-vchatdark .Button:last-child{margin-right:0;margin-bottom:0}.theme-vchatdark .Button .fa,.theme-vchatdark .Button .fas,.theme-vchatdark .Button .far{margin-left:-.25em;margin-right:-.25em;min-width:1.333em;text-align:center}.theme-vchatdark .Button--hasContent .fa,.theme-vchatdark .Button--hasContent .fas,.theme-vchatdark .Button--hasContent .far{margin-right:.25em}.theme-vchatdark .Button--hasContent.Button--iconPosition--right .fa,.theme-vchatdark .Button--hasContent.Button--iconPosition--right .fas,.theme-vchatdark .Button--hasContent.Button--iconPosition--right .far{margin-right:0;margin-left:3px}.theme-vchatdark .Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.theme-vchatdark .Button--fluid{display:block;margin-left:0;margin-right:0}.theme-vchatdark .Button--circular{border-radius:50%}.theme-vchatdark .Button--compact{padding:0 .25em;line-height:1.333em}.theme-vchatdark .Button--color--black{transition:color 50ms,background-color 50ms;background-color:#000;color:#fff}.theme-vchatdark .Button--color--black:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--black:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--black:hover,.theme-vchatdark .Button--color--black:focus{background-color:#131313;color:#fff}.theme-vchatdark .Button--color--white{transition:color 50ms,background-color 50ms;background-color:#d9d9d9;color:#000}.theme-vchatdark .Button--color--white:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--white:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--white:hover,.theme-vchatdark .Button--color--white:focus{background-color:#f8f8f8;color:#000}.theme-vchatdark .Button--color--red{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.theme-vchatdark .Button--color--red:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--red:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--red:hover,.theme-vchatdark .Button--color--red:focus{background-color:#dc4848;color:#fff}.theme-vchatdark .Button--color--orange{transition:color 50ms,background-color 50ms;background-color:#d95e0c;color:#fff}.theme-vchatdark .Button--color--orange:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--orange:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--orange:hover,.theme-vchatdark .Button--color--orange:focus{background-color:#f0853f;color:#fff}.theme-vchatdark .Button--color--yellow{transition:color 50ms,background-color 50ms;background-color:#d9b804;color:#000}.theme-vchatdark .Button--color--yellow:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--yellow:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--yellow:hover,.theme-vchatdark .Button--color--yellow:focus{background-color:#f5d72e;color:#000}.theme-vchatdark .Button--color--olive{transition:color 50ms,background-color 50ms;background-color:#9aad14;color:#fff}.theme-vchatdark .Button--color--olive:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--olive:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--olive:hover,.theme-vchatdark .Button--color--olive:focus{background-color:#c4da2b;color:#fff}.theme-vchatdark .Button--color--green{transition:color 50ms,background-color 50ms;background-color:#1b9638;color:#fff}.theme-vchatdark .Button--color--green:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--green:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--green:hover,.theme-vchatdark .Button--color--green:focus{background-color:#32c154;color:#fff}.theme-vchatdark .Button--color--teal{transition:color 50ms,background-color 50ms;background-color:#009a93;color:#fff}.theme-vchatdark .Button--color--teal:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--teal:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--teal:hover,.theme-vchatdark .Button--color--teal:focus{background-color:#13c4bc;color:#fff}.theme-vchatdark .Button--color--blue{transition:color 50ms,background-color 50ms;background-color:#1c71b1;color:#fff}.theme-vchatdark .Button--color--blue:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--blue:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--blue:hover,.theme-vchatdark .Button--color--blue:focus{background-color:#3a95d9;color:#fff}.theme-vchatdark .Button--color--violet{transition:color 50ms,background-color 50ms;background-color:#552dab;color:#fff}.theme-vchatdark .Button--color--violet:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--violet:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--violet:hover,.theme-vchatdark .Button--color--violet:focus{background-color:#7953cc;color:#fff}.theme-vchatdark .Button--color--purple{transition:color 50ms,background-color 50ms;background-color:#8b2baa;color:#fff}.theme-vchatdark .Button--color--purple:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--purple:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--purple:hover,.theme-vchatdark .Button--color--purple:focus{background-color:#ad4fcd;color:#fff}.theme-vchatdark .Button--color--pink{transition:color 50ms,background-color 50ms;background-color:#cf2082;color:#fff}.theme-vchatdark .Button--color--pink:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--pink:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--pink:hover,.theme-vchatdark .Button--color--pink:focus{background-color:#e257a5;color:#fff}.theme-vchatdark .Button--color--brown{transition:color 50ms,background-color 50ms;background-color:#8c5836;color:#fff}.theme-vchatdark .Button--color--brown:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--brown:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--brown:hover,.theme-vchatdark .Button--color--brown:focus{background-color:#b47851;color:#fff}.theme-vchatdark .Button--color--grey{transition:color 50ms,background-color 50ms;background-color:#646464;color:#fff}.theme-vchatdark .Button--color--grey:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--grey:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--grey:hover,.theme-vchatdark .Button--color--grey:focus{background-color:#868686;color:#fff}.theme-vchatdark .Button--color--good{transition:color 50ms,background-color 50ms;background-color:#4d9121;color:#fff}.theme-vchatdark .Button--color--good:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--good:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--good:hover,.theme-vchatdark .Button--color--good:focus{background-color:#6cba39;color:#fff}.theme-vchatdark .Button--color--average{transition:color 50ms,background-color 50ms;background-color:#cd7a0d;color:#fff}.theme-vchatdark .Button--color--average:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--average:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--average:hover,.theme-vchatdark .Button--color--average:focus{background-color:#ed9d35;color:#fff}.theme-vchatdark .Button--color--bad{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.theme-vchatdark .Button--color--bad:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--bad:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--bad:hover,.theme-vchatdark .Button--color--bad:focus{background-color:#dc4848;color:#fff}.theme-vchatdark .Button--color--label{transition:color 50ms,background-color 50ms;background-color:#657a94;color:#fff}.theme-vchatdark .Button--color--label:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--label:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--label:hover,.theme-vchatdark .Button--color--label:focus{background-color:#91a1b3;color:#fff}.theme-vchatdark .Button--color--default{transition:color 50ms,background-color 50ms;background-color:#3e6189;color:#fff}.theme-vchatdark .Button--color--default:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--default:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--default:hover,.theme-vchatdark .Button--color--default:focus{background-color:#5c83b0;color:#fff}.theme-vchatdark .Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#d9b804;color:#000}.theme-vchatdark .Button--color--caution:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--caution:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--caution:hover,.theme-vchatdark .Button--color--caution:focus{background-color:#f5d72e;color:#000}.theme-vchatdark .Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.theme-vchatdark .Button--color--danger:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--danger:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--danger:hover,.theme-vchatdark .Button--color--danger:focus{background-color:#dc4848;color:#fff}.theme-vchatdark .Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#252525;color:#fff;background-color:rgba(37,37,37,0);color:rgba(255,255,255,.5)}.theme-vchatdark .Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--transparent:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--transparent:hover,.theme-vchatdark .Button--color--transparent:focus{background-color:#3e3e3e;color:#fff}.theme-vchatdark .Button--disabled{background-color:#999!important}.theme-vchatdark .Button--selected{transition:color 50ms,background-color 50ms;background-color:#1b9638;color:#fff}.theme-vchatdark .Button--selected:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--selected:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--selected:hover,.theme-vchatdark .Button--selected:focus{background-color:#32c154;color:#fff}.theme-vchatdark .Button--flex{display:inline-flex;flex-direction:column}.theme-vchatdark .Button--flex--fluid{width:100%}.theme-vchatdark .Button--verticalAlignContent--top{justify-content:flex-start}.theme-vchatdark .Button--verticalAlignContent--middle{justify-content:center}.theme-vchatdark .Button--verticalAlignContent--bottom{justify-content:flex-end}.theme-vchatdark .Button__content{display:block;align-self:stretch}.theme-vchatdark .NumberInput{position:relative;display:inline-block;border:.0833333333em solid #88bfff;border:.0833333333em solid rgba(136,191,255,.75);border-radius:.16em;color:#88bfff;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;text-align:right;overflow:visible;cursor:n-resize}.theme-vchatdark .NumberInput--fluid{display:block}.theme-vchatdark .NumberInput__content{margin-left:.5em}.theme-vchatdark .NumberInput__barContainer{position:absolute;top:.1666666667em;bottom:.1666666667em;left:.1666666667em}.theme-vchatdark .NumberInput__bar{position:absolute;bottom:0;left:0;width:.25em;box-sizing:border-box;border-bottom:.0833333333em solid #88bfff;background-color:#88bfff}.theme-vchatdark .NumberInput__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:#0a0a0a;color:#fff;text-align:right}.theme-vchatdark .Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #88bfff;border:.0833333333em solid rgba(136,191,255,.75);border-radius:.16em;color:#fff;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.theme-vchatdark .Input--fluid{display:block;width:auto}.theme-vchatdark .Input__baseline{display:inline-block;color:rgba(0,0,0,0)}.theme-vchatdark .Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:rgba(0,0,0,0);color:#fff;color:inherit}.theme-vchatdark .Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.theme-vchatdark .Input--monospace .Input__input{font-family:Consolas,monospace}.theme-vchatdark .TextArea{position:relative;display:inline-block;border:.0833333333em solid #88bfff;border:.0833333333em solid rgba(136,191,255,.75);border-radius:.16em;background-color:#0a0a0a;margin-right:.1666666667em;line-height:1.4166666667em;box-sizing:border-box;width:100%}.theme-vchatdark .TextArea--fluid{display:block;width:auto;height:auto}.theme-vchatdark .TextArea__textarea{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;height:100%;font-size:1em;line-height:1.4166666667em;min-height:1.4166666667em;margin:0;padding:0 .5em;font-family:inherit;background-color:rgba(0,0,0,0);color:inherit;box-sizing:border-box;word-wrap:break-word;overflow:hidden}.theme-vchatdark .TextArea__textarea:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.theme-vchatdark .Knob{position:relative;font-size:1rem;width:2.6em;height:2.6em;margin:0 auto -.2em;cursor:n-resize}.theme-vchatdark .Knob:after{content:".";color:rgba(0,0,0,0);line-height:2.5em}.theme-vchatdark .Knob__circle{position:absolute;top:.1em;bottom:.1em;left:.1em;right:.1em;margin:.3em;background-color:#333;background-image:linear-gradient(to bottom,rgba(255,255,255,.15) 0%,rgba(255,255,255,0) 100%);border-radius:50%;box-shadow:0 .05em .5em rgba(0,0,0,.5)}.theme-vchatdark .Knob__cursorBox{position:absolute;top:0;bottom:0;left:0;right:0}.theme-vchatdark .Knob__cursor{position:relative;top:.05em;margin:0 auto;width:.2em;height:.8em;background-color:rgba(255,255,255,.9)}.theme-vchatdark .Knob__popupValue{position:absolute;top:-2rem;right:50%;font-size:1rem;text-align:center;padding:.25rem .5rem;color:#fff;background-color:#000;transform:translate(50%);white-space:nowrap}.theme-vchatdark .Knob__ring{position:absolute;top:0;bottom:0;left:0;right:0;padding:.1em}.theme-vchatdark .Knob__ringTrackPivot{transform:rotate(135deg)}.theme-vchatdark .Knob__ringTrack{fill:rgba(0,0,0,0);stroke:rgba(255,255,255,.1);stroke-width:8;stroke-linecap:round;stroke-dasharray:235.62}.theme-vchatdark .Knob__ringFillPivot{transform:rotate(135deg)}.theme-vchatdark .Knob--bipolar .Knob__ringFillPivot{transform:rotate(270deg)}.theme-vchatdark .Knob__ringFill{fill:rgba(0,0,0,0);stroke:#6a96c9;stroke-width:8;stroke-linecap:round;stroke-dasharray:314.16;transition:stroke 50ms ease-out}.theme-vchatdark .Knob--color--black .Knob__ringFill{stroke:#1a1a1a}.theme-vchatdark .Knob--color--white .Knob__ringFill{stroke:#fff}.theme-vchatdark .Knob--color--red .Knob__ringFill{stroke:#df3e3e}.theme-vchatdark .Knob--color--orange .Knob__ringFill{stroke:#f37f33}.theme-vchatdark .Knob--color--yellow .Knob__ringFill{stroke:#fbda21}.theme-vchatdark .Knob--color--olive .Knob__ringFill{stroke:#cbe41c}.theme-vchatdark .Knob--color--green .Knob__ringFill{stroke:#25ca4c}.theme-vchatdark .Knob--color--teal .Knob__ringFill{stroke:#00d6cc}.theme-vchatdark .Knob--color--blue .Knob__ringFill{stroke:#2e93de}.theme-vchatdark .Knob--color--violet .Knob__ringFill{stroke:#7349cf}.theme-vchatdark .Knob--color--purple .Knob__ringFill{stroke:#ad45d0}.theme-vchatdark .Knob--color--pink .Knob__ringFill{stroke:#e34da1}.theme-vchatdark .Knob--color--brown .Knob__ringFill{stroke:#b97447}.theme-vchatdark .Knob--color--grey .Knob__ringFill{stroke:#848484}.theme-vchatdark .Knob--color--good .Knob__ringFill{stroke:#68c22d}.theme-vchatdark .Knob--color--average .Knob__ringFill{stroke:#f29a29}.theme-vchatdark .Knob--color--bad .Knob__ringFill{stroke:#df3e3e}.theme-vchatdark .Knob--color--label .Knob__ringFill{stroke:#8b9bb0}.theme-vchatdark .Slider{cursor:e-resize}.theme-vchatdark .Slider__cursorOffset{position:absolute;top:0;left:0;bottom:0;transition:none!important}.theme-vchatdark .Slider__cursor{position:absolute;top:0;right:-.0833333333em;bottom:0;width:0;border-left:.1666666667em solid #fff}.theme-vchatdark .Slider__pointer{position:absolute;right:-.4166666667em;bottom:-.3333333333em;width:0;height:0;border-left:.4166666667em solid rgba(0,0,0,0);border-right:.4166666667em solid rgba(0,0,0,0);border-bottom:.4166666667em solid #fff}.theme-vchatdark .Slider__popupValue{position:absolute;right:0;top:-2rem;font-size:1rem;padding:.25rem .5rem;color:#fff;background-color:#000;transform:translate(50%);white-space:nowrap}.theme-vchatdark .ProgressBar{display:inline-block;position:relative;width:100%;padding:0 .5em;border-radius:.16em;background-color:rgba(0,0,0,0);transition:border-color .9s ease-out}.theme-vchatdark .ProgressBar__fill{position:absolute;top:-.5px;left:0;bottom:-.5px}.theme-vchatdark .ProgressBar__fill--animated{transition:background-color .9s ease-out,width .9s ease-out}.theme-vchatdark .ProgressBar__content{position:relative;line-height:1.4166666667em;width:100%;text-align:right}.theme-vchatdark .ProgressBar--color--default{border:.0833333333em solid #3e6189}.theme-vchatdark .ProgressBar--color--default .ProgressBar__fill{background-color:#3e6189}.theme-vchatdark .ProgressBar--color--black{border:.0833333333em solid #000!important}.theme-vchatdark .ProgressBar--color--black .ProgressBar__fill{background-color:#000}.theme-vchatdark .ProgressBar--color--white{border:.0833333333em solid #d9d9d9!important}.theme-vchatdark .ProgressBar--color--white .ProgressBar__fill{background-color:#d9d9d9}.theme-vchatdark .ProgressBar--color--red{border:.0833333333em solid #bd2020!important}.theme-vchatdark .ProgressBar--color--red .ProgressBar__fill{background-color:#bd2020}.theme-vchatdark .ProgressBar--color--orange{border:.0833333333em solid #d95e0c!important}.theme-vchatdark .ProgressBar--color--orange .ProgressBar__fill{background-color:#d95e0c}.theme-vchatdark .ProgressBar--color--yellow{border:.0833333333em solid #d9b804!important}.theme-vchatdark .ProgressBar--color--yellow .ProgressBar__fill{background-color:#d9b804}.theme-vchatdark .ProgressBar--color--olive{border:.0833333333em solid #9aad14!important}.theme-vchatdark .ProgressBar--color--olive .ProgressBar__fill{background-color:#9aad14}.theme-vchatdark .ProgressBar--color--green{border:.0833333333em solid #1b9638!important}.theme-vchatdark .ProgressBar--color--green .ProgressBar__fill{background-color:#1b9638}.theme-vchatdark .ProgressBar--color--teal{border:.0833333333em solid #009a93!important}.theme-vchatdark .ProgressBar--color--teal .ProgressBar__fill{background-color:#009a93}.theme-vchatdark .ProgressBar--color--blue{border:.0833333333em solid #1c71b1!important}.theme-vchatdark .ProgressBar--color--blue .ProgressBar__fill{background-color:#1c71b1}.theme-vchatdark .ProgressBar--color--violet{border:.0833333333em solid #552dab!important}.theme-vchatdark .ProgressBar--color--violet .ProgressBar__fill{background-color:#552dab}.theme-vchatdark .ProgressBar--color--purple{border:.0833333333em solid #8b2baa!important}.theme-vchatdark .ProgressBar--color--purple .ProgressBar__fill{background-color:#8b2baa}.theme-vchatdark .ProgressBar--color--pink{border:.0833333333em solid #cf2082!important}.theme-vchatdark .ProgressBar--color--pink .ProgressBar__fill{background-color:#cf2082}.theme-vchatdark .ProgressBar--color--brown{border:.0833333333em solid #8c5836!important}.theme-vchatdark .ProgressBar--color--brown .ProgressBar__fill{background-color:#8c5836}.theme-vchatdark .ProgressBar--color--grey{border:.0833333333em solid #646464!important}.theme-vchatdark .ProgressBar--color--grey .ProgressBar__fill{background-color:#646464}.theme-vchatdark .ProgressBar--color--good{border:.0833333333em solid #4d9121!important}.theme-vchatdark .ProgressBar--color--good .ProgressBar__fill{background-color:#4d9121}.theme-vchatdark .ProgressBar--color--average{border:.0833333333em solid #cd7a0d!important}.theme-vchatdark .ProgressBar--color--average .ProgressBar__fill{background-color:#cd7a0d}.theme-vchatdark .ProgressBar--color--bad{border:.0833333333em solid #bd2020!important}.theme-vchatdark .ProgressBar--color--bad .ProgressBar__fill{background-color:#bd2020}.theme-vchatdark .ProgressBar--color--label{border:.0833333333em solid #657a94!important}.theme-vchatdark .ProgressBar--color--label .ProgressBar__fill{background-color:#657a94}.theme-vchatdark .Chat{color:#abc6ec}.theme-vchatdark .Chat__badge{display:inline-block;min-width:.5em;font-size:.7em;padding:.2em .3em;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#dc143c;border-radius:10px;transition:font-size .2s ease-out}.theme-vchatdark .Chat__badge:before{content:"x"}.theme-vchatdark .Chat__badge--animate{font-size:.9em;transition:font-size 0ms}.theme-vchatdark .Chat__scrollButton{position:fixed;right:2em;bottom:1em}.theme-vchatdark .Chat__reconnected{font-size:.85em;text-align:center;margin:1em 0 2em}.theme-vchatdark .Chat__reconnected:before{content:"Reconnected";display:inline-block;border-radius:1em;padding:0 .7em;color:#db2828;background-color:rgba(0,0,0,.33)}.theme-vchatdark .Chat__reconnected:after{content:"";display:block;margin-top:-.75em;border-bottom:.1666666667em solid #db2828}.theme-vchatdark .Chat__highlight{color:#000}.theme-vchatdark .Chat__highlight--restricted{color:#fff;background-color:#a00;font-weight:700}.theme-vchatdark .ChatMessage{word-wrap:break-word}.theme-vchatdark .ChatMessage--highlighted{position:relative;border-left:.1666666667em solid #fd4;padding-left:.5em}.theme-vchatdark .ChatMessage--highlighted:after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;background-color:rgba(255,221,68,.1);pointer-events:none}.theme-vchatdark .Layout,.theme-vchatdark .Layout *{scrollbar-base-color:#1c1c1c;scrollbar-face-color:#3b3b3b;scrollbar-3dlight-color:#252525;scrollbar-highlight-color:#252525;scrollbar-track-color:#1c1c1c;scrollbar-arrow-color:#929292;scrollbar-shadow-color:#3b3b3b}.theme-vchatdark .Layout__content{position:absolute;top:0;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden}.theme-vchatdark .Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.theme-vchatdark .Layout__content--flexRow{display:flex;flex-flow:row}.theme-vchatdark .Layout__content--flexColumn{display:flex;flex-flow:column}.theme-vchatdark .Window{position:fixed;top:0;bottom:0;left:0;right:0;color:#fff;background-color:#252525;background-image:linear-gradient(to bottom,#2a2a2a 0%,#202020 100%)}.theme-vchatdark .Window__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;height:2.6666666667rem}.theme-vchatdark .Window__rest{position:fixed;top:32px;top:2.6666666667rem;bottom:0;left:0;right:0}.theme-vchatdark .Window__contentPadding{margin:.5rem;height:100%;height:calc(100% - 1.01rem)}.theme-vchatdark .Window__contentPadding:after{height:0}.theme-vchatdark .Layout__content--scrollable .Window__contentPadding:after{display:block;content:"";height:.5rem}.theme-vchatdark .Window__dimmer{position:fixed;top:0;bottom:0;left:0;right:0;background-color:rgba(62,62,62,.25);pointer-events:none}.theme-vchatdark .Window__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;width:1.6666666667rem;height:20px;height:1.6666666667rem;cursor:se-resize}.theme-vchatdark .Window__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;height:.5rem;cursor:s-resize}.theme-vchatdark .Window__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;width:.25rem;cursor:e-resize}.theme-vchatdark .TitleBar{background-color:#363636;border-bottom:1px solid #161616;box-shadow:0 2px 2px rgba(0,0,0,.1);box-shadow:0 .1666666667rem .1666666667rem rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.theme-vchatdark .TitleBar__clickable{color:rgba(255,255,255,.5);background-color:#363636;transition:color .25s ease-out,background-color .25s ease-out}.theme-vchatdark .TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.theme-vchatdark .TitleBar__title{position:absolute;display:inline-block;top:0;left:46px;left:3.8333333333rem;color:rgba(255,255,255,.75);font-size:14px;font-size:1.1666666667rem;line-height:31px;line-height:2.5833333333rem;white-space:nowrap;pointer-events:none}.theme-vchatdark .TitleBar__buttons{pointer-events:initial;display:inline-block;width:100%;margin-left:10px}.theme-vchatdark .TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px;height:2.6666666667rem}.theme-vchatdark .TitleBar__statusIcon{position:absolute;top:0;left:12px;left:1rem;transition:color .5s;font-size:20px;font-size:1.6666666667rem;line-height:32px!important;line-height:2.6666666667rem!important}.theme-vchatdark .TitleBar__close{position:absolute;top:-1px;right:0;width:45px;width:3.75rem;height:32px;height:2.6666666667rem;font-size:20px;font-size:1.6666666667rem;line-height:31px;line-height:2.5833333333rem;text-align:center}.theme-vchatdark .TitleBar__devBuildIndicator{position:absolute;top:6px;top:.5rem;right:52px;right:4.3333333333rem;min-width:20px;min-width:1.6666666667rem;padding:2px 4px;padding:.1666666667rem .3333333333rem;background-color:rgba(91,170,39,.75);color:#fff;text-align:center}.theme-vchatdark img{margin:0;padding:0;line-height:1;-ms-interpolation-mode:nearest-neighbor;image-rendering:pixelated}.theme-vchatdark img.icon{height:1em;min-height:16px;width:auto;vertical-align:bottom}.theme-vchatdark a{color:#397ea5}.theme-vchatdark a.visited,.theme-vchatdark a:visited{color:#7c00e6}.theme-vchatdark a.popt{text-decoration:none}.theme-vchatdark .popup{position:fixed;top:50%;left:50%;background:#ddd}.theme-vchatdark .popup .close{position:absolute;background:#aaa;top:0;right:0;color:#333;text-decoration:none;z-index:2;padding:0 10px;height:30px;line-height:30px}.theme-vchatdark .popup .close:hover{background:#999}.theme-vchatdark .popup .head{background:#999;color:#ddd;padding:0 10px;height:30px;line-height:30px;text-transform:uppercase;font-size:.9em;font-weight:700;border-bottom:2px solid green}.theme-vchatdark .popup input{border:1px solid #999;background:#fff;margin:0;padding:5px;outline:none;color:#333}.theme-vchatdark .popup input[type=text]:hover,.theme-vchatdark .popup input[type=text]:active,.theme-vchatdark .popup input[type=text]:focus{border-color:green}.theme-vchatdark .popup input[type=submit]{padding:5px 10px;background:#999;color:#ddd;text-transform:uppercase;font-size:.9em;font-weight:700}.theme-vchatdark .popup input[type=submit]:hover,.theme-vchatdark .popup input[type=submit]:focus,.theme-vchatdark .popup input[type=submit]:active{background:#aaa;cursor:pointer}.theme-vchatdark .changeFont{padding:10px}.theme-vchatdark .changeFont a{display:block;text-decoration:none;padding:3px;color:#333}.theme-vchatdark .changeFont a:hover{background:#ccc}.theme-vchatdark .highlightPopup{padding:10px;text-align:center}.theme-vchatdark .highlightPopup input[type=text]{display:block;width:215px;text-align:left;margin-top:5px}.theme-vchatdark .highlightPopup input.highlightColor{background-color:#ff0}.theme-vchatdark .highlightPopup input.highlightTermSubmit{margin-top:5px}.theme-vchatdark .contextMenu{background-color:#ddd;position:fixed;margin:2px;width:150px}.theme-vchatdark .contextMenu a{display:block;padding:2px 5px;text-decoration:none;color:#333}.theme-vchatdark .contextMenu a:hover{background-color:#ccc}.theme-vchatdark .filterMessages{padding:5px}.theme-vchatdark .filterMessages div{padding:2px 0}.theme-vchatdark .icon-stack{height:1em;line-height:1em;width:1em;vertical-align:middle;margin-top:-2px}.theme-vchatdark .motd{color:#638500;font-family:Verdana,sans-serif;white-space:normal}.theme-vchatdark .motd h1,.theme-vchatdark .motd h2,.theme-vchatdark .motd h3,.theme-vchatdark .motd h4,.theme-vchatdark .motd h5,.theme-vchatdark .motd h6{color:#638500;text-decoration:underline}.theme-vchatdark .motd a,.theme-vchatdark .motd a:link,.theme-vchatdark .motd a:visited,.theme-vchatdark .motd a:active,.theme-vchatdark .motd a:hover{color:#638500}.theme-vchatdark .bold,.theme-vchatdark .name,.theme-vchatdark .prefix,.theme-vchatdark .ooc,.theme-vchatdark .looc,.theme-vchatdark .adminooc,.theme-vchatdark .admin,.theme-vchatdark .medal,.theme-vchatdark .yell{font-weight:700}.theme-vchatdark .italic,.theme-vchatdark .italics{font-style:italic}.theme-vchatdark .highlight{background:#ff0}.theme-vchatdark h1,.theme-vchatdark h2,.theme-vchatdark h3,.theme-vchatdark h4,.theme-vchatdark h5,.theme-vchatdark h6{color:#a4bad6;font-family:Georgia,Verdana,sans-serif}.theme-vchatdark h1.alert,.theme-vchatdark h2.alert{color:#a4bad6}.theme-vchatdark em{font-style:normal;font-weight:700}.theme-vchatdark .ooc{color:#004ed8;font-weight:700}.theme-vchatdark .ooc .elevated{color:#2e78d9}.theme-vchatdark .ooc .moderator{color:#184880}.theme-vchatdark .ooc .developer{color:#1b521f}.theme-vchatdark .ooc .admin{color:#b82e00}.theme-vchatdark .ooc .event_manager{color:#603}.theme-vchatdark .ooc .aooc{color:#960018}.theme-vchatdark img.text_tag{width:32px;height:10px;min-height:10px}.theme-vchatdark img.icon{vertical-align:middle;max-height:1em}.theme-vchatdark img.icon.bigicon{max-height:32px}.theme-vchatdark .looc{color:#3a9696;font-weight:700}.theme-vchatdark .rlooc{color:#3abb96;font-weight:700}.theme-vchatdark .adminobserverooc{color:#09c;font-weight:700}.theme-vchatdark .adminooc{color:#3d5bc3;font-weight:700}.theme-vchatdark .adminsay{color:#ff4500;font-weight:700}.theme-vchatdark .admin{color:#5975da;font-weight:700}.theme-vchatdark .mentor_channel{color:olive;font-weight:700}.theme-vchatdark .mod_channel{color:#735638;font-weight:700}.theme-vchatdark .admin_channel{color:#9611d4;font-weight:700}.theme-vchatdark .event_channel{color:#c39;font-weight:700}.theme-vchatdark .name{font-weight:700}.theme-vchatdark .say,.theme-vchatdark .emote,.theme-vchatdark .emotesubtle,.theme-vchatdark .npcemote,.theme-vchatdark .infoplain,.theme-vchatdark .oocplain,.theme-vchatdark .warningplain,.theme-vchatdark .chatexport{color:#fff}.theme-vchatdark .psay,.theme-vchatdark .pemote{color:#e300e4;font-style:italic}.theme-vchatdark .deadsay{color:#732fcd}.theme-vchatdark .binarysay{color:#1e90ff}.theme-vchatdark .binarysay a{color:#0f0}.theme-vchatdark .binarysay a:active,.theme-vchatdark .binarysay a:visited{color:#8f8}.theme-vchatdark .radio{color:#00a800}.theme-vchatdark .sciradio{color:#939}.theme-vchatdark .comradio{color:#395a9a}.theme-vchatdark .secradio{color:#a30000}.theme-vchatdark .medradio{color:#008160}.theme-vchatdark .engradio{color:#a66300}.theme-vchatdark .supradio{color:#5f4519}.theme-vchatdark .srvradio{color:#6eaa2c}.theme-vchatdark .expradio{color:#555}.theme-vchatdark .syndradio{color:#6d3f40}.theme-vchatdark .gangradio{color:#ac2ea1}.theme-vchatdark .centradio{color:#5c5c8a}.theme-vchatdark .airadio{color:#f0f}.theme-vchatdark .redteamradio{color:#f44!important}.theme-vchatdark .blueteamradio{color:#3434fd!important}.theme-vchatdark .greenteamradio{color:#34fd34!important}.theme-vchatdark .yellowteamradio{color:#fdfd34!important}.theme-vchatdark .yell{font-weight:700}.theme-vchatdark .alert{color:red}.theme-vchatdark .valert{color:#d82020}.theme-vchatdark .userdanger{color:#c51e1e;font-weight:700;font-size:185%}.theme-vchatdark .bolddanger{color:#c51e1e;font-weight:700}.theme-vchatdark .danger,.theme-vchatdark .vdanger{color:#c51e1e}.theme-vchatdark .warning,.theme-vchatdark .vwarning{color:#c51e1e;font-style:italic}.theme-vchatdark .alertwarning{color:red;font-weight:700}.theme-vchatdark .boldwarning{color:#c51e1e;font-style:italic;font-weight:700}.theme-vchatdark .announce,.theme-vchatdark .boldannounce{color:#c51e1e;font-weight:700}.theme-vchatdark .minorannounce{color:#c51e1e;font-weight:700;font-size:185%}.theme-vchatdark .minoralert{color:#a4bad6;font-size:125%}.theme-vchatdark .priorityannounce{color:#a4bad6;font-weight:700;font-size:225%}.theme-vchatdark .prioritytitle{color:#6685f5;font-weight:700;font-size:185%}.theme-vchatdark .priorityalert{color:#c51e1e;font-size:140%}.theme-vchatdark .greenannounce{color:#059223;font-weight:700}.theme-vchatdark .rose{color:#ff5050}.theme-vchatdark .info,.theme-vchatdark .notice,.theme-vchatdark .vnotice{color:#6060c9}.theme-vchatdark .tinynotice{color:#6060c9;font-size:85%}.theme-vchatdark .tinynoticeital{color:#6060c9;font-style:italic;font-size:85%}.theme-vchatdark .smallnotice{color:#6060c9;font-size:90%}.theme-vchatdark .smallnoticeital{color:#6060c9;font-style:italic;font-size:90%}.theme-vchatdark .bolditalic{font-style:italic;font-weight:700}.theme-vchatdark .boldnotice{color:#6060c9;font-weight:700}.theme-vchatdark .hear{color:#6060c9;font-style:italic}.theme-vchatdark .adminnotice{color:#6060c9}.theme-vchatdark .adminhelp{color:red;font-weight:700}.theme-vchatdark .log_message{color:#386aff;font-weight:700}.theme-vchatdark .unconscious{color:#a4bad6;font-weight:700}.theme-vchatdark .suicide{color:#ff5050;font-style:italic}.theme-vchatdark .green{color:#4f4}.theme-vchatdark .grey{color:#a9a9a9}.theme-vchatdark .red{color:red}.theme-vchatdark .blue{color:#66f}.theme-vchatdark .nicegreen{color:#059223}.theme-vchatdark .boldnicegreen{color:#059223;font-weight:700}.theme-vchatdark .blob{color:#ee4000}.theme-vchatdark .blobannounce{color:#556b2f;font-weight:700;font-size:185%}.theme-vchatdark .cult{color:#973e3b}.theme-vchatdark .cultitalic{color:#973e3b;font-style:italic}.theme-vchatdark .cultbold{color:#973e3b;font-style:italic;font-weight:700}.theme-vchatdark .cultboldtalic,.theme-vchatdark .cultlarge{color:#973e3b;font-weight:700;font-size:185%}.theme-vchatdark .narsie{color:#973e3b;font-weight:700;font-size:925%}.theme-vchatdark .narsiesmall{color:#973e3b;font-weight:700;font-size:370%}.theme-vchatdark .colossus{color:#7f282a;font-size:310%}.theme-vchatdark .hierophant{color:#b441ee;font-weight:700;font-style:italic}.theme-vchatdark .hierophant_warning{color:#c56bf1;font-style:italic}.theme-vchatdark .purple{color:#9956d3}.theme-vchatdark .holoparasite{color:#88809c}.theme-vchatdark .revennotice{color:#c099e2}.theme-vchatdark .revenboldnotice{color:#c099e2;font-weight:700}.theme-vchatdark .revenbignotice{color:#c099e2;font-weight:700;font-size:185%}.theme-vchatdark .revenminor{color:#823abb}.theme-vchatdark .revenwarning{color:#760fbb;font-style:italic}.theme-vchatdark .revendanger{color:#760fbb;font-weight:700;font-size:185%}.theme-vchatdark .deconversion_message{color:#a947ff;font-size:185%;font-style:italic}.theme-vchatdark .ghostalert{color:#60f;font-style:italic;font-weight:700}.theme-vchatdark .alien{color:#855d85}.theme-vchatdark .noticealien{color:#059223}.theme-vchatdark .alertalien{color:#059223;font-weight:700}.theme-vchatdark .changeling{color:#b000b1;font-style:italic}.theme-vchatdark .alertsyndie{color:red;font-size:185%;font-weight:700}.theme-vchatdark .spiderbroodmother{color:#80f;font-weight:700;font-size:185%}.theme-vchatdark .spiderbreacher{color:#e8b670;font-weight:700;font-size:140%}.theme-vchatdark .spiderscout{color:#231d98;font-weight:700;font-size:120%}.theme-vchatdark .interface{color:#750e75}.theme-vchatdark .sans{font-family:Comic Sans MS,cursive,sans-serif}.theme-vchatdark .papyrus{font-family:Papyrus,cursive,sans-serif}.theme-vchatdark .robot{font-family:Courier New,cursive,sans-serif}.theme-vchatdark .tape_recorder{color:red;font-family:Courier New,cursive,sans-serif}.theme-vchatdark .command_headset{font-weight:700;font-size:160%}.theme-vchatdark .small{font-size:60%}.theme-vchatdark .big{font-size:185%}.theme-vchatdark .reallybig{font-size:245%}.theme-vchatdark .extremelybig{font-size:310%}.theme-vchatdark .greentext{color:#059223;font-size:185%}.theme-vchatdark .redtext{color:#c51e1e;font-size:185%}.theme-vchatdark .clown{color:#ff70c1;font-size:160%;font-family:Comic Sans MS,cursive,sans-serif;font-weight:700}.theme-vchatdark .singing{font-family:Trebuchet MS,cursive,sans-serif;font-style:italic}.theme-vchatdark .his_grace{color:#15d512;font-family:Courier New,cursive,sans-serif;font-style:italic}.theme-vchatdark .hypnophrase{color:#202020;font-weight:700;animation:hypnocolor 1.5s infinite;animation-direction:alternate}@keyframes hypnocolor{0%{color:#202020}25%{color:#4b02ac}50%{color:#9f41f1}75%{color:#541c9c}to{color:#7adbf3}}.theme-vchatdark .phobia{color:#d00;font-weight:700;animation:phobia .75s infinite}@keyframes phobia{0%{color:#f75a5a}50%{color:#d00}to{color:#f75a5a}}.theme-vchatdark .icon{height:1em;width:auto}.theme-vchatdark .bigicon{font-size:2.5em}.theme-vchatdark .hugeicon{font-size:5em}.theme-vchatdark .memo{color:#638500;text-align:center}.theme-vchatdark .memoedit{text-align:center;font-size:125%}.theme-vchatdark .abductor{color:#c204c2;font-style:italic}.theme-vchatdark .mind_control{color:#df3da9;font-size:100%;font-weight:700;font-style:italic}.theme-vchatdark .slime{color:#00ced1}.theme-vchatdark .drone{color:#848482}.theme-vchatdark .monkey{color:#975032}.theme-vchatdark .swarmer{color:#2c75ff}.theme-vchatdark .resonate{color:#298f85}.theme-vchatdark .upside_down{display:inline;-moz-transform:scale(-1,-1);-webkit-transform:scale(-1,-1);-o-transform:scale(-1,-1);-ms-transform:scale(-1,-1);transform:scale(-1)}.theme-vchatdark .connectionClosed,.theme-vchatdark .fatalError{background:red;color:#fff;padding:5px}.theme-vchatdark .connectionClosed.restored{background:green}.theme-vchatdark .internal.boldnshit{color:#3d5bc3;font-weight:700}.theme-vchatdark .text-normal{font-weight:400;font-style:normal}.theme-vchatdark .hidden{display:none;visibility:hidden}.theme-vchatdark .ml-1{margin-left:1em}.theme-vchatdark .ml-2{margin-left:2em}.theme-vchatdark .ml-3{margin-left:3em}.theme-vchatdark .examine_block{background:#1b1c1e;border:1px solid #a4bad6;margin:.5em;padding:.5em .75em}.theme-vchatdark .tooltip{font-style:italic;border-bottom:1px dashed #fff}.theme-vchatdark .major_announcement_title{font-size:175%;padding:0rem .5rem;line-height:100%;text-align:left;text-decoration:none;width:100%}.theme-vchatdark .subheader_announcement_text{font-weight:700;padding:.25rem .5rem 0;line-height:100%;width:100%;height:100%;text-align:left;font-size:125%}.theme-vchatdark .major_announcement_text{color:#eaeaea;background-color:#131313;font-weight:700;font-size:100%;text-align:left;padding:.5rem;width:100%;height:100%}.theme-vchatdark .minor_announcement_title{font-weight:700;padding:0 .5rem;padding-top:0;line-height:100%;width:100%;height:100%;text-align:left;font-size:150%}.theme-vchatdark .minor_announcement_text{background-color:#202020;color:#eaeaea;padding:.5rem;text-align:left;font-size:100%}.theme-vchatdark .announcement_header{padding:.5rem 0;display:flex;flex-direction:column}.theme-vchatdark .chat_alert_default{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#003045,#003045 10px,#00283a 10px,#00283a 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.theme-vchatdark .chat_alert_default .major_announcement_title,.theme-vchatdark .chat_alert_default .minor_announcement_title{color:#33d5ff}.theme-vchatdark .chat_alert_default .subheader_announcement_text{color:#ff5297}.theme-vchatdark .chat_alert_default .minor_announcement_text,.theme-vchatdark .chat_alert_default .major_announcement_text{background-color:#001621}.theme-vchatdark .chat_alert_green{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#004700,#004700 10px,#003d00 10px,#003d00 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.theme-vchatdark .chat_alert_green .major_announcement_title,.theme-vchatdark .chat_alert_green .minor_announcement_title{color:#00ff80}.theme-vchatdark .chat_alert_green .subheader_announcement_text{color:#ff85b5}.theme-vchatdark .chat_alert_green .minor_announcement_text,.theme-vchatdark .chat_alert_green .major_announcement_text{background-color:#002400}.theme-vchatdark .chat_alert_blue{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#003045,#003045 10px,#00283a 10px,#00283a 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.theme-vchatdark .chat_alert_blue .major_announcement_title,.theme-vchatdark .chat_alert_blue .minor_announcement_title{color:#33d5ff}.theme-vchatdark .chat_alert_blue .subheader_announcement_text{color:#ff5297}.theme-vchatdark .chat_alert_blue .minor_announcement_text,.theme-vchatdark .chat_alert_blue .major_announcement_text{background-color:#001621}.theme-vchatdark .chat_alert_pink{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#400025,#400025 10px,#30001b 10px,#30001b 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.theme-vchatdark .chat_alert_pink .major_announcement_title,.theme-vchatdark .chat_alert_pink .minor_announcement_title{color:#ff5297}.theme-vchatdark .chat_alert_pink .subheader_announcement_text{color:#33d5ff}.theme-vchatdark .chat_alert_pink .minor_announcement_text,.theme-vchatdark .chat_alert_pink .major_announcement_text{background-color:#17000d}.theme-vchatdark .chat_alert_yellow{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#4d4100,#4d4100 10px,#574a00 10px,#574a00 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.theme-vchatdark .chat_alert_yellow .major_announcement_title,.theme-vchatdark .chat_alert_yellow .minor_announcement_title{color:#fff4e0}.theme-vchatdark .chat_alert_yellow .subheader_announcement_text{color:#33d5ff}.theme-vchatdark .chat_alert_yellow .minor_announcement_text,.theme-vchatdark .chat_alert_yellow .major_announcement_text{background-color:#3e3400}.theme-vchatdark .chat_alert_orange{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#6b4200,#6b4200 10px,#593400 10px,#593400 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.theme-vchatdark .chat_alert_orange .major_announcement_title,.theme-vchatdark .chat_alert_orange .minor_announcement_title{color:#feefe7}.theme-vchatdark .chat_alert_orange .subheader_announcement_text{color:#33d5ff}.theme-vchatdark .chat_alert_orange .minor_announcement_text,.theme-vchatdark .chat_alert_orange .major_announcement_text{background-color:#402500}.theme-vchatdark .chat_alert_red{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#520000,#520000 10px,#420000 10px,#420000 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.theme-vchatdark .chat_alert_red .major_announcement_title,.theme-vchatdark .chat_alert_red .minor_announcement_title{color:#ff5297}.theme-vchatdark .chat_alert_red .subheader_announcement_text{color:#33d5ff}.theme-vchatdark .chat_alert_red .minor_announcement_text,.theme-vchatdark .chat_alert_red .major_announcement_text{background-color:#290000}.theme-vchatdark .chat_alert_purple{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#38003d,#38003d 10px,#2c0030 10px,#2c0030 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.theme-vchatdark .chat_alert_purple .major_announcement_title,.theme-vchatdark .chat_alert_purple .minor_announcement_title{color:#c7a1f7}.theme-vchatdark .chat_alert_purple .subheader_announcement_text{color:#33d5ff}.theme-vchatdark .chat_alert_purple .minor_announcement_text,.theme-vchatdark .chat_alert_purple .major_announcement_text{background-color:#150017}.theme-vchatdark .chat_alert_grey{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#292929,#292929 10px,#252525 10px,#252525 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.theme-vchatdark .chat_alert_grey .major_announcement_title,.theme-vchatdark .chat_alert_grey .minor_announcement_title{color:#ff5297}.theme-vchatdark .chat_alert_grey .subheader_announcement_text{color:#33d5ff}.theme-vchatdark .chat_alert_grey .minor_announcement_text,.theme-vchatdark .chat_alert_grey .major_announcement_text{background-color:#181818}.theme-vchatdark .tajaran{color:#803b56}.theme-vchatdark .tajaran_signlang{color:#941c1c}.theme-vchatdark .akhani{color:#ac398c}.theme-vchatdark .skrell{color:#00b0b3}.theme-vchatdark .skrellfar{color:#70fcff}.theme-vchatdark .soghun{color:#50ba6c}.theme-vchatdark .solcom{color:#6da6f0}.theme-vchatdark .sergal{color:#07f}.theme-vchatdark .birdsongc{color:#c90}.theme-vchatdark .vulpkanin{color:#b97a57}.theme-vchatdark .tavan{color:#f54298;font-family:Arial}.theme-vchatdark .echosong{color:#826d8c}.theme-vchatdark .enochian{color:#848a33;letter-spacing:-1pt;word-spacing:4pt;font-family:Lucida Sans Unicode,Lucida Grande,sans-serif}.theme-vchatdark .daemon{color:#5e339e;letter-spacing:-1pt;word-spacing:0pt;font-family:Courier New,Courier,monospace}.theme-vchatdark .drudakar{color:#bb2463;word-spacing:0pt;font-family:High Tower Text,monospace}.theme-vchatdark .bug{color:#9e9e39}.theme-vchatdark .vox{color:#a0a}.theme-vchatdark .promethean{color:#a5a5a5;font-family:Comic Sans MS,Comic Sans,cursive}.theme-vchatdark .zaddat{color:#941c1c}.theme-vchatdark .rough{font-family:Trebuchet MS,cursive,sans-serif}.theme-vchatdark .say_quote{font-family:Georgia,Verdana,sans-serif}.theme-vchatdark .say_quote_italics{font-style:italic;font-family:Georgia,Verdana,sans-serif}.theme-vchatdark .terminus{font-family:Times New Roman,Times,serif,sans-serif}.theme-vchatdark .spacer{color:#9c660b}.theme-vchatdark .teppi{color:#816540;word-spacing:4pt;font-family:Segoe Script Bold,Segoe Script,sans-serif,Verdana}.theme-vchatdark .shadekin{color:#be3cc5;font-size:150%;font-weight:700;font-family:Gabriola,cursive,sans-serif} +html,body{box-sizing:border-box;height:100%;margin:0;font-size:12px}html{overflow:hidden;cursor:default}body{overflow:auto;font-family:Verdana,Geneva,sans-serif}*,*:before,*:after{box-sizing:inherit}h1,h2,h3,h4,h5,h6{display:block;margin:0;padding:6px 0;padding:.5rem 0}h1{font-size:18px;font-size:1.5rem}h2{font-size:16px;font-size:1.333rem}h3{font-size:14px;font-size:1.167rem}h4{font-size:12px;font-size:1rem}td,th{vertical-align:baseline;text-align:left}.candystripe:nth-child(odd){background-color:rgba(0,0,0,.25)}.color-black{color:#1a1a1a!important}.color-white{color:#fff!important}.color-red{color:#df3e3e!important}.color-orange{color:#f37f33!important}.color-yellow{color:#fbda21!important}.color-olive{color:#cbe41c!important}.color-green{color:#25ca4c!important}.color-teal{color:#00d6cc!important}.color-blue{color:#2e93de!important}.color-violet{color:#7349cf!important}.color-purple{color:#ad45d0!important}.color-pink{color:#e34da1!important}.color-brown{color:#b97447!important}.color-grey{color:#848484!important}.color-good{color:#68c22d!important}.color-average{color:#f29a29!important}.color-bad{color:#df3e3e!important}.color-label{color:#8b9bb0!important}.color-bg-black{background-color:#000!important}.color-bg-white{background-color:#d9d9d9!important}.color-bg-red{background-color:#bd2020!important}.color-bg-orange{background-color:#d95e0c!important}.color-bg-yellow{background-color:#d9b804!important}.color-bg-olive{background-color:#9aad14!important}.color-bg-green{background-color:#1b9638!important}.color-bg-teal{background-color:#009a93!important}.color-bg-blue{background-color:#1c71b1!important}.color-bg-violet{background-color:#552dab!important}.color-bg-purple{background-color:#8b2baa!important}.color-bg-pink{background-color:#cf2082!important}.color-bg-brown{background-color:#8c5836!important}.color-bg-grey{background-color:#646464!important}.color-bg-good{background-color:#4d9121!important}.color-bg-average{background-color:#cd7a0d!important}.color-bg-bad{background-color:#bd2020!important}.color-bg-label{background-color:#657a94!important}.debug-layout,.debug-layout *:not(g):not(path){color:rgba(255,255,255,.9)!important;background:rgba(0,0,0,0)!important;outline:1px solid rgba(255,255,255,.5)!important;box-shadow:none!important;filter:none!important}.debug-layout:hover,.debug-layout *:not(g):not(path):hover{outline-color:rgba(255,255,255,.8)!important}.outline-dotted{outline-style:dotted!important}.outline-dashed{outline-style:dashed!important}.outline-solid{outline-style:solid!important}.outline-double{outline-style:double!important}.outline-groove{outline-style:groove!important}.outline-ridge{outline-style:ridge!important}.outline-inset{outline-style:inset!important}.outline-outset{outline-style:outset!important}.outline-color-black{outline:.167rem solid #1a1a1a!important}.outline-color-white{outline:.167rem solid #fff!important}.outline-color-red{outline:.167rem solid #df3e3e!important}.outline-color-orange{outline:.167rem solid #f37f33!important}.outline-color-yellow{outline:.167rem solid #fbda21!important}.outline-color-olive{outline:.167rem solid #cbe41c!important}.outline-color-green{outline:.167rem solid #25ca4c!important}.outline-color-teal{outline:.167rem solid #00d6cc!important}.outline-color-blue{outline:.167rem solid #2e93de!important}.outline-color-violet{outline:.167rem solid #7349cf!important}.outline-color-purple{outline:.167rem solid #ad45d0!important}.outline-color-pink{outline:.167rem solid #e34da1!important}.outline-color-brown{outline:.167rem solid #b97447!important}.outline-color-grey{outline:.167rem solid #848484!important}.outline-color-good{outline:.167rem solid #68c22d!important}.outline-color-average{outline:.167rem solid #f29a29!important}.outline-color-bad{outline:.167rem solid #df3e3e!important}.outline-color-label{outline:.167rem solid #8b9bb0!important}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-baseline{text-align:baseline}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-pre{white-space:pre}.text-bold{font-weight:700}.text-italic{font-style:italic}.text-underline{text-decoration:underline}.BlockQuote{color:#8b9bb0;border-left:.1666666667em solid #8b9bb0;padding-left:.5em;margin-bottom:.5em}.BlockQuote:last-child{margin-bottom:0}.Button{position:relative;display:inline-block;line-height:1.667em;padding:0 .5em;margin-right:.1666666667em;white-space:nowrap;outline:0;border-radius:.16em;margin-bottom:.1666666667em;user-select:none;-ms-user-select:none}.Button:last-child{margin-right:0;margin-bottom:0}.Button .fa,.Button .fas,.Button .far{margin-left:-.25em;margin-right:-.25em;min-width:1.333em;text-align:center}.Button--hasContent .fa,.Button--hasContent .fas,.Button--hasContent .far{margin-right:.25em}.Button--hasContent.Button--iconPosition--right .fa,.Button--hasContent.Button--iconPosition--right .fas,.Button--hasContent.Button--iconPosition--right .far{margin-right:0;margin-left:3px}.Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.Button--fluid{display:block;margin-left:0;margin-right:0}.Button--circular{border-radius:50%}.Button--compact{padding:0 .25em;line-height:1.333em}.Button--color--black{transition:color 50ms,background-color 50ms;background-color:#000;color:#fff}.Button--color--black:hover{transition:color 0ms,background-color 0ms}.Button--color--black:focus{transition:color .1s,background-color .1s}.Button--color--black:hover,.Button--color--black:focus{background-color:#131313;color:#fff}.Button--color--white{transition:color 50ms,background-color 50ms;background-color:#d9d9d9;color:#000}.Button--color--white:hover{transition:color 0ms,background-color 0ms}.Button--color--white:focus{transition:color .1s,background-color .1s}.Button--color--white:hover,.Button--color--white:focus{background-color:#f8f8f8;color:#000}.Button--color--red{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.Button--color--red:hover{transition:color 0ms,background-color 0ms}.Button--color--red:focus{transition:color .1s,background-color .1s}.Button--color--red:hover,.Button--color--red:focus{background-color:#dc4848;color:#fff}.Button--color--orange{transition:color 50ms,background-color 50ms;background-color:#d95e0c;color:#fff}.Button--color--orange:hover{transition:color 0ms,background-color 0ms}.Button--color--orange:focus{transition:color .1s,background-color .1s}.Button--color--orange:hover,.Button--color--orange:focus{background-color:#f0853f;color:#fff}.Button--color--yellow{transition:color 50ms,background-color 50ms;background-color:#d9b804;color:#000}.Button--color--yellow:hover{transition:color 0ms,background-color 0ms}.Button--color--yellow:focus{transition:color .1s,background-color .1s}.Button--color--yellow:hover,.Button--color--yellow:focus{background-color:#f5d72e;color:#000}.Button--color--olive{transition:color 50ms,background-color 50ms;background-color:#9aad14;color:#fff}.Button--color--olive:hover{transition:color 0ms,background-color 0ms}.Button--color--olive:focus{transition:color .1s,background-color .1s}.Button--color--olive:hover,.Button--color--olive:focus{background-color:#c4da2b;color:#fff}.Button--color--green{transition:color 50ms,background-color 50ms;background-color:#1b9638;color:#fff}.Button--color--green:hover{transition:color 0ms,background-color 0ms}.Button--color--green:focus{transition:color .1s,background-color .1s}.Button--color--green:hover,.Button--color--green:focus{background-color:#32c154;color:#fff}.Button--color--teal{transition:color 50ms,background-color 50ms;background-color:#009a93;color:#fff}.Button--color--teal:hover{transition:color 0ms,background-color 0ms}.Button--color--teal:focus{transition:color .1s,background-color .1s}.Button--color--teal:hover,.Button--color--teal:focus{background-color:#13c4bc;color:#fff}.Button--color--blue{transition:color 50ms,background-color 50ms;background-color:#1c71b1;color:#fff}.Button--color--blue:hover{transition:color 0ms,background-color 0ms}.Button--color--blue:focus{transition:color .1s,background-color .1s}.Button--color--blue:hover,.Button--color--blue:focus{background-color:#3a95d9;color:#fff}.Button--color--violet{transition:color 50ms,background-color 50ms;background-color:#552dab;color:#fff}.Button--color--violet:hover{transition:color 0ms,background-color 0ms}.Button--color--violet:focus{transition:color .1s,background-color .1s}.Button--color--violet:hover,.Button--color--violet:focus{background-color:#7953cc;color:#fff}.Button--color--purple{transition:color 50ms,background-color 50ms;background-color:#8b2baa;color:#fff}.Button--color--purple:hover{transition:color 0ms,background-color 0ms}.Button--color--purple:focus{transition:color .1s,background-color .1s}.Button--color--purple:hover,.Button--color--purple:focus{background-color:#ad4fcd;color:#fff}.Button--color--pink{transition:color 50ms,background-color 50ms;background-color:#cf2082;color:#fff}.Button--color--pink:hover{transition:color 0ms,background-color 0ms}.Button--color--pink:focus{transition:color .1s,background-color .1s}.Button--color--pink:hover,.Button--color--pink:focus{background-color:#e257a5;color:#fff}.Button--color--brown{transition:color 50ms,background-color 50ms;background-color:#8c5836;color:#fff}.Button--color--brown:hover{transition:color 0ms,background-color 0ms}.Button--color--brown:focus{transition:color .1s,background-color .1s}.Button--color--brown:hover,.Button--color--brown:focus{background-color:#b47851;color:#fff}.Button--color--grey{transition:color 50ms,background-color 50ms;background-color:#646464;color:#fff}.Button--color--grey:hover{transition:color 0ms,background-color 0ms}.Button--color--grey:focus{transition:color .1s,background-color .1s}.Button--color--grey:hover,.Button--color--grey:focus{background-color:#868686;color:#fff}.Button--color--good{transition:color 50ms,background-color 50ms;background-color:#4d9121;color:#fff}.Button--color--good:hover{transition:color 0ms,background-color 0ms}.Button--color--good:focus{transition:color .1s,background-color .1s}.Button--color--good:hover,.Button--color--good:focus{background-color:#6cba39;color:#fff}.Button--color--average{transition:color 50ms,background-color 50ms;background-color:#cd7a0d;color:#fff}.Button--color--average:hover{transition:color 0ms,background-color 0ms}.Button--color--average:focus{transition:color .1s,background-color .1s}.Button--color--average:hover,.Button--color--average:focus{background-color:#ed9d35;color:#fff}.Button--color--bad{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.Button--color--bad:hover{transition:color 0ms,background-color 0ms}.Button--color--bad:focus{transition:color .1s,background-color .1s}.Button--color--bad:hover,.Button--color--bad:focus{background-color:#dc4848;color:#fff}.Button--color--label{transition:color 50ms,background-color 50ms;background-color:#657a94;color:#fff}.Button--color--label:hover{transition:color 0ms,background-color 0ms}.Button--color--label:focus{transition:color .1s,background-color .1s}.Button--color--label:hover,.Button--color--label:focus{background-color:#91a1b3;color:#fff}.Button--color--default{transition:color 50ms,background-color 50ms;background-color:#3e6189;color:#fff}.Button--color--default:hover{transition:color 0ms,background-color 0ms}.Button--color--default:focus{transition:color .1s,background-color .1s}.Button--color--default:hover,.Button--color--default:focus{background-color:#5c83b0;color:#fff}.Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#d9b804;color:#000}.Button--color--caution:hover{transition:color 0ms,background-color 0ms}.Button--color--caution:focus{transition:color .1s,background-color .1s}.Button--color--caution:hover,.Button--color--caution:focus{background-color:#f5d72e;color:#000}.Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.Button--color--danger:hover{transition:color 0ms,background-color 0ms}.Button--color--danger:focus{transition:color .1s,background-color .1s}.Button--color--danger:hover,.Button--color--danger:focus{background-color:#dc4848;color:#fff}.Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#202020;color:#fff;background-color:rgba(32,32,32,0);color:rgba(255,255,255,.5)}.Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.Button--color--transparent:focus{transition:color .1s,background-color .1s}.Button--color--transparent:hover,.Button--color--transparent:focus{background-color:#383838;color:#fff}.Button--disabled{background-color:#999!important}.Button--selected{transition:color 50ms,background-color 50ms;background-color:#1b9638;color:#fff}.Button--selected:hover{transition:color 0ms,background-color 0ms}.Button--selected:focus{transition:color .1s,background-color .1s}.Button--selected:hover,.Button--selected:focus{background-color:#32c154;color:#fff}.Button--flex{display:inline-flex;flex-direction:column}.Button--flex--fluid{width:100%}.Button--verticalAlignContent--top{justify-content:flex-start}.Button--verticalAlignContent--middle{justify-content:center}.Button--verticalAlignContent--bottom{justify-content:flex-end}.Button__content{display:block;align-self:stretch}.ColorBox{display:inline-block;width:1em;height:1em;line-height:1em;text-align:center}.Dimmer{display:flex;justify-content:center;align-items:center;position:absolute;top:0;bottom:0;left:0;right:0;background-color:rgba(0,0,0,.75);z-index:1}.Dropdown{position:relative}.Dropdown__control{position:relative;display:inline-block;font-family:Verdana,sans-serif;font-size:1em;width:8.3333333333em;line-height:1.4166666667em;-ms-user-select:none;user-select:none}.Dropdown__arrow-button{float:right;padding-left:.35em;width:1.2em;height:1.8333333333em;border-left:.0833333333em solid #000;border-left:.0833333333em solid rgba(0,0,0,.25)}.Dropdown__menu{position:absolute;overflow-y:auto;z-index:5;width:8.3333333333em;max-height:16.6666666667em;overflow-y:scroll;border-radius:0 0 .1666666667em .1666666667em;color:#fff;background-color:#000;background-color:rgba(0,0,0,.75)}.Dropdown__menu-noscroll{position:absolute;overflow-y:auto;z-index:5;width:8.3333333333em;max-height:16.6666666667em;border-radius:0 0 .1666666667em .1666666667em;color:#fff;background-color:#000;background-color:rgba(0,0,0,.75)}.Dropdown__menuentry{padding:.1666666667em .3333333333em;font-family:Verdana,sans-serif;font-size:1em;line-height:1.4166666667em;transition:background-color .1s ease-out}.Dropdown__menuentry:hover{background-color:rgba(255,255,255,.2);transition:background-color 0ms}.Dropdown__over{top:auto;bottom:100%}.Dropdown__selected-text{display:inline-block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;height:1.4166666667em;width:calc(100% - 1.2em)}.Flex{display:-ms-flexbox;display:flex}.Flex--inline{display:inline-flex}.Flex--iefix{display:block}.Flex--iefix.Flex--inline,.Flex__item--iefix{display:inline-block}.Flex--iefix--column>.Flex__item--iefix{display:block}.Knob{position:relative;font-size:1rem;width:2.6em;height:2.6em;margin:0 auto -.2em;cursor:n-resize}.Knob:after{content:".";color:rgba(0,0,0,0);line-height:2.5em}.Knob__circle{position:absolute;top:.1em;bottom:.1em;left:.1em;right:.1em;margin:.3em;background-color:#333;background-image:linear-gradient(to bottom,rgba(255,255,255,.15) 0%,rgba(255,255,255,0) 100%);border-radius:50%;box-shadow:0 .05em .5em rgba(0,0,0,.5)}.Knob__cursorBox{position:absolute;top:0;bottom:0;left:0;right:0}.Knob__cursor{position:relative;top:.05em;margin:0 auto;width:.2em;height:.8em;background-color:rgba(255,255,255,.9)}.Knob__popupValue{position:absolute;top:-2rem;right:50%;font-size:1rem;text-align:center;padding:.25rem .5rem;color:#fff;background-color:#000;transform:translate(50%);white-space:nowrap}.Knob__ring{position:absolute;top:0;bottom:0;left:0;right:0;padding:.1em}.Knob__ringTrackPivot{transform:rotate(135deg)}.Knob__ringTrack{fill:rgba(0,0,0,0);stroke:rgba(255,255,255,.1);stroke-width:8;stroke-linecap:round;stroke-dasharray:235.62}.Knob__ringFillPivot{transform:rotate(135deg)}.Knob--bipolar .Knob__ringFillPivot{transform:rotate(270deg)}.Knob__ringFill{fill:rgba(0,0,0,0);stroke:#6a96c9;stroke-width:8;stroke-linecap:round;stroke-dasharray:314.16;transition:stroke 50ms ease-out}.Knob--color--black .Knob__ringFill{stroke:#1a1a1a}.Knob--color--white .Knob__ringFill{stroke:#fff}.Knob--color--red .Knob__ringFill{stroke:#df3e3e}.Knob--color--orange .Knob__ringFill{stroke:#f37f33}.Knob--color--yellow .Knob__ringFill{stroke:#fbda21}.Knob--color--olive .Knob__ringFill{stroke:#cbe41c}.Knob--color--green .Knob__ringFill{stroke:#25ca4c}.Knob--color--teal .Knob__ringFill{stroke:#00d6cc}.Knob--color--blue .Knob__ringFill{stroke:#2e93de}.Knob--color--violet .Knob__ringFill{stroke:#7349cf}.Knob--color--purple .Knob__ringFill{stroke:#ad45d0}.Knob--color--pink .Knob__ringFill{stroke:#e34da1}.Knob--color--brown .Knob__ringFill{stroke:#b97447}.Knob--color--grey .Knob__ringFill{stroke:#848484}.Knob--color--good .Knob__ringFill{stroke:#68c22d}.Knob--color--average .Knob__ringFill{stroke:#f29a29}.Knob--color--bad .Knob__ringFill{stroke:#df3e3e}.Knob--color--label .Knob__ringFill{stroke:#8b9bb0}.LabeledList{display:table;width:100%;width:calc(100% + 1em);border-collapse:collapse;border-spacing:0;margin:-.25em -.5em 0;padding:0}.LabeledList__row{display:table-row}.LabeledList__row:last-child .LabeledList__cell{padding-bottom:0}.LabeledList__cell{display:table-cell;margin:0;padding:.25em .5em;border:0;text-align:left}.LabeledList__label--nowrap{width:1%;white-space:nowrap;min-width:5em}.LabeledList__buttons{width:.1%;white-space:nowrap;text-align:right;padding-top:.0833333333em;padding-bottom:0}.LabeledList__breakContents{word-break:break-all;word-wrap:break-word}.Modal{background-color:#202020;max-width:calc(100% - 1rem);padding:1rem}.NoticeBox{padding:.33em .5em;margin-bottom:.5em;box-shadow:none;font-weight:700;font-style:italic;color:#000;background-color:#bb9b68;background-image:repeating-linear-gradient(-45deg,transparent,transparent .8333333333em,rgba(0,0,0,.1) .8333333333em,rgba(0,0,0,.1) 1.6666666667em)}.NoticeBox--color--black{color:#fff;background-color:#000}.NoticeBox--color--white{color:#000;background-color:#b3b3b3}.NoticeBox--color--red{color:#fff;background-color:#701f1f}.NoticeBox--color--orange{color:#fff;background-color:#854114}.NoticeBox--color--yellow{color:#000;background-color:#83710d}.NoticeBox--color--olive{color:#000;background-color:#576015}.NoticeBox--color--green{color:#fff;background-color:#174e24}.NoticeBox--color--teal{color:#fff;background-color:#064845}.NoticeBox--color--blue{color:#fff;background-color:#1b4565}.NoticeBox--color--violet{color:#fff;background-color:#3b2864}.NoticeBox--color--purple{color:#fff;background-color:#542663}.NoticeBox--color--pink{color:#fff;background-color:#802257}.NoticeBox--color--brown{color:#fff;background-color:#4c3729}.NoticeBox--color--grey{color:#fff;background-color:#3e3e3e}.NoticeBox--color--good{color:#fff;background-color:#2e4b1a}.NoticeBox--color--average{color:#fff;background-color:#7b4e13}.NoticeBox--color--bad{color:#fff;background-color:#701f1f}.NoticeBox--color--label{color:#fff;background-color:#53565a}.NoticeBox--type--info{color:#fff;background-color:#235982}.NoticeBox--type--success{color:#fff;background-color:#1e662f}.NoticeBox--type--warning{color:#fff;background-color:#a95219}.NoticeBox--type--danger{color:#fff;background-color:#8f2828}.NumberInput{position:relative;display:inline-block;border:.0833333333em solid #88bfff;border:.0833333333em solid rgba(136,191,255,.75);border-radius:.16em;color:#88bfff;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;text-align:right;overflow:visible;cursor:n-resize}.NumberInput--fluid{display:block}.NumberInput__content{margin-left:.5em}.NumberInput__barContainer{position:absolute;top:.1666666667em;bottom:.1666666667em;left:.1666666667em}.NumberInput__bar{position:absolute;bottom:0;left:0;width:.25em;box-sizing:border-box;border-bottom:.0833333333em solid #88bfff;background-color:#88bfff}.NumberInput__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:#0a0a0a;color:#fff;text-align:right}.ProgressBar{display:inline-block;position:relative;width:100%;padding:0 .5em;border-radius:.16em;background-color:rgba(0,0,0,0);transition:border-color .9s ease-out}.ProgressBar__fill{position:absolute;top:-.5px;left:0;bottom:-.5px}.ProgressBar__fill--animated{transition:background-color .9s ease-out,width .9s ease-out}.ProgressBar__content{position:relative;line-height:1.4166666667em;width:100%;text-align:right}.ProgressBar--color--default{border:.0833333333em solid #3e6189}.ProgressBar--color--default .ProgressBar__fill{background-color:#3e6189}.ProgressBar--color--black{border:.0833333333em solid #000!important}.ProgressBar--color--black .ProgressBar__fill{background-color:#000}.ProgressBar--color--white{border:.0833333333em solid #d9d9d9!important}.ProgressBar--color--white .ProgressBar__fill{background-color:#d9d9d9}.ProgressBar--color--red{border:.0833333333em solid #bd2020!important}.ProgressBar--color--red .ProgressBar__fill{background-color:#bd2020}.ProgressBar--color--orange{border:.0833333333em solid #d95e0c!important}.ProgressBar--color--orange .ProgressBar__fill{background-color:#d95e0c}.ProgressBar--color--yellow{border:.0833333333em solid #d9b804!important}.ProgressBar--color--yellow .ProgressBar__fill{background-color:#d9b804}.ProgressBar--color--olive{border:.0833333333em solid #9aad14!important}.ProgressBar--color--olive .ProgressBar__fill{background-color:#9aad14}.ProgressBar--color--green{border:.0833333333em solid #1b9638!important}.ProgressBar--color--green .ProgressBar__fill{background-color:#1b9638}.ProgressBar--color--teal{border:.0833333333em solid #009a93!important}.ProgressBar--color--teal .ProgressBar__fill{background-color:#009a93}.ProgressBar--color--blue{border:.0833333333em solid #1c71b1!important}.ProgressBar--color--blue .ProgressBar__fill{background-color:#1c71b1}.ProgressBar--color--violet{border:.0833333333em solid #552dab!important}.ProgressBar--color--violet .ProgressBar__fill{background-color:#552dab}.ProgressBar--color--purple{border:.0833333333em solid #8b2baa!important}.ProgressBar--color--purple .ProgressBar__fill{background-color:#8b2baa}.ProgressBar--color--pink{border:.0833333333em solid #cf2082!important}.ProgressBar--color--pink .ProgressBar__fill{background-color:#cf2082}.ProgressBar--color--brown{border:.0833333333em solid #8c5836!important}.ProgressBar--color--brown .ProgressBar__fill{background-color:#8c5836}.ProgressBar--color--grey{border:.0833333333em solid #646464!important}.ProgressBar--color--grey .ProgressBar__fill{background-color:#646464}.ProgressBar--color--good{border:.0833333333em solid #4d9121!important}.ProgressBar--color--good .ProgressBar__fill{background-color:#4d9121}.ProgressBar--color--average{border:.0833333333em solid #cd7a0d!important}.ProgressBar--color--average .ProgressBar__fill{background-color:#cd7a0d}.ProgressBar--color--bad{border:.0833333333em solid #bd2020!important}.ProgressBar--color--bad .ProgressBar__fill{background-color:#bd2020}.ProgressBar--color--label{border:.0833333333em solid #657a94!important}.ProgressBar--color--label .ProgressBar__fill{background-color:#657a94}.Section{position:relative;margin-bottom:.5em;background-color:#131313;box-sizing:border-box}.Section:last-child{margin-bottom:0}.Section__title{position:relative;padding:.5em;border-bottom:.1666666667em solid #4972a1}.Section__titleText{font-size:1.1666666667em;font-weight:700;color:#fff}.Section__buttons{position:absolute;display:inline-block;right:.5em;margin-top:-.0833333333em}.Section__rest{position:relative}.Section__content{padding:.66em .5em}.Section--fitted>.Section__rest>.Section__content{padding:0}.Section--fill{display:flex;flex-direction:column;height:100%}.Section--fill>.Section__rest{flex-grow:1}.Section--fill>.Section__rest>.Section__content{height:100%}.Section--fill.Section--scrollable>.Section__rest>.Section__content{position:absolute;top:0;left:0;right:0;bottom:0}.Section--fill.Section--iefix{display:table!important;width:100%!important;height:100%!important;border-collapse:collapse;border-spacing:0}.Section--fill.Section--iefix>.Section__rest{display:table-row!important;height:100%!important}.Section--scrollable{overflow-x:hidden;overflow-y:hidden}.Section--scrollable>.Section__rest>.Section__content{overflow-y:scroll;overflow-x:hidden}.Section--scrollableHorizontal{overflow-x:hidden;overflow-y:hidden}.Section--scrollableHorizontal>.Section__rest>.Section__content{overflow-y:hidden;overflow-x:scroll}.Section--scrollable.Section--scrollableHorizontal{overflow-x:hidden;overflow-y:hidden}.Section--scrollable.Section--scrollableHorizontal>.Section__rest>.Section__content{overflow-y:scroll;overflow-x:scroll}.Section .Section{background-color:rgba(0,0,0,0);margin-left:-.5em;margin-right:-.5em}.Section .Section:first-child{margin-top:-.5em}.Section .Section .Section__titleText{font-size:1.0833333333em}.Section .Section .Section .Section__titleText{font-size:1em}.Section--flex{display:flex;flex-flow:column}.Section--flex .Section__content{overflow:auto;flex-grow:1}.Section__content--noTopPadding{padding-top:0}.Section__content--stretchContents{height:calc(100% - 3rem)}.Slider{cursor:e-resize}.Slider__cursorOffset{position:absolute;top:0;left:0;bottom:0;transition:none!important}.Slider__cursor{position:absolute;top:0;right:-.0833333333em;bottom:0;width:0;border-left:.1666666667em solid #fff}.Slider__pointer{position:absolute;right:-.4166666667em;bottom:-.3333333333em;width:0;height:0;border-left:.4166666667em solid rgba(0,0,0,0);border-right:.4166666667em solid rgba(0,0,0,0);border-bottom:.4166666667em solid #fff}.Slider__popupValue{position:absolute;right:0;top:-2rem;font-size:1rem;padding:.25rem .5rem;color:#fff;background-color:#000;transform:translate(50%);white-space:nowrap}.Divider--horizontal{margin:.5em 0}.Divider--horizontal:not(.Divider--hidden){border-top:.1666666667em solid rgba(255,255,255,.1)}.Divider--vertical{height:100%;margin:0 .5em}.Divider--vertical:not(.Divider--hidden){border-left:.1666666667em solid rgba(255,255,255,.1)}.Stack--fill{height:100%}.Stack--horizontal>.Stack__item{margin-left:.5em}.Stack--horizontal>.Stack__item:first-child{margin-left:0}.Stack--vertical>.Stack__item{margin-top:.5em}.Stack--vertical>.Stack__item:first-child{margin-top:0}.Stack--horizontal>.Stack__divider:not(.Stack__divider--hidden){border-left:.1666666667em solid rgba(255,255,255,.1)}.Stack--vertical>.Stack__divider:not(.Stack__divider--hidden){border-top:.1666666667em solid rgba(255,255,255,.1)}.Table{display:table;width:100%;border-collapse:collapse;border-spacing:0;margin:0}.Table--collapsing{width:auto}.Table__row{display:table-row}.Table__cell{display:table-cell;padding:0 .25em}.Table__cell:first-child{padding-left:0}.Table__cell:last-child{padding-right:0}.Table__row--header .Table__cell,.Table__cell--header{font-weight:700;padding-bottom:.5em}.Table__cell--collapsing{width:1%;white-space:nowrap}.Tabs{display:flex;align-items:stretch;overflow:hidden;background-color:#131313}.Tabs--fill{height:100%}.Section .Tabs{background-color:rgba(0,0,0,0)}.Section:not(.Section--fitted) .Tabs{margin:0 -.5em .5em}.Section:not(.Section--fitted) .Tabs:first-child{margin-top:-.5em}.Tabs--vertical{flex-direction:column;padding:.25em 0 .25em .25em}.Tabs--horizontal{margin-bottom:.5em;padding:.25em .25em 0}.Tabs--horizontal:last-child{margin-bottom:0}.Tabs__Tab{flex-grow:0}.Tabs--fluid .Tabs__Tab{flex-grow:1}.Tab{display:flex;align-items:center;justify-content:space-between;background-color:rgba(0,0,0,0);color:rgba(255,255,255,.5);min-height:2.25em;min-width:4em;transition:background-color 50ms ease-out}.Tab:not(.Tab--selected):hover{background-color:rgba(255,255,255,.075);transition:background-color 0}.Tab--selected{background-color:rgba(255,255,255,.125);color:#dfe7f0}.Tab__text{flex-grow:1;margin:0 .5em}.Tab__left{min-width:1.5em;text-align:center;margin-left:.25em}.Tab__right{min-width:1.5em;text-align:center;margin-right:.25em}.Tabs--horizontal .Tab{border-top:.1666666667em solid rgba(0,0,0,0);border-bottom:.1666666667em solid rgba(0,0,0,0);border-top-left-radius:.25em;border-top-right-radius:.25em}.Tabs--horizontal .Tab--selected{border-bottom:.1666666667em solid #d4dfec}.Tabs--vertical .Tab{min-height:2em;border-left:.1666666667em solid rgba(0,0,0,0);border-right:.1666666667em solid rgba(0,0,0,0);border-top-left-radius:.25em;border-bottom-left-radius:.25em}.Tabs--vertical .Tab--selected{border-right:.1666666667em solid #d4dfec}.Tab--selected.Tab--color--black{color:#535353}.Tabs--horizontal .Tab--selected.Tab--color--black{border-bottom-color:#1a1a1a}.Tabs--vertical .Tab--selected.Tab--color--black{border-right-color:#1a1a1a}.Tab--selected.Tab--color--white{color:#fff}.Tabs--horizontal .Tab--selected.Tab--color--white{border-bottom-color:#fff}.Tabs--vertical .Tab--selected.Tab--color--white{border-right-color:#fff}.Tab--selected.Tab--color--red{color:#e76e6e}.Tabs--horizontal .Tab--selected.Tab--color--red{border-bottom-color:#df3e3e}.Tabs--vertical .Tab--selected.Tab--color--red{border-right-color:#df3e3e}.Tab--selected.Tab--color--orange{color:#f69f66}.Tabs--horizontal .Tab--selected.Tab--color--orange{border-bottom-color:#f37f33}.Tabs--vertical .Tab--selected.Tab--color--orange{border-right-color:#f37f33}.Tab--selected.Tab--color--yellow{color:#fce358}.Tabs--horizontal .Tab--selected.Tab--color--yellow{border-bottom-color:#fbda21}.Tabs--vertical .Tab--selected.Tab--color--yellow{border-right-color:#fbda21}.Tab--selected.Tab--color--olive{color:#d8eb55}.Tabs--horizontal .Tab--selected.Tab--color--olive{border-bottom-color:#cbe41c}.Tabs--vertical .Tab--selected.Tab--color--olive{border-right-color:#cbe41c}.Tab--selected.Tab--color--green{color:#53e074}.Tabs--horizontal .Tab--selected.Tab--color--green{border-bottom-color:#25ca4c}.Tabs--vertical .Tab--selected.Tab--color--green{border-right-color:#25ca4c}.Tab--selected.Tab--color--teal{color:#21fff5}.Tabs--horizontal .Tab--selected.Tab--color--teal{border-bottom-color:#00d6cc}.Tabs--vertical .Tab--selected.Tab--color--teal{border-right-color:#00d6cc}.Tab--selected.Tab--color--blue{color:#62aee6}.Tabs--horizontal .Tab--selected.Tab--color--blue{border-bottom-color:#2e93de}.Tabs--vertical .Tab--selected.Tab--color--blue{border-right-color:#2e93de}.Tab--selected.Tab--color--violet{color:#9676db}.Tabs--horizontal .Tab--selected.Tab--color--violet{border-bottom-color:#7349cf}.Tabs--vertical .Tab--selected.Tab--color--violet{border-right-color:#7349cf}.Tab--selected.Tab--color--purple{color:#c274db}.Tabs--horizontal .Tab--selected.Tab--color--purple{border-bottom-color:#ad45d0}.Tabs--vertical .Tab--selected.Tab--color--purple{border-right-color:#ad45d0}.Tab--selected.Tab--color--pink{color:#ea79b9}.Tabs--horizontal .Tab--selected.Tab--color--pink{border-bottom-color:#e34da1}.Tabs--vertical .Tab--selected.Tab--color--pink{border-right-color:#e34da1}.Tab--selected.Tab--color--brown{color:#ca9775}.Tabs--horizontal .Tab--selected.Tab--color--brown{border-bottom-color:#b97447}.Tabs--vertical .Tab--selected.Tab--color--brown{border-right-color:#b97447}.Tab--selected.Tab--color--grey{color:#a3a3a3}.Tabs--horizontal .Tab--selected.Tab--color--grey{border-bottom-color:#848484}.Tabs--vertical .Tab--selected.Tab--color--grey{border-right-color:#848484}.Tab--selected.Tab--color--good{color:#8cd95a}.Tabs--horizontal .Tab--selected.Tab--color--good{border-bottom-color:#68c22d}.Tabs--vertical .Tab--selected.Tab--color--good{border-right-color:#68c22d}.Tab--selected.Tab--color--average{color:#f5b35e}.Tabs--horizontal .Tab--selected.Tab--color--average{border-bottom-color:#f29a29}.Tabs--vertical .Tab--selected.Tab--color--average{border-right-color:#f29a29}.Tab--selected.Tab--color--bad{color:#e76e6e}.Tabs--horizontal .Tab--selected.Tab--color--bad{border-bottom-color:#df3e3e}.Tabs--vertical .Tab--selected.Tab--color--bad{border-right-color:#df3e3e}.Tab--selected.Tab--color--label{color:#a8b4c4}.Tabs--horizontal .Tab--selected.Tab--color--label{border-bottom-color:#8b9bb0}.Tabs--vertical .Tab--selected.Tab--color--label{border-right-color:#8b9bb0}.Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #88bfff;border:.0833333333em solid rgba(136,191,255,.75);border-radius:.16em;color:#fff;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.Input--fluid{display:block;width:auto}.Input__baseline{display:inline-block;color:rgba(0,0,0,0)}.Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:rgba(0,0,0,0);color:#fff;color:inherit}.Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.Input--monospace .Input__input{font-family:Consolas,monospace}.TextArea{position:relative;display:inline-block;border:.0833333333em solid #88bfff;border:.0833333333em solid rgba(136,191,255,.75);border-radius:.16em;background-color:#0a0a0a;margin-right:.1666666667em;line-height:1.4166666667em;box-sizing:border-box;width:100%}.TextArea--fluid{display:block;width:auto;height:auto}.TextArea__textarea{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;height:100%;font-size:1em;line-height:1.4166666667em;min-height:1.4166666667em;margin:0;padding:0 .5em;font-family:inherit;background-color:rgba(0,0,0,0);color:inherit;box-sizing:border-box;word-wrap:break-word;overflow:hidden}.TextArea__textarea:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.Tooltip{z-index:2;padding:.5em .75em;pointer-events:none;text-align:left;transition:opacity .15s ease-out;background-color:#000;color:#fff;box-shadow:.1em .1em 1.25em -.1em rgba(0,0,0,.5);border-radius:.16em;max-width:20.8333333333em}.Chat{color:#abc6ec}.Chat__badge{display:inline-block;min-width:.5em;font-size:.7em;padding:.2em .3em;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#dc143c;border-radius:10px;transition:font-size .2s ease-out}.Chat__badge:before{content:"x"}.Chat__badge--animate{font-size:.9em;transition:font-size 0ms}.Chat__scrollButton{position:fixed;right:2em;bottom:1em}.Chat__reconnected{font-size:.85em;text-align:center;margin:1em 0 2em}.Chat__reconnected:before{content:"Reconnected";display:inline-block;border-radius:1em;padding:0 .7em;color:#db2828;background-color:#131313}.Chat__reconnected:after{content:"";display:block;margin-top:-.75em;border-bottom:.1666666667em solid #db2828}.Chat__highlight{color:#000}.Chat__highlight--restricted{color:#fff;background-color:#a00;font-weight:700}.ChatMessage{word-wrap:break-word}.ChatMessage--highlighted{position:relative;border-left:.1666666667em solid #fd4;padding-left:.5em}.ChatMessage--highlighted:after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;background-color:rgba(255,221,68,.1);pointer-events:none}.Ping{position:relative;padding:.125em .25em;border:.0833333333em solid rgba(140,140,140,.5);border-radius:.25em;width:3.75em;text-align:right}.Ping__indicator{content:"";position:absolute;top:.5em;left:.5em;width:.5em;height:.5em;background-color:#888;border-radius:.25em}.Notifications{position:absolute;bottom:1em;left:1em;right:2em}.Notification{color:#fff;background-color:#dc143c;padding:.5em;margin:1em 0}.Notification:first-child{margin-top:0}.Notification:last-child{margin-bottom:0}.Layout,.Layout *{scrollbar-base-color:#181818;scrollbar-face-color:#363636;scrollbar-3dlight-color:#202020;scrollbar-highlight-color:#202020;scrollbar-track-color:#181818;scrollbar-arrow-color:#909090;scrollbar-shadow-color:#363636}.Layout__content{position:absolute;top:0;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden}.Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.Layout__content--flexRow{display:flex;flex-flow:row}.Layout__content--flexColumn{display:flex;flex-flow:column}.Window{position:fixed;top:0;bottom:0;left:0;right:0;color:#fff;background-color:#202020;background-image:linear-gradient(to bottom,#202020 0%,#202020 100%)}.Window__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;height:2.6666666667rem}.Window__rest{position:fixed;top:32px;top:2.6666666667rem;bottom:0;left:0;right:0}.Window__contentPadding{margin:.5rem;height:100%;height:calc(100% - 1.01rem)}.Window__contentPadding:after{height:0}.Layout__content--scrollable .Window__contentPadding:after{display:block;content:"";height:.5rem}.Window__dimmer{position:fixed;top:0;bottom:0;left:0;right:0;background-color:rgba(56,56,56,.25);pointer-events:none}.Window__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;width:1.6666666667rem;height:20px;height:1.6666666667rem;cursor:se-resize}.Window__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;height:.5rem;cursor:s-resize}.Window__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;width:.25rem;cursor:e-resize}img{margin:0;padding:0;line-height:1;-ms-interpolation-mode:nearest-neighbor;image-rendering:pixelated}img.icon{height:1em;min-height:16px;width:auto;vertical-align:bottom}a{color:#397ea5}a.visited,a:visited{color:#7c00e6}a.popt{text-decoration:none}.popup{position:fixed;top:50%;left:50%;background:#ddd}.popup .close{position:absolute;background:#aaa;top:0;right:0;color:#333;text-decoration:none;z-index:2;padding:0 10px;height:30px;line-height:30px}.popup .close:hover{background:#999}.popup .head{background:#999;color:#ddd;padding:0 10px;height:30px;line-height:30px;text-transform:uppercase;font-size:.9em;font-weight:700;border-bottom:2px solid green}.popup input{border:1px solid #999;background:#fff;margin:0;padding:5px;outline:none;color:#333}.popup input[type=text]:hover,.popup input[type=text]:active,.popup input[type=text]:focus{border-color:green}.popup input[type=submit]{padding:5px 10px;background:#999;color:#ddd;text-transform:uppercase;font-size:.9em;font-weight:700}.popup input[type=submit]:hover,.popup input[type=submit]:focus,.popup input[type=submit]:active{background:#aaa;cursor:pointer}.changeFont{padding:10px}.changeFont a{display:block;text-decoration:none;padding:3px;color:#333}.changeFont a:hover{background:#ccc}.highlightPopup{padding:10px;text-align:center}.highlightPopup input[type=text]{display:block;width:215px;text-align:left;margin-top:5px}.highlightPopup input.highlightColor{background-color:#ff0}.highlightPopup input.highlightTermSubmit{margin-top:5px}.contextMenu{background-color:#ddd;position:fixed;margin:2px;width:150px}.contextMenu a{display:block;padding:2px 5px;text-decoration:none;color:#333}.contextMenu a:hover{background-color:#ccc}.filterMessages{padding:5px}.filterMessages div{padding:2px 0}.icon-stack{height:1em;line-height:1em;width:1em;vertical-align:middle;margin-top:-2px}.motd{color:#a4bad6;font-family:Verdana,sans-serif;white-space:normal}.motd h1,.motd h2,.motd h3,.motd h4,.motd h5,.motd h6{color:#a4bad6;text-decoration:underline}.motd a,.motd a:link,.motd a:visited,.motd a:active,.motd a:hover{color:#a4bad6}.bold,.name,.prefix,.ooc,.looc,.adminooc,.admin,.medal,.yell{font-weight:700}.italic,.italics{font-style:italic}.highlight{background:#ff0}h1,h2,h3,h4,h5,h6{color:#a4bad6;font-family:Georgia,Verdana,sans-serif}h1.alert,h2.alert{color:#a4bad6}em{font-style:normal;font-weight:700}.ooc{color:#cca300;font-weight:700}.ooc .elevated{color:#2e78d9}.ooc .moderator{color:#184880}.ooc .developer{color:#1b521f}.ooc .admin{color:#b82e00}.ooc .event_manager{color:#603}.ooc .aooc{color:#960018}img.text_tag{width:32px;height:10px;min-height:10px}img.icon{vertical-align:middle;max-height:1em}img.icon.bigicon{max-height:32px}.looc{color:#3a9696;font-weight:700}.rlooc{color:#3abb96;font-weight:700}.adminobserverooc{color:#09c;font-weight:700}.adminooc{color:#3d5bc3;font-weight:700}.adminsay{color:#ff4500;font-weight:700}.admin{color:#5975da;font-weight:700}.mentor_channel{color:olive;font-weight:700}.mod_channel{color:#735638;font-weight:700}.admin_channel{color:#9611d4;font-weight:700}.event_channel{color:#c39;font-weight:700}.name{font-weight:700}.psay,.pemote{color:#e300e4;font-style:italic}.deadsay{color:#e2c1ff}.binarysay{color:#1e90ff}.binarysay a{color:#0f0}.binarysay a:active,.binarysay a:visited{color:#8f8}.radio{color:#1ecc43}.sciradio{color:#c68cfa}.comradio{color:#57b8f0}.secradio{color:#dd3535}.medradio{color:#57f09e}.engradio{color:#fcdf03}.supradio{color:#b88646}.srvradio{color:#6ca729}.expradio{color:#8a8a8a}.syndradio{color:#8f4a4b}.gangradio{color:#ac2ea1}.centradio{color:#2681a5}.airadio{color:#d65d95}.redteamradio{color:#f44!important}.blueteamradio{color:#3434fd!important}.greenteamradio{color:#34fd34!important}.yellowteamradio{color:#fdfd34!important}.yell{font-weight:700}.alert,.valert{color:#d82020}.userdanger{color:#c51e1e;font-weight:700;font-size:185%}.bolddanger{color:#c51e1e;font-weight:700}.danger,.vdanger{color:#c51e1e}.warning,.vwarning{color:#c51e1e;font-style:italic}.alertwarning{color:red;font-weight:700}.boldwarning{color:#c51e1e;font-style:italic;font-weight:700}.announce,.boldannounce{color:#c51e1e;font-weight:700}.minorannounce{color:#c51e1e;font-weight:700;font-size:185%}.minoralert{color:#a4bad6;font-size:125%}.priorityannounce{color:#a4bad6;font-weight:700;font-size:225%}.prioritytitle{color:#6685f5;font-weight:700;font-size:185%}.priorityalert{color:#c51e1e;font-size:140%}.greenannounce{color:#059223;font-weight:700}.rose{color:#ff5050}.info{color:#9ab0ff}.notice,.vnotice{color:#6685f5}.tinynotice{color:#6685f5;font-size:85%}.tinynoticeital{color:#6685f5;font-style:italic;font-size:85%}.smallnotice{color:#6685f5;font-size:90%}.smallnoticeital{color:#6685f5;font-style:italic;font-size:90%}.bolditalic{font-style:italic;font-weight:700}.boldnotice{color:#6685f5;font-weight:700}.hear{color:#6685f5;font-style:italic}.adminnotice{color:#6685f5}.adminhelp{color:red;font-weight:700}.log_message{color:#386aff;font-weight:700}.unconscious{color:#a4bad6;font-weight:700}.suicide{color:#ff5050;font-style:italic}.green{color:#059223}.grey{color:#838383}.red{color:red}.crimson{color:#dc143c}.maroon{color:#c60000}.brown{color:#db733b}.blue{color:#4173fd}.black{color:#fff}.darkgray{color:gray}.gray{color:#a9a9a9}.yellow{color:#fc0}.pink{color:pink}.cyan{color:#0ff}.orange{color:#ff8c00}.nicegreen{color:#059223}.boldnicegreen{color:#059223;font-weight:700}.blob{color:#ee4000}.blobannounce{color:#556b2f;font-weight:700;font-size:185%}.cult{color:#973e3b}.cultitalic{color:#973e3b;font-style:italic}.cultbold{color:#973e3b;font-style:italic;font-weight:700}.cultboldtalic,.cultlarge{color:#973e3b;font-weight:700;font-size:185%}.narsie{color:#973e3b;font-weight:700;font-size:925%}.narsiesmall{color:#973e3b;font-weight:700;font-size:370%}.colossus{color:#7f282a;font-size:310%}.hierophant{color:#b441ee;font-weight:700;font-style:italic}.hierophant_warning{color:#c56bf1;font-style:italic}.purple{color:#9956d3}.holoparasite{color:#88809c}.revennotice{color:#c099e2}.revenboldnotice{color:#c099e2;font-weight:700}.revenbignotice{color:#c099e2;font-weight:700;font-size:185%}.revenminor{color:#823abb}.revenwarning{color:#760fbb;font-style:italic}.revendanger{color:#760fbb;font-weight:700;font-size:185%}.deconversion_message{color:#a947ff;font-size:185%;font-style:italic}.ghostalert{color:#60f;font-style:italic;font-weight:700}.alien{color:#855d85}.noticealien{color:#059223}.alertalien{color:#059223;font-weight:700}.changeling{color:#b000b1;font-style:italic}.alertsyndie{color:red;font-size:185%;font-weight:700}.spiderbroodmother{color:#80f;font-weight:700;font-size:185%}.spiderbreacher{color:#e8b670;font-weight:700;font-size:140%}.spiderscout{color:#231d98;font-weight:700;font-size:120%}.interface{color:#961196}.sans{font-family:Comic Sans MS,cursive,sans-serif}.papyrus{font-family:Papyrus,cursive,sans-serif}.robot{font-family:Courier New,cursive,sans-serif}.tape_recorder{color:red;font-family:Courier New,cursive,sans-serif}.command_headset{font-weight:700;font-size:160%}.small{font-size:60%}.big{font-size:185%}.reallybig{font-size:245%}.extremelybig{font-size:310%}.greentext{color:#059223;font-size:185%}.redtext{color:#c51e1e;font-size:185%}.clown{color:#ff70c1;font-size:160%;font-family:Comic Sans MS,cursive,sans-serif;font-weight:700}.singing{font-family:Trebuchet MS,cursive,sans-serif;font-style:italic}.his_grace{color:#15d512;font-family:Courier New,cursive,sans-serif;font-style:italic}.hypnophrase{color:#202020;font-weight:700;animation:hypnocolor 1.5s infinite;animation-direction:alternate}.phobia{color:#d00;font-weight:700;animation:phobia .75s infinite}.icon{height:1em;width:auto}.bigicon{font-size:2.5em}.hugeicon{font-size:5em}.memo{color:#638500;text-align:center}.memoedit{text-align:center;font-size:125%}.abductor{color:#c204c2;font-style:italic}.mind_control{color:#df3da9;font-size:100%;font-weight:700;font-style:italic}.slime{color:#00ced1}.drone{color:#848482}.monkey{color:#975032}.swarmer{color:#2c75ff}.resonate{color:#298f85}.upside_down{display:inline;-moz-transform:scale(-1,-1);-webkit-transform:scale(-1,-1);-o-transform:scale(-1,-1);-ms-transform:scale(-1,-1);transform:scale(-1)}.connectionClosed,.fatalError{background:red;color:#fff;padding:5px}.connectionClosed.restored{background:green}.internal.boldnshit{color:#3d5bc3;font-weight:700}.text-normal{font-weight:400;font-style:normal}.hidden{display:none;visibility:hidden}.ml-1{margin-left:1em}.ml-2{margin-left:2em}.ml-3{margin-left:3em}.examine_block{background:#1b1c1e;border:1px solid #a4bad6;margin:.5em;padding:.5em .75em}.tooltip{font-style:italic;border-bottom:1px dashed #fff}.major_announcement_title{font-size:175%;padding:0rem .5rem;line-height:100%;text-align:left;text-decoration:none;width:100%}.subheader_announcement_text{font-weight:700;padding:.25rem .5rem 0;line-height:100%;width:100%;height:100%;text-align:left;font-size:125%}.major_announcement_text{color:#eaeaea;background-color:#131313;font-weight:700;font-size:100%;text-align:left;padding:.5rem;width:100%;height:100%}.minor_announcement_title{font-weight:700;padding:0 .5rem;padding-top:0;line-height:100%;width:100%;height:100%;text-align:left;font-size:150%}.minor_announcement_text{background-color:#202020;color:#eaeaea;padding:.5rem;text-align:left;font-size:100%}.announcement_header{padding:.5rem 0;display:flex;flex-direction:column}.chat_alert_default{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#003045,#003045 10px,#00283a 10px,#00283a 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.chat_alert_default .major_announcement_title,.chat_alert_default .minor_announcement_title{color:#33d5ff}.chat_alert_default .subheader_announcement_text{color:#ff5297}.chat_alert_default .minor_announcement_text,.chat_alert_default .major_announcement_text{background-color:#001621}.chat_alert_green{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#004700,#004700 10px,#003d00 10px,#003d00 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.chat_alert_green .major_announcement_title,.chat_alert_green .minor_announcement_title{color:#00ff80}.chat_alert_green .subheader_announcement_text{color:#ff85b5}.chat_alert_green .minor_announcement_text,.chat_alert_green .major_announcement_text{background-color:#002400}.chat_alert_blue{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#003045,#003045 10px,#00283a 10px,#00283a 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.chat_alert_blue .major_announcement_title,.chat_alert_blue .minor_announcement_title{color:#33d5ff}.chat_alert_blue .subheader_announcement_text{color:#ff5297}.chat_alert_blue .minor_announcement_text,.chat_alert_blue .major_announcement_text{background-color:#001621}.chat_alert_pink{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#400025,#400025 10px,#30001b 10px,#30001b 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.chat_alert_pink .major_announcement_title,.chat_alert_pink .minor_announcement_title{color:#ff5297}.chat_alert_pink .subheader_announcement_text{color:#33d5ff}.chat_alert_pink .minor_announcement_text,.chat_alert_pink .major_announcement_text{background-color:#17000d}.chat_alert_yellow{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#4d4100,#4d4100 10px,#574a00 10px,#574a00 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.chat_alert_yellow .major_announcement_title,.chat_alert_yellow .minor_announcement_title{color:#fff4e0}.chat_alert_yellow .subheader_announcement_text{color:#33d5ff}.chat_alert_yellow .minor_announcement_text,.chat_alert_yellow .major_announcement_text{background-color:#3e3400}.chat_alert_orange{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#6b4200,#6b4200 10px,#593400 10px,#593400 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.chat_alert_orange .major_announcement_title,.chat_alert_orange .minor_announcement_title{color:#feefe7}.chat_alert_orange .subheader_announcement_text{color:#33d5ff}.chat_alert_orange .minor_announcement_text,.chat_alert_orange .major_announcement_text{background-color:#402500}.chat_alert_red{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#520000,#520000 10px,#420000 10px,#420000 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.chat_alert_red .major_announcement_title,.chat_alert_red .minor_announcement_title{color:#ff5297}.chat_alert_red .subheader_announcement_text{color:#33d5ff}.chat_alert_red .minor_announcement_text,.chat_alert_red .major_announcement_text{background-color:#290000}.chat_alert_purple{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#38003d,#38003d 10px,#2c0030 10px,#2c0030 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.chat_alert_purple .major_announcement_title,.chat_alert_purple .minor_announcement_title{color:#c7a1f7}.chat_alert_purple .subheader_announcement_text{color:#33d5ff}.chat_alert_purple .minor_announcement_text,.chat_alert_purple .major_announcement_text{background-color:#150017}.chat_alert_grey{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#292929,#292929 10px,#252525 10px,#252525 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.chat_alert_grey .major_announcement_title,.chat_alert_grey .minor_announcement_title{color:#ff5297}.chat_alert_grey .subheader_announcement_text{color:#33d5ff}.chat_alert_grey .minor_announcement_text,.chat_alert_grey .major_announcement_text{background-color:#181818}.tajaran{color:#803b56}.tajaran_signlang{color:#941c1c}.akhani{color:#ac398c}.skrell{color:#00b0b3}.skrellfar{color:#70fcff}.soghun{color:#50ba6c}.solcom{color:#6da6f0}.sergal{color:#07f}.birdsongc{color:#c90}.vulpkanin{color:#b97a57}.tavan{color:#f54298;font-family:Arial}.echosong{color:#826d8c}.enochian{color:#848a33;letter-spacing:-1pt;word-spacing:4pt;font-family:Lucida Sans Unicode,Lucida Grande,sans-serif}.daemon{color:#5e339e;letter-spacing:-1pt;word-spacing:0pt;font-family:Courier New,Courier,monospace}.drudakar{color:#bb2463;word-spacing:0pt;font-family:High Tower Text,monospace}.bug{color:#9e9e39}.vox{color:#a0a}.promethean{color:#a5a5a5;font-family:Comic Sans MS,Comic Sans,cursive}.zaddat{color:#941c1c}.rough{font-family:Trebuchet MS,cursive,sans-serif}.say_quote{font-family:Georgia,Verdana,sans-serif}.say_quote_italics{font-style:italic;font-family:Georgia,Verdana,sans-serif}.terminus{font-family:Times New Roman,Times,serif,sans-serif}.spacer{color:#9c660b}.teppi{color:#816540;word-spacing:4pt;font-family:Segoe Script Bold,Segoe Script,sans-serif,Verdana}.shadekin{color:#be3cc5;font-size:150%;font-weight:700;font-family:Gabriola,cursive,sans-serif}.theme-light .color-black{color:#000!important}.theme-light .color-white{color:#e6e6e6!important}.theme-light .color-red{color:#c82121!important}.theme-light .color-orange{color:#e6630d!important}.theme-light .color-yellow{color:#e5c304!important}.theme-light .color-olive{color:#a3b816!important}.theme-light .color-green{color:#1d9f3b!important}.theme-light .color-teal{color:#00a39c!important}.theme-light .color-blue{color:#1e78bb!important}.theme-light .color-violet{color:#5a30b5!important}.theme-light .color-purple{color:#932eb4!important}.theme-light .color-pink{color:#db228a!important}.theme-light .color-brown{color:#955d39!important}.theme-light .color-grey{color:#e6e6e6!important}.theme-light .color-good{color:#529923!important}.theme-light .color-average{color:#da810e!important}.theme-light .color-bad{color:#c82121!important}.theme-light .color-label{color:#353535!important}.theme-light .color-bg-black{background-color:#000!important}.theme-light .color-bg-white{background-color:#bfbfbf!important}.theme-light .color-bg-red{background-color:#a61c1c!important}.theme-light .color-bg-orange{background-color:#c0530b!important}.theme-light .color-bg-yellow{background-color:#bfa303!important}.theme-light .color-bg-olive{background-color:#889912!important}.theme-light .color-bg-green{background-color:#188532!important}.theme-light .color-bg-teal{background-color:#008882!important}.theme-light .color-bg-blue{background-color:#19649c!important}.theme-light .color-bg-violet{background-color:#4b2897!important}.theme-light .color-bg-purple{background-color:#7a2696!important}.theme-light .color-bg-pink{background-color:#b61d73!important}.theme-light .color-bg-brown{background-color:#7c4d2f!important}.theme-light .color-bg-grey{background-color:#bfbfbf!important}.theme-light .color-bg-good{background-color:#44801d!important}.theme-light .color-bg-average{background-color:#b56b0b!important}.theme-light .color-bg-bad{background-color:#a61c1c!important}.theme-light .color-bg-label{background-color:#2c2c2c!important}.theme-light .Tabs{display:flex;align-items:stretch;overflow:hidden;background-color:#fff}.theme-light .Tabs--fill{height:100%}.theme-light .Section .Tabs{background-color:rgba(0,0,0,0)}.theme-light .Section:not(.Section--fitted) .Tabs{margin:0 -.5em .5em}.theme-light .Section:not(.Section--fitted) .Tabs:first-child{margin-top:-.5em}.theme-light .Tabs--vertical{flex-direction:column;padding:.25em 0 .25em .25em}.theme-light .Tabs--horizontal{margin-bottom:.5em;padding:.25em .25em 0}.theme-light .Tabs--horizontal:last-child{margin-bottom:0}.theme-light .Tabs__Tab{flex-grow:0}.theme-light .Tabs--fluid .Tabs__Tab{flex-grow:1}.theme-light .Tab{display:flex;align-items:center;justify-content:space-between;background-color:rgba(0,0,0,0);color:rgba(0,0,0,.5);min-height:2.25em;min-width:4em;transition:background-color 50ms ease-out}.theme-light .Tab:not(.Tab--selected):hover{background-color:rgba(255,255,255,.075);transition:background-color 0}.theme-light .Tab--selected{background-color:rgba(255,255,255,.125);color:#404040}.theme-light .Tab__text{flex-grow:1;margin:0 .5em}.theme-light .Tab__left{min-width:1.5em;text-align:center;margin-left:.25em}.theme-light .Tab__right{min-width:1.5em;text-align:center;margin-right:.25em}.theme-light .Tabs--horizontal .Tab{border-top:.1666666667em solid rgba(0,0,0,0);border-bottom:.1666666667em solid rgba(0,0,0,0);border-top-left-radius:.25em;border-top-right-radius:.25em}.theme-light .Tabs--horizontal .Tab--selected{border-bottom:.1666666667em solid #000}.theme-light .Tabs--vertical .Tab{min-height:2em;border-left:.1666666667em solid rgba(0,0,0,0);border-right:.1666666667em solid rgba(0,0,0,0);border-top-left-radius:.25em;border-bottom-left-radius:.25em}.theme-light .Tabs--vertical .Tab--selected{border-right:.1666666667em solid #000}.theme-light .Tab--selected.Tab--color--black{color:#404040}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--black{border-bottom-color:#000}.theme-light .Tabs--vertical .Tab--selected.Tab--color--black{border-right-color:#000}.theme-light .Tab--selected.Tab--color--white{color:#ececec}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--white{border-bottom-color:#e6e6e6}.theme-light .Tabs--vertical .Tab--selected.Tab--color--white{border-right-color:#e6e6e6}.theme-light .Tab--selected.Tab--color--red{color:#e14d4d}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--red{border-bottom-color:#c82121}.theme-light .Tabs--vertical .Tab--selected.Tab--color--red{border-right-color:#c82121}.theme-light .Tab--selected.Tab--color--orange{color:#f48942}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--orange{border-bottom-color:#e6630d}.theme-light .Tabs--vertical .Tab--selected.Tab--color--orange{border-right-color:#e6630d}.theme-light .Tab--selected.Tab--color--yellow{color:#fcdd33}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--yellow{border-bottom-color:#e5c304}.theme-light .Tabs--vertical .Tab--selected.Tab--color--yellow{border-right-color:#e5c304}.theme-light .Tab--selected.Tab--color--olive{color:#d0e732}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--olive{border-bottom-color:#a3b816}.theme-light .Tabs--vertical .Tab--selected.Tab--color--olive{border-right-color:#a3b816}.theme-light .Tab--selected.Tab--color--green{color:#33da5a}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--green{border-bottom-color:#1d9f3b}.theme-light .Tabs--vertical .Tab--selected.Tab--color--green{border-right-color:#1d9f3b}.theme-light .Tab--selected.Tab--color--teal{color:#00faef}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--teal{border-bottom-color:#00a39c}.theme-light .Tabs--vertical .Tab--selected.Tab--color--teal{border-right-color:#00a39c}.theme-light .Tab--selected.Tab--color--blue{color:#419ce1}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--blue{border-bottom-color:#1e78bb}.theme-light .Tabs--vertical .Tab--selected.Tab--color--blue{border-right-color:#1e78bb}.theme-light .Tab--selected.Tab--color--violet{color:#7f58d3}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--violet{border-bottom-color:#5a30b5}.theme-light .Tabs--vertical .Tab--selected.Tab--color--violet{border-right-color:#5a30b5}.theme-light .Tab--selected.Tab--color--purple{color:#b455d4}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--purple{border-bottom-color:#932eb4}.theme-light .Tabs--vertical .Tab--selected.Tab--color--purple{border-right-color:#932eb4}.theme-light .Tab--selected.Tab--color--pink{color:#e558a7}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--pink{border-bottom-color:#db228a}.theme-light .Tabs--vertical .Tab--selected.Tab--color--pink{border-right-color:#db228a}.theme-light .Tab--selected.Tab--color--brown{color:#c0825a}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--brown{border-bottom-color:#955d39}.theme-light .Tabs--vertical .Tab--selected.Tab--color--brown{border-right-color:#955d39}.theme-light .Tab--selected.Tab--color--grey{color:#ececec}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--grey{border-bottom-color:#e6e6e6}.theme-light .Tabs--vertical .Tab--selected.Tab--color--grey{border-right-color:#e6e6e6}.theme-light .Tab--selected.Tab--color--good{color:#77d23b}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--good{border-bottom-color:#529923}.theme-light .Tabs--vertical .Tab--selected.Tab--color--good{border-right-color:#529923}.theme-light .Tab--selected.Tab--color--average{color:#f3a23a}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--average{border-bottom-color:#da810e}.theme-light .Tabs--vertical .Tab--selected.Tab--color--average{border-right-color:#da810e}.theme-light .Tab--selected.Tab--color--bad{color:#e14d4d}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--bad{border-bottom-color:#c82121}.theme-light .Tabs--vertical .Tab--selected.Tab--color--bad{border-right-color:#c82121}.theme-light .Tab--selected.Tab--color--label{color:#686868}.theme-light .Tabs--horizontal .Tab--selected.Tab--color--label{border-bottom-color:#353535}.theme-light .Tabs--vertical .Tab--selected.Tab--color--label{border-right-color:#353535}.theme-light .Section{position:relative;margin-bottom:.5em;background-color:#fff;box-sizing:border-box}.theme-light .Section:last-child{margin-bottom:0}.theme-light .Section__title{position:relative;padding:.5em;border-bottom:.1666666667em solid #fff}.theme-light .Section__titleText{font-size:1.1666666667em;font-weight:700;color:#000}.theme-light .Section__buttons{position:absolute;display:inline-block;right:.5em;margin-top:-.0833333333em}.theme-light .Section__rest{position:relative}.theme-light .Section__content{padding:.66em .5em}.theme-light .Section--fitted>.Section__rest>.Section__content{padding:0}.theme-light .Section--fill{display:flex;flex-direction:column;height:100%}.theme-light .Section--fill>.Section__rest{flex-grow:1}.theme-light .Section--fill>.Section__rest>.Section__content{height:100%}.theme-light .Section--fill.Section--scrollable>.Section__rest>.Section__content{position:absolute;top:0;left:0;right:0;bottom:0}.theme-light .Section--fill.Section--iefix{display:table!important;width:100%!important;height:100%!important;border-collapse:collapse;border-spacing:0}.theme-light .Section--fill.Section--iefix>.Section__rest{display:table-row!important;height:100%!important}.theme-light .Section--scrollable{overflow-x:hidden;overflow-y:hidden}.theme-light .Section--scrollable>.Section__rest>.Section__content{overflow-y:scroll;overflow-x:hidden}.theme-light .Section--scrollableHorizontal{overflow-x:hidden;overflow-y:hidden}.theme-light .Section--scrollableHorizontal>.Section__rest>.Section__content{overflow-y:hidden;overflow-x:scroll}.theme-light .Section--scrollable.Section--scrollableHorizontal{overflow-x:hidden;overflow-y:hidden}.theme-light .Section--scrollable.Section--scrollableHorizontal>.Section__rest>.Section__content{overflow-y:scroll;overflow-x:scroll}.theme-light .Section .Section{background-color:rgba(0,0,0,0);margin-left:-.5em;margin-right:-.5em}.theme-light .Section .Section:first-child{margin-top:-.5em}.theme-light .Section .Section .Section__titleText{font-size:1.0833333333em}.theme-light .Section .Section .Section .Section__titleText{font-size:1em}.theme-light .Section--flex{display:flex;flex-flow:column}.theme-light .Section--flex .Section__content{overflow:auto;flex-grow:1}.theme-light .Section__content--noTopPadding{padding-top:0}.theme-light .Section__content--stretchContents{height:calc(100% - 3rem)}.theme-light .Button{position:relative;display:inline-block;line-height:1.667em;padding:0 .5em;margin-right:.1666666667em;white-space:nowrap;outline:0;border-radius:.16em;margin-bottom:.1666666667em;user-select:none;-ms-user-select:none}.theme-light .Button:last-child{margin-right:0;margin-bottom:0}.theme-light .Button .fa,.theme-light .Button .fas,.theme-light .Button .far{margin-left:-.25em;margin-right:-.25em;min-width:1.333em;text-align:center}.theme-light .Button--hasContent .fa,.theme-light .Button--hasContent .fas,.theme-light .Button--hasContent .far{margin-right:.25em}.theme-light .Button--hasContent.Button--iconPosition--right .fa,.theme-light .Button--hasContent.Button--iconPosition--right .fas,.theme-light .Button--hasContent.Button--iconPosition--right .far{margin-right:0;margin-left:3px}.theme-light .Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.theme-light .Button--fluid{display:block;margin-left:0;margin-right:0}.theme-light .Button--circular{border-radius:50%}.theme-light .Button--compact{padding:0 .25em;line-height:1.333em}.theme-light .Button--color--black{transition:color 50ms,background-color 50ms;background-color:#000;color:#fff}.theme-light .Button--color--black:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--black:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--black:hover,.theme-light .Button--color--black:focus{background-color:#131313;color:#fff}.theme-light .Button--color--white{transition:color 50ms,background-color 50ms;background-color:#bfbfbf;color:#000}.theme-light .Button--color--white:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--white:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--white:hover,.theme-light .Button--color--white:focus{background-color:#efefef;color:#000}.theme-light .Button--color--red{transition:color 50ms,background-color 50ms;background-color:#a61c1c;color:#fff}.theme-light .Button--color--red:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--red:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--red:hover,.theme-light .Button--color--red:focus{background-color:#d23333;color:#fff}.theme-light .Button--color--orange{transition:color 50ms,background-color 50ms;background-color:#c0530b;color:#fff}.theme-light .Button--color--orange:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--orange:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--orange:hover,.theme-light .Button--color--orange:focus{background-color:#ea7426;color:#fff}.theme-light .Button--color--yellow{transition:color 50ms,background-color 50ms;background-color:#bfa303;color:#fff}.theme-light .Button--color--yellow:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--yellow:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--yellow:hover,.theme-light .Button--color--yellow:focus{background-color:#efce17;color:#fff}.theme-light .Button--color--olive{transition:color 50ms,background-color 50ms;background-color:#889912;color:#fff}.theme-light .Button--color--olive:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--olive:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--olive:hover,.theme-light .Button--color--olive:focus{background-color:#afc328;color:#fff}.theme-light .Button--color--green{transition:color 50ms,background-color 50ms;background-color:#188532;color:#fff}.theme-light .Button--color--green:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--green:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--green:hover,.theme-light .Button--color--green:focus{background-color:#2fac4c;color:#fff}.theme-light .Button--color--teal{transition:color 50ms,background-color 50ms;background-color:#008882;color:#fff}.theme-light .Button--color--teal:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--teal:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--teal:hover,.theme-light .Button--color--teal:focus{background-color:#13afa9;color:#fff}.theme-light .Button--color--blue{transition:color 50ms,background-color 50ms;background-color:#19649c;color:#fff}.theme-light .Button--color--blue:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--blue:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--blue:hover,.theme-light .Button--color--blue:focus{background-color:#3086c7;color:#fff}.theme-light .Button--color--violet{transition:color 50ms,background-color 50ms;background-color:#4b2897;color:#fff}.theme-light .Button--color--violet:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--violet:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--violet:hover,.theme-light .Button--color--violet:focus{background-color:#6a41c1;color:#fff}.theme-light .Button--color--purple{transition:color 50ms,background-color 50ms;background-color:#7a2696;color:#fff}.theme-light .Button--color--purple:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--purple:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--purple:hover,.theme-light .Button--color--purple:focus{background-color:#a03fc0;color:#fff}.theme-light .Button--color--pink{transition:color 50ms,background-color 50ms;background-color:#b61d73;color:#fff}.theme-light .Button--color--pink:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--pink:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--pink:hover,.theme-light .Button--color--pink:focus{background-color:#da3f96;color:#fff}.theme-light .Button--color--brown{transition:color 50ms,background-color 50ms;background-color:#7c4d2f;color:#fff}.theme-light .Button--color--brown:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--brown:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--brown:hover,.theme-light .Button--color--brown:focus{background-color:#a26c49;color:#fff}.theme-light .Button--color--grey{transition:color 50ms,background-color 50ms;background-color:#bfbfbf;color:#000}.theme-light .Button--color--grey:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--grey:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--grey:hover,.theme-light .Button--color--grey:focus{background-color:#efefef;color:#000}.theme-light .Button--color--good{transition:color 50ms,background-color 50ms;background-color:#44801d;color:#fff}.theme-light .Button--color--good:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--good:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--good:hover,.theme-light .Button--color--good:focus{background-color:#62a635;color:#fff}.theme-light .Button--color--average{transition:color 50ms,background-color 50ms;background-color:#b56b0b;color:#fff}.theme-light .Button--color--average:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--average:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--average:hover,.theme-light .Button--color--average:focus{background-color:#e48f20;color:#fff}.theme-light .Button--color--bad{transition:color 50ms,background-color 50ms;background-color:#a61c1c;color:#fff}.theme-light .Button--color--bad:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--bad:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--bad:hover,.theme-light .Button--color--bad:focus{background-color:#d23333;color:#fff}.theme-light .Button--color--label{transition:color 50ms,background-color 50ms;background-color:#2c2c2c;color:#fff}.theme-light .Button--color--label:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--label:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--label:hover,.theme-light .Button--color--label:focus{background-color:#464646;color:#fff}.theme-light .Button--color--default{transition:color 50ms,background-color 50ms;background-color:#bbb;color:#000}.theme-light .Button--color--default:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--default:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--default:hover,.theme-light .Button--color--default:focus{background-color:#eaeaea;color:#000}.theme-light .Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#be6209;color:#fff}.theme-light .Button--color--caution:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--caution:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--caution:hover,.theme-light .Button--color--caution:focus{background-color:#ec8420;color:#fff}.theme-light .Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#9a9d00;color:#fff}.theme-light .Button--color--danger:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--danger:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--danger:hover,.theme-light .Button--color--danger:focus{background-color:#c4c813;color:#fff}.theme-light .Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#eee;color:#000;background-color:rgba(238,238,238,0);color:rgba(0,0,0,.5)}.theme-light .Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--color--transparent:focus{transition:color .1s,background-color .1s}.theme-light .Button--color--transparent:hover,.theme-light .Button--color--transparent:focus{background-color:#fcfcfc;color:#000}.theme-light .Button--disabled{background-color:#363636!important}.theme-light .Button--selected{transition:color 50ms,background-color 50ms;background-color:#0668b8;color:#fff}.theme-light .Button--selected:hover{transition:color 0ms,background-color 0ms}.theme-light .Button--selected:focus{transition:color .1s,background-color .1s}.theme-light .Button--selected:hover,.theme-light .Button--selected:focus{background-color:#1a8be7;color:#fff}.theme-light .Button--flex{display:inline-flex;flex-direction:column}.theme-light .Button--flex--fluid{width:100%}.theme-light .Button--verticalAlignContent--top{justify-content:flex-start}.theme-light .Button--verticalAlignContent--middle{justify-content:center}.theme-light .Button--verticalAlignContent--bottom{justify-content:flex-end}.theme-light .Button__content{display:block;align-self:stretch}.theme-light .NumberInput{position:relative;display:inline-block;border:.0833333333em solid #353535;border:.0833333333em solid rgba(53,53,53,.75);border-radius:.16em;color:#353535;background-color:#fff;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;text-align:right;overflow:visible;cursor:n-resize}.theme-light .NumberInput--fluid{display:block}.theme-light .NumberInput__content{margin-left:.5em}.theme-light .NumberInput__barContainer{position:absolute;top:.1666666667em;bottom:.1666666667em;left:.1666666667em}.theme-light .NumberInput__bar{position:absolute;bottom:0;left:0;width:.25em;box-sizing:border-box;border-bottom:.0833333333em solid #353535;background-color:#353535}.theme-light .NumberInput__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:#fff;color:#000;text-align:right}.theme-light .Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #353535;border:.0833333333em solid rgba(53,53,53,.75);border-radius:.16em;color:#000;background-color:#fff;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.theme-light .Input--fluid{display:block;width:auto}.theme-light .Input__baseline{display:inline-block;color:rgba(0,0,0,0)}.theme-light .Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:rgba(0,0,0,0);color:#000;color:inherit}.theme-light .Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.theme-light .Input--monospace .Input__input{font-family:Consolas,monospace}.theme-light .TextArea{position:relative;display:inline-block;border:.0833333333em solid #353535;border:.0833333333em solid rgba(53,53,53,.75);border-radius:.16em;background-color:#fff;margin-right:.1666666667em;line-height:1.4166666667em;box-sizing:border-box;width:100%}.theme-light .TextArea--fluid{display:block;width:auto;height:auto}.theme-light .TextArea__textarea{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;height:100%;font-size:1em;line-height:1.4166666667em;min-height:1.4166666667em;margin:0;padding:0 .5em;font-family:inherit;background-color:rgba(0,0,0,0);color:inherit;box-sizing:border-box;word-wrap:break-word;overflow:hidden}.theme-light .TextArea__textarea:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.theme-light .Knob{position:relative;font-size:1rem;width:2.6em;height:2.6em;margin:0 auto -.2em;cursor:n-resize}.theme-light .Knob:after{content:".";color:rgba(0,0,0,0);line-height:2.5em}.theme-light .Knob__circle{position:absolute;top:.1em;bottom:.1em;left:.1em;right:.1em;margin:.3em;background-color:#333;background-image:linear-gradient(to bottom,rgba(255,255,255,.15) 0%,rgba(255,255,255,0) 100%);border-radius:50%;box-shadow:0 .05em .5em rgba(0,0,0,.5)}.theme-light .Knob__cursorBox{position:absolute;top:0;bottom:0;left:0;right:0}.theme-light .Knob__cursor{position:relative;top:.05em;margin:0 auto;width:.2em;height:.8em;background-color:rgba(255,255,255,.9)}.theme-light .Knob__popupValue{position:absolute;top:-2rem;right:50%;font-size:1rem;text-align:center;padding:.25rem .5rem;color:#fff;background-color:#000;transform:translate(50%);white-space:nowrap}.theme-light .Knob__ring{position:absolute;top:0;bottom:0;left:0;right:0;padding:.1em}.theme-light .Knob__ringTrackPivot{transform:rotate(135deg)}.theme-light .Knob__ringTrack{fill:rgba(0,0,0,0);stroke:rgba(255,255,255,.1);stroke-width:8;stroke-linecap:round;stroke-dasharray:235.62}.theme-light .Knob__ringFillPivot{transform:rotate(135deg)}.theme-light .Knob--bipolar .Knob__ringFillPivot{transform:rotate(270deg)}.theme-light .Knob__ringFill{fill:rgba(0,0,0,0);stroke:#6a96c9;stroke-width:8;stroke-linecap:round;stroke-dasharray:314.16;transition:stroke 50ms ease-out}.theme-light .Knob--color--black .Knob__ringFill{stroke:#000}.theme-light .Knob--color--white .Knob__ringFill{stroke:#e6e6e6}.theme-light .Knob--color--red .Knob__ringFill{stroke:#c82121}.theme-light .Knob--color--orange .Knob__ringFill{stroke:#e6630d}.theme-light .Knob--color--yellow .Knob__ringFill{stroke:#e5c304}.theme-light .Knob--color--olive .Knob__ringFill{stroke:#a3b816}.theme-light .Knob--color--green .Knob__ringFill{stroke:#1d9f3b}.theme-light .Knob--color--teal .Knob__ringFill{stroke:#00a39c}.theme-light .Knob--color--blue .Knob__ringFill{stroke:#1e78bb}.theme-light .Knob--color--violet .Knob__ringFill{stroke:#5a30b5}.theme-light .Knob--color--purple .Knob__ringFill{stroke:#932eb4}.theme-light .Knob--color--pink .Knob__ringFill{stroke:#db228a}.theme-light .Knob--color--brown .Knob__ringFill{stroke:#955d39}.theme-light .Knob--color--grey .Knob__ringFill{stroke:#e6e6e6}.theme-light .Knob--color--good .Knob__ringFill{stroke:#529923}.theme-light .Knob--color--average .Knob__ringFill{stroke:#da810e}.theme-light .Knob--color--bad .Knob__ringFill{stroke:#c82121}.theme-light .Knob--color--label .Knob__ringFill{stroke:#353535}.theme-light .Slider{cursor:e-resize}.theme-light .Slider__cursorOffset{position:absolute;top:0;left:0;bottom:0;transition:none!important}.theme-light .Slider__cursor{position:absolute;top:0;right:-.0833333333em;bottom:0;width:0;border-left:.1666666667em solid #000}.theme-light .Slider__pointer{position:absolute;right:-.4166666667em;bottom:-.3333333333em;width:0;height:0;border-left:.4166666667em solid rgba(0,0,0,0);border-right:.4166666667em solid rgba(0,0,0,0);border-bottom:.4166666667em solid #000}.theme-light .Slider__popupValue{position:absolute;right:0;top:-2rem;font-size:1rem;padding:.25rem .5rem;color:#fff;background-color:#000;transform:translate(50%);white-space:nowrap}.theme-light .ProgressBar{display:inline-block;position:relative;width:100%;padding:0 .5em;border-radius:.16em;background-color:rgba(0,0,0,0);transition:border-color .9s ease-out}.theme-light .ProgressBar__fill{position:absolute;top:-.5px;left:0;bottom:-.5px}.theme-light .ProgressBar__fill--animated{transition:background-color .9s ease-out,width .9s ease-out}.theme-light .ProgressBar__content{position:relative;line-height:1.4166666667em;width:100%;text-align:right}.theme-light .ProgressBar--color--default{border:.0833333333em solid #bfbfbf}.theme-light .ProgressBar--color--default .ProgressBar__fill{background-color:#bfbfbf}.theme-light .ProgressBar--color--black{border:.0833333333em solid #000!important}.theme-light .ProgressBar--color--black .ProgressBar__fill{background-color:#000}.theme-light .ProgressBar--color--white{border:.0833333333em solid #bfbfbf!important}.theme-light .ProgressBar--color--white .ProgressBar__fill{background-color:#bfbfbf}.theme-light .ProgressBar--color--red{border:.0833333333em solid #a61c1c!important}.theme-light .ProgressBar--color--red .ProgressBar__fill{background-color:#a61c1c}.theme-light .ProgressBar--color--orange{border:.0833333333em solid #c0530b!important}.theme-light .ProgressBar--color--orange .ProgressBar__fill{background-color:#c0530b}.theme-light .ProgressBar--color--yellow{border:.0833333333em solid #bfa303!important}.theme-light .ProgressBar--color--yellow .ProgressBar__fill{background-color:#bfa303}.theme-light .ProgressBar--color--olive{border:.0833333333em solid #889912!important}.theme-light .ProgressBar--color--olive .ProgressBar__fill{background-color:#889912}.theme-light .ProgressBar--color--green{border:.0833333333em solid #188532!important}.theme-light .ProgressBar--color--green .ProgressBar__fill{background-color:#188532}.theme-light .ProgressBar--color--teal{border:.0833333333em solid #008882!important}.theme-light .ProgressBar--color--teal .ProgressBar__fill{background-color:#008882}.theme-light .ProgressBar--color--blue{border:.0833333333em solid #19649c!important}.theme-light .ProgressBar--color--blue .ProgressBar__fill{background-color:#19649c}.theme-light .ProgressBar--color--violet{border:.0833333333em solid #4b2897!important}.theme-light .ProgressBar--color--violet .ProgressBar__fill{background-color:#4b2897}.theme-light .ProgressBar--color--purple{border:.0833333333em solid #7a2696!important}.theme-light .ProgressBar--color--purple .ProgressBar__fill{background-color:#7a2696}.theme-light .ProgressBar--color--pink{border:.0833333333em solid #b61d73!important}.theme-light .ProgressBar--color--pink .ProgressBar__fill{background-color:#b61d73}.theme-light .ProgressBar--color--brown{border:.0833333333em solid #7c4d2f!important}.theme-light .ProgressBar--color--brown .ProgressBar__fill{background-color:#7c4d2f}.theme-light .ProgressBar--color--grey{border:.0833333333em solid #bfbfbf!important}.theme-light .ProgressBar--color--grey .ProgressBar__fill{background-color:#bfbfbf}.theme-light .ProgressBar--color--good{border:.0833333333em solid #44801d!important}.theme-light .ProgressBar--color--good .ProgressBar__fill{background-color:#44801d}.theme-light .ProgressBar--color--average{border:.0833333333em solid #b56b0b!important}.theme-light .ProgressBar--color--average .ProgressBar__fill{background-color:#b56b0b}.theme-light .ProgressBar--color--bad{border:.0833333333em solid #a61c1c!important}.theme-light .ProgressBar--color--bad .ProgressBar__fill{background-color:#a61c1c}.theme-light .ProgressBar--color--label{border:.0833333333em solid #2c2c2c!important}.theme-light .ProgressBar--color--label .ProgressBar__fill{background-color:#2c2c2c}.theme-light .Chat{color:#000}.theme-light .Chat__badge{display:inline-block;min-width:.5em;font-size:.7em;padding:.2em .3em;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#dc143c;border-radius:10px;transition:font-size .2s ease-out}.theme-light .Chat__badge:before{content:"x"}.theme-light .Chat__badge--animate{font-size:.9em;transition:font-size 0ms}.theme-light .Chat__scrollButton{position:fixed;right:2em;bottom:1em}.theme-light .Chat__reconnected{font-size:.85em;text-align:center;margin:1em 0 2em}.theme-light .Chat__reconnected:before{content:"Reconnected";display:inline-block;border-radius:1em;padding:0 .7em;color:#db2828;background-color:#fff}.theme-light .Chat__reconnected:after{content:"";display:block;margin-top:-.75em;border-bottom:.1666666667em solid #db2828}.theme-light .Chat__highlight{color:#000}.theme-light .Chat__highlight--restricted{color:#fff;background-color:#a00;font-weight:700}.theme-light .ChatMessage{word-wrap:break-word}.theme-light .ChatMessage--highlighted{position:relative;border-left:.1666666667em solid #fd4;padding-left:.5em}.theme-light .ChatMessage--highlighted:after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;background-color:rgba(255,221,68,.1);pointer-events:none}.theme-light .Layout,.theme-light .Layout *{scrollbar-base-color:#f2f2f2;scrollbar-face-color:#d6d6d6;scrollbar-3dlight-color:#eee;scrollbar-highlight-color:#eee;scrollbar-track-color:#f2f2f2;scrollbar-arrow-color:#777;scrollbar-shadow-color:#d6d6d6}.theme-light .Layout__content{position:absolute;top:0;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden}.theme-light .Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.theme-light .Layout__content--flexRow{display:flex;flex-flow:row}.theme-light .Layout__content--flexColumn{display:flex;flex-flow:column}.theme-light .Window{position:fixed;top:0;bottom:0;left:0;right:0;color:#000;background-color:#eee;background-image:linear-gradient(to bottom,#eee 0%,#eee 100%)}.theme-light .Window__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;height:2.6666666667rem}.theme-light .Window__rest{position:fixed;top:32px;top:2.6666666667rem;bottom:0;left:0;right:0}.theme-light .Window__contentPadding{margin:.5rem;height:100%;height:calc(100% - 1.01rem)}.theme-light .Window__contentPadding:after{height:0}.theme-light .Layout__content--scrollable .Window__contentPadding:after{display:block;content:"";height:.5rem}.theme-light .Window__dimmer{position:fixed;top:0;bottom:0;left:0;right:0;background-color:rgba(252,252,252,.25);pointer-events:none}.theme-light .Window__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;width:1.6666666667rem;height:20px;height:1.6666666667rem;cursor:se-resize}.theme-light .Window__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;height:.5rem;cursor:s-resize}.theme-light .Window__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;width:.25rem;cursor:e-resize}.theme-light .TitleBar{background-color:#eee;border-bottom:1px solid rgba(0,0,0,.25);box-shadow:0 2px 2px rgba(0,0,0,.1);box-shadow:0 .1666666667rem .1666666667rem rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.theme-light .TitleBar__clickable{color:rgba(0,0,0,.5);background-color:#eee;transition:color .25s ease-out,background-color .25s ease-out}.theme-light .TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.theme-light .TitleBar__title{position:absolute;display:inline-block;top:0;left:46px;left:3.8333333333rem;color:rgba(0,0,0,.75);font-size:14px;font-size:1.1666666667rem;line-height:31px;line-height:2.5833333333rem;white-space:nowrap;pointer-events:none}.theme-light .TitleBar__buttons{pointer-events:initial;display:inline-block;width:100%;margin-left:10px}.theme-light .TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px;height:2.6666666667rem}.theme-light .TitleBar__statusIcon{position:absolute;top:0;left:12px;left:1rem;transition:color .5s;font-size:20px;font-size:1.6666666667rem;line-height:32px!important;line-height:2.6666666667rem!important}.theme-light .TitleBar__close{position:absolute;top:-1px;right:0;width:45px;width:3.75rem;height:32px;height:2.6666666667rem;font-size:20px;font-size:1.6666666667rem;line-height:31px;line-height:2.5833333333rem;text-align:center}.theme-light .TitleBar__devBuildIndicator{position:absolute;top:6px;top:.5rem;right:52px;right:4.3333333333rem;min-width:20px;min-width:1.6666666667rem;padding:2px 4px;padding:.1666666667rem .3333333333rem;background-color:rgba(91,170,39,.75);color:#fff;text-align:center}.theme-light html,.theme-light body{padding:0;margin:0;height:100%;color:#000}.theme-light body{background:#fff;font-family:Verdana,sans-serif;font-size:13px;line-height:1.2;overflow-x:hidden;overflow-y:scroll;word-wrap:break-word}.theme-light img{margin:0;padding:0;line-height:1;-ms-interpolation-mode:nearest-neighbor;image-rendering:pixelated}.theme-light img.icon{height:1em;min-height:16px;width:auto;vertical-align:bottom}.theme-light a{color:#00f}.theme-light a.visited,.theme-light a:visited{color:#f0f}.theme-light a.popt{text-decoration:none}.theme-light .popup{position:fixed;top:50%;left:50%;background:#ddd}.theme-light .popup .close{position:absolute;background:#aaa;top:0;right:0;color:#333;text-decoration:none;z-index:2;padding:0 10px;height:30px;line-height:30px}.theme-light .popup .close:hover{background:#999}.theme-light .popup .head{background:#999;color:#ddd;padding:0 10px;height:30px;line-height:30px;text-transform:uppercase;font-size:.9em;font-weight:700;border-bottom:2px solid green}.theme-light .popup input{border:1px solid #999;background:#fff;margin:0;padding:5px;outline:none;color:#333}.theme-light .popup input[type=text]:hover,.theme-light .popup input[type=text]:active,.theme-light .popup input[type=text]:focus{border-color:green}.theme-light .popup input[type=submit]{padding:5px 10px;background:#999;color:#ddd;text-transform:uppercase;font-size:.9em;font-weight:700}.theme-light .popup input[type=submit]:hover,.theme-light .popup input[type=submit]:focus,.theme-light .popup input[type=submit]:active{background:#aaa;cursor:pointer}.theme-light .changeFont{padding:10px}.theme-light .changeFont a{display:block;text-decoration:none;padding:3px;color:#333}.theme-light .changeFont a:hover{background:#ccc}.theme-light .highlightPopup{padding:10px;text-align:center}.theme-light .highlightPopup input[type=text]{display:block;width:215px;text-align:left;margin-top:5px}.theme-light .highlightPopup input.highlightColor{background-color:#ff0}.theme-light .highlightPopup input.highlightTermSubmit{margin-top:5px}.theme-light .contextMenu{background-color:#ddd;position:fixed;margin:2px;width:150px}.theme-light .contextMenu a{display:block;padding:2px 5px;text-decoration:none;color:#333}.theme-light .contextMenu a:hover{background-color:#ccc}.theme-light .filterMessages{padding:5px}.theme-light .filterMessages div{padding:2px 0}.theme-light .icon-stack{height:1em;line-height:1em;width:1em;vertical-align:middle;margin-top:-2px}.theme-light .motd{color:#638500;font-family:Verdana,sans-serif;white-space:normal}.theme-light .motd h1,.theme-light .motd h2,.theme-light .motd h3,.theme-light .motd h4,.theme-light .motd h5,.theme-light .motd h6{color:#638500;text-decoration:underline}.theme-light .motd a,.theme-light .motd a:link,.theme-light .motd a:visited,.theme-light .motd a:active,.theme-light .motd a:hover{color:#638500}.theme-light .bold,.theme-light .name,.theme-light .prefix,.theme-light .ooc,.theme-light .looc,.theme-light .adminooc,.theme-light .admin,.theme-light .medal,.theme-light .yell{font-weight:700}.theme-light .italic,.theme-light .italics{font-style:italic}.theme-light .highlight{background:#ff0}.theme-light h1,.theme-light h2,.theme-light h3,.theme-light h4,.theme-light h5,.theme-light h6{color:#00f;font-family:Georgia,Verdana,sans-serif}.theme-light em{font-style:normal;font-weight:700}.theme-light .ooc{color:#002eb8;font-weight:700}.theme-light .ooc .elevated{color:#2e78d9}.theme-light .ooc .moderator{color:#184880}.theme-light .ooc .developer{color:#1b521f}.theme-light .ooc .admin{color:#b82e00}.theme-light .ooc .event_manager{color:#603}.theme-light .ooc .aooc{color:#960018}.theme-light img.text_tag{width:32px;height:10px;min-height:10px}.theme-light img.icon{vertical-align:middle;max-height:1em}.theme-light img.icon.bigicon{max-height:32px}.theme-light .looc{color:#3a9696;font-weight:700}.theme-light .rlooc{color:#3abb96;font-weight:700}.theme-light .adminobserverooc{color:#09c;font-weight:700}.theme-light .adminooc{color:#700038;font-weight:700}.theme-light .adminsay{color:#ff4500;font-weight:700}.theme-light .admin{color:#4473ff;font-weight:700}.theme-light .mentor_channel{color:olive;font-weight:700}.theme-light .mod_channel{color:#735638;font-weight:700}.theme-light .admin_channel{color:#9611d4;font-weight:700}.theme-light .event_channel{color:#c39;font-weight:700}.theme-light .name{font-weight:700}.theme-light .psay,.theme-light .pemote{color:purple;font-style:italic}.theme-light .deadsay{color:#5c00e6}.theme-light .binarysay{color:#20c20e;background-color:#000;display:block}.theme-light .binarysay a{color:#0f0}.theme-light .binarysay a:active,.theme-light .binarysay a:visited{color:#8f8}.theme-light .radio{color:green}.theme-light .sciradio{color:#939}.theme-light .comradio{color:#337296}.theme-light .secradio{color:#a30000}.theme-light .medradio{color:#339661}.theme-light .engradio{color:#948f02}.theme-light .supradio{color:#a8732b}.theme-light .srvradio{color:#6eaa2c}.theme-light .expradio{color:#555}.theme-light .syndradio{color:#6d3f40}.theme-light .gangradio{color:#ac2ea1}.theme-light .centradio{color:#686868}.theme-light .airadio{color:#f0f}.theme-light .redteamradio{color:red!important}.theme-light .blueteamradio{color:#00f!important}.theme-light .greenteamradio{color:#0f0!important}.theme-light .yellowteamradio{color:#d1ba22!important}.theme-light .yell{font-weight:700}.theme-light .alert,.theme-light .valert{color:red}.theme-light h1.alert,.theme-light h2.alert{color:#000}.theme-light .userdanger{color:red;font-weight:700;font-size:185%}.theme-light .bolddanger{color:red;font-weight:700}.theme-light .danger,.theme-light .vdanger{color:red}.theme-light .tinydanger{color:red;font-size:85%}.theme-light .smalldanger{color:red;font-size:90%}.theme-light .warning,.theme-light .vwarning{color:red;font-style:italic}.theme-light .alertwarning{color:red;font-weight:700}.theme-light .boldwarning{color:red;font-style:italic;font-weight:700}.theme-light .announce{color:#228b22;font-weight:700}.theme-light .boldannounce{color:red;font-weight:700}.theme-light .minorannounce{color:red;font-weight:700;font-size:185%}.theme-light .minoralert{color:#000;font-size:125%}.theme-light .priorityannounce{color:#000;font-weight:700;font-size:225%}.theme-light .prioritytitle{color:#00f;font-weight:700;font-size:185%}.theme-light .priorityalert{color:red;font-size:140%}.theme-light .greenannounce{color:#0f0;font-weight:700}.theme-light .rose{color:#ff5050}.theme-light .info{color:#00c}.theme-light .notice,.theme-light .vnotice{color:#009}.theme-light .tinynotice{color:#009;font-size:85%}.theme-light .tinynoticeital{color:#009;font-style:italic;font-size:85%}.theme-light .smallnotice{color:#009;font-size:90%}.theme-light .smallnoticeital{color:#009;font-style:italic;font-size:90%}.theme-light .boldnotice{color:#009;font-weight:700}.theme-light .hear{color:#009;font-style:italic}.theme-light .adminnotice{color:#00f}.theme-light .adminhelp{color:red;font-weight:700}.theme-light .log_message{color:#386aff;font-weight:700}.theme-light .unconscious{color:#00f;font-weight:700}.theme-light .suicide{color:#ff5050;font-style:italic}.theme-light .green{color:#03ff39}.theme-light .grey{color:#838383}.theme-light .red{color:red}.theme-light .crimson{color:#dc143c}.theme-light .maroon{color:maroon}.theme-light .brown{color:#8d4925}.theme-light .blue{color:#00f}.theme-light .black{color:#000}.theme-light .darkgray{color:gray}.theme-light .gray{color:#a9a9a9}.theme-light .yellow{color:#fc0}.theme-light .pink{color:pink}.theme-light .cyan{color:#0ff}.theme-light .orange{color:#ff8c00}.theme-light .nicegreen{color:#14a833}.theme-light .boldnicegreen{color:#14a833;font-weight:700}.theme-light .cult{color:#973e3b}.theme-light .cultitalic{color:#973e3b;font-style:italic}.theme-light .cultbold{color:#973e3b;font-style:italic;font-weight:700}.theme-light .cultboldtalic,.theme-light .cultlarge{color:#973e3b;font-weight:700;font-size:185%}.theme-light .blob{color:#ee4000}.theme-light .blobannounce{color:#323f1c;font-weight:700;font-size:185%}.theme-light .narsie{color:#973e3b;font-weight:700;font-size:925%}.theme-light .narsiesmall{color:#973e3b;font-weight:700;font-size:370%}.theme-light .colossus{color:#7f282a;font-size:310%}.theme-light .hierophant{color:#609;font-weight:700;font-style:italic}.theme-light .hierophant_warning{color:#609;font-style:italic}.theme-light .purple{color:#5e2d79}.theme-light .holoparasite{color:#35333a}.theme-light .revennotice{color:#1d2953}.theme-light .revenboldnotice{color:#1d2953;font-weight:700}.theme-light .revenbignotice{color:#1d2953;font-weight:700;font-size:185%}.theme-light .revenminor{color:#823abb}.theme-light .revenwarning{color:#760fbb;font-style:italic}.theme-light .revendanger{color:#760fbb;font-weight:700;font-size:185%}.theme-light .deconversion_message{color:#5000a0;font-size:185%;font-style:italic}.theme-light .ghostalert{color:#5c00e6;font-style:italic;font-weight:700}.theme-light .alien{color:#543354}.theme-light .noticealien{color:#00c000}.theme-light .alertalien{color:#00c000;font-weight:700}.theme-light .changeling{color:purple;font-style:italic}.theme-light .alertsyndie{color:red;font-size:185%;font-weight:700}.theme-light .spiderbroodmother{color:#4d004d;font-weight:700;font-size:185%}.theme-light .spiderbreacher{color:#804b02;font-weight:700;font-size:140%}.theme-light .spiderscout{color:#0c0674;font-weight:700;font-size:120%}.theme-light .interface{color:#303}.theme-light .sans{font-family:Comic Sans MS,cursive,sans-serif}.theme-light .papyrus{font-family:Papyrus,cursive,sans-serif}.theme-light .robot{font-family:Courier New,cursive,sans-serif}.theme-light .tape_recorder{color:maroon;font-family:Courier New,cursive,sans-serif}.theme-light .command_headset{font-weight:700;font-size:160%}.theme-light .small{font-size:60%}.theme-light .big{font-size:185%}.theme-light .reallybig{font-size:245%}.theme-light .extremelybig{font-size:310%}.theme-light .greentext{color:#0f0;font-size:185%}.theme-light .redtext{color:red;font-size:185%}.theme-light .clown{color:#ff69bf;font-size:160%;font-family:Comic Sans MS,cursive,sans-serif;font-weight:700}.theme-light .singing{font-family:Trebuchet MS,cursive,sans-serif;font-style:italic}.theme-light .his_grace{color:#15d512;font-family:Courier New,cursive,sans-serif;font-style:italic}.theme-light .hypnophrase{color:#0d0d0d;font-weight:700;animation:hypnocolor 1.5s infinite;animation-direction:alternate}@keyframes hypnocolor{0%{color:#0d0d0d}25%{color:#410194}50%{color:#7f17d8}75%{color:#410194}to{color:#3bb5d3}}.theme-light .phobia{color:#d00;font-weight:700;animation:phobia .75s infinite}@keyframes phobia{0%{color:#0d0d0d}50%{color:#d00}to{color:#0d0d0d}}.theme-light .icon{height:1em;width:auto}.theme-light .bigicon{font-size:2.5em}.theme-light .hugeicon{font-size:5em}.theme-light .memo{color:#638500;text-align:center}.theme-light .memoedit{text-align:center;font-size:125%}.theme-light .abductor{color:purple;font-style:italic}.theme-light .mind_control{color:#a00d6f;font-size:100%;font-weight:700;font-style:italic}.theme-light .slime{color:#00ced1}.theme-light .drone{color:#848482}.theme-light .monkey{color:#975032}.theme-light .swarmer{color:#2c75ff}.theme-light .resonate{color:#298f85}.theme-light .upside_down{display:inline;-moz-transform:scale(-1,-1);-webkit-transform:scale(-1,-1);-o-transform:scale(-1,-1);-ms-transform:scale(-1,-1);transform:scale(-1)}.theme-light .connectionClosed,.theme-light .fatalError{background:red;color:#fff;padding:5px}.theme-light .connectionClosed.restored{background:green}.theme-light .internal.boldnshit{color:#00f;font-weight:700}.theme-light .text-normal{font-weight:400;font-style:normal}.theme-light .hidden{display:none;visibility:hidden}.theme-light .ml-1{margin-left:1em}.theme-light .ml-2{margin-left:2em}.theme-light .ml-3{margin-left:3em}.theme-light .examine_block{background:#f2f7fa;border:1px solid #111a27;margin:.5em;padding:.5em .75em}.theme-light .tooltip{font-style:italic;border-bottom:1px dashed #000}.theme-light .major_announcement_title{font-size:175%;padding:0rem .5rem;line-height:100%;text-align:left;text-decoration:none;width:100%}.theme-light .subheader_announcement_text{font-weight:700;padding:.25rem .5rem 0;line-height:100%;width:100%;height:100%;text-align:left;font-size:125%}.theme-light .major_announcement_text{color:#131313;background-color:#eaeaea;font-weight:700;font-size:100%;text-align:left;padding:.5rem;width:100%;height:100%}.theme-light .minor_announcement_title{font-weight:700;padding:0 .5rem;padding-top:0;line-height:100%;width:100%;height:100%;text-align:left;font-size:150%}.theme-light .minor_announcement_text{background-color:#eaeaea;color:#202020;padding:.5rem;text-align:left;font-size:100%}.theme-light .announcement_header{padding:.5rem 0;display:flex;flex-direction:column}.theme-light .chat_alert_default{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#bdc8ff,#bdc8ff 10px,#b3bfff 10px,#b3bfff 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.theme-light .chat_alert_default .major_announcement_title,.theme-light .chat_alert_default .minor_announcement_title{color:#003061}.theme-light .chat_alert_default .subheader_announcement_text{color:#6b0020}.theme-light .chat_alert_default .minor_announcement_text,.theme-light .chat_alert_default .major_announcement_text{background-color:#d7ddff}.theme-light .chat_alert_green{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#bdffbd,#bdffbd 10px,#adffad 10px,#adffad 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.theme-light .chat_alert_green .major_announcement_title,.theme-light .chat_alert_green .minor_announcement_title{color:#005229}.theme-light .chat_alert_green .subheader_announcement_text{color:#6b0020}.theme-light .chat_alert_green .minor_announcement_text,.theme-light .chat_alert_green .major_announcement_text{background-color:#d7ffd7}.theme-light .chat_alert_blue{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#bdc8ff,#bdc8ff 10px,#b3bfff 10px,#b3bfff 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.theme-light .chat_alert_blue .major_announcement_title,.theme-light .chat_alert_blue .minor_announcement_title{color:#003061}.theme-light .chat_alert_blue .subheader_announcement_text{color:#6b0020}.theme-light .chat_alert_blue .minor_announcement_text,.theme-light .chat_alert_blue .major_announcement_text{background-color:#d7ddff}.theme-light .chat_alert_pink{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#ffc2e5,#ffc2e5 10px,#ffb3df 10px,#ffb3df 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.theme-light .chat_alert_pink .major_announcement_title,.theme-light .chat_alert_pink .minor_announcement_title{color:#800033}.theme-light .chat_alert_pink .subheader_announcement_text{color:#002c85}.theme-light .chat_alert_pink .minor_announcement_text,.theme-light .chat_alert_pink .major_announcement_text{background-color:#ffdcf0}.theme-light .chat_alert_yellow{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#fff5c2,#fff5c2 10px,#fff3b3 10px,#fff3b3 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.theme-light .chat_alert_yellow .major_announcement_title,.theme-light .chat_alert_yellow .minor_announcement_title{color:#754900}.theme-light .chat_alert_yellow .subheader_announcement_text{color:#002c85}.theme-light .chat_alert_yellow .minor_announcement_text,.theme-light .chat_alert_yellow .major_announcement_text{background-color:#fff9dc}.theme-light .chat_alert_orange{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#ffe8c2,#ffe8c2 10px,#ffe2b3 10px,#ffe2b3 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.theme-light .chat_alert_orange .major_announcement_title,.theme-light .chat_alert_orange .minor_announcement_title{color:#823208}.theme-light .chat_alert_orange .subheader_announcement_text{color:#002c85}.theme-light .chat_alert_orange .minor_announcement_text,.theme-light .chat_alert_orange .major_announcement_text{background-color:#fff2dc}.theme-light .chat_alert_red{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#ffc2c2,#ffc2c2 10px,#ffb3b3 10px,#ffb3b3 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.theme-light .chat_alert_red .major_announcement_title,.theme-light .chat_alert_red .minor_announcement_title{color:#800029}.theme-light .chat_alert_red .subheader_announcement_text{color:#002c85}.theme-light .chat_alert_red .minor_announcement_text,.theme-light .chat_alert_red .major_announcement_text{background-color:#ffdcdc}.theme-light .chat_alert_purple{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#fbd1ff,#fbd1ff 10px,#fac2ff 10px,#fac2ff 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.theme-light .chat_alert_purple .major_announcement_title,.theme-light .chat_alert_purple .minor_announcement_title{color:#450d8c}.theme-light .chat_alert_purple .subheader_announcement_text{color:#002c85}.theme-light .chat_alert_purple .minor_announcement_text,.theme-light .chat_alert_purple .major_announcement_text{background-color:#fdebff}.theme-light .chat_alert_grey{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#ebebeb,#ebebeb 10px,#e3e3e3 10px,#e3e3e3 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.theme-light .chat_alert_grey .major_announcement_title,.theme-light .chat_alert_grey .minor_announcement_title{color:#800033}.theme-light .chat_alert_grey .subheader_announcement_text{color:#002c85}.theme-light .chat_alert_grey .minor_announcement_text,.theme-light .chat_alert_grey .major_announcement_text{background-color:#f8f8f8}.theme-light .tajaran{color:#803b56}.theme-light .tajaran_signlang{color:#941c1c}.theme-light .akhani{color:#ac398c}.theme-light .skrell{color:#00b0b3}.theme-light .skrellfar{color:#70fcff}.theme-light .soghun{color:#50ba6c}.theme-light .solcom{color:#3333ce}.theme-light .sergal{color:#07f}.theme-light .birdsongc{color:#c90}.theme-light .vulpkanin{color:#b97a57}.theme-light .tavan{color:#f54298;font-family:Arial}.theme-light .echosong{color:#826d8c}.theme-light .enochian{color:#848a33;letter-spacing:-1pt;word-spacing:4pt;font-family:Lucida Sans Unicode,Lucida Grande,sans-serif}.theme-light .daemon{color:#5e339e;letter-spacing:-1pt;word-spacing:0pt;font-family:Courier New,Courier,monospace}.theme-light .drudakar{color:#bb2463;word-spacing:0pt;font-family:High Tower Text,monospace}.theme-light .bug{color:#9e9e39}.theme-light .vox{color:#a0a}.theme-light .promethean{color:#5a5a5a;font-family:Comic Sans MS,Comic Sans,cursive}.theme-light .zaddat{color:#941c1c}.theme-light .rough{font-family:Trebuchet MS,cursive,sans-serif}.theme-light .say_quote{font-family:Georgia,Verdana,sans-serif}.theme-light .say_quote_italics{font-style:italic;font-family:Georgia,Verdana,sans-serif}.theme-light .terminus{font-family:Times New Roman,Times,serif,sans-serif}.theme-light .spacer{color:#9c660b}.theme-light .teppi{color:#816540;word-spacing:4pt;font-family:Segoe Script Bold,Segoe Script,sans-serif,Verdana}.theme-light .shadekin{color:#be3cc5;font-size:150%;font-weight:700;font-family:Gabriola,cursive,sans-serif}.theme-vchatdark .color-black{color:#1a1a1a!important}.theme-vchatdark .color-white{color:#fff!important}.theme-vchatdark .color-red{color:#df3e3e!important}.theme-vchatdark .color-orange{color:#f37f33!important}.theme-vchatdark .color-yellow{color:#fbda21!important}.theme-vchatdark .color-olive{color:#cbe41c!important}.theme-vchatdark .color-green{color:#25ca4c!important}.theme-vchatdark .color-teal{color:#00d6cc!important}.theme-vchatdark .color-blue{color:#2e93de!important}.theme-vchatdark .color-violet{color:#7349cf!important}.theme-vchatdark .color-purple{color:#ad45d0!important}.theme-vchatdark .color-pink{color:#e34da1!important}.theme-vchatdark .color-brown{color:#b97447!important}.theme-vchatdark .color-grey{color:#848484!important}.theme-vchatdark .color-good{color:#68c22d!important}.theme-vchatdark .color-average{color:#f29a29!important}.theme-vchatdark .color-bad{color:#df3e3e!important}.theme-vchatdark .color-label{color:#8b9bb0!important}.theme-vchatdark .color-bg-black{background-color:#000!important}.theme-vchatdark .color-bg-white{background-color:#d9d9d9!important}.theme-vchatdark .color-bg-red{background-color:#bd2020!important}.theme-vchatdark .color-bg-orange{background-color:#d95e0c!important}.theme-vchatdark .color-bg-yellow{background-color:#d9b804!important}.theme-vchatdark .color-bg-olive{background-color:#9aad14!important}.theme-vchatdark .color-bg-green{background-color:#1b9638!important}.theme-vchatdark .color-bg-teal{background-color:#009a93!important}.theme-vchatdark .color-bg-blue{background-color:#1c71b1!important}.theme-vchatdark .color-bg-violet{background-color:#552dab!important}.theme-vchatdark .color-bg-purple{background-color:#8b2baa!important}.theme-vchatdark .color-bg-pink{background-color:#cf2082!important}.theme-vchatdark .color-bg-brown{background-color:#8c5836!important}.theme-vchatdark .color-bg-grey{background-color:#646464!important}.theme-vchatdark .color-bg-good{background-color:#4d9121!important}.theme-vchatdark .color-bg-average{background-color:#cd7a0d!important}.theme-vchatdark .color-bg-bad{background-color:#bd2020!important}.theme-vchatdark .color-bg-label{background-color:#657a94!important}.theme-vchatdark .Tabs{display:flex;align-items:stretch;overflow:hidden;background-color:rgba(0,0,0,.33)}.theme-vchatdark .Tabs--fill{height:100%}.theme-vchatdark .Section .Tabs{background-color:rgba(0,0,0,0)}.theme-vchatdark .Section:not(.Section--fitted) .Tabs{margin:0 -.5em .5em}.theme-vchatdark .Section:not(.Section--fitted) .Tabs:first-child{margin-top:-.5em}.theme-vchatdark .Tabs--vertical{flex-direction:column;padding:.25em 0 .25em .25em}.theme-vchatdark .Tabs--horizontal{margin-bottom:.5em;padding:.25em .25em 0}.theme-vchatdark .Tabs--horizontal:last-child{margin-bottom:0}.theme-vchatdark .Tabs__Tab{flex-grow:0}.theme-vchatdark .Tabs--fluid .Tabs__Tab{flex-grow:1}.theme-vchatdark .Tab{display:flex;align-items:center;justify-content:space-between;background-color:rgba(0,0,0,0);color:rgba(255,255,255,.5);min-height:2.25em;min-width:4em;transition:background-color 50ms ease-out}.theme-vchatdark .Tab:not(.Tab--selected):hover{background-color:rgba(255,255,255,.075);transition:background-color 0}.theme-vchatdark .Tab--selected{background-color:rgba(255,255,255,.125);color:#dfe7f0}.theme-vchatdark .Tab__text{flex-grow:1;margin:0 .5em}.theme-vchatdark .Tab__left{min-width:1.5em;text-align:center;margin-left:.25em}.theme-vchatdark .Tab__right{min-width:1.5em;text-align:center;margin-right:.25em}.theme-vchatdark .Tabs--horizontal .Tab{border-top:.1666666667em solid rgba(0,0,0,0);border-bottom:.1666666667em solid rgba(0,0,0,0);border-top-left-radius:.25em;border-top-right-radius:.25em}.theme-vchatdark .Tabs--horizontal .Tab--selected{border-bottom:.1666666667em solid #d4dfec}.theme-vchatdark .Tabs--vertical .Tab{min-height:2em;border-left:.1666666667em solid rgba(0,0,0,0);border-right:.1666666667em solid rgba(0,0,0,0);border-top-left-radius:.25em;border-bottom-left-radius:.25em}.theme-vchatdark .Tabs--vertical .Tab--selected{border-right:.1666666667em solid #d4dfec}.theme-vchatdark .Tab--selected.Tab--color--black{color:#535353}.theme-vchatdark .Tabs--horizontal .Tab--selected.Tab--color--black{border-bottom-color:#1a1a1a}.theme-vchatdark .Tabs--vertical .Tab--selected.Tab--color--black{border-right-color:#1a1a1a}.theme-vchatdark .Tab--selected.Tab--color--white{color:#fff}.theme-vchatdark .Tabs--horizontal .Tab--selected.Tab--color--white{border-bottom-color:#fff}.theme-vchatdark .Tabs--vertical .Tab--selected.Tab--color--white{border-right-color:#fff}.theme-vchatdark .Tab--selected.Tab--color--red{color:#e76e6e}.theme-vchatdark .Tabs--horizontal .Tab--selected.Tab--color--red{border-bottom-color:#df3e3e}.theme-vchatdark .Tabs--vertical .Tab--selected.Tab--color--red{border-right-color:#df3e3e}.theme-vchatdark .Tab--selected.Tab--color--orange{color:#f69f66}.theme-vchatdark .Tabs--horizontal .Tab--selected.Tab--color--orange{border-bottom-color:#f37f33}.theme-vchatdark .Tabs--vertical .Tab--selected.Tab--color--orange{border-right-color:#f37f33}.theme-vchatdark .Tab--selected.Tab--color--yellow{color:#fce358}.theme-vchatdark .Tabs--horizontal .Tab--selected.Tab--color--yellow{border-bottom-color:#fbda21}.theme-vchatdark .Tabs--vertical .Tab--selected.Tab--color--yellow{border-right-color:#fbda21}.theme-vchatdark .Tab--selected.Tab--color--olive{color:#d8eb55}.theme-vchatdark .Tabs--horizontal .Tab--selected.Tab--color--olive{border-bottom-color:#cbe41c}.theme-vchatdark .Tabs--vertical .Tab--selected.Tab--color--olive{border-right-color:#cbe41c}.theme-vchatdark .Tab--selected.Tab--color--green{color:#53e074}.theme-vchatdark .Tabs--horizontal .Tab--selected.Tab--color--green{border-bottom-color:#25ca4c}.theme-vchatdark .Tabs--vertical .Tab--selected.Tab--color--green{border-right-color:#25ca4c}.theme-vchatdark .Tab--selected.Tab--color--teal{color:#21fff5}.theme-vchatdark .Tabs--horizontal .Tab--selected.Tab--color--teal{border-bottom-color:#00d6cc}.theme-vchatdark .Tabs--vertical .Tab--selected.Tab--color--teal{border-right-color:#00d6cc}.theme-vchatdark .Tab--selected.Tab--color--blue{color:#62aee6}.theme-vchatdark .Tabs--horizontal .Tab--selected.Tab--color--blue{border-bottom-color:#2e93de}.theme-vchatdark .Tabs--vertical .Tab--selected.Tab--color--blue{border-right-color:#2e93de}.theme-vchatdark .Tab--selected.Tab--color--violet{color:#9676db}.theme-vchatdark .Tabs--horizontal .Tab--selected.Tab--color--violet{border-bottom-color:#7349cf}.theme-vchatdark .Tabs--vertical .Tab--selected.Tab--color--violet{border-right-color:#7349cf}.theme-vchatdark .Tab--selected.Tab--color--purple{color:#c274db}.theme-vchatdark .Tabs--horizontal .Tab--selected.Tab--color--purple{border-bottom-color:#ad45d0}.theme-vchatdark .Tabs--vertical .Tab--selected.Tab--color--purple{border-right-color:#ad45d0}.theme-vchatdark .Tab--selected.Tab--color--pink{color:#ea79b9}.theme-vchatdark .Tabs--horizontal .Tab--selected.Tab--color--pink{border-bottom-color:#e34da1}.theme-vchatdark .Tabs--vertical .Tab--selected.Tab--color--pink{border-right-color:#e34da1}.theme-vchatdark .Tab--selected.Tab--color--brown{color:#ca9775}.theme-vchatdark .Tabs--horizontal .Tab--selected.Tab--color--brown{border-bottom-color:#b97447}.theme-vchatdark .Tabs--vertical .Tab--selected.Tab--color--brown{border-right-color:#b97447}.theme-vchatdark .Tab--selected.Tab--color--grey{color:#a3a3a3}.theme-vchatdark .Tabs--horizontal .Tab--selected.Tab--color--grey{border-bottom-color:#848484}.theme-vchatdark .Tabs--vertical .Tab--selected.Tab--color--grey{border-right-color:#848484}.theme-vchatdark .Tab--selected.Tab--color--good{color:#8cd95a}.theme-vchatdark .Tabs--horizontal .Tab--selected.Tab--color--good{border-bottom-color:#68c22d}.theme-vchatdark .Tabs--vertical .Tab--selected.Tab--color--good{border-right-color:#68c22d}.theme-vchatdark .Tab--selected.Tab--color--average{color:#f5b35e}.theme-vchatdark .Tabs--horizontal .Tab--selected.Tab--color--average{border-bottom-color:#f29a29}.theme-vchatdark .Tabs--vertical .Tab--selected.Tab--color--average{border-right-color:#f29a29}.theme-vchatdark .Tab--selected.Tab--color--bad{color:#e76e6e}.theme-vchatdark .Tabs--horizontal .Tab--selected.Tab--color--bad{border-bottom-color:#df3e3e}.theme-vchatdark .Tabs--vertical .Tab--selected.Tab--color--bad{border-right-color:#df3e3e}.theme-vchatdark .Tab--selected.Tab--color--label{color:#a8b4c4}.theme-vchatdark .Tabs--horizontal .Tab--selected.Tab--color--label{border-bottom-color:#8b9bb0}.theme-vchatdark .Tabs--vertical .Tab--selected.Tab--color--label{border-right-color:#8b9bb0}.theme-vchatdark .Section{position:relative;margin-bottom:.5em;background-color:#191919;background-color:rgba(0,0,0,.33);box-sizing:border-box}.theme-vchatdark .Section:last-child{margin-bottom:0}.theme-vchatdark .Section__title{position:relative;padding:.5em;border-bottom:.1666666667em solid #4972a1}.theme-vchatdark .Section__titleText{font-size:1.1666666667em;font-weight:700;color:#fff}.theme-vchatdark .Section__buttons{position:absolute;display:inline-block;right:.5em;margin-top:-.0833333333em}.theme-vchatdark .Section__rest{position:relative}.theme-vchatdark .Section__content{padding:.66em .5em}.theme-vchatdark .Section--fitted>.Section__rest>.Section__content{padding:0}.theme-vchatdark .Section--fill{display:flex;flex-direction:column;height:100%}.theme-vchatdark .Section--fill>.Section__rest{flex-grow:1}.theme-vchatdark .Section--fill>.Section__rest>.Section__content{height:100%}.theme-vchatdark .Section--fill.Section--scrollable>.Section__rest>.Section__content{position:absolute;top:0;left:0;right:0;bottom:0}.theme-vchatdark .Section--fill.Section--iefix{display:table!important;width:100%!important;height:100%!important;border-collapse:collapse;border-spacing:0}.theme-vchatdark .Section--fill.Section--iefix>.Section__rest{display:table-row!important;height:100%!important}.theme-vchatdark .Section--scrollable{overflow-x:hidden;overflow-y:hidden}.theme-vchatdark .Section--scrollable>.Section__rest>.Section__content{overflow-y:scroll;overflow-x:hidden}.theme-vchatdark .Section--scrollableHorizontal{overflow-x:hidden;overflow-y:hidden}.theme-vchatdark .Section--scrollableHorizontal>.Section__rest>.Section__content{overflow-y:hidden;overflow-x:scroll}.theme-vchatdark .Section--scrollable.Section--scrollableHorizontal{overflow-x:hidden;overflow-y:hidden}.theme-vchatdark .Section--scrollable.Section--scrollableHorizontal>.Section__rest>.Section__content{overflow-y:scroll;overflow-x:scroll}.theme-vchatdark .Section .Section{background-color:rgba(0,0,0,0);margin-left:-.5em;margin-right:-.5em}.theme-vchatdark .Section .Section:first-child{margin-top:-.5em}.theme-vchatdark .Section .Section .Section__titleText{font-size:1.0833333333em}.theme-vchatdark .Section .Section .Section .Section__titleText{font-size:1em}.theme-vchatdark .Section--flex{display:flex;flex-flow:column}.theme-vchatdark .Section--flex .Section__content{overflow:auto;flex-grow:1}.theme-vchatdark .Section__content--noTopPadding{padding-top:0}.theme-vchatdark .Section__content--stretchContents{height:calc(100% - 3rem)}.theme-vchatdark .Button{position:relative;display:inline-block;line-height:1.667em;padding:0 .5em;margin-right:.1666666667em;white-space:nowrap;outline:0;border-radius:.16em;margin-bottom:.1666666667em;user-select:none;-ms-user-select:none}.theme-vchatdark .Button:last-child{margin-right:0;margin-bottom:0}.theme-vchatdark .Button .fa,.theme-vchatdark .Button .fas,.theme-vchatdark .Button .far{margin-left:-.25em;margin-right:-.25em;min-width:1.333em;text-align:center}.theme-vchatdark .Button--hasContent .fa,.theme-vchatdark .Button--hasContent .fas,.theme-vchatdark .Button--hasContent .far{margin-right:.25em}.theme-vchatdark .Button--hasContent.Button--iconPosition--right .fa,.theme-vchatdark .Button--hasContent.Button--iconPosition--right .fas,.theme-vchatdark .Button--hasContent.Button--iconPosition--right .far{margin-right:0;margin-left:3px}.theme-vchatdark .Button--ellipsis{overflow:hidden;text-overflow:ellipsis}.theme-vchatdark .Button--fluid{display:block;margin-left:0;margin-right:0}.theme-vchatdark .Button--circular{border-radius:50%}.theme-vchatdark .Button--compact{padding:0 .25em;line-height:1.333em}.theme-vchatdark .Button--color--black{transition:color 50ms,background-color 50ms;background-color:#000;color:#fff}.theme-vchatdark .Button--color--black:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--black:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--black:hover,.theme-vchatdark .Button--color--black:focus{background-color:#131313;color:#fff}.theme-vchatdark .Button--color--white{transition:color 50ms,background-color 50ms;background-color:#d9d9d9;color:#000}.theme-vchatdark .Button--color--white:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--white:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--white:hover,.theme-vchatdark .Button--color--white:focus{background-color:#f8f8f8;color:#000}.theme-vchatdark .Button--color--red{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.theme-vchatdark .Button--color--red:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--red:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--red:hover,.theme-vchatdark .Button--color--red:focus{background-color:#dc4848;color:#fff}.theme-vchatdark .Button--color--orange{transition:color 50ms,background-color 50ms;background-color:#d95e0c;color:#fff}.theme-vchatdark .Button--color--orange:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--orange:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--orange:hover,.theme-vchatdark .Button--color--orange:focus{background-color:#f0853f;color:#fff}.theme-vchatdark .Button--color--yellow{transition:color 50ms,background-color 50ms;background-color:#d9b804;color:#000}.theme-vchatdark .Button--color--yellow:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--yellow:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--yellow:hover,.theme-vchatdark .Button--color--yellow:focus{background-color:#f5d72e;color:#000}.theme-vchatdark .Button--color--olive{transition:color 50ms,background-color 50ms;background-color:#9aad14;color:#fff}.theme-vchatdark .Button--color--olive:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--olive:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--olive:hover,.theme-vchatdark .Button--color--olive:focus{background-color:#c4da2b;color:#fff}.theme-vchatdark .Button--color--green{transition:color 50ms,background-color 50ms;background-color:#1b9638;color:#fff}.theme-vchatdark .Button--color--green:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--green:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--green:hover,.theme-vchatdark .Button--color--green:focus{background-color:#32c154;color:#fff}.theme-vchatdark .Button--color--teal{transition:color 50ms,background-color 50ms;background-color:#009a93;color:#fff}.theme-vchatdark .Button--color--teal:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--teal:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--teal:hover,.theme-vchatdark .Button--color--teal:focus{background-color:#13c4bc;color:#fff}.theme-vchatdark .Button--color--blue{transition:color 50ms,background-color 50ms;background-color:#1c71b1;color:#fff}.theme-vchatdark .Button--color--blue:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--blue:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--blue:hover,.theme-vchatdark .Button--color--blue:focus{background-color:#3a95d9;color:#fff}.theme-vchatdark .Button--color--violet{transition:color 50ms,background-color 50ms;background-color:#552dab;color:#fff}.theme-vchatdark .Button--color--violet:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--violet:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--violet:hover,.theme-vchatdark .Button--color--violet:focus{background-color:#7953cc;color:#fff}.theme-vchatdark .Button--color--purple{transition:color 50ms,background-color 50ms;background-color:#8b2baa;color:#fff}.theme-vchatdark .Button--color--purple:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--purple:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--purple:hover,.theme-vchatdark .Button--color--purple:focus{background-color:#ad4fcd;color:#fff}.theme-vchatdark .Button--color--pink{transition:color 50ms,background-color 50ms;background-color:#cf2082;color:#fff}.theme-vchatdark .Button--color--pink:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--pink:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--pink:hover,.theme-vchatdark .Button--color--pink:focus{background-color:#e257a5;color:#fff}.theme-vchatdark .Button--color--brown{transition:color 50ms,background-color 50ms;background-color:#8c5836;color:#fff}.theme-vchatdark .Button--color--brown:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--brown:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--brown:hover,.theme-vchatdark .Button--color--brown:focus{background-color:#b47851;color:#fff}.theme-vchatdark .Button--color--grey{transition:color 50ms,background-color 50ms;background-color:#646464;color:#fff}.theme-vchatdark .Button--color--grey:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--grey:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--grey:hover,.theme-vchatdark .Button--color--grey:focus{background-color:#868686;color:#fff}.theme-vchatdark .Button--color--good{transition:color 50ms,background-color 50ms;background-color:#4d9121;color:#fff}.theme-vchatdark .Button--color--good:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--good:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--good:hover,.theme-vchatdark .Button--color--good:focus{background-color:#6cba39;color:#fff}.theme-vchatdark .Button--color--average{transition:color 50ms,background-color 50ms;background-color:#cd7a0d;color:#fff}.theme-vchatdark .Button--color--average:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--average:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--average:hover,.theme-vchatdark .Button--color--average:focus{background-color:#ed9d35;color:#fff}.theme-vchatdark .Button--color--bad{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.theme-vchatdark .Button--color--bad:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--bad:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--bad:hover,.theme-vchatdark .Button--color--bad:focus{background-color:#dc4848;color:#fff}.theme-vchatdark .Button--color--label{transition:color 50ms,background-color 50ms;background-color:#657a94;color:#fff}.theme-vchatdark .Button--color--label:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--label:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--label:hover,.theme-vchatdark .Button--color--label:focus{background-color:#91a1b3;color:#fff}.theme-vchatdark .Button--color--default{transition:color 50ms,background-color 50ms;background-color:#3e6189;color:#fff}.theme-vchatdark .Button--color--default:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--default:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--default:hover,.theme-vchatdark .Button--color--default:focus{background-color:#5c83b0;color:#fff}.theme-vchatdark .Button--color--caution{transition:color 50ms,background-color 50ms;background-color:#d9b804;color:#000}.theme-vchatdark .Button--color--caution:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--caution:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--caution:hover,.theme-vchatdark .Button--color--caution:focus{background-color:#f5d72e;color:#000}.theme-vchatdark .Button--color--danger{transition:color 50ms,background-color 50ms;background-color:#bd2020;color:#fff}.theme-vchatdark .Button--color--danger:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--danger:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--danger:hover,.theme-vchatdark .Button--color--danger:focus{background-color:#dc4848;color:#fff}.theme-vchatdark .Button--color--transparent{transition:color 50ms,background-color 50ms;background-color:#252525;color:#fff;background-color:rgba(37,37,37,0);color:rgba(255,255,255,.5)}.theme-vchatdark .Button--color--transparent:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--color--transparent:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--color--transparent:hover,.theme-vchatdark .Button--color--transparent:focus{background-color:#3e3e3e;color:#fff}.theme-vchatdark .Button--disabled{background-color:#999!important}.theme-vchatdark .Button--selected{transition:color 50ms,background-color 50ms;background-color:#1b9638;color:#fff}.theme-vchatdark .Button--selected:hover{transition:color 0ms,background-color 0ms}.theme-vchatdark .Button--selected:focus{transition:color .1s,background-color .1s}.theme-vchatdark .Button--selected:hover,.theme-vchatdark .Button--selected:focus{background-color:#32c154;color:#fff}.theme-vchatdark .Button--flex{display:inline-flex;flex-direction:column}.theme-vchatdark .Button--flex--fluid{width:100%}.theme-vchatdark .Button--verticalAlignContent--top{justify-content:flex-start}.theme-vchatdark .Button--verticalAlignContent--middle{justify-content:center}.theme-vchatdark .Button--verticalAlignContent--bottom{justify-content:flex-end}.theme-vchatdark .Button__content{display:block;align-self:stretch}.theme-vchatdark .NumberInput{position:relative;display:inline-block;border:.0833333333em solid #88bfff;border:.0833333333em solid rgba(136,191,255,.75);border-radius:.16em;color:#88bfff;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;text-align:right;overflow:visible;cursor:n-resize}.theme-vchatdark .NumberInput--fluid{display:block}.theme-vchatdark .NumberInput__content{margin-left:.5em}.theme-vchatdark .NumberInput__barContainer{position:absolute;top:.1666666667em;bottom:.1666666667em;left:.1666666667em}.theme-vchatdark .NumberInput__bar{position:absolute;bottom:0;left:0;width:.25em;box-sizing:border-box;border-bottom:.0833333333em solid #88bfff;background-color:#88bfff}.theme-vchatdark .NumberInput__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:#0a0a0a;color:#fff;text-align:right}.theme-vchatdark .Input{position:relative;display:inline-block;width:10em;border:.0833333333em solid #88bfff;border:.0833333333em solid rgba(136,191,255,.75);border-radius:.16em;color:#fff;background-color:#0a0a0a;padding:0 .3333333333em;margin-right:.1666666667em;line-height:1.4166666667em;overflow:visible}.theme-vchatdark .Input--fluid{display:block;width:auto}.theme-vchatdark .Input__baseline{display:inline-block;color:rgba(0,0,0,0)}.theme-vchatdark .Input__input{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;font-size:1em;line-height:1.4166666667em;height:1.4166666667em;margin:0;padding:0 .5em;font-family:Verdana,sans-serif;background-color:rgba(0,0,0,0);color:#fff;color:inherit}.theme-vchatdark .Input__input:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.theme-vchatdark .Input--monospace .Input__input{font-family:Consolas,monospace}.theme-vchatdark .TextArea{position:relative;display:inline-block;border:.0833333333em solid #88bfff;border:.0833333333em solid rgba(136,191,255,.75);border-radius:.16em;background-color:#0a0a0a;margin-right:.1666666667em;line-height:1.4166666667em;box-sizing:border-box;width:100%}.theme-vchatdark .TextArea--fluid{display:block;width:auto;height:auto}.theme-vchatdark .TextArea__textarea{display:block;position:absolute;top:0;bottom:0;left:0;right:0;border:0;outline:0;width:100%;height:100%;font-size:1em;line-height:1.4166666667em;min-height:1.4166666667em;margin:0;padding:0 .5em;font-family:inherit;background-color:rgba(0,0,0,0);color:inherit;box-sizing:border-box;word-wrap:break-word;overflow:hidden}.theme-vchatdark .TextArea__textarea:-ms-input-placeholder{font-style:italic;color:#777;color:rgba(255,255,255,.45)}.theme-vchatdark .Knob{position:relative;font-size:1rem;width:2.6em;height:2.6em;margin:0 auto -.2em;cursor:n-resize}.theme-vchatdark .Knob:after{content:".";color:rgba(0,0,0,0);line-height:2.5em}.theme-vchatdark .Knob__circle{position:absolute;top:.1em;bottom:.1em;left:.1em;right:.1em;margin:.3em;background-color:#333;background-image:linear-gradient(to bottom,rgba(255,255,255,.15) 0%,rgba(255,255,255,0) 100%);border-radius:50%;box-shadow:0 .05em .5em rgba(0,0,0,.5)}.theme-vchatdark .Knob__cursorBox{position:absolute;top:0;bottom:0;left:0;right:0}.theme-vchatdark .Knob__cursor{position:relative;top:.05em;margin:0 auto;width:.2em;height:.8em;background-color:rgba(255,255,255,.9)}.theme-vchatdark .Knob__popupValue{position:absolute;top:-2rem;right:50%;font-size:1rem;text-align:center;padding:.25rem .5rem;color:#fff;background-color:#000;transform:translate(50%);white-space:nowrap}.theme-vchatdark .Knob__ring{position:absolute;top:0;bottom:0;left:0;right:0;padding:.1em}.theme-vchatdark .Knob__ringTrackPivot{transform:rotate(135deg)}.theme-vchatdark .Knob__ringTrack{fill:rgba(0,0,0,0);stroke:rgba(255,255,255,.1);stroke-width:8;stroke-linecap:round;stroke-dasharray:235.62}.theme-vchatdark .Knob__ringFillPivot{transform:rotate(135deg)}.theme-vchatdark .Knob--bipolar .Knob__ringFillPivot{transform:rotate(270deg)}.theme-vchatdark .Knob__ringFill{fill:rgba(0,0,0,0);stroke:#6a96c9;stroke-width:8;stroke-linecap:round;stroke-dasharray:314.16;transition:stroke 50ms ease-out}.theme-vchatdark .Knob--color--black .Knob__ringFill{stroke:#1a1a1a}.theme-vchatdark .Knob--color--white .Knob__ringFill{stroke:#fff}.theme-vchatdark .Knob--color--red .Knob__ringFill{stroke:#df3e3e}.theme-vchatdark .Knob--color--orange .Knob__ringFill{stroke:#f37f33}.theme-vchatdark .Knob--color--yellow .Knob__ringFill{stroke:#fbda21}.theme-vchatdark .Knob--color--olive .Knob__ringFill{stroke:#cbe41c}.theme-vchatdark .Knob--color--green .Knob__ringFill{stroke:#25ca4c}.theme-vchatdark .Knob--color--teal .Knob__ringFill{stroke:#00d6cc}.theme-vchatdark .Knob--color--blue .Knob__ringFill{stroke:#2e93de}.theme-vchatdark .Knob--color--violet .Knob__ringFill{stroke:#7349cf}.theme-vchatdark .Knob--color--purple .Knob__ringFill{stroke:#ad45d0}.theme-vchatdark .Knob--color--pink .Knob__ringFill{stroke:#e34da1}.theme-vchatdark .Knob--color--brown .Knob__ringFill{stroke:#b97447}.theme-vchatdark .Knob--color--grey .Knob__ringFill{stroke:#848484}.theme-vchatdark .Knob--color--good .Knob__ringFill{stroke:#68c22d}.theme-vchatdark .Knob--color--average .Knob__ringFill{stroke:#f29a29}.theme-vchatdark .Knob--color--bad .Knob__ringFill{stroke:#df3e3e}.theme-vchatdark .Knob--color--label .Knob__ringFill{stroke:#8b9bb0}.theme-vchatdark .Slider{cursor:e-resize}.theme-vchatdark .Slider__cursorOffset{position:absolute;top:0;left:0;bottom:0;transition:none!important}.theme-vchatdark .Slider__cursor{position:absolute;top:0;right:-.0833333333em;bottom:0;width:0;border-left:.1666666667em solid #fff}.theme-vchatdark .Slider__pointer{position:absolute;right:-.4166666667em;bottom:-.3333333333em;width:0;height:0;border-left:.4166666667em solid rgba(0,0,0,0);border-right:.4166666667em solid rgba(0,0,0,0);border-bottom:.4166666667em solid #fff}.theme-vchatdark .Slider__popupValue{position:absolute;right:0;top:-2rem;font-size:1rem;padding:.25rem .5rem;color:#fff;background-color:#000;transform:translate(50%);white-space:nowrap}.theme-vchatdark .ProgressBar{display:inline-block;position:relative;width:100%;padding:0 .5em;border-radius:.16em;background-color:rgba(0,0,0,0);transition:border-color .9s ease-out}.theme-vchatdark .ProgressBar__fill{position:absolute;top:-.5px;left:0;bottom:-.5px}.theme-vchatdark .ProgressBar__fill--animated{transition:background-color .9s ease-out,width .9s ease-out}.theme-vchatdark .ProgressBar__content{position:relative;line-height:1.4166666667em;width:100%;text-align:right}.theme-vchatdark .ProgressBar--color--default{border:.0833333333em solid #3e6189}.theme-vchatdark .ProgressBar--color--default .ProgressBar__fill{background-color:#3e6189}.theme-vchatdark .ProgressBar--color--black{border:.0833333333em solid #000!important}.theme-vchatdark .ProgressBar--color--black .ProgressBar__fill{background-color:#000}.theme-vchatdark .ProgressBar--color--white{border:.0833333333em solid #d9d9d9!important}.theme-vchatdark .ProgressBar--color--white .ProgressBar__fill{background-color:#d9d9d9}.theme-vchatdark .ProgressBar--color--red{border:.0833333333em solid #bd2020!important}.theme-vchatdark .ProgressBar--color--red .ProgressBar__fill{background-color:#bd2020}.theme-vchatdark .ProgressBar--color--orange{border:.0833333333em solid #d95e0c!important}.theme-vchatdark .ProgressBar--color--orange .ProgressBar__fill{background-color:#d95e0c}.theme-vchatdark .ProgressBar--color--yellow{border:.0833333333em solid #d9b804!important}.theme-vchatdark .ProgressBar--color--yellow .ProgressBar__fill{background-color:#d9b804}.theme-vchatdark .ProgressBar--color--olive{border:.0833333333em solid #9aad14!important}.theme-vchatdark .ProgressBar--color--olive .ProgressBar__fill{background-color:#9aad14}.theme-vchatdark .ProgressBar--color--green{border:.0833333333em solid #1b9638!important}.theme-vchatdark .ProgressBar--color--green .ProgressBar__fill{background-color:#1b9638}.theme-vchatdark .ProgressBar--color--teal{border:.0833333333em solid #009a93!important}.theme-vchatdark .ProgressBar--color--teal .ProgressBar__fill{background-color:#009a93}.theme-vchatdark .ProgressBar--color--blue{border:.0833333333em solid #1c71b1!important}.theme-vchatdark .ProgressBar--color--blue .ProgressBar__fill{background-color:#1c71b1}.theme-vchatdark .ProgressBar--color--violet{border:.0833333333em solid #552dab!important}.theme-vchatdark .ProgressBar--color--violet .ProgressBar__fill{background-color:#552dab}.theme-vchatdark .ProgressBar--color--purple{border:.0833333333em solid #8b2baa!important}.theme-vchatdark .ProgressBar--color--purple .ProgressBar__fill{background-color:#8b2baa}.theme-vchatdark .ProgressBar--color--pink{border:.0833333333em solid #cf2082!important}.theme-vchatdark .ProgressBar--color--pink .ProgressBar__fill{background-color:#cf2082}.theme-vchatdark .ProgressBar--color--brown{border:.0833333333em solid #8c5836!important}.theme-vchatdark .ProgressBar--color--brown .ProgressBar__fill{background-color:#8c5836}.theme-vchatdark .ProgressBar--color--grey{border:.0833333333em solid #646464!important}.theme-vchatdark .ProgressBar--color--grey .ProgressBar__fill{background-color:#646464}.theme-vchatdark .ProgressBar--color--good{border:.0833333333em solid #4d9121!important}.theme-vchatdark .ProgressBar--color--good .ProgressBar__fill{background-color:#4d9121}.theme-vchatdark .ProgressBar--color--average{border:.0833333333em solid #cd7a0d!important}.theme-vchatdark .ProgressBar--color--average .ProgressBar__fill{background-color:#cd7a0d}.theme-vchatdark .ProgressBar--color--bad{border:.0833333333em solid #bd2020!important}.theme-vchatdark .ProgressBar--color--bad .ProgressBar__fill{background-color:#bd2020}.theme-vchatdark .ProgressBar--color--label{border:.0833333333em solid #657a94!important}.theme-vchatdark .ProgressBar--color--label .ProgressBar__fill{background-color:#657a94}.theme-vchatdark .Chat{color:#abc6ec}.theme-vchatdark .Chat__badge{display:inline-block;min-width:.5em;font-size:.7em;padding:.2em .3em;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#dc143c;border-radius:10px;transition:font-size .2s ease-out}.theme-vchatdark .Chat__badge:before{content:"x"}.theme-vchatdark .Chat__badge--animate{font-size:.9em;transition:font-size 0ms}.theme-vchatdark .Chat__scrollButton{position:fixed;right:2em;bottom:1em}.theme-vchatdark .Chat__reconnected{font-size:.85em;text-align:center;margin:1em 0 2em}.theme-vchatdark .Chat__reconnected:before{content:"Reconnected";display:inline-block;border-radius:1em;padding:0 .7em;color:#db2828;background-color:rgba(0,0,0,.33)}.theme-vchatdark .Chat__reconnected:after{content:"";display:block;margin-top:-.75em;border-bottom:.1666666667em solid #db2828}.theme-vchatdark .Chat__highlight{color:#000}.theme-vchatdark .Chat__highlight--restricted{color:#fff;background-color:#a00;font-weight:700}.theme-vchatdark .ChatMessage{word-wrap:break-word}.theme-vchatdark .ChatMessage--highlighted{position:relative;border-left:.1666666667em solid #fd4;padding-left:.5em}.theme-vchatdark .ChatMessage--highlighted:after{content:"";position:absolute;top:0;bottom:0;left:0;right:0;background-color:rgba(255,221,68,.1);pointer-events:none}.theme-vchatdark .Layout,.theme-vchatdark .Layout *{scrollbar-base-color:#1c1c1c;scrollbar-face-color:#3b3b3b;scrollbar-3dlight-color:#252525;scrollbar-highlight-color:#252525;scrollbar-track-color:#1c1c1c;scrollbar-arrow-color:#929292;scrollbar-shadow-color:#3b3b3b}.theme-vchatdark .Layout__content{position:absolute;top:0;bottom:0;left:0;right:0;overflow-x:hidden;overflow-y:hidden}.theme-vchatdark .Layout__content--scrollable{overflow-y:scroll;margin-bottom:0}.theme-vchatdark .Layout__content--flexRow{display:flex;flex-flow:row}.theme-vchatdark .Layout__content--flexColumn{display:flex;flex-flow:column}.theme-vchatdark .Window{position:fixed;top:0;bottom:0;left:0;right:0;color:#fff;background-color:#252525;background-image:linear-gradient(to bottom,#2a2a2a 0%,#202020 100%)}.theme-vchatdark .Window__titleBar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;height:2.6666666667rem}.theme-vchatdark .Window__rest{position:fixed;top:32px;top:2.6666666667rem;bottom:0;left:0;right:0}.theme-vchatdark .Window__contentPadding{margin:.5rem;height:100%;height:calc(100% - 1.01rem)}.theme-vchatdark .Window__contentPadding:after{height:0}.theme-vchatdark .Layout__content--scrollable .Window__contentPadding:after{display:block;content:"";height:.5rem}.theme-vchatdark .Window__dimmer{position:fixed;top:0;bottom:0;left:0;right:0;background-color:rgba(62,62,62,.25);pointer-events:none}.theme-vchatdark .Window__resizeHandle__se{position:fixed;bottom:0;right:0;width:20px;width:1.6666666667rem;height:20px;height:1.6666666667rem;cursor:se-resize}.theme-vchatdark .Window__resizeHandle__s{position:fixed;bottom:0;left:0;right:0;height:6px;height:.5rem;cursor:s-resize}.theme-vchatdark .Window__resizeHandle__e{position:fixed;top:0;bottom:0;right:0;width:3px;width:.25rem;cursor:e-resize}.theme-vchatdark .TitleBar{background-color:#363636;border-bottom:1px solid #161616;box-shadow:0 2px 2px rgba(0,0,0,.1);box-shadow:0 .1666666667rem .1666666667rem rgba(0,0,0,.1);user-select:none;-ms-user-select:none}.theme-vchatdark .TitleBar__clickable{color:rgba(255,255,255,.5);background-color:#363636;transition:color .25s ease-out,background-color .25s ease-out}.theme-vchatdark .TitleBar__clickable:hover{color:#fff;background-color:#c00;transition:color 0ms,background-color 0ms}.theme-vchatdark .TitleBar__title{position:absolute;display:inline-block;top:0;left:46px;left:3.8333333333rem;color:rgba(255,255,255,.75);font-size:14px;font-size:1.1666666667rem;line-height:31px;line-height:2.5833333333rem;white-space:nowrap;pointer-events:none}.theme-vchatdark .TitleBar__buttons{pointer-events:initial;display:inline-block;width:100%;margin-left:10px}.theme-vchatdark .TitleBar__dragZone{position:absolute;top:0;left:0;right:0;height:32px;height:2.6666666667rem}.theme-vchatdark .TitleBar__statusIcon{position:absolute;top:0;left:12px;left:1rem;transition:color .5s;font-size:20px;font-size:1.6666666667rem;line-height:32px!important;line-height:2.6666666667rem!important}.theme-vchatdark .TitleBar__close{position:absolute;top:-1px;right:0;width:45px;width:3.75rem;height:32px;height:2.6666666667rem;font-size:20px;font-size:1.6666666667rem;line-height:31px;line-height:2.5833333333rem;text-align:center}.theme-vchatdark .TitleBar__devBuildIndicator{position:absolute;top:6px;top:.5rem;right:52px;right:4.3333333333rem;min-width:20px;min-width:1.6666666667rem;padding:2px 4px;padding:.1666666667rem .3333333333rem;background-color:rgba(91,170,39,.75);color:#fff;text-align:center}.theme-vchatdark img{margin:0;padding:0;line-height:1;-ms-interpolation-mode:nearest-neighbor;image-rendering:pixelated}.theme-vchatdark img.icon{height:1em;min-height:16px;width:auto;vertical-align:bottom}.theme-vchatdark a{color:#397ea5}.theme-vchatdark a.visited,.theme-vchatdark a:visited{color:#7c00e6}.theme-vchatdark a.popt{text-decoration:none}.theme-vchatdark .popup{position:fixed;top:50%;left:50%;background:#ddd}.theme-vchatdark .popup .close{position:absolute;background:#aaa;top:0;right:0;color:#333;text-decoration:none;z-index:2;padding:0 10px;height:30px;line-height:30px}.theme-vchatdark .popup .close:hover{background:#999}.theme-vchatdark .popup .head{background:#999;color:#ddd;padding:0 10px;height:30px;line-height:30px;text-transform:uppercase;font-size:.9em;font-weight:700;border-bottom:2px solid green}.theme-vchatdark .popup input{border:1px solid #999;background:#fff;margin:0;padding:5px;outline:none;color:#333}.theme-vchatdark .popup input[type=text]:hover,.theme-vchatdark .popup input[type=text]:active,.theme-vchatdark .popup input[type=text]:focus{border-color:green}.theme-vchatdark .popup input[type=submit]{padding:5px 10px;background:#999;color:#ddd;text-transform:uppercase;font-size:.9em;font-weight:700}.theme-vchatdark .popup input[type=submit]:hover,.theme-vchatdark .popup input[type=submit]:focus,.theme-vchatdark .popup input[type=submit]:active{background:#aaa;cursor:pointer}.theme-vchatdark .changeFont{padding:10px}.theme-vchatdark .changeFont a{display:block;text-decoration:none;padding:3px;color:#333}.theme-vchatdark .changeFont a:hover{background:#ccc}.theme-vchatdark .highlightPopup{padding:10px;text-align:center}.theme-vchatdark .highlightPopup input[type=text]{display:block;width:215px;text-align:left;margin-top:5px}.theme-vchatdark .highlightPopup input.highlightColor{background-color:#ff0}.theme-vchatdark .highlightPopup input.highlightTermSubmit{margin-top:5px}.theme-vchatdark .contextMenu{background-color:#ddd;position:fixed;margin:2px;width:150px}.theme-vchatdark .contextMenu a{display:block;padding:2px 5px;text-decoration:none;color:#333}.theme-vchatdark .contextMenu a:hover{background-color:#ccc}.theme-vchatdark .filterMessages{padding:5px}.theme-vchatdark .filterMessages div{padding:2px 0}.theme-vchatdark .icon-stack{height:1em;line-height:1em;width:1em;vertical-align:middle;margin-top:-2px}.theme-vchatdark .motd{color:#638500;font-family:Verdana,sans-serif;white-space:normal}.theme-vchatdark .motd h1,.theme-vchatdark .motd h2,.theme-vchatdark .motd h3,.theme-vchatdark .motd h4,.theme-vchatdark .motd h5,.theme-vchatdark .motd h6{color:#638500;text-decoration:underline}.theme-vchatdark .motd a,.theme-vchatdark .motd a:link,.theme-vchatdark .motd a:visited,.theme-vchatdark .motd a:active,.theme-vchatdark .motd a:hover{color:#638500}.theme-vchatdark .bold,.theme-vchatdark .name,.theme-vchatdark .prefix,.theme-vchatdark .ooc,.theme-vchatdark .looc,.theme-vchatdark .adminooc,.theme-vchatdark .admin,.theme-vchatdark .medal,.theme-vchatdark .yell{font-weight:700}.theme-vchatdark .italic,.theme-vchatdark .italics{font-style:italic}.theme-vchatdark .highlight{background:#ff0}.theme-vchatdark h1,.theme-vchatdark h2,.theme-vchatdark h3,.theme-vchatdark h4,.theme-vchatdark h5,.theme-vchatdark h6{color:#a4bad6;font-family:Georgia,Verdana,sans-serif}.theme-vchatdark h1.alert,.theme-vchatdark h2.alert{color:#a4bad6}.theme-vchatdark em{font-style:normal;font-weight:700}.theme-vchatdark .ooc{color:#004ed8;font-weight:700}.theme-vchatdark .ooc .elevated{color:#2e78d9}.theme-vchatdark .ooc .moderator{color:#184880}.theme-vchatdark .ooc .developer{color:#1b521f}.theme-vchatdark .ooc .admin{color:#b82e00}.theme-vchatdark .ooc .event_manager{color:#603}.theme-vchatdark .ooc .aooc{color:#960018}.theme-vchatdark img.text_tag{width:32px;height:10px;min-height:10px}.theme-vchatdark img.icon{vertical-align:middle;max-height:1em}.theme-vchatdark img.icon.bigicon{max-height:32px}.theme-vchatdark .looc{color:#3a9696;font-weight:700}.theme-vchatdark .rlooc{color:#3abb96;font-weight:700}.theme-vchatdark .adminobserverooc{color:#09c;font-weight:700}.theme-vchatdark .adminooc{color:#3d5bc3;font-weight:700}.theme-vchatdark .adminsay{color:#ff4500;font-weight:700}.theme-vchatdark .admin{color:#5975da;font-weight:700}.theme-vchatdark .mentor_channel{color:olive;font-weight:700}.theme-vchatdark .mod_channel{color:#735638;font-weight:700}.theme-vchatdark .admin_channel{color:#9611d4;font-weight:700}.theme-vchatdark .event_channel{color:#c39;font-weight:700}.theme-vchatdark .name{font-weight:700}.theme-vchatdark .say,.theme-vchatdark .emote,.theme-vchatdark .emotesubtle,.theme-vchatdark .npcemote,.theme-vchatdark .infoplain,.theme-vchatdark .oocplain,.theme-vchatdark .warningplain,.theme-vchatdark .chatexport{color:#fff}.theme-vchatdark .psay,.theme-vchatdark .pemote{color:#e300e4;font-style:italic}.theme-vchatdark .deadsay{color:#732fcd}.theme-vchatdark .binarysay{color:#1e90ff}.theme-vchatdark .binarysay a{color:#0f0}.theme-vchatdark .binarysay a:active,.theme-vchatdark .binarysay a:visited{color:#8f8}.theme-vchatdark .radio{color:#00a800}.theme-vchatdark .sciradio{color:#939}.theme-vchatdark .comradio{color:#395a9a}.theme-vchatdark .secradio{color:#a30000}.theme-vchatdark .medradio{color:#008160}.theme-vchatdark .engradio{color:#a66300}.theme-vchatdark .supradio{color:#5f4519}.theme-vchatdark .srvradio{color:#6eaa2c}.theme-vchatdark .expradio{color:#555}.theme-vchatdark .syndradio{color:#6d3f40}.theme-vchatdark .gangradio{color:#ac2ea1}.theme-vchatdark .centradio{color:#5c5c8a}.theme-vchatdark .airadio{color:#f0f}.theme-vchatdark .redteamradio{color:#f44!important}.theme-vchatdark .blueteamradio{color:#3434fd!important}.theme-vchatdark .greenteamradio{color:#34fd34!important}.theme-vchatdark .yellowteamradio{color:#fdfd34!important}.theme-vchatdark .yell{font-weight:700}.theme-vchatdark .alert{color:red}.theme-vchatdark .valert{color:#d82020}.theme-vchatdark .userdanger{color:#c51e1e;font-weight:700;font-size:185%}.theme-vchatdark .bolddanger{color:#c51e1e;font-weight:700}.theme-vchatdark .danger,.theme-vchatdark .vdanger{color:#c51e1e}.theme-vchatdark .warning,.theme-vchatdark .vwarning{color:#c51e1e;font-style:italic}.theme-vchatdark .alertwarning{color:red;font-weight:700}.theme-vchatdark .boldwarning{color:#c51e1e;font-style:italic;font-weight:700}.theme-vchatdark .announce,.theme-vchatdark .boldannounce{color:#c51e1e;font-weight:700}.theme-vchatdark .minorannounce{color:#c51e1e;font-weight:700;font-size:185%}.theme-vchatdark .minoralert{color:#a4bad6;font-size:125%}.theme-vchatdark .priorityannounce{color:#a4bad6;font-weight:700;font-size:225%}.theme-vchatdark .prioritytitle{color:#6685f5;font-weight:700;font-size:185%}.theme-vchatdark .priorityalert{color:#c51e1e;font-size:140%}.theme-vchatdark .greenannounce{color:#059223;font-weight:700}.theme-vchatdark .rose{color:#ff5050}.theme-vchatdark .info,.theme-vchatdark .notice,.theme-vchatdark .vnotice{color:#6060c9}.theme-vchatdark .tinynotice{color:#6060c9;font-size:85%}.theme-vchatdark .tinynoticeital{color:#6060c9;font-style:italic;font-size:85%}.theme-vchatdark .smallnotice{color:#6060c9;font-size:90%}.theme-vchatdark .smallnoticeital{color:#6060c9;font-style:italic;font-size:90%}.theme-vchatdark .bolditalic{font-style:italic;font-weight:700}.theme-vchatdark .boldnotice{color:#6060c9;font-weight:700}.theme-vchatdark .hear{color:#6060c9;font-style:italic}.theme-vchatdark .adminnotice{color:#6060c9}.theme-vchatdark .adminhelp{color:red;font-weight:700}.theme-vchatdark .log_message{color:#386aff;font-weight:700}.theme-vchatdark .unconscious{color:#a4bad6;font-weight:700}.theme-vchatdark .suicide{color:#ff5050;font-style:italic}.theme-vchatdark .green{color:#4f4}.theme-vchatdark .grey{color:#a9a9a9}.theme-vchatdark .red{color:red}.theme-vchatdark .crimson{color:#dc143c}.theme-vchatdark .maroon{color:#c60000}.theme-vchatdark .brown{color:#db733b}.theme-vchatdark .blue{color:#66f}.theme-vchatdark .black{color:#fff}.theme-vchatdark .darkgray{color:gray}.theme-vchatdark .gray{color:#a9a9a9}.theme-vchatdark .yellow{color:#fc0}.theme-vchatdark .pink{color:pink}.theme-vchatdark .cyan{color:#0ff}.theme-vchatdark .orange{color:#ff8c00}.theme-vchatdark .nicegreen{color:#059223}.theme-vchatdark .boldnicegreen{color:#059223;font-weight:700}.theme-vchatdark .blob{color:#ee4000}.theme-vchatdark .blobannounce{color:#556b2f;font-weight:700;font-size:185%}.theme-vchatdark .cult{color:#973e3b}.theme-vchatdark .cultitalic{color:#973e3b;font-style:italic}.theme-vchatdark .cultbold{color:#973e3b;font-style:italic;font-weight:700}.theme-vchatdark .cultboldtalic,.theme-vchatdark .cultlarge{color:#973e3b;font-weight:700;font-size:185%}.theme-vchatdark .narsie{color:#973e3b;font-weight:700;font-size:925%}.theme-vchatdark .narsiesmall{color:#973e3b;font-weight:700;font-size:370%}.theme-vchatdark .colossus{color:#7f282a;font-size:310%}.theme-vchatdark .hierophant{color:#b441ee;font-weight:700;font-style:italic}.theme-vchatdark .hierophant_warning{color:#c56bf1;font-style:italic}.theme-vchatdark .purple{color:#9956d3}.theme-vchatdark .holoparasite{color:#88809c}.theme-vchatdark .revennotice{color:#c099e2}.theme-vchatdark .revenboldnotice{color:#c099e2;font-weight:700}.theme-vchatdark .revenbignotice{color:#c099e2;font-weight:700;font-size:185%}.theme-vchatdark .revenminor{color:#823abb}.theme-vchatdark .revenwarning{color:#760fbb;font-style:italic}.theme-vchatdark .revendanger{color:#760fbb;font-weight:700;font-size:185%}.theme-vchatdark .deconversion_message{color:#a947ff;font-size:185%;font-style:italic}.theme-vchatdark .ghostalert{color:#60f;font-style:italic;font-weight:700}.theme-vchatdark .alien{color:#855d85}.theme-vchatdark .noticealien{color:#059223}.theme-vchatdark .alertalien{color:#059223;font-weight:700}.theme-vchatdark .changeling{color:#b000b1;font-style:italic}.theme-vchatdark .alertsyndie{color:red;font-size:185%;font-weight:700}.theme-vchatdark .spiderbroodmother{color:#80f;font-weight:700;font-size:185%}.theme-vchatdark .spiderbreacher{color:#e8b670;font-weight:700;font-size:140%}.theme-vchatdark .spiderscout{color:#231d98;font-weight:700;font-size:120%}.theme-vchatdark .interface{color:#750e75}.theme-vchatdark .sans{font-family:Comic Sans MS,cursive,sans-serif}.theme-vchatdark .papyrus{font-family:Papyrus,cursive,sans-serif}.theme-vchatdark .robot{font-family:Courier New,cursive,sans-serif}.theme-vchatdark .tape_recorder{color:red;font-family:Courier New,cursive,sans-serif}.theme-vchatdark .command_headset{font-weight:700;font-size:160%}.theme-vchatdark .small{font-size:60%}.theme-vchatdark .big{font-size:185%}.theme-vchatdark .reallybig{font-size:245%}.theme-vchatdark .extremelybig{font-size:310%}.theme-vchatdark .greentext{color:#059223;font-size:185%}.theme-vchatdark .redtext{color:#c51e1e;font-size:185%}.theme-vchatdark .clown{color:#ff70c1;font-size:160%;font-family:Comic Sans MS,cursive,sans-serif;font-weight:700}.theme-vchatdark .singing{font-family:Trebuchet MS,cursive,sans-serif;font-style:italic}.theme-vchatdark .his_grace{color:#15d512;font-family:Courier New,cursive,sans-serif;font-style:italic}.theme-vchatdark .hypnophrase{color:#202020;font-weight:700;animation:hypnocolor 1.5s infinite;animation-direction:alternate}@keyframes hypnocolor{0%{color:#202020}25%{color:#4b02ac}50%{color:#9f41f1}75%{color:#541c9c}to{color:#7adbf3}}.theme-vchatdark .phobia{color:#d00;font-weight:700;animation:phobia .75s infinite}@keyframes phobia{0%{color:#f75a5a}50%{color:#d00}to{color:#f75a5a}}.theme-vchatdark .icon{height:1em;width:auto}.theme-vchatdark .bigicon{font-size:2.5em}.theme-vchatdark .hugeicon{font-size:5em}.theme-vchatdark .memo{color:#638500;text-align:center}.theme-vchatdark .memoedit{text-align:center;font-size:125%}.theme-vchatdark .abductor{color:#c204c2;font-style:italic}.theme-vchatdark .mind_control{color:#df3da9;font-size:100%;font-weight:700;font-style:italic}.theme-vchatdark .slime{color:#00ced1}.theme-vchatdark .drone{color:#848482}.theme-vchatdark .monkey{color:#975032}.theme-vchatdark .swarmer{color:#2c75ff}.theme-vchatdark .resonate{color:#298f85}.theme-vchatdark .upside_down{display:inline;-moz-transform:scale(-1,-1);-webkit-transform:scale(-1,-1);-o-transform:scale(-1,-1);-ms-transform:scale(-1,-1);transform:scale(-1)}.theme-vchatdark .connectionClosed,.theme-vchatdark .fatalError{background:red;color:#fff;padding:5px}.theme-vchatdark .connectionClosed.restored{background:green}.theme-vchatdark .internal.boldnshit{color:#3d5bc3;font-weight:700}.theme-vchatdark .text-normal{font-weight:400;font-style:normal}.theme-vchatdark .hidden{display:none;visibility:hidden}.theme-vchatdark .ml-1{margin-left:1em}.theme-vchatdark .ml-2{margin-left:2em}.theme-vchatdark .ml-3{margin-left:3em}.theme-vchatdark .examine_block{background:#1b1c1e;border:1px solid #a4bad6;margin:.5em;padding:.5em .75em}.theme-vchatdark .tooltip{font-style:italic;border-bottom:1px dashed #fff}.theme-vchatdark .major_announcement_title{font-size:175%;padding:0rem .5rem;line-height:100%;text-align:left;text-decoration:none;width:100%}.theme-vchatdark .subheader_announcement_text{font-weight:700;padding:.25rem .5rem 0;line-height:100%;width:100%;height:100%;text-align:left;font-size:125%}.theme-vchatdark .major_announcement_text{color:#eaeaea;background-color:#131313;font-weight:700;font-size:100%;text-align:left;padding:.5rem;width:100%;height:100%}.theme-vchatdark .minor_announcement_title{font-weight:700;padding:0 .5rem;padding-top:0;line-height:100%;width:100%;height:100%;text-align:left;font-size:150%}.theme-vchatdark .minor_announcement_text{background-color:#202020;color:#eaeaea;padding:.5rem;text-align:left;font-size:100%}.theme-vchatdark .announcement_header{padding:.5rem 0;display:flex;flex-direction:column}.theme-vchatdark .chat_alert_default{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#003045,#003045 10px,#00283a 10px,#00283a 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.theme-vchatdark .chat_alert_default .major_announcement_title,.theme-vchatdark .chat_alert_default .minor_announcement_title{color:#33d5ff}.theme-vchatdark .chat_alert_default .subheader_announcement_text{color:#ff5297}.theme-vchatdark .chat_alert_default .minor_announcement_text,.theme-vchatdark .chat_alert_default .major_announcement_text{background-color:#001621}.theme-vchatdark .chat_alert_green{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#004700,#004700 10px,#003d00 10px,#003d00 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.theme-vchatdark .chat_alert_green .major_announcement_title,.theme-vchatdark .chat_alert_green .minor_announcement_title{color:#00ff80}.theme-vchatdark .chat_alert_green .subheader_announcement_text{color:#ff85b5}.theme-vchatdark .chat_alert_green .minor_announcement_text,.theme-vchatdark .chat_alert_green .major_announcement_text{background-color:#002400}.theme-vchatdark .chat_alert_blue{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#003045,#003045 10px,#00283a 10px,#00283a 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.theme-vchatdark .chat_alert_blue .major_announcement_title,.theme-vchatdark .chat_alert_blue .minor_announcement_title{color:#33d5ff}.theme-vchatdark .chat_alert_blue .subheader_announcement_text{color:#ff5297}.theme-vchatdark .chat_alert_blue .minor_announcement_text,.theme-vchatdark .chat_alert_blue .major_announcement_text{background-color:#001621}.theme-vchatdark .chat_alert_pink{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#400025,#400025 10px,#30001b 10px,#30001b 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.theme-vchatdark .chat_alert_pink .major_announcement_title,.theme-vchatdark .chat_alert_pink .minor_announcement_title{color:#ff5297}.theme-vchatdark .chat_alert_pink .subheader_announcement_text{color:#33d5ff}.theme-vchatdark .chat_alert_pink .minor_announcement_text,.theme-vchatdark .chat_alert_pink .major_announcement_text{background-color:#17000d}.theme-vchatdark .chat_alert_yellow{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#4d4100,#4d4100 10px,#574a00 10px,#574a00 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.theme-vchatdark .chat_alert_yellow .major_announcement_title,.theme-vchatdark .chat_alert_yellow .minor_announcement_title{color:#fff4e0}.theme-vchatdark .chat_alert_yellow .subheader_announcement_text{color:#33d5ff}.theme-vchatdark .chat_alert_yellow .minor_announcement_text,.theme-vchatdark .chat_alert_yellow .major_announcement_text{background-color:#3e3400}.theme-vchatdark .chat_alert_orange{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#6b4200,#6b4200 10px,#593400 10px,#593400 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.theme-vchatdark .chat_alert_orange .major_announcement_title,.theme-vchatdark .chat_alert_orange .minor_announcement_title{color:#feefe7}.theme-vchatdark .chat_alert_orange .subheader_announcement_text{color:#33d5ff}.theme-vchatdark .chat_alert_orange .minor_announcement_text,.theme-vchatdark .chat_alert_orange .major_announcement_text{background-color:#402500}.theme-vchatdark .chat_alert_red{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#520000,#520000 10px,#420000 10px,#420000 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.theme-vchatdark .chat_alert_red .major_announcement_title,.theme-vchatdark .chat_alert_red .minor_announcement_title{color:#ff5297}.theme-vchatdark .chat_alert_red .subheader_announcement_text{color:#33d5ff}.theme-vchatdark .chat_alert_red .minor_announcement_text,.theme-vchatdark .chat_alert_red .major_announcement_text{background-color:#290000}.theme-vchatdark .chat_alert_purple{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#38003d,#38003d 10px,#2c0030 10px,#2c0030 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.theme-vchatdark .chat_alert_purple .major_announcement_title,.theme-vchatdark .chat_alert_purple .minor_announcement_title{color:#c7a1f7}.theme-vchatdark .chat_alert_purple .subheader_announcement_text{color:#33d5ff}.theme-vchatdark .chat_alert_purple .minor_announcement_text,.theme-vchatdark .chat_alert_purple .major_announcement_text{background-color:#150017}.theme-vchatdark .chat_alert_grey{color:#fff;padding:.5rem;box-shadow:none;font-weight:700;margin:1rem 0;padding:0;display:flex;flex-direction:column;border-image:repeating-linear-gradient(-45deg,#292929,#292929 10px,#252525 10px,#252525 20px);border-image-slice:4 fill;border-width:4px;border-image-width:4px;border-image-outset:0 0 0 0;border-image-repeat:repeat repeat;border-style:solid}.theme-vchatdark .chat_alert_grey .major_announcement_title,.theme-vchatdark .chat_alert_grey .minor_announcement_title{color:#ff5297}.theme-vchatdark .chat_alert_grey .subheader_announcement_text{color:#33d5ff}.theme-vchatdark .chat_alert_grey .minor_announcement_text,.theme-vchatdark .chat_alert_grey .major_announcement_text{background-color:#181818}.theme-vchatdark .tajaran{color:#803b56}.theme-vchatdark .tajaran_signlang{color:#941c1c}.theme-vchatdark .akhani{color:#ac398c}.theme-vchatdark .skrell{color:#00b0b3}.theme-vchatdark .skrellfar{color:#70fcff}.theme-vchatdark .soghun{color:#50ba6c}.theme-vchatdark .solcom{color:#6da6f0}.theme-vchatdark .sergal{color:#07f}.theme-vchatdark .birdsongc{color:#c90}.theme-vchatdark .vulpkanin{color:#b97a57}.theme-vchatdark .tavan{color:#f54298;font-family:Arial}.theme-vchatdark .echosong{color:#826d8c}.theme-vchatdark .enochian{color:#848a33;letter-spacing:-1pt;word-spacing:4pt;font-family:Lucida Sans Unicode,Lucida Grande,sans-serif}.theme-vchatdark .daemon{color:#5e339e;letter-spacing:-1pt;word-spacing:0pt;font-family:Courier New,Courier,monospace}.theme-vchatdark .drudakar{color:#bb2463;word-spacing:0pt;font-family:High Tower Text,monospace}.theme-vchatdark .bug{color:#9e9e39}.theme-vchatdark .vox{color:#a0a}.theme-vchatdark .promethean{color:#a5a5a5;font-family:Comic Sans MS,Comic Sans,cursive}.theme-vchatdark .zaddat{color:#941c1c}.theme-vchatdark .rough{font-family:Trebuchet MS,cursive,sans-serif}.theme-vchatdark .say_quote{font-family:Georgia,Verdana,sans-serif}.theme-vchatdark .say_quote_italics{font-style:italic;font-family:Georgia,Verdana,sans-serif}.theme-vchatdark .terminus{font-family:Times New Roman,Times,serif,sans-serif}.theme-vchatdark .spacer{color:#9c660b}.theme-vchatdark .teppi{color:#816540;word-spacing:4pt;font-family:Segoe Script Bold,Segoe Script,sans-serif,Verdana}.theme-vchatdark .shadekin{color:#be3cc5;font-size:150%;font-weight:700;font-family:Gabriola,cursive,sans-serif}