diff --git a/code/__DEFINES/construction_defines.dm b/code/__DEFINES/construction_defines.dm
index 339402df786..70b09adcc0b 100644
--- a/code/__DEFINES/construction_defines.dm
+++ b/code/__DEFINES/construction_defines.dm
@@ -83,6 +83,7 @@
#define MAT_PALLADIUM "palladium"
#define MAT_PLATINUM "platinum"
#define MAT_IRIDIUM "iridium"
+#define MAT_SILK "silk"
/// The amount of materials you get from a sheet of mineral like iron/diamond/glass etc
#define MINERAL_MATERIAL_AMOUNT 2000
diff --git a/code/__DEFINES/flags.dm b/code/__DEFINES/flags.dm
index a627f5a7eee..3024028bd44 100644
--- a/code/__DEFINES/flags.dm
+++ b/code/__DEFINES/flags.dm
@@ -117,9 +117,10 @@
#define BALD (1<<14)
#define ALL_RPARTS (1<<15)
#define SHAVED (1<<16)
+#define HAS_BACK_SPINES (1<<17)
//Pre-baked combinations of the above body flags
-#define HAS_BODY_ACCESSORY (HAS_TAIL | HAS_WING)
+#define HAS_BODY_ACCESSORY (HAS_TAIL | HAS_WING | HAS_BACK_SPINES)
#define HAS_MARKINGS (HAS_HEAD_MARKINGS | HAS_BODY_MARKINGS | HAS_TAIL_MARKINGS)
//Species Diet Flags
diff --git a/code/__DEFINES/misc_defines.dm b/code/__DEFINES/misc_defines.dm
index 276fd832a7c..3cfabf4d67e 100644
--- a/code/__DEFINES/misc_defines.dm
+++ b/code/__DEFINES/misc_defines.dm
@@ -188,8 +188,10 @@
#define FOAM_REACT_BEFORE_SPREAD (1<<3)
//Human Overlays Indexes/////////
-#define EYES_OVERLAY_LAYER 51
-#define MISC_LAYER 50 // Handles eye_shine() -> cybernetic eyes, specific eye traits.
+#define EYES_OVERLAY_LAYER 53
+#define MISC_LAYER 52 // Handles eye_shine() -> cybernetic eyes, specific eye traits.
+#define SPINES_LAYER 51
+#define SPINES_UNDERLIMBS_LAYER 50
#define WING_LAYER 49
#define WING_UNDERLIMBS_LAYER 48
#define MUTANTRACE_LAYER 47
@@ -239,7 +241,7 @@
#define HALO_LAYER 3 //blood cult ascended halo, because there's currently no better solution for adding/removing
#define FIRE_LAYER 2 //If you're on fire
#define FROZEN_LAYER 1
-#define TOTAL_LAYERS 51
+#define TOTAL_LAYERS 53
///Access Region Codes///
#define REGION_ALL 0
diff --git a/code/__DEFINES/mob_defines.dm b/code/__DEFINES/mob_defines.dm
index 7d467199e28..246236b5d4f 100644
--- a/code/__DEFINES/mob_defines.dm
+++ b/code/__DEFINES/mob_defines.dm
@@ -245,6 +245,7 @@
#define ismachineperson(A) (is_species(A, /datum/species/machine))
#define isdrask(A) (is_species(A, /datum/species/drask))
#define ismoth(A) (is_species(A, /datum/species/moth))
+#define isskulk(A) (is_species(A, /datum/species/skulk))
#define isdog(A) (istype((A), /mob/living/simple_animal/pet/dog))
#define iscorgi(A) (istype((A), /mob/living/simple_animal/pet/dog/corgi))
diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm
index 39a59d50610..eb77f8cd7b2 100644
--- a/code/__HELPERS/global_lists.dm
+++ b/code/__HELPERS/global_lists.dm
@@ -31,6 +31,8 @@
__init_body_accessory(/datum/body_accessory/tail)
// Different wings
__init_body_accessory(/datum/body_accessory/wing)
+ // Different spines
+ __init_body_accessory(/datum/body_accessory/spines)
// Setup species:accessory relations
initialize_body_accessory_by_species()
diff --git a/code/__HELPERS/string_assoc_lists.dm b/code/__HELPERS/string_assoc_lists.dm
index 864e05de3cf..ffe8479c47d 100644
--- a/code/__HELPERS/string_assoc_lists.dm
+++ b/code/__HELPERS/string_assoc_lists.dm
@@ -6,7 +6,11 @@ GLOBAL_LIST_EMPTY(string_assoc_lists)
/datum/proc/string_assoc_list(list/values)
var/list/string_id = list()
for(var/val in values)
- string_id += "[val]_[values[val]]"
+ if(islist(values[val]))
+ var/list/value = values[val]
+ string_id += "[val]_[value.Join("-")]" // horrible, nonexhaustive hack
+ else
+ string_id += "[val]_[values[val]]"
string_id = string_id.Join("-")
. = GLOB.string_assoc_lists[string_id]
diff --git a/code/__HELPERS/trait_helpers.dm b/code/__HELPERS/trait_helpers.dm
index 8f505f9003c..d2211a44d76 100644
--- a/code/__HELPERS/trait_helpers.dm
+++ b/code/__HELPERS/trait_helpers.dm
@@ -192,6 +192,7 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
#define TRAIT_HYPOSPRAY_IMMUNE "hypospray_immune" // For making crew-accessable hyposprays not pierce your clothing
#define TRAIT_RSG_IMMUNE "rsgimmune" //prevents RSG syringes from piercing your clothing
#define TRAIT_DRASK_SUPERCOOL "drask_supercool"
+#define TRAIT_BRITTLE_BONES "brittle_bones"
/// trait determines if this mob can breed given by /datum/component/breeding
#define TRAIT_MOB_BREEDER "mob_breeder"
diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm
index 06cd11bf6e7..fafc30f2038 100644
--- a/code/_globalvars/bitfields.dm
+++ b/code/_globalvars/bitfields.dm
@@ -167,6 +167,7 @@ DEFINE_BITFIELD(bodyflags, list(
"NO_EYES" = NO_EYES,
"HAS_ALT_HEADS" = HAS_ALT_HEADS,
"HAS_WING" = HAS_WING,
+ "HAS_BACK_SPINES" = HAS_BACK_SPINES,
"HAS_BODYACC_COLOR" = HAS_BODYACC_COLOR,
"BALD" = BALD,
"ALL_RPARTS" = ALL_RPARTS,
diff --git a/code/_globalvars/traits.dm b/code/_globalvars/traits.dm
index 473b2767a84..e33fab6dd5d 100644
--- a/code/_globalvars/traits.dm
+++ b/code/_globalvars/traits.dm
@@ -54,6 +54,7 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_FLASH_PROTECTION" = TRAIT_FLASH_PROTECTION,
"TRAIT_NIGHT_VISION" = TRAIT_NIGHT_VISION,
"TRAIT_DRASK_SUPERCOOL" = TRAIT_DRASK_SUPERCOOL,
+ "TRAIT_BRITTLE_BONES" = TRAIT_BRITTLE_BONES,
"TRAIT_NO_BONES" = TRAIT_NO_BONES,
"TRAIT_STURDY_LIMBS" = TRAIT_STURDY_LIMBS,
diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm
index 8a1670a2331..8cab647ec6a 100644
--- a/code/datums/datacore.dm
+++ b/code/datums/datacore.dm
@@ -265,7 +265,7 @@ GLOBAL_VAR_INIT(record_id_num, 1001)
preview_icon.Blend(temp, ICON_OVERLAY)
//Tail
- if(H.body_accessory && (istype(H.body_accessory, /datum/body_accessory/tail) || istype(H.body_accessory, /datum/body_accessory/wing)))
+ if(H.body_accessory && (istype(H.body_accessory, /datum/body_accessory/tail) || istype(H.body_accessory, /datum/body_accessory/wing) || istype(H.body_accessory, /datum/body_accessory/spines)))
temp = new/icon("icon" = H.body_accessory.icon, "icon_state" = H.body_accessory.icon_state)
preview_icon.Blend(temp, ICON_OVERLAY)
else if(H.tail && H.dna.species.bodyflags & HAS_TAIL)
@@ -274,6 +274,9 @@ GLOBAL_VAR_INIT(record_id_num, 1001)
else if(H.wing && H.dna.species.bodyflags & HAS_WING)
temp = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "[H.wing]_s")
preview_icon.Blend(temp, ICON_OVERLAY)
+ else if(H.spines && H.dna.species.bodyflags & HAS_BACK_SPINES)
+ temp = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "[H.spines]_s")
+ preview_icon.Blend(temp, ICON_OVERLAY)
for(var/obj/item/organ/external/E in H.bodyparts)
preview_icon.Blend(E.get_icon(), ICON_OVERLAY)
diff --git a/code/datums/diseases/kingstons.dm b/code/datums/diseases/kingstons.dm
index f877bb2cfab..86ce766e850 100644
--- a/code/datums/diseases/kingstons.dm
+++ b/code/datums/diseases/kingstons.dm
@@ -61,7 +61,7 @@
desc = "If left untreated the subject will mutate to a different species."
severity = VIRUS_BIOHAZARD
var/list/virspecies = list(/datum/species/human, /datum/species/tajaran, /datum/species/unathi,/datum/species/skrell, /datum/species/vulpkanin, /datum/species/diona,
- /datum/species/slime, /datum/species/kidan, /datum/species/drask, /datum/species/grey, /datum/species/moth) // No IPCs (not organic), or vox+plasmemes because of air requirements
+ /datum/species/slime, /datum/species/kidan, /datum/species/drask, /datum/species/grey, /datum/species/moth, /datum/species/skulk) // No IPCs (not organic), or vox+plasmemes because of air requirements
var/list/virsuffix = list("pox", "rot", "flu", "cough", "-gitis", "cold", "rash", "itch", "decay")
var/datum/species/chosentype
var/chosensuff
diff --git a/code/datums/elements/clothing_adjustment.dm b/code/datums/elements/clothing_adjustment.dm
index 4cf9141a51c..26f031c0c6c 100644
--- a/code/datums/elements/clothing_adjustment.dm
+++ b/code/datums/elements/clothing_adjustment.dm
@@ -44,7 +44,7 @@
/datum/element/clothing_adjustment/monitor_headgear/on_item_dropped(datum/source, mob/target)
UnregisterSignal(target, COMSIG_CARBON_APPLY_OVERLAY)
-/datum/element/clothing_adjustment/monitor_headgear/proc/on_carbon_apply_overlay(mob/living/carbon/source, cache_index, mutable_appearance/overlay)
+/datum/element/clothing_adjustment/monitor_headgear/proc/on_carbon_apply_overlay(mob/living/carbon/human/source, cache_index)
SIGNAL_HANDLER // COMSIG_CARBON_APPLY_OVERLAY
if(cache_index != HEAD_LAYER || !istype(source))
return
@@ -58,5 +58,153 @@
if(!robohead?.is_monitor)
return
+ var/mutable_appearance/overlay = source.overlays_standing[cache_index]
overlay.pixel_x = pixel_x
overlay.pixel_y = pixel_y
+
+// Clothing Adjustments Handling Skkulakin
+
+/datum/element/clothing_adjustment/skulk_headgear
+ var/alist/directions
+
+/datum/element/clothing_adjustment/skulk_headgear/Attach(datum/target, alist/_directions)
+ if(!istype(_directions))
+ return ELEMENT_INCOMPATIBLE
+
+ . = ..()
+
+ directions = _directions
+
+/datum/element/clothing_adjustment/skulk_headgear/on_item_equipped(datum/source, mob/target)
+ RegisterSignal(target, COMSIG_CARBON_APPLY_OVERLAY, PROC_REF(on_carbon_apply_overlay), override = TRUE)
+
+/datum/element/clothing_adjustment/skulk_headgear/on_item_dropped(datum/source, mob/target)
+ UnregisterSignal(target, list(COMSIG_CARBON_APPLY_OVERLAY))
+
+ var/mob/living/carbon/human/human = target
+ if(!istype(human))
+ return
+
+ human.update_inv_head()
+
+/datum/element/clothing_adjustment/skulk_headgear/proc/on_carbon_apply_overlay(mob/living/carbon/human/source, cache_index)
+ SIGNAL_HANDLER // COMSIG_CARBON_APPLY_OVERLAY
+ if(cache_index != HEAD_LAYER || !istype(source))
+ return
+
+ var/datum/species = source.dna?.species
+ if(!istype(species))
+ return
+
+ if(!istype(species, /datum/species/skulk))
+ return
+
+ var/icon/I = new()
+ var/image/overlay = source.overlays_standing[cache_index]
+ for(var/dir in GLOB.cardinal)
+ var/icon/dir_image = icon(overlay.icon, overlay.icon_state)
+ dir_image.Shift(NORTH, directions[dir][1])
+ dir_image.Shift(WEST, directions[dir][2])
+ I.Insert(dir_image, dir = dir)
+
+ source.overlays_standing[cache_index] = I
+
+/obj/item/clothing/head/Initialize(mapload)
+ . = ..()
+ var/skulk_adjustment = string_assoc_list(alist(SOUTH = list(-1, 0), NORTH = list(-1, 0), EAST = list(0, -2), WEST = list(0, 2)))
+ AddElement(/datum/element/clothing_adjustment/skulk_headgear, skulk_adjustment)
+
+/datum/element/clothing_adjustment/skulk_mask
+ var/alist/directions
+
+/datum/element/clothing_adjustment/skulk_mask/Attach(datum/target, alist/_directions)
+ if(!istype(_directions))
+ return ELEMENT_INCOMPATIBLE
+
+ . = ..()
+
+ directions = _directions
+
+/datum/element/clothing_adjustment/skulk_mask/on_item_equipped(datum/source, mob/target)
+ RegisterSignal(target, COMSIG_CARBON_APPLY_OVERLAY, PROC_REF(on_carbon_apply_overlay), override = TRUE)
+
+/datum/element/clothing_adjustment/skulk_mask/on_item_dropped(datum/source, mob/target)
+ UnregisterSignal(target, list(COMSIG_CARBON_APPLY_OVERLAY))
+
+ var/mob/living/carbon/human/human = target
+ if(!istype(human))
+ return
+
+ human.update_inv_wear_mask()
+
+/datum/element/clothing_adjustment/skulk_mask/proc/on_carbon_apply_overlay(mob/living/carbon/human/source, cache_index)
+ SIGNAL_HANDLER // COMSIG_CARBON_APPLY_OVERLAY
+ if(cache_index != FACEMASK_LAYER || !istype(source))
+ return
+
+ var/datum/species = source.dna?.species
+ if(!istype(species))
+ return
+
+ if(!istype(species, /datum/species/skulk))
+ return
+
+ var/icon/I = new()
+ var/image/overlay = source.overlays_standing[cache_index]
+ for(var/dir in GLOB.cardinal)
+ var/icon/dir_image = icon(overlay.icon, overlay.icon_state)
+ dir_image.Shift(NORTH, directions[dir][1])
+ dir_image.Shift(WEST, directions[dir][2])
+ I.Insert(dir_image, dir = dir)
+
+ source.overlays_standing[cache_index] = I
+
+/obj/item/clothing/mask/Initialize(mapload)
+ . = ..()
+ var/skulk_adjustment = string_assoc_list(alist(SOUTH = list(-1, 0), NORTH = list(-1, 0), EAST = list(0, -2), WEST = list(0, 2)))
+ AddElement(/datum/element/clothing_adjustment/skulk_mask, skulk_adjustment)
+
+/datum/element/clothing_adjustment/skulk_glasses
+ var/alist/directions
+
+/datum/element/clothing_adjustment/skulk_glasses/Attach(datum/target, alist/_directions)
+ if(!istype(_directions))
+ return ELEMENT_INCOMPATIBLE
+
+ . = ..()
+
+ directions = _directions
+
+/datum/element/clothing_adjustment/skulk_glasses/on_item_equipped(datum/source, mob/target)
+ RegisterSignal(target, COMSIG_CARBON_APPLY_OVERLAY, PROC_REF(on_carbon_apply_overlay), override = TRUE)
+
+/datum/element/clothing_adjustment/skulk_glasses/on_item_dropped(datum/source, mob/target)
+ UnregisterSignal(target, list(COMSIG_CARBON_APPLY_OVERLAY))
+
+ var/mob/living/carbon/human/human = target
+ if(!istype(human))
+ return
+
+ human.update_inv_glasses()
+
+/datum/element/clothing_adjustment/skulk_glasses/proc/on_carbon_apply_overlay(mob/living/carbon/human/source, cache_index)
+ SIGNAL_HANDLER // COMSIG_CARBON_APPLY_OVERLAY
+ if(cache_index != GLASSES_OVER_LAYER || !istype(source))
+ return
+
+ var/datum/species = source.dna?.species
+ if(!istype(species))
+ return
+
+ if(!istype(species, /datum/species/skulk))
+ return
+
+ var/icon/I = new()
+ var/image/overlay = source.overlays_standing[cache_index]
+ for(var/dir in GLOB.cardinal)
+ var/icon/dir_image = icon(overlay.icon, overlay.icon_state)
+ dir_image.Shift(NORTH, directions[dir][1])
+ dir_image.Shift(WEST, directions[dir][2])
+ I.Insert(dir_image, dir = dir)
+
+ source.overlays_standing[cache_index] = I
diff --git a/code/datums/keybindings/emote_keybinds.dm b/code/datums/keybindings/emote_keybinds.dm
index 05484cc58a5..793786d269a 100644
--- a/code/datums/keybindings/emote_keybinds.dm
+++ b/code/datums/keybindings/emote_keybinds.dm
@@ -481,6 +481,10 @@
linked_emote = /datum/emote/living/carbon/human/flutter
name = "Flutter"
+/datum/keybinding/emote/carbon/human/chitter
+ linked_emote = /datum/emote/living/carbon/human/chitter
+ name = "Chitter"
+
/datum/keybinding/emote/carbon/human/quill
linked_emote = /datum/emote/living/carbon/human/quill
name = "Quill"
diff --git a/code/datums/outfits/outfit_admin.dm b/code/datums/outfits/outfit_admin.dm
index 29bfa510e02..9d48ec1b53a 100644
--- a/code/datums/outfits/outfit_admin.dm
+++ b/code/datums/outfits/outfit_admin.dm
@@ -1664,3 +1664,38 @@
P.owner = H.real_name
P.ownjob = "Tourist"
P.name = "PDA-[H.real_name] ([P.ownjob])"
+
+/datum/outfit/admin/supreme
+ name = "Supreme-Inquisitor"
+ uniform = /obj/item/clothing/under/skulk/skulkcasual
+ suit = /obj/item/clothing/suit/supremeinquis
+ r_ear = /obj/item/radio/headset/alt
+ head = /obj/item/clothing/head/supremeinquis
+ gloves = /obj/item/clothing/gloves/combat
+ back = /obj/item/storage/backpack/satchel
+ shoes = /obj/item/clothing/shoes/jackboots
+ belt = /obj/item/melee/baton/loaded
+ l_pocket = /obj/item/melee/energy/sword/saber/purple
+ suit_store = /obj/item/gun/energy/plasma_pistol
+ backpack_contents = list(
+ /obj/item/storage/box/survival = 1,
+ /obj/item/reagent_containers/hypospray/autoinjector/survival = 1
+ )
+
+/datum/outfit/admin/low
+ name = "Low-Inquisitor"
+ uniform = /obj/item/clothing/under/skulk/skulkcasual
+ suit = /obj/item/clothing/suit/hooded/lowinquis
+ r_ear = /obj/item/radio/headset/alt
+ mask = /obj/item/clothing/mask/lowinquis
+ gloves = /obj/item/clothing/gloves/combat
+ back = /obj/item/storage/backpack/satchel
+ shoes = /obj/item/clothing/shoes/jackboots
+ belt = /obj/item/melee/baton/loaded
+ suit_store = /obj/item/gun/energy/plasma_pistol
+ backpack_contents = list(
+ /obj/item/storage/box/handcuffs = 1,
+ /obj/item/storage/box/survival = 1,
+ /obj/item/shield/energy = 1,
+ /obj/item/reagent_containers/hypospray/autoinjector/survival = 1
+ )
diff --git a/code/game/dna/mutations/mutation_powers.dm b/code/game/dna/mutations/mutation_powers.dm
index c27ff128f93..1dab36652df 100644
--- a/code/game/dna/mutations/mutation_powers.dm
+++ b/code/game/dna/mutations/mutation_powers.dm
@@ -900,7 +900,7 @@
//Body accessory.
- if((M.dna.species.tail && M.dna.species.bodyflags & (HAS_TAIL)) || (M.dna.species.wing && M.dna.species.bodyflags & (HAS_WING)))
+ if((M.dna.species.tail && M.dna.species.bodyflags & (HAS_TAIL)) || (M.dna.species.wing && M.dna.species.bodyflags & (HAS_WING)) || (M.dna.species.spines && M.dna.species.bodyflags & (HAS_BACK_SPINES)))
var/list/valid_body_accessories = M.generate_valid_body_accessories()
if(length(valid_body_accessories) > 1) //By default valid_body_accessories will always have at the very least a 'none' entry populating the list, even if the user's species is not present in any of the list items.
var/new_body_accessory = tgui_input_list(user, "Please select body accessory style", "Character Generation", valid_body_accessories)
diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm
index f2cb2358929..bf3ac42f365 100644
--- a/code/game/gamemodes/wizard/artefact.dm
+++ b/code/game/gamemodes/wizard/artefact.dm
@@ -1024,7 +1024,8 @@ GLOBAL_LIST_EMPTY(multiverse)
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi',
"Tajaran" = 'icons/mob/clothing/species/tajaran/suit.dmi',
"Unathi" = 'icons/mob/clothing/species/unathi/suit.dmi',
- "Vulpkanin" = 'icons/mob/clothing/species/vulpkanin/suit.dmi'
+ "Vulpkanin" = 'icons/mob/clothing/species/vulpkanin/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
)
/obj/item/clothing/suit/hooded/oblivion/Initialize(mapload)
diff --git a/code/game/machinery/computer/arcade_games/recruiter.dm b/code/game/machinery/computer/arcade_games/recruiter.dm
index 7f5d84e4e3e..0c61d0f45ab 100644
--- a/code/game/machinery/computer/arcade_games/recruiter.dm
+++ b/code/game/machinery/computer/arcade_games/recruiter.dm
@@ -86,7 +86,7 @@
var/list/hirable_species = list(/datum/species/human, /datum/species/unathi, /datum/species/skrell,
/datum/species/tajaran, /datum/species/kidan, /datum/species/drask,
/datum/species/diona, /datum/species/machine, /datum/species/slime,
- /datum/species/moth, /datum/species/vox)
+ /datum/species/moth, /datum/species/vox, /datum/species/skulk)
/// Species that are NOT hirable in the eyes of NT
var/list/incorrect_species = list(/datum/species/abductor, /datum/species/monkey,
/datum/species/shadow, /datum/species/skeleton, /datum/species/golem)
diff --git a/code/game/objects/items/defib.dm b/code/game/objects/items/defib.dm
index c38c85024ad..f2287b736b2 100644
--- a/code/game/objects/items/defib.dm
+++ b/code/game/objects/items/defib.dm
@@ -14,7 +14,8 @@
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 50, ACID = 50)
new_attack_chain = TRUE
sprite_sheets = list(
- "Vox" = 'icons/mob/clothing/species/vox/back.dmi'
+ "Vox" = 'icons/mob/clothing/species/vox/back.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/back.dmi'
)
/// If the paddles are currently attached to the unit.
diff --git a/code/game/objects/items/flag.dm b/code/game/objects/items/flag.dm
index 2de9f3cd3f6..08a8a28764d 100644
--- a/code/game/objects/items/flag.dm
+++ b/code/game/objects/items/flag.dm
@@ -135,6 +135,11 @@
desc = "An eccentric handmade standard, luxuriously soft due to exotic silks and embossed with lustrous gold. Although inspired by the pride that Nianae take in their baubles, it ultimately feels melancholic. Beauty knows no pain, afterall."
icon_state = "nianflag"
+/obj/item/flag/species/skulk
+ name = "\improper Collective Flag"
+ desc = "A foreboding flag made with silk and religious fervor. The cloth of this flag undoubtly made by faithful silk-spinners and blessed by Skkula-Kkavan priests. Some would argue its beauty does not befit it, believing it to be a beacon of zealotry that plagues the Silver Collective in its entirety."
+ icon_state = "skulkflag"
+
//Department Flags
/obj/item/flag/cargo
diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm
index fabf3673f6f..fbb72ef326b 100644
--- a/code/game/objects/items/stacks/sheets/sheet_types.dm
+++ b/code/game/objects/items/stacks/sheets/sheet_types.dm
@@ -13,6 +13,7 @@
* Bones
* Plastic
* Saltpetre Crystal
+ * Silk
*/
//////////////////////////////
@@ -825,3 +826,44 @@ GLOBAL_LIST_INIT(plastic_recipes, list(
icon_state = "sheet-saltpetre"
singular_name = "saltpetre crystal"
origin_tech = "materials=1;biotech=1"
+
+//////////////////////////////
+// MARK: Silk
+//////////////////////////////
+GLOBAL_LIST_INIT(silk_recipes, list(
+ new /datum/stack_recipe("cloth", /obj/item/stack/sheet/cloth, 1, 3, 6),
+ new /datum/stack_recipe("collective jumpsuit", /obj/item/clothing/under/skulk/skulkcasual, 3, on_floor = TRUE)
+))
+
+/obj/item/stack/sheet/silk
+ name = "silk spool"
+ desc = "A well-woven sheet of skkulakin silk. Looks like it can be used for crafting."
+ icon = 'icons/obj/stacks/organic.dmi'
+ icon_state = "sheet-silk"
+ singular_name = "silk spool"
+ force = 0
+ throwforce = 0
+ origin_tech = "materials=1;biotech=1"
+ resistance_flags = FLAMMABLE
+ merge_type = /obj/item/stack/sheet/silk
+ drop_sound = 'sound/items/handling/cloth_drop.ogg'
+ pickup_sound = 'sound/items/handling/cloth_pickup.ogg'
+
+/obj/item/stack/sheet/silk/Initialize(mapload, new_amount, merge)
+ . = ..()
+ recipes = GLOB.silk_recipes
+
+/obj/item/stack/sheet/silk/two
+ amount = 2
+
+/obj/item/stack/sheet/silk/three
+ amount = 3
+
+/obj/item/stack/sheet/silk/update_icon_state()
+ if(amount == 1)
+ icon_state = "sheet-silk"
+ else if(amount == 2)
+ icon_state = "sheet-silk_2"
+ else
+ icon_state = "sheet-silk_3"
+
diff --git a/code/game/objects/items/storage/garment.dm b/code/game/objects/items/storage/garment.dm
index df608e5595d..f047c20b9e4 100644
--- a/code/game/objects/items/storage/garment.dm
+++ b/code/game/objects/items/storage/garment.dm
@@ -71,6 +71,8 @@
new /obj/item/clothing/glasses/hud/security/sunglasses(src)
new /obj/item/clothing/head/helmet/space/plasmaman/security/hos(src)
new /obj/item/clothing/under/plasmaman/security/hos(src)
+ new /obj/item/clothing/suit/hooded/highinquis (src)
+ new /obj/item/clothing/mask/highinquis (src)
/obj/item/storage/bag/garment/research_director
name = "research director's garment bag"
diff --git a/code/game/objects/items/weapons/holy_weapons.dm b/code/game/objects/items/weapons/holy_weapons.dm
index 08b1dddb692..f1927125291 100644
--- a/code/game/objects/items/weapons/holy_weapons.dm
+++ b/code/game/objects/items/weapons/holy_weapons.dm
@@ -418,6 +418,8 @@
/obj/item/nullrod/fedora/Initialize(mapload)
. = ..()
AddElement(/datum/element/clothing_adjustment/monitor_headgear, 0, 1)
+ var/skulk_adjustment = string_assoc_list(alist(SOUTH = list(-1, 0), NORTH = list(-1, 0), EAST = list(0, -2), WEST = list(0, 2)))
+ AddElement(/datum/element/clothing_adjustment/skulk_headgear, skulk_adjustment)
/obj/item/nullrod/armblade
name = "dark blessing"
diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm
index 8c2efdbe5a5..e72a5ecc068 100644
--- a/code/game/objects/items/weapons/storage/backpack.dm
+++ b/code/game/objects/items/weapons/storage/backpack.dm
@@ -17,7 +17,8 @@
max_integrity = 300
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/back.dmi',
- "Grey" = 'icons/mob/clothing/species/grey/back.dmi'
+ "Grey" = 'icons/mob/clothing/species/grey/back.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/back.dmi'
)
/obj/item/storage/backpack/attackby__legacy__attackchain(obj/item/W as obj, mob/user as mob, params)
diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm
index 0c28ecdbcf0..b5526739b77 100644
--- a/code/game/objects/items/weapons/storage/belt.dm
+++ b/code/game/objects/items/weapons/storage/belt.dm
@@ -1076,7 +1076,8 @@
"Drask" = 'icons/mob/clothing/species/drask/belt.dmi',
"Grey" = 'icons/mob/clothing/species/grey/belt.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/belt.dmi',
- "Vox" = 'icons/mob/clothing/species/vox/belt.dmi'
+ "Vox" = 'icons/mob/clothing/species/vox/belt.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/belt.dmi'
)
/obj/item/storage/belt/chef/black
diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm
index bedf401f8c6..22f0bbe402c 100644
--- a/code/game/objects/structures/mirror.dm
+++ b/code/game/objects/structures/mirror.dm
@@ -170,7 +170,7 @@
if("Body")
if(organ_warn)
to_chat(user, SPAN_BOLDWARNING("Using the mirror will destroy any non biochip implants in you!"))
- var/list/race_list = list("Human", "Tajaran", "Skrell", "Unathi", "Diona", "Vulpkanin", "Nian", "Grey", "Drask")
+ var/list/race_list = list("Human", "Tajaran", "Skrell", "Unathi", "Diona", "Vulpkanin", "Nian", "Grey", "Drask", "Skkulakin")
if(actually_magical)
race_list = list("Human", "Tajaran", "Skrell", "Unathi", "Diona", "Vulpkanin", "Nian", "Grey", "Drask", "Vox", "Plasmaman", "Kidan", "Slime People")
diff --git a/code/modules/awaymissions/mob_spawn.dm b/code/modules/awaymissions/mob_spawn.dm
index 1807c15ffe7..d5eab644e01 100644
--- a/code/modules/awaymissions/mob_spawn.dm
+++ b/code/modules/awaymissions/mob_spawn.dm
@@ -747,6 +747,7 @@
/datum/species/drask,
/datum/species/grey,
/datum/species/diona,
+ /datum/species/skulk,
)
del_types |= /obj/item/card/id
diff --git a/code/modules/client/preference/loadout/loadout_racial.dm b/code/modules/client/preference/loadout/loadout_racial.dm
index 0f3d6af005e..914ba989905 100644
--- a/code/modules/client/preference/loadout/loadout_racial.dm
+++ b/code/modules/client/preference/loadout/loadout_racial.dm
@@ -91,6 +91,24 @@
path = /obj/item/clothing/suit/hooded/vox_robes
slot = ITEM_SLOT_OUTER_SUIT
+/datum/gear/racial/skulk_casual
+ display_name = "Collective jumpsuit"
+ description = "A grey, insulated jumpsuit made from a hardweave composite. Despite their cheap, mass-produced nature, this suit is seen on every caste from the lowliest Agrolyte to the Prodigium themselves."
+ path = /obj/item/clothing/under/skulk/skulkcasual
+ slot = ITEM_SLOT_JUMPSUIT
+
+/datum/gear/racial/skulk_robes
+ display_name = "Collective robes"
+ description = "A set of comfortable purple robes made from silk and faux gold, offers substantial protection from the cold. Worn by faithful commoners and Skkula-Kkavan zealots everywhere."
+ path = /obj/item/clothing/suit/collectiverobe
+ slot = ITEM_SLOT_OUTER_SUIT
+
+/datum/gear/racial/lowinquis
+ display_name = "Low-Inquisitor robes"
+ description = "A set of red and silver Collective robes with armor plates sewn into important areas. A common sight amongst the Collective Inquisition."
+ path = /obj/item/clothing/suit/hooded/lowinquis
+ allowed_roles = list("Head of Security", "Warden", "Detective", "Security Officer")
+
/datum/gear/racial/plasmamansuit_coke
display_name = "Coke Suit"
description = "Plasmaman envirosuit designed by Space Cola Co and gifted to the people of Boron as part of an elaborate advertisement campaign."
diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm
index 226e02750ad..ff8e9350f02 100644
--- a/code/modules/clothing/chameleon.dm
+++ b/code/modules/clothing/chameleon.dm
@@ -243,6 +243,7 @@
armor = list(MELEE = 5, BULLET = 5, LASER = 5, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 50, ACID = 50)
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/under/color.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/color.dmi',
"Drask" = 'icons/mob/clothing/species/drask/under/color.dmi',
"Grey" = 'icons/mob/clothing/species/grey/under/color.dmi'
)
@@ -294,7 +295,8 @@
armor = list(MELEE = 5, BULLET = 5, LASER = 5, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 50, ACID = 50)
sprite_sheets = list(
- "Vox" = 'icons/mob/clothing/species/vox/suit.dmi'
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
)
var/datum/action/item_action/chameleon_change/chameleon_action
@@ -573,7 +575,8 @@
/obj/item/storage/backpack/chameleon
sprite_sheets = list(
- "Vox" = 'icons/mob/clothing/species/vox/back.dmi'
+ "Vox" = 'icons/mob/clothing/species/vox/back.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/back.dmi'
)
var/datum/action/item_action/chameleon_change/chameleon_action
diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm
index 993e55cd701..25332d90ee4 100644
--- a/code/modules/clothing/clothing.dm
+++ b/code/modules/clothing/clothing.dm
@@ -253,6 +253,7 @@
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/gloves.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/gloves.dmi',
"Drask" = 'icons/mob/clothing/species/drask/gloves.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/gloves.dmi'
)
@@ -611,6 +612,7 @@
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/shoes.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/shoes.dmi',
"Drask" = 'icons/mob/clothing/species/drask/shoes.dmi'
)
@@ -977,7 +979,8 @@
resistance_flags = NONE
hide_tail_by_species = null
sprite_sheets = list(
- "Vox" = 'icons/mob/clothing/species/vox/suit.dmi'
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
)
insert_max = 0 // No inserts for space suits
@@ -998,6 +1001,7 @@
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/under/misc.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/misc.dmi',
"Drask" = 'icons/mob/clothing/species/drask/under/misc.dmi',
"Grey" = 'icons/mob/clothing/species/grey/under/misc.dmi'
)
diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm
index 2040263d912..f6b866cd951 100644
--- a/code/modules/clothing/glasses/glasses.dm
+++ b/code/modules/clothing/glasses/glasses.dm
@@ -1,5 +1,8 @@
/obj/item/clothing/glasses/Initialize(mapload)
. = ..()
+ var/skulk_adjustment = string_assoc_list(alist(SOUTH = list(-1, 0), NORTH = list(-1, 0), EAST = list(0, -2), WEST = list(0, 2)))
+ AddElement(/datum/element/clothing_adjustment/skulk_glasses, skulk_adjustment)
+
if(prescription_upgradable && prescription)
upgrade_prescription()
diff --git a/code/modules/clothing/gloves/colored_gloves.dm b/code/modules/clothing/gloves/colored_gloves.dm
index fee38bf910b..a8c9b8ea2c9 100644
--- a/code/modules/clothing/gloves/colored_gloves.dm
+++ b/code/modules/clothing/gloves/colored_gloves.dm
@@ -46,6 +46,7 @@
var/can_be_cut = 1
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/gloves.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/gloves.dmi',
"Drask" = 'icons/mob/clothing/species/drask/gloves.dmi',
"Grey" = 'icons/mob/clothing/species/grey/gloves.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/gloves.dmi',
@@ -154,6 +155,7 @@
inhand_icon_state = "lgloves"
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/gloves.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/gloves.dmi',
"Drask" = 'icons/mob/clothing/species/drask/gloves.dmi',
"Grey" = 'icons/mob/clothing/species/grey/gloves.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/gloves.dmi',
@@ -173,6 +175,7 @@
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 115, ACID = 50)
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/gloves.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/gloves.dmi',
"Drask" = 'icons/mob/clothing/species/drask/gloves.dmi',
"Grey" = 'icons/mob/clothing/species/grey/gloves.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/gloves.dmi',
diff --git a/code/modules/clothing/gloves/misc_gloves.dm b/code/modules/clothing/gloves/misc_gloves.dm
index 0d496078846..9cf48b06097 100644
--- a/code/modules/clothing/gloves/misc_gloves.dm
+++ b/code/modules/clothing/gloves/misc_gloves.dm
@@ -12,6 +12,7 @@
clipped = TRUE
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/gloves.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/gloves.dmi',
"Drask" = 'icons/mob/clothing/species/drask/gloves.dmi',
"Grey" = 'icons/mob/clothing/species/grey/gloves.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/gloves.dmi',
@@ -44,6 +45,7 @@
armor = list(MELEE = 15, BULLET = 15, LASER = 15, ENERGY = 15, BOMB = 50, RAD = 0, FIRE = 200, ACID = 50)
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/gloves.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/gloves.dmi',
"Drask" = 'icons/mob/clothing/species/drask/gloves.dmi',
"Grey" = 'icons/mob/clothing/species/grey/gloves.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/gloves.dmi',
@@ -85,6 +87,7 @@
max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/gloves.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/gloves.dmi',
"Drask" = 'icons/mob/clothing/species/drask/gloves.dmi',
"Grey" = 'icons/mob/clothing/species/grey/gloves.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/gloves.dmi'
@@ -100,6 +103,7 @@
max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/gloves.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/gloves.dmi',
"Drask" = 'icons/mob/clothing/species/drask/gloves.dmi',
"Grey" = 'icons/mob/clothing/species/grey/gloves.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/gloves.dmi'
@@ -237,6 +241,7 @@
siemens_coefficient = 0
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/gloves.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/gloves.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/gloves.dmi',
"Grey" = 'icons/mob/clothing/species/grey/gloves.dmi',
"Drask" = 'icons/mob/clothing/species/drask/gloves.dmi'
diff --git a/code/modules/clothing/neck/cloaks.dm b/code/modules/clothing/neck/cloaks.dm
index 9fa69d9fc90..8d9c7bfe2d0 100644
--- a/code/modules/clothing/neck/cloaks.dm
+++ b/code/modules/clothing/neck/cloaks.dm
@@ -72,7 +72,10 @@
desc = "A rather grisly selection of cured hides and skin, sewn together to form a ragged mantle."
icon_state = "mantle-unathi"
inhand_icon_state = "old_mantle"
- sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/neck.dmi')
+ sprite_sheets = list(
+ "Vox" = 'icons/mob/clothing/species/vox/neck.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/neck.dmi'
+ )
/obj/item/clothing/neck/cloak/captain_mantle
name = "captain's mantle"
@@ -119,5 +122,6 @@
"Drask" = 'icons/mob/clothing/species/drask/neck.dmi',
"Grey" = 'icons/mob/clothing/species/grey/neck.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/neck.dmi',
- "Vox" = 'icons/mob/clothing/species/vox/neck.dmi'
+ "Vox" = 'icons/mob/clothing/species/vox/neck.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/neck.dmi'
)
diff --git a/code/modules/clothing/spacesuits/alien_suits.dm b/code/modules/clothing/spacesuits/alien_suits.dm
index 9dd0ae546ea..b97f7d37b56 100644
--- a/code/modules/clothing/spacesuits/alien_suits.dm
+++ b/code/modules/clothing/spacesuits/alien_suits.dm
@@ -209,3 +209,33 @@
. = ..()
if(magpulse)
. += "It would be hard to take these off without relaxing your grip first."//theoretically this message should only be seen by the wearer when the claws are equipped.
+
+// Skkulakin Uniform
+
+/obj/item/clothing/under/skulk
+ icon = 'icons/obj/clothing/species/skkulakin/uniforms.dmi'
+ worn_icon = 'icons/mob/clothing/species/skkulakin/under/misc.dmi' // Placeholder, change if you want to add more stuff
+ inhand_icon_state = "bl_suit"
+ sprite_sheets = list(
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/misc.dmi'
+ )
+
+/obj/item/clothing/under/skulk/skulkcasual
+ name = "collective jumpsuit"
+ desc = "A grey, insulated jumpsuit made from a hardweave composite. Despite their cheap, mass-produced nature, this suit is seen on every caste from the lowliest Agrolyte to the Prodigium themselves."
+ icon_state = "skulkcasual"
+ worn_icon_state = "skulkcasual"
+ species_restricted = list("Skkulakin")
+
+/obj/item/clothing/suit/collectiverobe
+ name = "collective robe"
+ desc = "A set of comfortable purple robes made from silk and faux gold, offering substantial protection from the cold. Worn by faithful commoners and Skkula-Kkavan zealots everywhere."
+ icon = 'icons/obj/clothing/species/skkulakin/suits.dmi'
+ worn_icon = 'icons/mob/clothing/species/skkulakin/suit.dmi'
+ icon_state = "collectiverobe"
+ inhand_icon_state = "coatwinter"
+ species_restricted = list("Skkulakin")
+ body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
+ cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS
+ min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
+ allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter)
diff --git a/code/modules/clothing/spacesuits/ert_hardsuits.dm b/code/modules/clothing/spacesuits/ert_hardsuits.dm
index f161159dcc0..edafe13e01c 100644
--- a/code/modules/clothing/spacesuits/ert_hardsuits.dm
+++ b/code/modules/clothing/spacesuits/ert_hardsuits.dm
@@ -69,6 +69,7 @@
"Tajaran" = 'icons/mob/clothing/species/tajaran/suit.dmi',
"Unathi" = 'icons/mob/clothing/species/unathi/suit.dmi',
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi',
"Vulpkanin" = 'icons/mob/clothing/species/vulpkanin/suit.dmi',
)
@@ -189,6 +190,7 @@
"Tajaran" = 'icons/mob/clothing/species/tajaran/suit.dmi',
"Unathi" = 'icons/mob/clothing/species/unathi/suit.dmi',
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi',
"Vulpkanin" = 'icons/mob/clothing/species/vulpkanin/suit.dmi'
)
hide_tail_by_species = list("Unathi", "Tajaran", "Vox", "Vulpkanin")
diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm
index 765dd51b70c..1935ff5f182 100644
--- a/code/modules/clothing/spacesuits/hardsuit.dm
+++ b/code/modules/clothing/spacesuits/hardsuit.dm
@@ -143,6 +143,7 @@
"Tajaran" = 'icons/mob/clothing/species/tajaran/suit.dmi',
"Skrell" = 'icons/mob/clothing/species/skrell/suit.dmi',
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi',
"Vulpkanin" = 'icons/mob/clothing/species/vulpkanin/suit.dmi',
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi'
)
diff --git a/code/modules/clothing/spacesuits/misc_spacesuits.dm b/code/modules/clothing/spacesuits/misc_spacesuits.dm
index ade7639c370..c2058eb7bcc 100644
--- a/code/modules/clothing/spacesuits/misc_spacesuits.dm
+++ b/code/modules/clothing/spacesuits/misc_spacesuits.dm
@@ -27,7 +27,10 @@
inhand_icon_state = "capspacesuit"
allowed = list(/obj/item/tank/internals, /obj/item/flashlight,/obj/item/gun/energy, /obj/item/gun/projectile, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton,/obj/item/restraints/handcuffs)
armor = list(MELEE = 35, BULLET = 50, LASER = 50, ENERGY = 15, BOMB = 50, RAD = 50, FIRE = INFINITY, ACID = INFINITY)
- sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi')
+ sprite_sheets = list(
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
+ )
//Deathsquad space suit, not hardsuits because no flashlight!
/obj/item/clothing/head/helmet/space/deathsquad
@@ -185,6 +188,7 @@
w_class = WEIGHT_CLASS_NORMAL
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi',
"Skrell" = 'icons/mob/clothing/species/skrell/suit.dmi',
"Tajaran" = 'icons/mob/clothing/species/tajaran/suit.dmi',
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi',
@@ -201,6 +205,7 @@
"Tajaran" = 'icons/mob/clothing/species/tajaran/suit.dmi',
"Unathi" = 'icons/mob/clothing/species/unathi/suit.dmi',
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi',
"Vulpkanin" = 'icons/mob/clothing/species/vulpkanin/suit.dmi',
)
@@ -232,7 +237,10 @@
desc = ". . ."
icon_state = "spacemime_suit"
inhand_icon_state = null
- sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi')
+ sprite_sheets = list(
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
+ )
/obj/item/clothing/head/helmet/space/eva/clown
name = "clown EVA helmet"
@@ -246,4 +254,7 @@
desc = "An EVA suit specifically designed for the clown. SPESSHONK!"
icon_state = "spaceclown_suit"
inhand_icon_state = null
- sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi')
+ sprite_sheets = list(
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
+ )
diff --git a/code/modules/clothing/spacesuits/syndi.dm b/code/modules/clothing/spacesuits/syndi.dm
index 90688bebbaa..2a493d4494c 100644
--- a/code/modules/clothing/spacesuits/syndi.dm
+++ b/code/modules/clothing/spacesuits/syndi.dm
@@ -30,6 +30,7 @@
"Unathi" = 'icons/mob/clothing/species/unathi/suit.dmi',
"Vulpkanin" = 'icons/mob/clothing/species/vulpkanin/suit.dmi',
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
)
//Green syndicate space suit
diff --git a/code/modules/clothing/spacesuits/void.dm b/code/modules/clothing/spacesuits/void.dm
index a575c42b8e5..169f3bc1769 100644
--- a/code/modules/clothing/spacesuits/void.dm
+++ b/code/modules/clothing/spacesuits/void.dm
@@ -25,7 +25,9 @@
"Tajaran" = 'icons/mob/clothing/species/tajaran/suit.dmi',
"Unathi" = 'icons/mob/clothing/species/unathi/suit.dmi',
"Vulpkanin" = 'icons/mob/clothing/species/vulpkanin/suit.dmi',
- "Vox" = 'icons/mob/clothing/species/vox/suit.dmi')
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
+ )
//Colors!!!
/obj/item/clothing/head/helmet/space/void/green
diff --git a/code/modules/clothing/suits/armor_suits.dm b/code/modules/clothing/suits/armor_suits.dm
index 6feb36c200b..e1aaf0b74ce 100644
--- a/code/modules/clothing/suits/armor_suits.dm
+++ b/code/modules/clothing/suits/armor_suits.dm
@@ -12,6 +12,7 @@
armor = list(MELEE = 20, BULLET = 20, LASER = 20, ENERGY = 5, BOMB = 15, RAD = 0, FIRE = 50, ACID = 50)
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
)
w_class = WEIGHT_CLASS_NORMAL
@@ -25,6 +26,7 @@
sprite_sheets = list(
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi',
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
)
/obj/item/clothing/suit/armor/vest/jacket
@@ -81,6 +83,7 @@
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi',
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi'
)
@@ -115,6 +118,7 @@
adjust_flavour = "unzip"
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi',
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi'
)
@@ -129,6 +133,7 @@
heat_protection = UPPER_TORSO|LOWER_TORSO|ARMS
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi',
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi'
)
@@ -147,6 +152,7 @@
insert_max = 2
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi',
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi'
)
@@ -180,6 +186,7 @@
dog_fashion = null
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi',
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi'
)
@@ -202,6 +209,7 @@
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi',
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/suit.dmi',
@@ -234,6 +242,7 @@
// Drask look fine in the regular human version
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/suit.dmi',
)
@@ -251,6 +260,7 @@
put_on_delay = 60
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi',
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi'
)
@@ -266,7 +276,10 @@
icon_state = "knight_green"
inhand_icon_state = null
slowdown = 1
- sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi')
+ sprite_sheets = list(
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
+ )
hide_tail_by_species = list("Vox")
/obj/item/clothing/suit/armor/riot/knight/yellow
@@ -307,6 +320,7 @@
put_on_delay = 6 SECONDS
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi'
)
@@ -845,7 +859,8 @@
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/suit.dmi',
- "Vox" = 'icons/mob/clothing/species/vox/suit.dmi'
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
)
/obj/item/clothing/head/hooded/bone_light
diff --git a/code/modules/clothing/suits/bio.dm b/code/modules/clothing/suits/bio.dm
index 430d9e3ae50..05f36bef047 100644
--- a/code/modules/clothing/suits/bio.dm
+++ b/code/modules/clothing/suits/bio.dm
@@ -47,7 +47,8 @@
"Vox" = 'icons/mob/clothing/species/vox/suits/bio.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suits/bio.dmi',
"Drask" = 'icons/mob/clothing/species/drask/suits/bio.dmi',
- "Kidan" = 'icons/mob/clothing/species/kidan/suits/bio.dmi'
+ "Kidan" = 'icons/mob/clothing/species/kidan/suits/bio.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suits/bio.dmi'
)
//Medical biosuit, white with blue
diff --git a/code/modules/clothing/suits/job_suits.dm b/code/modules/clothing/suits/job_suits.dm
index 00400d94623..0644308e139 100644
--- a/code/modules/clothing/suits/job_suits.dm
+++ b/code/modules/clothing/suits/job_suits.dm
@@ -9,7 +9,10 @@
blood_overlay_type = "armor"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
allowed = list(/obj/item/reagent_containers/spray/plantbgone,/obj/item/plant_analyzer,/obj/item/seeds,/obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/cultivator,/obj/item/reagent_containers/spray/pestspray,/obj/item/hatchet,/obj/item/storage/bag/plants)
- sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi')
+ sprite_sheets = list(
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
+ )
// Smith
/obj/item/clothing/suit/apron/smith
@@ -25,7 +28,8 @@
"Drask" = 'icons/mob/clothing/species/drask/suits/utility.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suits/utility.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/suits/utility.dmi',
- "Vox" = 'icons/mob/clothing/species/vox/suits/utility.dmi'
+ "Vox" = 'icons/mob/clothing/species/vox/suits/utility.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suits/utility.dmi'
)
//Chaplain
@@ -41,7 +45,8 @@
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/suit.dmi',
- "Vox" = 'icons/mob/clothing/species/vox/suit.dmi'
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
)
//Chaplain
@@ -58,7 +63,8 @@
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/suit.dmi',
- "Vox" = 'icons/mob/clothing/species/vox/suit.dmi'
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
)
//Chaplain
@@ -74,7 +80,8 @@
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/suit.dmi',
- "Vox" = 'icons/mob/clothing/species/vox/suit.dmi'
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
)
//Chaplain
@@ -89,7 +96,8 @@
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/suit.dmi',
- "Vox" = 'icons/mob/clothing/species/vox/suit.dmi'
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
)
//Chaplain
@@ -104,7 +112,8 @@
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/suit.dmi',
- "Vox" = 'icons/mob/clothing/species/vox/suit.dmi'
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
)
//Chaplain
@@ -119,7 +128,8 @@
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/suit.dmi',
- "Vox" = 'icons/mob/clothing/species/vox/suit.dmi'
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
)
//Chaplain
@@ -133,7 +143,8 @@
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/suit.dmi',
- "Vox" = 'icons/mob/clothing/species/vox/suit.dmi'
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
)
/obj/item/clothing/suit/witchhunter
@@ -162,6 +173,7 @@
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/suit.dmi',
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
)
/obj/item/clothing/suit/chef/red
@@ -198,7 +210,8 @@
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/suit.dmi',
- "Vox" = 'icons/mob/clothing/species/vox/suit.dmi'
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
)
// Librarian
@@ -212,7 +225,8 @@
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/suit.dmi',
- "Vox" = 'icons/mob/clothing/species/vox/suit.dmi'
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
)
//Detective
@@ -229,9 +243,10 @@
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi',
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi',
- "Kidan" = 'icons/mob/clothing/species/kidan/suit.dmi'
+ "Kidan" = 'icons/mob/clothing/species/kidan/suit.dmi',
)
//Forensics
@@ -271,6 +286,7 @@
insert_max = 2
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/suit.dmi',
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi',
@@ -288,6 +304,7 @@
resistance_flags = NONE
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/suits/utility.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suits/utility.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/suits/utility.dmi',
"Drask" = 'icons/mob/clothing/species/drask/suits/utility.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suits/utility.dmi'
@@ -324,6 +341,7 @@
body_parts_covered = UPPER_TORSO | ARMS
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi',
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/suit.dmi'
@@ -359,6 +377,7 @@
insert_max = 2
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi',
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/suit.dmi'
@@ -374,6 +393,7 @@
insert_max = 2
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi',
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/suit.dmi'
@@ -392,6 +412,7 @@
insert_max = 2
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/suit.dmi',
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi',
@@ -407,6 +428,7 @@
insert_max = 2
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/suit.dmi',
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi',
@@ -425,7 +447,10 @@
suit_adjusted = 1
actions_types = list(/datum/action/item_action/button)
adjust_flavour = "unbutton"
- sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi')
+ sprite_sheets = list(
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
+ )
//Mime
/obj/item/clothing/suit/suspenders
@@ -434,7 +459,9 @@
icon = 'icons/obj/clothing/belts.dmi'
icon_state = "suspenders"
blood_overlay_type = "armor" //it's the less thing that I can put here
- sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi')
+ sprite_sheets = list(
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi')
/obj/item/clothing/suit/suspenders/nodrop
flags = NODROP
@@ -455,6 +482,7 @@
body_parts_covered = UPPER_TORSO|ARMS
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/suit.dmi',
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi',
diff --git a/code/modules/clothing/suits/labcoat.dm b/code/modules/clothing/suits/labcoat.dm
index be25a2da304..474c2018fdc 100644
--- a/code/modules/clothing/suits/labcoat.dm
+++ b/code/modules/clothing/suits/labcoat.dm
@@ -14,6 +14,7 @@
species_exception = list(/datum/species/golem)
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/suits/labcoat.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suits/labcoat.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suits/labcoat.dmi',
"Drask" = 'icons/mob/clothing/species/drask/suits/labcoat.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/suits/labcoat.dmi'
diff --git a/code/modules/clothing/suits/misc_suits.dm b/code/modules/clothing/suits/misc_suits.dm
index 4a2a1fdc1f2..0ba7ef49899 100644
--- a/code/modules/clothing/suits/misc_suits.dm
+++ b/code/modules/clothing/suits/misc_suits.dm
@@ -19,7 +19,10 @@
allowed = list (/obj/item/gun/energy/laser/tag/blue)
resistance_flags = NONE
insert_max = 0
- sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi')
+ sprite_sheets = list(
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
+ )
/obj/item/clothing/suit/redtag
name = "red laser tag armour"
@@ -30,7 +33,10 @@
body_parts_covered = UPPER_TORSO|LOWER_TORSO
allowed = list (/obj/item/gun/energy/laser/tag/red)
resistance_flags = NONE
- sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi')
+ sprite_sheets = list(
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
+ )
/*
* Costume
@@ -40,14 +46,20 @@
desc = "Yarr."
icon_state = "pirate_old"
insert_max = 0
- sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi')
+ sprite_sheets = list(
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
+ )
/obj/item/clothing/suit/pirate_black
name = "black pirate coat"
desc = "Yarr."
icon_state = "pirate"
insert_max = 0
- sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi')
+ sprite_sheets = list(
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
+ )
/obj/item/clothing/suit/hgpirate
name = "pirate captain coat"
@@ -96,7 +108,8 @@
insert_max = 0
sprite_sheets = list(
- "Vox" = 'icons/mob/clothing/species/vox/suit.dmi'
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
)
/obj/item/clothing/suit/apron/overalls
@@ -118,7 +131,9 @@
"Tajaran" = 'icons/mob/clothing/species/tajaran/suit.dmi',
"Unathi" = 'icons/mob/clothing/species/unathi/suit.dmi',
"Vulpkanin" = 'icons/mob/clothing/species/vulpkanin/suit.dmi',
- "Vox" = 'icons/mob/clothing/species/vox/suit.dmi')
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
+ )
/obj/item/clothing/suit/hastur
name = "Hastur's robes"
@@ -222,7 +237,10 @@
name = "poncho"
desc = "Your classic, non-racist poncho."
icon_state = "classicponcho"
- sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi')
+ sprite_sheets = list(
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
+ )
/obj/item/clothing/suit/poncho/green
name = "green poncho"
@@ -328,7 +346,10 @@
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
flags = THICKMATERIAL
hoodtype = /obj/item/clothing/head/hooded/bee_hood
- sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi')
+ sprite_sheets = list(
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
+ )
insert_max = 0
/obj/item/clothing/head/hooded/bee_hood
@@ -366,7 +387,8 @@
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/suit.dmi',
- "Vox" = 'icons/mob/clothing/species/vox/suit.dmi'
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
)
/obj/item/clothing/suit/hooded/costume/nun
@@ -381,7 +403,8 @@
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/suit.dmi',
- "Vox" = 'icons/mob/clothing/species/vox/suit.dmi'
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
)
/obj/item/clothing/suit/costume/bana
@@ -394,7 +417,8 @@
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/suit.dmi',
- "Vox" = 'icons/mob/clothing/species/vox/suit.dmi'
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
)
/obj/item/clothing/suit/costume/joue
@@ -407,7 +431,8 @@
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/suit.dmi',
- "Vox" = 'icons/mob/clothing/species/vox/suit.dmi'
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
)
/obj/item/clothing/suit/costume/miko
@@ -420,7 +445,8 @@
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/suit.dmi',
- "Vox" = 'icons/mob/clothing/species/vox/suit.dmi'
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
)
/obj/item/clothing/suit/costume/hasidic_coat
@@ -432,7 +458,8 @@
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/suit.dmi',
- "Vox" = 'icons/mob/clothing/species/vox/suit.dmi'
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
)
/*
@@ -454,7 +481,8 @@
"Drask" = 'icons/mob/clothing/species/drask/suits/coat.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suits/coat.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/suits/coat.dmi',
- "Vox" = 'icons/mob/clothing/species/vox/suits/coat.dmi'
+ "Vox" = 'icons/mob/clothing/species/vox/suits/coat.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suits/coat.dmi'
)
/obj/item/clothing/head/hooded/winterhood
@@ -487,7 +515,8 @@
sprite_sheets = list(
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi',
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi',
- "Vox" = 'icons/mob/clothing/species/vox/suit.dmi'
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
)
/obj/item/clothing/suit/pimpcoat/white
@@ -726,8 +755,11 @@
hoodtype = /obj/item/clothing/head/hooded/ablative
strip_delay = 3 SECONDS
put_on_delay = 4 SECONDS
- sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
- "Grey" = 'icons/mob/clothing/species/grey/suit.dmi')
+ sprite_sheets = list(
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi',
+ "Grey" = 'icons/mob/clothing/species/grey/suit.dmi'
+ )
var/last_reflect_time
var/reflect_cooldown = 4 SECONDS
@@ -756,7 +788,10 @@
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen)
hoodtype = /obj/item/clothing/head/hooded/hood
- sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi')
+ sprite_sheets = list(
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
+ )
/obj/item/clothing/head/hooded/hood
name = "black hood"
@@ -832,7 +867,10 @@
name = "worn shirt"
desc = "A worn out, curiously comfortable t-shirt with a picture of Ian. You wouldn't go so far as to say it feels like being hugged when you wear it but it's pretty close. Good for sleeping in."
icon_state = "ianshirt"
- sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi')
+ sprite_sheets = list(
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
+ )
//coats
@@ -850,7 +888,10 @@
suit_adjusted = TRUE
actions_types = list(/datum/action/item_action/button)
adjust_flavour = "unbutton"
- sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi')
+ sprite_sheets = list(
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
+ )
/obj/item/clothing/suit/blacktrenchcoat
name = "black trench coat"
@@ -860,7 +901,10 @@
suit_adjusted = TRUE
actions_types = list(/datum/action/item_action/button)
adjust_flavour = "unbutton"
- sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi')
+ sprite_sheets = list(
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
+ )
//trackjackets
@@ -873,7 +917,10 @@
suit_adjusted = 1
actions_types = list(/datum/action/item_action/openclose)
adjust_flavour = "unzip"
- sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi')
+ sprite_sheets = list(
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
+ )
/obj/item/clothing/suit/tracksuit/green
name = "green tracksuit"
@@ -895,7 +942,10 @@
actions_types = list()
adjust_flavour = null
allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/toy,/obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/gun/projectile/automatic/pistol, /obj/item/gun/projectile/revolver, /obj/item/gun/energy/detective)
- sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi')
+ sprite_sheets = list(
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
+ )
/obj/item/clothing/suit/jacket/miljacket/navy
name = "navy military jacket"
@@ -962,6 +1012,7 @@
armor = list(MELEE = 10, BULLET = 5, LASER = 10, ENERGY = 5, BOMB = 10, RAD = 0, FIRE = 20, ACID = 20)
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi',
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi'
)
@@ -983,6 +1034,7 @@
icon_state = "varsity_classic"
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi',
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi'
)
@@ -992,6 +1044,7 @@
icon_state = "varsity_sport"
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi',
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi'
)
@@ -1001,6 +1054,7 @@
icon_state = "varsity_blood"
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi',
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi'
)
@@ -1010,6 +1064,7 @@
icon_state = "driver_jacket"
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi',
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi'
)
@@ -1022,7 +1077,8 @@
adjust_flavour = null
resistance_flags = NONE
sprite_sheets = list(
- "Vox" = 'icons/mob/clothing/species/vox/suit.dmi'
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
)
/obj/item/clothing/suit/jacket/motojacket
@@ -1033,6 +1089,7 @@
actions_types = list(/datum/action/item_action/zipper)
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi',
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi'
)
@@ -1044,7 +1101,8 @@
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS
cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS
sprite_sheets = list(
- "Vox" = 'icons/mob/clothing/species/vox/suit.dmi'
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
)
//Bomber jackets
@@ -1060,6 +1118,7 @@
actions_types = list(/datum/action/item_action/zipper)
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/suits/coat.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suits/coat.dmi',
"Drask" = 'icons/mob/clothing/species/drask/suits/coat.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suits/coat.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/suits/coat.dmi'
@@ -1176,7 +1235,10 @@
ignore_suitadjust = 0
actions_types = list(/datum/action/item_action/button)
adjust_flavour = "unbutton"
- sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi')
+ sprite_sheets = list(
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
+ )
/obj/item/clothing/suit/soldiercoat
name = "clown soldier's coat"
@@ -1185,7 +1247,10 @@
ignore_suitadjust = 0
actions_types = list(/datum/action/item_action/button)
adjust_flavour = "unbutton"
- sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi')
+ sprite_sheets = list(
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
+ )
/obj/item/clothing/suit/sovietcoat
name = "\improper Soviet greatcoat"
@@ -1402,6 +1467,7 @@
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi',
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/suit.dmi'
@@ -1471,7 +1537,8 @@
body_parts_covered = UPPER_TORSO|LOWER_TORSO
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
- "Grey" = 'icons/mob/clothing/species/grey/suit.dmi'
+ "Grey" = 'icons/mob/clothing/species/grey/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
)
/obj/item/clothing/suit/hooded/dark_robes
@@ -1481,4 +1548,124 @@
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
hoodtype = /obj/item/clothing/head/hooded/dark_hood
allowed = list(/obj/item/storage/bible, /obj/item/nullrod, /obj/item/reagent_containers/drinks/bottle/holywater, /obj/item/storage/fancy/candle_box, /obj/item/candle, /obj/item/tank/internals/emergency_oxygen)
- sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi')
+ sprite_sheets = list(
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
+ )
+
+// For Skulk Clothing
+
+/obj/item/clothing/suit/hooded/lowinquis
+ name = "low-inquisitor robes"
+ desc = "A set of red and silver Collective robes with armor plates sewn into important areas. A common sight amongst the Collective Inquisition."
+ icon = 'icons/obj/clothing/species/skkulakin/suits.dmi'
+ worn_icon = 'icons/mob/clothing/species/skkulakin/suit.dmi'
+ icon_state = "lowinquis"
+ hoodtype = /obj/item/clothing/head/hooded/lowinquis
+ inhand_icon_state = "coatsecurity"
+ armor = list(MELEE = 10, BULLET = 5, LASER = 10, ENERGY = 5, BOMB = 10, RAD = 0, FIRE = 20, ACID = 20)
+ body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
+ cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS
+ min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
+ allowed = list(/obj/item/gun/energy, /obj/item/reagent_containers/spray/pepper, /obj/item/gun/projectile, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/flashlight/seclite, /obj/item/melee/classic_baton/telescopic)
+ species_restricted = list("Skkulakin")
+
+/obj/item/clothing/head/hooded/lowinquis
+ name = "low-inquisitor hood"
+ desc = "An armored hood attached to inquisitorial robes."
+ icon = 'icons/obj/clothing/species/skkulakin/hats.dmi'
+ worn_icon = 'icons/mob/clothing/species/skkulakin/head.dmi'
+ icon_state = "lowinquis"
+ armor = list(MELEE = 25, BULLET = 20, LASER = 20, ENERGY = 5, BOMB = 0, RAD = 0, FIRE = 10, ACID = 50)
+ cold_protection = HEAD
+ min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
+ flags = BLOCKHAIR
+ flags_inv = HIDEEARS
+ species_restricted = list("Skkulakin")
+
+/obj/item/clothing/suit/hooded/highinquis
+ name = "high-inquisitor robes"
+ desc = "A set of black and gold Collective robes with reinforced armor plates sewn within the hardweave composite cloth. These are commonly worn by commanders within the Collective Inquisition."
+ icon = 'icons/obj/clothing/species/skkulakin/suits.dmi'
+ worn_icon = 'icons/mob/clothing/species/skkulakin/suit.dmi'
+ icon_state = "highinquis"
+ hoodtype = /obj/item/clothing/head/hooded/highinquis
+ inhand_icon_state = "armor"
+ body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS
+ armor = list(MELEE = 20, BULLET = 20, LASER = 20, ENERGY = 5, BOMB = 15, RAD = 0, FIRE = 115, ACID = 450)
+ cold_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
+ heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
+ allowed = list(/obj/item/gun/energy, /obj/item/reagent_containers/spray/pepper, /obj/item/gun/projectile, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/flashlight/seclite, /obj/item/melee/classic_baton/telescopic)
+ strip_delay = 80
+ insert_max = 2
+ species_restricted = list("Skkulakin")
+
+/obj/item/clothing/head/hooded/highinquis
+ name = "high-inquisitor hood"
+ desc = "An armored hood attached to inquisitorial robes."
+ icon = 'icons/obj/clothing/species/skkulakin/hats.dmi'
+ worn_icon = 'icons/mob/clothing/species/skkulakin/head.dmi'
+ icon_state = "highinquis"
+ armor = list(MELEE = 35, BULLET = 20, LASER = 20, ENERGY = 5, BOMB = 15, RAD = 0, FIRE = 50, ACID = 75)
+ cold_protection = HEAD
+ min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
+ flags = BLOCKHAIR
+ flags_inv = HIDEEARS
+ species_restricted = list("Skkulakin")
+
+/obj/item/clothing/mask/lowinquis
+ name = "low-inquisitor mask"
+ desc = "A silver mask affixed to a balaclava designed to easily fit the face of a Skkulakin. Despite its retinal scanners being disabled, it still protects the user from bright flashes."
+ icon = 'icons/obj/clothing/species/skkulakin/masks.dmi'
+ worn_icon = 'icons/mob/clothing/species/skkulakin/mask.dmi'
+ icon_state = "inquismask"
+ flags = BLOCKHAIR | AIRTIGHT
+ flash_protect = FLASH_PROTECTION_FLASH
+ flags_cover = MASKCOVERSMOUTH | MASKCOVERSEYES
+ flags_inv = HIDEEARS|HIDEEYES|HIDEFACE
+ w_class = WEIGHT_CLASS_NORMAL
+ species_restricted = list("Skkulakin")
+
+/obj/item/clothing/mask/highinquis
+ name = "high-inquisitor mask"
+ desc = "A golden mask affixed to a balaclava designed to easily fit the face of a Skkulakin. Despite its retinal scanners being disabled, it still protects the user from bright flashes and looks incredibly snazzy while doing so."
+ icon = 'icons/obj/clothing/species/skkulakin/masks.dmi'
+ worn_icon = 'icons/mob/clothing/species/skkulakin/mask.dmi'
+ icon_state = "highinquismask"
+ flags = BLOCKHAIR | AIRTIGHT
+ flash_protect = FLASH_PROTECTION_FLASH
+ flags_cover = MASKCOVERSMOUTH | MASKCOVERSEYES
+ flags_inv = HIDEEARS|HIDEEYES|HIDEFACE
+ w_class = WEIGHT_CLASS_NORMAL
+ species_restricted = list("Skkulakin")
+
+/obj/item/clothing/suit/supremeinquis
+ name = "supreme-inquisitor robe"
+ desc = "Beautiful, gilded robes adorned with runes, symbols, and Collective imagery."
+ icon = 'icons/obj/clothing/species/skkulakin/suits.dmi'
+ worn_icon = 'icons/mob/clothing/species/skkulakin/suit.dmi'
+ icon_state = "supremeinquis"
+ armor = list(MELEE = 15, BULLET = 20, LASER = 20, ENERGY = 5, BOMB = 15, RAD = 0, FIRE = 0, ACID = 50)
+ body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
+ insert_max = 3
+ cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS
+ min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
+ allowed = list(/obj/item/gun/energy, /obj/item/reagent_containers/spray/pepper, /obj/item/gun/projectile, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/flashlight/seclite, /obj/item/melee/classic_baton/telescopic)
+ species_restricted = list("Skkulakin")
+
+/obj/item/clothing/head/supremeinquis
+ name = "supreme-inquisitor helmet"
+ desc = "An electrum-alloy helmet designed to fit the head of a Skkulakin. Offering protection from threats both physical and paranormal."
+ icon = 'icons/obj/clothing/species/skkulakin/hats.dmi'
+ worn_icon = 'icons/mob/clothing/species/skkulakin/head.dmi'
+ icon_state = "supremeinquis"
+ armor = list(MELEE = 25, BULLET = 20, LASER = 20, ENERGY = 5, BOMB = 15, RAD = 0, FIRE = 50, ACID = 50)
+ w_class = WEIGHT_CLASS_NORMAL
+ flags = HEADBANGPROTECT|BLOCKHAIR
+ flags_cover = HEADCOVERSEYES
+ flags_inv = HIDEEARS|HIDEEYES|HIDEFACE
+ cold_protection = HEAD
+ min_cold_protection_temperature = HELMET_MIN_TEMP_PROTECT
+ heat_protection = HEAD
+ max_heat_protection_temperature = HELMET_MAX_TEMP_PROTECT
+ species_restricted = list("Skkulakin")
diff --git a/code/modules/clothing/suits/unathi_suits.dm b/code/modules/clothing/suits/unathi_suits.dm
index 6a8d35f77d0..260ccce43d9 100644
--- a/code/modules/clothing/suits/unathi_suits.dm
+++ b/code/modules/clothing/suits/unathi_suits.dm
@@ -1,7 +1,8 @@
//Unathi clothing.
/obj/item/clothing/suit/unathi
sprite_sheets = list(
- "Vox" = 'icons/mob/clothing/species/vox/suit.dmi'
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
)
/obj/item/clothing/suit/unathi/robe
diff --git a/code/modules/clothing/suits/utility.dm b/code/modules/clothing/suits/utility.dm
index 305c8086e01..1c706061e14 100644
--- a/code/modules/clothing/suits/utility.dm
+++ b/code/modules/clothing/suits/utility.dm
@@ -43,7 +43,8 @@
"Vox" = 'icons/mob/clothing/species/vox/suits/utility.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suits/utility.dmi',
"Drask" = 'icons/mob/clothing/species/drask/suits/utility.dmi',
- "Kidan" = 'icons/mob/clothing/species/kidan/suits/utility.dmi'
+ "Kidan" = 'icons/mob/clothing/species/kidan/suits/utility.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suits/utility.dmi'
)
/obj/item/clothing/suit/fire/firefighter/atmos
@@ -98,7 +99,10 @@
strip_delay = 70
put_on_delay = 70
resistance_flags = NONE
- sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi')
+ sprite_sheets = list(
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
+ )
/obj/item/clothing/head/bomb_hood/security
icon_state = "bombsuitsec"
@@ -164,7 +168,8 @@
"Vox" = 'icons/mob/clothing/species/vox/suits/utility.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suits/utility.dmi',
"Drask" = 'icons/mob/clothing/species/drask/suits/utility.dmi',
- "Kidan" = 'icons/mob/clothing/species/kidan/suits/utility.dmi'
+ "Kidan" = 'icons/mob/clothing/species/kidan/suits/utility.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suits/utility.dmi'
)
rad_insulation_alpha = RAD_FULL_INSULATION
rad_insulation_beta = RAD_FULL_INSULATION
diff --git a/code/modules/clothing/suits/wiz_robe.dm b/code/modules/clothing/suits/wiz_robe.dm
index 2a843ffb967..5f96c895271 100644
--- a/code/modules/clothing/suits/wiz_robe.dm
+++ b/code/modules/clothing/suits/wiz_robe.dm
@@ -131,6 +131,7 @@
inhand_icon_state = "bl_suit"
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi',
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi'
)
diff --git a/code/modules/clothing/under/accessories/accessory.dm b/code/modules/clothing/under/accessories/accessory.dm
index 8b436ab1bd6..abb6569b72a 100644
--- a/code/modules/clothing/under/accessories/accessory.dm
+++ b/code/modules/clothing/under/accessories/accessory.dm
@@ -119,7 +119,10 @@
name = "waistcoat"
desc = "For some classy, murderous fun."
icon_state = "waistcoat"
- sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi')
+ sprite_sheets = list(
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
+ )
//Medals
/obj/item/clothing/accessory/medal
@@ -335,6 +338,7 @@
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/neck.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/neck.dmi',
"Grey" = 'icons/mob/clothing/species/grey/neck.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/neck.dmi',
)
@@ -443,55 +447,82 @@
name = "black cowboy shirt"
desc = "For a real western look. Looks like it can clip on to a uniform."
icon_state = "cowboyshirt"
- sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi')
+ sprite_sheets = list(
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
+ )
/obj/item/clothing/accessory/cowboyshirt/short_sleeved
name = "shortsleeved black cowboy shirt"
desc = "For when it's a hot day in the west. Looks like it can clip on to a uniform."
icon_state = "cowboyshirt_s"
- sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi')
+ sprite_sheets = list(
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
+ )
/obj/item/clothing/accessory/cowboyshirt/white
name = "white cowboy shirt"
desc = "For the rancher in us all. Looks like it can clip on to a uniform."
icon_state = "cowboyshirt_white"
- sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi')
+ sprite_sheets = list(
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
+ )
/obj/item/clothing/accessory/cowboyshirt/white/short_sleeved
name = "short sleeved white cowboy shirt"
desc = "Best for midday cattle tending. Looks like it can clip on to a uniform."
icon_state = "cowboyshirt_whites"
- sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi')
+ sprite_sheets = list(
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
+ )
/obj/item/clothing/accessory/cowboyshirt/pink
name = "pink cowboy shirt"
desc = "For only the manliest of men, or girliest of girls. Looks like it can clip on to a uniform."
icon_state = "cowboyshirt_pink"
- sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi')
+ sprite_sheets = list(
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
+ )
/obj/item/clothing/accessory/cowboyshirt/pink/short_sleeved
name = "short sleeved pink cowboy shirt"
desc = "For a real buckle bunny. Looks like it can clip on to a uniform."
icon_state = "cowboyshirt_pinks"
- sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi')
+ sprite_sheets = list(
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
+ )
/obj/item/clothing/accessory/cowboyshirt/navy
name = "navy cowboy shirt"
desc = "Now yer a real cowboy. Looks like it can clip on to a uniform."
icon_state = "cowboyshirt_navy"
- sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi')
+ sprite_sheets = list(
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
+ )
/obj/item/clothing/accessory/cowboyshirt/navy/short_sleeved
name = "short sleeved navy cowboy shirt"
desc = "Sometimes ya need to roll up your sleeves. Looks like it can clip on to a uniform."
icon_state = "cowboyshirt_navys"
- sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi')
+ sprite_sheets = list(
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
+ )
/obj/item/clothing/accessory/cowboyshirt/red
name = "red cowboy shirt"
desc = "It's high noon. Looks like it can clip on to a uniform."
icon_state = "cowboyshirt_red"
- sprite_sheets = list("Vox" = 'icons/mob/clothing/species/vox/suit.dmi')
+ sprite_sheets = list(
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
+ )
/obj/item/clothing/accessory/cowboyshirt/red/short_sleeved
name = "short sleeved red cowboy shirt"
@@ -499,6 +530,7 @@
icon_state = "cowboyshirt_reds"
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi',
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi',
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi'
)
diff --git a/code/modules/clothing/under/accessories/storage_accessories.dm b/code/modules/clothing/under/accessories/storage_accessories.dm
index 1b72e86b475..4ab0fa7119e 100644
--- a/code/modules/clothing/under/accessories/storage_accessories.dm
+++ b/code/modules/clothing/under/accessories/storage_accessories.dm
@@ -77,7 +77,8 @@
desc = "Sturdy mess of synthcotton belts and buckles, ready to share your burden."
sprite_sheets = list(
- "Vox" = 'icons/mob/clothing/species/vox/suit.dmi'
+ "Vox" = 'icons/mob/clothing/species/vox/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
)
/obj/item/clothing/accessory/storage/black_vest
diff --git a/code/modules/clothing/under/centcom.dm b/code/modules/clothing/under/centcom.dm
index faec16a84bb..22451bbd5fe 100644
--- a/code/modules/clothing/under/centcom.dm
+++ b/code/modules/clothing/under/centcom.dm
@@ -7,6 +7,7 @@
inhand_icon_state = "g_suit"
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/under/centcom.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/centcom.dmi',
"Drask" = 'icons/mob/clothing/species/drask/under/centcom.dmi',
"Grey" = 'icons/mob/clothing/species/grey/under/centcom.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/under/centcom.dmi'
diff --git a/code/modules/clothing/under/color.dm b/code/modules/clothing/under/color.dm
index 8bf7e8fab55..47562b3d507 100644
--- a/code/modules/clothing/under/color.dm
+++ b/code/modules/clothing/under/color.dm
@@ -5,6 +5,7 @@
dyeable = TRUE
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/under/color.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/color.dmi',
"Drask" = 'icons/mob/clothing/species/drask/under/color.dmi',
"Grey" = 'icons/mob/clothing/species/grey/under/color.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/under/color.dmi'
diff --git a/code/modules/clothing/under/costumes.dm b/code/modules/clothing/under/costumes.dm
index e9c8b85a183..fb5bcc36e16 100644
--- a/code/modules/clothing/under/costumes.dm
+++ b/code/modules/clothing/under/costumes.dm
@@ -3,6 +3,7 @@
worn_icon = 'icons/mob/clothing/under/costumes.dmi'
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/under/costumes.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/costumes.dmi',
"Drask" = 'icons/mob/clothing/species/drask/under/costumes.dmi',
"Grey" = 'icons/mob/clothing/species/grey/under/costumes.dmi'
)
@@ -113,6 +114,7 @@
//it is what it is
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/under/costumes.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/costumes.dmi',
"Drask" = 'icons/mob/clothing/species/drask/under/costumes.dmi',
"Grey" = 'icons/mob/clothing/species/grey/under/costumes.dmi'
)
@@ -169,6 +171,7 @@
worn_icon = 'icons/mob/clothing/under/civilian.dmi'
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/under/civilian.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/civilian.dmi',
"Drask" = 'icons/mob/clothing/species/drask/under/civilian.dmi',
"Grey" = 'icons/mob/clothing/species/grey/under/civilian.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/under/civilian.dmi'
@@ -182,6 +185,7 @@
worn_icon = 'icons/mob/clothing/under/civilian.dmi'
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/under/civilian.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/civilian.dmi',
"Drask" = 'icons/mob/clothing/species/drask/under/civilian.dmi',
"Grey" = 'icons/mob/clothing/species/grey/under/civilian.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/under/civilian.dmi'
@@ -195,6 +199,7 @@
worn_icon = 'icons/mob/clothing/under/civilian.dmi'
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/under/civilian.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/civilian.dmi',
"Drask" = 'icons/mob/clothing/species/drask/under/civilian.dmi',
"Grey" = 'icons/mob/clothing/species/grey/under/civilian.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/under/civilian.dmi'
diff --git a/code/modules/clothing/under/dress.dm b/code/modules/clothing/under/dress.dm
index f00ebe46398..8a5a0710253 100644
--- a/code/modules/clothing/under/dress.dm
+++ b/code/modules/clothing/under/dress.dm
@@ -3,6 +3,7 @@
worn_icon = 'icons/mob/clothing/under/dress.dmi'
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/under/dress.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/dress.dmi',
"Drask" = 'icons/mob/clothing/species/drask/under/dress.dmi',
"Grey" = 'icons/mob/clothing/species/grey/under/dress.dmi'
)
diff --git a/code/modules/clothing/under/jobs/captain.dm b/code/modules/clothing/under/jobs/captain.dm
index 2e7980b72e8..2083170e111 100644
--- a/code/modules/clothing/under/jobs/captain.dm
+++ b/code/modules/clothing/under/jobs/captain.dm
@@ -6,6 +6,7 @@
worn_icon = 'icons/mob/clothing/under/captain.dmi'
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/under/captain.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/captain.dmi',
"Drask" = 'icons/mob/clothing/species/drask/under/captain.dmi',
"Grey" = 'icons/mob/clothing/species/grey/under/captain.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/under/captain.dmi',
diff --git a/code/modules/clothing/under/jobs/cargo.dm b/code/modules/clothing/under/jobs/cargo.dm
index 8faf419c996..548d42c103d 100644
--- a/code/modules/clothing/under/jobs/cargo.dm
+++ b/code/modules/clothing/under/jobs/cargo.dm
@@ -3,6 +3,7 @@
worn_icon = 'icons/mob/clothing/under/cargo.dmi'
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/under/cargo.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/cargo.dmi',
"Drask" = 'icons/mob/clothing/species/drask/under/cargo.dmi',
"Grey" = 'icons/mob/clothing/species/grey/under/cargo.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/under/cargo.dmi'
diff --git a/code/modules/clothing/under/jobs/civilian.dm b/code/modules/clothing/under/jobs/civilian.dm
index 58a6eea587d..507954838fa 100644
--- a/code/modules/clothing/under/jobs/civilian.dm
+++ b/code/modules/clothing/under/jobs/civilian.dm
@@ -3,6 +3,7 @@
worn_icon = 'icons/mob/clothing/under/civilian.dmi'
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/under/civilian.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/civilian.dmi',
"Drask" = 'icons/mob/clothing/species/drask/under/civilian.dmi',
"Grey" = 'icons/mob/clothing/species/grey/under/civilian.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/under/civilian.dmi'
diff --git a/code/modules/clothing/under/jobs/engineering_jumpsuits.dm b/code/modules/clothing/under/jobs/engineering_jumpsuits.dm
index 2abce6e88d7..ff34835e48c 100644
--- a/code/modules/clothing/under/jobs/engineering_jumpsuits.dm
+++ b/code/modules/clothing/under/jobs/engineering_jumpsuits.dm
@@ -4,6 +4,7 @@
inhand_icon_state = "engi_suit"
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/under/engineering.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/engineering.dmi',
"Drask" = 'icons/mob/clothing/species/drask/under/engineering.dmi',
"Grey" = 'icons/mob/clothing/species/grey/under/engineering.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/under/engineering.dmi'
diff --git a/code/modules/clothing/under/jobs/medical_jumpsuits.dm b/code/modules/clothing/under/jobs/medical_jumpsuits.dm
index d2f1f9f0947..48110caab46 100644
--- a/code/modules/clothing/under/jobs/medical_jumpsuits.dm
+++ b/code/modules/clothing/under/jobs/medical_jumpsuits.dm
@@ -4,6 +4,7 @@
inhand_icon_state = "nursesuit"
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/under/medical.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/medical.dmi',
"Drask" = 'icons/mob/clothing/species/drask/under/medical.dmi',
"Grey" = 'icons/mob/clothing/species/grey/under/medical.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/under/medical.dmi'
diff --git a/code/modules/clothing/under/jobs/procedure.dm b/code/modules/clothing/under/jobs/procedure.dm
index 0b5440e920b..5464fedc80a 100644
--- a/code/modules/clothing/under/jobs/procedure.dm
+++ b/code/modules/clothing/under/jobs/procedure.dm
@@ -3,6 +3,7 @@
worn_icon = 'icons/mob/clothing/under/procedure.dmi'
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/under/procedure.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/procedure.dmi',
"Drask" = 'icons/mob/clothing/species/drask/under/procedure.dmi',
"Grey" = 'icons/mob/clothing/species/grey/under/procedure.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/under/procedure.dmi'
diff --git a/code/modules/clothing/under/jobs/rnd.dm b/code/modules/clothing/under/jobs/rnd.dm
index 0ceb064461d..de8335c8444 100644
--- a/code/modules/clothing/under/jobs/rnd.dm
+++ b/code/modules/clothing/under/jobs/rnd.dm
@@ -3,6 +3,7 @@
worn_icon = 'icons/mob/clothing/under/rnd.dmi'
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/under/rnd.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/rnd.dmi',
"Drask" = 'icons/mob/clothing/species/drask/under/rnd.dmi',
"Grey" = 'icons/mob/clothing/species/grey/under/rnd.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/under/rnd.dmi'
diff --git a/code/modules/clothing/under/jobs/security_jumpsuits.dm b/code/modules/clothing/under/jobs/security_jumpsuits.dm
index 366f30ba756..e9ec810c5a5 100644
--- a/code/modules/clothing/under/jobs/security_jumpsuits.dm
+++ b/code/modules/clothing/under/jobs/security_jumpsuits.dm
@@ -6,6 +6,7 @@
strip_delay = 50
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/under/security.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/security.dmi',
"Drask" = 'icons/mob/clothing/species/drask/under/security.dmi',
"Grey" = 'icons/mob/clothing/species/grey/under/security.dmi'
)
@@ -30,6 +31,7 @@
icon_state = "ward_turtle"
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/under/security.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/security.dmi',
"Drask" = 'icons/mob/clothing/species/drask/under/security.dmi',
"Grey" = 'icons/mob/clothing/species/grey/under/security.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/under/security.dmi'
@@ -93,6 +95,7 @@
inhand_icon_state = "bl_suit"
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/under/security.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/security.dmi',
"Drask" = 'icons/mob/clothing/species/drask/under/security.dmi',
"Grey" = 'icons/mob/clothing/species/grey/under/security.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/under/security.dmi'
@@ -154,6 +157,7 @@
icon_state = "hos_turtle"
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/under/security.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/security.dmi',
"Drask" = 'icons/mob/clothing/species/drask/under/security.dmi',
"Grey" = 'icons/mob/clothing/species/grey/under/security.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/under/security.dmi'
diff --git a/code/modules/clothing/under/misc_jumpsuits.dm b/code/modules/clothing/under/misc_jumpsuits.dm
index 2d333cea8e6..29b5f9e8b51 100644
--- a/code/modules/clothing/under/misc_jumpsuits.dm
+++ b/code/modules/clothing/under/misc_jumpsuits.dm
@@ -73,7 +73,8 @@
"Drask" = 'icons/mob/clothing/species/drask/under/misc.dmi',
"Grey" = 'icons/mob/clothing/species/grey/under/misc.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/under/misc.dmi',
- "Vox" = 'icons/mob/clothing/species/vox/under/misc.dmi'
+ "Vox" = 'icons/mob/clothing/species/vox/under/misc.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/misc.dmi'
)
/obj/item/clothing/under/misc/burial
diff --git a/code/modules/clothing/under/pants.dm b/code/modules/clothing/under/pants.dm
index 68680e50aae..b729a6047b7 100644
--- a/code/modules/clothing/under/pants.dm
+++ b/code/modules/clothing/under/pants.dm
@@ -6,6 +6,7 @@
displays_id = FALSE
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/under/pants.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/pants.dmi',
"Drask" = 'icons/mob/clothing/species/drask/under/pants.dmi',
"Grey" = 'icons/mob/clothing/species/grey/under/pants.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/under/pants.dmi'
diff --git a/code/modules/clothing/under/suit.dm b/code/modules/clothing/under/suit.dm
index da35c3708f0..e8e03be0670 100644
--- a/code/modules/clothing/under/suit.dm
+++ b/code/modules/clothing/under/suit.dm
@@ -4,6 +4,7 @@
inhand_icon_state = "bl_suit"
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/under/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/vox/under/suit.dmi',
"Drask" = 'icons/mob/clothing/species/drask/under/suit.dmi',
"Grey" = 'icons/mob/clothing/species/grey/under/suit.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/under/suit.dmi'
diff --git a/code/modules/clothing/under/syndicate_jumpsuits.dm b/code/modules/clothing/under/syndicate_jumpsuits.dm
index e761304c256..fbf9470e5f6 100644
--- a/code/modules/clothing/under/syndicate_jumpsuits.dm
+++ b/code/modules/clothing/under/syndicate_jumpsuits.dm
@@ -9,6 +9,7 @@
armor = list(MELEE = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 50, ACID = 35)
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/under/syndicate.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/under/syndicate.dmi',
"Drask" = 'icons/mob/clothing/species/drask/under/syndicate.dmi',
"Grey" = 'icons/mob/clothing/species/grey/under/syndicate.dmi'
)
diff --git a/code/modules/economy/merch_items.dm b/code/modules/economy/merch_items.dm
index 216c7791a52..1344ad8021a 100644
--- a/code/modules/economy/merch_items.dm
+++ b/code/modules/economy/merch_items.dm
@@ -229,6 +229,13 @@
cost = 500
category = MERCH_CAT_DECORATION
+/datum/merch_item/flag_skulk
+ name = "Skkulakin Flag"
+ desc = "The foreboding flag of the Silver Collective. Blessed by Skkula-Kkavan priests."
+ typepath = /obj/item/flag/species/skulk
+ cost = 500
+ category = MERCH_CAT_DECORATION
+
/datum/merch_item/flag_ian
name = "Ian Flag"
desc = "The banner of Ian, because SQUEEEEE."
diff --git a/code/modules/mining/equipment/explorer_gear.dm b/code/modules/mining/equipment/explorer_gear.dm
index 58326b63ac5..1ddcc81fc72 100644
--- a/code/modules/mining/equipment/explorer_gear.dm
+++ b/code/modules/mining/equipment/explorer_gear.dm
@@ -18,7 +18,8 @@
"Drask" = 'icons/mob/clothing/species/drask/suit.dmi',
"Tajaran" = 'icons/mob/clothing/species/tajaran/suit.dmi',
"Unathi" = 'icons/mob/clothing/species/unathi/suit.dmi',
- "Vulpkanin" = 'icons/mob/clothing/species/vulpkanin/suit.dmi'
+ "Vulpkanin" = 'icons/mob/clothing/species/vulpkanin/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
)
/obj/item/clothing/head/hooded/explorer
@@ -58,7 +59,8 @@
"Grey" = 'icons/mob/clothing/species/grey/suit.dmi',
"Tajaran" = 'icons/mob/clothing/species/tajaran/suit.dmi',
"Vulpkanin" = 'icons/mob/clothing/species/vulpkanin/suit.dmi',
- "Unathi" = 'icons/mob/clothing/species/unathi/suit.dmi'
+ "Unathi" = 'icons/mob/clothing/species/unathi/suit.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/suit.dmi'
)
/obj/item/clothing/suit/space/hostile_environment/Initialize(mapload)
diff --git a/code/modules/mob/language.dm b/code/modules/mob/language.dm
index a8301c84029..ce394112505 100644
--- a/code/modules/mob/language.dm
+++ b/code/modules/mob/language.dm
@@ -411,6 +411,23 @@
new_name += " [pick("Alkaid","Andromeda","Antlia","Apus","Auriga","Caelum","Camelopardalis","Canes Venatici","Carinae","Cassiopeia","Centauri","Circinus","Cygnus","Dorado","Draco","Eridanus","Errakis","Fornax","Gliese","Grus","Horologium","Hydri","Lacerta","Leo Minor","Lupus","Lynx","Maffei","Megrez","Messier","Microscopium","Monocerotis","Muscae","Ophiuchi","Orion","Pegasi","Persei","Perseus","Polaris","Pyxis","Sculptor","Syrma","Telescopium","Tianyi","Triangulum","Trifid","Tucana","Tycho","Vir","Volans","Zavyava")]"
return new_name
+/datum/language/skulk
+ name = "Skkula-Runespeak"
+ desc = "A language comprised mostly of chittering, laced with psionic resonations used to convey urgency and emotion. Utterly esoteric to the unenlightened."
+ speech_verb = "resonates"
+ ask_verb = "pulses"
+ exclaim_verbs = list("thunders")
+ whisper_verb = "warps"
+ colour = "skulk"
+ key = "8"
+ flags = RESTRICTED | WHITELISTED
+ syllables = list("┤ᖋ|:ᖋᔮᒣ╎ᔮ", "ᖋリᒣ|:॥.", "ᒣ⍑ᒷ ▭", "⍊ᒷ∷", "ᒷ⎓", "╎リ┤ ▭ ⍑╎ᒲ")
+
+/datum/language/skulk/get_random_name()
+ var/new_name = "[pick("Akki", "Akku", "Avvi", "Bakku", "Bakki", "Bakk", "Kkath", "Makkith", "Vullo", "Mortis", "Vaal", "Kkari", "Thrakk", "Skkiv", "Llav", "Vykke", "Hakki", "Askki", "Tavv", "Maskii", "Tokko", "Kkavik", "Morkk", "Savv")]"
+ new_name += "-[pick("Akku", "Avvi", "Bakku", "Bakki", "Bakk", "Kkath", "Makkith", "Vullo", "Mortis", "Vaal", "Kkari", "Thrakk", "Skkiv", "Llav", "Vykke", "Hakki", "Askki", "Tavv", "Maskii", "Tokko", "Kkavik", "Morkk", "Savv")]"
+ return new_name
+
/datum/language/common
name = "Galactic Common"
desc = "Originally a carefully crafted fusion of various Human and Skrell dialects, Galactic Common is the most commonly spoken language in the Sector, and incorporates influences from nearly every known sapient species."
diff --git a/code/modules/mob/living/carbon/human/appearance.dm b/code/modules/mob/living/carbon/human/appearance.dm
index fd2e574c455..8c8051b6f5f 100644
--- a/code/modules/mob/living/carbon/human/appearance.dm
+++ b/code/modules/mob/living/carbon/human/appearance.dm
@@ -121,6 +121,7 @@
m_styles["tail"] = "None"
update_tail_layer()
update_wing_layer()
+ update_spines_layer()
return TRUE
/mob/living/carbon/human/proc/change_alt_head(alternate_head)
diff --git a/code/modules/mob/living/carbon/human/body_accessories.dm b/code/modules/mob/living/carbon/human/body_accessories.dm
index 66837d994f9..a4b7e5fe7ac 100644
--- a/code/modules/mob/living/carbon/human/body_accessories.dm
+++ b/code/modules/mob/living/carbon/human/body_accessories.dm
@@ -274,3 +274,31 @@ GLOBAL_LIST_EMPTY(body_accessory_by_species)
/datum/body_accessory/wing/bluespace
name = "Bluespace Wings"
icon_state = "bluespace"
+
+// Skulk spines
+/datum/body_accessory/spines
+ icon = 'icons/mob/sprite_accessories/skulk/skulk_spines.dmi'
+ animated_icon = null
+ name = "Report this bug on github"
+ icon_state = "hunter1"
+ allowed_species = list("Skkulakin")
+ has_behind = TRUE
+
+/datum/body_accessory/spines/hunter
+ name = "Hunter"
+
+/datum/body_accessory/spines/cosmic
+ name = "Cosmic"
+ icon_state = "cosmic1"
+
+/datum/body_accessory/spines/illusive
+ name = "Illusive"
+ icon_state = "illusive1"
+
+/datum/body_accessory/spines/venom
+ name = "Venom"
+ icon_state = "venom1"
+
+/datum/body_accessory/spines/hunger1
+ name = "Hunger"
+ icon_state = "hunger1"
diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm
index f8d28fbf23e..4b3e790f906 100644
--- a/code/modules/mob/living/carbon/human/human_defines.dm
+++ b/code/modules/mob/living/carbon/human/human_defines.dm
@@ -94,6 +94,8 @@
var/tail
/// Same as tail but wing
var/wing
+ /// Same as wing but with back spines
+ var/spines
var/tail_wagging = FALSE
diff --git a/code/modules/mob/living/carbon/human/human_emote.dm b/code/modules/mob/living/carbon/human/human_emote.dm
index d4c62041068..e799fab21f2 100644
--- a/code/modules/mob/living/carbon/human/human_emote.dm
+++ b/code/modules/mob/living/carbon/human/human_emote.dm
@@ -667,6 +667,16 @@
sound = 'sound/effects/mob_effects/flutter.ogg'
species_type_whitelist_typecache = list(/datum/species/moth)
+/datum/emote/living/carbon/human/chitter
+ key = "chitter"
+ key_third_person = "chitters"
+ message = "chitters."
+ message_param = "chitters at %t."
+ emote_type = EMOTE_AUDIBLE
+ sound = "sound/effects/chitter.ogg"
+ species_type_whitelist_typecache = list(/datum/species/skulk)
+ muzzled_noises = list("frustrated")
+
/datum/emote/living/carbon/human/quill
key = "quill"
key_third_person = "quills"
diff --git a/code/modules/mob/living/carbon/human/human_mob.dm b/code/modules/mob/living/carbon/human/human_mob.dm
index 7f4a293ae41..f9447d2212a 100644
--- a/code/modules/mob/living/carbon/human/human_mob.dm
+++ b/code/modules/mob/living/carbon/human/human_mob.dm
@@ -242,6 +242,9 @@
if(!body_accessory)
change_body_accessory("Plain Wings")
+/mob/living/carbon/human/skulk/Initialize(mapload)
+ . = ..(mapload, /datum/species/skulk)
+
/mob/living/carbon/human/get_status_tab_items()
var/list/status_tab_data = ..()
. = status_tab_data
@@ -863,8 +866,9 @@
var/obj/item/clothing/head/HFP = head //if yes gets the flash protection value from that item
number += HFP.flash_protect
if(istype(glasses, /obj/item/clothing/glasses)) //glasses
- var/obj/item/clothing/glasses/GFP = glasses
- number += GFP.flash_protect
+ if(!is_species(src, /datum/species/skulk)) // makes sure skkulakin properly suffer
+ var/obj/item/clothing/glasses/GFP = glasses
+ number += GFP.flash_protect
if(istype(wear_mask, /obj/item/clothing/mask)) //mask
var/obj/item/clothing/mask/MFP = wear_mask
number += MFP.flash_protect
@@ -1216,6 +1220,8 @@
wing = dna.species.wing
+ spines = dna.species.spines
+
maxHealth = dna.species.total_health
if(dna.species.language)
diff --git a/code/modules/mob/living/carbon/human/human_update_icons.dm b/code/modules/mob/living/carbon/human/human_update_icons.dm
index 53727a71e06..06894bdb2cc 100644
--- a/code/modules/mob/living/carbon/human/human_update_icons.dm
+++ b/code/modules/mob/living/carbon/human/human_update_icons.dm
@@ -104,10 +104,9 @@ Please contact me on #coderbus IRC. ~Carn x
*/
/mob/living/carbon/human/proc/apply_overlay(cache_index)
- . = overlays_standing[cache_index]
- SEND_SIGNAL(src, COMSIG_CARBON_APPLY_OVERLAY, cache_index, .)
- if(.)
- add_overlay(.)
+ SEND_SIGNAL(src, COMSIG_CARBON_APPLY_OVERLAY, cache_index)
+ if(overlays_standing[cache_index])
+ add_overlay(overlays_standing[cache_index])
/mob/living/carbon/human/proc/remove_overlay(cache_index)
var/I = overlays_standing[cache_index]
@@ -275,6 +274,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts)
//tail
update_tail_layer()
update_wing_layer()
+ update_spines_layer()
update_int_organs()
//head accessory
update_head_accessory()
@@ -421,7 +421,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts)
return
var/species_name = ""
- if(dna.species.name in list("Drask", "Grey", "Vox", "Kidan"))
+ if(dna.species.name in list("Drask", "Grey", "Vox", "Kidan", "Skkulakin"))
species_name = "_[lowertext(dna.species.sprite_sheet_name)]"
var/icon/hands_mask = icon('icons/mob/body_accessory.dmi', "accessory_none_s") //Needs a blank icon, not actually related to markings at all
@@ -562,6 +562,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts)
force_update_limbs()
update_tail_layer()
update_wing_layer()
+ update_spines_layer()
update_halo_layer()
update_eyes_overlay_layer()
overlays.Cut() // Force all overlays to regenerate
@@ -887,6 +888,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts)
apply_overlay(SUIT_LAYER)
update_tail_layer()
update_wing_layer()
+ update_spines_layer()
update_collar()
/mob/living/carbon/human/update_inv_pockets()
@@ -1146,12 +1148,11 @@ GLOBAL_LIST_EMPTY(damage_icon_parts)
if(!istype(body_accessory, /datum/body_accessory/wing))
if(dna.species.optional_body_accessory)
return
- else
- body_accessory = GLOB.body_accessory_by_name[dna.species.default_bodyacc]
-
+ if(istype(body_accessory, /datum/body_accessory/spines))
+ return // fuck right off thanks
+ body_accessory = GLOB.body_accessory_by_name[dna.species.default_bodyacc]
if(!body_accessory.try_restrictions(src))
return
-
var/icon/wings_icon = new /icon(body_accessory.icon, body_accessory.icon_state)
if(HAS_TRAIT(src, TRAIT_I_WANT_BRAINS))
wings_icon.ColorTone(COLORTONE_DEAD_EXT_ORGAN)
@@ -1174,6 +1175,41 @@ GLOBAL_LIST_EMPTY(damage_icon_parts)
apply_overlay(WING_UNDERLIMBS_LAYER)
apply_overlay(WING_LAYER)
+/mob/living/carbon/human/proc/update_spines_layer()
+ remove_overlay(SPINES_UNDERLIMBS_LAYER)
+ remove_overlay(SPINES_LAYER)
+ if(!istype(body_accessory, /datum/body_accessory/spines))
+ if(dna.species.optional_body_accessory)
+ return
+ if(istype(body_accessory, /datum/body_accessory/wing))
+ return // See above
+ body_accessory = GLOB.body_accessory_by_name[dna.species.default_bodyacc]
+ if(!body_accessory.try_restrictions(src))
+ return
+
+ var/icon/spines_icon = new /icon(body_accessory.icon, spines)
+ if(HAS_TRAIT(src, TRAIT_I_WANT_BRAINS))
+ spines_icon.ColorTone(COLORTONE_DEAD_EXT_ORGAN)
+ spines_icon.SetIntensity(0.7)
+ var/mutable_appearance/spines_ma = mutable_appearance(spines_icon, layer = -SPINES_LAYER)
+ spines_ma.pixel_x = body_accessory.pixel_x_offset
+ spines_ma.pixel_y = body_accessory.pixel_y_offset
+ overlays_standing[SPINES_LAYER] = spines_ma
+
+ if(body_accessory.has_behind)
+ var/icon/under_spines_icon = new /icon(body_accessory.icon, "[spines]_BEHIND")
+ if(HAS_TRAIT(src, TRAIT_I_WANT_BRAINS))
+ under_spines_icon.ColorTone(COLORTONE_DEAD_EXT_ORGAN)
+ under_spines_icon.SetIntensity(0.7)
+ var/mutable_appearance/under_spines = mutable_appearance(under_spines_icon, layer = -SPINES_UNDERLIMBS_LAYER)
+ under_spines.pixel_x = body_accessory.pixel_x_offset
+ under_spines.pixel_y = body_accessory.pixel_y_offset
+ overlays_standing[SPINES_UNDERLIMBS_LAYER] = under_spines
+
+ apply_overlay(SPINES_UNDERLIMBS_LAYER)
+ apply_overlay(SPINES_LAYER)
+
+// Warning to all that come here: This proc is also used to properly render nian wings and skulk spines. Also it sucks. Have fun!
/mob/living/carbon/human/proc/update_tail_layer()
// If the tail is currently wagging, don't stop wagging.
if(tail_wagging)
@@ -1198,7 +1234,11 @@ GLOBAL_LIST_EMPTY(damage_icon_parts)
if(body_accessory)
if(body_accessory.try_restrictions(src))
- var/icon/accessory_s = new/icon("icon" = body_accessory.icon, "icon_state" = body_accessory.icon_state)
+ var/icon/accessory_s
+ if(istype(body_accessory, /datum/body_accessory/spines))
+ accessory_s = new/icon("icon" = body_accessory.icon, "icon_state" = spines)
+ else
+ accessory_s = new/icon("icon" = body_accessory.icon, "icon_state" = body_accessory.icon_state)
if(HAS_TRAIT(src, TRAIT_I_WANT_BRAINS))
accessory_s.ColorTone(COLORTONE_DEAD_EXT_ORGAN)
accessory_s.SetIntensity(0.7)
@@ -1382,8 +1422,7 @@ GLOBAL_LIST_EMPTY(damage_icon_parts)
/mob/living/carbon/human/handle_transform_change()
..()
- update_tail_layer()
- update_wing_layer()
+ update_body()
//Adds a collar overlay above the helmet layer if the suit has one
// Suit needs an identically named sprite in icons/mob/clothing/collar.dmi
diff --git a/code/modules/mob/living/carbon/human/species/_species.dm b/code/modules/mob/living/carbon/human/species/_species.dm
index 6770cd1061a..79d49faef87 100644
--- a/code/modules/mob/living/carbon/human/species/_species.dm
+++ b/code/modules/mob/living/carbon/human/species/_species.dm
@@ -29,6 +29,8 @@
var/tail
/// like tail but wings
var/wing
+ /// like wings but spines
+ var/spines
var/datum/unarmed_attack/unarmed //For empty hand harm-intent attack
var/unarmed_type = /datum/unarmed_attack
diff --git a/code/modules/mob/living/carbon/human/species/skulk.dm b/code/modules/mob/living/carbon/human/species/skulk.dm
new file mode 100644
index 00000000000..7b1f322fc43
--- /dev/null
+++ b/code/modules/mob/living/carbon/human/species/skulk.dm
@@ -0,0 +1,147 @@
+/datum/species/skulk
+ name = "Skkulakin"
+ name_plural = "Skkulakin"
+ max_age = 70
+ icobase = 'icons/mob/human_races/skulk/r_skulkbrown.dmi'
+ language = "Skkula-Runespeak"
+ unarmed_type = /datum/unarmed_attack/claws
+
+ blurb = "The Skkulakin are a species of psionically-attuned furred arthropods hailing from the Western Orion Spur. \
+ Originating from the planet Votum-Accorium, an arctic world ruled by the brutal theocratic government known as the Silver Collective.
\
+ Despite owning a large amount of territory in the western arm of the sector, the plasma supply their empire relies on is being stretched thin. \
+ This has forced the once-proud species to desperately branch out and seek a solution to their critical shortage."
+
+ cold_level_1 = 240
+ cold_level_2 = 180
+ cold_level_3 = 100
+
+ heat_level_1 = 340
+ heat_level_2 = 380
+ heat_level_3 = 440
+
+ brain_mod = 0.8
+
+ species_traits = list()
+ inherent_traits = list(TRAIT_BRITTLE_BONES)
+ inherent_biotypes = MOB_ORGANIC | MOB_HUMANOID | MOB_BUG
+ clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS
+ bodyflags = HAS_BODY_MARKINGS | HAS_BACK_SPINES | HAS_ICON_SKIN_TONE | SHAVED | HAS_BODY_ACCESSORY
+ dietflags = DIET_OMNI
+ flesh_color = "#e3e2dd"
+
+ default_hair = "Scribe"
+ default_bodyacc = "Illusive"
+ spines = "Illusive1"
+
+ eyes = "skulk_eyes_s"
+ butt_sprite = "nian"
+
+ optional_body_accessory = FALSE
+
+ reagent_tag = PROCESS_ORG
+
+ icon_skin_tones = alist(
+ 1 = "Blackgate",
+ 2 = "Talwyrm",
+ 3 = "Valcore",
+ 4 = "Ossya",
+ 5 = "Highfield",
+ 6 = "Votum-Accorium"
+ )
+
+ has_organ = list(
+ "heart" = /obj/item/organ/internal/heart/skulk,
+ "lungs" = /obj/item/organ/internal/lungs/skulk,
+ "liver" = /obj/item/organ/internal/liver/skulk,
+ "kidneys" = /obj/item/organ/internal/kidneys/skulk,
+ "brain" = /obj/item/organ/internal/brain/skulk,
+ "eyes" = /obj/item/organ/internal/eyes/skulk
+ )
+
+ suicide_messages = list(
+ "is attempting to blow up their mind with their mind!",
+ "is jamming their claws into their eye sockets!",
+ "is tearing open their arm with their fangs!",
+ "is twisting their own neck!",
+ "is holding their breath!")
+
+/datum/species/skulk/on_species_gain(mob/living/carbon/human/H)
+ ..()
+ updatespeciescolor(H)
+ H.update_icons()
+ var/datum/action/innate/spin_silk/spin_silk = new()
+ spin_silk.Grant(H)
+
+/datum/species/skulk/on_species_loss(mob/living/carbon/human/H)
+ ..()
+ for(var/datum/action/innate/spin_silk/spin_silk in H.actions)
+ spin_silk.Remove(H)
+
+/datum/species/skulk/updatespeciescolor(mob/living/carbon/human/H, owner_sensitive = 1) // Handling species-specific skin-tones for the Skulk race.
+ if(H.dna.species.bodyflags & HAS_ICON_SKIN_TONE)
+ var/new_icobase = 'icons/mob/human_races/skulk/r_skulkblack.dmi' // Default Blackgate Skkulakin.
+ var/current_spine_type = null
+ if(H.body_accessory)
+ current_spine_type = lowertext("[H.body_accessory.name]")
+
+ var/chosen_spine_color = 1
+ switch(H.s_tone)
+ if(1) // Blackgate Skkulakin.
+ new_icobase = 'icons/mob/human_races/skulk/r_skulkblack.dmi'
+ chosen_spine_color = 1
+ if(2) // Talwyrm Skkulakin.
+ new_icobase = 'icons/mob/human_races/skulk/r_skulkbrown.dmi'
+ chosen_spine_color = 2
+ if(3) // Valcore Skkulakin.
+ new_icobase = 'icons/mob/human_races/skulk/r_skulkred.dmi'
+ chosen_spine_color = 3
+ if(4) // Ossya Skkulakin.
+ new_icobase = 'icons/mob/human_races/skulk/r_skulkblue.dmi'
+ chosen_spine_color = 4
+ if(5) // Highfield Skkulakin.
+ new_icobase = 'icons/mob/human_races/skulk/r_skulkgreen.dmi'
+ chosen_spine_color = 5
+ if(6) // Votum-Accorium Skkulakin.
+ new_icobase = 'icons/mob/human_races/skulk/r_skulkwhite.dmi'
+ chosen_spine_color = 6
+ if(H.body_accessory && current_spine_type)
+ H.spines = "[current_spine_type][chosen_spine_color]"
+
+ H.change_icobase(new_icobase, owner_sensitive)
+
+/datum/action/innate/spin_silk
+ name = "Spin Silk"
+ desc = "Use your spinnerets to create a spool of silk that can be used for crafting."
+ check_flags = AB_CHECK_HANDS_BLOCKED | AB_CHECK_STUNNED | AB_CHECK_RESTRAINED | AB_CHECK_CONSCIOUS
+ button_icon = 'icons/obj/stacks/organic.dmi'
+ button_icon_state = "sheet-silk"
+ var/cooldown = 0
+ var/cooldown_duration = 10 SECONDS
+
+#define SILK_NUTRITION_AMOUNT 90
+
+/datum/action/innate/spin_silk/Activate()
+ var/mob/living/carbon/human/user = owner
+ if(world.time <= cooldown)
+ to_chat(user, SPAN_WARNING("You are still recovering from spinning silk. Wait [round((cooldown - world.time) / 10)] seconds and try again."))
+ return
+ var/mob/living/carbon/human/skulk/H = owner
+ if(H.nutrition < SILK_NUTRITION_AMOUNT)
+ to_chat(user, SPAN_WARNING("You are too hungry to spin silk right now."))
+ return
+ var/obj/item/stack/sheet/silk/silk
+ if(user.get_active_hand() && user.get_inactive_hand())
+ to_chat(user, SPAN_WARNING("You don't have any free hands!"))
+ return
+ H.visible_message(SPAN_WARNING("[H] begins spinning a small amount of silk..."), SPAN_WARNING("You begin spinning a small amount of silk... (This will take [5] seconds, and you must hold still.)"))
+ if(!do_after_once(H, 5 SECONDS, TRUE, H, attempt_cancel_message = "You stop spinning silk."))
+ if(H.incapacitated())
+ to_chat(user, SPAN_WARNING("You cannot spin silk in your current state!"))
+ return
+ silk = new(get_turf(H), 1)
+ user.put_in_hands(silk)
+ cooldown = world.time + cooldown_duration
+ H.adjust_nutrition(-SILK_NUTRITION_AMOUNT)
+ to_chat(user, SPAN_WARNING("You spin a small amount of silk."))
+
+#undef SILK_NUTRITION_AMOUNT
diff --git a/code/modules/mob/living/silicon/ai/ai_mob.dm b/code/modules/mob/living/silicon/ai/ai_mob.dm
index 2431e7c52d0..62888dd85d2 100644
--- a/code/modules/mob/living/silicon/ai/ai_mob.dm
+++ b/code/modules/mob/living/silicon/ai/ai_mob.dm
@@ -253,6 +253,7 @@ GLOBAL_LIST_INIT(ai_verbs_default, list(
add_language("Bubblish", 1)
add_language("Clownish", 1)
add_language("Tkachi", 1)
+ add_language("Skkula-Runespeak", 1)
if(!safety)//Only used by AIize() to successfully spawn an AI.
if(!B)//If there is no player/brain inside.
diff --git a/code/modules/mob/living/silicon/pai/software/pai_toggles.dm b/code/modules/mob/living/silicon/pai/software/pai_toggles.dm
index c2ae83be434..c632fb0b2c9 100644
--- a/code/modules/mob/living/silicon/pai/software/pai_toggles.dm
+++ b/code/modules/mob/living/silicon/pai/software/pai_toggles.dm
@@ -78,6 +78,7 @@
user.add_language("Clownish")
user.add_language("Cygni Standard")
user.add_language("Tkachi")
+ user.add_language("Skkula-Runespeak")
else
user.remove_language("Sinta'unathi")
user.remove_language("Siik'tajr")
@@ -91,6 +92,7 @@
user.remove_language("Clownish")
user.remove_language("Cygni Standard")
user.remove_language("Tkachi")
+ user.remove_language("Skkula-Runespeak")
/datum/pai_software/translator/is_active(mob/living/silicon/pai/user)
return user.translator_on
diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm
index a10a4a4b7a5..2b2788fd239 100644
--- a/code/modules/mob/living/silicon/robot/robot_modules.dm
+++ b/code/modules/mob/living/silicon/robot/robot_modules.dm
@@ -293,6 +293,7 @@
R.add_language("Orluum", FALSE)
R.add_language("Clownish", FALSE)
R.add_language("Tkachi", FALSE)
+ R.add_language("Skkula-Runespeak", FALSE)
///Adds armor to a cyborg. Normaly resets it to 0 across the board, unless the module has an armor defined.
/obj/item/robot_module/proc/add_armor(mob/living/silicon/robot/R)
@@ -670,6 +671,7 @@
R.add_language("Clownish",1)
R.add_language("Cygni Standard", 1)
R.add_language("Tkachi", 1)
+ R.add_language("Skkula-Runespeak", 1)
// Mining
/obj/item/robot_module/miner
diff --git a/code/modules/mob/new_player/sprite_accessories/skulk/skulk_body_markings.dm b/code/modules/mob/new_player/sprite_accessories/skulk/skulk_body_markings.dm
new file mode 100644
index 00000000000..7ccf5c350d0
--- /dev/null
+++ b/code/modules/mob/new_player/sprite_accessories/skulk/skulk_body_markings.dm
@@ -0,0 +1,23 @@
+/datum/sprite_accessory/body_markings/tattoo/skulk
+ icon = 'icons/mob/sprite_accessories/skulk/skulk_body_markings.dmi'
+ species_allowed = list("Skkulakin")
+
+/datum/sprite_accessory/body_markings/tattoo/skulk/danger_skulk
+ name = "Danger"
+ icon_state = "danger"
+
+/datum/sprite_accessory/body_markings/tattoo/skulk/royal_skulk
+ name = "Royal"
+ icon_state = "royal"
+
+/datum/sprite_accessory/body_markings/tattoo/skulk/grunt_skulk
+ name = "Grunt"
+ icon_state = "grunt"
+
+/datum/sprite_accessory/body_markings/tattoo/skulk/mantis_skulk
+ name = "Mantis"
+ icon_state = "mantis"
+
+/datum/sprite_accessory/body_markings/tattoo/skulk/striped_skulk
+ name = "Striped"
+ icon_state = "striped"
diff --git a/code/modules/mob/new_player/sprite_accessories/skulk/skulk_hair.dm b/code/modules/mob/new_player/sprite_accessories/skulk/skulk_hair.dm
new file mode 100644
index 00000000000..6de8313d1b2
--- /dev/null
+++ b/code/modules/mob/new_player/sprite_accessories/skulk/skulk_hair.dm
@@ -0,0 +1,76 @@
+/datum/sprite_accessory/hair/skulk
+ icon = 'icons/mob/sprite_accessories/skulk/skulk_hair.dmi'
+ species_allowed = list("Skkulakin")
+ glasses_over = 1
+
+/datum/sprite_accessory/hair/skulk/artificer
+ name = "Artificer"
+ icon_state = "artificer"
+
+/datum/sprite_accessory/hair/skulk/priest
+ name = "Priest"
+ icon_state = "priest"
+
+/datum/sprite_accessory/hair/skulk/cleric
+ name = "Cleric"
+ icon_state = "cleric"
+
+/datum/sprite_accessory/hair/skulk/brewmaster
+ name = "Brewmaster"
+ icon_state = "brewmaster"
+
+/datum/sprite_accessory/hair/skulk/alchemist
+ name = "Alchemist"
+ icon_state = "alchemist"
+
+/datum/sprite_accessory/hair/skulk/agrolyte
+ name = "Agrolyte"
+ icon_state = "agrolyte"
+
+/datum/sprite_accessory/hair/skulk/monk
+ name = "Monk"
+ icon_state = "monk"
+
+/datum/sprite_accessory/hair/skulk/archivist
+ name = "Archivist"
+ icon_state = "archivist"
+
+/datum/sprite_accessory/hair/skulk/scribe
+ name = "Scribe"
+ icon_state = "scribe"
+
+/datum/sprite_accessory/hair/skulk/seer
+ name = "Seer"
+ icon_state = "seer"
+
+/datum/sprite_accessory/hair/skulk/warrior
+ name = "Warrior"
+ icon_state = "warrior"
+
+/datum/sprite_accessory/hair/skulk/lowinquis
+ name = "Low-Inquisitor"
+ icon_state = "lowinquis"
+
+/datum/sprite_accessory/hair/skulk/highinquis
+ name = "High-Inquisitor"
+ icon_state = "highinquis"
+
+/datum/sprite_accessory/hair/skulk/supremeinquis
+ name = "Supreme-Inquisitor"
+ icon_state = "supremeinquis"
+
+/datum/sprite_accessory/hair/skulk/acolyte
+ name = "Acolyte"
+ icon_state = "acolyte"
+
+/datum/sprite_accessory/hair/skulk/highacolyte
+ name = "High-Acolyte"
+ icon_state = "highacolyte"
+
+/datum/sprite_accessory/hair/skulk/lordforeman
+ name = "Lord-Foreman"
+ icon_state = "lordforeman"
+
+/datum/sprite_accessory/hair/skulk/silverinquis
+ name = "Silver-Inquisitor"
+ icon_state = "silverinquis"
diff --git a/code/modules/mob/new_player/sprite_accessories/sprite_accessories.dm b/code/modules/mob/new_player/sprite_accessories/sprite_accessories.dm
index a9c8194adc8..97135a1e8c9 100644
--- a/code/modules/mob/new_player/sprite_accessories/sprite_accessories.dm
+++ b/code/modules/mob/new_player/sprite_accessories/sprite_accessories.dm
@@ -76,7 +76,7 @@
icon = 'icons/mob/human_face.dmi' // Keep bald hair here, as for some reason, putting it elsewhere lead to it being colourable - Also it make sense as it is shared by everyone.
name = "Bald"
icon_state = "bald"
- species_allowed = list("Human", "Unathi", "Vox", "Diona", "Kidan", "Grey", "Plasmaman", "Skeleton", "Vulpkanin", "Tajaran", "Nian")
+ species_allowed = list("Human", "Unathi", "Vox", "Diona", "Kidan", "Grey", "Plasmaman", "Skeleton", "Vulpkanin", "Tajaran", "Nian", "Skulk")
glasses_over = 1
/datum/sprite_accessory/facial_hair
@@ -96,7 +96,7 @@
/datum/sprite_accessory/head_accessory/none
name = "None"
- species_allowed = list("Human", "Unathi", "Diona", "Grey", "Kidan", "Machine", "Tajaran", "Vulpkanin", "Skrell", "Slime People", "Skeleton", "Vox")
+ species_allowed = list("Human", "Unathi", "Diona", "Grey", "Kidan", "Machine", "Tajaran", "Vulpkanin", "Skrell", "Slime People", "Skeleton", "Vox", "Skulk")
/* BODY MARKINGS */
@@ -171,17 +171,18 @@
///////////////////////////
/datum/sprite_accessory/underwear
icon = 'icons/mob/clothing/underwear.dmi'
- species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Tajaran", "Kidan", "Grey", "Plasmaman", "Machine", "Skrell", "Slime People", "Skeleton", "Drask", "Vox", "Nian")
+ species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Tajaran", "Kidan", "Grey", "Plasmaman", "Machine", "Skrell", "Slime People", "Skeleton", "Drask", "Vox", "Nian", "Skkulakin")
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/underwear.dmi',
"Grey" = 'icons/mob/clothing/species/grey/underwear.dmi',
- "Kidan" = 'icons/mob/clothing/species/kidan/underwear.dmi'
+ "Kidan" = 'icons/mob/clothing/species/kidan/underwear.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/underwear.dmi'
)
/datum/sprite_accessory/underwear/nude
name = "Nude"
icon_state = null
- species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Tajaran", "Kidan", "Grey", "Plasmaman", "Machine", "Skrell", "Slime People", "Skeleton", "Drask", "Vox", "Nian")
+ species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Tajaran", "Kidan", "Grey", "Plasmaman", "Machine", "Skrell", "Slime People", "Skeleton", "Drask", "Vox", "Nian", "Skkulakin")
/datum/sprite_accessory/underwear/male
body_type = MALE
@@ -301,17 +302,18 @@
////////////////////////////
/datum/sprite_accessory/undershirt
icon = 'icons/mob/clothing/underwear.dmi'
- species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Tajaran", "Kidan", "Grey", "Plasmaman", "Machine", "Skrell", "Slime People", "Skeleton", "Drask", "Vox", "Nian")
+ species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Tajaran", "Kidan", "Grey", "Plasmaman", "Machine", "Skrell", "Slime People", "Skeleton", "Drask", "Vox", "Nian", "Skkulakin")
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/underwear.dmi',
"Grey" = 'icons/mob/clothing/species/grey/underwear.dmi',
- "Kidan" = 'icons/mob/clothing/species/kidan/underwear.dmi'
+ "Kidan" = 'icons/mob/clothing/species/kidan/underwear.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/underwear.dmi'
)
/datum/sprite_accessory/undershirt/nude
name = "Nude"
icon_state = null
- species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Tajaran", "Kidan", "Grey", "Plasmaman", "Machine", "Skrell", "Slime People", "Skeleton", "Drask", "Vox", "Nian")
+ species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Tajaran", "Kidan", "Grey", "Plasmaman", "Machine", "Skrell", "Slime People", "Skeleton", "Drask", "Vox", "Nian", "Skkulakin")
//plain color shirts
/datum/sprite_accessory/undershirt/shirt_white
@@ -583,18 +585,18 @@
///////////////////////
/datum/sprite_accessory/socks
icon = 'icons/mob/clothing/underwear.dmi'
- species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Tajaran", "Kidan", "Grey", "Plasmaman", "Machine", "Skrell", "Slime People", "Skeleton", "Drask", "Vox", "Nian")
+ species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Tajaran", "Kidan", "Grey", "Plasmaman", "Machine", "Skrell", "Slime People", "Skeleton", "Drask", "Vox", "Nian", "Skkulakin")
sprite_sheets = list(
"Vox" = 'icons/mob/clothing/species/vox/underwear.dmi',
"Kidan" = 'icons/mob/clothing/species/kidan/underwear.dmi',
- "Nian" = 'icons/mob/clothing/species/nian/underwear.dmi'
-
+ "Nian" = 'icons/mob/clothing/species/nian/underwear.dmi',
+ "Skkulakin" = 'icons/mob/clothing/species/skkulakin/underwear.dmi'
)
/datum/sprite_accessory/socks/nude
name = "Nude"
icon_state = null
- species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Tajaran", "Kidan", "Grey", "Plasmaman", "Machine", "Skrell", "Slime People", "Skeleton", "Drask", "Vox", "Nian")
+ species_allowed = list("Human", "Unathi", "Diona", "Vulpkanin", "Tajaran", "Kidan", "Grey", "Plasmaman", "Machine", "Skrell", "Slime People", "Skeleton", "Drask", "Vox", "Nian", "Skkulakin")
/datum/sprite_accessory/socks/white_norm
name = "Normal White"
diff --git a/code/modules/response_team/ert.dm b/code/modules/response_team/ert.dm
index e3820c79259..789568c97f3 100644
--- a/code/modules/response_team/ert.dm
+++ b/code/modules/response_team/ert.dm
@@ -75,7 +75,7 @@ GLOBAL_LIST_EMPTY(ert_request_messages)
A.close()
var/list/ert_species_prefs = list()
for(var/mob/M in GLOB.response_team_members)
- ert_species_prefs.Add(input_async(M, "Please select a species (10 seconds):", list("Human", "Tajaran", "Skrell", "Unathi", "Diona", "Vulpkanin", "Nian", "Drask", "Kidan", "Grey", "Random")))
+ ert_species_prefs.Add(input_async(M, "Please select a species (10 seconds):", list("Human", "Tajaran", "Skrell", "Unathi", "Diona", "Vulpkanin", "Nian", "Drask", "Kidan", "Grey", "Skkulakin", "Random")))
addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(get_ert_role_prefs), GLOB.response_team_members, ert_gender_prefs, ert_species_prefs), 10 SECONDS)
/proc/get_ert_role_prefs(list/response_team_members, list/ert_gender_prefs, list/ert_species_prefs) // Why the FUCK is this variable the EXACT SAME as the global one
@@ -143,7 +143,7 @@ GLOBAL_LIST_EMPTY(ert_request_messages)
if(!new_species)
new_species = "Human"
if(new_species == "Random")
- new_species = pick("Human", "Tajaran", "Skrell", "Unathi", "Diona", "Vulpkanin", "Nian", "Drask", "Kidan", "Grey")
+ new_species = pick("Human", "Tajaran", "Skrell", "Unathi", "Diona", "Vulpkanin", "Nian", "Drask", "Kidan", "Grey", "Skkulakin")
var/datum/species/S = GLOB.all_species[new_species]
var/species = S.type
M.set_species(species, TRUE)
@@ -154,7 +154,7 @@ GLOBAL_LIST_EMPTY(ert_request_messages)
var/eye_c = pick("#000000", "#8B4513", "#1E90FF", "#8c00ff", "#a80c0c", "#2fdb63") // Black, brown, blue, purple, red, green
switch(new_species) //Diona not included as they don't use the hair colours, kidan use accessory, drask are skin tone Grey not included as they are BALD
- if("Human", "Tajaran", "Vulpkanin", "Nian")
+ if("Human", "Tajaran", "Vulpkanin", "Nian","Skkulakin")
var/hair_c_htvn = pick("#8B4513", "#000000", "#FF4500", "#FFD700", "#d4d1bf") // Brown, black, red, blonde, grey
head_organ.facial_colour = hair_c_htvn
head_organ.sec_facial_colour = hair_c_htvn
diff --git a/code/modules/supply/supply_packs/pack_security.dm b/code/modules/supply/supply_packs/pack_security.dm
index c80c6a7c3ac..8b256903b23 100644
--- a/code/modules/supply/supply_packs/pack_security.dm
+++ b/code/modules/supply/supply_packs/pack_security.dm
@@ -422,6 +422,18 @@
cost = 200
containername = "security clothing crate"
+/// Has a bunch of neat equipment for Skulk Officers, do note only Skkulakin can use these items
+/datum/supply_packs/security/lowinquisitor
+ name = "Low-Inquisitor Clothing Crate"
+ contains = list(/obj/item/clothing/suit/hooded/lowinquis,
+ /obj/item/clothing/suit/hooded/lowinquis,
+ /obj/item/clothing/suit/hooded/lowinquis,
+ /obj/item/clothing/mask/lowinquis,
+ /obj/item/clothing/mask/lowinquis,
+ /obj/item/clothing/mask/lowinquis)
+ cost = 300
+ containername = "low-inquisitorial clothing crate"
+
/// Starter pack for an officer. Contains everything in a locker but backpack (officer already start with one). Convenient way to equip new officer on highpop.
/datum/supply_packs/security/officerpack
name = "Officer Starter Pack"
diff --git a/code/modules/surgery/organs/organ_external.dm b/code/modules/surgery/organs/organ_external.dm
index b31876a9e1e..814aef0cfd6 100644
--- a/code/modules/surgery/organs/organ_external.dm
+++ b/code/modules/surgery/organs/organ_external.dm
@@ -539,11 +539,13 @@ Note that amputating the affected organ does in fact remove the infection from t
//Updates brute_damn and burn_damn from wound damages. Updates BLEEDING status.
/obj/item/organ/external/proc/check_fracture(damage_inflicted)
var/frail_multiplier = 1
+ var/brittle_bones_multiplier = 1
if(owner)
frail_multiplier = HAS_TRAIT(owner, TRAIT_FRAIL) ? 2 : 1
+ brittle_bones_multiplier = HAS_TRAIT(owner, TRAIT_BRITTLE_BONES) ? 1.2 : 1
var/adjusted_broken_damage = min_broken_damage / frail_multiplier
if(GLOB.configuration.general.breakable_bones && brute_dam > adjusted_broken_damage && !is_robotic())
- if(prob(damage_inflicted * frail_multiplier))
+ if(prob(damage_inflicted * (frail_multiplier + brittle_bones_multiplier)))
fracture()
/obj/item/organ/external/proc/check_for_internal_bleeding(damage)
diff --git a/code/modules/surgery/organs/subtypes/skulk_organs.dm b/code/modules/surgery/organs/subtypes/skulk_organs.dm
new file mode 100644
index 00000000000..e714f70cc00
--- /dev/null
+++ b/code/modules/surgery/organs/subtypes/skulk_organs.dm
@@ -0,0 +1,26 @@
+/obj/item/organ/internal/eyes/skulk
+ name = "skkulakin eyeballs"
+ desc = "A strange set of beady-looking eyes."
+ icon = 'icons/obj/species_organs/skulk.dmi'
+
+/obj/item/organ/internal/liver/skulk
+ name = "skkulakin liver"
+ desc = "A rather disgusting looking liver of some bug thing."
+ icon = 'icons/obj/species_organs/skulk.dmi'
+
+/obj/item/organ/internal/heart/skulk
+ name = "skkulakin heart"
+ icon = 'icons/obj/species_organs/skulk.dmi'
+
+/obj/item/organ/internal/brain/skulk
+ icon = 'icons/obj/species_organs/skulk.dmi'
+ desc = "It quietly hums with psionic resonance."
+ mmi_icon = 'icons/obj/species_organs/skulk.dmi'
+
+/obj/item/organ/internal/lungs/skulk
+ name = "skkulakin lungs"
+ icon = 'icons/obj/species_organs/skulk.dmi'
+
+/obj/item/organ/internal/kidneys/skulk
+ name = "skkulakin kidneys"
+ icon = 'icons/obj/species_organs/skulk.dmi'
diff --git a/icons/mob/clothing/masking_helpers.dmi b/icons/mob/clothing/masking_helpers.dmi
index ff8216e116f..0a8a3bf3563 100644
Binary files a/icons/mob/clothing/masking_helpers.dmi and b/icons/mob/clothing/masking_helpers.dmi differ
diff --git a/icons/mob/clothing/species/skkulakin/back.dmi b/icons/mob/clothing/species/skkulakin/back.dmi
new file mode 100644
index 00000000000..eb6bd5bc4ee
Binary files /dev/null and b/icons/mob/clothing/species/skkulakin/back.dmi differ
diff --git a/icons/mob/clothing/species/skkulakin/belt.dmi b/icons/mob/clothing/species/skkulakin/belt.dmi
new file mode 100644
index 00000000000..9b7b249f1ec
Binary files /dev/null and b/icons/mob/clothing/species/skkulakin/belt.dmi differ
diff --git a/icons/mob/clothing/species/skkulakin/collar.dmi b/icons/mob/clothing/species/skkulakin/collar.dmi
new file mode 100644
index 00000000000..3bea634f90a
Binary files /dev/null and b/icons/mob/clothing/species/skkulakin/collar.dmi differ
diff --git a/icons/mob/clothing/species/skkulakin/ears.dmi b/icons/mob/clothing/species/skkulakin/ears.dmi
new file mode 100644
index 00000000000..e5e72f03d03
Binary files /dev/null and b/icons/mob/clothing/species/skkulakin/ears.dmi differ
diff --git a/icons/mob/clothing/species/skkulakin/feet.dmi b/icons/mob/clothing/species/skkulakin/feet.dmi
new file mode 100644
index 00000000000..f4e508421c8
Binary files /dev/null and b/icons/mob/clothing/species/skkulakin/feet.dmi differ
diff --git a/icons/mob/clothing/species/skkulakin/gloves.dmi b/icons/mob/clothing/species/skkulakin/gloves.dmi
new file mode 100644
index 00000000000..af691ab7a7e
Binary files /dev/null and b/icons/mob/clothing/species/skkulakin/gloves.dmi differ
diff --git a/icons/mob/clothing/species/skkulakin/head.dmi b/icons/mob/clothing/species/skkulakin/head.dmi
new file mode 100644
index 00000000000..0342016f86c
Binary files /dev/null and b/icons/mob/clothing/species/skkulakin/head.dmi differ
diff --git a/icons/mob/clothing/species/skkulakin/held.dmi b/icons/mob/clothing/species/skkulakin/held.dmi
new file mode 100644
index 00000000000..d941ce50109
Binary files /dev/null and b/icons/mob/clothing/species/skkulakin/held.dmi differ
diff --git a/icons/mob/clothing/species/skkulakin/mask.dmi b/icons/mob/clothing/species/skkulakin/mask.dmi
new file mode 100644
index 00000000000..129a9e4b309
Binary files /dev/null and b/icons/mob/clothing/species/skkulakin/mask.dmi differ
diff --git a/icons/mob/clothing/species/skkulakin/neck.dmi b/icons/mob/clothing/species/skkulakin/neck.dmi
new file mode 100644
index 00000000000..0f69b98d914
Binary files /dev/null and b/icons/mob/clothing/species/skkulakin/neck.dmi differ
diff --git a/icons/mob/clothing/species/skkulakin/shoes.dmi b/icons/mob/clothing/species/skkulakin/shoes.dmi
new file mode 100644
index 00000000000..2a76db03982
Binary files /dev/null and b/icons/mob/clothing/species/skkulakin/shoes.dmi differ
diff --git a/icons/mob/clothing/species/skkulakin/suit.dmi b/icons/mob/clothing/species/skkulakin/suit.dmi
new file mode 100644
index 00000000000..c2af8a513de
Binary files /dev/null and b/icons/mob/clothing/species/skkulakin/suit.dmi differ
diff --git a/icons/mob/clothing/species/skkulakin/suits/bio.dmi b/icons/mob/clothing/species/skkulakin/suits/bio.dmi
new file mode 100644
index 00000000000..d706a64ae08
Binary files /dev/null and b/icons/mob/clothing/species/skkulakin/suits/bio.dmi differ
diff --git a/icons/mob/clothing/species/skkulakin/suits/coat.dmi b/icons/mob/clothing/species/skkulakin/suits/coat.dmi
new file mode 100644
index 00000000000..7b2fedd23d3
Binary files /dev/null and b/icons/mob/clothing/species/skkulakin/suits/coat.dmi differ
diff --git a/icons/mob/clothing/species/skkulakin/suits/labcoat.dmi b/icons/mob/clothing/species/skkulakin/suits/labcoat.dmi
new file mode 100644
index 00000000000..8a45098c751
Binary files /dev/null and b/icons/mob/clothing/species/skkulakin/suits/labcoat.dmi differ
diff --git a/icons/mob/clothing/species/skkulakin/suits/utility.dmi b/icons/mob/clothing/species/skkulakin/suits/utility.dmi
new file mode 100644
index 00000000000..bc14f9ed453
Binary files /dev/null and b/icons/mob/clothing/species/skkulakin/suits/utility.dmi differ
diff --git a/icons/mob/clothing/species/skkulakin/under/captain.dmi b/icons/mob/clothing/species/skkulakin/under/captain.dmi
new file mode 100644
index 00000000000..3b413293847
Binary files /dev/null and b/icons/mob/clothing/species/skkulakin/under/captain.dmi differ
diff --git a/icons/mob/clothing/species/skkulakin/under/cargo.dmi b/icons/mob/clothing/species/skkulakin/under/cargo.dmi
new file mode 100644
index 00000000000..db3fffacae5
Binary files /dev/null and b/icons/mob/clothing/species/skkulakin/under/cargo.dmi differ
diff --git a/icons/mob/clothing/species/skkulakin/under/centcom.dmi b/icons/mob/clothing/species/skkulakin/under/centcom.dmi
new file mode 100644
index 00000000000..b85c3f59158
Binary files /dev/null and b/icons/mob/clothing/species/skkulakin/under/centcom.dmi differ
diff --git a/icons/mob/clothing/species/skkulakin/under/civilian.dmi b/icons/mob/clothing/species/skkulakin/under/civilian.dmi
new file mode 100644
index 00000000000..52dd7b2b6c1
Binary files /dev/null and b/icons/mob/clothing/species/skkulakin/under/civilian.dmi differ
diff --git a/icons/mob/clothing/species/skkulakin/under/color.dmi b/icons/mob/clothing/species/skkulakin/under/color.dmi
new file mode 100644
index 00000000000..82303ac4d40
Binary files /dev/null and b/icons/mob/clothing/species/skkulakin/under/color.dmi differ
diff --git a/icons/mob/clothing/species/skkulakin/under/costumes.dmi b/icons/mob/clothing/species/skkulakin/under/costumes.dmi
new file mode 100644
index 00000000000..2ddbce28765
Binary files /dev/null and b/icons/mob/clothing/species/skkulakin/under/costumes.dmi differ
diff --git a/icons/mob/clothing/species/skkulakin/under/donator.dmi b/icons/mob/clothing/species/skkulakin/under/donator.dmi
new file mode 100644
index 00000000000..5c4b144f371
Binary files /dev/null and b/icons/mob/clothing/species/skkulakin/under/donator.dmi differ
diff --git a/icons/mob/clothing/species/skkulakin/under/dress.dmi b/icons/mob/clothing/species/skkulakin/under/dress.dmi
new file mode 100644
index 00000000000..ec99a63d040
Binary files /dev/null and b/icons/mob/clothing/species/skkulakin/under/dress.dmi differ
diff --git a/icons/mob/clothing/species/skkulakin/under/engineering.dmi b/icons/mob/clothing/species/skkulakin/under/engineering.dmi
new file mode 100644
index 00000000000..2d5a1e7b6bd
Binary files /dev/null and b/icons/mob/clothing/species/skkulakin/under/engineering.dmi differ
diff --git a/icons/mob/clothing/species/skkulakin/under/medical.dmi b/icons/mob/clothing/species/skkulakin/under/medical.dmi
new file mode 100644
index 00000000000..fe916829975
Binary files /dev/null and b/icons/mob/clothing/species/skkulakin/under/medical.dmi differ
diff --git a/icons/mob/clothing/species/skkulakin/under/misc.dmi b/icons/mob/clothing/species/skkulakin/under/misc.dmi
new file mode 100644
index 00000000000..3af0f055571
Binary files /dev/null and b/icons/mob/clothing/species/skkulakin/under/misc.dmi differ
diff --git a/icons/mob/clothing/species/skkulakin/under/pants.dmi b/icons/mob/clothing/species/skkulakin/under/pants.dmi
new file mode 100644
index 00000000000..2982ae38bf0
Binary files /dev/null and b/icons/mob/clothing/species/skkulakin/under/pants.dmi differ
diff --git a/icons/mob/clothing/species/skkulakin/under/procedure.dmi b/icons/mob/clothing/species/skkulakin/under/procedure.dmi
new file mode 100644
index 00000000000..f14eee32974
Binary files /dev/null and b/icons/mob/clothing/species/skkulakin/under/procedure.dmi differ
diff --git a/icons/mob/clothing/species/skkulakin/under/rnd.dmi b/icons/mob/clothing/species/skkulakin/under/rnd.dmi
new file mode 100644
index 00000000000..2eceabe568a
Binary files /dev/null and b/icons/mob/clothing/species/skkulakin/under/rnd.dmi differ
diff --git a/icons/mob/clothing/species/skkulakin/under/security.dmi b/icons/mob/clothing/species/skkulakin/under/security.dmi
new file mode 100644
index 00000000000..264a8203904
Binary files /dev/null and b/icons/mob/clothing/species/skkulakin/under/security.dmi differ
diff --git a/icons/mob/clothing/species/skkulakin/under/suit.dmi b/icons/mob/clothing/species/skkulakin/under/suit.dmi
new file mode 100644
index 00000000000..44ed7d6794e
Binary files /dev/null and b/icons/mob/clothing/species/skkulakin/under/suit.dmi differ
diff --git a/icons/mob/clothing/species/skkulakin/under/syndicate.dmi b/icons/mob/clothing/species/skkulakin/under/syndicate.dmi
new file mode 100644
index 00000000000..03263f8a565
Binary files /dev/null and b/icons/mob/clothing/species/skkulakin/under/syndicate.dmi differ
diff --git a/icons/mob/clothing/species/skkulakin/underwear.dmi b/icons/mob/clothing/species/skkulakin/underwear.dmi
new file mode 100644
index 00000000000..080a759f8db
Binary files /dev/null and b/icons/mob/clothing/species/skkulakin/underwear.dmi differ
diff --git a/icons/mob/clothing/species/vox/under/misc.dmi b/icons/mob/clothing/species/vox/under/misc.dmi
index f5d080c5a2e..ca16f20b114 100644
Binary files a/icons/mob/clothing/species/vox/under/misc.dmi and b/icons/mob/clothing/species/vox/under/misc.dmi differ
diff --git a/icons/mob/human_face.dmi b/icons/mob/human_face.dmi
index 9b9dbc45a83..87009b16319 100644
Binary files a/icons/mob/human_face.dmi and b/icons/mob/human_face.dmi differ
diff --git a/icons/mob/human_races/skulk/r_skulkblack.dmi b/icons/mob/human_races/skulk/r_skulkblack.dmi
new file mode 100644
index 00000000000..a877d15f8eb
Binary files /dev/null and b/icons/mob/human_races/skulk/r_skulkblack.dmi differ
diff --git a/icons/mob/human_races/skulk/r_skulkblue.dmi b/icons/mob/human_races/skulk/r_skulkblue.dmi
new file mode 100644
index 00000000000..19b4e4b5385
Binary files /dev/null and b/icons/mob/human_races/skulk/r_skulkblue.dmi differ
diff --git a/icons/mob/human_races/skulk/r_skulkbrown.dmi b/icons/mob/human_races/skulk/r_skulkbrown.dmi
new file mode 100644
index 00000000000..b410b063965
Binary files /dev/null and b/icons/mob/human_races/skulk/r_skulkbrown.dmi differ
diff --git a/icons/mob/human_races/skulk/r_skulkgreen.dmi b/icons/mob/human_races/skulk/r_skulkgreen.dmi
new file mode 100644
index 00000000000..b49a2a6e2a7
Binary files /dev/null and b/icons/mob/human_races/skulk/r_skulkgreen.dmi differ
diff --git a/icons/mob/human_races/skulk/r_skulkred.dmi b/icons/mob/human_races/skulk/r_skulkred.dmi
new file mode 100644
index 00000000000..97c60ac4483
Binary files /dev/null and b/icons/mob/human_races/skulk/r_skulkred.dmi differ
diff --git a/icons/mob/human_races/skulk/r_skulkwhite.dmi b/icons/mob/human_races/skulk/r_skulkwhite.dmi
new file mode 100644
index 00000000000..79bc5e7ef5d
Binary files /dev/null and b/icons/mob/human_races/skulk/r_skulkwhite.dmi differ
diff --git a/icons/mob/inhands/flags_lefthand.dmi b/icons/mob/inhands/flags_lefthand.dmi
index 063b1c9798a..06174c826ff 100644
Binary files a/icons/mob/inhands/flags_lefthand.dmi and b/icons/mob/inhands/flags_lefthand.dmi differ
diff --git a/icons/mob/inhands/flags_righthand.dmi b/icons/mob/inhands/flags_righthand.dmi
index f1670942997..23511d29d7c 100644
Binary files a/icons/mob/inhands/flags_righthand.dmi and b/icons/mob/inhands/flags_righthand.dmi differ
diff --git a/icons/mob/sprite_accessories/skulk/skulk_body_markings.dmi b/icons/mob/sprite_accessories/skulk/skulk_body_markings.dmi
new file mode 100644
index 00000000000..ae843edb723
Binary files /dev/null and b/icons/mob/sprite_accessories/skulk/skulk_body_markings.dmi differ
diff --git a/icons/mob/sprite_accessories/skulk/skulk_hair.dmi b/icons/mob/sprite_accessories/skulk/skulk_hair.dmi
new file mode 100644
index 00000000000..55aa3371168
Binary files /dev/null and b/icons/mob/sprite_accessories/skulk/skulk_hair.dmi differ
diff --git a/icons/mob/sprite_accessories/skulk/skulk_spines.dmi b/icons/mob/sprite_accessories/skulk/skulk_spines.dmi
new file mode 100644
index 00000000000..0242067a1cc
Binary files /dev/null and b/icons/mob/sprite_accessories/skulk/skulk_spines.dmi differ
diff --git a/icons/obj/clothing/species/skkulakin/hats.dmi b/icons/obj/clothing/species/skkulakin/hats.dmi
new file mode 100644
index 00000000000..a71224a9792
Binary files /dev/null and b/icons/obj/clothing/species/skkulakin/hats.dmi differ
diff --git a/icons/obj/clothing/species/skkulakin/masks.dmi b/icons/obj/clothing/species/skkulakin/masks.dmi
new file mode 100644
index 00000000000..1d0093f2cb8
Binary files /dev/null and b/icons/obj/clothing/species/skkulakin/masks.dmi differ
diff --git a/icons/obj/clothing/species/skkulakin/suits.dmi b/icons/obj/clothing/species/skkulakin/suits.dmi
new file mode 100644
index 00000000000..0a4d06d56c9
Binary files /dev/null and b/icons/obj/clothing/species/skkulakin/suits.dmi differ
diff --git a/icons/obj/clothing/species/skkulakin/uniforms.dmi b/icons/obj/clothing/species/skkulakin/uniforms.dmi
new file mode 100644
index 00000000000..3d7acbcf913
Binary files /dev/null and b/icons/obj/clothing/species/skkulakin/uniforms.dmi differ
diff --git a/icons/obj/clothing/species/vox/uniforms.dmi b/icons/obj/clothing/species/vox/uniforms.dmi
index 1c1b77d0089..4bf1b92308d 100644
Binary files a/icons/obj/clothing/species/vox/uniforms.dmi and b/icons/obj/clothing/species/vox/uniforms.dmi differ
diff --git a/icons/obj/flag.dmi b/icons/obj/flag.dmi
index ac37ee5bd37..f8921c8d9a5 100644
Binary files a/icons/obj/flag.dmi and b/icons/obj/flag.dmi differ
diff --git a/icons/obj/species_organs/skulk.dmi b/icons/obj/species_organs/skulk.dmi
new file mode 100644
index 00000000000..4afa2899936
Binary files /dev/null and b/icons/obj/species_organs/skulk.dmi differ
diff --git a/icons/obj/stacks/organic.dmi b/icons/obj/stacks/organic.dmi
index 47306c90914..dee9ec03226 100644
Binary files a/icons/obj/stacks/organic.dmi and b/icons/obj/stacks/organic.dmi differ
diff --git a/interface/skin.dmf b/interface/skin.dmf
index e6b71a6cce2..15a4091d2dd 100644
--- a/interface/skin.dmf
+++ b/interface/skin.dmf
@@ -185,7 +185,7 @@ window "paramapwindow"
is-default = true
saved-params = "icon-size;zoom-mode"
zoom-mode = "distort"
- style = ".center { text-align: center; } .maptext { font-family: 'Small Fonts'; font-size: 7px; -dm-text-outline: 1px black; color: white; line-height: 1.1; } .small { font-size: 6px; } .big { font-size: 8px; } .reallybig { font-size: 8px; } .extremelybig { font-size: 8px; } .clown { color: #FF69Bf;} .tajaran {color: #803B56;} .skrell {color: #00CED1;} .solcom {color: #22228B;} .com_cygni {color: #7c4848;} .zombie\t{color: #7c4848;} .soghun {color: #228B22;} .vox {color: #AA00AA;} .diona {color: #804000; font-weight: bold;} .trinary {color: #727272;} .kidan {color: #664205;} .slime {color: #0077AA;} .moth{color: #869b29;} .drask {color: #a3d4eb;} .vulpkanin {color: #B97A57;} .abductor {color: #800080;} .his_grace { color: #15D512; } .hypnophrase { color: #0d0d0d; font-weight: bold; } .yell { font-weight: bold; }"
+ style = ".center { text-align: center; } .maptext { font-family: 'Small Fonts'; font-size: 7px; -dm-text-outline: 1px black; color: white; line-height: 1.1; } .small { font-size: 6px; } .big { font-size: 8px; } .reallybig { font-size: 8px; } .extremelybig { font-size: 8px; } .clown { color: #FF69Bf;} .tajaran {color: #803B56;} .skrell {color: #00CED1;} .solcom {color: #22228B;} .com_cygni {color: #7c4848;} .zombie\t{color: #7c4848;} .soghun {color: #228B22;} .vox {color: #AA00AA;} .diona {color: #804000; font-weight: bold;} .trinary {color: #727272;} .kidan {color: #664205;} .slime {color: #0077AA;} .moth{color: #869b29;} .skulk {color: #b178b1} .drask {color: #a3d4eb;} .vulpkanin {color: #B97A57;} .abductor {color: #800080;} .his_grace { color: #15D512; } .hypnophrase { color: #0d0d0d; font-weight: bold; } .yell { font-weight: bold; }"
on-show = ".winset \"menu.statusbar.is-checked=true?paramapwindow.status_bar.is-visible=true:paramapwindow.status_bar.is-visible=false\""
elem "status_bar"
type = LABEL
diff --git a/paradise.dme b/paradise.dme
index ee100f36ac9..b0cacd7be03 100644
--- a/paradise.dme
+++ b/paradise.dme
@@ -165,8 +165,8 @@
#include "code\__DEFINES\ai\ai_defines.dm"
#include "code\__DEFINES\ai\blackboard_defines.dm"
#include "code\__DEFINES\ai\changeling_giant_spider_ai_defines.dm"
-#include "code\__DEFINES\ai\monkey_ai_defines.dm"
#include "code\__DEFINES\ai\incursion_blackboard_defines.dm"
+#include "code\__DEFINES\ai\monkey_ai_defines.dm"
#include "code\__DEFINES\ai\swarmer_defines.dm"
#include "code\__DEFINES\dcs\ai_signals.dm"
#include "code\__DEFINES\dcs\area_signals.dm"
@@ -2687,6 +2687,7 @@
#include "code\modules\mob\living\carbon\human\species\shadow.dm"
#include "code\modules\mob\living\carbon\human\species\skeleton_species.dm"
#include "code\modules\mob\living\carbon\human\species\skrell.dm"
+#include "code\modules\mob\living\carbon\human\species\skulk.dm"
#include "code\modules\mob\living\carbon\human\species\slimepeople.dm"
#include "code\modules\mob\living\carbon\human\species\tajaran.dm"
#include "code\modules\mob\living\carbon\human\species\unathi.dm"
@@ -2860,6 +2861,8 @@
#include "code\modules\mob\new_player\sprite_accessories\skrell\skrell_body_markings.dm"
#include "code\modules\mob\new_player\sprite_accessories\skrell\skrell_face.dm"
#include "code\modules\mob\new_player\sprite_accessories\skrell\skrell_facial_hair.dm"
+#include "code\modules\mob\new_player\sprite_accessories\skulk\skulk_body_markings.dm"
+#include "code\modules\mob\new_player\sprite_accessories\skulk\skulk_hair.dm"
#include "code\modules\mob\new_player\sprite_accessories\tajaran\tajaran_body_markings.dm"
#include "code\modules\mob\new_player\sprite_accessories\tajaran\tajaran_facial_hair.dm"
#include "code\modules\mob\new_player\sprite_accessories\tajaran\tajaran_hair.dm"
@@ -3325,6 +3328,7 @@
#include "code\modules\surgery\organs\subtypes\moth_organs.dm"
#include "code\modules\surgery\organs\subtypes\plasmaman_organs.dm"
#include "code\modules\surgery\organs\subtypes\skrell_organs.dm"
+#include "code\modules\surgery\organs\subtypes\skulk_organs.dm"
#include "code\modules\surgery\organs\subtypes\standard_organs.dm"
#include "code\modules\surgery\organs\subtypes\tajaran_organs.dm"
#include "code\modules\surgery\organs\subtypes\unathi_organs.dm"
diff --git a/sound/effects/chitter.ogg b/sound/effects/chitter.ogg
new file mode 100644
index 00000000000..a4007bbf4e1
Binary files /dev/null and b/sound/effects/chitter.ogg differ
diff --git a/tgui/packages/tgui-panel/styles/tgchat/chat-default.scss b/tgui/packages/tgui-panel/styles/tgchat/chat-default.scss
index 1f2f2e45348..b70ff46ac41 100644
--- a/tgui/packages/tgui-panel/styles/tgchat/chat-default.scss
+++ b/tgui/packages/tgui-panel/styles/tgchat/chat-default.scss
@@ -650,6 +650,10 @@ h2.alert {
font-family: 'Copperplate';
}
+.skulk {
+ color: #b178b1;
+}
+
.clown {
color: #ff0000;
}
diff --git a/tgui/public/tgui-panel.bundle.css b/tgui/public/tgui-panel.bundle.css
index dc779e797cd..9f4a573a6ce 100644
--- a/tgui/public/tgui-panel.bundle.css
+++ b/tgui/public/tgui-panel.bundle.css
@@ -1 +1 @@
-:root{--color-base:#262626;--color-section:rgba(0,0,0,.33);--color-secondary:hsl(from var(--color-base)var(--secondary-hue)var(--secondary-saturation)calc(l + var(--secondary-lightness-adjustment)));--secondary-hue:h;--secondary-saturation:s;--secondary-lightness-adjustment:7.5;--base-gradient-spread:2;--color-base-start:hsl(from var(--color-base)h s calc(l + var(--base-gradient-spread)));--color-base-end:hsl(from var(--color-base)h s calc(l - var(--base-gradient-spread)));--color-scrollbar-base:var(--color-section);--color-scrollbar-thumb:hsl(from var(--color-base)h s calc(l + 9.25));--candystripe-odd:rgba(0,0,0,.25);--candystripe-even:transparent;--color-red:#d92626;--color-orange:#f26c0d;--color-yellow:#fcd203;--color-olive:#acc91d;--color-green:#1fad4e;--color-teal:#00b3b3;--color-blue:#2a79c8;--color-violet:#63c;--color-purple:#b333cc;--color-pink:#d9268e;--color-brown:#a96a3c;--color-gold:#f2a60d;--color-black:#000;--color-white:#fff;--color-grey:gray;--color-light-grey:#aaa;--color-gray:var(--color-grey);--color-light-gray:var(--color-light-grey);--color-action:gray;--color-hover:hsl(from var(--color-action)h s l/.25);--color-active:hsl(from var(--color-action)h s l/.3);--color-selected:hsl(from var(--color-action)h s l/.4);--primary-hue:210;--primary-saturation:37.5%;--primary-lightness:45%;--color-primary:hsl(var(--primary-hue),var(--primary-saturation),var(--primary-lightness));--color-good:#5ba626;--color-average:#f2890d;--color-bad:#dc2323;--color-label:hsl(from var(--color-primary)h 17.5 57.5);--color-text:var(--color-white);--color-text-translucent:hsl(from var(--color-text)h s l/.5);--color-text-translucent-light:hsl(from var(--color-text)h s l/.75);--color-text-fixed-white:var(--color-white);--color-text-fixed-black:var(--color-black);--color-hyperlink:#69f;--color-hyperlink-visited:#96f;--color-hyperlink-new:#f66;--color-hyperlink-new-visited:#ff8c66;--color-border:rgba(255,255,255,.1);--color-border-dark:rgba(0,0,0,.33);--border-primary-saturation:100;--border-primary-lightness:75;--border-primary-alpha:.75;--color-border-primary:hsl(from var(--color-primary)h var(--border-primary-saturation)var(--border-primary-lightness)/var(--border-primary-alpha));--color-border-secondary:hsl(from var(--color-border-primary)h s l/1);--font-size:12px;--font-family:Verdana,Geneva,sans-serif;--font-family-mono:Consolas,monospace;--border-thickness-unit:.5em;--border-thickness-tiny:calc(var(--border-thickness-unit)*.5*.34);--border-thickness-small:calc(var(--border-thickness-unit)*.34);--border-thickness-medium:calc(var(--border-thickness-unit)*.5);--border-thickness-large:calc(var(--border-thickness-unit)*.66);--border-thickness-larger:var(--border-thickness-unit);--border-radius-unit:1rem;--border-radius-tiny:calc(var(--border-radius-unit)*.25*.68);--border-radius-small:calc(var(--border-radius-unit)*.25);--border-radius-medium:calc(var(--border-radius-unit)*.33);--border-radius-large:calc(var(--border-radius-unit)*.5);--border-radius-larger:calc(var(--border-radius-unit)*.75);--border-radius-huge:var(--border-radius-unit);--border-radius-giant:calc(var(--border-radius-unit)*2);--border-radius-circular:99999px;--space-unit:1em;--space-xxs:calc(var(--space-unit)*.25*.34);--space-xs:calc(var(--space-unit)*.25*.68);--space-s:calc(var(--space-unit)*.25);--space-sm:calc(var(--space-unit)*.33);--space-m:calc(var(--space-unit)*.5);--space-ml:calc(var(--space-unit)*.66);--space-l:calc(var(--space-unit)*.75);--space-xl:var(--space-unit);--space-xxl:calc(var(--space-unit)*2);--transition-time-unit:1s;--transition-time-fast:calc(var(--transition-time-unit)*.1);--transition-time-medium:calc(var(--transition-time-unit)*.2);--transition-time-slow:calc(var(--transition-time-unit)*.5);--transition-time-slowest:var(--transition-time-unit);--shadow-unit:1rem;--shadow-glow-small:0 0 calc(var(--shadow-unit)*.5);--shadow-glow-medium:0 0 var(--shadow-unit);--shadow-glow-large:0 0 calc(var(--shadow-unit)*2);--blur-small:blur(6px);--blur-medium:blur(12px);--blur-large:blur(24px);--adjust-color:5;--adjust-hover:10;--adjust-active:7.5;--cursor-default:default;--cursor-pointer:pointer;--cursor-disabled:var(--cursor-default);--cursor-n-resize:n-resize;--cursor-s-resize:s-resize;--cursor-se-resize:se-resize;--cursor-e-resize:e-resize;--blockquote-color:hsl(from var(--color-label)h s calc(l + var(--adjust-color)));--blockquote-border:var(--border-thickness-small)solid;--button-height:1.667em;--button-color:var(--color-white);--button-color-transparent:var(--color-text-translucent);--button-background-default:var(--color-primary);--button-background-selected:var(--color-green);--button-background-caution:var(--color-yellow);--button-background-danger:var(--color-red);--button-background-disabled:var(--undefined);--button-disabled-opacity:.5;--button-border-radius:var(--border-radius-tiny);--button-transition:var(--transition-time-medium);--button-transition-timing:ease;--dialog-background:hsl(from var(--color-section)h s l/.5);--dimmer-background-opacity:.75;--dimmer-background:hsl(from var(--color-base)h s 5/var(--dimmer-background-opacity));--divider-color:var(--color-border);--divider-border:var(--border-thickness-small)solid var(--divider-color);--dropdown-transition:var(--transition-time-medium);--dropdown-menu-color:var(--color-text);--dropdown-menu-background:hsl(from var(--color-base)h s calc(l - 5.5)/.85);--dropdown-menu-border:var(--border-thickness-tiny)solid var(--color-border);--dropdown-menu-border-radius:var(--border-radius-large);--dropdown-menu-blur:var(--blur-medium);--dropdown-entry-background-hover:var(--color-hover);--dropdown-entry-background-active:var(--color-active);--dropdown-entry-background-selected:var(--color-selected);--dropdown-entry-border-radius:var(--border-radius-small);--dropdown-entry-transition:var(--transition-time-fast);--floating-transition-time:var(--transition-time-medium);--floating-transition-timing:ease;--tab-background:transparent;--tab-background-hover:hsl(from var(--color-hover)h s calc(l*.75));--tab-background-selected:hsl(from var(--color-selected)h s calc(l*.75));--tab-color:var(--color-text-translucent);--tab-color-selected:hsl(from var(--color-primary)h s 90);--tab-border-radius:var(--border-radius-small);--tab-indicator-size:var(--border-thickness-small);--tab-transition:var(--transition-time-medium);--tabs-container-background:var(--color-section);--imagebutton-transparecy:.25;--input-background-lightness:5;--input-background:hsl(from var(--color-base)h s var(--input-background-lightness));--input-color:var(--color-text);--input-color-placeholder:var(--color-text-translucent);--input-border-color:var(--color-border-primary);--input-border-color-focus:var(--color-border-secondary);--input-border-radius:var(--border-radius-tiny);--input-border-disabled:var(--color-gray);--input-transition:var(--transition-time-medium);--input-font-family:var(--font-family);--input-font-family-mono:var(--font-family-mono);--input-width:9em;--knob-color:hsl(from var(--color-base)h 5 20);--knob-ring-color:var(--input-border-color);--knob-popup-background:var(--tooltip-background);--knob-popup-color:var(--tooltip-color);--knob-popup-border-radius:var(--tooltip-border-radius);--knob-popup-blur:var(--tooltip-blur);--knob-inner-padding:var(--space-xs);--menu-bar-background:var(--color-base);--menu-bar-font-family:var(--font-family);--menu-bar-transition:var(--transition-time-medium);--modal-background:var(--color-base);--modal-padding:var(--space-xl);--notice-box-stripes:rgba(0,0,0,.1);--notice-box-background:#cea257;--notice-box-color:var(--color-text-fixed-white);--number-input-background:var(--input-background);--number-input-color:var(--input-color);--number-input-border-color:var(--input-border-color);--number-input-border-color-active:var(--input-border-color-focus);--number-input-border-radius:var(--input-border-radius);--number-input-transition:var(--input-transition);--progress-bar-fill:var(--color-primary);--progress-bar-background:transparent;--progress-bar-border-radius:var(--border-radius-tiny);--progress-bar-transition:var(--transition-time-slowest);--restricted-input-border-color:var(--color-good);--restricted-input-border-color-focus:hsl(from var(--color-good)h s calc(l + 10));--restricted-input-border-color-invalid:var(--color-bad);--round-gauge-ring-color:var(--input-border-color);--round-gauge-transition:var(--transition-time-medium);--round-gauge-alert-animation:var(--transition-time-slowest);--round-gauge-needle-alert-animation:var(--transition-time-fast);--round-gauge-needle-alert-rotation:2.5deg;--section-title-color:var(--color-text);--section-background:var(--color-section);--section-separator-color:var(--color-primary);--section-separator-thickness:var(--border-thickness-small);--slider-cursor-color:var(--color-text);--slider-popup-background:var(--tooltip-background);--slider-popup-color:var(--tooltip-color);--slider-popup-border-radius:var(--tooltip-border-radius);--slider-popup-blur:var(--tooltip-blur);--tooltip-color:var(--color-text);--tooltip-background-lightness:5;--tooltip-background:hsl(from var(--color-base)h s var(--tooltip-background-lightness)/.85);--tooltip-border-radius:var(--border-radius-medium);--tooltip-blur:var(--blur-medium)}body{font-family:var(--font-family,Verdana,Geneva,sans-serif);position:relative;overflow:auto}.BlockQuote{color:var(--blockquote-color);border-left:var(--blockquote-border);padding-left:var(--space-m);margin-bottom:var(--space-m)}.BlockQuote:last-child{margin-bottom:0}.Button--color--grey,.Button--color--gray{--color:var(--color-grey)}.Button--color--light-grey,.Button--color--light-gray{--color:var(--color-light-grey)}.ColorBox{text-align:center;width:1em;height:1em;line-height:1em;display:inline-block}.Dialog{background-color:var(--dialog-background);justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.Dialog__content{font-family:var(--font-family-mono);background-color:var(--color-base);flex-direction:column;font-size:1.16667em;display:flex}.Dialog__header{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:var(--dialog-background);height:2em;line-height:1.928em;display:flex}.Dialog__title{margin-left:var(--space-xl);margin-right:var(--space-xxl);opacity:.33;flex-grow:1;font-style:italic;display:inline}.Dialog__body{margin:var(--space-xxl)var(--space-xl);flex-grow:1}.Dialog__footer{padding:var(--space-xl);background-color:hsl(from var(--dialog-background)h s l/.25);flex-direction:row;justify-content:flex-end;display:flex}.Dialog__button{margin:0 var(--space-xl);text-align:center;min-width:6rem;height:2rem}.SaveAsDialog__inputs{padding-left:var(--space-xxl);margin-right:var(--space-xl);flex-direction:row;justify-content:flex-end;align-items:center;display:flex}.SaveAsDialog__input{margin-left:var(--space-xl);width:80%}.SaveAsDialog__label{vertical-align:center}.Dialog__FileList{flex-wrap:wrap;flex-grow:1;align-content:flex-start;max-height:20rem;display:flex;position:relative;overflow-x:auto;overflow-y:scroll}.Dialog__FileEntry{text-align:center;margin:var(--space-xl)}.Dialog__FileIcon{cursor:default;text-align:center;width:6vh;height:auto;margin:0 0 var(--space-xl)0;display:inline-block;position:relative}.Dimmer{background-color:var(--dimmer-background);z-index:100;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.Divider--horizontal{margin:var(--space-m)0}.Divider--horizontal:not(.Divider--hidden){border-top:var(--divider-border)}.Divider--vertical{height:100%;margin:0 var(--space-m)}.Divider--vertical:not(.Divider--hidden){border-left:var(--divider-border)}.Button{white-space:nowrap;line-height:var(--button-height);padding:0 var(--space-m);margin-right:var(--space-xs);margin-bottom:var(--space-xs);border-radius:var(--button-border-radius);--button-background:hsl(from var(--color)h s calc(l - var(--adjust-color)));cursor:var(--cursor-pointer);background-color:var(--button-background);color:var(--button-color);transition-property:background-color,color,opacity;transition-duration:var(--button-transition);transition-timing-function:var(--button-transition-timing);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;outline:none;display:inline-block;position:relative}.Button:hover{background-color:hsl(from var(--button-background)h s calc(l + var(--adjust-hover)));color:var(--button-color)}.Button:active{background-color:hsl(from var(--button-background)h s calc(l - var(--adjust-active)));color:var(--button-color);transition:none}.Button:last-child{margin-bottom:0;margin-right:0}.Button__content{align-self:stretch;display:block}.Button__content--ellipsis{align-items:center;display:flex}.Button .Button--icon{text-align:center;min-width:1.333em}.Button.Button--hasIcon{padding-left:0}.Button.Button--hasIcon .Button--icon{margin:0 var(--space-s)}.Button--icon-right.Button--hasIcon{padding-left:var(--space-m);padding-right:var(--space-s)}.Button--icon-right.Button--hasIcon .Button--icon{margin:0 0 0 var(--space-s)}.Button--empty.Button--hasIcon{padding:0}.Button--compact{padding:0 var(--space-s);line-height:1.333em}.Button--compact.Button--hasIcon .Button--icon{margin:0 var(--space-xxs)}.Button--circular{border-radius:var(--border-radius-circular)}.Button--fluid{margin-left:0;margin-right:0;display:block}.Button--ellipsis{text-overflow:ellipsis;margin-right:calc(-1*var(--space-s));display:block;overflow:hidden}.Stack>.Button,.Stack__item>.Button{margin:0}.Button--color--red{--color:var(--color-red)}.Button--color--orange{--color:var(--color-orange)}.Button--color--yellow{--color:var(--color-yellow);--button-color:var(--color-black)}.Button--color--olive{--color:var(--color-olive)}.Button--color--green{--color:var(--color-green)}.Button--color--teal{--color:var(--color-teal)}.Button--color--blue{--color:var(--color-blue)}.Button--color--violet{--color:var(--color-violet)}.Button--color--purple{--color:var(--color-purple)}.Button--color--pink{--color:var(--color-pink)}.Button--color--brown{--color:var(--color-brown)}.Button--color--gold{--color:var(--color-gold)}.Button--color--black{--color:var(--color-black)}.Button--color--white{--color:var(--color-white);--button-color:var(--color-black)}.Button--color--grey,.Button--color--gray{--color:var(--color-grey)}.Button--color--light-grey,.Button--color--light-gray{--color:var(--color-light-grey)}.Button--color--primary{--color:var(--color-primary)}.Button--color--good{--color:var(--color-good)}.Button--color--average{--color:var(--color-average)}.Button--color--bad{--color:var(--color-bad)}.Button--color--label{--color:var(--color-label)}.Button--color--default{--color:var(--button-background-default)}.Button--color--caution{--color:var(--button-background-caution)}.Button--color--danger{--color:var(--button-background-danger)}.Button--color--transparent{--button-background:hsl(from var(--button-color)h s l/.1);--button-color:var(--button-color-transparent);background-color:transparent}.Button--color--transparent:hover{--button-color:hsl(from var(--button-color-transparent)h s l/1)}.Button--color--transparent:active{opacity:.75}.Button--color--transparent.Button--selected{--button-color:hsl(from var(--color)h s calc(l + var(--adjust-color)))}.Button--color--transparent.Button--disabled{--button-background:hsl(from var(--button-color)h s l/.2);--button-color:var(--color-bad);opacity:1;color:var(--button-color)!important}.Button--disabled{opacity:var(--button-disabled-opacity);cursor:var(--cursor-disabled)!important;background-color:var(--button-background-disabled,var(--button-background))!important}.Button--selected{--color:var(--button-background-selected)!important}.Button--flex{flex-direction:column;display:inline-flex}.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}.Dropdown{align-items:stretch;gap:var(--space-s);margin-right:var(--space-xs);margin-bottom:var(--space-xs);display:flex}.Dropdown:last-child{margin-bottom:0;margin-right:0}.Dropdown .Button{align-content:center;margin:0}.Dropdown--fluid{flex:1;width:100%}.Dropdown__control{font-family:var(--font-family);border-radius:var(--button-border-radius);--button-background:hsl(from var(--color)h s calc(l - var(--adjust-color)));height:1.83333em;cursor:var(--cursor-pointer);background-color:var(--button-background);color:var(--button-color);transition-property:background-color,color,opacity;transition-duration:var(--button-transition);transition-timing-function:var(--button-transition-timing);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;flex:1;font-size:1em;line-height:1.33333em;display:flex;overflow:hidden}.Dropdown__control:hover{background-color:hsl(from var(--button-background)h s calc(l + var(--adjust-hover)));color:var(--button-color)}.Dropdown__control:active{background-color:hsl(from var(--button-background)h s calc(l - var(--adjust-active)));color:var(--button-color);transition:none}.Dropdown__selected-text{text-overflow:ellipsis;white-space:nowrap;height:100%;padding:var(--space-s)var(--space-m);border-right:var(--border-thickness-tiny)solid var(--color-border-dark);flex:1;align-content:center;display:inline-block;overflow:hidden}.Dropdown__icon{text-align:center;width:1.83333em;height:100%;transition:transform var(--dropdown-transition);align-content:center;display:inline-block}.Dropdown__icon--arrow.open:not(.over),.Dropdown__icon--arrow.over:not(.open){transform:rotate(180deg)}.Dropdown__icon~.Dropdown__selected-text{padding-left:0}.Dropdown__menu{scrollbar-width:thin;scrollbar-color:var(--color-scrollbar-thumb)transparent;max-height:16.6667em;padding:var(--space-sm);overflow-y:auto}.Dropdown__menu--wrapper{background-color:var(--dropdown-menu-background);color:var(--dropdown-menu-color);border:var(--dropdown-menu-border);border-radius:var(--dropdown-menu-border-radius);-webkit-backdrop-filter:var(--dropdown-menu-blur);backdrop-filter:var(--dropdown-menu-blur);overflow:hidden}.Dropdown__menu--entry{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;font-family:var(--font-family);padding:var(--space-xs)var(--space-m);border-radius:var(--dropdown-entry-border-radius);transition:background-color var(--dropdown-entry-transition);font-size:1em;line-height:1.33333em;overflow:hidden}.Dropdown__menu--entry.selected{transition-duration:0s;background-color:var(--dropdown-entry-background-selected)!important}.Dropdown__menu--entry:not(.selected){cursor:var(--cursor-pointer)}.Dropdown__menu--entry:not(.selected):hover{background-color:var(--dropdown-entry-background-hover);transition-duration:0s}.Dropdown__menu--entry:not(.selected):active{background-color:var(--dropdown-entry-background-active);transition-duration:0s}.Dropdown__control--icon-only{justify-content:center;align-items:center;max-width:2rem;display:flex}.Flex{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}.Floating{z-index:5}.Floating--animated[data-transition=open]{opacity:1;transform:scale(1)}.Floating--animated[data-transition=close],.Floating--animated[data-transition=initial]{opacity:0;transform:scale(.9)}.Floating--animated[data-transition=open],.Floating--animated[data-transition=close]{transition-duration:var(--floating-transition-time);transition-timing-function:var(--floating-transition-timing);transition-property:opacity,transform}.Floating[data-position=top]{transform-origin:bottom}.Floating[data-position=top-start],.Floating[data-position=right-end]{transform-origin:0 100%}.Floating[data-position=top-end],.Floating[data-position=left-end]{transform-origin:100% 100%}.Floating[data-position=bottom]{transform-origin:top}.Floating[data-position=bottom-start],.Floating[data-position=right-start]{transform-origin:0 0}.Floating[data-position=bottom-end],.Floating[data-position=left-start]{transform-origin:100% 0}.Floating[data-position=right]{transform-origin:0}.Floating[data-position=left]{transform-origin:100%}.IconStack{justify-content:center;align-items:center;display:inline-flex;position:relative}.IconStack .Icon:before{vertical-align:middle}.IconStack .Icon:not(:first-child){position:absolute}.ImageButton{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-align:center;background-color:hsl(from var(--imagebutton-color)h s calc(l - var(--adjust-color)*2)/var(--imagebutton-transparecy));border:var(--border-thickness-tiny)solid hsl(from var(--imagebutton-color)h s calc(l + var(--adjust-color))/var(--imagebutton-transparecy));border-radius:var(--border-radius-medium);transition-property:background-color,border-color,box-shadow;transition-duration:var(--transition-time-medium);border-width:0;margin:.25em;display:inline-flex;position:relative;overflow:hidden}.ImageButton:not(:-webkit-any(.ImageButton--disabled,.ImageButton--noAction)) .ImageButton__container{cursor:var(--cursor-pointer)}.ImageButton:not(:-moz-any(.ImageButton--disabled,.ImageButton--noAction)) .ImageButton__container{cursor:var(--cursor-pointer)}.ImageButton:not(:is(.ImageButton--disabled,.ImageButton--noAction)) .ImageButton__container{cursor:var(--cursor-pointer)}.ImageButton:not(:-webkit-any(.ImageButton--disabled,.ImageButton--noAction)):not(:-webkit-any(:has(.ImageButton__buttons:hover),:has(.ImageButton__buttons:active))):hover{background-color:hsl(from var(--imagebutton-color)h s calc(l - var(--adjust-color) + var(--adjust-hover))/var(--imagebutton-transparecy))}.ImageButton:not(:-moz-any(.ImageButton--disabled,.ImageButton--noAction)):not(:-moz-any(:has(.ImageButton__buttons:hover),:has(.ImageButton__buttons:active))):hover{background-color:hsl(from var(--imagebutton-color)h s calc(l - var(--adjust-color) + var(--adjust-hover))/var(--imagebutton-transparecy))}.ImageButton:not(:is(.ImageButton--disabled,.ImageButton--noAction)):not(:is(:has(.ImageButton__buttons:hover),:has(.ImageButton__buttons:active))):hover{background-color:hsl(from var(--imagebutton-color)h s calc(l - var(--adjust-color) + var(--adjust-hover))/var(--imagebutton-transparecy))}.ImageButton:not(:-webkit-any(.ImageButton--disabled,.ImageButton--noAction)):not(:-webkit-any(:has(.ImageButton__buttons:hover),:has(.ImageButton__buttons:active))):active .ImageButton__image{-webkit-filter:drop-shadow(var(--shadow-glow-small)var(--imagebutton-color));filter:drop-shadow(var(--shadow-glow-small)var(--imagebutton-color));transition-duration:0s}.ImageButton:not(:-moz-any(.ImageButton--disabled,.ImageButton--noAction)):not(:-moz-any(:has(.ImageButton__buttons:hover),:has(.ImageButton__buttons:active))):active .ImageButton__image{-webkit-filter:drop-shadow(var(--shadow-glow-small)var(--imagebutton-color));filter:drop-shadow(var(--shadow-glow-small)var(--imagebutton-color));transition-duration:0s}.ImageButton:not(:is(.ImageButton--disabled,.ImageButton--noAction)):not(:is(:has(.ImageButton__buttons:hover),:has(.ImageButton__buttons:active))):active .ImageButton__image{-webkit-filter:drop-shadow(var(--shadow-glow-small)var(--imagebutton-color));filter:drop-shadow(var(--shadow-glow-small)var(--imagebutton-color));transition-duration:0s}.ImageButton:not(.ImageButton--fluid) .ImageButton__content{background-color:hsl(from var(--imagebutton-color)h s calc(l - var(--adjust-hover)));border-top:var(--border-thickness-tiny)solid var(--imagebutton-color)}.ImageButton__container{border-color:inherit;transition:opacity var(--transition-time-medium);flex-direction:column;display:flex}.ImageButton__image{pointer-events:none;padding:var(--space-s);border:var(--border-thickness-tiny)solid;border-bottom:none;border-color:inherit;border-radius:var(--border-radius-medium)var(--border-radius-medium)0 0;transition:filter var(--transition-time-slow);align-self:center;line-height:0;position:relative;overflow:hidden}.ImageButton__image--fallback{text-align:center;color:var(--color-text-translucent);align-content:center}.ImageButton__image--fallback:before{zoom:.75;width:100%;display:table}.ImageButton__content{white-space:nowrap;text-overflow:ellipsis;color:var(--color-text-fixed-white);z-index:2;padding:.25em .33em;overflow:hidden}.ImageButton__buttons{left:var(--border-thickness-tiny);z-index:1;max-width:100%;display:flex;position:absolute;bottom:1.8em;overflow:hidden}.ImageButton__buttons--alt{pointer-events:none;top:var(--border-thickness-tiny);text-shadow:0px 1px 2px var(--color-base),-1px 0px 2px var(--color-base),1px 0px 2px var(--color-base),0px -1px 2px var(--color-base);flex-direction:column;overflow:visible;bottom:unset!important}.ImageButton__buttons--empty{bottom:0;left:0}.ImageButton__buttons>*{border-radius:0!important;margin:0!important;padding:0!important}.ImageButton--empty{border-width:var(--border-thickness-tiny)}.ImageButton--empty .ImageButton__image{border-radius:var(--border-radius-medium);border:none}.Stack>.ImageButton,.Stack__item>.ImageButton{margin:0}.ImageButton--fluid{border-width:var(--border-thickness-tiny);flex-direction:row;margin:0 0 .33em;display:flex}.ImageButton--fluid:last-child{margin-bottom:0}.ImageButton--fluid .ImageButton__container{flex-direction:row;flex:1}.ImageButton--fluid .ImageButton__image{border:0;margin:0 auto;padding:0}.ImageButton--fluid .ImageButton__content{white-space:normal;color:var(--color-text);flex-direction:column;flex:1;justify-content:center;margin:0 .5em;padding:0;display:flex}.ImageButton--fluid .ImageButton__content--title{padding:.5em;font-weight:700}.ImageButton--fluid .ImageButton__content--divider{border-bottom:var(--border-thickness-small)solid var(--color-border)}.ImageButton--fluid .ImageButton__content--text{padding:.5em}.ImageButton--fluid .ImageButton__buttons{left:inherit;bottom:inherit;background-color:inherit;position:relative}.ImageButton--fluid .ImageButton__buttons--alt{pointer-events:all;top:inherit;text-shadow:none}.ImageButton--fluid .ImageButton__buttons--alt>*{border-top:1px solid rgba(255,255,255,.075)}.ImageButton--fluid .ImageButton__buttons--alt>:first-child{border-top:0}.ImageButton--fluid .ImageButton__buttons>*{text-align:center;white-space:pre-wrap;border-left:var(--border-thickness-tiny)solid var(--color-border);flex-direction:column;justify-content:center;height:100%;line-height:1.15em;display:inline-flex}.ImageButton__color--red{--imagebutton-color:var(--color-red)}.ImageButton__color--orange{--imagebutton-color:var(--color-orange)}.ImageButton__color--yellow{--imagebutton-color:var(--color-yellow);--color-text-fixed-white:var(--color-black)}.ImageButton__color--olive{--imagebutton-color:var(--color-olive)}.ImageButton__color--green{--imagebutton-color:var(--color-green)}.ImageButton__color--teal{--imagebutton-color:var(--color-teal)}.ImageButton__color--blue{--imagebutton-color:var(--color-blue)}.ImageButton__color--violet{--imagebutton-color:var(--color-violet)}.ImageButton__color--purple{--imagebutton-color:var(--color-purple)}.ImageButton__color--pink{--imagebutton-color:var(--color-pink)}.ImageButton__color--brown{--imagebutton-color:var(--color-brown)}.ImageButton__color--gold{--imagebutton-color:var(--color-gold)}.ImageButton__color--black{--imagebutton-color:var(--color-black)}.ImageButton__color--white{--imagebutton-color:var(--color-white);--color-text-fixed-white:var(--color-black)}.ImageButton__color--grey,.ImageButton__color--gray{--imagebutton-color:var(--color-grey)}.ImageButton__color--light-grey,.ImageButton__color--light-gray{--imagebutton-color:var(--color-light-grey)}.ImageButton__color--good{--imagebutton-color:var(--color-good)}.ImageButton__color--average{--imagebutton-color:var(--color-average)}.ImageButton__color--bad{--imagebutton-color:var(--color-bad)}.ImageButton__color--label{--imagebutton-color:var(--color-label)}.ImageButton__color--transparent{--imagebutton-color:var(--color-text-translucent-light);--imagebutton-transparecy:.1;background-color:transparent;border-color:transparent!important}.ImageButton__color--transparent .ImageButton__content{color:var(--color-text-translucent-light);background-color:transparent!important;border-color:transparent!important}.ImageButton__color--transparent.ImageButton--disabled{background-color:hsL(from var(--color-red)h s l/.15)!important}.ImageButton__color--transparent.ImageButton--selected{background-color:hsL(from var(--color-good)h s l/.15)}.ImageButton__color--default{--imagebutton-color:hsl(from var(--color-base)h s 30)}.ImageButton__color--primary{--imagebutton-color:hsl(from var(--color-primary)h s l)}.ImageButton--selected{--imagebutton-color:hsl(from var(--button-background-selected)h s calc(l*1.15));--color-text-fixed-white:var(--color-white)}.ImageButton--disabled .ImageButton__container{cursor:var(--cursor-disabled);opacity:.5}.ImageButton--disabled.ImageButton--fluid{-webkit-filter:contrast(75%);filter:contrast(75%)}.ImageButton--disabled.ImageButton--fluid .ImageButton__buttons{-webkit-filter:contrast(125%);filter:contrast(125%)}.Input{background-color:var(--input-background);border-radius:var(--input-border-radius);border:var(--border-thickness-tiny)solid var(--input-border-color);color:var(--input-color);font-size:1em;font-family:var(--input-font-family);padding:var(--space-xxs)var(--space-sm);width:var(--input-width)}.Input:focus{outline:none}.Input:focus-within{border-color:var(--input-border-color-focus)}.Input::-webkit-input-placeholder{color:var(--input-color-placeholder);font-style:italic}.Input::-ms-input-placeholder{color:var(--input-color-placeholder);font-style:italic}.Input::placeholder{color:var(--input-color-placeholder);font-style:italic}.Input--disabled{border-color:var(--input-border-disabled);color:var(--input-color-placeholder)}.Input--fluid{width:100%}.Input--monospace{font-family:var(--input-font-family-mono)}.Knob{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:var(--cursor-n-resize);width:2.6em;height:2.6em;margin:0 auto -.2em;font-size:1rem;position:relative}.Knob:after{content:".";color:transparent;line-height:2.5em}.Knob__circle{inset:var(--knob-inner-padding);background-color:var(--knob-color);background-image:linear-gradient(to bottom,hsl(from var(--knob-color)h s calc(l + 15))0%,var(--knob-color)100%);border-radius:var(--border-radius-circular);box-shadow:var(--shadow-glow-medium)hsl(from var(--knob-color)h s l/.25);margin:.3em;position:absolute}.Knob__cursorBox{position:absolute;top:0;bottom:0;left:0;right:0}.Knob__cursor{background-color:hsl(from var(--knob-color)h s 85);width:.2em;height:.8em;margin:0 auto;position:relative;top:.05em}.Knob__popupValue{white-space:nowrap;text-align:center;padding:var(--space-s)var(--space-m);background-color:var(--knob-popup-background);color:var(--knob-popup-color);border-radius:var(--knob-popup-border-radius);-webkit-backdrop-filter:var(--knob-popup-blur);backdrop-filter:var(--knob-popup-blur);font-size:1rem;position:absolute;top:0;left:50%;transform:translateY(-100%)translate(-50%)}.Knob__ring{padding:var(--knob-inner-padding);position:absolute;top:0;bottom:0;left:0;right:0;overflow:visible}.Knob__ringTrackPivot{transform:rotate(135deg)}.Knob__ringTrack{fill:transparent;stroke:hsl(from var(--ring-color,var(--knob-ring-color))h s l/.15);stroke-width:8px;stroke-linecap:round;stroke-dasharray:235.62}.Knob__ringFillPivot{transform:rotate(135deg)}.Knob--bipolar .Knob__ringFillPivot{transform:rotate(270deg)}.Knob__ringFill{fill:transparent;stroke:var(--ring-color,var(--knob-ring-color));stroke-width:8px;stroke-linecap:round;stroke-dasharray:314.16;transition:stroke var(--transition-time-medium)ease-out}.Knob--color--red{--ring-color:var(--color-red)}.Knob--color--orange{--ring-color:var(--color-orange)}.Knob--color--yellow{--ring-color:var(--color-yellow)}.Knob--color--olive{--ring-color:var(--color-olive)}.Knob--color--green{--ring-color:var(--color-green)}.Knob--color--teal{--ring-color:var(--color-teal)}.Knob--color--blue{--ring-color:var(--color-blue)}.Knob--color--violet{--ring-color:var(--color-violet)}.Knob--color--purple{--ring-color:var(--color-purple)}.Knob--color--pink{--ring-color:var(--color-pink)}.Knob--color--brown{--ring-color:var(--color-brown)}.Knob--color--gold{--ring-color:var(--color-gold)}.Knob--color--black{--ring-color:var(--color-black)}.Knob--color--white{--ring-color:var(--color-white)}.Knob--color--grey,.Knob--color--gray{--ring-color:var(--color-grey)}.Knob--color--light-grey,.Knob--color--light-gray{--ring-color:var(--color-light-grey)}.Knob--color--primary{--ring-color:var(--color-primary)}.Knob--color--good{--ring-color:var(--color-good)}.Knob--color--average{--ring-color:var(--color-average)}.Knob--color--bad{--ring-color:var(--color-bad)}.Knob--color--label{--ring-color:var(--color-label)}.LabeledList{border-collapse:collapse;border-spacing:0;width:calc(100% + 1em);margin:calc(-1*var(--space-s))calc(-1*var(--space-m))0;padding:0;display:table}.LabeledList__row{display:table-row}.LabeledList__row:last-child .LabeledList__cell{padding-bottom:0}.LabeledList__cell{padding:var(--space-s)var(--space-m);text-align:left;border:0;margin:0;display:table-cell}.LabeledList__label--nowrap{white-space:nowrap;width:1%;min-width:5em}.LabeledList__buttons{white-space:nowrap;text-align:right;width:.1%;padding-top:var(--space-xxs);padding-bottom:0}.LabeledList__breakContents{word-break:break-all;word-wrap:break-word}.MenuBar{display:flex}.MenuBar__font{font-family:var(--menu-bar-font-family);font-size:1em;line-height:1.41667em}.MenuBar__hover:hover{background-color:hsl(from var(--menu-bar-background)h s calc(l + 20));transition:background-color}.MenuBar__MenuBarButton{padding:var(--space-s)var(--space-m)}.MenuBar__menu{background-color:var(--menu-bar-background);padding:var(--space-sm);z-index:5;position:absolute;box-shadow:4px 6px 5px -2px rgba(0,0,0,.5)}.MenuBar__MenuItem{transition:background-color var(--menu-bar-transition)ease-out;background-color:var(--menu-bar-background);white-space:nowrap;padding:var(--space-sm)var(--space-xl)var(--space-sm)calc(var(--space-xxl) + 1rem)}.MenuBar__MenuItemToggle{padding:var(--space-sm)var(--space-xl)var(--space-sm)0}.MenuBar__MenuItemToggle__check{vertical-align:middle;text-align:center;min-width:2.5rem;padding-left:var(--space-sm);display:inline-block}.MenuBar__over{top:auto;bottom:100%}.MenuBar__MenuBarButton-text{text-overflow:clip;white-space:nowrap;height:1.41667em}.MenuBar__Separator{margin:var(--space-sm);border-top:var(--border-thickness-tiny)solid var(--color-border);display:block}.Modal{background-color:var(--modal-background);padding:var(--modal-padding)}.Modal__dimmer .Dimmer__inner{max-width:calc(100vw - var(--space-xxl));max-height:calc(100vh - var(--space-xxl))}.NoticeBox{--noticebox-background:var(--notice-box-background);padding:var(--space-sm)var(--space-m);margin-bottom:var(--space-m);background-color:oklch(from var(--noticebox-background)calc(l*.825)calc(c*.75)h);background-image:repeating-linear-gradient(-45deg,transparent 0 .833333em,var(--notice-box-stripes).833333em 1.66667em);color:var(--notice-box-color);font-style:italic;font-weight:700}.NoticeBox--color--red{--noticebox-background:var(--color-red)}.NoticeBox--color--orange{--noticebox-background:var(--color-orange)}.NoticeBox--color--yellow{--noticebox-background:var(--color-yellow);--notice-box-color:var(--color-black)}.NoticeBox--color--olive{--noticebox-background:var(--color-olive)}.NoticeBox--color--green{--noticebox-background:var(--color-green)}.NoticeBox--color--teal{--noticebox-background:var(--color-teal)}.NoticeBox--color--blue{--noticebox-background:var(--color-blue)}.NoticeBox--color--violet{--noticebox-background:var(--color-violet)}.NoticeBox--color--purple{--noticebox-background:var(--color-purple)}.NoticeBox--color--pink{--noticebox-background:var(--color-pink)}.NoticeBox--color--brown{--noticebox-background:var(--color-brown)}.NoticeBox--color--gold{--noticebox-background:var(--color-gold)}.NoticeBox--color--black{--noticebox-background:var(--color-black);--notice-box-stripes:rgba(255,255,255,.1)}.NoticeBox--color--white{--noticebox-background:var(--color-white);--notice-box-color:var(--color-black)}.NoticeBox--color--grey,.NoticeBox--color--gray{--noticebox-background:var(--color-grey)}.NoticeBox--color--light-grey,.NoticeBox--color--light-gray{--noticebox-background:var(--color-light-grey)}.NoticeBox--color--primary{--noticebox-background:var(--color-primary)}.NoticeBox--color--good{--noticebox-background:var(--color-good)}.NoticeBox--color--average{--noticebox-background:var(--color-average)}.NoticeBox--color--bad{--noticebox-background:var(--color-bad)}.NoticeBox--color--label{--noticebox-background:var(--color-label)}.NoticeBox--type--info{--noticebox-background:var(--color-blue)}.NoticeBox--type--success{--noticebox-background:var(--color-green)}.NoticeBox--type--warning{--noticebox-background:var(--color-orange)}.NoticeBox--type--danger{--noticebox-background:var(--color-red)}.NumberInput{cursor:var(--cursor-n-resize);text-align:right;padding:0 var(--space-sm);margin-right:var(--space-xs);background-color:var(--number-input-background);color:var(--number-input-border-color-active);border:var(--border-thickness-tiny)solid var(--number-input-border-color);border-radius:var(--number-input-border-radius);transition:border-color var(--number-input-transition);line-height:1.41667em;display:inline-block;position:relative;overflow:visible}.NumberInput:active{border-color:var(--number-input-border-color-active)}.NumberInput--fluid{display:block}.NumberInput__content{margin-left:var(--space-m)}.NumberInput__barContainer{top:var(--space-xs);bottom:var(--space-xs);left:var(--space-xs);position:absolute}.NumberInput__bar{box-sizing:border-box;border-bottom:var(--border-thickness-tiny)solid var(--number-input-border-color-active);background-color:var(--number-input-border-color-active);width:.25em;position:absolute;bottom:0;left:0}.NumberInput__input{text-align:right;width:100%;height:1.41667em;padding:0 var(--space-m);font-size:1em;line-height:1.41667em;font-family:var(--font-family);background-color:var(--number-input-background);color:var(--number-input-color);border:0;outline:0;margin:0;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.ProgressBar{width:100%;min-height:var(--button-height);padding:0 var(--space-m);background-color:var(--progress-bar-background);border:var(--border-thickness-tiny)solid var(--progress-bar-color);border-radius:var(--progress-bar-border-radius);transition:border-color var(--progress-bar-transition)ease-out;align-content:center;display:inline-block;position:relative}.ProgressBar__fill{background-color:var(--progress-bar-color);position:absolute;top:0;bottom:0;left:0;right:0}.ProgressBar__fill--animated{transition-property:background-color,width;transition-duration:var(--progress-bar-transition)}.ProgressBar__content{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-align:right;width:100%;position:relative}.ProgressBar--color--default{--progress-bar-color:hsl(from var(--progress-bar-fill)h s calc(l - var(--adjust-color)))}.ProgressBar--color--red{--progress-bar-color:hsl(from var(--color-red)h s calc(l - var(--adjust-color)))}.ProgressBar--color--orange{--progress-bar-color:hsl(from var(--color-orange)h s calc(l - var(--adjust-color)))}.ProgressBar--color--yellow{--progress-bar-color:hsl(from var(--color-yellow)h s calc(l - var(--adjust-color)))}.ProgressBar--color--olive{--progress-bar-color:hsl(from var(--color-olive)h s calc(l - var(--adjust-color)))}.ProgressBar--color--green{--progress-bar-color:hsl(from var(--color-green)h s calc(l - var(--adjust-color)))}.ProgressBar--color--teal{--progress-bar-color:hsl(from var(--color-teal)h s calc(l - var(--adjust-color)))}.ProgressBar--color--blue{--progress-bar-color:hsl(from var(--color-blue)h s calc(l - var(--adjust-color)))}.ProgressBar--color--violet{--progress-bar-color:hsl(from var(--color-violet)h s calc(l - var(--adjust-color)))}.ProgressBar--color--purple{--progress-bar-color:hsl(from var(--color-purple)h s calc(l - var(--adjust-color)))}.ProgressBar--color--pink{--progress-bar-color:hsl(from var(--color-pink)h s calc(l - var(--adjust-color)))}.ProgressBar--color--brown{--progress-bar-color:hsl(from var(--color-brown)h s calc(l - var(--adjust-color)))}.ProgressBar--color--gold{--progress-bar-color:hsl(from var(--color-gold)h s calc(l - var(--adjust-color)))}.ProgressBar--color--black{--progress-bar-color:hsl(from var(--color-black)h s calc(l - var(--adjust-color)))}.ProgressBar--color--white{--progress-bar-color:hsl(from var(--color-white)h s calc(l - var(--adjust-color)))}.ProgressBar--color--grey,.ProgressBar--color--gray{--progress-bar-color:hsl(from var(--color-grey)h s calc(l - var(--adjust-color)))}.ProgressBar--color--light-grey,.ProgressBar--color--light-gray{--progress-bar-color:hsl(from var(--color-light-grey)h s calc(l - var(--adjust-color)))}.ProgressBar--color--primary{--progress-bar-color:hsl(from var(--color-primary)h s calc(l - var(--adjust-color)))}.ProgressBar--color--good{--progress-bar-color:hsl(from var(--color-good)h s calc(l - var(--adjust-color)))}.ProgressBar--color--average{--progress-bar-color:hsl(from var(--color-average)h s calc(l - var(--adjust-color)))}.ProgressBar--color--bad{--progress-bar-color:hsl(from var(--color-bad)h s calc(l - var(--adjust-color)))}.ProgressBar--color--label{--progress-bar-color:hsl(from var(--color-label)h s calc(l - var(--adjust-color)))}.RestrictedInput{border-color:var(--restricted-input-border-color);text-align:right}.RestrictedInput:focus-within{border-color:var(--restricted-input-border-color-focus)}.RestrictedInput::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.RestrictedInput::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.RestrictedInput--invalid{border-color:var(--restricted-input-border-color-invalid)}.RestrictedInput--invalid:focus-within{border-color:var(--restricted-input-border-color-invalid)}@keyframes RoundGauge__alertAnim{0%,to{opacity:.1}50%{opacity:1}}@keyframes RoundGauge__needleAlertAnim{0%{transform:rotate(var(--round-gauge-needle-alert-rotation))}50%{transform:rotate(calc(-1*var(--round-gauge-needle-alert-rotation)))}}.RoundGauge{width:2.6em;height:1.3em;margin:0 auto .2em;font-size:1rem}.RoundGauge__wrapper{text-align:center;display:inline-block}.RoundGauge__ringTrack{fill:transparent;stroke:rgba(255,255,255,.1);stroke-width:10px;stroke-dasharray:157.08;stroke-dashoffset:157.08px}.RoundGauge__ringFill{fill:transparent;stroke:var(--round-gauge-ring-color);stroke-width:10px;stroke-dasharray:314.16;transition:stroke var(--round-gauge-transition)ease-out}.RoundGauge__needle,.RoundGauge__ringFill{transition:transform var(--round-gauge-transition)ease-in-out}.RoundGauge__needleLine,.RoundGauge__needleMiddle{fill:var(--color-red)}.RoundGauge__alert{fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;fill:rgba(255,255,255,.1);transform-origin:top;transform:scale(.9)}.RoundGauge__alert.active{animation:RoundGauge__alertAnim var(--round-gauge-alert-animation)cubic-bezier(.34,1.56,.64,1)infinite}.RoundGauge__alert.active~.RoundGauge__needle .RoundGauge__needleLine{transform-origin:bottom;animation:RoundGauge__needleAlertAnim var(--round-gauge-needle-alert-animation)infinite}.RoundGauge__alert.max{fill:var(--color-bad)}.RoundGauge--color--red.RoundGauge__ringFill{stroke:var(--color-red)}.RoundGauge--color--orange.RoundGauge__ringFill{stroke:var(--color-orange)}.RoundGauge--color--yellow.RoundGauge__ringFill{stroke:var(--color-yellow)}.RoundGauge--color--olive.RoundGauge__ringFill{stroke:var(--color-olive)}.RoundGauge--color--green.RoundGauge__ringFill{stroke:var(--color-green)}.RoundGauge--color--teal.RoundGauge__ringFill{stroke:var(--color-teal)}.RoundGauge--color--blue.RoundGauge__ringFill{stroke:var(--color-blue)}.RoundGauge--color--violet.RoundGauge__ringFill{stroke:var(--color-violet)}.RoundGauge--color--purple.RoundGauge__ringFill{stroke:var(--color-purple)}.RoundGauge--color--pink.RoundGauge__ringFill{stroke:var(--color-pink)}.RoundGauge--color--brown.RoundGauge__ringFill{stroke:var(--color-brown)}.RoundGauge--color--gold.RoundGauge__ringFill{stroke:var(--color-gold)}.RoundGauge--color--black.RoundGauge__ringFill{stroke:var(--color-black)}.RoundGauge--color--white.RoundGauge__ringFill{stroke:var(--color-white)}.RoundGauge--color--grey.RoundGauge__ringFill,.RoundGauge--color--gray.RoundGauge__ringFill{stroke:var(--color-grey)}.RoundGauge--color--light-grey.RoundGauge__ringFill,.RoundGauge--color--light-gray.RoundGauge__ringFill{stroke:var(--color-light-grey)}.RoundGauge--color--primary.RoundGauge__ringFill{stroke:var(--color-primary)}.RoundGauge--color--good.RoundGauge__ringFill{stroke:var(--color-good)}.RoundGauge--color--average.RoundGauge__ringFill{stroke:var(--color-average)}.RoundGauge--color--bad.RoundGauge__ringFill{stroke:var(--color-bad)}.RoundGauge--color--label.RoundGauge__ringFill{stroke:var(--color-label)}.RoundGauge__alert--red{fill:var(--color-red)}.RoundGauge__alert--orange{fill:var(--color-orange)}.RoundGauge__alert--yellow{fill:var(--color-yellow)}.RoundGauge__alert--olive{fill:var(--color-olive)}.RoundGauge__alert--green{fill:var(--color-green)}.RoundGauge__alert--teal{fill:var(--color-teal)}.RoundGauge__alert--blue{fill:var(--color-blue)}.RoundGauge__alert--violet{fill:var(--color-violet)}.RoundGauge__alert--purple{fill:var(--color-purple)}.RoundGauge__alert--pink{fill:var(--color-pink)}.RoundGauge__alert--brown{fill:var(--color-brown)}.RoundGauge__alert--gold{fill:var(--color-gold)}.RoundGauge__alert--black{fill:var(--color-black)}.RoundGauge__alert--white{fill:var(--color-white)}.RoundGauge__alert--grey,.RoundGauge__alert--gray{fill:var(--color-grey)}.RoundGauge__alert--light-grey,.RoundGauge__alert--light-gray{fill:var(--color-light-grey)}.RoundGauge__alert--primary{fill:var(--color-primary)}.RoundGauge__alert--good{fill:var(--color-good)}.RoundGauge__alert--average{fill:var(--color-average)}.RoundGauge__alert--bad{fill:var(--color-bad)}.RoundGauge__alert--label{fill:var(--color-label)}.Section{margin-bottom:var(--space-m);background-color:var(--section-background);box-sizing:border-box;scrollbar-color:var(--color-scrollbar-thumb)transparent;position:relative}.Section:last-child{margin-bottom:0}.Section__title{padding:var(--space-m);border-bottom:var(--section-separator-thickness)solid var(--section-separator-color);position:relative}.Section__titleText{color:var(--section-title-color);font-size:1.16667em;font-weight:700}.Section__buttons{right:var(--space-m);margin-top:calc(-1*var(--space-xxs));display:inline-block;position:absolute}.Section__rest{position:relative}.Section__content{padding:var(--space-ml)var(--space-m)}.Section--fitted>.Section__rest>.Section__content{padding:0}.Section--fill{flex-direction:column;height:100%;display:flex}.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;bottom:0;left:0;right:0}.Section--scrollable{overflow:hidden}.Section--scrollable>.Section__rest>.Section__content{overflow-x:hidden;overflow-y:auto}.Section--scrollableHorizontal{overflow:hidden}.Section--scrollableHorizontal>.Section__rest>.Section__content{overflow-x:auto;overflow-y:hidden}.Section--scrollable.Section--scrollableHorizontal{overflow:hidden}.Section--scrollable.Section--scrollableHorizontal>.Section__rest>.Section__content{overflow:auto}.Section .Section{margin:0 calc(-1*var(--space-m));background-color:transparent}.Section .Section:first-child{margin-top:calc(-1*var(--space-m))}.Section .Section .Section__titleText{font-size:1.08333em}.Section .Section .Section .Section__titleText{font-size:1em}.Section--flex{flex-flow:column;display:flex}.Section--flex .Section__content{flex-grow:1;overflow:auto}.Section__content--noTopPadding{padding-top:0}.Section__content--stretchContents{height:calc(100% - 3rem)}.Slider{cursor:e-resize;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.Slider--editing .Slider__cursor:before{display:none}.Slider__cursor{inset:0 calc(-1*var(--space-xxs));left:unset;border-left:var(--border-thickness-small)solid var(--slider-cursor-color);border-radius:var(--border-radius-circular);position:absolute}.Slider__cursorOffset{position:absolute;top:0;bottom:0;left:0;right:0;transition:none!important}.Slider__cursor:before{content:"";aspect-ratio:1;border-left:inherit;transform-origin:50%;position:absolute;bottom:0;right:0;transform:scale(4)translateY(50%)rotate(45deg);-webkit-mask-image:linear-gradient(135deg,#000 50%,transparent 50%);mask-image:linear-gradient(135deg,#000 50%,transparent 50%)}.Slider__popupValue{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;padding:var(--space-s)var(--space-m);background-color:var(--slider-popup-background);color:var(--slider-popup-color);border-radius:var(--slider-popup-border-radius);-webkit-backdrop-filter:var(--slider-popup-blur);backdrop-filter:var(--slider-popup-blur);font-size:1em;position:absolute;top:-2em;right:0;transform:translate(50%)}.Slider .NumberInput__input{width:auto;height:auto;top:2px;bottom:2px;left:2px;right:2px}.Stack{gap:.5em}.Stack--fill{height:100%}.Stack--zebra>.Stack__item:nth-child(odd){background-color:var(--candystripe-odd)}.Stack--horizontal>.Stack__divider:not(.Stack__divider--hidden){border-left:var(--divider-border)}.Stack--vertical>.Stack__divider:not(.Stack__divider--hidden){border-top:var(--divider-border)}.Table{border-collapse:collapse;border-spacing:0;width:100%;margin:0;display:table}.Table--collapsing{width:auto}.Table__row{display:table-row}.Table__cell{padding:0 var(--space-s);display:table-cell}.Table__cell:first-child{padding-left:0}.Table__cell:last-child{padding-right:0}.Table__row--header .Table__cell,.Table__cell--header{padding-bottom:var(--space-m);font-weight:700}.Table__cell--collapsing{white-space:nowrap;width:1%}.Tabs{background-color:var(--tabs-container-background);align-items:stretch;display:flex;position:relative;overflow:hidden}.Tabs--fill{height:100%}.Tabs--vertical{padding:var(--space-s)0 var(--space-s)var(--space-s);flex-direction:column}.Tabs--horizontal{margin-bottom:var(--space-m);padding:var(--space-s)var(--space-s)0}.Tabs--horizontal:last-child{margin-bottom:0}.Tabs__Tab{flex-grow:0}.Tabs--fluid .Tabs__Tab{flex-grow:1}.Tab{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:var(--cursor-pointer);background-color:var(--tab-background);color:var(--tab-color);min-width:4em;min-height:2.25em;transition-property:background-color,color;transition-duration:var(--tab-transition);justify-content:space-between;align-items:center;display:flex}.Tab:not(.Tab--selected):hover{background-color:var(--tab-background-hover)}.Tab:not(.Tab--selected):active{color:var(--tab-color-selected)}.Tab--selected{cursor:var(--cursor-default);background-color:var(--tab-background-selected);color:var(--tab-color-selected)}.Tab .Tab__text{margin:0 var(--space-m);flex-grow:1}.Tab__left{text-align:center;min-width:1.5em;margin-left:var(--space-s)}.Tab__right{text-align:center;min-width:1.5em;margin-right:var(--space-s)}.Tabs--horizontal .Tab{border-top-left-radius:var(--tab-border-radius);border-top-right-radius:var(--tab-border-radius);padding-bottom:var(--tab-indicator-size);position:relative}.Tabs--horizontal .Tab:before{content:"";transition:transform var(--tab-transition);width:100%;height:var(--tab-indicator-size);background-color:currentColor;position:absolute;bottom:0;transform:scaleX(0)}.Tabs--horizontal .Tab--selected:before{transform:scaleX(.99999)!important}.Tabs--vertical .Tab{border-top-left-radius:var(--tab-border-radius);border-bottom-left-radius:var(--tab-border-radius);min-height:2em;padding-right:var(--tab-indicator-size);position:relative}.Tabs--vertical .Tab:before{content:"";transition:transform var(--tab-transition);width:var(--tab-indicator-size);background-color:currentColor;height:100%;position:absolute;right:0;transform:scaleY(0)}.Tabs--vertical .Tab--selected:before{transform:scaleY(.99999)!important}.Tabs--scrollable{--mask-width:3.25em;--mask-left:0rem;--mask-right:0rem;padding:0;display:grid}.Tabs--scrollable-content{scrollbar-width:none;overscroll-behavior:none;padding:var(--space-s)var(--space-s)0;-webkit-mask-image:linear-gradient(90deg,transparent calc(var(--mask-left)*.66),black calc(0% + var(--mask-left)),black calc(100% - var(--mask-right)),transparent calc(100% - var(--mask-right)*.66));mask-image:linear-gradient(90deg,transparent calc(var(--mask-left)*.66),black calc(0% + var(--mask-left)),black calc(100% - var(--mask-right)),transparent calc(100% - var(--mask-right)*.66));flex-wrap:nowrap;display:flex;overflow:auto}.Tabs--scrollable-content.scrollable-left.scrollable-right{--mask-left:var(--mask-width);--mask-right:var(--mask-width)}.Tabs--scrollable-content.scrollable-left{--mask-left:var(--mask-width)}.Tabs--scrollable-content.scrollable-right{--mask-right:var(--mask-width)}.Tabs--scrollable .scroll-left,.Tabs--scrollable .scroll-right{z-index:1;border-radius:0;align-content:center;height:100%;margin:0;position:absolute;top:0}.Tabs--scrollable .scroll-left{left:0}.Tabs--scrollable .scroll-right{right:0}.Tabs--scrollable .Tab{flex-shrink:0}.Tab--selected.Tab--color--red{color:hsl(from var(--color-red)h s calc(l + 17.5))}.Tab--selected.Tab--color--orange{color:hsl(from var(--color-orange)h s calc(l + 17.5))}.Tab--selected.Tab--color--yellow{color:hsl(from var(--color-yellow)h s calc(l + 17.5))}.Tab--selected.Tab--color--olive{color:hsl(from var(--color-olive)h s calc(l + 17.5))}.Tab--selected.Tab--color--green{color:hsl(from var(--color-green)h s calc(l + 17.5))}.Tab--selected.Tab--color--teal{color:hsl(from var(--color-teal)h s calc(l + 17.5))}.Tab--selected.Tab--color--blue{color:hsl(from var(--color-blue)h s calc(l + 17.5))}.Tab--selected.Tab--color--violet{color:hsl(from var(--color-violet)h s calc(l + 17.5))}.Tab--selected.Tab--color--purple{color:hsl(from var(--color-purple)h s calc(l + 17.5))}.Tab--selected.Tab--color--pink{color:hsl(from var(--color-pink)h s calc(l + 17.5))}.Tab--selected.Tab--color--brown{color:hsl(from var(--color-brown)h s calc(l + 17.5))}.Tab--selected.Tab--color--gold{color:hsl(from var(--color-gold)h s calc(l + 17.5))}.Tab--selected.Tab--color--black{color:hsl(from var(--color-black)h s calc(l + 17.5))}.Tab--selected.Tab--color--white{color:hsl(from var(--color-white)h s calc(l + 17.5))}.Tab--selected.Tab--color--grey,.Tab--selected.Tab--color--gray{color:hsl(from var(--color-grey)h s calc(l + 17.5))}.Tab--selected.Tab--color--light-grey,.Tab--selected.Tab--color--light-gray{color:hsl(from var(--color-light-grey)h s calc(l + 17.5))}.Tab--selected.Tab--color--primary{color:hsl(from var(--color-primary)h s calc(l + 17.5))}.Tab--selected.Tab--color--good{color:hsl(from var(--color-good)h s calc(l + 17.5))}.Tab--selected.Tab--color--average{color:hsl(from var(--color-average)h s calc(l + 17.5))}.Tab--selected.Tab--color--bad{color:hsl(from var(--color-bad)h s calc(l + 17.5))}.Tab--selected.Tab--color--label{color:hsl(from var(--color-label)h s calc(l + 17.5))}.Section .Tabs{background-color:transparent}.Section:not(.Section--fitted) .Tabs{margin:0 calc(-1*var(--space-m))var(--space-m)}.Section:not(.Section--fitted) .Tabs:first-child{margin-top:calc(-1*var(--space-m))}.TextArea{resize:none;scrollbar-width:thin;scrollbar-gutter:stable;scrollbar-color:var(--color-scrollbar-thumb)transparent}.Tooltip{-webkit-backdrop-filter:var(--tooltip-blur);backdrop-filter:var(--tooltip-blur);background-color:var(--tooltip-background);border-radius:var(--tooltip-border-radius);color:var(--tooltip-color);max-width:20.8333em;padding:var(--space-m)var(--space-l);pointer-events:none;text-align:left;box-shadow:.1em .1em 1.25em -.1em rgba(0,0,0,.5)}html,body{box-sizing:border-box;height:100%;font-size:var(--font-size,12px);color:var(--color-text,#fff);scrollbar-color:var(--color-scrollbar-thumb)var(--color-scrollbar-base);margin:0}html{cursor:var(--cursor-default,default);overflow:hidden}body{font-family:var(--font-family,Verdana,Geneva,sans-serif);overflow:auto}img{image-rendering:pixelated}*,:before,:after{box-sizing:inherit}h1,h2,h3,h4,h5,h6{padding:var(--space-m,6px)0;padding:var(--space-m,.5rem)0;margin:0;display:block}h1{font-size:1.5rem}h2{font-size:1.333rem}h3{font-size:1.167rem}h4{font-size:1rem}td,th{vertical-align:baseline;text-align:left}:where(.candystripe:nth-child(odd)){background-color:var(--candystripe-odd)}:where(.candystripe:nth-child(2n)){background-color:var(--candystripe-even)}.color-black{color:hsl(from var(--color-black)h s calc(l + var(--adjust-color)))!important}.color-white{color:hsl(from var(--color-white)h s calc(l + var(--adjust-color)))!important}.color-red{color:hsl(from var(--color-red)h s calc(l + var(--adjust-color)))!important}.color-orange{color:hsl(from var(--color-orange)h s calc(l + var(--adjust-color)))!important}.color-yellow{color:hsl(from var(--color-yellow)h s calc(l + var(--adjust-color)))!important}.color-olive{color:hsl(from var(--color-olive)h s calc(l + var(--adjust-color)))!important}.color-green{color:hsl(from var(--color-green)h s calc(l + var(--adjust-color)))!important}.color-teal{color:hsl(from var(--color-teal)h s calc(l + var(--adjust-color)))!important}.color-blue{color:hsl(from var(--color-blue)h s calc(l + var(--adjust-color)))!important}.color-violet{color:hsl(from var(--color-violet)h s calc(l + var(--adjust-color)))!important}.color-purple{color:hsl(from var(--color-purple)h s calc(l + var(--adjust-color)))!important}.color-pink{color:hsl(from var(--color-pink)h s calc(l + var(--adjust-color)))!important}.color-brown{color:hsl(from var(--color-brown)h s calc(l + var(--adjust-color)))!important}.color-grey,.color-gray{color:hsl(from var(--color-grey)h s calc(l + var(--adjust-color)))!important}.color-light-grey,.color-light-gray{color:hsl(from var(--color-light-grey)h s calc(l + var(--adjust-color)))!important}.color-good{color:hsl(from var(--color-good)h s calc(l + var(--adjust-color)))!important}.color-average{color:hsl(from var(--color-average)h s calc(l + var(--adjust-color)))!important}.color-bad{color:hsl(from var(--color-bad)h s calc(l + var(--adjust-color)))!important}.color-label{color:hsl(from var(--color-label)h s calc(l + var(--adjust-color)))!important}.color-bg-black{background-color:hsl(from var(--color-black)h s calc(l - var(--adjust-color)))!important}.color-bg-white{background-color:hsl(from var(--color-white)h s calc(l - var(--adjust-color)))!important}.color-bg-red{background-color:hsl(from var(--color-red)h s calc(l - var(--adjust-color)))!important}.color-bg-orange{background-color:hsl(from var(--color-orange)h s calc(l - var(--adjust-color)))!important}.color-bg-yellow{background-color:hsl(from var(--color-yellow)h s calc(l - var(--adjust-color)))!important}.color-bg-olive{background-color:hsl(from var(--color-olive)h s calc(l - var(--adjust-color)))!important}.color-bg-green{background-color:hsl(from var(--color-green)h s calc(l - var(--adjust-color)))!important}.color-bg-teal{background-color:hsl(from var(--color-teal)h s calc(l - var(--adjust-color)))!important}.color-bg-blue{background-color:hsl(from var(--color-blue)h s calc(l - var(--adjust-color)))!important}.color-bg-violet{background-color:hsl(from var(--color-violet)h s calc(l - var(--adjust-color)))!important}.color-bg-purple{background-color:hsl(from var(--color-purple)h s calc(l - var(--adjust-color)))!important}.color-bg-pink{background-color:hsl(from var(--color-pink)h s calc(l - var(--adjust-color)))!important}.color-bg-brown{background-color:hsl(from var(--color-brown)h s calc(l - var(--adjust-color)))!important}.color-bg-grey,.color-bg-gray{background-color:hsl(from var(--color-grey)h s calc(l - var(--adjust-color)))!important}.color-bg-light-grey,.color-bg-light-gray{background-color:hsl(from var(--color-light-grey)h s calc(l - var(--adjust-color)))!important}.color-bg-good{background-color:hsl(from var(--color-good)h s calc(l - var(--adjust-color)))!important}.color-bg-average{background-color:hsl(from var(--color-average)h s calc(l - var(--adjust-color)))!important}.color-bg-bad{background-color:hsl(from var(--color-bad)h s calc(l - var(--adjust-color)))!important}.color-bg-label{background-color:hsl(from var(--color-label)h s calc(l - var(--adjust-color)))!important}.debug-layout,.debug-layout :not(g):not(path){color:rgba(255,255,255,.9)!important;box-shadow:none!important;-webkit-filter:none!important;filter:none!important;background:0 0!important;outline:1px solid rgba(255,255,255,.5)!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:var(--border-thickness-small)solid hsl(from var(--color-black)h s calc(l + var(--adjust-color)))!important}.outline-color-white{outline:var(--border-thickness-small)solid hsl(from var(--color-white)h s calc(l + var(--adjust-color)))!important}.outline-color-red{outline:var(--border-thickness-small)solid hsl(from var(--color-red)h s calc(l + var(--adjust-color)))!important}.outline-color-orange{outline:var(--border-thickness-small)solid hsl(from var(--color-orange)h s calc(l + var(--adjust-color)))!important}.outline-color-yellow{outline:var(--border-thickness-small)solid hsl(from var(--color-yellow)h s calc(l + var(--adjust-color)))!important}.outline-color-olive{outline:var(--border-thickness-small)solid hsl(from var(--color-olive)h s calc(l + var(--adjust-color)))!important}.outline-color-green{outline:var(--border-thickness-small)solid hsl(from var(--color-green)h s calc(l + var(--adjust-color)))!important}.outline-color-teal{outline:var(--border-thickness-small)solid hsl(from var(--color-teal)h s calc(l + var(--adjust-color)))!important}.outline-color-blue{outline:var(--border-thickness-small)solid hsl(from var(--color-blue)h s calc(l + var(--adjust-color)))!important}.outline-color-violet{outline:var(--border-thickness-small)solid hsl(from var(--color-violet)h s calc(l + var(--adjust-color)))!important}.outline-color-purple{outline:var(--border-thickness-small)solid hsl(from var(--color-purple)h s calc(l + var(--adjust-color)))!important}.outline-color-pink{outline:var(--border-thickness-small)solid hsl(from var(--color-pink)h s calc(l + var(--adjust-color)))!important}.outline-color-brown{outline:var(--border-thickness-small)solid hsl(from var(--color-brown)h s calc(l + var(--adjust-color)))!important}.outline-color-grey,.outline-color-gray{outline:var(--border-thickness-small)solid hsl(from var(--color-grey)h s calc(l + var(--adjust-color)))!important}.outline-color-light-grey,.outline-color-light-gray{outline:var(--border-thickness-small)solid hsl(from var(--color-light-grey)h s calc(l + var(--adjust-color)))!important}.outline-color-good{outline:var(--border-thickness-small)solid hsl(from var(--color-good)h s calc(l + var(--adjust-color)))!important}.outline-color-average{outline:var(--border-thickness-small)solid hsl(from var(--color-average)h s calc(l + var(--adjust-color)))!important}.outline-color-bad{outline:var(--border-thickness-small)solid hsl(from var(--color-bad)h s calc(l + var(--adjust-color)))!important}.outline-color-label{outline:var(--border-thickness-small)solid hsl(from var(--color-label)h s calc(l + var(--adjust-color)))!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}.Chat{color:var(--chat-text-color)}.Chat__badge{color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#db143c;border-radius:10px;min-width:.5em;padding:.2em .3em;font-size:.7em;line-height:1;transition:font-size .2s ease-out;display:inline-block}.Chat__badge:before{content:"x"}.Chat__badge--animate{font-size:.9em;transition:font-size}.Chat__scrollButton{position:fixed;bottom:1em;right:2em}.Chat__reconnected{text-align:center;margin:1em 0 2em;font-size:.85em}.Chat__reconnected:before{content:"Reconnected";color:var(--reconnect-text,var(--color-red));background-color:var(--reconnect-background,var(--color-section));border-radius:1em;padding:0 .7em;display:inline-block}.Chat__reconnected:after{content:"";border-bottom:.166667em solid var(--color-red);margin-top:-.75em;display:block}.Chat__highlight{color:var(--color-black)}.Chat__highlight--restricted{color:#fff;background-color:#a00;font-weight:700}.ChatMessage{word-wrap:break-word}.ChatMessage--highlighted{border-left:.166667em solid #ffe045;padding-left:.5em;position:relative}.ChatMessage--highlighted:after{content:"";pointer-events:none;background-color:rgba(255,224,69,.1);position:absolute;top:0;bottom:0;left:0;right:0}.Ping{padding:var(--space-xs)var(--space-sm);border:var(--border-thickness-tiny)solid hsl(from var(--color-border-primary)h 10 50/.33);border-radius:var(--border-radius-medium);text-align:right;min-width:4em;max-width:5em;position:relative}.Ping__indicator{content:"";top:var(--space-m);left:var(--space-m);border-radius:var(--border-radius-medium);background-color:#888;width:.5em;height:.5em;position:absolute}.Notifications{position:absolute;top:1em;left:1em;right:2em}.Notification{color:#fff;background-color:#db143c;margin:1em 0;padding:.5em}.Notification:first-child{margin-top:0}.Notification:last-child{margin-bottom:0}.UnreadCount{pointer-events:none;top:calc(-1*var(--space-s));right:calc(-1*var(--space-s));padding:0 var(--space-s);border-radius:var(--border-radius-small);background-color:var(--color-red);color:var(--color-white);font-size:.65em;line-height:1.25em;position:absolute}.Layout__content{position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.Layout__content--scrollable{margin-bottom:0;overflow-y:auto}.Window{color:var(--color-text);background-color:var(--color-base);background-image:linear-gradient(to bottom,var(--color-base-start)0%,var(--color-base-end)100%);position:fixed;top:0;bottom:0;left:0;right:0}.Window__rest{position:fixed;top:2.66667rem;bottom:0;left:0;right:0}.Window__contentPadding{height:calc(100% - 1rem);margin:.5rem}.Window__contentPadding:after{height:0}.Layout__content--scrollable .Window__contentPadding:after{content:"";height:.5rem;display:block}.Window__dimmer{pointer-events:none;background-color:hsl(from var(--color-base)h s calc(l + 15)/.25);position:fixed;top:0;bottom:0;left:0;right:0}.Window__resizeHandle__se{cursor:var(--cursor-se-resize);width:1.66667rem;height:1.66667rem;position:fixed;bottom:0;right:0}.Window__resizeHandle__s{cursor:var(--cursor-s-resize);height:.5rem;position:fixed;bottom:0;left:0;right:0}.Window__resizeHandle__e{cursor:var(--cursor-e-resize);width:.25rem;position:fixed;top:0;bottom:0;right:0}img{margin:0;padding:0;line-height:1}img.icon{vertical-align:bottom;width:auto;min-width:16px;height:1em;min-height:16px}a{color:#397ea5}em{font-style:normal;font-weight:700}h1,h2,h3,h4,h5,h6{color:#a4bad6;font-family:Georgia,Verdana,sans-serif}.emoji{max-width:16px;max-height:16px}.emoji16x16{vertical-align:middle}.italic,.italics,.emote{font-style:italic}.bold{font-weight:700}.bolditalics{font-style:italic;font-weight:700}.center{text-align:center}.big{font-size:150%}.reallybig{font-size:175%}.sans{font-family:Comic Sans MS,cursive,sans-serif}.wingdings{font-family:Wingdings,Webdings}.robot{font-family:OCR-A,monospace;font-size:1.15em;font-weight:700}.robotemote{color:#6685f5;font-family:OCR-A,monospace;font-size:1.15em;font-style:italic;font-weight:700}.hidden{visibility:hidden;display:none}.motd{color:#a4bad6;white-space:normal;font-family:Verdana,sans-serif}.motd h1,.motd h2,.motd h3,.motd h4,.motd h5,.motd h6{color:#a4bad6;text-decoration:underline}.motd a,.motd a:link,.motd a:active,.motd a:hover{color:#a4bad6}.memo{color:#638500;text-align:center}.memoedit{text-align:center;font-size:75%}.ooc{font-weight:700}.looc{color:#69c;font-weight:700}.discordpm{color:#6685f5}.debug{color:#6d2f83}.deadsay{color:#e2c1ff}.darkmblue{color:#6685f5}.prefix,.name,.yell{font-weight:700}.mentorhelp{color:#07b;font-weight:700}.mentor_channel{color:#b4af13;font-weight:700}.mentor_channel_admin{color:#f1ec50;font-weight:700}.admin{color:#386aff;font-weight:700}.adminhelp{color:#a00;font-weight:700}.adminticket{color:#3daf21;font-weight:700}.adminticketalt{color:#ccb847;font-weight:700}.admin_channel{color:#03fc9d;font-weight:700}.all_admin_ping{color:#12a5f4;text-align:center;font-size:120%;font-weight:700}.dev_channel{color:#61b413;font-weight:700}.dev_channel_admin{color:#9ef14f;font-weight:700}.staff_channel{color:#775bff;font-weight:700}.staff_channel_admin{color:#a35cff;font-weight:700}.radio{color:#20b142}.deptradio{color:#939}.comradio{color:#5f5cff}.syndradio{color:#8f4a4b}.dsquadradio{color:#998599}.airadio{color:#ff5ed7}.centradio{color:#2681a5}.secradio{color:#dd3535}.engradio{color:#feac20}.medradio{color:#00b5ad}.sciradio{color:#c68cfa}.supradio{color:#b88646}.srvradio{color:#bbd164}.proradio{color:#b84f92}.alert{color:#d82020}h1.alert,h2.alert{color:#a4bad6}.ghostalert{color:#cc00c6;font-style:italic;font-weight:700}.warning{color:#c51e1e;font-style:italic}.boldwarning{color:#c51e1e;font-style:italic;font-weight:700}.danger{color:#c51e1e;font-weight:700}.biggerdanger{color:red;font-size:150%;font-weight:700}.userdanger{color:#c51e1e;font-size:120%;font-weight:700}.attack{color:red}.disarm{color:#900}.moderate{color:#c00}.notice{color:#6685f5}.boldnotice{color:#6685f5;font-weight:700}.subtle{color:#8a72c5;font-size:85%;font-style:italic}.suicide{color:#ff5050;font-style:italic}.announcement h1,.announcement h2{color:#a4bad6;margin:8pt 0;line-height:1.2}.announcement p{color:#d82020;line-height:1.3}.announcement.minor h1{font-size:180%}.announcement.minor h2{font-size:170%}.announcement.sec h1{color:red;font-family:Verdana,sans-serif;font-size:180%}.boldannounceic,.boldannounceooc,.pr_announce{color:#c51e1e;font-weight:700}.greenannounce{color:#059223;font-weight:700}.alien{color:#c433c4}.noticealien{color:#00c000}.alertalien{color:#00c000;font-weight:700}.terrorspider{color:#cf52fa}.dantalion{color:#8b2c5e}.chaosverygood{color:#19e0c0;font-size:120%;font-weight:700}.chaosgood{color:#19e0c0;font-weight:700}.chaosneutral{color:#479ac0;font-weight:700}.chaosbad{color:#9047c0;font-weight:700}.chaosverybad{color:#9047c0;font-size:120%;font-weight:700}.sinister{color:purple;font-style:italic;font-weight:700}.blob{color:#ee4000;font-style:italic}.revennotice{color:#6685f5}.revenbignotice{color:#6685f5;font-size:120%;font-weight:700}.revenminor{color:#823abb}.revenwarning{color:#760fbb;font-style:italic}.revendanger{color:#760fbb;font-size:120%;font-weight:700}.changeling{color:#00b4de}.abductor{color:purple;font-style:italic}.mind_control{color:#a00d6f;font-size:120%;font-style:italic;font-weight:700}.cult{color:purple;font-style:italic;font-weight:700}.cultspeech{color:#af0000;font-style:italic}.cultitalic{color:#a60000;font-style:italic}.cultlarge{color:#a60000;font-size:120%;font-weight:700}.narsie{color:#a60000;font-size:300%;font-weight:700}.narsiesmall{color:#a60000;font-size:200%;font-weight:700}.his_grace{color:#15d512;font-family:Courier New,cursive,sans-serif;font-style:italic}.zombielarge{color:#7c4848;font-size:120%;font-weight:700}.colossus{color:#7f282a;font-size:175%}.hierophant{color:#609;font-style:italic;font-weight:700}.hierophant_warning{color:#609;font-style:italic}.tajaran{color:#803b56}.skrell{color:#00ced1}.solcom{color:#8282fb}.com_cygni{color:#7c4848}.zombie{color:red}.soghun{color:#228b22}.vox{color:#a0a}.diona{color:#804000;font-weight:700}.trinary{color:#727272}.kidan{color:#c64c05}.slime{color:#07a}.drask{color:#a3d4eb;font-family:Arial Black}.moth{color:#869b29;font-family:Copperplate}.clown{color:red}.vulpkanin{color:#b97a57}.gutter{color:#7092be;font-family:Trebuchet MS,cursive,sans-serif}.tradeband{font-family:Georgia,Verdana,sans-serif}.rose{color:#ff5050}.interface{color:#9031c4}.greentext{color:#0f0;font-size:150%}.redtext{color:red;font-size:150%}.red{color:red}.green{color:#03bb39}.purple{color:#9031c4}.orange{color:orange}.resonate{color:#298f85}.healthscan_oxy{color:#5cc9ff}.specialnotice{color:#4a6f82;font-size:120%;font-weight:700}.whisper{color:#ccc;font-style:italic}span.body .codephrases{color:#55f}span.body .coderesponses{color:#f33}.oxygen{color:#449dff}.nitrogen{color:#f94541}.carbon_dioxide{color:#ccc}.plasma{color:#eb6b00}.sleeping_agent{color:#f28b89}.agent_b{color:teal}.hydrogen{color:#997379}.water_vapor{color:#483d8b}.boxed_message{text-align:center;background:#17191c;border:.0833333em solid rgba(166,183,217,.25);border-width:.0833333em .416667em;border-radius:.5em;margin:.5em .25em;padding:.5em .75em}.boxed_message.red_border{background:#1f1414;border-color:rgba(255,0,0,.5)}.boxed_message.green_border{background:#141f18;border-color:rgba(0,255,0,.5)}.boxed_message.purple_border{background:#1d1828;border-color:rgba(170,128,255,.5)}.boxed_message.notice_border{background:#14181f;border-color:rgba(85,126,246,.5)}.boxed_message.thick_border{border-width:.5em}.boxed_message.left_align_text{text-align:left}:root{--chat-text-color:#b3cce6;--color-base:#202020;--color-section:hsl(from var(--color-base)h s calc(l - 4.2));--base-gradient-spread:0}.theme-light:root{--chat-text-color:var(--color-black);--color-base:#ededed;--color-section:var(--color-white);--color-text:var(--color-black);--color-label:#545454;--color-action:#e6e6e6;--color-scrollbar-thumb:var(--color-light-gray);--primary-lightness:60%;--primary-saturation:60%;--border-primary-alpha:.66;--button-background-selected:hsl(from var(--color-primary)h 100 l);--button-background-caution:#b85a0a;--button-background-danger:#990;--tab-color-selected:var(--color-black);--input-background:var(--color-base);--tooltip-background-lightness:90}.theme-light:root a,.theme-light:root h1,.theme-light:root h2,.theme-light:root h3,.theme-light:root h4,.theme-light:root h5,.theme-light:root h6{color:#00f}.theme-light:root .motd,.theme-light:root .motd h1,.theme-light:root .motd h2,.theme-light:root .motd h3,.theme-light:root .motd h4,.theme-light:root .motd h5,.theme-light:root .motd h6,.theme-light:root .motd a,.theme-light:root .motd a:link,.theme-light:root .motd a:active,.theme-light:root .motd a:hover{color:#638500}.theme-light:root .looc{color:#69c}.theme-light:root .discordpm{color:#00f}.theme-light:root .debug{color:#6d2f83}.theme-light:root .deadsay{color:#5c00e6}.theme-light:root .darkmblue{color:#00f}.theme-light:root .mentorhelp{color:#07b}.theme-light:root .mentor_channel{color:#5e6812}.theme-light:root .mentor_channel_admin{color:#94a419}.theme-light:root .adminhelp{color:#a00}.theme-light:root .adminticket{color:#3e7336}.theme-light:root .adminticketalt{color:#014c8a}.theme-light:root .admin_channel{color:#9a04d1}.theme-light:root .all_admin_ping{color:#12a5f4}.theme-light:root .dev_channel{color:#126719}.theme-light:root .dev_channel_admin{color:#26a419}.theme-light:root .staff_channel{color:#775bff}.theme-light:root .staff_channel_admin{color:#a35cff}.theme-light:root .radio{color:#408010}.theme-light:root .deptradio{color:#939}.theme-light:root .comradio{color:#204090}.theme-light:root .syndradio{color:#6d3f40}.theme-light:root .dsquadradio{color:#686868}.theme-light:root .airadio{color:#f0f}.theme-light:root .centradio{color:#5c5c7c}.theme-light:root .secradio{color:#a30000}.theme-light:root .engradio{color:#a66300}.theme-light:root .medradio{color:#009190}.theme-light:root .sciradio{color:#939}.theme-light:root .supradio{color:#7f6539}.theme-light:root .srvradio{color:#80a000}.theme-light:root .proradio{color:#e3027a}.theme-light:root .alert{color:red}.theme-light:root h1.alert,.theme-light:root h2.alert{color:#000}.theme-light:root .ghostalert{color:#5c00e6}.theme-light:root .warning,.theme-light:root .boldwarning,.theme-light:root .danger,.theme-light:root .userdanger{color:red}.theme-light:root .notice,.theme-light:root .boldnotice{color:#009}.theme-light:root .subtle{color:#009;font-size:85%;font-style:italic}.theme-light:root .announcement h1,.theme-light:root .announcement h2{color:#000}.theme-light:root .announcement.sec h1,.theme-light:root .boldannounceic,.theme-light:root .boldannounceooc{color:red}.theme-light:root .pr_announce{color:#228b22}.theme-light:root .greenannounce{color:#0f0}.theme-light:root .alien{color:#543354}.theme-light:root .terrorspider{color:#320e32}.theme-light:root .dantalion{color:#6a2148}.theme-light:root .revennotice,.theme-light:root .revenbignotice{color:#1d2953}.theme-light:root .changeling{color:purple}.theme-light:root .cultspeech{color:#7f0000}.theme-light:root .cultitalic,.theme-light:root .cultlarge,.theme-light:root .narsie,.theme-light:root .narsiesmall{color:#960000}.theme-light:root .rose{color:#ff5050}.theme-light:root .interface{color:#303}.theme-light:root .purple{color:#5e2d79}.theme-light:root .orange{color:orange}.theme-light:root .healthscan_oxy{color:#0074bd}.theme-light:root .specialnotice{color:#36525e}.theme-light:root .whisper{color:#333}.theme-light:root span.body .codephrases{color:#00f}.theme-light:root span.body .coderesponses{color:red}.theme-light:root .oxygen{color:#006adb}.theme-light:root .nitrogen{color:#d00a06}.theme-light:root .carbon_dioxide{color:#1f1f1f}.theme-light:root .plasma{color:#853c00}.theme-light:root .sleeping_agent{color:#e82f2c}.theme-light:root .agent_b{color:#004d4d}.theme-light:root .hydrogen{color:#997379}.theme-light:root .water_vapor{color:#004080}.theme-light:root .boxed_message{background:#f2f7ff;border-color:rgba(16,48,112,.5)}.theme-light:root .boxed_message.red_border{background:#fff2f2;border-color:rgba(255,0,0,.5)}.theme-light:root .boxed_message.green_border{background:#f2fff7;border-color:rgba(0,168,0,.5)}.theme-light:root .boxed_message.purple_border{background:#f7f2ff;border-color:rgba(85,0,255,.5)}.theme-light:root .boxed_message.notice_border{background:#f2f7ff;border-color:rgba(0,64,255,.5)}.theme-ntos:root{--color-base:#1b2532;--color-section:#121821;--color-primary:#476385}.theme-ntos:root .boxed_message{background:#1d2330}.theme-ntos:root .boxed_message.red_border{background:#301d1d}.theme-ntos:root .boxed_message.green_border{background:#1d3023}.theme-ntos:root .boxed_message.purple_border{background:#231d30}.theme-ntos:root .boxed_message.notice_border{background:#192234}.theme-syndicate:root{--color-base:#4d0202;--color-section:#2b0101;--color-primary:#3b783b;--color-label:#ad8585;--button-background-selected:#b60a0a;--button-background-caution:#ba5e0d;--button-background-danger:#969900;--notice-box-background:#8d0101;--notice-box-color:var(--color-text-fixed-white);--progress-bar-background:rgba(0,0,0,.5);--tooltip-background-lightness:25}.theme-syndicate:root .adminooc{color:#29ccbe}.theme-syndicate:root .debug{color:#8f39e6}.theme-syndicate:root .boxed_message{background:#360a0a}.theme-syndicate:root .boxed_message.red_border{background:#400000}.theme-syndicate:root .boxed_message.green_border{background:#261a00}.theme-syndicate:root .boxed_message.purple_border{background:#260026}.theme-syndicate:root .boxed_message.notice_border{background:#260016}.theme-paradise:root{--color-base:#8a0f38;--color-section:rgba(0,0,0,.5);--color-base-start:#7e014a;--color-base-end:#8a4d0f;--color-primary:#1f7a7a;--color-label:#ad9685;--reconnect-background:#d92626;--reconnect-text:var(--color-text);--input-border-color:#e85e30;--button-background-selected:#cf6e3d;--button-background-danger:#93f}.theme-paradise:root .adminooc{color:#29ccbe}.theme-paradise:root .debug{color:#8f39e6}.theme-paradise:root .boxed_message{background:rgba(0,0,0,.25);border-color:rgba(223,181,159,.25)}.theme-paradise:root .boxed_message.red_border{background:rgba(22,3,3,.25);border-color:rgba(255,0,0,.5)}.theme-paradise:root .boxed_message.green_border{background:rgba(3,22,10,.25);border-color:rgba(0,255,0,.5)}.theme-paradise:root .boxed_message.purple_border{background:rgba(10,3,22,.25);border-color:rgba(136,77,255,.5)}.theme-paradise:root .boxed_message.notice_border{background:rgba(3,10,22,.25);border-color:rgba(85,126,246,.5)}
\ No newline at end of file
+:root{--color-base:#262626;--color-section:rgba(0,0,0,.33);--color-secondary:hsl(from var(--color-base)var(--secondary-hue)var(--secondary-saturation)calc(l + var(--secondary-lightness-adjustment)));--secondary-hue:h;--secondary-saturation:s;--secondary-lightness-adjustment:7.5;--base-gradient-spread:2;--color-base-start:hsl(from var(--color-base)h s calc(l + var(--base-gradient-spread)));--color-base-end:hsl(from var(--color-base)h s calc(l - var(--base-gradient-spread)));--color-scrollbar-base:var(--color-section);--color-scrollbar-thumb:hsl(from var(--color-base)h s calc(l + 9.25));--candystripe-odd:rgba(0,0,0,.25);--candystripe-even:transparent;--color-red:#d92626;--color-orange:#f26c0d;--color-yellow:#fcd203;--color-olive:#acc91d;--color-green:#1fad4e;--color-teal:#00b3b3;--color-blue:#2a79c8;--color-violet:#63c;--color-purple:#b333cc;--color-pink:#d9268e;--color-brown:#a96a3c;--color-gold:#f2a60d;--color-black:#000;--color-white:#fff;--color-grey:gray;--color-light-grey:#aaa;--color-gray:var(--color-grey);--color-light-gray:var(--color-light-grey);--color-action:gray;--color-hover:hsl(from var(--color-action)h s l/.25);--color-active:hsl(from var(--color-action)h s l/.3);--color-selected:hsl(from var(--color-action)h s l/.4);--primary-hue:210;--primary-saturation:37.5%;--primary-lightness:45%;--color-primary:hsl(var(--primary-hue),var(--primary-saturation),var(--primary-lightness));--color-good:#5ba626;--color-average:#f2890d;--color-bad:#dc2323;--color-label:hsl(from var(--color-primary)h 17.5 57.5);--color-text:var(--color-white);--color-text-translucent:hsl(from var(--color-text)h s l/.5);--color-text-translucent-light:hsl(from var(--color-text)h s l/.75);--color-text-fixed-white:var(--color-white);--color-text-fixed-black:var(--color-black);--color-hyperlink:#69f;--color-hyperlink-visited:#96f;--color-hyperlink-new:#f66;--color-hyperlink-new-visited:#ff8c66;--color-border:rgba(255,255,255,.1);--color-border-dark:rgba(0,0,0,.33);--border-primary-saturation:100;--border-primary-lightness:75;--border-primary-alpha:.75;--color-border-primary:hsl(from var(--color-primary)h var(--border-primary-saturation)var(--border-primary-lightness)/var(--border-primary-alpha));--color-border-secondary:hsl(from var(--color-border-primary)h s l/1);--font-size:12px;--font-family:Verdana,Geneva,sans-serif;--font-family-mono:Consolas,monospace;--border-thickness-unit:.5em;--border-thickness-tiny:calc(var(--border-thickness-unit)*.5*.34);--border-thickness-small:calc(var(--border-thickness-unit)*.34);--border-thickness-medium:calc(var(--border-thickness-unit)*.5);--border-thickness-large:calc(var(--border-thickness-unit)*.66);--border-thickness-larger:var(--border-thickness-unit);--border-radius-unit:1rem;--border-radius-tiny:calc(var(--border-radius-unit)*.25*.68);--border-radius-small:calc(var(--border-radius-unit)*.25);--border-radius-medium:calc(var(--border-radius-unit)*.33);--border-radius-large:calc(var(--border-radius-unit)*.5);--border-radius-larger:calc(var(--border-radius-unit)*.75);--border-radius-huge:var(--border-radius-unit);--border-radius-giant:calc(var(--border-radius-unit)*2);--border-radius-circular:99999px;--space-unit:1em;--space-xxs:calc(var(--space-unit)*.25*.34);--space-xs:calc(var(--space-unit)*.25*.68);--space-s:calc(var(--space-unit)*.25);--space-sm:calc(var(--space-unit)*.33);--space-m:calc(var(--space-unit)*.5);--space-ml:calc(var(--space-unit)*.66);--space-l:calc(var(--space-unit)*.75);--space-xl:var(--space-unit);--space-xxl:calc(var(--space-unit)*2);--transition-time-unit:1s;--transition-time-fast:calc(var(--transition-time-unit)*.1);--transition-time-medium:calc(var(--transition-time-unit)*.2);--transition-time-slow:calc(var(--transition-time-unit)*.5);--transition-time-slowest:var(--transition-time-unit);--shadow-unit:1rem;--shadow-glow-small:0 0 calc(var(--shadow-unit)*.5);--shadow-glow-medium:0 0 var(--shadow-unit);--shadow-glow-large:0 0 calc(var(--shadow-unit)*2);--blur-small:blur(6px);--blur-medium:blur(12px);--blur-large:blur(24px);--adjust-color:5;--adjust-hover:10;--adjust-active:7.5;--cursor-default:default;--cursor-pointer:pointer;--cursor-disabled:var(--cursor-default);--cursor-n-resize:n-resize;--cursor-s-resize:s-resize;--cursor-se-resize:se-resize;--cursor-e-resize:e-resize;--blockquote-color:hsl(from var(--color-label)h s calc(l + var(--adjust-color)));--blockquote-border:var(--border-thickness-small)solid;--button-height:1.667em;--button-color:var(--color-white);--button-color-transparent:var(--color-text-translucent);--button-background-default:var(--color-primary);--button-background-selected:var(--color-green);--button-background-caution:var(--color-yellow);--button-background-danger:var(--color-red);--button-background-disabled:var(--undefined);--button-disabled-opacity:.5;--button-border-radius:var(--border-radius-tiny);--button-transition:var(--transition-time-medium);--button-transition-timing:ease;--dialog-background:hsl(from var(--color-section)h s l/.5);--dimmer-background-opacity:.75;--dimmer-background:hsl(from var(--color-base)h s 5/var(--dimmer-background-opacity));--divider-color:var(--color-border);--divider-border:var(--border-thickness-small)solid var(--divider-color);--dropdown-transition:var(--transition-time-medium);--dropdown-menu-color:var(--color-text);--dropdown-menu-background:hsl(from var(--color-base)h s calc(l - 5.5)/.85);--dropdown-menu-border:var(--border-thickness-tiny)solid var(--color-border);--dropdown-menu-border-radius:var(--border-radius-large);--dropdown-menu-blur:var(--blur-medium);--dropdown-entry-background-hover:var(--color-hover);--dropdown-entry-background-active:var(--color-active);--dropdown-entry-background-selected:var(--color-selected);--dropdown-entry-border-radius:var(--border-radius-small);--dropdown-entry-transition:var(--transition-time-fast);--floating-transition-time:var(--transition-time-medium);--floating-transition-timing:ease;--tab-background:transparent;--tab-background-hover:hsl(from var(--color-hover)h s calc(l*.75));--tab-background-selected:hsl(from var(--color-selected)h s calc(l*.75));--tab-color:var(--color-text-translucent);--tab-color-selected:hsl(from var(--color-primary)h s 90);--tab-border-radius:var(--border-radius-small);--tab-indicator-size:var(--border-thickness-small);--tab-transition:var(--transition-time-medium);--tabs-container-background:var(--color-section);--imagebutton-transparecy:.25;--input-background-lightness:5;--input-background:hsl(from var(--color-base)h s var(--input-background-lightness));--input-color:var(--color-text);--input-color-placeholder:var(--color-text-translucent);--input-border-color:var(--color-border-primary);--input-border-color-focus:var(--color-border-secondary);--input-border-radius:var(--border-radius-tiny);--input-border-disabled:var(--color-gray);--input-transition:var(--transition-time-medium);--input-font-family:var(--font-family);--input-font-family-mono:var(--font-family-mono);--input-width:9em;--knob-color:hsl(from var(--color-base)h 5 20);--knob-ring-color:var(--input-border-color);--knob-popup-background:var(--tooltip-background);--knob-popup-color:var(--tooltip-color);--knob-popup-border-radius:var(--tooltip-border-radius);--knob-popup-blur:var(--tooltip-blur);--knob-inner-padding:var(--space-xs);--menu-bar-background:var(--color-base);--menu-bar-font-family:var(--font-family);--menu-bar-transition:var(--transition-time-medium);--modal-background:var(--color-base);--modal-padding:var(--space-xl);--notice-box-stripes:rgba(0,0,0,.1);--notice-box-background:#cea257;--notice-box-color:var(--color-text-fixed-white);--number-input-background:var(--input-background);--number-input-color:var(--input-color);--number-input-border-color:var(--input-border-color);--number-input-border-color-active:var(--input-border-color-focus);--number-input-border-radius:var(--input-border-radius);--number-input-transition:var(--input-transition);--progress-bar-fill:var(--color-primary);--progress-bar-background:transparent;--progress-bar-border-radius:var(--border-radius-tiny);--progress-bar-transition:var(--transition-time-slowest);--restricted-input-border-color:var(--color-good);--restricted-input-border-color-focus:hsl(from var(--color-good)h s calc(l + 10));--restricted-input-border-color-invalid:var(--color-bad);--round-gauge-ring-color:var(--input-border-color);--round-gauge-transition:var(--transition-time-medium);--round-gauge-alert-animation:var(--transition-time-slowest);--round-gauge-needle-alert-animation:var(--transition-time-fast);--round-gauge-needle-alert-rotation:2.5deg;--section-title-color:var(--color-text);--section-background:var(--color-section);--section-separator-color:var(--color-primary);--section-separator-thickness:var(--border-thickness-small);--slider-cursor-color:var(--color-text);--slider-popup-background:var(--tooltip-background);--slider-popup-color:var(--tooltip-color);--slider-popup-border-radius:var(--tooltip-border-radius);--slider-popup-blur:var(--tooltip-blur);--tooltip-color:var(--color-text);--tooltip-background-lightness:5;--tooltip-background:hsl(from var(--color-base)h s var(--tooltip-background-lightness)/.85);--tooltip-border-radius:var(--border-radius-medium);--tooltip-blur:var(--blur-medium)}body{font-family:var(--font-family,Verdana,Geneva,sans-serif);position:relative;overflow:auto}.BlockQuote{color:var(--blockquote-color);border-left:var(--blockquote-border);padding-left:var(--space-m);margin-bottom:var(--space-m)}.BlockQuote:last-child{margin-bottom:0}.Button--color--grey,.Button--color--gray{--color:var(--color-grey)}.Button--color--light-grey,.Button--color--light-gray{--color:var(--color-light-grey)}.ColorBox{text-align:center;width:1em;height:1em;line-height:1em;display:inline-block}.Dialog{background-color:var(--dialog-background);justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.Dialog__content{font-family:var(--font-family-mono);background-color:var(--color-base);flex-direction:column;font-size:1.16667em;display:flex}.Dialog__header{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:var(--dialog-background);height:2em;line-height:1.928em;display:flex}.Dialog__title{margin-left:var(--space-xl);margin-right:var(--space-xxl);opacity:.33;flex-grow:1;font-style:italic;display:inline}.Dialog__body{margin:var(--space-xxl)var(--space-xl);flex-grow:1}.Dialog__footer{padding:var(--space-xl);background-color:hsl(from var(--dialog-background)h s l/.25);flex-direction:row;justify-content:flex-end;display:flex}.Dialog__button{margin:0 var(--space-xl);text-align:center;min-width:6rem;height:2rem}.SaveAsDialog__inputs{padding-left:var(--space-xxl);margin-right:var(--space-xl);flex-direction:row;justify-content:flex-end;align-items:center;display:flex}.SaveAsDialog__input{margin-left:var(--space-xl);width:80%}.SaveAsDialog__label{vertical-align:center}.Dialog__FileList{flex-wrap:wrap;flex-grow:1;align-content:flex-start;max-height:20rem;display:flex;position:relative;overflow-x:auto;overflow-y:scroll}.Dialog__FileEntry{text-align:center;margin:var(--space-xl)}.Dialog__FileIcon{cursor:default;text-align:center;width:6vh;height:auto;margin:0 0 var(--space-xl)0;display:inline-block;position:relative}.Dimmer{background-color:var(--dimmer-background);z-index:100;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.Divider--horizontal{margin:var(--space-m)0}.Divider--horizontal:not(.Divider--hidden){border-top:var(--divider-border)}.Divider--vertical{height:100%;margin:0 var(--space-m)}.Divider--vertical:not(.Divider--hidden){border-left:var(--divider-border)}.Button{white-space:nowrap;line-height:var(--button-height);padding:0 var(--space-m);margin-right:var(--space-xs);margin-bottom:var(--space-xs);border-radius:var(--button-border-radius);--button-background:hsl(from var(--color)h s calc(l - var(--adjust-color)));cursor:var(--cursor-pointer);background-color:var(--button-background);color:var(--button-color);transition-property:background-color,color,opacity;transition-duration:var(--button-transition);transition-timing-function:var(--button-transition-timing);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;outline:none;display:inline-block;position:relative}.Button:hover{background-color:hsl(from var(--button-background)h s calc(l + var(--adjust-hover)));color:var(--button-color)}.Button:active{background-color:hsl(from var(--button-background)h s calc(l - var(--adjust-active)));color:var(--button-color);transition:none}.Button:last-child{margin-bottom:0;margin-right:0}.Button__content{align-self:stretch;display:block}.Button__content--ellipsis{align-items:center;display:flex}.Button .Button--icon{text-align:center;min-width:1.333em}.Button.Button--hasIcon{padding-left:0}.Button.Button--hasIcon .Button--icon{margin:0 var(--space-s)}.Button--icon-right.Button--hasIcon{padding-left:var(--space-m);padding-right:var(--space-s)}.Button--icon-right.Button--hasIcon .Button--icon{margin:0 0 0 var(--space-s)}.Button--empty.Button--hasIcon{padding:0}.Button--compact{padding:0 var(--space-s);line-height:1.333em}.Button--compact.Button--hasIcon .Button--icon{margin:0 var(--space-xxs)}.Button--circular{border-radius:var(--border-radius-circular)}.Button--fluid{margin-left:0;margin-right:0;display:block}.Button--ellipsis{text-overflow:ellipsis;margin-right:calc(-1*var(--space-s));display:block;overflow:hidden}.Stack>.Button,.Stack__item>.Button{margin:0}.Button--color--red{--color:var(--color-red)}.Button--color--orange{--color:var(--color-orange)}.Button--color--yellow{--color:var(--color-yellow);--button-color:var(--color-black)}.Button--color--olive{--color:var(--color-olive)}.Button--color--green{--color:var(--color-green)}.Button--color--teal{--color:var(--color-teal)}.Button--color--blue{--color:var(--color-blue)}.Button--color--violet{--color:var(--color-violet)}.Button--color--purple{--color:var(--color-purple)}.Button--color--pink{--color:var(--color-pink)}.Button--color--brown{--color:var(--color-brown)}.Button--color--gold{--color:var(--color-gold)}.Button--color--black{--color:var(--color-black)}.Button--color--white{--color:var(--color-white);--button-color:var(--color-black)}.Button--color--grey,.Button--color--gray{--color:var(--color-grey)}.Button--color--light-grey,.Button--color--light-gray{--color:var(--color-light-grey)}.Button--color--primary{--color:var(--color-primary)}.Button--color--good{--color:var(--color-good)}.Button--color--average{--color:var(--color-average)}.Button--color--bad{--color:var(--color-bad)}.Button--color--label{--color:var(--color-label)}.Button--color--default{--color:var(--button-background-default)}.Button--color--caution{--color:var(--button-background-caution)}.Button--color--danger{--color:var(--button-background-danger)}.Button--color--transparent{--button-background:hsl(from var(--button-color)h s l/.1);--button-color:var(--button-color-transparent);background-color:transparent}.Button--color--transparent:hover{--button-color:hsl(from var(--button-color-transparent)h s l/1)}.Button--color--transparent:active{opacity:.75}.Button--color--transparent.Button--selected{--button-color:hsl(from var(--color)h s calc(l + var(--adjust-color)))}.Button--color--transparent.Button--disabled{--button-background:hsl(from var(--button-color)h s l/.2);--button-color:var(--color-bad);opacity:1;color:var(--button-color)!important}.Button--disabled{opacity:var(--button-disabled-opacity);cursor:var(--cursor-disabled)!important;background-color:var(--button-background-disabled,var(--button-background))!important}.Button--selected{--color:var(--button-background-selected)!important}.Button--flex{flex-direction:column;display:inline-flex}.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}.Dropdown{align-items:stretch;gap:var(--space-s);margin-right:var(--space-xs);margin-bottom:var(--space-xs);display:flex}.Dropdown:last-child{margin-bottom:0;margin-right:0}.Dropdown .Button{align-content:center;margin:0}.Dropdown--fluid{flex:1;width:100%}.Dropdown__control{font-family:var(--font-family);border-radius:var(--button-border-radius);--button-background:hsl(from var(--color)h s calc(l - var(--adjust-color)));height:1.83333em;cursor:var(--cursor-pointer);background-color:var(--button-background);color:var(--button-color);transition-property:background-color,color,opacity;transition-duration:var(--button-transition);transition-timing-function:var(--button-transition-timing);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;flex:1;font-size:1em;line-height:1.33333em;display:flex;overflow:hidden}.Dropdown__control:hover{background-color:hsl(from var(--button-background)h s calc(l + var(--adjust-hover)));color:var(--button-color)}.Dropdown__control:active{background-color:hsl(from var(--button-background)h s calc(l - var(--adjust-active)));color:var(--button-color);transition:none}.Dropdown__selected-text{text-overflow:ellipsis;white-space:nowrap;height:100%;padding:var(--space-s)var(--space-m);border-right:var(--border-thickness-tiny)solid var(--color-border-dark);flex:1;align-content:center;display:inline-block;overflow:hidden}.Dropdown__icon{text-align:center;width:1.83333em;height:100%;transition:transform var(--dropdown-transition);align-content:center;display:inline-block}.Dropdown__icon--arrow.open:not(.over),.Dropdown__icon--arrow.over:not(.open){transform:rotate(180deg)}.Dropdown__icon~.Dropdown__selected-text{padding-left:0}.Dropdown__menu{scrollbar-width:thin;scrollbar-color:var(--color-scrollbar-thumb)transparent;max-height:16.6667em;padding:var(--space-sm);overflow-y:auto}.Dropdown__menu--wrapper{background-color:var(--dropdown-menu-background);color:var(--dropdown-menu-color);border:var(--dropdown-menu-border);border-radius:var(--dropdown-menu-border-radius);-webkit-backdrop-filter:var(--dropdown-menu-blur);backdrop-filter:var(--dropdown-menu-blur);overflow:hidden}.Dropdown__menu--entry{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;font-family:var(--font-family);padding:var(--space-xs)var(--space-m);border-radius:var(--dropdown-entry-border-radius);transition:background-color var(--dropdown-entry-transition);font-size:1em;line-height:1.33333em;overflow:hidden}.Dropdown__menu--entry.selected{transition-duration:0s;background-color:var(--dropdown-entry-background-selected)!important}.Dropdown__menu--entry:not(.selected){cursor:var(--cursor-pointer)}.Dropdown__menu--entry:not(.selected):hover{background-color:var(--dropdown-entry-background-hover);transition-duration:0s}.Dropdown__menu--entry:not(.selected):active{background-color:var(--dropdown-entry-background-active);transition-duration:0s}.Dropdown__control--icon-only{justify-content:center;align-items:center;max-width:2rem;display:flex}.Flex{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}.Floating{z-index:5}.Floating--animated[data-transition=open]{opacity:1;transform:scale(1)}.Floating--animated[data-transition=close],.Floating--animated[data-transition=initial]{opacity:0;transform:scale(.9)}.Floating--animated[data-transition=open],.Floating--animated[data-transition=close]{transition-duration:var(--floating-transition-time);transition-timing-function:var(--floating-transition-timing);transition-property:opacity,transform}.Floating[data-position=top]{transform-origin:bottom}.Floating[data-position=top-start],.Floating[data-position=right-end]{transform-origin:0 100%}.Floating[data-position=top-end],.Floating[data-position=left-end]{transform-origin:100% 100%}.Floating[data-position=bottom]{transform-origin:top}.Floating[data-position=bottom-start],.Floating[data-position=right-start]{transform-origin:0 0}.Floating[data-position=bottom-end],.Floating[data-position=left-start]{transform-origin:100% 0}.Floating[data-position=right]{transform-origin:0}.Floating[data-position=left]{transform-origin:100%}.IconStack{justify-content:center;align-items:center;display:inline-flex;position:relative}.IconStack .Icon:before{vertical-align:middle}.IconStack .Icon:not(:first-child){position:absolute}.ImageButton{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-align:center;background-color:hsl(from var(--imagebutton-color)h s calc(l - var(--adjust-color)*2)/var(--imagebutton-transparecy));border:var(--border-thickness-tiny)solid hsl(from var(--imagebutton-color)h s calc(l + var(--adjust-color))/var(--imagebutton-transparecy));border-radius:var(--border-radius-medium);transition-property:background-color,border-color,box-shadow;transition-duration:var(--transition-time-medium);border-width:0;margin:.25em;display:inline-flex;position:relative;overflow:hidden}.ImageButton:not(:-webkit-any(.ImageButton--disabled,.ImageButton--noAction)) .ImageButton__container{cursor:var(--cursor-pointer)}.ImageButton:not(:-moz-any(.ImageButton--disabled,.ImageButton--noAction)) .ImageButton__container{cursor:var(--cursor-pointer)}.ImageButton:not(:is(.ImageButton--disabled,.ImageButton--noAction)) .ImageButton__container{cursor:var(--cursor-pointer)}.ImageButton:not(:-webkit-any(.ImageButton--disabled,.ImageButton--noAction)):not(:-webkit-any(:has(.ImageButton__buttons:hover),:has(.ImageButton__buttons:active))):hover{background-color:hsl(from var(--imagebutton-color)h s calc(l - var(--adjust-color) + var(--adjust-hover))/var(--imagebutton-transparecy))}.ImageButton:not(:-moz-any(.ImageButton--disabled,.ImageButton--noAction)):not(:-moz-any(:has(.ImageButton__buttons:hover),:has(.ImageButton__buttons:active))):hover{background-color:hsl(from var(--imagebutton-color)h s calc(l - var(--adjust-color) + var(--adjust-hover))/var(--imagebutton-transparecy))}.ImageButton:not(:is(.ImageButton--disabled,.ImageButton--noAction)):not(:is(:has(.ImageButton__buttons:hover),:has(.ImageButton__buttons:active))):hover{background-color:hsl(from var(--imagebutton-color)h s calc(l - var(--adjust-color) + var(--adjust-hover))/var(--imagebutton-transparecy))}.ImageButton:not(:-webkit-any(.ImageButton--disabled,.ImageButton--noAction)):not(:-webkit-any(:has(.ImageButton__buttons:hover),:has(.ImageButton__buttons:active))):active .ImageButton__image{-webkit-filter:drop-shadow(var(--shadow-glow-small)var(--imagebutton-color));filter:drop-shadow(var(--shadow-glow-small)var(--imagebutton-color));transition-duration:0s}.ImageButton:not(:-moz-any(.ImageButton--disabled,.ImageButton--noAction)):not(:-moz-any(:has(.ImageButton__buttons:hover),:has(.ImageButton__buttons:active))):active .ImageButton__image{-webkit-filter:drop-shadow(var(--shadow-glow-small)var(--imagebutton-color));filter:drop-shadow(var(--shadow-glow-small)var(--imagebutton-color));transition-duration:0s}.ImageButton:not(:is(.ImageButton--disabled,.ImageButton--noAction)):not(:is(:has(.ImageButton__buttons:hover),:has(.ImageButton__buttons:active))):active .ImageButton__image{-webkit-filter:drop-shadow(var(--shadow-glow-small)var(--imagebutton-color));filter:drop-shadow(var(--shadow-glow-small)var(--imagebutton-color));transition-duration:0s}.ImageButton:not(.ImageButton--fluid) .ImageButton__content{background-color:hsl(from var(--imagebutton-color)h s calc(l - var(--adjust-hover)));border-top:var(--border-thickness-tiny)solid var(--imagebutton-color)}.ImageButton__container{border-color:inherit;transition:opacity var(--transition-time-medium);flex-direction:column;display:flex}.ImageButton__image{pointer-events:none;padding:var(--space-s);border:var(--border-thickness-tiny)solid;border-bottom:none;border-color:inherit;border-radius:var(--border-radius-medium)var(--border-radius-medium)0 0;transition:filter var(--transition-time-slow);align-self:center;line-height:0;position:relative;overflow:hidden}.ImageButton__image--fallback{text-align:center;color:var(--color-text-translucent);align-content:center}.ImageButton__image--fallback:before{zoom:.75;width:100%;display:table}.ImageButton__content{white-space:nowrap;text-overflow:ellipsis;color:var(--color-text-fixed-white);z-index:2;padding:.25em .33em;overflow:hidden}.ImageButton__buttons{left:var(--border-thickness-tiny);z-index:1;max-width:100%;display:flex;position:absolute;bottom:1.8em;overflow:hidden}.ImageButton__buttons--alt{pointer-events:none;top:var(--border-thickness-tiny);text-shadow:0px 1px 2px var(--color-base),-1px 0px 2px var(--color-base),1px 0px 2px var(--color-base),0px -1px 2px var(--color-base);flex-direction:column;overflow:visible;bottom:unset!important}.ImageButton__buttons--empty{bottom:0;left:0}.ImageButton__buttons>*{border-radius:0!important;margin:0!important;padding:0!important}.ImageButton--empty{border-width:var(--border-thickness-tiny)}.ImageButton--empty .ImageButton__image{border-radius:var(--border-radius-medium);border:none}.Stack>.ImageButton,.Stack__item>.ImageButton{margin:0}.ImageButton--fluid{border-width:var(--border-thickness-tiny);flex-direction:row;margin:0 0 .33em;display:flex}.ImageButton--fluid:last-child{margin-bottom:0}.ImageButton--fluid .ImageButton__container{flex-direction:row;flex:1}.ImageButton--fluid .ImageButton__image{border:0;margin:0 auto;padding:0}.ImageButton--fluid .ImageButton__content{white-space:normal;color:var(--color-text);flex-direction:column;flex:1;justify-content:center;margin:0 .5em;padding:0;display:flex}.ImageButton--fluid .ImageButton__content--title{padding:.5em;font-weight:700}.ImageButton--fluid .ImageButton__content--divider{border-bottom:var(--border-thickness-small)solid var(--color-border)}.ImageButton--fluid .ImageButton__content--text{padding:.5em}.ImageButton--fluid .ImageButton__buttons{left:inherit;bottom:inherit;background-color:inherit;position:relative}.ImageButton--fluid .ImageButton__buttons--alt{pointer-events:all;top:inherit;text-shadow:none}.ImageButton--fluid .ImageButton__buttons--alt>*{border-top:1px solid rgba(255,255,255,.075)}.ImageButton--fluid .ImageButton__buttons--alt>:first-child{border-top:0}.ImageButton--fluid .ImageButton__buttons>*{text-align:center;white-space:pre-wrap;border-left:var(--border-thickness-tiny)solid var(--color-border);flex-direction:column;justify-content:center;height:100%;line-height:1.15em;display:inline-flex}.ImageButton__color--red{--imagebutton-color:var(--color-red)}.ImageButton__color--orange{--imagebutton-color:var(--color-orange)}.ImageButton__color--yellow{--imagebutton-color:var(--color-yellow);--color-text-fixed-white:var(--color-black)}.ImageButton__color--olive{--imagebutton-color:var(--color-olive)}.ImageButton__color--green{--imagebutton-color:var(--color-green)}.ImageButton__color--teal{--imagebutton-color:var(--color-teal)}.ImageButton__color--blue{--imagebutton-color:var(--color-blue)}.ImageButton__color--violet{--imagebutton-color:var(--color-violet)}.ImageButton__color--purple{--imagebutton-color:var(--color-purple)}.ImageButton__color--pink{--imagebutton-color:var(--color-pink)}.ImageButton__color--brown{--imagebutton-color:var(--color-brown)}.ImageButton__color--gold{--imagebutton-color:var(--color-gold)}.ImageButton__color--black{--imagebutton-color:var(--color-black)}.ImageButton__color--white{--imagebutton-color:var(--color-white);--color-text-fixed-white:var(--color-black)}.ImageButton__color--grey,.ImageButton__color--gray{--imagebutton-color:var(--color-grey)}.ImageButton__color--light-grey,.ImageButton__color--light-gray{--imagebutton-color:var(--color-light-grey)}.ImageButton__color--good{--imagebutton-color:var(--color-good)}.ImageButton__color--average{--imagebutton-color:var(--color-average)}.ImageButton__color--bad{--imagebutton-color:var(--color-bad)}.ImageButton__color--label{--imagebutton-color:var(--color-label)}.ImageButton__color--transparent{--imagebutton-color:var(--color-text-translucent-light);--imagebutton-transparecy:.1;background-color:transparent;border-color:transparent!important}.ImageButton__color--transparent .ImageButton__content{color:var(--color-text-translucent-light);background-color:transparent!important;border-color:transparent!important}.ImageButton__color--transparent.ImageButton--disabled{background-color:hsL(from var(--color-red)h s l/.15)!important}.ImageButton__color--transparent.ImageButton--selected{background-color:hsL(from var(--color-good)h s l/.15)}.ImageButton__color--default{--imagebutton-color:hsl(from var(--color-base)h s 30)}.ImageButton__color--primary{--imagebutton-color:hsl(from var(--color-primary)h s l)}.ImageButton--selected{--imagebutton-color:hsl(from var(--button-background-selected)h s calc(l*1.15));--color-text-fixed-white:var(--color-white)}.ImageButton--disabled .ImageButton__container{cursor:var(--cursor-disabled);opacity:.5}.ImageButton--disabled.ImageButton--fluid{-webkit-filter:contrast(75%);filter:contrast(75%)}.ImageButton--disabled.ImageButton--fluid .ImageButton__buttons{-webkit-filter:contrast(125%);filter:contrast(125%)}.Input{background-color:var(--input-background);border-radius:var(--input-border-radius);border:var(--border-thickness-tiny)solid var(--input-border-color);color:var(--input-color);font-size:1em;font-family:var(--input-font-family);padding:var(--space-xxs)var(--space-sm);width:var(--input-width)}.Input:focus{outline:none}.Input:focus-within{border-color:var(--input-border-color-focus)}.Input::-webkit-input-placeholder{color:var(--input-color-placeholder);font-style:italic}.Input::-ms-input-placeholder{color:var(--input-color-placeholder);font-style:italic}.Input::placeholder{color:var(--input-color-placeholder);font-style:italic}.Input--disabled{border-color:var(--input-border-disabled);color:var(--input-color-placeholder)}.Input--fluid{width:100%}.Input--monospace{font-family:var(--input-font-family-mono)}.Knob{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:var(--cursor-n-resize);width:2.6em;height:2.6em;margin:0 auto -.2em;font-size:1rem;position:relative}.Knob:after{content:".";color:transparent;line-height:2.5em}.Knob__circle{inset:var(--knob-inner-padding);background-color:var(--knob-color);background-image:linear-gradient(to bottom,hsl(from var(--knob-color)h s calc(l + 15))0%,var(--knob-color)100%);border-radius:var(--border-radius-circular);box-shadow:var(--shadow-glow-medium)hsl(from var(--knob-color)h s l/.25);margin:.3em;position:absolute}.Knob__cursorBox{position:absolute;top:0;bottom:0;left:0;right:0}.Knob__cursor{background-color:hsl(from var(--knob-color)h s 85);width:.2em;height:.8em;margin:0 auto;position:relative;top:.05em}.Knob__popupValue{white-space:nowrap;text-align:center;padding:var(--space-s)var(--space-m);background-color:var(--knob-popup-background);color:var(--knob-popup-color);border-radius:var(--knob-popup-border-radius);-webkit-backdrop-filter:var(--knob-popup-blur);backdrop-filter:var(--knob-popup-blur);font-size:1rem;position:absolute;top:0;left:50%;transform:translateY(-100%)translate(-50%)}.Knob__ring{padding:var(--knob-inner-padding);position:absolute;top:0;bottom:0;left:0;right:0;overflow:visible}.Knob__ringTrackPivot{transform:rotate(135deg)}.Knob__ringTrack{fill:transparent;stroke:hsl(from var(--ring-color,var(--knob-ring-color))h s l/.15);stroke-width:8px;stroke-linecap:round;stroke-dasharray:235.62}.Knob__ringFillPivot{transform:rotate(135deg)}.Knob--bipolar .Knob__ringFillPivot{transform:rotate(270deg)}.Knob__ringFill{fill:transparent;stroke:var(--ring-color,var(--knob-ring-color));stroke-width:8px;stroke-linecap:round;stroke-dasharray:314.16;transition:stroke var(--transition-time-medium)ease-out}.Knob--color--red{--ring-color:var(--color-red)}.Knob--color--orange{--ring-color:var(--color-orange)}.Knob--color--yellow{--ring-color:var(--color-yellow)}.Knob--color--olive{--ring-color:var(--color-olive)}.Knob--color--green{--ring-color:var(--color-green)}.Knob--color--teal{--ring-color:var(--color-teal)}.Knob--color--blue{--ring-color:var(--color-blue)}.Knob--color--violet{--ring-color:var(--color-violet)}.Knob--color--purple{--ring-color:var(--color-purple)}.Knob--color--pink{--ring-color:var(--color-pink)}.Knob--color--brown{--ring-color:var(--color-brown)}.Knob--color--gold{--ring-color:var(--color-gold)}.Knob--color--black{--ring-color:var(--color-black)}.Knob--color--white{--ring-color:var(--color-white)}.Knob--color--grey,.Knob--color--gray{--ring-color:var(--color-grey)}.Knob--color--light-grey,.Knob--color--light-gray{--ring-color:var(--color-light-grey)}.Knob--color--primary{--ring-color:var(--color-primary)}.Knob--color--good{--ring-color:var(--color-good)}.Knob--color--average{--ring-color:var(--color-average)}.Knob--color--bad{--ring-color:var(--color-bad)}.Knob--color--label{--ring-color:var(--color-label)}.LabeledList{border-collapse:collapse;border-spacing:0;width:calc(100% + 1em);margin:calc(-1*var(--space-s))calc(-1*var(--space-m))0;padding:0;display:table}.LabeledList__row{display:table-row}.LabeledList__row:last-child .LabeledList__cell{padding-bottom:0}.LabeledList__cell{padding:var(--space-s)var(--space-m);text-align:left;border:0;margin:0;display:table-cell}.LabeledList__label--nowrap{white-space:nowrap;width:1%;min-width:5em}.LabeledList__buttons{white-space:nowrap;text-align:right;width:.1%;padding-top:var(--space-xxs);padding-bottom:0}.LabeledList__breakContents{word-break:break-all;word-wrap:break-word}.MenuBar{display:flex}.MenuBar__font{font-family:var(--menu-bar-font-family);font-size:1em;line-height:1.41667em}.MenuBar__hover:hover{background-color:hsl(from var(--menu-bar-background)h s calc(l + 20));transition:background-color}.MenuBar__MenuBarButton{padding:var(--space-s)var(--space-m)}.MenuBar__menu{background-color:var(--menu-bar-background);padding:var(--space-sm);z-index:5;position:absolute;box-shadow:4px 6px 5px -2px rgba(0,0,0,.5)}.MenuBar__MenuItem{transition:background-color var(--menu-bar-transition)ease-out;background-color:var(--menu-bar-background);white-space:nowrap;padding:var(--space-sm)var(--space-xl)var(--space-sm)calc(var(--space-xxl) + 1rem)}.MenuBar__MenuItemToggle{padding:var(--space-sm)var(--space-xl)var(--space-sm)0}.MenuBar__MenuItemToggle__check{vertical-align:middle;text-align:center;min-width:2.5rem;padding-left:var(--space-sm);display:inline-block}.MenuBar__over{top:auto;bottom:100%}.MenuBar__MenuBarButton-text{text-overflow:clip;white-space:nowrap;height:1.41667em}.MenuBar__Separator{margin:var(--space-sm);border-top:var(--border-thickness-tiny)solid var(--color-border);display:block}.Modal{background-color:var(--modal-background);padding:var(--modal-padding)}.Modal__dimmer .Dimmer__inner{max-width:calc(100vw - var(--space-xxl));max-height:calc(100vh - var(--space-xxl))}.NoticeBox{--noticebox-background:var(--notice-box-background);padding:var(--space-sm)var(--space-m);margin-bottom:var(--space-m);background-color:oklch(from var(--noticebox-background)calc(l*.825)calc(c*.75)h);background-image:repeating-linear-gradient(-45deg,transparent 0 .833333em,var(--notice-box-stripes).833333em 1.66667em);color:var(--notice-box-color);font-style:italic;font-weight:700}.NoticeBox--color--red{--noticebox-background:var(--color-red)}.NoticeBox--color--orange{--noticebox-background:var(--color-orange)}.NoticeBox--color--yellow{--noticebox-background:var(--color-yellow);--notice-box-color:var(--color-black)}.NoticeBox--color--olive{--noticebox-background:var(--color-olive)}.NoticeBox--color--green{--noticebox-background:var(--color-green)}.NoticeBox--color--teal{--noticebox-background:var(--color-teal)}.NoticeBox--color--blue{--noticebox-background:var(--color-blue)}.NoticeBox--color--violet{--noticebox-background:var(--color-violet)}.NoticeBox--color--purple{--noticebox-background:var(--color-purple)}.NoticeBox--color--pink{--noticebox-background:var(--color-pink)}.NoticeBox--color--brown{--noticebox-background:var(--color-brown)}.NoticeBox--color--gold{--noticebox-background:var(--color-gold)}.NoticeBox--color--black{--noticebox-background:var(--color-black);--notice-box-stripes:rgba(255,255,255,.1)}.NoticeBox--color--white{--noticebox-background:var(--color-white);--notice-box-color:var(--color-black)}.NoticeBox--color--grey,.NoticeBox--color--gray{--noticebox-background:var(--color-grey)}.NoticeBox--color--light-grey,.NoticeBox--color--light-gray{--noticebox-background:var(--color-light-grey)}.NoticeBox--color--primary{--noticebox-background:var(--color-primary)}.NoticeBox--color--good{--noticebox-background:var(--color-good)}.NoticeBox--color--average{--noticebox-background:var(--color-average)}.NoticeBox--color--bad{--noticebox-background:var(--color-bad)}.NoticeBox--color--label{--noticebox-background:var(--color-label)}.NoticeBox--type--info{--noticebox-background:var(--color-blue)}.NoticeBox--type--success{--noticebox-background:var(--color-green)}.NoticeBox--type--warning{--noticebox-background:var(--color-orange)}.NoticeBox--type--danger{--noticebox-background:var(--color-red)}.NumberInput{cursor:var(--cursor-n-resize);text-align:right;padding:0 var(--space-sm);margin-right:var(--space-xs);background-color:var(--number-input-background);color:var(--number-input-border-color-active);border:var(--border-thickness-tiny)solid var(--number-input-border-color);border-radius:var(--number-input-border-radius);transition:border-color var(--number-input-transition);line-height:1.41667em;display:inline-block;position:relative;overflow:visible}.NumberInput:active{border-color:var(--number-input-border-color-active)}.NumberInput--fluid{display:block}.NumberInput__content{margin-left:var(--space-m)}.NumberInput__barContainer{top:var(--space-xs);bottom:var(--space-xs);left:var(--space-xs);position:absolute}.NumberInput__bar{box-sizing:border-box;border-bottom:var(--border-thickness-tiny)solid var(--number-input-border-color-active);background-color:var(--number-input-border-color-active);width:.25em;position:absolute;bottom:0;left:0}.NumberInput__input{text-align:right;width:100%;height:1.41667em;padding:0 var(--space-m);font-size:1em;line-height:1.41667em;font-family:var(--font-family);background-color:var(--number-input-background);color:var(--number-input-color);border:0;outline:0;margin:0;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.ProgressBar{width:100%;min-height:var(--button-height);padding:0 var(--space-m);background-color:var(--progress-bar-background);border:var(--border-thickness-tiny)solid var(--progress-bar-color);border-radius:var(--progress-bar-border-radius);transition:border-color var(--progress-bar-transition)ease-out;align-content:center;display:inline-block;position:relative}.ProgressBar__fill{background-color:var(--progress-bar-color);position:absolute;top:0;bottom:0;left:0;right:0}.ProgressBar__fill--animated{transition-property:background-color,width;transition-duration:var(--progress-bar-transition)}.ProgressBar__content{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-align:right;width:100%;position:relative}.ProgressBar--color--default{--progress-bar-color:hsl(from var(--progress-bar-fill)h s calc(l - var(--adjust-color)))}.ProgressBar--color--red{--progress-bar-color:hsl(from var(--color-red)h s calc(l - var(--adjust-color)))}.ProgressBar--color--orange{--progress-bar-color:hsl(from var(--color-orange)h s calc(l - var(--adjust-color)))}.ProgressBar--color--yellow{--progress-bar-color:hsl(from var(--color-yellow)h s calc(l - var(--adjust-color)))}.ProgressBar--color--olive{--progress-bar-color:hsl(from var(--color-olive)h s calc(l - var(--adjust-color)))}.ProgressBar--color--green{--progress-bar-color:hsl(from var(--color-green)h s calc(l - var(--adjust-color)))}.ProgressBar--color--teal{--progress-bar-color:hsl(from var(--color-teal)h s calc(l - var(--adjust-color)))}.ProgressBar--color--blue{--progress-bar-color:hsl(from var(--color-blue)h s calc(l - var(--adjust-color)))}.ProgressBar--color--violet{--progress-bar-color:hsl(from var(--color-violet)h s calc(l - var(--adjust-color)))}.ProgressBar--color--purple{--progress-bar-color:hsl(from var(--color-purple)h s calc(l - var(--adjust-color)))}.ProgressBar--color--pink{--progress-bar-color:hsl(from var(--color-pink)h s calc(l - var(--adjust-color)))}.ProgressBar--color--brown{--progress-bar-color:hsl(from var(--color-brown)h s calc(l - var(--adjust-color)))}.ProgressBar--color--gold{--progress-bar-color:hsl(from var(--color-gold)h s calc(l - var(--adjust-color)))}.ProgressBar--color--black{--progress-bar-color:hsl(from var(--color-black)h s calc(l - var(--adjust-color)))}.ProgressBar--color--white{--progress-bar-color:hsl(from var(--color-white)h s calc(l - var(--adjust-color)))}.ProgressBar--color--grey,.ProgressBar--color--gray{--progress-bar-color:hsl(from var(--color-grey)h s calc(l - var(--adjust-color)))}.ProgressBar--color--light-grey,.ProgressBar--color--light-gray{--progress-bar-color:hsl(from var(--color-light-grey)h s calc(l - var(--adjust-color)))}.ProgressBar--color--primary{--progress-bar-color:hsl(from var(--color-primary)h s calc(l - var(--adjust-color)))}.ProgressBar--color--good{--progress-bar-color:hsl(from var(--color-good)h s calc(l - var(--adjust-color)))}.ProgressBar--color--average{--progress-bar-color:hsl(from var(--color-average)h s calc(l - var(--adjust-color)))}.ProgressBar--color--bad{--progress-bar-color:hsl(from var(--color-bad)h s calc(l - var(--adjust-color)))}.ProgressBar--color--label{--progress-bar-color:hsl(from var(--color-label)h s calc(l - var(--adjust-color)))}.RestrictedInput{border-color:var(--restricted-input-border-color);text-align:right}.RestrictedInput:focus-within{border-color:var(--restricted-input-border-color-focus)}.RestrictedInput::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.RestrictedInput::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.RestrictedInput--invalid{border-color:var(--restricted-input-border-color-invalid)}.RestrictedInput--invalid:focus-within{border-color:var(--restricted-input-border-color-invalid)}@keyframes RoundGauge__alertAnim{0%,to{opacity:.1}50%{opacity:1}}@keyframes RoundGauge__needleAlertAnim{0%{transform:rotate(var(--round-gauge-needle-alert-rotation))}50%{transform:rotate(calc(-1*var(--round-gauge-needle-alert-rotation)))}}.RoundGauge{width:2.6em;height:1.3em;margin:0 auto .2em;font-size:1rem}.RoundGauge__wrapper{text-align:center;display:inline-block}.RoundGauge__ringTrack{fill:transparent;stroke:rgba(255,255,255,.1);stroke-width:10px;stroke-dasharray:157.08;stroke-dashoffset:157.08px}.RoundGauge__ringFill{fill:transparent;stroke:var(--round-gauge-ring-color);stroke-width:10px;stroke-dasharray:314.16;transition:stroke var(--round-gauge-transition)ease-out}.RoundGauge__needle,.RoundGauge__ringFill{transition:transform var(--round-gauge-transition)ease-in-out}.RoundGauge__needleLine,.RoundGauge__needleMiddle{fill:var(--color-red)}.RoundGauge__alert{fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;fill:rgba(255,255,255,.1);transform-origin:top;transform:scale(.9)}.RoundGauge__alert.active{animation:RoundGauge__alertAnim var(--round-gauge-alert-animation)cubic-bezier(.34,1.56,.64,1)infinite}.RoundGauge__alert.active~.RoundGauge__needle .RoundGauge__needleLine{transform-origin:bottom;animation:RoundGauge__needleAlertAnim var(--round-gauge-needle-alert-animation)infinite}.RoundGauge__alert.max{fill:var(--color-bad)}.RoundGauge--color--red.RoundGauge__ringFill{stroke:var(--color-red)}.RoundGauge--color--orange.RoundGauge__ringFill{stroke:var(--color-orange)}.RoundGauge--color--yellow.RoundGauge__ringFill{stroke:var(--color-yellow)}.RoundGauge--color--olive.RoundGauge__ringFill{stroke:var(--color-olive)}.RoundGauge--color--green.RoundGauge__ringFill{stroke:var(--color-green)}.RoundGauge--color--teal.RoundGauge__ringFill{stroke:var(--color-teal)}.RoundGauge--color--blue.RoundGauge__ringFill{stroke:var(--color-blue)}.RoundGauge--color--violet.RoundGauge__ringFill{stroke:var(--color-violet)}.RoundGauge--color--purple.RoundGauge__ringFill{stroke:var(--color-purple)}.RoundGauge--color--pink.RoundGauge__ringFill{stroke:var(--color-pink)}.RoundGauge--color--brown.RoundGauge__ringFill{stroke:var(--color-brown)}.RoundGauge--color--gold.RoundGauge__ringFill{stroke:var(--color-gold)}.RoundGauge--color--black.RoundGauge__ringFill{stroke:var(--color-black)}.RoundGauge--color--white.RoundGauge__ringFill{stroke:var(--color-white)}.RoundGauge--color--grey.RoundGauge__ringFill,.RoundGauge--color--gray.RoundGauge__ringFill{stroke:var(--color-grey)}.RoundGauge--color--light-grey.RoundGauge__ringFill,.RoundGauge--color--light-gray.RoundGauge__ringFill{stroke:var(--color-light-grey)}.RoundGauge--color--primary.RoundGauge__ringFill{stroke:var(--color-primary)}.RoundGauge--color--good.RoundGauge__ringFill{stroke:var(--color-good)}.RoundGauge--color--average.RoundGauge__ringFill{stroke:var(--color-average)}.RoundGauge--color--bad.RoundGauge__ringFill{stroke:var(--color-bad)}.RoundGauge--color--label.RoundGauge__ringFill{stroke:var(--color-label)}.RoundGauge__alert--red{fill:var(--color-red)}.RoundGauge__alert--orange{fill:var(--color-orange)}.RoundGauge__alert--yellow{fill:var(--color-yellow)}.RoundGauge__alert--olive{fill:var(--color-olive)}.RoundGauge__alert--green{fill:var(--color-green)}.RoundGauge__alert--teal{fill:var(--color-teal)}.RoundGauge__alert--blue{fill:var(--color-blue)}.RoundGauge__alert--violet{fill:var(--color-violet)}.RoundGauge__alert--purple{fill:var(--color-purple)}.RoundGauge__alert--pink{fill:var(--color-pink)}.RoundGauge__alert--brown{fill:var(--color-brown)}.RoundGauge__alert--gold{fill:var(--color-gold)}.RoundGauge__alert--black{fill:var(--color-black)}.RoundGauge__alert--white{fill:var(--color-white)}.RoundGauge__alert--grey,.RoundGauge__alert--gray{fill:var(--color-grey)}.RoundGauge__alert--light-grey,.RoundGauge__alert--light-gray{fill:var(--color-light-grey)}.RoundGauge__alert--primary{fill:var(--color-primary)}.RoundGauge__alert--good{fill:var(--color-good)}.RoundGauge__alert--average{fill:var(--color-average)}.RoundGauge__alert--bad{fill:var(--color-bad)}.RoundGauge__alert--label{fill:var(--color-label)}.Section{margin-bottom:var(--space-m);background-color:var(--section-background);box-sizing:border-box;scrollbar-color:var(--color-scrollbar-thumb)transparent;position:relative}.Section:last-child{margin-bottom:0}.Section__title{padding:var(--space-m);border-bottom:var(--section-separator-thickness)solid var(--section-separator-color);position:relative}.Section__titleText{color:var(--section-title-color);font-size:1.16667em;font-weight:700}.Section__buttons{right:var(--space-m);margin-top:calc(-1*var(--space-xxs));display:inline-block;position:absolute}.Section__rest{position:relative}.Section__content{padding:var(--space-ml)var(--space-m)}.Section--fitted>.Section__rest>.Section__content{padding:0}.Section--fill{flex-direction:column;height:100%;display:flex}.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;bottom:0;left:0;right:0}.Section--scrollable{overflow:hidden}.Section--scrollable>.Section__rest>.Section__content{overflow-x:hidden;overflow-y:auto}.Section--scrollableHorizontal{overflow:hidden}.Section--scrollableHorizontal>.Section__rest>.Section__content{overflow-x:auto;overflow-y:hidden}.Section--scrollable.Section--scrollableHorizontal{overflow:hidden}.Section--scrollable.Section--scrollableHorizontal>.Section__rest>.Section__content{overflow:auto}.Section .Section{margin:0 calc(-1*var(--space-m));background-color:transparent}.Section .Section:first-child{margin-top:calc(-1*var(--space-m))}.Section .Section .Section__titleText{font-size:1.08333em}.Section .Section .Section .Section__titleText{font-size:1em}.Section--flex{flex-flow:column;display:flex}.Section--flex .Section__content{flex-grow:1;overflow:auto}.Section__content--noTopPadding{padding-top:0}.Section__content--stretchContents{height:calc(100% - 3rem)}.Slider{cursor:e-resize;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.Slider--editing .Slider__cursor:before{display:none}.Slider__cursor{inset:0 calc(-1*var(--space-xxs));left:unset;border-left:var(--border-thickness-small)solid var(--slider-cursor-color);border-radius:var(--border-radius-circular);position:absolute}.Slider__cursorOffset{position:absolute;top:0;bottom:0;left:0;right:0;transition:none!important}.Slider__cursor:before{content:"";aspect-ratio:1;border-left:inherit;transform-origin:50%;position:absolute;bottom:0;right:0;transform:scale(4)translateY(50%)rotate(45deg);-webkit-mask-image:linear-gradient(135deg,#000 50%,transparent 50%);mask-image:linear-gradient(135deg,#000 50%,transparent 50%)}.Slider__popupValue{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;padding:var(--space-s)var(--space-m);background-color:var(--slider-popup-background);color:var(--slider-popup-color);border-radius:var(--slider-popup-border-radius);-webkit-backdrop-filter:var(--slider-popup-blur);backdrop-filter:var(--slider-popup-blur);font-size:1em;position:absolute;top:-2em;right:0;transform:translate(50%)}.Slider .NumberInput__input{width:auto;height:auto;top:2px;bottom:2px;left:2px;right:2px}.Stack{gap:.5em}.Stack--fill{height:100%}.Stack--zebra>.Stack__item:nth-child(odd){background-color:var(--candystripe-odd)}.Stack--horizontal>.Stack__divider:not(.Stack__divider--hidden){border-left:var(--divider-border)}.Stack--vertical>.Stack__divider:not(.Stack__divider--hidden){border-top:var(--divider-border)}.Table{border-collapse:collapse;border-spacing:0;width:100%;margin:0;display:table}.Table--collapsing{width:auto}.Table__row{display:table-row}.Table__cell{padding:0 var(--space-s);display:table-cell}.Table__cell:first-child{padding-left:0}.Table__cell:last-child{padding-right:0}.Table__row--header .Table__cell,.Table__cell--header{padding-bottom:var(--space-m);font-weight:700}.Table__cell--collapsing{white-space:nowrap;width:1%}.Tabs{background-color:var(--tabs-container-background);align-items:stretch;display:flex;position:relative;overflow:hidden}.Tabs--fill{height:100%}.Tabs--vertical{padding:var(--space-s)0 var(--space-s)var(--space-s);flex-direction:column}.Tabs--horizontal{margin-bottom:var(--space-m);padding:var(--space-s)var(--space-s)0}.Tabs--horizontal:last-child{margin-bottom:0}.Tabs__Tab{flex-grow:0}.Tabs--fluid .Tabs__Tab{flex-grow:1}.Tab{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:var(--cursor-pointer);background-color:var(--tab-background);color:var(--tab-color);min-width:4em;min-height:2.25em;transition-property:background-color,color;transition-duration:var(--tab-transition);justify-content:space-between;align-items:center;display:flex}.Tab:not(.Tab--selected):hover{background-color:var(--tab-background-hover)}.Tab:not(.Tab--selected):active{color:var(--tab-color-selected)}.Tab--selected{cursor:var(--cursor-default);background-color:var(--tab-background-selected);color:var(--tab-color-selected)}.Tab .Tab__text{margin:0 var(--space-m);flex-grow:1}.Tab__left{text-align:center;min-width:1.5em;margin-left:var(--space-s)}.Tab__right{text-align:center;min-width:1.5em;margin-right:var(--space-s)}.Tabs--horizontal .Tab{border-top-left-radius:var(--tab-border-radius);border-top-right-radius:var(--tab-border-radius);padding-bottom:var(--tab-indicator-size);position:relative}.Tabs--horizontal .Tab:before{content:"";transition:transform var(--tab-transition);width:100%;height:var(--tab-indicator-size);background-color:currentColor;position:absolute;bottom:0;transform:scaleX(0)}.Tabs--horizontal .Tab--selected:before{transform:scaleX(.99999)!important}.Tabs--vertical .Tab{border-top-left-radius:var(--tab-border-radius);border-bottom-left-radius:var(--tab-border-radius);min-height:2em;padding-right:var(--tab-indicator-size);position:relative}.Tabs--vertical .Tab:before{content:"";transition:transform var(--tab-transition);width:var(--tab-indicator-size);background-color:currentColor;height:100%;position:absolute;right:0;transform:scaleY(0)}.Tabs--vertical .Tab--selected:before{transform:scaleY(.99999)!important}.Tabs--scrollable{--mask-width:3.25em;--mask-left:0rem;--mask-right:0rem;padding:0;display:grid}.Tabs--scrollable-content{scrollbar-width:none;overscroll-behavior:none;padding:var(--space-s)var(--space-s)0;-webkit-mask-image:linear-gradient(90deg,transparent calc(var(--mask-left)*.66),black calc(0% + var(--mask-left)),black calc(100% - var(--mask-right)),transparent calc(100% - var(--mask-right)*.66));mask-image:linear-gradient(90deg,transparent calc(var(--mask-left)*.66),black calc(0% + var(--mask-left)),black calc(100% - var(--mask-right)),transparent calc(100% - var(--mask-right)*.66));flex-wrap:nowrap;display:flex;overflow:auto}.Tabs--scrollable-content.scrollable-left.scrollable-right{--mask-left:var(--mask-width);--mask-right:var(--mask-width)}.Tabs--scrollable-content.scrollable-left{--mask-left:var(--mask-width)}.Tabs--scrollable-content.scrollable-right{--mask-right:var(--mask-width)}.Tabs--scrollable .scroll-left,.Tabs--scrollable .scroll-right{z-index:1;border-radius:0;align-content:center;height:100%;margin:0;position:absolute;top:0}.Tabs--scrollable .scroll-left{left:0}.Tabs--scrollable .scroll-right{right:0}.Tabs--scrollable .Tab{flex-shrink:0}.Tab--selected.Tab--color--red{color:hsl(from var(--color-red)h s calc(l + 17.5))}.Tab--selected.Tab--color--orange{color:hsl(from var(--color-orange)h s calc(l + 17.5))}.Tab--selected.Tab--color--yellow{color:hsl(from var(--color-yellow)h s calc(l + 17.5))}.Tab--selected.Tab--color--olive{color:hsl(from var(--color-olive)h s calc(l + 17.5))}.Tab--selected.Tab--color--green{color:hsl(from var(--color-green)h s calc(l + 17.5))}.Tab--selected.Tab--color--teal{color:hsl(from var(--color-teal)h s calc(l + 17.5))}.Tab--selected.Tab--color--blue{color:hsl(from var(--color-blue)h s calc(l + 17.5))}.Tab--selected.Tab--color--violet{color:hsl(from var(--color-violet)h s calc(l + 17.5))}.Tab--selected.Tab--color--purple{color:hsl(from var(--color-purple)h s calc(l + 17.5))}.Tab--selected.Tab--color--pink{color:hsl(from var(--color-pink)h s calc(l + 17.5))}.Tab--selected.Tab--color--brown{color:hsl(from var(--color-brown)h s calc(l + 17.5))}.Tab--selected.Tab--color--gold{color:hsl(from var(--color-gold)h s calc(l + 17.5))}.Tab--selected.Tab--color--black{color:hsl(from var(--color-black)h s calc(l + 17.5))}.Tab--selected.Tab--color--white{color:hsl(from var(--color-white)h s calc(l + 17.5))}.Tab--selected.Tab--color--grey,.Tab--selected.Tab--color--gray{color:hsl(from var(--color-grey)h s calc(l + 17.5))}.Tab--selected.Tab--color--light-grey,.Tab--selected.Tab--color--light-gray{color:hsl(from var(--color-light-grey)h s calc(l + 17.5))}.Tab--selected.Tab--color--primary{color:hsl(from var(--color-primary)h s calc(l + 17.5))}.Tab--selected.Tab--color--good{color:hsl(from var(--color-good)h s calc(l + 17.5))}.Tab--selected.Tab--color--average{color:hsl(from var(--color-average)h s calc(l + 17.5))}.Tab--selected.Tab--color--bad{color:hsl(from var(--color-bad)h s calc(l + 17.5))}.Tab--selected.Tab--color--label{color:hsl(from var(--color-label)h s calc(l + 17.5))}.Section .Tabs{background-color:transparent}.Section:not(.Section--fitted) .Tabs{margin:0 calc(-1*var(--space-m))var(--space-m)}.Section:not(.Section--fitted) .Tabs:first-child{margin-top:calc(-1*var(--space-m))}.TextArea{resize:none;scrollbar-width:thin;scrollbar-gutter:stable;scrollbar-color:var(--color-scrollbar-thumb)transparent}.Tooltip{-webkit-backdrop-filter:var(--tooltip-blur);backdrop-filter:var(--tooltip-blur);background-color:var(--tooltip-background);border-radius:var(--tooltip-border-radius);color:var(--tooltip-color);max-width:20.8333em;padding:var(--space-m)var(--space-l);pointer-events:none;text-align:left;box-shadow:.1em .1em 1.25em -.1em rgba(0,0,0,.5)}html,body{box-sizing:border-box;height:100%;font-size:var(--font-size,12px);color:var(--color-text,#fff);scrollbar-color:var(--color-scrollbar-thumb)var(--color-scrollbar-base);margin:0}html{cursor:var(--cursor-default,default);overflow:hidden}body{font-family:var(--font-family,Verdana,Geneva,sans-serif);overflow:auto}img{image-rendering:pixelated}*,:before,:after{box-sizing:inherit}h1,h2,h3,h4,h5,h6{padding:var(--space-m,6px)0;padding:var(--space-m,.5rem)0;margin:0;display:block}h1{font-size:1.5rem}h2{font-size:1.333rem}h3{font-size:1.167rem}h4{font-size:1rem}td,th{vertical-align:baseline;text-align:left}:where(.candystripe:nth-child(odd)){background-color:var(--candystripe-odd)}:where(.candystripe:nth-child(2n)){background-color:var(--candystripe-even)}.color-black{color:hsl(from var(--color-black)h s calc(l + var(--adjust-color)))!important}.color-white{color:hsl(from var(--color-white)h s calc(l + var(--adjust-color)))!important}.color-red{color:hsl(from var(--color-red)h s calc(l + var(--adjust-color)))!important}.color-orange{color:hsl(from var(--color-orange)h s calc(l + var(--adjust-color)))!important}.color-yellow{color:hsl(from var(--color-yellow)h s calc(l + var(--adjust-color)))!important}.color-olive{color:hsl(from var(--color-olive)h s calc(l + var(--adjust-color)))!important}.color-green{color:hsl(from var(--color-green)h s calc(l + var(--adjust-color)))!important}.color-teal{color:hsl(from var(--color-teal)h s calc(l + var(--adjust-color)))!important}.color-blue{color:hsl(from var(--color-blue)h s calc(l + var(--adjust-color)))!important}.color-violet{color:hsl(from var(--color-violet)h s calc(l + var(--adjust-color)))!important}.color-purple{color:hsl(from var(--color-purple)h s calc(l + var(--adjust-color)))!important}.color-pink{color:hsl(from var(--color-pink)h s calc(l + var(--adjust-color)))!important}.color-brown{color:hsl(from var(--color-brown)h s calc(l + var(--adjust-color)))!important}.color-grey,.color-gray{color:hsl(from var(--color-grey)h s calc(l + var(--adjust-color)))!important}.color-light-grey,.color-light-gray{color:hsl(from var(--color-light-grey)h s calc(l + var(--adjust-color)))!important}.color-good{color:hsl(from var(--color-good)h s calc(l + var(--adjust-color)))!important}.color-average{color:hsl(from var(--color-average)h s calc(l + var(--adjust-color)))!important}.color-bad{color:hsl(from var(--color-bad)h s calc(l + var(--adjust-color)))!important}.color-label{color:hsl(from var(--color-label)h s calc(l + var(--adjust-color)))!important}.color-bg-black{background-color:hsl(from var(--color-black)h s calc(l - var(--adjust-color)))!important}.color-bg-white{background-color:hsl(from var(--color-white)h s calc(l - var(--adjust-color)))!important}.color-bg-red{background-color:hsl(from var(--color-red)h s calc(l - var(--adjust-color)))!important}.color-bg-orange{background-color:hsl(from var(--color-orange)h s calc(l - var(--adjust-color)))!important}.color-bg-yellow{background-color:hsl(from var(--color-yellow)h s calc(l - var(--adjust-color)))!important}.color-bg-olive{background-color:hsl(from var(--color-olive)h s calc(l - var(--adjust-color)))!important}.color-bg-green{background-color:hsl(from var(--color-green)h s calc(l - var(--adjust-color)))!important}.color-bg-teal{background-color:hsl(from var(--color-teal)h s calc(l - var(--adjust-color)))!important}.color-bg-blue{background-color:hsl(from var(--color-blue)h s calc(l - var(--adjust-color)))!important}.color-bg-violet{background-color:hsl(from var(--color-violet)h s calc(l - var(--adjust-color)))!important}.color-bg-purple{background-color:hsl(from var(--color-purple)h s calc(l - var(--adjust-color)))!important}.color-bg-pink{background-color:hsl(from var(--color-pink)h s calc(l - var(--adjust-color)))!important}.color-bg-brown{background-color:hsl(from var(--color-brown)h s calc(l - var(--adjust-color)))!important}.color-bg-grey,.color-bg-gray{background-color:hsl(from var(--color-grey)h s calc(l - var(--adjust-color)))!important}.color-bg-light-grey,.color-bg-light-gray{background-color:hsl(from var(--color-light-grey)h s calc(l - var(--adjust-color)))!important}.color-bg-good{background-color:hsl(from var(--color-good)h s calc(l - var(--adjust-color)))!important}.color-bg-average{background-color:hsl(from var(--color-average)h s calc(l - var(--adjust-color)))!important}.color-bg-bad{background-color:hsl(from var(--color-bad)h s calc(l - var(--adjust-color)))!important}.color-bg-label{background-color:hsl(from var(--color-label)h s calc(l - var(--adjust-color)))!important}.debug-layout,.debug-layout :not(g):not(path){color:rgba(255,255,255,.9)!important;box-shadow:none!important;-webkit-filter:none!important;filter:none!important;background:0 0!important;outline:1px solid rgba(255,255,255,.5)!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:var(--border-thickness-small)solid hsl(from var(--color-black)h s calc(l + var(--adjust-color)))!important}.outline-color-white{outline:var(--border-thickness-small)solid hsl(from var(--color-white)h s calc(l + var(--adjust-color)))!important}.outline-color-red{outline:var(--border-thickness-small)solid hsl(from var(--color-red)h s calc(l + var(--adjust-color)))!important}.outline-color-orange{outline:var(--border-thickness-small)solid hsl(from var(--color-orange)h s calc(l + var(--adjust-color)))!important}.outline-color-yellow{outline:var(--border-thickness-small)solid hsl(from var(--color-yellow)h s calc(l + var(--adjust-color)))!important}.outline-color-olive{outline:var(--border-thickness-small)solid hsl(from var(--color-olive)h s calc(l + var(--adjust-color)))!important}.outline-color-green{outline:var(--border-thickness-small)solid hsl(from var(--color-green)h s calc(l + var(--adjust-color)))!important}.outline-color-teal{outline:var(--border-thickness-small)solid hsl(from var(--color-teal)h s calc(l + var(--adjust-color)))!important}.outline-color-blue{outline:var(--border-thickness-small)solid hsl(from var(--color-blue)h s calc(l + var(--adjust-color)))!important}.outline-color-violet{outline:var(--border-thickness-small)solid hsl(from var(--color-violet)h s calc(l + var(--adjust-color)))!important}.outline-color-purple{outline:var(--border-thickness-small)solid hsl(from var(--color-purple)h s calc(l + var(--adjust-color)))!important}.outline-color-pink{outline:var(--border-thickness-small)solid hsl(from var(--color-pink)h s calc(l + var(--adjust-color)))!important}.outline-color-brown{outline:var(--border-thickness-small)solid hsl(from var(--color-brown)h s calc(l + var(--adjust-color)))!important}.outline-color-grey,.outline-color-gray{outline:var(--border-thickness-small)solid hsl(from var(--color-grey)h s calc(l + var(--adjust-color)))!important}.outline-color-light-grey,.outline-color-light-gray{outline:var(--border-thickness-small)solid hsl(from var(--color-light-grey)h s calc(l + var(--adjust-color)))!important}.outline-color-good{outline:var(--border-thickness-small)solid hsl(from var(--color-good)h s calc(l + var(--adjust-color)))!important}.outline-color-average{outline:var(--border-thickness-small)solid hsl(from var(--color-average)h s calc(l + var(--adjust-color)))!important}.outline-color-bad{outline:var(--border-thickness-small)solid hsl(from var(--color-bad)h s calc(l + var(--adjust-color)))!important}.outline-color-label{outline:var(--border-thickness-small)solid hsl(from var(--color-label)h s calc(l + var(--adjust-color)))!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}.Chat{color:var(--chat-text-color)}.Chat__badge{color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#db143c;border-radius:10px;min-width:.5em;padding:.2em .3em;font-size:.7em;line-height:1;transition:font-size .2s ease-out;display:inline-block}.Chat__badge:before{content:"x"}.Chat__badge--animate{font-size:.9em;transition:font-size}.Chat__scrollButton{position:fixed;bottom:1em;right:2em}.Chat__reconnected{text-align:center;margin:1em 0 2em;font-size:.85em}.Chat__reconnected:before{content:"Reconnected";color:var(--reconnect-text,var(--color-red));background-color:var(--reconnect-background,var(--color-section));border-radius:1em;padding:0 .7em;display:inline-block}.Chat__reconnected:after{content:"";border-bottom:.166667em solid var(--color-red);margin-top:-.75em;display:block}.Chat__highlight{color:var(--color-black)}.Chat__highlight--restricted{color:#fff;background-color:#a00;font-weight:700}.ChatMessage{word-wrap:break-word}.ChatMessage--highlighted{border-left:.166667em solid #ffe045;padding-left:.5em;position:relative}.ChatMessage--highlighted:after{content:"";pointer-events:none;background-color:rgba(255,224,69,.1);position:absolute;top:0;bottom:0;left:0;right:0}.Ping{padding:var(--space-xs)var(--space-sm);border:var(--border-thickness-tiny)solid hsl(from var(--color-border-primary)h 10 50/.33);border-radius:var(--border-radius-medium);text-align:right;min-width:4em;max-width:5em;position:relative}.Ping__indicator{content:"";top:var(--space-m);left:var(--space-m);border-radius:var(--border-radius-medium);background-color:#888;width:.5em;height:.5em;position:absolute}.Notifications{position:absolute;top:1em;left:1em;right:2em}.Notification{color:#fff;background-color:#db143c;margin:1em 0;padding:.5em}.Notification:first-child{margin-top:0}.Notification:last-child{margin-bottom:0}.UnreadCount{pointer-events:none;top:calc(-1*var(--space-s));right:calc(-1*var(--space-s));padding:0 var(--space-s);border-radius:var(--border-radius-small);background-color:var(--color-red);color:var(--color-white);font-size:.65em;line-height:1.25em;position:absolute}.Layout__content{position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.Layout__content--scrollable{margin-bottom:0;overflow-y:auto}.Window{color:var(--color-text);background-color:var(--color-base);background-image:linear-gradient(to bottom,var(--color-base-start)0%,var(--color-base-end)100%);position:fixed;top:0;bottom:0;left:0;right:0}.Window__rest{position:fixed;top:2.66667rem;bottom:0;left:0;right:0}.Window__contentPadding{height:calc(100% - 1rem);margin:.5rem}.Window__contentPadding:after{height:0}.Layout__content--scrollable .Window__contentPadding:after{content:"";height:.5rem;display:block}.Window__dimmer{pointer-events:none;background-color:hsl(from var(--color-base)h s calc(l + 15)/.25);position:fixed;top:0;bottom:0;left:0;right:0}.Window__resizeHandle__se{cursor:var(--cursor-se-resize);width:1.66667rem;height:1.66667rem;position:fixed;bottom:0;right:0}.Window__resizeHandle__s{cursor:var(--cursor-s-resize);height:.5rem;position:fixed;bottom:0;left:0;right:0}.Window__resizeHandle__e{cursor:var(--cursor-e-resize);width:.25rem;position:fixed;top:0;bottom:0;right:0}img{margin:0;padding:0;line-height:1}img.icon{vertical-align:bottom;width:auto;min-width:16px;height:1em;min-height:16px}a{color:#397ea5}em{font-style:normal;font-weight:700}h1,h2,h3,h4,h5,h6{color:#a4bad6;font-family:Georgia,Verdana,sans-serif}.emoji{max-width:16px;max-height:16px}.emoji16x16{vertical-align:middle}.italic,.italics,.emote{font-style:italic}.bold{font-weight:700}.bolditalics{font-style:italic;font-weight:700}.center{text-align:center}.big{font-size:150%}.reallybig{font-size:175%}.sans{font-family:Comic Sans MS,cursive,sans-serif}.wingdings{font-family:Wingdings,Webdings}.robot{font-family:OCR-A,monospace;font-size:1.15em;font-weight:700}.robotemote{color:#6685f5;font-family:OCR-A,monospace;font-size:1.15em;font-style:italic;font-weight:700}.hidden{visibility:hidden;display:none}.motd{color:#a4bad6;white-space:normal;font-family:Verdana,sans-serif}.motd h1,.motd h2,.motd h3,.motd h4,.motd h5,.motd h6{color:#a4bad6;text-decoration:underline}.motd a,.motd a:link,.motd a:active,.motd a:hover{color:#a4bad6}.memo{color:#638500;text-align:center}.memoedit{text-align:center;font-size:75%}.ooc{font-weight:700}.looc{color:#69c;font-weight:700}.discordpm{color:#6685f5}.debug{color:#6d2f83}.deadsay{color:#e2c1ff}.darkmblue{color:#6685f5}.prefix,.name,.yell{font-weight:700}.mentorhelp{color:#07b;font-weight:700}.mentor_channel{color:#b4af13;font-weight:700}.mentor_channel_admin{color:#f1ec50;font-weight:700}.admin{color:#386aff;font-weight:700}.adminhelp{color:#a00;font-weight:700}.adminticket{color:#3daf21;font-weight:700}.adminticketalt{color:#ccb847;font-weight:700}.admin_channel{color:#03fc9d;font-weight:700}.all_admin_ping{color:#12a5f4;text-align:center;font-size:120%;font-weight:700}.dev_channel{color:#61b413;font-weight:700}.dev_channel_admin{color:#9ef14f;font-weight:700}.staff_channel{color:#775bff;font-weight:700}.staff_channel_admin{color:#a35cff;font-weight:700}.radio{color:#20b142}.deptradio{color:#939}.comradio{color:#5f5cff}.syndradio{color:#8f4a4b}.dsquadradio{color:#998599}.airadio{color:#ff5ed7}.centradio{color:#2681a5}.secradio{color:#dd3535}.engradio{color:#feac20}.medradio{color:#00b5ad}.sciradio{color:#c68cfa}.supradio{color:#b88646}.srvradio{color:#bbd164}.proradio{color:#b84f92}.alert{color:#d82020}h1.alert,h2.alert{color:#a4bad6}.ghostalert{color:#cc00c6;font-style:italic;font-weight:700}.warning{color:#c51e1e;font-style:italic}.boldwarning{color:#c51e1e;font-style:italic;font-weight:700}.danger{color:#c51e1e;font-weight:700}.biggerdanger{color:red;font-size:150%;font-weight:700}.userdanger{color:#c51e1e;font-size:120%;font-weight:700}.attack{color:red}.disarm{color:#900}.moderate{color:#c00}.notice{color:#6685f5}.boldnotice{color:#6685f5;font-weight:700}.subtle{color:#8a72c5;font-size:85%;font-style:italic}.suicide{color:#ff5050;font-style:italic}.announcement h1,.announcement h2{color:#a4bad6;margin:8pt 0;line-height:1.2}.announcement p{color:#d82020;line-height:1.3}.announcement.minor h1{font-size:180%}.announcement.minor h2{font-size:170%}.announcement.sec h1{color:red;font-family:Verdana,sans-serif;font-size:180%}.boldannounceic,.boldannounceooc,.pr_announce{color:#c51e1e;font-weight:700}.greenannounce{color:#059223;font-weight:700}.alien{color:#c433c4}.noticealien{color:#00c000}.alertalien{color:#00c000;font-weight:700}.terrorspider{color:#cf52fa}.dantalion{color:#8b2c5e}.chaosverygood{color:#19e0c0;font-size:120%;font-weight:700}.chaosgood{color:#19e0c0;font-weight:700}.chaosneutral{color:#479ac0;font-weight:700}.chaosbad{color:#9047c0;font-weight:700}.chaosverybad{color:#9047c0;font-size:120%;font-weight:700}.sinister{color:purple;font-style:italic;font-weight:700}.blob{color:#ee4000;font-style:italic}.revennotice{color:#6685f5}.revenbignotice{color:#6685f5;font-size:120%;font-weight:700}.revenminor{color:#823abb}.revenwarning{color:#760fbb;font-style:italic}.revendanger{color:#760fbb;font-size:120%;font-weight:700}.changeling{color:#00b4de}.abductor{color:purple;font-style:italic}.mind_control{color:#a00d6f;font-size:120%;font-style:italic;font-weight:700}.cult{color:purple;font-style:italic;font-weight:700}.cultspeech{color:#af0000;font-style:italic}.cultitalic{color:#a60000;font-style:italic}.cultlarge{color:#a60000;font-size:120%;font-weight:700}.narsie{color:#a60000;font-size:300%;font-weight:700}.narsiesmall{color:#a60000;font-size:200%;font-weight:700}.his_grace{color:#15d512;font-family:Courier New,cursive,sans-serif;font-style:italic}.zombielarge{color:#7c4848;font-size:120%;font-weight:700}.colossus{color:#7f282a;font-size:175%}.hierophant{color:#609;font-style:italic;font-weight:700}.hierophant_warning{color:#609;font-style:italic}.tajaran{color:#803b56}.skrell{color:#00ced1}.solcom{color:#8282fb}.com_cygni{color:#7c4848}.zombie{color:red}.soghun{color:#228b22}.vox{color:#a0a}.diona{color:#804000;font-weight:700}.trinary{color:#727272}.kidan{color:#c64c05}.slime{color:#07a}.drask{color:#a3d4eb;font-family:Arial Black}.moth{color:#869b29;font-family:Copperplate}.skulk{color:#b178b1}.clown{color:red}.vulpkanin{color:#b97a57}.gutter{color:#7092be;font-family:Trebuchet MS,cursive,sans-serif}.tradeband{font-family:Georgia,Verdana,sans-serif}.rose{color:#ff5050}.interface{color:#9031c4}.greentext{color:#0f0;font-size:150%}.redtext{color:red;font-size:150%}.red{color:red}.green{color:#03bb39}.purple{color:#9031c4}.orange{color:orange}.resonate{color:#298f85}.healthscan_oxy{color:#5cc9ff}.specialnotice{color:#4a6f82;font-size:120%;font-weight:700}.whisper{color:#ccc;font-style:italic}span.body .codephrases{color:#55f}span.body .coderesponses{color:#f33}.oxygen{color:#449dff}.nitrogen{color:#f94541}.carbon_dioxide{color:#ccc}.plasma{color:#eb6b00}.sleeping_agent{color:#f28b89}.agent_b{color:teal}.hydrogen{color:#997379}.water_vapor{color:#483d8b}.boxed_message{text-align:center;background:#17191c;border:.0833333em solid rgba(166,183,217,.25);border-width:.0833333em .416667em;border-radius:.5em;margin:.5em .25em;padding:.5em .75em}.boxed_message.red_border{background:#1f1414;border-color:rgba(255,0,0,.5)}.boxed_message.green_border{background:#141f18;border-color:rgba(0,255,0,.5)}.boxed_message.purple_border{background:#1d1828;border-color:rgba(170,128,255,.5)}.boxed_message.notice_border{background:#14181f;border-color:rgba(85,126,246,.5)}.boxed_message.thick_border{border-width:.5em}.boxed_message.left_align_text{text-align:left}:root{--chat-text-color:#b3cce6;--color-base:#202020;--color-section:hsl(from var(--color-base)h s calc(l - 4.2));--base-gradient-spread:0}.theme-light:root{--chat-text-color:var(--color-black);--color-base:#ededed;--color-section:var(--color-white);--color-text:var(--color-black);--color-label:#545454;--color-action:#e6e6e6;--color-scrollbar-thumb:var(--color-light-gray);--primary-lightness:60%;--primary-saturation:60%;--border-primary-alpha:.66;--button-background-selected:hsl(from var(--color-primary)h 100 l);--button-background-caution:#b85a0a;--button-background-danger:#990;--tab-color-selected:var(--color-black);--input-background:var(--color-base);--tooltip-background-lightness:90}.theme-light:root a,.theme-light:root h1,.theme-light:root h2,.theme-light:root h3,.theme-light:root h4,.theme-light:root h5,.theme-light:root h6{color:#00f}.theme-light:root .motd,.theme-light:root .motd h1,.theme-light:root .motd h2,.theme-light:root .motd h3,.theme-light:root .motd h4,.theme-light:root .motd h5,.theme-light:root .motd h6,.theme-light:root .motd a,.theme-light:root .motd a:link,.theme-light:root .motd a:active,.theme-light:root .motd a:hover{color:#638500}.theme-light:root .looc{color:#69c}.theme-light:root .discordpm{color:#00f}.theme-light:root .debug{color:#6d2f83}.theme-light:root .deadsay{color:#5c00e6}.theme-light:root .darkmblue{color:#00f}.theme-light:root .mentorhelp{color:#07b}.theme-light:root .mentor_channel{color:#5e6812}.theme-light:root .mentor_channel_admin{color:#94a419}.theme-light:root .adminhelp{color:#a00}.theme-light:root .adminticket{color:#3e7336}.theme-light:root .adminticketalt{color:#014c8a}.theme-light:root .admin_channel{color:#9a04d1}.theme-light:root .all_admin_ping{color:#12a5f4}.theme-light:root .dev_channel{color:#126719}.theme-light:root .dev_channel_admin{color:#26a419}.theme-light:root .staff_channel{color:#775bff}.theme-light:root .staff_channel_admin{color:#a35cff}.theme-light:root .radio{color:#408010}.theme-light:root .deptradio{color:#939}.theme-light:root .comradio{color:#204090}.theme-light:root .syndradio{color:#6d3f40}.theme-light:root .dsquadradio{color:#686868}.theme-light:root .airadio{color:#f0f}.theme-light:root .centradio{color:#5c5c7c}.theme-light:root .secradio{color:#a30000}.theme-light:root .engradio{color:#a66300}.theme-light:root .medradio{color:#009190}.theme-light:root .sciradio{color:#939}.theme-light:root .supradio{color:#7f6539}.theme-light:root .srvradio{color:#80a000}.theme-light:root .proradio{color:#e3027a}.theme-light:root .alert{color:red}.theme-light:root h1.alert,.theme-light:root h2.alert{color:#000}.theme-light:root .ghostalert{color:#5c00e6}.theme-light:root .warning,.theme-light:root .boldwarning,.theme-light:root .danger,.theme-light:root .userdanger{color:red}.theme-light:root .notice,.theme-light:root .boldnotice{color:#009}.theme-light:root .subtle{color:#009;font-size:85%;font-style:italic}.theme-light:root .announcement h1,.theme-light:root .announcement h2{color:#000}.theme-light:root .announcement.sec h1,.theme-light:root .boldannounceic,.theme-light:root .boldannounceooc{color:red}.theme-light:root .pr_announce{color:#228b22}.theme-light:root .greenannounce{color:#0f0}.theme-light:root .alien{color:#543354}.theme-light:root .terrorspider{color:#320e32}.theme-light:root .dantalion{color:#6a2148}.theme-light:root .revennotice,.theme-light:root .revenbignotice{color:#1d2953}.theme-light:root .changeling{color:purple}.theme-light:root .cultspeech{color:#7f0000}.theme-light:root .cultitalic,.theme-light:root .cultlarge,.theme-light:root .narsie,.theme-light:root .narsiesmall{color:#960000}.theme-light:root .rose{color:#ff5050}.theme-light:root .interface{color:#303}.theme-light:root .purple{color:#5e2d79}.theme-light:root .orange{color:orange}.theme-light:root .healthscan_oxy{color:#0074bd}.theme-light:root .specialnotice{color:#36525e}.theme-light:root .whisper{color:#333}.theme-light:root span.body .codephrases{color:#00f}.theme-light:root span.body .coderesponses{color:red}.theme-light:root .oxygen{color:#006adb}.theme-light:root .nitrogen{color:#d00a06}.theme-light:root .carbon_dioxide{color:#1f1f1f}.theme-light:root .plasma{color:#853c00}.theme-light:root .sleeping_agent{color:#e82f2c}.theme-light:root .agent_b{color:#004d4d}.theme-light:root .hydrogen{color:#997379}.theme-light:root .water_vapor{color:#004080}.theme-light:root .boxed_message{background:#f2f7ff;border-color:rgba(16,48,112,.5)}.theme-light:root .boxed_message.red_border{background:#fff2f2;border-color:rgba(255,0,0,.5)}.theme-light:root .boxed_message.green_border{background:#f2fff7;border-color:rgba(0,168,0,.5)}.theme-light:root .boxed_message.purple_border{background:#f7f2ff;border-color:rgba(85,0,255,.5)}.theme-light:root .boxed_message.notice_border{background:#f2f7ff;border-color:rgba(0,64,255,.5)}.theme-ntos:root{--color-base:#1b2532;--color-section:#121821;--color-primary:#476385}.theme-ntos:root .boxed_message{background:#1d2330}.theme-ntos:root .boxed_message.red_border{background:#301d1d}.theme-ntos:root .boxed_message.green_border{background:#1d3023}.theme-ntos:root .boxed_message.purple_border{background:#231d30}.theme-ntos:root .boxed_message.notice_border{background:#192234}.theme-syndicate:root{--color-base:#4d0202;--color-section:#2b0101;--color-primary:#3b783b;--color-label:#ad8585;--button-background-selected:#b60a0a;--button-background-caution:#ba5e0d;--button-background-danger:#969900;--notice-box-background:#8d0101;--notice-box-color:var(--color-text-fixed-white);--progress-bar-background:rgba(0,0,0,.5);--tooltip-background-lightness:25}.theme-syndicate:root .adminooc{color:#29ccbe}.theme-syndicate:root .debug{color:#8f39e6}.theme-syndicate:root .boxed_message{background:#360a0a}.theme-syndicate:root .boxed_message.red_border{background:#400000}.theme-syndicate:root .boxed_message.green_border{background:#261a00}.theme-syndicate:root .boxed_message.purple_border{background:#260026}.theme-syndicate:root .boxed_message.notice_border{background:#260016}.theme-paradise:root{--color-base:#8a0f38;--color-section:rgba(0,0,0,.5);--color-base-start:#7e014a;--color-base-end:#8a4d0f;--color-primary:#1f7a7a;--color-label:#ad9685;--reconnect-background:#d92626;--reconnect-text:var(--color-text);--input-border-color:#e85e30;--button-background-selected:#cf6e3d;--button-background-danger:#93f}.theme-paradise:root .adminooc{color:#29ccbe}.theme-paradise:root .debug{color:#8f39e6}.theme-paradise:root .boxed_message{background:rgba(0,0,0,.25);border-color:rgba(223,181,159,.25)}.theme-paradise:root .boxed_message.red_border{background:rgba(22,3,3,.25);border-color:rgba(255,0,0,.5)}.theme-paradise:root .boxed_message.green_border{background:rgba(3,22,10,.25);border-color:rgba(0,255,0,.5)}.theme-paradise:root .boxed_message.purple_border{background:rgba(10,3,22,.25);border-color:rgba(136,77,255,.5)}.theme-paradise:root .boxed_message.notice_border{background:rgba(3,10,22,.25);border-color:rgba(85,126,246,.5)}
\ No newline at end of file