Device highly experimental. Not for sale. Do not operate near small children or vital NT assets. Do not tamper with machine. In case of existential dread, stop machine immediately. \ Please document any and all extradimensional incursions. In case of imminent death, please leave said documentation in plain sight for clean-up teams to recover.
" -#undef BASE_ENERGY_CONVERSION +#undef POINTS_PER_W #undef BASE_POINTS +ER_W diff --git a/code/modules/surgery/bio_chip_removal.dm b/code/modules/surgery/bio_chip_removal.dm index f7c8d88b18bf..5b324bbb714a 100644 --- a/code/modules/surgery/bio_chip_removal.dm +++ b/code/modules/surgery/bio_chip_removal.dm @@ -29,6 +29,7 @@ /datum/surgery_step/extract_bio_chip name = "extract bio-chip" allowed_tools = list(TOOL_HEMOSTAT = 100, TOOL_CROWBAR = 65) + preop_sound = 'sound/surgery/hemostat1.ogg' time = 6.4 SECONDS repeatable = TRUE var/obj/item/bio_chip/I = null diff --git a/code/modules/surgery/bones.dm b/code/modules/surgery/bones.dm index acfcbfcdedd4..d14ddd44c339 100644 --- a/code/modules/surgery/bones.dm +++ b/code/modules/surgery/bones.dm @@ -51,6 +51,13 @@ TOOL_BONEGEL = 100, TOOL_SCREWDRIVER = 90 ) + + preop_sound = list( + TOOL_BONEGEL = 'sound/surgery/organ1.ogg', + /obj/item/screwdriver/power = 'sound/items/drill_hit.ogg', + /obj/item/screwdriver = 'sound/items/screwdriver.ogg' + ) + can_infect = TRUE blood_level = SURGERY_BLOODSPREAD_HANDS @@ -93,6 +100,7 @@ TOOL_WRENCH = 90 ) + preop_sound = 'sound/surgery/hemostat1.ogg' time = 3.2 SECONDS /datum/surgery_step/set_bone/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) @@ -164,6 +172,13 @@ TOOL_BONEGEL = 100, TOOL_SCREWDRIVER = 90 ) + + preop_sound = list( + TOOL_BONEGEL = 'sound/surgery/organ1.ogg', + /obj/item/screwdriver/power = 'sound/items/drill_hit.ogg', + /obj/item/screwdriver = 'sound/items/screwdriver.ogg' + ) + can_infect = TRUE blood_level = SURGERY_BLOODSPREAD_HANDS diff --git a/code/modules/surgery/cavity_implant.dm b/code/modules/surgery/cavity_implant.dm index 8baebebdff15..37a0ee5b56f5 100644 --- a/code/modules/surgery/cavity_implant.dm +++ b/code/modules/surgery/cavity_implant.dm @@ -151,6 +151,12 @@ /obj/item/stack/rods = 60 ) + preop_sound = list( + TOOL_DRILL = 'sound/items/drill_hit.ogg', + /obj/item/screwdriver/power = 'sound/items/drill_hit.ogg', + /obj/item/pen = 'sound/surgery/organ2.ogg', + /obj/item/stack/rods = 'sound/surgery/organ2.ogg' + ) time = 5.4 SECONDS /datum/surgery_step/cavity/make_space/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) @@ -183,6 +189,9 @@ TOOL_WELDER = 30 ) + preop_sound = 'sound/surgery/cautery1.ogg' + success_sound = 'sound/surgery/cautery2.ogg' + failure_sound = 'sound/items/welder.ogg' time = 2.4 SECONDS /datum/surgery_step/cavity/close_space/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) diff --git a/code/modules/surgery/core_removal.dm b/code/modules/surgery/core_removal.dm index 65a0ca70a6f5..a57178f97349 100644 --- a/code/modules/surgery/core_removal.dm +++ b/code/modules/surgery/core_removal.dm @@ -19,6 +19,10 @@ /obj/item/kitchen/knife = 65, /obj/item/shard = 45 ) + + preop_sound = 'sound/surgery/scalpel1.ogg' + success_sound = 'sound/surgery/scalpel2.ogg' + failure_sound = 'sound/surgery/organ2.ogg' time = 1.6 SECONDS /datum/surgery_step/slime/cut_flesh/begin_step(mob/user, mob/living/simple_animal/slime/target, target_zone, obj/item/tool) @@ -38,6 +42,8 @@ /datum/surgery_step/slime/extract_core name = "extract core" allowed_tools = list(TOOL_HEMOSTAT = 100, TOOL_CROWBAR = 100) + preop_sound = 'sound/surgery/organ1.ogg' + success_sound = 'sound/surgery/organ2.ogg' time = 1.6 SECONDS /datum/surgery_step/slime/extract_core/begin_step(mob/user, mob/living/simple_animal/slime/target, target_zone, obj/item/tool) diff --git a/code/modules/surgery/encased.dm b/code/modules/surgery/encased.dm index 13bed7936b04..871f91d8038a 100644 --- a/code/modules/surgery/encased.dm +++ b/code/modules/surgery/encased.dm @@ -16,6 +16,15 @@ TOOL_WIRECUTTER = 35 // Silly goose! ) + preop_sound = list( + TOOL_SAW = 'sound/surgery/saw.ogg', + /obj/item/hatchet = 'sound/surgery/scalpel1.ogg', + /obj/item/chainsaw = 'sound/weapons/chainsaw.ogg', + /obj/item/butcher_chainsaw = 'sound/weapons/chainsaw.ogg', + TOOL_WIRECUTTER = 'sound/surgery/scalpel1.ogg' + ) + + success_sound = 'sound/surgery/organ2.ogg' time = 5.4 SECONDS /datum/surgery_step/open_encased/saw/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) @@ -64,6 +73,8 @@ TOOL_CROWBAR = 90 ) + preop_sound = 'sound/surgery/retractor1.ogg' + success_sound = 'sound/surgery/retractor2.ogg' time = 2.4 SECONDS /datum/surgery_step/open_encased/retract/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) @@ -113,6 +124,8 @@ TOOL_CROWBAR = 90 ) + preop_sound = 'sound/surgery/retractor1.ogg' + success_sound = 'sound/surgery/retractor2.ogg' time = 2.4 SECONDS /datum/surgery_step/open_encased/close/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) @@ -158,6 +171,12 @@ TOOL_SCREWDRIVER = 90 ) + preop_sound = list( + TOOL_BONEGEL = 'sound/surgery/organ1.ogg', + /obj/item/screwdriver/power = 'sound/items/drill_hit.ogg', + /obj/item/screwdriver = 'sound/items/screwdriver.ogg' + ) + time = 2.4 SECONDS /datum/surgery_step/open_encased/mend/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) diff --git a/code/modules/surgery/generic.dm b/code/modules/surgery/generic.dm index dc6c98957377..b0fa71e9de33 100644 --- a/code/modules/surgery/generic.dm +++ b/code/modules/surgery/generic.dm @@ -23,6 +23,9 @@ /obj/item/butcher_chainsaw = 1 ) + preop_sound = 'sound/surgery/scalpel1.ogg' + success_sound = 'sound/surgery/scalpel2.ogg' + failure_sound = 'sound/surgery/organ2.ogg' time = 1.6 SECONDS /datum/surgery_step/generic/cut_open/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) @@ -67,6 +70,7 @@ /obj/item/assembly/mousetrap = 25 ) + preop_sound = 'sound/surgery/hemostat1.ogg' time = 2.4 SECONDS @@ -111,6 +115,9 @@ /obj/item/kitchen/utensil/fork = 60 ) + preop_sound = 'sound/surgery/retractor1.ogg' + success_sound = 'sound/surgery/retractor2.ogg' + failure_sound = 'sound/surgery/organ2.ogg' time = 2.4 SECONDS /datum/surgery_step/generic/retract_skin/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) @@ -168,6 +175,9 @@ /obj/item/flamethrower = 1 // You make do with what ya got... ) + preop_sound = 'sound/surgery/cautery1.ogg' + success_sound = 'sound/surgery/cautery2.ogg' + failure_sound = 'sound/items/welder.ogg' time = 2.4 SECONDS /datum/surgery_step/generic/cauterize/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) @@ -226,6 +236,15 @@ /obj/item/mecha_parts/mecha_equipment/drill = 60, /obj/item/screwdriver = 20 ) + + preop_sound = list( + TOOL_DRILL = 'sound/items/drill_hit.ogg', + /obj/item/screwdriver/power = 'sound/items/drill_hit.ogg', + /obj/item/pickaxe/drill = 'sound/weapons/drill.ogg', + /obj/item/mecha_parts/mecha_equipment/drill = 'sound/weapons/drill.ogg', + /obj/item/screwdriver = 'sound/items/screwdriver.ogg' + ) + time = 3 SECONDS /datum/surgery_step/generic/drill/begin_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) @@ -264,6 +283,13 @@ /obj/item/melee/energy = 75 ) + preop_sound = list( + TOOL_SAW = 'sound/surgery/saw.ogg', + /obj/item/hatchet = 'sound/surgery/scalpel1.ogg', + /obj/item/melee/arm_blade = 'sound/surgery/scalpel1.ogg' + ) + + success_sound = 'sound/surgery/organ2.ogg' time = 10 SECONDS /datum/surgery_step/generic/amputate/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) diff --git a/code/modules/surgery/organs/organ_extractor.dm b/code/modules/surgery/organs/organ_extractor.dm index efa581b8bc3e..16ee7fe6f11b 100644 --- a/code/modules/surgery/organs/organ_extractor.dm +++ b/code/modules/surgery/organs/organ_extractor.dm @@ -129,7 +129,7 @@ C.apply_damage(5, BRUTE, drilled_organ) playsound(get_turf(C), 'sound/weapons/circsawhit.ogg', 50, TRUE) - if(!do_after_once(C, (user_is_target ? self_insert_time : insert_time), target = C)) + if(!do_after_once(user, (user_is_target ? self_insert_time : insert_time), target = C)) to_chat(user, "ERROR: Process interrupted!") in_use = FALSE return diff --git a/code/modules/surgery/organs/vocal_cords.dm b/code/modules/surgery/organs/vocal_cords.dm index 1f2a0d1603c7..3febb3448849 100644 --- a/code/modules/surgery/organs/vocal_cords.dm +++ b/code/modules/surgery/organs/vocal_cords.dm @@ -433,7 +433,7 @@ GLOBAL_DATUM_INIT(multispin_words, /regex, regex("like a record baby")) for(var/V in listeners) var/mob/living/L = V if(L.buckled && istype(L.buckled, /obj/structure/chair)) - L.buckled.unbuckle_mob(L) + L.unbuckle() next_command = world.time + cooldown_meme //DANCE diff --git a/code/modules/surgery/organs_internal.dm b/code/modules/surgery/organs_internal.dm index ba71f0598a04..80fcef082bb8 100644 --- a/code/modules/surgery/organs_internal.dm +++ b/code/modules/surgery/organs_internal.dm @@ -182,6 +182,8 @@ /obj/item/stack/nanopaste = 100 ) + preop_sound = 'sound/surgery/organ1.ogg' + /datum/surgery_step/internal/manipulate_organs/mend/proc/get_tool_name(obj/item/tool) var/tool_name = "[tool]" if(istype(tool, /obj/item/stack/medical/bruise_pack)) @@ -296,6 +298,8 @@ /obj/item/kitchen/utensil/fork = 70 ) + preop_sound = 'sound/surgery/organ1.ogg' + success_sound = 'sound/surgery/organ2.ogg' var/obj/item/organ/internal/extracting = null /datum/surgery_step/internal/manipulate_organs/extract/begin_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) @@ -390,6 +394,9 @@ /obj/item/food/organ = 0 // there for the flavor text ) + preop_sound = 'sound/surgery/organ2.ogg' + success_sound = 'sound/surgery/organ1.ogg' + /datum/surgery_step/internal/manipulate_organs/implant/begin_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) if(istype(tool, /obj/item/food/organ)) to_chat(user, "[tool] was bitten by someone! It's too damaged to use!") @@ -643,6 +650,9 @@ TOOL_CROWBAR = 90 ) + preop_sound = 'sound/surgery/retractor1.ogg' + success_sound = 'sound/surgery/retractor2.ogg' + /datum/surgery_step/internal/manipulate_organs/finish/begin_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) var/mob/living/carbon/human/H = target var/obj/item/organ/external/affected = target.get_organ(target_zone) @@ -707,6 +717,15 @@ TOOL_WIRECUTTER = 35 ) + preop_sound = list( + TOOL_SAW = 'sound/surgery/saw.ogg', + /obj/item/hatchet = 'sound/surgery/scalpel1.ogg', + /obj/item/chainsaw = 'sound/weapons/chainsaw.ogg', + /obj/item/butcher_chainsaw = 'sound/weapons/chainsaw.ogg', + TOOL_WIRECUTTER = 'sound/surgery/scalpel1.ogg' + ) + + success_sound = 'sound/surgery/organ2.ogg' time = 5.4 SECONDS @@ -750,6 +769,9 @@ /obj/item/butcher_chainsaw = 1 ) + preop_sound = 'sound/surgery/scalpel1.ogg' + success_sound = 'sound/surgery/scalpel2.ogg' + failure_sound = 'sound/surgery/organ2.ogg' time = 1.6 SECONDS /datum/surgery_step/cut_carapace/begin_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) @@ -787,6 +809,8 @@ /obj/item/kitchen/utensil/fork = 60 ) + preop_sound = 'sound/surgery/retractor1.ogg' + success_sound = 'sound/surgery/retractor2.ogg' time = 2.4 SECONDS /datum/surgery_step/retract_carapace/begin_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) @@ -838,6 +862,9 @@ /obj/item/flamethrower = 1 ) + preop_sound = 'sound/surgery/cautery1.ogg' + success_sound = 'sound/surgery/cautery2.ogg' + failure_sound = 'sound/items/welder.ogg' time = 2.4 SECONDS /datum/surgery_step/generic/seal_carapace/proc/zone_name(target_zone) diff --git a/code/modules/surgery/other.dm b/code/modules/surgery/other.dm index 26a174caa348..09ba772bae4c 100644 --- a/code/modules/surgery/other.dm +++ b/code/modules/surgery/other.dm @@ -81,6 +81,7 @@ can_infect = TRUE blood_level = SURGERY_BLOODSPREAD_HANDS + preop_sound = 'sound/surgery/organ1.ogg' time = 3.2 SECONDS /datum/surgery_step/fix_vein/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) @@ -133,6 +134,7 @@ can_infect = TRUE blood_level = SURGERY_BLOODSPREAD_HANDS + preop_sound = 'sound/surgery/organ1.ogg' time = 3.2 SECONDS /datum/surgery_step/treat_burns/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) @@ -190,6 +192,9 @@ /obj/item/shard = 60 ) + preop_sound = 'sound/surgery/scalpel1.ogg' + success_sound = 'sound/surgery/retractor2.ogg' + failure_sound = 'sound/surgery/organ1.ogg' can_infect = TRUE blood_level = SURGERY_BLOODSPREAD_HANDS diff --git a/code/modules/surgery/plastic_surgery.dm b/code/modules/surgery/plastic_surgery.dm index 3a2050d8664e..a4941cb7bdaf 100644 --- a/code/modules/surgery/plastic_surgery.dm +++ b/code/modules/surgery/plastic_surgery.dm @@ -15,6 +15,10 @@ allowed_tools = list(TOOL_SCALPEL = 100, /obj/item/kitchen/knife = 50, /obj/item/wirecutters = 35) time = 6.4 SECONDS + preop_sound = 'sound/surgery/scalpel1.ogg' + success_sound = 'sound/surgery/scalpel2.ogg' + failure_sound = 'sound/surgery/organ2.ogg' + /datum/surgery_step/reshape_face/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) user.visible_message( "[user] begins to alter [target]'s appearance.", diff --git a/code/modules/surgery/robotics.dm b/code/modules/surgery/robotics.dm index 5c7f42e33cd0..cd4a2d383d77 100644 --- a/code/modules/surgery/robotics.dm +++ b/code/modules/surgery/robotics.dm @@ -399,6 +399,7 @@ ) I.damage = 0 I.surgeryize() + target.update_stat("internal organs repaired") return ..() /datum/surgery_step/robotics/manipulate_robotic_organs/mend/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery) diff --git a/code/modules/surgery/surgery.dm b/code/modules/surgery/surgery.dm index 3e5bfdf98eac..4ea5674385da 100644 --- a/code/modules/surgery/surgery.dm +++ b/code/modules/surgery/surgery.dm @@ -197,6 +197,12 @@ var/silicons_ignore_prob = FALSE /// How many times this step has been automatically repeated. var/times_repeated = 0 + /// Sound played when the step is started. Lists or single value can be used for this var as well as tool defines + var/preop_sound + /// Sound played if the step succeeded. Single value only + var/success_sound + /// Sound played if the step fails. Single value only + var/failure_sound // evil infection stuff that will make everyone hate me @@ -331,6 +337,8 @@ surgery.step_in_progress = FALSE return SURGERY_INITIATE_SUCCESS + play_preop_sound(user, target, target_zone, tool, surgery) + if(tool) speed_mod = tool.toolspeed @@ -386,8 +394,10 @@ surgery.step_in_progress = FALSE if(advance) + play_success_sound(user, target, target_zone, tool, surgery) return SURGERY_INITIATE_SUCCESS else + play_failure_sound(user, target, target_zone, tool, surgery) return SURGERY_INITIATE_FAILURE /** @@ -553,3 +563,26 @@ for(var/reagent in chems_needed) if(target.reagents.has_reagent(reagent)) return TRUE + +/datum/surgery_step/proc/play_preop_sound(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) + if(!preop_sound || (islist(preop_sound) && !length(preop_sound)) || ismachineperson(target)) + return + var/sound_file_use + if(islist(preop_sound)) + for(var/typepath in preop_sound) + if((ispath(typepath) && istype(tool, typepath)) || ((typepath in GLOB.surgery_tool_behaviors) && istype(tool) && tool.tool_behaviour == typepath)) + sound_file_use = preop_sound[typepath] + break + else + sound_file_use = preop_sound + playsound(get_turf(target), sound_file_use, 75, TRUE, falloff_exponent = 12, falloff_distance = 1, channel = CHANNEL_SURGERY_SOUNDS) + +/datum/surgery_step/proc/play_success_sound(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) + if(!success_sound || ismachineperson(target)) + return + playsound(get_turf(target), success_sound, 75, TRUE, falloff_exponent = 12, falloff_distance = 1, channel = CHANNEL_SURGERY_SOUNDS) + +/datum/surgery_step/proc/play_failure_sound(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) + if(!failure_sound || ismachineperson(target)) + return + playsound(get_turf(target), failure_sound, 75, TRUE, falloff_exponent = 12, falloff_distance = 1, channel = CHANNEL_SURGERY_SOUNDS) diff --git a/code/modules/tgui/modules/atmos_control.dm b/code/modules/tgui/modules/atmos_control.dm index 25fdb0e12bb5..e397eefc9626 100644 --- a/code/modules/tgui/modules/atmos_control.dm +++ b/code/modules/tgui/modules/atmos_control.dm @@ -1,5 +1,7 @@ /datum/ui_module/atmos_control name = "Atmospherics Control" + var/parent_area_type + var/z_level /datum/ui_module/atmos_control/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) if(..()) @@ -28,7 +30,15 @@ ) /datum/ui_module/atmos_control/ui_data(mob/user) + var/list/alarms_on_net = GLOB.air_alarms + // default value means main station atmos control + if(parent_area_type) + alarms_on_net = list() + for(var/obj/machinery/alarm/air_alarm in GLOB.air_alarms) + if(air_alarm.alarm_area.type in typesof(parent_area_type)) + alarms_on_net |= air_alarm + var/list/data = list() - data["alarms"] = GLOB.air_alarm_repository.air_alarm_data(GLOB.air_alarms, target_z=level_name_to_num(MAIN_STATION)) + data["alarms"] = GLOB.air_alarm_repository.air_alarm_data(alarms_on_net, target_z = z_level) return data diff --git a/code/modules/tgui/tgui_panel/tgui_panel.dm b/code/modules/tgui/tgui_panel/tgui_panel.dm index 9229de1da493..8478c219c9cf 100644 --- a/code/modules/tgui/tgui_panel/tgui_panel.dm +++ b/code/modules/tgui/tgui_panel/tgui_panel.dm @@ -68,7 +68,7 @@ */ /datum/tgui_panel/proc/on_initialize_timed_out() // Currently does nothing but sending a message to old chat. - SEND_TEXT(client, "Failed to load fancy chat, click HERE to attempt to reload it.") + SEND_TEXT(client, "Failed to load fancy chat, click HERE to attempt to reload it.") /** * private diff --git a/icons/_nanomaps/Cyberiad220_nanomap_z1.png b/icons/_nanomaps/Cyberiad220_nanomap_z1.png index a2607172fbe8..33f404e5c429 100644 Binary files a/icons/_nanomaps/Cyberiad220_nanomap_z1.png and b/icons/_nanomaps/Cyberiad220_nanomap_z1.png differ diff --git a/icons/_nanomaps/Cyberiad_nanomap_z1.png b/icons/_nanomaps/Cyberiad_nanomap_z1.png index 0dfa15c98903..72984d0eff04 100644 Binary files a/icons/_nanomaps/Cyberiad_nanomap_z1.png and b/icons/_nanomaps/Cyberiad_nanomap_z1.png differ diff --git a/icons/_nanomaps/Delta220_nanomap_z1.png b/icons/_nanomaps/Delta220_nanomap_z1.png index 5a04d19c4f23..3238c652ba7a 100644 Binary files a/icons/_nanomaps/Delta220_nanomap_z1.png and b/icons/_nanomaps/Delta220_nanomap_z1.png differ diff --git a/icons/_nanomaps/Delta_nanomap_z1.png b/icons/_nanomaps/Delta_nanomap_z1.png index 4a7639246ba0..b7089bf344e0 100644 Binary files a/icons/_nanomaps/Delta_nanomap_z1.png and b/icons/_nanomaps/Delta_nanomap_z1.png differ diff --git a/icons/effects/exposures.dmi b/icons/effects/exposures.dmi index 13f976ceb9d6..1560835049e5 100644 Binary files a/icons/effects/exposures.dmi and b/icons/effects/exposures.dmi differ diff --git a/icons/effects/random_spawners.dmi b/icons/effects/random_spawners.dmi index fbf0d77c86e6..993e5aa9a249 100644 Binary files a/icons/effects/random_spawners.dmi and b/icons/effects/random_spawners.dmi differ diff --git a/icons/effects/spawner_icons.dmi b/icons/effects/spawner_icons.dmi index 1b9730e53796..0417843bf621 100644 Binary files a/icons/effects/spawner_icons.dmi and b/icons/effects/spawner_icons.dmi differ diff --git a/icons/mecha/mech_construct.dmi b/icons/mecha/mech_construct.dmi index fe81a8e2b96c..3ac2bc928f82 100644 Binary files a/icons/mecha/mech_construct.dmi and b/icons/mecha/mech_construct.dmi differ diff --git a/icons/mecha/mech_construction.dmi b/icons/mecha/mech_construction.dmi index e89db4ff9adb..f00b27e101c1 100644 Binary files a/icons/mecha/mech_construction.dmi and b/icons/mecha/mech_construction.dmi differ diff --git a/icons/mecha/mecha.dmi b/icons/mecha/mecha.dmi index 28b04958109b..ea0d7391cc65 100644 Binary files a/icons/mecha/mecha.dmi and b/icons/mecha/mecha.dmi differ diff --git a/icons/mecha/mecha_equipment.dmi b/icons/mecha/mecha_equipment.dmi index 50c0338d8315..f26012f32596 100644 Binary files a/icons/mecha/mecha_equipment.dmi and b/icons/mecha/mecha_equipment.dmi differ diff --git a/icons/mob/inhands/religion_lefthand.dmi b/icons/mob/inhands/religion_lefthand.dmi index c4338544e5d4..d866505d0753 100644 Binary files a/icons/mob/inhands/religion_lefthand.dmi and b/icons/mob/inhands/religion_lefthand.dmi differ diff --git a/icons/mob/inhands/religion_righthand.dmi b/icons/mob/inhands/religion_righthand.dmi index 4603a803fdd0..b60de5043166 100644 Binary files a/icons/mob/inhands/religion_righthand.dmi and b/icons/mob/inhands/religion_righthand.dmi differ diff --git a/icons/mob/simple_human.dmi b/icons/mob/simple_human.dmi index f9d20142d74f..93e03c30a40c 100644 Binary files a/icons/mob/simple_human.dmi and b/icons/mob/simple_human.dmi differ diff --git a/icons/obj/food/bakedgoods.dmi b/icons/obj/food/bakedgoods.dmi index 967d54ae9689..4f738921fa5f 100644 Binary files a/icons/obj/food/bakedgoods.dmi and b/icons/obj/food/bakedgoods.dmi differ diff --git a/icons/obj/food/breakfast.dmi b/icons/obj/food/breakfast.dmi index 0d8cbc9bcbd3..ae5aff5037e6 100644 Binary files a/icons/obj/food/breakfast.dmi and b/icons/obj/food/breakfast.dmi differ diff --git a/icons/obj/food/candy.dmi b/icons/obj/food/candy.dmi index a58abc2e9d04..dd7acd3200bc 100644 Binary files a/icons/obj/food/candy.dmi and b/icons/obj/food/candy.dmi differ diff --git a/icons/obj/food/containers.dmi b/icons/obj/food/containers.dmi index 224c8bfb9bf4..4ddb808bcd3f 100644 Binary files a/icons/obj/food/containers.dmi and b/icons/obj/food/containers.dmi differ diff --git a/icons/obj/food/food.dmi b/icons/obj/food/food.dmi index f5388ee43454..d5a6a5c1f098 100644 Binary files a/icons/obj/food/food.dmi and b/icons/obj/food/food.dmi differ diff --git a/icons/obj/food/soupsalad.dmi b/icons/obj/food/soupsalad.dmi index c92df9de7682..5a16fcbaee27 100644 Binary files a/icons/obj/food/soupsalad.dmi and b/icons/obj/food/soupsalad.dmi differ diff --git a/icons/obj/hydroponics/growing_fruits.dmi b/icons/obj/hydroponics/growing_fruits.dmi index 8d77be19157d..f01bec11fce3 100644 Binary files a/icons/obj/hydroponics/growing_fruits.dmi and b/icons/obj/hydroponics/growing_fruits.dmi differ diff --git a/icons/obj/hydroponics/harvest.dmi b/icons/obj/hydroponics/harvest.dmi index 0a0965085415..ded1705672d1 100644 Binary files a/icons/obj/hydroponics/harvest.dmi and b/icons/obj/hydroponics/harvest.dmi differ diff --git a/icons/obj/hydroponics/seeds.dmi b/icons/obj/hydroponics/seeds.dmi index a303e76a4db6..db4b781941c9 100644 Binary files a/icons/obj/hydroponics/seeds.dmi and b/icons/obj/hydroponics/seeds.dmi differ diff --git a/icons/obj/lamps.dmi b/icons/obj/lamps.dmi index e3f9fabb8454..29d8e21bc401 100644 Binary files a/icons/obj/lamps.dmi and b/icons/obj/lamps.dmi differ diff --git a/icons/obj/lighting.dmi b/icons/obj/lighting.dmi index a934d0a1df01..6d887c8114d5 100644 Binary files a/icons/obj/lighting.dmi and b/icons/obj/lighting.dmi differ diff --git a/icons/obj/statue.dmi b/icons/obj/statue.dmi index 1567097b3c62..de14c4fb7767 100644 Binary files a/icons/obj/statue.dmi and b/icons/obj/statue.dmi differ diff --git a/icons/obj/weapons/magical_weapons.dmi b/icons/obj/weapons/magical_weapons.dmi index 78224676efe5..f8be67a8c08c 100644 Binary files a/icons/obj/weapons/magical_weapons.dmi and b/icons/obj/weapons/magical_weapons.dmi differ diff --git a/modular_ss220/aesthetics/_aesthetics.dme b/modular_ss220/aesthetics/_aesthetics.dme index f9aa5369f097..969a4a395dee 100644 --- a/modular_ss220/aesthetics/_aesthetics.dme +++ b/modular_ss220/aesthetics/_aesthetics.dme @@ -33,6 +33,7 @@ #include "lights\code\lights.dm" #include "newscaster\code\newscaster.dm" #include "piano\code\piano.dm" +#include "racks\code\racks.dm" #include "railings\code\railings.dm" #include "rollerbed\code\rollerbed.dm" #include "rust\code\walls.dm" diff --git a/modular_ss220/aesthetics/floors/code/floors.dm b/modular_ss220/aesthetics/floors/code/floors.dm index c14588aec52a..8fe60247dfa0 100644 --- a/modular_ss220/aesthetics/floors/code/floors.dm +++ b/modular_ss220/aesthetics/floors/code/floors.dm @@ -23,8 +23,8 @@ icon_state = "smooth" // MARK: LIGHT FLOORS -/turf/simulated/floor/light - icon = 'icons/turf/floors.dmi' +/obj/item/stack/light_w + icon = 'modular_ss220/aesthetics/floors/icons/tiles.dmi' /turf/simulated/floor/light/red color = "#f23030" diff --git a/modular_ss220/aesthetics/floors/icons/floors.dmi b/modular_ss220/aesthetics/floors/icons/floors.dmi index 73cf73061e31..285a2b410aa3 100644 Binary files a/modular_ss220/aesthetics/floors/icons/floors.dmi and b/modular_ss220/aesthetics/floors/icons/floors.dmi differ diff --git a/modular_ss220/aesthetics/floors/icons/tiles.dmi b/modular_ss220/aesthetics/floors/icons/tiles.dmi index 391fc26f0930..019ca3ba4fb8 100644 Binary files a/modular_ss220/aesthetics/floors/icons/tiles.dmi and b/modular_ss220/aesthetics/floors/icons/tiles.dmi differ diff --git a/modular_ss220/aesthetics/lights/code/lights.dm b/modular_ss220/aesthetics/lights/code/lights.dm index 8ceb44863939..84b7c65eaa62 100644 --- a/modular_ss220/aesthetics/lights/code/lights.dm +++ b/modular_ss220/aesthetics/lights/code/lights.dm @@ -12,6 +12,9 @@ icon = 'icons/obj/lighting.dmi' layer = ABOVE_MOB_LAYER +/obj/machinery/light/floor + icon = 'icons/obj/lighting.dmi' + /obj/machinery/light_construct icon = 'modular_ss220/aesthetics/lights/icons/lights.dmi' layer = ABOVE_MOB_LAYER @@ -20,11 +23,17 @@ icon = 'icons/obj/lighting.dmi' layer = ABOVE_MOB_LAYER +/obj/machinery/light_construct/floor + icon = 'icons/obj/lighting.dmi' + /obj/item/mounted/frame/light_fixture icon = 'modular_ss220/aesthetics/lights/icons/lights.dmi' /obj/item/mounted/frame/light_fixture/small icon = 'icons/obj/lighting.dmi' +/obj/item/mounted/frame/light_fixture/floor + icon = 'icons/obj/lighting.dmi' + /obj/item/flashlight/lamp on = FALSE diff --git a/modular_ss220/aesthetics/racks/code/racks.dm b/modular_ss220/aesthetics/racks/code/racks.dm new file mode 100644 index 000000000000..d1dc5520d4d0 --- /dev/null +++ b/modular_ss220/aesthetics/racks/code/racks.dm @@ -0,0 +1,12 @@ +/obj/structure/rack + icon = 'modular_ss220/aesthetics/racks/icons/racks.dmi' + +/obj/item/rack_parts + icon = 'modular_ss220/aesthetics/racks/icons/racks.dmi' + +/obj/structure/gunrack + icon = 'modular_ss220/aesthetics/racks/icons/racks.dmi' + +// Return original icon path +/obj/structure/rack/skeletal_bar + icon = 'icons/obj/stationobjs.dmi' diff --git a/modular_ss220/aesthetics/racks/icons/racks.dmi b/modular_ss220/aesthetics/racks/icons/racks.dmi new file mode 100644 index 000000000000..ae46a57da420 Binary files /dev/null and b/modular_ss220/aesthetics/racks/icons/racks.dmi differ diff --git a/paradise.dme b/paradise.dme index 561e44eda3a3..7b02da7352d9 100644 --- a/paradise.dme +++ b/paradise.dme @@ -699,6 +699,7 @@ #include "code\game\area\areas\ruins\lavaland_areas.dm" #include "code\game\area\areas\ruins\space_areas.dm" #include "code\game\area\areas\ruins\syndicate_space_base_areas.dm" +#include "code\game\area\ss13_areas\station_area.dm" #include "code\game\area\ss13_areas\ai_areas.dm" #include "code\game\area\ss13_areas\command_areas.dm" #include "code\game\area\ss13_areas\engineering_areas.dm" @@ -957,11 +958,13 @@ #include "code\game\mecha\combat\phazon.dm" #include "code\game\mecha\combat\reticence.dm" #include "code\game\mecha\equipment\mecha_equipment.dm" +#include "code\game\mecha\equipment\tools\janitor_tools.dm" #include "code\game\mecha\equipment\tools\mecha_mining_tools.dm" #include "code\game\mecha\equipment\tools\medical_tools.dm" #include "code\game\mecha\equipment\tools\other_tools.dm" #include "code\game\mecha\equipment\tools\work_tools.dm" #include "code\game\mecha\equipment\weapons\weapons.dm" +#include "code\game\mecha\janitor\nkarrdem.dm" #include "code\game\mecha\medical\medical_base.dm" #include "code\game\mecha\medical\odysseus.dm" #include "code\game\mecha\working\ripley.dm" @@ -1208,6 +1211,7 @@ #include "code\game\objects\items\weapons\tape.dm" #include "code\game\objects\items\weapons\teleportation.dm" #include "code\game\objects\items\weapons\teleprod.dm" +#include "code\game\objects\items\weapons\thurible.dm" #include "code\game\objects\items\weapons\twohanded.dm" #include "code\game\objects\items\weapons\vending_items.dm" #include "code\game\objects\items\weapons\weaponry.dm" @@ -1990,6 +1994,7 @@ #include "code\modules\hydroponics\grown\onion.dm" #include "code\modules\hydroponics\grown\peanut.dm" #include "code\modules\hydroponics\grown\pineapple.dm" +#include "code\modules\hydroponics\grown\plum.dm" #include "code\modules\hydroponics\grown\potato.dm" #include "code\modules\hydroponics\grown\pumpkin.dm" #include "code\modules\hydroponics\grown\random_seeds.dm" @@ -2021,6 +2026,7 @@ #include "code\modules\instruments\songs\_song_ui.dm" #include "code\modules\instruments\songs\play_legacy.dm" #include "code\modules\instruments\songs\play_synthesized.dm" +#include "code\modules\lavaland\caves_theme.dm" #include "code\modules\lavaland\lavaland_theme.dm" #include "code\modules\library\book.dm" #include "code\modules\library\library_admin.dm" @@ -2394,7 +2400,7 @@ #include "code\modules\mob\living\simple_animal\hostile\mushroom.dm" #include "code\modules\mob\living\simple_animal\hostile\netherworld.dm" #include "code\modules\mob\living\simple_animal\hostile\pirate.dm" -#include "code\modules\mob\living\simple_animal\hostile\russian.dm" +#include "code\modules\mob\living\simple_animal\hostile\soviet.dm" #include "code\modules\mob\living\simple_animal\hostile\skeleton_mob.dm" #include "code\modules\mob\living\simple_animal\hostile\syndicate_mobs.dm" #include "code\modules\mob\living\simple_animal\hostile\tree.dm" diff --git a/sound/surgery/cautery1.ogg b/sound/surgery/cautery1.ogg new file mode 100644 index 000000000000..ac15a5812666 Binary files /dev/null and b/sound/surgery/cautery1.ogg differ diff --git a/sound/surgery/cautery2.ogg b/sound/surgery/cautery2.ogg new file mode 100644 index 000000000000..334c98f6cde4 Binary files /dev/null and b/sound/surgery/cautery2.ogg differ diff --git a/sound/surgery/hemostat1.ogg b/sound/surgery/hemostat1.ogg new file mode 100644 index 000000000000..d68c82620d2a Binary files /dev/null and b/sound/surgery/hemostat1.ogg differ diff --git a/sound/surgery/organ1.ogg b/sound/surgery/organ1.ogg new file mode 100644 index 000000000000..d6cdd6271fe3 Binary files /dev/null and b/sound/surgery/organ1.ogg differ diff --git a/sound/surgery/organ2.ogg b/sound/surgery/organ2.ogg new file mode 100644 index 000000000000..9199c7d1a2db Binary files /dev/null and b/sound/surgery/organ2.ogg differ diff --git a/sound/surgery/retractor1.ogg b/sound/surgery/retractor1.ogg new file mode 100644 index 000000000000..de7c31199e3c Binary files /dev/null and b/sound/surgery/retractor1.ogg differ diff --git a/sound/surgery/retractor2.ogg b/sound/surgery/retractor2.ogg new file mode 100644 index 000000000000..620fafe035d8 Binary files /dev/null and b/sound/surgery/retractor2.ogg differ diff --git a/sound/surgery/saw.ogg b/sound/surgery/saw.ogg new file mode 100644 index 000000000000..8e7a47f0fa06 Binary files /dev/null and b/sound/surgery/saw.ogg differ diff --git a/sound/surgery/scalpel1.ogg b/sound/surgery/scalpel1.ogg new file mode 100644 index 000000000000..6c0fe5dad9fe Binary files /dev/null and b/sound/surgery/scalpel1.ogg differ diff --git a/sound/surgery/scalpel2.ogg b/sound/surgery/scalpel2.ogg new file mode 100644 index 000000000000..497672239393 Binary files /dev/null and b/sound/surgery/scalpel2.ogg differ diff --git a/tgui/packages/tgui-panel/styles/main.scss b/tgui/packages/tgui-panel/styles/main.scss index 4c4213b28e56..d84c6ce3af28 100644 --- a/tgui/packages/tgui-panel/styles/main.scss +++ b/tgui/packages/tgui-panel/styles/main.scss @@ -57,4 +57,4 @@ @include meta.load-css('~tgui/styles/layouts/Window.scss'); // Goonchat styles -@include meta.load-css('./tgchat/chat-dark.scss'); +@include meta.load-css('./tgchat/chat-default.scss'); diff --git a/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss b/tgui/packages/tgui-panel/styles/tgchat/chat-default.scss similarity index 56% rename from tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss rename to tgui/packages/tgui-panel/styles/tgchat/chat-default.scss index 110b24534b7b..bc6bcfa4e6f0 100644 --- a/tgui/packages/tgui-panel/styles/tgchat/chat-dark.scss +++ b/tgui/packages/tgui-panel/styles/tgchat/chat-default.scss @@ -1,8 +1,4 @@ -/** - * Copyright (c) 2020 Aleksej Komarov - * SPDX-License-Identifier: MIT - */ - +// MARK: GENERAL STUFF em { font-style: normal; font-weight: bold; @@ -23,168 +19,86 @@ img.icon { vertical-align: bottom; } -.emoji16x16 { - vertical-align: middle; -} - a { color: #397ea5; } -a.popt { - text-decoration: none; -} - -/* POPUPS */ - -.popup { - position: fixed; - top: 50%; - left: 50%; - background: #ddd; -} - -.popup .close { - position: absolute; - background: #aaa; - top: 0; - right: 0; - color: #333; - text-decoration: none; - z-index: 2; - padding: 0 10px; - height: 30px; - line-height: 30px; -} - -.popup .close:hover { - background: #999; -} - -.popup .head { - background: #999; - color: #ddd; - padding: 0 10px; - height: 30px; - line-height: 30px; - text-transform: uppercase; - font-size: 0.9em; +em { + font-style: normal; font-weight: bold; - border-bottom: 2px solid green; } -.popup input { - border: 1px solid #999; - background: #fff; - margin: 0; - padding: 5px; - outline: none; - color: #333; +h1, +h2, +h3, +h4, +h5, +h6 { + color: #a4bad6; + font-family: Georgia, Verdana, sans-serif; } -.popup input[type='text']:hover, -.popup input[type='text']:active, -.popup input[type='text']:focus { - border-color: green; +h1.alert, +h2.alert { + color: #a4bad6; } -.popup input[type='submit'] { - padding: 5px 10px; - background: #999; - color: #ddd; - text-transform: uppercase; - font-size: 0.9em; - font-weight: bold; +.emoji { + max-height: 16px; + max-width: 16px; } -.popup input[type='submit']:hover, -.popup input[type='submit']:focus, -.popup input[type='submit']:active { - background: #aaa; - cursor: pointer; +.emoji16x16 { + vertical-align: middle; } -.changeFont { - padding: 10px; +.italic, +.italics, +.emote { + font-style: italic; } -.changeFont a { - display: block; - text-decoration: none; - padding: 3px; - color: #333; +.bold { + font-weight: bold; } -.changeFont a:hover { - background: #ccc; +.bolditalics { + font-style: italic; + font-weight: bold; } -.highlightPopup { - padding: 10px; +.center { text-align: center; } -.highlightPopup input[type='text'] { - display: block; - width: 215px; - text-align: left; - margin-top: 5px; -} - -.highlightPopup input.highlightColor { - background-color: #ffff00; -} - -.highlightPopup input.highlightTermSubmit { - margin-top: 5px; -} - -/* ADMIN CONTEXT MENU */ - -.contextMenu { - background-color: #ddd; - position: fixed; - margin: 2px; - width: 150px; +.big { + font-size: 150%; } -.contextMenu a { - display: block; - padding: 2px 5px; - text-decoration: none; - color: #333; +.reallybig { + font-size: 175%; } -.contextMenu a:hover { - background-color: #ccc; +.sans { + font-family: 'Comic Sans MS', cursive, sans-serif; } -/* ADMIN FILTER MESSAGES MENU */ - -.filterMessages { - padding: 5px; +.wingdings { + font-family: Wingdings, Webdings; } -.filterMessages div { - padding: 2px 0; +.robot { + font-family: 'OCR-A', monospace; + font-size: 1.15em; + font-weight: bold; } -.icon-stack { - height: 1em; - line-height: 1em; - width: 1em; - vertical-align: middle; - margin-top: -2px; +.hidden { + display: none; + visibility: hidden; } -/***************************************** -* -* OUTPUT ACTUALLY RELATED TO MESSAGES -* -******************************************/ - -/* MOTD */ - +// MARK: MOTD .motd { color: #a4bad6; font-family: Verdana, sans-serif; @@ -208,38 +122,37 @@ a.popt { color: #a4bad6; } -/* ADD HERE FOR ITALIC */ +// MARK: MEMO +.memo { + color: #638500; + text-align: center; +} -.italic, -.italics, -.emote { - font-style: italic; +.memoedit { + text-align: center; + font-size: 75%; } -/* OUTPUT COLORS */ +// MARK: General colors +.ooc { + font-weight: bold; +} -.highlight { - background: yellow; +.looc { + color: #6699cc; + font-weight: bold; } -h1, -h2, -h3, -h4, -h5, -h6 { - color: #a4bad6; - font-family: Georgia, Verdana, sans-serif; +.discordpm { + color: #6685f5; } -h1.alert, -h2.alert { - color: #a4bad6; +.debug { + color: #6d2f83; } -em { - font-style: normal; - font-weight: bold; +.deadsay { + color: #e2c1ff; } .darkmblue { @@ -250,27 +163,27 @@ em { font-weight: bold; } -.ooc { +.name { font-weight: bold; } -.looc { - color: #6699cc; +.yell { font-weight: bold; } -.adminobserverooc { - color: #0099cc; +// MARK: Admin/Mentor +.mentorhelp { + color: #0077bb; font-weight: bold; } -.adminooc { - color: #b82e00; +.mentor_channel { + color: #775bff; font-weight: bold; } -.adminobserver { - color: #996600; +.mentor_channel_admin { + color: #a35cff; font-weight: bold; } @@ -279,50 +192,44 @@ em { font-weight: bold; } -.adminsay { - color: #9611d4; - font-weight: bold; -} - -.mentorhelp { - color: #0077bb; - font-weight: bold; -} - .adminhelp { color: #aa0000; font-weight: bold; } -.playerreply { - color: #8800bb; +.adminticket { + color: #3daf21; font-weight: bold; } -.pmsend { - color: #6685f5; -} - -.debug { - color: #6d2f83; +.adminticketalt { + color: #ccb847; + font-weight: bold; } -.name { +.admin_channel { + color: #03fc9d; font-weight: bold; } -.yell { +.all_admin_ping { + color: #12a5f4; font-weight: bold; + font-size: 120%; + text-align: center; } -.siliconsay { - font-family: 'Courier New', Courier, monospace; +.dev_channel { + color: #61b413; + font-weight: bold; } -.deadsay { - color: #e2c1ff; +.dev_channel_admin { + color: #9ef14f; + font-weight: bold; } +// MARK: Radio .radio { color: #20b142; } @@ -343,10 +250,6 @@ em { color: #998599; } -.resteamradio { - color: #18bc46; -} - .airadio { color: #ff5ed7; } @@ -383,51 +286,7 @@ em { color: #b84f92; } -.admin_channel { - color: #03fc9d; - font-weight: bold; -} - -.all_admin_ping { - color: #12a5f4; - font-weight: bold; - font-size: 120%; - text-align: center; -} - -.mentor_channel { - color: #775bff; - font-weight: bold; -} - -.mentor_channel_admin { - color: #a35cff; - font-weight: bold; -} - -.dev_channel { - color: #61b413; - font-weight: bold; -} - -.dev_channel_admin { - color: #9ef14f; - font-weight: bold; -} - -.djradio { - color: #996600; -} - -.binaryradio { - color: #1b00fb; - font-family: 'Courier New', Courier, monospace; -} - -.mommiradio { - color: #6685f5; -} - +// MARK: Alerts .alert { color: #d82020; } @@ -443,31 +302,6 @@ h2.alert { font-weight: bold; } -.emote { - font-style: italic; -} - -.selecteddna { - color: #a4bad6; - background-color: #001b1b; -} - -.attack { - color: #ff0000; -} - -.moderate { - color: #cc0000; -} - -.disarm { - color: #990000; -} - -.passive { - color: #660000; -} - .warning { color: #c51e1e; font-style: italic; @@ -484,16 +318,28 @@ h2.alert { font-weight: bold; } +.biggerdanger { + color: #ff0000; + font-weight: bold; + font-size: 150%; +} + .userdanger { color: #c51e1e; font-weight: bold; font-size: 120%; } -.biggerdanger { +.attack { color: #ff0000; - font-weight: bold; - font-size: 150%; +} + +.disarm { + color: #990000; +} + +.moderate { + color: #cc0000; } .notice { @@ -510,23 +356,46 @@ h2.alert { font-style: italic; } -.green { - color: #03bb39; +// MARK: Announcements +.announcement h1, +.announcement h2 { + color: #a4bad6; + margin: 8pt 0; + line-height: 1.2; } -.pr_announce { - color: #c51e1e; - font-weight: bold; +.announcement p { + color: #d82020; + line-height: 1.3; } -.boldannounceic { - color: #c51e1e; - font-weight: bold; +.announcement.minor h1 { + font-size: 180%; } -.boldannounceooc { - color: #c51e1e; - font-weight: bold; +.announcement.minor h2 { + font-size: 170%; +} + +.announcement.sec h1 { + color: #f00; + font-size: 180%; + font-family: Verdana, sans-serif; +} + +.boldannounceic { + color: #c51e1e; + font-weight: bold; +} + +.boldannounceooc { + color: #c51e1e; + font-weight: bold; +} + +.pr_announce { + color: #c51e1e; + font-weight: bold; } .greenannounce { @@ -534,6 +403,7 @@ h2.alert { font-weight: bold; } +// MARK: Antagonist .alien { color: #c433c4; } @@ -588,126 +458,44 @@ h2.alert { font-style: italic; } -.medal { - font-weight: bold; -} - -/* /vg/ */ .blob { - color: #006221; - font-weight: bold; + color: #ee4000; font-style: italic; } -.confirm { - color: #00af3b; -} - -.rose { - color: #ff5050; -} - -.sans { - font-family: 'Comic Sans MS', cursive, sans-serif; -} - -.wingdings { - font-family: Wingdings, Webdings; +.revennotice { + color: #6685f5; } -.robot { - font-family: 'OCR-A', monospace; - font-size: 1.15em; +.revenbignotice { + color: #6685f5; font-weight: bold; + font-size: 120%; } -.ancient { - color: #008b8b; - font-style: italic; -} - -.newscaster { - color: #cc0000; -} - -.mod { - color: #735638; - font-weight: bold; +.revenminor { + color: #823abb; } -.modooc { - color: #184880; - font-weight: bold; +.revenwarning { + color: #760fbb; + font-style: italic; } -.adminmod { - color: #f0aa14; +.revendanger { + color: #760fbb; font-weight: bold; -} - -.tajaran { - color: #803b56; -} - -.skrell { - color: #00ced1; -} - -.solcom { - color: #8282fb; -} - -.com_srus { - color: #7c4848; -} - -.soghun { - color: #228b22; + font-size: 120%; } .changeling { color: #00b4de; } -.vox { - color: #aa00aa; -} - -.diona { - color: #804000; - font-weight: bold; -} - -.trinary { - color: #727272; -} - -.kidan { - color: #c64c05; -} - -.slime { - color: #0077aa; -} - -.drask { - color: #a3d4eb; - font-family: 'Arial Black'; -} - -.moth { - color: #869b29; - font-family: 'Copperplate'; -} - .clown { color: #ff0000; } -.vulpkanin { - color: #b97a57; -} - .abductor { color: #800080; font-style: italic; @@ -720,14 +508,6 @@ h2.alert { font-style: italic; } -.rough { - font-family: 'Trebuchet MS', cursive, sans-serif; -} - -.say_quote { - font-family: Georgia, Verdana, sans-serif; -} - .cult { color: #800080; font-weight: bold; @@ -762,6 +542,12 @@ h2.alert { font-size: 200%; } +.his_grace { + color: #15d512; + font-family: 'Courier New', cursive, sans-serif; + font-style: italic; +} + .zombie { color: #7c4848; } @@ -772,16 +558,30 @@ h2.alert { font-size: 120%; } -.interface { - color: #9031c4; +// MARK: MEGAFAUNA +.colossus { + color: #7f282a; + font-size: 175%; } -.big { - font-size: 150%; +.hierophant { + color: #660099; + font-weight: bold; + font-style: italic; } -.reallybig { - font-size: 175%; +.hierophant_warning { + color: #660099; + font-style: italic; +} + +// MARK: Other colors +.rose { + color: #ff5050; +} + +.interface { + color: #9031c4; } .greentext { @@ -794,53 +594,22 @@ h2.alert { font-size: 150%; } -.bold { - font-weight: bold; -} - -.his_grace { - color: #15d512; - font-family: 'Courier New', cursive, sans-serif; - font-style: italic; -} - -.center { - text-align: center; -} - .red { color: #ff0000; } -.purple { - color: #9031c4; -} - -.skeleton { - color: #c8c8c8; - font-weight: bold; - font-style: italic; +.green { + color: #03bb39; } -.gutter { - color: #7092be; - font-family: 'Trebuchet MS', cursive, sans-serif; +.purple { + color: #9031c4; } .orange { color: #ffa500; } -.orangei { - color: #ffa500; - font-style: italic; -} - -.orangeb { - color: #ffa500; - font-weight: bold; -} - .resonate { color: #298f85; } @@ -849,157 +618,18 @@ h2.alert { color: #5cc9ff; } -.revennotice { - color: #6685f5; -} - -.revenboldnotice { - color: #6685f5; - font-weight: bold; -} - -.revenbignotice { - color: #6685f5; - font-weight: bold; - font-size: 120%; -} - -.revenminor { - color: #823abb; -} - -.revenwarning { - color: #760fbb; - font-style: italic; -} - -.revendanger { - color: #760fbb; - font-weight: bold; - font-size: 120%; -} - .specialnotice { color: #4a6f82; font-weight: bold; font-size: 120%; } -/* /vg/ */ -.good { - color: green; -} - -.average { - color: #ff8000; -} - -.bad { - color: #ff0000; -} - -/* /vg/ Saycode Rewrite */ -.italics, -.talkinto { - font-style: italic; -} - .whisper { font-style: italic; color: #cccccc; } -/* Recruiting stuff */ -.recruit { - color: #5c00e6; - font-weight: bold; - font-style: italic; -} - -.memo { - color: #638500; - text-align: center; -} - -.memoedit { - text-align: center; - font-size: 75%; -} - -.connectionClosed, -.fatalError { - background: red; - color: white; - padding: 5px; -} - -.connectionClosed.restored { - background: green; -} - -.internal.boldnshit { - color: #6685f5; - font-weight: bold; -} - -.rebooting { - background: #2979af; - color: white; - padding: 5px; -} - -.rebooting a { - color: white !important; - text-decoration-color: white !important; -} - -/* HELPER CLASSES */ -.text-normal { - font-weight: normal; - font-style: normal; -} - -.hidden { - display: none; - visibility: hidden; -} - -/* MEGAFAUNA */ -.colossus { - color: #7f282a; - font-size: 175%; -} - -.hierophant { - color: #660099; - font-weight: bold; - font-style: italic; -} - -.hierophant_warning { - color: #660099; - font-style: italic; -} - -/* EMOJI STUFF */ -.emoji { - max-height: 16px; - max-width: 16px; -} - -/* ADMIN TICKETS */ - -.adminticket { - color: #3daf21; - font-weight: bold; -} - -.adminticketalt { - color: #ccb847; - font-weight: bold; -} - -/* Syndicate codewords */ +// MARK: Syndicate codewords span.body .codephrases { color: #5555ff; } @@ -1008,95 +638,66 @@ span.body .coderesponses { color: #ff3333; } -.announcement h1, -.announcement h2 { - color: #a4bad6; - margin: 8pt 0; - line-height: 1.2; +// MARK: Gases +.oxygen { + color: #449dff; } -.announcement p { - color: #d82020; - line-height: 1.3; +.nitrogen { + color: #f94541; } -.announcement.minor h1 { - font-size: 180%; +.carbon_dioxide { + color: #cccccc; } -.announcement.minor h2 { - font-size: 170%; +.plasma { + color: #eb6b00; } -.announcement.sec h1 { - color: #f00; - font-size: 180%; - font-family: Verdana, sans-serif; +.sleeping_agent { + color: #f28b89; } -.bolditalics { - font-style: italic; - font-weight: bold; +.agent_b { + color: teal; } +// MARK: Boxed messages .boxed_message { - background: #1b1c1e; - border: 1px solid #a3b9d9; - margin: 0.5em; + background: hsl(220, 10%, 10%); + border: 1px solid hsla(220, 40%, 75%, 0.25); + border-width: 1em * calc(1px / 12px) 1em * calc(5px / 12px); + margin: 0.5em 0.25em; padding: 0.5em 0.75em; + border-radius: 0.5em; text-align: center; } -.boxed_message.left_align_text { - text-align: left; -} - .boxed_message.red_border { - background: #1e1b1b; - border-color: #aa0000; + background: hsl(0, 20%, 10%); + border-color: hsla(0, 100%, 50%, 0.5); } .boxed_message.green_border { - background: #1b1e1c; - border-color: #00ff00; + background: hsl(140, 20%, 10%); + border-color: hsla(120, 100%, 50%, 0.5); } .boxed_message.purple_border { - background: #1d1c1f; - border-color: #8000ff; + background: hsl(260, 25%, 12.5%); + border-color: hsla(260, 100%, 75%, 0.5); } .boxed_message.notice_border { - background: #1b1c1e; - border-color: #6685f5; + background: hsl(220, 20%, 10%); + border-color: hsla(225, 90%, 65%, 0.5); } .boxed_message.thick_border { - border-width: thick; -} - -/* GASES */ - -.oxygen { - color: #449dff; + border-width: 0.5em; } -.nitrogen { - color: #f94541; -} - -.carbon_dioxide { - color: #cccccc; -} - -.plasma { - color: #eb6b00; -} - -.sleeping_agent { - color: #f28b89; -} - -.agent_b { - color: teal; +.boxed_message.left_align_text { + text-align: left; } diff --git a/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss b/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss index 7e366a5636ab..bd6f319006bc 100644 --- a/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss +++ b/tgui/packages/tgui-panel/styles/tgchat/chat-light.scss @@ -1,208 +1,25 @@ -/** - * Copyright (c) 2020 Aleksej Komarov - * SPDX-License-Identifier: MIT - */ - -html, -body { - padding: 0; - margin: 0; - height: 100%; - color: #000000; -} - -body { - background: #fff; - font-family: Verdana, sans-serif; - font-size: 13px; - line-height: 1.2; - overflow-x: hidden; - overflow-y: scroll; - word-wrap: break-word; -} - -em { - font-style: normal; - font-weight: bold; -} - -img { - margin: 0; - padding: 0; - line-height: 1; - -ms-interpolation-mode: nearest-neighbor; // TODO: Remove with 516 - image-rendering: pixelated; -} - -img.icon { - height: 1em; - min-height: 16px; - width: auto; - vertical-align: bottom; -} - +// MARK: GENERAL STUFF a { color: #0000ff; } -a.popt { - text-decoration: none; -} - -/* POPUPS */ - -.popup { - position: fixed; - top: 50%; - left: 50%; - background: #ddd; -} - -.popup .close { - position: absolute; - background: #aaa; - top: 0; - right: 0; - color: #333; - text-decoration: none; - z-index: 2; - padding: 0 10px; - height: 30px; - line-height: 30px; -} - -.popup .close:hover { - background: #999; -} - -.popup .head { - background: #999; - color: #ddd; - padding: 0 10px; - height: 30px; - line-height: 30px; - text-transform: uppercase; - font-size: 0.9em; - font-weight: bold; - border-bottom: 2px solid green; -} - -.popup input { - border: 1px solid #999; - background: #fff; - margin: 0; - padding: 5px; - outline: none; - color: #333; -} - -.popup input[type='text']:hover, -.popup input[type='text']:active, -.popup input[type='text']:focus { - border-color: green; -} - -.popup input[type='submit'] { - padding: 5px 10px; - background: #999; - color: #ddd; - text-transform: uppercase; - font-size: 0.9em; - font-weight: bold; -} - -.popup input[type='submit']:hover, -.popup input[type='submit']:focus, -.popup input[type='submit']:active { - background: #aaa; - cursor: pointer; -} - -.changeFont { - padding: 10px; -} - -.changeFont a { - display: block; - text-decoration: none; - padding: 3px; - color: #333; -} - -.changeFont a:hover { - background: #ccc; -} - -.highlightPopup { - padding: 10px; - text-align: center; -} - -.highlightPopup input[type='text'] { - display: block; - width: 215px; - text-align: left; - margin-top: 5px; -} - -.highlightPopup input.highlightColor { - background-color: #ffff00; -} - -.highlightPopup input.highlightTermSubmit { - margin-top: 5px; -} - -/* ADMIN CONTEXT MENU */ - -.contextMenu { - background-color: #ddd; - position: fixed; - margin: 2px; - width: 150px; -} - -.contextMenu a { - display: block; - padding: 2px 5px; - text-decoration: none; - color: #333; -} - -.contextMenu a:hover { - background-color: #ccc; -} - -/* ADMIN FILTER MESSAGES MENU */ - -.filterMessages { - padding: 5px; -} - -.filterMessages div { - padding: 2px 0; +h1, +h2, +h3, +h4, +h5, +h6 { + color: #0000ff; } -.icon-stack { - height: 1em; - line-height: 1em; - width: 1em; - vertical-align: middle; - margin-top: -2px; +h1.alert, +h2.alert { + color: #000000; } -/***************************************** -* -* OUTPUT ACTUALLY RELATED TO MESSAGES -* -******************************************/ - -/* MOTD */ - +// MARK: MOTD .motd { color: #638500; - font-family: Verdana, sans-serif; - white-space: normal; } .motd h1, @@ -212,7 +29,6 @@ a.popt { .motd h5, .motd h6 { color: #638500; - text-decoration: underline; } .motd a, @@ -222,121 +38,69 @@ a.popt { color: #638500; } -/* ADD HERE FOR ITALIC */ - -.italic, -.italics, -.emote { - font-style: italic; -} - -/* OUTPUT COLORS */ - -.highlight { - background: yellow; +// MARK: General colors +.looc { + color: #6699cc; } -h1, -h2, -h3, -h4, -h5, -h6 { +.discordpm { color: #0000ff; - font-family: Georgia, Verdana, sans-serif; } -h1.alert, -h2.alert { - color: #000000; +.debug { + color: #6d2f83; } -em { - font-style: normal; - font-weight: bold; +.deadsay { + color: #5c00e6; } .darkmblue { color: #0000ff; } -.prefix { - font-weight: bold; -} - -.ooc { - font-weight: bold; -} - -.looc { - color: #6699cc; - font-weight: bold; -} - -.adminobserverooc { - color: #0099cc; - font-weight: bold; -} - -.adminooc { - color: #b82e00; - font-weight: bold; -} - -.adminobserver { - color: #996600; - font-weight: bold; -} - -.admin { - color: #386aff; - font-weight: bold; +// MARK: Admin/Mentor +.mentorhelp { + color: #0077bb; } -.adminsay { - color: #9611d4; - font-weight: bold; +.mentor_channel { + color: #775bff; } -.mentorhelp { - color: #0077bb; - font-weight: bold; +.mentor_channel_admin { + color: #a35cff; } .adminhelp { color: #aa0000; - font-weight: bold; -} - -.playerreply { - color: #8800bb; - font-weight: bold; } -.pmsend { - color: #0000ff; +.adminticket { + color: #3e7336; } -.debug { - color: #6d2f83; +.adminticketalt { + color: #014c8a; } -.name { - font-weight: bold; +.admin_channel { + color: #9a04d1; } -.yell { - font-weight: bold; +.all_admin_ping { + color: #12a5f4; } -.siliconsay { - font-family: 'Courier New', Courier, monospace; +.dev_channel { + color: #126719; } -.deadsay { - color: #5c00e6; +.dev_channel_admin { + color: #26a419; } +// MARK: Radio .radio { color: #408010; } @@ -357,10 +121,6 @@ em { color: #686868; } -.resteamradio { - color: #18bc46; -} - .airadio { color: #ff00ff; } @@ -397,51 +157,7 @@ em { color: #e3027a; } -.admin_channel { - color: #9a04d1; - font-weight: bold; -} - -.all_admin_ping { - color: #12a5f4; - font-weight: bold; - font-size: 120%; - text-align: center; -} - -.mentor_channel { - color: #775bff; - font-weight: bold; -} - -.mentor_channel_admin { - color: #a35cff; - font-weight: bold; -} - -.dev_channel { - color: #126719; - font-weight: bold; -} - -.dev_channel_admin { - color: #26a419; - font-weight: bold; -} - -.djradio { - color: #663300; -} - -.binaryradio { - color: #0b0050; - font-family: 'Courier New', Courier, monospace; -} - -.mommiradio { - color: navy; -} - +// MARK: Alerts .alert { color: #ff0000; } @@ -453,61 +169,22 @@ h2.alert { .ghostalert { color: #5c00e6; - font-style: italic; - font-weight: bold; -} - -.emote { - font-style: italic; -} - -.selecteddna { - color: #ffffff; - background-color: #001b1b; -} - -.attack { - color: #ff0000; -} - -.moderate { - color: #cc0000; -} - -.disarm { - color: #990000; -} - -.passive { - color: #660000; } .warning { color: #ff0000; - font-style: italic; } .boldwarning { color: #ff0000; - font-style: italic; - font-weight: bold; } .danger { color: #ff0000; - font-weight: bold; } .userdanger { color: #ff0000; - font-weight: bold; - font-size: 120%; -} - -.biggerdanger { - color: #ff0000; - font-weight: bold; - font-size: 150%; } .notice { @@ -516,51 +193,35 @@ h2.alert { .boldnotice { color: #000099; - font-weight: bold; } -.suicide { - color: #ff5050; - font-style: italic; -} - -.green { - color: #03bb39; -} - -.pr_announce { - color: #228b22; - font-weight: bold; +// MARK: Announcements +.announcement h1, +.announcement h2 { + color: #000; } .boldannounceic { color: #ff0000; - font-weight: bold; } .boldannounceooc { color: #ff0000; - font-weight: bold; +} + +.pr_announce { + color: #228b22; } .greenannounce { color: #00ff00; - font-weight: bold; } +// MARK: Antagonist .alien { color: #543354; } -.noticealien { - color: #00c000; -} - -.alertalien { - color: #00c000; - font-weight: bold; -} - .terrorspider { color: #320e32; } @@ -569,454 +230,67 @@ h2.alert { color: #6a2148; } -.chaosverygood { - color: #19e0c0; - font-weight: bold; - font-size: 120%; -} - -.chaosgood { - color: #19e0c0; - font-weight: bold; -} - -.chaosneutral { - color: #479ac0; - font-weight: bold; -} - -.chaosbad { - color: #9047c0; - font-weight: bold; -} - -.chaosverybad { - color: #9047c0; - font-weight: bold; - font-size: 120%; -} - -.sinister { - color: #800080; - font-weight: bold; - font-style: italic; -} -/* /vg/ */ -.blob { - color: #006221; - font-weight: bold; - font-style: italic; -} - -.confirm { - color: #00af3b; -} - -.rose { - color: #ff5050; -} - -.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: bold; -} - -.ancient { - color: #008b8b; - font-style: italic; -} - -.newscaster { - color: #800000; -} - -.mod { - color: #735638; - font-weight: bold; -} - -.modooc { - color: #184880; - font-weight: bold; -} - -.adminmod { - color: #402a14; - font-weight: bold; -} - -.tajaran { - color: #803b56; -} - -.skrell { - color: #00ced1; -} - -.solcom { - color: #22228b; -} - -.com_srus { - color: #7c4848; +.revennotice { + color: #1d2953; } -.soghun { - color: #228b22; +.revenbignotice { + color: #1d2953; } .changeling { color: #800080; } -.vox { - color: #aa00aa; -} - -.diona { - color: #804000; - font-weight: bold; -} - -.trinary { - color: #727272; -} - -.kidan { - color: #664205; -} - -.slime { - color: #0077aa; -} - -.drask { - color: #a3d4eb; - font-family: 'Arial Black'; -} - -.moth { - color: #869b29; - font-family: 'Copperplate'; -} - -.clown { - color: #ff0000; -} - -.vulpkanin { - color: #b97a57; -} - -.abductor { - color: #800080; - font-style: italic; -} - -.mind_control { - color: #a00d6f; - font-size: 3; - font-weight: bold; - font-style: italic; -} - -.rough { - font-family: 'Trebuchet MS', cursive, sans-serif; -} - -.say_quote { - font-family: Georgia, Verdana, sans-serif; -} - -.cult { - color: #800080; - font-weight: bold; - font-style: italic; -} - .cultspeech { color: #7f0000; - font-style: italic; } .cultitalic { color: #960000; - font-style: italic; } .cultlarge { color: #960000; - font-weight: bold; - font-size: 120%; } .narsie { color: #960000; - font-weight: bold; - font-size: 300%; } .narsiesmall { color: #960000; - font-weight: bold; - font-size: 200%; } -.zombie { - color: #7c4848; -} - -.zombielarge { - color: #7c4848; - font-weight: bold; - font-size: 120%; +// MARK: Other colors +.rose { + color: #ff5050; } .interface { color: #330033; } -.big { - font-size: 150%; -} - -.reallybig { - font-size: 175%; -} - -.greentext { - color: #00ff00; - font-size: 150%; -} - -.redtext { - color: #ff0000; - font-size: 150%; -} - -.bold { - font-weight: bold; -} - -.his_grace { - color: #15d512; - font-family: 'Courier New', cursive, sans-serif; - font-style: italic; -} - -.center { - text-align: center; -} - -.red { - color: #ff0000; -} - .purple { color: #5e2d79; } -.skeleton { - color: #585858; - font-weight: bold; - font-style: italic; -} - -.gutter { - color: #7092be; - font-family: 'Trebuchet MS', cursive, sans-serif; -} - .orange { color: #ffa500; } -.orangei { - color: #ffa500; - font-style: italic; -} - -.orangeb { - color: #ffa500; - font-weight: bold; -} - -.resonate { - color: #298f85; -} - .healthscan_oxy { color: #0074bd; } -.revennotice { - color: #1d2953; -} - -.revenboldnotice { - color: #1d2953; - font-weight: bold; -} - -.revenbignotice { - color: #1d2953; - font-weight: bold; - font-size: 120%; -} - -.revenminor { - color: #823abb; -} - -.revenwarning { - color: #760fbb; - font-style: italic; -} - -.revendanger { - color: #760fbb; - font-weight: bold; - font-size: 120%; -} - -.specialnoticebold { - color: #36525e; - font-weight: bold; - font-size: 120%; -} - .specialnotice { color: #36525e; - font-size: 120%; -} - -.medal { - font-weight: bold; -} - -/* /vg/ */ -.good { - color: green; -} - -.average { - color: #ff8000; -} - -.bad { - color: #ff0000; -} - -/* /vg/ Saycode Rewrite */ -.italics, -.talkinto { - font-style: italic; } .whisper { - font-style: italic; color: #333333; } -/* Recruiting stuff */ -.recruit { - color: #5c00e6; - font-weight: bold; - font-style: italic; -} - -.memo { - color: #638500; - text-align: center; -} - -.memoedit { - text-align: center; - font-size: 75%; -} - -.connectionClosed, -.fatalError { - background: red; - color: white; - padding: 5px; -} - -.connectionClosed.restored { - background: green; -} - -.internal.boldnshit { - color: blue; - font-weight: bold; -} - -.rebooting { - background: #2979af; - color: white; - padding: 5px; -} - -.rebooting a { - color: white !important; - text-decoration-color: white !important; -} - -/* HELPER CLASSES */ -.text-normal { - font-weight: normal; - font-style: normal; -} - -.hidden { - display: none; - visibility: hidden; -} - -/* MEGAFAUNA */ -.colossus { - color: #7f282a; - font-size: 175%; -} - -.hierophant { - color: #660099; - font-weight: bold; - font-style: italic; -} - -.hierophant_warning { - color: #660099; - font-style: italic; -} - -/* EMOJI STUFF */ -.emoji { - max-height: 16px; - max-width: 16px; -} - -/* ADMIN TICKETS */ - -.adminticket { - color: #3e7336; - font-weight: bold; -} - -.adminticketalt { - color: #014c8a; - font-weight: bold; -} - /* Syndicate codewords */ span.body .codephrases { color: #0000ff; @@ -1026,95 +300,53 @@ span.body .coderesponses { color: #ff0000; } -.announcement h1, -.announcement h2 { - color: #000; - margin: 8pt 0; - line-height: 1.2; +// MARK: GASES +.oxygen { + color: #006adb; } -.announcement p { - color: #d82020; - line-height: 1.3; +.nitrogen { + color: #d00a06; } -.announcement.minor h1 { - font-size: 180%; +.carbon_dioxide { + color: #1f1f1f; } -.announcement.minor h2 { - font-size: 170%; +.plasma { + color: #853c00; } -.announcement.sec h1 { - color: #f00; - font-size: 180%; - font-family: Verdana, sans-serif; +.sleeping_agent { + color: #e82f2c; } -.bolditalics { - font-style: italic; - font-weight: bold; +.agent_b { + color: #004d4d; } +// MARK: Boxed messages .boxed_message { - background: #f7fcff; - border: 1px solid #111a26; - margin: 0.5em; - padding: 0.5em 0.75em; - text-align: center; -} - -.boxed_message.left_align_text { - text-align: left; + background: hsl(220, 100%, 97.5%); + border-color: hsla(220, 75%, 25%, 0.5); } .boxed_message.red_border { - background: #fff7f7; - border-color: #aa0000; + background: hsl(0, 100%, 97.5%); + border-color: hsla(0, 100%, 50%, 0.5); } .boxed_message.green_border { - background: #f7fff7; - border-color: #00ff00; + background: hsl(140, 100%, 97.5%); + border-color: hsl(120, 100%, 33%, 0.5); } .boxed_message.purple_border { - background: #fdf7ff; - border-color: #aa00ff; + background: hsl(260, 100%, 97.5%); + border-color: hsla(260, 100%, 50%, 0.5); } .boxed_message.notice_border { - background: #f7fdff; - border-color: #0000bf; -} - -.boxed_message.thick_border { - border-width: thick; -} - -/* GASES */ - -.oxygen { - color: #006adb; -} - -.nitrogen { - color: #d00a06; -} - -.carbon_dioxide { - color: #1f1f1f; -} - -.plasma { - color: #853c00; -} - -.sleeping_agent { - color: #e82f2c; -} - -.agent_b { - color: #004d4d; + background: hsl(220, 100%, 97.5%); + border-color: hsla(225, 100%, 50%, 0.5); } diff --git a/tgui/packages/tgui-panel/styles/tgchat/chat-ntos.scss b/tgui/packages/tgui-panel/styles/tgchat/chat-ntos.scss index b5fdb106e59a..7841c962d5b2 100644 --- a/tgui/packages/tgui-panel/styles/tgchat/chat-ntos.scss +++ b/tgui/packages/tgui-panel/styles/tgchat/chat-ntos.scss @@ -1,35 +1,19 @@ .boxed_message { - background: #1c242e; - border: 1px solid #a3b9d9; - margin: 0.5em; - padding: 0.5em 0.75em; - text-align: center; -} - -.boxed_message.left_align_text { - text-align: left; + background: hsl(220, 25%, 15%); } .boxed_message.red_border { - background: #2e1c1c; - border-color: #aa0000; + background: hsl(0, 25%, 15%); } .boxed_message.green_border { - background: #1c2e22; - border-color: #00ff00; + background: hsl(140, 25%, 15%); } .boxed_message.purple_border { - background: #221c2e; - border-color: #8000ff; + background: hsl(260, 25%, 15%); } .boxed_message.notice_border { - background: #1f2633; - border-color: #6685f5; -} - -.boxed_message.thick_border { - border-width: thick; + background: hsl(220, 35%, 15%); } diff --git a/tgui/packages/tgui-panel/styles/tgchat/chat-paradise.scss b/tgui/packages/tgui-panel/styles/tgchat/chat-paradise.scss index a33d3ef60ecb..45cac6f6e86e 100644 --- a/tgui/packages/tgui-panel/styles/tgchat/chat-paradise.scss +++ b/tgui/packages/tgui-panel/styles/tgchat/chat-paradise.scss @@ -7,37 +7,26 @@ } .boxed_message { - background: rgba(0, 0, 0, 0.25); - border: 1px solid #a3b9d9; - margin: 0.5em; - padding: 0.5em 0.75em; - text-align: center; -} - -.boxed_message.left_align_text { - text-align: left; + background: hsla(0, 0%, 0%, 0.25); + border-color: hsla(20, 50%, 75%, 0.25); } .boxed_message.red_border { - background: rgba(0, 0, 0, 0.25); - border-color: #aa0000; + background: hsla(0, 75%, 5%, 0.25); + border-color: hsla(0, 100%, 50%, 0.5); } .boxed_message.green_border { - background: rgba(0, 0, 0, 0.25); - border-color: #00ff00; + background: hsla(140, 75%, 5%, 0.25); + border-color: hsla(120, 100%, 50%, 0.5); } .boxed_message.purple_border { - background: rgba(0, 0, 0, 0.25); - border-color: #8000ff; + background: hsla(260, 75%, 5%, 0.25); + border-color: hsla(260, 100%, 65%, 0.5); } .boxed_message.notice_border { - background: rgba(0, 0, 0, 0.25); - border-color: #6685f5; -} - -.boxed_message.thick_border { - border-width: thick; + background: hsla(220, 75%, 5%, 0.25); + border-color: hsla(225, 90%, 65%, 0.5); } diff --git a/tgui/packages/tgui-panel/styles/tgchat/chat-syndicate.scss b/tgui/packages/tgui-panel/styles/tgchat/chat-syndicate.scss index 9fdb11962038..e01b8154196f 100644 --- a/tgui/packages/tgui-panel/styles/tgchat/chat-syndicate.scss +++ b/tgui/packages/tgui-panel/styles/tgchat/chat-syndicate.scss @@ -7,37 +7,21 @@ } .boxed_message { - background: rgba(20, 20, 35, 0.25); - border: 1px solid #a3b9d9; - margin: 0.5em; - padding: 0.5em 0.75em; - text-align: center; -} - -.boxed_message.left_align_text { - text-align: left; + background: hsl(0, 70%, 12.5%); } .boxed_message.red_border { - background: rgba(0, 0, 0, 0.2); - border-color: #ff0000; + background: hsl(0, 100%, 12.5%); } .boxed_message.green_border { - background: rgba(0, 75, 0, 0.25); - border-color: #00ff00; + background: hsl(40, 100%, 7.5%); } .boxed_message.purple_border { - background: rgba(25, 0, 50, 0.25); - border-color: #8000ff; + background: hsl(300, 100%, 7.5%); } .boxed_message.notice_border { - background: rgba(0, 0, 75, 0.25); - border-color: #6685f5; -} - -.boxed_message.thick_border { - border-width: thick; + background: hsl(325, 100%, 7.5%); } diff --git a/tgui/packages/tgui/interfaces/BluespaceTap.js b/tgui/packages/tgui/interfaces/BluespaceTap.js index a0433fd65d88..c96c663b23b2 100644 --- a/tgui/packages/tgui/interfaces/BluespaceTap.js +++ b/tgui/packages/tgui/interfaces/BluespaceTap.js @@ -1,30 +1,68 @@ import { useBackend } from '../backend'; -import { Button, Collapsible, Stack, LabeledList, NoticeBox, Section, Slider, Box } from '../components'; +import { + Button, + Collapsible, + Stack, + LabeledList, + NoticeBox, + Section, + Slider, + Box, + NumberInput, + Dimmer, + Flex, + Icon, + Blink, +} from '../components'; import { Window } from '../layouts'; import { formatPower } from '../format'; +export const Incursion = (props, context) => { + const { data } = useBackend(context); + const { portaling } = data; + if (portaling) { + return ( +m;)u[m]=l[m++];return u}return B}(),y)},88739:function(T,r,n){"use strict";var e=n(4246),a=n(22603).some,t=e.aTypedArray,o=e.exportTypedArrayMethod;o("some",function(){function f(b){return a(t(this),b,arguments.length>1?arguments[1]:void 0)}return f}())},60415:function(T,r,n){"use strict";var e=n(74685),a=n(71138),t=n(40033),o=n(10320),f=n(90274),b=n(4246),y=n(652),B=n(19228),k=n(5026),C=n(9342),l=b.aTypedArray,c=b.exportTypedArrayMethod,m=e.Uint16Array,d=m&&a(m.prototype.sort),u=!!d&&!(t(function(){d(new m(2),null)})&&t(function(){d(new m(2),{})})),s=!!d&&!t(function(){if(k)return k<74;if(y)return y<67;if(B)return!0;if(C)return C<602;var h=new m(516),N=Array(516),v,p;for(v=0;v<516;v++)p=v%4,h[v]=515-v,N[v]=v-2*p+3;for(d(h,function(g,V){return(g/4|0)-(V/4|0)}),v=0;v<516;v++)if(h[v]!==N[v])return!0}),i=function(N){return function(v,p){return N!==void 0?+N(v,p)||0:p!==p?-1:v!==v?1:v===0&&p===0?1/v>0&&1/p<0?1:-1:v>p}};c("sort",function(){function h(N){return N!==void 0&&o(N),s?d(this,N):f(l(this),i(N))}return h}(),!s||u)},72532:function(T,r,n){"use strict";var e=n(4246),a=n(10188),t=n(13912),o=n(31082),f=e.aTypedArray,b=e.exportTypedArrayMethod;b("subarray",function(){function y(B,k){var C=f(this),l=C.length,c=t(B,l),m=o(C);return new m(C.buffer,C.byteOffset+c*C.BYTES_PER_ELEMENT,a((k===void 0?l:t(k,l))-c))}return y}())},62207:function(T,r,n){"use strict";var e=n(74685),a=n(61267),t=n(4246),o=n(40033),f=n(54602),b=e.Int8Array,y=t.aTypedArray,B=t.exportTypedArrayMethod,k=[].toLocaleString,C=!!b&&o(function(){k.call(new b(1))}),l=o(function(){return[1,2].toLocaleString()!==new b([1,2]).toLocaleString()})||!o(function(){b.prototype.toLocaleString.call([1,2])});B("toLocaleString",function(){function c(){return a(k,C?f(y(this)):y(this),f(arguments))}return c}(),l)},906:function(T,r,n){"use strict";var e=n(4246).exportTypedArrayMethod,a=n(40033),t=n(74685),o=n(67250),f=t.Uint8Array,b=f&&f.prototype||{},y=[].toString,B=o([].join);a(function(){y.call({})})&&(y=function(){function C(){return B(this)}return C}());var k=b.toString!==y;e("toString",y,k)},78824:function(T,r,n){"use strict";var e=n(80185);e("Uint16",function(a){return function(){function t(o,f,b){return a(this,o,f,b)}return t}()})},72846:function(T,r,n){"use strict";var e=n(80185);e("Uint32",function(a){return function(){function t(o,f,b){return a(this,o,f,b)}return t}()})},24575:function(T,r,n){"use strict";var e=n(80185);e("Uint8",function(a){return function(){function t(o,f,b){return a(this,o,f,b)}return t}()})},71968:function(T,r,n){"use strict";var e=n(80185);e("Uint8",function(a){return function(){function t(o,f,b){return a(this,o,f,b)}return t}()},!0)},80040:function(T,r,n){"use strict";var e=n(50730),a=n(74685),t=n(67250),o=n(30145),f=n(81969),b=n(45150),y=n(39895),B=n(77568),k=n(5419).enforce,C=n(40033),l=n(21820),c=Object,m=Array.isArray,d=c.isExtensible,u=c.isFrozen,s=c.isSealed,i=c.freeze,h=c.seal,N=!a.ActiveXObject&&"ActiveXObject"in a,v,p=function(E){return function(){function M(){return E(this,arguments.length?arguments[0]:void 0)}return M}()},g=b("WeakMap",p,y),V=g.prototype,S=t(V.set),I=function(){return e&&C(function(){var E=i([]);return S(new g,E,1),!u(E)})};if(l)if(N){v=y.getConstructor(p,"WeakMap",!0),f.enable();var L=t(V.delete),w=t(V.has),A=t(V.get);o(V,{delete:function(){function x(E){if(B(E)&&!d(E)){var M=k(this);return M.frozen||(M.frozen=new v),L(this,E)||M.frozen.delete(E)}return L(this,E)}return x}(),has:function(){function x(E){if(B(E)&&!d(E)){var M=k(this);return M.frozen||(M.frozen=new v),w(this,E)||M.frozen.has(E)}return w(this,E)}return x}(),get:function(){function x(E){if(B(E)&&!d(E)){var M=k(this);return M.frozen||(M.frozen=new v),w(this,E)?A(this,E):M.frozen.get(E)}return A(this,E)}return x}(),set:function(){function x(E,M){if(B(E)&&!d(E)){var j=k(this);j.frozen||(j.frozen=new v),w(this,E)?S(this,E,M):j.frozen.set(E,M)}else S(this,E,M);return this}return x}()})}else I()&&o(V,{set:function(){function x(E,M){var j;return m(E)&&(u(E)?j=i:s(E)&&(j=h)),S(this,E,M),j&&j(E),this}return x}()})},90846:function(T,r,n){"use strict";n(80040)},67042:function(T,r,n){"use strict";var e=n(45150),a=n(39895);e("WeakSet",function(t){return function(){function o(){return t(this,arguments.length?arguments[0]:void 0)}return o}()},a)},40348:function(T,r,n){"use strict";n(67042)},5606:function(T,r,n){"use strict";var e=n(63964),a=n(74685),t=n(60375).clear;e({global:!0,bind:!0,enumerable:!0,forced:a.clearImmediate!==t},{clearImmediate:t})},83006:function(T,r,n){"use strict";n(5606),n(27807)},25764:function(T,r,n){"use strict";var e=n(63964),a=n(74685),t=n(37713),o=n(10320),f=n(24986),b=n(40033),y=n(58310),B=b(function(){return y&&Object.getOwnPropertyDescriptor(a,"queueMicrotask").value.length!==1});e({global:!0,enumerable:!0,dontCallGetSet:!0,forced:B},{queueMicrotask:function(){function k(C){f(arguments.length,1),t(o(C))}return k}()})},27807:function(T,r,n){"use strict";var e=n(63964),a=n(74685),t=n(60375).set,o=n(78362),f=a.setImmediate?o(t,!1):t;e({global:!0,bind:!0,enumerable:!0,forced:a.setImmediate!==f},{setImmediate:f})},45569:function(T,r,n){"use strict";var e=n(63964),a=n(74685),t=n(78362),o=t(a.setInterval,!0);e({global:!0,bind:!0,forced:a.setInterval!==o},{setInterval:o})},5213:function(T,r,n){"use strict";var e=n(63964),a=n(74685),t=n(78362),o=t(a.setTimeout,!0);e({global:!0,bind:!0,forced:a.setTimeout!==o},{setTimeout:o})},69401:function(T,r,n){"use strict";n(45569),n(5213)},7435:function(T){"use strict";/**
+ */var t=r.BoxWithSampleText=function(){function o(m){return(0,e.normalizeProps)((0,e.createComponentVNode)(2,a.Box,Object.assign({},m,{children:[(0,e.createComponentVNode)(2,a.Box,{italic:!0,children:"Jackdaws love my big sphinx of quartz."}),(0,e.createComponentVNode)(2,a.Box,{mt:1,bold:!0,children:"The wide electrification of the southern provinces will give a powerful impetus to the growth of agriculture."})]})))}return o}()},67160:function(){},23542:function(){},30386:function(){},98996:function(){},50578:function(){},4444:function(){},77870:function(){},23632:function(){},56492:function(){},39108:function(){},11714:function(){},73492:function(){},49641:function(){},17570:function(){},61858:function(){},32882:function(){},70752:function(T,r,n){var e={"./pai_atmosphere.js":80818,"./pai_bioscan.js":23903,"./pai_directives.js":64988,"./pai_doorjack.js":13813,"./pai_main_menu.js":66025,"./pai_manifest.js":2983,"./pai_medrecords.js":40758,"./pai_messenger.js":98599,"./pai_radio.js":50775,"./pai_secrecords.js":48623,"./pai_signaler.js":47297};function a(o){var m=t(o);return n(m)}function t(o){if(!n.o(e,o)){var m=new Error("Cannot find module '"+o+"'");throw m.code="MODULE_NOT_FOUND",m}return e[o]}a.keys=function(){return Object.keys(e)},a.resolve=t,T.exports=a,a.id=70752},59395:function(T,r,n){var e={"./pda_atmos_scan.js":78532,"./pda_janitor.js":40253,"./pda_main_menu.js":58293,"./pda_manifest.js":58059,"./pda_medical.js":18147,"./pda_messenger.js":77595,"./pda_mule.js":24635,"./pda_nanobank.js":23734,"./pda_notes.js":97085,"./pda_power.js":57513,"./pda_secbot.js":99808,"./pda_security.js":77168,"./pda_signaler.js":21773,"./pda_status_display.js":81857,"./pda_supplyrecords.js":70287};function a(o){var m=t(o);return n(m)}function t(o){if(!n.o(e,o)){var m=new Error("Cannot find module '"+o+"'");throw m.code="MODULE_NOT_FOUND",m}return e[o]}a.keys=function(){return Object.keys(e)},a.resolve=t,T.exports=a,a.id=59395},32054:function(T,r,n){var e={"./AICard":1090,"./AICard.js":1090,"./AIFixer":39454,"./AIFixer.js":39454,"./APC":88422,"./APC.js":88422,"./ATM":99660,"./ATM.js":99660,"./AccountsUplinkTerminal":86423,"./AccountsUplinkTerminal.js":86423,"./AgentCard":79571,"./AgentCard.js":79571,"./AiAirlock":56793,"./AiAirlock.js":56793,"./AirAlarm":72475,"./AirAlarm.js":72475,"./AirlockAccessController":12333,"./AirlockAccessController.js":12333,"./AirlockElectronics":28736,"./AirlockElectronics.js":28736,"./AlertModal":47365,"./AlertModal.tsx":47365,"./AppearanceChanger":71824,"./AppearanceChanger.js":71824,"./AtmosAlertConsole":72285,"./AtmosAlertConsole.js":72285,"./AtmosControl":65805,"./AtmosControl.js":65805,"./AtmosFilter":87816,"./AtmosFilter.js":87816,"./AtmosGraphMonitor":57258,"./AtmosGraphMonitor.tsx":57258,"./AtmosMixer":52977,"./AtmosMixer.js":52977,"./AtmosPump":11748,"./AtmosPump.js":11748,"./AtmosTankControl":69321,"./AtmosTankControl.js":69321,"./Autolathe":59179,"./Autolathe.js":59179,"./Autolathe220":29943,"./Autolathe220.tsx":29943,"./BioChipPad":5147,"./BioChipPad.js":5147,"./Biogenerator":64273,"./Biogenerator.js":64273,"./BloomEdit":47823,"./BloomEdit.js":47823,"./BlueSpaceArtilleryControl":18621,"./BlueSpaceArtilleryControl.js":18621,"./BluespaceTap":27629,"./BluespaceTap.js":27629,"./BodyScanner":33758,"./BodyScanner.js":33758,"./BookBinder":67963,"./BookBinder.js":67963,"./BotCall":61925,"./BotCall.js":61925,"./BotClean":20464,"./BotClean.js":20464,"./BotFloor":69479,"./BotFloor.js":69479,"./BotHonk":59887,"./BotHonk.js":59887,"./BotMed":80063,"./BotMed.js":80063,"./BotSecurity":74439,"./BotSecurity.js":74439,"./BrigCells":10833,"./BrigCells.js":10833,"./BrigTimer":45761,"./BrigTimer.js":45761,"./CameraConsole":26300,"./CameraConsole.js":26300,"./CameraConsole220":39222,"./CameraConsole220.js":39222,"./Canister":52927,"./Canister.js":52927,"./CardComputer":51793,"./CardComputer.js":51793,"./CargoConsole":64083,"./CargoConsole.js":64083,"./ChangelogView":87331,"./ChangelogView.js":87331,"./ChemDispenser":36108,"./ChemDispenser.js":36108,"./ChemHeater":13146,"./ChemHeater.js":13146,"./ChemMaster":56541,"./ChemMaster.tsx":56541,"./CloningConsole":37173,"./CloningConsole.js":37173,"./CloningPod":98723,"./CloningPod.js":98723,"./CoinMint":18259,"./CoinMint.tsx":18259,"./ColourMatrixTester":8444,"./ColourMatrixTester.js":8444,"./CommunicationsComputer":63818,"./CommunicationsComputer.js":63818,"./CompostBin":20562,"./CompostBin.js":20562,"./Contractor":21813,"./Contractor.js":21813,"./ConveyorSwitch":54151,"./ConveyorSwitch.js":54151,"./CrewMonitor":73169,"./CrewMonitor.js":73169,"./Cryo":63987,"./Cryo.js":63987,"./CryopodConsole":86099,"./CryopodConsole.js":86099,"./DNAModifier":12692,"./DNAModifier.js":12692,"./DestinationTagger":41074,"./DestinationTagger.js":41074,"./DisposalBin":46500,"./DisposalBin.js":46500,"./DnaVault":33233,"./DnaVault.js":33233,"./DroneConsole":33681,"./DroneConsole.js":33681,"./EFTPOS":17263,"./EFTPOS.js":17263,"./ERTManager":76382,"./ERTManager.js":76382,"./EconomyManager":90217,"./EconomyManager.js":90217,"./Electropack":82565,"./Electropack.js":82565,"./Emojipedia":11243,"./Emojipedia.tsx":11243,"./EmotePanel":69784,"./EmotePanel.js":69784,"./EvolutionMenu":36730,"./EvolutionMenu.js":36730,"./ExosuitFabricator":17370,"./ExosuitFabricator.js":17370,"./ExperimentConsole":59128,"./ExperimentConsole.js":59128,"./ExternalAirlockController":97086,"./ExternalAirlockController.js":97086,"./FaxMachine":96142,"./FaxMachine.js":96142,"./FilingCabinet":74123,"./FilingCabinet.js":74123,"./FloorPainter":83767,"./FloorPainter.js":83767,"./GPS":53424,"./GPS.js":53424,"./GeneModder":89124,"./GeneModder.js":89124,"./GenericCrewManifest":73053,"./GenericCrewManifest.js":73053,"./GhostHudPanel":42914,"./GhostHudPanel.js":42914,"./GlandDispenser":25825,"./GlandDispenser.js":25825,"./GravityGen":10270,"./GravityGen.js":10270,"./GuestPass":48657,"./GuestPass.js":48657,"./HandheldChemDispenser":67834,"./HandheldChemDispenser.js":67834,"./HealthSensor":46098,"./HealthSensor.js":46098,"./Holodeck":36771,"./Holodeck.js":36771,"./Instrument":25471,"./Instrument.js":25471,"./Jukebox":52736,"./Jukebox.tsx":52736,"./KeyComboModal":13618,"./KeyComboModal.tsx":13618,"./KeycardAuth":35655,"./KeycardAuth.js":35655,"./KitchenMachine":62955,"./KitchenMachine.js":62955,"./LawManager":9525,"./LawManager.js":9525,"./LibraryComputer":85066,"./LibraryComputer.js":85066,"./LibraryManager":9516,"./LibraryManager.js":9516,"./ListInputModal":90447,"./ListInputModal.tsx":90447,"./MODsuit":77613,"./MODsuit.js":77613,"./MagnetController":78624,"./MagnetController.js":78624,"./MechBayConsole":72106,"./MechBayConsole.js":72106,"./MechaControlConsole":7466,"./MechaControlConsole.js":7466,"./MedicalRecords":79625,"./MedicalRecords.js":79625,"./MerchVendor":54989,"./MerchVendor.js":54989,"./MiningVendor":87684,"./MiningVendor.js":87684,"./ModpacksList":61468,"./ModpacksList.js":61468,"./NTRecruiter":59783,"./NTRecruiter.js":59783,"./Newscaster":64713,"./Newscaster.js":64713,"./Noticeboard":48286,"./Noticeboard.tsx":48286,"./NuclearBomb":41166,"./NuclearBomb.js":41166,"./NumberInputModal":52416,"./NumberInputModal.tsx":52416,"./OperatingComputer":1218,"./OperatingComputer.js":1218,"./Orbit":46892,"./Orbit.js":46892,"./OreRedemption":15421,"./OreRedemption.js":15421,"./PAI":52754,"./PAI.js":52754,"./PDA":85175,"./PDA.js":85175,"./Pacman":68654,"./Pacman.js":68654,"./PanDEMIC":1701,"./PanDEMIC.tsx":1701,"./ParticleAccelerator":67921,"./ParticleAccelerator.js":67921,"./PdaPainter":71432,"./PdaPainter.js":71432,"./PersonalCrafting":33388,"./PersonalCrafting.js":33388,"./Photocopier":56150,"./Photocopier.js":56150,"./Photocopier220":8340,"./Photocopier220.js":8340,"./PoolController":84676,"./PoolController.js":84676,"./PortablePump":57003,"./PortablePump.js":57003,"./PortableScrubber":70069,"./PortableScrubber.js":70069,"./PortableTurret":59955,"./PortableTurret.js":59955,"./PowerMonitor":61631,"./PowerMonitor.js":61631,"./PrisonerImplantManager":50992,"./PrisonerImplantManager.js":50992,"./PrisonerShuttleConsole":53952,"./PrisonerShuttleConsole.js":53952,"./PrizeCounter":97852,"./PrizeCounter.tsx":97852,"./RCD":94813,"./RCD.js":94813,"./RPD":18738,"./RPD.js":18738,"./Radio":80299,"./Radio.js":80299,"./ReagentGrinder":48125,"./ReagentGrinder.js":48125,"./ReagentsEditor":58262,"./ReagentsEditor.tsx":58262,"./RemoteSignaler":30207,"./RemoteSignaler.js":30207,"./RequestConsole":25472,"./RequestConsole.js":25472,"./RndBackupConsole":9861,"./RndBackupConsole.js":9861,"./RndConsole":12644,"./RndConsole/":12644,"./RndConsole/DataDiskMenu":37556,"./RndConsole/DataDiskMenu.js":37556,"./RndConsole/DeconstructionMenu":58147,"./RndConsole/DeconstructionMenu.js":58147,"./RndConsole/LatheCategory":16830,"./RndConsole/LatheCategory.js":16830,"./RndConsole/LatheChemicalStorage":70497,"./RndConsole/LatheChemicalStorage.js":70497,"./RndConsole/LatheMainMenu":70864,"./RndConsole/LatheMainMenu.js":70864,"./RndConsole/LatheMaterialStorage":42878,"./RndConsole/LatheMaterialStorage.js":42878,"./RndConsole/LatheMaterials":52662,"./RndConsole/LatheMaterials.js":52662,"./RndConsole/LatheMenu":9681,"./RndConsole/LatheMenu.js":9681,"./RndConsole/LatheSearch":68198,"./RndConsole/LatheSearch.js":68198,"./RndConsole/LinkMenu":81421,"./RndConsole/LinkMenu.js":81421,"./RndConsole/SettingsMenu":6256,"./RndConsole/SettingsMenu.js":6256,"./RndConsole/index":12644,"./RndConsole/index.js":12644,"./RndNetController":29205,"./RndNetController.js":29205,"./RndServer":63315,"./RndServer.js":63315,"./RobotSelfDiagnosis":26109,"./RobotSelfDiagnosis.js":26109,"./RoboticsControlConsole":97997,"./RoboticsControlConsole.js":97997,"./Safe":54431,"./Safe.js":54431,"./SatelliteControl":29740,"./SatelliteControl.js":29740,"./SecureStorage":44162,"./SecureStorage.js":44162,"./SecurityRecords":6272,"./SecurityRecords.js":6272,"./SeedExtractor":5099,"./SeedExtractor.js":5099,"./Shop":17474,"./Shop.js":17474,"./ShuttleConsole":2916,"./ShuttleConsole.js":2916,"./ShuttleManipulator":39401,"./ShuttleManipulator.js":39401,"./Sleeper":88284,"./Sleeper.js":88284,"./SlotMachine":21597,"./SlotMachine.js":21597,"./Smartfridge":46348,"./Smartfridge.js":46348,"./Smes":86162,"./Smes.js":86162,"./SolarControl":63584,"./SolarControl.js":63584,"./SpawnersMenu":38096,"./SpawnersMenu.js":38096,"./SpecMenu":30586,"./SpecMenu.js":30586,"./StackCraft":95152,"./StackCraft.js":95152,"./StationAlertConsole":38307,"./StationAlertConsole.js":38307,"./StationTraitsPanel":96091,"./StationTraitsPanel.tsx":96091,"./StripMenu":39409,"./StripMenu.tsx":39409,"./SuitStorage":69514,"./SuitStorage.js":69514,"./SupermatterMonitor":15022,"./SupermatterMonitor.js":15022,"./SyndicateComputerSimple":46029,"./SyndicateComputerSimple.js":46029,"./TEG":36372,"./TEG.js":36372,"./TTSSeedsExplorer":23190,"./TTSSeedsExplorer.tsx":23190,"./TachyonArray":56441,"./TachyonArray.js":56441,"./Tank":1754,"./Tank.js":1754,"./TankDispenser":7579,"./TankDispenser.js":7579,"./TcommsCore":16136,"./TcommsCore.js":16136,"./TcommsRelay":88046,"./TcommsRelay.js":88046,"./Teleporter":20802,"./Teleporter.js":20802,"./TelescienceConsole":48517,"./TelescienceConsole.js":48517,"./TempGun":21800,"./TempGun.js":21800,"./TextInputModal":24410,"./TextInputModal.tsx":24410,"./ThermoMachine":25036,"./ThermoMachine.js":25036,"./TransferValve":20035,"./TransferValve.js":20035,"./TurbineComputer":78166,"./TurbineComputer.js":78166,"./Uplink":52847,"./Uplink.js":52847,"./Vending":12261,"./Vending.js":12261,"./VolumeMixer":68971,"./VolumeMixer.js":68971,"./VotePanel":2510,"./VotePanel.js":2510,"./Wires":30138,"./Wires.js":30138,"./WizardApprenticeContract":21400,"./WizardApprenticeContract.js":21400,"./common/AccessList":49148,"./common/AccessList.js":49148,"./common/AtmosScan":26991,"./common/AtmosScan.js":26991,"./common/BeakerContents":85870,"./common/BeakerContents.js":85870,"./common/BotStatus":92963,"./common/BotStatus.js":92963,"./common/ComplexModal":3939,"./common/ComplexModal.js":3939,"./common/CrewManifest":41874,"./common/CrewManifest.js":41874,"./common/InputButtons":19203,"./common/InputButtons.tsx":19203,"./common/InterfaceLockNoticeBox":195,"./common/InterfaceLockNoticeBox.js":195,"./common/Loader":51057,"./common/Loader.tsx":51057,"./common/LoginInfo":321,"./common/LoginInfo.js":321,"./common/LoginScreen":5485,"./common/LoginScreen.js":5485,"./common/Operating":62411,"./common/Operating.js":62411,"./common/Signaler":13545,"./common/Signaler.js":13545,"./common/SimpleRecords":41984,"./common/SimpleRecords.js":41984,"./common/TemporaryNotice":22091,"./common/TemporaryNotice.js":22091,"./pai/pai_atmosphere":80818,"./pai/pai_atmosphere.js":80818,"./pai/pai_bioscan":23903,"./pai/pai_bioscan.js":23903,"./pai/pai_directives":64988,"./pai/pai_directives.js":64988,"./pai/pai_doorjack":13813,"./pai/pai_doorjack.js":13813,"./pai/pai_main_menu":66025,"./pai/pai_main_menu.js":66025,"./pai/pai_manifest":2983,"./pai/pai_manifest.js":2983,"./pai/pai_medrecords":40758,"./pai/pai_medrecords.js":40758,"./pai/pai_messenger":98599,"./pai/pai_messenger.js":98599,"./pai/pai_radio":50775,"./pai/pai_radio.js":50775,"./pai/pai_secrecords":48623,"./pai/pai_secrecords.js":48623,"./pai/pai_signaler":47297,"./pai/pai_signaler.js":47297,"./pda/pda_atmos_scan":78532,"./pda/pda_atmos_scan.js":78532,"./pda/pda_janitor":40253,"./pda/pda_janitor.js":40253,"./pda/pda_main_menu":58293,"./pda/pda_main_menu.js":58293,"./pda/pda_manifest":58059,"./pda/pda_manifest.js":58059,"./pda/pda_medical":18147,"./pda/pda_medical.js":18147,"./pda/pda_messenger":77595,"./pda/pda_messenger.js":77595,"./pda/pda_mule":24635,"./pda/pda_mule.js":24635,"./pda/pda_nanobank":23734,"./pda/pda_nanobank.js":23734,"./pda/pda_notes":97085,"./pda/pda_notes.js":97085,"./pda/pda_power":57513,"./pda/pda_power.js":57513,"./pda/pda_secbot":99808,"./pda/pda_secbot.js":99808,"./pda/pda_security":77168,"./pda/pda_security.js":77168,"./pda/pda_signaler":21773,"./pda/pda_signaler.js":21773,"./pda/pda_status_display":81857,"./pda/pda_status_display.js":81857,"./pda/pda_supplyrecords":70287,"./pda/pda_supplyrecords.js":70287};function a(o){var m=t(o);return n(m)}function t(o){if(!n.o(e,o)){var m=new Error("Cannot find module '"+o+"'");throw m.code="MODULE_NOT_FOUND",m}return e[o]}a.keys=function(){return Object.keys(e)},a.resolve=t,T.exports=a,a.id=32054},4085:function(T,r,n){var e={"./Blink.stories.js":51364,"./BlockQuote.stories.js":32453,"./Box.stories.js":83531,"./Button.stories.js":74198,"./ByondUi.stories.js":51956,"./Collapsible.stories.js":17466,"./Flex.stories.js":89241,"./ImageButton.stories.js":48779,"./Input.stories.js":21394,"./Popper.stories.js":43932,"./ProgressBar.stories.js":33270,"./Stack.stories.js":77766,"./Storage.stories.js":30187,"./Tabs.stories.js":46554,"./Themes.stories.js":53276,"./Tooltip.stories.js":28717};function a(o){var m=t(o);return n(m)}function t(o){if(!n.o(e,o)){var m=new Error("Cannot find module '"+o+"'");throw m.code="MODULE_NOT_FOUND",m}return e[o]}a.keys=function(){return Object.keys(e)},a.resolve=t,T.exports=a,a.id=4085},10320:function(T,r,n){"use strict";var e=n(55747),a=n(89393),t=TypeError;T.exports=function(o){if(e(o))return o;throw new t(a(o)+" is not a function")}},32606:function(T,r,n){"use strict";var e=n(1031),a=n(89393),t=TypeError;T.exports=function(o){if(e(o))return o;throw new t(a(o)+" is not a constructor")}},35908:function(T,r,n){"use strict";var e=n(45015),a=String,t=TypeError;T.exports=function(o){if(e(o))return o;throw new t("Can't set "+a(o)+" as a prototype")}},80575:function(T,r,n){"use strict";var e=n(24697),a=n(80674),t=n(74595).f,o=e("unscopables"),m=Array.prototype;m[o]===void 0&&t(m,o,{configurable:!0,value:a(null)}),T.exports=function(b){m[o][b]=!0}},35483:function(T,r,n){"use strict";var e=n(50233).charAt;T.exports=function(a,t,o){return t+(o?e(a,t).length:1)}},60077:function(T,r,n){"use strict";var e=n(21287),a=TypeError;T.exports=function(t,o){if(e(o,t))return t;throw new a("Incorrect invocation")}},30365:function(T,r,n){"use strict";var e=n(77568),a=String,t=TypeError;T.exports=function(o){if(e(o))return o;throw new t(a(o)+" is not an object")}},70377:function(T){"use strict";T.exports=typeof ArrayBuffer!="undefined"&&typeof DataView!="undefined"},3782:function(T,r,n){"use strict";var e=n(40033);T.exports=e(function(){if(typeof ArrayBuffer=="function"){var a=new ArrayBuffer(8);Object.isExtensible(a)&&Object.defineProperty(a,"a",{value:8})}})},4246:function(T,r,n){"use strict";var e=n(70377),a=n(58310),t=n(74685),o=n(55747),m=n(77568),b=n(45299),y=n(2281),B=n(89393),k=n(37909),C=n(55938),l=n(73936),c=n(21287),f=n(36917),u=n(76649),d=n(24697),s=n(16738),i=n(5419),h=i.enforce,N=i.get,v=t.Int8Array,p=v&&v.prototype,g=t.Uint8ClampedArray,V=g&&g.prototype,S=v&&f(v),I=p&&f(p),L=Object.prototype,w=t.TypeError,A=d("toStringTag"),x=s("TYPED_ARRAY_TAG"),E="TypedArrayConstructor",M=e&&!!u&&y(t.opera)!=="Opera",j=!1,P,O,D,F={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},W={BigInt64Array:8,BigUint64Array:8},U=function(){function ie(he){if(!m(he))return!1;var te=y(he);return te==="DataView"||b(F,te)||b(W,te)}return ie}(),$=function ie(he){var te=f(he);if(m(te)){var q=N(te);return q&&b(q,E)?q[E]:ie(te)}},K=function(he){if(!m(he))return!1;var te=y(he);return b(F,te)||b(W,te)},G=function(he){if(K(he))return he;throw new w("Target is not a typed array")},Q=function(he){if(o(he)&&(!u||c(S,he)))return he;throw new w(B(he)+" is not a typed array constructor")},J=function(he,te,q,ne){if(a){if(q)for(var le in F){var ee=t[le];if(ee&&b(ee.prototype,he))try{delete ee.prototype[he]}catch(re){try{ee.prototype[he]=te}catch(oe){}}}(!I[he]||q)&&C(I,he,q?te:M&&p[he]||te,ne)}},ue=function(he,te,q){var ne,le;if(a){if(u){if(q){for(ne in F)if(le=t[ne],le&&b(le,he))try{delete le[he]}catch(ee){}}if(!S[he]||q)try{return C(S,he,q?te:M&&S[he]||te)}catch(ee){}else return}for(ne in F)le=t[ne],le&&(!le[he]||q)&&C(le,he,te)}};for(P in F)O=t[P],D=O&&O.prototype,D?h(D)[E]=O:M=!1;for(P in W)O=t[P],D=O&&O.prototype,D&&(h(D)[E]=O);if((!M||!o(S)||S===Function.prototype)&&(S=function(){function ie(){throw new w("Incorrect invocation")}return ie}(),M))for(P in F)t[P]&&u(t[P],S);if((!M||!I||I===L)&&(I=S.prototype,M))for(P in F)t[P]&&u(t[P].prototype,I);if(M&&f(V)!==I&&u(V,I),a&&!b(I,A)){j=!0,l(I,A,{configurable:!0,get:function(){function ie(){return m(this)?this[x]:void 0}return ie}()});for(P in F)t[P]&&k(t[P],x,P)}T.exports={NATIVE_ARRAY_BUFFER_VIEWS:M,TYPED_ARRAY_TAG:j&&x,aTypedArray:G,aTypedArrayConstructor:Q,exportTypedArrayMethod:J,exportTypedArrayStaticMethod:ue,getTypedArrayConstructor:$,isView:U,isTypedArray:K,TypedArray:S,TypedArrayPrototype:I}},37336:function(T,r,n){"use strict";var e=n(74685),a=n(67250),t=n(58310),o=n(70377),m=n(70520),b=n(37909),y=n(73936),B=n(30145),k=n(40033),C=n(60077),l=n(61365),c=n(10188),f=n(43806),u=n(95867),d=n(91784),s=n(36917),i=n(76649),h=n(88471),N=n(54602),v=n(5781),p=n(5774),g=n(84925),V=n(5419),S=m.PROPER,I=m.CONFIGURABLE,L="ArrayBuffer",w="DataView",A="prototype",x="Wrong length",E="Wrong index",M=V.getterFor(L),j=V.getterFor(w),P=V.set,O=e[L],D=O,F=D&&D[A],W=e[w],U=W&&W[A],$=Object.prototype,K=e.Array,G=e.RangeError,Q=a(h),J=a([].reverse),ue=d.pack,ie=d.unpack,he=function(Ve){return[Ve&255]},te=function(Ve){return[Ve&255,Ve>>8&255]},q=function(Ve){return[Ve&255,Ve>>8&255,Ve>>16&255,Ve>>24&255]},ne=function(Ve){return Ve[3]<<24|Ve[2]<<16|Ve[1]<<8|Ve[0]},le=function(Ve){return ue(u(Ve),23,4)},ee=function(Ve){return ue(Ve,52,8)},re=function(Ve,Be,be){y(Ve[A],Be,{configurable:!0,get:function(){function Le(){return be(this)[Be]}return Le}()})},oe=function(Ve,Be,be,Le){var we=j(Ve),xe=f(be),Re=!!Le;if(xe+Be>we.byteLength)throw new G(E);var ze=we.bytes,ye=xe+we.byteOffset,de=N(ze,ye,ye+Be);return Re?de:J(de)},fe=function(Ve,Be,be,Le,we,xe){var Re=j(Ve),ze=f(be),ye=Le(+we),de=!!xe;if(ze+Be>Re.byteLength)throw new G(E);for(var Ce=Re.bytes,ke=ze+Re.byteOffset,ge=0;ge f;)d[f]=l[f++];return d}return B}(),y)},88739:function(T,r,n){"use strict";var e=n(4246),a=n(22603).some,t=e.aTypedArray,o=e.exportTypedArrayMethod;o("some",function(){function m(b){return a(t(this),b,arguments.length>1?arguments[1]:void 0)}return m}())},60415:function(T,r,n){"use strict";var e=n(74685),a=n(71138),t=n(40033),o=n(10320),m=n(90274),b=n(4246),y=n(652),B=n(19228),k=n(5026),C=n(9342),l=b.aTypedArray,c=b.exportTypedArrayMethod,f=e.Uint16Array,u=f&&a(f.prototype.sort),d=!!u&&!(t(function(){u(new f(2),null)})&&t(function(){u(new f(2),{})})),s=!!u&&!t(function(){if(k)return k<74;if(y)return y<67;if(B)return!0;if(C)return C<602;var h=new f(516),N=Array(516),v,p;for(v=0;v<516;v++)p=v%4,h[v]=515-v,N[v]=v-2*p+3;for(u(h,function(g,V){return(g/4|0)-(V/4|0)}),v=0;v<516;v++)if(h[v]!==N[v])return!0}),i=function(N){return function(v,p){return N!==void 0?+N(v,p)||0:p!==p?-1:v!==v?1:v===0&&p===0?1/v>0&&1/p<0?1:-1:v>p}};c("sort",function(){function h(N){return N!==void 0&&o(N),s?u(this,N):m(l(this),i(N))}return h}(),!s||d)},72532:function(T,r,n){"use strict";var e=n(4246),a=n(10188),t=n(13912),o=n(31082),m=e.aTypedArray,b=e.exportTypedArrayMethod;b("subarray",function(){function y(B,k){var C=m(this),l=C.length,c=t(B,l),f=o(C);return new f(C.buffer,C.byteOffset+c*C.BYTES_PER_ELEMENT,a((k===void 0?l:t(k,l))-c))}return y}())},62207:function(T,r,n){"use strict";var e=n(74685),a=n(61267),t=n(4246),o=n(40033),m=n(54602),b=e.Int8Array,y=t.aTypedArray,B=t.exportTypedArrayMethod,k=[].toLocaleString,C=!!b&&o(function(){k.call(new b(1))}),l=o(function(){return[1,2].toLocaleString()!==new b([1,2]).toLocaleString()})||!o(function(){b.prototype.toLocaleString.call([1,2])});B("toLocaleString",function(){function c(){return a(k,C?m(y(this)):y(this),m(arguments))}return c}(),l)},906:function(T,r,n){"use strict";var e=n(4246).exportTypedArrayMethod,a=n(40033),t=n(74685),o=n(67250),m=t.Uint8Array,b=m&&m.prototype||{},y=[].toString,B=o([].join);a(function(){y.call({})})&&(y=function(){function C(){return B(this)}return C}());var k=b.toString!==y;e("toString",y,k)},78824:function(T,r,n){"use strict";var e=n(80185);e("Uint16",function(a){return function(){function t(o,m,b){return a(this,o,m,b)}return t}()})},72846:function(T,r,n){"use strict";var e=n(80185);e("Uint32",function(a){return function(){function t(o,m,b){return a(this,o,m,b)}return t}()})},24575:function(T,r,n){"use strict";var e=n(80185);e("Uint8",function(a){return function(){function t(o,m,b){return a(this,o,m,b)}return t}()})},71968:function(T,r,n){"use strict";var e=n(80185);e("Uint8",function(a){return function(){function t(o,m,b){return a(this,o,m,b)}return t}()},!0)},80040:function(T,r,n){"use strict";var e=n(50730),a=n(74685),t=n(67250),o=n(30145),m=n(81969),b=n(45150),y=n(39895),B=n(77568),k=n(5419).enforce,C=n(40033),l=n(21820),c=Object,f=Array.isArray,u=c.isExtensible,d=c.isFrozen,s=c.isSealed,i=c.freeze,h=c.seal,N=!a.ActiveXObject&&"ActiveXObject"in a,v,p=function(E){return function(){function M(){return E(this,arguments.length?arguments[0]:void 0)}return M}()},g=b("WeakMap",p,y),V=g.prototype,S=t(V.set),I=function(){return e&&C(function(){var E=i([]);return S(new g,E,1),!d(E)})};if(l)if(N){v=y.getConstructor(p,"WeakMap",!0),m.enable();var L=t(V.delete),w=t(V.has),A=t(V.get);o(V,{delete:function(){function x(E){if(B(E)&&!u(E)){var M=k(this);return M.frozen||(M.frozen=new v),L(this,E)||M.frozen.delete(E)}return L(this,E)}return x}(),has:function(){function x(E){if(B(E)&&!u(E)){var M=k(this);return M.frozen||(M.frozen=new v),w(this,E)||M.frozen.has(E)}return w(this,E)}return x}(),get:function(){function x(E){if(B(E)&&!u(E)){var M=k(this);return M.frozen||(M.frozen=new v),w(this,E)?A(this,E):M.frozen.get(E)}return A(this,E)}return x}(),set:function(){function x(E,M){if(B(E)&&!u(E)){var j=k(this);j.frozen||(j.frozen=new v),w(this,E)?S(this,E,M):j.frozen.set(E,M)}else S(this,E,M);return this}return x}()})}else I()&&o(V,{set:function(){function x(E,M){var j;return f(E)&&(d(E)?j=i:s(E)&&(j=h)),S(this,E,M),j&&j(E),this}return x}()})},90846:function(T,r,n){"use strict";n(80040)},67042:function(T,r,n){"use strict";var e=n(45150),a=n(39895);e("WeakSet",function(t){return function(){function o(){return t(this,arguments.length?arguments[0]:void 0)}return o}()},a)},40348:function(T,r,n){"use strict";n(67042)},5606:function(T,r,n){"use strict";var e=n(63964),a=n(74685),t=n(60375).clear;e({global:!0,bind:!0,enumerable:!0,forced:a.clearImmediate!==t},{clearImmediate:t})},83006:function(T,r,n){"use strict";n(5606),n(27807)},25764:function(T,r,n){"use strict";var e=n(63964),a=n(74685),t=n(37713),o=n(10320),m=n(24986),b=n(40033),y=n(58310),B=b(function(){return y&&Object.getOwnPropertyDescriptor(a,"queueMicrotask").value.length!==1});e({global:!0,enumerable:!0,dontCallGetSet:!0,forced:B},{queueMicrotask:function(){function k(C){m(arguments.length,1),t(o(C))}return k}()})},27807:function(T,r,n){"use strict";var e=n(63964),a=n(74685),t=n(60375).set,o=n(78362),m=a.setImmediate?o(t,!1):t;e({global:!0,bind:!0,enumerable:!0,forced:a.setImmediate!==m},{setImmediate:m})},45569:function(T,r,n){"use strict";var e=n(63964),a=n(74685),t=n(78362),o=t(a.setInterval,!0);e({global:!0,bind:!0,forced:a.setInterval!==o},{setInterval:o})},5213:function(T,r,n){"use strict";var e=n(63964),a=n(74685),t=n(78362),o=t(a.setTimeout,!0);e({global:!0,bind:!0,forced:a.setTimeout!==o},{setTimeout:o})},69401:function(T,r,n){"use strict";n(45569),n(5213)},7435:function(T){"use strict";/**
* @file
* @copyright 2020 Aleksej Komarov
* @license MIT
- */var r,n=[],e=[],a=function(){if(0)var k;window.onunload=function(){return r&&r.close()}},t=function(k){return e.push(k)},o=function(k){var C=[],l=function(u){return typeof u=="number"&&!Number.isFinite(u)?{__number__:String(u)}:typeof u=="undefined"?{__undefined__:!0}:u},c=function(u,s){if(typeof s=="object"){if(s===null)return s;if(C.includes(s))return"[circular ref]";C.push(s);var i=s instanceof Error||s.code&&s.message&&s.message.includes("Error");return i?{__error__:!0,string:String(s),stack:s.stack}:Array.isArray(s)?s.map(l):s}return l(s)},m=JSON.stringify(k,c);return C=null,m},f=function(k){if(0)var C,l,c},b=function(k,C){if(0)var l,c,m},y=function(){};T.exports={subscribe:t,sendMessage:f,sendLogEntry:b,setupHotReloading:y}}},kt={};function X(T){var r=kt[T];if(r!==void 0)return r.exports;var n=kt[T]={exports:{}};return Qt[T](n,n.exports,X),n.exports}(function(){X.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch(T){if(typeof window=="object")return window}}()})(),function(){X.o=function(T,r){return Object.prototype.hasOwnProperty.call(T,r)}}();var Rn={};(function(){"use strict";X(33313),X(10933),X(79250),X(53795),X(87806),X(64677),X(48058),X(51583),X(82403),X(34265),X(3295),X(1078),X(63207),X(80520),X(39600),X(93237),X(32057),X(68933),X(47830),X(13455),X(64094),X(61915),X(32384),X(25579),X(63532),X(33425),X(43894),X(99636),X(34570),X(94432),X(24683),X(69984),X(32089),X(60206),X(29645),X(4788),X(58672),X(19356),X(48968),X(49852),X(2712),X(864),X(54243),X(75621),X(26267),X(50095),X(33451),X(74587),X(25082),X(47421),X(32122),X(6306),X(90216),X(84663),X(92332),X(98329),X(9631),X(47091),X(59660),X(15383),X(92866),X(86107),X(29248),X(52540),X(79007),X(77199),X(6522),X(95542),X(2966),X(20997),X(57400),X(45571),X(54800),X(15709),X(76059),X(96614),X(324),X(90426),X(95443),X(87968),X(55007),X(55323),X(13521),X(5006),X(99009),X(85770),X(23532),X(87119),X(78618),X(27129),X(31943),X(3579),X(97397),X(85028),X(8225),X(43331),X(62289),X(56196),X(2950),X(44205),X(76882),X(83186),X(76065),X(13411),X(26634),X(53118),X(42514),X(84353),X(62987),X(48993),X(52917),X(4972),X(28913),X(36382),X(53092),X(69861),X(29674),X(81543),X(9373),X(45093),X(63074),X(5815),X(88527),X(66390),X(7784),X(50551),X(76483),X(92046),X(63915),X(51454),X(79669),X(23057),X(57983),X(17953),X(30442),X(6403),X(9867),X(43673),X(12354),X(22515),X(5143),X(93514),X(5416),X(11619),X(44590),X(63272),X(39930),X(4038),X(8448),X(70604),X(34965),X(95309),X(82256),X(49484),X(38931),X(39308),X(91550),X(75008),X(56027),X(50340),X(34325),X(74498),X(15812),X(57726),X(80756),X(70567),X(66756),X(60037),X(44195),X(24575),X(71968),X(78824),X(72846),X(99872),X(73364),X(58166),X(23793),X(43820),X(13917),X(19852),X(40379),X(92770),X(81069),X(63689),X(5659),X(25014),X(32189),X(23030),X(24309),X(49110),X(56445),X(30939),X(48321),X(88739),X(60415),X(72532),X(62207),X(906),X(90846),X(40348),X(83006),X(25764),X(69401),X(95012),X(30236)})(),function(){"use strict";var T=X(89005);X(67160),X(23542),X(30386),X(98996),X(50578),X(4444),X(77870),X(39108),X(11714),X(73492),X(49641),X(17570),X(61858),X(32882),X(23632),X(56492);var r=X(85822),n=X(7435),e=X(56518),a=X(26427),t=X(18498),o=X(49060),f=X(72178),b=X(24826),y;/**
+ */var r,n=[],e=[],a=function(){if(0)var k;window.onunload=function(){return r&&r.close()}},t=function(k){return e.push(k)},o=function(k){var C=[],l=function(d){return typeof d=="number"&&!Number.isFinite(d)?{__number__:String(d)}:typeof d=="undefined"?{__undefined__:!0}:d},c=function(d,s){if(typeof s=="object"){if(s===null)return s;if(C.includes(s))return"[circular ref]";C.push(s);var i=s instanceof Error||s.code&&s.message&&s.message.includes("Error");return i?{__error__:!0,string:String(s),stack:s.stack}:Array.isArray(s)?s.map(l):s}return l(s)},f=JSON.stringify(k,c);return C=null,f},m=function(k){if(0)var C,l,c},b=function(k,C){if(0)var l,c,f},y=function(){};T.exports={subscribe:t,sendMessage:m,sendLogEntry:b,setupHotReloading:y}}},kt={};function X(T){var r=kt[T];if(r!==void 0)return r.exports;var n=kt[T]={exports:{}};return Qt[T](n,n.exports,X),n.exports}(function(){X.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch(T){if(typeof window=="object")return window}}()})(),function(){X.o=function(T,r){return Object.prototype.hasOwnProperty.call(T,r)}}();var Rn={};(function(){"use strict";X(33313),X(10933),X(79250),X(53795),X(87806),X(64677),X(48058),X(51583),X(82403),X(34265),X(3295),X(1078),X(63207),X(80520),X(39600),X(93237),X(32057),X(68933),X(47830),X(13455),X(64094),X(61915),X(32384),X(25579),X(63532),X(33425),X(43894),X(99636),X(34570),X(94432),X(24683),X(69984),X(32089),X(60206),X(29645),X(4788),X(58672),X(19356),X(48968),X(49852),X(2712),X(864),X(54243),X(75621),X(26267),X(50095),X(33451),X(74587),X(25082),X(47421),X(32122),X(6306),X(90216),X(84663),X(92332),X(98329),X(9631),X(47091),X(59660),X(15383),X(92866),X(86107),X(29248),X(52540),X(79007),X(77199),X(6522),X(95542),X(2966),X(20997),X(57400),X(45571),X(54800),X(15709),X(76059),X(96614),X(324),X(90426),X(95443),X(87968),X(55007),X(55323),X(13521),X(5006),X(99009),X(85770),X(23532),X(87119),X(78618),X(27129),X(31943),X(3579),X(97397),X(85028),X(8225),X(43331),X(62289),X(56196),X(2950),X(44205),X(76882),X(83186),X(76065),X(13411),X(26634),X(53118),X(42514),X(84353),X(62987),X(48993),X(52917),X(4972),X(28913),X(36382),X(53092),X(69861),X(29674),X(81543),X(9373),X(45093),X(63074),X(5815),X(88527),X(66390),X(7784),X(50551),X(76483),X(92046),X(63915),X(51454),X(79669),X(23057),X(57983),X(17953),X(30442),X(6403),X(9867),X(43673),X(12354),X(22515),X(5143),X(93514),X(5416),X(11619),X(44590),X(63272),X(39930),X(4038),X(8448),X(70604),X(34965),X(95309),X(82256),X(49484),X(38931),X(39308),X(91550),X(75008),X(56027),X(50340),X(34325),X(74498),X(15812),X(57726),X(80756),X(70567),X(66756),X(60037),X(44195),X(24575),X(71968),X(78824),X(72846),X(99872),X(73364),X(58166),X(23793),X(43820),X(13917),X(19852),X(40379),X(92770),X(81069),X(63689),X(5659),X(25014),X(32189),X(23030),X(24309),X(49110),X(56445),X(30939),X(48321),X(88739),X(60415),X(72532),X(62207),X(906),X(90846),X(40348),X(83006),X(25764),X(69401),X(95012),X(30236)})(),function(){"use strict";var T=X(89005);X(67160),X(23542),X(30386),X(98996),X(50578),X(4444),X(77870),X(39108),X(11714),X(73492),X(49641),X(17570),X(61858),X(32882),X(23632),X(56492);var r=X(85822),n=X(7435),e=X(56518),a=X(26427),t=X(18498),o=X(49060),m=X(72178),b=X(24826),y;/**
* @file
* @copyright 2020 Aleksej Komarov
* @license MIT
- */r.perf.mark("inception",(y=window.performance)==null||(y=y.timing)==null?void 0:y.navigationStart),r.perf.mark("init");var B=(0,f.configureStore)(),k=(0,o.createRenderer)(function(){(0,a.loadIconRefMap)();var l=X(71253),c=l.getRoutedComponent,m=c(B);return(0,T.createComponentVNode)(2,f.StoreProvider,{store:B,children:(0,T.createComponentVNode)(2,m)})}),C=function l(){if(document.readyState==="loading"){document.addEventListener("DOMContentLoaded",l);return}(0,b.setupGlobalEvents)(),(0,e.setupHotKeys)(),(0,t.captureExternalLinks)(),B.subscribe(k),Byond.subscribe(function(c,m){return B.dispatch({type:c,payload:m})})};C()}()})();})();
+ */r.perf.mark("inception",(y=window.performance)==null||(y=y.timing)==null?void 0:y.navigationStart),r.perf.mark("init");var B=(0,m.configureStore)(),k=(0,o.createRenderer)(function(){(0,a.loadIconRefMap)();var l=X(71253),c=l.getRoutedComponent,f=c(B);return(0,T.createComponentVNode)(2,m.StoreProvider,{store:B,children:(0,T.createComponentVNode)(2,f)})}),C=function l(){if(document.readyState==="loading"){document.addEventListener("DOMContentLoaded",l);return}(0,b.setupGlobalEvents)(),(0,e.setupHotKeys)(),(0,t.captureExternalLinks)(),B.subscribe(k),Byond.subscribe(function(c,f){return B.dispatch({type:c,payload:f})})};C()}()})();})();
diff --git a/tools/UpdatePaths/Scripts/26866_random_barrier_spawners.txt b/tools/UpdatePaths/Scripts/26866_random_barrier_spawners.txt
new file mode 100644
index 000000000000..7bbe178be303
--- /dev/null
+++ b/tools/UpdatePaths/Scripts/26866_random_barrier_spawners.txt
@@ -0,0 +1,5 @@
+/obj/effect/spawner/random_barrier/wall_probably : /obj/effect/spawner/random/barrier/wall_probably
+/obj/effect/spawner/random_barrier/obstruction : /obj/effect/spawner/random/barrier/obstruction
+/obj/effect/spawner/random_barrier/possibly_welded_airlock : /obj/effect/spawner/random/barrier/possibly_welded_airlock
+/obj/effect/spawner/random_spawners/grille_often : /obj/effect/spawner/random/barrier/grille_often
+/obj/effect/spawner/random_spawners/grille_maybe : /obj/effect/spawner/random/barrier/grille_maybe
1?arguments[1]:void 0)}return m}()})},68933:function(T,r,n){"use strict";var e=n(63964),a=n(88471),t=n(80575);e({target:"Array",proto:!0},{fill:a}),t("fill")},47830:function(T,r,n){"use strict";var e=n(63964),a=n(22603).filter,t=n(44091),o=t("filter");e({target:"Array",proto:!0,forced:!o},{filter:function(){function m(b){return a(this,b,arguments.length>1?arguments[1]:void 0)}return m}()})},64094:function(T,r,n){"use strict";var e=n(63964),a=n(22603).findIndex,t=n(80575),o="findIndex",m=!0;o in[]&&Array(1)[o](function(){m=!1}),e({target:"Array",proto:!0,forced:m},{findIndex:function(){function b(y){return a(this,y,arguments.length>1?arguments[1]:void 0)}return b}()}),t(o)},13455:function(T,r,n){"use strict";var e=n(63964),a=n(22603).find,t=n(80575),o="find",m=!0;o in[]&&Array(1)[o](function(){m=!1}),e({target:"Array",proto:!0,forced:m},{find:function(){function b(y){return a(this,y,arguments.length>1?arguments[1]:void 0)}return b}()}),t(o)},32384:function(T,r,n){"use strict";var e=n(63964),a=n(65561),t=n(10320),o=n(46771),m=n(24760),b=n(57823);e({target:"Array",proto:!0},{flatMap:function(){function y(B){var k=o(this),C=m(k),l;return t(B),l=b(k,0),l.length=a(l,k,k,C,0,1,B,arguments.length>1?arguments[1]:void 0),l}return y}()})},61915:function(T,r,n){"use strict";var e=n(63964),a=n(65561),t=n(46771),o=n(24760),m=n(61365),b=n(57823);e({target:"Array",proto:!0},{flat:function(){function y(){var B=arguments.length?arguments[0]:void 0,k=t(this),C=o(k),l=b(k,0);return l.length=a(l,k,k,C,0,B===void 0?1:m(B)),l}return y}()})},25579:function(T,r,n){"use strict";var e=n(63964),a=n(35601);e({target:"Array",proto:!0,forced:[].forEach!==a},{forEach:a})},63532:function(T,r,n){"use strict";var e=n(63964),a=n(73174),t=n(92490),o=!t(function(m){Array.from(m)});e({target:"Array",stat:!0,forced:o},{from:a})},33425:function(T,r,n){"use strict";var e=n(63964),a=n(14211).includes,t=n(40033),o=n(80575),m=t(function(){return!Array(1).includes()});e({target:"Array",proto:!0,forced:m},{includes:function(){function b(y){return a(this,y,arguments.length>1?arguments[1]:void 0)}return b}()}),o("includes")},43894:function(T,r,n){"use strict";var e=n(63964),a=n(71138),t=n(14211).indexOf,o=n(55528),m=a([].indexOf),b=!!m&&1/m([1],1,-0)<0,y=b||!o("indexOf");e({target:"Array",proto:!0,forced:y},{indexOf:function(){function B(k){var C=arguments.length>1?arguments[1]:void 0;return b?m(this,k,C)||0:t(this,k,C)}return B}()})},99636:function(T,r,n){"use strict";var e=n(63964),a=n(37386);e({target:"Array",stat:!0},{isArray:a})},34570:function(T,r,n){"use strict";var e=n(57591),a=n(80575),t=n(83967),o=n(5419),m=n(74595).f,b=n(65574),y=n(5959),B=n(4493),k=n(58310),C="Array Iterator",l=o.set,c=o.getterFor(C);T.exports=b(Array,"Array",function(u,d){l(this,{type:C,target:e(u),index:0,kind:d})},function(){var u=c(this),d=u.target,s=u.index++;if(!d||s>=d.length)return u.target=void 0,y(void 0,!0);switch(u.kind){case"keys":return y(s,!1);case"values":return y(d[s],!1)}return y([s,d[s]],!1)},"values");var f=t.Arguments=t.Array;if(a("keys"),a("values"),a("entries"),!B&&k&&f.name!=="values")try{m(f,"name",{value:"values"})}catch(u){}},94432:function(T,r,n){"use strict";var e=n(63964),a=n(67250),t=n(37457),o=n(57591),m=n(55528),b=a([].join),y=t!==Object,B=y||!m("join",",");e({target:"Array",proto:!0,forced:B},{join:function(){function k(C){return b(o(this),C===void 0?",":C)}return k}()})},24683:function(T,r,n){"use strict";var e=n(63964),a=n(1325);e({target:"Array",proto:!0,forced:a!==[].lastIndexOf},{lastIndexOf:a})},69984:function(T,r,n){"use strict";var e=n(63964),a=n(22603).map,t=n(44091),o=t("map");e({target:"Array",proto:!0,forced:!o},{map:function(){function m(b){return a(this,b,arguments.length>1?arguments[1]:void 0)}return m}()})},32089:function(T,r,n){"use strict";var e=n(63964),a=n(40033),t=n(1031),o=n(60102),m=Array,b=a(function(){function y(){}return!(m.of.call(y)instanceof y)});e({target:"Array",stat:!0,forced:b},{of:function(){function y(){for(var B=0,k=arguments.length,C=new(t(this)?this:m)(k);k>B;)o(C,B,arguments[B++]);return C.length=k,C}return y}()})},29645:function(T,r,n){"use strict";var e=n(63964),a=n(56844).right,t=n(55528),o=n(5026),m=n(81702),b=!m&&o>79&&o<83,y=b||!t("reduceRight");e({target:"Array",proto:!0,forced:y},{reduceRight:function(){function B(k){return a(this,k,arguments.length,arguments.length>1?arguments[1]:void 0)}return B}()})},60206:function(T,r,n){"use strict";var e=n(63964),a=n(56844).left,t=n(55528),o=n(5026),m=n(81702),b=!m&&o>79&&o<83,y=b||!t("reduce");e({target:"Array",proto:!0,forced:y},{reduce:function(){function B(k){var C=arguments.length;return a(this,k,C,C>1?arguments[1]:void 0)}return B}()})},4788:function(T,r,n){"use strict";var e=n(63964),a=n(67250),t=n(37386),o=a([].reverse),m=[1,2];e({target:"Array",proto:!0,forced:String(m)===String(m.reverse())},{reverse:function(){function b(){return t(this)&&(this.length=this.length),o(this)}return b}()})},58672:function(T,r,n){"use strict";var e=n(63964),a=n(37386),t=n(1031),o=n(77568),m=n(13912),b=n(24760),y=n(57591),B=n(60102),k=n(24697),C=n(44091),l=n(54602),c=C("slice"),f=k("species"),u=Array,d=Math.max;e({target:"Array",proto:!0,forced:!c},{slice:function(){function s(i,h){var N=y(this),v=b(N),p=m(i,v),g=m(h===void 0?v:h,v),V,S,I;if(a(N)&&(V=N.constructor,t(V)&&(V===u||a(V.prototype))?V=void 0:o(V)&&(V=V[f],V===null&&(V=void 0)),V===u||V===void 0))return l(N,p,g);for(S=new(V===void 0?u:V)(d(g-p,0)),I=0;p