"
+ /* VOREStation Removal
output += "[using_map.get_map_info()]"
output +="
"
+ VOREStation Removal End */
output += "
Character Setup
"
if(!ticker || ticker.current_state <= GAME_STATE_PREGAME)
@@ -79,7 +81,7 @@
if(GLOB.news_data.station_newspaper && !client.seen_news)
show_latest_news(GLOB.news_data.station_newspaper)
- panel = new(src, "Welcome","Welcome", 500, 480, src)
+ panel = new(src, "Welcome","Welcome", 210, 300, src) // VOREStation Edit
panel.set_window_options("can_close=0")
panel.set_content(output)
panel.open()
diff --git a/code/modules/mob/say.dm b/code/modules/mob/say.dm
index 52e843a9ee..c30d256c59 100644
--- a/code/modules/mob/say.dm
+++ b/code/modules/mob/say.dm
@@ -105,11 +105,6 @@
verb = "asks"
return verb
-
-/mob/proc/emote(var/act, var/type, var/message)
- if(act == "me")
- return custom_emote(type, message)
-
/mob/proc/get_ear()
// returns an atom representing a location on the map from which this
// mob can hear things
diff --git a/code/modules/multiz/zshadow.dm b/code/modules/multiz/zshadow.dm
index fcc5ecad65..e43ab21939 100644
--- a/code/modules/multiz/zshadow.dm
+++ b/code/modules/multiz/zshadow.dm
@@ -113,12 +113,6 @@
if(shadow)
shadow.set_dir(new_dir)
-// Transfer messages about what we are doing to upstairs
-/mob/visible_message(var/message, var/self_message, var/blind_message, var/list/exclude_mobs = null)
- . = ..()
- if(shadow)
- shadow.visible_message(message, self_message, blind_message, exclude_mobs)
-
/mob/zshadow/set_typing_indicator(var/state)
if(!typing_indicator)
init_typing_indicator("typing")
diff --git a/code/modules/nifsoft/nif.dm b/code/modules/nifsoft/nif.dm
index 916923a796..aeeb8199ce 100644
--- a/code/modules/nifsoft/nif.dm
+++ b/code/modules/nifsoft/nif.dm
@@ -88,8 +88,9 @@ You can also set the stat of a NIF to NIF_TEMPFAIL without any issues to disable
qdel(src)
return FALSE
else
- //Free commlink for return customers
+ //Free commlink and soulcatcher for return customers
new /datum/nifsoft/commlink(src)
+ new /datum/nifsoft/soulcatcher(src)
//Free civilian AR included
new /datum/nifsoft/ar_civ(src)
diff --git a/code/modules/nifsoft/software/01_vision.dm b/code/modules/nifsoft/software/01_vision.dm
index 7a792009f4..c68a6feb0c 100644
--- a/code/modules/nifsoft/software/01_vision.dm
+++ b/code/modules/nifsoft/software/01_vision.dm
@@ -34,9 +34,9 @@
/datum/nifsoft/ar_eng
name = "AR Overlay (Eng)"
- desc = "Like the civilian model, but provides station alert notices."
+ desc = "Like the civilian model, but provides ... well, nothing. For now."
list_pos = NIF_ENGINE_AR
- cost = 375
+ cost = 250
access = access_engine
a_drain = 0.01
planes_enabled = list(VIS_CH_ID,VIS_CH_HEALTH_VR,VIS_AUGMENTED)
@@ -47,7 +47,7 @@
name = "AR Overlay (Sci)"
desc = "Like the civilian model, but provides ... well, nothing. For now."
list_pos = NIF_SCIENCE_AR
- cost = 375
+ cost = 250
access = access_research
a_drain = 0.01
planes_enabled = list(VIS_CH_ID,VIS_CH_HEALTH_VR,VIS_AUGMENTED)
diff --git a/code/modules/nifsoft/software/13_soulcatcher.dm b/code/modules/nifsoft/software/13_soulcatcher.dm
index c1de085532..ce9dfccf44 100644
--- a/code/modules/nifsoft/software/13_soulcatcher.dm
+++ b/code/modules/nifsoft/software/13_soulcatcher.dm
@@ -14,10 +14,10 @@
desc = "A mind storage and processing system capable of capturing and supporting human-level minds in a small VR space."
list_pos = NIF_SOULCATCHER
cost = 100 //If I wanna trap people's minds and lood them, then by god I'll do so.
- wear = 1
+ wear = 0
p_drain = 0.01
- var/setting_flags = (NIF_SC_CATCHING_OTHERS|NIF_SC_ALLOW_EARS|NIF_SC_ALLOW_EYES|NIF_SC_BACKUPS|NIF_SC_PROJECTING)
+ var/setting_flags = (NIF_SC_ALLOW_EARS|NIF_SC_ALLOW_EYES|NIF_SC_BACKUPS|NIF_SC_PROJECTING)
var/list/brainmobs = list()
var/inside_flavor = "A small completely white room with a couch, and a window to what seems to be the outside world. A small sign in the corner says 'Configure Me'."
@@ -45,14 +45,14 @@
/datum/nifsoft/soulcatcher/install()
if((. = ..()))
nif.set_flag(NIF_O_SCOTHERS,NIF_FLAGS_OTHER) //Required on install, because other_flags aren't sufficient for our complicated settings.
- nif.human.verbs |= /mob/living/carbon/human/proc/nsay
- nif.human.verbs |= /mob/living/carbon/human/proc/nme
+ nif.human.verbs |= /mob/living/carbon/human/nsay
+ nif.human.verbs |= /mob/living/carbon/human/nme
/datum/nifsoft/soulcatcher/uninstall()
QDEL_LIST_NULL(brainmobs)
if((. = ..()) && nif && nif.human) //Sometimes NIFs are deleted outside of a human
- nif.human.verbs -= /mob/living/carbon/human/proc/nsay
- nif.human.verbs -= /mob/living/carbon/human/proc/nme
+ nif.human.verbs -= /mob/living/carbon/human/nsay
+ nif.human.verbs -= /mob/living/carbon/human/nme
/datum/nifsoft/soulcatcher/proc/save_settings()
if(!nif)
@@ -476,20 +476,26 @@
///////////////////
//Verbs for humans
-/mob/living/carbon/human/proc/nsay(message as text|null)
+/mob/proc/nsay(message as text|null)
set name = "NSay"
set desc = "Speak into your NIF's Soulcatcher."
set category = "IC"
+ to_chat(src, SPAN_WARNING("You must be a humanoid with a NIF implanted to use that."))
+
+/mob/living/carbon/human/nsay(message as text|null)
+ if(stat != CONSCIOUS)
+ to_chat(src,SPAN_WARNING("You can't use NSay while unconscious."))
+ return
if(!nif)
- to_chat(src,"
You can't use NSay without a NIF.")
+ to_chat(src,SPAN_WARNING("You can't use NSay without a NIF."))
return
var/datum/nifsoft/soulcatcher/SC = nif.imp_check(NIF_SOULCATCHER)
if(!SC)
- to_chat(src,"
You need the Soulcatcher software to use NSay.")
+ to_chat(src,SPAN_WARNING("You need the Soulcatcher software to use NSay."))
return
if(!SC.brainmobs.len)
- to_chat(src,"
You need a loaded mind to use NSay.")
+ to_chat(src,SPAN_WARNING("You need a loaded mind to use NSay."))
return
if(!message)
message = input("Type a message to say.","Speak into Soulcatcher") as text|null
@@ -497,20 +503,26 @@
var/sane_message = sanitize(message)
SC.say_into(sane_message,src)
-/mob/living/carbon/human/proc/nme(message as text|null)
+/mob/proc/nme(message as text|null)
set name = "NMe"
set desc = "Emote into your NIF's Soulcatcher."
set category = "IC"
+
+ to_chat(src, SPAN_WARNING("You must be a humanoid with a NIF implanted to use that."))
+/mob/living/carbon/human/nme(message as text|null)
+ if(stat != CONSCIOUS)
+ to_chat(src,SPAN_WARNING("You can't use NMe while unconscious."))
+ return
if(!nif)
- to_chat(src,"
You can't use NMe without a NIF.")
+ to_chat(src,SPAN_WARNING("You can't use NMe without a NIF."))
return
var/datum/nifsoft/soulcatcher/SC = nif.imp_check(NIF_SOULCATCHER)
if(!SC)
- to_chat(src,"
You need the Soulcatcher software to use NMe.")
+ to_chat(src,SPAN_WARNING("You need the Soulcatcher software to use NMe."))
return
if(!SC.brainmobs.len)
- to_chat(src,"
You need a loaded mind to use NMe.")
+ to_chat(src,SPAN_WARNING("You need a loaded mind to use NMe."))
return
if(!message)
@@ -563,7 +575,7 @@
QDEL_NULL(eyeobj)
soulcatcher.notify_into("[src] ended AR projection.")
-/mob/living/carbon/brain/caught_soul/verb/nsay(message as text|null)
+/mob/living/carbon/brain/caught_soul/verb/nsay_brain(message as text|null)
set name = "NSay"
set desc = "Speak into the NIF's Soulcatcher (circumventing AR speaking)."
set category = "Soulcatcher"
@@ -574,7 +586,7 @@
var/sane_message = sanitize(message)
soulcatcher.say_into(sane_message,src,null)
-/mob/living/carbon/brain/caught_soul/verb/nme(message as text|null)
+/mob/living/carbon/brain/caught_soul/verb/nme_brain(message as text|null)
set name = "NMe"
set desc = "Emote into the NIF's Soulcatcher (circumventing AR speaking)."
set category = "Soulcatcher"
diff --git a/code/modules/organs/internal/brain.dm b/code/modules/organs/internal/brain.dm
index 3f2dc7efe2..11ce2fbb45 100644
--- a/code/modules/organs/internal/brain.dm
+++ b/code/modules/organs/internal/brain.dm
@@ -276,19 +276,19 @@ GLOBAL_LIST_BOILERPLATE(all_brain_organs, /obj/item/organ/internal/brain)
qdel(src)
return 1
-/datum/chemical_reaction/promethean_brain_revival
+/decl/chemical_reaction/instant/promethean_brain_revival
name = "Promethean Revival"
id = "prom_revival"
result = null
required_reagents = list("phoron" = 40)
result_amount = 1
-/datum/chemical_reaction/promethean_brain_revival/can_happen(var/datum/reagents/holder)
+/decl/chemical_reaction/instant/promethean_brain_revival/can_happen(var/datum/reagents/holder)
if(holder.my_atom && istype(holder.my_atom, /obj/item/organ/internal/brain/slime))
return ..()
return FALSE
-/datum/chemical_reaction/promethean_brain_revival/on_reaction(var/datum/reagents/holder)
+/decl/chemical_reaction/instant/promethean_brain_revival/on_reaction(var/datum/reagents/holder)
var/obj/item/organ/internal/brain/slime/brain = holder.my_atom
if(brain.reviveBody())
brain.visible_message("
[brain] bubbles, surrounding itself with a rapidly expanding mass of slime!")
diff --git a/code/modules/planet/sif.dm b/code/modules/planet/sif.dm
index b7c4f7f3b7..cefc549d2a 100644
--- a/code/modules/planet/sif.dm
+++ b/code/modules/planet/sif.dm
@@ -156,6 +156,9 @@ var/datum/planet/sif/planet_sif = null
sky_visible = TRUE
observed_message = "The sky is clear."
+ outdoor_sounds_type = /datum/looping_sound/weather/wind/gentle
+ indoor_sounds_type = /datum/looping_sound/weather/wind/gentle/indoors
+
/datum/weather/sif/overcast
name = "overcast"
light_modifier = 0.8
@@ -174,6 +177,9 @@ var/datum/planet/sif/planet_sif = null
"It's very cloudy."
)
+ outdoor_sounds_type = /datum/looping_sound/weather/wind/gentle
+ indoor_sounds_type = /datum/looping_sound/weather/wind/gentle/indoors
+
/datum/weather/sif/light_snow
name = "light snow"
icon_state = "snowfall_light"
@@ -192,6 +198,9 @@ var/datum/planet/sif/planet_sif = null
"It begins to snow lightly.",
)
+ outdoor_sounds_type = /datum/looping_sound/weather/wind/gentle
+ indoor_sounds_type = /datum/looping_sound/weather/wind/gentle/indoors
+
/datum/weather/sif/snow
name = "moderate snow"
icon_state = "snowfall_med"
@@ -327,8 +336,8 @@ var/datum/planet/sif/planet_sif = null
"Loud thunder is heard in the distance.",
"A bright flash heralds the approach of a storm."
)
- outdoor_sounds_type = /datum/looping_sound/weather/rain
- indoor_sounds_type = /datum/looping_sound/weather/rain/indoors
+ outdoor_sounds_type = /datum/looping_sound/weather/rain/heavy
+ indoor_sounds_type = /datum/looping_sound/weather/rain/heavy/indoors
transition_chances = list(
diff --git a/code/modules/power/fusion/fuel_assembly/fuel_compressor.dm b/code/modules/power/fusion/fuel_assembly/fuel_compressor.dm
index a8c4d0445a..f7e6018448 100644
--- a/code/modules/power/fusion/fuel_assembly/fuel_compressor.dm
+++ b/code/modules/power/fusion/fuel_assembly/fuel_compressor.dm
@@ -1,3 +1,4 @@
+#define FUSION_ROD_SHEET_AMT 15
/obj/machinery/fusion_fuel_compressor
var/blitzprogress = 0 //CHOMPEdit
name = "fuel compressor"
@@ -55,7 +56,7 @@
if(!mat.is_fusion_fuel)
to_chat(user, "
It would be pointless to make a fuel rod out of [mat.use_name].")
return
- if(M.get_amount() < 25)
+ if(M.get_amount() < FUSION_ROD_SHEET_AMT)
if(mat.name=="supermatter")
visible_message("
\The [user] places the [mat.use_name] into the compressor.")
M.use(1)
@@ -66,7 +67,7 @@
return
var/obj/item/weapon/fuel_assembly/F = new(get_turf(src), mat.name)
visible_message("
\The [src] compresses the [mat.use_name] into a new fuel assembly.")
- M.use(25)
+ M.use(FUSION_ROD_SHEET_AMT)
user.put_in_hands(F)
else
if(mat.name=="phoron")
@@ -98,3 +99,5 @@
verbs -= /obj/machinery/fusion_fuel_compressor/verb/eject_sheet
blitzprogress = 0
//CHOMPEdit End
+
+#undef FUSION_ROD_SHEET_AMT
diff --git a/code/modules/power/fusion/fusion_reagents.dm b/code/modules/power/fusion/fusion_reagents.dm
deleted file mode 100644
index 80b1cbb336..0000000000
--- a/code/modules/power/fusion/fusion_reagents.dm
+++ /dev/null
@@ -1,18 +0,0 @@
-//Additional fusion reagents. These likely don't have any other use aside from the RUST, but if you want to make stuff with 'em, be my guest.
-
-/datum/reagent/helium3
- name = "helium-3"
- description = "A colorless, odorless, tasteless and generally inert gas used in fusion reactors. Non-radioactive."
- id = "helium-3"
- reagent_state = GAS
- color = "#808080"
-
-/obj/structure/reagent_dispensers/he3
- name = "fueltank"
- desc = "A fueltank."
- icon = 'icons/obj/objects.dmi'
- icon_state = "weldtank"
- amount_per_transfer_from_this = 10
- New()
- ..()
- reagents.add_reagent("helium-3",1000)
\ No newline at end of file
diff --git a/code/modules/projectiles/guns/energy/laser_vr.dm b/code/modules/projectiles/guns/energy/laser_vr.dm
index 1c231d1c08..6a564dbe0f 100644
--- a/code/modules/projectiles/guns/energy/laser_vr.dm
+++ b/code/modules/projectiles/guns/energy/laser_vr.dm
@@ -189,12 +189,14 @@
return 0
return ..()
-//Expedition Frontier Phaser
+////////////////Expedition Frontier Phaser////////////////
+
/obj/item/weapon/gun/energy/locked/frontier
name = "frontier phaser"
desc = "An extraordinarily rugged laser weapon, built to last and requiring effectively no maintenance. Includes a built-in crank charger for recharging away from civilization. This one has a safety interlock that prevents firing while in proximity to the facility."
+ description_fluff = "The NT Brand Model E2 Secured Phaser System, a specialty phaser that has an intergrated chip that prevents the user from opperating the weapon within the vicinity of any NanoTrasen opperated outposts/stations/bases. However, this chip can be disabled so the weapon CAN BE used in the vicinity of any NanoTrasen opperated outposts/stations/bases. The weapon doesn't use traditional weapon power cells and instead works via a pump action that recharges the internal cells. It is a staple amongst exploration personell who usually don't have the license to opperate a lethal weapon through NT and provides them with a weapon that can be recharged away from civilization."
icon = 'icons/obj/gun_vr.dmi'
- icon_state = "phaser"
+ icon_state = "phaserkill"
item_state = "phaser"
item_icons = list(slot_l_hand_str = 'icons/mob/items/lefthand_guns_vr.dmi', slot_r_hand_str = 'icons/mob/items/righthand_guns_vr.dmi', "slot_belt" = 'icons/mob/belt_vr.dmi')
fire_sound = 'sound/weapons/laser2.ogg'
@@ -211,7 +213,7 @@
//CHOMP Edit: Changed beam type to new phaser beam type.
firemodes = list(
list(mode_name="lethal", fire_delay=12, projectile_type=/obj/item/projectile/beam/phaser, charge_cost = 300),
- list(mode_name="low-power", fire_delay=8, projectile_type=/obj/item/projectile/beam/phaser/light, charge_cost = 60),
+ list(mode_name="low-power", fire_delay=8, projectile_type=/obj/item/projectile/beam/phaser/light, charge_cost = 80),
)
recoil_mode = 0 //CHOMP Addition: Removes recoil for micros.
@@ -251,20 +253,23 @@
locked = 0
lockable = 0
-//Phaser Carbine - Reskinned phaser
+////////////////Phaser Carbine////////////////
+
/obj/item/weapon/gun/energy/locked/frontier/carbine
name = "frontier carbine"
desc = "An ergonomically improved version of the venerable frontier phaser, the carbine is a fairly new weapon, and has only been produced in limited numbers so far. Includes a built-in crank charger for recharging away from civilization. This one has a safety interlock that prevents firing while in proximity to the facility."
+ description_fluff = "The NT Brand Model AT2 Secured Phaser System, a specialty phaser that has an intergrated chip that prevents the user from opperating the weapon within the vicinity of any NanoTrasen opperated outposts/stations/bases. However, this chip can be disabled so the weapon CAN BE used in the vicinity of any NanoTrasen opperated outposts/stations/bases. The weapon doesn't use traditional weapon power cells and instead works via a pump action that recharges the internal cells. It is a staple amongst exploration personell who usually don't have the license to opperate a lethal weapon through NT and provides them with a weapon that can be recharged away from civilization."
icon = 'icons/obj/gun_vr.dmi'
icon_state = "carbinekill"
- item_state = "retro"
+ item_state = "energykill"
item_icons = list(slot_l_hand_str = 'icons/mob/items/lefthand_guns.dmi', slot_r_hand_str = 'icons/mob/items/righthand_guns.dmi')
+ phase_power = 150
modifystate = "carbinekill"
//CHOMP Edit: Changed beam type to new phaser beam type.
firemodes = list(
list(mode_name="lethal", fire_delay=12, projectile_type=/obj/item/projectile/beam/phaser, modifystate="carbinekill", charge_cost = 300),
- list(mode_name="low-power", fire_delay=8, projectile_type=/obj/item/projectile/beam/phaser/light, modifystate="carbinestun", charge_cost = 60),
+ list(mode_name="low-power", fire_delay=8, projectile_type=/obj/item/projectile/beam/phaser/light, modifystate="carbinestun", charge_cost = 80),
)
/obj/item/weapon/gun/energy/locked/frontier/carbine/update_icon()
@@ -275,12 +280,13 @@
..()
/obj/item/weapon/gun/energy/locked/frontier/carbine/unlocked
- desc = "An ergonomically improved version of the venerable frontier phaser, the carbine is a fairly new weapon, and has only been produced in limited numbers so far."
+ desc = "An ergonomically improved version of the venerable frontier phaser, the carbine is a fairly new weapon, and has only been produced in limited numbers so far. Includes a built-in crank charger for recharging away from civilization."
req_access = newlist() //for toggling safety
locked = 0
lockable = 0
-//Expeditionary Holdout Phaser Pistol
+////////////////Expeditionary Holdout Phaser Pistol////////////////
+
/obj/item/weapon/gun/energy/locked/frontier/holdout
name = "holdout frontier phaser"
desc = "An minaturized weapon designed for the purpose of expeditionary support to defend themselves on the field. Includes a built-in crank charger for recharging away from civilization. This one has a safety interlock that prevents firing while in proximity to the facility."
@@ -304,3 +310,51 @@
req_access = newlist() //for toggling safety
locked = 0
lockable = 0
+
+////////////////Phaser Rifle////////////////
+
+/obj/item/weapon/gun/energy/locked/frontier/rifle
+ name = "frontier marksman rifle"
+ desc = "A much larger, heavier weapon than the typical frontier-type weapons, this DMR can be fired both from the hip, and in scope. Includes a built-in crank charger for recharging away from civilization. This one has a safety interlock that prevents firing while in proximity to the facility."
+ icon = 'icons/obj/gun_vr.dmi'
+ icon_state = "riflekill"
+ item_state = "sniper"
+ item_state_slots = list(slot_r_hand_str = "lsniper", slot_l_hand_str = "lsniper")
+ wielded_item_state = "lsniper-wielded"
+ action_button_name = "Use Scope"
+ w_class = ITEMSIZE_LARGE
+ item_icons = list(slot_l_hand_str = 'icons/mob/items/lefthand_guns.dmi', slot_r_hand_str = 'icons/mob/items/righthand_guns.dmi')
+ accuracy = -15 //better than most snipers but still has penalty
+ scoped_accuracy = 40
+ one_handed_penalty = 50 // The weapon itself is heavy, and the long barrel makes it hard to hold steady with just one hand.
+ phase_power = 150 //efficient crank charger
+ projectile_type = /obj/item/projectile/beam/phaser/heavy //CHOMPEdit
+ modifystate = "riflekill"
+ //CHOMP Edit: Changed beam type to new phaser beam type.
+ firemodes = list(
+ list(mode_name="sniper", fire_delay=35, projectile_type=/obj/item/projectile/beam/phaser/heavy, modifystate="riflekill", charge_cost = 600),
+ list(mode_name="lethal", fire_delay=12, projectile_type=/obj/item/projectile/beam/phaser, modifystate="riflestun", charge_cost = 200),
+ )
+
+/obj/item/weapon/gun/energy/locked/frontier/rifle/ui_action_click()
+ scope()
+
+/obj/item/weapon/gun/energy/locked/frontier/rifle/verb/scope()
+ set category = "Object"
+ set name = "Use Scope"
+ set popup_menu = 1
+
+ toggle_scope(2.0)
+
+/obj/item/weapon/gun/energy/locked/frontier/rifle/update_icon()
+ if(recharging)
+ icon_state = "[modifystate]_pump"
+ update_held_icon()
+ return
+ ..()
+
+/obj/item/weapon/gun/energy/locked/frontier/rifle/unlocked
+ desc = "A much larger, heavier weapon than the typical frontier-type weapons, this DMR can be fired both from the hip, and in scope. Includes a built-in crank charger for recharging away from civilization."
+ req_access = newlist() //for toggling safety
+ locked = 0
+ lockable = 0
diff --git a/code/modules/projectiles/guns/energy/stun_vr.dm b/code/modules/projectiles/guns/energy/stun_vr.dm
index b0bfd53e46..db038e58fd 100644
--- a/code/modules/projectiles/guns/energy/stun_vr.dm
+++ b/code/modules/projectiles/guns/energy/stun_vr.dm
@@ -3,4 +3,5 @@
fire_delay = 4
/obj/item/weapon/gun/energy/stunrevolver
+ icon = 'icons/obj/gun_vr.dmi'
charge_cost = 400
\ No newline at end of file
diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm
index 775659596a..37f3f5629c 100644
--- a/code/modules/projectiles/guns/projectile/automatic.dm
+++ b/code/modules/projectiles/guns/projectile/automatic.dm
@@ -389,9 +389,18 @@
)
/obj/item/weapon/gun/projectile/automatic/tommygun/update_icon()
- ..()
- icon_state = (ammo_magazine)? "tommygun" : "tommygun-empty"
-// update_held_icon()
+ //VOREStation Edit Start - vr sprite
+ if(istype(ammo_magazine,/obj/item/ammo_magazine/m45tommy))
+ icon_state = "tommygun-mag"
+ item_state = icon_state
+ else if(istype(ammo_magazine,/obj/item/ammo_magazine/m45tommydrum))
+ icon_state = "tommygun-drum"
+ item_state = icon_state
+ else
+ icon_state = "tommygun-empty"
+ item_state = icon_state
+ update_held_icon()
+ //VOREStation Edit End
/obj/item/weapon/gun/projectile/automatic/bullpup // Admin abuse assault rifle. ToDo: Make this less shit. Maybe remove its autofire, and make it spawn with only 10 rounds at start.
name = "bullpup rifle"
diff --git a/code/modules/projectiles/guns/projectile/automatic_vr.dm b/code/modules/projectiles/guns/projectile/automatic_vr.dm
index dd72f4f24b..9833ab3ee0 100644
--- a/code/modules/projectiles/guns/projectile/automatic_vr.dm
+++ b/code/modules/projectiles/guns/projectile/automatic_vr.dm
@@ -1,6 +1,9 @@
/obj/item/weapon/gun/projectile/automatic/wt550/lethal
magazine_type = /obj/item/ammo_magazine/m9mmt
+/obj/item/weapon/gun/projectile/automatic/tommygun
+ icon = 'icons/obj/gun_vr.dmi'
+
////////////////////////////////////////////////////////////
//////////////////// Projectile Weapons ////////////////////
////////////////////////////////////////////////////////////
diff --git a/code/modules/projectiles/guns/projectile/boltaction.dm b/code/modules/projectiles/guns/projectile/boltaction.dm
index 1aa8e83957..52e8c17ca9 100644
--- a/code/modules/projectiles/guns/projectile/boltaction.dm
+++ b/code/modules/projectiles/guns/projectile/boltaction.dm
@@ -16,7 +16,7 @@
action_sound = 'sound/weapons/riflebolt.ogg'
pump_animation = null
-/obj/item/weapon/gun/projectile/shotgun/pump/rifle/practice // For target practice
+/obj/item/weapon/gun/projectile/shotgun/pump/rifle/practice //For target practice
desc = "A bolt-action rifle with a lightweight synthetic wood stock, designed for competitive shooting. Comes shipped with practice rounds pre-loaded into the gun. Popular among professional marksmen. Uses 7.62mm rounds."
ammo_type = /obj/item/ammo_casing/a762/practice
diff --git a/code/modules/projectiles/guns/projectile/boltaction_vr.dm b/code/modules/projectiles/guns/projectile/boltaction_vr.dm
new file mode 100644
index 0000000000..3e538adf4e
--- /dev/null
+++ b/code/modules/projectiles/guns/projectile/boltaction_vr.dm
@@ -0,0 +1,55 @@
+/obj/item/weapon/gun/projectile/shotgun/pump/rifle
+ desc = "The Weissen Company Type-19 is a modern interpretation of an almost ancient weapon design. The model is popular among hunters and collectors due to its reliability. Uses 7.62mm rounds."
+ description_fluff = "The frontier’s largest home-grown firearms manufacturer, the APEX Arms Company offers a range of high-quality, high-cost hunting rifles and shotguns designed with the wild frontier wilderness - and its wildlife - in mind. \
+ The company operates just one production plant in the Mytis system, but their weapons have found popularity on garden worlds as far afield as the Tajaran homeworld due to their excellent build quality, precision, and stopping power."
+ icon = 'icons/obj/gun_vr.dmi'
+
+/obj/item/weapon/gun/projectile/shotgun/pump/rifle/practice //For target practice
+ name = "practice rifle"
+ icon = 'icons/obj/gun_vr.dmi'
+ icon_state = "boltaction_p"
+ item_state = "boltaction_p"
+ item_icons = list(slot_l_hand_str = 'icons/mob/items/lefthand_guns_vr.dmi', slot_r_hand_str = 'icons/mob/items/righthand_guns_vr.dmi')
+ max_shells = 4
+
+/obj/item/weapon/gun/projectile/shotgun/pump/rifle/ceremonial
+ max_shells = 5
+
+/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever
+ desc = "The Weissen Company Thunderking is the latest version of an almost ancient weapon design from the 19th century, popular with some due to its simplistic design. This one uses a lever-action to move new rounds into the chamber. Uses 7.62mm rounds."
+ description_fluff = "The frontier’s largest home-grown firearms manufacturer, the Weissen Company offers a range of high-quality, high-cost hunting rifles and shotguns designed with the wild frontier wilderness - and its wildlife - in mind. \
+ The company operates just one production plant in the Mytis system, but their weapons have found popularity on garden worlds as far afield as the Tajaran homeworld due to their excellent build quality, precision, and stopping power."
+ icon = 'icons/obj/gun_vr.dmi'
+ icon_state = "levergun"
+ max_shells = 6
+
+/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever/vintage
+ desc = "The Weissen Company's version of an iconic manually operated lever action rifle, the Bushhog, offering adequate stopping power due to it's still powerful cartridge while at the same time having a rather respectable firing rate due to it's mechanism. It is very probable this is a replica instead of a museum piece, but rifles of this pattern still see usage as colonist guns in some far off regions. Uses 7.62mm rounds."
+ description_fluff = "The frontier’s largest home-grown firearms manufacturer, the Weissen Company offers a range of high-quality, high-cost hunting rifles and shotguns designed with the wild frontier wilderness - and its wildlife - in mind. \
+ The company operates just one production plant in the Mytis system, but their weapons have found popularity on garden worlds as far afield as the Tajaran homeworld due to their excellent build quality, precision, and stopping power."
+ icon = 'icons/obj/gun_vr.dmi'
+ icon_state = "levergunv"
+ item_state = "leveraction"
+ max_shells = 5
+ caliber = "7.62mm"
+ load_method = SINGLE_CASING
+ pump_animation = null
+
+////////////////////////surplus gun - for derelicts (04/26/2021)////////////////////////
+
+/obj/item/weapon/gun/projectile/shotgun/pump/surplus
+ name = "surplus rifle"
+ desc = "An ancient weapon from an era long pas, crude in design, but still just as effective as any modern interpretation. Uses 7.62mm rounds."
+ icon = 'icons/obj/gun_vr.dmi'
+ icon_state = "boltaction_s"
+ item_state = "boltaction_p"
+ item_icons = list(slot_l_hand_str = 'icons/mob/items/lefthand_guns_vr.dmi', slot_r_hand_str = 'icons/mob/items/righthand_guns_vr.dmi')
+ fire_sound = 'sound/weapons/Gunshot_generic_rifle.ogg'
+ max_shells = 4
+ slot_flags = null
+ caliber = "7.62mm"
+ origin_tech = list(TECH_COMBAT = 1) // Old(er) as shit rifle doesn't have very good tech.
+ ammo_type = /obj/item/ammo_casing/a762
+ load_method = SINGLE_CASING|SPEEDLOADER
+ action_sound = 'sound/weapons/riflebolt.ogg'
+ pump_animation = null
diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm
index 1cd279ef61..8e92bb6e9d 100644
--- a/code/modules/projectiles/projectile/beams.dm
+++ b/code/modules/projectiles/projectile/beams.dm
@@ -42,7 +42,7 @@
damage = 30
armor_penetration = 10
-
+
/obj/item/projectile/beam/midlaser
damage = 40
armor_penetration = 10
diff --git a/code/modules/projectiles/projectile/beams_vr.dm b/code/modules/projectiles/projectile/beams_vr.dm
index 8930260e9e..a3a149502c 100644
--- a/code/modules/projectiles/projectile/beams_vr.dm
+++ b/code/modules/projectiles/projectile/beams_vr.dm
@@ -42,6 +42,14 @@
tracer_type = /obj/effect/projectile/tracer/laser_blue
impact_type = /obj/effect/projectile/impact/laser_blue
+/obj/item/projectile/beam/weaklaser/blue
+ icon_state = "bluelaser"
+ light_color = "#0066FF"
+
+ muzzle_type = /obj/effect/projectile/muzzle/laser_blue
+ tracer_type = /obj/effect/projectile/tracer/laser_blue
+ impact_type = /obj/effect/projectile/impact/laser_blue
+
/obj/item/projectile/beam/medigun
name = "healing beam"
icon_state = "healbeam"
@@ -74,4 +82,4 @@
M.adjustFireLoss(-15)
M.adjustToxLoss(-5)
M.adjustOxyLoss(-5)
- return 1
\ No newline at end of file
+ return 1
diff --git a/code/modules/reagents/Chemistry-Logging.dm b/code/modules/reagents/Chemistry-Logging.dm
index cccf37bb6f..4c7b2343ad 100644
--- a/code/modules/reagents/Chemistry-Logging.dm
+++ b/code/modules/reagents/Chemistry-Logging.dm
@@ -1,7 +1,7 @@
/var/list/chemical_reaction_logs = list()
-/proc/log_chemical_reaction(atom/A, datum/chemical_reaction/R, multiplier)
+/proc/log_chemical_reaction(atom/A, decl/chemical_reaction/R, multiplier)
if(!A || !R)
return
diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks_ch.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks_ch.dm
deleted file mode 100644
index 3fc98a069f..0000000000
--- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks_ch.dm
+++ /dev/null
@@ -1,24 +0,0 @@
-//We need to port our own food and drinks over sometime - Jack
-
-/datum/reagent/ethanol/snaps
- name = "Akvavit"
- id = "snaps"
- description = "Burns the nose and throat and soothes it with a herby aftertaste...Barely."
- taste_description = "strong spirit and a little dill"
- color = "e6d670" // rgb: 230, 214, 112
- strength = 15
-
- glass_name = "akvavit"
- glass_desc = "Burns the nose and throat, and soothes it with a herby aftertaste...Barely."
-
-/datum/reagent/cinnamonpowder
- name = "ground cinnamon"
- id = "cinnamonpowder"
- description = "Cinnamon, a spice made from tree bark, ground into a fine powder. Probably not a good idea to eat on its own!"
- taste_description= "sweet spice with a hint of wood"
- color = "#a96622"
-
- glass_name = "ground cinnamon"
- glass_desc = "A glass of ground cinnamon. Dare you take the challenge?"
-
-//TODO: Make eating it on its own make you cough.
\ No newline at end of file
diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks_yw.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks_yw.dm
deleted file mode 100644
index 13c987a149..0000000000
--- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks_yw.dm
+++ /dev/null
@@ -1,29 +0,0 @@
-/datum/reagent/drink/lovepotion_yw
- name = "Strawberry Love Potion"
- id = "strawberrylovepotion"
- description = "Creamy strawberries and sugar, simple and sweet."
- taste_description = "strawberries and cream"
- color = "#fc8a8a" // rgb(252, 138, 138)
-
- glass_name = "Love Potion"
- glass_desc = "Love me tender, love me sweet."
-
-
-/datum/reagent/ethanol/wormblood
- name = "Worm Blood"
- id = "wormblood"
- description = "Who had the grand idea to bottle THE BLOOD OF A WORM."
- taste_description = "Wriggly cave fungus"
- color = "#827A00"
- strength = 30
- druggy = 10
-
- glass_name = "Worm blood"
- glass_desc = "Who had the grand idea to bottle THE BLOOD OF A WORM."
- glass_icon_state = "wormblood"
- glass_center_of_mass = list("x"=16, "y"=8)
- glass_icon_file = 'icons/obj/drinks_yw.dmi'
-
-
-
-
diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm
deleted file mode 100644
index b88c9ec7a4..0000000000
--- a/code/modules/reagents/Chemistry-Recipes.dm
+++ /dev/null
@@ -1,2684 +0,0 @@
-//helper that ensures the reaction rate holds after iterating
-//Ex. REACTION_RATE(0.3) means that 30% of the reagents will react each chemistry tick (~2 seconds by default).
-#define REACTION_RATE(rate) (1.0 - (1.0-rate)**(1.0/PROCESS_REACTION_ITER))
-
-//helper to define reaction rate in terms of half-life
-//Ex.
-//HALF_LIFE(0) -> Reaction completes immediately (default chems)
-//HALF_LIFE(1) -> Half of the reagents react immediately, the rest over the following ticks.
-//HALF_LIFE(2) -> Half of the reagents are consumed after 2 chemistry ticks.
-//HALF_LIFE(3) -> Half of the reagents are consumed after 3 chemistry ticks.
-#define HALF_LIFE(ticks) (ticks? 1.0 - (0.5)**(1.0/(ticks*PROCESS_REACTION_ITER)) : 1.0)
-
-/datum/chemical_reaction
- var/name = null
- var/id = null
- var/result = null
- var/list/required_reagents = list()
- var/list/catalysts = list()
- var/list/inhibitors = list()
- var/result_amount = 0
-
- //how far the reaction proceeds each time it is processed. Used with either REACTION_RATE or HALF_LIFE macros.
- var/reaction_rate = HALF_LIFE(0)
-
- //if less than 1, the reaction will be inhibited if the ratio of products/reagents is too high.
- //0.5 = 50% yield -> reaction will only proceed halfway until products are removed.
- var/yield = 1.0
-
- //If limits on reaction rate would leave less than this amount of any reagent (adjusted by the reaction ratios),
- //the reaction goes to completion. This is to prevent reactions from going on forever with tiny reagent amounts.
- var/min_reaction = 2
-
- var/mix_message = "The solution begins to bubble."
- var/reaction_sound = 'sound/effects/bubbles.ogg'
-
- var/log_is_important = 0 // If this reaction should be considered important for logging. Important recipes message admins when mixed, non-important ones just log to file.
-
-/datum/chemical_reaction/proc/can_happen(var/datum/reagents/holder)
- //check that all the required reagents are present
- if(!holder.has_all_reagents(required_reagents))
- return 0
-
- //check that all the required catalysts are present in the required amount
- if(!holder.has_all_reagents(catalysts))
- return 0
-
- //check that none of the inhibitors are present in the required amount
- if(holder.has_any_reagent(inhibitors))
- return 0
-
- return 1
-
-/datum/chemical_reaction/proc/calc_reaction_progress(var/datum/reagents/holder, var/reaction_limit)
- var/progress = reaction_limit * reaction_rate //simple exponential progression
-
- //calculate yield
- if(1-yield > 0.001) //if yield ratio is big enough just assume it goes to completion
- /*
- Determine the max amount of product by applying the yield condition:
- (max_product/result_amount) / reaction_limit == yield/(1-yield)
-
- We make use of the fact that:
- reaction_limit = (holder.get_reagent_amount(reactant) / required_reagents[reactant]) of the limiting reagent.
- */
- var/yield_ratio = yield/(1-yield)
- var/max_product = yield_ratio * reaction_limit * result_amount //rearrange to obtain max_product
- var/yield_limit = max(0, max_product - holder.get_reagent_amount(result))/result_amount
-
- progress = min(progress, yield_limit) //apply yield limit
-
- //apply min reaction progress - wasn't sure if this should go before or after applying yield
- //I guess people can just have their miniscule reactions go to completion regardless of yield.
- for(var/reactant in required_reagents)
- var/remainder = holder.get_reagent_amount(reactant) - progress*required_reagents[reactant]
- if(remainder <= min_reaction*required_reagents[reactant])
- progress = reaction_limit
- break
-
- return progress
-
-/datum/chemical_reaction/process(var/datum/reagents/holder)
- //determine how far the reaction can proceed
- var/list/reaction_limits = list()
- for(var/reactant in required_reagents)
- reaction_limits += holder.get_reagent_amount(reactant) / required_reagents[reactant]
-
- //determine how far the reaction proceeds
- var/reaction_limit = min(reaction_limits)
- var/progress_limit = calc_reaction_progress(holder, reaction_limit)
-
- var/reaction_progress = min(reaction_limit, progress_limit) //no matter what, the reaction progress cannot exceed the stoichiometric limit.
-
- //need to obtain the new reagent's data before anything is altered
- var/data = send_data(holder, reaction_progress)
-
- //remove the reactants
- for(var/reactant in required_reagents)
- var/amt_used = required_reagents[reactant] * reaction_progress
- holder.remove_reagent(reactant, amt_used, safety = 1)
-
- //add the product
- var/amt_produced = result_amount * reaction_progress
- if(result)
- holder.add_reagent(result, amt_produced, data, safety = 1)
-
- on_reaction(holder, amt_produced)
-
- return reaction_progress
-
-//called when a reaction processes
-/datum/chemical_reaction/proc/on_reaction(var/datum/reagents/holder, var/created_volume)
- return
-
-//called after processing reactions, if they occurred
-/datum/chemical_reaction/proc/post_reaction(var/datum/reagents/holder)
- var/atom/container = holder.my_atom
- if(mix_message && container && !ismob(container))
- var/turf/T = get_turf(container)
- var/list/seen = viewers(4, T)
- for(var/mob/M in seen)
- M.show_message("
[bicon(container)] [mix_message]", 1)
- playsound(T, reaction_sound, 80, 1)
-
-//obtains any special data that will be provided to the reaction products
-//this is called just before reactants are removed.
-/datum/chemical_reaction/proc/send_data(var/datum/reagents/holder, var/reaction_limit)
- return null
-
-/* Common reactions */
-
-/datum/chemical_reaction/inaprovaline
- name = "Inaprovaline"
- id = "inaprovaline"
- result = "inaprovaline"
- required_reagents = list("oxygen" = 1, "carbon" = 1, "sugar" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/dylovene
- name = "Dylovene"
- id = "anti_toxin"
- result = "anti_toxin"
- required_reagents = list("silicon" = 1, "potassium" = 1, "nitrogen" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/carthatoline
- name = "Carthatoline"
- id = "carthatoline"
- result = "carthatoline"
- required_reagents = list("anti_toxin" = 1, "carbon" = 2, "phoron" = 0.1)
- catalysts = list("phoron" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/paracetamol
- name = "Paracetamol"
- id = "paracetamol"
- result = "paracetamol"
- required_reagents = list("inaprovaline" = 1, "nitrogen" = 1, "water" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/tramadol
- name = "Tramadol"
- id = "tramadol"
- result = "tramadol"
- required_reagents = list("paracetamol" = 1, "ethanol" = 1, "oxygen" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/oxycodone
- name = "Oxycodone"
- id = "oxycodone"
- result = "oxycodone"
- required_reagents = list("ethanol" = 1, "tramadol" = 1)
- catalysts = list("phoron" = 5)
- result_amount = 1
-
-/datum/chemical_reaction/sterilizine
- name = "Sterilizine"
- id = "sterilizine"
- result = "sterilizine"
- required_reagents = list("ethanol" = 1, "anti_toxin" = 1, "chlorine" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/silicate
- name = "Silicate"
- id = "silicate"
- result = "silicate"
- required_reagents = list("aluminum" = 1, "silicon" = 1, "oxygen" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/mutagen
- name = "Unstable mutagen"
- id = "mutagen"
- result = "mutagen"
- required_reagents = list("radium" = 1, "phosphorus" = 1, "chlorine" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/water
- name = "Water"
- id = "water"
- result = "water"
- required_reagents = list("oxygen" = 1, "hydrogen" = 2)
- result_amount = 1
-
-/datum/chemical_reaction/thermite
- name = "Thermite"
- id = "thermite"
- result = "thermite"
- required_reagents = list("aluminum" = 1, "iron" = 1, "oxygen" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/space_drugs
- name = "Space Drugs"
- id = "space_drugs"
- result = "space_drugs"
- required_reagents = list("mercury" = 1, "sugar" = 1, "lithium" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/lube
- name = "Space Lube"
- id = "lube"
- result = "lube"
- required_reagents = list("water" = 1, "silicon" = 1, "oxygen" = 1)
- result_amount = 4
-
-/datum/chemical_reaction/pacid
- name = "Polytrinic acid"
- id = "pacid"
- result = "pacid"
- required_reagents = list("sacid" = 1, "chlorine" = 1, "potassium" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/synaptizine
- name = "Synaptizine"
- id = "synaptizine"
- result = "synaptizine"
- required_reagents = list("sugar" = 1, "lithium" = 1, "water" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/hyronalin
- name = "Hyronalin"
- id = "hyronalin"
- result = "hyronalin"
- required_reagents = list("radium" = 1, "anti_toxin" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/arithrazine
- name = "Arithrazine"
- id = "arithrazine"
- result = "arithrazine"
- required_reagents = list("hyronalin" = 1, "hydrogen" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/impedrezene
- name = "Impedrezene"
- id = "impedrezene"
- result = "impedrezene"
- required_reagents = list("mercury" = 1, "oxygen" = 1, "sugar" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/kelotane
- name = "Kelotane"
- id = "kelotane"
- result = "kelotane"
- required_reagents = list("silicon" = 1, "carbon" = 1)
- result_amount = 2
- log_is_important = 1
-
-/datum/chemical_reaction/peridaxon
- name = "Peridaxon"
- id = "peridaxon"
- result = "peridaxon"
- required_reagents = list("bicaridine" = 2, "clonexadone" = 2)
- catalysts = list("phoron" = 5)
- result_amount = 2
-
-/datum/chemical_reaction/osteodaxon
- name = "Osteodaxon"
- id = "osteodaxon"
- result = "osteodaxon"
- required_reagents = list("bicaridine" = 2, "phoron" = 0.1, "carpotoxin" = 1)
- catalysts = list("phoron" = 5)
- inhibitors = list("clonexadone" = 1) // Messes with cryox
- result_amount = 2
-
-/datum/chemical_reaction/respirodaxon
- name = "Respirodaxon"
- id = "respirodaxon"
- result = "respirodaxon"
- required_reagents = list("dexalinp" = 2, "biomass" = 2, "phoron" = 1)
- catalysts = list("phoron" = 5)
- inhibitors = list("dexalin" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/gastirodaxon
- name = "Gastirodaxon"
- id = "gastirodaxon"
- result = "gastirodaxon"
- required_reagents = list("carthatoline" = 1, "biomass" = 2, "tungsten" = 2)
- catalysts = list("phoron" = 5)
- inhibitors = list("lithium" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/hepanephrodaxon
- name = "Hepanephrodaxon"
- id = "hepanephrodaxon"
- result = "hepanephrodaxon"
- required_reagents = list("carthatoline" = 2, "biomass" = 2, "lithium" = 1)
- catalysts = list("phoron" = 5)
- inhibitors = list("tungsten" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/cordradaxon
- name = "Cordradaxon"
- id = "cordradaxon"
- result = "cordradaxon"
- required_reagents = list("potassium_chlorophoride" = 1, "biomass" = 2, "bicaridine" = 2)
- catalysts = list("phoron" = 5)
- inhibitors = list("clonexadone" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/virus_food
- name = "Virus Food"
- id = "virusfood"
- result = "virusfood"
- required_reagents = list("water" = 1, "milk" = 1)
- result_amount = 5
-
-/datum/chemical_reaction/leporazine
- name = "Leporazine"
- id = "leporazine"
- result = "leporazine"
- required_reagents = list("silicon" = 1, "copper" = 1)
- catalysts = list("phoron" = 5)
- result_amount = 2
-
-/datum/chemical_reaction/cryptobiolin
- name = "Cryptobiolin"
- id = "cryptobiolin"
- result = "cryptobiolin"
- required_reagents = list("potassium" = 1, "oxygen" = 1, "sugar" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/tricordrazine
- name = "Tricordrazine"
- id = "tricordrazine"
- result = "tricordrazine"
- required_reagents = list("inaprovaline" = 1, "anti_toxin" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/alkysine
- name = "Alkysine"
- id = "alkysine"
- result = "alkysine"
- required_reagents = list("chlorine" = 1, "nitrogen" = 1, "anti_toxin" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/dexalin
- name = "Dexalin"
- id = "dexalin"
- result = "dexalin"
- required_reagents = list("oxygen" = 2, "phoron" = 0.1)
- catalysts = list("phoron" = 1)
- inhibitors = list("water" = 1) // Messes with cryox
- result_amount = 1
-
-/datum/chemical_reaction/dermaline
- name = "Dermaline"
- id = "dermaline"
- result = "dermaline"
- required_reagents = list("oxygen" = 1, "phosphorus" = 1, "kelotane" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/dexalinp
- name = "Dexalin Plus"
- id = "dexalinp"
- result = "dexalinp"
- required_reagents = list("dexalin" = 1, "carbon" = 1, "iron" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/bicaridine
- name = "Bicaridine"
- id = "bicaridine"
- result = "bicaridine"
- required_reagents = list("inaprovaline" = 1, "carbon" = 1)
- inhibitors = list("sugar" = 1) // Messes up with inaprovaline
- result_amount = 2
-
-/datum/chemical_reaction/myelamine
- name = "Myelamine"
- id = "myelamine"
- result = "myelamine"
- required_reagents = list("bicaridine" = 1, "iron" = 2, "spidertoxin" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/hyperzine
- name = "Hyperzine"
- id = "hyperzine"
- result = "hyperzine"
- required_reagents = list("sugar" = 1, "phosphorus" = 1, "sulfur" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/stimm
- name = "Stimm"
- id = "stimm"
- result = "stimm"
- required_reagents = list("left4zed" = 1, "fuel" = 1)
- catalysts = list("fuel" = 5)
- result_amount = 2
-
-/datum/chemical_reaction/ryetalyn
- name = "Ryetalyn"
- id = "ryetalyn"
- result = "ryetalyn"
- required_reagents = list("arithrazine" = 1, "carbon" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/cryoxadone
- name = "Cryoxadone"
- id = "cryoxadone"
- result = "cryoxadone"
- required_reagents = list("dexalin" = 1, "water" = 1, "oxygen" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/clonexadone
- name = "Clonexadone"
- id = "clonexadone"
- result = "clonexadone"
- required_reagents = list("cryoxadone" = 1, "sodium" = 1, "phoron" = 0.1)
- catalysts = list("phoron" = 5)
- result_amount = 2
-
-/datum/chemical_reaction/mortiferin
- name = "Mortiferin"
- id = "mortiferin"
- result = "mortiferin"
- required_reagents = list("cryptobiolin" = 1, "clonexadone" = 1, "corophizine" = 1)
- result_amount = 2
- catalysts = list("phoron" = 5)
-
-/datum/chemical_reaction/spaceacillin
- name = "Spaceacillin"
- id = "spaceacillin"
- result = "spaceacillin"
- required_reagents = list("cryptobiolin" = 1, "inaprovaline" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/corophizine
- name = "Corophizine"
- id = "corophizine"
- result = "corophizine"
- required_reagents = list("spaceacillin" = 1, "carbon" = 1, "phoron" = 0.1)
- catalysts = list("phoron" = 5)
- result_amount = 2
-
-/datum/chemical_reaction/immunosuprizine
- name = "Immunosuprizine"
- id = "immunosuprizine"
- result = "immunosuprizine"
- required_reagents = list("corophizine" = 1, "tungsten" = 1, "sacid" = 1)
- catalysts = list("phoron" = 5)
- result_amount = 2
-
-/datum/chemical_reaction/imidazoline
- name = "imidazoline"
- id = "imidazoline"
- result = "imidazoline"
- required_reagents = list("carbon" = 1, "hydrogen" = 1, "anti_toxin" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/ethylredoxrazine
- name = "Ethylredoxrazine"
- id = "ethylredoxrazine"
- result = "ethylredoxrazine"
- required_reagents = list("oxygen" = 1, "anti_toxin" = 1, "carbon" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/calciumcarbonate
- name = "Calcium Carbonate"
- id = "calciumcarbonate"
- result = "calciumcarbonate"
- required_reagents = list("oxygen" = 3, "calcium" = 1, "carbon" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/soporific
- name = "Soporific"
- id = "stoxin"
- result = "stoxin"
- required_reagents = list("chloralhydrate" = 1, "sugar" = 4)
- inhibitors = list("phosphorus") // Messes with the smoke
- result_amount = 5
-
-/datum/chemical_reaction/chloralhydrate
- name = "Chloral Hydrate"
- id = "chloralhydrate"
- result = "chloralhydrate"
- required_reagents = list("ethanol" = 1, "chlorine" = 3, "water" = 1)
- result_amount = 1
-
-/datum/chemical_reaction/potassium_chloride
- name = "Potassium Chloride"
- id = "potassium_chloride"
- result = "potassium_chloride"
- required_reagents = list("sodiumchloride" = 1, "potassium" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/potassium_chlorophoride
- name = "Potassium Chlorophoride"
- id = "potassium_chlorophoride"
- result = "potassium_chlorophoride"
- required_reagents = list("potassium_chloride" = 1, "phoron" = 1, "chloralhydrate" = 1)
- result_amount = 4
-
-/datum/chemical_reaction/zombiepowder
- name = "Zombie Powder"
- id = "zombiepowder"
- result = "zombiepowder"
- required_reagents = list("carpotoxin" = 5, "stoxin" = 5, "copper" = 5)
- result_amount = 2
-
-/datum/chemical_reaction/carpotoxin
- name = "Carpotoxin"
- id = "carpotoxin"
- result = "carpotoxin"
- required_reagents = list("spidertoxin" = 2, "biomass" = 1, "sifsap" = 2)
- catalysts = list("sifsap" = 10)
- inhibitors = list("radium" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/mindbreaker
- name = "Mindbreaker Toxin"
- id = "mindbreaker"
- result = "mindbreaker"
- required_reagents = list("silicon" = 1, "hydrogen" = 1, "anti_toxin" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/lipozine
- name = "Lipozine"
- id = "Lipozine"
- result = "lipozine"
- required_reagents = list("sodiumchloride" = 1, "ethanol" = 1, "radium" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/surfactant
- name = "Foam surfactant"
- id = "foam surfactant"
- result = "fluorosurfactant"
- required_reagents = list("fluorine" = 2, "carbon" = 2, "sacid" = 1)
- result_amount = 5
-
-/datum/chemical_reaction/ammonia
- name = "Ammonia"
- id = "ammonia"
- result = "ammonia"
- required_reagents = list("hydrogen" = 3, "nitrogen" = 1)
- inhibitors = list("phoron" = 1) // Messes with lexorin
- result_amount = 3
-
-/datum/chemical_reaction/diethylamine
- name = "Diethylamine"
- id = "diethylamine"
- result = "diethylamine"
- required_reagents = list ("ammonia" = 1, "ethanol" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/left4zed
- name = "Left4Zed"
- id = "left4zed"
- result = "left4zed"
- required_reagents = list ("diethylamine" = 2, "mutagen" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/robustharvest
- name = "RobustHarvest"
- id = "robustharvest"
- result = "robustharvest"
- required_reagents = list ("ammonia" = 1, "calcium" = 1, "neurotoxic_protein" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/space_cleaner
- name = "Space cleaner"
- id = "cleaner"
- result = "cleaner"
- required_reagents = list("ammonia" = 1, "water" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/plantbgone
- name = "Plant-B-Gone"
- id = "plantbgone"
- result = "plantbgone"
- required_reagents = list("pacid" = 1, "diethylamine" = 4) //YW Edit
- result_amount = 5
-
-/datum/chemical_reaction/foaming_agent
- name = "Foaming Agent"
- id = "foaming_agent"
- result = "foaming_agent"
- required_reagents = list("lithium" = 1, "hydrogen" = 1)
- result_amount = 1
-
-/datum/chemical_reaction/glycerol
- name = "Glycerol"
- id = "glycerol"
- result = "glycerol"
- required_reagents = list("cornoil" = 3, "sacid" = 1)
- result_amount = 1
-
-/datum/chemical_reaction/sodiumchloride
- name = "Sodium Chloride"
- id = "sodiumchloride"
- result = "sodiumchloride"
- required_reagents = list("sodium" = 1, "chlorine" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/condensedcapsaicin
- name = "Condensed Capsaicin"
- id = "condensedcapsaicin"
- result = "condensedcapsaicin"
- required_reagents = list("capsaicin" = 2)
- catalysts = list("phoron" = 5)
- result_amount = 1
-
-/datum/chemical_reaction/coolant
- name = "Coolant"
- id = "coolant"
- result = "coolant"
- required_reagents = list("tungsten" = 1, "oxygen" = 1, "water" = 1)
- result_amount = 3
- log_is_important = 1
-
-/datum/chemical_reaction/rezadone
- name = "Rezadone"
- id = "rezadone"
- result = "rezadone"
- required_reagents = list("carpotoxin" = 1, "cryptobiolin" = 1, "copper" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/lexorin
- name = "Lexorin"
- id = "lexorin"
- result = "lexorin"
- required_reagents = list("phoron" = 1, "hydrogen" = 1, "nitrogen" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/methylphenidate
- name = "Methylphenidate"
- id = "methylphenidate"
- result = "methylphenidate"
- required_reagents = list("mindbreaker" = 1, "hydrogen" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/citalopram
- name = "Citalopram"
- id = "citalopram"
- result = "citalopram"
- required_reagents = list("mindbreaker" = 1, "carbon" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/paroxetine
- name = "Paroxetine"
- id = "paroxetine"
- result = "paroxetine"
- required_reagents = list("mindbreaker" = 1, "oxygen" = 1, "inaprovaline" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/neurotoxin
- name = "Neurotoxin"
- id = "neurotoxin"
- result = "neurotoxin"
- required_reagents = list("gargleblaster" = 1, "stoxin" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/luminol
- name = "Luminol"
- id = "luminol"
- result = "luminol"
- required_reagents = list("hydrogen" = 2, "carbon" = 2, "ammonia" = 2)
- result_amount = 6
-
-/* Solidification */
-
-/datum/chemical_reaction/solidification
- name = "Solid Iron"
- id = "solidiron"
- result = null
- required_reagents = list("frostoil" = 5, "iron" = REAGENTS_PER_SHEET)
- result_amount = 1
- var/sheet_to_give = /obj/item/stack/material/iron
-
-/datum/chemical_reaction/solidification/on_reaction(var/datum/reagents/holder, var/created_volume)
- new sheet_to_give(get_turf(holder.my_atom), created_volume)
- return
-
-
-/datum/chemical_reaction/solidification/phoron
- name = "Solid Phoron"
- id = "solidphoron"
- required_reagents = list("frostoil" = 5, "phoron" = REAGENTS_PER_SHEET)
- sheet_to_give = /obj/item/stack/material/phoron
-
-
-/datum/chemical_reaction/solidification/silver
- name = "Solid Silver"
- id = "solidsilver"
- required_reagents = list("frostoil" = 5, "silver" = REAGENTS_PER_SHEET)
- sheet_to_give = /obj/item/stack/material/silver
-
-
-/datum/chemical_reaction/solidification/gold
- name = "Solid Gold"
- id = "solidgold"
- required_reagents = list("frostoil" = 5, "gold" = REAGENTS_PER_SHEET)
- sheet_to_give = /obj/item/stack/material/gold
-
-
-/datum/chemical_reaction/solidification/platinum
- name = "Solid Platinum"
- id = "solidplatinum"
- required_reagents = list("frostoil" = 5, "platinum" = REAGENTS_PER_SHEET)
- sheet_to_give = /obj/item/stack/material/platinum
-
-
-/datum/chemical_reaction/solidification/uranium
- name = "Solid Uranium"
- id = "soliduranium"
- required_reagents = list("frostoil" = 5, "uranium" = REAGENTS_PER_SHEET)
- sheet_to_give = /obj/item/stack/material/uranium
-
-
-/datum/chemical_reaction/solidification/hydrogen
- name = "Solid Hydrogen"
- id = "solidhydrogen"
- required_reagents = list("frostoil" = 100, "hydrogen" = REAGENTS_PER_SHEET)
- sheet_to_give = /obj/item/stack/material/mhydrogen
-
-
-// These are from Xenobio.
-/datum/chemical_reaction/solidification/steel
- name = "Solid Steel"
- id = "solidsteel"
- required_reagents = list("frostoil" = 5, "steel" = REAGENTS_PER_SHEET)
- sheet_to_give = /obj/item/stack/material/steel
-
-
-/datum/chemical_reaction/solidification/plasteel
- name = "Solid Plasteel"
- id = "solidplasteel"
- required_reagents = list("frostoil" = 10, "plasteel" = REAGENTS_PER_SHEET)
- sheet_to_give = /obj/item/stack/material/plasteel
-
-
-/datum/chemical_reaction/plastication
- name = "Plastic"
- id = "solidplastic"
- result = null
- required_reagents = list("pacid" = 1, "plasticide" = 2)
- result_amount = 1
-
-/datum/chemical_reaction/plastication/on_reaction(var/datum/reagents/holder, var/created_volume)
- new /obj/item/stack/material/plastic(get_turf(holder.my_atom), created_volume)
- return
-
-/* Grenade reactions */
-
-/datum/chemical_reaction/explosion_potassium
- name = "Explosion"
- id = "explosion_potassium"
- result = null
- required_reagents = list("water" = 1, "potassium" = 1)
- result_amount = 2
- mix_message = null
-
-/datum/chemical_reaction/explosion_potassium/on_reaction(var/datum/reagents/holder, var/created_volume)
- var/datum/effect/effect/system/reagents_explosion/e = new()
- e.set_up(round (created_volume/10, 1), holder.my_atom, 0, 0)
- if(isliving(holder.my_atom))
- e.amount *= 0.5
- var/mob/living/L = holder.my_atom
- if(L.stat != DEAD)
- e.amount *= 0.5
- //VOREStation Add Start
- else
- holder.clear_reagents() //No more powergaming by creating a tiny amount of this
- //VORESTation Add End
- e.start()
- //holder.clear_reagents() //VOREStation Removal
- return
-
-/datum/chemical_reaction/flash_powder
- name = "Flash powder"
- id = "flash_powder"
- result = null
- required_reagents = list("aluminum" = 1, "potassium" = 1, "sulfur" = 1 )
- result_amount = null
-
-/datum/chemical_reaction/flash_powder/on_reaction(var/datum/reagents/holder, var/created_volume)
- var/location = get_turf(holder.my_atom)
- var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
- s.set_up(2, 1, location)
- s.start()
- for(var/mob/living/carbon/M in viewers(world.view, location))
- switch(get_dist(M, location))
- if(0 to 3)
- if(hasvar(M, "glasses"))
- if(istype(M:glasses, /obj/item/clothing/glasses/sunglasses))
- continue
-
- M.flash_eyes()
- M.Weaken(15)
-
- if(4 to 5)
- if(hasvar(M, "glasses"))
- if(istype(M:glasses, /obj/item/clothing/glasses/sunglasses))
- continue
-
- M.flash_eyes()
- M.Stun(5)
-
-/datum/chemical_reaction/emp_pulse
- name = "EMP Pulse"
- id = "emp_pulse"
- result = null
- required_reagents = list("uranium" = 1, "iron" = 1) // Yes, laugh, it's the best recipe I could think of that makes a little bit of sense
- result_amount = 2
-
-/datum/chemical_reaction/emp_pulse/on_reaction(var/datum/reagents/holder, var/created_volume)
- var/location = get_turf(holder.my_atom)
- // 100 created volume = 4 heavy range & 7 light range. A few tiles smaller than traitor EMP grandes.
- // 200 created volume = 8 heavy range & 14 light range. 4 tiles larger than traitor EMP grenades.
- empulse(location, round(created_volume / 24), round(created_volume / 20), round(created_volume / 18), round(created_volume / 14), 1)
- //VOREStation Edit Start
- if(!isliving(holder.my_atom)) //No more powergaming by creating a tiny amount of this
- holder.clear_reagents()
- //VOREStation Edit End
- return
-
-/datum/chemical_reaction/nitroglycerin
- name = "Nitroglycerin"
- id = "nitroglycerin"
- result = "nitroglycerin"
- required_reagents = list("glycerol" = 1, "pacid" = 1, "sacid" = 1)
- result_amount = 2
- log_is_important = 1
-
-/datum/chemical_reaction/nitroglycerin/on_reaction(var/datum/reagents/holder, var/created_volume)
- var/datum/effect/effect/system/reagents_explosion/e = new()
- e.set_up(round (created_volume/2, 1), holder.my_atom, 0, 0)
- if(isliving(holder.my_atom))
- e.amount *= 0.5
- var/mob/living/L = holder.my_atom
- if(L.stat!=DEAD)
- e.amount *= 0.5
- //VOREStation Add Start
- else
- holder.clear_reagents() //No more powergaming by creating a tiny amount of this
- //VOREStation Add End
- e.start()
-
- //holder.clear_reagents() //VOREStation Removal
- return
-
-/datum/chemical_reaction/napalm
- name = "Napalm"
- id = "napalm"
- result = null
- required_reagents = list("aluminum" = 1, "phoron" = 1, "sacid" = 1 )
- result_amount = 1
-
-/datum/chemical_reaction/napalm/on_reaction(var/datum/reagents/holder, var/created_volume)
- var/turf/location = get_turf(holder.my_atom.loc)
- for(var/turf/simulated/floor/target_tile in range(0,location))
- target_tile.assume_gas("volatile_fuel", created_volume, 400+T0C)
- spawn (0) target_tile.hotspot_expose(700, 400)
- holder.del_reagent("napalm")
- return
-
-/datum/chemical_reaction/chemsmoke
- name = "Chemsmoke"
- id = "chemsmoke"
- result = null
- required_reagents = list("potassium" = 1, "sugar" = 1, "phosphorus" = 1)
- result_amount = 0.4
-
-/datum/chemical_reaction/chemsmoke/on_reaction(var/datum/reagents/holder, var/created_volume)
- var/location = get_turf(holder.my_atom)
- var/datum/effect/effect/system/smoke_spread/chem/S = new /datum/effect/effect/system/smoke_spread/chem
- S.attach(location)
- S.set_up(holder, created_volume, 0, location)
- playsound(location, 'sound/effects/smoke.ogg', 50, 1, -3)
- spawn(0)
- S.start()
- //VOREStation Edit Start
- if(!isliving(holder.my_atom)) //No more powergaming by creating a tiny amount of this
- holder.clear_reagents()
- //VOREStation Edit End
- return
-
-/datum/chemical_reaction/foam
- name = "Foam"
- id = "foam"
- result = null
- required_reagents = list("fluorosurfactant" = 1, "water" = 1)
- result_amount = 2
- mix_message = "The solution violently bubbles!"
-
-/datum/chemical_reaction/foam/on_reaction(var/datum/reagents/holder, var/created_volume)
- var/location = get_turf(holder.my_atom)
-
- for(var/mob/M in viewers(5, location))
- to_chat(M, "
The solution spews out foam!")
-
- var/datum/effect/effect/system/foam_spread/s = new()
- s.set_up(created_volume, location, holder, 0)
- s.start()
- //VOREStation Edit Start
- if(!isliving(holder.my_atom)) //No more powergaming by creating a tiny amount of this
- holder.clear_reagents()
- //VOREStation Edit End
- return
-
-/datum/chemical_reaction/metalfoam
- name = "Metal Foam"
- id = "metalfoam"
- result = null
- required_reagents = list("aluminum" = 3, "foaming_agent" = 1, "pacid" = 1)
- result_amount = 5
-
-/datum/chemical_reaction/metalfoam/on_reaction(var/datum/reagents/holder, var/created_volume)
- var/location = get_turf(holder.my_atom)
-
- for(var/mob/M in viewers(5, location))
- to_chat(M, "
The solution spews out a metalic foam!")
-
- var/datum/effect/effect/system/foam_spread/s = new()
- s.set_up(created_volume, location, holder, 1)
- s.start()
- return
-
-/datum/chemical_reaction/ironfoam
- name = "Iron Foam"
- id = "ironlfoam"
- result = null
- required_reagents = list("iron" = 3, "foaming_agent" = 1, "pacid" = 1)
- result_amount = 5
-
-/datum/chemical_reaction/ironfoam/on_reaction(var/datum/reagents/holder, var/created_volume)
- var/location = get_turf(holder.my_atom)
-
- for(var/mob/M in viewers(5, location))
- to_chat(M, "
The solution spews out a metalic foam!")
-
- var/datum/effect/effect/system/foam_spread/s = new()
- s.set_up(created_volume, location, holder, 2)
- s.start()
- return
-
-/* Paint */
-
-/datum/chemical_reaction/red_paint
- name = "Red paint"
- id = "red_paint"
- result = "paint"
- required_reagents = list("plasticide" = 1, "water" = 3, "marker_ink_red" = 1)
- result_amount = 5
-
-/datum/chemical_reaction/red_paint/send_data()
- return "#FE191A"
-
-/datum/chemical_reaction/orange_paint
- name = "Orange paint"
- id = "orange_paint"
- result = "paint"
- required_reagents = list("plasticide" = 1, "water" = 3, "marker_ink_orange" = 1)
- result_amount = 5
-
-/datum/chemical_reaction/orange_paint/send_data()
- return "#FFBE4F"
-
-/datum/chemical_reaction/yellow_paint
- name = "Yellow paint"
- id = "yellow_paint"
- result = "paint"
- required_reagents = list("plasticide" = 1, "water" = 3, "marker_ink_yellow" = 1)
- result_amount = 5
-
-/datum/chemical_reaction/yellow_paint/send_data()
- return "#FDFE7D"
-
-/datum/chemical_reaction/green_paint
- name = "Green paint"
- id = "green_paint"
- result = "paint"
- required_reagents = list("plasticide" = 1, "water" = 3, "marker_ink_green" = 1)
- result_amount = 5
-
-/datum/chemical_reaction/green_paint/send_data()
- return "#18A31A"
-
-/datum/chemical_reaction/blue_paint
- name = "Blue paint"
- id = "blue_paint"
- result = "paint"
- required_reagents = list("plasticide" = 1, "water" = 3, "marker_ink_blue" = 1)
- result_amount = 5
-
-/datum/chemical_reaction/blue_paint/send_data()
- return "#247CFF"
-
-/datum/chemical_reaction/purple_paint
- name = "Purple paint"
- id = "purple_paint"
- result = "paint"
- required_reagents = list("plasticide" = 1, "water" = 3, "marker_ink_purple" = 1)
- result_amount = 5
-
-/datum/chemical_reaction/purple_paint/send_data()
- return "#CC0099"
-
-/datum/chemical_reaction/grey_paint //mime
- name = "Grey paint"
- id = "grey_paint"
- result = "paint"
- required_reagents = list("plasticide" = 1, "water" = 3, "marker_ink_grey" = 1)
- result_amount = 5
-
-/datum/chemical_reaction/grey_paint/send_data()
- return "#808080"
-
-/datum/chemical_reaction/brown_paint
- name = "Brown paint"
- id = "brown_paint"
- result = "paint"
- required_reagents = list("plasticide" = 1, "water" = 3, "marker_ink_brown" = 1)
- result_amount = 5
-
-/datum/chemical_reaction/brown_paint/send_data()
- return "#846F35"
-
-/datum/chemical_reaction/blood_paint
- name = "Blood paint"
- id = "blood_paint"
- result = "paint"
- required_reagents = list("plasticide" = 1, "water" = 3, "blood" = 2)
- result_amount = 5
-
-/datum/chemical_reaction/blood_paint/send_data(var/datum/reagents/T)
- var/t = T.get_data("blood")
- if(t && t["blood_colour"])
- return t["blood_colour"]
- return "#FE191A" // Probably red
-
-/datum/chemical_reaction/milk_paint
- name = "Milk paint"
- id = "milk_paint"
- result = "paint"
- required_reagents = list("plasticide" = 1, "water" = 3, "milk" = 5)
- result_amount = 5
-
-/datum/chemical_reaction/milk_paint/send_data()
- return "#F0F8FF"
-
-/datum/chemical_reaction/orange_juice_paint
- name = "Orange juice paint"
- id = "orange_juice_paint"
- result = "paint"
- required_reagents = list("plasticide" = 1, "water" = 3, "orangejuice" = 5)
- result_amount = 5
-
-/datum/chemical_reaction/orange_juice_paint/send_data()
- return "#E78108"
-
-/datum/chemical_reaction/tomato_juice_paint
- name = "Tomato juice paint"
- id = "tomato_juice_paint"
- result = "paint"
- required_reagents = list("plasticide" = 1, "water" = 3, "tomatojuice" = 5)
- result_amount = 5
-
-/datum/chemical_reaction/tomato_juice_paint/send_data()
- return "#731008"
-
-/datum/chemical_reaction/lime_juice_paint
- name = "Lime juice paint"
- id = "lime_juice_paint"
- result = "paint"
- required_reagents = list("plasticide" = 1, "water" = 3, "limejuice" = 5)
- result_amount = 5
-
-/datum/chemical_reaction/lime_juice_paint/send_data()
- return "#365E30"
-
-/datum/chemical_reaction/carrot_juice_paint
- name = "Carrot juice paint"
- id = "carrot_juice_paint"
- result = "paint"
- required_reagents = list("plasticide" = 1, "water" = 3, "carrotjuice" = 5)
- result_amount = 5
-
-/datum/chemical_reaction/carrot_juice_paint/send_data()
- return "#973800"
-
-/datum/chemical_reaction/berry_juice_paint
- name = "Berry juice paint"
- id = "berry_juice_paint"
- result = "paint"
- required_reagents = list("plasticide" = 1, "water" = 3, "berryjuice" = 5)
- result_amount = 5
-
-/datum/chemical_reaction/berry_juice_paint/send_data()
- return "#990066"
-
-/datum/chemical_reaction/grape_juice_paint
- name = "Grape juice paint"
- id = "grape_juice_paint"
- result = "paint"
- required_reagents = list("plasticide" = 1, "water" = 3, "grapejuice" = 5)
- result_amount = 5
-
-/datum/chemical_reaction/grape_juice_paint/send_data()
- return "#863333"
-
-/datum/chemical_reaction/poisonberry_juice_paint
- name = "Poison berry juice paint"
- id = "poisonberry_juice_paint"
- result = "paint"
- required_reagents = list("plasticide" = 1, "water" = 3, "poisonberryjuice" = 5)
- result_amount = 5
-
-/datum/chemical_reaction/poisonberry_juice_paint/send_data()
- return "#863353"
-
-/datum/chemical_reaction/watermelon_juice_paint
- name = "Watermelon juice paint"
- id = "watermelon_juice_paint"
- result = "paint"
- required_reagents = list("plasticide" = 1, "water" = 3, "watermelonjuice" = 5)
- result_amount = 5
-
-/datum/chemical_reaction/watermelon_juice_paint/send_data()
- return "#B83333"
-
-/datum/chemical_reaction/lemon_juice_paint
- name = "Lemon juice paint"
- id = "lemon_juice_paint"
- result = "paint"
- required_reagents = list("plasticide" = 1, "water" = 3, "lemonjuice" = 5)
- result_amount = 5
-
-/datum/chemical_reaction/lemon_juice_paint/send_data()
- return "#AFAF00"
-
-/datum/chemical_reaction/banana_juice_paint
- name = "Banana juice paint"
- id = "banana_juice_paint"
- result = "paint"
- required_reagents = list("plasticide" = 1, "water" = 3, "banana" = 5)
- result_amount = 5
-
-/datum/chemical_reaction/banana_juice_paint/send_data()
- return "#C3AF00"
-
-/datum/chemical_reaction/potato_juice_paint
- name = "Potato juice paint"
- id = "potato_juice_paint"
- result = "paint"
- required_reagents = list("plasticide" = 1, "water" = 3, "potatojuice" = 5)
- result_amount = 5
-
-/datum/chemical_reaction/potato_juice_paint/send_data()
- return "#302000"
-
-/datum/chemical_reaction/carbon_paint
- name = "Carbon paint"
- id = "carbon_paint"
- result = "paint"
- required_reagents = list("plasticide" = 1, "water" = 3, "carbon" = 1)
- result_amount = 5
-
-/datum/chemical_reaction/carbon_paint/send_data()
- return "#333333"
-
-/datum/chemical_reaction/aluminum_paint
- name = "Aluminum paint"
- id = "aluminum_paint"
- result = "paint"
- required_reagents = list("plasticide" = 1, "water" = 3, "aluminum" = 1)
- result_amount = 5
-
-/datum/chemical_reaction/aluminum_paint/send_data()
- return "#F0F8FF"
-
-/* Food */
-
-/datum/chemical_reaction/food/tofu
- name = "Tofu"
- id = "tofu"
- result = null
- required_reagents = list("soymilk" = 10)
- catalysts = list("enzyme" = 5)
- result_amount = 1
-
-/datum/chemical_reaction/food/tofu/on_reaction(var/datum/reagents/holder, var/created_volume)
- var/location = get_turf(holder.my_atom)
- for(var/i = 1, i <= created_volume, i++)
- new /obj/item/weapon/reagent_containers/food/snacks/tofu(location)
- return
-
-/datum/chemical_reaction/food/chocolate_bar
- name = "Chocolate Bar"
- id = "chocolate_bar"
- result = null
- required_reagents = list("soymilk" = 2, "coco" = 2, "sugar" = 2)
- result_amount = 1
-
-/datum/chemical_reaction/food/chocolate_bar/on_reaction(var/datum/reagents/holder, var/created_volume)
- var/location = get_turf(holder.my_atom)
- for(var/i = 1, i <= created_volume, i++)
- new /obj/item/weapon/reagent_containers/food/snacks/chocolatebar(location)
- return
-
-/datum/chemical_reaction/food/chocolate_bar2
- name = "Chocolate Bar"
- id = "chocolate_bar"
- result = null
- required_reagents = list("milk" = 2, "coco" = 2, "sugar" = 2)
- result_amount = 1
-
-/datum/chemical_reaction/food/chocolate_bar2/on_reaction(var/datum/reagents/holder, var/created_volume)
- var/location = get_turf(holder.my_atom)
- for(var/i = 1, i <= created_volume, i++)
- new /obj/item/weapon/reagent_containers/food/snacks/chocolatebar(location)
- return
-
-/datum/chemical_reaction/drinks/coffee
- name = "Coffee"
- id = "coffee"
- result = "coffee"
- required_reagents = list("water" = 5, "coffeepowder" = 1)
- result_amount = 5
-
-/datum/chemical_reaction/drinks/tea
- name = "Black tea"
- id = "tea"
- result = "tea"
- required_reagents = list("water" = 5, "teapowder" = 1)
- result_amount = 5
-
-/datum/chemical_reaction/drinks/hot_coco
- name = "Hot Coco"
- id = "hot_coco"
- result = "hot_coco"
- required_reagents = list("water" = 5, "coco" = 1)
- result_amount = 5
-
-/datum/chemical_reaction/food/soysauce
- name = "Soy Sauce"
- id = "soysauce"
- result = "soysauce"
- required_reagents = list("soymilk" = 4, "sacid" = 1)
- result_amount = 5
-
-/datum/chemical_reaction/drinks/grapejuice
- name = "Grape Juice"
- id = "grapejuice"
- result = "grapejuice"
- required_reagents = list("water" = 3, "instantgrape" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/orangejuice
- name = "Orange Juice"
- id = "orangejuice"
- result = "orangejuice"
- required_reagents = list("water" = 3, "instantorange" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/watermelonjuice
- name = "Watermelon Juice"
- id = "watermelonjuice"
- result = "watermelonjuice"
- required_reagents = list("water" = 3, "instantwatermelon" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/applejuice
- name = "Apple Juice"
- id = "applejuice"
- result = "applejuice"
- required_reagents = list("water" = 3, "instantapple" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/food/ketchup
- name = "Ketchup"
- id = "ketchup"
- result = "ketchup"
- required_reagents = list("tomatojuice" = 2, "water" = 1, "sugar" = 1)
- result_amount = 4
-
-/datum/chemical_reaction/food/barbecue
- name = "Barbeque Sauce"
- id = "barbecue"
- result = "barbecue"
- required_reagents = list("tomatojuice" = 2, "applejuice" = 1, "sugar" = 1, "spacespice" = 1)
- result_amount = 4
-
-/datum/chemical_reaction/food/peanutbutter
- name = "Peanut Butter"
- id = "peanutbutter"
- result = "peanutbutter"
- required_reagents = list("peanutoil" = 2, "sugar" = 1, "sodiumchloride" = 1)
- catalysts = list("enzyme" = 5)
- result_amount = 3
-
-/datum/chemical_reaction/food/mayonnaise
- name = "mayonnaise"
- id = "mayo"
- result = "mayo"
- required_reagents = list("egg" = 9, "cornoil" = 5, "lemonjuice" = 5, "sodiumchloride" = 1)
- result_amount = 15
-
-/datum/chemical_reaction/food/cheesewheel
- name = "Cheesewheel"
- id = "cheesewheel"
- result = null
- required_reagents = list("milk" = 40)
- catalysts = list("enzyme" = 5)
- result_amount = 1
-
-/datum/chemical_reaction/food/cheesewheel/on_reaction(var/datum/reagents/holder, var/created_volume)
- var/location = get_turf(holder.my_atom)
- for(var/i = 1, i <= created_volume, i++)
- new /obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesewheel(location)
- return
-
-/datum/chemical_reaction/food/meatball
- name = "Meatball"
- id = "meatball"
- result = null
- required_reagents = list("protein" = 3, "flour" = 5)
- result_amount = 3
-
-/datum/chemical_reaction/food/meatball/on_reaction(var/datum/reagents/holder, var/created_volume)
- var/location = get_turf(holder.my_atom)
- for(var/i = 1, i <= created_volume, i++)
- new /obj/item/weapon/reagent_containers/food/snacks/meatball(location)
- return
-
-/datum/chemical_reaction/food/dough
- name = "Dough"
- id = "dough"
- result = null
- required_reagents = list("egg" = 3, "flour" = 10)
- inhibitors = list("water" = 1, "beer" = 1) //To prevent it messing with batter recipes
- result_amount = 1
-
-/datum/chemical_reaction/food/dough/on_reaction(var/datum/reagents/holder, var/created_volume)
- var/location = get_turf(holder.my_atom)
- for(var/i = 1, i <= created_volume, i++)
- new /obj/item/weapon/reagent_containers/food/snacks/dough(location)
- return
-
-/datum/chemical_reaction/food/syntiflesh
- name = "Syntiflesh"
- id = "syntiflesh"
- result = null
- required_reagents = list("blood" = 5, "clonexadone" = 5)
- result_amount = 1
-
-/datum/chemical_reaction/food/syntiflesh/on_reaction(var/datum/reagents/holder, var/created_volume)
- var/location = get_turf(holder.my_atom)
- for(var/i = 1, i <= created_volume, i++)
- new /obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh(location)
- return
-
-/datum/chemical_reaction/hot_ramen
- name = "Hot Ramen"
- id = "hot_ramen"
- result = "hot_ramen"
- required_reagents = list("water" = 1, "dry_ramen" = 3)
- result_amount = 3
-
-/datum/chemical_reaction/hell_ramen
- name = "Hell Ramen"
- id = "hell_ramen"
- result = "hell_ramen"
- required_reagents = list("capsaicin" = 1, "hot_ramen" = 6)
- result_amount = 6
-
-/* Alcohol */
-
-/datum/chemical_reaction/drinks/goldschlager
- name = "Goldschlager"
- id = "goldschlager"
- result = "goldschlager"
- required_reagents = list("vodka" = 10, "gold" = 1)
- result_amount = 10
-
-/datum/chemical_reaction/drinks/patron
- name = "Patron"
- id = "patron"
- result = "patron"
- required_reagents = list("tequilla" = 10, "silver" = 1)
- result_amount = 10
-
-/datum/chemical_reaction/drinks/bilk
- name = "Bilk"
- id = "bilk"
- result = "bilk"
- required_reagents = list("milk" = 1, "beer" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/drinks/icetea
- name = "Iced Tea"
- id = "icetea"
- result = "icetea"
- required_reagents = list("ice" = 1, "tea" = 2)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/icecoffee
- name = "Iced Coffee"
- id = "icecoffee"
- result = "icecoffee"
- required_reagents = list("ice" = 1, "coffee" = 2)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/nuka_cola
- name = "Nuclear Cola"
- id = "nuka_cola"
- result = "nuka_cola"
- required_reagents = list("uranium" = 1, "cola" = 5)
- result_amount = 5
-
-/datum/chemical_reaction/drinks/moonshine
- name = "Moonshine"
- id = "moonshine"
- result = "moonshine"
- required_reagents = list("nutriment" = 10)
- catalysts = list("enzyme" = 5)
- result_amount = 10
-
-/datum/chemical_reaction/drinks/grenadine
- name = "Grenadine Syrup"
- id = "grenadine"
- result = "grenadine"
- required_reagents = list("berryjuice" = 10)
- catalysts = list("enzyme" = 5)
- result_amount = 10
-
-/datum/chemical_reaction/drinks/wine
- name = "Wine"
- id = "wine"
- result = "wine"
- required_reagents = list("grapejuice" = 10)
- catalysts = list("enzyme" = 5)
- result_amount = 10
-
-/datum/chemical_reaction/drinks/pwine
- name = "Poison Wine"
- id = "pwine"
- result = "pwine"
- required_reagents = list("poisonberryjuice" = 10)
- catalysts = list("enzyme" = 5)
- result_amount = 10
-
-/datum/chemical_reaction/drinks/melonliquor
- name = "Melon Liquor"
- id = "melonliquor"
- result = "melonliquor"
- required_reagents = list("watermelonjuice" = 10)
- catalysts = list("enzyme" = 5)
- result_amount = 10
-
-/datum/chemical_reaction/drinks/bluecuracao
- name = "Blue Curacao"
- id = "bluecuracao"
- result = "bluecuracao"
- required_reagents = list("orangejuice" = 10)
- catalysts = list("enzyme" = 5)
- result_amount = 10
-
-/datum/chemical_reaction/drinks/spacebeer
- name = "Space Beer"
- id = "spacebeer"
- result = "beer"
- required_reagents = list("cornoil" = 10)
- catalysts = list("enzyme" = 5)
- result_amount = 10
-
-/datum/chemical_reaction/drinks/vodka
- name = "Vodka"
- id = "vodka"
- result = "vodka"
- required_reagents = list("potatojuice" = 10)
- catalysts = list("enzyme" = 5)
- result_amount = 10
-
-/datum/chemical_reaction/drinks/cider
- name = "Cider"
- id = "cider"
- result = "cider"
- required_reagents = list("applejuice" = 10)
- catalysts = list("enzyme" = 5)
- result_amount = 10
-
-
-/datum/chemical_reaction/drinks/sake
- name = "Sake"
- id = "sake"
- result = "sake"
- required_reagents = list("rice" = 10)
- catalysts = list("enzyme" = 5)
- result_amount = 10
-
-/datum/chemical_reaction/drinks/kahlua
- name = "Kahlua"
- id = "kahlua"
- result = "kahlua"
- required_reagents = list("coffee" = 5, "sugar" = 5)
- catalysts = list("enzyme" = 5)
- result_amount = 5
-
-/datum/chemical_reaction/drinks/gin_tonic
- name = "Gin and Tonic"
- id = "gintonic"
- result = "gintonic"
- required_reagents = list("gin" = 2, "tonic" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/cuba_libre
- name = "Cuba Libre"
- id = "cubalibre"
- result = "cubalibre"
- required_reagents = list("rum" = 2, "cola" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/martini
- name = "Classic Martini"
- id = "martini"
- result = "martini"
- required_reagents = list("gin" = 2, "vermouth" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/vodkamartini
- name = "Vodka Martini"
- id = "vodkamartini"
- result = "vodkamartini"
- required_reagents = list("vodka" = 2, "vermouth" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/white_russian
- name = "White Russian"
- id = "whiterussian"
- result = "whiterussian"
- required_reagents = list("blackrussian" = 2, "cream" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/whiskey_cola
- name = "Whiskey Cola"
- id = "whiskeycola"
- result = "whiskeycola"
- required_reagents = list("whiskey" = 2, "cola" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/screwdriver
- name = "Screwdriver"
- id = "screwdrivercocktail"
- result = "screwdrivercocktail"
- required_reagents = list("vodka" = 2, "orangejuice" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/bloody_mary
- name = "Bloody Mary"
- id = "bloodymary"
- result = "bloodymary"
- required_reagents = list("vodka" = 2, "tomatojuice" = 3, "limejuice" = 1)
- result_amount = 6
-
-/datum/chemical_reaction/drinks/gargle_blaster
- name = "Pan-Galactic Gargle Blaster"
- id = "gargleblaster"
- result = "gargleblaster"
- required_reagents = list("vodka" = 2, "gin" = 1, "whiskey" = 1, "cognac" = 1, "limejuice" = 1)
- result_amount = 6
-
-/datum/chemical_reaction/drinks/brave_bull
- name = "Brave Bull"
- id = "bravebull"
- result = "bravebull"
- required_reagents = list("tequilla" = 2, "kahlua" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/tequilla_sunrise
- name = "Tequilla Sunrise"
- id = "tequillasunrise"
- result = "tequillasunrise"
- required_reagents = list("tequilla" = 2, "orangejuice" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/phoron_special
- name = "Toxins Special"
- id = "phoronspecial"
- result = "phoronspecial"
- required_reagents = list("rum" = 2, "vermouth" = 2, "phoron" = 2)
- result_amount = 6
-
-/datum/chemical_reaction/drinks/beepsky_smash
- name = "Beepksy Smash"
- id = "beepksysmash"
- result = "beepskysmash"
- required_reagents = list("limejuice" = 1, "whiskey" = 1, "iron" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/drinks/doctor_delight
- name = "The Doctor's Delight"
- id = "doctordelight"
- result = "doctorsdelight"
- required_reagents = list("limejuice" = 1, "tomatojuice" = 1, "orangejuice" = 1, "cream" = 2, "tricordrazine" = 1)
- result_amount = 6
-
-/datum/chemical_reaction/drinks/irish_cream
- name = "Irish Cream"
- id = "irishcream"
- result = "irishcream"
- required_reagents = list("whiskey" = 2, "cream" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/manly_dorf
- name = "The Manly Dorf"
- id = "manlydorf"
- result = "manlydorf"
- required_reagents = list ("beer" = 1, "ale" = 2)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/hooch
- name = "Hooch"
- id = "hooch"
- result = "hooch"
- required_reagents = list ("sugar" = 1, "ethanol" = 2, "fuel" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/irish_coffee
- name = "Irish Coffee"
- id = "irishcoffee"
- result = "irishcoffee"
- required_reagents = list("irishcream" = 1, "coffee" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/drinks/b52
- name = "B-52"
- id = "b52"
- result = "b52"
- required_reagents = list("irishcream" = 1, "kahlua" = 1, "cognac" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/atomicbomb
- name = "Atomic Bomb"
- id = "atomicbomb"
- result = "atomicbomb"
- required_reagents = list("b52" = 10, "uranium" = 1)
- result_amount = 10
-
-/datum/chemical_reaction/drinks/margarita
- name = "Margarita"
- id = "margarita"
- result = "margarita"
- required_reagents = list("tequilla" = 2, "limejuice" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/longislandicedtea
- name = "Long Island Iced Tea"
- id = "longislandicedtea"
- result = "longislandicedtea"
- required_reagents = list("vodka" = 1, "gin" = 1, "tequilla" = 1, "cubalibre" = 3)
- result_amount = 6
-
-/datum/chemical_reaction/drinks/icedtea
- name = "Long Island Iced Tea"
- id = "longislandicedtea"
- result = "longislandicedtea"
- required_reagents = list("vodka" = 1, "gin" = 1, "tequilla" = 1, "cubalibre" = 3)
- result_amount = 6
-
-/datum/chemical_reaction/drinks/threemileisland
- name = "Three Mile Island Iced Tea"
- id = "threemileisland"
- result = "threemileisland"
- required_reagents = list("longislandicedtea" = 10, "uranium" = 1)
- result_amount = 10
-
-/datum/chemical_reaction/drinks/whiskeysoda
- name = "Whiskey Soda"
- id = "whiskeysoda"
- result = "whiskeysoda"
- required_reagents = list("whiskey" = 2, "sodawater" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/black_russian
- name = "Black Russian"
- id = "blackrussian"
- result = "blackrussian"
- required_reagents = list("vodka" = 2, "kahlua" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/manhattan
- name = "Manhattan"
- id = "manhattan"
- result = "manhattan"
- required_reagents = list("whiskey" = 2, "vermouth" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/manhattan_proj
- name = "Manhattan Project"
- id = "manhattan_proj"
- result = "manhattan_proj"
- required_reagents = list("manhattan" = 10, "uranium" = 1)
- result_amount = 10
-
-/datum/chemical_reaction/drinks/vodka_tonic
- name = "Vodka and Tonic"
- id = "vodkatonic"
- result = "vodkatonic"
- required_reagents = list("vodka" = 2, "tonic" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/gin_fizz
- name = "Gin Fizz"
- id = "ginfizz"
- result = "ginfizz"
- required_reagents = list("gin" = 1, "sodawater" = 1, "limejuice" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/bahama_mama
- name = "Bahama mama"
- id = "bahama_mama"
- result = "bahama_mama"
- required_reagents = list("rum" = 2, "orangejuice" = 2, "limejuice" = 1, "ice" = 1)
- result_amount = 6
-
-/datum/chemical_reaction/drinks/singulo
- name = "Singulo"
- id = "singulo"
- result = "singulo"
- required_reagents = list("vodka" = 5, "radium" = 1, "wine" = 5)
- result_amount = 10
-
-/datum/chemical_reaction/drinks/alliescocktail
- name = "Allies Cocktail"
- id = "alliescocktail"
- result = "alliescocktail"
- required_reagents = list("martini" = 1, "vodka" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/drinks/demonsblood
- name = "Demons Blood"
- id = "demonsblood"
- result = "demonsblood"
- required_reagents = list("rum" = 3, "spacemountainwind" = 1, "blood" = 1, "dr_gibb" = 1)
- result_amount = 6
-
-/datum/chemical_reaction/drinks/booger
- name = "Booger"
- id = "booger"
- result = "booger"
- required_reagents = list("cream" = 2, "banana" = 1, "rum" = 1, "watermelonjuice" = 1)
- result_amount = 5
-
-/datum/chemical_reaction/drinks/antifreeze
- name = "Anti-freeze"
- id = "antifreeze"
- result = "antifreeze"
- required_reagents = list("vodka" = 1, "cream" = 1, "ice" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/barefoot
- name = "Barefoot"
- id = "barefoot"
- result = "barefoot"
- required_reagents = list("berryjuice" = 1, "cream" = 1, "vermouth" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/grapesoda
- name = "Grape Soda"
- id = "grapesoda"
- result = "grapesoda"
- required_reagents = list("grapejuice" = 2, "cola" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/sbiten
- name = "Sbiten"
- id = "sbiten"
- result = "sbiten"
- required_reagents = list("vodka" = 10, "capsaicin" = 1)
- result_amount = 10
-
-/datum/chemical_reaction/drinks/red_mead
- name = "Red Mead"
- id = "red_mead"
- result = "red_mead"
- required_reagents = list("blood" = 1, "mead" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/drinks/mead
- name = "Mead"
- id = "mead"
- result = "mead"
- required_reagents = list("sugar" = 1, "water" = 1)
- catalysts = list("enzyme" = 5)
- result_amount = 2
-
-/datum/chemical_reaction/drinks/iced_beer
- name = "Iced Beer"
- id = "iced_beer"
- result = "iced_beer"
- required_reagents = list("beer" = 10, "frostoil" = 1)
- result_amount = 10
-
-/datum/chemical_reaction/drinks/iced_beer2
- name = "Iced Beer"
- id = "iced_beer"
- result = "iced_beer"
- required_reagents = list("beer" = 5, "ice" = 1)
- result_amount = 6
-
-/datum/chemical_reaction/drinks/grog
- name = "Grog"
- id = "grog"
- result = "grog"
- required_reagents = list("rum" = 1, "water" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/drinks/soy_latte
- name = "Soy Latte"
- id = "soy_latte"
- result = "soy_latte"
- required_reagents = list("coffee" = 1, "soymilk" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/drinks/cafe_latte
- name = "Cafe Latte"
- id = "cafe_latte"
- result = "cafe_latte"
- required_reagents = list("coffee" = 1, "milk" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/drinks/acidspit
- name = "Acid Spit"
- id = "acidspit"
- result = "acidspit"
- required_reagents = list("sacid" = 1, "wine" = 5)
- result_amount = 6
-
-/datum/chemical_reaction/drinks/amasec
- name = "Amasec"
- id = "amasec"
- result = "amasec"
- required_reagents = list("iron" = 1, "wine" = 5, "vodka" = 5)
- result_amount = 10
-
-/datum/chemical_reaction/drinks/changelingsting
- name = "Changeling Sting"
- id = "changelingsting"
- result = "changelingsting"
- required_reagents = list("screwdrivercocktail" = 1, "limejuice" = 1, "lemonjuice" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/aloe
- name = "Aloe"
- id = "aloe"
- result = "aloe"
- required_reagents = list("cream" = 1, "whiskey" = 1, "watermelonjuice" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/andalusia
- name = "Andalusia"
- id = "andalusia"
- result = "andalusia"
- required_reagents = list("rum" = 1, "whiskey" = 1, "lemonjuice" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/snowwhite
- name = "Snow White"
- id = "snowwhite"
- result = "snowwhite"
- required_reagents = list("pineapplejuice" = 1, "rum" = 1, "lemon_lime" = 1, "egg" = 1, "kahlua" = 1, "sugar" = 1) //VoreStation Edit
- result_amount = 2
-
-/datum/chemical_reaction/drinks/irishcarbomb
- name = "Irish Car Bomb"
- id = "irishcarbomb"
- result = "irishcarbomb"
- required_reagents = list("ale" = 1, "irishcream" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/drinks/syndicatebomb
- name = "Syndicate Bomb"
- id = "syndicatebomb"
- result = "syndicatebomb"
- required_reagents = list("beer" = 1, "whiskeycola" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/drinks/erikasurprise
- name = "Erika Surprise"
- id = "erikasurprise"
- result = "erikasurprise"
- required_reagents = list("ale" = 2, "limejuice" = 1, "whiskey" = 1, "banana" = 1, "ice" = 1)
- result_amount = 6
-
-/datum/chemical_reaction/drinks/devilskiss
- name = "Devils Kiss"
- id = "devilskiss"
- result = "devilskiss"
- required_reagents = list("blood" = 1, "kahlua" = 1, "rum" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/hippiesdelight
- name = "Hippies Delight"
- id = "hippiesdelight"
- result = "hippiesdelight"
- required_reagents = list("psilocybin" = 1, "gargleblaster" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/drinks/bananahonk
- name = "Banana Honk"
- id = "bananahonk"
- result = "bananahonk"
- required_reagents = list("banana" = 1, "cream" = 1, "sugar" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/silencer
- name = "Silencer"
- id = "silencer"
- result = "silencer"
- required_reagents = list("nothing" = 1, "cream" = 1, "sugar" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/driestmartini
- name = "Driest Martini"
- id = "driestmartini"
- result = "driestmartini"
- required_reagents = list("nothing" = 1, "gin" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/drinks/lemonade
- name = "Lemonade"
- id = "lemonade"
- result = "lemonade"
- required_reagents = list("lemonjuice" = 1, "sugar" = 1, "water" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/melonade
- name = "Melonade"
- id = "melonade"
- result = "melonade"
- required_reagents = list("watermelonjuice" = 1, "sugar" = 1, "sodawater" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/appleade
- name = "Appleade"
- id = "appleade"
- result = "appleade"
- required_reagents = list("applejuice" = 1, "sugar" = 1, "sodawater" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/pineappleade
- name = "Pineappleade"
- id = "pineappleade"
- result = "pineappleade"
- required_reagents = list("pineapplejuice" = 2, "limejuice" = 1, "sodawater" = 2, "honey" = 1)
- result_amount = 5
-
-/datum/chemical_reaction/drinks/driverspunch
- name = "Driver`s Punch"
- id = "driverspunch"
- result = "driverspunch"
- required_reagents = list("appleade" = 2, "orangejuice" = 1, "mint" = 1, "sodawater" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/mintapplesparkle
- name = "Mint Apple Sparkle"
- id = "mintapplesparkle"
- result = "mintapplesparkle"
- required_reagents = list("appleade" = 2, "mint" = 1)
- inhibitors = list("sodawater" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/berrycordial
- name = "Berry Cordial"
- id = "berrycordial"
- result = "berrycordial"
- required_reagents = list("berryjuice" = 4, "sugar" = 1, "lemonjuice" = 1)
- result_amount = 5
-
-/datum/chemical_reaction/drinks/tropicalfizz
- name = "Tropical Fizz"
- id = "tropicalfizz"
- result = "tropicalfizz"
- required_reagents = list("sodawater" = 6, "berryjuice" = 1, "mint" = 1, "limejuice" = 1, "lemonjuice" = 1, "pineapplejuice" = 1)
- inhibitors = list("sugar" = 1)
- result_amount = 8
-
-/datum/chemical_reaction/drinks/melonspritzer
- name = "Melon Spritzer"
- id = "melonspritzer"
- result = "melonspritzer"
- required_reagents = list("watermelonjuice" = 2, "wine" = 2, "applejuice" = 1, "limejuice" = 1)
- result_amount = 6
-
-/datum/chemical_reaction/drinks/fauxfizz
- name = "Faux Fizz"
- id = "fauxfizz"
- result = "fauxfizz"
- required_reagents = list("sodawater" = 2, "berryjuice" = 1, "applejuice" = 1, "limejuice" = 1, "honey" = 1)
- inhibitors = list("sugar" = 1)
- result_amount = 6
-
-/datum/chemical_reaction/drinks/firepunch
- name = "Fire Punch"
- id = "firepunch"
- result = "firepunch"
- required_reagents = list("sugar" = 1, "rum" = 2)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/kiraspecial
- name = "Kira Special"
- id = "kiraspecial"
- result = "kiraspecial"
- required_reagents = list("orangejuice" = 1, "limejuice" = 1, "sodawater" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/brownstar
- name = "Brown Star"
- id = "brownstar"
- result = "brownstar"
- required_reagents = list("orangejuice" = 2, "cola" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/milkshake
- name = "Milkshake"
- id = "milkshake"
- result = "milkshake"
- required_reagents = list("cream" = 1, "ice" = 2, "milk" = 2)
- result_amount = 5
-
-/datum/chemical_reaction/drinks/peanutmilkshake
- name = "Peanutbutter Milkshake"
- id = "peanutmilkshake"
- result = "peanutmilkshake"
- required_reagents = list("cream" = 1, "ice" = 1, "peanutbutter" = 2, "milk" = 1)
- result_amount = 5
-
-/datum/chemical_reaction/drinks/rewriter
- name = "Rewriter"
- id = "rewriter"
- result = "rewriter"
- required_reagents = list("spacemountainwind" = 1, "coffee" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/drinks/suidream
- name = "Sui Dream"
- id = "suidream"
- result = "suidream"
- required_reagents = list("space_up" = 1, "bluecuracao" = 1, "melonliquor" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/shirleytemple
- name = "Shirley Temple"
- id = "shirley_temple"
- result = "shirley_temple"
- required_reagents = list("gingerale" = 4, "grenadine" = 1)
- result_amount = 5
-
-/datum/chemical_reaction/drinks/royrogers
- name = "Roy Rogers"
- id = "roy_rogers"
- result = "roy_rogers"
- required_reagents = list("shirley_temple" = 5, "lemon_lime" = 2)
- result_amount = 7
-
-/datum/chemical_reaction/drinks/collinsmix
- name = "Collins Mix"
- id = "collins_mix"
- result = "collins_mix"
- required_reagents = list("lemon_lime" = 3, "sodawater" = 1)
- result_amount = 4
-
-/datum/chemical_reaction/drinks/arnoldpalmer
- name = "Arnold Palmer"
- id = "arnold_palmer"
- result = "arnold_palmer"
- required_reagents = list("icetea" = 1, "lemonade" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/drinks/minttea
- name = "Mint Tea"
- id = "minttea"
- result = "minttea"
- required_reagents = list("tea" = 5, "mint" = 1)
- result_amount = 6
-
-/datum/chemical_reaction/drinks/lemontea
- name = "Lemon Tea"
- id = "lemontea"
- result = "lemontea"
- required_reagents = list("tea" = 5, "lemonjuice" = 1)
- result_amount = 6
-
-/datum/chemical_reaction/drinks/limetea
- name = "Lime Tea"
- id = "limetea"
- result = "limetea"
- required_reagents = list("tea" = 5, "limejuice" = 1)
- result_amount = 6
-
-/datum/chemical_reaction/drinks/orangetea
- name = "Orange Tea"
- id = "orangetea"
- result = "orangetea"
- required_reagents = list("tea" = 5, "orangejuice" = 1)
- result_amount = 6
-
-/datum/chemical_reaction/drinks/berrytea
- name = "Berry Tea"
- id = "berrytea"
- result = "berrytea"
- required_reagents = list("tea" = 5, "berryjuice" = 1)
- result_amount = 6
-
-/datum/chemical_reaction/drinks/sakebomb
- name = "Sake Bomb"
- id = "sakebomb"
- result = "sakebomb"
- required_reagents = list("beer" = 2, "sake" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/tamagozake
- name = "Tamagozake"
- id = "tamagozake"
- result = "tamagozake"
- required_reagents = list("sake" = 10, "sugar" = 5, "egg" = 3)
- result_amount = 15
-
-/datum/chemical_reaction/drinks/ginzamary
- name = "Ginza Mary"
- id = "ginzamary"
- result = "ginzamary"
- required_reagents = list("sake" = 2, "vodka" = 2, "tomatojuice" = 1)
- result_amount = 5
-
-/datum/chemical_reaction/drinks/tokyorose
- name = "Tokyo Rose"
- id = "tokyorose"
- result = "tokyorose"
- required_reagents = list("sake" = 1, "berryjuice" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/drinks/saketini
- name = "Saketini"
- id = "saketini"
- result = "saketini"
- required_reagents = list("sake" = 1, "gin" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/drinks/elysiumfacepunch
- name = "Elysium Facepunch"
- id = "elysiumfacepunch"
- result = "elysiumfacepunch"
- required_reagents = list("kahlua" = 1, "lemonjuice" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/drinks/erebusmoonrise
- name = "Erebus Moonrise"
- id = "erebusmoonrise"
- result = "erebusmoonrise"
- required_reagents = list("whiskey" = 1, "vodka" = 1, "tequilla" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/balloon
- name = "Balloon"
- id = "balloon"
- result = "balloon"
- required_reagents = list("cream" = 1, "bluecuracao" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/drinks/natunabrandy
- name = "Natuna Brandy"
- id = "natunabrandy"
- result = "natunabrandy"
- required_reagents = list("beer" = 1, "sodawater" = 2)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/euphoria
- name = "Euphoria"
- id = "euphoria"
- result = "euphoria"
- required_reagents = list("specialwhiskey" = 1, "cognac" = 2)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/xanaducannon
- name = "Xanadu Cannon"
- id = "xanaducannon"
- result = "xanaducannon"
- required_reagents = list("ale" = 1, "dr_gibb" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/drinks/debugger
- name = "Debugger"
- id = "debugger"
- result = "debugger"
- required_reagents = list("fuel" = 1, "sugar" = 2, "cornoil" = 2)
- result_amount = 5
-
-/datum/chemical_reaction/drinks/spacersbrew
- name = "Spacer's Brew"
- id = "spacersbrew"
- result = "spacersbrew"
- required_reagents = list("brownstar" = 4, "ethanol" = 1)
- result_amount = 5
-
-/datum/chemical_reaction/drinks/binmanbliss
- name = "Binman Bliss"
- id = "binmanbliss"
- result = "binmanbliss"
- required_reagents = list("sake" = 1, "tequilla" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/drinks/chrysanthemum
- name = "Chrysanthemum"
- id = "chrysanthemum"
- result = "chrysanthemum"
- required_reagents = list("sake" = 1, "melonliquor" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/drinks/deathbell
- name = "Deathbell"
- id = "deathbell"
- result = "deathbell"
- required_reagents = list("antifreeze" = 1, "gargleblaster" = 1, "syndicatebomb" =1)
- result_amount = 3
-
-/datum/chemical_reaction/bitters
- name = "Bitters"
- id = "bitters"
- result = "bitters"
- required_reagents = list("mint" = 5)
- catalysts = list("enzyme" = 5)
- result_amount = 5
-
-/datum/chemical_reaction/drinks/soemmerfire
- name = "Soemmer Fire"
- id = "soemmerfire"
- result = "soemmerfire"
- required_reagents = list("manhattan" = 2, "condensedcapsaicin" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/winebrandy
- name = "Wine brandy"
- id = "winebrandy"
- result = "winebrandy"
- required_reagents = list("wine" = 10)
- catalysts = list("enzyme" = 10) //10u enzyme so it requires more than is usually added. Stops overlap with wine recipe
- result_amount = 5
-
-/datum/chemical_reaction/drinks/lovepotion
- name = "Love Potion"
- id = "lovepotion"
- result = "lovepotion"
- required_reagents = list("cream" = 1, "berryjuice" = 1, "sugar" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/morningafter
- name = "Morning After"
- id = "morningafter"
- result = "morningafter"
- required_reagents = list("sbiten" = 1, "coffee" = 5)
- result_amount = 6
-
-/datum/chemical_reaction/drinks/vesper
- name = "Vesper"
- id = "vesper"
- result = "vesper"
- required_reagents = list("gin" = 3, "vodka" = 1, "wine" = 1)
- result_amount = 4
-
-/datum/chemical_reaction/drinks/rotgut
- name = "Rotgut Fever Dream"
- id = "rotgut"
- result = "rotgut"
- required_reagents = list("vodka" = 3, "rum" = 1, "whiskey" = 1, "cola" = 3)
- result_amount = 8
-
-/datum/chemical_reaction/drinks/entdraught
- name = "Ent's Draught"
- id = "entdraught"
- result = "entdraught"
- required_reagents = list("tonic" = 1, "holywater" = 1, "honey" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/voxdelight
- name = "Vox's Delight"
- id = "voxdelight"
- result = "voxdelight"
- required_reagents = list("phoron" = 3, "fuel" = 1, "water" = 1)
- result_amount = 4
-
-/datum/chemical_reaction/drinks/screamingviking
- name = "Screaming Viking"
- id = "screamingviking"
- result = "screamingviking"
- required_reagents = list("martini" = 2, "vodkatonic" = 2, "limejuice" = 1, "rum" = 1)
- result_amount = 6
-
-/datum/chemical_reaction/drinks/vilelemon
- name = "Vile Lemon"
- id = "vilelemon"
- result = "vilelemon"
- required_reagents = list("lemonade" = 5, "spacemountainwind" = 1)
- result_amount = 6
-
-/datum/chemical_reaction/drinks/dreamcream
- name = "Dream Cream"
- id = "dreamcream"
- result = "dreamcream"
- required_reagents = list("milk" = 2, "cream" = 1, "honey" = 1)
- result_amount = 4
-
-/datum/chemical_reaction/drinks/robustin
- name = "Robustin"
- id = "robustin"
- result = "robustin"
- required_reagents = list("antifreeze" = 1, "phoron" = 1, "fuel" = 1, "vodka" = 1)
- result_amount = 4
-
-/datum/chemical_reaction/drinks/virginsip
- name = "Virgin Sip"
- id = "virginsip"
- result = "virginsip"
- required_reagents = list("driestmartini" = 1, "water" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/drinks/chocoshake
- name = "Chocolate Milkshake"
- id = "chocoshake"
- result = "chocoshake"
- required_reagents = list("milkshake" = 1, "coco" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/drinks/berryshake
- name = "Berry Milkshake"
- id = "berryshake"
- result = "berryshake"
- required_reagents = list("milkshake" = 1, "berryjuice" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/drinks/coffeeshake
- name = "Coffee Milkshake"
- id = "coffeeshake"
- result = "coffeeshake"
- required_reagents = list("milkshake" = 1, "coffee" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/drinks/jellyshot
- name = "Jelly Shot"
- id = "jellyshot"
- result = "jellyshot"
- required_reagents = list("cherryjelly" = 4, "vodka" = 1)
- result_amount = 5
-
-/datum/chemical_reaction/drinks/slimeshot
- name = "Named Bullet"
- id = "slimeshot"
- result = "slimeshot"
- required_reagents = list("slimejelly" = 4, "vodka" = 1)
- result_amount = 5
-
-/datum/chemical_reaction/drinks/negroni
- name = "Negroni"
- id = "negroni"
- result = "negroni"
- required_reagents = list("gin" = 1, "bitters" = 1, "vermouth" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/cloverclub
- name = "Clover Club"
- id = "cloverclub"
- result = "cloverclub"
- required_reagents = list("berryjuice" = 1, "lemonjuice" = 1, "gin" = 3)
- result_amount = 5
-
-/datum/chemical_reaction/drinks/oldfashioned
- name = "Old Fashioned"
- id = "oldfashioned"
- result = "oldfashioned"
- required_reagents = list("whiskey" = 3, "bitters" = 1, "sugar" = 1)
- result_amount = 5
-
-/datum/chemical_reaction/drinks/whiskeysour
- name = "Whiskey Sour"
- id = "whiskeysour"
- result = "whiskeysour"
- required_reagents = list("whiskey" = 2, "lemonjuice" = 1, "sugar" = 1)
- result_amount = 4
-
-/datum/chemical_reaction/drinks/daiquiri
- name = "Daiquiri"
- id = "daiquiri"
- result = "daiquiri"
- required_reagents = list("rum" = 3, "limejuice" = 2, "sugar" = 1)
- result_amount = 5
-
-/datum/chemical_reaction/drinks/mintjulep
- name = "Mint Julep"
- id = "mintjulep"
- result = "mintjulep"
- required_reagents = list("whiskey" = 2, "water" = 1, "mint" = 1)
- result_amount = 4
-
-/datum/chemical_reaction/drinks/paloma
- name = "Paloma"
- id = "paloma"
- result = "paloma"
- required_reagents = list("orangejuice" = 1, "sodawater" = 1, "tequilla" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/mojito
- name = "Mojito"
- id = "mojito"
- result = "mojito"
- required_reagents = list("rum" = 3, "limejuice" = 1, "mint" = 1)
- result_amount = 5
-
-/datum/chemical_reaction/drinks/virginmojito
- name = "Mojito"
- id = "virginmojito"
- result = "virginmojito"
- required_reagents = list("sodawater" = 3, "limejuice" = 1, "mint" = 1, "sugar" = 1)
- result_amount = 5
-
-/datum/chemical_reaction/drinks/piscosour
- name = "Pisco Sour"
- id = "piscosour"
- result = "piscosour"
- required_reagents = list("winebrandy" = 1, "lemonjuice" = 1, "sugar" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/coldfront
- name = "Cold Front"
- id = "coldfront"
- result = "coldfront"
- required_reagents = list("icecoffee" = 1, "whiskey" = 1, "mint" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/godsake
- name = "Gods Sake"
- id = "godsake"
- result = "godsake"
- required_reagents = list("sake" = 2, "holywater" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/godka //Why you would put this in your body, I don't know.
- name = "Godka"
- id = "godka"
- result = "godka"
- required_reagents = list("vodka" = 1, "holywater" = 1, "ethanol" = 1, "carthatoline" = 1)
- catalysts = list("enzyme" = 5, "holywater" = 5)
- result_amount = 1
-
-/datum/chemical_reaction/drinks/holywine
- name = "Angel Ichor"
- id = "holywine"
- result = "holywine"
- required_reagents = list("grapejuice" = 5, "gold" = 5)
- catalysts = list("holywater" = 5)
- result_amount = 10
-
-/datum/chemical_reaction/drinks/holy_mary
- name = "Holy Mary"
- id = "holymary"
- result = "holymary"
- required_reagents = list("vodka" = 2, "holywine" = 3, "limejuice" = 1)
- result_amount = 6
-
-/datum/chemical_reaction/drinks/angelskiss
- name = "Angels Kiss"
- id = "angelskiss"
- result = "angelskiss"
- required_reagents = list("holywine" = 1, "kahlua" = 1, "rum" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/angelswrath
- name = "Angels Wrath"
- id = "angelswrath"
- result = "angelswrath"
- required_reagents = list("rum" = 3, "spacemountainwind" = 1, "holywine" = 1, "dr_gibb" = 1)
- result_amount = 6
-
-/datum/chemical_reaction/drinks/ichor_mead
- name = "Ichor Mead"
- id = "ichor_mead"
- result = "ichor_mead"
- required_reagents = list("holywine" = 1, "mead" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/drinks/oilslick
- name = "Oil Slick"
- id = "oilslick"
- result = "oilslick"
- required_reagents = list("cornoil" = 2, "honey" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/slimeslam
- name = "Slick Slime Slammer"
- id = "slimeslammer"
- result = "slimeslammer"
- required_reagents = list("cornoil" = 2, "peanutbutter" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/virginsexonthebeach
- name = "Virgin Sex On The Beach"
- id = "virginsexonthebeach"
- result = "virginsexonthebeach"
- required_reagents = list("orangejuice" = 3, "grenadine" = 2)
- result_amount = 5
-
-/datum/chemical_reaction/drinks/sexonthebeach
- name = "Sex On The Beach"
- id = "sexonthebeach"
- result = "sexonthebeach"
- required_reagents = list("virginsexonthebeach" = 5, "vodka" = 1)
- result_amount = 6
-
-/datum/chemical_reaction/drinks/eggnog
- name = "Eggnog"
- id = "eggnog"
- result = "eggnog"
- required_reagents = list("milk" = 5, "cream" = 5, "sugar" = 5, "egg" = 3)
- result_amount = 15
-
-/datum/chemical_reaction/drinks/nuclearwaste_radium
- name = "Nuclear Waste"
- id = "nuclearwasterad"
- result = "nuclearwaste"
- required_reagents = list("oilslick" = 1, "radium" = 1, "limejuice" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/drinks/nuclearwaste_uranium
- name = "Nuclear Waste"
- id = "nuclearwasteuran"
- result = "nuclearwaste"
- required_reagents = list("oilslick" = 2, "uranium" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/sodaoil
- name = "Soda Oil"
- id = "sodaoil"
- result = "sodaoil"
- required_reagents = list("cornoil" = 4, "sodawater" = 1, "carbon" = 1, "tricordrazine" = 1)
- result_amount = 6
-
-/datum/chemical_reaction/drinks/fusionnaire
- name = "Fusionnaire"
- id = "fusionnaire"
- result = "fusionnaire"
- required_reagents = list("lemonjuice" = 3, "vodka" = 2, "schnapps_pep" = 1, "schnapps_lem" = 1, "rum" = 1, "ice" = 1)
- result_amount = 9
-
-//R-UST Port
-/datum/chemical_reaction/hyrdophoron
- name = "Hydrophoron"
- id = "hydrophoron"
- result = "hydrophoron"
- required_reagents = list("hydrogen" = 1, "phoron" = 1)
- inhibitors = list("nitrogen" = 1) //So it doesn't mess with lexorin
- result_amount = 2
-
-/datum/chemical_reaction/deuterium
- name = "Deuterium"
- id = "deuterium"
- result = null
- required_reagents = list("hydrophoron" = 5, "water" = 10)
- result_amount = 15
-
-/datum/chemical_reaction/deuterium/on_reaction(var/datum/reagents/holder, var/created_volume)
- var/turf/T = get_turf(holder.my_atom)
- if(istype(T)) new /obj/item/stack/material/deuterium(T, created_volume)
- return
-
-//Skrellian crap.
-/datum/chemical_reaction/talum_quem
- name = "Talum-quem"
- id = "talum_quem"
- result = "talum_quem"
- required_reagents = list("space_drugs" = 2, "sugar" = 1, "amatoxin" = 1)
- result_amount = 4
-
-/datum/chemical_reaction/qerr_quem
- name = "Qerr-quem"
- id = "qerr_quem"
- result = "qerr_quem"
- required_reagents = list("nicotine" = 1, "carbon" = 1, "sugar" = 2)
- result_amount = 4
-
-/datum/chemical_reaction/malish_qualem
- name = "Malish-Qualem"
- id = "malish-qualem"
- result = "malish-qualem"
- required_reagents = list("immunosuprizine" = 1, "qerr_quem" = 1, "inaprovaline" = 1)
- catalysts = list("phoron" = 5)
- result_amount = 2
-
-// Biomass, for cloning and bioprinters
-/datum/chemical_reaction/biomass
- name = "Biomass"
- id = "biomass"
- result = "biomass"
- required_reagents = list("protein" = 1, "sugar" = 1, "phoron" = 1)
- result_amount = 1 // Roughly 20u per phoron sheet
-
-// Neutralization.
-
-/datum/chemical_reaction/neutralize_neurotoxic_protein
- name = "Neutralize Toxic Proteins"
- id = "neurotoxic_protein_neutral"
- result = "protein"
- required_reagents = list("anti_toxin" = 1, "neurotoxic_protein" = 2)
- result_amount = 2
-
-/datum/chemical_reaction/neutralize_carpotoxin
- name = "Neutralize Carpotoxin"
- id = "carpotoxin_neutral"
- result = "protein"
- required_reagents = list("radium" = 1, "carpotoxin" = 1, "sifsap" = 1)
- catalysts = list("sifsap" = 10)
- result_amount = 2
-
-/datum/chemical_reaction/neutralize_spidertoxin
- name = "Neutralize Spidertoxin"
- id = "spidertoxin_neutral"
- result = "protein"
- required_reagents = list("radium" = 1, "spidertoxin" = 1, "sifsap" = 1)
- catalysts = list("sifsap" = 10)
- result_amount = 2
-
-/*
-====================
- Aurora Food
-====================
-*/
-
-/datum/chemical_reaction/coating/batter
- name = "Batter"
- id = "batter"
- result = "batter"
- required_reagents = list("egg" = 3, "flour" = 10, "water" = 5, "sodiumchloride" = 2)
- result_amount = 20
-
-/datum/chemical_reaction/coating/beerbatter
- name = "Beer Batter"
- id = "beerbatter"
- result = "beerbatter"
- required_reagents = list("egg" = 3, "flour" = 10, "beer" = 5, "sodiumchloride" = 2)
- result_amount = 20
-
-/datum/chemical_reaction/browniemix
- name = "Brownie Mix"
- id = "browniemix"
- result = "browniemix"
- required_reagents = list("flour" = 5, "coco" = 5, "sugar" = 5)
- result_amount = 15
-
-/datum/chemical_reaction/butter
- name = "Butter"
- id = "butter"
- result = null
- required_reagents = list("cream" = 20, "sodiumchloride" = 1)
- result_amount = 1
-
-/datum/chemical_reaction/butter/on_reaction(var/datum/reagents/holder, var/created_volume)
- var/location = get_turf(holder.my_atom)
- for(var/i = 1, i <= created_volume, i++)
- new /obj/item/weapon/reagent_containers/food/snacks/spreads/butter(location)
- return
-
-/datum/chemical_reaction/browniemix
- name = "Brownie Mix"
- id = "browniemix"
- result = "browniemix"
- required_reagents = list("flour" = 5, "coco" = 5, "sugar" = 5)
- result_amount = 15
diff --git a/code/modules/reagents/Chemistry-Recipes_ch.dm b/code/modules/reagents/Chemistry-Recipes_ch.dm
deleted file mode 100644
index 5ad0deedd7..0000000000
--- a/code/modules/reagents/Chemistry-Recipes_ch.dm
+++ /dev/null
@@ -1,302 +0,0 @@
-/datum/chemical_reaction/claridyl
- name = "claridyl"
- id = "claridyl"
- result = "claridyl"
- required_reagents = list("lithium" = 1, "radium" = 1, "sugar" = 1)
- result_amount = 1
-
-/datum/chemical_reaction/dyloteane
- name = "dyloteane"
- id = "dyloteane"
- result = "dyloteane"
- required_reagents = list("anti_toxin" = 1, "tea" = 1)
- result_amount = 1
-
-/datum/chemical_reaction/dyloteane/super
- name = "dyloteanesuper"
- id = "dyloteanesuper"
- result = "dyloteane"
- required_reagents = list("anti_toxin" = 1, "tea" = 1,"sugar" = 1)
- result_amount = 10 //by the powers of england for sugaring your tea you gain *10 result
-
-/datum/chemical_reaction/eden
- name = "eden"
- id = "eden"
- result = "eden"
- required_reagents = list("anti_toxin" = 60, "phoron" = 60)
- result_amount = 1
-
-/datum/chemical_reaction/eden/snake
- id = "eden_snake"
- result = "eden_snake"
- required_reagents = list("eden" = 1, "ethanol" = 1)
-
-/datum/chemical_reaction/tercozolam
- id = "tercozolam"
- result = "tercozolam"
- required_reagents = list("anti_toxin" = 1, "ethanol" = 1, "lithium" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/peridaxon_ch
- name = "Peridaxon"
- id = "peridaxon_ch"
- result = "peridaxon"
- required_reagents = list("cordradaxon" = 1, "gastirodaxon" = 1, "hepanephrodaxon" = 1, "respirodaxon" = 1)
- result_amount = 12 //More phoron-efficient alternative recipe.
-
-///SAP RECIPES//////
-
-/datum/chemical_reaction/myelamine_sap //This is the clotting agent used by clotting packs.
- name = "Myelamine"
- id = "myelamine"
- result = "myelamine"
- required_reagents = list("bicaridine" = 1, "iron" = 2, "kelotane" = 1, "bluesap" = 1)
- result_amount = 1
-
-/datum/chemical_reaction/hannoa
- name = "Hannoa"
- id = "hannoa"
- result = "hannoa"
- required_reagents = list("purplesap" = 1, "iron" = 2, "kelotane" = 1, "carbon" = 1)
- result_amount = 1
-
-/datum/chemical_reaction/bullvalene
- name = "Bullvalene"
- id = "bullvalene"
- result = "bullvalene"
- required_reagents = list("dermaline" = 1, "orangesap" = 1, "Copper" = 1)
- result_amount = 1
-
-/datum/chemical_reaction/nutrient
- name = "Nutriment"
- id = "nutriment"
- result = "nutriment"
- required_reagents = list("purplesap" = 1, "orangesap" = 1, "bluesap" = 1)
- result_amount = 3
-
-/////SERAZINE RECIPES//////
-
-/datum/chemical_reaction/alizine
- name = "Alizine"
- id = "alizine"
- result = "alizine"
- required_reagents = list("bicaridine" = 1, "serazine" = 1, "tungsten" = 1)
- result_amount = 3
-
-/////GENDER CHANGE RECIPES/////
-
-/datum/chemical_reaction/change_drug/male
- name = "Elixer of Change"
- id = "change_drug_male"
- result = "change_drug_male"
- required_reagents = list("blood" = 1, "mutagen" = 1, "iron" = 1)
- result_amount = 1
-
-/datum/chemical_reaction/change_drug/female
- name = "Elixer of Change"
- id = "change_drug_female"
- result = "change_drug_female"
- required_reagents = list("blood" = 1, "mutagen" = 1, "sugar" = 1)
- result_amount = 1
-
-/datum/chemical_reaction/change_drug/intersex
- name = "Elixer of Change"
- id = "change_drug_intersex"
- result = "change_drug_intersex"
- required_reagents = list("change_drug_male" = 1, "change_drug_female" = 1)
- result_amount = 1
-
-////////////////////////////////////////////////
-/////////DRINKS////////////////////////////////
-//////////////////////////////////////////////
-
-/datum/chemical_reaction/drinks/minttea
- name = "Mint Tea"
- id = "minttea"
- result = "minttea"
- required_reagents = list("tea" = 5, "mint" = 1)
- result_amount = 6
-
-/datum/chemical_reaction/drinks/lemontea
- name = "Lemon Tea"
- id = "lemontea"
- result = "lemontea"
- required_reagents = list("tea" = 5, "lemonjuice" = 1)
- result_amount = 6
-
-/datum/chemical_reaction/drinks/limetea
- name = "Lime Tea"
- id = "limetea"
- result = "limetea"
- required_reagents = list("tea" = 5, "limejuice" = 1)
- result_amount = 6
-
-/datum/chemical_reaction/drinks/orangetea
- name = "Orange Tea"
- id = "orangetea"
- result = "orangetea"
- required_reagents = list("tea" = 5, "orangejuice" = 1)
- result_amount = 6
-
-/datum/chemical_reaction/drinks/berrytea
- name = "Berry Tea"
- id = "berrytea"
- result = "berrytea"
- required_reagents = list("tea" = 5, "berryjuice" = 1)
- result_amount = 6
-
-/datum/chemical_reaction/drinks/cherrytea
- name = "Cherry Tea"
- id = "cherrytea"
- result = "cherrytea"
- required_reagents = list("tea" = 5, "cherryjelly" = 1)
- result_amount = 6
-
-/datum/chemical_reaction/drinks/watermelontea
- name = "Watermelon Tea"
- id = "watermelontea"
- result = "watermelontea"
- required_reagents = list("tea" = 5, "watermelonjuice" = 1)
- result_amount = 6
-
-/datum/chemical_reaction/tea/matcha_latte
- id = "matcha_latte"
- result = "matcha_latte"
- required_reagents = list ("matchapowder" = 1, "milk" = 5)
- result_amount = 5
-
-/datum/chemical_reaction/freshtea/green
- id = "freshteagreen"
- result = "freshteagreen"
- required_reagents = list ("tealeavesgreen" = 1, "hotwater" = 9)
- result_amount = 10
-
-/datum/chemical_reaction/instantteapowder/green
- id = "instantteapowdergreen"
- result = "instantteapowdergreen"
- required_reagents = list ("teamush" = 10, "frostoil" = 1)
- result_amount = 10
-
-/datum/chemical_reaction/instanttea/green
- id = "instantteagreen"
- result = "instantteagreen"
- required_reagents = list ("instantteapowdergreen" = 1, "water" = 9)
- result_amount = 10
-
-/datum/chemical_reaction/matcha
- id = "matcha"
- result = "matcha"
- required_reagents = list ("matchapowder" = 1, "hotwater" = 2)
- result_amount = 2
-
-/datum/chemical_reaction/drinks/spiderdrink
- name = "Brimming glass of spiders"
- id = "spiderdrink"
- result = "spiderdrink"
- required_reagents = list("spidertoxin" = 1, "clonexadone" = 5, "absinthe" = 4)
- result_amount = 10
-
-/datum/chemical_reaction/drinks/bubbleteawatermelon
- name = "Watermelon bubble tea"
- id = "bubbleteawatermelon"
- result = "bubbleteawatermelon"
- required_reagents = list("gelatin" = 2, "watermelontea" = 6, "milk" = 2)
- result_amount = 10
-
-/datum/chemical_reaction/drinks/bubbleteastrawberry
- name = "Strawberry bubble tea"
- id = "bubbleteastrawberry"
- result = "bubbleteastrawberry"
- required_reagents = list("gelatin" = 2, "berrytea" = 6, "milk" = 2)
- result_amount = 10
-
-/datum/chemical_reaction/drinks/bubbleteacherry
- name = "Cherry bubble tea"
- id = "bubbleteacherry"
- result = "bubbleteacherry"
- required_reagents = list("gelatin" = 2, "cherrytea" = 6, "milk" = 2)
- result_amount = 10
-
-/datum/chemical_reaction/drinks/bubbleteacoffee
- name = "Coffee bubble tea"
- id = "bubbleteacoffee"
- result = "bubbleteacoffee"
- required_reagents = list("gelatin" = 2, "tea" = 5, "cafe_latte" = 3)
- result_amount = 10
-
-/datum/chemical_reaction/drinks/bubbleteabanana
- name = "Banana bubble tea"
- id = "bubbleteabanana"
- result = "bubbleteabanana"
- required_reagents = list("gelatin" = 2, "tea" = 5, "banana" = 1, "milk" = 2)
- result_amount = 10
-
-/datum/chemical_reaction/drinks/horchata
- name = "Horchata"
- id = "horchata"
- result = "horchata"
- required_reagents = list("milk" = 1, "sugar" = 2, "rice" = 2)
- result_amount = 5
-
-/datum/chemical_reaction/drinks/bluetrain
- name = "Blue train"
- id = "bluetrain"
- result = "bluetrain"
- required_reagents = list("coolant" = 2, "ethanol" = 2, "nutriment" = 1)
- result_amount = 5
-
-/datum/chemical_reaction/drinks/lowpower
- name = "The low power"
- id = "lowpower"
- result = "lowpower"
- required_reagents = list("lemonade" = 1, "cream" = 1, "limejuice" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/jackbrew
- name = "Jack's brew"
- id = "jackbrew"
- result = "jackbrew"
- required_reagents = list("irishcoffee" = 1, "hyperzine" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/drinks/bookwyrm
- name = "Bookwyrm's bite"
- id = "bookwyrm"
- result = "bookwyrm"
- required_reagents = list("coldfront" = 1, "limejuice" = 1, "stoxin" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/highpower
- name = "The high power"
- id = "highpower"
- result = "highpower"
- required_reagents = list("lowpower" = 1, "iron" = 1, "uranium" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/flapper
- name = "Flapper"
- id = "flapper"
- result = "flapper"
- required_reagents = list("whiskey" = 1, "blood" = 1, "ice" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/toxin/oilslide
- name = "Oil slide"
- id = "oilslide"
- result = "oilslide"
- required_reagents = list("moonshine" = 1, "lube" = 1, "fuel" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/sitonmyface
- name = "Sit on my face"
- id = "sitonmyface"
- result = "sitonmyface"
- required_reagents = list("kahlua" = 1, "irishcream" = 1, "peanutbutter" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/hachi
- name = "Hachi"
- id = "hachi"
- result = "hachi"
- required_reagents = list("burbon" = 2, "sake" = 1, "lemonjuice" = 1, "mushroom" = 1)
- result_amount = 5
\ No newline at end of file
diff --git a/code/modules/reagents/Chemistry-Recipes_yw.dm b/code/modules/reagents/Chemistry-Recipes_yw.dm
deleted file mode 100644
index 8cf9a31339..0000000000
--- a/code/modules/reagents/Chemistry-Recipes_yw.dm
+++ /dev/null
@@ -1,14 +0,0 @@
-/datum/chemical_reaction/drinks/lovepotion_yw
- name = "Strawberry Love Potion"
- id = "strawberrylovepotion"
- result = "strawberrylovepotion"
- required_reagents = list("cream" = 1, "berryjuice" = 1, "sugar" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/wormblood
- name = "Wormblood"
- id = "wormblood"
- result = "wormblood"
- required_reagents = list("booger" = 1, "psilocybin" = 1)
- result_amount = 2
-
diff --git a/code/modules/reagents/holder/distilling.dm b/code/modules/reagents/holder/distilling.dm
new file mode 100644
index 0000000000..1599f395d9
--- /dev/null
+++ b/code/modules/reagents/holder/distilling.dm
@@ -0,0 +1,26 @@
+/datum/reagents/distilling/handle_reactions()
+ if(QDELETED(my_atom))
+ return FALSE
+ if(my_atom.flags & NOREACT)
+ return FALSE
+ var/reaction_occurred
+ var/list/eligible_reactions = list()
+ var/list/effect_reactions = list()
+ do
+ reaction_occurred = FALSE
+ for(var/i in reagent_list)
+ var/datum/reagent/R = i
+ if(SSchemistry.distilled_reactions_by_reagent[R.id])
+ eligible_reactions |= SSchemistry.distilled_reactions_by_reagent[R.id]
+
+ for(var/i in eligible_reactions)
+ var/decl/chemical_reaction/C = i
+ if(C.can_happen(src) && C.process(src))
+ effect_reactions |= C
+ reaction_occurred = TRUE
+ eligible_reactions.len = 0
+ while(reaction_occurred)
+ for(var/i in effect_reactions)
+ var/decl/chemical_reaction/C = i
+ C.post_reaction(src)
+ update_total()
\ No newline at end of file
diff --git a/code/modules/reagents/Chemistry-Holder.dm b/code/modules/reagents/holder/holder.dm
similarity index 94%
rename from code/modules/reagents/Chemistry-Holder.dm
rename to code/modules/reagents/holder/holder.dm
index b987f608b5..b3f56f7e2a 100644
--- a/code/modules/reagents/Chemistry-Holder.dm
+++ b/code/modules/reagents/holder/holder.dm
@@ -14,7 +14,7 @@
//I dislike having these here but map-objects are initialised before world/New() is called. >_>
if(!SSchemistry.chemical_reagents)
//Chemical Reagents - Initialises all /datum/reagent into a list indexed by reagent id
- var/paths = typesof(/datum/reagent) - /datum/reagent
+ var/paths = subtypesof(/datum/reagent)
SSchemistry.chemical_reagents = list()
for(var/path in paths)
var/datum/reagent/D = new path()
@@ -23,7 +23,6 @@
SSchemistry.chemical_reagents[D.id] = D
/datum/reagents/Destroy()
- STOP_PROCESSING(SSchemistry, src)
for(var/datum/reagent/R in reagent_list)
qdel(R)
reagent_list = null
@@ -88,18 +87,18 @@
reaction_occurred = FALSE
for(var/i in reagent_list)
var/datum/reagent/R = i
- if(SSchemistry.chemical_reactions_by_reagent[R.id])
- eligible_reactions |= SSchemistry.chemical_reactions_by_reagent[R.id]
+ if(SSchemistry.instant_reactions_by_reagent[R.id])
+ eligible_reactions |= SSchemistry.instant_reactions_by_reagent[R.id]
for(var/i in eligible_reactions)
- var/datum/chemical_reaction/C = i
+ var/decl/chemical_reaction/C = i
if(C.can_happen(src) && C.process(src))
effect_reactions |= C
reaction_occurred = TRUE
eligible_reactions.len = 0
while(reaction_occurred)
for(var/i in effect_reactions)
- var/datum/chemical_reaction/C = i
+ var/decl/chemical_reaction/C = i
C.post_reaction(src)
update_total()
@@ -111,7 +110,7 @@
update_total()
amount = min(amount, get_free_space())
-
+
if(istype(my_atom,/obj/item/weapon/reagent_containers/food)) //The following code is targeted specifically at getting allergen reagents into food items, since for the most part they're not applied by default.
var/list/add_reagents = list()
var/totalnum = 0
@@ -190,7 +189,6 @@
/datum/reagents/proc/del_reagent(var/id)
for(var/datum/reagent/current in reagent_list)
if (current.id == id)
- current.on_remove(my_atom) //YW Edit: Calls on_remove before the last of the thing is done, used in phorochemistry
reagent_list -= current
qdel(current)
update_total()
@@ -457,8 +455,10 @@
/* Atom reagent creation - use it all the time */
-/atom/proc/create_reagents(var/max_vol)
- reagents = new/datum/reagents(max_vol, src)
+/atom/proc/create_reagents(var/max_vol, var/reagents_type = /datum/reagents)
+ if(!ispath(reagents_type))
+ reagents_type = /datum/reagents
+ reagents = new reagents_type(max_vol, src)
// Aurora Cooking Port
/datum/reagents/proc/get_reagent(var/id) // Returns reference to reagent matching passed ID
diff --git a/code/modules/reagents/Chemistry-Holder_ch.dm b/code/modules/reagents/holder/holder_ch.dm
similarity index 97%
rename from code/modules/reagents/Chemistry-Holder_ch.dm
rename to code/modules/reagents/holder/holder_ch.dm
index 2a532da0d9..baeab5c8aa 100644
--- a/code/modules/reagents/Chemistry-Holder_ch.dm
+++ b/code/modules/reagents/holder/holder_ch.dm
@@ -1,25 +1,25 @@
-//CHOMP code for transfer specifically into vore bellies
-
-/datum/reagents/proc/vore_trans_to_mob(var/mob/target, var/amount = 1, var/type = CHEM_VORE, var/multiplier = 1, var/copy = 0, var/obj/belly/target_belly = null) // Transfer after checking into which holder...
- if(!target || !istype(target))
- return
-
- if(iscarbon(target))
- var/mob/living/carbon/C = target
- if(type == CHEM_VORE)
- var/datum/reagents/R = target_belly.reagents
- return trans_to_holder(R, amount, multiplier, copy)
- if(type == CHEM_INGEST)
- var/datum/reagents/R = C.ingested
- return C.ingest(src, R, amount, multiplier, copy)
-
- else //Retaining this code as a backup
- var/datum/reagents/R = new /datum/reagents(amount)
- . = trans_to_holder(R, amount, multiplier, copy)
- R.touch_mob(target)
-
-/datum/reagents/proc/vore_trans_to_con(var/obj/item/weapon/reagent_containers/T, var/amount = 1, var/multiplier = 1, var/copy = 0) // Transfer after checking into which holder...
- if(!T || !istype(T))
- return
-
- return trans_to_holder(T.reagents, amount, multiplier, copy)
+//CHOMP code for transfer specifically into vore bellies
+
+/datum/reagents/proc/vore_trans_to_mob(var/mob/target, var/amount = 1, var/type = CHEM_VORE, var/multiplier = 1, var/copy = 0, var/obj/belly/target_belly = null) // Transfer after checking into which holder...
+ if(!target || !istype(target))
+ return
+
+ if(iscarbon(target))
+ var/mob/living/carbon/C = target
+ if(type == CHEM_VORE)
+ var/datum/reagents/R = target_belly.reagents
+ return trans_to_holder(R, amount, multiplier, copy)
+ if(type == CHEM_INGEST)
+ var/datum/reagents/R = C.ingested
+ return C.ingest(src, R, amount, multiplier, copy)
+
+ else //Retaining this code as a backup
+ var/datum/reagents/R = new /datum/reagents(amount)
+ . = trans_to_holder(R, amount, multiplier, copy)
+ R.touch_mob(target)
+
+/datum/reagents/proc/vore_trans_to_con(var/obj/item/weapon/reagent_containers/T, var/amount = 1, var/multiplier = 1, var/copy = 0) // Transfer after checking into which holder...
+ if(!T || !istype(T))
+ return
+
+ return trans_to_holder(T.reagents, amount, multiplier, copy)
diff --git a/code/modules/reagents/kelshark.dm b/code/modules/reagents/kelshark.dm
deleted file mode 100644
index fd4972b414..0000000000
--- a/code/modules/reagents/kelshark.dm
+++ /dev/null
@@ -1,108 +0,0 @@
-datum
- reagent
- benzilate
- name = "Odd Goo"
- id = "benzilate"
- description = "Grey... goo? This smells like hot acid. Consuming this likely wouldn't be good for your health."
- taste_description = "raw iron"
- taste_mult = 0.4
- metabolism = REM * 2.5
- color = "#929292"
-
- phenethylamine
- name = "Phenethylamine"
- id = "phenethylamine"
- description = "Just looking at this makes you feel odd. Whether or not this would be good to consume is likely a gamble."
- color = "#463667"
- data = list("count"=1)
- on_mob_life(var/mob/living/M as mob)
- if(!M) M = holder.my_atom
- if(data)
- switch(data["count"])
- if(1 to 30)
- if(prob(9)) M.emote("me",1,"blushes")
- if(prob(9)) to_chat(M, "
You feel so needy..")
- if (30 to INFINITY)
- if(prob(3)) M.emote("me",1,"blushes")
- if(prob(5)) M.say("!moans out lewdly!")
- if(prob(9)) to_chat(M, "
You can't help but want to touch yourself then and now!")
- data["count"]++
- holder.remove_reagent(src.id, 0.2)
- //..()
- return
-
-/datum/chemical_reaction/benzilate
- name = "Benzilate"
- id = "benzilate"
- result = "benzilate"
- required_reagents = list("paracetamol" = 1, "mindbreaker" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/phenethylamine
- name = "Phenethylamine"
- id = "phenethylamine"
- result = "phenethylamine"
- required_reagents = list("paroxetine" = 1, "benzilate" = 1)
- result_amount = 2
-
-/datum/reagent/benzilate/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
- if(alien == IS_DIONA)
- return
- var/drug_strength = 12
- if(alien == IS_SKRELL)
- drug_strength = drug_strength * 0.6
- M.make_dizzy(drug_strength)
- M.Confuse(drug_strength * 14)
-
-
-/obj/item/weapon/reagent_containers/pill/benzilate
- name = "Benzilate pill"
- desc = "You probably shouldn't swallow this."
- icon_state = "pill2"
-
-/obj/item/weapon/reagent_containers/pill/benzilate/Initialize()
- . = ..()
- reagents.add_reagent("benzilate", 50)
- color = reagents.get_color()
-
-
-/obj/item/weapon/reagent_containers/pill/phenethylamine
- name = "Phenethylamine pill"
- desc = "Smells like... lilacs?"
- icon_state = "pill5"
-
-/obj/item/weapon/reagent_containers/pill/phenethylamine/Initialize()
- . = ..()
- reagents.add_reagent("phenethylamine", 50)
- color = reagents.get_color()
-
-
-// PILLS THAT WE PROBABLY SHOULDN'T HAVE AAAAAAAAAA. The below is only so they can be included through mapping or "spawn " command. -Carl
-
-/obj/item/weapon/storage/pill_bottle/benzilate
- name = "bottle of Benzilate pills"
- desc = "This just hurts to look at with how many words of caution are scrawled on the lable. Better eat all of 'em!"
-
-/obj/item/weapon/storage/pill_bottle/benzilate/New()
- ..()
- new /obj/item/weapon/reagent_containers/pill/benzilate( src )
- new /obj/item/weapon/reagent_containers/pill/benzilate( src )
- new /obj/item/weapon/reagent_containers/pill/benzilate( src )
- new /obj/item/weapon/reagent_containers/pill/benzilate( src )
- new /obj/item/weapon/reagent_containers/pill/benzilate( src )
- new /obj/item/weapon/reagent_containers/pill/benzilate( src )
- new /obj/item/weapon/reagent_containers/pill/benzilate( src )
-
-/obj/item/weapon/storage/pill_bottle/phenethylamine
- name = "bottle of Phenethylamine pills"
- desc = "Looks like someone drew a happy face on the label, replacing whatever was previously present."
-
-/obj/item/weapon/storage/pill_bottle/phenethylamine/New()
- ..()
- new /obj/item/weapon/reagent_containers/pill/phenethylamine( src )
- new /obj/item/weapon/reagent_containers/pill/phenethylamine( src )
- new /obj/item/weapon/reagent_containers/pill/phenethylamine( src )
- new /obj/item/weapon/reagent_containers/pill/phenethylamine( src )
- new /obj/item/weapon/reagent_containers/pill/phenethylamine( src )
- new /obj/item/weapon/reagent_containers/pill/phenethylamine( src )
- new /obj/item/weapon/reagent_containers/pill/phenethylamine( src )
diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/machinery/chem_master.dm
similarity index 58%
rename from code/modules/reagents/Chemistry-Machinery.dm
rename to code/modules/reagents/machinery/chem_master.dm
index b5fe99b054..3fdca52296 100644
--- a/code/modules/reagents/Chemistry-Machinery.dm
+++ b/code/modules/reagents/machinery/chem_master.dm
@@ -1,862 +1,498 @@
-#define SOLID 1
-#define LIQUID 2
-#define GAS 3
-
-#define MAX_PILL_SPRITE 24 //max icon state of the pill sprites
-#define MAX_BOTTLE_SPRITE 4 //max icon state of the pill sprites
-#define MAX_MULTI_AMOUNT 20 // Max number of pills/patches that can be made at once
-#define MAX_UNITS_PER_PILL 60 // Max amount of units in a pill
-#define MAX_UNITS_PER_PATCH 60 // Max amount of units in a patch
-#define MAX_UNITS_PER_BOTTLE 60 // Max amount of units in a bottle (it's volume)
-#define MAX_CUSTOM_NAME_LEN 64 // Max length of a custom pill/condiment/whatever
-
-
-
-
-//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-/obj/machinery/chem_master
- name = "ChemMaster 3000"
- desc = "Used to seperate and package chemicals in to patches, pills, or bottles. Warranty void if used to create Space Drugs."
- density = 1
- anchored = 1
- icon = 'icons/obj/chemical.dmi'
- icon_state = "mixer0"
- circuit = /obj/item/weapon/circuitboard/chem_master
- use_power = USE_POWER_IDLE
- idle_power_usage = 20
- var/obj/item/weapon/reagent_containers/beaker = null
- var/obj/item/weapon/storage/pill_bottle/loaded_pill_bottle = null
- var/mode = 0
- var/condi = 0
- var/useramount = 15 // Last used amount
- var/pillamount = 10
- var/list/bottle_styles
- var/bottlesprite = 1
- var/pillsprite = 1
- var/max_pill_count = 20
- var/printing = FALSE
- flags = OPENCONTAINER
- clicksound = "button"
-
-/obj/machinery/chem_master/New()
- ..()
- var/datum/reagents/R = new/datum/reagents(900) //Just a huge random number so the buffer should (probably) never dump your reagents.
- reagents = R //There should be a nano ui thingy to warn of this.
- R.my_atom = src
-
-/obj/machinery/chem_master/ex_act(severity)
- switch(severity)
- if(1.0)
- qdel(src)
- return
- if(2.0)
- if (prob(50))
- qdel(src)
- return
-
-/obj/machinery/chem_master/update_icon()
- icon_state = "mixer[beaker ? "1" : "0"]"
-
-/obj/machinery/chem_master/attackby(var/obj/item/weapon/B as obj, var/mob/user as mob)
-
- if(istype(B, /obj/item/weapon/reagent_containers/glass) || istype(B, /obj/item/weapon/reagent_containers/food))
-
- if(src.beaker)
- to_chat(user, "\A [beaker] is already loaded into the machine.")
- return
- src.beaker = B
- user.drop_item()
- B.loc = src
- to_chat(user, "You add \the [B] to the machine.")
- update_icon()
-
- else if(istype(B, /obj/item/weapon/storage/pill_bottle))
-
- if(src.loaded_pill_bottle)
- to_chat(user, "A \the [loaded_pill_bottle] s already loaded into the machine.")
- return
-
- src.loaded_pill_bottle = B
- user.drop_item()
- B.loc = src
- to_chat(user, "You add \the [loaded_pill_bottle] into the dispenser slot.")
-
- else if(default_unfasten_wrench(user, B, 20))
- return
- if(default_deconstruction_screwdriver(user, B))
- return
- if(default_deconstruction_crowbar(user, B))
- return
-
- return
-
-/obj/machinery/chem_master/attack_hand(mob/user as mob)
- if(stat & BROKEN)
- return
- user.set_machine(src)
- tgui_interact(user)
-
-/obj/machinery/chem_master/ui_assets(mob/user)
- return list(
- get_asset_datum(/datum/asset/chem_master),
- )
-
-/obj/machinery/chem_master/tgui_interact(mob/user, datum/tgui/ui = null)
- ui = SStgui.try_update_ui(user, src, ui)
- if(!ui)
- ui = new(user, src, "ChemMaster", name)
- ui.open()
-
-/**
- * Display the NanoUI window for the chem master.
- *
- * See NanoUI documentation for details.
- */
-/obj/machinery/chem_master/tgui_data(mob/user)
- var/list/data = list()
-
- data["condi"] = condi
-
- data["loaded_pill_bottle"] = !!loaded_pill_bottle
- if(loaded_pill_bottle)
- data["loaded_pill_bottle_name"] = loaded_pill_bottle.name
- data["loaded_pill_bottle_contents_len"] = loaded_pill_bottle.contents.len
- data["loaded_pill_bottle_storage_slots"] = loaded_pill_bottle.max_storage_space
-
- data["beaker"] = !!beaker
- if(beaker)
- var/list/beaker_reagents_list = list()
- data["beaker_reagents"] = beaker_reagents_list
- for(var/datum/reagent/R in beaker.reagents.reagent_list)
- beaker_reagents_list[++beaker_reagents_list.len] = list("name" = R.name, "volume" = R.volume, "description" = R.description, "id" = R.id)
-
- var/list/buffer_reagents_list = list()
- data["buffer_reagents"] = buffer_reagents_list
- for(var/datum/reagent/R in reagents.reagent_list)
- buffer_reagents_list[++buffer_reagents_list.len] = list("name" = R.name, "volume" = R.volume, "id" = R.id, "description" = R.description)
-
- data["pillsprite"] = pillsprite
- data["bottlesprite"] = bottlesprite
- data["mode"] = mode
- data["printing"] = printing
-
- // Transfer modal information if there is one
- data["modal"] = tgui_modal_data(src)
-
- return data
-
-/**
- * Called in tgui_act() to process modal actions
- *
- * Arguments:
- * * action - The action passed by tgui
- * * params - The params passed by tgui
- */
-/obj/machinery/chem_master/proc/tgui_act_modal(action, params, datum/tgui/ui, datum/tgui_state/state)
- . = TRUE
- var/id = params["id"] // The modal's ID
- var/list/arguments = istext(params["arguments"]) ? json_decode(params["arguments"]) : params["arguments"]
- switch(tgui_modal_act(src, action, params))
- if(TGUI_MODAL_OPEN)
- switch(id)
- if("analyze")
- var/idx = text2num(arguments["idx"]) || 0
- var/from_beaker = text2num(arguments["beaker"]) || FALSE
- var/reagent_list = from_beaker ? beaker.reagents.reagent_list : reagents.reagent_list
- if(idx < 1 || idx > length(reagent_list))
- return
-
- var/datum/reagent/R = reagent_list[idx]
- var/list/result = list("idx" = idx, "name" = R.name, "desc" = R.description)
- if(!condi && istype(R, /datum/reagent/blood))
- var/datum/reagent/blood/B = R
- result["blood_type"] = B.data["blood_type"]
- result["blood_dna"] = B.data["blood_DNA"]
-
- arguments["analysis"] = result
- tgui_modal_message(src, id, "", null, arguments)
- // if("change_pill_bottle_style")
- // if(!loaded_pill_bottle)
- // return
- // if(!pill_bottle_wrappers)
- // pill_bottle_wrappers = list(
- // "CLEAR" = "Default",
- // COLOR_RED = "Red",
- // COLOR_GREEN = "Green",
- // COLOR_PALE_BTL_GREEN = "Pale green",
- // COLOR_BLUE = "Blue",
- // COLOR_CYAN_BLUE = "Light blue",
- // COLOR_TEAL = "Teal",
- // COLOR_YELLOW = "Yellow",
- // COLOR_ORANGE = "Orange",
- // COLOR_PINK = "Pink",
- // COLOR_MAROON = "Brown"
- // )
- // var/current = pill_bottle_wrappers[loaded_pill_bottle.wrapper_color] || "Default"
- // tgui_modal_choice(src, id, "Please select a pill bottle wrapper:", null, arguments, current, pill_bottle_wrappers)
- if("addcustom")
- if(!beaker || !beaker.reagents.total_volume)
- return
- tgui_modal_input(src, id, "Please enter the amount to transfer to buffer:", null, arguments, useramount)
- if("removecustom")
- if(!reagents.total_volume)
- return
- tgui_modal_input(src, id, "Please enter the amount to transfer to [mode ? "beaker" : "disposal"]:", null, arguments, useramount)
- if("create_condi_pack")
- if(!condi || !reagents.total_volume)
- return
- tgui_modal_input(src, id, "Please name your new condiment pack:", null, arguments, reagents.get_master_reagent_name(), MAX_CUSTOM_NAME_LEN)
- if("create_pill")
- if(condi || !reagents.total_volume)
- return
- var/num = round(text2num(arguments["num"] || 1))
- if(!num)
- return
- arguments["num"] = num
- var/amount_per_pill = CLAMP(reagents.total_volume / num, 0, MAX_UNITS_PER_PILL)
- var/default_name = "[reagents.get_master_reagent_name()] ([amount_per_pill]u)"
- var/pills_text = num == 1 ? "new pill" : "[num] new pills"
- tgui_modal_input(src, id, "Please name your [pills_text]:", null, arguments, default_name, MAX_CUSTOM_NAME_LEN)
- if("create_pill_multiple")
- if(condi || !reagents.total_volume)
- return
- tgui_modal_input(src, id, "Please enter the amount of pills to make (max [MAX_MULTI_AMOUNT] at a time):", null, arguments, pillamount, 5)
- if("change_pill_style")
- var/list/choices = list()
- for(var/i = 1 to MAX_PILL_SPRITE)
- choices += "pill[i].png"
- tgui_modal_bento(src, id, "Please select the new style for pills:", null, arguments, pillsprite, choices)
- if("create_patch")
- if(condi || !reagents.total_volume)
- return
- var/num = round(text2num(arguments["num"] || 1))
- if(!num)
- return
- arguments["num"] = num
- var/amount_per_patch = CLAMP(reagents.total_volume / num, 0, MAX_UNITS_PER_PATCH)
- var/default_name = "[reagents.get_master_reagent_name()] ([amount_per_patch]u)"
- var/patches_text = num == 1 ? "new patch" : "[num] new patches"
- tgui_modal_input(src, id, "Please name your [patches_text]:", null, arguments, default_name, MAX_CUSTOM_NAME_LEN)
- if("create_patch_multiple")
- if(condi || !reagents.total_volume)
- return
- tgui_modal_input(src, id, "Please enter the amount of patches to make (max [MAX_MULTI_AMOUNT] at a time):", null, arguments, pillamount, 5)
- if("create_bottle")
- if(condi || !reagents.total_volume)
- return
- var/num = round(text2num(arguments["num"] || 1))
- if(!num)
- return
- arguments["num"] = num
- var/amount_per_bottle = CLAMP(reagents.total_volume / num, 0, MAX_UNITS_PER_BOTTLE)
- var/default_name = "[reagents.get_master_reagent_name()]"
- var/bottles_text = num == 1 ? "new bottle" : "[num] new bottles"
- tgui_modal_input(src, id, "Please name your [bottles_text] ([amount_per_bottle]u in bottle):", null, arguments, default_name, MAX_CUSTOM_NAME_LEN)
- if("create_bottle_multiple")
- if(condi || !reagents.total_volume)
- return
- tgui_modal_input(src, id, "Please enter the amount of bottles to make (max [MAX_MULTI_AMOUNT] at a time):", null, arguments, pillamount, 5)
- if("change_bottle_style")
- var/list/choices = list()
- for(var/i = 1 to MAX_BOTTLE_SPRITE)
- choices += "bottle-[i].png"
- tgui_modal_bento(src, id, "Please select the new style for bottles:", null, arguments, bottlesprite, choices)
- else
- return FALSE
- if(TGUI_MODAL_ANSWER)
- var/answer = params["answer"]
- switch(id)
- // if("change_pill_bottle_style")
- // if(!pill_bottle_wrappers || !loaded_pill_bottle) // wat?
- // return
- // var/color = "CLEAR"
- // for(var/col in pill_bottle_wrappers)
- // var/col_name = pill_bottle_wrappers[col]
- // if(col_name == answer)
- // color = col
- // break
- // if(length(color) && color != "CLEAR")
- // loaded_pill_bottle.wrapper_color = color
- // loaded_pill_bottle.apply_wrap()
- // else
- // loaded_pill_bottle.wrapper_color = null
- // loaded_pill_bottle.cut_overlays()
- if("addcustom")
- var/amount = isgoodnumber(text2num(answer))
- if(!amount || !arguments["id"])
- return
- tgui_act("add", list("id" = arguments["id"], "amount" = amount), ui, state)
- if("removecustom")
- var/amount = isgoodnumber(text2num(answer))
- if(!amount || !arguments["id"])
- return
- tgui_act("remove", list("id" = arguments["id"], "amount" = amount), ui, state)
- if("create_condi_pack")
- if(!condi || !reagents.total_volume)
- return
- if(!length(answer))
- answer = reagents.get_master_reagent_name()
- var/obj/item/weapon/reagent_containers/pill/P = new(loc)
- P.name = "[answer] pack"
- P.desc = "A small condiment pack. The label says it contains [answer]."
- P.icon_state = "bouilloncube"//Reskinned monkey cube
- reagents.trans_to_obj(P, 10)
- if("create_pill")
- if(condi || !reagents.total_volume)
- return
- var/count = CLAMP(round(text2num(arguments["num"]) || 0), 0, MAX_MULTI_AMOUNT)
- if(!count)
- return
-
- if(!length(answer))
- answer = reagents.get_master_reagent_name()
- var/amount_per_pill = CLAMP(reagents.total_volume / count, 0, MAX_UNITS_PER_PILL)
- while(count--)
- if(reagents.total_volume <= 0)
- to_chat(usr, "
Not enough reagents to create these pills!")
- return
-
- var/obj/item/weapon/reagent_containers/pill/P = new(loc)
- P.name = "[answer] pill"
- P.pixel_x = rand(-7, 7) // Random position
- P.pixel_y = rand(-7, 7)
- P.icon_state = "pill[pillsprite]"
- if(P.icon_state in list("pill1", "pill2", "pill3", "pill4")) // if using greyscale, take colour from reagent
- P.color = reagents.get_color()
- reagents.trans_to_obj(P, amount_per_pill)
- // Load the pills in the bottle if there's one loaded
- if(istype(loaded_pill_bottle) && length(loaded_pill_bottle.contents) < loaded_pill_bottle.max_storage_space)
- P.forceMove(loaded_pill_bottle)
- if("create_pill_multiple")
- if(condi || !reagents.total_volume)
- return
- tgui_act("modal_open", list("id" = "create_pill", "arguments" = list("num" = answer)), ui, state)
- if("change_pill_style")
- var/new_style = CLAMP(text2num(answer) || 0, 0, MAX_PILL_SPRITE)
- if(!new_style)
- return
- pillsprite = new_style
- if("create_patch")
- if(condi || !reagents.total_volume)
- return
- var/count = CLAMP(round(text2num(arguments["num"]) || 0), 0, MAX_MULTI_AMOUNT)
- if(!count)
- return
-
- if(!length(answer))
- answer = reagents.get_master_reagent_name()
- var/amount_per_patch = CLAMP(reagents.total_volume / count, 0, MAX_UNITS_PER_PATCH)
- // var/is_medical_patch = chemical_safety_check(reagents)
- while(count--)
- if(reagents.total_volume <= 0)
- to_chat(usr, "
Not enough reagents to create these patches!")
- return
-
- var/obj/item/weapon/reagent_containers/pill/patch/P = new(loc)
- P.name = "[answer] patch"
- P.pixel_x = rand(-7, 7) // random position
- P.pixel_y = rand(-7, 7)
- reagents.trans_to_obj(P, amount_per_patch)
- // if(is_medical_patch)
- // P.instant_application = TRUE
- // P.icon_state = "bandaid_med"
- if("create_patch_multiple")
- if(condi || !reagents.total_volume)
- return
- tgui_act("modal_open", list("id" = "create_patch", "arguments" = list("num" = answer)), ui, state)
- if("create_bottle")
- if(condi || !reagents.total_volume)
- return
- var/count = CLAMP(round(text2num(arguments["num"]) || 0), 0, MAX_MULTI_AMOUNT)
- if(!count)
- return
-
- if(!length(answer))
- answer = reagents.get_master_reagent_name()
- var/amount_per_bottle = CLAMP(reagents.total_volume / count, 0, MAX_UNITS_PER_BOTTLE)
- while(count--)
- if(reagents.total_volume <= 0)
- to_chat(usr, "
Not enough reagents to create these bottles!")
- return
- var/obj/item/weapon/reagent_containers/glass/bottle/P = new(loc)
- P.name = "[answer] bottle"
- P.pixel_x = rand(-7, 7) // random position
- P.pixel_y = rand(-7, 7)
- P.icon_state = "bottle-[bottlesprite]" || "bottle-1"
- reagents.trans_to_obj(P, amount_per_bottle)
- P.update_icon()
- if("create_bottle_multiple")
- if(condi || !reagents.total_volume)
- return
- tgui_act("modal_open", list("id" = "create_bottle", "arguments" = list("num" = answer)), ui, state)
- if("change_bottle_style")
- var/new_style = CLAMP(text2num(answer) || 0, 0, MAX_BOTTLE_SPRITE)
- if(!new_style)
- return
- bottlesprite = new_style
- else
- return FALSE
- else
- return FALSE
-
-/obj/machinery/chem_master/tgui_act(action, params, datum/tgui/ui, datum/tgui_state/state)
- if(..())
- return TRUE
-
- if(tgui_act_modal(action, params, ui, state))
- return TRUE
-
- add_fingerprint(usr)
- usr.set_machine(src)
-
- . = TRUE
- switch(action)
- if("toggle")
- mode = !mode
- if("ejectp")
- if(loaded_pill_bottle)
- loaded_pill_bottle.forceMove(get_turf(src))
- if(Adjacent(usr) && !issilicon(usr))
- usr.put_in_hands(loaded_pill_bottle)
- loaded_pill_bottle = null
- if("print")
- if(printing || condi)
- return
-
- var/idx = text2num(params["idx"]) || 0
- var/from_beaker = text2num(params["beaker"]) || FALSE
- var/reagent_list = from_beaker ? beaker.reagents.reagent_list : reagents.reagent_list
- if(idx < 1 || idx > length(reagent_list))
- return
-
- var/datum/reagent/R = reagent_list[idx]
-
- printing = TRUE
- visible_message("
[src] rattles and prints out a sheet of paper.")
- // playsound(loc, 'sound/goonstation/machines/printer_dotmatrix.ogg', 50, 1)
-
- var/obj/item/weapon/paper/P = new /obj/item/weapon/paper(loc)
- P.info = "
Chemical Analysis"
- P.info += "
Time of analysis: [worldtime2stationtime(world.time)]
"
- P.info += "
Chemical name: [R.name]
"
- if(istype(R, /datum/reagent/blood))
- var/datum/reagent/blood/B = R
- P.info += "
Description: N/A
Blood Type: [B.data["blood_type"]]
DNA: [B.data["blood_DNA"]]"
- else
- P.info += "
Description: [R.description]"
- P.info += "
Notes:"
- P.name = "Chemical Analysis - [R.name]"
- spawn(50)
- printing = FALSE
- else
- . = FALSE
-
- if(. || !beaker)
- return
-
- . = TRUE
- var/datum/reagents/R = beaker.reagents
- switch(action)
- if("add")
- var/id = params["id"]
- var/amount = text2num(params["amount"])
- if(!id || !amount)
- return
- R.trans_id_to(src, id, amount)
- if("remove")
- var/id = params["id"]
- var/amount = text2num(params["amount"])
- if(!id || !amount)
- return
- if(mode)
- reagents.trans_id_to(beaker, id, amount)
- else
- reagents.remove_reagent(id, amount)
- if("eject")
- if(!beaker)
- return
- beaker.forceMove(get_turf(src))
- if(Adjacent(usr) && !issilicon(usr))
- usr.put_in_hands(beaker)
- beaker = null
- reagents.clear_reagents()
- update_icon()
- if("create_condi_bottle")
- if(!condi || !reagents.total_volume)
- return
- var/obj/item/weapon/reagent_containers/food/condiment/P = new(loc)
- reagents.trans_to_obj(P, 50)
- else
- return FALSE
-
-/obj/machinery/chem_master/attack_ai(mob/user)
- return attack_hand(user)
-
-/obj/machinery/chem_master/proc/isgoodnumber(num)
- if(isnum(num))
- if(num > 200)
- num = 200
- else if(num < 0)
- num = 1
- return num
- else
- return FALSE
-
-// /obj/machinery/chem_master/proc/chemical_safety_check(datum/reagents/R)
-// var/all_safe = TRUE
-// for(var/datum/reagent/A in R.reagent_list)
-// if(!GLOB.safe_chem_list.Find(A.id))
-// all_safe = FALSE
-// return all_safe
-
-/obj/machinery/chem_master/condimaster
- name = "CondiMaster 3000"
- condi = 1
-
-////////////////////////////////////////////////////////////////////////
-////////////////////////////////////////////////////////////////////////
-/obj/machinery/reagentgrinder
-
- name = "All-In-One Grinder"
- desc = "Grinds stuff into itty bitty bits."
- icon = 'icons/obj/kitchen.dmi'
- icon_state = "juicer1"
- density = 0
- anchored = 0
- use_power = USE_POWER_IDLE
- idle_power_usage = 5
- active_power_usage = 100
- circuit = /obj/item/weapon/circuitboard/grinder
- var/inuse = 0
- var/obj/item/weapon/reagent_containers/beaker = null
- var/limit = 10
- var/list/holdingitems = list()
- var/list/sheet_reagents = list( //have a number of reageents divisible by REAGENTS_PER_SHEET (default 20) unless you like decimals,
- /obj/item/stack/material/iron = list("iron"),
- /obj/item/stack/material/uranium = list("uranium"),
- /obj/item/stack/material/phoron = list("phoron"),
- /obj/item/stack/material/gold = list("gold"),
- /obj/item/stack/material/silver = list("silver"),
- /obj/item/stack/material/platinum = list("platinum"),
- /obj/item/stack/material/mhydrogen = list("hydrogen"),
- /obj/item/stack/material/steel = list("iron", "carbon"),
- /obj/item/stack/material/plasteel = list("iron", "iron", "carbon", "carbon", "platinum"), //8 iron, 8 carbon, 4 platinum,
- /obj/item/stack/material/snow = list("water"),
- /obj/item/stack/material/sandstone = list("silicon", "oxygen"),
- /obj/item/stack/material/glass = list("silicon"),
- /obj/item/stack/material/glass/phoronglass = list("platinum", "silicon", "silicon", "silicon"), //5 platinum, 15 silicon,
- )
-
- var/static/radial_examine = image(icon = 'icons/mob/radial.dmi', icon_state = "radial_examine")
- var/static/radial_eject = image(icon = 'icons/mob/radial.dmi', icon_state = "radial_eject")
- var/static/radial_grind = image(icon = 'icons/mob/radial.dmi', icon_state = "radial_grind")
- // var/static/radial_juice = image(icon = 'icons/mob/radial.dmi', icon_state = "radial_juice")
- // var/static/radial_mix = image(icon = 'icons/mob/radial.dmi', icon_state = "radial_mix")
-
-/obj/machinery/reagentgrinder/Initialize()
- . = ..()
- beaker = new /obj/item/weapon/reagent_containers/glass/beaker/large(src)
- default_apply_parts()
-
-/obj/machinery/reagentgrinder/examine(mob/user)
- . = ..()
- if(!in_range(user, src) && !issilicon(user) && !isobserver(user))
- . += "
You're too far away to examine [src]'s contents and display!"
- return
-
- if(inuse)
- . += "
\The [src] is operating."
- return
-
- if(beaker || length(holdingitems))
- . += "
\The [src] contains:"
- if(beaker)
- . += "
- \A [beaker]."
- for(var/i in holdingitems)
- var/obj/item/O = i
- . += "
- \A [O.name]."
-
- if(!(stat & (NOPOWER|BROKEN)))
- . += "
The status display reads:\n"
- if(beaker)
- for(var/datum/reagent/R in beaker.reagents.reagent_list)
- . += "
- [R.volume] units of [R.name]."
-
-/obj/machinery/reagentgrinder/update_icon()
- icon_state = "juicer"+num2text(!isnull(beaker))
- return
-
-/obj/machinery/reagentgrinder/attackby(var/obj/item/O as obj, var/mob/user as mob)
- if(beaker)
- if(default_deconstruction_screwdriver(user, O))
- return
- if(default_deconstruction_crowbar(user, O))
- return
-
- //vorestation edit start - for solargrubs
- if (istype(O, /obj/item/device/multitool))
- return ..()
- //vorestation edit end
-
-
- if (istype(O,/obj/item/weapon/reagent_containers/glass) || \
- istype(O,/obj/item/weapon/reagent_containers/food/drinks/glass2) || \
- istype(O,/obj/item/weapon/reagent_containers/food/drinks/shaker))
-
- if (beaker)
- return 1
- else
- src.beaker = O
- user.drop_item()
- O.loc = src
- update_icon()
- src.updateUsrDialog()
- return 0
-
- if(holdingitems && holdingitems.len >= limit)
- to_chat(user, "The machine cannot hold anymore items.")
- return 1
-
- if(!istype(O))
- return
-
- if(istype(O,/obj/item/weapon/storage/bag/plants))
- var/obj/item/weapon/storage/bag/plants/bag = O
- var/failed = 1
- for(var/obj/item/G in O.contents)
- if(!G.reagents || !G.reagents.total_volume)
- continue
- failed = 0
- bag.remove_from_storage(G, src)
- holdingitems += G
- if(holdingitems && holdingitems.len >= limit)
- break
-
- if(failed)
- to_chat(user, "Nothing in the plant bag is usable.")
- return 1
-
- if(!O.contents.len)
- to_chat(user, "You empty \the [O] into \the [src].")
- else
- to_chat(user, "You fill \the [src] from \the [O].")
-
- src.updateUsrDialog()
- return 0
-
- if(istype(O,/obj/item/weapon/gripper))
- var/obj/item/weapon/gripper/B = O //B, for Borg.
- if(!B.wrapped)
- to_chat(user, "\The [B] is not holding anything.")
- return 0
- else
- var/B_held = B.wrapped
- to_chat(user, "You use \the [B] to load \the [src] with \the [B_held].")
-
- return 0
-
- if(!sheet_reagents[O.type] && (!O.reagents || !O.reagents.total_volume))
- to_chat(user, "\The [O] is not suitable for blending.")
- return 1
-
- user.remove_from_mob(O)
- O.loc = src
- holdingitems += O
- return 0
-
-/obj/machinery/reagentgrinder/AltClick(mob/user)
- . = ..()
- if(user.incapacitated() || !Adjacent(user))
- return
- replace_beaker(user)
-
-/obj/machinery/reagentgrinder/attack_hand(mob/user as mob)
- interact(user)
-
-/obj/machinery/reagentgrinder/interact(mob/user as mob) // The microwave Menu //I am reasonably certain that this is not a microwave
- if(inuse || user.incapacitated())
- return
-
- var/list/options = list()
-
- if(beaker || length(holdingitems))
- options["eject"] = radial_eject
-
- if(isAI(user))
- if(stat & NOPOWER)
- return
- options["examine"] = radial_examine
-
- // if there is no power or it's broken, the procs will fail but the buttons will still show
- if(length(holdingitems))
- options["grind"] = radial_grind
-
- var/choice
- if(length(options) < 1)
- return
- if(length(options) == 1)
- for(var/key in options)
- choice = key
- else
- choice = show_radial_menu(user, src, options, require_near = !issilicon(user))
-
- // post choice verification
- if(inuse || (isAI(user) && stat & NOPOWER) || user.incapacitated())
- return
-
- switch(choice)
- if("eject")
- eject(user)
- if("grind")
- grind(user)
- if("examine")
- examine(user)
-
-/obj/machinery/reagentgrinder/proc/eject(mob/user)
- if(user.incapacitated())
- return
- for(var/obj/item/O in holdingitems)
- O.loc = src.loc
- holdingitems -= O
- holdingitems.Cut()
- if(beaker)
- replace_beaker(user)
-
-/obj/machinery/reagentgrinder/proc/grind()
-
- power_change()
- if(stat & (NOPOWER|BROKEN))
- return
-
- // Sanity check.
- if (!beaker || (beaker && beaker.reagents.total_volume >= beaker.reagents.maximum_volume))
- return
-
- playsound(src, 'sound/machines/blender.ogg', 50, 1)
- inuse = 1
-
- // Reset the machine.
- spawn(60)
- inuse = 0
-
- // Process.
- for (var/obj/item/O in holdingitems)
-
- var/remaining_volume = beaker.reagents.maximum_volume - beaker.reagents.total_volume
- if(remaining_volume <= 0)
- break
-
- if(sheet_reagents[O.type])
- var/obj/item/stack/stack = O
- if(istype(stack))
- var/list/sheet_components = sheet_reagents[stack.type]
- var/amount_to_take = max(0,min(stack.amount,round(remaining_volume/REAGENTS_PER_SHEET)))
- if(amount_to_take)
- stack.use(amount_to_take)
- if(QDELETED(stack))
- holdingitems -= stack
- if(islist(sheet_components))
- amount_to_take = (amount_to_take/(sheet_components.len))
- for(var/i in sheet_components)
- beaker.reagents.add_reagent(i, (amount_to_take*REAGENTS_PER_SHEET))
- else
- beaker.reagents.add_reagent(sheet_components, (amount_to_take*REAGENTS_PER_SHEET))
- continue
-
- if(O.reagents)
- O.reagents.trans_to_obj(beaker, min(O.reagents.total_volume, remaining_volume))
- if(O.reagents.total_volume == 0)
- holdingitems -= O
- qdel(O)
- if (beaker.reagents.total_volume >= beaker.reagents.maximum_volume)
- break
-
-/obj/machinery/reagentgrinder/proc/replace_beaker(mob/living/user, obj/item/weapon/reagent_containers/new_beaker)
- if(!user)
- return FALSE
- if(beaker)
- if(!user.incapacitated() && Adjacent(user))
- user.put_in_hands(beaker)
- else
- beaker.forceMove(drop_location())
- beaker = null
- if(new_beaker)
- beaker = new_beaker
- update_icon()
- return TRUE
-
-///////////////
-///////////////
-// Detects reagents inside most containers, and acts as an infinite identification system for reagent-based unidentified objects.
-
-/obj/machinery/chemical_analyzer
- name = "chem analyzer"
- desc = "Used to precisely scan chemicals and other liquids inside various containers. \
- It may also identify the liquid contents of unknown objects."
- description_info = "This machine will try to tell you what reagents are inside of something capable of holding reagents. \
- It is also used to 'identify' specific reagent-based objects with their properties obscured from inspection by normal means."
- icon = 'icons/obj/chemical.dmi'
- icon_state = "chem_analyzer"
- density = TRUE
- anchored = TRUE
- use_power = TRUE
- idle_power_usage = 20
- clicksound = "button"
- var/analyzing = FALSE
-
-/obj/machinery/chemical_analyzer/update_icon()
- icon_state = "chem_analyzer[analyzing ? "-working":""]"
-
-/obj/machinery/chemical_analyzer/attackby(obj/item/I, mob/living/user)
- if(!istype(I))
- return ..()
-
- if(default_deconstruction_screwdriver(user, I))
- return
- if(default_deconstruction_crowbar(user, I))
- return
-
- if(istype(I,/obj/item/weapon/reagent_containers))
- analyzing = TRUE
- update_icon()
- to_chat(user, span("notice", "Analyzing \the [I], please stand by..."))
-
- if(!do_after(user, 2 SECONDS, src))
- to_chat(user, span("warning", "Sample moved outside of scan range, please try again and remain still."))
- analyzing = FALSE
- update_icon()
- return
-
- // First, identify it if it isn't already.
- if(!I.is_identified(IDENTITY_FULL))
- var/datum/identification/ID = I.identity
- if(ID.identification_type == IDENTITY_TYPE_CHEMICAL) // This only solves chemical-based mysteries.
- I.identify(IDENTITY_FULL, user)
-
- // Now tell us everything that is inside.
- if(I.reagents && I.reagents.reagent_list.len)
- to_chat(user, "
") // To add padding between regular chat and the output.
- for(var/datum/reagent/R in I.reagents.reagent_list)
- if(!R.name)
- continue
- to_chat(user, span("notice", "Contains [R.volume]u of
[R.name].
[R.description]
"))
-
- // Last, unseal it if it's an autoinjector.
- if(istype(I,/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector) && !(I.flags & OPENCONTAINER))
- I.flags |= OPENCONTAINER
- to_chat(user, span("notice", "Sample container unsealed.
"))
-
- to_chat(user, span("notice", "Scanning of \the [I] complete."))
- analyzing = FALSE
- update_icon()
- return
-
-#undef MAX_PILL_SPRITE
-#undef MAX_BOTTLE_SPRITE
-#undef MAX_MULTI_AMOUNT
-#undef MAX_UNITS_PER_PILL
-#undef MAX_UNITS_PER_PATCH
-#undef MAX_UNITS_PER_BOTTLE
-#undef MAX_CUSTOM_NAME_LEN
+/obj/machinery/chem_master
+ name = "ChemMaster 3000"
+ desc = "Used to seperate and package chemicals in to patches, pills, or bottles. Warranty void if used to create Space Drugs."
+ density = 1
+ anchored = 1
+ icon = 'icons/obj/chemical.dmi'
+ icon_state = "mixer0"
+ circuit = /obj/item/weapon/circuitboard/chem_master
+ use_power = USE_POWER_IDLE
+ idle_power_usage = 20
+ var/obj/item/weapon/reagent_containers/beaker = null
+ var/obj/item/weapon/storage/pill_bottle/loaded_pill_bottle = null
+ var/mode = 0
+ var/condi = 0
+ var/useramount = 15 // Last used amount
+ var/pillamount = 10
+ var/list/bottle_styles
+ var/bottlesprite = 1
+ var/pillsprite = 1
+ var/max_pill_count = 20
+ var/printing = FALSE
+ flags = OPENCONTAINER
+ clicksound = "button"
+
+/obj/machinery/chem_master/New()
+ ..()
+ var/datum/reagents/R = new/datum/reagents(900) //Just a huge random number so the buffer should (probably) never dump your reagents.
+ reagents = R //There should be a nano ui thingy to warn of this.
+ R.my_atom = src
+
+/obj/machinery/chem_master/ex_act(severity)
+ switch(severity)
+ if(1.0)
+ qdel(src)
+ return
+ if(2.0)
+ if (prob(50))
+ qdel(src)
+ return
+
+/obj/machinery/chem_master/update_icon()
+ icon_state = "mixer[beaker ? "1" : "0"]"
+
+/obj/machinery/chem_master/attackby(var/obj/item/weapon/B as obj, var/mob/user as mob)
+
+ if(istype(B, /obj/item/weapon/reagent_containers/glass) || istype(B, /obj/item/weapon/reagent_containers/food))
+
+ if(src.beaker)
+ to_chat(user, "\A [beaker] is already loaded into the machine.")
+ return
+ src.beaker = B
+ user.drop_item()
+ B.loc = src
+ to_chat(user, "You add \the [B] to the machine.")
+ update_icon()
+
+ else if(istype(B, /obj/item/weapon/storage/pill_bottle))
+
+ if(src.loaded_pill_bottle)
+ to_chat(user, "A \the [loaded_pill_bottle] s already loaded into the machine.")
+ return
+
+ src.loaded_pill_bottle = B
+ user.drop_item()
+ B.loc = src
+ to_chat(user, "You add \the [loaded_pill_bottle] into the dispenser slot.")
+
+ else if(default_unfasten_wrench(user, B, 20))
+ return
+ if(default_deconstruction_screwdriver(user, B))
+ return
+ if(default_deconstruction_crowbar(user, B))
+ return
+
+ return
+
+/obj/machinery/chem_master/attack_hand(mob/user as mob)
+ if(stat & BROKEN)
+ return
+ user.set_machine(src)
+ tgui_interact(user)
+
+/obj/machinery/chem_master/ui_assets(mob/user)
+ return list(
+ get_asset_datum(/datum/asset/chem_master),
+ )
+
+/obj/machinery/chem_master/tgui_interact(mob/user, datum/tgui/ui = null)
+ ui = SStgui.try_update_ui(user, src, ui)
+ if(!ui)
+ ui = new(user, src, "ChemMaster", name)
+ ui.open()
+
+/**
+ * Display the NanoUI window for the chem master.
+ *
+ * See NanoUI documentation for details.
+ */
+/obj/machinery/chem_master/tgui_data(mob/user)
+ var/list/data = list()
+
+ data["condi"] = condi
+
+ data["loaded_pill_bottle"] = !!loaded_pill_bottle
+ if(loaded_pill_bottle)
+ data["loaded_pill_bottle_name"] = loaded_pill_bottle.name
+ data["loaded_pill_bottle_contents_len"] = loaded_pill_bottle.contents.len
+ data["loaded_pill_bottle_storage_slots"] = loaded_pill_bottle.max_storage_space
+
+ data["beaker"] = !!beaker
+ if(beaker)
+ var/list/beaker_reagents_list = list()
+ data["beaker_reagents"] = beaker_reagents_list
+ for(var/datum/reagent/R in beaker.reagents.reagent_list)
+ beaker_reagents_list[++beaker_reagents_list.len] = list("name" = R.name, "volume" = R.volume, "description" = R.description, "id" = R.id)
+
+ var/list/buffer_reagents_list = list()
+ data["buffer_reagents"] = buffer_reagents_list
+ for(var/datum/reagent/R in reagents.reagent_list)
+ buffer_reagents_list[++buffer_reagents_list.len] = list("name" = R.name, "volume" = R.volume, "id" = R.id, "description" = R.description)
+
+ data["pillsprite"] = pillsprite
+ data["bottlesprite"] = bottlesprite
+ data["mode"] = mode
+ data["printing"] = printing
+
+ // Transfer modal information if there is one
+ data["modal"] = tgui_modal_data(src)
+
+ return data
+
+/**
+ * Called in tgui_act() to process modal actions
+ *
+ * Arguments:
+ * * action - The action passed by tgui
+ * * params - The params passed by tgui
+ */
+/obj/machinery/chem_master/proc/tgui_act_modal(action, params, datum/tgui/ui, datum/tgui_state/state)
+ . = TRUE
+ var/id = params["id"] // The modal's ID
+ var/list/arguments = istext(params["arguments"]) ? json_decode(params["arguments"]) : params["arguments"]
+ switch(tgui_modal_act(src, action, params))
+ if(TGUI_MODAL_OPEN)
+ switch(id)
+ if("analyze")
+ var/idx = text2num(arguments["idx"]) || 0
+ var/from_beaker = text2num(arguments["beaker"]) || FALSE
+ var/reagent_list = from_beaker ? beaker.reagents.reagent_list : reagents.reagent_list
+ if(idx < 1 || idx > length(reagent_list))
+ return
+
+ var/datum/reagent/R = reagent_list[idx]
+ var/list/result = list("idx" = idx, "name" = R.name, "desc" = R.description)
+ if(!condi && istype(R, /datum/reagent/blood))
+ var/datum/reagent/blood/B = R
+ result["blood_type"] = B.data["blood_type"]
+ result["blood_dna"] = B.data["blood_DNA"]
+
+ arguments["analysis"] = result
+ tgui_modal_message(src, id, "", null, arguments)
+ // if("change_pill_bottle_style")
+ // if(!loaded_pill_bottle)
+ // return
+ // if(!pill_bottle_wrappers)
+ // pill_bottle_wrappers = list(
+ // "CLEAR" = "Default",
+ // COLOR_RED = "Red",
+ // COLOR_GREEN = "Green",
+ // COLOR_PALE_BTL_GREEN = "Pale green",
+ // COLOR_BLUE = "Blue",
+ // COLOR_CYAN_BLUE = "Light blue",
+ // COLOR_TEAL = "Teal",
+ // COLOR_YELLOW = "Yellow",
+ // COLOR_ORANGE = "Orange",
+ // COLOR_PINK = "Pink",
+ // COLOR_MAROON = "Brown"
+ // )
+ // var/current = pill_bottle_wrappers[loaded_pill_bottle.wrapper_color] || "Default"
+ // tgui_modal_choice(src, id, "Please select a pill bottle wrapper:", null, arguments, current, pill_bottle_wrappers)
+ if("addcustom")
+ if(!beaker || !beaker.reagents.total_volume)
+ return
+ tgui_modal_input(src, id, "Please enter the amount to transfer to buffer:", null, arguments, useramount)
+ if("removecustom")
+ if(!reagents.total_volume)
+ return
+ tgui_modal_input(src, id, "Please enter the amount to transfer to [mode ? "beaker" : "disposal"]:", null, arguments, useramount)
+ if("create_condi_pack")
+ if(!condi || !reagents.total_volume)
+ return
+ tgui_modal_input(src, id, "Please name your new condiment pack:", null, arguments, reagents.get_master_reagent_name(), MAX_CUSTOM_NAME_LEN)
+ if("create_pill")
+ if(condi || !reagents.total_volume)
+ return
+ var/num = round(text2num(arguments["num"] || 1))
+ if(!num)
+ return
+ arguments["num"] = num
+ var/amount_per_pill = CLAMP(reagents.total_volume / num, 0, MAX_UNITS_PER_PILL)
+ var/default_name = "[reagents.get_master_reagent_name()] ([amount_per_pill]u)"
+ var/pills_text = num == 1 ? "new pill" : "[num] new pills"
+ tgui_modal_input(src, id, "Please name your [pills_text]:", null, arguments, default_name, MAX_CUSTOM_NAME_LEN)
+ if("create_pill_multiple")
+ if(condi || !reagents.total_volume)
+ return
+ tgui_modal_input(src, id, "Please enter the amount of pills to make (max [MAX_MULTI_AMOUNT] at a time):", null, arguments, pillamount, 5)
+ if("change_pill_style")
+ var/list/choices = list()
+ for(var/i = 1 to MAX_PILL_SPRITE)
+ choices += "pill[i].png"
+ tgui_modal_bento(src, id, "Please select the new style for pills:", null, arguments, pillsprite, choices)
+ if("create_patch")
+ if(condi || !reagents.total_volume)
+ return
+ var/num = round(text2num(arguments["num"] || 1))
+ if(!num)
+ return
+ arguments["num"] = num
+ var/amount_per_patch = CLAMP(reagents.total_volume / num, 0, MAX_UNITS_PER_PATCH)
+ var/default_name = "[reagents.get_master_reagent_name()] ([amount_per_patch]u)"
+ var/patches_text = num == 1 ? "new patch" : "[num] new patches"
+ tgui_modal_input(src, id, "Please name your [patches_text]:", null, arguments, default_name, MAX_CUSTOM_NAME_LEN)
+ if("create_patch_multiple")
+ if(condi || !reagents.total_volume)
+ return
+ tgui_modal_input(src, id, "Please enter the amount of patches to make (max [MAX_MULTI_AMOUNT] at a time):", null, arguments, pillamount, 5)
+ if("create_bottle")
+ if(condi || !reagents.total_volume)
+ return
+ var/num = round(text2num(arguments["num"] || 1))
+ if(!num)
+ return
+ arguments["num"] = num
+ var/amount_per_bottle = CLAMP(reagents.total_volume / num, 0, MAX_UNITS_PER_BOTTLE)
+ var/default_name = "[reagents.get_master_reagent_name()]"
+ var/bottles_text = num == 1 ? "new bottle" : "[num] new bottles"
+ tgui_modal_input(src, id, "Please name your [bottles_text] ([amount_per_bottle]u in bottle):", null, arguments, default_name, MAX_CUSTOM_NAME_LEN)
+ if("create_bottle_multiple")
+ if(condi || !reagents.total_volume)
+ return
+ tgui_modal_input(src, id, "Please enter the amount of bottles to make (max [MAX_MULTI_AMOUNT] at a time):", null, arguments, pillamount, 5)
+ if("change_bottle_style")
+ var/list/choices = list()
+ for(var/i = 1 to MAX_BOTTLE_SPRITE)
+ choices += "bottle-[i].png"
+ tgui_modal_bento(src, id, "Please select the new style for bottles:", null, arguments, bottlesprite, choices)
+ else
+ return FALSE
+ if(TGUI_MODAL_ANSWER)
+ var/answer = params["answer"]
+ switch(id)
+ // if("change_pill_bottle_style")
+ // if(!pill_bottle_wrappers || !loaded_pill_bottle) // wat?
+ // return
+ // var/color = "CLEAR"
+ // for(var/col in pill_bottle_wrappers)
+ // var/col_name = pill_bottle_wrappers[col]
+ // if(col_name == answer)
+ // color = col
+ // break
+ // if(length(color) && color != "CLEAR")
+ // loaded_pill_bottle.wrapper_color = color
+ // loaded_pill_bottle.apply_wrap()
+ // else
+ // loaded_pill_bottle.wrapper_color = null
+ // loaded_pill_bottle.cut_overlays()
+ if("addcustom")
+ var/amount = isgoodnumber(text2num(answer))
+ if(!amount || !arguments["id"])
+ return
+ tgui_act("add", list("id" = arguments["id"], "amount" = amount), ui, state)
+ if("removecustom")
+ var/amount = isgoodnumber(text2num(answer))
+ if(!amount || !arguments["id"])
+ return
+ tgui_act("remove", list("id" = arguments["id"], "amount" = amount), ui, state)
+ if("create_condi_pack")
+ if(!condi || !reagents.total_volume)
+ return
+ if(!length(answer))
+ answer = reagents.get_master_reagent_name()
+ var/obj/item/weapon/reagent_containers/pill/P = new(loc)
+ P.name = "[answer] pack"
+ P.desc = "A small condiment pack. The label says it contains [answer]."
+ P.icon_state = "bouilloncube"//Reskinned monkey cube
+ reagents.trans_to_obj(P, 10)
+ if("create_pill")
+ if(condi || !reagents.total_volume)
+ return
+ var/count = CLAMP(round(text2num(arguments["num"]) || 0), 0, MAX_MULTI_AMOUNT)
+ if(!count)
+ return
+
+ if(!length(answer))
+ answer = reagents.get_master_reagent_name()
+ var/amount_per_pill = CLAMP(reagents.total_volume / count, 0, MAX_UNITS_PER_PILL)
+ while(count--)
+ if(reagents.total_volume <= 0)
+ to_chat(usr, "
Not enough reagents to create these pills!")
+ return
+
+ var/obj/item/weapon/reagent_containers/pill/P = new(loc)
+ P.name = "[answer] pill"
+ P.pixel_x = rand(-7, 7) // Random position
+ P.pixel_y = rand(-7, 7)
+ P.icon_state = "pill[pillsprite]"
+ if(P.icon_state in list("pill1", "pill2", "pill3", "pill4")) // if using greyscale, take colour from reagent
+ P.color = reagents.get_color()
+ reagents.trans_to_obj(P, amount_per_pill)
+ // Load the pills in the bottle if there's one loaded
+ if(istype(loaded_pill_bottle) && length(loaded_pill_bottle.contents) < loaded_pill_bottle.max_storage_space)
+ P.forceMove(loaded_pill_bottle)
+ if("create_pill_multiple")
+ if(condi || !reagents.total_volume)
+ return
+ tgui_act("modal_open", list("id" = "create_pill", "arguments" = list("num" = answer)), ui, state)
+ if("change_pill_style")
+ var/new_style = CLAMP(text2num(answer) || 0, 0, MAX_PILL_SPRITE)
+ if(!new_style)
+ return
+ pillsprite = new_style
+ if("create_patch")
+ if(condi || !reagents.total_volume)
+ return
+ var/count = CLAMP(round(text2num(arguments["num"]) || 0), 0, MAX_MULTI_AMOUNT)
+ if(!count)
+ return
+
+ if(!length(answer))
+ answer = reagents.get_master_reagent_name()
+ var/amount_per_patch = CLAMP(reagents.total_volume / count, 0, MAX_UNITS_PER_PATCH)
+ // var/is_medical_patch = chemical_safety_check(reagents)
+ while(count--)
+ if(reagents.total_volume <= 0)
+ to_chat(usr, "
Not enough reagents to create these patches!")
+ return
+
+ var/obj/item/weapon/reagent_containers/pill/patch/P = new(loc)
+ P.name = "[answer] patch"
+ P.pixel_x = rand(-7, 7) // random position
+ P.pixel_y = rand(-7, 7)
+ reagents.trans_to_obj(P, amount_per_patch)
+ // if(is_medical_patch)
+ // P.instant_application = TRUE
+ // P.icon_state = "bandaid_med"
+ if("create_patch_multiple")
+ if(condi || !reagents.total_volume)
+ return
+ tgui_act("modal_open", list("id" = "create_patch", "arguments" = list("num" = answer)), ui, state)
+ if("create_bottle")
+ if(condi || !reagents.total_volume)
+ return
+ var/count = CLAMP(round(text2num(arguments["num"]) || 0), 0, MAX_MULTI_AMOUNT)
+ if(!count)
+ return
+
+ if(!length(answer))
+ answer = reagents.get_master_reagent_name()
+ var/amount_per_bottle = CLAMP(reagents.total_volume / count, 0, MAX_UNITS_PER_BOTTLE)
+ while(count--)
+ if(reagents.total_volume <= 0)
+ to_chat(usr, "
Not enough reagents to create these bottles!")
+ return
+ var/obj/item/weapon/reagent_containers/glass/bottle/P = new(loc)
+ P.name = "[answer] bottle"
+ P.pixel_x = rand(-7, 7) // random position
+ P.pixel_y = rand(-7, 7)
+ P.icon_state = "bottle-[bottlesprite]" || "bottle-1"
+ reagents.trans_to_obj(P, amount_per_bottle)
+ P.update_icon()
+ if("create_bottle_multiple")
+ if(condi || !reagents.total_volume)
+ return
+ tgui_act("modal_open", list("id" = "create_bottle", "arguments" = list("num" = answer)), ui, state)
+ if("change_bottle_style")
+ var/new_style = CLAMP(text2num(answer) || 0, 0, MAX_BOTTLE_SPRITE)
+ if(!new_style)
+ return
+ bottlesprite = new_style
+ else
+ return FALSE
+ else
+ return FALSE
+
+/obj/machinery/chem_master/tgui_act(action, params, datum/tgui/ui, datum/tgui_state/state)
+ if(..())
+ return TRUE
+
+ if(tgui_act_modal(action, params, ui, state))
+ return TRUE
+
+ add_fingerprint(usr)
+ usr.set_machine(src)
+
+ . = TRUE
+ switch(action)
+ if("toggle")
+ mode = !mode
+ if("ejectp")
+ if(loaded_pill_bottle)
+ loaded_pill_bottle.forceMove(get_turf(src))
+ if(Adjacent(usr) && !issilicon(usr))
+ usr.put_in_hands(loaded_pill_bottle)
+ loaded_pill_bottle = null
+ if("print")
+ if(printing || condi)
+ return
+
+ var/idx = text2num(params["idx"]) || 0
+ var/from_beaker = text2num(params["beaker"]) || FALSE
+ var/reagent_list = from_beaker ? beaker.reagents.reagent_list : reagents.reagent_list
+ if(idx < 1 || idx > length(reagent_list))
+ return
+
+ var/datum/reagent/R = reagent_list[idx]
+
+ printing = TRUE
+ visible_message("
[src] rattles and prints out a sheet of paper.")
+ // playsound(loc, 'sound/goonstation/machines/printer_dotmatrix.ogg', 50, 1)
+
+ var/obj/item/weapon/paper/P = new /obj/item/weapon/paper(loc)
+ P.info = "
Chemical Analysis"
+ P.info += "
Time of analysis: [worldtime2stationtime(world.time)]
"
+ P.info += "
Chemical name: [R.name]
"
+ if(istype(R, /datum/reagent/blood))
+ var/datum/reagent/blood/B = R
+ P.info += "
Description: N/A
Blood Type: [B.data["blood_type"]]
DNA: [B.data["blood_DNA"]]"
+ else
+ P.info += "
Description: [R.description]"
+ P.info += "
Notes:"
+ P.name = "Chemical Analysis - [R.name]"
+ spawn(50)
+ printing = FALSE
+ else
+ . = FALSE
+
+ if(. || !beaker)
+ return
+
+ . = TRUE
+ var/datum/reagents/R = beaker.reagents
+ switch(action)
+ if("add")
+ var/id = params["id"]
+ var/amount = text2num(params["amount"])
+ if(!id || !amount)
+ return
+ R.trans_id_to(src, id, amount)
+ if("remove")
+ var/id = params["id"]
+ var/amount = text2num(params["amount"])
+ if(!id || !amount)
+ return
+ if(mode)
+ reagents.trans_id_to(beaker, id, amount)
+ else
+ reagents.remove_reagent(id, amount)
+ if("eject")
+ if(!beaker)
+ return
+ beaker.forceMove(get_turf(src))
+ if(Adjacent(usr) && !issilicon(usr))
+ usr.put_in_hands(beaker)
+ beaker = null
+ reagents.clear_reagents()
+ update_icon()
+ if("create_condi_bottle")
+ if(!condi || !reagents.total_volume)
+ return
+ var/obj/item/weapon/reagent_containers/food/condiment/P = new(loc)
+ reagents.trans_to_obj(P, 50)
+ else
+ return FALSE
+
+/obj/machinery/chem_master/attack_ai(mob/user)
+ return attack_hand(user)
+
+/obj/machinery/chem_master/proc/isgoodnumber(num)
+ if(isnum(num))
+ if(num > 200)
+ num = 200
+ else if(num < 0)
+ num = 1
+ return num
+ else
+ return FALSE
+
+// /obj/machinery/chem_master/proc/chemical_safety_check(datum/reagents/R)
+// var/all_safe = TRUE
+// for(var/datum/reagent/A in R.reagent_list)
+// if(!GLOB.safe_chem_list.Find(A.id))
+// all_safe = FALSE
+// return all_safe
+
+/obj/machinery/chem_master/condimaster
+ name = "CondiMaster 3000"
+ condi = 1
diff --git a/code/modules/reagents/Chemistry-Machinery_vr.dm b/code/modules/reagents/machinery/chem_master_vr.dm
similarity index 100%
rename from code/modules/reagents/Chemistry-Machinery_vr.dm
rename to code/modules/reagents/machinery/chem_master_vr.dm
diff --git a/code/modules/reagents/machinery/chemalyzer.dm b/code/modules/reagents/machinery/chemalyzer.dm
new file mode 100644
index 0000000000..ce8b1d6f12
--- /dev/null
+++ b/code/modules/reagents/machinery/chemalyzer.dm
@@ -0,0 +1,63 @@
+// Detects reagents inside most containers, and acts as an infinite identification system for reagent-based unidentified objects.
+
+/obj/machinery/chemical_analyzer
+ name = "chem analyzer"
+ desc = "Used to precisely scan chemicals and other liquids inside various containers. \
+ It may also identify the liquid contents of unknown objects."
+ description_info = "This machine will try to tell you what reagents are inside of something capable of holding reagents. \
+ It is also used to 'identify' specific reagent-based objects with their properties obscured from inspection by normal means."
+ icon = 'icons/obj/chemical.dmi'
+ icon_state = "chem_analyzer"
+ density = TRUE
+ anchored = TRUE
+ use_power = TRUE
+ idle_power_usage = 20
+ clicksound = "button"
+ var/analyzing = FALSE
+
+/obj/machinery/chemical_analyzer/update_icon()
+ icon_state = "chem_analyzer[analyzing ? "-working":""]"
+
+/obj/machinery/chemical_analyzer/attackby(obj/item/I, mob/living/user)
+ if(!istype(I))
+ return ..()
+
+ if(default_deconstruction_screwdriver(user, I))
+ return
+ if(default_deconstruction_crowbar(user, I))
+ return
+
+ if(istype(I,/obj/item/weapon/reagent_containers))
+ analyzing = TRUE
+ update_icon()
+ to_chat(user, span("notice", "Analyzing \the [I], please stand by..."))
+
+ if(!do_after(user, 2 SECONDS, src))
+ to_chat(user, span("warning", "Sample moved outside of scan range, please try again and remain still."))
+ analyzing = FALSE
+ update_icon()
+ return
+
+ // First, identify it if it isn't already.
+ if(!I.is_identified(IDENTITY_FULL))
+ var/datum/identification/ID = I.identity
+ if(ID.identification_type == IDENTITY_TYPE_CHEMICAL) // This only solves chemical-based mysteries.
+ I.identify(IDENTITY_FULL, user)
+
+ // Now tell us everything that is inside.
+ if(I.reagents && I.reagents.reagent_list.len)
+ to_chat(user, "
") // To add padding between regular chat and the output.
+ for(var/datum/reagent/R in I.reagents.reagent_list)
+ if(!R.name)
+ continue
+ to_chat(user, span("notice", "Contains [R.volume]u of
[R.name].
[R.description]
"))
+
+ // Last, unseal it if it's an autoinjector.
+ if(istype(I,/obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector) && !(I.flags & OPENCONTAINER))
+ I.flags |= OPENCONTAINER
+ to_chat(user, span("notice", "Sample container unsealed.
"))
+
+ to_chat(user, span("notice", "Scanning of \the [I] complete."))
+ analyzing = FALSE
+ update_icon()
+ return
\ No newline at end of file
diff --git a/code/modules/reagents/dispenser/_defines.dm b/code/modules/reagents/machinery/dispenser/_defines.dm
similarity index 96%
rename from code/modules/reagents/dispenser/_defines.dm
rename to code/modules/reagents/machinery/dispenser/_defines.dm
index 60c12cdba6..8d52cf5cd0 100644
--- a/code/modules/reagents/dispenser/_defines.dm
+++ b/code/modules/reagents/machinery/dispenser/_defines.dm
@@ -1,8 +1,8 @@
-#define CARTRIDGE_VOLUME_LARGE 500
-#define CARTRIDGE_VOLUME_MEDIUM 250
-#define CARTRIDGE_VOLUME_SMALL 100
-
-// Chemistry dispenser starts with 21
-// ERT dispenser starts with 28
-#define DISPENSER_MAX_CARTRIDGES 30
-
+#define CARTRIDGE_VOLUME_LARGE 500
+#define CARTRIDGE_VOLUME_MEDIUM 250
+#define CARTRIDGE_VOLUME_SMALL 100
+
+// Chemistry dispenser starts with 21
+// ERT dispenser starts with 28
+#define DISPENSER_MAX_CARTRIDGES 30
+
diff --git a/code/modules/reagents/dispenser/cartridge.dm b/code/modules/reagents/machinery/dispenser/cartridge.dm
similarity index 97%
rename from code/modules/reagents/dispenser/cartridge.dm
rename to code/modules/reagents/machinery/dispenser/cartridge.dm
index 444577aaa5..0e2b09eb57 100644
--- a/code/modules/reagents/dispenser/cartridge.dm
+++ b/code/modules/reagents/machinery/dispenser/cartridge.dm
@@ -1,95 +1,95 @@
-/obj/item/weapon/reagent_containers/chem_disp_cartridge
- name = "chemical dispenser cartridge"
- desc = "This goes in a chemical dispenser."
- icon_state = "cartridge"
-
- w_class = ITEMSIZE_NORMAL
-
- volume = CARTRIDGE_VOLUME_LARGE
- amount_per_transfer_from_this = 50
- // Large, but inaccurate. Use a chem dispenser or beaker for accuracy.
- possible_transfer_amounts = list(50, 100, 250, 500)
- unacidable = 1
-
- var/spawn_reagent = null
- var/label = ""
-
-/obj/item/weapon/reagent_containers/chem_disp_cartridge/Initialize()
- . = ..()
- if(spawn_reagent)
- reagents.add_reagent(spawn_reagent, volume)
- var/datum/reagent/R = SSchemistry.chemical_reagents[spawn_reagent]
- setLabel(R.name)
-
-/obj/item/weapon/reagent_containers/chem_disp_cartridge/examine(mob/user)
- . = ..()
- . += "It has a capacity of [volume] units."
- if(reagents.total_volume <= 0)
- . += "It is empty."
- else
- . += "It contains [reagents.total_volume] units of liquid."
- if(!is_open_container())
- . += "The cap is sealed."
-
-/obj/item/weapon/reagent_containers/chem_disp_cartridge/verb/verb_set_label(L as text)
- set name = "Set Cartridge Label"
- set category = "Object"
- set src in view(usr, 1)
-
- setLabel(L, usr)
-
-/obj/item/weapon/reagent_containers/chem_disp_cartridge/proc/setLabel(L, mob/user = null)
- if(L)
- if(user)
- to_chat(user, "
You set the label on \the [src] to '[L]'.")
-
- label = L
- name = "[initial(name)] - '[L]'"
- else
- if(user)
- to_chat(user, "
You clear the label on \the [src].")
- label = ""
- name = initial(name)
-
-/obj/item/weapon/reagent_containers/chem_disp_cartridge/attack_self()
- ..()
- if (is_open_container())
- to_chat(usr, "
You put the cap on \the [src].")
- flags ^= OPENCONTAINER
- else
- to_chat(usr, "
You take the cap off \the [src].")
- flags |= OPENCONTAINER
-
-/obj/item/weapon/reagent_containers/chem_disp_cartridge/afterattack(obj/target, mob/user , flag)
- if (!is_open_container() || !flag)
- return
-
- else if(istype(target, /obj/structure/reagent_dispensers)) //A dispenser. Transfer FROM it TO us.
- target.add_fingerprint(user)
-
- if(!target.reagents.total_volume && target.reagents)
- to_chat(user, "
\The [target] is empty.")
- return
-
- if(reagents.total_volume >= reagents.maximum_volume)
- to_chat(user, "
\The [src] is full.")
- return
-
- var/trans = target.reagents.trans_to(src, target:amount_per_transfer_from_this)
- to_chat(user, "
You fill \the [src] with [trans] units of the contents of \the [target].")
-
- else if(target.is_open_container() && target.reagents) //Something like a glass. Player probably wants to transfer TO it.
-
- if(!reagents.total_volume)
- to_chat(user, "
\The [src] is empty.")
- return
-
- if(target.reagents.total_volume >= target.reagents.maximum_volume)
- to_chat(user, "
\The [target] is full.")
- return
-
- var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this)
- to_chat(user, "
You transfer [trans] units of the solution to \the [target].")
-
- else
- return ..()
+/obj/item/weapon/reagent_containers/chem_disp_cartridge
+ name = "chemical dispenser cartridge"
+ desc = "This goes in a chemical dispenser."
+ icon_state = "cartridge"
+
+ w_class = ITEMSIZE_NORMAL
+
+ volume = CARTRIDGE_VOLUME_LARGE
+ amount_per_transfer_from_this = 50
+ // Large, but inaccurate. Use a chem dispenser or beaker for accuracy.
+ possible_transfer_amounts = list(50, 100, 250, 500)
+ unacidable = 1
+
+ var/spawn_reagent = null
+ var/label = ""
+
+/obj/item/weapon/reagent_containers/chem_disp_cartridge/Initialize()
+ . = ..()
+ if(spawn_reagent)
+ reagents.add_reagent(spawn_reagent, volume)
+ var/datum/reagent/R = SSchemistry.chemical_reagents[spawn_reagent]
+ setLabel(R.name)
+
+/obj/item/weapon/reagent_containers/chem_disp_cartridge/examine(mob/user)
+ . = ..()
+ . += "It has a capacity of [volume] units."
+ if(reagents.total_volume <= 0)
+ . += "It is empty."
+ else
+ . += "It contains [reagents.total_volume] units of liquid."
+ if(!is_open_container())
+ . += "The cap is sealed."
+
+/obj/item/weapon/reagent_containers/chem_disp_cartridge/verb/verb_set_label(L as text)
+ set name = "Set Cartridge Label"
+ set category = "Object"
+ set src in view(usr, 1)
+
+ setLabel(L, usr)
+
+/obj/item/weapon/reagent_containers/chem_disp_cartridge/proc/setLabel(L, mob/user = null)
+ if(L)
+ if(user)
+ to_chat(user, "
You set the label on \the [src] to '[L]'.")
+
+ label = L
+ name = "[initial(name)] - '[L]'"
+ else
+ if(user)
+ to_chat(user, "
You clear the label on \the [src].")
+ label = ""
+ name = initial(name)
+
+/obj/item/weapon/reagent_containers/chem_disp_cartridge/attack_self()
+ ..()
+ if (is_open_container())
+ to_chat(usr, "
You put the cap on \the [src].")
+ flags ^= OPENCONTAINER
+ else
+ to_chat(usr, "
You take the cap off \the [src].")
+ flags |= OPENCONTAINER
+
+/obj/item/weapon/reagent_containers/chem_disp_cartridge/afterattack(obj/target, mob/user , flag)
+ if (!is_open_container() || !flag)
+ return
+
+ else if(istype(target, /obj/structure/reagent_dispensers)) //A dispenser. Transfer FROM it TO us.
+ target.add_fingerprint(user)
+
+ if(!target.reagents.total_volume && target.reagents)
+ to_chat(user, "
\The [target] is empty.")
+ return
+
+ if(reagents.total_volume >= reagents.maximum_volume)
+ to_chat(user, "
\The [src] is full.")
+ return
+
+ var/trans = target.reagents.trans_to(src, target:amount_per_transfer_from_this)
+ to_chat(user, "
You fill \the [src] with [trans] units of the contents of \the [target].")
+
+ else if(target.is_open_container() && target.reagents) //Something like a glass. Player probably wants to transfer TO it.
+
+ if(!reagents.total_volume)
+ to_chat(user, "
\The [src] is empty.")
+ return
+
+ if(target.reagents.total_volume >= target.reagents.maximum_volume)
+ to_chat(user, "
\The [target] is full.")
+ return
+
+ var/trans = src.reagents.trans_to(target, amount_per_transfer_from_this)
+ to_chat(user, "
You transfer [trans] units of the solution to \the [target].")
+
+ else
+ return ..()
diff --git a/code/modules/reagents/dispenser/cartridge_presets.dm b/code/modules/reagents/machinery/dispenser/cartridge_presets.dm
similarity index 97%
rename from code/modules/reagents/dispenser/cartridge_presets.dm
rename to code/modules/reagents/machinery/dispenser/cartridge_presets.dm
index eea22fff7e..21b321ad34 100644
--- a/code/modules/reagents/dispenser/cartridge_presets.dm
+++ b/code/modules/reagents/machinery/dispenser/cartridge_presets.dm
@@ -1,108 +1,108 @@
-/obj/item/weapon/reagent_containers/chem_disp_cartridge
- small
- volume = CARTRIDGE_VOLUME_SMALL
-
- medium
- volume = CARTRIDGE_VOLUME_MEDIUM
-
- // Multiple
- water spawn_reagent = "water"
- sugar spawn_reagent = "sugar"
-
- // Chemistry
- hydrogen spawn_reagent = "hydrogen"
- lithium spawn_reagent = "lithium"
- carbon spawn_reagent = "carbon"
- nitrogen spawn_reagent = "nitrogen"
- oxygen spawn_reagent = "oxygen"
- fluorine spawn_reagent = "fluorine"
- sodium spawn_reagent = "sodium"
- aluminum spawn_reagent = "aluminum"
- silicon spawn_reagent = "silicon"
- phosphorus spawn_reagent = "phosphorus"
- sulfur spawn_reagent = "sulfur"
- chlorine spawn_reagent = "chlorine"
- potassium spawn_reagent = "potassium"
- iron spawn_reagent = "iron"
- copper spawn_reagent = "copper"
- mercury spawn_reagent = "mercury"
- radium spawn_reagent = "radium"
- ethanol spawn_reagent = "ethanol"
- sacid spawn_reagent = "sacid"
- tungsten spawn_reagent = "tungsten"
- calcium spawn_reagent = "calcium"
-
- // Bar, alcoholic
- beer spawn_reagent = "beer"
- kahlua spawn_reagent = "kahlua"
- whiskey spawn_reagent = "whiskey"
- wine spawn_reagent = "wine"
- vodka spawn_reagent = "vodka"
- gin spawn_reagent = "gin"
- rum spawn_reagent = "rum"
- tequila spawn_reagent = "tequilla"
- vermouth spawn_reagent = "vermouth"
- cognac spawn_reagent = "cognac"
- ale spawn_reagent = "ale"
- mead spawn_reagent = "mead"
- bitters spawn_reagent = "bitters"
- cider spawn_reagent = "cider"
-
- // Bar, soft
- ice spawn_reagent = "ice"
- tea spawn_reagent = "tea"
- icetea spawn_reagent = "icetea"
- cola spawn_reagent = "cola"
- smw spawn_reagent = "spacemountainwind"
- dr_gibb spawn_reagent = "dr_gibb"
- spaceup spawn_reagent = "space_up"
- tonic spawn_reagent = "tonic"
- sodawater spawn_reagent = "sodawater"
- lemon_lime spawn_reagent = "lemon_lime"
- orange spawn_reagent = "orangejuice"
- lime spawn_reagent = "limejuice"
- watermelon spawn_reagent = "watermelonjuice"
- lemon spawn_reagent = "lemonjuice"
-
- // Bar, coffee
- coffee spawn_reagent = "coffee"
- cafe_latte spawn_reagent = "cafe_latte"
- soy_latte spawn_reagent = "soy_latte"
- hot_coco spawn_reagent = "hot_coco"
- milk spawn_reagent = "milk"
- cream spawn_reagent = "cream"
- mint spawn_reagent = "mint"
- berry spawn_reagent = "berryjuice"
- greentea spawn_reagent = "greentea"
- decaf spawn_reagent = "decaf"
-
- // ERT
- inaprov spawn_reagent = "inaprovaline"
- ryetalyn spawn_reagent = "ryetalyn"
- paracetamol spawn_reagent = "paracetamol"
- tramadol spawn_reagent = "tramadol"
- oxycodone spawn_reagent = "oxycodone"
- sterilizine spawn_reagent = "sterilizine"
- leporazine spawn_reagent = "leporazine"
- kelotane spawn_reagent = "kelotane"
- dermaline spawn_reagent = "dermaline"
- dexalin spawn_reagent = "dexalin"
- dexalin/small volume = CARTRIDGE_VOLUME_SMALL // For the medicine cartridge crate, so it's not too easy to get large amounts of dexalin
- dexalin_p spawn_reagent = "dexalinp"
- tricord spawn_reagent = "tricordrazine"
- dylovene spawn_reagent = "anti_toxin"
- synaptizine spawn_reagent = "synaptizine"
- hyronalin spawn_reagent = "hyronalin"
- arithrazine spawn_reagent = "arithrazine"
- alkysine spawn_reagent = "alkysine"
- imidazoline spawn_reagent = "imidazoline"
- peridaxon spawn_reagent = "peridaxon"
- bicaridine spawn_reagent = "bicaridine"
- hyperzine spawn_reagent = "hyperzine"
- rezadone spawn_reagent = "rezadone"
- spaceacillin spawn_reagent = "spaceacillin"
- ethylredox spawn_reagent = "ethylredoxrazine"
- sleeptox spawn_reagent = "stoxin"
- chloral spawn_reagent = "chloralhydrate"
- cryoxadone spawn_reagent = "cryoxadone"
- clonexadone spawn_reagent = "clonexadone"
+/obj/item/weapon/reagent_containers/chem_disp_cartridge
+ small
+ volume = CARTRIDGE_VOLUME_SMALL
+
+ medium
+ volume = CARTRIDGE_VOLUME_MEDIUM
+
+ // Multiple
+ water spawn_reagent = "water"
+ sugar spawn_reagent = "sugar"
+
+ // Chemistry
+ hydrogen spawn_reagent = "hydrogen"
+ lithium spawn_reagent = "lithium"
+ carbon spawn_reagent = "carbon"
+ nitrogen spawn_reagent = "nitrogen"
+ oxygen spawn_reagent = "oxygen"
+ fluorine spawn_reagent = "fluorine"
+ sodium spawn_reagent = "sodium"
+ aluminum spawn_reagent = "aluminum"
+ silicon spawn_reagent = "silicon"
+ phosphorus spawn_reagent = "phosphorus"
+ sulfur spawn_reagent = "sulfur"
+ chlorine spawn_reagent = "chlorine"
+ potassium spawn_reagent = "potassium"
+ iron spawn_reagent = "iron"
+ copper spawn_reagent = "copper"
+ mercury spawn_reagent = "mercury"
+ radium spawn_reagent = "radium"
+ ethanol spawn_reagent = "ethanol"
+ sacid spawn_reagent = "sacid"
+ tungsten spawn_reagent = "tungsten"
+ calcium spawn_reagent = "calcium"
+
+ // Bar, alcoholic
+ beer spawn_reagent = "beer"
+ kahlua spawn_reagent = "kahlua"
+ whiskey spawn_reagent = "whiskey"
+ wine spawn_reagent = "wine"
+ vodka spawn_reagent = "vodka"
+ gin spawn_reagent = "gin"
+ rum spawn_reagent = "rum"
+ tequila spawn_reagent = "tequilla"
+ vermouth spawn_reagent = "vermouth"
+ cognac spawn_reagent = "cognac"
+ ale spawn_reagent = "ale"
+ mead spawn_reagent = "mead"
+ bitters spawn_reagent = "bitters"
+ cider spawn_reagent = "cider"
+
+ // Bar, soft
+ ice spawn_reagent = "ice"
+ tea spawn_reagent = "tea"
+ icetea spawn_reagent = "icetea"
+ cola spawn_reagent = "cola"
+ smw spawn_reagent = "spacemountainwind"
+ dr_gibb spawn_reagent = "dr_gibb"
+ spaceup spawn_reagent = "space_up"
+ tonic spawn_reagent = "tonic"
+ sodawater spawn_reagent = "sodawater"
+ lemon_lime spawn_reagent = "lemon_lime"
+ orange spawn_reagent = "orangejuice"
+ lime spawn_reagent = "limejuice"
+ watermelon spawn_reagent = "watermelonjuice"
+ lemon spawn_reagent = "lemonjuice"
+
+ // Bar, coffee
+ coffee spawn_reagent = "coffee"
+ cafe_latte spawn_reagent = "cafe_latte"
+ soy_latte spawn_reagent = "soy_latte"
+ hot_coco spawn_reagent = "hot_coco"
+ milk spawn_reagent = "milk"
+ cream spawn_reagent = "cream"
+ mint spawn_reagent = "mint"
+ berry spawn_reagent = "berryjuice"
+ greentea spawn_reagent = "greentea"
+ decaf spawn_reagent = "decaf"
+
+ // ERT
+ inaprov spawn_reagent = "inaprovaline"
+ ryetalyn spawn_reagent = "ryetalyn"
+ paracetamol spawn_reagent = "paracetamol"
+ tramadol spawn_reagent = "tramadol"
+ oxycodone spawn_reagent = "oxycodone"
+ sterilizine spawn_reagent = "sterilizine"
+ leporazine spawn_reagent = "leporazine"
+ kelotane spawn_reagent = "kelotane"
+ dermaline spawn_reagent = "dermaline"
+ dexalin spawn_reagent = "dexalin"
+ dexalin/small volume = CARTRIDGE_VOLUME_SMALL // For the medicine cartridge crate, so it's not too easy to get large amounts of dexalin
+ dexalin_p spawn_reagent = "dexalinp"
+ tricord spawn_reagent = "tricordrazine"
+ dylovene spawn_reagent = "anti_toxin"
+ synaptizine spawn_reagent = "synaptizine"
+ hyronalin spawn_reagent = "hyronalin"
+ arithrazine spawn_reagent = "arithrazine"
+ alkysine spawn_reagent = "alkysine"
+ imidazoline spawn_reagent = "imidazoline"
+ peridaxon spawn_reagent = "peridaxon"
+ bicaridine spawn_reagent = "bicaridine"
+ hyperzine spawn_reagent = "hyperzine"
+ rezadone spawn_reagent = "rezadone"
+ spaceacillin spawn_reagent = "spaceacillin"
+ ethylredox spawn_reagent = "ethylredoxrazine"
+ sleeptox spawn_reagent = "stoxin"
+ chloral spawn_reagent = "chloralhydrate"
+ cryoxadone spawn_reagent = "cryoxadone"
+ clonexadone spawn_reagent = "clonexadone"
diff --git a/code/modules/reagents/dispenser/cartridge_presets_ch.dm b/code/modules/reagents/machinery/dispenser/cartridge_presets_ch.dm
similarity index 95%
rename from code/modules/reagents/dispenser/cartridge_presets_ch.dm
rename to code/modules/reagents/machinery/dispenser/cartridge_presets_ch.dm
index e5ba6f0582..21e473e514 100644
--- a/code/modules/reagents/dispenser/cartridge_presets_ch.dm
+++ b/code/modules/reagents/machinery/dispenser/cartridge_presets_ch.dm
@@ -1,42 +1,42 @@
-/obj/item/weapon/reagent_containers/chem_disp_cartridge
- //CHOMP - Chems that are used but not meant for cargo supplies, at least for now. - Jack
- champagne spawn_reagent = "champagne"
- grapesoda spawn_reagent = "grapesoda"
- singulo spawn_reagent = "singulo"
- doctorsdelight spawn_reagent = "doctorsdelight"
- nothing spawn_reagent = "nothing"
- banana spawn_reagent = "banana"
- honey spawn_reagent = "honey"
- egg spawn_reagent = "egg"
- coco spawn_reagent = "coco"
- cherryjelly spawn_reagent = "cherryjelly"
- carrotjuice spawn_reagent = "carrotjuice"
- applejuice spawn_reagent = "applejuice"
- tomatojuice spawn_reagent = "tomatojuice"
- peanutbutter spawn_reagent = "peanutbutter"
- matcha_latte spawn_reagent = "matcha_latte"
- soymilk spawn_reagent = "soymilk"
- grenadine spawn_reagent = "grenadine"
- gingerale spawn_reagent = "gingerale"
- roy_rogers spawn_reagent = "roy_rogers"
- patron spawn_reagent = "patron"
- goldschlager spawn_reagent = "goldschlager"
- gelatin spawn_reagent = "gelatin"
- melonliquor spawn_reagent = "melonliquor"
- bluecuracao spawn_reagent = "bluecuracao"
- thirteenloko spawn_reagent = "thirteenloko"
- deadrum spawn_reagent = "deadrum"
- sake spawn_reagent = "sake"
- acidspit spawn_reagent = "acidspit"
- amasec spawn_reagent = "amasec"
- beepskysmash spawn_reagent = "beepskysmash"
- atomicbomb spawn_reagent = "atomicbomb"
- nuka_cola spawn_reagent = "nuka_cola"
- threemileisland spawn_reagent = "threemileisland"
- manhattan_proj spawn_reagent = "manhattan_proj"
- psilocybin spawn_reagent = "psilocybin"
- moonshine spawn_reagent = "moonshine"
- specialwhiskey spawn_reagent = "specialwhiskey"
- unathiliquor spawn_reagent = "unathiliquor"
- winebrandy spawn_reagent = "winebrandy"
- snaps spawn_reagent = "snaps"
\ No newline at end of file
+/obj/item/weapon/reagent_containers/chem_disp_cartridge
+ //CHOMP - Chems that are used but not meant for cargo supplies, at least for now. - Jack
+ champagne spawn_reagent = "champagne"
+ grapesoda spawn_reagent = "grapesoda"
+ singulo spawn_reagent = "singulo"
+ doctorsdelight spawn_reagent = "doctorsdelight"
+ nothing spawn_reagent = "nothing"
+ banana spawn_reagent = "banana"
+ honey spawn_reagent = "honey"
+ egg spawn_reagent = "egg"
+ coco spawn_reagent = "coco"
+ cherryjelly spawn_reagent = "cherryjelly"
+ carrotjuice spawn_reagent = "carrotjuice"
+ applejuice spawn_reagent = "applejuice"
+ tomatojuice spawn_reagent = "tomatojuice"
+ peanutbutter spawn_reagent = "peanutbutter"
+ matcha_latte spawn_reagent = "matcha_latte"
+ soymilk spawn_reagent = "soymilk"
+ grenadine spawn_reagent = "grenadine"
+ gingerale spawn_reagent = "gingerale"
+ roy_rogers spawn_reagent = "roy_rogers"
+ patron spawn_reagent = "patron"
+ goldschlager spawn_reagent = "goldschlager"
+ gelatin spawn_reagent = "gelatin"
+ melonliquor spawn_reagent = "melonliquor"
+ bluecuracao spawn_reagent = "bluecuracao"
+ thirteenloko spawn_reagent = "thirteenloko"
+ deadrum spawn_reagent = "deadrum"
+ sake spawn_reagent = "sake"
+ acidspit spawn_reagent = "acidspit"
+ amasec spawn_reagent = "amasec"
+ beepskysmash spawn_reagent = "beepskysmash"
+ atomicbomb spawn_reagent = "atomicbomb"
+ nuka_cola spawn_reagent = "nuka_cola"
+ threemileisland spawn_reagent = "threemileisland"
+ manhattan_proj spawn_reagent = "manhattan_proj"
+ psilocybin spawn_reagent = "psilocybin"
+ moonshine spawn_reagent = "moonshine"
+ specialwhiskey spawn_reagent = "specialwhiskey"
+ unathiliquor spawn_reagent = "unathiliquor"
+ winebrandy spawn_reagent = "winebrandy"
+ snaps spawn_reagent = "snaps"
diff --git a/code/modules/reagents/dispenser/cartridge_presets_vr.dm b/code/modules/reagents/machinery/dispenser/cartridge_presets_vr.dm
similarity index 100%
rename from code/modules/reagents/dispenser/cartridge_presets_vr.dm
rename to code/modules/reagents/machinery/dispenser/cartridge_presets_vr.dm
diff --git a/code/modules/reagents/dispenser/cartridge_spawn.dm b/code/modules/reagents/machinery/dispenser/cartridge_spawn.dm
similarity index 100%
rename from code/modules/reagents/dispenser/cartridge_spawn.dm
rename to code/modules/reagents/machinery/dispenser/cartridge_spawn.dm
diff --git a/code/modules/reagents/dispenser/dispenser2.dm b/code/modules/reagents/machinery/dispenser/dispenser2.dm
similarity index 97%
rename from code/modules/reagents/dispenser/dispenser2.dm
rename to code/modules/reagents/machinery/dispenser/dispenser2.dm
index 7f2fb13f40..d53dac4ba5 100644
--- a/code/modules/reagents/dispenser/dispenser2.dm
+++ b/code/modules/reagents/machinery/dispenser/dispenser2.dm
@@ -1,205 +1,205 @@
-/obj/machinery/chemical_dispenser
- name = "chemical dispenser"
- desc = "Automagically fabricates chemicals from electricity."
- icon = 'icons/obj/chemical.dmi'
- icon_state = "dispenser"
- clicksound = "switch"
-
- var/list/spawn_cartridges = null // Set to a list of types to spawn one of each on New()
-
- var/list/cartridges = list() // Associative, label -> cartridge
- var/obj/item/weapon/reagent_containers/container = null
-
- var/ui_title = "Chemical Dispenser"
-
- var/accept_drinking = 0
- var/amount = 30
-
- use_power = USE_POWER_IDLE
- idle_power_usage = 100
- anchored = 1
-
-/obj/machinery/chemical_dispenser/Initialize()
- . = ..()
- if(spawn_cartridges)
- for(var/type in spawn_cartridges)
- add_cartridge(new type(src))
-
-/obj/machinery/chemical_dispenser/examine(mob/user)
- . = ..()
- . += "It has [cartridges.len] cartridges installed, and has space for [DISPENSER_MAX_CARTRIDGES - cartridges.len] more."
-
-/obj/machinery/chemical_dispenser/verb/rotate_clockwise()
- set name = "Rotate Dispenser Clockwise"
- set category = "Object"
- set src in oview(1)
-
- if (src.anchored || usr:stat)
- to_chat(usr, "It is fastened down!")
- return 0
- src.set_dir(turn(src.dir, 270))
- return 1
-
-/obj/machinery/chemical_dispenser/proc/add_cartridge(obj/item/weapon/reagent_containers/chem_disp_cartridge/C, mob/user)
- if(!istype(C))
- if(user)
- to_chat(user, "
\The [C] will not fit in \the [src]!")
- return
-
- if(cartridges.len >= DISPENSER_MAX_CARTRIDGES)
- if(user)
- to_chat(user, "
\The [src] does not have any slots open for \the [C] to fit into!")
- return
-
- if(!C.label)
- if(user)
- to_chat(user, "
\The [C] does not have a label!")
- return
-
- if(cartridges[C.label])
- if(user)
- to_chat(user, "
\The [src] already contains a cartridge with that label!")
- return
-
- if(user)
- user.drop_from_inventory(C)
- to_chat(user, "
You add \the [C] to \the [src].")
-
- C.loc = src
- cartridges[C.label] = C
- cartridges = sortAssoc(cartridges)
- SStgui.update_uis(src)
-
-/obj/machinery/chemical_dispenser/proc/remove_cartridge(label)
- . = cartridges[label]
- cartridges -= label
- SStgui.update_uis(src)
-
-/obj/machinery/chemical_dispenser/attackby(obj/item/weapon/W, mob/user)
- if(W.is_wrench())
- playsound(src, W.usesound, 50, 1)
- to_chat(user, "
You begin to [anchored ? "un" : ""]fasten \the [src].")
- if (do_after(user, 20 * W.toolspeed))
- user.visible_message(
- "
\The [user] [anchored ? "un" : ""]fastens \the [src].",
- "
You have [anchored ? "un" : ""]fastened \the [src].",
- "You hear a ratchet.")
- anchored = !anchored
- else
- to_chat(user, "
You decide not to [anchored ? "un" : ""]fasten \the [src].")
-
- else if(istype(W, /obj/item/weapon/reagent_containers/chem_disp_cartridge))
- add_cartridge(W, user)
-
- else if(W.is_screwdriver())
- var/label = input(user, "Which cartridge would you like to remove?", "Chemical Dispenser") as null|anything in cartridges
- if(!label) return
- var/obj/item/weapon/reagent_containers/chem_disp_cartridge/C = remove_cartridge(label)
- if(C)
- to_chat(user, "
You remove \the [C] from \the [src].")
- C.loc = loc
- playsound(src, W.usesound, 50, 1)
-
- else if(istype(W, /obj/item/weapon/reagent_containers/glass) || istype(W, /obj/item/weapon/reagent_containers/food))
- if(container)
- to_chat(user, "
There is already \a [container] on \the [src]!")
- return
-
- var/obj/item/weapon/reagent_containers/RC = W
-
- if(!accept_drinking && istype(RC,/obj/item/weapon/reagent_containers/food))
- to_chat(user, "
This machine only accepts beakers!")
- return
-
- if(!RC.is_open_container())
- to_chat(user, "
You don't see how \the [src] could dispense reagents into \the [RC].")
- return
-
- container = RC
- user.drop_from_inventory(RC)
- RC.loc = src
- to_chat(user, "
You set \the [RC] on \the [src].")
- else
- return ..()
-
-/obj/machinery/chemical_dispenser/tgui_interact(mob/user, datum/tgui/ui = null)
- ui = SStgui.try_update_ui(user, src, ui)
- if(!ui)
- ui = new(user, src, "ChemDispenser", ui_title) // 390, 655
- ui.open()
-
-/obj/machinery/chemical_dispenser/tgui_data(mob/user)
- var/data[0]
- data["amount"] = amount
- data["isBeakerLoaded"] = container ? 1 : 0
- data["glass"] = accept_drinking
-
- var/beakerContents[0]
- if(container && container.reagents && container.reagents.reagent_list.len)
- for(var/datum/reagent/R in container.reagents.reagent_list)
- beakerContents.Add(list(list("name" = R.name, "id" = R.id, "volume" = R.volume))) // list in a list because Byond merges the first list...
- data["beakerContents"] = beakerContents
-
- if(container)
- data["beakerCurrentVolume"] = container.reagents.total_volume
- data["beakerMaxVolume"] = container.reagents.maximum_volume
- else
- data["beakerCurrentVolume"] = null
- data["beakerMaxVolume"] = null
-
- var/chemicals[0]
- for(var/label in cartridges)
- var/obj/item/weapon/reagent_containers/chem_disp_cartridge/C = cartridges[label]
- chemicals.Add(list(list("title" = label, "id" = label, "amount" = C.reagents.total_volume))) // list in a list because Byond merges the first list...
- data["chemicals"] = chemicals
- return data
-
-/obj/machinery/chemical_dispenser/tgui_act(action, params)
- if(..())
- return TRUE
-
- . = TRUE
- switch(action)
- if("amount")
- amount = clamp(round(text2num(params["amount"]), 1), 0, 120) // round to nearest 1 and clamp 0 - 120
- if("dispense")
- var/label = params["reagent"]
- if(cartridges[label] && container && container.is_open_container())
- var/obj/item/weapon/reagent_containers/chem_disp_cartridge/C = cartridges[label]
- playsound(src, 'sound/machines/reagent_dispense.ogg', 25, 1)
- C.reagents.trans_to(container, amount)
- if("remove")
- var/amount = text2num(params["amount"])
- if(!container || !amount)
- return
- var/datum/reagents/R = container.reagents
- var/id = params["reagent"]
- if(amount > 0)
- R.remove_reagent(id, amount)
- else if(amount == -1) // Isolate
- R.isolate_reagent(id)
- if("ejectBeaker")
- if(container)
- container.forceMove(get_turf(src))
-
- if(Adjacent(usr)) // So the AI doesn't get a beaker somehow.
- usr.put_in_hands(container)
-
- container = null
- else
- return FALSE
-
- add_fingerprint(usr)
-
-/obj/machinery/chemical_dispenser/attack_ghost(mob/user)
- if(stat & BROKEN)
- return
- tgui_interact(user)
-
-/obj/machinery/chemical_dispenser/attack_ai(mob/user)
- attack_hand(user)
-
-/obj/machinery/chemical_dispenser/attack_hand(mob/user)
- if(stat & BROKEN)
- return
- tgui_interact(user)
+/obj/machinery/chemical_dispenser
+ name = "chemical dispenser"
+ desc = "Automagically fabricates chemicals from electricity."
+ icon = 'icons/obj/chemical.dmi'
+ icon_state = "dispenser"
+ clicksound = "switch"
+
+ var/list/spawn_cartridges = null // Set to a list of types to spawn one of each on New()
+
+ var/list/cartridges = list() // Associative, label -> cartridge
+ var/obj/item/weapon/reagent_containers/container = null
+
+ var/ui_title = "Chemical Dispenser"
+
+ var/accept_drinking = 0
+ var/amount = 30
+
+ use_power = USE_POWER_IDLE
+ idle_power_usage = 100
+ anchored = 1
+
+/obj/machinery/chemical_dispenser/Initialize()
+ . = ..()
+ if(spawn_cartridges)
+ for(var/type in spawn_cartridges)
+ add_cartridge(new type(src))
+
+/obj/machinery/chemical_dispenser/examine(mob/user)
+ . = ..()
+ . += "It has [cartridges.len] cartridges installed, and has space for [DISPENSER_MAX_CARTRIDGES - cartridges.len] more."
+
+/obj/machinery/chemical_dispenser/verb/rotate_clockwise()
+ set name = "Rotate Dispenser Clockwise"
+ set category = "Object"
+ set src in oview(1)
+
+ if (src.anchored || usr:stat)
+ to_chat(usr, "It is fastened down!")
+ return 0
+ src.set_dir(turn(src.dir, 270))
+ return 1
+
+/obj/machinery/chemical_dispenser/proc/add_cartridge(obj/item/weapon/reagent_containers/chem_disp_cartridge/C, mob/user)
+ if(!istype(C))
+ if(user)
+ to_chat(user, "
\The [C] will not fit in \the [src]!")
+ return
+
+ if(cartridges.len >= DISPENSER_MAX_CARTRIDGES)
+ if(user)
+ to_chat(user, "
\The [src] does not have any slots open for \the [C] to fit into!")
+ return
+
+ if(!C.label)
+ if(user)
+ to_chat(user, "
\The [C] does not have a label!")
+ return
+
+ if(cartridges[C.label])
+ if(user)
+ to_chat(user, "
\The [src] already contains a cartridge with that label!")
+ return
+
+ if(user)
+ user.drop_from_inventory(C)
+ to_chat(user, "
You add \the [C] to \the [src].")
+
+ C.loc = src
+ cartridges[C.label] = C
+ cartridges = sortAssoc(cartridges)
+ SStgui.update_uis(src)
+
+/obj/machinery/chemical_dispenser/proc/remove_cartridge(label)
+ . = cartridges[label]
+ cartridges -= label
+ SStgui.update_uis(src)
+
+/obj/machinery/chemical_dispenser/attackby(obj/item/weapon/W, mob/user)
+ if(W.is_wrench())
+ playsound(src, W.usesound, 50, 1)
+ to_chat(user, "
You begin to [anchored ? "un" : ""]fasten \the [src].")
+ if (do_after(user, 20 * W.toolspeed))
+ user.visible_message(
+ "
\The [user] [anchored ? "un" : ""]fastens \the [src].",
+ "
You have [anchored ? "un" : ""]fastened \the [src].",
+ "You hear a ratchet.")
+ anchored = !anchored
+ else
+ to_chat(user, "
You decide not to [anchored ? "un" : ""]fasten \the [src].")
+
+ else if(istype(W, /obj/item/weapon/reagent_containers/chem_disp_cartridge))
+ add_cartridge(W, user)
+
+ else if(W.is_screwdriver())
+ var/label = input(user, "Which cartridge would you like to remove?", "Chemical Dispenser") as null|anything in cartridges
+ if(!label) return
+ var/obj/item/weapon/reagent_containers/chem_disp_cartridge/C = remove_cartridge(label)
+ if(C)
+ to_chat(user, "
You remove \the [C] from \the [src].")
+ C.loc = loc
+ playsound(src, W.usesound, 50, 1)
+
+ else if(istype(W, /obj/item/weapon/reagent_containers/glass) || istype(W, /obj/item/weapon/reagent_containers/food))
+ if(container)
+ to_chat(user, "
There is already \a [container] on \the [src]!")
+ return
+
+ var/obj/item/weapon/reagent_containers/RC = W
+
+ if(!accept_drinking && istype(RC,/obj/item/weapon/reagent_containers/food))
+ to_chat(user, "
This machine only accepts beakers!")
+ return
+
+ if(!RC.is_open_container())
+ to_chat(user, "
You don't see how \the [src] could dispense reagents into \the [RC].")
+ return
+
+ container = RC
+ user.drop_from_inventory(RC)
+ RC.loc = src
+ to_chat(user, "
You set \the [RC] on \the [src].")
+ else
+ return ..()
+
+/obj/machinery/chemical_dispenser/tgui_interact(mob/user, datum/tgui/ui = null)
+ ui = SStgui.try_update_ui(user, src, ui)
+ if(!ui)
+ ui = new(user, src, "ChemDispenser", ui_title) // 390, 655
+ ui.open()
+
+/obj/machinery/chemical_dispenser/tgui_data(mob/user)
+ var/data[0]
+ data["amount"] = amount
+ data["isBeakerLoaded"] = container ? 1 : 0
+ data["glass"] = accept_drinking
+
+ var/beakerContents[0]
+ if(container && container.reagents && container.reagents.reagent_list.len)
+ for(var/datum/reagent/R in container.reagents.reagent_list)
+ beakerContents.Add(list(list("name" = R.name, "id" = R.id, "volume" = R.volume))) // list in a list because Byond merges the first list...
+ data["beakerContents"] = beakerContents
+
+ if(container)
+ data["beakerCurrentVolume"] = container.reagents.total_volume
+ data["beakerMaxVolume"] = container.reagents.maximum_volume
+ else
+ data["beakerCurrentVolume"] = null
+ data["beakerMaxVolume"] = null
+
+ var/chemicals[0]
+ for(var/label in cartridges)
+ var/obj/item/weapon/reagent_containers/chem_disp_cartridge/C = cartridges[label]
+ chemicals.Add(list(list("title" = label, "id" = label, "amount" = C.reagents.total_volume))) // list in a list because Byond merges the first list...
+ data["chemicals"] = chemicals
+ return data
+
+/obj/machinery/chemical_dispenser/tgui_act(action, params)
+ if(..())
+ return TRUE
+
+ . = TRUE
+ switch(action)
+ if("amount")
+ amount = clamp(round(text2num(params["amount"]), 1), 0, 120) // round to nearest 1 and clamp 0 - 120
+ if("dispense")
+ var/label = params["reagent"]
+ if(cartridges[label] && container && container.is_open_container())
+ var/obj/item/weapon/reagent_containers/chem_disp_cartridge/C = cartridges[label]
+ playsound(src, 'sound/machines/reagent_dispense.ogg', 25, 1)
+ C.reagents.trans_to(container, amount)
+ if("remove")
+ var/amount = text2num(params["amount"])
+ if(!container || !amount)
+ return
+ var/datum/reagents/R = container.reagents
+ var/id = params["reagent"]
+ if(amount > 0)
+ R.remove_reagent(id, amount)
+ else if(amount == -1) // Isolate
+ R.isolate_reagent(id)
+ if("ejectBeaker")
+ if(container)
+ container.forceMove(get_turf(src))
+
+ if(Adjacent(usr)) // So the AI doesn't get a beaker somehow.
+ usr.put_in_hands(container)
+
+ container = null
+ else
+ return FALSE
+
+ add_fingerprint(usr)
+
+/obj/machinery/chemical_dispenser/attack_ghost(mob/user)
+ if(stat & BROKEN)
+ return
+ tgui_interact(user)
+
+/obj/machinery/chemical_dispenser/attack_ai(mob/user)
+ attack_hand(user)
+
+/obj/machinery/chemical_dispenser/attack_hand(mob/user)
+ if(stat & BROKEN)
+ return
+ tgui_interact(user)
diff --git a/code/modules/reagents/dispenser/dispenser2_energy.dm b/code/modules/reagents/machinery/dispenser/dispenser2_energy.dm
similarity index 100%
rename from code/modules/reagents/dispenser/dispenser2_energy.dm
rename to code/modules/reagents/machinery/dispenser/dispenser2_energy.dm
diff --git a/code/modules/reagents/dispenser/dispenser_presets.dm b/code/modules/reagents/machinery/dispenser/dispenser_presets.dm
similarity index 98%
rename from code/modules/reagents/dispenser/dispenser_presets.dm
rename to code/modules/reagents/machinery/dispenser/dispenser_presets.dm
index 6916903048..6b90357a2c 100644
--- a/code/modules/reagents/dispenser/dispenser_presets.dm
+++ b/code/modules/reagents/machinery/dispenser/dispenser_presets.dm
@@ -1,144 +1,144 @@
-/obj/machinery/chemical_dispenser/full
- spawn_cartridges = list(
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/hydrogen,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/lithium,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/carbon,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/nitrogen,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/oxygen,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/fluorine,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/sodium,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/aluminum,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/silicon,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/phosphorus,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/sulfur,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/chlorine,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/potassium,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/iron,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/copper,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/mercury,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/radium,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/water,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/ethanol,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/sugar,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/sacid,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/tungsten,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/calcium
- )
-
-/obj/machinery/chemical_dispenser/ert
- name = "medicine dispenser"
- spawn_cartridges = list(
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/inaprov,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/ryetalyn,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/paracetamol,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/tramadol,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/oxycodone,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/sterilizine,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/leporazine,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/kelotane,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/dermaline,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/dexalin,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/dexalin_p,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/tricord,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/dylovene,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/synaptizine,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/hyronalin,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/arithrazine,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/alkysine,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/imidazoline,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/peridaxon,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/bicaridine,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/hyperzine,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/rezadone,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/spaceacillin,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/ethylredox,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/sleeptox,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/chloral,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/cryoxadone,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/clonexadone
- )
-
-/obj/machinery/chemical_dispenser/bar_soft
- name = "soft drink dispenser"
- desc = "A soda machine."
- icon_state = "soda_dispenser"
- ui_title = "Soda Dispenser"
- accept_drinking = 1
-
-/obj/machinery/chemical_dispenser/bar_soft/full
- spawn_cartridges = list(
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/water,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/ice,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/coffee,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/cream,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/tea,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/icetea,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/cola,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/smw,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/dr_gibb,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/spaceup,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/tonic,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/sodawater,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/lemon_lime,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/sugar,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/orange,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/lime,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/watermelon,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/lemon
- )
-
-/obj/machinery/chemical_dispenser/bar_alc
- name = "booze dispenser"
- desc = "A beer machine. Like a soda machine, but more fun!"
- icon_state = "booze_dispenser"
- ui_title = "Booze Dispenser"
- accept_drinking = 1
-
-/obj/machinery/chemical_dispenser/bar_alc/full
- spawn_cartridges = list(
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/lemon_lime,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/sugar,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/orange,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/lime,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/sodawater,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/tonic,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/beer,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/kahlua,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/whiskey,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/wine,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/vodka,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/gin,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/rum,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/tequila,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/vermouth,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/cognac,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/cider,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/ale,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/mead
- )
-
-/obj/machinery/chemical_dispenser/bar_coffee
- name = "coffee dispenser"
- desc = "Driving crack dealers out of employment since 2280."
- icon_state = "coffee_dispenser"
- ui_title = "Coffee Dispenser"
- accept_drinking = 1
-
-/obj/machinery/chemical_dispenser/bar_coffee/full
- spawn_cartridges = list(
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/coffee,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/cafe_latte,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/soy_latte,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/hot_coco,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/milk,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/cream,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/tea,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/ice,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/mint,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/orange,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/lemon,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/lime,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/berry,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/greentea,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/decaf
- )
+/obj/machinery/chemical_dispenser/full
+ spawn_cartridges = list(
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/hydrogen,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/lithium,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/carbon,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/nitrogen,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/oxygen,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/fluorine,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/sodium,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/aluminum,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/silicon,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/phosphorus,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/sulfur,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/chlorine,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/potassium,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/iron,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/copper,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/mercury,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/radium,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/water,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/ethanol,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/sugar,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/sacid,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/tungsten,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/calcium
+ )
+
+/obj/machinery/chemical_dispenser/ert
+ name = "medicine dispenser"
+ spawn_cartridges = list(
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/inaprov,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/ryetalyn,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/paracetamol,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/tramadol,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/oxycodone,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/sterilizine,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/leporazine,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/kelotane,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/dermaline,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/dexalin,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/dexalin_p,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/tricord,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/dylovene,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/synaptizine,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/hyronalin,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/arithrazine,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/alkysine,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/imidazoline,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/peridaxon,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/bicaridine,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/hyperzine,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/rezadone,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/spaceacillin,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/ethylredox,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/sleeptox,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/chloral,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/cryoxadone,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/clonexadone
+ )
+
+/obj/machinery/chemical_dispenser/bar_soft
+ name = "soft drink dispenser"
+ desc = "A soda machine."
+ icon_state = "soda_dispenser"
+ ui_title = "Soda Dispenser"
+ accept_drinking = 1
+
+/obj/machinery/chemical_dispenser/bar_soft/full
+ spawn_cartridges = list(
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/water,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/ice,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/coffee,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/cream,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/tea,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/icetea,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/cola,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/smw,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/dr_gibb,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/spaceup,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/tonic,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/sodawater,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/lemon_lime,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/sugar,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/orange,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/lime,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/watermelon,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/lemon
+ )
+
+/obj/machinery/chemical_dispenser/bar_alc
+ name = "booze dispenser"
+ desc = "A beer machine. Like a soda machine, but more fun!"
+ icon_state = "booze_dispenser"
+ ui_title = "Booze Dispenser"
+ accept_drinking = 1
+
+/obj/machinery/chemical_dispenser/bar_alc/full
+ spawn_cartridges = list(
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/lemon_lime,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/sugar,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/orange,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/lime,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/sodawater,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/tonic,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/beer,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/kahlua,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/whiskey,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/wine,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/vodka,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/gin,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/rum,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/tequila,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/vermouth,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/cognac,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/cider,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/ale,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/mead
+ )
+
+/obj/machinery/chemical_dispenser/bar_coffee
+ name = "coffee dispenser"
+ desc = "Driving crack dealers out of employment since 2280."
+ icon_state = "coffee_dispenser"
+ ui_title = "Coffee Dispenser"
+ accept_drinking = 1
+
+/obj/machinery/chemical_dispenser/bar_coffee/full
+ spawn_cartridges = list(
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/coffee,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/cafe_latte,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/soy_latte,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/hot_coco,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/milk,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/cream,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/tea,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/ice,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/mint,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/orange,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/lemon,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/lime,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/berry,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/greentea,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/decaf
+ )
diff --git a/code/modules/reagents/dispenser/dispenser_presets_vr.dm b/code/modules/reagents/machinery/dispenser/dispenser_presets_vr.dm
similarity index 100%
rename from code/modules/reagents/dispenser/dispenser_presets_vr.dm
rename to code/modules/reagents/machinery/dispenser/dispenser_presets_vr.dm
diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/machinery/dispenser/reagent_tank.dm
similarity index 94%
rename from code/modules/reagents/reagent_dispenser.dm
rename to code/modules/reagents/machinery/dispenser/reagent_tank.dm
index 61520505b5..2e22ac13bd 100644
--- a/code/modules/reagents/reagent_dispenser.dm
+++ b/code/modules/reagents/machinery/dispenser/reagent_tank.dm
@@ -1,5 +1,3 @@
-
-
/obj/structure/reagent_dispensers
name = "Dispenser"
desc = "..."
@@ -127,7 +125,7 @@
/obj/structure/reagent_dispensers/foam
name = "foamtank"
desc = "A foam tank."
- icon = 'icons/obj/objects_vr.dmi' //VOREStation Edit
+ icon = 'icons/obj/objects_vr.dmi'
icon_state = "foamtank"
amount_per_transfer_from_this = 10
@@ -145,10 +143,8 @@
if (W.is_wrench()) //can't wrench it shut, it's always open
return
return ..()
-
//VOREStation Add End
-
/obj/structure/reagent_dispensers/fueltank/examine(mob/user)
. = ..()
if(get_dist(user, src) <= 2)
@@ -411,26 +407,6 @@
. = ..()
reagents.add_reagent("beer",1000)
-obj/structure/reagent_dispensers/beerkeg/vat
- name = "Beer vat"
- desc = "A vat of beer."
- icon = 'icons/obj/objects.dmi'
- icon_state = "vat"
- amount_per_transfer_from_this = 15
- anchored = 1
-/obj/structure/reagent_dispensers/winevat
- name = "Wine vat"
- desc = "A vat of wine."
- icon = 'icons/obj/objects.dmi'
- icon_state = "vat"
- amount_per_transfer_from_this = 10
- anchored = 1
-
-/obj/structure/reagent_dispensers/winevat/Initialize()
- ..()
- reagents.add_reagent("wine",1000)
-
-
/obj/structure/reagent_dispensers/beerkeg/fakenuke
name = "nuclear beer keg"
desc = "A beer keg in the form of a nuclear bomb! An absolute blast at parties!"
@@ -483,4 +459,15 @@ obj/structure/reagent_dispensers/beerkeg/vat
/obj/structure/reagent_dispensers/cookingoil/proc/explode()
reagents.splash_area(get_turf(src), 3)
visible_message(span("danger", "The [src] bursts open, spreading oil all over the area."))
- qdel(src)
\ No newline at end of file
+ qdel(src)
+
+/obj/structure/reagent_dispensers/he3
+ name = "fueltank"
+ desc = "A fueltank."
+ icon = 'icons/obj/objects.dmi'
+ icon_state = "weldtank"
+ amount_per_transfer_from_this = 10
+
+/obj/structure/reagent_dispenser/he3/Initialize()
+ ..()
+ reagents.add_reagent("helium3",1000)
diff --git a/code/modules/reagents/reagent_dispenser_ch.dm b/code/modules/reagents/machinery/dispenser/reagent_tank_ch.dm
similarity index 87%
rename from code/modules/reagents/reagent_dispenser_ch.dm
rename to code/modules/reagents/machinery/dispenser/reagent_tank_ch.dm
index 07e2d569ef..fcbf21e019 100644
--- a/code/modules/reagents/reagent_dispenser_ch.dm
+++ b/code/modules/reagents/machinery/dispenser/reagent_tank_ch.dm
@@ -1,11 +1,11 @@
-/obj/structure/reagent_dispensers/space_cleaner
- name = "Space Cleaner Dispenser"
- desc = "A dispenser of space cleaner, every janitor's dream!"
- icon = 'icons/obj/objects.dmi'
- icon_state = "virusfoodtank"
- amount_per_transfer_from_this = 60
- anchored = 1
-
-/obj/structure/reagent_dispensers/space_cleaner/Initialize()
- . = ..()
- reagents.add_reagent("cleaner", 1000)
\ No newline at end of file
+/obj/structure/reagent_dispensers/space_cleaner
+ name = "Space Cleaner Dispenser"
+ desc = "A dispenser of space cleaner, every janitor's dream!"
+ icon = 'icons/obj/objects.dmi'
+ icon_state = "virusfoodtank"
+ amount_per_transfer_from_this = 60
+ anchored = 1
+
+/obj/structure/reagent_dispensers/space_cleaner/Initialize()
+ . = ..()
+ reagents.add_reagent("cleaner", 1000)
diff --git a/code/modules/reagents/dispenser/supply.dm b/code/modules/reagents/machinery/dispenser/supply.dm
similarity index 98%
rename from code/modules/reagents/dispenser/supply.dm
rename to code/modules/reagents/machinery/dispenser/supply.dm
index 228c5dfeef..30b1c3c0f6 100644
--- a/code/modules/reagents/dispenser/supply.dm
+++ b/code/modules/reagents/machinery/dispenser/supply.dm
@@ -1,238 +1,238 @@
-/datum/supply_pack/chemistry_dispenser
- name = "Reagent dispenser"
- contains = list(
- /obj/machinery/chemical_dispenser{anchored = 0}
- )
- cost = 25
- containertype = /obj/structure/largecrate
- containername = "reagent dispenser crate"
- group = "Reagents"
-
-/datum/supply_pack/beer_dispenser
- name = "Booze dispenser"
- contains = list(
- /obj/machinery/chemical_dispenser/bar_alc{anchored = 0}
- )
- cost = 25
- containertype = /obj/structure/largecrate
- containername = "booze dispenser crate"
- group = "Reagents"
-
-/datum/supply_pack/soda_dispenser
- name = "Soda dispenser"
- contains = list(
- /obj/machinery/chemical_dispenser/bar_soft{anchored = 0}
- )
- cost = 25
- containertype = /obj/structure/largecrate
- containername = "soda dispenser crate"
- group = "Reagents"
-
-/datum/supply_pack/reagents
- name = "Chemistry dispenser refill"
- contains = list(
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/hydrogen,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/lithium,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/carbon,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/nitrogen,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/oxygen,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/fluorine,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/sodium,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/aluminum,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/silicon,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/phosphorus,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/sulfur,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/chlorine,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/potassium,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/iron,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/copper,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/mercury,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/radium,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/water,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/ethanol,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/sugar,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/sacid,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/tungsten
- )
- cost = 150
- containertype = /obj/structure/closet/crate/secure
- containername = "chemical crate"
- access = list(access_chemistry)
- group = "Reagents"
-
-/datum/supply_pack/alcohol_reagents
- name = "Bar alcoholic dispenser refill"
- contains = list(
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/beer,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/kahlua,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/whiskey,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/wine,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/vodka,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/gin,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/rum,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/tequila,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/vermouth,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/cognac,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/ale,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/mead,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/bitters
- )
- cost = 50
- containertype = /obj/structure/closet/crate/secure
- containername = "alcoholic drinks crate"
- access = list(access_bar)
- group = "Reagents"
-
-/datum/supply_pack/softdrink_reagents
- name = "Bar soft drink dispenser refill"
- contains = list(
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/water,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/ice,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/coffee,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/cream,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/tea,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/icetea,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/cola,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/smw,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/dr_gibb,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/spaceup,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/tonic,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/sodawater,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/lemon_lime,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/sugar,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/orange,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/lime,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/watermelon,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/lemon
- )
- cost = 50
- containertype = /obj/structure/closet/crate
- containername = "soft drinks crate"
- group = "Reagents"
-
-/datum/supply_pack/coffee_reagents
- name = "Coffee machine dispenser refill"
- contains = list(
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/coffee,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/cafe_latte,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/soy_latte,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/hot_coco,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/milk,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/cream,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/tea,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge/ice
- )
- cost = 50
- containertype = /obj/structure/closet/crate
- containername = "coffee drinks crate"
- group = "Reagents"
-
-/datum/supply_pack/dispenser_cartridges
- name = "Empty dispenser cartridges"
- contains = list(
- /obj/item/weapon/reagent_containers/chem_disp_cartridge,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge,
- /obj/item/weapon/reagent_containers/chem_disp_cartridge
- )
- cost = 15
- containertype = /obj/structure/closet/crate
- containername = "dispenser cartridge crate"
- group = "Reagents"
-
-#define SEC_PACK(_tname, _type, _name, _cname, _cost, _access)\
- datum/supply_pack/dispenser_cartridges{\
- _tname {\
- name = _name ;\
- containername = _cname ;\
- containertype = /obj/structure/closet/crate/secure;\
- access = list( _access );\
- cost = _cost ;\
- contains = list( _type , _type );\
- group = "Reagent Cartridges"\
- }\
- }
-#define PACK(_tname, _type, _name, _cname, _cost)\
- datum/supply_pack/dispenser_cartridges{\
- _tname {\
- name = _name ;\
- containername = _cname ;\
- containertype = /obj/structure/closet/crate;\
- cost = _cost ;\
- contains = list( _type , _type );\
- group = "Reagent Cartridges"\
- }\
- }
-
-// Chemistry-restricted (raw reagents excluding sugar/water)
-// Datum path Contents type Supply pack name Container name Cost Container access
-SEC_PACK(hydrogen, /obj/item/weapon/reagent_containers/chem_disp_cartridge/hydrogen, "Reagent refill - Hydrogen", "hydrogen reagent cartridge crate", 15, access_chemistry)
-SEC_PACK(lithium, /obj/item/weapon/reagent_containers/chem_disp_cartridge/lithium, "Reagent refill - Lithium", "lithium reagent cartridge crate", 15, access_chemistry)
-SEC_PACK(carbon, /obj/item/weapon/reagent_containers/chem_disp_cartridge/carbon, "Reagent refill - Carbon", "carbon reagent cartridge crate", 15, access_chemistry)
-SEC_PACK(nitrogen, /obj/item/weapon/reagent_containers/chem_disp_cartridge/nitrogen, "Reagent refill - Nitrogen", "nitrogen reagent cartridge crate", 15, access_chemistry)
-SEC_PACK(oxygen, /obj/item/weapon/reagent_containers/chem_disp_cartridge/oxygen, "Reagent refill - Oxygen", "oxygen reagent cartridge crate", 15, access_chemistry)
-SEC_PACK(fluorine, /obj/item/weapon/reagent_containers/chem_disp_cartridge/fluorine, "Reagent refill - Fluorine", "fluorine reagent cartridge crate", 15, access_chemistry)
-SEC_PACK(sodium, /obj/item/weapon/reagent_containers/chem_disp_cartridge/sodium, "Reagent refill - Sodium", "sodium reagent cartridge crate", 15, access_chemistry)
-SEC_PACK(aluminium, /obj/item/weapon/reagent_containers/chem_disp_cartridge/aluminum, "Reagent refill - Aluminum", "aluminum reagent cartridge crate", 15, access_chemistry)
-SEC_PACK(silicon, /obj/item/weapon/reagent_containers/chem_disp_cartridge/silicon, "Reagent refill - Silicon", "silicon reagent cartridge crate", 15, access_chemistry)
-SEC_PACK(phosphorus,/obj/item/weapon/reagent_containers/chem_disp_cartridge/phosphorus, "Reagent refill - Phosphorus", "phosphorus reagent cartridge crate", 15, access_chemistry)
-SEC_PACK(sulfur, /obj/item/weapon/reagent_containers/chem_disp_cartridge/sulfur, "Reagent refill - Sulfur", "sulfur reagent cartridge crate", 15, access_chemistry)
-SEC_PACK(chlorine, /obj/item/weapon/reagent_containers/chem_disp_cartridge/chlorine, "Reagent refill - Chlorine", "chlorine reagent cartridge crate", 15, access_chemistry)
-SEC_PACK(potassium, /obj/item/weapon/reagent_containers/chem_disp_cartridge/potassium, "Reagent refill - Potassium", "potassium reagent cartridge crate", 15, access_chemistry)
-SEC_PACK(iron, /obj/item/weapon/reagent_containers/chem_disp_cartridge/iron, "Reagent refill - Iron", "iron reagent cartridge crate", 15, access_chemistry)
-SEC_PACK(copper, /obj/item/weapon/reagent_containers/chem_disp_cartridge/copper, "Reagent refill - Copper", "copper reagent cartridge crate", 15, access_chemistry)
-SEC_PACK(mercury, /obj/item/weapon/reagent_containers/chem_disp_cartridge/mercury, "Reagent refill - Mercury", "mercury reagent cartridge crate", 15, access_chemistry)
-SEC_PACK(radium, /obj/item/weapon/reagent_containers/chem_disp_cartridge/radium, "Reagent refill - Radium", "radium reagent cartridge crate", 15, access_chemistry)
-SEC_PACK(ethanol, /obj/item/weapon/reagent_containers/chem_disp_cartridge/ethanol, "Reagent refill - Ethanol", "ethanol reagent cartridge crate", 15, access_chemistry)
-SEC_PACK(sacid, /obj/item/weapon/reagent_containers/chem_disp_cartridge/sacid, "Reagent refill - Sulfuric Acid", "sulfuric acid reagent cartridge crate", 15, access_chemistry)
-SEC_PACK(tungsten, /obj/item/weapon/reagent_containers/chem_disp_cartridge/tungsten, "Reagent refill - Tungsten", "tungsten reagent cartridge crate", 15, access_chemistry)
-SEC_PACK(calcium, /obj/item/weapon/reagent_containers/chem_disp_cartridge/calcium, "Reagent refill - Calcium", "calcium reagent cartridge crate", 15, access_chemistry)
-
-// Bar-restricted (alcoholic drinks)
-// Datum path Contents type Supply pack name Container name Cost Container access
-SEC_PACK(beer, /obj/item/weapon/reagent_containers/chem_disp_cartridge/beer, "Reagent refill - Beer", "beer reagent cartridge crate", 15, access_bar)
-SEC_PACK(kahlua, /obj/item/weapon/reagent_containers/chem_disp_cartridge/kahlua, "Reagent refill - Kahlua", "kahlua reagent cartridge crate", 15, access_bar)
-SEC_PACK(whiskey, /obj/item/weapon/reagent_containers/chem_disp_cartridge/whiskey, "Reagent refill - Whiskey", "whiskey reagent cartridge crate", 15, access_bar)
-SEC_PACK(wine, /obj/item/weapon/reagent_containers/chem_disp_cartridge/wine, "Reagent refill - Wine", "wine reagent cartridge crate", 15, access_bar)
-SEC_PACK(vodka, /obj/item/weapon/reagent_containers/chem_disp_cartridge/vodka, "Reagent refill - Vodka", "vodka reagent cartridge crate", 15, access_bar)
-SEC_PACK(gin, /obj/item/weapon/reagent_containers/chem_disp_cartridge/gin, "Reagent refill - Gin", "gin reagent cartridge crate", 15, access_bar)
-SEC_PACK(rum, /obj/item/weapon/reagent_containers/chem_disp_cartridge/rum, "Reagent refill - Rum", "rum reagent cartridge crate", 15, access_bar)
-SEC_PACK(tequila, /obj/item/weapon/reagent_containers/chem_disp_cartridge/tequila, "Reagent refill - Tequila", "tequila reagent cartridge crate", 15, access_bar)
-SEC_PACK(vermouth, /obj/item/weapon/reagent_containers/chem_disp_cartridge/vermouth, "Reagent refill - Vermouth", "vermouth reagent cartridge crate", 15, access_bar)
-SEC_PACK(cognac, /obj/item/weapon/reagent_containers/chem_disp_cartridge/cognac, "Reagent refill - Cognac", "cognac reagent cartridge crate", 15, access_bar)
-SEC_PACK(ale, /obj/item/weapon/reagent_containers/chem_disp_cartridge/ale, "Reagent refill - Ale", "ale reagent cartridge crate", 15, access_bar)
-SEC_PACK(mead, /obj/item/weapon/reagent_containers/chem_disp_cartridge/mead, "Reagent refill - Mead", "mead reagent cartridge crate", 15, access_bar)
-
-// Unrestricted (water, sugar, non-alcoholic drinks)
-// Datum path Contents type Supply pack name Container name Cost
-PACK(water, /obj/item/weapon/reagent_containers/chem_disp_cartridge/water, "Reagent refill - Water", "water reagent cartridge crate", 15)
-PACK(sugar, /obj/item/weapon/reagent_containers/chem_disp_cartridge/sugar, "Reagent refill - Sugar", "sugar reagent cartridge crate", 15)
-PACK(ice, /obj/item/weapon/reagent_containers/chem_disp_cartridge/ice, "Reagent refill - Ice", "ice reagent cartridge crate", 15)
-PACK(tea, /obj/item/weapon/reagent_containers/chem_disp_cartridge/tea, "Reagent refill - Tea", "tea reagent cartridge crate", 15)
-PACK(icetea, /obj/item/weapon/reagent_containers/chem_disp_cartridge/icetea, "Reagent refill - Iced Tea", "iced tea reagent cartridge crate", 15)
-PACK(cola, /obj/item/weapon/reagent_containers/chem_disp_cartridge/cola, "Reagent refill - Space Cola", "\improper Space Cola reagent cartridge crate", 15)
-PACK(smw, /obj/item/weapon/reagent_containers/chem_disp_cartridge/smw, "Reagent refill - Space Mountain Wind", "\improper Space Mountain Wind reagent cartridge crate", 15)
-PACK(dr_gibb, /obj/item/weapon/reagent_containers/chem_disp_cartridge/dr_gibb, "Reagent refill - Dr. Gibb", "\improper Dr. Gibb reagent cartridge crate", 15)
-PACK(spaceup, /obj/item/weapon/reagent_containers/chem_disp_cartridge/spaceup, "Reagent refill - Space-Up", "\improper Space-Up reagent cartridge crate", 15)
-PACK(tonic, /obj/item/weapon/reagent_containers/chem_disp_cartridge/tonic, "Reagent refill - Tonic Water", "tonic water reagent cartridge crate", 15)
-PACK(sodawater, /obj/item/weapon/reagent_containers/chem_disp_cartridge/sodawater, "Reagent refill - Soda Water", "soda water reagent cartridge crate", 15)
-PACK(lemon_lime, /obj/item/weapon/reagent_containers/chem_disp_cartridge/lemon_lime, "Reagent refill - Lemon-Lime Juice", "lemon-lime juice reagent cartridge crate", 15)
-PACK(orange, /obj/item/weapon/reagent_containers/chem_disp_cartridge/orange, "Reagent refill - Orange Juice", "orange juice reagent cartridge crate", 15)
-PACK(lime, /obj/item/weapon/reagent_containers/chem_disp_cartridge/lime, "Reagent refill - Lime Juice", "lime juice reagent cartridge crate", 15)
-PACK(lemon, /obj/item/weapon/reagent_containers/chem_disp_cartridge/lemon, "Reagent refill - Lemon Juice", "lemon juice reagent cartridge crate", 15)
-PACK(watermelon, /obj/item/weapon/reagent_containers/chem_disp_cartridge/watermelon, "Reagent refill - Watermelon Juice", "watermelon juice reagent cartridge crate", 15)
-PACK(coffee, /obj/item/weapon/reagent_containers/chem_disp_cartridge/coffee, "Reagent refill - Coffee", "coffee reagent cartridge crate", 15)
-PACK(cafe_latte, /obj/item/weapon/reagent_containers/chem_disp_cartridge/cafe_latte, "Reagent refill - Cafe Latte", "cafe latte reagent cartridge crate", 15)
-PACK(soy_latte, /obj/item/weapon/reagent_containers/chem_disp_cartridge/soy_latte, "Reagent refill - Soy Latte", "soy latte reagent cartridge crate", 15)
-PACK(hot_coco, /obj/item/weapon/reagent_containers/chem_disp_cartridge/hot_coco, "Reagent refill - Hot Coco", "hot coco reagent cartridge crate", 15)
-PACK(milk, /obj/item/weapon/reagent_containers/chem_disp_cartridge/milk, "Reagent refill - Milk", "milk reagent cartridge crate", 15)
-PACK(cream, /obj/item/weapon/reagent_containers/chem_disp_cartridge/cream, "Reagent refill - Cream", "cream reagent cartridge crate", 15)
-
-#undef SEC_PACK
-#undef PACK
+/datum/supply_pack/chemistry_dispenser
+ name = "Reagent dispenser"
+ contains = list(
+ /obj/machinery/chemical_dispenser{anchored = 0}
+ )
+ cost = 25
+ containertype = /obj/structure/largecrate
+ containername = "reagent dispenser crate"
+ group = "Reagents"
+
+/datum/supply_pack/beer_dispenser
+ name = "Booze dispenser"
+ contains = list(
+ /obj/machinery/chemical_dispenser/bar_alc{anchored = 0}
+ )
+ cost = 25
+ containertype = /obj/structure/largecrate
+ containername = "booze dispenser crate"
+ group = "Reagents"
+
+/datum/supply_pack/soda_dispenser
+ name = "Soda dispenser"
+ contains = list(
+ /obj/machinery/chemical_dispenser/bar_soft{anchored = 0}
+ )
+ cost = 25
+ containertype = /obj/structure/largecrate
+ containername = "soda dispenser crate"
+ group = "Reagents"
+
+/datum/supply_pack/reagents
+ name = "Chemistry dispenser refill"
+ contains = list(
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/hydrogen,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/lithium,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/carbon,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/nitrogen,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/oxygen,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/fluorine,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/sodium,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/aluminum,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/silicon,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/phosphorus,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/sulfur,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/chlorine,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/potassium,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/iron,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/copper,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/mercury,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/radium,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/water,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/ethanol,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/sugar,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/sacid,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/tungsten
+ )
+ cost = 150
+ containertype = /obj/structure/closet/crate/secure
+ containername = "chemical crate"
+ access = list(access_chemistry)
+ group = "Reagents"
+
+/datum/supply_pack/alcohol_reagents
+ name = "Bar alcoholic dispenser refill"
+ contains = list(
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/beer,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/kahlua,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/whiskey,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/wine,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/vodka,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/gin,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/rum,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/tequila,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/vermouth,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/cognac,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/ale,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/mead,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/bitters
+ )
+ cost = 50
+ containertype = /obj/structure/closet/crate/secure
+ containername = "alcoholic drinks crate"
+ access = list(access_bar)
+ group = "Reagents"
+
+/datum/supply_pack/softdrink_reagents
+ name = "Bar soft drink dispenser refill"
+ contains = list(
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/water,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/ice,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/coffee,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/cream,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/tea,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/icetea,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/cola,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/smw,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/dr_gibb,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/spaceup,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/tonic,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/sodawater,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/lemon_lime,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/sugar,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/orange,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/lime,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/watermelon,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/lemon
+ )
+ cost = 50
+ containertype = /obj/structure/closet/crate
+ containername = "soft drinks crate"
+ group = "Reagents"
+
+/datum/supply_pack/coffee_reagents
+ name = "Coffee machine dispenser refill"
+ contains = list(
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/coffee,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/cafe_latte,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/soy_latte,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/hot_coco,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/milk,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/cream,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/tea,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge/ice
+ )
+ cost = 50
+ containertype = /obj/structure/closet/crate
+ containername = "coffee drinks crate"
+ group = "Reagents"
+
+/datum/supply_pack/dispenser_cartridges
+ name = "Empty dispenser cartridges"
+ contains = list(
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge,
+ /obj/item/weapon/reagent_containers/chem_disp_cartridge
+ )
+ cost = 15
+ containertype = /obj/structure/closet/crate
+ containername = "dispenser cartridge crate"
+ group = "Reagents"
+
+#define SEC_PACK(_tname, _type, _name, _cname, _cost, _access)\
+ datum/supply_pack/dispenser_cartridges{\
+ _tname {\
+ name = _name ;\
+ containername = _cname ;\
+ containertype = /obj/structure/closet/crate/secure;\
+ access = list( _access );\
+ cost = _cost ;\
+ contains = list( _type , _type );\
+ group = "Reagent Cartridges"\
+ }\
+ }
+#define PACK(_tname, _type, _name, _cname, _cost)\
+ datum/supply_pack/dispenser_cartridges{\
+ _tname {\
+ name = _name ;\
+ containername = _cname ;\
+ containertype = /obj/structure/closet/crate;\
+ cost = _cost ;\
+ contains = list( _type , _type );\
+ group = "Reagent Cartridges"\
+ }\
+ }
+
+// Chemistry-restricted (raw reagents excluding sugar/water)
+// Datum path Contents type Supply pack name Container name Cost Container access
+SEC_PACK(hydrogen, /obj/item/weapon/reagent_containers/chem_disp_cartridge/hydrogen, "Reagent refill - Hydrogen", "hydrogen reagent cartridge crate", 15, access_chemistry)
+SEC_PACK(lithium, /obj/item/weapon/reagent_containers/chem_disp_cartridge/lithium, "Reagent refill - Lithium", "lithium reagent cartridge crate", 15, access_chemistry)
+SEC_PACK(carbon, /obj/item/weapon/reagent_containers/chem_disp_cartridge/carbon, "Reagent refill - Carbon", "carbon reagent cartridge crate", 15, access_chemistry)
+SEC_PACK(nitrogen, /obj/item/weapon/reagent_containers/chem_disp_cartridge/nitrogen, "Reagent refill - Nitrogen", "nitrogen reagent cartridge crate", 15, access_chemistry)
+SEC_PACK(oxygen, /obj/item/weapon/reagent_containers/chem_disp_cartridge/oxygen, "Reagent refill - Oxygen", "oxygen reagent cartridge crate", 15, access_chemistry)
+SEC_PACK(fluorine, /obj/item/weapon/reagent_containers/chem_disp_cartridge/fluorine, "Reagent refill - Fluorine", "fluorine reagent cartridge crate", 15, access_chemistry)
+SEC_PACK(sodium, /obj/item/weapon/reagent_containers/chem_disp_cartridge/sodium, "Reagent refill - Sodium", "sodium reagent cartridge crate", 15, access_chemistry)
+SEC_PACK(aluminium, /obj/item/weapon/reagent_containers/chem_disp_cartridge/aluminum, "Reagent refill - Aluminum", "aluminum reagent cartridge crate", 15, access_chemistry)
+SEC_PACK(silicon, /obj/item/weapon/reagent_containers/chem_disp_cartridge/silicon, "Reagent refill - Silicon", "silicon reagent cartridge crate", 15, access_chemistry)
+SEC_PACK(phosphorus,/obj/item/weapon/reagent_containers/chem_disp_cartridge/phosphorus, "Reagent refill - Phosphorus", "phosphorus reagent cartridge crate", 15, access_chemistry)
+SEC_PACK(sulfur, /obj/item/weapon/reagent_containers/chem_disp_cartridge/sulfur, "Reagent refill - Sulfur", "sulfur reagent cartridge crate", 15, access_chemistry)
+SEC_PACK(chlorine, /obj/item/weapon/reagent_containers/chem_disp_cartridge/chlorine, "Reagent refill - Chlorine", "chlorine reagent cartridge crate", 15, access_chemistry)
+SEC_PACK(potassium, /obj/item/weapon/reagent_containers/chem_disp_cartridge/potassium, "Reagent refill - Potassium", "potassium reagent cartridge crate", 15, access_chemistry)
+SEC_PACK(iron, /obj/item/weapon/reagent_containers/chem_disp_cartridge/iron, "Reagent refill - Iron", "iron reagent cartridge crate", 15, access_chemistry)
+SEC_PACK(copper, /obj/item/weapon/reagent_containers/chem_disp_cartridge/copper, "Reagent refill - Copper", "copper reagent cartridge crate", 15, access_chemistry)
+SEC_PACK(mercury, /obj/item/weapon/reagent_containers/chem_disp_cartridge/mercury, "Reagent refill - Mercury", "mercury reagent cartridge crate", 15, access_chemistry)
+SEC_PACK(radium, /obj/item/weapon/reagent_containers/chem_disp_cartridge/radium, "Reagent refill - Radium", "radium reagent cartridge crate", 15, access_chemistry)
+SEC_PACK(ethanol, /obj/item/weapon/reagent_containers/chem_disp_cartridge/ethanol, "Reagent refill - Ethanol", "ethanol reagent cartridge crate", 15, access_chemistry)
+SEC_PACK(sacid, /obj/item/weapon/reagent_containers/chem_disp_cartridge/sacid, "Reagent refill - Sulfuric Acid", "sulfuric acid reagent cartridge crate", 15, access_chemistry)
+SEC_PACK(tungsten, /obj/item/weapon/reagent_containers/chem_disp_cartridge/tungsten, "Reagent refill - Tungsten", "tungsten reagent cartridge crate", 15, access_chemistry)
+SEC_PACK(calcium, /obj/item/weapon/reagent_containers/chem_disp_cartridge/calcium, "Reagent refill - Calcium", "calcium reagent cartridge crate", 15, access_chemistry)
+
+// Bar-restricted (alcoholic drinks)
+// Datum path Contents type Supply pack name Container name Cost Container access
+SEC_PACK(beer, /obj/item/weapon/reagent_containers/chem_disp_cartridge/beer, "Reagent refill - Beer", "beer reagent cartridge crate", 15, access_bar)
+SEC_PACK(kahlua, /obj/item/weapon/reagent_containers/chem_disp_cartridge/kahlua, "Reagent refill - Kahlua", "kahlua reagent cartridge crate", 15, access_bar)
+SEC_PACK(whiskey, /obj/item/weapon/reagent_containers/chem_disp_cartridge/whiskey, "Reagent refill - Whiskey", "whiskey reagent cartridge crate", 15, access_bar)
+SEC_PACK(wine, /obj/item/weapon/reagent_containers/chem_disp_cartridge/wine, "Reagent refill - Wine", "wine reagent cartridge crate", 15, access_bar)
+SEC_PACK(vodka, /obj/item/weapon/reagent_containers/chem_disp_cartridge/vodka, "Reagent refill - Vodka", "vodka reagent cartridge crate", 15, access_bar)
+SEC_PACK(gin, /obj/item/weapon/reagent_containers/chem_disp_cartridge/gin, "Reagent refill - Gin", "gin reagent cartridge crate", 15, access_bar)
+SEC_PACK(rum, /obj/item/weapon/reagent_containers/chem_disp_cartridge/rum, "Reagent refill - Rum", "rum reagent cartridge crate", 15, access_bar)
+SEC_PACK(tequila, /obj/item/weapon/reagent_containers/chem_disp_cartridge/tequila, "Reagent refill - Tequila", "tequila reagent cartridge crate", 15, access_bar)
+SEC_PACK(vermouth, /obj/item/weapon/reagent_containers/chem_disp_cartridge/vermouth, "Reagent refill - Vermouth", "vermouth reagent cartridge crate", 15, access_bar)
+SEC_PACK(cognac, /obj/item/weapon/reagent_containers/chem_disp_cartridge/cognac, "Reagent refill - Cognac", "cognac reagent cartridge crate", 15, access_bar)
+SEC_PACK(ale, /obj/item/weapon/reagent_containers/chem_disp_cartridge/ale, "Reagent refill - Ale", "ale reagent cartridge crate", 15, access_bar)
+SEC_PACK(mead, /obj/item/weapon/reagent_containers/chem_disp_cartridge/mead, "Reagent refill - Mead", "mead reagent cartridge crate", 15, access_bar)
+
+// Unrestricted (water, sugar, non-alcoholic drinks)
+// Datum path Contents type Supply pack name Container name Cost
+PACK(water, /obj/item/weapon/reagent_containers/chem_disp_cartridge/water, "Reagent refill - Water", "water reagent cartridge crate", 15)
+PACK(sugar, /obj/item/weapon/reagent_containers/chem_disp_cartridge/sugar, "Reagent refill - Sugar", "sugar reagent cartridge crate", 15)
+PACK(ice, /obj/item/weapon/reagent_containers/chem_disp_cartridge/ice, "Reagent refill - Ice", "ice reagent cartridge crate", 15)
+PACK(tea, /obj/item/weapon/reagent_containers/chem_disp_cartridge/tea, "Reagent refill - Tea", "tea reagent cartridge crate", 15)
+PACK(icetea, /obj/item/weapon/reagent_containers/chem_disp_cartridge/icetea, "Reagent refill - Iced Tea", "iced tea reagent cartridge crate", 15)
+PACK(cola, /obj/item/weapon/reagent_containers/chem_disp_cartridge/cola, "Reagent refill - Space Cola", "\improper Space Cola reagent cartridge crate", 15)
+PACK(smw, /obj/item/weapon/reagent_containers/chem_disp_cartridge/smw, "Reagent refill - Space Mountain Wind", "\improper Space Mountain Wind reagent cartridge crate", 15)
+PACK(dr_gibb, /obj/item/weapon/reagent_containers/chem_disp_cartridge/dr_gibb, "Reagent refill - Dr. Gibb", "\improper Dr. Gibb reagent cartridge crate", 15)
+PACK(spaceup, /obj/item/weapon/reagent_containers/chem_disp_cartridge/spaceup, "Reagent refill - Space-Up", "\improper Space-Up reagent cartridge crate", 15)
+PACK(tonic, /obj/item/weapon/reagent_containers/chem_disp_cartridge/tonic, "Reagent refill - Tonic Water", "tonic water reagent cartridge crate", 15)
+PACK(sodawater, /obj/item/weapon/reagent_containers/chem_disp_cartridge/sodawater, "Reagent refill - Soda Water", "soda water reagent cartridge crate", 15)
+PACK(lemon_lime, /obj/item/weapon/reagent_containers/chem_disp_cartridge/lemon_lime, "Reagent refill - Lemon-Lime Juice", "lemon-lime juice reagent cartridge crate", 15)
+PACK(orange, /obj/item/weapon/reagent_containers/chem_disp_cartridge/orange, "Reagent refill - Orange Juice", "orange juice reagent cartridge crate", 15)
+PACK(lime, /obj/item/weapon/reagent_containers/chem_disp_cartridge/lime, "Reagent refill - Lime Juice", "lime juice reagent cartridge crate", 15)
+PACK(lemon, /obj/item/weapon/reagent_containers/chem_disp_cartridge/lemon, "Reagent refill - Lemon Juice", "lemon juice reagent cartridge crate", 15)
+PACK(watermelon, /obj/item/weapon/reagent_containers/chem_disp_cartridge/watermelon, "Reagent refill - Watermelon Juice", "watermelon juice reagent cartridge crate", 15)
+PACK(coffee, /obj/item/weapon/reagent_containers/chem_disp_cartridge/coffee, "Reagent refill - Coffee", "coffee reagent cartridge crate", 15)
+PACK(cafe_latte, /obj/item/weapon/reagent_containers/chem_disp_cartridge/cafe_latte, "Reagent refill - Cafe Latte", "cafe latte reagent cartridge crate", 15)
+PACK(soy_latte, /obj/item/weapon/reagent_containers/chem_disp_cartridge/soy_latte, "Reagent refill - Soy Latte", "soy latte reagent cartridge crate", 15)
+PACK(hot_coco, /obj/item/weapon/reagent_containers/chem_disp_cartridge/hot_coco, "Reagent refill - Hot Coco", "hot coco reagent cartridge crate", 15)
+PACK(milk, /obj/item/weapon/reagent_containers/chem_disp_cartridge/milk, "Reagent refill - Milk", "milk reagent cartridge crate", 15)
+PACK(cream, /obj/item/weapon/reagent_containers/chem_disp_cartridge/cream, "Reagent refill - Cream", "cream reagent cartridge crate", 15)
+
+#undef SEC_PACK
+#undef PACK
diff --git a/code/modules/reagents/distilling/distilling.dm b/code/modules/reagents/machinery/distillery.dm
similarity index 92%
rename from code/modules/reagents/distilling/distilling.dm
rename to code/modules/reagents/machinery/distillery.dm
index 4bd8bd163e..d64d8b3211 100644
--- a/code/modules/reagents/distilling/distilling.dm
+++ b/code/modules/reagents/machinery/distillery.dm
@@ -53,31 +53,16 @@
var/image/overlay_dumping
var/image/overlay_connected
-// Our unique beaker, used in its unique recipes to ensure things can only react inside this machine and minimize oddities from trying to transfer to a machine and back.
- var/obj/item/weapon/reagent_containers/glass/distilling/Reservoir
-
var/obj/item/weapon/reagent_containers/glass/InputBeaker
var/obj/item/weapon/reagent_containers/glass/OutputBeaker
// A multiplier for the production amount. This should really only ever be lower than one, otherwise you end up with duping.
var/efficiency = 1
-/obj/item/weapon/reagent_containers/glass/distilling
- name = "distilling chamber"
- desc = "You should not be seeing this."
- volume = 600
-
- var/obj/machinery/portable_atmospherics/powered/reagent_distillery/Master
-
-/obj/item/weapon/reagent_containers/glass/distilling/Destroy()
- Master = null
- ..()
-
/obj/machinery/portable_atmospherics/powered/reagent_distillery/Initialize()
. = ..()
- Reservoir = new (src)
- Reservoir.Master = src
+ create_reagents(600, /datum/reagents/distilling)
if(!base_state)
base_state = icon_state
@@ -107,8 +92,6 @@
overlay_connected = image(icon = src.icon, icon_state = "[base_state]-connector")
/obj/machinery/portable_atmospherics/powered/reagent_distillery/Destroy()
- qdel(Reservoir)
- Reservoir = null
if(InputBeaker)
qdel(InputBeaker)
InputBeaker = null
@@ -134,8 +117,8 @@
else
. += "
\The [src]'s input beaker is empty!"
- if(Reservoir.reagents.reagent_list.len)
- . += "
\The [src]'s internal buffer holds [Reservoir.reagents.total_volume] units of liquid."
+ if(reagents.reagent_list.len)
+ . += "
\The [src]'s internal buffer holds [reagents.total_volume] units of liquid."
else
. += "
\The [src]'s internal buffer is empty!"
@@ -164,7 +147,7 @@
to_chat(user, "
You press \the [src]'s chamber agitator button.")
if(on)
visible_message("
\The [src] rattles to life.")
- Reservoir.reagents.handle_reactions()
+ reagents.handle_reactions()
else
spawn(1 SECOND)
to_chat(user, "
Nothing happens..")
@@ -341,12 +324,12 @@
visible_message("
\The [src]'s motors wind down.")
on = FALSE
- if(InputBeaker && Reservoir.reagents.total_volume < Reservoir.reagents.maximum_volume)
- InputBeaker.reagents.trans_to_holder(Reservoir.reagents, amount = rand(10,20))
+ if(InputBeaker && reagents.total_volume < reagents.maximum_volume)
+ InputBeaker.reagents.trans_to_holder(reagents, amount = rand(10,20))
if(OutputBeaker && OutputBeaker.reagents.total_volume < OutputBeaker.reagents.maximum_volume)
use_power(power_rating * CELLRATE * 0.5)
- Reservoir.reagents.trans_to_holder(OutputBeaker.reagents, amount = rand(1, 5))
+ reagents.trans_to_holder(OutputBeaker.reagents, amount = rand(1, 5))
update_icon()
diff --git a/code/modules/reagents/machinery/grinder.dm b/code/modules/reagents/machinery/grinder.dm
new file mode 100644
index 0000000000..f913f7947b
--- /dev/null
+++ b/code/modules/reagents/machinery/grinder.dm
@@ -0,0 +1,268 @@
+/obj/machinery/reagentgrinder
+
+ name = "All-In-One Grinder"
+ desc = "Grinds stuff into itty bitty bits."
+ icon = 'icons/obj/kitchen.dmi'
+ icon_state = "juicer1"
+ density = 0
+ anchored = 0
+ use_power = USE_POWER_IDLE
+ idle_power_usage = 5
+ active_power_usage = 100
+ circuit = /obj/item/weapon/circuitboard/grinder
+ var/inuse = 0
+ var/obj/item/weapon/reagent_containers/beaker = null
+ var/limit = 10
+ var/list/holdingitems = list()
+ var/list/sheet_reagents = list( //have a number of reageents divisible by REAGENTS_PER_SHEET (default 20) unless you like decimals,
+ /obj/item/stack/material/iron = list("iron"),
+ /obj/item/stack/material/uranium = list("uranium"),
+ /obj/item/stack/material/phoron = list("phoron"),
+ /obj/item/stack/material/gold = list("gold"),
+ /obj/item/stack/material/silver = list("silver"),
+ /obj/item/stack/material/platinum = list("platinum"),
+ /obj/item/stack/material/mhydrogen = list("hydrogen"),
+ /obj/item/stack/material/steel = list("iron", "carbon"),
+ /obj/item/stack/material/plasteel = list("iron", "iron", "carbon", "carbon", "platinum"), //8 iron, 8 carbon, 4 platinum,
+ /obj/item/stack/material/snow = list("water"),
+ /obj/item/stack/material/sandstone = list("silicon", "oxygen"),
+ /obj/item/stack/material/glass = list("silicon"),
+ /obj/item/stack/material/glass/phoronglass = list("platinum", "silicon", "silicon", "silicon"), //5 platinum, 15 silicon,
+ )
+
+ var/static/radial_examine = image(icon = 'icons/mob/radial.dmi', icon_state = "radial_examine")
+ var/static/radial_eject = image(icon = 'icons/mob/radial.dmi', icon_state = "radial_eject")
+ var/static/radial_grind = image(icon = 'icons/mob/radial.dmi', icon_state = "radial_grind")
+ // var/static/radial_juice = image(icon = 'icons/mob/radial.dmi', icon_state = "radial_juice")
+ // var/static/radial_mix = image(icon = 'icons/mob/radial.dmi', icon_state = "radial_mix")
+
+/obj/machinery/reagentgrinder/Initialize()
+ . = ..()
+ beaker = new /obj/item/weapon/reagent_containers/glass/beaker/large(src)
+ default_apply_parts()
+
+/obj/machinery/reagentgrinder/examine(mob/user)
+ . = ..()
+ if(!in_range(user, src) && !issilicon(user) && !isobserver(user))
+ . += "
You're too far away to examine [src]'s contents and display!"
+ return
+
+ if(inuse)
+ . += "
\The [src] is operating."
+ return
+
+ if(beaker || length(holdingitems))
+ . += "
\The [src] contains:"
+ if(beaker)
+ . += "
- \A [beaker]."
+ for(var/i in holdingitems)
+ var/obj/item/O = i
+ . += "
- \A [O.name]."
+
+ if(!(stat & (NOPOWER|BROKEN)))
+ . += "
The status display reads:\n"
+ if(beaker)
+ for(var/datum/reagent/R in beaker.reagents.reagent_list)
+ . += "
- [R.volume] units of [R.name]."
+
+/obj/machinery/reagentgrinder/update_icon()
+ icon_state = "juicer"+num2text(!isnull(beaker))
+ return
+
+/obj/machinery/reagentgrinder/attackby(var/obj/item/O as obj, var/mob/user as mob)
+ if(beaker)
+ if(default_deconstruction_screwdriver(user, O))
+ return
+ if(default_deconstruction_crowbar(user, O))
+ return
+
+ //VOREStation edit start - for solargrubs
+ if (istype(O, /obj/item/device/multitool))
+ return ..()
+ //VOREStation edit end
+
+ if (istype(O,/obj/item/weapon/reagent_containers/glass) || \
+ istype(O,/obj/item/weapon/reagent_containers/food/drinks/glass2) || \
+ istype(O,/obj/item/weapon/reagent_containers/food/drinks/shaker))
+
+ if (beaker)
+ return 1
+ else
+ src.beaker = O
+ user.drop_item()
+ O.loc = src
+ update_icon()
+ src.updateUsrDialog()
+ return 0
+
+ if(holdingitems && holdingitems.len >= limit)
+ to_chat(user, "The machine cannot hold anymore items.")
+ return 1
+
+ if(!istype(O))
+ return
+
+ if(istype(O,/obj/item/weapon/storage/bag/plants))
+ var/obj/item/weapon/storage/bag/plants/bag = O
+ var/failed = 1
+ for(var/obj/item/G in O.contents)
+ if(!G.reagents || !G.reagents.total_volume)
+ continue
+ failed = 0
+ bag.remove_from_storage(G, src)
+ holdingitems += G
+ if(holdingitems && holdingitems.len >= limit)
+ break
+
+ if(failed)
+ to_chat(user, "Nothing in the plant bag is usable.")
+ return 1
+
+ if(!O.contents.len)
+ to_chat(user, "You empty \the [O] into \the [src].")
+ else
+ to_chat(user, "You fill \the [src] from \the [O].")
+
+ src.updateUsrDialog()
+ return 0
+
+ if(istype(O,/obj/item/weapon/gripper))
+ var/obj/item/weapon/gripper/B = O //B, for Borg.
+ if(!B.wrapped)
+ to_chat(user, "\The [B] is not holding anything.")
+ return 0
+ else
+ var/B_held = B.wrapped
+ to_chat(user, "You use \the [B] to load \the [src] with \the [B_held].")
+
+ return 0
+
+ if(!sheet_reagents[O.type] && (!O.reagents || !O.reagents.total_volume))
+ to_chat(user, "\The [O] is not suitable for blending.")
+ return 1
+
+ user.remove_from_mob(O)
+ O.loc = src
+ holdingitems += O
+ return 0
+
+/obj/machinery/reagentgrinder/AltClick(mob/user)
+ . = ..()
+ if(user.incapacitated() || !Adjacent(user))
+ return
+ replace_beaker(user)
+
+/obj/machinery/reagentgrinder/attack_hand(mob/user as mob)
+ interact(user)
+
+/obj/machinery/reagentgrinder/interact(mob/user as mob) // The microwave Menu //I am reasonably certain that this is not a microwave
+ if(inuse || user.incapacitated())
+ return
+
+ var/list/options = list()
+
+ if(beaker || length(holdingitems))
+ options["eject"] = radial_eject
+
+ if(isAI(user))
+ if(stat & NOPOWER)
+ return
+ options["examine"] = radial_examine
+
+ // if there is no power or it's broken, the procs will fail but the buttons will still show
+ if(length(holdingitems))
+ options["grind"] = radial_grind
+
+ var/choice
+ if(length(options) < 1)
+ return
+ if(length(options) == 1)
+ for(var/key in options)
+ choice = key
+ else
+ choice = show_radial_menu(user, src, options, require_near = !issilicon(user))
+
+ // post choice verification
+ if(inuse || (isAI(user) && stat & NOPOWER) || user.incapacitated())
+ return
+
+ switch(choice)
+ if("eject")
+ eject(user)
+ if("grind")
+ grind(user)
+ if("examine")
+ examine(user)
+
+/obj/machinery/reagentgrinder/proc/eject(mob/user)
+ if(user.incapacitated())
+ return
+ for(var/obj/item/O in holdingitems)
+ O.loc = src.loc
+ holdingitems -= O
+ holdingitems.Cut()
+ if(beaker)
+ replace_beaker(user)
+
+/obj/machinery/reagentgrinder/proc/grind()
+
+ power_change()
+ if(stat & (NOPOWER|BROKEN))
+ return
+
+ // Sanity check.
+ if (!beaker || (beaker && beaker.reagents.total_volume >= beaker.reagents.maximum_volume))
+ return
+
+ playsound(src, 'sound/machines/blender.ogg', 50, 1)
+ inuse = 1
+
+ // Reset the machine.
+ spawn(60)
+ inuse = 0
+
+ // Process.
+ for (var/obj/item/O in holdingitems)
+
+ var/remaining_volume = beaker.reagents.maximum_volume - beaker.reagents.total_volume
+ if(remaining_volume <= 0)
+ break
+
+ if(sheet_reagents[O.type])
+ var/obj/item/stack/stack = O
+ if(istype(stack))
+ var/list/sheet_components = sheet_reagents[stack.type]
+ var/amount_to_take = max(0,min(stack.amount,round(remaining_volume/REAGENTS_PER_SHEET)))
+ if(amount_to_take)
+ stack.use(amount_to_take)
+ if(QDELETED(stack))
+ holdingitems -= stack
+ if(islist(sheet_components))
+ amount_to_take = (amount_to_take/(sheet_components.len))
+ for(var/i in sheet_components)
+ beaker.reagents.add_reagent(i, (amount_to_take*REAGENTS_PER_SHEET))
+ else
+ beaker.reagents.add_reagent(sheet_components, (amount_to_take*REAGENTS_PER_SHEET))
+ continue
+
+ if(O.reagents)
+ O.reagents.trans_to_obj(beaker, min(O.reagents.total_volume, remaining_volume))
+ if(O.reagents.total_volume == 0)
+ holdingitems -= O
+ qdel(O)
+ if (beaker.reagents.total_volume >= beaker.reagents.maximum_volume)
+ break
+
+/obj/machinery/reagentgrinder/proc/replace_beaker(mob/living/user, obj/item/weapon/reagent_containers/new_beaker)
+ if(!user)
+ return FALSE
+ if(beaker)
+ if(!user.incapacitated() && Adjacent(user))
+ user.put_in_hands(beaker)
+ else
+ beaker.forceMove(drop_location())
+ beaker = null
+ if(new_beaker)
+ beaker = new_beaker
+ update_icon()
+ return TRUE
\ No newline at end of file
diff --git a/code/modules/reagents/reactions/_reactions.dm b/code/modules/reagents/reactions/_reactions.dm
new file mode 100644
index 0000000000..d63967d900
--- /dev/null
+++ b/code/modules/reagents/reactions/_reactions.dm
@@ -0,0 +1,128 @@
+//helper that ensures the reaction rate holds after iterating
+//Ex. REACTION_RATE(0.3) means that 30% of the reagents will react each chemistry tick (~2 seconds by default).
+#define REACTION_RATE(rate) (1.0 - (1.0-rate)**(1.0/PROCESS_REACTION_ITER))
+
+//helper to define reaction rate in terms of half-life
+//Ex.
+//HALF_LIFE(0) -> Reaction completes immediately (default chems)
+//HALF_LIFE(1) -> Half of the reagents react immediately, the rest over the following ticks.
+//HALF_LIFE(2) -> Half of the reagents are consumed after 2 chemistry ticks.
+//HALF_LIFE(3) -> Half of the reagents are consumed after 3 chemistry ticks.
+#define HALF_LIFE(ticks) (ticks? 1.0 - (0.5)**(1.0/(ticks*PROCESS_REACTION_ITER)) : 1.0)
+
+/decl/chemical_reaction
+ var/name = null
+ var/id = null
+ var/result = null
+ var/list/required_reagents = list()
+ var/list/catalysts = list()
+ var/list/inhibitors = list()
+ var/result_amount = 0
+
+ //how far the reaction proceeds each time it is processed. Used with either REACTION_RATE or HALF_LIFE macros.
+ var/reaction_rate = HALF_LIFE(0)
+
+ //if less than 1, the reaction will be inhibited if the ratio of products/reagents is too high.
+ //0.5 = 50% yield -> reaction will only proceed halfway until products are removed.
+ var/yield = 1.0
+
+ //If limits on reaction rate would leave less than this amount of any reagent (adjusted by the reaction ratios),
+ //the reaction goes to completion. This is to prevent reactions from going on forever with tiny reagent amounts.
+ var/min_reaction = 2
+
+ var/mix_message = "The solution begins to bubble."
+ var/reaction_sound = 'sound/effects/bubbles.ogg'
+
+ var/log_is_important = 0 // If this reaction should be considered important for logging. Important recipes message admins when mixed, non-important ones just log to file.
+
+/decl/chemical_reaction/proc/can_happen(var/datum/reagents/holder)
+ //check that all the required reagents are present
+ if(!holder.has_all_reagents(required_reagents))
+ return FALSE
+
+ //check that all the required catalysts are present in the required amount
+ if(!holder.has_all_reagents(catalysts))
+ return FALSE
+
+ //check that none of the inhibitors are present in the required amount
+ if(holder.has_any_reagent(inhibitors))
+ return FALSE
+
+ return TRUE
+
+/decl/chemical_reaction/proc/calc_reaction_progress(var/datum/reagents/holder, var/reaction_limit)
+ var/progress = reaction_limit * reaction_rate //simple exponential progression
+
+ //calculate yield
+ if(1-yield > 0.001) //if yield ratio is big enough just assume it goes to completion
+ /*
+ Determine the max amount of product by applying the yield condition:
+ (max_product/result_amount) / reaction_limit == yield/(1-yield)
+
+ We make use of the fact that:
+ reaction_limit = (holder.get_reagent_amount(reactant) / required_reagents[reactant]) of the limiting reagent.
+ */
+ var/yield_ratio = yield/(1-yield)
+ var/max_product = yield_ratio * reaction_limit * result_amount //rearrange to obtain max_product
+ var/yield_limit = max(0, max_product - holder.get_reagent_amount(result))/result_amount
+
+ progress = min(progress, yield_limit) //apply yield limit
+
+ //apply min reaction progress - wasn't sure if this should go before or after applying yield
+ //I guess people can just have their miniscule reactions go to completion regardless of yield.
+ for(var/reactant in required_reagents)
+ var/remainder = holder.get_reagent_amount(reactant) - progress*required_reagents[reactant]
+ if(remainder <= min_reaction*required_reagents[reactant])
+ progress = reaction_limit
+ break
+
+ return progress
+
+/decl/chemical_reaction/process(var/datum/reagents/holder)
+ //determine how far the reaction can proceed
+ var/list/reaction_limits = list()
+ for(var/reactant in required_reagents)
+ reaction_limits += holder.get_reagent_amount(reactant) / required_reagents[reactant]
+
+ //determine how far the reaction proceeds
+ var/reaction_limit = min(reaction_limits)
+ var/progress_limit = calc_reaction_progress(holder, reaction_limit)
+
+ var/reaction_progress = min(reaction_limit, progress_limit) //no matter what, the reaction progress cannot exceed the stoichiometric limit.
+
+ //need to obtain the new reagent's data before anything is altered
+ var/data = send_data(holder, reaction_progress)
+
+ //remove the reactants
+ for(var/reactant in required_reagents)
+ var/amt_used = required_reagents[reactant] * reaction_progress
+ holder.remove_reagent(reactant, amt_used, safety = 1)
+
+ //add the product
+ var/amt_produced = result_amount * reaction_progress
+ if(result)
+ holder.add_reagent(result, amt_produced, data, safety = 1)
+
+ on_reaction(holder, amt_produced)
+
+ return reaction_progress
+
+//called when a reaction processes
+/decl/chemical_reaction/proc/on_reaction(var/datum/reagents/holder, var/created_volume)
+ return
+
+//called after processing reactions, if they occurred
+/decl/chemical_reaction/proc/post_reaction(var/datum/reagents/holder)
+ var/atom/container = holder.my_atom
+ if(mix_message && container && !ismob(container))
+ var/turf/T = get_turf(container)
+ var/list/seen = viewers(4, T)
+ for(var/mob/M in seen)
+ if(M.client)
+ M.show_message("
[bicon(container)] [mix_message]", 1)
+ playsound(T, reaction_sound, 80, 1)
+
+//obtains any special data that will be provided to the reaction products
+//this is called just before reactants are removed.
+/decl/chemical_reaction/proc/send_data(var/datum/reagents/holder, var/reaction_limit)
+ return null
\ No newline at end of file
diff --git a/code/modules/reagents/distilling/Distilling-Recipes.dm b/code/modules/reagents/reactions/distilling/distilling.dm
similarity index 74%
rename from code/modules/reagents/distilling/Distilling-Recipes.dm
rename to code/modules/reagents/reactions/distilling/distilling.dm
index 0736ac7e61..5944a75846 100644
--- a/code/modules/reagents/distilling/Distilling-Recipes.dm
+++ b/code/modules/reagents/reactions/distilling/distilling.dm
@@ -1,4 +1,4 @@
-/datum/chemical_reaction/distilling
+/decl/chemical_reaction/distilling
// name = null
// id = null
// result = null
@@ -26,32 +26,19 @@
var/list/temp_range = list(T0C, T20C)
var/temp_shift = 0 // How much the temperature changes when the reaction occurs.
-/datum/chemical_reaction/distilling/can_happen(var/datum/reagents/holder)
- //check that all the required reagents are present
- if(!holder.has_all_reagents(required_reagents))
- return 0
+/decl/chemical_reaction/distilling/can_happen(var/datum/reagents/holder)
+ if(!istype(holder, /datum/reagents/distilling) || !istype(holder.my_atom, /obj/machinery/portable_atmospherics/powered/reagent_distillery))
+ return FALSE
- //check that all the required catalysts are present in the required amount
- if(!holder.has_all_reagents(catalysts))
- return 0
+ // Super special temperature check.
+ var/obj/machinery/portable_atmospherics/powered/reagent_distillery/RD = holder.my_atom
+ if(RD.current_temp < temp_range[1] || RD.current_temp > temp_range[2])
+ return FALSE
- //check that none of the inhibitors are present in the required amount
- if(holder.has_any_reagent(inhibitors))
- return 0
-
- if(!istype(holder.my_atom, /obj/item/weapon/reagent_containers/glass/distilling))
- return 0
-
- else // Super special temperature check.
- var/obj/item/weapon/reagent_containers/glass/distilling/D = holder.my_atom
- var/obj/machinery/portable_atmospherics/powered/reagent_distillery/RD = D.Master
- if(RD.current_temp < temp_range[1] || RD.current_temp > temp_range[2])
- return 0
-
- return 1
+ return ..()
/*
-/datum/chemical_reaction/distilling/on_reaction(var/datum/reagents/holder, var/created_volume)
+/decl/chemical_reaction/distilling/on_reaction(var/datum/reagents/holder, var/created_volume)
if(istype(holder.my_atom, /obj/item/weapon/reagent_containers/glass/distilling))
var/obj/item/weapon/reagent_containers/glass/distilling/D = holder.my_atom
var/obj/machinery/portable_atmospherics/powered/reagent_distillery/RD = D.Master
@@ -62,7 +49,7 @@
// Subtypes //
// Biomass
-/datum/chemical_reaction/distilling/biomass
+/decl/chemical_reaction/distilling/biomass
name = "Distilling Biomass"
id = "distill_biomass"
result = "biomass"
@@ -73,7 +60,7 @@
temp_shift = -2
// Medicinal
-/datum/chemical_reaction/distilling/inaprovalaze
+/decl/chemical_reaction/distilling/inaprovalaze
name = "Distilling Inaprovalaze"
id = "distill_inaprovalaze"
result = "inaprovalaze"
@@ -84,7 +71,7 @@
temp_range = list(T0C + 100, T0C + 120)
-/datum/chemical_reaction/distilling/bicaridaze
+/decl/chemical_reaction/distilling/bicaridaze
name = "Distilling Bicaridaze"
id = "distill_bicaridaze"
result = "bicaridaze"
@@ -95,7 +82,7 @@
temp_range = list(T0C + 110, T0C + 130)
-/datum/chemical_reaction/distilling/dermalaze
+/decl/chemical_reaction/distilling/dermalaze
name = "Distilling Dermalaze"
id = "distill_dermalaze"
result = "dermalaze"
@@ -106,7 +93,7 @@
temp_range = list(T0C + 115, T0C + 130)
-/datum/chemical_reaction/distilling/spacomycaze
+/decl/chemical_reaction/distilling/spacomycaze
name = "Distilling Spacomycaze"
id = "distill_spacomycaze"
result = "spacomycaze"
@@ -117,7 +104,7 @@
temp_range = list(T0C + 100, T0C + 120)
-/datum/chemical_reaction/distilling/tricorlidaze
+/decl/chemical_reaction/distilling/tricorlidaze
name = "Distilling Tricorlidaze"
id = "distill_tricorlidaze"
result = "tricorlidaze"
@@ -128,7 +115,7 @@
temp_range = list(T0C + 100, T0C + 120)
-/datum/chemical_reaction/distilling/synthplas
+/decl/chemical_reaction/distilling/synthplas
name = "Distilling Synthplas"
id = "distill_synthplas"
result = "synthblood_dilute"
@@ -140,7 +127,7 @@
temp_range = list(T0C + 110, T0C + 130)
// Alcohol
-/datum/chemical_reaction/distilling/beer
+/decl/chemical_reaction/distilling/beer
name = "Distilling Beer"
id = "distill_beer"
result = "beer"
@@ -151,7 +138,7 @@
temp_range = list(T20C, T20C + 2)
-/datum/chemical_reaction/distilling/ale
+/decl/chemical_reaction/distilling/ale
name = "Distilling Ale"
id = "distill_ale"
result = "ale"
@@ -165,7 +152,7 @@
temp_range = list(T0C + 7, T0C + 13)
// Unique
-/datum/chemical_reaction/distilling/berserkjuice
+/decl/chemical_reaction/distilling/berserkjuice
name = "Distilling Brute Juice"
id = "distill_brutejuice"
result = "berserkmed"
@@ -175,7 +162,7 @@
temp_range = list(T0C + 600, T0C + 700)
temp_shift = 4
-/datum/chemical_reaction/distilling/berserkjuice/on_reaction(var/datum/reagents/holder, var/created_volume)
+/decl/chemical_reaction/distilling/berserkjuice/on_reaction(var/datum/reagents/holder, var/created_volume)
..()
if(prob(1))
@@ -183,7 +170,7 @@
explosion(T, -1, rand(-1, 1), rand(1,2), rand(3,5))
return
-/datum/chemical_reaction/distilling/cryogel
+/decl/chemical_reaction/distilling/cryogel
name = "Distilling Cryogellatin"
id = "distill_cryoslurry"
result = "cryoslurry"
@@ -194,7 +181,7 @@
temp_range = list(0, 15)
temp_shift = 20
-/datum/chemical_reaction/distilling/cryogel/on_reaction(var/datum/reagents/holder, var/created_volume)
+/decl/chemical_reaction/distilling/cryogel/on_reaction(var/datum/reagents/holder, var/created_volume)
..()
if(prob(1))
@@ -204,7 +191,7 @@
F.start()
return
-/datum/chemical_reaction/distilling/lichpowder
+/decl/chemical_reaction/distilling/lichpowder
name = "Distilling Lichpowder"
id = "distill_lichpowder"
result = "lichpowder"
@@ -215,7 +202,7 @@
temp_range = list(T0C + 100, T0C + 150)
-/datum/chemical_reaction/distilling/necroxadone
+/decl/chemical_reaction/distilling/necroxadone
name = "Distilling Necroxadone"
id = "distill_necroxadone"
result = "necroxadone"
diff --git a/code/modules/reagents/reactions/fusion/fusion.dm b/code/modules/reagents/reactions/fusion/fusion.dm
new file mode 100644
index 0000000000..7b0acfec96
--- /dev/null
+++ b/code/modules/reagents/reactions/fusion/fusion.dm
@@ -0,0 +1,6 @@
+// TDOD: Port R-UST fusion reactions to the chemistry system.
+//They'll operate in a similar manner to distillery reactions,
+// but will have distinct behaviours (mostly relating to the fusion field) that warrants a separate type
+/*
+/decl/chemical_reaction/fusion
+ name = "Fusion"*/
\ No newline at end of file
diff --git a/code/modules/reagents/reactions/instant/drinks.dm b/code/modules/reagents/reactions/instant/drinks.dm
new file mode 100644
index 0000000000..2722d7843b
--- /dev/null
+++ b/code/modules/reagents/reactions/instant/drinks.dm
@@ -0,0 +1,1223 @@
+/decl/chemical_reaction/instant/drinks/coffee
+ name = "Coffee"
+ id = "coffee"
+ result = "coffee"
+ required_reagents = list("water" = 5, "coffeepowder" = 1)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/drinks/tea
+ name = "Black tea"
+ id = "tea"
+ result = "tea"
+ required_reagents = list("water" = 5, "teapowder" = 1)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/drinks/hot_coco
+ name = "Hot Coco"
+ id = "hot_coco"
+ result = "hot_coco"
+ required_reagents = list("water" = 5, "coco" = 1)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/drinks/grapejuice
+ name = "Grape Juice"
+ id = "grapejuice"
+ result = "grapejuice"
+ required_reagents = list("water" = 3, "instantgrape" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/orangejuice
+ name = "Orange Juice"
+ id = "orangejuice"
+ result = "orangejuice"
+ required_reagents = list("water" = 3, "instantorange" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/watermelonjuice
+ name = "Watermelon Juice"
+ id = "watermelonjuice"
+ result = "watermelonjuice"
+ required_reagents = list("water" = 3, "instantwatermelon" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/applejuice
+ name = "Apple Juice"
+ id = "applejuice"
+ result = "applejuice"
+ required_reagents = list("water" = 3, "instantapple" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/goldschlager
+ name = "Goldschlager"
+ id = "goldschlager"
+ result = "goldschlager"
+ required_reagents = list("vodka" = 10, "gold" = 1)
+ result_amount = 10
+
+/decl/chemical_reaction/instant/drinks/patron
+ name = "Patron"
+ id = "patron"
+ result = "patron"
+ required_reagents = list("tequilla" = 10, "silver" = 1)
+ result_amount = 10
+
+/decl/chemical_reaction/instant/drinks/bilk
+ name = "Bilk"
+ id = "bilk"
+ result = "bilk"
+ required_reagents = list("milk" = 1, "beer" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/drinks/icetea
+ name = "Iced Tea"
+ id = "icetea"
+ result = "icetea"
+ required_reagents = list("ice" = 1, "tea" = 2)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/icecoffee
+ name = "Iced Coffee"
+ id = "icecoffee"
+ result = "icecoffee"
+ required_reagents = list("ice" = 1, "coffee" = 2)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/nuka_cola
+ name = "Nuclear Cola"
+ id = "nuka_cola"
+ result = "nuka_cola"
+ required_reagents = list("uranium" = 1, "cola" = 5)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/drinks/moonshine
+ name = "Moonshine"
+ id = "moonshine"
+ result = "moonshine"
+ required_reagents = list("nutriment" = 10)
+ catalysts = list("enzyme" = 5)
+ result_amount = 10
+
+/decl/chemical_reaction/instant/drinks/grenadine
+ name = "Grenadine Syrup"
+ id = "grenadine"
+ result = "grenadine"
+ required_reagents = list("berryjuice" = 10)
+ catalysts = list("enzyme" = 5)
+ result_amount = 10
+
+/decl/chemical_reaction/instant/drinks/wine
+ name = "Wine"
+ id = "wine"
+ result = "wine"
+ required_reagents = list("grapejuice" = 10)
+ catalysts = list("enzyme" = 5)
+ result_amount = 10
+
+/decl/chemical_reaction/instant/drinks/pwine
+ name = "Poison Wine"
+ id = "pwine"
+ result = "pwine"
+ required_reagents = list("poisonberryjuice" = 10)
+ catalysts = list("enzyme" = 5)
+ result_amount = 10
+
+/decl/chemical_reaction/instant/drinks/melonliquor
+ name = "Melon Liquor"
+ id = "melonliquor"
+ result = "melonliquor"
+ required_reagents = list("watermelonjuice" = 10)
+ catalysts = list("enzyme" = 5)
+ result_amount = 10
+
+/decl/chemical_reaction/instant/drinks/bluecuracao
+ name = "Blue Curacao"
+ id = "bluecuracao"
+ result = "bluecuracao"
+ required_reagents = list("orangejuice" = 10)
+ catalysts = list("enzyme" = 5)
+ result_amount = 10
+
+/decl/chemical_reaction/instant/drinks/spacebeer
+ name = "Space Beer"
+ id = "spacebeer"
+ result = "beer"
+ required_reagents = list("cornoil" = 10)
+ catalysts = list("enzyme" = 5)
+ result_amount = 10
+
+/decl/chemical_reaction/instant/drinks/vodka
+ name = "Vodka"
+ id = "vodka"
+ result = "vodka"
+ required_reagents = list("potatojuice" = 10)
+ catalysts = list("enzyme" = 5)
+ result_amount = 10
+
+/decl/chemical_reaction/instant/drinks/cider
+ name = "Cider"
+ id = "cider"
+ result = "cider"
+ required_reagents = list("applejuice" = 10)
+ catalysts = list("enzyme" = 5)
+ result_amount = 10
+
+
+/decl/chemical_reaction/instant/drinks/sake
+ name = "Sake"
+ id = "sake"
+ result = "sake"
+ required_reagents = list("rice" = 10)
+ catalysts = list("enzyme" = 5)
+ result_amount = 10
+
+/decl/chemical_reaction/instant/drinks/kahlua
+ name = "Kahlua"
+ id = "kahlua"
+ result = "kahlua"
+ required_reagents = list("coffee" = 5, "sugar" = 5)
+ catalysts = list("enzyme" = 5)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/drinks/gin_tonic
+ name = "Gin and Tonic"
+ id = "gintonic"
+ result = "gintonic"
+ required_reagents = list("gin" = 2, "tonic" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/cuba_libre
+ name = "Cuba Libre"
+ id = "cubalibre"
+ result = "cubalibre"
+ required_reagents = list("rum" = 2, "cola" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/martini
+ name = "Classic Martini"
+ id = "martini"
+ result = "martini"
+ required_reagents = list("gin" = 2, "vermouth" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/vodkamartini
+ name = "Vodka Martini"
+ id = "vodkamartini"
+ result = "vodkamartini"
+ required_reagents = list("vodka" = 2, "vermouth" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/white_russian
+ name = "White Russian"
+ id = "whiterussian"
+ result = "whiterussian"
+ required_reagents = list("blackrussian" = 2, "cream" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/whiskey_cola
+ name = "Whiskey Cola"
+ id = "whiskeycola"
+ result = "whiskeycola"
+ required_reagents = list("whiskey" = 2, "cola" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/screwdriver
+ name = "Screwdriver"
+ id = "screwdrivercocktail"
+ result = "screwdrivercocktail"
+ required_reagents = list("vodka" = 2, "orangejuice" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/bloody_mary
+ name = "Bloody Mary"
+ id = "bloodymary"
+ result = "bloodymary"
+ required_reagents = list("vodka" = 2, "tomatojuice" = 3, "limejuice" = 1)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/drinks/gargle_blaster
+ name = "Pan-Galactic Gargle Blaster"
+ id = "gargleblaster"
+ result = "gargleblaster"
+ required_reagents = list("vodka" = 2, "gin" = 1, "whiskey" = 1, "cognac" = 1, "limejuice" = 1)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/drinks/brave_bull
+ name = "Brave Bull"
+ id = "bravebull"
+ result = "bravebull"
+ required_reagents = list("tequilla" = 2, "kahlua" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/tequilla_sunrise
+ name = "Tequilla Sunrise"
+ id = "tequillasunrise"
+ result = "tequillasunrise"
+ required_reagents = list("tequilla" = 2, "orangejuice" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/phoron_special
+ name = "Toxins Special"
+ id = "phoronspecial"
+ result = "phoronspecial"
+ required_reagents = list("rum" = 2, "vermouth" = 2, "phoron" = 2)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/drinks/beepsky_smash
+ name = "Beepksy Smash"
+ id = "beepksysmash"
+ result = "beepskysmash"
+ required_reagents = list("limejuice" = 1, "whiskey" = 1, "iron" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/drinks/doctor_delight
+ name = "The Doctor's Delight"
+ id = "doctordelight"
+ result = "doctorsdelight"
+ required_reagents = list("limejuice" = 1, "tomatojuice" = 1, "orangejuice" = 1, "cream" = 2, "tricordrazine" = 1)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/drinks/irish_cream
+ name = "Irish Cream"
+ id = "irishcream"
+ result = "irishcream"
+ required_reagents = list("whiskey" = 2, "cream" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/manly_dorf
+ name = "The Manly Dorf"
+ id = "manlydorf"
+ result = "manlydorf"
+ required_reagents = list ("beer" = 1, "ale" = 2)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/hooch
+ name = "Hooch"
+ id = "hooch"
+ result = "hooch"
+ required_reagents = list ("sugar" = 1, "ethanol" = 2, "fuel" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/irish_coffee
+ name = "Irish Coffee"
+ id = "irishcoffee"
+ result = "irishcoffee"
+ required_reagents = list("irishcream" = 1, "coffee" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/drinks/b52
+ name = "B-52"
+ id = "b52"
+ result = "b52"
+ required_reagents = list("irishcream" = 1, "kahlua" = 1, "cognac" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/atomicbomb
+ name = "Atomic Bomb"
+ id = "atomicbomb"
+ result = "atomicbomb"
+ required_reagents = list("b52" = 10, "uranium" = 1)
+ result_amount = 10
+
+/decl/chemical_reaction/instant/drinks/margarita
+ name = "Margarita"
+ id = "margarita"
+ result = "margarita"
+ required_reagents = list("tequilla" = 2, "limejuice" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/longislandicedtea
+ name = "Long Island Iced Tea"
+ id = "longislandicedtea"
+ result = "longislandicedtea"
+ required_reagents = list("vodka" = 1, "gin" = 1, "tequilla" = 1, "cubalibre" = 3)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/drinks/icedtea
+ name = "Long Island Iced Tea"
+ id = "longislandicedtea"
+ result = "longislandicedtea"
+ required_reagents = list("vodka" = 1, "gin" = 1, "tequilla" = 1, "cubalibre" = 3)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/drinks/threemileisland
+ name = "Three Mile Island Iced Tea"
+ id = "threemileisland"
+ result = "threemileisland"
+ required_reagents = list("longislandicedtea" = 10, "uranium" = 1)
+ result_amount = 10
+
+/decl/chemical_reaction/instant/drinks/whiskeysoda
+ name = "Whiskey Soda"
+ id = "whiskeysoda"
+ result = "whiskeysoda"
+ required_reagents = list("whiskey" = 2, "sodawater" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/black_russian
+ name = "Black Russian"
+ id = "blackrussian"
+ result = "blackrussian"
+ required_reagents = list("vodka" = 2, "kahlua" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/manhattan
+ name = "Manhattan"
+ id = "manhattan"
+ result = "manhattan"
+ required_reagents = list("whiskey" = 2, "vermouth" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/manhattan_proj
+ name = "Manhattan Project"
+ id = "manhattan_proj"
+ result = "manhattan_proj"
+ required_reagents = list("manhattan" = 10, "uranium" = 1)
+ result_amount = 10
+
+/decl/chemical_reaction/instant/drinks/vodka_tonic
+ name = "Vodka and Tonic"
+ id = "vodkatonic"
+ result = "vodkatonic"
+ required_reagents = list("vodka" = 2, "tonic" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/gin_fizz
+ name = "Gin Fizz"
+ id = "ginfizz"
+ result = "ginfizz"
+ required_reagents = list("gin" = 1, "sodawater" = 1, "limejuice" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/bahama_mama
+ name = "Bahama mama"
+ id = "bahama_mama"
+ result = "bahama_mama"
+ required_reagents = list("rum" = 2, "orangejuice" = 2, "limejuice" = 1, "ice" = 1)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/drinks/singulo
+ name = "Singulo"
+ id = "singulo"
+ result = "singulo"
+ required_reagents = list("vodka" = 5, "radium" = 1, "wine" = 5)
+ result_amount = 10
+
+/decl/chemical_reaction/instant/drinks/alliescocktail
+ name = "Allies Cocktail"
+ id = "alliescocktail"
+ result = "alliescocktail"
+ required_reagents = list("martini" = 1, "vodka" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/drinks/demonsblood
+ name = "Demons Blood"
+ id = "demonsblood"
+ result = "demonsblood"
+ required_reagents = list("rum" = 3, "spacemountainwind" = 1, "blood" = 1, "dr_gibb" = 1)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/drinks/booger
+ name = "Booger"
+ id = "booger"
+ result = "booger"
+ required_reagents = list("cream" = 2, "banana" = 1, "rum" = 1, "watermelonjuice" = 1)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/drinks/antifreeze
+ name = "Anti-freeze"
+ id = "antifreeze"
+ result = "antifreeze"
+ required_reagents = list("vodka" = 1, "cream" = 1, "ice" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/barefoot
+ name = "Barefoot"
+ id = "barefoot"
+ result = "barefoot"
+ required_reagents = list("berryjuice" = 1, "cream" = 1, "vermouth" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/grapesoda
+ name = "Grape Soda"
+ id = "grapesoda"
+ result = "grapesoda"
+ required_reagents = list("grapejuice" = 2, "cola" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/sbiten
+ name = "Sbiten"
+ id = "sbiten"
+ result = "sbiten"
+ required_reagents = list("vodka" = 10, "capsaicin" = 1)
+ result_amount = 10
+
+/decl/chemical_reaction/instant/drinks/red_mead
+ name = "Red Mead"
+ id = "red_mead"
+ result = "red_mead"
+ required_reagents = list("blood" = 1, "mead" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/drinks/mead
+ name = "Mead"
+ id = "mead"
+ result = "mead"
+ required_reagents = list("sugar" = 1, "water" = 1)
+ catalysts = list("enzyme" = 5)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/drinks/iced_beer
+ name = "Iced Beer"
+ id = "iced_beer"
+ result = "iced_beer"
+ required_reagents = list("beer" = 10, "frostoil" = 1)
+ result_amount = 10
+
+/decl/chemical_reaction/instant/drinks/iced_beer2
+ name = "Iced Beer"
+ id = "iced_beer"
+ result = "iced_beer"
+ required_reagents = list("beer" = 5, "ice" = 1)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/drinks/grog
+ name = "Grog"
+ id = "grog"
+ result = "grog"
+ required_reagents = list("rum" = 1, "water" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/drinks/soy_latte
+ name = "Soy Latte"
+ id = "soy_latte"
+ result = "soy_latte"
+ required_reagents = list("coffee" = 1, "soymilk" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/drinks/cafe_latte
+ name = "Cafe Latte"
+ id = "cafe_latte"
+ result = "cafe_latte"
+ required_reagents = list("coffee" = 1, "milk" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/drinks/acidspit
+ name = "Acid Spit"
+ id = "acidspit"
+ result = "acidspit"
+ required_reagents = list("sacid" = 1, "wine" = 5)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/drinks/amasec
+ name = "Amasec"
+ id = "amasec"
+ result = "amasec"
+ required_reagents = list("iron" = 1, "wine" = 5, "vodka" = 5)
+ result_amount = 10
+
+/decl/chemical_reaction/instant/drinks/changelingsting
+ name = "Changeling Sting"
+ id = "changelingsting"
+ result = "changelingsting"
+ required_reagents = list("screwdrivercocktail" = 1, "limejuice" = 1, "lemonjuice" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/aloe
+ name = "Aloe"
+ id = "aloe"
+ result = "aloe"
+ required_reagents = list("cream" = 1, "whiskey" = 1, "watermelonjuice" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/andalusia
+ name = "Andalusia"
+ id = "andalusia"
+ result = "andalusia"
+ required_reagents = list("rum" = 1, "whiskey" = 1, "lemonjuice" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/snowwhite
+ name = "Snow White"
+ id = "snowwhite"
+ result = "snowwhite"
+ required_reagents = list("pineapplejuice" = 1, "rum" = 1, "lemon_lime" = 1, "egg" = 1, "kahlua" = 1, "sugar" = 1) //VoreStation Edit
+ result_amount = 2
+
+/decl/chemical_reaction/instant/drinks/irishcarbomb
+ name = "Irish Car Bomb"
+ id = "irishcarbomb"
+ result = "irishcarbomb"
+ required_reagents = list("ale" = 1, "irishcream" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/drinks/syndicatebomb
+ name = "Syndicate Bomb"
+ id = "syndicatebomb"
+ result = "syndicatebomb"
+ required_reagents = list("beer" = 1, "whiskeycola" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/drinks/erikasurprise
+ name = "Erika Surprise"
+ id = "erikasurprise"
+ result = "erikasurprise"
+ required_reagents = list("ale" = 2, "limejuice" = 1, "whiskey" = 1, "banana" = 1, "ice" = 1)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/drinks/devilskiss
+ name = "Devils Kiss"
+ id = "devilskiss"
+ result = "devilskiss"
+ required_reagents = list("blood" = 1, "kahlua" = 1, "rum" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/hippiesdelight
+ name = "Hippies Delight"
+ id = "hippiesdelight"
+ result = "hippiesdelight"
+ required_reagents = list("psilocybin" = 1, "gargleblaster" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/drinks/bananahonk
+ name = "Banana Honk"
+ id = "bananahonk"
+ result = "bananahonk"
+ required_reagents = list("banana" = 1, "cream" = 1, "sugar" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/silencer
+ name = "Silencer"
+ id = "silencer"
+ result = "silencer"
+ required_reagents = list("nothing" = 1, "cream" = 1, "sugar" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/driestmartini
+ name = "Driest Martini"
+ id = "driestmartini"
+ result = "driestmartini"
+ required_reagents = list("nothing" = 1, "gin" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/drinks/lemonade
+ name = "Lemonade"
+ id = "lemonade"
+ result = "lemonade"
+ required_reagents = list("lemonjuice" = 1, "sugar" = 1, "water" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/melonade
+ name = "Melonade"
+ id = "melonade"
+ result = "melonade"
+ required_reagents = list("watermelonjuice" = 1, "sugar" = 1, "sodawater" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/appleade
+ name = "Appleade"
+ id = "appleade"
+ result = "appleade"
+ required_reagents = list("applejuice" = 1, "sugar" = 1, "sodawater" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/pineappleade
+ name = "Pineappleade"
+ id = "pineappleade"
+ result = "pineappleade"
+ required_reagents = list("pineapplejuice" = 2, "limejuice" = 1, "sodawater" = 2, "honey" = 1)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/drinks/driverspunch
+ name = "Driver`s Punch"
+ id = "driverspunch"
+ result = "driverspunch"
+ required_reagents = list("appleade" = 2, "orangejuice" = 1, "mint" = 1, "sodawater" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/mintapplesparkle
+ name = "Mint Apple Sparkle"
+ id = "mintapplesparkle"
+ result = "mintapplesparkle"
+ required_reagents = list("appleade" = 2, "mint" = 1)
+ inhibitors = list("sodawater" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/berrycordial
+ name = "Berry Cordial"
+ id = "berrycordial"
+ result = "berrycordial"
+ required_reagents = list("berryjuice" = 4, "sugar" = 1, "lemonjuice" = 1)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/drinks/tropicalfizz
+ name = "Tropical Fizz"
+ id = "tropicalfizz"
+ result = "tropicalfizz"
+ required_reagents = list("sodawater" = 6, "berryjuice" = 1, "mint" = 1, "limejuice" = 1, "lemonjuice" = 1, "pineapplejuice" = 1)
+ inhibitors = list("sugar" = 1)
+ result_amount = 8
+
+/decl/chemical_reaction/instant/drinks/melonspritzer
+ name = "Melon Spritzer"
+ id = "melonspritzer"
+ result = "melonspritzer"
+ required_reagents = list("watermelonjuice" = 2, "wine" = 2, "applejuice" = 1, "limejuice" = 1)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/drinks/fauxfizz
+ name = "Faux Fizz"
+ id = "fauxfizz"
+ result = "fauxfizz"
+ required_reagents = list("sodawater" = 2, "berryjuice" = 1, "applejuice" = 1, "limejuice" = 1, "honey" = 1)
+ inhibitors = list("sugar" = 1)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/drinks/firepunch
+ name = "Fire Punch"
+ id = "firepunch"
+ result = "firepunch"
+ required_reagents = list("sugar" = 1, "rum" = 2)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/kiraspecial
+ name = "Kira Special"
+ id = "kiraspecial"
+ result = "kiraspecial"
+ required_reagents = list("orangejuice" = 1, "limejuice" = 1, "sodawater" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/brownstar
+ name = "Brown Star"
+ id = "brownstar"
+ result = "brownstar"
+ required_reagents = list("orangejuice" = 2, "cola" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/milkshake
+ name = "Milkshake"
+ id = "milkshake"
+ result = "milkshake"
+ required_reagents = list("cream" = 1, "ice" = 2, "milk" = 2)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/drinks/peanutmilkshake
+ name = "Peanutbutter Milkshake"
+ id = "peanutmilkshake"
+ result = "peanutmilkshake"
+ required_reagents = list("cream" = 1, "ice" = 1, "peanutbutter" = 2, "milk" = 1)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/drinks/rewriter
+ name = "Rewriter"
+ id = "rewriter"
+ result = "rewriter"
+ required_reagents = list("spacemountainwind" = 1, "coffee" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/drinks/suidream
+ name = "Sui Dream"
+ id = "suidream"
+ result = "suidream"
+ required_reagents = list("space_up" = 1, "bluecuracao" = 1, "melonliquor" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/shirleytemple
+ name = "Shirley Temple"
+ id = "shirley_temple"
+ result = "shirley_temple"
+ required_reagents = list("gingerale" = 4, "grenadine" = 1)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/drinks/royrogers
+ name = "Roy Rogers"
+ id = "roy_rogers"
+ result = "roy_rogers"
+ required_reagents = list("shirley_temple" = 5, "lemon_lime" = 2)
+ result_amount = 7
+
+/decl/chemical_reaction/instant/drinks/collinsmix
+ name = "Collins Mix"
+ id = "collins_mix"
+ result = "collins_mix"
+ required_reagents = list("lemon_lime" = 3, "sodawater" = 1)
+ result_amount = 4
+
+/decl/chemical_reaction/instant/drinks/arnoldpalmer
+ name = "Arnold Palmer"
+ id = "arnold_palmer"
+ result = "arnold_palmer"
+ required_reagents = list("icetea" = 1, "lemonade" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/drinks/minttea
+ name = "Mint Tea"
+ id = "minttea"
+ result = "minttea"
+ required_reagents = list("tea" = 5, "mint" = 1)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/drinks/lemontea
+ name = "Lemon Tea"
+ id = "lemontea"
+ result = "lemontea"
+ required_reagents = list("tea" = 5, "lemonjuice" = 1)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/drinks/limetea
+ name = "Lime Tea"
+ id = "limetea"
+ result = "limetea"
+ required_reagents = list("tea" = 5, "limejuice" = 1)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/drinks/orangetea
+ name = "Orange Tea"
+ id = "orangetea"
+ result = "orangetea"
+ required_reagents = list("tea" = 5, "orangejuice" = 1)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/drinks/berrytea
+ name = "Berry Tea"
+ id = "berrytea"
+ result = "berrytea"
+ required_reagents = list("tea" = 5, "berryjuice" = 1)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/drinks/sakebomb
+ name = "Sake Bomb"
+ id = "sakebomb"
+ result = "sakebomb"
+ required_reagents = list("beer" = 2, "sake" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/tamagozake
+ name = "Tamagozake"
+ id = "tamagozake"
+ result = "tamagozake"
+ required_reagents = list("sake" = 10, "sugar" = 5, "egg" = 3)
+ result_amount = 15
+
+/decl/chemical_reaction/instant/drinks/ginzamary
+ name = "Ginza Mary"
+ id = "ginzamary"
+ result = "ginzamary"
+ required_reagents = list("sake" = 2, "vodka" = 2, "tomatojuice" = 1)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/drinks/tokyorose
+ name = "Tokyo Rose"
+ id = "tokyorose"
+ result = "tokyorose"
+ required_reagents = list("sake" = 1, "berryjuice" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/drinks/saketini
+ name = "Saketini"
+ id = "saketini"
+ result = "saketini"
+ required_reagents = list("sake" = 1, "gin" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/drinks/elysiumfacepunch
+ name = "Elysium Facepunch"
+ id = "elysiumfacepunch"
+ result = "elysiumfacepunch"
+ required_reagents = list("kahlua" = 1, "lemonjuice" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/drinks/erebusmoonrise
+ name = "Erebus Moonrise"
+ id = "erebusmoonrise"
+ result = "erebusmoonrise"
+ required_reagents = list("whiskey" = 1, "vodka" = 1, "tequilla" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/balloon
+ name = "Balloon"
+ id = "balloon"
+ result = "balloon"
+ required_reagents = list("cream" = 1, "bluecuracao" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/drinks/natunabrandy
+ name = "Natuna Brandy"
+ id = "natunabrandy"
+ result = "natunabrandy"
+ required_reagents = list("beer" = 1, "sodawater" = 2)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/euphoria
+ name = "Euphoria"
+ id = "euphoria"
+ result = "euphoria"
+ required_reagents = list("specialwhiskey" = 1, "cognac" = 2)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/xanaducannon
+ name = "Xanadu Cannon"
+ id = "xanaducannon"
+ result = "xanaducannon"
+ required_reagents = list("ale" = 1, "dr_gibb" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/drinks/debugger
+ name = "Debugger"
+ id = "debugger"
+ result = "debugger"
+ required_reagents = list("fuel" = 1, "sugar" = 2, "cornoil" = 2)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/drinks/spacersbrew
+ name = "Spacer's Brew"
+ id = "spacersbrew"
+ result = "spacersbrew"
+ required_reagents = list("brownstar" = 4, "ethanol" = 1)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/drinks/binmanbliss
+ name = "Binman Bliss"
+ id = "binmanbliss"
+ result = "binmanbliss"
+ required_reagents = list("sake" = 1, "tequilla" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/drinks/chrysanthemum
+ name = "Chrysanthemum"
+ id = "chrysanthemum"
+ result = "chrysanthemum"
+ required_reagents = list("sake" = 1, "melonliquor" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/drinks/deathbell
+ name = "Deathbell"
+ id = "deathbell"
+ result = "deathbell"
+ required_reagents = list("antifreeze" = 1, "gargleblaster" = 1, "syndicatebomb" =1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/bitters
+ name = "Bitters"
+ id = "bitters"
+ result = "bitters"
+ required_reagents = list("mint" = 5)
+ catalysts = list("enzyme" = 5)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/drinks/soemmerfire
+ name = "Soemmer Fire"
+ id = "soemmerfire"
+ result = "soemmerfire"
+ required_reagents = list("manhattan" = 2, "condensedcapsaicin" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/winebrandy
+ name = "Wine brandy"
+ id = "winebrandy"
+ result = "winebrandy"
+ required_reagents = list("wine" = 10)
+ catalysts = list("enzyme" = 10) //10u enzyme so it requires more than is usually added. Stops overlap with wine recipe
+ result_amount = 5
+
+/decl/chemical_reaction/instant/drinks/lovepotion
+ name = "Love Potion"
+ id = "lovepotion"
+ result = "lovepotion"
+ required_reagents = list("cream" = 1, "berryjuice" = 1, "sugar" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/morningafter
+ name = "Morning After"
+ id = "morningafter"
+ result = "morningafter"
+ required_reagents = list("sbiten" = 1, "coffee" = 5)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/drinks/vesper
+ name = "Vesper"
+ id = "vesper"
+ result = "vesper"
+ required_reagents = list("gin" = 3, "vodka" = 1, "wine" = 1)
+ result_amount = 4
+
+/decl/chemical_reaction/instant/drinks/rotgut
+ name = "Rotgut Fever Dream"
+ id = "rotgut"
+ result = "rotgut"
+ required_reagents = list("vodka" = 3, "rum" = 1, "whiskey" = 1, "cola" = 3)
+ result_amount = 8
+
+/decl/chemical_reaction/instant/drinks/entdraught
+ name = "Ent's Draught"
+ id = "entdraught"
+ result = "entdraught"
+ required_reagents = list("tonic" = 1, "holywater" = 1, "honey" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/voxdelight
+ name = "Vox's Delight"
+ id = "voxdelight"
+ result = "voxdelight"
+ required_reagents = list("phoron" = 3, "fuel" = 1, "water" = 1)
+ result_amount = 4
+
+/decl/chemical_reaction/instant/drinks/screamingviking
+ name = "Screaming Viking"
+ id = "screamingviking"
+ result = "screamingviking"
+ required_reagents = list("martini" = 2, "vodkatonic" = 2, "limejuice" = 1, "rum" = 1)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/drinks/vilelemon
+ name = "Vile Lemon"
+ id = "vilelemon"
+ result = "vilelemon"
+ required_reagents = list("lemonade" = 5, "spacemountainwind" = 1)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/drinks/dreamcream
+ name = "Dream Cream"
+ id = "dreamcream"
+ result = "dreamcream"
+ required_reagents = list("milk" = 2, "cream" = 1, "honey" = 1)
+ result_amount = 4
+
+/decl/chemical_reaction/instant/drinks/robustin
+ name = "Robustin"
+ id = "robustin"
+ result = "robustin"
+ required_reagents = list("antifreeze" = 1, "phoron" = 1, "fuel" = 1, "vodka" = 1)
+ result_amount = 4
+
+/decl/chemical_reaction/instant/drinks/virginsip
+ name = "Virgin Sip"
+ id = "virginsip"
+ result = "virginsip"
+ required_reagents = list("driestmartini" = 1, "water" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/drinks/chocoshake
+ name = "Chocolate Milkshake"
+ id = "chocoshake"
+ result = "chocoshake"
+ required_reagents = list("milkshake" = 1, "coco" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/drinks/berryshake
+ name = "Berry Milkshake"
+ id = "berryshake"
+ result = "berryshake"
+ required_reagents = list("milkshake" = 1, "berryjuice" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/drinks/coffeeshake
+ name = "Coffee Milkshake"
+ id = "coffeeshake"
+ result = "coffeeshake"
+ required_reagents = list("milkshake" = 1, "coffee" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/drinks/jellyshot
+ name = "Jelly Shot"
+ id = "jellyshot"
+ result = "jellyshot"
+ required_reagents = list("cherryjelly" = 4, "vodka" = 1)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/drinks/slimeshot
+ name = "Named Bullet"
+ id = "slimeshot"
+ result = "slimeshot"
+ required_reagents = list("slimejelly" = 4, "vodka" = 1)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/drinks/negroni
+ name = "Negroni"
+ id = "negroni"
+ result = "negroni"
+ required_reagents = list("gin" = 1, "bitters" = 1, "vermouth" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/cloverclub
+ name = "Clover Club"
+ id = "cloverclub"
+ result = "cloverclub"
+ required_reagents = list("berryjuice" = 1, "lemonjuice" = 1, "gin" = 3)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/drinks/oldfashioned
+ name = "Old Fashioned"
+ id = "oldfashioned"
+ result = "oldfashioned"
+ required_reagents = list("whiskey" = 3, "bitters" = 1, "sugar" = 1)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/drinks/whiskeysour
+ name = "Whiskey Sour"
+ id = "whiskeysour"
+ result = "whiskeysour"
+ required_reagents = list("whiskey" = 2, "lemonjuice" = 1, "sugar" = 1)
+ result_amount = 4
+
+/decl/chemical_reaction/instant/drinks/daiquiri
+ name = "Daiquiri"
+ id = "daiquiri"
+ result = "daiquiri"
+ required_reagents = list("rum" = 3, "limejuice" = 2, "sugar" = 1)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/drinks/mintjulep
+ name = "Mint Julep"
+ id = "mintjulep"
+ result = "mintjulep"
+ required_reagents = list("whiskey" = 2, "water" = 1, "mint" = 1)
+ result_amount = 4
+
+/decl/chemical_reaction/instant/drinks/paloma
+ name = "Paloma"
+ id = "paloma"
+ result = "paloma"
+ required_reagents = list("orangejuice" = 1, "sodawater" = 1, "tequilla" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/mojito
+ name = "Mojito"
+ id = "mojito"
+ result = "mojito"
+ required_reagents = list("rum" = 3, "limejuice" = 1, "mint" = 1)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/drinks/virginmojito
+ name = "Mojito"
+ id = "virginmojito"
+ result = "virginmojito"
+ required_reagents = list("sodawater" = 3, "limejuice" = 1, "mint" = 1, "sugar" = 1)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/drinks/piscosour
+ name = "Pisco Sour"
+ id = "piscosour"
+ result = "piscosour"
+ required_reagents = list("winebrandy" = 1, "lemonjuice" = 1, "sugar" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/coldfront
+ name = "Cold Front"
+ id = "coldfront"
+ result = "coldfront"
+ required_reagents = list("icecoffee" = 1, "whiskey" = 1, "mint" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/godsake
+ name = "Gods Sake"
+ id = "godsake"
+ result = "godsake"
+ required_reagents = list("sake" = 2, "holywater" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/godka //Why you would put this in your body, I don't know.
+ name = "Godka"
+ id = "godka"
+ result = "godka"
+ required_reagents = list("vodka" = 1, "holywater" = 1, "ethanol" = 1, "carthatoline" = 1)
+ catalysts = list("enzyme" = 5, "holywater" = 5)
+ result_amount = 1
+
+/decl/chemical_reaction/instant/drinks/holywine
+ name = "Angel Ichor"
+ id = "holywine"
+ result = "holywine"
+ required_reagents = list("grapejuice" = 5, "gold" = 5)
+ catalysts = list("holywater" = 5)
+ result_amount = 10
+
+/decl/chemical_reaction/instant/drinks/holy_mary
+ name = "Holy Mary"
+ id = "holymary"
+ result = "holymary"
+ required_reagents = list("vodka" = 2, "holywine" = 3, "limejuice" = 1)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/drinks/angelskiss
+ name = "Angels Kiss"
+ id = "angelskiss"
+ result = "angelskiss"
+ required_reagents = list("holywine" = 1, "kahlua" = 1, "rum" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/angelswrath
+ name = "Angels Wrath"
+ id = "angelswrath"
+ result = "angelswrath"
+ required_reagents = list("rum" = 3, "spacemountainwind" = 1, "holywine" = 1, "dr_gibb" = 1)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/drinks/ichor_mead
+ name = "Ichor Mead"
+ id = "ichor_mead"
+ result = "ichor_mead"
+ required_reagents = list("holywine" = 1, "mead" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/drinks/oilslick
+ name = "Oil Slick"
+ id = "oilslick"
+ result = "oilslick"
+ required_reagents = list("cornoil" = 2, "honey" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/slimeslam
+ name = "Slick Slime Slammer"
+ id = "slimeslammer"
+ result = "slimeslammer"
+ required_reagents = list("cornoil" = 2, "peanutbutter" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/virginsexonthebeach
+ name = "Virgin Sex On The Beach"
+ id = "virginsexonthebeach"
+ result = "virginsexonthebeach"
+ required_reagents = list("orangejuice" = 3, "grenadine" = 2)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/drinks/sexonthebeach
+ name = "Sex On The Beach"
+ id = "sexonthebeach"
+ result = "sexonthebeach"
+ required_reagents = list("virginsexonthebeach" = 5, "vodka" = 1)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/drinks/eggnog
+ name = "Eggnog"
+ id = "eggnog"
+ result = "eggnog"
+ required_reagents = list("milk" = 5, "cream" = 5, "sugar" = 5, "egg" = 3)
+ result_amount = 15
+
+/decl/chemical_reaction/instant/drinks/nuclearwaste_radium
+ name = "Nuclear Waste"
+ id = "nuclearwasterad"
+ result = "nuclearwaste"
+ required_reagents = list("oilslick" = 1, "radium" = 1, "limejuice" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/drinks/nuclearwaste_uranium
+ name = "Nuclear Waste"
+ id = "nuclearwasteuran"
+ result = "nuclearwaste"
+ required_reagents = list("oilslick" = 2, "uranium" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/sodaoil
+ name = "Soda Oil"
+ id = "sodaoil"
+ result = "sodaoil"
+ required_reagents = list("cornoil" = 4, "sodawater" = 1, "carbon" = 1, "tricordrazine" = 1)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/drinks/fusionnaire
+ name = "Fusionnaire"
+ id = "fusionnaire"
+ result = "fusionnaire"
+ required_reagents = list("lemonjuice" = 3, "vodka" = 2, "schnapps_pep" = 1, "schnapps_lem" = 1, "rum" = 1, "ice" = 1)
+ result_amount = 9
diff --git a/code/modules/reagents/reactions/instant/drinks_ch.dm b/code/modules/reagents/reactions/instant/drinks_ch.dm
new file mode 100644
index 0000000000..d5924eb955
--- /dev/null
+++ b/code/modules/reagents/reactions/instant/drinks_ch.dm
@@ -0,0 +1,205 @@
+/decl/chemical_reaction/instant/drinks/minttea
+ name = "Mint Tea"
+ id = "minttea"
+ result = "minttea"
+ required_reagents = list("tea" = 5, "mint" = 1)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/drinks/lemontea
+ name = "Lemon Tea"
+ id = "lemontea"
+ result = "lemontea"
+ required_reagents = list("tea" = 5, "lemonjuice" = 1)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/drinks/limetea
+ name = "Lime Tea"
+ id = "limetea"
+ result = "limetea"
+ required_reagents = list("tea" = 5, "limejuice" = 1)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/drinks/orangetea
+ name = "Orange Tea"
+ id = "orangetea"
+ result = "orangetea"
+ required_reagents = list("tea" = 5, "orangejuice" = 1)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/drinks/berrytea
+ name = "Berry Tea"
+ id = "berrytea"
+ result = "berrytea"
+ required_reagents = list("tea" = 5, "berryjuice" = 1)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/drinks/cherrytea
+ name = "Cherry Tea"
+ id = "cherrytea"
+ result = "cherrytea"
+ required_reagents = list("tea" = 5, "cherryjelly" = 1)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/drinks/watermelontea
+ name = "Watermelon Tea"
+ id = "watermelontea"
+ result = "watermelontea"
+ required_reagents = list("tea" = 5, "watermelonjuice" = 1)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/tea/matcha_latte
+ id = "matcha_latte"
+ result = "matcha_latte"
+ required_reagents = list ("matchapowder" = 1, "milk" = 5)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/freshtea/green
+ id = "freshteagreen"
+ result = "freshteagreen"
+ required_reagents = list ("tealeavesgreen" = 1, "hotwater" = 9)
+ result_amount = 10
+
+/decl/chemical_reaction/instant/instantteapowder/green
+ id = "instantteapowdergreen"
+ result = "instantteapowdergreen"
+ required_reagents = list ("teamush" = 10, "frostoil" = 1)
+ result_amount = 10
+
+/decl/chemical_reaction/instant/instanttea/green
+ id = "instantteagreen"
+ result = "instantteagreen"
+ required_reagents = list ("instantteapowdergreen" = 1, "water" = 9)
+ result_amount = 10
+
+/decl/chemical_reaction/instant/matcha
+ id = "matcha"
+ result = "matcha"
+ required_reagents = list ("matchapowder" = 1, "hotwater" = 2)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/drinks/spiderdrink
+ name = "Brimming glass of spiders"
+ id = "spiderdrink"
+ result = "spiderdrink"
+ required_reagents = list("spidertoxin" = 1, "clonexadone" = 5, "absinthe" = 4)
+ result_amount = 10
+
+/decl/chemical_reaction/instant/drinks/bubbleteawatermelon
+ name = "Watermelon bubble tea"
+ id = "bubbleteawatermelon"
+ result = "bubbleteawatermelon"
+ required_reagents = list("gelatin" = 2, "watermelontea" = 6, "milk" = 2)
+ result_amount = 10
+
+/decl/chemical_reaction/instant/drinks/bubbleteastrawberry
+ name = "Strawberry bubble tea"
+ id = "bubbleteastrawberry"
+ result = "bubbleteastrawberry"
+ required_reagents = list("gelatin" = 2, "berrytea" = 6, "milk" = 2)
+ result_amount = 10
+
+/decl/chemical_reaction/instant/drinks/bubbleteacherry
+ name = "Cherry bubble tea"
+ id = "bubbleteacherry"
+ result = "bubbleteacherry"
+ required_reagents = list("gelatin" = 2, "cherrytea" = 6, "milk" = 2)
+ result_amount = 10
+
+/decl/chemical_reaction/instant/drinks/bubbleteacoffee
+ name = "Coffee bubble tea"
+ id = "bubbleteacoffee"
+ result = "bubbleteacoffee"
+ required_reagents = list("gelatin" = 2, "tea" = 5, "cafe_latte" = 3)
+ result_amount = 10
+
+/decl/chemical_reaction/instant/drinks/bubbleteabanana
+ name = "Banana bubble tea"
+ id = "bubbleteabanana"
+ result = "bubbleteabanana"
+ required_reagents = list("gelatin" = 2, "tea" = 5, "banana" = 1, "milk" = 2)
+ result_amount = 10
+
+/decl/chemical_reaction/instant/drinks/horchata
+ name = "Horchata"
+ id = "horchata"
+ result = "horchata"
+ required_reagents = list("milk" = 1, "sugar" = 2, "rice" = 2)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/drinks/bluetrain
+ name = "Blue train"
+ id = "bluetrain"
+ result = "bluetrain"
+ required_reagents = list("coolant" = 2, "ethanol" = 2, "nutriment" = 1)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/drinks/lowpower
+ name = "The low power"
+ id = "lowpower"
+ result = "lowpower"
+ required_reagents = list("lemonade" = 1, "cream" = 1, "limejuice" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/jackbrew
+ name = "Jack's brew"
+ id = "jackbrew"
+ result = "jackbrew"
+ required_reagents = list("irishcoffee" = 1, "hyperzine" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/drinks/bookwyrm
+ name = "Bookwyrm's bite"
+ id = "bookwyrm"
+ result = "bookwyrm"
+ required_reagents = list("coldfront" = 1, "limejuice" = 1, "stoxin" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/highpower
+ name = "The high power"
+ id = "highpower"
+ result = "highpower"
+ required_reagents = list("lowpower" = 1, "iron" = 1, "uranium" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/flapper
+ name = "Flapper"
+ id = "flapper"
+ result = "flapper"
+ required_reagents = list("whiskey" = 1, "blood" = 1, "ice" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/toxin/oilslide
+ name = "Oil slide"
+ id = "oilslide"
+ result = "oilslide"
+ required_reagents = list("moonshine" = 1, "lube" = 1, "fuel" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/sitonmyface
+ name = "Sit on my face"
+ id = "sitonmyface"
+ result = "sitonmyface"
+ required_reagents = list("kahlua" = 1, "irishcream" = 1, "peanutbutter" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/hachi
+ name = "Hachi"
+ id = "hachi"
+ result = "hachi"
+ required_reagents = list("burbon" = 2, "sake" = 1, "lemonjuice" = 1, "mushroom" = 1) //Whoever coded this never made a mushroom reagent so this can't be created.
+ result_amount = 5
+
+//YW drinks
+/decl/chemical_reaction/instant/drinks/lovepotion_yw
+ name = "Strawberry Love Potion"
+ id = "strawberrylovepotion"
+ result = "strawberrylovepotion"
+ required_reagents = list("cream" = 1, "berryjuice" = 1, "sugar" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/wormblood
+ name = "Wormblood"
+ id = "wormblood"
+ result = "wormblood"
+ required_reagents = list("booger" = 1, "psilocybin" = 1)
+ result_amount = 2
diff --git a/code/modules/reagents/reactions/instant/drinks_vr.dm b/code/modules/reagents/reactions/instant/drinks_vr.dm
new file mode 100644
index 0000000000..261934c2e6
--- /dev/null
+++ b/code/modules/reagents/reactions/instant/drinks_vr.dm
@@ -0,0 +1,198 @@
+///////////////////////////////////////////////////////////////////////////////////
+/// Special drinks
+/decl/chemical_reaction/instant/drinks/grubshake
+ name = "Grub protein drink"
+ id = "grubshake"
+ result = "grubshake"
+ required_reagents = list("shockchem" = 5, "water" = 25)
+ result_amount = 30
+
+/decl/chemical_reaction/instant/drinks/deathbell
+ name = "Deathbell"
+ id = "deathbell"
+ result = "deathbell"
+ required_reagents = list("antifreeze" = 1, "gargleblaster" = 1, "syndicatebomb" =1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/monstertamer
+ name = "Monster Tamer"
+ id = "monstertamer"
+ result = "monstertamer"
+ required_reagents = list("whiskey" = 1, "protein" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/drinks/bigbeer
+ name = "Giant Beer"
+ id = "bigbeer"
+ result = "bigbeer"
+ required_reagents = list("syndicatebomb" = 1, "manlydorf" = 1, "grog" =1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/sweettea
+ name = "Sweetened Tea"
+ id = "sweettea"
+ result = "sweettea"
+ required_reagents = list("icetea" = 2, "sugar" = 1,)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/unsweettea
+ name = "Unsweetened Tea"
+ id = "unsweettea"
+ result = "unsweettea"
+ required_reagents = list("sweettea" = 3, "phoron" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/drinks/galacticpanic
+ name = "Galactic Panic Attack"
+ id = "galacticpanic"
+ result = "galacticpanic"
+ required_reagents = list("gargleblaster" = 1, "singulo" = 1, "phoronspecial" =1, "neurotoxin" = 1, "atomicbomb" = 1, "hippiesdelight" = 1)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/drinks/bulldog
+ name = "Space Bulldog"
+ id = "bulldog"
+ result = "bulldog"
+ required_reagents = list("whiterussian" = 4, "cola" =1)
+ result_amount = 4
+
+/decl/chemical_reaction/instant/drinks/sbagliato
+ name = "Negroni Sbagliato"
+ id = "sbagliato"
+ result = "sbagliato"
+ required_reagents = list("wine" = 1, "vermouth" = 1, "sodawater" =1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/italiancrisis
+ name = "Italian Crisis"
+ id = "italiancrisis"
+ result = "italiancrisis"
+ required_reagents = list("bulldog" = 1, "sbagliato" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/drinks/sugarrush
+ name = "Sweet Rush"
+ id = "sugarrush"
+ result = "sugarrush"
+ required_reagents = list("sugar" = 1, "sodawater" = 1, "vodka" =1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/lotus
+ name = "Lotus"
+ id = "lotus"
+ result = "lotus"
+ required_reagents = list("sbagliato" = 1, "sugarrush" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/drinks/shroomjuice
+ name = "Dumb Shroom Juice"
+ id = "shroomjuice"
+ result = "shroomjuice"
+ required_reagents = list("psilocybin" = 1, "applejuice" = 1, "limejuice" =1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/russianroulette
+ name = "Russian Roulette"
+ id = "russianroulette"
+ result = "russianroulette"
+ required_reagents = list("whiterussian" = 5, "iron" = 1)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/drinks/lovemaker
+ name = "The Love Maker"
+ id = "lovemaker"
+ result = "lovemaker"
+ required_reagents = list("honey" = 1, "sexonthebeach" = 5)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/drinks/honeyshot
+ name = "Honey Shot"
+ id = "honeyshot"
+ result = "honeyshot"
+ required_reagents = list("honey" = 1, "vodka" = 1, "grenadine" =1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/appletini
+ name = "Appletini"
+ id = "appletini"
+ result = "appletini"
+ required_reagents = list("applejuice" = 2, "vodka" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/glowingappletini
+ name = "Glowing Appletini"
+ id = "glowingappletini"
+ result = "glowingappletini"
+ required_reagents = list("appletini" = 5, "uranium" = 1)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/drinks/scsatw
+ name = "Slow Comfortable Screw Against the Wall"
+ id = "scsatw"
+ result = "scsatw"
+ required_reagents = list("screwdrivercocktail" = 3, "rum" =1, "whiskey" =1, "gin" =1)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/drinks/choccymilk
+ name = "Choccy Milk"
+ id = "choccymilk"
+ result = "choccymilk"
+ required_reagents = list("milk" = 3, "coco" = 1)
+ result_amount = 4
+
+/decl/chemical_reaction/instant/drinks/redspaceflush
+ name = "Redspace Flush"
+ id = "redspaceflush"
+ result = "redspaceflush"
+ required_reagents = list("rum" = 2, "whiskey" = 2, "blood" =1, "phoron" =1)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/drinks/graveyard
+ name = "Graveyard"
+ id = "graveyard"
+ result = "graveyard"
+ required_reagents = list("cola" = 1, "spacemountainwind" = 1, "dr_gibb" =1, "space_up" = 1)
+ result_amount = 4
+
+/decl/chemical_reaction/instant/drinks/hairoftherat
+ name = "Hair of the Rat"
+ id = "hairoftherat"
+ result = "hairoftherat"
+ required_reagents = list("monstertamer" = 2, "nutriment" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/pink_moo
+ name = "Pink Moo"
+ id = "pinkmoo"
+ result = "pinkmoo"
+ required_reagents = list("blackrussian" = 2, "berryshake" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/drinks/originalsin
+ name = "Original Sin"
+ id = "originalsin"
+ result = "originalsin"
+ required_reagents = list("holywine" = 1)
+ catalysts = list("applejuice" = 1)
+ result_amount = 1
+
+/decl/chemical_reaction/instant/drinks/windgarita
+ name = "WND-Garita"
+ id = "windgarita"
+ result = "windgarita"
+ required_reagents = list("margarita" = 3, "spacemountainwind" = 2, "melonliquor" = 1)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/drinks/newyorksour
+ name = "New York Sour"
+ id = "newyorksour"
+ result = "newyorksour"
+ required_reagents = list("whiskeysour" = 3, "wine" = 2, "egg" = 1)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/drinks/mudslide
+ name = "Mudslide"
+ id = "mudslide"
+ result = "mudslide"
+ required_reagents = list("blackrussian" = 1, "irishcream" = 1)
+ result_amount = 2
diff --git a/code/modules/reagents/reactions/instant/food.dm b/code/modules/reagents/reactions/instant/food.dm
new file mode 100644
index 0000000000..952af8014b
--- /dev/null
+++ b/code/modules/reagents/reactions/instant/food.dm
@@ -0,0 +1,183 @@
+/decl/chemical_reaction/instant/food/hot_ramen
+ name = "Hot Ramen"
+ id = "hot_ramen"
+ result = "hot_ramen"
+ required_reagents = list("water" = 1, "dry_ramen" = 3)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/food/hell_ramen
+ name = "Hell Ramen"
+ id = "hell_ramen"
+ result = "hell_ramen"
+ required_reagents = list("capsaicin" = 1, "hot_ramen" = 6)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/food/tofu
+ name = "Tofu"
+ id = "tofu"
+ result = null
+ required_reagents = list("soymilk" = 10)
+ catalysts = list("enzyme" = 5)
+ result_amount = 1
+
+/decl/chemical_reaction/instant/food/tofu/on_reaction(var/datum/reagents/holder, var/created_volume)
+ var/location = get_turf(holder.my_atom)
+ for(var/i = 1, i <= created_volume, i++)
+ new /obj/item/weapon/reagent_containers/food/snacks/tofu(location)
+ return
+
+/decl/chemical_reaction/instant/food/chocolate_bar
+ name = "Chocolate Bar"
+ id = "chocolate_bar"
+ result = null
+ required_reagents = list("soymilk" = 2, "coco" = 2, "sugar" = 2)
+ result_amount = 1
+
+/decl/chemical_reaction/instant/food/chocolate_bar/on_reaction(var/datum/reagents/holder, var/created_volume)
+ var/location = get_turf(holder.my_atom)
+ for(var/i = 1, i <= created_volume, i++)
+ new /obj/item/weapon/reagent_containers/food/snacks/chocolatebar(location)
+ return
+
+/decl/chemical_reaction/instant/food/chocolate_bar2
+ name = "Chocolate Bar"
+ id = "chocolate_bar"
+ result = null
+ required_reagents = list("milk" = 2, "coco" = 2, "sugar" = 2)
+ result_amount = 1
+
+/decl/chemical_reaction/instant/food/chocolate_bar2/on_reaction(var/datum/reagents/holder, var/created_volume)
+ var/location = get_turf(holder.my_atom)
+ for(var/i = 1, i <= created_volume, i++)
+ new /obj/item/weapon/reagent_containers/food/snacks/chocolatebar(location)
+ return
+
+/decl/chemical_reaction/instant/food/soysauce
+ name = "Soy Sauce"
+ id = "soysauce"
+ result = "soysauce"
+ required_reagents = list("soymilk" = 4, "sacid" = 1)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/food/ketchup
+ name = "Ketchup"
+ id = "ketchup"
+ result = "ketchup"
+ required_reagents = list("tomatojuice" = 2, "water" = 1, "sugar" = 1)
+ result_amount = 4
+
+/decl/chemical_reaction/instant/food/barbecue
+ name = "Barbeque Sauce"
+ id = "barbecue"
+ result = "barbecue"
+ required_reagents = list("tomatojuice" = 2, "applejuice" = 1, "sugar" = 1, "spacespice" = 1)
+ result_amount = 4
+
+/decl/chemical_reaction/instant/food/peanutbutter
+ name = "Peanut Butter"
+ id = "peanutbutter"
+ result = "peanutbutter"
+ required_reagents = list("peanutoil" = 2, "sugar" = 1, "sodiumchloride" = 1)
+ catalysts = list("enzyme" = 5)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/food/mayonnaise
+ name = "mayonnaise"
+ id = "mayo"
+ result = "mayo"
+ required_reagents = list("egg" = 9, "cornoil" = 5, "lemonjuice" = 5, "sodiumchloride" = 1)
+ result_amount = 15
+
+/decl/chemical_reaction/instant/food/cheesewheel
+ name = "Cheesewheel"
+ id = "cheesewheel"
+ result = null
+ required_reagents = list("milk" = 40)
+ catalysts = list("enzyme" = 5)
+ result_amount = 1
+
+/decl/chemical_reaction/instant/food/cheesewheel/on_reaction(var/datum/reagents/holder, var/created_volume)
+ var/location = get_turf(holder.my_atom)
+ for(var/i = 1, i <= created_volume, i++)
+ new /obj/item/weapon/reagent_containers/food/snacks/sliceable/cheesewheel(location)
+ return
+
+/decl/chemical_reaction/instant/food/meatball
+ name = "Meatball"
+ id = "meatball"
+ result = null
+ required_reagents = list("protein" = 3, "flour" = 5)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/food/meatball/on_reaction(var/datum/reagents/holder, var/created_volume)
+ var/location = get_turf(holder.my_atom)
+ for(var/i = 1, i <= created_volume, i++)
+ new /obj/item/weapon/reagent_containers/food/snacks/meatball(location)
+ return
+
+/decl/chemical_reaction/instant/food/dough
+ name = "Dough"
+ id = "dough"
+ result = null
+ required_reagents = list("egg" = 3, "flour" = 10)
+ inhibitors = list("water" = 1, "beer" = 1) //To prevent it messing with batter recipes
+ result_amount = 1
+
+/decl/chemical_reaction/instant/food/dough/on_reaction(var/datum/reagents/holder, var/created_volume)
+ var/location = get_turf(holder.my_atom)
+ for(var/i = 1, i <= created_volume, i++)
+ new /obj/item/weapon/reagent_containers/food/snacks/dough(location)
+ return
+
+/decl/chemical_reaction/instant/food/syntiflesh
+ name = "Syntiflesh"
+ id = "syntiflesh"
+ result = null
+ required_reagents = list("blood" = 5, "clonexadone" = 5)
+ result_amount = 1
+
+/decl/chemical_reaction/instant/food/syntiflesh/on_reaction(var/datum/reagents/holder, var/created_volume)
+ var/location = get_turf(holder.my_atom)
+ for(var/i = 1, i <= created_volume, i++)
+ new /obj/item/weapon/reagent_containers/food/snacks/meat/syntiflesh(location)
+ return
+
+/*
+====================
+ Aurora Food
+====================
+*/
+
+/decl/chemical_reaction/instant/food/coating/batter
+ name = "Batter"
+ id = "batter"
+ result = "batter"
+ required_reagents = list("egg" = 3, "flour" = 10, "water" = 5, "sodiumchloride" = 2)
+ result_amount = 20
+
+/decl/chemical_reaction/instant/food/coating/beerbatter
+ name = "Beer Batter"
+ id = "beerbatter"
+ result = "beerbatter"
+ required_reagents = list("egg" = 3, "flour" = 10, "beer" = 5, "sodiumchloride" = 2)
+ result_amount = 20
+
+/decl/chemical_reaction/instant/food/browniemix
+ name = "Brownie Mix"
+ id = "browniemix"
+ result = "browniemix"
+ required_reagents = list("flour" = 5, "coco" = 5, "sugar" = 5)
+ result_amount = 15
+
+/decl/chemical_reaction/instant/food/butter
+ name = "Butter"
+ id = "butter"
+ result = null
+ required_reagents = list("cream" = 20, "sodiumchloride" = 1)
+ result_amount = 1
+
+/decl/chemical_reaction/instant/food/butter/on_reaction(var/datum/reagents/holder, var/created_volume)
+ var/location = get_turf(holder.my_atom)
+ for(var/i = 1, i <= created_volume, i++)
+ new /obj/item/weapon/reagent_containers/food/snacks/spreads/butter(location)
+ return
\ No newline at end of file
diff --git a/code/modules/reagents/reactions/instant/food_ch.dm b/code/modules/reagents/reactions/instant/food_ch.dm
new file mode 100644
index 0000000000..5a8cb2f4fe
--- /dev/null
+++ b/code/modules/reagents/reactions/instant/food_ch.dm
@@ -0,0 +1,15 @@
+//////////////////////////////////////////////
+////////////////C U B E S////////////////////
+////////////////////////////////////////////
+/decl/chemical_reaction/instant/cube/sagaru
+ name = "Saguwu"
+ id = "cubedsagaru"
+ result = null
+ required_reagents = list("cheese" = 1, "blood" = 1, "clonexadone" = 10,)
+ result_amount = 1
+
+/decl/chemical_reaction/instant/cube/sagaru/on_reaction(var/datum/reagents/holder, var/created_volume)
+ var/location = get_turf(holder.my_atom)
+ for(var/i = 1, i <= created_volume, i++)
+ new /obj/item/weapon/reagent_containers/food/snacks/monkeycube/sarucube(location)
+ return
diff --git a/code/modules/reagents/reactions/instant/food_vr.dm b/code/modules/reagents/reactions/instant/food_vr.dm
new file mode 100644
index 0000000000..684c23e944
--- /dev/null
+++ b/code/modules/reagents/reactions/instant/food_vr.dm
@@ -0,0 +1,2 @@
+/decl/chemical_reaction/instant/food/syntiflesh
+ required_reagents = list("blood" = 5, "clonexadone" = 1)
diff --git a/code/modules/reagents/reactions/instant/instant.dm b/code/modules/reagents/reactions/instant/instant.dm
new file mode 100644
index 0000000000..bb9e443f59
--- /dev/null
+++ b/code/modules/reagents/reactions/instant/instant.dm
@@ -0,0 +1,1135 @@
+// These reactions happen instantaneously, when added to a container that has all other necessary reagents
+// They are a subtype of chemical_reaction so that such containers can iterate over only these reactions, and not have to skip other reaction types
+
+/* Common reactions */
+
+/decl/chemical_reaction/instant/inaprovaline
+ name = "Inaprovaline"
+ id = "inaprovaline"
+ result = "inaprovaline"
+ required_reagents = list("oxygen" = 1, "carbon" = 1, "sugar" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/dylovene
+ name = "Dylovene"
+ id = "anti_toxin"
+ result = "anti_toxin"
+ required_reagents = list("silicon" = 1, "potassium" = 1, "nitrogen" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/carthatoline
+ name = "Carthatoline"
+ id = "carthatoline"
+ result = "carthatoline"
+ required_reagents = list("anti_toxin" = 1, "carbon" = 2, "phoron" = 0.1)
+ catalysts = list("phoron" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/paracetamol
+ name = "Paracetamol"
+ id = "paracetamol"
+ result = "paracetamol"
+ required_reagents = list("inaprovaline" = 1, "nitrogen" = 1, "water" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/tramadol
+ name = "Tramadol"
+ id = "tramadol"
+ result = "tramadol"
+ required_reagents = list("paracetamol" = 1, "ethanol" = 1, "oxygen" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/oxycodone
+ name = "Oxycodone"
+ id = "oxycodone"
+ result = "oxycodone"
+ required_reagents = list("ethanol" = 1, "tramadol" = 1)
+ catalysts = list("phoron" = 5)
+ result_amount = 1
+
+/decl/chemical_reaction/instant/sterilizine
+ name = "Sterilizine"
+ id = "sterilizine"
+ result = "sterilizine"
+ required_reagents = list("ethanol" = 1, "anti_toxin" = 1, "chlorine" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/silicate
+ name = "Silicate"
+ id = "silicate"
+ result = "silicate"
+ required_reagents = list("aluminum" = 1, "silicon" = 1, "oxygen" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/mutagen
+ name = "Unstable mutagen"
+ id = "mutagen"
+ result = "mutagen"
+ required_reagents = list("radium" = 1, "phosphorus" = 1, "chlorine" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/water
+ name = "Water"
+ id = "water"
+ result = "water"
+ required_reagents = list("oxygen" = 1, "hydrogen" = 2)
+ result_amount = 1
+
+/decl/chemical_reaction/instant/thermite
+ name = "Thermite"
+ id = "thermite"
+ result = "thermite"
+ required_reagents = list("aluminum" = 1, "iron" = 1, "oxygen" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/space_drugs
+ name = "Space Drugs"
+ id = "space_drugs"
+ result = "space_drugs"
+ required_reagents = list("mercury" = 1, "sugar" = 1, "lithium" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/lube
+ name = "Space Lube"
+ id = "lube"
+ result = "lube"
+ required_reagents = list("water" = 1, "silicon" = 1, "oxygen" = 1)
+ result_amount = 4
+
+/decl/chemical_reaction/instant/pacid
+ name = "Polytrinic acid"
+ id = "pacid"
+ result = "pacid"
+ required_reagents = list("sacid" = 1, "chlorine" = 1, "potassium" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/synaptizine
+ name = "Synaptizine"
+ id = "synaptizine"
+ result = "synaptizine"
+ required_reagents = list("sugar" = 1, "lithium" = 1, "water" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/hyronalin
+ name = "Hyronalin"
+ id = "hyronalin"
+ result = "hyronalin"
+ required_reagents = list("radium" = 1, "anti_toxin" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/arithrazine
+ name = "Arithrazine"
+ id = "arithrazine"
+ result = "arithrazine"
+ required_reagents = list("hyronalin" = 1, "hydrogen" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/impedrezene
+ name = "Impedrezene"
+ id = "impedrezene"
+ result = "impedrezene"
+ required_reagents = list("mercury" = 1, "oxygen" = 1, "sugar" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/kelotane
+ name = "Kelotane"
+ id = "kelotane"
+ result = "kelotane"
+ required_reagents = list("silicon" = 1, "carbon" = 1)
+ result_amount = 2
+ log_is_important = 1
+
+/decl/chemical_reaction/instant/peridaxon
+ name = "Peridaxon"
+ id = "peridaxon"
+ result = "peridaxon"
+ required_reagents = list("bicaridine" = 2, "clonexadone" = 2)
+ catalysts = list("phoron" = 5)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/osteodaxon
+ name = "Osteodaxon"
+ id = "osteodaxon"
+ result = "osteodaxon"
+ required_reagents = list("bicaridine" = 2, "phoron" = 0.1, "carpotoxin" = 1)
+ catalysts = list("phoron" = 5)
+ inhibitors = list("clonexadone" = 1) // Messes with cryox
+ result_amount = 2
+
+/decl/chemical_reaction/instant/respirodaxon
+ name = "Respirodaxon"
+ id = "respirodaxon"
+ result = "respirodaxon"
+ required_reagents = list("dexalinp" = 2, "biomass" = 2, "phoron" = 1)
+ catalysts = list("phoron" = 5)
+ inhibitors = list("dexalin" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/gastirodaxon
+ name = "Gastirodaxon"
+ id = "gastirodaxon"
+ result = "gastirodaxon"
+ required_reagents = list("carthatoline" = 1, "biomass" = 2, "tungsten" = 2)
+ catalysts = list("phoron" = 5)
+ inhibitors = list("lithium" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/hepanephrodaxon
+ name = "Hepanephrodaxon"
+ id = "hepanephrodaxon"
+ result = "hepanephrodaxon"
+ required_reagents = list("carthatoline" = 2, "biomass" = 2, "lithium" = 1)
+ catalysts = list("phoron" = 5)
+ inhibitors = list("tungsten" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/cordradaxon
+ name = "Cordradaxon"
+ id = "cordradaxon"
+ result = "cordradaxon"
+ required_reagents = list("potassium_chlorophoride" = 1, "biomass" = 2, "bicaridine" = 2)
+ catalysts = list("phoron" = 5)
+ inhibitors = list("clonexadone" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/virus_food
+ name = "Virus Food"
+ id = "virusfood"
+ result = "virusfood"
+ required_reagents = list("water" = 1, "milk" = 1)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/leporazine
+ name = "Leporazine"
+ id = "leporazine"
+ result = "leporazine"
+ required_reagents = list("silicon" = 1, "copper" = 1)
+ catalysts = list("phoron" = 5)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/cryptobiolin
+ name = "Cryptobiolin"
+ id = "cryptobiolin"
+ result = "cryptobiolin"
+ required_reagents = list("potassium" = 1, "oxygen" = 1, "sugar" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/tricordrazine
+ name = "Tricordrazine"
+ id = "tricordrazine"
+ result = "tricordrazine"
+ required_reagents = list("inaprovaline" = 1, "anti_toxin" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/alkysine
+ name = "Alkysine"
+ id = "alkysine"
+ result = "alkysine"
+ required_reagents = list("chlorine" = 1, "nitrogen" = 1, "anti_toxin" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/dexalin
+ name = "Dexalin"
+ id = "dexalin"
+ result = "dexalin"
+ required_reagents = list("oxygen" = 2, "phoron" = 0.1)
+ catalysts = list("phoron" = 1)
+ inhibitors = list("water" = 1) // Messes with cryox
+ result_amount = 1
+
+/decl/chemical_reaction/instant/dermaline
+ name = "Dermaline"
+ id = "dermaline"
+ result = "dermaline"
+ required_reagents = list("oxygen" = 1, "phosphorus" = 1, "kelotane" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/dexalinp
+ name = "Dexalin Plus"
+ id = "dexalinp"
+ result = "dexalinp"
+ required_reagents = list("dexalin" = 1, "carbon" = 1, "iron" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/bicaridine
+ name = "Bicaridine"
+ id = "bicaridine"
+ result = "bicaridine"
+ required_reagents = list("inaprovaline" = 1, "carbon" = 1)
+ inhibitors = list("sugar" = 1) // Messes up with inaprovaline
+ result_amount = 2
+
+/decl/chemical_reaction/instant/myelamine
+ name = "Myelamine"
+ id = "myelamine"
+ result = "myelamine"
+ required_reagents = list("bicaridine" = 1, "iron" = 2, "spidertoxin" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/hyperzine
+ name = "Hyperzine"
+ id = "hyperzine"
+ result = "hyperzine"
+ required_reagents = list("sugar" = 1, "phosphorus" = 1, "sulfur" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/stimm
+ name = "Stimm"
+ id = "stimm"
+ result = "stimm"
+ required_reagents = list("left4zed" = 1, "fuel" = 1)
+ catalysts = list("fuel" = 5)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/ryetalyn
+ name = "Ryetalyn"
+ id = "ryetalyn"
+ result = "ryetalyn"
+ required_reagents = list("arithrazine" = 1, "carbon" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/cryoxadone
+ name = "Cryoxadone"
+ id = "cryoxadone"
+ result = "cryoxadone"
+ required_reagents = list("dexalin" = 1, "water" = 1, "oxygen" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/clonexadone
+ name = "Clonexadone"
+ id = "clonexadone"
+ result = "clonexadone"
+ required_reagents = list("cryoxadone" = 1, "sodium" = 1, "phoron" = 0.1)
+ catalysts = list("phoron" = 5)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/mortiferin
+ name = "Mortiferin"
+ id = "mortiferin"
+ result = "mortiferin"
+ required_reagents = list("cryptobiolin" = 1, "clonexadone" = 1, "corophizine" = 1)
+ result_amount = 2
+ catalysts = list("phoron" = 5)
+
+/decl/chemical_reaction/instant/spaceacillin
+ name = "Spaceacillin"
+ id = "spaceacillin"
+ result = "spaceacillin"
+ required_reagents = list("cryptobiolin" = 1, "inaprovaline" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/corophizine
+ name = "Corophizine"
+ id = "corophizine"
+ result = "corophizine"
+ required_reagents = list("spaceacillin" = 1, "carbon" = 1, "phoron" = 0.1)
+ catalysts = list("phoron" = 5)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/immunosuprizine
+ name = "Immunosuprizine"
+ id = "immunosuprizine"
+ result = "immunosuprizine"
+ required_reagents = list("corophizine" = 1, "tungsten" = 1, "sacid" = 1)
+ catalysts = list("phoron" = 5)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/imidazoline
+ name = "imidazoline"
+ id = "imidazoline"
+ result = "imidazoline"
+ required_reagents = list("carbon" = 1, "hydrogen" = 1, "anti_toxin" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/ethylredoxrazine
+ name = "Ethylredoxrazine"
+ id = "ethylredoxrazine"
+ result = "ethylredoxrazine"
+ required_reagents = list("oxygen" = 1, "anti_toxin" = 1, "carbon" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/calciumcarbonate
+ name = "Calcium Carbonate"
+ id = "calciumcarbonate"
+ result = "calciumcarbonate"
+ required_reagents = list("oxygen" = 3, "calcium" = 1, "carbon" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/soporific
+ name = "Soporific"
+ id = "stoxin"
+ result = "stoxin"
+ required_reagents = list("chloralhydrate" = 1, "sugar" = 4)
+ inhibitors = list("phosphorus") // Messes with the smoke
+ result_amount = 5
+
+/decl/chemical_reaction/instant/chloralhydrate
+ name = "Chloral Hydrate"
+ id = "chloralhydrate"
+ result = "chloralhydrate"
+ required_reagents = list("ethanol" = 1, "chlorine" = 3, "water" = 1)
+ result_amount = 1
+
+/decl/chemical_reaction/instant/potassium_chloride
+ name = "Potassium Chloride"
+ id = "potassium_chloride"
+ result = "potassium_chloride"
+ required_reagents = list("sodiumchloride" = 1, "potassium" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/potassium_chlorophoride
+ name = "Potassium Chlorophoride"
+ id = "potassium_chlorophoride"
+ result = "potassium_chlorophoride"
+ required_reagents = list("potassium_chloride" = 1, "phoron" = 1, "chloralhydrate" = 1)
+ result_amount = 4
+
+/decl/chemical_reaction/instant/zombiepowder
+ name = "Zombie Powder"
+ id = "zombiepowder"
+ result = "zombiepowder"
+ required_reagents = list("carpotoxin" = 5, "stoxin" = 5, "copper" = 5)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/carpotoxin
+ name = "Carpotoxin"
+ id = "carpotoxin"
+ result = "carpotoxin"
+ required_reagents = list("spidertoxin" = 2, "biomass" = 1, "sifsap" = 2)
+ catalysts = list("sifsap" = 10)
+ inhibitors = list("radium" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/mindbreaker
+ name = "Mindbreaker Toxin"
+ id = "mindbreaker"
+ result = "mindbreaker"
+ required_reagents = list("silicon" = 1, "hydrogen" = 1, "anti_toxin" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/lipozine
+ name = "Lipozine"
+ id = "Lipozine"
+ result = "lipozine"
+ required_reagents = list("sodiumchloride" = 1, "ethanol" = 1, "radium" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/surfactant
+ name = "Foam surfactant"
+ id = "foam surfactant"
+ result = "fluorosurfactant"
+ required_reagents = list("fluorine" = 2, "carbon" = 2, "sacid" = 1)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/ammonia
+ name = "Ammonia"
+ id = "ammonia"
+ result = "ammonia"
+ required_reagents = list("hydrogen" = 3, "nitrogen" = 1)
+ inhibitors = list("phoron" = 1) // Messes with lexorin
+ result_amount = 3
+
+/decl/chemical_reaction/instant/diethylamine
+ name = "Diethylamine"
+ id = "diethylamine"
+ result = "diethylamine"
+ required_reagents = list ("ammonia" = 1, "ethanol" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/left4zed
+ name = "Left4Zed"
+ id = "left4zed"
+ result = "left4zed"
+ required_reagents = list ("diethylamine" = 2, "mutagen" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/robustharvest
+ name = "RobustHarvest"
+ id = "robustharvest"
+ result = "robustharvest"
+ required_reagents = list ("ammonia" = 1, "calcium" = 1, "neurotoxic_protein" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/space_cleaner
+ name = "Space cleaner"
+ id = "cleaner"
+ result = "cleaner"
+ required_reagents = list("ammonia" = 1, "water" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/plantbgone
+ name = "Plant-B-Gone"
+ id = "plantbgone"
+ result = "plantbgone"
+ required_reagents = list("toxin" = 1, "water" = 4)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/foaming_agent
+ name = "Foaming Agent"
+ id = "foaming_agent"
+ result = "foaming_agent"
+ required_reagents = list("lithium" = 1, "hydrogen" = 1)
+ result_amount = 1
+
+/decl/chemical_reaction/instant/glycerol
+ name = "Glycerol"
+ id = "glycerol"
+ result = "glycerol"
+ required_reagents = list("cornoil" = 3, "sacid" = 1)
+ result_amount = 1
+
+/decl/chemical_reaction/instant/sodiumchloride
+ name = "Sodium Chloride"
+ id = "sodiumchloride"
+ result = "sodiumchloride"
+ required_reagents = list("sodium" = 1, "chlorine" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/condensedcapsaicin
+ name = "Condensed Capsaicin"
+ id = "condensedcapsaicin"
+ result = "condensedcapsaicin"
+ required_reagents = list("capsaicin" = 2)
+ catalysts = list("phoron" = 5)
+ result_amount = 1
+
+/decl/chemical_reaction/instant/coolant
+ name = "Coolant"
+ id = "coolant"
+ result = "coolant"
+ required_reagents = list("tungsten" = 1, "oxygen" = 1, "water" = 1)
+ result_amount = 3
+ log_is_important = 1
+
+/decl/chemical_reaction/instant/rezadone
+ name = "Rezadone"
+ id = "rezadone"
+ result = "rezadone"
+ required_reagents = list("carpotoxin" = 1, "cryptobiolin" = 1, "copper" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/lexorin
+ name = "Lexorin"
+ id = "lexorin"
+ result = "lexorin"
+ required_reagents = list("phoron" = 1, "hydrogen" = 1, "nitrogen" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/methylphenidate
+ name = "Methylphenidate"
+ id = "methylphenidate"
+ result = "methylphenidate"
+ required_reagents = list("mindbreaker" = 1, "hydrogen" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/citalopram
+ name = "Citalopram"
+ id = "citalopram"
+ result = "citalopram"
+ required_reagents = list("mindbreaker" = 1, "carbon" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/paroxetine
+ name = "Paroxetine"
+ id = "paroxetine"
+ result = "paroxetine"
+ required_reagents = list("mindbreaker" = 1, "oxygen" = 1, "inaprovaline" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/neurotoxin
+ name = "Neurotoxin"
+ id = "neurotoxin"
+ result = "neurotoxin"
+ required_reagents = list("gargleblaster" = 1, "stoxin" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/luminol
+ name = "Luminol"
+ id = "luminol"
+ result = "luminol"
+ required_reagents = list("hydrogen" = 2, "carbon" = 2, "ammonia" = 2)
+ result_amount = 6
+
+/* Solidification */
+
+/decl/chemical_reaction/instant/solidification
+ name = "Solid Iron"
+ id = "solidiron"
+ result = null
+ required_reagents = list("frostoil" = 5, "iron" = REAGENTS_PER_SHEET)
+ result_amount = 1
+ var/sheet_to_give = /obj/item/stack/material/iron
+
+/decl/chemical_reaction/instant/solidification/on_reaction(var/datum/reagents/holder, var/created_volume)
+ new sheet_to_give(get_turf(holder.my_atom), created_volume)
+ return
+
+
+/decl/chemical_reaction/instant/solidification/phoron
+ name = "Solid Phoron"
+ id = "solidphoron"
+ required_reagents = list("frostoil" = 5, "phoron" = REAGENTS_PER_SHEET)
+ sheet_to_give = /obj/item/stack/material/phoron
+
+
+/decl/chemical_reaction/instant/solidification/silver
+ name = "Solid Silver"
+ id = "solidsilver"
+ required_reagents = list("frostoil" = 5, "silver" = REAGENTS_PER_SHEET)
+ sheet_to_give = /obj/item/stack/material/silver
+
+
+/decl/chemical_reaction/instant/solidification/gold
+ name = "Solid Gold"
+ id = "solidgold"
+ required_reagents = list("frostoil" = 5, "gold" = REAGENTS_PER_SHEET)
+ sheet_to_give = /obj/item/stack/material/gold
+
+
+/decl/chemical_reaction/instant/solidification/platinum
+ name = "Solid Platinum"
+ id = "solidplatinum"
+ required_reagents = list("frostoil" = 5, "platinum" = REAGENTS_PER_SHEET)
+ sheet_to_give = /obj/item/stack/material/platinum
+
+
+/decl/chemical_reaction/instant/solidification/uranium
+ name = "Solid Uranium"
+ id = "soliduranium"
+ required_reagents = list("frostoil" = 5, "uranium" = REAGENTS_PER_SHEET)
+ sheet_to_give = /obj/item/stack/material/uranium
+
+
+/decl/chemical_reaction/instant/solidification/hydrogen
+ name = "Solid Hydrogen"
+ id = "solidhydrogen"
+ required_reagents = list("frostoil" = 100, "hydrogen" = REAGENTS_PER_SHEET)
+ sheet_to_give = /obj/item/stack/material/mhydrogen
+
+
+// These are from Xenobio.
+/decl/chemical_reaction/instant/solidification/steel
+ name = "Solid Steel"
+ id = "solidsteel"
+ required_reagents = list("frostoil" = 5, "steel" = REAGENTS_PER_SHEET)
+ sheet_to_give = /obj/item/stack/material/steel
+
+
+/decl/chemical_reaction/instant/solidification/plasteel
+ name = "Solid Plasteel"
+ id = "solidplasteel"
+ required_reagents = list("frostoil" = 10, "plasteel" = REAGENTS_PER_SHEET)
+ sheet_to_give = /obj/item/stack/material/plasteel
+
+
+/decl/chemical_reaction/instant/plastication
+ name = "Plastic"
+ id = "solidplastic"
+ result = null
+ required_reagents = list("pacid" = 1, "plasticide" = 2)
+ result_amount = 1
+
+/decl/chemical_reaction/instant/plastication/on_reaction(var/datum/reagents/holder, var/created_volume)
+ new /obj/item/stack/material/plastic(get_turf(holder.my_atom), created_volume)
+ return
+
+/* Grenade reactions */
+
+/decl/chemical_reaction/instant/explosion_potassium
+ name = "Explosion"
+ id = "explosion_potassium"
+ result = null
+ required_reagents = list("water" = 1, "potassium" = 1)
+ result_amount = 2
+ mix_message = null
+
+/decl/chemical_reaction/instant/explosion_potassium/on_reaction(var/datum/reagents/holder, var/created_volume)
+ var/datum/effect/effect/system/reagents_explosion/e = new()
+ e.set_up(round (created_volume/10, 1), holder.my_atom, 0, 0)
+ if(isliving(holder.my_atom))
+ e.amount *= 0.5
+ var/mob/living/L = holder.my_atom
+ if(L.stat != DEAD)
+ e.amount *= 0.5
+ //VOREStation Add Start
+ else
+ holder.clear_reagents() //No more powergaming by creating a tiny amount of this
+ //VORESTation Add End
+ e.start()
+ //holder.clear_reagents() //VOREStation Removal
+ return
+
+/decl/chemical_reaction/instant/flash_powder
+ name = "Flash powder"
+ id = "flash_powder"
+ result = null
+ required_reagents = list("aluminum" = 1, "potassium" = 1, "sulfur" = 1 )
+ result_amount = null
+
+/decl/chemical_reaction/instant/flash_powder/on_reaction(var/datum/reagents/holder, var/created_volume)
+ var/location = get_turf(holder.my_atom)
+ var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
+ s.set_up(2, 1, location)
+ s.start()
+ for(var/mob/living/carbon/M in viewers(world.view, location))
+ switch(get_dist(M, location))
+ if(0 to 3)
+ if(hasvar(M, "glasses"))
+ if(istype(M:glasses, /obj/item/clothing/glasses/sunglasses))
+ continue
+
+ M.flash_eyes()
+ M.Weaken(15)
+
+ if(4 to 5)
+ if(hasvar(M, "glasses"))
+ if(istype(M:glasses, /obj/item/clothing/glasses/sunglasses))
+ continue
+
+ M.flash_eyes()
+ M.Stun(5)
+
+/decl/chemical_reaction/instant/emp_pulse
+ name = "EMP Pulse"
+ id = "emp_pulse"
+ result = null
+ required_reagents = list("uranium" = 1, "iron" = 1) // Yes, laugh, it's the best recipe I could think of that makes a little bit of sense
+ result_amount = 2
+
+/decl/chemical_reaction/instant/emp_pulse/on_reaction(var/datum/reagents/holder, var/created_volume)
+ var/location = get_turf(holder.my_atom)
+ // 100 created volume = 4 heavy range & 7 light range. A few tiles smaller than traitor EMP grandes.
+ // 200 created volume = 8 heavy range & 14 light range. 4 tiles larger than traitor EMP grenades.
+ empulse(location, round(created_volume / 24), round(created_volume / 20), round(created_volume / 18), round(created_volume / 14), 1)
+ //VOREStation Edit Start
+ if(!isliving(holder.my_atom)) //No more powergaming by creating a tiny amount of this
+ holder.clear_reagents()
+ //VOREStation Edit End
+ return
+
+/decl/chemical_reaction/instant/nitroglycerin
+ name = "Nitroglycerin"
+ id = "nitroglycerin"
+ result = "nitroglycerin"
+ required_reagents = list("glycerol" = 1, "pacid" = 1, "sacid" = 1)
+ result_amount = 2
+ log_is_important = 1
+
+/decl/chemical_reaction/instant/nitroglycerin/on_reaction(var/datum/reagents/holder, var/created_volume)
+ var/datum/effect/effect/system/reagents_explosion/e = new()
+ e.set_up(round (created_volume/2, 1), holder.my_atom, 0, 0)
+ if(isliving(holder.my_atom))
+ e.amount *= 0.5
+ var/mob/living/L = holder.my_atom
+ if(L.stat!=DEAD)
+ e.amount *= 0.5
+ //VOREStation Add Start
+ else
+ holder.clear_reagents() //No more powergaming by creating a tiny amount of this
+ //VOREStation Add End
+ e.start()
+
+ //holder.clear_reagents() //VOREStation Removal
+ return
+
+/decl/chemical_reaction/instant/napalm
+ name = "Napalm"
+ id = "napalm"
+ result = null
+ required_reagents = list("aluminum" = 1, "phoron" = 1, "sacid" = 1 )
+ result_amount = 1
+
+/decl/chemical_reaction/instant/napalm/on_reaction(var/datum/reagents/holder, var/created_volume)
+ var/turf/location = get_turf(holder.my_atom.loc)
+ for(var/turf/simulated/floor/target_tile in range(0,location))
+ target_tile.assume_gas("volatile_fuel", created_volume, 400+T0C)
+ spawn (0) target_tile.hotspot_expose(700, 400)
+ holder.del_reagent("napalm")
+ return
+
+/decl/chemical_reaction/instant/chemsmoke
+ name = "Chemsmoke"
+ id = "chemsmoke"
+ result = null
+ required_reagents = list("potassium" = 1, "sugar" = 1, "phosphorus" = 1)
+ result_amount = 0.4
+
+/decl/chemical_reaction/instant/chemsmoke/on_reaction(var/datum/reagents/holder, var/created_volume)
+ var/location = get_turf(holder.my_atom)
+ var/datum/effect/effect/system/smoke_spread/chem/S = new /datum/effect/effect/system/smoke_spread/chem
+ S.attach(location)
+ S.set_up(holder, created_volume, 0, location)
+ playsound(location, 'sound/effects/smoke.ogg', 50, 1, -3)
+ spawn(0)
+ S.start()
+ //VOREStation Edit Start
+ if(!isliving(holder.my_atom)) //No more powergaming by creating a tiny amount of this
+ holder.clear_reagents()
+ //VOREStation Edit End
+ return
+
+/decl/chemical_reaction/instant/foam
+ name = "Foam"
+ id = "foam"
+ result = null
+ required_reagents = list("fluorosurfactant" = 1, "water" = 1)
+ result_amount = 2
+ mix_message = "The solution violently bubbles!"
+
+/decl/chemical_reaction/instant/foam/on_reaction(var/datum/reagents/holder, var/created_volume)
+ var/location = get_turf(holder.my_atom)
+
+ for(var/mob/M in viewers(5, location))
+ to_chat(M, "
The solution spews out foam!")
+
+ var/datum/effect/effect/system/foam_spread/s = new()
+ s.set_up(created_volume, location, holder, 0)
+ s.start()
+ //VOREStation Edit Start
+ if(!isliving(holder.my_atom)) //No more powergaming by creating a tiny amount of this
+ holder.clear_reagents()
+ //VOREStation Edit End
+ return
+
+/decl/chemical_reaction/instant/metalfoam
+ name = "Metal Foam"
+ id = "metalfoam"
+ result = null
+ required_reagents = list("aluminum" = 3, "foaming_agent" = 1, "pacid" = 1)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/metalfoam/on_reaction(var/datum/reagents/holder, var/created_volume)
+ var/location = get_turf(holder.my_atom)
+
+ for(var/mob/M in viewers(5, location))
+ to_chat(M, "
The solution spews out a metalic foam!")
+
+ var/datum/effect/effect/system/foam_spread/s = new()
+ s.set_up(created_volume, location, holder, 1)
+ s.start()
+ return
+
+/decl/chemical_reaction/instant/ironfoam
+ name = "Iron Foam"
+ id = "ironlfoam"
+ result = null
+ required_reagents = list("iron" = 3, "foaming_agent" = 1, "pacid" = 1)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/ironfoam/on_reaction(var/datum/reagents/holder, var/created_volume)
+ var/location = get_turf(holder.my_atom)
+
+ for(var/mob/M in viewers(5, location))
+ to_chat(M, "
The solution spews out a metalic foam!")
+
+ var/datum/effect/effect/system/foam_spread/s = new()
+ s.set_up(created_volume, location, holder, 2)
+ s.start()
+ return
+
+/* Paint */
+
+/decl/chemical_reaction/instant/red_paint
+ name = "Red paint"
+ id = "red_paint"
+ result = "paint"
+ required_reagents = list("plasticide" = 1, "water" = 3, "marker_ink_red" = 1)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/red_paint/send_data()
+ return "#FE191A"
+
+/decl/chemical_reaction/instant/orange_paint
+ name = "Orange paint"
+ id = "orange_paint"
+ result = "paint"
+ required_reagents = list("plasticide" = 1, "water" = 3, "marker_ink_orange" = 1)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/orange_paint/send_data()
+ return "#FFBE4F"
+
+/decl/chemical_reaction/instant/yellow_paint
+ name = "Yellow paint"
+ id = "yellow_paint"
+ result = "paint"
+ required_reagents = list("plasticide" = 1, "water" = 3, "marker_ink_yellow" = 1)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/yellow_paint/send_data()
+ return "#FDFE7D"
+
+/decl/chemical_reaction/instant/green_paint
+ name = "Green paint"
+ id = "green_paint"
+ result = "paint"
+ required_reagents = list("plasticide" = 1, "water" = 3, "marker_ink_green" = 1)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/green_paint/send_data()
+ return "#18A31A"
+
+/decl/chemical_reaction/instant/blue_paint
+ name = "Blue paint"
+ id = "blue_paint"
+ result = "paint"
+ required_reagents = list("plasticide" = 1, "water" = 3, "marker_ink_blue" = 1)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/blue_paint/send_data()
+ return "#247CFF"
+
+/decl/chemical_reaction/instant/purple_paint
+ name = "Purple paint"
+ id = "purple_paint"
+ result = "paint"
+ required_reagents = list("plasticide" = 1, "water" = 3, "marker_ink_purple" = 1)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/purple_paint/send_data()
+ return "#CC0099"
+
+/decl/chemical_reaction/instant/grey_paint //mime
+ name = "Grey paint"
+ id = "grey_paint"
+ result = "paint"
+ required_reagents = list("plasticide" = 1, "water" = 3, "marker_ink_grey" = 1)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/grey_paint/send_data()
+ return "#808080"
+
+/decl/chemical_reaction/instant/brown_paint
+ name = "Brown paint"
+ id = "brown_paint"
+ result = "paint"
+ required_reagents = list("plasticide" = 1, "water" = 3, "marker_ink_brown" = 1)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/brown_paint/send_data()
+ return "#846F35"
+
+/decl/chemical_reaction/instant/blood_paint
+ name = "Blood paint"
+ id = "blood_paint"
+ result = "paint"
+ required_reagents = list("plasticide" = 1, "water" = 3, "blood" = 2)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/blood_paint/send_data(var/datum/reagents/T)
+ var/t = T.get_data("blood")
+ if(t && t["blood_colour"])
+ return t["blood_colour"]
+ return "#FE191A" // Probably red
+
+/decl/chemical_reaction/instant/milk_paint
+ name = "Milk paint"
+ id = "milk_paint"
+ result = "paint"
+ required_reagents = list("plasticide" = 1, "water" = 3, "milk" = 5)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/milk_paint/send_data()
+ return "#F0F8FF"
+
+/decl/chemical_reaction/instant/orange_juice_paint
+ name = "Orange juice paint"
+ id = "orange_juice_paint"
+ result = "paint"
+ required_reagents = list("plasticide" = 1, "water" = 3, "orangejuice" = 5)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/orange_juice_paint/send_data()
+ return "#E78108"
+
+/decl/chemical_reaction/instant/tomato_juice_paint
+ name = "Tomato juice paint"
+ id = "tomato_juice_paint"
+ result = "paint"
+ required_reagents = list("plasticide" = 1, "water" = 3, "tomatojuice" = 5)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/tomato_juice_paint/send_data()
+ return "#731008"
+
+/decl/chemical_reaction/instant/lime_juice_paint
+ name = "Lime juice paint"
+ id = "lime_juice_paint"
+ result = "paint"
+ required_reagents = list("plasticide" = 1, "water" = 3, "limejuice" = 5)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/lime_juice_paint/send_data()
+ return "#365E30"
+
+/decl/chemical_reaction/instant/carrot_juice_paint
+ name = "Carrot juice paint"
+ id = "carrot_juice_paint"
+ result = "paint"
+ required_reagents = list("plasticide" = 1, "water" = 3, "carrotjuice" = 5)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/carrot_juice_paint/send_data()
+ return "#973800"
+
+/decl/chemical_reaction/instant/berry_juice_paint
+ name = "Berry juice paint"
+ id = "berry_juice_paint"
+ result = "paint"
+ required_reagents = list("plasticide" = 1, "water" = 3, "berryjuice" = 5)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/berry_juice_paint/send_data()
+ return "#990066"
+
+/decl/chemical_reaction/instant/grape_juice_paint
+ name = "Grape juice paint"
+ id = "grape_juice_paint"
+ result = "paint"
+ required_reagents = list("plasticide" = 1, "water" = 3, "grapejuice" = 5)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/grape_juice_paint/send_data()
+ return "#863333"
+
+/decl/chemical_reaction/instant/poisonberry_juice_paint
+ name = "Poison berry juice paint"
+ id = "poisonberry_juice_paint"
+ result = "paint"
+ required_reagents = list("plasticide" = 1, "water" = 3, "poisonberryjuice" = 5)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/poisonberry_juice_paint/send_data()
+ return "#863353"
+
+/decl/chemical_reaction/instant/watermelon_juice_paint
+ name = "Watermelon juice paint"
+ id = "watermelon_juice_paint"
+ result = "paint"
+ required_reagents = list("plasticide" = 1, "water" = 3, "watermelonjuice" = 5)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/watermelon_juice_paint/send_data()
+ return "#B83333"
+
+/decl/chemical_reaction/instant/lemon_juice_paint
+ name = "Lemon juice paint"
+ id = "lemon_juice_paint"
+ result = "paint"
+ required_reagents = list("plasticide" = 1, "water" = 3, "lemonjuice" = 5)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/lemon_juice_paint/send_data()
+ return "#AFAF00"
+
+/decl/chemical_reaction/instant/banana_juice_paint
+ name = "Banana juice paint"
+ id = "banana_juice_paint"
+ result = "paint"
+ required_reagents = list("plasticide" = 1, "water" = 3, "banana" = 5)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/banana_juice_paint/send_data()
+ return "#C3AF00"
+
+/decl/chemical_reaction/instant/potato_juice_paint
+ name = "Potato juice paint"
+ id = "potato_juice_paint"
+ result = "paint"
+ required_reagents = list("plasticide" = 1, "water" = 3, "potatojuice" = 5)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/potato_juice_paint/send_data()
+ return "#302000"
+
+/decl/chemical_reaction/instant/carbon_paint
+ name = "Carbon paint"
+ id = "carbon_paint"
+ result = "paint"
+ required_reagents = list("plasticide" = 1, "water" = 3, "carbon" = 1)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/carbon_paint/send_data()
+ return "#333333"
+
+/decl/chemical_reaction/instant/aluminum_paint
+ name = "Aluminum paint"
+ id = "aluminum_paint"
+ result = "paint"
+ required_reagents = list("plasticide" = 1, "water" = 3, "aluminum" = 1)
+ result_amount = 5
+
+/decl/chemical_reaction/instant/aluminum_paint/send_data()
+ return "#F0F8FF"
+
+//R-UST Port
+/decl/chemical_reaction/instant/hydrophoron
+ name = "Hydrophoron"
+ id = "hydrophoron"
+ result = "hydrophoron"
+ required_reagents = list("hydrogen" = 1, "phoron" = 1)
+ inhibitors = list("nitrogen" = 1) //So it doesn't mess with lexorin
+ result_amount = 2
+
+/decl/chemical_reaction/instant/deuterium
+ name = "Deuterium"
+ id = "deuterium"
+ result = "deuterium"
+ required_reagents = list("hydrophoron" = 1, "water" = 2)
+ result_amount = 3
+
+//Skrellian crap.
+/decl/chemical_reaction/instant/talum_quem
+ name = "Talum-quem"
+ id = "talum_quem"
+ result = "talum_quem"
+ required_reagents = list("space_drugs" = 2, "sugar" = 1, "amatoxin" = 1)
+ result_amount = 4
+
+/decl/chemical_reaction/instant/qerr_quem
+ name = "Qerr-quem"
+ id = "qerr_quem"
+ result = "qerr_quem"
+ required_reagents = list("nicotine" = 1, "carbon" = 1, "sugar" = 2)
+ result_amount = 4
+
+/decl/chemical_reaction/instant/malish_qualem
+ name = "Malish-Qualem"
+ id = "malish-qualem"
+ result = "malish-qualem"
+ required_reagents = list("immunosuprizine" = 1, "qerr_quem" = 1, "inaprovaline" = 1)
+ catalysts = list("phoron" = 5)
+ result_amount = 2
+
+// Biomass, for cloning and bioprinters
+/decl/chemical_reaction/instant/biomass
+ name = "Biomass"
+ id = "biomass"
+ result = "biomass"
+ required_reagents = list("protein" = 1, "sugar" = 1, "phoron" = 1)
+ result_amount = 1 // Roughly 20u per phoron sheet
+
+// Neutralization.
+
+/decl/chemical_reaction/instant/neutralize_neurotoxic_protein
+ name = "Neutralize Toxic Proteins"
+ id = "neurotoxic_protein_neutral"
+ result = "protein"
+ required_reagents = list("anti_toxin" = 1, "neurotoxic_protein" = 2)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/neutralize_carpotoxin
+ name = "Neutralize Carpotoxin"
+ id = "carpotoxin_neutral"
+ result = "protein"
+ required_reagents = list("radium" = 1, "carpotoxin" = 1, "sifsap" = 1)
+ catalysts = list("sifsap" = 10)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/neutralize_spidertoxin
+ name = "Neutralize Spidertoxin"
+ id = "spidertoxin_neutral"
+ result = "protein"
+ required_reagents = list("radium" = 1, "spidertoxin" = 1, "sifsap" = 1)
+ catalysts = list("sifsap" = 10)
+ result_amount = 2
\ No newline at end of file
diff --git a/code/modules/reagents/reactions/instant/instant_ch.dm b/code/modules/reagents/reactions/instant/instant_ch.dm
new file mode 100644
index 0000000000..9bc37c0212
--- /dev/null
+++ b/code/modules/reagents/reactions/instant/instant_ch.dm
@@ -0,0 +1,142 @@
+/decl/chemical_reaction/instant/aphrodisiac
+ name = "Aphrodisiac"
+ id = "aphrodisiac"
+ result = "aphrodisiac"
+ required_reagents = list("carbon" = 2, "hydrogen" = 2, "oxygen" = 2, "water" = 1)
+ result_amount = 6
+
+/decl/chemical_reaction/instant/claridyl
+ name = "claridyl"
+ id = "claridyl"
+ result = "claridyl"
+ required_reagents = list("lithium" = 1, "radium" = 1, "sugar" = 1)
+ result_amount = 1
+
+/decl/chemical_reaction/instant/dyloteane
+ name = "dyloteane"
+ id = "dyloteane"
+ result = "dyloteane"
+ required_reagents = list("anti_toxin" = 1, "tea" = 1)
+ result_amount = 1
+
+/decl/chemical_reaction/instant/dyloteane/super
+ name = "dyloteanesuper"
+ id = "dyloteanesuper"
+ result = "dyloteane"
+ required_reagents = list("anti_toxin" = 1, "tea" = 1,"sugar" = 1)
+ result_amount = 10 //by the powers of england for sugaring your tea you gain *10 result
+
+/decl/chemical_reaction/instant/eden
+ name = "eden"
+ id = "eden"
+ result = "eden"
+ required_reagents = list("anti_toxin" = 60, "phoron" = 60)
+ result_amount = 1
+
+/decl/chemical_reaction/instant/eden/snake
+ id = "eden_snake"
+ result = "eden_snake"
+ required_reagents = list("eden" = 1, "ethanol" = 1)
+
+/decl/chemical_reaction/instant/tercozolam
+ id = "tercozolam"
+ result = "tercozolam"
+ required_reagents = list("anti_toxin" = 1, "ethanol" = 1, "lithium" = 1)
+ result_amount = 3
+
+/decl/chemical_reaction/instant/peridaxon_ch
+ name = "Peridaxon"
+ id = "peridaxon_ch"
+ result = "peridaxon"
+ required_reagents = list("cordradaxon" = 1, "gastirodaxon" = 1, "hepanephrodaxon" = 1, "respirodaxon" = 1)
+ result_amount = 12 //More phoron-efficient alternative recipe.
+
+///SAP RECIPES//////
+
+/decl/chemical_reaction/instant/myelamine_sap //This is the clotting agent used by clotting packs.
+ name = "Myelamine"
+ id = "myelamine"
+ result = "myelamine"
+ required_reagents = list("bicaridine" = 1, "iron" = 2, "kelotane" = 1, "bluesap" = 1)
+ result_amount = 1
+
+/decl/chemical_reaction/instant/hannoa
+ name = "Hannoa"
+ id = "hannoa"
+ result = "hannoa"
+ required_reagents = list("purplesap" = 1, "iron" = 2, "kelotane" = 1, "carbon" = 1)
+ result_amount = 1
+
+/decl/chemical_reaction/instant/bullvalene
+ name = "Bullvalene"
+ id = "bullvalene"
+ result = "bullvalene"
+ required_reagents = list("dermaline" = 1, "orangesap" = 1, "Copper" = 1)
+ result_amount = 1
+
+/decl/chemical_reaction/instant/nutrient
+ name = "Nutriment"
+ id = "nutriment"
+ result = "nutriment"
+ required_reagents = list("purplesap" = 1, "orangesap" = 1, "bluesap" = 1)
+ result_amount = 3
+
+/////SERAZINE RECIPES//////
+
+/decl/chemical_reaction/instant/alizine
+ name = "Alizine"
+ id = "alizine"
+ result = "alizine"
+ required_reagents = list("bicaridine" = 1, "serazine" = 1, "tungsten" = 1)
+ result_amount = 3
+
+/////GENDER CHANGE RECIPES/////
+
+/decl/chemical_reaction/instant/change_drug/male
+ name = "Elixer of Change"
+ id = "change_drug_male"
+ result = "change_drug_male"
+ required_reagents = list("blood" = 1, "mutagen" = 1, "iron" = 1)
+ result_amount = 1
+
+/decl/chemical_reaction/instant/change_drug/female
+ name = "Elixer of Change"
+ id = "change_drug_female"
+ result = "change_drug_female"
+ required_reagents = list("blood" = 1, "mutagen" = 1, "sugar" = 1)
+ result_amount = 1
+
+/decl/chemical_reaction/instant/change_drug/intersex
+ name = "Elixer of Change"
+ id = "change_drug_intersex"
+ result = "change_drug_intersex"
+ required_reagents = list("change_drug_male" = 1, "change_drug_female" = 1)
+ result_amount = 1
+
+// Frost oil reactions for material sheets
+/decl/chemical_reaction/instant/solidification/aluminium
+ name = "Solid Aluminium"
+ id = "solidaluminium"
+ required_reagents = list("frostoil" = 5, "aluminum" = REAGENTS_PER_SHEET)
+ sheet_to_give = /obj/item/stack/material/aluminium
+
+/decl/chemical_reaction/instant/solidification/copper
+ name = "Solid Copper"
+ id = "solidcopper"
+ required_reagents = list("frostoil" = 5, "copper" = REAGENTS_PER_SHEET)
+ sheet_to_give = /obj/item/stack/material/copper
+
+//YW stuff
+/decl/chemical_reaction/instant/benzilate
+ name = "Benzilate"
+ id = "benzilate"
+ result = "benzilate"
+ required_reagents = list("paracetamol" = 1, "mindbreaker" = 1)
+ result_amount = 2
+
+/decl/chemical_reaction/instant/phenethylamine
+ name = "Phenethylamine"
+ id = "phenethylamine"
+ result = "phenethylamine"
+ required_reagents = list("paroxetine" = 1, "benzilate" = 1)
+ result_amount = 2
diff --git a/code/modules/reagents/Chemistry-Recipes_vr.dm b/code/modules/reagents/reactions/instant/instant_vr.dm
similarity index 67%
rename from code/modules/reagents/Chemistry-Recipes_vr.dm
rename to code/modules/reagents/reactions/instant/instant_vr.dm
index 620221d7ac..c30ba8a224 100644
--- a/code/modules/reagents/Chemistry-Recipes_vr.dm
+++ b/code/modules/reagents/reactions/instant/instant_vr.dm
@@ -1,7 +1,7 @@
///////////////////////////////////////////////////////////////////////////////////
/// Micro/Macro chemicals
-/datum/chemical_reaction/sizeoxadone
+/decl/chemical_reaction/instant/sizeoxadone
name = "sizeoxadone"
id = "sizeoxadone"
result = "sizeoxadone"
@@ -9,7 +9,7 @@
catalysts = list("phoron" = 5)
result_amount = 5
-/datum/chemical_reaction/macrocillin
+/decl/chemical_reaction/instant/macrocillin
name = "Macrocillin"
id = "macrocillin"
result = "macrocillin"
@@ -17,7 +17,7 @@
required_reagents = list("sizeoxadone" = 20, "diethylamine" = 20)
result_amount = 1
-/datum/chemical_reaction/microcillin
+/decl/chemical_reaction/instant/microcillin
name = "Microcillin"
id = "microcillin"
result = "microcillin"
@@ -25,7 +25,7 @@
required_reagents = list("sizeoxadone" = 20, "sodiumchloride" = 20)
result_amount = 1
-/datum/chemical_reaction/normalcillin
+/decl/chemical_reaction/instant/normalcillin
name = "Normalcillin"
id = "normalcillin"
result = "normalcillin"
@@ -33,13 +33,13 @@
required_reagents = list("sizeoxadone" = 20, "leporazine" = 20)
result_amount = 1
-/datum/chemical_reaction/dontcrossthebeams
+/decl/chemical_reaction/instant/dontcrossthebeams
name = "Don't Cross The Beams"
id = "dontcrossthebeams"
result = null
required_reagents = list("microcillin" = 1, "macrocillin" = 1)
-/datum/chemical_reaction/dontcrossthebeams/on_reaction(var/datum/reagents/holder, var/created_volume)
+/decl/chemical_reaction/instant/dontcrossthebeams/on_reaction(var/datum/reagents/holder, var/created_volume)
var/location = get_turf(holder.my_atom)
playsound(location, 'sound/weapons/gauss_shoot.ogg', 50, 1)
var/datum/effect/effect/system/grav_pull/s = new /datum/effect/effect/system/grav_pull
@@ -50,13 +50,13 @@
///////////////////////////////////////////////////////////////////////////////////
/// Miscellaneous Reactions
-/datum/chemical_reaction/xenolazarus
+/decl/chemical_reaction/instant/xenolazarus
name = "Discount Lazarus"
id = "discountlazarus"
result = null
required_reagents = list("monstertamer" = 5, "clonexadone" = 5)
-/datum/chemical_reaction/xenolazarus/on_reaction(var/datum/reagents/holder, var/created_volume) //literally all this does is mash the regenerate button
+/decl/chemical_reaction/instant/xenolazarus/on_reaction(var/datum/reagents/holder, var/created_volume) //literally all this does is mash the regenerate button
if(ishuman(holder.my_atom))
var/mob/living/carbon/human/H = holder.my_atom
if(H.stat == DEAD && (/mob/living/carbon/human/proc/reconstitute_form in H.verbs)) //no magical regen for non-regenners, and can't force the reaction on live ones
@@ -75,10 +75,10 @@
H.visible_message("
[H] twitches for a moment, but remains still.") // no nutriment
-/datum/chemical_reaction/foam/softdrink
+/decl/chemical_reaction/instant/foam/softdrink
required_reagents = list("cola" = 1, "mint" = 1)
-/datum/chemical_reaction/firefightingfoam //TODO: Make it so we can add this to the foam tanks to refill them
+/decl/chemical_reaction/instant/firefightingfoam //TODO: Make it so we can add this to the foam tanks to refill them
name = "Firefighting Foam"
id = "firefighting foam"
result = "firefoam"
@@ -86,7 +86,7 @@
catalysts = list("fluorine" = 10)
result_amount = 1
-/datum/chemical_reaction/firefightingfoamqol //Please don't abuse this and make us remove it. Seriously.
+/decl/chemical_reaction/instant/firefightingfoamqol //Please don't abuse this and make us remove it. Seriously.
name = "Firefighting Foam EZ"
id = "firefighting foam ez"
result = "firefoam"
@@ -98,14 +98,14 @@
///////////////////////////////////////////////////////////////////////////////////
/// Vore Drugs
-/datum/chemical_reaction/ickypak
+/decl/chemical_reaction/instant/ickypak
name = "Ickypak"
id = "ickypak"
result = "ickypak"
required_reagents = list("hyperzine" = 4, "fluorosurfactant" = 1)
result_amount = 5
-/datum/chemical_reaction/unsorbitol
+/decl/chemical_reaction/instant/unsorbitol
name = "Unsorbitol"
id = "unsorbitol"
result = "unsorbitol"
@@ -114,14 +114,14 @@
///////////////////////////////////////////////////////////////////////////////////
/// Other Drugs
-/datum/chemical_reaction/adranol
+/decl/chemical_reaction/instant/adranol
name = "Adranol"
id = "adranol"
result = "adranol"
required_reagents = list("milk" = 2, "hydrogen" = 1, "potassium" = 1)
result_amount = 3
-/datum/chemical_reaction/vermicetol
+/decl/chemical_reaction/instant/vermicetol
name = "Vermicetol"
id = "vermicetol"
result = "vermicetol"
@@ -129,215 +129,16 @@
catalysts = list("phoron" = 5)
result_amount = 3
-///////////////////////////////////////////////////////////////////////////////////
-/// Special drinks
-/datum/chemical_reaction/drinks/grubshake
- name = "Grub protein drink"
- id = "grubshake"
- result = "grubshake"
- required_reagents = list("shockchem" = 5, "water" = 25)
- result_amount = 30
-
-/datum/chemical_reaction/drinks/deathbell
- name = "Deathbell"
- id = "deathbell"
- result = "deathbell"
- required_reagents = list("antifreeze" = 1, "gargleblaster" = 1, "syndicatebomb" =1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/monstertamer
- name = "Monster Tamer"
- id = "monstertamer"
- result = "monstertamer"
- required_reagents = list("whiskey" = 1, "protein" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/drinks/bigbeer
- name = "Giant Beer"
- id = "bigbeer"
- result = "bigbeer"
- required_reagents = list("syndicatebomb" = 1, "manlydorf" = 1, "grog" =1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/sweettea
- name = "Sweetened Tea"
- id = "sweettea"
- result = "sweettea"
- required_reagents = list("icetea" = 2, "sugar" = 1,)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/unsweettea
- name = "Unsweetened Tea"
- id = "unsweettea"
- result = "unsweettea"
- required_reagents = list("sweettea" = 3, "phoron" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/drinks/galacticpanic
- name = "Galactic Panic Attack"
- id = "galacticpanic"
- result = "galacticpanic"
- required_reagents = list("gargleblaster" = 1, "singulo" = 1, "phoronspecial" =1, "neurotoxin" = 1, "atomicbomb" = 1, "hippiesdelight" = 1)
- result_amount = 6
-
-/datum/chemical_reaction/drinks/bulldog
- name = "Space Bulldog"
- id = "bulldog"
- result = "bulldog"
- required_reagents = list("whiterussian" = 4, "cola" =1)
- result_amount = 4
-
-/datum/chemical_reaction/drinks/sbagliato
- name = "Negroni Sbagliato"
- id = "sbagliato"
- result = "sbagliato"
- required_reagents = list("wine" = 1, "vermouth" = 1, "sodawater" =1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/italiancrisis
- name = "Italian Crisis"
- id = "italiancrisis"
- result = "italiancrisis"
- required_reagents = list("bulldog" = 1, "sbagliato" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/drinks/sugarrush
- name = "Sweet Rush"
- id = "sugarrush"
- result = "sugarrush"
- required_reagents = list("sugar" = 1, "sodawater" = 1, "vodka" =1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/lotus
- name = "Lotus"
- id = "lotus"
- result = "lotus"
- required_reagents = list("sbagliato" = 1, "sugarrush" = 1)
- result_amount = 2
-
-/datum/chemical_reaction/drinks/shroomjuice
- name = "Dumb Shroom Juice"
- id = "shroomjuice"
- result = "shroomjuice"
- required_reagents = list("psilocybin" = 1, "applejuice" = 1, "limejuice" =1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/russianroulette
- name = "Russian Roulette"
- id = "russianroulette"
- result = "russianroulette"
- required_reagents = list("whiterussian" = 5, "iron" = 1)
- result_amount = 6
-
-/datum/chemical_reaction/drinks/lovemaker
- name = "The Love Maker"
- id = "lovemaker"
- result = "lovemaker"
- required_reagents = list("honey" = 1, "sexonthebeach" = 5)
- result_amount = 6
-
-/datum/chemical_reaction/drinks/honeyshot
- name = "Honey Shot"
- id = "honeyshot"
- result = "honeyshot"
- required_reagents = list("honey" = 1, "vodka" = 1, "grenadine" =1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/appletini
- name = "Appletini"
- id = "appletini"
- result = "appletini"
- required_reagents = list("applejuice" = 2, "vodka" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/glowingappletini
- name = "Glowing Appletini"
- id = "glowingappletini"
- result = "glowingappletini"
- required_reagents = list("appletini" = 5, "uranium" = 1)
- result_amount = 6
-
-/datum/chemical_reaction/drinks/scsatw
- name = "Slow Comfortable Screw Against the Wall"
- id = "scsatw"
- result = "scsatw"
- required_reagents = list("screwdrivercocktail" = 3, "rum" =1, "whiskey" =1, "gin" =1)
- result_amount = 6
-
-/datum/chemical_reaction/drinks/choccymilk
- name = "Choccy Milk"
- id = "choccymilk"
- result = "choccymilk"
- required_reagents = list("milk" = 3, "coco" = 1)
- result_amount = 4
-
-/datum/chemical_reaction/drinks/redspaceflush
- name = "Redspace Flush"
- id = "redspaceflush"
- result = "redspaceflush"
- required_reagents = list("rum" = 2, "whiskey" = 2, "blood" =1, "phoron" =1)
- result_amount = 6
-
-/datum/chemical_reaction/drinks/graveyard
- name = "Graveyard"
- id = "graveyard"
- result = "graveyard"
- required_reagents = list("cola" = 1, "spacemountainwind" = 1, "dr_gibb" =1, "space_up" = 1)
- result_amount = 4
-
-/datum/chemical_reaction/drinks/hairoftherat
- name = "Hair of the Rat"
- id = "hairoftherat"
- result = "hairoftherat"
- required_reagents = list("monstertamer" = 2, "nutriment" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/pink_moo
- name = "Pink Moo"
- id = "pinkmoo"
- result = "pinkmoo"
- required_reagents = list("blackrussian" = 2, "berryshake" = 1)
- result_amount = 3
-
-/datum/chemical_reaction/drinks/originalsin
- name = "Original Sin"
- id = "originalsin"
- result = "originalsin"
- required_reagents = list("holywine" = 1)
- catalysts = list("applejuice" = 1)
- result_amount = 1
-
-/datum/chemical_reaction/drinks/windgarita
- name = "WND-Garita"
- id = "windgarita"
- result = "windgarita"
- required_reagents = list("margarita" = 3, "spacemountainwind" = 2, "melonliquor" = 1)
- result_amount = 6
-
-/datum/chemical_reaction/drinks/newyorksour
- name = "New York Sour"
- id = "newyorksour"
- result = "newyorksour"
- required_reagents = list("whiskeysour" = 3, "wine" = 2, "egg" = 1)
- result_amount = 6
-
-/datum/chemical_reaction/drinks/mudslide
- name = "Mudslide"
- id = "mudslide"
- result = "mudslide"
- required_reagents = list("blackrussian" = 1, "irishcream" = 1)
- result_amount = 2
-
///////////////////////////////////////////////////////////////////////////////////
/// Reagent colonies.
-/datum/chemical_reaction/meatcolony
+/decl/chemical_reaction/instant/meatcolony
name = "protein"
id = "meatcolony"
result = "protein"
required_reagents = list("meatcolony" = 5, "virusfood" = 5)
result_amount = 60
-/datum/chemical_reaction/plantcolony
+/decl/chemical_reaction/instant/plantcolony
name = "nutriment"
id = "plantcolony"
result = "nutriment"
@@ -350,7 +151,7 @@
-/datum/chemical_reaction/slime_food
+/decl/chemical_reaction/instant/slime_food
name = "Slime Bork"
id = "m_tele2"
result = null
@@ -378,7 +179,7 @@
-/datum/chemical_reaction/materials
+/decl/chemical_reaction/instant/materials
name = "Slime materials"
id = "slimematerial"
result = null
@@ -435,7 +236,7 @@
C.loc = get_turf(holder.my_atom)
-/datum/chemical_reaction/slimelight
+/decl/chemical_reaction/instant/slimelight
name = "Slime Glow"
id = "m_glow"
result = null
@@ -448,7 +249,7 @@
F.loc = get_turf(holder.my_atom)
-/datum/chemical_reaction/slimephoron
+/decl/chemical_reaction/instant/slimephoron
name = "Slime Phoron"
id = "m_plasma"
result = null
@@ -459,7 +260,7 @@
P.amount = 10
P.loc = get_turf(holder.my_atom)
-/datum/chemical_reaction/slimefreeze
+/decl/chemical_reaction/instant/slimefreeze
name = "Slime Freeze"
id = "m_freeze"
result = null
@@ -477,7 +278,7 @@
-/datum/chemical_reaction/slimefrost
+/decl/chemical_reaction/instant/slimefrost
name = "Slime Frost Oil"
id = "m_frostoil"
result = "frostoil"
@@ -487,7 +288,7 @@
-/datum/chemical_reaction/slimefire
+/decl/chemical_reaction/instant/slimefire
name = "Slime fire"
id = "m_fire"
result = null
@@ -503,7 +304,7 @@
spawn (0) target_tile.hotspot_expose(700, 400)
-/datum/chemical_reaction/slimeify
+/decl/chemical_reaction/instant/slimeify
name = "Advanced Mutation Toxin"
id = "advmutationtoxin2"
result = "advmutationtoxin"
@@ -514,7 +315,7 @@
-/datum/chemical_reaction/slimeheal //A slime healing mixture. Why not.
+/decl/chemical_reaction/instant/slimeheal //A slime healing mixture. Why not.
name = "Slime Health"
id = "slimeheal"
result = "null"
@@ -530,14 +331,14 @@
C.adjustCloneLoss(-25)
C.updatehealth()
-/datum/chemical_reaction/slimejelly
+/decl/chemical_reaction/instant/slimejelly
name = "Slime Jam"
id = "m_jam"
result = "slimejelly"
required_reagents = list("phoron" = 20, "sugar" = 50, "lithium" = 50) //In case a xenobiologist is impatient and is willing to drain their dispenser resources, along with plasma!
result_amount = 5
-/datum/chemical_reaction/slimevore
+/decl/chemical_reaction/instant/slimevore
name = "Slime Vore" // Hostile vore mobs only
id = "m_tele"
result = null
@@ -600,9 +401,13 @@
for(var/j = 1, j <= rand(1, 3), j++)
step(C, pick(NORTH,SOUTH,EAST,WEST))
+/decl/chemical_reaction/instant/slime/sapphire_mutation
+ name = "Slime Mutation Toxins"
+ id = "slime_mutation_tox"
+ result = "mutationtoxin"
+ required_reagents = list("blood" = 5)
+ result_amount = 30
+ required = /obj/item/slime_extract/sapphire
-/datum/chemical_reaction/food/syntiflesh
- required_reagents = list("blood" = 5, "clonexadone" = 1)
-
-/datum/chemical_reaction/biomass
- result_amount = 6 // Roughly 120u per phoron sheet
\ No newline at end of file
+/decl/chemical_reaction/instant/biomass
+ result_amount = 6 // Roughly 120u per phoron sheet
diff --git a/code/modules/reagents/Chemistry-Readme.dm b/code/modules/reagents/readme.md
similarity index 97%
rename from code/modules/reagents/Chemistry-Readme.dm
rename to code/modules/reagents/readme.md
index 2b7e3a832a..f9dac66b08 100644
--- a/code/modules/reagents/Chemistry-Readme.dm
+++ b/code/modules/reagents/readme.md
@@ -1,305 +1,305 @@
-/*
-NOTE: IF YOU UPDATE THE REAGENT-SYSTEM, ALSO UPDATE THIS README.
-
-Structure: /////////////////// //////////////////////////
- // Mob or object // -------> // Reagents var (datum) // Is a reference to the datum that holds the reagents.
- /////////////////// //////////////////////////
- | |
- The object that holds everything. V
- reagent_list var (list) A List of datums, each datum is a reagent.
-
- | | |
- V V V
-
- reagents (datums) Reagents. I.e. Water , antitoxins or mercury.
-
-
-Random important notes:
-
- An objects on_reagent_change will be called every time the objects reagents change.
- Useful if you want to update the objects icon etc.
-
-About the Holder:
-
- The holder (reagents datum) is the datum that holds a list of all reagents
- currently in the object.It also has all the procs needed to manipulate reagents
-
- Vars:
- list/datum/reagent/reagent_list
- List of reagent datums.
-
- total_volume
- Total volume of all reagents.
-
- maximum_volume
- Maximum volume.
-
- atom/my_atom
- Reference to the object that contains this.
-
- Procs:
-
- get_free_space()
- Returns the remaining free volume in the holder.
-
- get_master_reagent()
- Returns the reference to the reagent with the largest volume
-
- get_master_reagent_name()
- Ditto, but returns the name.
-
- get_master_reagent_id()
- Ditto, but returns ID.
-
- update_total()
- Updates total volume, called automatically.
-
- handle_reactions()
- Checks reagents and triggers any reactions that happen. Usually called automatically.
-
- add_reagent(var/id, var/amount, var/data = null, var/safety = 0)
- Adds [amount] units of [id] reagent. [data] will be passed to reagent's mix_data() or initialize_data(). If [safety] is 0, handle_reactions() will be called. Returns 1 if successful, 0 otherwise.
-
- remove_reagent(var/id, var/amount, var/safety = 0)
- Ditto, but removes reagent. Returns 1 if successful, 0 otherwise.
-
- del_reagent(var/id)
- Removes all of the reagent.
-
- has_reagent(var/id, var/amount = 0)
- Checks if holder has at least [amount] of [id] reagent. Returns 1 if the reagent is found and volume is above [amount]. Returns 0 otherwise.
-
- clear_reagents()
- Removes all reagents.
-
- get_reagent_amount(var/id)
- Returns reagent volume. Returns 0 if reagent is not found.
-
- get_data(var/id)
- Returns get_data() of the reagent.
-
- get_reagents()
- Returns a string containing all reagent ids and volumes, e.g. "carbon(4),nittrogen(5)".
-
- remove_any(var/amount = 1)
- Removes up to [amount] of reagents from [src]. Returns actual amount removed.
-
- trans_to_holder(var/datum/reagents/target, var/amount = 1, var/multiplier = 1, var/copy = 0)
- Transfers [amount] reagents from [src] to [target], multiplying them by [multiplier]. Returns actual amount removed from [src] (not amount transferred to [target]). If [copy] is 1, copies reagents instead.
-
- touch(var/atom/target)
- When applying reagents to an atom externally, touch() is called to trigger any on-touch effects of the reagent.
- This does not handle transferring reagents to things.
- For example, splashing someone with water will get them wet and extinguish them if they are on fire,
- even if they are wearing an impermeable suit that prevents the reagents from contacting the skin.
- Basically just defers to touch_mob(target), touch_turf(target), or touch_obj(target), depending on target's type.
- Not recommended to use this directly, since trans_to() calls it before attempting to transfer.
-
- touch_mob(var/mob/target)
- Calls each reagent's touch_mob(target).
-
- touch_turf(var/turf/target)
- Calls each reagent's touch_turf(target).
-
- touch_obj(var/obj/target)
- Calls each reagent's touch_obj(target).
-
- trans_to(var/atom/target, var/amount = 1, var/multiplier = 1, var/copy = 0)
- The general proc for applying reagents to things externally (as opposed to directly injected into the contents).
- It first calls touch, then the appropriate trans_to_*() or splash_mob().
- If for some reason you want touch effects to be bypassed (e.g. injecting stuff directly into a reagent container or person), call the appropriate trans_to_*() proc.
-
- Calls touch() before checking the type of [target], calling splash_mob(target, amount), trans_to_turf(target, amount, multiplier, copy), or trans_to_obj(target, amount, multiplier, copy).
-
- trans_id_to(var/atom/target, var/id, var/amount = 1)
- Transfers [amount] of [id] to [target]. Returns amount transferred.
-
- splash_mob(var/mob/target, var/amount = 1, var/clothes = 1)
- Checks mob's clothing if [clothes] is 1 and transfers [amount] reagents to mob's skin.
- Don't call this directly. Call apply_to() instead.
-
- trans_to_mob(var/mob/target, var/amount = 1, var/type = CHEM_BLOOD, var/multiplier = 1, var/copy = 0)
- Transfers [amount] reagents to the mob's appropriate holder, depending on [type]. Ignores protection.
-
- trans_to_turf(var/turf/target, var/amount = 1, var/multiplier = 1, var/copy = 0)
- Turfs don't currently have any reagents. Puts [amount] reagents into a temporary holder, calls touch_turf(target) from it, and deletes it.
-
- trans_to_obj(var/turf/target, var/amount = 1, var/multiplier = 1, var/copy = 0)
- If target has reagents, transfers [amount] to it. Otherwise, same as trans_to_turf().
-
- atom/proc/create_reagents(var/max_vol)
- Creates a new reagent datum.
-
-About Reagents:
-
- Reagents are all the things you can mix and fille in bottles etc. This can be anything from
- rejuvs over water to... iron.
-
- Vars:
-
- name
- Name that shows up in-game.
-
- id
- ID that is used for internal tracking. MUST BE UNIQUE.
-
- description
- Description that shows up in-game.
-
- datum/reagents/holder
- Reference to holder.
-
- reagent_state
- Could be GAS, LIQUID, or SOLID. Affects nothing. Reserved for future use.
-
- list/data
- Use varies by reagent. Custom variable. For example, blood stores blood group and viruses.
-
- volume
- Current volume.
-
- metabolism
- How quickly reagent is processed in mob's bloodstream; by default aslo affects ingest and touch metabolism.
-
- ingest_met
- How quickly reagent is processed when ingested; [metabolism] is used if zero.
-
- touch_met
- Ditto when touching.
-
- dose
- How much of the reagent has been processed, limited by [max_dose]. Used for reagents with varying effects (e.g. ethanol or rezadone) and overdosing.
-
- max_dose
- Maximum amount of reagent that has ever been in a mob. Exists so dose won't grow infinitely when small amounts of reagent are added over time.
-
- overdose
- If [dose] is bigger than [overdose], overdose() proc is called every tick.
-
- scannable
- If set to 1, will show up on health analyzers by name.
-
- affects_dead
- If set to 1, will affect dead players. Used by Adminordrazine.
-
- glass_icon_state
- Used by drinks. icon_state of the glass when this reagent is the master reagent.
-
- glass_name
- Ditto for glass name.
-
- glass_desc
- Ditto for glass desciption.
-
- glass_center_of_mass
- Used for glass placement on tables.
-
- color
- "#RRGGBB" or "#RRGGBBAA" where A is alpha channel.
-
- color_weight
- How much reagent affects color of holder. Used by paint.
-
- Procs:
-
- remove_self(var/amount)
- Removes [amount] of itself.
-
- touch_mob(var/mob/M)
- Called when reagent is in another holder and not splashing the mob. Can be used with noncarbons.
-
- touch_obj(var/obj/O)
- How reagent reacts with objects.
-
- touch_turf(var/turf/T)
- How reagent reacts with turfs.
-
- on_mob_life(var/mob/living/carbon/M, var/alien, var/location)
- Makes necessary checks and calls one of affect procs.
-
- affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
- How reagent affects mob when injected. [removed] is the amount of reagent that has been removed this tick. [alien] is the mob's reagent flag.
-
- affect_ingest(var/mob/living/carbon/M, var/alien, var/removed)
- Ditto, ingested. Defaults to affect_blood with halved dose.
-
- affect_touch(var/mob/living/carbon/M, var/alien, var/removed)
- Ditto, touching.
-
- overdose(var/mob/living/carbon/M, var/alien)
- Called when dose is above overdose. Defaults to M.adjustToxLoss(REM).
-
- initialize_data(var/newdata)
- Called when reagent is created. Defaults to setting [data] to [newdata].
-
- mix_data(var/newdata, var/newamount)
- Called when [newamount] of reagent with [newdata] data is added to the current reagent. Used by paint.
-
- get_data()
- Returns data. Can be overriden.
-
-About Recipes:
-
- Recipes are simple datums that contain a list of required reagents and a result.
- They also have a proc that is called when the recipe is matched.
-
- Vars:
-
- name
- Name of the reaction, currently unused.
-
- id
- ID of the reaction, must be unique.
-
- result
- ID of the resulting reagent. Can be null.
-
- list/required_reagents
- Reagents that are required for the reaction and are used up during it.
-
- list/catalysts
- Ditto, but not used up.
-
- list/inhibitors
- Opposite, prevent the reaction from happening.
-
- result_amount
- Amount of resulting reagent.
-
- mix_message
- Message that is shown to mobs when reaction happens.
-
- Procs:
-
- can_happen(var/datum/reagents/holder)
- Customizable. If it returns 0, reaction will not happen. Defaults to always returning 1. Used by slime core reactions.
-
- on_reaction(var/datum/reagents/holder, var/created_volume)
- Called when reaction happens. Used by explosives.
-
- send_data(var/datum/reagents/T)
- Sets resulting reagent's data. Used by blood paint.
-
-About the Tools:
-
- By default, all atom have a reagents var - but its empty. if you want to use an object for the chem.
- system you'll need to add something like this in its new proc:
-
- atom/proc/create_reagents(var/max_volume)
-
- Other important stuff:
-
- amount_per_transfer_from_this var
- This var is mostly used by beakers and bottles.
- It simply tells us how much to transfer when
- 'pouring' our reagents into something else.
-
- atom/proc/is_open_container()
- Checks atom/var/flags & OPENCONTAINER.
- If this returns 1 , you can use syringes, beakers etc
- to manipulate the contents of this object.
- If it's 0, you'll need to write your own custom reagent
- transfer code since you will not be able to use the standard
- tools to manipulate it.
-
+/*
+NOTE: IF YOU UPDATE THE REAGENT-SYSTEM, ALSO UPDATE THIS README.
+
+Structure: /////////////////// //////////////////////////
+ // Mob or object // -------> // Reagents var (datum) // Is a reference to the datum that holds the reagents.
+ /////////////////// //////////////////////////
+ | |
+ The object that holds everything. V
+ reagent_list var (list) A List of datums, each datum is a reagent.
+
+ | | |
+ V V V
+
+ reagents (datums) Reagents. I.e. Water , antitoxins or mercury.
+
+
+Random important notes:
+
+ An objects on_reagent_change will be called every time the objects reagents change.
+ Useful if you want to update the objects icon etc.
+
+About the Holder:
+
+ The holder (reagents datum) is the datum that holds a list of all reagents
+ currently in the object.It also has all the procs needed to manipulate reagents
+
+ Vars:
+ list/datum/reagent/reagent_list
+ List of reagent datums.
+
+ total_volume
+ Total volume of all reagents.
+
+ maximum_volume
+ Maximum volume.
+
+ atom/my_atom
+ Reference to the object that contains this.
+
+ Procs:
+
+ get_free_space()
+ Returns the remaining free volume in the holder.
+
+ get_master_reagent()
+ Returns the reference to the reagent with the largest volume
+
+ get_master_reagent_name()
+ Ditto, but returns the name.
+
+ get_master_reagent_id()
+ Ditto, but returns ID.
+
+ update_total()
+ Updates total volume, called automatically.
+
+ handle_reactions()
+ Checks reagents and triggers any reactions that happen. Usually called automatically.
+
+ add_reagent(var/id, var/amount, var/data = null, var/safety = 0)
+ Adds [amount] units of [id] reagent. [data] will be passed to reagent's mix_data() or initialize_data(). If [safety] is 0, handle_reactions() will be called. Returns 1 if successful, 0 otherwise.
+
+ remove_reagent(var/id, var/amount, var/safety = 0)
+ Ditto, but removes reagent. Returns 1 if successful, 0 otherwise.
+
+ del_reagent(var/id)
+ Removes all of the reagent.
+
+ has_reagent(var/id, var/amount = 0)
+ Checks if holder has at least [amount] of [id] reagent. Returns 1 if the reagent is found and volume is above [amount]. Returns 0 otherwise.
+
+ clear_reagents()
+ Removes all reagents.
+
+ get_reagent_amount(var/id)
+ Returns reagent volume. Returns 0 if reagent is not found.
+
+ get_data(var/id)
+ Returns get_data() of the reagent.
+
+ get_reagents()
+ Returns a string containing all reagent ids and volumes, e.g. "carbon(4),nittrogen(5)".
+
+ remove_any(var/amount = 1)
+ Removes up to [amount] of reagents from [src]. Returns actual amount removed.
+
+ trans_to_holder(var/datum/reagents/target, var/amount = 1, var/multiplier = 1, var/copy = 0)
+ Transfers [amount] reagents from [src] to [target], multiplying them by [multiplier]. Returns actual amount removed from [src] (not amount transferred to [target]). If [copy] is 1, copies reagents instead.
+
+ touch(var/atom/target)
+ When applying reagents to an atom externally, touch() is called to trigger any on-touch effects of the reagent.
+ This does not handle transferring reagents to things.
+ For example, splashing someone with water will get them wet and extinguish them if they are on fire,
+ even if they are wearing an impermeable suit that prevents the reagents from contacting the skin.
+ Basically just defers to touch_mob(target), touch_turf(target), or touch_obj(target), depending on target's type.
+ Not recommended to use this directly, since trans_to() calls it before attempting to transfer.
+
+ touch_mob(var/mob/target)
+ Calls each reagent's touch_mob(target).
+
+ touch_turf(var/turf/target)
+ Calls each reagent's touch_turf(target).
+
+ touch_obj(var/obj/target)
+ Calls each reagent's touch_obj(target).
+
+ trans_to(var/atom/target, var/amount = 1, var/multiplier = 1, var/copy = 0)
+ The general proc for applying reagents to things externally (as opposed to directly injected into the contents).
+ It first calls touch, then the appropriate trans_to_*() or splash_mob().
+ If for some reason you want touch effects to be bypassed (e.g. injecting stuff directly into a reagent container or person), call the appropriate trans_to_*() proc.
+
+ Calls touch() before checking the type of [target], calling splash_mob(target, amount), trans_to_turf(target, amount, multiplier, copy), or trans_to_obj(target, amount, multiplier, copy).
+
+ trans_id_to(var/atom/target, var/id, var/amount = 1)
+ Transfers [amount] of [id] to [target]. Returns amount transferred.
+
+ splash_mob(var/mob/target, var/amount = 1, var/clothes = 1)
+ Checks mob's clothing if [clothes] is 1 and transfers [amount] reagents to mob's skin.
+ Don't call this directly. Call apply_to() instead.
+
+ trans_to_mob(var/mob/target, var/amount = 1, var/type = CHEM_BLOOD, var/multiplier = 1, var/copy = 0)
+ Transfers [amount] reagents to the mob's appropriate holder, depending on [type]. Ignores protection.
+
+ trans_to_turf(var/turf/target, var/amount = 1, var/multiplier = 1, var/copy = 0)
+ Turfs don't currently have any reagents. Puts [amount] reagents into a temporary holder, calls touch_turf(target) from it, and deletes it.
+
+ trans_to_obj(var/turf/target, var/amount = 1, var/multiplier = 1, var/copy = 0)
+ If target has reagents, transfers [amount] to it. Otherwise, same as trans_to_turf().
+
+ atom/proc/create_reagents(var/max_vol)
+ Creates a new reagent datum.
+
+About Reagents:
+
+ Reagents are all the things you can mix and fille in bottles etc. This can be anything from
+ rejuvs over water to... iron.
+
+ Vars:
+
+ name
+ Name that shows up in-game.
+
+ id
+ ID that is used for internal tracking. MUST BE UNIQUE.
+
+ description
+ Description that shows up in-game.
+
+ datum/reagents/holder
+ Reference to holder.
+
+ reagent_state
+ Could be GAS, LIQUID, or SOLID. Affects nothing. Reserved for future use.
+
+ list/data
+ Use varies by reagent. Custom variable. For example, blood stores blood group and viruses.
+
+ volume
+ Current volume.
+
+ metabolism
+ How quickly reagent is processed in mob's bloodstream; by default aslo affects ingest and touch metabolism.
+
+ ingest_met
+ How quickly reagent is processed when ingested; [metabolism] is used if zero.
+
+ touch_met
+ Ditto when touching.
+
+ dose
+ How much of the reagent has been processed, limited by [max_dose]. Used for reagents with varying effects (e.g. ethanol or rezadone) and overdosing.
+
+ max_dose
+ Maximum amount of reagent that has ever been in a mob. Exists so dose won't grow infinitely when small amounts of reagent are added over time.
+
+ overdose
+ If [dose] is bigger than [overdose], overdose() proc is called every tick.
+
+ scannable
+ If set to 1, will show up on health analyzers by name.
+
+ affects_dead
+ If set to 1, will affect dead players. Used by Adminordrazine.
+
+ glass_icon_state
+ Used by drinks. icon_state of the glass when this reagent is the master reagent.
+
+ glass_name
+ Ditto for glass name.
+
+ glass_desc
+ Ditto for glass desciption.
+
+ glass_center_of_mass
+ Used for glass placement on tables.
+
+ color
+ "#RRGGBB" or "#RRGGBBAA" where A is alpha channel.
+
+ color_weight
+ How much reagent affects color of holder. Used by paint.
+
+ Procs:
+
+ remove_self(var/amount)
+ Removes [amount] of itself.
+
+ touch_mob(var/mob/M)
+ Called when reagent is in another holder and not splashing the mob. Can be used with noncarbons.
+
+ touch_obj(var/obj/O)
+ How reagent reacts with objects.
+
+ touch_turf(var/turf/T)
+ How reagent reacts with turfs.
+
+ on_mob_life(var/mob/living/carbon/M, var/alien, var/location)
+ Makes necessary checks and calls one of affect procs.
+
+ affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
+ How reagent affects mob when injected. [removed] is the amount of reagent that has been removed this tick. [alien] is the mob's reagent flag.
+
+ affect_ingest(var/mob/living/carbon/M, var/alien, var/removed)
+ Ditto, ingested. Defaults to affect_blood with halved dose.
+
+ affect_touch(var/mob/living/carbon/M, var/alien, var/removed)
+ Ditto, touching.
+
+ overdose(var/mob/living/carbon/M, var/alien)
+ Called when dose is above overdose. Defaults to M.adjustToxLoss(REM).
+
+ initialize_data(var/newdata)
+ Called when reagent is created. Defaults to setting [data] to [newdata].
+
+ mix_data(var/newdata, var/newamount)
+ Called when [newamount] of reagent with [newdata] data is added to the current reagent. Used by paint.
+
+ get_data()
+ Returns data. Can be overriden.
+
+About Recipes:
+
+ Recipes are simple datums that contain a list of required reagents and a result.
+ They also have a proc that is called when the recipe is matched.
+
+ Vars:
+
+ name
+ Name of the reaction, currently unused.
+
+ id
+ ID of the reaction, must be unique.
+
+ result
+ ID of the resulting reagent. Can be null.
+
+ list/required_reagents
+ Reagents that are required for the reaction and are used up during it.
+
+ list/catalysts
+ Ditto, but not used up.
+
+ list/inhibitors
+ Opposite, prevent the reaction from happening.
+
+ result_amount
+ Amount of resulting reagent.
+
+ mix_message
+ Message that is shown to mobs when reaction happens.
+
+ Procs:
+
+ can_happen(var/datum/reagents/holder)
+ Customizable. If it returns 0, reaction will not happen. Defaults to always returning 1. Used by slime core reactions.
+
+ on_reaction(var/datum/reagents/holder, var/created_volume)
+ Called when reaction happens. Used by explosives.
+
+ send_data(var/datum/reagents/T)
+ Sets resulting reagent's data. Used by blood paint.
+
+About the Tools:
+
+ By default, all atom have a reagents var - but its empty. if you want to use an object for the chem.
+ system you'll need to add something like this in its new proc:
+
+ atom/proc/create_reagents(var/max_volume)
+
+ Other important stuff:
+
+ amount_per_transfer_from_this var
+ This var is mostly used by beakers and bottles.
+ It simply tells us how much to transfer when
+ 'pouring' our reagents into something else.
+
+ atom/proc/is_open_container()
+ Checks atom/var/flags & OPENCONTAINER.
+ If this returns 1 , you can use syringes, beakers etc
+ to manipulate the contents of this object.
+ If it's 0, you'll need to write your own custom reagent
+ transfer code since you will not be able to use the standard
+ tools to manipulate it.
+
*/
\ No newline at end of file
diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers/_reagent_containers.dm
similarity index 97%
rename from code/modules/reagents/reagent_containers.dm
rename to code/modules/reagents/reagent_containers/_reagent_containers.dm
index 7a6927f49d..64dd2622d2 100644
--- a/code/modules/reagents/reagent_containers.dm
+++ b/code/modules/reagents/reagent_containers/_reagent_containers.dm
@@ -1,145 +1,145 @@
-/obj/item/weapon/reagent_containers
- name = "Container"
- desc = "..."
- icon = 'icons/obj/chemical.dmi'
- icon_state = null
- w_class = ITEMSIZE_SMALL
- var/amount_per_transfer_from_this = 5
- var/possible_transfer_amounts = list(5,10,15,25,30)
- var/volume = 30
-
-/obj/item/weapon/reagent_containers/verb/set_APTFT() //set amount_per_transfer_from_this
- set name = "Set transfer amount"
- set category = "Object"
- set src in range(0)
- var/N = input("Amount per transfer from this:","[src]") as null|anything in possible_transfer_amounts
- if(N)
- amount_per_transfer_from_this = N
-
-/obj/item/weapon/reagent_containers/Initialize()
- . = ..()
- if(!possible_transfer_amounts)
- src.verbs -= /obj/item/weapon/reagent_containers/verb/set_APTFT
- create_reagents(volume)
-
-/obj/item/weapon/reagent_containers/attack_self(mob/user as mob)
- return
-
-/obj/item/weapon/reagent_containers/afterattack(obj/target, mob/user, flag)
- return
-
-/obj/item/weapon/reagent_containers/proc/reagentlist() // For attack logs
- if(reagents)
- return reagents.get_reagents()
- return "No reagent holder"
-
-/obj/item/weapon/reagent_containers/proc/standard_dispenser_refill(var/mob/user, var/obj/structure/reagent_dispensers/target) // This goes into afterattack
- if(!istype(target))
- return 0
-
- if(!target.reagents || !target.reagents.total_volume)
- to_chat(user, "
[target] is empty.")
- return 1
-
- if(reagents && !reagents.get_free_space())
- to_chat(user, "
[src] is full.")
- return 1
-
- var/trans = target.reagents.trans_to_obj(src, target:amount_per_transfer_from_this)
- to_chat(user, "
You fill [src] with [trans] units of the contents of [target].")
- return 1
-
-/obj/item/weapon/reagent_containers/proc/standard_splash_mob(var/mob/user, var/mob/target) // This goes into afterattack
- if(!istype(target))
- return
-
- if(!reagents || !reagents.total_volume)
- to_chat(user, "
[src] is empty.")
- return 1
-
- if(target.reagents && !target.reagents.get_free_space())
- to_chat(user, "
[target] is full.")
- return 1
-
- var/contained = reagentlist()
- add_attack_logs(user,target,"Splashed with [src.name] containing [contained]")
- user.visible_message("
[target] has been splashed with something by [user]!", "
You splash the solution onto [target].")
- reagents.splash(target, reagents.total_volume)
- return 1
-
-/obj/item/weapon/reagent_containers/proc/self_feed_message(var/mob/user)
- to_chat(user, "
You eat \the [src]")
-
-/obj/item/weapon/reagent_containers/proc/other_feed_message_start(var/mob/user, var/mob/target)
- user.visible_message("
[user] is trying to feed [target] \the [src]!")
-
-/obj/item/weapon/reagent_containers/proc/other_feed_message_finish(var/mob/user, var/mob/target)
- user.visible_message("
[user] has fed [target] \the [src]!")
-
-/obj/item/weapon/reagent_containers/proc/feed_sound(var/mob/user)
- return
-
-/obj/item/weapon/reagent_containers/proc/standard_feed_mob(var/mob/user, var/mob/target) // This goes into attack
- if(!istype(target))
- return 0
-
- if(!reagents || !reagents.total_volume)
- to_chat(user, "
\The [src] is empty.")
- return 1
-
- if(target == user)
- if(istype(user, /mob/living/carbon/human))
- var/mob/living/carbon/human/H = user
- if(!H.check_has_mouth())
- to_chat(user, "Where do you intend to put \the [src]? You don't have a mouth!")
- return
- var/obj/item/blocked = H.check_mouth_coverage()
- if(blocked)
- to_chat(user, "
\The [blocked] is in the way!")
- return
-
- user.setClickCooldown(user.get_attack_speed(src)) //puts a limit on how fast people can eat/drink things
- self_feed_message(user)
- reagents.trans_to_mob(user, issmall(user) ? CEILING(amount_per_transfer_from_this/2, 1) : amount_per_transfer_from_this, CHEM_INGEST)
- feed_sound(user)
- return 1
- else
- if(istype(target, /mob/living/carbon/human))
- var/mob/living/carbon/human/H = target
- if(!H.check_has_mouth())
- to_chat(user, "Where do you intend to put \the [src]? \The [H] doesn't have a mouth!")
- return
- var/obj/item/blocked = H.check_mouth_coverage()
- if(blocked)
- to_chat(user, "
\The [blocked] is in the way!")
- return
-
- other_feed_message_start(user, target)
-
- user.setClickCooldown(user.get_attack_speed(src))
- if(!do_mob(user, target))
- return
-
- other_feed_message_finish(user, target)
-
- var/contained = reagentlist()
- add_attack_logs(user,target,"Fed from [src.name] containing [contained]")
- reagents.trans_to_mob(target, amount_per_transfer_from_this, CHEM_INGEST)
- feed_sound(user)
- return 1
-
-/obj/item/weapon/reagent_containers/proc/standard_pour_into(var/mob/user, var/atom/target) // This goes into afterattack and yes, it's atom-level
- if(!target.is_open_container() || !target.reagents)
- return 0
-
- if(!reagents || !reagents.total_volume)
- to_chat(user, "
[src] is empty.")
- return 1
-
- if(!target.reagents.get_free_space())
- to_chat(user, "
[target] is full.")
- return 1
-
- var/trans = reagents.trans_to(target, amount_per_transfer_from_this)
- to_chat(user, "
You transfer [trans] units of the solution to [target].")
- return 1
+/obj/item/weapon/reagent_containers
+ name = "Container"
+ desc = "..."
+ icon = 'icons/obj/chemical.dmi'
+ icon_state = null
+ w_class = ITEMSIZE_SMALL
+ var/amount_per_transfer_from_this = 5
+ var/possible_transfer_amounts = list(5,10,15,25,30)
+ var/volume = 30
+
+/obj/item/weapon/reagent_containers/verb/set_APTFT() //set amount_per_transfer_from_this
+ set name = "Set transfer amount"
+ set category = "Object"
+ set src in range(0)
+ var/N = input("Amount per transfer from this:","[src]") as null|anything in possible_transfer_amounts
+ if(N)
+ amount_per_transfer_from_this = N
+
+/obj/item/weapon/reagent_containers/Initialize()
+ . = ..()
+ if(!possible_transfer_amounts)
+ src.verbs -= /obj/item/weapon/reagent_containers/verb/set_APTFT
+ create_reagents(volume)
+
+/obj/item/weapon/reagent_containers/attack_self(mob/user as mob)
+ return
+
+/obj/item/weapon/reagent_containers/afterattack(obj/target, mob/user, flag)
+ return
+
+/obj/item/weapon/reagent_containers/proc/reagentlist() // For attack logs
+ if(reagents)
+ return reagents.get_reagents()
+ return "No reagent holder"
+
+/obj/item/weapon/reagent_containers/proc/standard_dispenser_refill(var/mob/user, var/obj/structure/reagent_dispensers/target) // This goes into afterattack
+ if(!istype(target))
+ return 0
+
+ if(!target.reagents || !target.reagents.total_volume)
+ to_chat(user, "
[target] is empty.")
+ return 1
+
+ if(reagents && !reagents.get_free_space())
+ to_chat(user, "
[src] is full.")
+ return 1
+
+ var/trans = target.reagents.trans_to_obj(src, target:amount_per_transfer_from_this)
+ to_chat(user, "
You fill [src] with [trans] units of the contents of [target].")
+ return 1
+
+/obj/item/weapon/reagent_containers/proc/standard_splash_mob(var/mob/user, var/mob/target) // This goes into afterattack
+ if(!istype(target))
+ return
+
+ if(!reagents || !reagents.total_volume)
+ to_chat(user, "
[src] is empty.")
+ return 1
+
+ if(target.reagents && !target.reagents.get_free_space())
+ to_chat(user, "
[target] is full.")
+ return 1
+
+ var/contained = reagentlist()
+ add_attack_logs(user,target,"Splashed with [src.name] containing [contained]")
+ user.visible_message("
[target] has been splashed with something by [user]!", "
You splash the solution onto [target].")
+ reagents.splash(target, reagents.total_volume)
+ return 1
+
+/obj/item/weapon/reagent_containers/proc/self_feed_message(var/mob/user)
+ to_chat(user, "
You eat \the [src]")
+
+/obj/item/weapon/reagent_containers/proc/other_feed_message_start(var/mob/user, var/mob/target)
+ user.visible_message("
[user] is trying to feed [target] \the [src]!")
+
+/obj/item/weapon/reagent_containers/proc/other_feed_message_finish(var/mob/user, var/mob/target)
+ user.visible_message("
[user] has fed [target] \the [src]!")
+
+/obj/item/weapon/reagent_containers/proc/feed_sound(var/mob/user)
+ return
+
+/obj/item/weapon/reagent_containers/proc/standard_feed_mob(var/mob/user, var/mob/target) // This goes into attack
+ if(!istype(target))
+ return 0
+
+ if(!reagents || !reagents.total_volume)
+ to_chat(user, "
\The [src] is empty.")
+ return 1
+
+ if(target == user)
+ if(istype(user, /mob/living/carbon/human))
+ var/mob/living/carbon/human/H = user
+ if(!H.check_has_mouth())
+ to_chat(user, "Where do you intend to put \the [src]? You don't have a mouth!")
+ return
+ var/obj/item/blocked = H.check_mouth_coverage()
+ if(blocked)
+ to_chat(user, "
\The [blocked] is in the way!")
+ return
+
+ user.setClickCooldown(user.get_attack_speed(src)) //puts a limit on how fast people can eat/drink things
+ self_feed_message(user)
+ reagents.trans_to_mob(user, issmall(user) ? CEILING(amount_per_transfer_from_this/2, 1) : amount_per_transfer_from_this, CHEM_INGEST)
+ feed_sound(user)
+ return 1
+ else
+ if(istype(target, /mob/living/carbon/human))
+ var/mob/living/carbon/human/H = target
+ if(!H.check_has_mouth())
+ to_chat(user, "Where do you intend to put \the [src]? \The [H] doesn't have a mouth!")
+ return
+ var/obj/item/blocked = H.check_mouth_coverage()
+ if(blocked)
+ to_chat(user, "
\The [blocked] is in the way!")
+ return
+
+ other_feed_message_start(user, target)
+
+ user.setClickCooldown(user.get_attack_speed(src))
+ if(!do_mob(user, target))
+ return
+
+ other_feed_message_finish(user, target)
+
+ var/contained = reagentlist()
+ add_attack_logs(user,target,"Fed from [src.name] containing [contained]")
+ reagents.trans_to_mob(target, amount_per_transfer_from_this, CHEM_INGEST)
+ feed_sound(user)
+ return 1
+
+/obj/item/weapon/reagent_containers/proc/standard_pour_into(var/mob/user, var/atom/target) // This goes into afterattack and yes, it's atom-level
+ if(!target.is_open_container() || !target.reagents)
+ return 0
+
+ if(!reagents || !reagents.total_volume)
+ to_chat(user, "
[src] is empty.")
+ return 1
+
+ if(!target.reagents.get_free_space())
+ to_chat(user, "
[target] is full.")
+ return 1
+
+ var/trans = reagents.trans_to(target, amount_per_transfer_from_this)
+ to_chat(user, "
You transfer [trans] units of the solution to [target].")
+ return 1
diff --git a/code/modules/reagents/Chemistry-Reagents-Helpers.dm b/code/modules/reagents/reagents/_helpers.dm
similarity index 100%
rename from code/modules/reagents/Chemistry-Reagents-Helpers.dm
rename to code/modules/reagents/reagents/_helpers.dm
diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/reagents/_reagents.dm
similarity index 97%
rename from code/modules/reagents/Chemistry-Reagents.dm
rename to code/modules/reagents/reagents/_reagents.dm
index b570b31c31..0c0fa03d7f 100644
--- a/code/modules/reagents/Chemistry-Reagents.dm
+++ b/code/modules/reagents/reagents/_reagents.dm
@@ -225,6 +225,7 @@
holder = null
. = ..()
+//YW edit start
// Called when reagents are removed from a container, most likely after metabolizing in a mob
/datum/reagent/proc/on_remove(var/atom/A)
return
@@ -236,6 +237,7 @@
//on transfer to new container, return 1 to allow it to continue
/datum/reagent/proc/on_transfer(var/volume)
return 1
+//YW edit end
/* DEPRECATED - TODO: REMOVE EVERYWHERE */
@@ -247,4 +249,3 @@
/datum/reagent/proc/reaction_mob(var/mob/target)
touch_mob(target)
-
diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Core.dm b/code/modules/reagents/reagents/core.dm
similarity index 100%
rename from code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Core.dm
rename to code/modules/reagents/reagents/core.dm
diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Dispenser.dm b/code/modules/reagents/reagents/dispenser.dm
similarity index 100%
rename from code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Dispenser.dm
rename to code/modules/reagents/reagents/dispenser.dm
diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm b/code/modules/reagents/reagents/food_drinks.dm
similarity index 100%
rename from code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm
rename to code/modules/reagents/reagents/food_drinks.dm
diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents_ch.dm b/code/modules/reagents/reagents/food_drinks_ch.dm
similarity index 55%
rename from code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents_ch.dm
rename to code/modules/reagents/reagents/food_drinks_ch.dm
index 6005383211..a383554ea5 100644
--- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents_ch.dm
+++ b/code/modules/reagents/reagents/food_drinks_ch.dm
@@ -1,367 +1,3 @@
-/// Recipes
-
-/datum/chemical_reaction/aphrodisiac
- name = "Aphrodisiac"
- id = "aphrodisiac"
- result = "aphrodisiac"
- required_reagents = list("carbon" = 2, "hydrogen" = 2, "oxygen" = 2, "water" = 1)
- result_amount = 6
-
-/datum/reagent/aphrodisiac
- name = "Aphrodisiac"
- id = "aphrodisiac"
- description = "You so horny."
- taste_description = "sweetness"
- reagent_state = LIQUID
- color = "#FF9999"
- scannable = 1
-
-/datum/reagent/aphrodisiac/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
- if(!M) return
-
- if(prob(3))
- M.emote(pick("blush", "moan", "moan", "giggle"))
-
- // Unsure if we want to allow cumming. I'm gonna disable it for now.
-/*
- if(prob(1))
- switch(M.gender)
- if(MALE)
- M.emote("mcum")
- if(FEMALE)
- M.emote("fcum")
- if(PLURAL)
- if(prob(50))
- M.emote("mcum")
- else
- M.emote("fcum")
-*/
-// Disabled cause I'm unsure if we want to do this or not.
-/*
-/mob/living/proc/cum()
- if(!check_has_mouth())
- return
- src.visible_message("
[src] throws up!","
You throw up!")
-
- var/turf/simulated/T = get_turf(src) //TODO: Make add_blood_floor remove blood from human mobs
- if(istype(T))
- T.add_vomit_floor(src, 1)
-*/
-
-//////////////////////////////////////////////
-////////////////C U B E S////////////////////
-////////////////////////////////////////////
-/datum/chemical_reaction/cube/sagaru
- name = "Saguwu"
- id = "cubedsagaru"
- result = null
- required_reagents = list("cheese" = 1, "blood" = 1, "clonexadone" = 10,)
- result_amount = 1
-
-/datum/chemical_reaction/cube/sagaru/on_reaction(var/datum/reagents/holder, var/created_volume)
- var/location = get_turf(holder.my_atom)
- for(var/i = 1, i <= created_volume, i++)
- new /obj/item/weapon/reagent_containers/food/snacks/monkeycube/sarucube(location)
- return
-
-//this kinda counts
-//LIQUID EGG
-/datum/reagent/liquidspideregg
- name = "spider eggs"
- id = "spideregg"
- description = "These are eggs, spiders crawl out of these.. probably not healthy inside of a person."
- taste_description = "SO MANY LEGS"
- reagent_state = LIQUID
- color = "#FFFFFF"
- overdose = REAGENTS_OVERDOSE * 100
- metabolism = REM * 0.1
- scannable = 1
- var/amount_grown = 0
- var/min_growth = 0
- var/max_growth = 2
- var/spiders_min = 6
- var/spiders_max = 24
- var/spider_type = /obj/effect/spider/spiderling
-
-/datum/reagent/liquidspideregg/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
- if(prob(1))
- M.custom_pain("You can feel movement within your body!",45)
- amount_grown += rand(min_growth,max_growth)
- if(amount_grown >= 100)
- min_growth++
- max_growth++
- amount_grown = 0
- var/num = rand(spiders_min, spiders_max)
- var/obj/item/organ/external/O = null
- if(istype(M.loc, /obj/item/organ/external))
- O = M.loc
-
- for(var/i=0, i
You lose focus as warmth spreads throughout your chest and abdomen."
- spawn(300) //wait 30 seconds, growth takes time yo
- M.gender_change_cooldown = 0 //allow it to bug them again now that we've waited
- if (alert(M,"This chemical will change your gender, proceed?", "Warning", "Yes", "No") == "Yes") //check if they want this to happen for pref sake
- M.change_gender_identity(gender_change)
- M << "You feel like a new person" //success
-
-////////////////////////////////////
-//////////// OTHER ////////////
-//////////////////////////////////
-//This file is a fucking mess
-/datum/reagent/nutriment/pitcher_nectar //Pitcher plant reagent, doubles plant growth speed.
- name = "Pitcher Nectar"
- id = "pitcher_nectar"
- description = "An odd, sticky slurry which promotes rapid plant growth."
- taste_description = "pineapple"
- reagent_state = LIQUID
- nutriment_factor = 60
- color = "#a839a2"
-
////////////////////////////////////////////////
/////////DRINKS////////////////////////////////
//////////////////////////////////////////////
@@ -417,7 +53,6 @@
cup_name = "Medicinal tea cup"
color = "#00FF00"
-
/datum/reagent/drink/tea/dyloteane/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
if(alien == IS_DIONA)
return
@@ -823,35 +458,54 @@
glass_name = "horchata"
glass_desc = "A sweet and cold rice milk beverage."
-//////SAP IN UNREFINED FORM////
+/datum/reagent/ethanol/snaps
+ name = "Akvavit"
+ id = "snaps"
+ description = "Burns the nose and throat and soothes it with a herby aftertaste...Barely."
+ taste_description = "strong spirit and a little dill"
+ color = "e6d670" // rgb: 230, 214, 112
+ strength = 15
-/datum/reagent/toxin/bluesap //This is the first sap. Blue one.
- name = "Blue Sap"
- id = "bluesap"
- description = "Glowing blue liquid."
- reagent_state = LIQUID
- color = "#91f9ff" // rgb(145, 249, 255)
- metabolism = 0.01
- strength = 10//Don't drink it
- mrate_static = TRUE
+ glass_name = "akvavit"
+ glass_desc = "Burns the nose and throat, and soothes it with a herby aftertaste...Barely."
+
+////////////////////////////////////////////////
+/////////FOODSTUFF/////////////////////////////
+//////////////////////////////////////////////
+
+/datum/reagent/cinnamonpowder
+ name = "ground cinnamon"
+ id = "cinnamonpowder"
+ description = "Cinnamon, a spice made from tree bark, ground into a fine powder. Probably not a good idea to eat on its own!"
+ taste_description= "sweet spice with a hint of wood"
+ color = "#a96622"
-/datum/reagent/purplesap
- name = "Purple sap"
- id = "purplesap"
- description = "Purple liquid. It is very sticky and smells of ammonia."
- color = "#7a48a0"
- taste_description = "Ammonia"
+ glass_name = "ground cinnamon"
+ glass_desc = "A glass of ground cinnamon. Dare you take the challenge?"
-/datum/reagent/orangesap
- name = "Orange sap"
- id = "orangesap"
- description = "Orange liquid. It wobbles around a bit like jelly."
- color = "#e0962f"
- taste_description = "Ammonia"
+//YW drinks
+/datum/reagent/drink/lovepotion_yw
+ name = "Strawberry Love Potion"
+ id = "strawberrylovepotion"
+ description = "Creamy strawberries and sugar, simple and sweet."
+ taste_description = "strawberries and cream"
+ color = "#fc8a8a" // rgb(252, 138, 138)
-//New reagent definitions/overrides. If some of these get added upstream and cause a conflict later they might need deleting.
-/datum/reagent/toxin/plantbgone/touch_mob(var/mob/living/L, amount) //Plantbgone override to damage plant mobs. Part of pitcher plants, touch_mob doesn't exist for plantbgone at the time of writing.
- if(istype(L) && L.faction)
- if(L.faction == "plants") //This would be better with a variable but I'm not adding that because upstream conflicts. If you send this upstream please do this.
- L.adjustToxLoss(15 * amount)
- L.visible_message("[L] withers rapidly!", "The chemical burns you!")
+ glass_name = "Love Potion"
+ glass_desc = "Love me tender, love me sweet."
+
+
+/datum/reagent/ethanol/wormblood
+ name = "Worm Blood"
+ id = "wormblood"
+ description = "Who had the grand idea to bottle THE BLOOD OF A WORM."
+ taste_description = "Wriggly cave fungus"
+ color = "#827A00"
+ strength = 30
+ druggy = 10
+
+ glass_name = "Worm blood"
+ glass_desc = "Who had the grand idea to bottle THE BLOOD OF A WORM."
+ glass_icon_state = "wormblood"
+ glass_center_of_mass = list("x"=16, "y"=8)
+ glass_icon_file = 'icons/obj/drinks_yw.dmi'
diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks_vr.dm b/code/modules/reagents/reagents/food_drinks_vr.dm
similarity index 91%
rename from code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks_vr.dm
rename to code/modules/reagents/reagents/food_drinks_vr.dm
index 28084273ed..1a8f15de86 100644
--- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks_vr.dm
+++ b/code/modules/reagents/reagents/food_drinks_vr.dm
@@ -457,4 +457,62 @@
M.adjustToxLoss(removed) //Equivalent to half as much protein, since it's half protein.
if(M.species.organic_food_coeff)
if(alien == IS_SLIME || alien == IS_CHIMERA) //slimes and chimera can get nutrition from injected nutriment and protein
- M.nutrition += (alt_nutriment_factor * removed)
\ No newline at end of file
+ M.nutrition += (alt_nutriment_factor * removed)
+
+//////////////////////Bepis Drinks (04/29/2021)//////////////////////
+
+/datum/reagent/drink/soda/bepis_cola
+ name = "Bepis"
+ id = "bepis"
+ description = "A weird cola-like beverage."
+ taste_description = "bepsi"
+ reagent_state = LIQUID
+ color = "#100800"
+ adj_drowsy = -3
+ adj_temp = -5
+
+ glass_name = "Bepis Cola"
+ glass_desc = "A glass of weird cola beverage."
+ glass_special = list(DRINK_FIZZ)
+
+/datum/reagent/drink/soda/buzz_fuzz
+ name = "Buzz Fuzz"
+ id = "buzz_fuzz"
+ description = "A delicious frontier beverage that's simply a Hive of Flavour!"
+ taste_description = "carbonated honey and pollen"
+ reagent_state = LIQUID
+ color = "#8CFF00"
+ adj_drowsy = -3
+ adj_temp = -5
+
+ glass_name = "Buzz Fuzz"
+ glass_desc = "A glass that's stinging with flavour."
+ glass_special = list(DRINK_FIZZ)
+
+/datum/reagent/drink/soda/sprited_cranberry
+ name = "Sprited Cranberry"
+ id = "sprited_cranberry"
+ description = "A winter spiced cranberry drink. Perfect for year-round consumption."
+ taste_description = "sweet spiced cranberry"
+ reagent_state = LIQUID
+ color = "#fffafa"
+ adj_drowsy = -3
+ adj_temp = -5
+
+ glass_name = "Sprited Cranberry"
+ glass_desc = "A glass of sprited cranberry"
+ glass_special = list(DRINK_FIZZ)
+
+/datum/reagent/drink/soda/shamblers
+ name = "Shambler's Juice"
+ id = "shamblers"
+ description = "A strange off-brand beverage that's bursting with flavor."
+ taste_description = "carbonated metallic soda"
+ reagent_state = LIQUID
+ color = "#f00060"
+ adj_drowsy = -3
+ adj_temp = -5
+
+ glass_name = "Shambler's Juice"
+ glass_desc = "A glass of something shambly"
+ glass_special = list(DRINK_FIZZ)
\ No newline at end of file
diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm b/code/modules/reagents/reagents/medicine.dm
similarity index 100%
rename from code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm
rename to code/modules/reagents/reagents/medicine.dm
diff --git a/code/modules/reagents/reagents/medicine_ch.dm b/code/modules/reagents/reagents/medicine_ch.dm
new file mode 100644
index 0000000000..0f8bf08a3e
--- /dev/null
+++ b/code/modules/reagents/reagents/medicine_ch.dm
@@ -0,0 +1,196 @@
+////////////////////////////////////
+//////////// MEDICINE /////////
+//////////////////////////////////
+/datum/reagent/claridyl
+ name = "Claridyl Natural Remedy"
+ id = "claridyl"
+ description = "Claridyl is an advanced medicine that cures all of your problems. Notice: Clarydil does not claim to fix marriages, car loans, student debt or insomnia and may cause severe pain."
+ taste_description = "sugar"
+ reagent_state = LIQUID
+ color = "#AAAAFF"
+ overdose = REAGENTS_OVERDOSE * 100
+ metabolism = REM * 0.1
+ scannable = 1
+
+/datum/reagent/claridyl/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
+ if(alien != IS_DIONA)
+ M.add_chemical_effect(CE_STABLE, 30)
+ M.add_chemical_effect(CE_PAINKILLER, 40)
+ if(M.getBruteLoss())
+ M.adjustBruteLoss(-1)
+ M.adjustHalLoss(1.5)
+ if(prob(0.0001))
+ M.adjustToxLoss(50)//instant crit for tesh
+
+ if(prob(0.1))
+ pick(M.custom_pain("You suddenly feel inexplicably angry!",30),
+ M.custom_pain("You suddenly lose your train of thought!",30),
+ M.custom_pain("Your mouth feels dry!",30),
+ M.make_dizzy(2),
+ M.AdjustWeakened(10),
+ M.AdjustStunned(1),
+ M.AdjustParalysis(0.1),
+ M.hallucination = max(M.hallucination, 2),
+ M.flash_eyes(),
+ M.custom_pain("Your vision becomes blurred!",30),
+ M.add_chemical_effect(CE_ALCOHOL, 5),)
+
+/datum/reagent/claridyl/bloodburn/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
+ if(M.bloodstr)//No seriously dont inject this wtf is wrong with you.
+ for(var/datum/reagent/R in M.bloodstr.reagent_list)
+ if(istype(R, /datum/reagent/blood))
+ R.remove_self(removed * 15)
+
+/datum/reagent/claridyl/bloodburn/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed)
+ if(M.ingested)
+ for(var/datum/reagent/R in M.ingested.reagent_list)
+ if(istype(R, /datum/reagent/ethanol))
+ R.remove_self(removed * 5)
+
+/datum/reagent/claridyl/bloodburn
+ name = "Bloodburn"
+ id = "bloodburn"
+ description = "A chemical used to soak up any reagents inside someones stomach, injection is not advised, if you need to ask why please seek a new job."
+ taste_description = "liquid void"
+ color = "#000000"
+ metabolism = REM * 5
+
+/datum/reagent/eden
+ name = "Eden"
+ id = "eden"
+ description = "The ultimate anti toxin unrivaled, it corrects impurities within the body but punishes those who attain them with a burning sensation"
+ taste_description = "peace"
+ color = "#00FFBE"
+ overdose = REAGENTS_OVERDOSE * 1
+ metabolism = 0
+
+/datum/reagent/eden/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
+ if(alien == IS_SLIME || alien == IS_DIONA)
+ return
+ if(M.getToxLoss())
+ M.adjustFireLoss(1.2)
+ M.adjustToxLoss(-1)
+
+/datum/reagent/eden/snake
+ name = "Tainted Eden"
+ id = "eden_snake"
+ metabolism = 0.1
+ description = "It used to be an anti toxin until it was tainted."
+ taste_description = "hellfire"
+ color = "#FF0000"
+
+/datum/reagent/eden/snake/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
+ M.adjustOxyLoss(1)
+ M.adjustFireLoss(1)
+ M.adjustBruteLoss(1)
+ M.adjustToxLoss(1)
+
+/datum/reagent/tercozolam
+ name = "Tercozolam"
+ id = "tercozolam"
+ color = "#afeb17"
+ metabolism = 0.05
+ description = "A well respected drug used for treatment of schizophrenia in specific."
+ overdose = REAGENTS_OVERDOSE * 2
+
+///SAP REAGENTS////
+//This is all a direct port from aeiou.
+
+/datum/reagent/hannoa
+ name = "Hannoa"
+ id = "hannoa"
+ description = "A powerful clotting agent that treats brute damage very quickly but takes a long time to be metabolised. Overdoses easily, reacts badly with other chemicals."
+ taste_description = "paint"
+ reagent_state = LIQUID
+ color = "#163851"
+ overdose = 8
+ scannable = 1
+ metabolism = 0.03
+
+/datum/reagent/hannoa/overdose(var/mob/living/carbon/M, var/alien, var/removed)
+ ..()
+ if(ishuman(M))
+ var/wound_heal = 1.5 * removed
+ var/mob/living/carbon/human/H = M
+ for(var/obj/item/organ/external/O in H.bad_external_organs)
+ for(var/datum/wound/W in O.wounds)
+ if(W.bleeding())
+ W.damage = max(W.damage - wound_heal, 0)
+ if(W.damage <= 0)
+ O.wounds -= W
+ M.take_organ_damage(3 * removed, 0)
+ if(M.losebreath < 15)
+ M.AdjustLosebreath(1)
+ H.custom_pain("It feels as if your veins are fusing shut!",60)
+
+/datum/reagent/hannoa/affect_blood(var/mob/living/carbon/M, var/alien, var/removed) //Sleepy if not overdosing.
+ ..()
+ var/effective_dose = dose
+ if(effective_dose < 2)
+ if(effective_dose == metabolism * 2 || prob(5))
+ M.emote("yawn")
+ else if(effective_dose < 5)
+ M.eye_blurry = max(M.eye_blurry, 10)
+ else if(effective_dose < 20)
+ if(prob(50))
+ M.Weaken(2)
+ M.drowsyness = max(M.drowsyness, 20)
+ else
+ M.sleeping = max(M.sleeping, 20)
+
+
+/datum/reagent/bullvalene //This is for the third sap. It converts Brute Oxy and burn into slightly less toxins.
+ name = "bullvalene"
+ id = "bullvalene"
+ description = "witty pending description. Converts brute and burn into toxin. Or at least is supposed to."
+ taste_description = "sulfur"
+ reagent_state = LIQUID
+ color = "#163851"
+ overdose = 8 //This many units starts killing you.
+ scannable = 1 // Mechs can scan this ye
+ metabolism = 0.03 //Slow metabolism. This value was plucked out of nowhere. Can be changed.
+
+/datum/reagent/bullvalene/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
+ if(alien == IS_SLIME || alien == IS_DIONA)
+ return
+ if(M.getBruteLoss() || M.getFireLoss() || M.getOxyLoss())
+ M.adjustOxyLoss(-1)
+ M.adjustFireLoss(-1)
+ M.adjustBruteLoss(-1)
+ M.adjustToxLoss(0.8)
+
+/////SERAZINE REAGENTS///////
+
+/datum/reagent/serazine
+ name = "Serazine"
+ id = "serazine"
+ description = "A sweet tasting flower extract, it has very mild anti toxic properties, help with hallucinations and drowsyness, and can be used to make potent drugs."
+ taste_description = "sweet nectar"
+ reagent_state = LIQUID
+ color = "#df9898"
+ scannable = 1
+
+/datum/reagent/serazine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
+ var/chem_effective = 1
+ if(alien != IS_DIONA)
+ M.drowsyness = max(0, M.drowsyness - 3 * removed * chem_effective)
+ M.hallucination = max(0, M.hallucination - 6 * removed * chem_effective)
+ M.adjustToxLoss(-2 * removed * chem_effective)
+
+/datum/reagent/alizene
+ name = "Alizene"
+ id = "alizene"
+ description = "A derivative from bicaridine enhanced by serazine to more effectively mend flesh, but is ineffective against internal hemorrhage."
+ taste_description = "bittersweet"
+ taste_mult = 3
+ reagent_state = LIQUID
+ color = "#b37979"
+ overdose = REAGENTS_OVERDOSE
+ scannable = 1
+
+/datum/reagent/alizene/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
+ var/chem_effective = 1
+ if(alien == IS_SLIME)
+ chem_effective = 0.75
+ if(alien != IS_DIONA)
+ M.heal_organ_damage(12 * removed * chem_effective, 0)
diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine_vr.dm b/code/modules/reagents/reagents/medicine_vr.dm
similarity index 100%
rename from code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine_vr.dm
rename to code/modules/reagents/reagents/medicine_vr.dm
diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Modifiers.dm b/code/modules/reagents/reagents/modifiers.dm
similarity index 100%
rename from code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Modifiers.dm
rename to code/modules/reagents/reagents/modifiers.dm
diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Other.dm b/code/modules/reagents/reagents/other.dm
similarity index 90%
rename from code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Other.dm
rename to code/modules/reagents/reagents/other.dm
index 7c63381900..2b7eb8912c 100644
--- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Other.dm
+++ b/code/modules/reagents/reagents/other.dm
@@ -238,14 +238,6 @@
reagent_state = SOLID
color = "#D0D0D0"
-/datum/reagent/uranium
- name ="Uranium"
- id = "uranium"
- description = "A silvery-white metallic chemical element in the actinide series, weakly radioactive."
- taste_description = "metal"
- reagent_state = SOLID
- color = "#B8B8C0"
-
/datum/reagent/platinum
name = "Platinum"
id = "platinum"
@@ -254,6 +246,14 @@
reagent_state = SOLID
color = "#777777"
+/datum/reagent/uranium
+ name ="Uranium"
+ id = "uranium"
+ description = "A silvery-white metallic chemical element in the actinide series, weakly radioactive."
+ taste_description = "metal"
+ reagent_state = SOLID
+ color = "#B8B8C0"
+
/datum/reagent/uranium/affect_touch(var/mob/living/carbon/M, var/alien, var/removed)
affect_ingest(M, alien, removed)
@@ -268,6 +268,55 @@
new /obj/effect/decal/cleanable/greenglow(T)
return
+/datum/reagent/hydrogen/deuterium
+ name = "Deuterium"
+ id = "deuterium"
+ description = "A isotope of hydrogen. It has one extra neutron, and shares all chemical characteristics with hydrogen."
+
+/datum/reagent/hydrogen/tritium
+ name = "Tritium"
+ id = "tritium"
+ description = "A radioactive isotope of hydrogen. It has two extra neutrons, and shares all other chemical characteristics with hydrogen."
+
+/datum/reagent/lithium/lithium6
+ name = "Lithium-6"
+ id = "lithium6"
+ description = "An isotope of lithium. It has 3 neutrons, but shares all chemical characteristics with regular lithium."
+
+/datum/reagent/helium/helium3
+ name = "Helium-3"
+ id = "helium3"
+ description = "An isotope of helium. It only has one neutron, but shares all chemical characteristics with regular helium."
+ taste_mult = 0
+ reagent_state = GAS
+ color = "#808080"
+
+/datum/reagent/boron/boron11
+ name = "Boron-11"
+ id = "boron11"
+ description = "An isotope of boron. It has 6 neutrons."
+ taste_description = "metallic" // Apparently noone on the internet knows what boron tastes like. Or at least they won't share
+
+/datum/reagent/supermatter
+ name = "Supermatter"
+ id = "supermatter"
+ description = "The immense power of a supermatter crystal, in liquid form. You're not entirely sure how that's possible, but it's probably best handled with care."
+ taste_description = "taffy" // 0. The supermatter is tasty, tasty taffy.
+
+// Same as if you boop it wrong. It touches you, you die
+/datum/reagent/supermatter/affect_touch(mob/living/carbon/M, alien, removed)
+ . = ..()
+ M.ash()
+
+/datum/reagent/supermatter/affect_ingest(mob/living/carbon/M, alien, removed)
+ . = ..()
+ M.ash()
+
+/datum/reagent/supermatter/affect_blood(mob/living/carbon/M, alien, removed)
+ . = ..()
+ M.ash()
+
+
/datum/reagent/adrenaline
name = "Adrenaline"
id = "adrenaline"
diff --git a/code/modules/reagents/reagents/other_ch.dm b/code/modules/reagents/reagents/other_ch.dm
new file mode 100644
index 0000000000..1b11e3ca68
--- /dev/null
+++ b/code/modules/reagents/reagents/other_ch.dm
@@ -0,0 +1,173 @@
+//Misc stuff.
+
+//LIQUID EGG
+/datum/reagent/liquidspideregg
+ name = "spider eggs"
+ id = "spideregg"
+ description = "These are eggs, spiders crawl out of these.. probably not healthy inside of a person."
+ taste_description = "SO MANY LEGS"
+ reagent_state = LIQUID
+ color = "#FFFFFF"
+ overdose = REAGENTS_OVERDOSE * 100
+ metabolism = REM * 0.1
+ scannable = 1
+ var/amount_grown = 0
+ var/min_growth = 0
+ var/max_growth = 2
+ var/spiders_min = 6
+ var/spiders_max = 24
+ var/spider_type = /obj/effect/spider/spiderling
+
+/datum/reagent/liquidspideregg/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
+ if(prob(1))
+ M.custom_pain("You can feel movement within your body!",45)
+ amount_grown += rand(min_growth,max_growth)
+ if(amount_grown >= 100)
+ min_growth++
+ max_growth++
+ amount_grown = 0
+ var/num = rand(spiders_min, spiders_max)
+ var/obj/item/organ/external/O = null
+ if(istype(M.loc, /obj/item/organ/external))
+ O = M.loc
+
+ for(var/i=0, i[L] withers rapidly!", "The chemical burns you!")
+
+//////SAP IN UNREFINED FORM////
+
+/datum/reagent/toxin/bluesap //This is the first sap. Blue one.
+ name = "Blue Sap"
+ id = "bluesap"
+ description = "Glowing blue liquid."
+ reagent_state = LIQUID
+ color = "#91f9ff" // rgb(145, 249, 255)
+ metabolism = 0.01
+ strength = 10//Don't drink it
+ mrate_static = TRUE
+
+/datum/reagent/purplesap
+ name = "Purple sap"
+ id = "purplesap"
+ description = "Purple liquid. It is very sticky and smells of ammonia."
+ color = "#7a48a0"
+ taste_description = "Ammonia"
+
+/datum/reagent/orangesap
+ name = "Orange sap"
+ id = "orangesap"
+ description = "Orange liquid. It wobbles around a bit like jelly."
+ color = "#e0962f"
+ taste_description = "Ammonia"
+
+//YW stuff
+
+/datum/reagent/benzilate
+ name = "Odd Goo"
+ id = "benzilate"
+ description = "Grey... goo? This smells like hot acid. Consuming this likely wouldn't be good for your health."
+ taste_description = "raw iron"
+ taste_mult = 0.4
+ metabolism = REM * 2.5
+ color = "#929292"
+
+/datum/reagent/phenethylamine
+ name = "Phenethylamine"
+ id = "phenethylamine"
+ description = "Just looking at this makes you feel odd. Whether or not this would be good to consume is likely a gamble."
+ color = "#463667"
+ data = list("count"=1)
+ on_mob_life(var/mob/living/M as mob)
+ if(!M) M = holder.my_atom
+ if(data)
+ switch(data["count"])
+ if(1 to 30)
+ if(prob(9)) M.emote("me",1,"blushes")
+ if(prob(9)) to_chat(M, "You feel so needy..")
+ if (30 to INFINITY)
+ if(prob(3)) M.emote("me",1,"blushes")
+ if(prob(5)) M.say("!moans out lewdly!")
+ if(prob(9)) to_chat(M, "You can't help but want to touch yourself then and now!")
+ data["count"]++
+ holder.remove_reagent(src.id, 0.2)
+ //..()
+ return
+
+/datum/reagent/benzilate/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
+ if(alien == IS_DIONA)
+ return
+ var/drug_strength = 12
+ if(alien == IS_SKRELL)
+ drug_strength = drug_strength * 0.6
+ M.make_dizzy(drug_strength)
+ M.Confuse(drug_strength * 14)
+
+/obj/item/weapon/reagent_containers/pill/benzilate
+ name = "Benzilate pill"
+ desc = "You probably shouldn't swallow this."
+ icon_state = "pill2"
+
+/obj/item/weapon/reagent_containers/pill/benzilate/Initialize()
+ . = ..()
+ reagents.add_reagent("benzilate", 50)
+ color = reagents.get_color()
+
+
+/obj/item/weapon/reagent_containers/pill/phenethylamine
+ name = "Phenethylamine pill"
+ desc = "Smells like... lilacs?"
+ icon_state = "pill5"
+
+/obj/item/weapon/reagent_containers/pill/phenethylamine/Initialize()
+ . = ..()
+ reagents.add_reagent("phenethylamine", 50)
+ color = reagents.get_color()
+
+
+// PILLS THAT WE PROBABLY SHOULDN'T HAVE AAAAAAAAAA. The below is only so they can be included through mapping or "spawn " command. -Carl
+
+/obj/item/weapon/storage/pill_bottle/benzilate
+ name = "bottle of Benzilate pills"
+ desc = "This just hurts to look at with how many words of caution are scrawled on the lable. Better eat all of 'em!"
+
+/obj/item/weapon/storage/pill_bottle/benzilate/New()
+ ..()
+ new /obj/item/weapon/reagent_containers/pill/benzilate( src )
+ new /obj/item/weapon/reagent_containers/pill/benzilate( src )
+ new /obj/item/weapon/reagent_containers/pill/benzilate( src )
+ new /obj/item/weapon/reagent_containers/pill/benzilate( src )
+ new /obj/item/weapon/reagent_containers/pill/benzilate( src )
+ new /obj/item/weapon/reagent_containers/pill/benzilate( src )
+ new /obj/item/weapon/reagent_containers/pill/benzilate( src )
+
+/obj/item/weapon/storage/pill_bottle/phenethylamine
+ name = "bottle of Phenethylamine pills"
+ desc = "Looks like someone drew a happy face on the label, replacing whatever was previously present."
+
+/obj/item/weapon/storage/pill_bottle/phenethylamine/New()
+ ..()
+ new /obj/item/weapon/reagent_containers/pill/phenethylamine( src )
+ new /obj/item/weapon/reagent_containers/pill/phenethylamine( src )
+ new /obj/item/weapon/reagent_containers/pill/phenethylamine( src )
+ new /obj/item/weapon/reagent_containers/pill/phenethylamine( src )
+ new /obj/item/weapon/reagent_containers/pill/phenethylamine( src )
+ new /obj/item/weapon/reagent_containers/pill/phenethylamine( src )
+ new /obj/item/weapon/reagent_containers/pill/phenethylamine( src )
diff --git a/code/modules/reagents/Chemistry-Reagents_vr.dm b/code/modules/reagents/reagents/other_vr.dm
similarity index 95%
rename from code/modules/reagents/Chemistry-Reagents_vr.dm
rename to code/modules/reagents/reagents/other_vr.dm
index f6cd245dee..b1146960ed 100644
--- a/code/modules/reagents/Chemistry-Reagents_vr.dm
+++ b/code/modules/reagents/reagents/other_vr.dm
@@ -28,14 +28,6 @@
BI.forceMove(torso)
torso.implants += BI
-/datum/chemical_reaction/slime/sapphire_mutation
- name = "Slime Mutation Toxins"
- id = "slime_mutation_tox"
- result = "mutationtoxin"
- required_reagents = list("blood" = 5)
- result_amount = 30
- required = /obj/item/slime_extract/sapphire
-
/datum/reagent/nif_repair_nanites
name = "Programmed Nanomachines"
id = "nifrepairnanites"
diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm b/code/modules/reagents/reagents/toxins.dm
similarity index 100%
rename from code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm
rename to code/modules/reagents/reagents/toxins.dm
diff --git a/code/modules/reagents/reagents/vore_ch.dm b/code/modules/reagents/reagents/vore_ch.dm
new file mode 100644
index 0000000000..985df141fa
--- /dev/null
+++ b/code/modules/reagents/reagents/vore_ch.dm
@@ -0,0 +1,67 @@
+//Vore/kink reagents go here.
+
+/datum/reagent/aphrodisiac
+ name = "Aphrodisiac"
+ id = "aphrodisiac"
+ description = "You so horny."
+ taste_description = "sweetness"
+ reagent_state = LIQUID
+ color = "#FF9999"
+ scannable = 1
+
+/datum/reagent/aphrodisiac/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
+ if(!M) return
+
+ if(prob(3))
+ M.emote(pick("blush", "moan", "moan", "giggle"))
+
+///GENDER CHANGE REAGENTS////
+
+/datum/reagent/change_drug //base chemical
+ name = "Elixer of Change" //always the same name
+ id = "change_drug"
+ metabolism = 100 //set high enough that it does not process multiple times(delay implemented below)
+ description = "the bloods DNA in this seems aggressive"
+ taste_description = "this shouldn't be here" //unobtainable ingame
+ color = "#7F0000"
+ var/gender_change = null //set the gender variable here so we can set it to others in varients
+
+/datum/reagent/change_drug/male //inherits base chemical properties listed above
+ id = "change_drug_male" //unique ID for each varient
+ taste_description = "old spice odor blocker body wash"
+ reagent_state = LIQUID
+ color = "#428AFF"
+ gender_change = "male"
+ scannable = 1
+
+/datum/reagent/change_drug/female
+ id = "change_drug_female"
+ taste_description = "spiced honey"
+ reagent_state = LIQUID
+ color = "#FFA0FA"
+ gender_change = "female"
+ scannable = 1
+
+/datum/reagent/change_drug/intersex
+ id = "change_drug_intersex"
+ taste_description = "something salty and sweet"
+ reagent_state = LIQUID
+ color = "#CB9EFF"
+ gender_change = "herm"
+ scannable = 1
+
+/datum/reagent/change_drug/affect_blood(var/mob/living/carbon/human/M, var/alien, var/removed) //we need to process the change
+ if(alien == IS_DIONA) //doesn't work on multiple creature hiveminds
+ return
+ if(M.identifying_gender == gender_change) //don't bug them if they're already the same gender
+ return
+ if(M.gender_change_cooldown == 1) //if already done, don't bug them
+ return
+ else
+ M.gender_change_cooldown = 1 //set not to bug them because the chem is activating
+ M << "You lose focus as warmth spreads throughout your chest and abdomen."
+ spawn(300) //wait 30 seconds, growth takes time yo
+ M.gender_change_cooldown = 0 //allow it to bug them again now that we've waited
+ if (alert(M,"This chemical will change your gender, proceed?", "Warning", "Yes", "No") == "Yes") //check if they want this to happen for pref sake
+ M.change_gender_identity(gender_change)
+ M << "You feel like a new person" //success
diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Vore_vr.dm b/code/modules/reagents/reagents/vore_vr.dm
similarity index 100%
rename from code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Vore_vr.dm
rename to code/modules/reagents/reagents/vore_vr.dm
diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm
index 370a460bc7..3d58a40b16 100755
--- a/code/modules/research/rdconsole.dm
+++ b/code/modules/research/rdconsole.dm
@@ -70,10 +70,12 @@ won't update every console in existence) but it's more of a hassle to do. Also,
return return_name
/obj/machinery/computer/rdconsole/proc/CallReagentName(var/ID)
- var/datum/reagent/R = SSchemistry.chemical_reagents["[ID]"]
- if(!R)
- return ID
- return R.name
+ var/return_name = ID
+ for(var/datum/reagent/R in SSchemistry.chemical_reagents)
+ if(R.id == ID)
+ return_name = R.name
+ break
+ return return_name
/obj/machinery/computer/rdconsole/proc/SyncRDevices() //Makes sure it is properly sync'ed up with the devices attached to it (if any).
for(var/obj/machinery/r_n_d/D in range(3, src))
diff --git a/code/modules/vore/eating/contaminate_vr.dm b/code/modules/vore/eating/contaminate_vr.dm
index 998c7b53c5..2a9f9ac05f 100644
--- a/code/modules/vore/eating/contaminate_vr.dm
+++ b/code/modules/vore/eating/contaminate_vr.dm
@@ -96,7 +96,7 @@ var/list/gurgled_overlays = list(
// Special handling of gurgle_contaminate
//////////////
/obj/item/weapon/card/id/gurgle_contaminate(var/atom/movable/item_storage = null)
- digest_act(item_storage) //Digesting these anyway
+ digest_act(item_storage) //Contamination and digestion does same thing to these
return TRUE
/obj/item/device/pda/gurgle_contaminate(var/atom/movable/item_storage = null)
diff --git a/code/modules/vore/eating/digest_act_vr.dm b/code/modules/vore/eating/digest_act_vr.dm
index b2958d0ddf..5ab90cdb40 100644
--- a/code/modules/vore/eating/digest_act_vr.dm
+++ b/code/modules/vore/eating/digest_act_vr.dm
@@ -55,8 +55,6 @@
/////////////
/obj/item/weapon/hand_tele/digest_act(var/atom/movable/item_storage = null)
return FALSE
-/obj/item/weapon/card/id/gold/captain/spare/digest_act(var/atom/movable/item_storage = null)
- return FALSE
/obj/item/device/aicard/digest_act(var/atom/movable/item_storage = null)
return FALSE
/obj/item/device/paicard/digest_act(var/atom/movable/item_storage = null)
@@ -78,20 +76,14 @@
// Some special treatment
/////////////
-/obj/item/weapon/card/id
- var/lost_access = list()
-
/obj/item/weapon/card/id/digest_act(atom/movable/item_storage = null)
- desc = "A partially digested card that has seen better days. The damage appears to be only cosmetic, but the access codes need to be reprogrammed at the HoP office or ID restoration terminal."
+ desc = "A partially digested card that has seen better days. The damage appears to be only cosmetic."
if(!sprite_stack || !istype(sprite_stack) || !(sprite_stack.len))
icon = 'icons/obj/card_vr.dmi'
icon_state = "[initial(icon_state)]_digested"
else
sprite_stack += "digested"
update_icon()
- if(!(LAZYLEN(lost_access)) && LAZYLEN(access))
- lost_access = access //Do not forget what access we lose
- access = list() // Then lose it
return FALSE
/obj/item/weapon/reagent_containers/food/digest_act(atom/movable/item_storage = null)
diff --git a/code/modules/vore/eating/living_vr.dm b/code/modules/vore/eating/living_vr.dm
index f4ea03a86f..b08d67967f 100644
--- a/code/modules/vore/eating/living_vr.dm
+++ b/code/modules/vore/eating/living_vr.dm
@@ -901,7 +901,7 @@
// Full screen belly overlays!
/obj/screen/fullscreen/belly
- icon = 'icons/mob/screen_full_vore.dmi'
+ icon = 'icons/mob/screen_full_vore_ch.dmi' //CHOMPedit
icon_state = ""
/mob/living/proc/vorebelly_printout() //Spew the vorepanel belly messages into chat window for copypasting.
diff --git a/code/modules/vore/eating/vorepanel_ch.dm b/code/modules/vore/eating/vorepanel_ch.dm
index f47f58e946..cececd70f1 100644
--- a/code/modules/vore/eating/vorepanel_ch.dm
+++ b/code/modules/vore/eating/vorepanel_ch.dm
@@ -6,7 +6,7 @@
*/
/obj/screen/belly_fullscreen_preview
- icon = 'icons/mob/screen_full_vore.dmi'
+ icon = 'icons/mob/screen_full_vore_ch.dmi'
icon_state = ""
appearance_flags = 0
diff --git a/code/modules/vore/eating/vorepanel_vr.dm b/code/modules/vore/eating/vorepanel_vr.dm
index a5c40c867a..bfca29f014 100644
--- a/code/modules/vore/eating/vorepanel_vr.dm
+++ b/code/modules/vore/eating/vorepanel_vr.dm
@@ -173,7 +173,7 @@
"belly_fullscreen" = selected.belly_fullscreen,
"belly_fullscreen_color" = selected.belly_fullscreen_color, //CHOMPEdit
"mapRef" = map_name, //CHOMPEdit
- "possible_fullscreens" = icon_states('icons/mob/screen_full_vore.dmi'),
+ "possible_fullscreens" = icon_states('icons/mob/screen_full_vore_ch.dmi'), //CHOMPedit
"vorespawn_blacklist" = selected.vorespawn_blacklist
) //CHOMP Addition: vorespawn blacklist
diff --git a/code/modules/vore/smoleworld/smoleworld_vr.dm b/code/modules/vore/smoleworld/smoleworld_vr.dm
index 5e84d7cbd1..50dbacfe1f 100644
--- a/code/modules/vore/smoleworld/smoleworld_vr.dm
+++ b/code/modules/vore/smoleworld/smoleworld_vr.dm
@@ -60,7 +60,7 @@
recipes += new/datum/stack_recipe("smole houses", /obj/structure/smolebuilding/houses, 2, time = 10)
recipes += new/datum/stack_recipe("smole business", /obj/structure/smolebuilding/business, 2, time = 10)
recipes += new/datum/stack_recipe("smole warehouses", /obj/structure/smolebuilding/warehouses, 2, time = 10)
- recipes += new/datum/stack_recipe("smole musem", /obj/structure/smolebuilding/musem, 2, time = 10)
+ recipes += new/datum/stack_recipe("smole museum", /obj/structure/smolebuilding/museum, 2, time = 10)
/datum/material/smolebricks
name = "smolebricks"
@@ -86,7 +86,7 @@
//smolebrick case to make for easy bricks.
/obj/item/weapon/storage/smolebrickcase
name = "smolebrick case"
- desc = "you feel the power of imagination."
+ desc = "You feel the power of imagination."
icon = 'icons/vore/smoleworld_vr.dmi'
icon_state = "smolestorage"
throw_speed = 1
@@ -152,10 +152,10 @@
anchored = 1
/obj/structure/smoletrack/roadF
- name = "road fourway piece"
+ name = "road four-way piece"
icon = 'icons/vore/smoleworld_vr.dmi'
icon_state = "carfourway"
- desc = "A fourway road piece."
+ desc = "A four-way road piece."
anchored = 1
//buildings code
@@ -279,10 +279,10 @@
icon = 'icons/vore/smoleworld_vr.dmi'
icon_state = "smolewarehouses"
-/obj/structure/smolebuilding/musem
- name = "smole musem"
+/obj/structure/smolebuilding/museum
+ name = "smole museum"
icon = 'icons/vore/smoleworld_vr.dmi'
- icon_state = "smolemusem"
+ icon_state = "smolemuseum"
//
//CAR STUFF < WILL BE MESSED WITH IN A LATER UPDATE COMMENTED OUT FOR NOW
///obj/item/smolecar
@@ -357,8 +357,8 @@
drop_sound = 'sound/items/drop/basketball.ogg'
/obj/item/weapon/reagent_containers/food/snacks/snackplanet/virgo3b
- name = "virgo3bB"
- desc = "A sticky jelly jaw breaker in the shape of Virgo3B, it even has a tiny tether!"
+ name = "Virgo 3B"
+ desc = "A sticky jelly jaw breaker in the shape of Virgo-3B, it even has a tiny tether!"
icon = 'icons/vore/smoleworld_vr.dmi'
icon_state = "sp_Virgo3B"
bitesize = 3
@@ -379,8 +379,8 @@
drop_sound = 'sound/items/drop/basketball.ogg'
/obj/item/weapon/reagent_containers/food/snacks/snackplanet/virgoprime
- name = "virgo prime"
- desc = "Its a orange jaw breaker in the shape Virgo Prime!"
+ name = "Virgo Prime"
+ desc = "It's a orange jaw breaker in the shape of Virgo Prime!"
icon = 'icons/vore/smoleworld_vr.dmi'
icon_state = "sp_virgoprime"
bitesize = 3
@@ -391,7 +391,7 @@
/obj/item/weapon/storage/bagoplanets
name = "bag o' planets"
- desc = "A cosmic bag of fist sized candy planets."
+ desc = "A cosmic bag of fist-sized candy planets."
icon = 'icons/vore/smoleworld_vr.dmi'
icon_state = "sp_storage"
w_class = ITEMSIZE_LARGE
diff --git a/code/modules/xenobio/items/extracts.dm b/code/modules/xenobio/items/extracts.dm
index 159bb0f151..f810b9f68b 100644
--- a/code/modules/xenobio/items/extracts.dm
+++ b/code/modules/xenobio/items/extracts.dm
@@ -39,17 +39,17 @@
else
. += "This extract is inert."
-/datum/chemical_reaction/slime
+/decl/chemical_reaction/instant/slime
var/required = null
-/datum/chemical_reaction/slime/can_happen(var/datum/reagents/holder)
+/decl/chemical_reaction/instant/slime/can_happen(var/datum/reagents/holder)
if(holder.my_atom && istype(holder.my_atom, required))
var/obj/item/slime_extract/T = holder.my_atom
if(T.uses > 0)
return ..()
return FALSE
-/datum/chemical_reaction/slime/on_reaction(var/datum/reagents/holder)
+/decl/chemical_reaction/instant/slime/on_reaction(var/datum/reagents/holder)
var/obj/item/slime_extract/T = holder.my_atom
T.uses--
if(T.uses <= 0)
@@ -67,7 +67,7 @@
icon_state = "grey slime extract"
description_info = "This extract will create a new grey baby slime if injected with phoron, or some new monkey cubes if injected with blood."
-/datum/chemical_reaction/slime/grey_new_slime
+/decl/chemical_reaction/instant/slime/grey_new_slime
name = "Slime Spawn"
id = "m_spawn"
result = null
@@ -75,12 +75,12 @@
result_amount = 1
required = /obj/item/slime_extract/grey
-/datum/chemical_reaction/slime/grey_new_slime/on_reaction(var/datum/reagents/holder)
+/decl/chemical_reaction/instant/slime/grey_new_slime/on_reaction(var/datum/reagents/holder)
holder.my_atom.visible_message("Infused with phoron, the core begins to quiver and grow, and soon a new baby slime emerges from it!")
new /mob/living/simple_mob/slime/xenobio(get_turf(holder.my_atom))
..()
-/datum/chemical_reaction/slime/grey_monkey
+/decl/chemical_reaction/instant/slime/grey_monkey
name = "Slime Monkey"
id = "m_monkey"
result = null
@@ -88,12 +88,12 @@
result_amount = 1
required = /obj/item/slime_extract/grey
-/datum/chemical_reaction/slime/grey_monkey/on_reaction(var/datum/reagents/holder)
+/decl/chemical_reaction/instant/slime/grey_monkey/on_reaction(var/datum/reagents/holder)
for(var/i = 1 to 4)
new /obj/item/weapon/reagent_containers/food/snacks/monkeycube(get_turf(holder.my_atom))
..()
-/datum/chemical_reaction/slime/grey_slimejelly
+/decl/chemical_reaction/instant/slime/grey_slimejelly
name = "Slime Jelly"
id = "m_jelly"
result = "slimejelly"
@@ -123,7 +123,7 @@
color = "#666666"
strength = 20
-/datum/chemical_reaction/slime/metal_metamorphic
+/decl/chemical_reaction/instant/slime/metal_metamorphic
name = "Slime Metal"
id = "m_metal"
required_reagents = list("phoron" = 5)
@@ -132,7 +132,7 @@
required = /obj/item/slime_extract/metal
-/datum/chemical_reaction/metamorphic
+/decl/chemical_reaction/instant/metamorphic
result_amount = REAGENTS_PER_SHEET * 2
@@ -145,42 +145,42 @@
// This is kind of a waste since iron is in the chem dispenser but it would be inconsistent if this wasn't here.
-/datum/chemical_reaction/metamorphic/iron
+/decl/chemical_reaction/instant/metamorphic/iron
name = "Morph into Iron"
id = "morph_iron"
required_reagents = list("metamorphic" = REAGENTS_PER_SHEET, "iron" = REAGENTS_PER_SHEET)
result = "iron"
-/datum/chemical_reaction/metamorphic/silver
+/decl/chemical_reaction/instant/metamorphic/silver
name = "Morph into Silver"
id = "morph_silver"
required_reagents = list("metamorphic" = REAGENTS_PER_SHEET, "silver" = REAGENTS_PER_SHEET)
result = "silver"
-/datum/chemical_reaction/metamorphic/gold
+/decl/chemical_reaction/instant/metamorphic/gold
name = "Morph into Gold"
id = "morph_gold"
required_reagents = list("metamorphic" = REAGENTS_PER_SHEET, "gold" = REAGENTS_PER_SHEET)
result = "gold"
-/datum/chemical_reaction/metamorphic/platinum
+/decl/chemical_reaction/instant/metamorphic/platinum
name = "Morph into Platinum"
id = "morph_platinum"
required_reagents = list("metamorphic" = REAGENTS_PER_SHEET, "platinum" = REAGENTS_PER_SHEET)
result = "platinum"
-/datum/chemical_reaction/metamorphic/uranium
+/decl/chemical_reaction/instant/metamorphic/uranium
name = "Morph into Uranium"
id = "morph_uranium"
required_reagents = list("metamorphic" = REAGENTS_PER_SHEET, "uranium" = REAGENTS_PER_SHEET)
result = "uranium"
-/datum/chemical_reaction/metamorphic/phoron
+/decl/chemical_reaction/instant/metamorphic/phoron
name = "Morph into Phoron"
id = "morph_phoron"
required_reagents = list("metamorphic" = REAGENTS_PER_SHEET, "phoron" = REAGENTS_PER_SHEET)
@@ -188,7 +188,7 @@
// Creates 'alloys' which can be finalized with frost oil.
-/datum/chemical_reaction/slime/metal_binding
+/decl/chemical_reaction/instant/slime/metal_binding
name = "Slime Binding"
id = "m_binding"
required_reagents = list("water" = 5)
@@ -215,7 +215,7 @@
prefill = list("binding" = 60)
-/datum/chemical_reaction/binding
+/decl/chemical_reaction/instant/binding
name = "Bind into Steel"
id = "bind_steel"
result = "steel"
@@ -231,7 +231,7 @@
color = "#888888"
-/datum/chemical_reaction/binding/plasteel // Two parts 'steel', one part platnium matches the smelter alloy recipe.
+/decl/chemical_reaction/instant/binding/plasteel // Two parts 'steel', one part platnium matches the smelter alloy recipe.
name = "Bind into Plasteel"
id = "bind_plasteel"
required_reagents = list("binding" = REAGENTS_PER_SHEET, "steel" = REAGENTS_PER_SHEET * 2, "platinum" = REAGENTS_PER_SHEET)
@@ -258,7 +258,7 @@
The extract can also create a slime stability agent when injected with blood, which reduces the odds of newly created slimes mutating into \
a different color when a slime reproduces."
-/datum/chemical_reaction/slime/blue_frostoil
+/decl/chemical_reaction/instant/slime/blue_frostoil
name = "Slime Frost Oil"
id = "m_frostoil"
result = "frostoil"
@@ -267,14 +267,14 @@
required = /obj/item/slime_extract/blue
-/datum/chemical_reaction/slime/blue_stability
+/decl/chemical_reaction/instant/slime/blue_stability
name = "Slime Stability"
id = "m_stability"
required_reagents = list("blood" = 5)
result_amount = 1
required = /obj/item/slime_extract/blue
-/datum/chemical_reaction/slime/blue_stability/on_reaction(var/datum/reagents/holder)
+/decl/chemical_reaction/instant/slime/blue_stability/on_reaction(var/datum/reagents/holder)
new /obj/item/slimepotion/stabilizer(get_turf(holder.my_atom))
..()
@@ -291,14 +291,14 @@
can extract from a slime specimen."
-/datum/chemical_reaction/slime/purple_steroid
+/decl/chemical_reaction/instant/slime/purple_steroid
name = "Slime Steroid"
id = "m_steroid"
required_reagents = list("phoron" = 5)
result_amount = 1
required = /obj/item/slime_extract/purple
-/datum/chemical_reaction/slime/purple_steroid/on_reaction(var/datum/reagents/holder)
+/decl/chemical_reaction/instant/slime/purple_steroid/on_reaction(var/datum/reagents/holder)
new /obj/item/slimepotion/steroid(get_turf(holder.my_atom))
..()
@@ -313,14 +313,14 @@
icon_state = "orange slime extract"
description_info = "This extract creates a fire when injected with phoron, after a five second delay."
-/datum/chemical_reaction/slime/orange_fire
+/decl/chemical_reaction/instant/slime/orange_fire
name = "Slime Fire"
id = "m_fire"
required_reagents = list("phoron" = 5)
result_amount = 1
required = /obj/item/slime_extract/orange
-/datum/chemical_reaction/slime/orange_fire/on_reaction(var/datum/reagents/holder)
+/decl/chemical_reaction/instant/slime/orange_fire/on_reaction(var/datum/reagents/holder)
log_and_message_admins("Orange extract reaction (fire) has been activated in [get_area(holder.my_atom)]. Last fingerprints: [holder.my_atom.fingerprintslast]")
holder.my_atom.visible_message("\The [src] begins to vibrate violently!")
playsound(holder.my_atom, 'sound/effects/phasein.ogg', 75, 1)
@@ -350,14 +350,14 @@
description_info = "This extract will create a special 10k capacity power cell that self recharges slowly over time, when injected with phoron. \
When injected with blood, it will create a glob of slime which glows brightly. If injected with water, it will emit a strong EMP, after a five second delay."
-/datum/chemical_reaction/slime/yellow_emp
+/decl/chemical_reaction/instant/slime/yellow_emp
name = "Slime EMP"
id = "m_emp"
required_reagents = list("water" = 5)
result_amount = 1
required = /obj/item/slime_extract/yellow
-/datum/chemical_reaction/slime/yellow_emp/on_reaction(var/datum/reagents/holder)
+/decl/chemical_reaction/instant/slime/yellow_emp/on_reaction(var/datum/reagents/holder)
log_and_message_admins("Yellow extract reaction (emp) has been activated in [get_area(holder.my_atom)]. Last fingerprints: [holder.my_atom.fingerprintslast]")
holder.my_atom.visible_message("\The [src] begins to vibrate violently!")
playsound(holder.my_atom, 'sound/effects/phasein.ogg', 75, 1)
@@ -368,26 +368,26 @@
..()
-/datum/chemical_reaction/slime/yellow_battery
+/decl/chemical_reaction/instant/slime/yellow_battery
name = "Slime Cell"
id = "m_cell"
required_reagents = list("phoron" = 5)
result_amount = 1
required = /obj/item/slime_extract/yellow
-/datum/chemical_reaction/slime/yellow_battery/on_reaction(var/datum/reagents/holder)
+/decl/chemical_reaction/instant/slime/yellow_battery/on_reaction(var/datum/reagents/holder)
new /obj/item/weapon/cell/slime(get_turf(holder.my_atom))
..()
-/datum/chemical_reaction/slime/yellow_flashlight
+/decl/chemical_reaction/instant/slime/yellow_flashlight
name = "Slime Flashlight"
id = "m_flashlight"
required_reagents = list("blood" = 5)
result_amount = 1
required = /obj/item/slime_extract/yellow
-/datum/chemical_reaction/slime/yellow_flashlight/on_reaction(var/datum/reagents/holder)
+/decl/chemical_reaction/instant/slime/yellow_flashlight/on_reaction(var/datum/reagents/holder)
new /obj/item/device/flashlight/slime(get_turf(holder.my_atom))
..()
@@ -401,7 +401,7 @@
description_info = "This extract will create 5u liquid gold when injected with phoron."
-/datum/chemical_reaction/slime/gold_gold
+/decl/chemical_reaction/instant/slime/gold_gold
name = "Slime Gold"
id = "m_gold"
result = "gold"
@@ -420,7 +420,7 @@
description_info = "This extract will create 5u liquid silver when injected with phoron."
-/datum/chemical_reaction/slime/silver_silver
+/decl/chemical_reaction/instant/slime/silver_silver
name = "Slime Silver"
id = "m_silver"
result = "silver"
@@ -440,7 +440,7 @@
description_info = "This extract will create 40u liquid phoron when injected with water."
-/datum/chemical_reaction/slime/dark_purple_phoron
+/decl/chemical_reaction/instant/slime/dark_purple_phoron
name = "Slime Phoron"
id = "m_phoron_harvest"
result = "phoron"
@@ -462,7 +462,7 @@
cold-resistant armor like winter coats can protect from this. Note that the user is not immune to the extract's effects."
-/datum/chemical_reaction/slime/dark_blue_cold_snap
+/decl/chemical_reaction/instant/slime/dark_blue_cold_snap
name = "Slime Cold Snap"
id = "m_cold_snap"
required_reagents = list("phoron" = 5)
@@ -470,7 +470,7 @@
required = /obj/item/slime_extract/dark_blue
// This iterates over a ZAS zone's contents, so that things seperated in other zones aren't subjected to the temperature drop.
-/datum/chemical_reaction/slime/dark_blue_cold_snap/on_reaction(var/datum/reagents/holder)
+/decl/chemical_reaction/instant/slime/dark_blue_cold_snap/on_reaction(var/datum/reagents/holder)
var/turf/simulated/T = get_turf(holder.my_atom)
if(!T) // Nullspace lacks zones.
return
@@ -544,14 +544,14 @@
out of control."
-/datum/chemical_reaction/slime/red_enrage
+/decl/chemical_reaction/instant/slime/red_enrage
name = "Slime Enrage"
id = "m_enrage"
required_reagents = list("blood" = 5)
result_amount = 1
required = /obj/item/slime_extract/red
-/datum/chemical_reaction/slime/red_enrage/on_reaction(var/datum/reagents/holder)
+/decl/chemical_reaction/instant/slime/red_enrage/on_reaction(var/datum/reagents/holder)
for(var/mob/living/simple_mob/slime/S in view(get_turf(holder.my_atom)))
if(S.stat)
continue
@@ -580,14 +580,14 @@
-/datum/chemical_reaction/slime/red_mutation
+/decl/chemical_reaction/instant/slime/red_mutation
name = "Slime Mutation"
id = "m_mutation"
required_reagents = list("phoron" = 5)
result_amount = 1
required = /obj/item/slime_extract/red
-/datum/chemical_reaction/slime/red_mutation/on_reaction(var/datum/reagents/holder)
+/decl/chemical_reaction/instant/slime/red_mutation/on_reaction(var/datum/reagents/holder)
new /obj/item/slimepotion/mutator(get_turf(holder.my_atom))
..()
@@ -600,7 +600,7 @@
icon_state = "green slime extract"
description_info = "This extract will create 5u of liquid uranium when injected with phoron."
-/datum/chemical_reaction/slime/green_uranium
+/decl/chemical_reaction/instant/slime/green_uranium
name = "Slime Uranium"
id = "m_uranium"
result = "uranium"
@@ -620,7 +620,7 @@
with phoron. When injected with water, it will create an organ-mending agent. The slime medications have a very low threshold for overdosage, however."
-/datum/chemical_reaction/slime/pink_clotting
+/decl/chemical_reaction/instant/slime/pink_clotting
name = "Slime Clotting Med"
id = "m_clotting"
result = "slime_bleed_fixer"
@@ -629,7 +629,7 @@
required = /obj/item/slime_extract/pink
-/datum/chemical_reaction/slime/pink_bone_fix
+/decl/chemical_reaction/instant/slime/pink_bone_fix
name = "Slime Bone Med"
id = "m_bone_fixer"
result = "slime_bone_fixer"
@@ -638,7 +638,7 @@
required = /obj/item/slime_extract/pink
-/datum/chemical_reaction/slime/pink_organ_fix
+/decl/chemical_reaction/instant/slime/pink_organ_fix
name = "Slime Organ Med"
id = "m_organ_fixer"
result = "slime_organ_fixer"
@@ -680,7 +680,7 @@
increase the power of the explosion instead of allowing for multiple explosions."
-/datum/chemical_reaction/slime/oil_griff
+/decl/chemical_reaction/instant/slime/oil_griff
name = "Slime Explosion"
id = "m_boom"
required_reagents = list("blood" = 5)
@@ -688,7 +688,7 @@
required = /obj/item/slime_extract/oil
-/datum/chemical_reaction/slime/oil_griff/on_reaction(var/datum/reagents/holder)
+/decl/chemical_reaction/instant/slime/oil_griff/on_reaction(var/datum/reagents/holder)
..()
var/obj/item/slime_extract/E = holder.my_atom
var/power = 1
@@ -718,26 +718,26 @@
short ranged, random teleporting. When injected with phoron, it creates one 'greater' slime crystal, which allows for a one time precise teleport to \
a specific area."
-/datum/chemical_reaction/slime/bluespace_lesser
+/decl/chemical_reaction/instant/slime/bluespace_lesser
name = "Slime Lesser Tele"
id = "m_tele_lesser"
required_reagents = list("water" = 5)
result_amount = 1
required = /obj/item/slime_extract/bluespace
-/datum/chemical_reaction/slime/bluespace_lesser/on_reaction(var/datum/reagents/holder)
+/decl/chemical_reaction/instant/slime/bluespace_lesser/on_reaction(var/datum/reagents/holder)
for(var/i = 1 to 5)
new /obj/item/slime_crystal(get_turf(holder.my_atom))
..()
-/datum/chemical_reaction/slime/bluespace_greater
+/decl/chemical_reaction/instant/slime/bluespace_greater
name = "Slime Greater Tele"
id = "m_tele_lesser"
required_reagents = list("phoron" = 5)
result_amount = 1
required = /obj/item/slime_extract/bluespace
-/datum/chemical_reaction/slime/bluespace_greater/on_reaction(var/datum/reagents/holder)
+/decl/chemical_reaction/instant/slime/bluespace_greater/on_reaction(var/datum/reagents/holder)
new /obj/item/weapon/disposable_teleporter/slime(get_turf(holder.my_atom))
..()
@@ -752,14 +752,14 @@
'charges' before it goes inert."
-/datum/chemical_reaction/slime/cerulean_enhancer
+/decl/chemical_reaction/instant/slime/cerulean_enhancer
name = "Slime Enhancer"
id = "m_enhancer"
required_reagents = list("phoron" = 5)
result_amount = 1
required = /obj/item/slime_extract/cerulean
-/datum/chemical_reaction/slime/cerulean_enhancer/on_reaction(var/datum/reagents/holder)
+/decl/chemical_reaction/instant/slime/cerulean_enhancer/on_reaction(var/datum/reagents/holder)
new /obj/item/slimepotion/enhancer(get_turf(holder.my_atom))
..()
@@ -774,26 +774,26 @@
injected with water, it will create a very delicious and filling product."
-/datum/chemical_reaction/slime/amber_slimefood
+/decl/chemical_reaction/instant/slime/amber_slimefood
name = "Slime Feeding"
id = "m_slime_food"
required_reagents = list("phoron" = 5)
result_amount = 1
required = /obj/item/slime_extract/amber
-/datum/chemical_reaction/slime/amber_slimefood/on_reaction(var/datum/reagents/holder)
+/decl/chemical_reaction/instant/slime/amber_slimefood/on_reaction(var/datum/reagents/holder)
new /obj/item/slimepotion/feeding(get_turf(holder.my_atom))
..()
-/datum/chemical_reaction/slime/amber_peoplefood
+/decl/chemical_reaction/instant/slime/amber_peoplefood
name = "Slime Food"
id = "m_people_food"
required_reagents = list("water" = 5)
result_amount = 1
required = /obj/item/slime_extract/amber
-/datum/chemical_reaction/slime/amber_peoplefood/on_reaction(var/datum/reagents/holder)
+/decl/chemical_reaction/instant/slime/amber_peoplefood/on_reaction(var/datum/reagents/holder)
new /obj/item/weapon/reagent_containers/food/snacks/slime(get_turf(holder.my_atom))
..()
@@ -809,14 +809,14 @@
description_info = "This extract will create one 'slime cube' when injected with phoron. The slime cube is needed to create a Promethean."
-/datum/chemical_reaction/slime/sapphire_promethean
+/decl/chemical_reaction/instant/slime/sapphire_promethean
name = "Slime Promethean"
id = "m_promethean"
required_reagents = list("phoron" = 5)
result_amount = 1
required = /obj/item/slime_extract/sapphire
-/datum/chemical_reaction/slime/sapphire_promethean/on_reaction(var/datum/reagents/holder)
+/decl/chemical_reaction/instant/slime/sapphire_promethean/on_reaction(var/datum/reagents/holder)
new /obj/item/slime_cube(get_turf(holder.my_atom))
..()
@@ -830,14 +830,14 @@
description_info = "This extract will cause all entities close to the extract to become stronger for ten minutes, when injected with phoron. \
When injected with blood, makes a slime loyalty agent which will make the slime fight other dangerous entities but not station crew."
-/datum/chemical_reaction/slime/ruby_swole
+/decl/chemical_reaction/instant/slime/ruby_swole
name = "Slime Strength"
id = "m_strength"
required_reagents = list("phoron" = 5)
result_amount = 1
required = /obj/item/slime_extract/ruby
-/datum/chemical_reaction/slime/ruby_swole/on_reaction(var/datum/reagents/holder)
+/decl/chemical_reaction/instant/slime/ruby_swole/on_reaction(var/datum/reagents/holder)
for(var/mob/living/L in range(1, holder.my_atom))
L.add_modifier(/datum/modifier/slime_strength, 10 MINUTES, src)
..()
@@ -858,14 +858,14 @@
incoming_damage_percent = 0.75
-/datum/chemical_reaction/slime/ruby_loyalty
+/decl/chemical_reaction/instant/slime/ruby_loyalty
name = "Slime Loyalty"
id = "m_strength"
required_reagents = list("blood" = 5)
result_amount = 1
required = /obj/item/slime_extract/ruby
-/datum/chemical_reaction/slime/ruby_loyalty/on_reaction(var/datum/reagents/holder)
+/decl/chemical_reaction/instant/slime/ruby_loyalty/on_reaction(var/datum/reagents/holder)
new /obj/item/slimepotion/loyalty(get_turf(holder.my_atom))
..()
@@ -879,14 +879,14 @@
icon_state = "emerald slime extract"
description_info = "This extract will cause all entities close to the extract to become more agile for ten minutes, when injected with phoron."
-/datum/chemical_reaction/slime/emerald_fast
+/decl/chemical_reaction/instant/slime/emerald_fast
name = "Slime Agility"
id = "m_agility"
required_reagents = list("phoron" = 5)
result_amount = 1
required = /obj/item/slime_extract/emerald
-/datum/chemical_reaction/slime/emerald_fast/on_reaction(var/datum/reagents/holder)
+/decl/chemical_reaction/instant/slime/emerald_fast/on_reaction(var/datum/reagents/holder)
for(var/mob/living/L in range(1, holder.my_atom))
L.add_modifier(/datum/modifier/slime_agility, 10 MINUTES, src)
..()
@@ -916,26 +916,26 @@
When injected with phoron, it instead creates a slime friendship agent, which makes the slime consider the user their ally. The agent \
might be useful on other specimens as well."
-/datum/chemical_reaction/slime/light_pink_docility
+/decl/chemical_reaction/instant/slime/light_pink_docility
name = "Slime Docility"
id = "m_docile"
required_reagents = list("water" = 5)
result_amount = 1
required = /obj/item/slime_extract/light_pink
-/datum/chemical_reaction/slime/light_pink_docility/on_reaction(var/datum/reagents/holder)
+/decl/chemical_reaction/instant/slime/light_pink_docility/on_reaction(var/datum/reagents/holder)
new /obj/item/slimepotion/docility(get_turf(holder.my_atom))
..()
-/datum/chemical_reaction/slime/light_pink_friendship
+/decl/chemical_reaction/instant/slime/light_pink_friendship
name = "Slime Friendship"
id = "m_friendship"
required_reagents = list("phoron" = 5)
result_amount = 1
required = /obj/item/slime_extract/light_pink
-/datum/chemical_reaction/slime/light_pink_friendship/on_reaction(var/datum/reagents/holder)
+/decl/chemical_reaction/instant/slime/light_pink_friendship/on_reaction(var/datum/reagents/holder)
new /obj/item/slimepotion/friendship(get_turf(holder.my_atom))
..()
@@ -952,7 +952,7 @@
which makes slimes stop attacking other slime colors."
-/datum/chemical_reaction/slime/rainbow_random_slime
+/decl/chemical_reaction/instant/slime/rainbow_random_slime
name = "Slime Random Slime"
id = "m_rng_slime"
required_reagents = list("phoron" = 5)
@@ -960,7 +960,7 @@
required = /obj/item/slime_extract/rainbow
-/datum/chemical_reaction/slime/rainbow_random_slime/on_reaction(var/datum/reagents/holder)
+/decl/chemical_reaction/instant/slime/rainbow_random_slime/on_reaction(var/datum/reagents/holder)
var/mob/living/simple_mob/slime/xenobio/S
var/list/slime_types = typesof(/mob/living/simple_mob/slime/xenobio)
@@ -976,14 +976,14 @@
new S(get_turf(holder.my_atom))
..()
-/datum/chemical_reaction/slime/rainbow_unity
+/decl/chemical_reaction/instant/slime/rainbow_unity
name = "Slime Unity"
id = "m_unity"
required_reagents = list("water" = 5)
result_amount = 1
required = /obj/item/slime_extract/rainbow
-/datum/chemical_reaction/slime/rainbow_unity/on_reaction(var/datum/reagents/holder)
+/decl/chemical_reaction/instant/slime/rainbow_unity/on_reaction(var/datum/reagents/holder)
new /obj/item/slimepotion/unity(get_turf(holder.my_atom))
..()
diff --git a/config/docker/README.md b/config/docker/README.md
new file mode 100644
index 0000000000..3c1b9b3482
--- /dev/null
+++ b/config/docker/README.md
@@ -0,0 +1,43 @@
+## How to set-up the Docker database
+
+
+First, open `config/docker/mysql.env.example`, open in notepad or N++, change all the values to something else ~~or don't if you are lazy~~ for security sake.
+
+Then proceed to save the changed version to `mysql.env` and save it in the same directory as the `mysql.env.example` file.
+
+In order to get docker to use the database, it's suggested to change the `config/dbconfig.txt` to include the values in `mysql.env` file, to do this, use the hostname `db` as host!
+
+### Example for `config/dbconfig.txt`:
+
+The default database name is `tgstation` by default. Unless you change the SQL schemas, this cannot be changed.
+
+Keep note of the values, `*LOGIN` and `*PASSWORD`
+
+```
+# MySQL Connection Configuration
+
+# Server the MySQL database can be found at
+# Examples: localhost, 200.135.5.43, www.mysqldb.com, etc.
+ADDRESS db
+
+# MySQL server port (default is 3306)
+PORT 3306
+
+# Database the population, death, karma, etc. tables may be found in
+DATABASE tgstation
+
+# Username/Login used to access the database
+LOGIN sillyusername
+
+# Password used to access the database
+PASSWORD somekindofpassword
+
+# The following information is for feedback tracking via the blackbox server
+FEEDBACK_DATABASE tgstation
+FEEDBACK_LOGIN sillyusernane
+FEEDBACK_PASSWORD somekindofpassword
+
+# Track population and death statistics
+# Comment this out to disable
+#ENABLE_STAT_TRACKING
+```
diff --git a/config/docker/mysql.env.example b/config/docker/mysql.env.example
new file mode 100644
index 0000000000..73b37b08fd
--- /dev/null
+++ b/config/docker/mysql.env.example
@@ -0,0 +1,6 @@
+# MySQL database root password
+MYSQL_ROOT_PASSWORD=SUPERSEKRETOMYGOD
+# MySQL login username
+MYSQL_USERNAME=sillyusername
+# MySQL login password
+MYSQL_PASSWORD=somekindofpassword
diff --git a/config/example/config.txt b/config/example/config.txt
index dd07f7b73d..735fe805e9 100644
--- a/config/example/config.txt
+++ b/config/example/config.txt
@@ -555,3 +555,7 @@ ALLOW_URL_LINKS
# Control which submaps are loaded for the Dynamic Engine system
ENGINE_MAP Supermatter Engine,Edison's Bane
+
+# Controls how strictly the species whitelists on loadout entries are enforced
+# Possible values: 0 (Off), 1 (Lax, user must be whitelisted for the species), 2 (Strict, user must be the species)
+LOADOUT_WHITELIST 1
\ No newline at end of file
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 0000000000..b22b1c4ac0
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,45 @@
+version: '3'
+
+services:
+ # Virgo DM server
+ dreammaker:
+ image: vorestation:latest
+ restart: unless-stopped
+ build:
+ context: .
+ dockerfile: Dockerfile
+ ports:
+ - "2303:2303"
+ depends_on:
+ - db
+ volumes:
+ - ./config/:/vorestation/config
+ - gamedata:/vorestation/data
+ # MariaDB/MySQL database: game
+ # (if you don't really need this, feel free to remove this section.)
+ db:
+ image: mariadb
+ restart: unless-stopped
+ env_file:
+ - ./config/docker/mysql.env
+ volumes:
+ - ./SQL/tgstation_schema.sql:/docker-entrypoint-initdb.d/tgstation_schema.sql:ro
+ - ./SQL/feedback_schema.sql:/docker-entrypoint-initdb.d/feedback_schema.sql:ro
+ - database:/var/lib/mysql
+ # Adminer, for managing the DB, commented out by default but uncomment if you need it I guess.
+ #adminer:
+ # image: wodby/adminer
+ # depends_on:
+ # - db
+ # environment:
+ # ADMINER_DEFAULT_DB_DRIVER: mysql
+ # ADMINER_DEFAULT_DB_HOST: db
+ # ADMINER_DEFAULT_DB_NAME: tgstation
+ # ADMINER_DESIGN: nette
+ # ADMINER_PLUGINS: tables-filter tinymce
+ # ports:
+ # - 8080:9000
+
+volumes:
+ gamedata:
+ database:
diff --git a/html/changelog.html b/html/changelog.html
index 8083ac0119..e69b4dd0f4 100644
--- a/html/changelog.html
+++ b/html/changelog.html
@@ -40,6 +40,17 @@
-->
+
30 April 2021
+
None updated:
+
+ - Adds mounted flashers to both brigs and in the visiting rooms brig-side.
+ - /🆑
+ - Resolves #10014
+ - Note, am fine if this ain't wanted. Another note, on testing, there's a substantial cooldown on the button so ya can't spam it too much.
+
+ - Another note: could conflict with #10198
+
+
12 April 2021
CHOMPStationBot updated:
diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml
index f9b43ec13a..96c36d6915 100644
--- a/html/changelogs/.all_changelog.yml
+++ b/html/changelogs/.all_changelog.yml
@@ -5541,3 +5541,12 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py.
not use them for anything) and not being able to eat gold, uranium, or silver
in blob form.
- rscadd: Also corrected an outdated comment about what silver does.
+2021-04-30:
+ null:
+ - maptweak: Adds mounted flashers to both brigs and in the visiting rooms brig-side.
+ - rscadd: "/\U0001F191"
+ - rscadd: 'Resolves #10014'
+ - rscadd: Note, am fine if this ain't wanted. Another note, on testing, there's
+ a substantial cooldown on the button so ya can't spam it too much.
+ - rscadd: ''
+ - rscadd: 'Another note: could conflict with #10198'
diff --git a/icons/_nanomaps/southern_cross_nanomap_z8.png b/icons/_nanomaps/southern_cross_nanomap_z8.png
index 39b8fe0d67..0bb670eb09 100644
Binary files a/icons/_nanomaps/southern_cross_nanomap_z8.png and b/icons/_nanomaps/southern_cross_nanomap_z8.png differ
diff --git a/icons/effects/effects_vr.dmi b/icons/effects/effects_vr.dmi
index 02569f6157..f9824436dd 100644
Binary files a/icons/effects/effects_vr.dmi and b/icons/effects/effects_vr.dmi differ
diff --git a/icons/mob/animal.dmi b/icons/mob/animal.dmi
index a20911d435..b0130e58df 100644
Binary files a/icons/mob/animal.dmi and b/icons/mob/animal.dmi differ
diff --git a/icons/mob/corgi_back.dmi b/icons/mob/corgi_back.dmi
index 81626df033..27de68f79c 100644
Binary files a/icons/mob/corgi_back.dmi and b/icons/mob/corgi_back.dmi differ
diff --git a/icons/mob/corgi_head.dmi b/icons/mob/corgi_head.dmi
index ca62243e79..d8be15b3bc 100644
Binary files a/icons/mob/corgi_head.dmi and b/icons/mob/corgi_head.dmi differ
diff --git a/icons/mob/items/lefthand_guns_vr.dmi b/icons/mob/items/lefthand_guns_vr.dmi
index 76ad8ebf31..0d8acb4fbb 100644
Binary files a/icons/mob/items/lefthand_guns_vr.dmi and b/icons/mob/items/lefthand_guns_vr.dmi differ
diff --git a/icons/mob/items/lefthand_material.dmi b/icons/mob/items/lefthand_material.dmi
index 7fbcc1131f..dec3ab84ea 100644
Binary files a/icons/mob/items/lefthand_material.dmi and b/icons/mob/items/lefthand_material.dmi differ
diff --git a/icons/mob/items/righthand_guns_vr.dmi b/icons/mob/items/righthand_guns_vr.dmi
index 42d935f760..73ee95c0a3 100644
Binary files a/icons/mob/items/righthand_guns_vr.dmi and b/icons/mob/items/righthand_guns_vr.dmi differ
diff --git a/icons/mob/items/righthand_material.dmi b/icons/mob/items/righthand_material.dmi
index ac51aa86f1..d65181cc6a 100644
Binary files a/icons/mob/items/righthand_material.dmi and b/icons/mob/items/righthand_material.dmi differ
diff --git a/icons/mob/screen_full_vore.dmi b/icons/mob/screen_full_vore.dmi
index 3759bcf1c8..4e5b3a70fd 100644
Binary files a/icons/mob/screen_full_vore.dmi and b/icons/mob/screen_full_vore.dmi differ
diff --git a/icons/mob/screen_full_vore_ch.dmi b/icons/mob/screen_full_vore_ch.dmi
new file mode 100644
index 0000000000..3759bcf1c8
Binary files /dev/null and b/icons/mob/screen_full_vore_ch.dmi differ
diff --git a/icons/mob/species/teshari/head.dmi b/icons/mob/species/teshari/head.dmi
index 51eff217bb..c4339b532a 100644
Binary files a/icons/mob/species/teshari/head.dmi and b/icons/mob/species/teshari/head.dmi differ
diff --git a/icons/mob/species/teshari/head_ch.dmi b/icons/mob/species/teshari/head_ch.dmi
index 942e97270a..866c3a197a 100644
Binary files a/icons/mob/species/teshari/head_ch.dmi and b/icons/mob/species/teshari/head_ch.dmi differ
diff --git a/icons/mob/species/teshari/suit.dmi b/icons/mob/species/teshari/suit.dmi
index 9f6a652c4a..7bd92394f2 100644
Binary files a/icons/mob/species/teshari/suit.dmi and b/icons/mob/species/teshari/suit.dmi differ
diff --git a/icons/mob/species/teshari/suit_ch.dmi b/icons/mob/species/teshari/suit_ch.dmi
index dda2e72894..0f12545b29 100644
Binary files a/icons/mob/species/teshari/suit_ch.dmi and b/icons/mob/species/teshari/suit_ch.dmi differ
diff --git a/icons/mob/species/teshari/ties.dmi b/icons/mob/species/teshari/ties.dmi
index fb49fe444f..467d0ffa35 100644
Binary files a/icons/mob/species/teshari/ties.dmi and b/icons/mob/species/teshari/ties.dmi differ
diff --git a/icons/obj/clothing/gloves.dmi b/icons/obj/clothing/gloves.dmi
index 8fd1bcfeb9..bfb27a0ec8 100644
Binary files a/icons/obj/clothing/gloves.dmi and b/icons/obj/clothing/gloves.dmi differ
diff --git a/icons/obj/clothing/gloves_ch.dmi b/icons/obj/clothing/gloves_ch.dmi
index f7b14b7a6c..24d1e7d864 100644
Binary files a/icons/obj/clothing/gloves_ch.dmi and b/icons/obj/clothing/gloves_ch.dmi differ
diff --git a/icons/obj/clothing/shoes.dmi b/icons/obj/clothing/shoes.dmi
index cdc1b2a38d..12f1e8bc4a 100644
Binary files a/icons/obj/clothing/shoes.dmi and b/icons/obj/clothing/shoes.dmi differ
diff --git a/icons/obj/clothing/shoes_ch.dmi b/icons/obj/clothing/shoes_ch.dmi
index 457561366c..9625eaf29a 100644
Binary files a/icons/obj/clothing/shoes_ch.dmi and b/icons/obj/clothing/shoes_ch.dmi differ
diff --git a/icons/obj/clothing/species/teshari/hats.dmi b/icons/obj/clothing/species/teshari/hats.dmi
index c069f66f13..ac323f1181 100644
Binary files a/icons/obj/clothing/species/teshari/hats.dmi and b/icons/obj/clothing/species/teshari/hats.dmi differ
diff --git a/icons/obj/clothing/species/teshari/suits.dmi b/icons/obj/clothing/species/teshari/suits.dmi
index 6679ceb22c..2c0281efe4 100644
Binary files a/icons/obj/clothing/species/teshari/suits.dmi and b/icons/obj/clothing/species/teshari/suits.dmi differ
diff --git a/icons/obj/drinks.dmi b/icons/obj/drinks.dmi
index 250c191c73..6a05cf1443 100644
Binary files a/icons/obj/drinks.dmi and b/icons/obj/drinks.dmi differ
diff --git a/icons/obj/drinks_vr.dmi b/icons/obj/drinks_vr.dmi
index 280bf84cbd..f1a3484533 100644
Binary files a/icons/obj/drinks_vr.dmi and b/icons/obj/drinks_vr.dmi differ
diff --git a/icons/obj/gun_vr.dmi b/icons/obj/gun_vr.dmi
index 34c2a2dc6d..ecae150481 100644
Binary files a/icons/obj/gun_vr.dmi and b/icons/obj/gun_vr.dmi differ
diff --git a/icons/obj/storage_vr.dmi b/icons/obj/storage_vr.dmi
index 674f7e0d9c..07d87323ad 100644
Binary files a/icons/obj/storage_vr.dmi and b/icons/obj/storage_vr.dmi differ
diff --git a/icons/obj/toy_vr.dmi b/icons/obj/toy_vr.dmi
index 2e6c3af857..3ad106945b 100644
Binary files a/icons/obj/toy_vr.dmi and b/icons/obj/toy_vr.dmi differ
diff --git a/icons/obj/vending_vr.dmi b/icons/obj/vending_vr.dmi
index 64c2ad0f5c..94e2ba1fb6 100644
Binary files a/icons/obj/vending_vr.dmi and b/icons/obj/vending_vr.dmi differ
diff --git a/icons/vore/smoleworld_vr.dmi b/icons/vore/smoleworld_vr.dmi
index 206c0cef32..035a6d6ce5 100644
Binary files a/icons/vore/smoleworld_vr.dmi and b/icons/vore/smoleworld_vr.dmi differ
diff --git a/interface/skin.dmf b/interface/skin.dmf
index 28fbf978ce..b9cf3121d4 100644
--- a/interface/skin.dmf
+++ b/interface/skin.dmf
@@ -603,6 +603,9 @@ macro "hotkeymode"
elem
name = "U"
command = "Rest"
+ elem
+ name = "B"
+ command = "Resist"
elem
name = "NUMPAD1"
command = "body-r-leg"
diff --git a/maps/expedition_vr/beach/beach.dmm b/maps/expedition_vr/beach/beach.dmm
index 3efcfc0c10..c60de78548 100644
--- a/maps/expedition_vr/beach/beach.dmm
+++ b/maps/expedition_vr/beach/beach.dmm
@@ -1973,7 +1973,7 @@
/turf/simulated/floor/tiled/asteroid_steel,
/area/tether_away/beach/resort/lockermed)
"Tg" = (
-/mob/living/simple_mob/animal/passive/fish/solarfish,
+/mob/living/simple_mob/animal/passive/fish/icebass,
/turf/simulated/floor/water/ocean,
/area/tether_away/beach/cavebase)
"Tp" = (
diff --git a/maps/southern_cross/southern_cross-2.dmm b/maps/southern_cross/southern_cross-2.dmm
index 06899ccd8f..2f38c192cf 100644
--- a/maps/southern_cross/southern_cross-2.dmm
+++ b/maps/southern_cross/southern_cross-2.dmm
@@ -58,7 +58,7 @@
"abf" = (/obj/machinery/hologram/holopad,/obj/effect/floor_decal/industrial/outline/grey,/obj/structure/table/steel,/obj/item/weapon/storage/firstaid/combat,/turf/simulated/floor/tiled/dark,/area/security/tactical)
"abg" = (/obj/effect/landmark{name = "carpspawn"},/obj/structure/lattice,/obj/machinery/shield_diffuser,/turf/space,/area/space)
"abh" = (/obj/machinery/door/window/westleft{name = "Shower"},/obj/machinery/shower{dir = 8; pixel_x = -5; pixel_y = -1},/obj/structure/curtain/open/shower/security,/obj/structure/window/basic,/turf/simulated/floor/tiled/freezer,/area/security/security_restroom)
-"abi" = (/obj/structure/table/standard,/obj/item/device/taperecorder,/obj/item/device/tape,/obj/item/device/megaphone,/obj/item/weapon/packageWrap,/obj/item/weapon/storage/box,/obj/machinery/recharger/wallcharger{pixel_x = -24; pixel_y = -4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled,/area/security/security_lockerroom)
+"abi" = (/obj/structure/table/standard,/obj/item/device/taperecorder,/obj/item/device/tape,/obj/item/device/megaphone,/obj/item/weapon/packageWrap,/obj/item/weapon/storage/box,/obj/machinery/recharger/wallcharger{pixel_x = -24; pixel_y = -4},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/obj/item/device/gps/security,/obj/item/device/gps/security,/obj/item/device/gps/security,/obj/item/device/gps/security,/turf/simulated/floor/tiled,/area/security/security_lockerroom)
"abj" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/security/security_lockerroom)
"abk" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled/airless,/area/rnd/test_area)
"abl" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/turf/simulated/floor/tiled/airless,/area/rnd/test_area)
@@ -496,6 +496,7 @@
"ajB" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/smes/buildable{RCon_tag = "Substation - Security"},/turf/simulated/floor/plating,/area/maintenance/substation/security)
"ajC" = (/obj/structure/reagent_dispensers/watertank/high,/obj/item/weapon/reagent_containers/glass/bucket,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/tiled/hydro,/area/hydroponics)
"ajD" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/tiled/hydro,/area/hydroponics)
+"ajE" = (/obj/machinery/requests_console{announcementConsole = 1; department = "Head of Security's Desk"; departmentType = 5; name = "Head of Security RC"; pixel_x = 30},/obj/structure/table/reinforced,/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/obj/item/weapon/storage/box/snakesnackbox,/obj/item/device/megaphone,/obj/item/device/radio/off,/obj/item/device/tape/random,/obj/item/device/taperecorder,/obj/item/weapon/reagent_containers/food/drinks/flask/barflask,/obj/machinery/recharger,/obj/item/device/gps/security/hos,/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/hos)
"ajF" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green,/obj/machinery/power/sensor{name = "Powernet Sensor - Security Subgrid"; name_tag = "Security Subgrid"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plating,/area/maintenance/substation/security)
"ajG" = (/obj/effect/floor_decal/corner/black/full,/obj/machinery/camera/network/engineering{c_tag = "ATMTK - Carbon Dioxide"; dir = 4},/turf/simulated/floor/reinforced/carbon_dioxide,/area/engineering/atmos)
"ajH" = (/obj/effect/floor_decal/corner/black/full{dir = 4},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 0; external_pressure_bound_default = 0; frequency = 1441; icon_state = "map_vent_in"; id_tag = "co2_out"; initialize_directions = 1; internal_pressure_bound = 4000; internal_pressure_bound_default = 4000; pressure_checks = 2; pressure_checks_default = 2; pump_direction = 0; use_power = 1},/turf/simulated/floor/reinforced/carbon_dioxide,/area/engineering/atmos)
@@ -506,6 +507,7 @@
"ajM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/valve/digital{dir = 4; name = "CO2 Outlet Valve"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/black/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/black/bordercorner2{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/camera/network/engineering{c_tag = "ENG - Atmospherics Fore Port"; dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos)
"ajN" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "CO2 to Mixing"},/turf/simulated/floor/tiled,/area/engineering/atmos)
"ajO" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/green,/obj/machinery/meter,/turf/simulated/floor/tiled,/area/engineering/atmos)
+"ajP" = (/obj/machinery/status_display{pixel_x = 32; pixel_y = -32},/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/effect/floor_decal/borderfloorblack{dir = 6},/obj/effect/floor_decal/corner/blue/border{dir = 6},/obj/structure/closet/secure_closet/hos2,/obj/item/weapon/cell/device,/obj/item/device/holowarrant,/obj/item/weapon/rig/ch/pursuit,/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/hos)
"ajQ" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/red,/turf/simulated/floor/tiled,/area/engineering/atmos)
"ajR" = (/obj/machinery/atmospherics/pipe/manifold/visible/green,/obj/machinery/meter,/turf/simulated/floor/tiled,/area/engineering/atmos)
"ajS" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 4},/turf/simulated/floor/tiled,/area/engineering/atmos)
@@ -1509,7 +1511,6 @@
"aIv" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc{name = "south bump"; pixel_y = -24},/obj/structure/flora/pottedplant/fern,/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/turf/simulated/floor/tiled,/area/security/lobby)
"aIw" = (/obj/structure/bed/chair{dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/red/border,/obj/machinery/status_display{pixel_y = -32},/turf/simulated/floor/tiled,/area/security/lobby)
"aIx" = (/turf/simulated/floor/carpet,/area/crew_quarters/heads/sc/hos)
-"aIy" = (/obj/machinery/requests_console{announcementConsole = 1; department = "Head of Security's Desk"; departmentType = 5; name = "Head of Security RC"; pixel_x = 30},/obj/structure/table/reinforced,/obj/effect/floor_decal/borderfloorblack{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/obj/item/weapon/storage/box/snakesnackbox,/obj/item/device/megaphone,/obj/item/device/radio/off,/obj/item/device/tape/random,/obj/item/device/taperecorder,/obj/item/weapon/reagent_containers/food/drinks/flask/barflask,/obj/machinery/recharger,/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/hos)
"aIz" = (/turf/simulated/wall/r_wall,/area/lawoffice)
"aIA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled/dark,/area/lawoffice)
"aIB" = (/obj/structure/table/reinforced,/obj/item/weapon/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = 3},/obj/item/weapon/material/ashtray/plastic{pixel_x = 4; pixel_y = 6},/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/turf/simulated/floor/tiled/dark,/area/lawoffice)
@@ -1575,7 +1576,6 @@
"aJV" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/door/airlock/glass_security{name = "Security Lobby"; req_one_access = null},/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/steel_grid,/area/security/lobby)
"aJW" = (/obj/effect/floor_decal/industrial/warning,/obj/machinery/door/airlock/glass_security{name = "Security Lobby"; req_one_access = null},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled/steel_grid,/area/security/lobby)
"aJY" = (/obj/machinery/status_display{pixel_y = -32},/turf/simulated/wall,/area/security/lobby)
-"aKb" = (/obj/machinery/status_display{pixel_x = 32; pixel_y = -32},/obj/structure/extinguisher_cabinet{pixel_y = -30},/obj/effect/floor_decal/borderfloorblack{dir = 6},/obj/effect/floor_decal/corner/blue/border{dir = 6},/obj/structure/closet/secure_closet/hos2,/obj/item/weapon/cell/device,/obj/item/weapon/rig/pursuit/equipped,/obj/item/device/holowarrant,/turf/simulated/floor/tiled/dark,/area/crew_quarters/heads/sc/hos)
"aKc" = (/obj/item/device/taperecorder{pixel_x = -4; pixel_y = 2},/obj/item/device/camera{pixel_x = 3; pixel_y = -4},/obj/item/device/flash,/obj/item/device/flash,/obj/item/weapon/storage/secure/briefcase,/obj/structure/closet,/obj/item/weapon/storage/secure/briefcase,/obj/item/device/taperecorder{pixel_x = -4; pixel_y = 2},/obj/item/device/camera{pixel_x = 3; pixel_y = -4},/obj/structure/cable{d2 = 4; icon_state = "0-4"},/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -24},/obj/machinery/light_switch{pixel_x = -36},/obj/effect/floor_decal/borderfloorblack{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled/dark,/area/lawoffice)
"aKd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled/dark,/area/lawoffice)
"aKe" = (/turf/simulated/floor/tiled/dark,/area/lawoffice)
@@ -7223,8 +7223,8 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaeHainaioaipaiqairaisaitaiuaivaiwaixaixaiuaixaiyaizaixaixaiuaiCaiDaiEaTvaPHaiFaiGagbaaaaaaaafaaaaagaaaaaaaaaaDOaDOaDNaDOaDOaiHaDPaDQaLIaiIaDSaDTaiJaiKaiLaDUaDVaJOaiMaiNaFtaFpaiPaiQaiSaDYaDZaFuaiTaEbaEcaEdaEeaiUaiVaIzaiWaiXaiYaiZajaajbaIzajcajdaHiajgajBajFaHiaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaZLaafaafaafaafaaaaaaaaaaafaafaafaafaUwaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaafaafaeHajGaioajHajIajKajLajMajNajOajQahQahQahQahQahQajRahQahQahQajOajSahwahQajTajUajVajWaaaaafaagaafaagaafaafaafaTKaLyaLyaLyaGGaFaaFbaFcaLIaFeaIlaFgaFhaFiaJOaIpaFlajXaFmaFnaFoaFpaFqaFrajYaFsaFtaFuajZaFvnJhakaakbaFwaFxaIzakcaKfaIBaFBaKeakdaICakeakfaFDsvXaFFaFGaHiaafaafaafaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGgaZLaGgaaaaaaaafaaaaaaaaaaafaaaaaaaGgaUwaGgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaeHaeHaeHaeHaeHaaaakgakhakAahqahtaTvaTvakEakFaYCakGakHakJakKagYaWHahtaTvaPHakLakLagbaaaaaaaagaaaaaaaaaaaaaaaaTKaGCakMaGDaGGaGGaGFaGGaLIaGIaGJakNaGKakOaGLaGMaGNaGOaGPaGQaGRaGSaGTaGUakPaGVaGTaGWaiTaGXaGYakQtkHakRaGZaIzsFMaHbaKeakSaKeaHdaICakTaHeaHiaHiaHiaHiaHiaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaZLaafaafaafaafaaaaaaaaaaafaafaafaafaUwaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaafaaaaafaaaaaaaYyakUaTvahqaRCaTvaTvaTvaTvakVaTvakWakXakXakYakZalbalcalqaltaltaYyaaaaaaaafaaaaaaaaaaaaaaaaTKaTKaIdaIealuaIfaIgaLyaLIaIjaIkaIlalvaImaJOaIoaIpdJJaIqaLIaIraIsaItalxalyaIuaIvaIwalzaLQalAaIxalBalCaIyaIzalDaIAalEalFaIBalGaICalIaIDalJaIEalKalLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZLaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaUwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactaafaafaafaeHaeHaeHaeHaeHaaaaYyakUaTvahqaRCaTvaTvalMalMalNaTvalOalPalSaPHaWHaRCakEaTvamuamuaYyaaaaaaaafaaaaaacFUaaaaaaaaaaLsaLtaJDaFbaJEamvaLyaJGaJHaJIaJJaJKaJLaJOaJNaJOaJPaJQaLIaLPaLPaLPaJVamwaJWaLPaJYaLPaLQamxamyamzamAaKbaIzaKcaKdaKeamBaKfaKgaICamCamDamEaKhamFalLaaaaaaaaacFUqlFaaaaaaaaaaaaaaaaafhqqaagaagaagaagaagqlFcAwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZLaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaUwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaafaaaaafaaaaaaaYyakUaTvahqaRCaTvaTvaTvaTvakVaTvakWakXakXakYakZalbalcalqaltaltaYyaaaaaaaafaaaaaaaaaaaaaaaaTKaTKaIdaIealuaIfaIgaLyaLIaIjaIkaIlalvaImaJOaIoaIpdJJaIqaLIaIraIsaItalxalyaIuaIvaIwalzaLQalAaIxalBalCajEaIzalDaIAalEalFaIBalGaICalIaIDalJaIEalKalLaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZLaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaUwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactaafaafaafaeHaeHaeHaeHaeHaaaaYyakUaTvahqaRCaTvaTvalMalMalNaTvalOalPalSaPHaWHaRCakEaTvamuamuaYyaaaaaaaafaaaaaacFUaaaaaaaaaaLsaLtaJDaFbaJEamvaLyaJGaJHaJIaJJaJKaJLaJOaJNaJOaJPaJQaLIaLPaLPaLPaJVamwaJWaLPaJYaLPaLQamxamyamzamAajPaIzaKcaKdaKeamBaKfaKgaICamCamDamEaKhamFalLaaaaaaaaacFUqlFaaaaaaaaaaaaaaaaafhqqaagaagaagaagaagqlFcAwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZLaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaUwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacFUaaaaeHamGamHamIaiqairaisamJaiuamKamLaTvaTvamNamOalNaTvamPahpagYaPHaWHaRCaTvamQaMTaMTaMTaMTaMTaafaaaaaaaaaaaaaaaaaaaLsaLtaLuaLvaLwaLxaLyaLIaiRaLBaLCamRaLDaLEaLFaLGaLHanAaLIaLJaLPaLOaLManBaLNaLOanCaLPanEaLQaLQaLQaLQaLQaIzaLRanFaLSanGanHanIaICanJaLTanKanLanLalLaaaaaaaaaaaaaagaaaaaaaaaaaaaafaafaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZLaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaUwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqlFaaaaaaaaaaeHanMamHanNajIajKajLanOanPanQaRCaTvalOalcalcanRanSaMRanTaMRalqaWHaRCaTvanUaMTaMSanWanXaMTaRNaIaaIaaMVaMVaMWaTKaMYaMZaNaanYaNbberberberberberberberberberberberberberberberberaNqaNraNsaNsaNtaozaoBaoBaoGaoHaoIaoJaNuaICaNvaNwaNxaNvaNvaICaICaoKaoLaoMaoOaoPaSqaSqaafaafaafaagaaaaaaaaaaafaafaaaaaaaafaaaaaaaafaaaaaaaaaaaacFUaaaaaaaaaaaaaaaaaaaaaaaaaaaaZLaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaUwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaafaafaeHaeHaeHaeHaeHaaaakgaoQakAaTvahtaTvaPHaTvaTvagYaTvamPaTvagYaTvaOraOsaOtaOuaoRaOvaOwaOxaOyaOzaOAaIaaIaaZLaOBaOCaODaOEaOFaoSaOGaTTaOIaOJaoTaoUaOKaoVaOLaOMaONaOOaOPaoWaoXaOQaORaOSaShapcaOUaOVaOWaOXaOYapyaOZaPaapzpmJbrzaPbaPcapCapDapEapFapGapIapJaQvapKapLapNapOaaaaaaaaahqqaagaagaagqlFcFUaaaaaaaafaaaaaaaafaaaaafaafapRaafaafaaaaaaaaacAwaaaaaaaaaaaaaZLaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaUwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
diff --git a/maps/southern_cross/southern_cross-5.dmm b/maps/southern_cross/southern_cross-5.dmm
index 1ff59ab438..89c4f3ab0f 100644
--- a/maps/southern_cross/southern_cross-5.dmm
+++ b/maps/southern_cross/southern_cross-5.dmm
@@ -55,7 +55,7 @@
"bc" = (/obj/structure/closet/secure_closet/guncabinet{req_access = newlist(); req_one_access = list(43,67)},/obj/effect/floor_decal/corner/purple{dir = 5},/obj/effect/floor_decal/corner/purple{dir = 10},/obj/item/weapon/gun/energy/locked/frontier,/obj/item/weapon/gun/energy/locked/frontier,/obj/item/weapon/gun/energy/locked/frontier,/obj/item/weapon/gun/energy/locked/frontier,/obj/effect/floor_decal/steeldecal/steel_decals9{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals9{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals9,/obj/effect/floor_decal/steeldecal/steel_decals9{dir = 8},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark,/area/surface/outpost/main/exploration)
"bd" = (/obj/effect/floor_decal/corner/white{dir = 9},/obj/effect/floor_decal/corner/white{dir = 6},/obj/structure/bed/chair,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor/right_upper)
"be" = (/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced/full,/obj/structure/grille,/turf/simulated/floor/plating,/area/surface/outpost/mining_main/storage)
-"bf" = (/obj/structure/table/steel,/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/red/border{dir = 10},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 8},/obj/item/weapon/storage/box/nifsofts_security,/turf/simulated/floor/tiled,/area/surface/outpost/security)
+"bf" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/security)
"bg" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor/right_lower)
"bh" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plating,/area/surface/outpost/engineering/atmos_room)
"bi" = (/obj/machinery/atmospherics/pipe/tank/carbon_dioxide{dir = 8},/turf/simulated/floor/plating,/area/surface/outpost/engineering/atmos_room)
@@ -436,7 +436,7 @@
"it" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/security)
"iu" = (/obj/structure/catwalk,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/blue{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/engineering/smes)
"iv" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/white/border,/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 1},/obj/machinery/light,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor/right_lower)
-"iw" = (/obj/machinery/vending/security{dir = 1},/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/red/border{dir = 6},/obj/machinery/light,/turf/simulated/floor/tiled,/area/surface/outpost/security)
+"iw" = (/obj/structure/table/steel,/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/red/border{dir = 10},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/red/bordercorner2{dir = 8},/obj/item/device/gps/security,/obj/item/device/gps/security,/obj/item/device/gps/security,/obj/item/device/gps/security,/turf/simulated/floor/tiled,/area/surface/outpost/security)
"ix" = (/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced/full,/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating,/area/surface/outpost/civilian/fishing)
"iy" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/heavyduty{icon_state = "1-2"},/turf/simulated/wall/r_wall,/area/surface/outpost/mining_main/refinery)
"iz" = (/obj/machinery/door/firedoor/border_only,/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/segment,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1},/obj/structure/cable/heavyduty,/obj/structure/cable{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/plating,/area/surface/outpost/civilian/smes)
@@ -523,6 +523,7 @@
"kc" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/white/border,/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/white/bordercorner2,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor/right_upper)
"kd" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/dorms/dorm_6)
"ke" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/surface/outpost/security)
+"kf" = (/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/red/border{dir = 6},/obj/machinery/light,/turf/simulated/floor/tiled,/area/surface/outpost/security)
"kg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym)
"kh" = (/obj/effect/overlay/snow/floor,/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/path/plains)
"kj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass_external/public{name = "Airlock Access"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/airlock/left_one)
@@ -1871,7 +1872,6 @@
"PK" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/monotile,/area/surface/outpost/main/landing)
"PM" = (/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/engineering/monitoring)
"PO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/wood,/area/surface/outpost/main/dorms/dorm_5)
-"PP" = (/obj/structure/closet/secure_closet/security,/obj/effect/floor_decal/borderfloor{dir = 1},/obj/item/clothing/glasses/hud/security,/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled,/area/surface/outpost/security)
"PQ" = (/obj/structure/closet/radiation,/obj/item/clothing/head/radiation,/obj/item/clothing/head/radiation,/obj/item/clothing/suit/radiation,/obj/item/clothing/suit/radiation,/obj/item/device/geiger,/obj/item/device/geiger,/obj/machinery/light{dir = 8},/obj/effect/floor_decal/corner/yellow{dir = 9},/obj/effect/floor_decal/corner/yellow{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/engineering/monitoring)
"PS" = (/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced/full,/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/surface/outpost/mining_main)
"PT" = (/obj/machinery/door/firedoor/border_only,/obj/structure/window/reinforced/full,/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/surface/outpost/main/exploration/containment)
@@ -2391,14 +2391,14 @@ tFxaxaXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXb
tFxaxaXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbUXUXUXUXUXwsUXpsdWBcBcdWJLJLJLJLJLJLJLJLJLJLcGUXUXUXUXUXUXUXgmUXUXUXUXXjUXininininUXUXUXUXUXUXUXDJwUTpxTCsixDJUXUXDJlIlIamiUamDgamIlIlIlamByamUVdulIlIUXUXUXUXRqtyNGGHsGUXUXUXUXUXUXUXUXUXUXUXUXUXUXblUXUXgcgcgcuouopcpcBxBxBxBxbZVsRJRJVsVsVsVsVsVsVsVsVsVsRJRJRJRJRJRJRJRJRJRJao
tFxaxaXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbUXUXUXUXUXwsUXUXininininininininininininUXUXXjUXUXUXUXUXUXUXpsJLJLYqJLJLJLbRbRbRbRJLJLJLJLJLWdwQBpwUSQsyLYixJzGjGjzJlImLcxHfMqMqMqMqMqMqMqMqMqmdsWfZlIUXUXUXUXRqfrGtPdsGUXUXUXUXUXUXUXUXUXUXUXUXUXUXblUXUXgcgcgcuouopcpcBxBxBxdKxAVsRJySVsVsVsbzwAwAwAsRVsVsVsVsRJRJRJRJRJRJRJRJao
tFxaxaXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbUXUXUXUXUXwsUXUXUXininininininJIWDWDWDJIinUXjKyAyAjKyAyAjKUXUXUXUXYRUXUXUXininininUXUXUXUXUsUsizUsUsiPXHtVtVtVtVNMNMlIpYIlcApGenenenenenVhVhnScAIlaIlIHTHTMVMVMVMVArVQgtgtgtgtgtUXUXUXUXUXUXUXUXUXUXblUXUXgcgcgcuouopcpcBxBxBxbZVsVsySySySVsbzLPBxBxBxWRwAsRVsVsVsVsRJRJRJRJRJRJao
-tFxaxaXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbUXUXUXUXUXwsUXUXUXUXinininJIJIJIbBtrVvJIJIinjKNkPPNqUPrHjKUXUXUXUXYRUXUXinininininUXUXUXUXUsGqDLDloNNYZwEAvTUJHvQJuihdtsIlcAkrLsLsLsLsLsnynyxjcAIlkwhdLkLpdSlMbteLFjjpANoPiNPEgtUXUXUXUXUXUXUXUXUXUXblUXUXgcgcgcuouopcpcBxBxBxbZVsVsySySySVsVLBxpcpcBxBxBxWRwAsRVsVsVsVsRJRJRJRJao
+tFxaxaXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbUXUXUXUXUXwsUXUXUXUXinininJIJIJIbBtrVvJIJIinjKNkbfNqUPrHjKUXUXUXUXYRUXUXinininininUXUXUXUXUsGqDLDloNNYZwEAvTUJHvQJuihdtsIlcAkrLsLsLsLsLsnynyxjcAIlkwhdLkLpdSlMbteLFjjpANoPiNPEgtUXUXUXUXUXUXUXUXUXUXblUXUXgcgcgcuouopcpcBxBxBxbZVsVsySySySVsVLBxpcpcBxBxBxWRwAsRVsVsVsVsRJRJRJRJao
tFxaxaXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbUXUXUXUXUXwsUXUXUXUXUXininGVKXmrovIhIhAIJIJIjKZbkexherKbjKUXUXUXUXYRUXinininininUXUXUXUXUXUsUGSWdaeTZkhNCmhNhNIQIaXphZaksUKykrLsLszzmegsnynyxjENafJPUlYNiXvJGcQzskdibLNdbWOflvgtUXUXUXUXUXUXUXUXUXUXblUXUXgcgcgcuopcpcpcBxBxBxbZVsVsySVsVsVsVLBxBxpcpcpcBxBxBxWRsRVsVsVsVsRJRJRJao
tFxaxaXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbUXUXUXUXUXwsUXUXXjUXUXininGVhehDfenVLHjAlitXHpsfzTbmitWUjKjKyAyAjKnGininininininUXUXUXUXUXUsUseWeWeWLUnbSNLelRshadjjgbmzIlvpkrLsLsfNxtvZnynyxjvpIlPDgbYWfaFpXeGzkAgiAiANANANgtgtUXUXUXUXUXUXUXUXUXUXblUXgcgcgcgcpcpcpcpcBxBxBxbZVsVsVsVsVsbzLPBxBxpcpcpcpcpcBxBxWRwAsRVsVsRJRJRJao
tFxaxaXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbUXUXUXUXUXwsUXUXUXXjUXininGVIXBHfeyxKglWlgJIqPowxhxhSZhoQQHbhIxLQyVJinininininininUXUXUXUXUXwUVBHYlfEKtcpCXHXHtVwSwSlIOvIlvpkrLsLsnynynynynyxjvpIlnClIAxAxMVdSjRjRawIMdSktUOnAUXUXUXUXUXUXUXUXUXUXUXblUXgcgcgcgcpcpcpcBxBxBxdKxAVsVsVsVsbzLPBxBxpcpcuououopcBxBxBxBxbZVsVsVsRJRJao
tFxaxaXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbUXUXUXUXUXwsUXUXUXXjUXininJIJINmfeNyPjrESqJIFOTFBqDkabuLijZIkaoHtiVJinininininininUXUXUXUXUXwUlDLQcDxGrMMPNuietVUXUXlIQpIlvpMojPjPtMtMtMtMtMpVvpIlfglIUXUXMViRHUDWTwXlMFCAjvnAUXUXUXUXUXUXUXUXUXUXUXblUXgcgcgcgcpcpcpcBxBxBxbZVsVsVsVsVsVLBxBxpcpcuouououopcpcpcpcBxWRsRVsVsVsRJao
tFxaxaXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbUXUXUXUXUXwsUXUXUXUXUXinininJIjOFiFPFPNZcdVVVVVVVVVVvwmErOjKvrVfjKnGininUXininininUXUXUXUXUXtVtVzAnbnbPrnbsbistVUXUXlIIkpdhYtqtqtqtqkXtqtqtqtqqTVDOFlIUXUXMViRBQjTLgLgqbAYMVMVUXUXUXUXUXUXUXUXUXUXUXblUXgcgcgcXjpcpcBxBxBxBxbZVsVsVsySVsJaXCBxpcpcpcuouououopcpcpcpcBxWRsRVsVsRJao
tFxaxaXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbUXUXUXUXUXwsUXUXUXUXUXinininJIJIWZKSEbJIJIVVfKwlBOiVcUVYjKjKcWcWjKVJinUXUXininininUXUXUXUXUXUXtVHxZoBDRZiagntVtVUXUXlIlIviQbamIlIlIlApIlIlIlamLlamlIlIUXUXMVMVGNjTLgLgqblCMVUXUXUXUXUXUXUXUXUXUXUXUXblUXgcgcgcXjpcpcBxBxBxBxbZVsVsVsRJySVsJaXCBxpcpcpcpcuouououopcpcpcBxWRsRVsVsao
-tFxaxaXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbUXUXUXUXUXwsUXUXUXUXUXUXinininJIgRgRgRJIinVVNbJZoClAbfiwjKBYJLJLJLDiUXUXUXinininUXUXUXUXUXUXUXtVtVwSwStVwSwStVUXUXUXUXlIbabalIlIlUlUKZlUlUlIlIbabalIUXUXUXUXMVDyDyMVMVDyDyMVUXUXUXUXUXUXUXUXUXUXUXUXblUXgcgcgcXjpcpcBxBxBxBxbZVsVsVsRJySVsVsJaXCBxBxpcpcpcpcpcpcpcpcpcBxBxbZVsVsao
+tFxaxaXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbUXUXUXUXUXwsUXUXUXUXUXUXinininJIgRgRgRJIinVVNbJZoClAiwkfjKBYJLJLJLDiUXUXUXinininUXUXUXUXUXUXUXtVtVwSwStVwSwStVUXUXUXUXlIbabalIlIlUlUKZlUlUlIlIbabalIUXUXUXUXMVDyDyMVMVDyDyMVUXUXUXUXUXUXUXUXUXUXUXUXblUXgcgcgcXjpcpcBxBxBxBxbZVsVsVsRJySVsVsJaXCBxBxpcpcpcpcpcpcpcpcpcBxBxbZVsVsao
tFxaxaXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbUXUXUXUXUXwsUXUXUXUXXjUXUXininininininininVVVVYgVVVVcWjKjKgmUXUXUXUXUXUXrninininUXrnUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXlIbabalIbabalIUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXblUXgcgcgcXjpcpcBxBxBxBxbZVsVsVsRJRJVsVsVsJaXCBxBxpcpcpcpcpcpcBxBxBxBxbZVsVsao
tFxaxaXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbUXUXUXUXUXwsUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXinDmpsBhJLJLJLJLcGUXUXUXUXUXUXUXUXininUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXblUXgcgcgcXjpcpcBxBxBxBxbZVsVsVsRJRJRJVsVsVsJaJyXCBxBxBxBxBxBxBxdKJyJyxAVsVsao
tFxaXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbUXUXUXUXUXwsUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXininUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXUXblUXgcgcgcXjpcpcpcBxBxBxbZVsVsVsRJRJRJRJVsVsVsVsJaJyJyJyJyJyJyJyxAVsVsVsVsRJao
diff --git a/maps/southern_cross/southern_cross-8.dmm b/maps/southern_cross/southern_cross-8.dmm
index 6230864327..8bc4db0993 100644
--- a/maps/southern_cross/southern_cross-8.dmm
+++ b/maps/southern_cross/southern_cross-8.dmm
@@ -7,13 +7,13 @@
"aag" = (/obj/machinery/light{dir = 4},/obj/machinery/computer/security{dir = 8},/turf/simulated/shuttle/floor/voidcraft/light,/area/shuttle/ninja)
"aah" = (/obj/machinery/vending/cola{dir = 4; name = "hacked Robust Softdrinks"; prices = list()},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station)
"aai" = (/obj/machinery/vending/cigarette{dir = 4; name = "hacked cigarette machine"; prices = list(); products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2)},/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station)
-"aaj" = (/turf/space,/obj/machinery/portable_atmospherics/canister/phoron,/obj/item/weapon/tank/vox,/turf/unsimulated/floor{icon_state = "asteroid"},/area/skipjack_station)
-"aak" = (/turf/space,/obj/item/clothing/head/philosopher_wig,/turf/unsimulated/floor{icon_state = "asteroid"},/area/skipjack_station)
+"aaj" = (/obj/machinery/portable_atmospherics/canister/phoron,/obj/item/weapon/tank/vox,/turf/space,/turf/unsimulated/floor{icon_state = "asteroid"},/area/skipjack_station)
+"aak" = (/obj/item/clothing/head/philosopher_wig,/turf/space,/turf/unsimulated/floor{icon_state = "asteroid"},/area/skipjack_station)
"aal" = (/obj/machinery/vending/cigarette{dir = 4},/turf/unsimulated/floor{icon_state = "wood"},/area/centcom/bar)
"aam" = (/obj/machinery/vending/cigarette{dir = 8},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeobserve)
-"aan" = (/turf/space,/obj/machinery/portable_atmospherics/canister/oxygen,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station)
+"aan" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/space,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station)
"aao" = (/obj/machinery/vending/coffee{dir = 8},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeobserve)
-"aap" = (/turf/space,/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/red,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/red,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station)
+"aap" = (/obj/structure/table/rack,/obj/item/clothing/shoes/magboots,/obj/item/clothing/suit/space/syndicate/black/red,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/syndicate/black/red,/turf/space,/turf/unsimulated/floor{icon_state = "dark"},/area/syndicate_station)
"aaq" = (/obj/machinery/vending/snack{dir = 8},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeobserve)
"aar" = (/obj/machinery/vending/cola{dir = 1},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar)
"aas" = (/obj/machinery/vending/coffee{dir = 1},/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/bar)
@@ -40,13 +40,13 @@
"aaN" = (/obj/machinery/vending/boozeomat{dir = 1; req_access = null},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant)
"aaO" = (/obj/machinery/vending/engivend{dir = 1},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant)
"aaP" = (/obj/machinery/vending/tool{dir = 1},/turf/simulated/shuttle/floor/black,/area/shuttle/merchant)
-"aaQ" = (/turf/space,/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/obj/machinery/meter,/turf/simulated/shuttle/plating,/area/shuttle/skipjack)
-"aaR" = (/turf/space,/obj/machinery/embedded_controller/radio/airlock/airlock_controller{dir = 8; frequency = 1331; id_tag = "vox_west_control"; pixel_x = 27; req_access = list(150); tag_airpump = null; tag_chamber_sensor = null; tag_exterior_door = null; tag_interior_door = null},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; id_tag = null},/obj/machinery/light/small,/obj/effect/map_helper/airlock/atmos/chamber_pump,/turf/simulated/shuttle/plating,/area/shuttle/skipjack)
-"aaS" = (/turf/space,/obj/item/weapon/stool/padded,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar)
-"aaT" = (/turf/space,/obj/machinery/biogenerator,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar)
-"aaU" = (/turf/space,/obj/machinery/honey_extractor,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar)
-"aaV" = (/turf/space,/obj/machinery/seed_storage/garden{dir = 1},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar)
-"aaW" = (/turf/space,/obj/machinery/vending/hydronutrients{dir = 1},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar)
+"aaQ" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/obj/machinery/meter,/turf/space,/turf/simulated/shuttle/plating,/area/shuttle/skipjack)
+"aaR" = (/obj/machinery/embedded_controller/radio/airlock/airlock_controller{dir = 8; frequency = 1331; id_tag = "vox_west_control"; pixel_x = 27; req_access = list(150); tag_airpump = null; tag_chamber_sensor = null; tag_exterior_door = null; tag_interior_door = null},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 8; id_tag = null},/obj/machinery/light/small,/obj/effect/map_helper/airlock/atmos/chamber_pump,/turf/space,/turf/simulated/shuttle/plating,/area/shuttle/skipjack)
+"aaS" = (/obj/item/weapon/stool/padded,/turf/space,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar)
+"aaT" = (/obj/machinery/biogenerator,/turf/space,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar)
+"aaU" = (/obj/machinery/honey_extractor,/turf/space,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar)
+"aaV" = (/obj/machinery/seed_storage/garden{dir = 1},/turf/space,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar)
+"aaW" = (/obj/machinery/vending/hydronutrients{dir = 1},/turf/space,/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar)
"aaX" = (/obj/machinery/smartfridge{dir = 2},/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/bar)
"aaY" = (/obj/machinery/vending/boozeomat{dir = 2},/turf/unsimulated/floor{icon_state = "lino"},/area/centcom/bar)
"aaZ" = (/obj/machinery/computer/pod{dir = 4; id = "thunderdomeaxe"; name = "Thunderdome Axe Supply"},/turf/unsimulated/floor{icon_state = "lino"},/area/tdome/tdomeadmin)
@@ -841,6 +841,7 @@
"hYS" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/syringes{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/box/syringes,/turf/unsimulated/floor{dir = 5; icon_state = "vault"},/area/centcom/specops)
"hZH" = (/obj/effect/floor_decal/corner/white/diagonal,/obj/structure/table/marble,/obj/item/weapon/reagent_containers/food/condiment/small/peppermill,/obj/item/weapon/reagent_containers/food/condiment/small/saltshaker{pixel_x = 4; pixel_y = -2},/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/bar)
"hZO" = (/obj/effect/floor_decal/industrial/warning{dir = 5},/obj/mecha/working/ripley/mining,/turf/simulated/shuttle/floor/black,/area/shuttle/merchant)
+"iaB" = (/obj/machinery/access_button{dir = 8; name = "exterior access button"; pixel_x = 25; pixel_y = 6},/obj/machinery/door/airlock{icon = 'icons/obj/doors/Dooruranium.dmi'},/turf/unsimulated/floor{icon_state = "plating"; name = "plating"},/area/ninja_dojo/dojo)
"iaK" = (/obj/structure/table/rack,/obj/item/weapon/storage/belt/security/tactical/bandolier,/turf/simulated/shuttle/floor/voidcraft,/area/shuttle/syndicate)
"iaT" = (/turf/unsimulated/floor{icon_state = "steel"},/area/centcom/terminal)
"iaZ" = (/obj/machinery/door/airlock/voidcraft/vertical{req_access = list(150)},/turf/simulated/shuttle/floor/voidcraft/dark,/area/shuttle/syndicate)
@@ -2338,7 +2339,7 @@ vFivFivFivFivFivFivFivFinXcsrgtgQtgQtgQtgQtgQtgQtgQtgQnXcjUWjUWjUWjUWjUWjUWjUWes
vFivFivFinXcnXcnXcnXcnXcnXcoJGtgQkwPawzawzawzpKRtgQtgQnXcnXcaibaibnXcjUWesrrolesresresresresrrolesrjUWnsfjUWjUWgjrmDpnyqnyqnyqnyqnyqjXSjXSnyqnyqnyqnyqnyqnyqnyqnyqnyqnyqnyqnyqmDpgjrvFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFidtVmcsmcsmcsmcsmcsmcsmcsmcsmcsxMOdNQbzTdNQdNQdNQlywomUlMYlMYlMYxMOxMOxMOxMOxMOlMYlMYlMYlMYaBzomUdAbhSzwdawdatpmwdalHIdtVmcsmcsmcsmcsmcstOXiVutOXppEppEppEppEppEppEppEppEppEuMqppEppEppEtOXcxZaFzaFzaFzacPtOXweCfWifWitOXtOXtOXmcsvFicFQgQFfxLgQFcFQvFimcsmcsmcsmcsmcsmcsmcsmcsmcsmcsdtVvFi
vFivFivFinXcwwzaxPaacnXctgQtgQtgQpFyhgahgahgajevtgQtgQtgQnXcgoEgoEnXcesresrununcEaadgxTtpxnvBunuesresrjUWjUWjUWgjrmDpnyqnyqnyqnyqjXSdLGsXZjXSnyqnyqnyqnyqnyqnyqnyqnyqnyqnyqnyqmDpgjrvFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFidtVmcsmcsmcsmcsmcsmcsmcsmcsmcsxMObeVdNQbeVdNQmoyvpVxMOlMYlMYlMYlMYlMYlMYlMYlMYlMYlMYlMYlMYlMYfSpdAbwdaptDjFbkSiwdalHIdtVmcsmcsmcsmcsmcstOXtOXtOXppEnvFvywppEppEppEppEsgnxIQtOXppEppEppEtOXiYSaFzaFzaFzmhKtOXbKgfWifWiqJExsZtOXmcsvFivFicFQfIscFQvFivFimcsmcsmcsmcsmcsmcsmcsmcsmcsmcsdtVvFi
vFivFivFinXclOilOilOiaFitgQtgQtgQpFyhgahgahgajevtgQtgQtgQlxXgoEgoElxXaZjaUiesrpxLxVZxVZxVZqyqrhtoLsesrjUWjUWjUWgjrmDpnyqnyqnyqnyqjXSjKFvsIjXSnyqnyqoDZnyqkwCnyqnyqnyqnyqnyqnyqmDpgjrvFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFidtVmcsmcsmcsmcsmcsmcsmcsmcsmcsxMOiGPkJdweGkJdbftkJdxMOdAblMYlMYlMYlMYlMYlMYlMYlMYlMYxMOxMOxMOlHIpmEdAbwdawdawdafjXlHIdtVmcsmcsmcsmcsmcsmcsmcstOXtOXjhjjhjtOXwGtwGttOXjhjjhjtOXtOXppEppEtOXtOXtOXduUtOXtOXtOXtOXdVctOXtOXtOXtOXmcsvFivFivFivFivFivFivFimcsmcsmcsmcsmcsmcsmcsmcsmcsmcsdtVvFi
-vFivFivFinXcjCcjCcjCcnXctgQtgQtgQpFyhgahgahgajevtgQtgQtgQnXcgoEgoEnXcesruQSqkfjZRrhtrhtrhtrhtrhtbgeesrjUWjUWjUWgjrmDpnyqnyqnyqnyqnyqjXSjXSnyqnyqnyqnyqnyqnyqnyqnyqnyqnyqnyqnyqmDpgjrvFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFidtVmcsmcsmcsmcsmcsmcsmcsmcsmcsxMOxMOxMOxMOxMOxMOxMOxMOmrRmLCmrRxMOxMOxMOxMOxMOxMOxMOxMOlHIlHIlHIlHIankwdawdawdanTtlHIdtVmcsmcsmcsmcsmcsmcsmcsmcstOXuUPppEppEppEppEppEppEiHWtOXaaeppEppEjhjdZwdJxxDRxDRuRstOXtautausarsarsartOXtOXmcsmcsmcsmcsmcsmcsmcsmcsmcsmcsmcsmcsmcsmcsmcsmcsmcsdtVvFi
+vFivFivFinXcjCcjCcjCcnXctgQtgQtgQpFyhgahgahgajevtgQtgQtgQnXcgoEgoEiaBesruQSqkfjZRrhtrhtrhtrhtrhtbgeesrjUWjUWjUWgjrmDpnyqnyqnyqnyqnyqjXSjXSnyqnyqnyqnyqnyqnyqnyqnyqnyqnyqnyqnyqmDpgjrvFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFidtVmcsmcsmcsmcsmcsmcsmcsmcsmcsxMOxMOxMOxMOxMOxMOxMOxMOmrRmLCmrRxMOxMOxMOxMOxMOxMOxMOxMOlHIlHIlHIlHIankwdawdawdanTtlHIdtVmcsmcsmcsmcsmcsmcsmcsmcstOXuUPppEppEppEppEppEppEiHWtOXaaeppEppEjhjdZwdJxxDRxDRuRstOXtautausarsarsartOXtOXmcsmcsmcsmcsmcsmcsmcsmcsmcsmcsmcsmcsmcsmcsmcsmcsmcsdtVvFi
vFivFivFinXcnXcnXcnXcnXcnXctgQtgQjoYmyKmyKmyKoTltgQtgQnXcnXcaibaibnXcesrunuunuaafrhtrhtrhtaagunuunuesrjUWjUWnsfgjrmDpnyqnyqbnonyqnyqnyqnyqnyqnyqnyqnyqnyqnyqnyqnyqnyqtrYnyqnyqmDpgjrvFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFidtVmcsmcsmcsmcsmcsmcsmcsmcsxMOxMOulblMYlMYdAbdAbxMOpqUpqUpqUpqUgVOxMOoLAlMYlMYlMYkbrxMOxMOlHIlHIlHIwdagwFjFbjFbbJblHIdtVmcsmcsmcsmcsmcsmcsmcsmcstOXuUPppEppEakjgjZppEppEqAVtOXaahppEppEtOXxDRxDRpHAxDRxDRtOXtautauksbksbksbiuttOXmcsmcsmcsmcsmcsmcsmcsmcsmcsmcsmcsmcsmcsmcsmcsmcsmcsdtVvFi
vFivFivFinXcjUWjUWjUWjUWnXctgQtgQtgQtgQtgQtgQtgQvcotgQnXcjUWjUWjUWjUWjUWesrunuoEQrhtlcFrhtdebunuesrjUWjUWjUWjUWgjrmDpnyqnyqoDZbnonyqnyqnyqnyqnyqnyqnyqnyqnyqnyqnyqnyqbnonyqnyqmDpgjrvFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFidtVmcsmcsmcsmcsmcsmcsmcsmcsxMOlMYlMYlMYlMYlMYdAbxMOpqUpqUprSpqUpqUxMOlMYlMYlMYlMYdAbdAbxMOlHIlHIlHIdrYwdawdawdawdalHIdtVmcsmcsmcsmcsmcsmcsmcsmcstOXuUPppEppEuUPcTyppEppEbVjtOXaaippEppEaygxDRxkMgyKhsKxDRhprtautautautautaumuGtOXmcsmcsmcsmcsmcsmcsmcsmcsmcsmcsmcsmcsmcsmcsmcsmcsmcsdtVvFi
vFivFivFinXcjUWjUWjUWjUWnXcunYunYunYtgQtgQtgQunYunYunYnXcjUWjUWnsfjUWjUWjUWesresraMCnzucOLesresrjUWjUWjUWjUWjUWgjrmDpnyqnyqnyqnyqnyqnyqnyqeIqnyqjvLnyqjvLnyqjxJnyqnyqnyqnyqnyqmDpgjrvFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFivFidtVmcsmcsmcsmcsmcsmcsmcsmcsxMOlMYlMYlMYlMYlMYlMYmLCpqUkuCfaNtpIpqUmLClMYlMYlMYlMYlMYdAbxMOlHImcslHIlHIaajaakcoRjfCjfCdtVmcsmcsmcsmcsmcsmcsmcsmcstOXuUPuyiuyiaanaapuyippElWztOXtprppEppEtOXxDRxkMgyKhsKxDRtOXtautauksbksbksbiUitOXmcsmcsmcsmcsmcsmcsmcsmcsmcsmcsmcsmcsmcsmcsmcsmcsmcsdtVvFi
diff --git a/maps/southern_cross/southern_cross-casino.dmm b/maps/southern_cross/southern_cross-casino.dmm
index 04a05e6dac..33b91c5543 100644
--- a/maps/southern_cross/southern_cross-casino.dmm
+++ b/maps/southern_cross/southern_cross-casino.dmm
@@ -19,8 +19,8 @@
"aS" = (/obj/effect/blocker,/turf/simulated/mineral/ignore_mapgen/cave,/area/surface/outside/plains/mountains)
"aT" = (/obj/effect/floor_decal/techfloor/orange{dir = 1},/turf/simulated/floor/tiled/techfloor,/area/casino/casino_ship)
"aV" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/outdoors/grass/heavy{outdoors = 0},/area/casino/casino_ship)
-"aW" = (/obj/structure/table/glass,/obj/random/plushie,/turf/simulated/floor/carpet/bcarpet,/area/casino/casino_ship)
-"aY" = (/obj/machinery/button/remote/blast_door{id = "Casinoboth 1"; name = "Casino Shutter"; pixel_x = -5; pixel_y = 29; req_one_access = list(200)},/obj/machinery/button/remote/blast_door{dir = 8; id = "CasinoEmergency2"; name = "Middle emergency shutters"; pixel_x = 28; pixel_y = -3; req_access = list(160)},/turf/simulated/floor/carpet/blucarpet,/area/casino/casino_ship)
+"aW" = (/obj/structure/noticeboard{name = "Sentient prize board"},/turf/simulated/wall/golddiamond,/area/casino/casino_ship)
+"aY" = (/obj/machinery/button/remote/blast_door{id = "Casinoboth 1"; name = "Casino Shutter"; pixel_x = -5; pixel_y = 29; req_one_access = list(200)},/obj/machinery/button/remote/blast_door{dir = 8; id = "CasinoEmergency2"; name = "Middle emergency shutters"; pixel_x = 28; pixel_y = -3; req_access = list(160)},/obj/structure/closet/crate/bin,/turf/simulated/floor/carpet/blucarpet,/area/casino/casino_ship)
"bb" = (/mob/living/simple_mob/animal/sif/glitterfly,/turf/simulated/floor/water,/area/surface/outside/plains/outpost)
"bd" = (/mob/living/simple_mob/animal/sif/tymisian,/turf/simulated/floor/outdoors/dirt{can_atmos_pass = 0; outdoors = 0; temperature = 300},/area/surface/outside/plains/mountains)
"bg" = (/obj/structure/flora/tree/winter1,/mob/living/simple_mob/animal/sif/glitterfly,/turf/simulated/floor/outdoors/snow/sif/planetuse{temperature = 293.15},/area/surface/outside/plains/outpost)
@@ -165,7 +165,7 @@
"fl" = (/obj/structure/table/fancyblack,/turf/simulated/floor/carpet/oracarpet,/area/casino/casino_ship)
"fo" = (/obj/structure/table/glass,/obj/item/weapon/paper_bin,/obj/item/device/tape,/obj/item/weapon/pen,/obj/item/weapon/pen{pixel_x = 4; pixel_y = 4},/turf/simulated/floor/wood,/area/casino/casino_ship/dorms)
"fp" = (/obj/structure/table/fancyblack,/turf/simulated/floor/carpet/turcarpet,/area/casino/casino_ship)
-"fq" = (/obj/structure/table/marble,/obj/machinery/door/window/westright{dir = 1; layer = 3.1; name = "Both access"; req_access = list(200)},/obj/machinery/door/blast/shutters{id = "Casinoboth 1"; layer = 3.2; name = "Exchange booth shutters 1"},/turf/simulated/floor/carpet/blucarpet,/area/casino/casino_ship)
+"fq" = (/obj/machinery/door/window/westright{dir = 1; layer = 3.1; name = "Both access"; req_access = list(200)},/obj/machinery/door/blast/shutters{id = "Casinoboth 1"; layer = 3.2; name = "Exchange booth shutters 1"},/turf/simulated/floor/carpet/blucarpet,/area/casino/casino_ship)
"fs" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/flora/lily2,/turf/simulated/floor/water{outdoors = 0},/area/casino/casino_ship)
"ft" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/flora/lily3,/turf/simulated/floor/water{outdoors = 0},/area/casino/casino_ship)
"fv" = (/turf/simulated/floor/carpet/turcarpet,/area/casino/casino_ship)
@@ -463,7 +463,6 @@
"sc" = (/mob/living/simple_mob/animal/passive/penguin/tux{hovering = 1},/turf/simulated/floor/wood/sif/broken,/area/surface/outside/plains/outpost)
"sd" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/structure/flora/ausbushes/ppflowers,/turf/simulated/floor/outdoors/grass/heavy{outdoors = 0},/area/casino/casino_ship)
"sm" = (/obj/random/trash,/turf/simulated/floor/tiled/freezer,/area/submap/lonehome)
-"sq" = (/obj/structure/noticeboard{name = "Sentient prize board"},/turf/simulated/wall/golddiamond,/area/casino/casino_ship)
"su" = (/obj/structure/table/glass,/obj/item/weapon/reagent_containers/food/drinks/cup{pixel_x = 8; pixel_y = -3},/obj/item/weapon/reagent_containers/food/drinks/cup{pixel_x = -4; pixel_y = -3},/obj/item/weapon/storage/box/donut{pixel_y = 11},/obj/machinery/light{dir = 1},/turf/simulated/floor/wood,/area/casino/casino_ship/dorms)
"sy" = (/obj/structure/girder/displaced,/turf/simulated/floor/outdoors/snow/sif/planetuse{temperature = 293.15},/area/surface/outside/plains/outpost)
"sA" = (/obj/structure/table/bench/sifwooden,/turf/simulated/floor/outdoors/dirt{can_atmos_pass = 0; outdoors = 0; temperature = 300},/area/surface/outside/plains/mountains)
@@ -519,7 +518,7 @@
"vv" = (/obj/structure/sink{pixel_x = -16; pixel_y = 24},/obj/structure/toilet{dir = 8},/turf/simulated/floor/tiled/dark,/area/casino/casino_ship/wing_right)
"vx" = (/obj/effect/mist,/obj/effect/floor_decal/spline/fancy/wood{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/black,/turf/simulated/floor/wood,/area/casino/casino_ship)
"vA" = (/obj/effect/decal/remains/deer,/turf/simulated/floor/outdoors/dirt{can_atmos_pass = 0; outdoors = 0; temperature = 300},/area/surface/outside/plains/mountains)
-"vF" = (/obj/structure/table/glass,/obj/machinery/recharger,/turf/simulated/floor/carpet/bcarpet,/area/casino/casino_ship)
+"vF" = (/obj/structure/table/glass,/obj/item/weapon/book/manual/casino,/obj/item/weapon/book/manual/casino,/obj/item/weapon/book/manual/casino,/obj/item/weapon/book/manual/casino,/turf/simulated/floor/carpet/bcarpet,/area/casino/casino_ship)
"vI" = (/obj/structure/window/reinforced{health = 1e+006},/obj/structure/flora/ausbushes/genericbush,/turf/simulated/floor/grass2,/area/casino/casino_ship)
"vL" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/machinery/door/blast/shutters{dir = 2; id = "Casinodormshutters5"; layer = 3.5; name = "Casino Privacy shutters"},/turf/simulated/floor,/area/casino/casino_ship/dorms)
"vN" = (/obj/structure/window/reinforced{health = 1e+006},/obj/structure/flora/ausbushes/pointybush,/turf/simulated/floor/outdoors/grass/heavy{outdoors = 0},/area/casino/casino_ship)
@@ -616,7 +615,6 @@
"Ah" = (/obj/structure/window/reinforced{dir = 8; health = 1e+006},/turf/simulated/floor/grass2,/area/casino/casino_ship)
"Ak" = (/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/structure/flora/ausbushes/sunnybush,/turf/simulated/floor/grass2,/area/casino/casino_ship)
"Ao" = (/obj/structure/window/reinforced{health = 1e+006},/obj/structure/flora/ausbushes/reedbush,/turf/simulated/floor/grass2,/area/casino/casino_ship)
-"AA" = (/obj/structure/table/glass,/obj/item/weapon/book/manual/casino,/obj/item/weapon/book/manual/casino,/obj/item/weapon/book/manual/casino,/obj/item/weapon/book/manual/casino,/obj/item/weapon/book/manual/casino,/turf/simulated/floor/carpet/bcarpet,/area/casino/casino_ship)
"AB" = (/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/window/reinforced{dir = 8},/obj/structure/flora/ausbushes/ppflowers,/turf/simulated/floor/outdoors/grass/heavy{outdoors = 0},/area/casino/casino_ship)
"AF" = (/obj/effect/floor_decal/techfloor/orange{dir = 9},/turf/simulated/floor/tiled/techfloor,/area/casino/casino_ship)
"AK" = (/obj/effect/decal/cleanable/ash,/turf/simulated/floor/flock,/area/surface/outside/plains/mountains)
@@ -722,7 +720,6 @@
"Gs" = (/obj/machinery/vending/cola,/obj/machinery/light{dir = 8},/turf/simulated/floor/carpet/bcarpet,/area/casino/casino_ship)
"Gu" = (/obj/structure/table/marble,/obj/machinery/door/blast/shutters{dir = 4; id = "Casinobar"; layer = 3.1; name = "Casino bar shutter"},/turf/simulated/floor/carpet/oracarpet,/area/casino/casino_ship)
"Gz" = (/obj/structure/curtain/open/bed{name = "casino curtain"},/obj/machinery/light{dir = 1},/turf/simulated/floor/carpet/blucarpet,/area/casino/casino_ship)
-"GD" = (/obj/structure/table/glass,/obj/item/weapon/book/manual/casino,/obj/item/weapon/book/manual/casino,/obj/item/weapon/book/manual/casino,/obj/item/weapon/book/manual/casino,/obj/item/weapon/book/manual/casino,/obj/item/weapon/book/manual/casino,/obj/machinery/light{dir = 8},/turf/simulated/floor/carpet/bcarpet,/area/casino/casino_ship)
"GG" = (/obj/machinery/crystal/ice,/turf/simulated/floor/outdoors/ice{outdoors = 0},/area/surface/outside/plains/mountains)
"GL" = (/obj/structure/table/wooden_reinforced,/obj/item/device/starcaster_news,/turf/simulated/floor/carpet/bcarpet,/area/casino/casino_ship)
"GP" = (/obj/effect/floor_decal/corner/grey/diagonal{dir = 4},/obj/effect/decal/cleanable/dirt,/mob/living/simple_mob/animal/sif/glitterfly/rare{canmove = 0; glow_intensity = 0.5; glow_range = 7.5; glow_toggle = 1; move_speed = 10000; movement_cooldown = -10000},/turf/simulated/floor/tiled/white,/area/submap/lonehome)
@@ -912,7 +909,7 @@
"Sf" = (/obj/machinery/light{layer = 3},/turf/simulated/floor/water/deep/pool,/area/casino/casino_ship)
"Sh" = (/obj/structure/window/reinforced{health = 1e+006},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/flora/ausbushes/reedbush,/turf/simulated/floor/outdoors/grass/heavy{outdoors = 0},/area/casino/casino_ship)
"Sn" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8; health = 1e+006},/obj/structure/flora/ausbushes/ppflowers,/turf/simulated/floor/grass2,/area/casino/casino_ship)
-"Sp" = (/obj/machinery/button/remote/blast_door{dir = 1; id = "Casinoboth 2"; name = "Casino Shutter"; pixel_x = -4; pixel_y = -29; req_one_access = list(200)},/obj/machinery/button/remote/blast_door{dir = 8; id = "Casinoprizes"; name = "Prize Shutters"; pixel_x = 28; pixel_y = 4; req_one_access = list(200)},/turf/simulated/floor/carpet/blucarpet,/area/casino/casino_ship)
+"Sp" = (/obj/machinery/button/remote/blast_door{dir = 1; id = "Casinoboth 2"; name = "Casino Shutter"; pixel_x = -4; pixel_y = -29; req_one_access = list(200)},/obj/machinery/button/remote/blast_door{dir = 8; id = "Casinoprizes"; name = "Prize Shutters"; pixel_x = 28; pixel_y = 4; req_one_access = list(200)},/obj/structure/table/marble,/obj/item/modular_computer/laptop/preset/custom_loadout/hybrid,/turf/simulated/floor/carpet/blucarpet,/area/casino/casino_ship)
"Sq" = (/obj/machinery/button/remote/blast_door{id = "Casinodormshutters2"; name = "Casino Dorm Shutters"; pixel_x = 24; pixel_y = -6},/obj/structure/bed/double/padded,/obj/item/weapon/bedsheet/hosdouble,/turf/simulated/floor/wood,/area/casino/casino_ship/dorms)
"Sv" = (/obj/structure/window/reinforced{dir = 1; health = 1e+006; req_access = list(5)},/turf/simulated/floor/outdoors/grass/heavy{outdoors = 0},/area/casino/casino_ship)
"Sx" = (/obj/structure/table/rack/shelf/steel,/obj/item/weapon/storage/toolbox/electrical{pixel_y = 7},/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor/plating,/area/submap/lonehome)
@@ -987,7 +984,7 @@
"WJ" = (/obj/structure/bed/chair/comfy/purp{dir = 8},/turf/simulated/floor/wood,/area/casino/casino_ship)
"WL" = (/turf/simulated/floor/wood/sif/broken,/area/surface/outside/plains/outpost)
"WQ" = (/turf/simulated/floor/outdoors/dirt{can_atmos_pass = 0; outdoors = 0; temperature = 300},/area/submap/lonehome)
-"WS" = (/obj/machinery/door/airlock/silver{name = "Lounge"},/turf/simulated/floor/carpet/bcarpet,/area/casino/casino_ship)
+"WS" = (/obj/machinery/door/airlock/silver{name = "Lounge"; req_one_access = list(300)},/turf/simulated/floor/carpet/bcarpet,/area/casino/casino_ship)
"WT" = (/obj/structure/table/marble,/obj/machinery/chemical_dispenser/bar_alc/full,/turf/simulated/floor/wood/sif,/area/submap/lonehome)
"WV" = (/obj/structure/table/gamblingtable,/turf/simulated/floor/carpet/blucarpet,/area/casino/casino_ship)
"Xf" = (/obj/structure/flora/tree/winter,/obj/effect/zone_divider,/turf/simulated/floor/outdoors/snow/sif/planetuse{temperature = 293.15},/area/surface/outside/plains/outpost)
@@ -1029,7 +1026,7 @@
"Zj" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/machinery/door/blast/shutters{dir = 2; id = "Casinodormshutters5"; layer = 3.5; name = "Casino Privacy shutters"},/turf/simulated/floor,/area/casino/casino_ship/dorms)
"Zl" = (/obj/structure/bed/chair/comfy/red{dir = 4},/turf/simulated/floor/carpet/oracarpet,/area/casino/casino_ship)
"Zn" = (/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/brown/border{dir = 8},/obj/machinery/light{dir = 8},/turf/simulated/floor/tiled,/area/casino/casino_ship/wing_left)
-"Zq" = (/obj/structure/table/marble,/obj/machinery/door/window/westright{dir = 2; layer = 3.1; name = "Both access"; req_access = list(200)},/obj/machinery/door/blast/shutters{dir = 2; id = "Casinoboth 2"; layer = 3.2; name = "Exchange booth shutters 2"},/turf/simulated/floor/carpet/blucarpet,/area/casino/casino_ship)
+"Zq" = (/obj/machinery/door/window/westright{dir = 2; layer = 3.1; name = "Both access"; req_access = list(200)},/obj/machinery/door/blast/shutters{dir = 2; id = "Casinoboth 2"; layer = 3.2; name = "Exchange booth shutters 2"},/turf/simulated/floor/carpet/blucarpet,/area/casino/casino_ship)
"Zs" = (/obj/structure/table/marble,/obj/machinery/door/blast/shutters{dir = 8; id = "Casinobar"; layer = 3.1; name = "Casino bar shutter"},/turf/simulated/floor/carpet/oracarpet,/area/casino/casino_ship)
"Zt" = (/obj/machinery/iv_drip,/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/turf/simulated/floor/tiled/white,/area/casino/casino_ship/wing_left)
"Zw" = (/obj/structure/toilet{dir = 4},/turf/simulated/floor/tiled/freezer,/area/casino/casino_ship/dorms)
@@ -1044,7 +1041,7 @@
"ZP" = (/obj/structure/bed/chair{dir = 8},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/red/border{dir = 4},/turf/simulated/floor/tiled,/area/casino/casino_ship/wing_right)
"ZR" = (/obj/effect/floor_decal/borderfloor/corner,/obj/effect/floor_decal/corner/red/bordercorner,/turf/simulated/floor/tiled,/area/casino/casino_ship/wing_right)
"ZW" = (/obj/structure/table/glass,/obj/item/toy/eight_ball/conch,/turf/simulated/floor/carpet/bcarpet,/area/casino/casino_ship)
-"ZY" = (/obj/structure/table/glass,/obj/item/toy/eight_ball,/obj/machinery/light{dir = 8},/turf/simulated/floor/carpet/bcarpet,/area/casino/casino_ship)
+"ZY" = (/obj/structure/table/glass,/obj/machinery/light{dir = 8},/turf/simulated/floor/carpet/bcarpet,/area/casino/casino_ship)
"ZZ" = (/obj/structure/table/bench/sifwooden,/obj/machinery/light,/obj/effect/floor_decal/spline/fancy/wood/corner{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 5},/obj/effect/mist,/turf/simulated/floor/wood,/area/casino/casino_ship)
(1,1,1) = {"
@@ -1185,19 +1182,19 @@ hPmcmcmcmcmcmcmcmcmcmcmcmcmcmcmNgNgNgNgNgNcqNsabYLxXxXxXTXabujdJdJdJdJdJpJabHhbN
hPmcmcmcmcmcmcmcmcmcmcmcmcmcmcmNgNgNgNAOgNcqNsabUbMuytUbZtabLlXZQOoDqYpPKbabXUbNgtbNRIbNacacacacBnAdAdNCeFeFeFdzdzAYdzevWobNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNkEbNbNbNbNbNbNbNBFbNbNbNbNbNBFbNbNbNbNbNBFbNbNbNeJacqWCbAfAfAfpdVdpdpdpdoZacqiqibDbDbDnBeEeEeEwaeEeEeEmUacacacmNmNmNmNlFmNmNmNmNmNmNmNmNfBmNmNmNmNmNmNmNaFmNmNmNaFmNmNmNmNmNmNmNmNmNmNmNfBmNwtmNmNmNblmNmNmNmNmNmNmNav
hPmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmNmNgNgNgNabNsabababababababababababababababZIbNgtqaykSvePfEfEczSveVEPHheFeFeFeFeFeFeFeXZFbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNQokEbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNQobNbNbNbNbNbNocacPttFAfoZoZZzoZoZDHoZmWacbDbDbDbDbDacWtpMtoacOHpMOHacacacacgNgNmNmNlFmNmNmNdqmNmNcCmNmNmNmNmNmNmNmNmNmNmNaFmNmNmNmNmNmNmNmNmNmNmNdqmNmNmNmNaFmNmNblmNmNmNmNwtmNmNav
hPmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmNgNgNgNgNdrcqacVdgzNHKpFnrdxHPJXvQqrdGLRAXveFbNgtkbzljrpdfEePpdDcNojkacbObNbNeFeFeFeFeoqFbNbNeFenhMhMhMhMhMeneFeFeFeFiefjcRacmzeFeFeFeFeFGSeFeFeFGSsdPifsftaVoEfFzntzKwbNbNXMacxzoZAfoZDHoZoZCvoZoZoZacacacwvacacacacacacacacacacacacacacacmNmNmNlFmNmNmNmNmNmNmNhXhXmNmNeGmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNhXblmNdqmNmNmNmNmNav
-hPmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcgNgNgNgNgNdrcqacRqDcfLeFeFrdXWXiXveFrdXWKrXveFbNgtfPNGRqpdqGjgAfzlpdhZackybNbNeFeFeFieiEdzbNbNeFacjGjGjGjGjGaceFjQjQjQeFYXcZUTvFeFeFeFceacacaceFnGaczNpzpzpzDaacacacacacbNbNvUacrLqWAfSLoZxzTxJDtFRYCvacMMeFeFQqLXlBRXwULXXWRXXMaclOlOuOHiacgNmNmNlFmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNhXmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNblmNmNmNmNmNmNmNav
-hPmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcgNgNgNcpgNdrcqacTTiVjReFeFeFeFeFeFeFeFeFeFeFeFbNgtVtjVexjUkckfkMkSAoeyJceFbNbNeFeFeFlboMxdRBbNhMZsdzdzdzdzdzGueFjQPYjQeFdzwVacGDeFeFeFdztXfeacfqacacqwfyfOPEVmacyjaQaRacRBbNCRacacactUacacacacacacacacacIMeFeFeFTgXWYVEjTglBYVSnaclOdzdzHiBWgNmNmNlFmNeGmNmNmNmNmNmNhXmNmNmNmNmNhXmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNaFmNmNmNmNblmNmNmNmNmNmNmNav
-hPmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmNmNgNgNgNdrcqacAFaTQPbNbNbNbNbNbNbNbNbNbNbNbNbNgtbNBFbNbNbNbNbNbNBFbNbNbNbNbNbNbNbNbNbNbNbNbNhMZsdzulpknjdzGueFjQjQjQeFdzJMacaWeFeFeFdzMCqvGzbDaYacpTCDoJCDTZacydbDPHacbNbNdzdzlCdzdzdzdzdzdzlCdzdzdzacHheFeFeFeFeFeFQqeFeFeFQqaclOdzdzHiBtgNmNmNlFmNmNmNmNcCmNmNmNmNmNmNmNeGmNmNmNfBmNmNmNmNmNmNmNmNdqmNmNmNmNeGmNmNmNmNmNmNmNblmNhYmNeGmNmNmNav
+hPmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcgNgNgNgNgNdrcqacRqDcfLeFeFrdXWXiXveFrdXWKrXveFbNgtfPNGRqpdqGjgAfzlpdhZackybNbNeFeFeFieiESObNbNeFacjGjGjGjGjGaceFjQjQjQeFYXcZUTvFeFeFeFceacacaceFnGaczNpzpzpzDaacacacacacbNbNvUacrLqWAfSLoZxzTxJDtFRYCvacMMeFeFQqLXlBRXwULXXWRXXMaclOlOuOHiacgNmNmNlFmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNhXmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNblmNmNmNmNmNmNmNav
+hPmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcgNgNgNcpgNdrcqacTTiVjReFeFeFeFeFeFeFeFeFeFeFeFbNgtVtjVexjUkckfkMkSAoeyJceFbNbNeFeFeFlboMxdRBbNhMZsdzdzdzdzdzGueFjQPYjQeFdzwVacZYeFeFeFdztXfeacfqacacqwfyfOPEVmacyjaQaRacRBbNCRacacactUacacacacacacacacacIMeFeFeFTgXWYVEjTglBYVSnaclOdzdzHiBWgNmNmNlFmNeGmNmNmNmNmNmNhXmNmNmNmNmNhXmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNaFmNmNmNmNblmNmNmNmNmNmNmNav
+hPmcmcmcmcmcmcmcmcmcmcmcmcmcmcmcmNmNgNgNgNdrcqacAFaTQPbNbNbNbNbNbNbNbNbNbNbNbNbNgtbNBFbNbNbNbNbNbNBFbNbNbNbNbNbNbNbNbNbNbNbNbNhMZsdzulpknjdzGueFjQjQjQeFdzJMaWMzeFeFeFdzMCqvGzbDaYacpTCDoJCDTZacydbDPHacbNbNdzdzlCdzdzdzdzdzdzlCdzdzdzacHheFeFeFeFeFeFQqeFeFeFQqaclOdzdzHiBtgNmNmNlFmNmNmNmNcCmNmNmNmNmNmNmNeGmNmNmNfBmNmNmNmNmNmNmNmNdqmNmNmNmNeGmNmNmNmNmNmNmNblmNhYmNeGmNmNmNav
hPmcmcmcmcmcmcmcmcmcmcmcmcmcmcmNmNmNgNgNgNdrcqacBybwbxbNbNbNFPsQdclrdcmaRBbNbNbNgtbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNhMZsdzZxzdImdzpeeFeFeFeFeFdzLvUTHheFeFeFdzoQbDkCbDbDHQbDbDbDbDbDHQbDbDbDbtbNbNdzdzdzdzdzdzdzdzdzdzdzdzdzWSeFeFeFeFeFeFeFeFeFeFeFeFPMlOdzZlYqBtgNmNmNlFmNmNmNhXmNmNmNmNmNmNmNmNmNmNmNmNeGmNmNmNmNmNhYmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNblmNmNmNmNmNmNmNav
-hPmcmcmcmcmcmcmcmcmcmcmcmcmcmcmNmNgNgNcpgNdrcqacIPzCNXbNbNbNbNbNbNbNbNbNbNbNbNbNgtbNQobNbNbNbNbNbNQobNbNbNbNbNbNbNbNbNbNbNbNbNhMZsdzKiobEVdzGueFjQjQjQeFdzRxacAAeFeFeFdzMCqvVnbDSpacRDWwPwWwxQacYEbDbEacbNbNdzdzlpdzdzdzdzdzdzlpdzdzdzaceFeFeFeFeFeFeFGSeFeFeFGSaclOdzdzHiBtmNmNmNlFmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNhXmNfBmNmNmNmNfBmNfBmNmNmNmNmNmNmNmNmNmNmNmNmNblmNmNmNmNmNmNmNav
+hPmcmcmcmcmcmcmcmcmcmcmcmcmcmcmNmNgNgNcpgNdrcqacIPzCNXbNbNbNbNbNbNbNbNbNbNbNbNbNgtbNQobNbNbNbNbNbNQobNbNbNbNbNbNbNbNbNbNbNbNbNhMZsdzKiobEVdzGueFjQjQjQeFdzRxaWMzeFeFeFdzMCqvVnbDSpacRDWwPwWwxQacYEbDbEacbNbNdzdzlpdzdzdzdzdzdzlpdzdzdzaceFeFeFeFeFeFeFGSeFeFeFGSaclOdzdzHiBtmNmNmNlFmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNhXmNfBmNmNmNmNfBmNfBmNmNmNmNmNmNmNmNmNmNmNmNmNblmNmNmNmNmNmNmNav
hPmcmcmcmcmcmcmcmcmcmcmcmcmcmNmNmNmNgNgNgNdrcqacOPJplZeFeFeFeFeFeFeFeFeFeFeFeFbNgtmrSvmtSvQWSvmAmDmAnLJceFbNbNeFeFeFlbnTTARBbNhMZsdzdzdzdzdzGueFjQPYjQeFdzwVacZYeFeFeFdztXquacZqacaczWKhYMvQuoacINBqbRacRBbNEkacacacySacacacacacacacacacwWeFeFeFLXlBRXHPLXXWRXoyaclOdzdzHinZmNmNmNlFmNmNmNcCmNmNmNmNmNmNmNmNmNmNmNmNmNaimNmNmNfBmNmNmNmNmNmNmNmNhXmNmNmNmNmNmNmNblmNmNmNaFmNdqmNav
-hPmcmcmcmcmcmcmcmcmcmcmcmcmcmNmNgNgNgNgNgNdrcqacVdozoPeFeFrdXWmQXveFrdmsXWXveFbNgtpgNGpdNopdDcpApQpApVackybNbNeFeFeFiepZdzbNbNeFackvkvkvkvkvaceFjQjQjQeFaLGeUTvFeFeFeFcesqsqsqeFnGaczNpzpzpzDaacacacacacbNbNXMaccilOlOlODyaccmbVKdqXYNacZIeFeFGSTgXWYVABTglBYVrsaclOlOEJHiacgNmNmNlFmNmNmNmNmNXPmNmNmNmNdqmNmNmNeGmNmNcCmNmNmNmNmNmNmNmNdqmNmNeGmNaFanmNmNwtmNmNblmNhXmNmNmNmNmNav
+hPmcmcmcmcmcmcmcmcmcmcmcmcmcmNmNgNgNgNgNgNdrcqacVdozoPeFeFrdXWmQXveFrdmsXWXveFbNgtpgNGpdNopdDcpApQpApVackybNbNeFeFeFiepZSObNbNeFackvkvkvkvkvaceFjQjQjQeFaLGeUTvFeFeFeFceacacaceFnGaczNpzpzpzDaacacacacacbNbNXMaccilOlOlODyaccmbVKdqXYNacZIeFeFGSTgXWYVABTglBYVrsaclOlOEJHiacgNmNmNlFmNmNmNmNmNXPmNmNmNmNdqmNmNmNeGmNmNcCmNmNmNmNmNmNmNmNdqmNmNeGmNaFanmNmNwtmNmNblmNhXmNmNmNmNmNav
hPmcmcmcmcmcmcmcmcmcmcmcmcmNmNmNmNgNgNcpgNdrcqacRqzlrFKpFnrdGLyvXvGSrdXWwPXveFbNgtfPpdRqjgczfEgzAfpArzacbObNbNeFeFeFeFrWCSbNbNeFcHhMhMhMhMhMcHeFeFeFeFierYsFacmzeFeFeFeFeFQqeFeFeFQqtrcScSttudOAuGOAchKwbNbNocacUelOlOlOEoacmPmPvxVjVjacacacItacacacacacacacacacacacacacacacgNmNmNfXmNmNmNmNmNmNmNmNmNmNfBmNmNmNmNmNmNmNmNdqmNmNmNmNmNmNmNcCmNmNmNmNmNmNmNmNmNmNblmNmNmNmNmNmNmNav
hPmcmcmcmcmcmcmcmcmcmcmcmcmNmNgNgNmNgNgNgNhkTwhkhkhkhkhkhkhkhkhkhkhkhkhkhkhkMMbNgtiIvIkSfEfEePfEvNwbeyHheFeFeFeFeFeFeFeoQjbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNBFkEbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNBFbNbNbNbNbNbNeJacDElOlOlOlOcUdjdjvxVjVjacdklOlOlOdkacogsJIzlOdflODleEunVVacgNmNmNmNlFmNmNmNmNmNmNmNdqmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNeGmNmNmNmNmNmNmNdqmNmNmNmNmNmNblmNmNmNmNmNmNmNav
hPmcmcmcmcmcmcmcmcmcmcmcmcmNmNgNgNgNgNgNgNeSTwhkbXdebAaqbndevvhkAUEbkdkdcohkGsbNgtbNBFbNacacacacSWekekkaeFeFeFdzdzAYdzwzWobNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNbNkEbNbNbNbNbNbNbNQobNbNbNbNbNQobNbNbNbNbNQobNbNbNLnacUelOlOlOlOacZMMFZZxhdBaclOdzdzdzlOqKlOlOlOlOlODyacWtrNacacmNmNmNmNlFmNmNmNmNmNmNhXmNmNhXmNmNmNmNmNmNeGhXmNmNmNmNmNmNmNmNeGmNfBmNmNmNmNmNmNmNmNmNblmNmNmNwtmNmNmNav
hPmcmcmcmcmcmcmcmcmcmcmcmcmNgNmNgNgNgNAOgNeSTwhkPNjyyblUybjyPNhkIKlUlUlUlUhkHhbNAZTOUKFPacnAlXacuZrKTfcMeFeFeFdzZcoCcexnzSOQCXuBdzdzdzdzdzqFaLOQCXCSdzdzSOHGackyeFeFeFGSeFaPaPaPaPyDaPaPaPaPaPbCaPaPaPaPaPOpaPaPBTlOlOlOqCacacacacacacactvdzdzdzJbaclOlOlOZBWJacacacacacgNmNmNeGmNlFhXmNmNmNmNmNmNmNmNmNmNmNdqmNmNmNfBmNmNeGmNmNmNmNmNmNmNmNmNmNcCaFmNmNmNmNmNmNblmNmNmNmNmNhYmNav
hPmcmcmcmcmcmcmcmcmcmcmcmcmNmNmNmNmNgNgNgNepeShkhkhkhkeRhkhkhkhkhkmehkhkhkhkhkVNfRhkfSGmacdyPUacuqmyFapDeFeFeFdzdzdzdzxuxAdwdLQhdwelzseFindhQhdSelxAdhdLQhShacbOeFeFknlLrxaPejcKlMbhlNaPejcKlMbhlNaPejcKlMbhlNaPlOlOlOlOlOMXihmCmCmCXMaclOdzdzdzlOacdydydyHslOacacacgNgNmNmNmNmNmNlFmNmNmNmNmNeGmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNblwtmNmNmNmNmNmNav
-hPmcmcmcmcmcmcmcmcmcmNmNmNmNmNgNgNgNgNgNgNepeShkeHeThklUSXVvybuixblUlUlUVFlUlUlUyFhkYnjOacdZacaceFeFeFeFeFeFeFeFeFeFeFeFIbeqZWdMeqIbeFeFeFIbeqeqcIeueqeqIbeFeFeFeFeFMzXMjraPZweYaPlPKVaPZweYaPlPSbaPZweYaPlPTKaPeEeEeEeEeEeEihmCmCSBgyaclOgJwDfJlOacdyeseLacacacmNmNmNmNmNmNmNmNmNlFmNmNfBmNmNmNmNmNmNmNmNmNmNmNmNeGmNmNmNmNmNmNmNmNmNfBmNmNmNmNmNmNmNmNmNmNmNhXblmNmNmNaFmNmNmNav
+hPmcmcmcmcmcmcmcmcmcmNmNmNmNmNgNgNgNgNgNgNepeShkeHeThklUSXVvybuixblUlUlUVFlUlUlUyFhkYnjOacdZacaceFeFeFeFeFeFeFeFeFeFeFHhIbeqZWdMeqIbeFeFeFIbeqeqcIeueqeqIbHheFeFeFeFMzXMjraPZweYaPlPKVaPZweYaPlPSbaPZweYaPlPTKaPeEeEeEeEeEeEihmCmCSBgyaclOgJwDfJlOacdyeseLacacacmNmNmNmNmNmNmNmNmNlFmNmNfBmNmNmNmNmNmNmNmNmNmNmNmNeGmNmNmNmNmNmNmNmNmNfBmNmNmNmNmNmNmNmNmNmNmNhXblmNmNmNaFmNmNmNav
hPmcmcmcmcmcmcmcmcmcmNmNmNcCmNgNgNmNgNcpgNepeShkeHlUIJlUlUlUpplUlUlUlUilhkgsGcZGnVhkYnjOaclhdytReFeFeFeFeFnQeFeFeFeFeFeFeFeFeFeFdzdzdzdzdzdzdzeFeFeFeFeFeFeFeFeFnQeFwfvUczaPaPaPaPoifoaPaPaPaPoifoaPaPaPaPoifoaPihihihihihihihmCmCmCXMaclOkYHWdzlOacacacacacmNgNmNmNmNmNmNmNmNmNmNlFmNmNmNmNeGmNmNmNdqmNmNmNmNmNeGmNfBmNmNfBmNhXmNmNmNmNmNmNmNmNhXmNmNmNwtmNmNmNblwtmNmNmNmNmNmNav
hPmcmcmcmcmcmcmcmcmcmNmNcCmNmNmNmNmNgNgNgNeSTwhkcPilhkurBXUWIHJHRiOmVGlUVFRiVKlUZPhkphOaacdZacaceFeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFdzdzdzdzdzdzdzeFeFeFeFeFeFeFeFeFeFeFwyfhfEaPmOfGyolPbhaPmOfGyolPbhaPmOfGyolPbhaPBxmCmCmCmCmCmCmCmCmCLnaclOlOWnlOlOacacacmNgNmNmNmNwtmNmNmNmNmNmNmNlFmNmNmNmNmNmNmNmNyfmNmNmNmNmNmNmNmNmNmNmNmNhXmNmNmNmNmNmNmNmNmNdqmNmNmNmNmNmNblmNmNmNmNmNeGmNav
hPmcmcmcmcmcmcmcmcmcmNmNmNmNmNmNmNgNgNAOgNeSTwhkcPlUhkFZeeewpvyCRiOmVGuchkFAyblUZPhkYahWacdyPUacXyPfrKTfFaKleFkEkEkEkEkEeFeFeFeFeFeFeFeFeFeFeFeFeFeFeFkCkCkCkCkCeFeFfVocfEaPbhlPlPlPQEaPbhlPlPlPpxaPbhlPlPlPxKaPmCmCmCmCmCmCmCmCmCSBgyacBVMnacacacacmNgNmNmNmNmNmNcCmNmNmNmNmNeGmNlFmNmNmNmNmNmNmNmNaFmNmNmNmNmNmNmNmNeGmNeGmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNmNblmNmNaFmNmNmNmNav
diff --git a/maps/southern_cross/southern_cross.dm b/maps/southern_cross/southern_cross.dm
index 79df7a1960..8145663b4c 100644
--- a/maps/southern_cross/southern_cross.dm
+++ b/maps/southern_cross/southern_cross.dm
@@ -50,7 +50,7 @@
#include "southern_cross-9.dmm"
#include "southern_cross-10.dmm"
//CHOMPStation Edit End
- #include "southern_cross-casino.dmm" //CHOMPedit: Disabled to save resources and loaded in during events - Jack
+ //#include "southern_cross-casino.dmm" //CHOMPedit: Disabled to save resources and loaded in during events - Jack
#include "submaps/_southern_cross_submaps.dm"
diff --git a/maps/submaps/surface_submaps/mountains/mountains.dm b/maps/submaps/surface_submaps/mountains/mountains.dm
index a7ac3cc3bb..2fffd44a72 100644
--- a/maps/submaps/surface_submaps/mountains/mountains.dm
+++ b/maps/submaps/surface_submaps/mountains/mountains.dm
@@ -41,6 +41,7 @@
#include "Cliff1.dmm"
#include "excavation1.dmm"
#include "spatial_anomaly.dmm"
+#include "speakeasy_vr.dmm"
#endif
// The 'mountains' is the mining z-level, and has a lot of caves.
@@ -235,7 +236,7 @@
cost = 5
allow_duplicates = TRUE
template_group = "Underground Cliffs"
-
+
/datum/map_template/surface/mountains/normal/deadly_rabbit // VOREStation Edit
name = "The Killer Rabbit"
desc = "A cave where the Knights of the Round have fallen to a murderous Rabbit."
@@ -363,3 +364,11 @@
mappath = 'maps/submaps/surface_submaps/mountains/spatial_anomaly.dmm'
cost = 20
fixed_orientation = TRUE
+
+/datum/map_template/surface/mountains/normal/Speakeasy //VOREStation add
+ name = "Speakeasy"
+ desc = "A hidden underground bar to serve drinks in secret and in style."
+ mappath = 'maps/submaps/surface_submaps/mountains/speakeasy_vr.dmm'
+ cost = 10
+ allow_duplicates = FALSE
+
diff --git a/maps/submaps/surface_submaps/mountains/mountains_areas.dm b/maps/submaps/surface_submaps/mountains/mountains_areas.dm
index d39e38823b..4078c4b988 100644
--- a/maps/submaps/surface_submaps/mountains/mountains_areas.dm
+++ b/maps/submaps/surface_submaps/mountains/mountains_areas.dm
@@ -163,3 +163,7 @@
/area/submap/spatial_anomaly
name = "POI - Spatial Anomaly"
ambience = AMBIENCE_FOREBODING
+
+/area/submap/Speakeasy //VOREStation add
+ name = "POI - Speakeasy"
+ requires_power = FALSE
\ No newline at end of file
diff --git a/maps/submaps/surface_submaps/mountains/speakeasy_vr.dmm b/maps/submaps/surface_submaps/mountains/speakeasy_vr.dmm
new file mode 100644
index 0000000000..6d6cc6cdbb
--- /dev/null
+++ b/maps/submaps/surface_submaps/mountains/speakeasy_vr.dmm
@@ -0,0 +1,54 @@
+"a" = (/turf/template_noop,/area/submap/Speakeasy)
+"c" = (/turf/simulated/floor/carpet/turcarpet,/area/submap/Speakeasy)
+"f" = (/obj/structure/table/gamblingtable,/turf/simulated/floor/wood,/area/submap/Speakeasy)
+"g" = (/obj/structure/bed/chair/wood{dir = 1},/turf/simulated/floor/wood,/area/submap/Speakeasy)
+"h" = (/obj/random/handgun,/turf/simulated/floor/wood,/area/submap/Speakeasy)
+"i" = (/obj/item/clothing/head/fedora,/turf/simulated/floor/wood,/area/submap/Speakeasy)
+"j" = (/obj/structure/bookcase,/turf/simulated/floor/wood,/area/submap/Speakeasy)
+"k" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/wood,/area/submap/Speakeasy)
+"l" = (/obj/structure/bed/chair/comfy/black,/turf/simulated/floor/carpet/turcarpet,/area/submap/Speakeasy)
+"m" = (/obj/structure/table/woodentable,/obj/machinery/light/poi{dir = 4},/turf/simulated/floor/wood,/area/submap/Speakeasy)
+"n" = (/obj/structure/reagent_dispensers/beerkeg,/turf/simulated/floor/wood,/area/submap/Speakeasy)
+"o" = (/obj/structure/simple_door/wood,/turf/simulated/floor/wood,/area/submap/Speakeasy)
+"p" = (/obj/machinery/media/jukebox,/turf/simulated/floor/wood,/area/submap/Speakeasy)
+"s" = (/obj/structure/bed/chair/wood{dir = 4},/turf/simulated/floor/wood,/area/submap/Speakeasy)
+"u" = (/obj/structure/table/gamblingtable,/obj/machinery/light/poi{dir = 4},/turf/simulated/floor/wood,/area/submap/Speakeasy)
+"v" = (/obj/structure/table/fancyblack,/obj/item/clothing/mask/smokable/cigarette/cigar,/turf/simulated/floor/carpet/turcarpet,/area/submap/Speakeasy)
+"w" = (/turf/simulated/wall/wood,/area/submap/Speakeasy)
+"x" = (/obj/structure/bed/chair/sofa/blue/left{dir = 4},/turf/simulated/floor/wood,/area/submap/Speakeasy)
+"B" = (/turf/simulated/floor/wood,/area/submap/Speakeasy)
+"C" = (/turf/simulated/mineral/floor/cave,/area/submap/Speakeasy)
+"D" = (/obj/structure/bed/chair/sofa/black/corner{dir = 4},/turf/simulated/floor/wood,/area/submap/Speakeasy)
+"E" = (/obj/structure/bed/chair/comfy/black{dir = 1},/turf/simulated/floor/carpet/turcarpet,/area/submap/Speakeasy)
+"H" = (/obj/machinery/vending/boozeomat,/turf/simulated/floor/wood,/area/submap/Speakeasy)
+"I" = (/obj/structure/table/woodentable,/obj/random/drinkbottle,/turf/simulated/floor/wood,/area/submap/Speakeasy)
+"K" = (/obj/effect/floor_decal/corner/black/diagonal,/turf/simulated/floor/tiled/neutral,/area/submap/Speakeasy)
+"L" = (/obj/structure/bed/chair/wood{dir = 8},/turf/simulated/floor/wood,/area/submap/Speakeasy)
+"M" = (/obj/machinery/light/poi{dir = 1},/turf/simulated/floor/carpet/turcarpet,/area/submap/Speakeasy)
+"N" = (/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/submap/Speakeasy)
+"O" = (/obj/machinery/light/poi{dir = 1},/turf/simulated/floor/wood,/area/submap/Speakeasy)
+"R" = (/obj/structure/bed/chair/sofa/black{dir = 1},/turf/simulated/floor/wood,/area/submap/Speakeasy)
+"U" = (/obj/structure/bed/chair/sofa/blue/right{dir = 1},/turf/simulated/floor/wood,/area/submap/Speakeasy)
+"V" = (/obj/structure/table/woodentable,/obj/machinery/chemical_dispenser/bar_soft/full{dir = 1},/turf/simulated/floor/wood,/area/submap/Speakeasy)
+"W" = (/obj/structure/bed/chair/wood,/turf/simulated/floor/wood,/area/submap/Speakeasy)
+"X" = (/obj/structure/table/woodentable,/obj/machinery/chemical_dispenser/bar_alc/full,/turf/simulated/floor/wood,/area/submap/Speakeasy)
+"Y" = (/obj/structure/table/fancyblack,/obj/random/cash/big,/turf/simulated/floor/carpet/turcarpet,/area/submap/Speakeasy)
+
+(1,1,1) = {"
+aaaaaaaaaaaaaaaa
+awwwwwwwwwwaaaaa
+awnnwBMlMBwwwwaa
+awiBjBYvYBwfLwwa
+awhBjBcEcBwgBBwa
+awwwwBBBBBwBWWwa
+awXHwwwowwwBNmwa
+awBBBOBBBBBBNNwa
+awVNININNIBBggwa
+awBkkkkkkkBBBBwa
+awpBBBBBBBKKKWwa
+awwxffBBBBKKKuwa
+aawDRUBBBBKKKgwa
+aawwwwBBBBsfLwwa
+aaaaawwowwwwwwaa
+aaaaaaCCCaaaaaaa
+"}
diff --git a/maps/tether/tether-01-surface1.dmm b/maps/tether/tether-01-surface1.dmm
index 3b5e916f3d..ca612423f8 100644
--- a/maps/tether/tether-01-surface1.dmm
+++ b/maps/tether/tether-01-surface1.dmm
@@ -24331,6 +24331,7 @@
},
/turf/simulated/floor/wood,
/area/crew_quarters/sleep/Dorm_6)
+<<<<<<< HEAD
"aOO" = (
/obj/machinery/door/firedoor/glass,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
@@ -24344,6 +24345,16 @@
},
/turf/simulated/floor/wood,
/area/crew_quarters/sleep/Dorm_6)
+||||||| parent of f19bc87ece... Merge pull request #10230 from TheFurryFeline/TFF-Brig_Flashes
+=======
+"aOO" = (
+/obj/machinery/flasher{
+ id = "SurfaceBrigFlash";
+ pixel_y = -20
+ },
+/turf/simulated/floor/tiled/dark,
+/area/tether/surfacebase/security/brig)
+>>>>>>> f19bc87ece... Merge pull request #10230 from TheFurryFeline/TFF-Brig_Flashes
"aOP" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
@@ -24650,6 +24661,7 @@
/obj/item/weapon/towel/random,
/turf/simulated/floor/wood,
/area/crew_quarters/sleep/Dorm_6)
+<<<<<<< HEAD
"aPj" = (
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 1
@@ -24658,6 +24670,33 @@
/obj/structure/table/standard,
/turf/simulated/floor/tiled/white,
/area/crew_quarters/sleep/Dorm_6)
+||||||| parent of f19bc87ece... Merge pull request #10230 from TheFurryFeline/TFF-Brig_Flashes
+=======
+"aPj" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/structure/cable/green{
+ d1 = 2;
+ d2 = 4;
+ icon_state = "2-4"
+ },
+/obj/effect/floor_decal/corner/lightorange{
+ dir = 5
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 6
+ },
+/obj/machinery/flasher{
+ id = "SurfaceBrigFlash"
+ },
+/obj/effect/floor_decal/industrial/outline/yellow,
+/turf/simulated/floor/tiled,
+/area/tether/surfacebase/security/brig)
+>>>>>>> f19bc87ece... Merge pull request #10230 from TheFurryFeline/TFF-Brig_Flashes
"aPk" = (
/obj/machinery/shower{
dir = 1
@@ -25515,6 +25554,7 @@
},
/turf/simulated/floor/wood,
/area/crew_quarters/sleep/Dorm_4)
+<<<<<<< HEAD
"aQO" = (
/obj/machinery/door/firedoor/glass,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
@@ -25528,6 +25568,24 @@
},
/turf/simulated/floor/wood,
/area/crew_quarters/sleep/Dorm_4)
+||||||| parent of f19bc87ece... Merge pull request #10230 from TheFurryFeline/TFF-Brig_Flashes
+=======
+"aQO" = (
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/flasher{
+ id = "SurfaceBrigFlash"
+ },
+/obj/effect/floor_decal/industrial/outline/yellow,
+/turf/simulated/floor/tiled,
+/area/tether/surfacebase/security/brig)
+>>>>>>> f19bc87ece... Merge pull request #10230 from TheFurryFeline/TFF-Brig_Flashes
"aQP" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
@@ -25835,6 +25893,7 @@
/obj/item/weapon/towel/random,
/turf/simulated/floor/wood,
/area/crew_quarters/sleep/Dorm_4)
+<<<<<<< HEAD
"aRs" = (
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 1
@@ -25843,6 +25902,23 @@
/obj/structure/table/standard,
/turf/simulated/floor/tiled/white,
/area/crew_quarters/sleep/Dorm_4)
+||||||| parent of f19bc87ece... Merge pull request #10230 from TheFurryFeline/TFF-Brig_Flashes
+=======
+"aRs" = (
+/obj/structure/cable/green{
+ d1 = 1;
+ d2 = 2;
+ icon_state = "1-2"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply,
+/obj/machinery/flasher{
+ id = "SurfaceBrigFlash"
+ },
+/obj/effect/floor_decal/industrial/outline/yellow,
+/turf/simulated/floor/tiled,
+/area/tether/surfacebase/security/brig)
+>>>>>>> f19bc87ece... Merge pull request #10230 from TheFurryFeline/TFF-Brig_Flashes
"aRt" = (
/obj/machinery/shower{
dir = 1
@@ -26561,6 +26637,7 @@
},
/turf/simulated/floor/wood,
/area/crew_quarters/sleep/Dorm_2)
+<<<<<<< HEAD
"aSZ" = (
/obj/machinery/door/firedoor/glass,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
@@ -26574,6 +26651,16 @@
},
/turf/simulated/floor/wood,
/area/crew_quarters/sleep/Dorm_2)
+||||||| parent of f19bc87ece... Merge pull request #10230 from TheFurryFeline/TFF-Brig_Flashes
+=======
+"aSZ" = (
+/obj/machinery/flasher{
+ id = "SurfaceBrigFlash"
+ },
+/obj/effect/floor_decal/industrial/outline/yellow,
+/turf/simulated/floor/tiled,
+/area/tether/surfacebase/security/brig)
+>>>>>>> f19bc87ece... Merge pull request #10230 from TheFurryFeline/TFF-Brig_Flashes
"aTa" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
@@ -26912,6 +26999,7 @@
/obj/item/weapon/towel/random,
/turf/simulated/floor/wood,
/area/crew_quarters/sleep/Dorm_2)
+<<<<<<< HEAD
"aTH" = (
/obj/machinery/atmospherics/unary/vent_pump/on{
dir = 1
@@ -26920,6 +27008,22 @@
/obj/structure/table/standard,
/turf/simulated/floor/tiled/white,
/area/crew_quarters/sleep/Dorm_2)
+||||||| parent of f19bc87ece... Merge pull request #10230 from TheFurryFeline/TFF-Brig_Flashes
+=======
+"aTH" = (
+/obj/effect/floor_decal/steeldecal/steel_decals4{
+ dir = 1
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals4{
+ dir = 6
+ },
+/obj/machinery/button/flasher{
+ id = "SurfaceVisitFlash";
+ pixel_y = -20
+ },
+/turf/simulated/floor/tiled/dark,
+/area/tether/surfacebase/security/brig)
+>>>>>>> f19bc87ece... Merge pull request #10230 from TheFurryFeline/TFF-Brig_Flashes
"aTI" = (
/obj/machinery/shower{
dir = 1
@@ -28484,6 +28588,7 @@
},
/turf/simulated/floor/tiled,
/area/crew_quarters/visitor_laundry)
+<<<<<<< HEAD
"aWp" = (
/obj/structure/cable/green{
d1 = 1;
@@ -28492,6 +28597,20 @@
},
/turf/simulated/floor/tiled,
/area/crew_quarters/visitor_laundry)
+||||||| parent of f19bc87ece... Merge pull request #10230 from TheFurryFeline/TFF-Brig_Flashes
+=======
+"aWp" = (
+/obj/effect/floor_decal/steeldecal/steel_decals4,
+/obj/effect/floor_decal/steeldecal/steel_decals4{
+ dir = 10
+ },
+/obj/machinery/flasher{
+ id = "SurfaceVisitFlash";
+ pixel_y = -20
+ },
+/turf/simulated/floor/tiled/dark,
+/area/tether/surfacebase/security/brig)
+>>>>>>> f19bc87ece... Merge pull request #10230 from TheFurryFeline/TFF-Brig_Flashes
"aWq" = (
/obj/machinery/atmospherics/pipe/simple/visible/yellow{
dir = 4
@@ -28919,6 +29038,92 @@
/obj/random/junk,
/turf/simulated/floor/wood,
/area/crew_quarters/sleep/maintDorm2)
+"aXo" = (
+/obj/machinery/button/remote/airlock{
+ id = "brigouter";
+ name = "Outer Brig Doors";
+ pixel_x = 24;
+ pixel_y = -4;
+ req_access = list(2)
+ },
+/obj/machinery/button/remote/airlock{
+ id = "briginner";
+ name = "Inner Brig Doors";
+ pixel_x = 34;
+ pixel_y = -4;
+ req_access = list(2)
+ },
+/obj/effect/floor_decal/borderfloor{
+ dir = 4
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 6
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 5
+ },
+/obj/effect/floor_decal/corner/lightorange/bordercorner2{
+ dir = 5
+ },
+/obj/effect/floor_decal/corner/lightorange/bordercorner2{
+ dir = 6
+ },
+/obj/machinery/button/flasher{
+ id = "SurfaceBrigFlash";
+ pixel_x = 30;
+ pixel_y = 5
+ },
+/turf/simulated/floor/tiled,
+/area/tether/surfacebase/security/lowerhall)
+"aXp" = (
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/green{
+ dir = 4
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 8
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/effect/floor_decal/steeldecal/steel_decals6{
+ dir = 9
+ },
+/obj/machinery/flasher{
+ id = "SurfaceBrigFlash"
+ },
+/obj/effect/floor_decal/industrial/outline/yellow,
+/turf/simulated/floor/tiled,
+/area/tether/surfacebase/security/brig)
+"aXq" = (
+/obj/structure/cable/green{
+ icon_state = "1-8"
+ },
+/obj/structure/cable/green{
+ d1 = 2;
+ d2 = 8;
+ icon_state = "2-8"
+ },
+/obj/effect/floor_decal/corner/lightorange{
+ dir = 6
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
+/obj/machinery/flasher{
+ id = "SurfaceBrigFlash"
+ },
+/obj/effect/floor_decal/industrial/outline/yellow,
+/turf/simulated/floor/tiled,
+/area/tether/surfacebase/security/brig)
"aXr" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -31686,15 +31891,6 @@
"cGJ" = (
/turf/simulated/floor/plating,
/area/maintenance/lower/mining_eva)
-"cGU" = (
-/obj/effect/floor_decal/steeldecal/steel_decals4{
- dir = 1
- },
-/obj/effect/floor_decal/steeldecal/steel_decals4{
- dir = 6
- },
-/turf/simulated/floor/tiled/dark,
-/area/tether/surfacebase/security/brig)
"cHW" = (
/obj/effect/floor_decal/steeldecal/steel_decals6{
dir = 10
@@ -33007,13 +33203,6 @@
},
/turf/simulated/floor/tiled,
/area/crew_quarters/locker/laundry_arrival)
-"hzx" = (
-/obj/effect/floor_decal/steeldecal/steel_decals4,
-/obj/effect/floor_decal/steeldecal/steel_decals4{
- dir = 10
- },
-/turf/simulated/floor/tiled/dark,
-/area/tether/surfacebase/security/brig)
"hAe" = (
/turf/simulated/floor/looking_glass{
dir = 5
@@ -34957,29 +35146,6 @@
/obj/structure/closet/crate/bin,
/turf/simulated/floor/carpet/bcarpet,
/area/tether/surfacebase/funny/mimeoffice)
-"nmf" = (
-/obj/structure/cable/green{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8"
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/green{
- dir = 4
- },
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 8
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/obj/effect/floor_decal/steeldecal/steel_decals6{
- dir = 9
- },
-/turf/simulated/floor/tiled,
-/area/tether/surfacebase/security/brig)
"nmA" = (
/obj/machinery/door/airlock/silver{
name = "Mime's Office";
@@ -36102,26 +36268,6 @@
},
/turf/simulated/floor/plating,
/area/tether/surfacebase/funny/hideyhole)
-"rzZ" = (
-/obj/structure/cable/green{
- d1 = 1;
- d2 = 2;
- icon_state = "1-2"
- },
-/obj/structure/cable/green{
- d1 = 2;
- d2 = 4;
- icon_state = "2-4"
- },
-/obj/effect/floor_decal/corner/lightorange{
- dir = 5
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 6
- },
-/turf/simulated/floor/tiled,
-/area/tether/surfacebase/security/brig)
"rBG" = (
/obj/structure/closet,
/obj/item/weapon/material/minihoe,
@@ -36903,38 +37049,6 @@
},
/turf/simulated/floor/tiled,
/area/rnd/hallway)
-"uDQ" = (
-/obj/machinery/button/remote/airlock{
- id = "brigouter";
- name = "Outer Brig Doors";
- pixel_x = 24;
- pixel_y = -4;
- req_access = list(2)
- },
-/obj/machinery/button/remote/airlock{
- id = "briginner";
- name = "Inner Brig Doors";
- pixel_x = 34;
- pixel_y = -4;
- req_access = list(2)
- },
-/obj/effect/floor_decal/borderfloor{
- dir = 4
- },
-/obj/effect/floor_decal/borderfloor/corner2{
- dir = 6
- },
-/obj/effect/floor_decal/borderfloor/corner2{
- dir = 5
- },
-/obj/effect/floor_decal/corner/lightorange/bordercorner2{
- dir = 5
- },
-/obj/effect/floor_decal/corner/lightorange/bordercorner2{
- dir = 6
- },
-/turf/simulated/floor/tiled,
-/area/tether/surfacebase/security/lowerhall)
"uEK" = (
/obj/effect/floor_decal/borderfloor,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
@@ -37419,24 +37533,6 @@
},
/turf/simulated/floor/tiled,
/area/tether/surfacebase/surface_one_hall)
-"wxV" = (
-/obj/structure/cable/green{
- icon_state = "1-8"
- },
-/obj/structure/cable/green{
- d1 = 2;
- d2 = 8;
- icon_state = "2-8"
- },
-/obj/effect/floor_decal/corner/lightorange{
- dir = 6
- },
-/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/manifold/hidden/supply,
-/turf/simulated/floor/tiled,
-/area/tether/surfacebase/security/brig)
"wzA" = (
/obj/structure/catwalk,
/obj/machinery/alarm{
@@ -45653,7 +45749,7 @@ vRL
hFq
neZ
diq
-uDQ
+aXo
mvM
fLB
dMu
@@ -45936,9 +46032,9 @@ tiJ
kmb
pCj
kUN
-cGU
+aTH
qwV
-nmf
+aXp
hMu
abT
bbd
@@ -46214,13 +46310,13 @@ wwm
jio
pCj
dju
-kmb
+aOO
pCj
dju
-kmb
+aOO
pCj
jzW
-hzx
+aWp
qwV
wtD
wQS
@@ -46640,15 +46736,15 @@ aad
mYf
rQe
ybc
-rzZ
-hTw
+aPj
hTw
hTw
hTw
+aRs
hTw
uFs
ddU
-wxV
+aXq
nID
iKy
anp
@@ -47208,11 +47304,11 @@ aad
pCj
wjq
wjq
-pKE
+aQO
pmV
loj
plW
-tdh
+aSZ
fqa
fOy
eAd
diff --git a/maps/tether/tether-06-station2.dmm b/maps/tether/tether-06-station2.dmm
index 3de57692fc..97d5f7bab4 100644
--- a/maps/tether/tether-06-station2.dmm
+++ b/maps/tether/tether-06-station2.dmm
@@ -144,30 +144,18 @@
/turf/simulated/floor/tiled,
/area/security/brig/visitation)
"ap" = (
-/obj/effect/floor_decal/borderfloor/shifted{
- dir = 4
+/obj/effect/floor_decal/corner/white/border{
+ dir = 8
},
-/obj/effect/floor_decal/corner/red/border/shifted{
- dir = 4
+/obj/item/weapon/paper/crumpled{
+ name = "basketball"
},
-/obj/effect/floor_decal/corner/red{
- dir = 6
+/obj/effect/floor_decal/industrial/outline/yellow,
+/obj/machinery/flasher{
+ id = "AsteroidSecFlash"
},
-/obj/machinery/atmospherics/unary/vent_pump/on{
- dir = 1
- },
-/obj/machinery/button/remote/airlock{
- id = "visitdoor";
- name = "Visitation Access";
- pixel_y = -24
- },
-/obj/structure/cable/green{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8"
- },
-/turf/simulated/floor/tiled,
-/area/security/brig/visitation)
+/turf/simulated/floor/tiled/monotile,
+/area/security/brig)
"aq" = (
/obj/machinery/light{
dir = 4
@@ -388,13 +376,11 @@
/turf/simulated/floor/tiled/dark,
/area/security/brig)
"aO" = (
-/obj/effect/floor_decal/corner/white/border{
- dir = 8
+/obj/effect/floor_decal/industrial/outline/yellow,
+/obj/machinery/flasher{
+ id = "AsteroidSecFlash"
},
-/obj/item/weapon/paper/crumpled{
- name = "basketball"
- },
-/turf/simulated/floor/tiled/monotile,
+/turf/simulated/floor/tiled,
/area/security/brig)
"aP" = (
/turf/simulated/mineral/floor/vacuum,
@@ -1833,16 +1819,35 @@
/turf/simulated/floor/tiled/steel_dirty,
/area/security/brig)
"cO" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 5
+/obj/effect/floor_decal/borderfloor/shifted{
+ dir = 4
+ },
+/obj/effect/floor_decal/corner/red/border/shifted{
+ dir = 4
+ },
+/obj/effect/floor_decal/corner/red{
+ dir = 6
+ },
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 1
+ },
+/obj/machinery/button/remote/airlock{
+ id = "visitdoor";
+ name = "Visitation Access";
+ pixel_y = -24
},
/obj/structure/cable/green{
d1 = 4;
d2 = 8;
icon_state = "4-8"
},
-/turf/simulated/floor/tiled/dark,
-/area/security/brig)
+/obj/machinery/button/flasher{
+ id = "AsteroidVisitingFlash";
+ pixel_x = -10;
+ pixel_y = -20
+ },
+/turf/simulated/floor/tiled,
+/area/security/brig/visitation)
"cP" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/structure/cable/green{
@@ -1948,12 +1953,24 @@
/turf/simulated/floor/tiled/dark,
/area/security/recstorage)
"cW" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/green,
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+/obj/effect/floor_decal/borderfloor/shifted{
+ dir = 8
+ },
+/obj/effect/floor_decal/corner/red/border/shifted{
+ dir = 8
+ },
+/obj/effect/floor_decal/corner/red{
dir = 9
},
+/obj/machinery/atmospherics/unary/vent_pump/on{
+ dir = 1
+ },
+/obj/machinery/flasher{
+ id = "AsteroidVisitingFlash";
+ pixel_y = -20
+ },
/turf/simulated/floor/tiled,
-/area/security/brig)
+/area/security/brig/visitation)
"cX" = (
/obj/machinery/door/firedoor/glass,
/obj/structure/cable/green{
@@ -2260,20 +2277,20 @@
/turf/simulated/floor/tiled,
/area/security/security_cell_hallway)
"dt" = (
-/obj/effect/floor_decal/borderfloor/shifted{
- dir = 8
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 5
},
-/obj/effect/floor_decal/corner/red/border/shifted{
- dir = 8
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
},
-/obj/effect/floor_decal/corner/red{
- dir = 9
+/obj/machinery/flasher{
+ id = "AsteroidSecFlash";
+ pixel_y = -20
},
-/obj/machinery/atmospherics/unary/vent_pump/on{
- dir = 1
- },
-/turf/simulated/floor/tiled,
-/area/security/brig/visitation)
+/turf/simulated/floor/tiled/dark,
+/area/security/brig)
"du" = (
/obj/effect/floor_decal/borderfloorblack{
dir = 8
@@ -2513,12 +2530,14 @@
/turf/simulated/floor/tiled/steel_dirty,
/area/security/brig)
"dQ" = (
-/obj/effect/floor_decal/industrial/warning,
/obj/machinery/atmospherics/pipe/simple/hidden/green,
-/obj/structure/disposalpipe/segment,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 9
},
+/obj/effect/floor_decal/industrial/outline/yellow,
+/obj/machinery/flasher{
+ id = "AsteroidSecFlash"
+ },
/turf/simulated/floor/tiled,
/area/security/brig)
"dR" = (
@@ -7798,6 +7817,58 @@
},
/turf/simulated/floor/tiled,
/area/hallway/station/starboard)
+<<<<<<< HEAD
+||||||| parent of f19bc87ece... Merge pull request #10230 from TheFurryFeline/TFF-Brig_Flashes
+"lU" = (
+/obj/structure/shuttle/engine/propulsion{
+ dir = 8;
+ icon_state = "propulsion_l"
+ },
+/turf/space,
+/turf/simulated/shuttle/plating/airless/carry,
+/area/shuttle/large_escape_pod1)
+"lV" = (
+/obj/structure/shuttle/engine/propulsion{
+ dir = 8
+ },
+/turf/space,
+/turf/simulated/shuttle/plating/airless/carry,
+/area/shuttle/large_escape_pod1)
+=======
+"lU" = (
+/obj/effect/floor_decal/industrial/warning,
+/obj/machinery/atmospherics/pipe/simple/hidden/green,
+/obj/structure/disposalpipe/segment,
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 9
+ },
+/obj/effect/floor_decal/industrial/outline/yellow,
+/obj/machinery/flasher{
+ id = "AsteroidSecFlash"
+ },
+/turf/simulated/floor/tiled,
+/area/security/brig)
+"lV" = (
+/obj/effect/floor_decal/borderfloor{
+ dir = 1
+ },
+/obj/effect/floor_decal/corner/red/border{
+ dir = 1
+ },
+/obj/effect/floor_decal/borderfloor/corner2{
+ dir = 4
+ },
+/obj/effect/floor_decal/corner/red/bordercorner2{
+ dir = 4
+ },
+/obj/machinery/button/flasher{
+ id = "AsteroidSecFlash";
+ pixel_x = 20;
+ pixel_y = 20
+ },
+/turf/simulated/floor/tiled,
+/area/security/security_cell_hallway)
+>>>>>>> f19bc87ece... Merge pull request #10230 from TheFurryFeline/TFF-Brig_Flashes
"lW" = (
/obj/structure/cable/green{
d1 = 4;
@@ -9565,6 +9636,43 @@
},
/turf/simulated/floor/tiled,
/area/hallway/station/starboard)
+<<<<<<< HEAD
+||||||| parent of f19bc87ece... Merge pull request #10230 from TheFurryFeline/TFF-Brig_Flashes
+"oB" = (
+/obj/structure/shuttle/engine/propulsion{
+ dir = 8;
+ icon_state = "propulsion_r"
+ },
+/turf/space,
+/turf/simulated/shuttle/plating/airless/carry,
+/area/shuttle/large_escape_pod1)
+=======
+"oB" = (
+/obj/machinery/atmospherics/pipe/simple/hidden/supply{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
+ dir = 4
+ },
+/obj/machinery/atmospherics/pipe/simple/hidden/green{
+ dir = 5
+ },
+/obj/structure/cable/green{
+ d1 = 4;
+ d2 = 8;
+ icon_state = "4-8"
+ },
+/obj/structure/disposalpipe/segment{
+ dir = 1;
+ icon_state = "pipe-c"
+ },
+/obj/effect/floor_decal/industrial/outline/yellow,
+/obj/machinery/flasher{
+ id = "AsteroidSecFlash"
+ },
+/turf/simulated/floor/tiled,
+/area/security/brig)
+>>>>>>> f19bc87ece... Merge pull request #10230 from TheFurryFeline/TFF-Brig_Flashes
"oC" = (
/obj/effect/floor_decal/borderfloor{
dir = 1
@@ -9587,9 +9695,36 @@
/turf/simulated/floor/tiled,
/area/hallway/station/starboard)
"oD" = (
+<<<<<<< HEAD
/obj/structure/shuttle/engine/propulsion{
dir = 8;
icon_state = "propulsion_l"
+||||||| parent of f19bc87ece... Merge pull request #10230 from TheFurryFeline/TFF-Brig_Flashes
+/obj/structure/stairs/spawner/west,
+/turf/simulated/sky/virgo3b/west,
+/turf/simulated/floor/tiled/white,
+/area/medical/biostorage)
+"oE" = (
+/obj/structure/toilet{
+ pixel_y = 6
+ },
+/obj/machinery/light/small{
+ dir = 1
+=======
+/obj/structure/shuttle/engine/propulsion{
+ dir = 8;
+ icon_state = "propulsion_l"
+ },
+/turf/space,
+/turf/simulated/shuttle/plating/airless/carry,
+/area/shuttle/large_escape_pod1)
+"oE" = (
+/obj/structure/toilet{
+ pixel_y = 6
+ },
+/obj/machinery/light/small{
+ dir = 1
+>>>>>>> f19bc87ece... Merge pull request #10230 from TheFurryFeline/TFF-Brig_Flashes
},
/turf/space,
/turf/simulated/shuttle/plating/airless/carry,
@@ -9615,6 +9750,7 @@
/obj/structure/stairs/spawner/west,
/turf/simulated/sky/virgo3b/west,
/turf/simulated/floor/tiled/white,
+<<<<<<< HEAD
/area/medical/biostorage)
=======
"oG" = (
@@ -9623,6 +9759,31 @@
/turf/simulated/floor/tiled/white,
/area/medical/biostorage)
>>>>>>> 1030f26c08... Merge pull request #9904 from Heroman3003/la-coppera
+||||||| parent of f19bc87ece... Merge pull request #10230 from TheFurryFeline/TFF-Brig_Flashes
+/area/medical/recoveryrestroom)
+=======
+/area/medical/recoveryrestroom)
+"oG" = (
+/obj/structure/shuttle/engine/propulsion{
+ dir = 8
+ },
+/turf/space,
+/turf/simulated/shuttle/plating/airless/carry,
+/area/shuttle/large_escape_pod1)
+"oH" = (
+/obj/structure/shuttle/engine/propulsion{
+ dir = 8;
+ icon_state = "propulsion_r"
+ },
+/turf/space,
+/turf/simulated/shuttle/plating/airless/carry,
+/area/shuttle/large_escape_pod1)
+"oI" = (
+/obj/structure/stairs/spawner/west,
+/turf/simulated/sky/virgo3b/west,
+/turf/simulated/floor/tiled/white,
+/area/medical/biostorage)
+>>>>>>> f19bc87ece... Merge pull request #10230 from TheFurryFeline/TFF-Brig_Flashes
"oM" = (
/turf/simulated/open,
/area/engineering/foyer_mezzenine)
@@ -10294,7 +10455,6 @@
/area/ai_monitored/storage/eva)
"qj" = (
/obj/structure/table/woodentable,
-/obj/item/device/binoculars,
/obj/item/weapon/folder/blue,
/obj/structure/cable/green{
d1 = 1;
@@ -18756,27 +18916,6 @@
/obj/item/weapon/book/manual/medical_diagnostics_manual,
/turf/simulated/floor/tiled/white,
/area/maintenance/station/sec_lower)
-"Nc" = (
-/obj/machinery/atmospherics/pipe/simple/hidden/supply{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
- dir = 4
- },
-/obj/machinery/atmospherics/pipe/simple/hidden/green{
- dir = 5
- },
-/obj/structure/cable/green{
- d1 = 4;
- d2 = 8;
- icon_state = "4-8"
- },
-/obj/structure/disposalpipe/segment{
- dir = 1;
- icon_state = "pipe-c"
- },
-/turf/simulated/floor/tiled,
-/area/security/brig)
"Nf" = (
/obj/effect/floor_decal/borderfloor{
dir = 8
@@ -18792,21 +18931,6 @@
},
/turf/simulated/floor/tiled,
/area/engineering/locker_room)
-"Ng" = (
-/obj/effect/floor_decal/borderfloor{
- dir = 1
- },
-/obj/effect/floor_decal/corner/red/border{
- dir = 1
- },
-/obj/effect/floor_decal/borderfloor/corner2{
- dir = 4
- },
-/obj/effect/floor_decal/corner/red/bordercorner2{
- dir = 4
- },
-/turf/simulated/floor/tiled,
-/area/security/security_cell_hallway)
"Nm" = (
/obj/structure/bed/chair{
dir = 8
@@ -27205,7 +27329,7 @@ bh
af
ao
dk
-ap
+cO
dj
dL
Tk
@@ -27489,7 +27613,7 @@ Fq
af
cG
do
-dt
+cW
af
XR
UT
@@ -28193,22 +28317,22 @@ UO
Hc
aS
EE
-aO
+ap
ak
bm
-DF
+aO
ar
bb
bt
-cW
+dQ
bv
bB
es
-dQ
+lU
Ye
cn
YK
-Nc
+oB
hQ
YN
jf
@@ -28523,7 +28647,13 @@ vE
wm
ws
xj
+<<<<<<< HEAD
oG
+||||||| parent of f19bc87ece... Merge pull request #10230 from TheFurryFeline/TFF-Brig_Flashes
+oD
+=======
+oI
+>>>>>>> f19bc87ece... Merge pull request #10230 from TheFurryFeline/TFF-Brig_Flashes
vT
aP
aP
@@ -28633,7 +28763,7 @@ cd
ce
bK
Zu
-Ng
+lV
JD
TY
aE
@@ -28909,13 +29039,13 @@ XT
GM
aS
aY
-cO
+dt
aS
aY
-cO
+dt
aS
aY
-cO
+dt
aS
PJ
Ph
@@ -35462,11 +35592,25 @@ hl
DI
RX
DL
+<<<<<<< HEAD
oD
oE
oE
oE
oF
+||||||| parent of f19bc87ece... Merge pull request #10230 from TheFurryFeline/TFF-Brig_Flashes
+lU
+lV
+lV
+lV
+oB
+=======
+oD
+oG
+oG
+oG
+oH
+>>>>>>> f19bc87ece... Merge pull request #10230 from TheFurryFeline/TFF-Brig_Flashes
oY
sW
ef
diff --git a/maps/tether/tether_areas.dm b/maps/tether/tether_areas.dm
index 58aa3400ab..8f53b49f8b 100644
--- a/maps/tether/tether_areas.dm
+++ b/maps/tether/tether_areas.dm
@@ -973,144 +973,185 @@
icon_state = "recreation_area_restroom"
sound_env = SMALL_ENCLOSED
-/area/crew_quarters/sleep
- limit_mob_size = FALSE
-
/area/crew_quarters/sleep/maintDorm1
name = "\improper Construction Dorm 1"
icon_state = "Sleep"
flags = RAD_SHIELDED
soundproofed = TRUE
+ limit_mob_size = FALSE
+ block_suit_sensors = TRUE
/area/crew_quarters/sleep/maintDorm2
name = "\improper Construction Dorm 2"
icon_state = "Sleep"
flags = RAD_SHIELDED
soundproofed = TRUE
+ limit_mob_size = FALSE
+ block_suit_sensors = TRUE
/area/crew_quarters/sleep/maintDorm3
name = "\improper Construction Dorm 3"
icon_state = "Sleep"
flags = RAD_SHIELDED
soundproofed = TRUE
+ limit_mob_size = FALSE
+ block_suit_sensors = TRUE
/area/crew_quarters/sleep/maintDorm4
name = "\improper Construction Dorm 4"
icon_state = "Sleep"
flags = RAD_SHIELDED
soundproofed = TRUE
+ limit_mob_size = FALSE
+ block_suit_sensors = TRUE
/area/crew_quarters/sleep/vistor_room_1
flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE
+ limit_mob_size = FALSE
+ block_suit_sensors = TRUE
/area/crew_quarters/sleep/vistor_room_2
flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE
+ limit_mob_size = FALSE
+ block_suit_sensors = TRUE
/area/crew_quarters/sleep/vistor_room_3
flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE
+ limit_mob_size = FALSE
+ block_suit_sensors = TRUE
/area/crew_quarters/sleep/vistor_room_4
flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE
+ limit_mob_size = FALSE
+ block_suit_sensors = TRUE
/area/crew_quarters/sleep/vistor_room_5
flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE
+ limit_mob_size = FALSE
+ block_suit_sensors = TRUE
/area/crew_quarters/sleep/vistor_room_6
flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE
+ limit_mob_size = FALSE
+ block_suit_sensors = TRUE
/area/crew_quarters/sleep/vistor_room_7
flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE
+ limit_mob_size = FALSE
+ block_suit_sensors = TRUE
/area/crew_quarters/sleep/vistor_room_8
flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE
+ limit_mob_size = FALSE
+ block_suit_sensors = TRUE
/area/crew_quarters/sleep/vistor_room_9
flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE
+ limit_mob_size = FALSE
+ block_suit_sensors = TRUE
/area/crew_quarters/sleep/vistor_room_10
flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE
+ limit_mob_size = FALSE
+ block_suit_sensors = TRUE
/area/crew_quarters/sleep/vistor_room_11
flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE
+ limit_mob_size = FALSE
+ block_suit_sensors = TRUE
/area/crew_quarters/sleep/vistor_room_12
flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE
+ limit_mob_size = FALSE
+ block_suit_sensors = TRUE
/area/crew_quarters/sleep/Dorm_1
flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE
+ limit_mob_size = FALSE
+ block_suit_sensors = TRUE
/area/crew_quarters/sleep/Dorm_2
flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE
+ limit_mob_size = FALSE
+ block_suit_sensors = TRUE
/area/crew_quarters/sleep/Dorm_3
flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE
+ limit_mob_size = FALSE
+ block_suit_sensors = TRUE
/area/crew_quarters/sleep/Dorm_4
flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE
+ limit_mob_size = FALSE
+ block_suit_sensors = TRUE
/area/crew_quarters/sleep/Dorm_5
flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE
+ limit_mob_size = FALSE
+ block_suit_sensors = TRUE
/area/crew_quarters/sleep/Dorm_6
flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE
+ limit_mob_size = FALSE
+ block_suit_sensors = TRUE
/area/crew_quarters/sleep/Dorm_7
flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE
+ limit_mob_size = FALSE
+ block_suit_sensors = TRUE
/area/crew_quarters/sleep/Dorm_8
flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE
+ limit_mob_size = FALSE
+ block_suit_sensors = TRUE
/area/crew_quarters/sleep/Dorm_9
flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE
+ limit_mob_size = FALSE
+ block_suit_sensors = TRUE
/area/crew_quarters/sleep/Dorm_10
flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE
+ limit_mob_size = FALSE
+ block_suit_sensors = TRUE
/area/crew_quarters/sleep/Dorm_1/holo
name = "\improper Dorm 1 Holodeck"
icon_state = "dk_yellow"
- flags = RAD_SHIELDED | BLUE_SHIELDED
- soundproofed = TRUE
/area/crew_quarters/sleep/Dorm_3/holo
name = "\improper Dorm 3 Holodeck"
icon_state = "dk_yellow"
- flags = RAD_SHIELDED | BLUE_SHIELDED
- soundproofed = TRUE
/area/crew_quarters/sleep/Dorm_5/holo
name = "\improper Dorm 5 Holodeck"
icon_state = "dk_yellow"
- flags = RAD_SHIELDED | BLUE_SHIELDED
- soundproofed = TRUE
/area/crew_quarters/sleep/Dorm_7/holo
name = "\improper Dorm 7 Holodeck"
icon_state = "dk_yellow"
- flags = RAD_SHIELDED | BLUE_SHIELDED
- soundproofed = TRUE
/area/crew_quarters/sleep/spacedorm1
name = "\improper Visitor Lodging 1"
@@ -1118,64 +1159,98 @@
lightswitch = 0
flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE
+ limit_mob_size = FALSE
+ block_suit_sensors = TRUE
+
/area/crew_quarters/sleep/spacedorm2
name = "\improper Visitor Lodging 2"
icon_state = "dk_yellow"
lightswitch = 0
flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE
+ limit_mob_size = FALSE
+ block_suit_sensors = TRUE
+
/area/crew_quarters/sleep/spacedorm3
name = "\improper Visitor Lodging 3"
icon_state = "dk_yellow"
lightswitch = 0
flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE
+ limit_mob_size = FALSE
+ block_suit_sensors = TRUE
+
/area/crew_quarters/sleep/spacedorm4
name = "\improper Visitor Lodging 4"
icon_state = "dk_yellow"
lightswitch = 0
flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE
-
-/area/holodeck/holodorm
limit_mob_size = FALSE
+ block_suit_sensors = TRUE
/area/holodeck/holodorm/source_basic
name = "\improper Holodeck Source"
flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE
+ limit_mob_size = FALSE
+ block_suit_sensors = TRUE
+
/area/holodeck/holodorm/source_desert
name = "\improper Holodeck Source"
flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE
+ limit_mob_size = FALSE
+ block_suit_sensors = TRUE
+
/area/holodeck/holodorm/source_seating
name = "\improper Holodeck Source"
flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE
+ limit_mob_size = FALSE
+ block_suit_sensors = TRUE
+
/area/holodeck/holodorm/source_beach
name = "\improper Holodeck Source"
flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE
+ limit_mob_size = FALSE
+ block_suit_sensors = TRUE
+
/area/holodeck/holodorm/source_garden
name = "\improper Holodeck Source"
flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE
+ limit_mob_size = FALSE
+ block_suit_sensors = TRUE
+
/area/holodeck/holodorm/source_boxing
name = "\improper Holodeck Source"
flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE
+ limit_mob_size = FALSE
+ block_suit_sensors = TRUE
+
/area/holodeck/holodorm/source_snow
name = "\improper Holodeck Source"
flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE
+ limit_mob_size = FALSE
+ block_suit_sensors = TRUE
+
/area/holodeck/holodorm/source_space
name = "\improper Holodeck Source"
flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE
+ limit_mob_size = FALSE
+ block_suit_sensors = TRUE
+
/area/holodeck/holodorm/source_off
name = "\improper Holodeck Source"
flags = RAD_SHIELDED | BLUE_SHIELDED
soundproofed = TRUE
+ limit_mob_size = FALSE
+ block_suit_sensors = TRUE
/area/ai_core_foyer
name = "\improper AI Core Access"
diff --git a/maps/tether/tether_things.dm b/maps/tether/tether_things.dm
index 9e251deb0a..44b4948f0d 100644
--- a/maps/tether/tether_things.dm
+++ b/maps/tether/tether_things.dm
@@ -368,6 +368,8 @@ var/global/list/latejoin_tram = list()
..()
for(var/i = 1 to 3)
new /obj/item/weapon/gun/energy/locked/frontier(src)
+ for(var/i = 1 to 2)
+ new /obj/item/weapon/gun/energy/locked/frontier/holdout(src)
// Used at centcomm for the elevator
/obj/machinery/cryopod/robot/door/dorms
diff --git a/maps/tether_better/tether_things.dm b/maps/tether_better/tether_things.dm
index 7e51777370..a0ad2cc1a5 100644
--- a/maps/tether_better/tether_things.dm
+++ b/maps/tether_better/tether_things.dm
@@ -368,6 +368,8 @@ var/global/list/latejoin_tram = list()
..()
for(var/i = 1 to 2)
new /obj/item/weapon/gun/energy/locked/frontier(src)
+ for(var/i = 1 to 2)
+ new /obj/item/weapon/gun/energy/locked/frontier/holdout(src)
// Used at centcomm for the elevator
/obj/machinery/cryopod/robot/door/dorms
diff --git a/sound/effects/whistle.ogg b/sound/effects/whistle.ogg
new file mode 100644
index 0000000000..c52de2f072
Binary files /dev/null and b/sound/effects/whistle.ogg differ
diff --git a/sound/items/confetti.ogg b/sound/items/confetti.ogg
new file mode 100644
index 0000000000..d9b051089e
Binary files /dev/null and b/sound/items/confetti.ogg differ
diff --git a/sound/voice/Bug.ogg b/sound/voice/Bug.ogg
new file mode 100644
index 0000000000..83486e436f
Binary files /dev/null and b/sound/voice/Bug.ogg differ
diff --git a/sound/voice/BugBuzz.ogg b/sound/voice/BugBuzz.ogg
new file mode 100644
index 0000000000..43fda8be42
Binary files /dev/null and b/sound/voice/BugBuzz.ogg differ
diff --git a/sound/voice/BugHiss.ogg b/sound/voice/BugHiss.ogg
new file mode 100644
index 0000000000..3ab342f5c9
Binary files /dev/null and b/sound/voice/BugHiss.ogg differ
diff --git a/sound/voice/cat_purr.ogg b/sound/voice/cat_purr.ogg
new file mode 100644
index 0000000000..1125cb2bbd
Binary files /dev/null and b/sound/voice/cat_purr.ogg differ
diff --git a/sound/voice/cat_purr_long.ogg b/sound/voice/cat_purr_long.ogg
new file mode 100644
index 0000000000..c74b845250
Binary files /dev/null and b/sound/voice/cat_purr_long.ogg differ
diff --git a/sound/voice/moth/scream_moth.ogg b/sound/voice/moth/scream_moth.ogg
new file mode 100644
index 0000000000..482086fb63
Binary files /dev/null and b/sound/voice/moth/scream_moth.ogg differ
diff --git a/sound/voice/multichirp.ogg b/sound/voice/multichirp.ogg
new file mode 100644
index 0000000000..2db358e942
Binary files /dev/null and b/sound/voice/multichirp.ogg differ
diff --git a/sound/voice/quack.ogg b/sound/voice/quack.ogg
new file mode 100644
index 0000000000..cdf3516e89
Binary files /dev/null and b/sound/voice/quack.ogg differ
diff --git a/sound/voice/teshchirp.ogg b/sound/voice/teshchirp.ogg
new file mode 100644
index 0000000000..f13c80dd33
Binary files /dev/null and b/sound/voice/teshchirp.ogg differ
diff --git a/sound/voice/teshsqueak.ogg b/sound/voice/teshsqueak.ogg
new file mode 100644
index 0000000000..41d205ab9f
Binary files /dev/null and b/sound/voice/teshsqueak.ogg differ
diff --git a/sound/voice/teshtrill.ogg b/sound/voice/teshtrill.ogg
new file mode 100644
index 0000000000..db30e988e5
Binary files /dev/null and b/sound/voice/teshtrill.ogg differ
diff --git a/tgui/packages/tgui/interfaces/Cleanbot.js b/tgui/packages/tgui/interfaces/Cleanbot.js
index 949b1794d9..33a810b024 100644
--- a/tgui/packages/tgui/interfaces/Cleanbot.js
+++ b/tgui/packages/tgui/interfaces/Cleanbot.js
@@ -12,6 +12,7 @@ export const Cleanbot = (props, context) => {
version,
blood,
patrol,
+ vocal,
wet_floors,
spray_blood,
rgbpanel,
@@ -42,13 +43,37 @@ export const Cleanbot = (props, context) => {
{!locked && (
-
+
+
+
+
+
+
+
+ {/* VOREStation Edit: Not really used on Vore.*/}
+ {/*
+
+ */}
+ {/* VOREStation Edit End */}
+
) || null}
{(!locked && open) && (
@@ -101,4 +126,4 @@ export const Cleanbot = (props, context) => {
);
-};
\ No newline at end of file
+};
diff --git a/tgui/packages/tgui/interfaces/Farmbot.js b/tgui/packages/tgui/interfaces/Farmbot.js
index 0b1332d69b..55222c4068 100644
--- a/tgui/packages/tgui/interfaces/Farmbot.js
+++ b/tgui/packages/tgui/interfaces/Farmbot.js
@@ -120,4 +120,4 @@ export const Farmbot = (props, context) => {
);
-};
\ No newline at end of file
+};
diff --git a/tgui/packages/tgui/interfaces/Floorbot.js b/tgui/packages/tgui/interfaces/Floorbot.js
index 9c2770340a..95b4834c78 100644
--- a/tgui/packages/tgui/interfaces/Floorbot.js
+++ b/tgui/packages/tgui/interfaces/Floorbot.js
@@ -9,6 +9,7 @@ export const Floorbot = (props, context) => {
on,
open,
locked,
+ vocal,
amount,
possible_bmode,
improvefloors,
@@ -43,6 +44,14 @@ export const Floorbot = (props, context) => {
{!locked && (
+
+
+
- {will_patrol && (
+ {!!bot_patrolling && (
)}
@@ -96,4 +97,4 @@ export const Secbot = (props, context) => {
);
-};
\ No newline at end of file
+};
diff --git a/tgui/packages/tgui/public/tgui.bundle.js b/tgui/packages/tgui/public/tgui.bundle.js
index b92bcd7aae..0b5082cc16 100644
--- a/tgui/packages/tgui/public/tgui.bundle.js
+++ b/tgui/packages/tgui/public/tgui.bundle.js
@@ -32,4 +32,4 @@ r.perf.mark("inception",window.__inception__),r.perf.mark("init");var d,u=(0,l.c
/*! (C) WebReflection Mit Style License */
if(!document.createEvent){var t,n=!0,o=!1,r="__IE8__"+Math.random(),i=Object.defineProperty||function(e,t,n){e[t]=n.value},a=Object.defineProperties||function(t,n){for(var o in n)if(l.call(n,o))try{i(t,o,n[o])}catch(r){e.console}},c=Object.getOwnPropertyDescriptor,l=Object.prototype.hasOwnProperty,d=e.Element.prototype,u=e.Text.prototype,s=/^[a-z]+$/,m=/loaded|complete/,p={},h=document.createElement("div"),C=document.documentElement,f=C.removeAttribute,N=C.setAttribute,b=function(e){return{enumerable:!0,writable:!0,configurable:!0,value:e}};k(e.HTMLCommentElement.prototype,d,"nodeValue"),k(e.HTMLScriptElement.prototype,null,"text"),k(u,null,"nodeValue"),k(e.HTMLTitleElement.prototype,null,"text"),i(e.HTMLStyleElement.prototype,"textContent",(t=c(e.CSSStyleSheet.prototype,"cssText"),_((function(){return t.get.call(this.styleSheet)}),(function(e){t.set.call(this.styleSheet,e)}))));var V=/\b\s*alpha\s*\(\s*opacity\s*=\s*(\d+)\s*\)/;i(e.CSSStyleDeclaration.prototype,"opacity",{get:function(){var e=this.filter.match(V);return e?(e[1]/100).toString():""},set:function(e){this.zoom=1;var t=!1;e=e<1?" alpha(opacity="+Math.round(100*e)+")":"",this.filter=this.filter.replace(V,(function(){return t=!0,e})),!t&&e&&(this.filter+=e)}}),a(d,{textContent:{get:L,set:S},firstElementChild:{get:function(){for(var e=this.childNodes||[],t=0,n=e.length;t3?c(a):null,V=String(a.key),g=String(a.char),v=a.location,_=a.keyCode||(a.keyCode=V)&&V.charCodeAt(0)||0,k=a.charCode||(a.charCode=g)&&g.charCodeAt(0)||0,y=a.bubbles,L=a.cancelable,B=a.repeat,w=a.locale,x=a.view||e;if(a.which||(a.which=a.keyCode),"initKeyEvent"in m)m.initKeyEvent(t,y,L,x,p,C,h,f,_,k);else if(0>>0),t=Element.prototype,n=t.querySelector,o=t.querySelectorAll;function r(t,n,o){t.setAttribute(e,null);var r=n.call(t,String(o).replace(/(^|,\s*)(:scope([ >]|$))/g,(function(t,n,o,r){return n+"["+e+"]"+(r||" ")})));return t.removeAttribute(e),r}t.querySelector=function(e){return r(this,n,e)},t.querySelectorAll=function(e){return r(this,o,e)}}()}}(window),function(e){var t=e.WeakMap||function(){var e,t=0,n=!1,o=!1;function r(t,r,i){o=i,n=!1,e=undefined,t.dispatchEvent(r)}function i(e){this.value=e}function c(){t++,this.__ce__=new a("@DOMMap:"+t+Math.random())}return i.prototype.handleEvent=function(t){n=!0,o?t.currentTarget.removeEventListener(t.type,this,!1):e=this.value},c.prototype={constructor:c,"delete":function(e){return r(e,this.__ce__,!0),n},get:function(t){r(t,this.__ce__,!1);var n=e;return e=undefined,n},has:function(e){return r(e,this.__ce__,!1),n},set:function(e,t){return r(e,this.__ce__,!0),e.addEventListener(this.__ce__.type,new i(t),!1),this}},c}();function n(){}function o(e,t,n){function r(e){r.once&&(e.currentTarget.removeEventListener(e.type,t,r),r.removed=!0),r.passive&&(e.preventDefault=o.preventDefault),"function"==typeof r.callback?r.callback.call(this,e):r.callback&&r.callback.handleEvent(e),r.passive&&delete e.preventDefault}return r.type=e,r.callback=t,r.capture=!!n.capture,r.passive=!!n.passive,r.once=!!n.once,r.removed=!1,r}n.prototype=(Object.create||Object)(null),o.preventDefault=function(){};var r,i,a=e.CustomEvent,c=e.dispatchEvent,l=e.addEventListener,d=e.removeEventListener,u=0,s=function(){u++},m=[].indexOf||function(e){for(var t=this.length;t--&&this[t]!==e;);return t},p=function(e){return"".concat(e.capture?"1":"0",e.passive?"1":"0",e.once?"1":"0")};try{l("_",s,{once:!0}),c(new a("_")),c(new a("_")),d("_",s,{once:!0})}catch(h){}1!==u&&(i=new t,r=function(e){if(e){var t=e.prototype;t.addEventListener=function(e){return function(t,r,a){if(a&&"boolean"!=typeof a){var c,l,d,u=i.get(this),s=p(a);u||i.set(this,u=new n),t in u||(u[t]={handler:[],wrap:[]}),l=u[t],(c=m.call(l.handler,r))<0?(c=l.handler.push(r)-1,l.wrap[c]=d=new n):d=l.wrap[c],s in d||(d[s]=o(t,r,a),e.call(this,t,d[s],d[s].capture))}else e.call(this,t,r,a)}}(t.addEventListener),t.removeEventListener=function(e){return function(t,n,o){if(o&&"boolean"!=typeof o){var r,a,c,l,d=i.get(this);if(d&&t in d&&(c=d[t],-1<(a=m.call(c.handler,n))&&(r=p(o))in(l=c.wrap[a]))){for(r in e.call(this,t,l[r],l[r].capture),delete l[r],l)return;c.handler.splice(a,1),c.wrap.splice(a,1),0===c.handler.length&&delete d[t]}}else e.call(this,t,n,o)}}(t.removeEventListener)}},e.EventTarget?r(EventTarget):(r(e.Text),r(e.Element||e.HTMLElement),r(e.HTMLDocument),r(e.Window||{prototype:e}),r(e.XMLHttpRequest)))}(window)},function(e,t,n){"use strict";!function(e){if("undefined"!=typeof e.setAttribute){var t=function(e){return e.replace(/-[a-z]/g,(function(e){return e[1].toUpperCase()}))};e.setProperty=function(e,n){var o=t(e);if(!n)return this.removeAttribute(o);var r=String(n);return this.setAttribute(o,r)},e.getPropertyValue=function(e){var n=t(e);return this.getAttribute(n)||null},e.removeProperty=function(e){var n=t(e),o=this.getAttribute(n);return this.removeAttribute(n),o}}}(CSSStyleDeclaration.prototype)},function(e,t,n){"use strict";window.Int32Array||(window.Int32Array=Array)},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){},function(e,t,n){"use strict";(function(e){var o=void 0!==e&&e||"undefined"!=typeof self&&self||window,r=Function.prototype.apply;function i(e,t){this._id=e,this._clearFn=t}t.setTimeout=function(){return new i(r.call(setTimeout,o,arguments),clearTimeout)},t.setInterval=function(){return new i(r.call(setInterval,o,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},i.prototype.unref=i.prototype.ref=function(){},i.prototype.close=function(){this._clearFn.call(o,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout((function(){e._onTimeout&&e._onTimeout()}),t))},n(439),t.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||void 0,t.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||void 0}).call(this,n(76))},function(e,t,n){"use strict";(function(e,t){!function(e,n){if(!e.setImmediate){var o,r,i,a,c,l=1,d={},u=!1,s=e.document,m=Object.getPrototypeOf&&Object.getPrototypeOf(e);m=m&&m.setTimeout?m:e,"[object process]"==={}.toString.call(e.process)?o=function(e){t.nextTick((function(){h(e)}))}:!function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage("","*"),e.onmessage=n,t}}()?e.MessageChannel?((i=new MessageChannel).port1.onmessage=function(e){h(e.data)},o=function(e){i.port2.postMessage(e)}):s&&"onreadystatechange"in s.createElement("script")?(r=s.documentElement,o=function(e){var t=s.createElement("script");t.onreadystatechange=function(){h(e),t.onreadystatechange=null,r.removeChild(t),t=null},r.appendChild(t)}):o=function(e){setTimeout(h,0,e)}:(a="setImmediate$"+Math.random()+"$",c=function(t){t.source===e&&"string"==typeof t.data&&0===t.data.indexOf(a)&&h(+t.data.slice(a.length))},e.addEventListener?e.addEventListener("message",c,!1):e.attachEvent("onmessage",c),o=function(t){e.postMessage(a+t,"*")}),m.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),n=0;n1)for(var n=1;n=e.length?{done:!0}:{done:!1,value:e[t++]}};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(t=e[Symbol.iterator]()).next.bind(t)}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n1?r-1:0),a=1;a1?t-1:0),o=1;o=0||(r[n]=e[n]);return r}(e,["className"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,i.Box,Object.assign({className:(0,r.classes)(["BlockQuote",t])},n)))}},function(e,t,n){"use strict";t.__esModule=!0,t.ByondUi=void 0;var o=n(0),r=n(10),i=n(448),a=n(24),c=n(19);function l(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var d=(0,a.createLogger)("ByondUi"),u=[];window.addEventListener("beforeunload",(function(){for(var e=0;e=0||(r[n]=e[n]);return r}(t,["data","rangeX","rangeY","fillColor","strokeColor","strokeWidth"]),f=this.state.viewBox,N=function(e,t,n,o){if(0===e.length)return[];var i=(0,r.zipWith)(Math.min).apply(void 0,e),a=(0,r.zipWith)(Math.max).apply(void 0,e);return n!==undefined&&(i[0]=n[0],a[0]=n[1]),o!==undefined&&(i[1]=o[0],a[1]=o[1]),(0,r.map)((function(e){return(0,r.zipWith)((function(e,t,n,o){return(e-t)/(n-t)*o}))(e,i,a,t)}))(e)}(i,f,c,l);if(N.length>0){var b=N[0],V=N[N.length-1];N.push([f[0]+h,V[1]]),N.push([f[0]+h,-h]),N.push([-h,-h]),N.push([-h,b[1]])}var g=function(e){for(var t="",n=0;n=0||(r[n]=e[n]);return r}(t,["children","color","title","buttons"]);return(0,o.createComponentVNode)(2,r.Box,{mb:1,children:[(0,o.createVNode)(1,"div","Table",[(0,o.createVNode)(1,"div","Table__cell",(0,o.normalizeProps)((0,o.createComponentVNode)(2,i.Button,Object.assign({fluid:!0,color:l,icon:n?"chevron-down":"chevron-right",onClick:function(){return e.setState({open:!n})}},s,{children:d}))),2),u&&(0,o.createVNode)(1,"div","Table__cell Table__cell--collapsing",u,0)],0),n&&(0,o.createComponentVNode)(2,r.Box,{mt:1,children:a})]})},a}(o.Component);t.Collapsible=a},function(e,t,n){"use strict";t.__esModule=!0,t.ColorBox=void 0;var o=n(0),r=n(10),i=n(19);var a=function(e){var t=e.content,n=(e.children,e.className),a=e.color,c=e.backgroundColor,l=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["content","children","className","color","backgroundColor"]);return l.color=t?null:"transparent",l.backgroundColor=a||c,(0,o.normalizeProps)((0,o.createVNode)(1,"div",(0,r.classes)(["ColorBox",n,(0,i.computeBoxClassName)(l)]),t||".",0,Object.assign({},(0,i.computeBoxProps)(l))))};t.ColorBox=a,a.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Dropdown=void 0;var o=n(0),r=n(10),i=n(19),a=n(129);function c(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var l=function(e){var t,n;function l(t){var n;return(n=e.call(this,t)||this).state={selected:t.selected,open:!1},n.handleClick=function(){n.state.open&&n.setOpen(!1)},n}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var d=l.prototype;return d.componentWillUnmount=function(){window.removeEventListener("click",this.handleClick)},d.setOpen=function(e){var t=this;this.setState({open:e}),e?(setTimeout((function(){return window.addEventListener("click",t.handleClick)})),this.menuRef.focus()):window.removeEventListener("click",this.handleClick)},d.setSelected=function(e){this.setState({selected:e}),this.setOpen(!1),this.props.onSelected(e)},d.buildMenu=function(){var e=this,t=this.props,n=t.options,r=void 0===n?[]:n,i=t.placeholder,a=r.map((function(t){return(0,o.createVNode)(1,"div","Dropdown__menuentry",t,0,{onClick:function(){e.setSelected(t)}},t)}));return i&&a.unshift((0,o.createVNode)(1,"div","Dropdown__menuentry",[(0,o.createTextVNode)("-- "),i,(0,o.createTextVNode)(" --")],0,{onClick:function(){e.setSelected(null)}},i)),a},d.render=function(){var e=this,t=this.props,n=t.color,l=void 0===n?"default":n,d=t.over,u=t.noscroll,s=t.nochevron,m=t.width,p=t.maxHeight,h=(t.onClick,t.selected,t.disabled),C=t.placeholder,f=c(t,["color","over","noscroll","nochevron","width","maxHeight","onClick","selected","disabled","placeholder"]),N=f.className,b=c(f,["className"]),V=d?!this.state.open:this.state.open,g=this.state.open?(0,o.createVNode)(1,"div",(0,r.classes)([u?"Dropdown__menu-noscroll":"Dropdown__menu",d&&"Dropdown__over"]),this.buildMenu(),0,{tabIndex:"-1",style:{width:m,"max-height":p}},null,(function(t){e.menuRef=t})):null;return(0,o.createVNode)(1,"div","Dropdown",[(0,o.normalizeProps)((0,o.createComponentVNode)(2,i.Box,Object.assign({width:m,className:(0,r.classes)(["Dropdown__control","Button","Button--color--"+l,h&&"Button--disabled",N])},b,{onClick:function(){h&&!e.state.open||e.setOpen(!e.state.open)},children:[(0,o.createVNode)(1,"span","Dropdown__selected-text",this.state.selected||C,0),!!s||(0,o.createVNode)(1,"span","Dropdown__arrow-button",(0,o.createComponentVNode)(2,a.Icon,{name:V?"chevron-up":"chevron-down"}),2)]}))),g],0)},l}(o.Component);t.Dropdown=l},function(e,t,n){"use strict";t.__esModule=!0,t.GridColumn=t.Grid=void 0;var o=n(0),r=n(182),i=n(10);function a(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){var t=e.children,n=a(e,["children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Table,Object.assign({},n,{children:(0,o.createComponentVNode)(2,r.Table.Row,{children:t})})))};t.Grid=c,c.defaultHooks=i.pureComponentHooks;var l=function(e){var t=e.size,n=void 0===t?1:t,i=e.style,c=a(e,["size","style"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Table.Cell,Object.assign({style:Object.assign({width:n+"%"},i)},c)))};t.GridColumn=l,c.defaultHooks=i.pureComponentHooks,c.Column=l},function(e,t,n){"use strict";t.__esModule=!0,t.Input=void 0;var o=n(0),r=n(10),i=n(19);function a(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){return(0,r.isFalsy)(e)?"":e},l=function(e){var t,n;function l(){var t;return(t=e.call(this)||this).inputRef=(0,o.createRef)(),t.state={editing:!1},t.handleInput=function(e){var n=t.state.editing,o=t.props.onInput;n||t.setEditing(!0),o&&o(e,e.target.value)},t.handleFocus=function(e){t.state.editing||t.setEditing(!0)},t.handleBlur=function(e){var n=t.state.editing,o=t.props.onChange;n&&(t.setEditing(!1),o&&o(e,e.target.value))},t.handleKeyDown=function(e){var n=t.props,o=n.onInput,r=n.onChange,i=n.onEnter;return 13===e.keyCode?(t.setEditing(!1),r&&r(e,e.target.value),o&&o(e,e.target.value),i&&i(e,e.target.value),void(t.props.selfClear?e.target.value="":e.target.blur())):27===e.keyCode?(t.setEditing(!1),e.target.value=c(t.props.value),void e.target.blur()):void 0},t}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var d=l.prototype;return d.componentDidMount=function(){var e=this.props.value,t=this.inputRef.current;t&&(t.value=c(e),this.props.autofocus&&(t.focus(),t.selectionStart=0,t.selectionEnd=t.value.length))},d.componentDidUpdate=function(e,t){var n=this.state.editing,o=e.value,r=this.props.value,i=this.inputRef.current;i&&!n&&o!==r&&(i.value=c(r))},d.setEditing=function(e){this.setState({editing:e})},d.render=function(){var e=this.props,t=(e.selfClear,e.onInput,e.onChange,e.onEnter,e.value,e.maxLength),n=e.placeholder,c=(e.autofocus,a(e,["selfClear","onInput","onChange","onEnter","value","maxLength","placeholder","autofocus"])),l=c.className,d=c.fluid,u=a(c,["className","fluid"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,i.Box,Object.assign({className:(0,r.classes)(["Input",d&&"Input--fluid",l])},u,{children:[(0,o.createVNode)(1,"div","Input__baseline",".",16),(0,o.createVNode)(64,"input","Input__input",null,1,{placeholder:n,onInput:this.handleInput,onFocus:this.handleFocus,onBlur:this.handleBlur,onKeyDown:this.handleKeyDown,maxLength:t},null,this.inputRef)]})))},l}(o.Component);t.Input=l},function(e,t,n){"use strict";t.__esModule=!0,t.Knob=void 0;var o=n(0),r=n(5),i=n(10),a=n(19),c=n(130),l=n(131);t.Knob=function(e){if(Byond.IS_LTE_IE8)return(0,o.normalizeProps)((0,o.createComponentVNode)(2,l.NumberInput,Object.assign({},e)));var t=e.animated,n=e.forcedInputWidth,d=e.format,u=e.maxValue,s=e.minValue,m=e.onChange,p=e.onDrag,h=e.step,C=e.stepPixelSize,f=e.suppressFlicker,N=e.unit,b=e.value,V=e.className,g=e.style,v=e.fillValue,_=e.color,k=e.ranges,y=void 0===k?{}:k,L=e.size,B=e.bipolar,w=(e.children,e.popUpPosition),x=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["animated","forcedInputWidth","format","maxValue","minValue","onChange","onDrag","step","stepPixelSize","suppressFlicker","unit","value","className","style","fillValue","color","ranges","size","bipolar","children","popUpPosition"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,c.DraggableControl,Object.assign({dragMatrix:[0,-1]},{animated:t,forcedInputWidth:n,format:d,maxValue:u,minValue:s,onChange:m,onDrag:p,step:h,stepPixelSize:C,suppressFlicker:f,unit:N,value:b},{children:function(e){var t=e.dragging,n=(e.editing,e.value),c=e.displayValue,l=e.displayElement,d=e.inputElement,m=e.handleDragStart,p=(0,r.scale)(null!=v?v:c,s,u),h=(0,r.scale)(c,s,u),C=_||(0,r.keyOfMatchingRange)(null!=v?v:n,y)||"default",f=270*(h-.5);return(0,o.normalizeProps)((0,o.createVNode)(1,"div",(0,i.classes)(["Knob","Knob--color--"+C,B&&"Knob--bipolar",V,(0,a.computeBoxClassName)(x)]),[(0,o.createVNode)(1,"div","Knob__circle",(0,o.createVNode)(1,"div","Knob__cursorBox",(0,o.createVNode)(1,"div","Knob__cursor"),2,{style:{transform:"rotate("+f+"deg)"}}),2),t&&(0,o.createVNode)(1,"div",(0,i.classes)(["Knob__popupValue",w&&"Knob__popupValue--"+w]),l,0),(0,o.createVNode)(32,"svg","Knob__ring Knob__ringTrackPivot",(0,o.createVNode)(32,"circle","Knob__ringTrack",null,1,{cx:"50",cy:"50",r:"50"}),2,{viewBox:"0 0 100 100"}),(0,o.createVNode)(32,"svg","Knob__ring Knob__ringFillPivot",(0,o.createVNode)(32,"circle","Knob__ringFill",null,1,{style:{"stroke-dashoffset":((B?2.75:2)-1.5*p)*Math.PI*50},cx:"50",cy:"50",r:"50"}),2,{viewBox:"0 0 100 100"}),d],0,Object.assign({},(0,a.computeBoxProps)(Object.assign({style:Object.assign({"font-size":L+"rem"},g)},x)),{onMouseDown:m})))}})))}},function(e,t,n){"use strict";t.__esModule=!0,t.LabeledControls=void 0;var o=n(0),r=n(181);function i(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var a=function(e){var t=e.children,n=i(e,["children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Flex,Object.assign({mx:-.5,align:"stretch",justify:"space-between"},n,{children:t})))};t.LabeledControls=a;a.Item=function(e){var t=e.label,n=e.children,a=i(e,["label","children"]);return(0,o.createComponentVNode)(2,r.Flex.Item,{mx:1,children:(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Flex,Object.assign({minWidth:"52px",height:"100%",direction:"column",align:"center",textAlign:"center",justify:"space-between"},a,{children:[(0,o.createComponentVNode)(2,r.Flex.Item),(0,o.createComponentVNode)(2,r.Flex.Item,{children:n}),(0,o.createComponentVNode)(2,r.Flex.Item,{color:"label",children:t})]})))})}},function(e,t,n){"use strict";t.__esModule=!0,t.NanoMap=void 0;var o=n(0),r=n(2),i=n(1);var a=function(e){return e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault(),e.cancelBubble=!0,e.returnValue=!1,!1},c=function(e){var t,n;function c(t){var n;n=e.call(this,t)||this;var o=window.innerWidth/2-256,r=window.innerHeight/2-256;return n.state={offsetX:o,offsetY:r,transform:"none",dragging:!1,originX:null,originY:null,zoom:1},n.handleDragStart=function(e){n.ref=e.target,n.setState({dragging:!1,originX:e.screenX,originY:e.screenY}),document.addEventListener("mousemove",n.handleDragMove),document.addEventListener("mouseup",n.handleDragEnd),a(e)},n.handleDragMove=function(e){n.setState((function(t){var n=Object.assign({},t),o=e.screenX-n.originX,r=e.screenY-n.originY;return t.dragging?(n.offsetX+=o,n.offsetY+=r,n.originX=e.screenX,n.originY=e.screenY):n.dragging=!0,n})),a(e)},n.handleDragEnd=function(e){n.setState({dragging:!1,originX:null,originY:null}),document.removeEventListener("mousemove",n.handleDragMove),document.removeEventListener("mouseup",n.handleDragEnd),a(e)},n.handleZoom=function(e,o){n.setState((function(e){var n=Math.min(Math.max(o,1),8),r=1.5*(n-e.zoom);e.zoom=n;var i=e.offsetX-262*r;i<-500&&(i=-500),i>500&&(i=500);var a=e.offsetY-256*r;return a<-200&&(a=-200),a>200&&(a=200),e.offsetX=i,e.offsetY=a,t.onZoom&&t.onZoom(e.zoom),e}))},n}return n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,c.prototype.render=function(){var e=(0,i.useBackend)(this.context).config,t=this.state,n=t.dragging,a=t.offsetX,c=t.offsetY,d=t.zoom,u=void 0===d?1:d,s=this.props.children,m=280*u+"px",p={width:m,height:m,"margin-top":c+"px","margin-left":a+"px",overflow:"hidden",position:"relative","background-image":"url("+e.map+"_nanomap_z"+e.mapZLevel+".png)","background-size":"cover","background-repeat":"no-repeat","text-align":"center",cursor:n?"move":"auto"};return(0,o.createComponentVNode)(2,r.Box,{className:"NanoMap__container",children:[(0,o.createComponentVNode)(2,r.Box,{style:p,textAlign:"center",onMouseDown:this.handleDragStart,children:(0,o.createComponentVNode)(2,r.Box,{children:s})}),(0,o.createComponentVNode)(2,l,{zoom:u,onZoom:this.handleZoom})]})},c}(o.Component);t.NanoMap=c;c.Marker=function(e,t){var n=e.x,i=e.y,c=e.zoom,l=void 0===c?1:c,d=e.icon,u=e.tooltip,s=e.color,m=e.onClick,p=2*n*l-l-3,h=2*i*l-l-3;return(0,o.createVNode)(1,"div",null,(0,o.createComponentVNode)(2,r.Box,{position:"absolute",className:"NanoMap__marker",lineHeight:"0",bottom:h+"px",left:p+"px",onMouseDown:function(e){a(e),m(e)},children:[(0,o.createComponentVNode)(2,r.Icon,{name:d,color:s,fontSize:"6px"}),(0,o.createComponentVNode)(2,r.Tooltip,{content:u})]}),2)};var l=function(e,t){var n=(0,i.useBackend)(t),a=n.act,c=n.config,l=n.data;return(0,o.createComponentVNode)(2,r.Box,{className:"NanoMap__zoomer",children:(0,o.createComponentVNode)(2,r.LabeledList,{children:[(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Zoom",children:(0,o.createComponentVNode)(2,r.Slider,{minValue:"1",maxValue:"8",stepPixelSize:"10",format:function(e){return e+"x"},value:e.zoom,onDrag:function(t,n){return e.onZoom(t,n)}})}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Z-Level",children:l.map_levels.sort((function(e,t){return Number(e)-Number(t)})).map((function(e){return(0,o.createComponentVNode)(2,r.Button,{selected:~~e==~~c.mapZLevel,content:e,onClick:function(){a("setZLevel",{mapZLevel:e})}},e)}))})]})})};c.Zoomer=l},function(e,t,n){"use strict";t.__esModule=!0,t.Modal=void 0;var o=n(0),r=n(10),i=n(19),a=n(179);t.Modal=function(e){var t,n=e.className,c=e.children,l=e.onEnter,d=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className","children","onEnter"]);return l&&(t=function(e){13===(e.which||e.keyCode)&&l(e)}),(0,o.createComponentVNode)(2,a.Dimmer,{onKeyDown:t,children:(0,o.normalizeProps)((0,o.createVNode)(1,"div",(0,r.classes)(["Modal",n,(0,i.computeBoxClassName)(d)]),c,0,Object.assign({},(0,i.computeBoxProps)(d))))})}},function(e,t,n){"use strict";t.__esModule=!0,t.NoticeBox=void 0;var o=n(0),r=n(10),i=n(19);var a=function(e){var t=e.className,n=e.color,a=e.info,c=(e.warning,e.success),l=e.danger,d=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className","color","info","warning","success","danger"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,i.Box,Object.assign({className:(0,r.classes)(["NoticeBox",n&&"NoticeBox--color--"+n,a&&"NoticeBox--type--info",c&&"NoticeBox--type--success",l&&"NoticeBox--type--danger",t])},d)))};t.NoticeBox=a,a.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.ProgressBar=void 0;var o=n(0),r=n(5),i=n(10),a=n(19);var c=function(e){var t=e.className,n=e.value,c=e.minValue,l=void 0===c?0:c,d=e.maxValue,u=void 0===d?1:d,s=e.color,m=e.ranges,p=void 0===m?{}:m,h=e.children,C=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className","value","minValue","maxValue","color","ranges","children"]),f=(0,r.scale)(n,l,u),N=h!==undefined,b=s||(0,r.keyOfMatchingRange)(n,p)||"default";return(0,o.normalizeProps)((0,o.createVNode)(1,"div",(0,i.classes)(["ProgressBar","ProgressBar--color--"+b,t,(0,a.computeBoxClassName)(C)]),[(0,o.createVNode)(1,"div","ProgressBar__fill ProgressBar__fill--animated",null,1,{style:{width:100*(0,r.clamp01)(f)+"%"}}),(0,o.createVNode)(1,"div","ProgressBar__content",N?h:(0,r.toFixed)(100*f)+"%",0)],4,Object.assign({},(0,a.computeBoxProps)(C))))};t.ProgressBar=c,c.defaultHooks=i.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Section=void 0;var o=n(0),r=n(10),i=n(19);var a=function(e){var t=e.className,n=e.title,a=e.level,c=void 0===a?1:a,l=e.buttons,d=e.fill,u=e.stretchContents,s=e.noTopPadding,m=e.children,p=e.scrollable,h=e.flexGrow,C=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className","title","level","buttons","fill","stretchContents","noTopPadding","children","scrollable","flexGrow"]),f=!(0,r.isFalsy)(n)||!(0,r.isFalsy)(l),N=!(0,r.isFalsy)(m);return(0,o.normalizeProps)((0,o.createVNode)(1,"div",(0,r.classes)(["Section","Section--level--"+c,d&&"Section--fill",p&&"Section--scrollable",h&&"Section--flex",t].concat((0,i.computeBoxClassName)(C))),[f&&(0,o.createVNode)(1,"div","Section__title",[(0,o.createVNode)(1,"span","Section__titleText",n,0),(0,o.createVNode)(1,"div","Section__buttons",l,0)],4),N&&(0,o.createVNode)(1,"div",(0,r.classes)(["Section__content",!!u&&"Section__content--stretchContents",!!s&&"Section__content--noTopPadding"]),m,0)],0,Object.assign({},(0,i.computeBoxProps)(C))))};t.Section=a,a.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Slider=void 0;var o=n(0),r=n(5),i=n(10),a=n(19),c=n(130),l=n(131);t.Slider=function(e){if(Byond.IS_LTE_IE8)return(0,o.normalizeProps)((0,o.createComponentVNode)(2,l.NumberInput,Object.assign({},e)));var t=e.animated,n=e.format,d=e.maxValue,u=e.minValue,s=e.onChange,m=e.onDrag,p=e.step,h=e.stepPixelSize,C=e.suppressFlicker,f=e.unit,N=e.value,b=e.className,V=e.fillValue,g=e.color,v=e.ranges,_=void 0===v?{}:v,k=e.children,y=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["animated","format","maxValue","minValue","onChange","onDrag","step","stepPixelSize","suppressFlicker","unit","value","className","fillValue","color","ranges","children"]),L=k!==undefined;return(0,o.normalizeProps)((0,o.createComponentVNode)(2,c.DraggableControl,Object.assign({dragMatrix:[1,0]},{animated:t,format:n,maxValue:d,minValue:u,onChange:s,onDrag:m,step:p,stepPixelSize:h,suppressFlicker:C,unit:f,value:N},{children:function(e){var t=e.dragging,n=(e.editing,e.value),c=e.displayValue,l=e.displayElement,s=e.inputElement,m=e.handleDragStart,p=V!==undefined&&null!==V,h=((0,r.scale)(n,u,d),(0,r.scale)(null!=V?V:c,u,d)),C=(0,r.scale)(c,u,d),f=g||(0,r.keyOfMatchingRange)(null!=V?V:n,_)||"default";return(0,o.normalizeProps)((0,o.createVNode)(1,"div",(0,i.classes)(["Slider","ProgressBar","ProgressBar--color--"+f,b,(0,a.computeBoxClassName)(y)]),[(0,o.createVNode)(1,"div",(0,i.classes)(["ProgressBar__fill",p&&"ProgressBar__fill--animated"]),null,1,{style:{width:100*(0,r.clamp01)(h)+"%",opacity:.4}}),(0,o.createVNode)(1,"div","ProgressBar__fill",null,1,{style:{width:100*(0,r.clamp01)(Math.min(h,C))+"%"}}),(0,o.createVNode)(1,"div","Slider__cursorOffset",[(0,o.createVNode)(1,"div","Slider__cursor"),(0,o.createVNode)(1,"div","Slider__pointer"),t&&(0,o.createVNode)(1,"div","Slider__popupValue",l,0)],0,{style:{width:100*(0,r.clamp01)(C)+"%"}}),(0,o.createVNode)(1,"div","ProgressBar__content",L?k:l,0),s],0,Object.assign({},(0,a.computeBoxProps)(y),{onMouseDown:m})))}})))}},function(e,t,n){"use strict";t.__esModule=!0,t.Tabs=void 0;var o=n(0),r=n(10),i=n(19),a=n(128);function c(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var l=function(e){var t=e.className,n=e.vertical,a=e.children,l=c(e,["className","vertical","children"]);return(0,o.normalizeProps)((0,o.createVNode)(1,"div",(0,r.classes)(["Tabs",n?"Tabs--vertical":"Tabs--horizontal",t,(0,i.computeBoxClassName)(l)]),(0,o.createVNode)(1,"div","Tabs__tabBox",a,0),2,Object.assign({},(0,i.computeBoxProps)(l))))};t.Tabs=l;l.Tab=function(e){var t=e.className,n=e.selected,i=e.altSelection,l=c(e,["className","selected","altSelection"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Button,Object.assign({className:(0,r.classes)(["Tabs__tab",n&&"Tabs__tab--selected",i&&n&&"Tabs__tab--altSelection",t]),selected:!i&&n,color:"transparent"},l)))}},function(e,t,n){var o={"./AICard.js":465,"./APC.js":466,"./AccountsTerminal.js":467,"./AdminShuttleController.js":468,"./AgentCard.js":469,"./AiAirlock.js":470,"./AiRestorer.js":471,"./AiSupermatter.js":472,"./AirAlarm.js":473,"./AlgaeFarm.js":475,"./AppearanceChanger.js":476,"./ArcadeBattle.js":477,"./AreaScrubberControl.js":478,"./AssemblyInfrared.js":479,"./AssemblyProx.js":480,"./AssemblyTimer.js":481,"./AtmosAlertConsole.js":482,"./AtmosControl.js":186,"./AtmosFilter.js":483,"./AtmosMixer.js":484,"./Autolathe.js":485,"./Batteryrack.js":486,"./BeaconLocator.js":487,"./Biogenerator.js":488,"./BodyDesigner.js":489,"./BodyScanner.js":490,"./BombTester.js":491,"./BotanyEditor.js":492,"./BotanyIsolator.js":493,"./BrigTimer.js":494,"./CameraConsole.js":187,"./Canister.js":495,"./CasinoPrizeDispenserCh.js":496,"./CharacterDirectory.js":497,"./ChemDispenser.js":498,"./ChemMaster.js":502,"./ClawMachine.js":503,"./Cleanbot.js":504,"./CloningConsole.js":505,"./ColorMate.js":506,"./CommunicationsConsole.js":189,"./Communicator.js":507,"./ComputerFabricator.js":508,"./CookingAppliance.js":509,"./CrewManifest.js":94,"./CrewMonitor.js":190,"./Cryo.js":510,"./CryoStorage.js":191,"./CryoStorageVr.js":511,"./DNAForensics.js":512,"./DNAModifier.js":513,"./DestinationTagger.js":514,"./DiseaseSplicer.js":515,"./DishIncubator.js":516,"./DisposalBin.js":517,"./DroneConsole.js":518,"./EmbeddedController.js":519,"./ExonetNode.js":520,"./ExosuitFabricator.js":132,"./Farmbot.js":521,"./Fax.js":522,"./FileCabinet.js":523,"./Floorbot.js":524,"./GasPump.js":525,"./GasTemperatureSystem.js":526,"./GeneralAtmoControl.js":527,"./GeneralRecords.js":528,"./Gps.js":529,"./GravityGenerator.js":530,"./GuestPass.js":531,"./GyrotronControl.js":532,"./Holodeck.js":533,"./ICAssembly.js":534,"./ICCircuit.js":535,"./ICDetailer.js":536,"./ICPrinter.js":537,"./IDCard.js":538,"./IdentificationComputer.js":133,"./InventoryPanel.js":539,"./InventoryPanelHuman.js":540,"./IsolationCentrifuge.js":541,"./JanitorCart.js":542,"./Jukebox.js":543,"./LawManager.js":544,"./LookingGlass.js":545,"./MechaControlConsole.js":546,"./Medbot.js":547,"./MedicalRecords.js":548,"./MessageMonitor.js":549,"./Microwave.js":550,"./MiningOreProcessingConsole.js":551,"./MiningStackingConsole.js":552,"./MiningVendor.js":553,"./MuleBot.js":554,"./NIF.js":555,"./NTNetRelay.js":556,"./Newscaster.js":557,"./NoticeBoard.js":558,"./NtosAccessDecrypter.js":559,"./NtosArcade.js":560,"./NtosAtmosControl.js":561,"./NtosCameraConsole.js":562,"./NtosCommunicationsConsole.js":563,"./NtosConfiguration.js":564,"./NtosCrewMonitor.js":565,"./NtosDigitalWarrant.js":566,"./NtosEmailAdministration.js":567,"./NtosEmailClient.js":194,"./NtosFileManager.js":568,"./NtosIdentificationComputer.js":569,"./NtosMain.js":570,"./NtosNetChat.js":571,"./NtosNetDos.js":572,"./NtosNetDownloader.js":573,"./NtosNetMonitor.js":574,"./NtosNetTransfer.js":575,"./NtosNewsBrowser.js":576,"./NtosOvermapNavigation.js":577,"./NtosPowerMonitor.js":578,"./NtosRCON.js":579,"./NtosRevelation.js":580,"./NtosShutoffMonitor.js":581,"./NtosStationAlertConsole.js":582,"./NtosSupermatterMonitor.js":583,"./NtosUAV.js":584,"./NtosWordProcessor.js":585,"./OmniFilter.js":586,"./OmniMixer.js":587,"./OperatingComputer.js":588,"./OvermapDisperser.js":589,"./OvermapEngines.js":200,"./OvermapFull.js":590,"./OvermapHelm.js":201,"./OvermapNavigation.js":195,"./OvermapShieldGenerator.js":591,"./OvermapShipSensors.js":202,"./ParticleAccelerator.js":592,"./PartsLathe.js":593,"./PathogenicIsolator.js":594,"./Pda.js":595,"./Photocopier.js":610,"./PipeDispenser.js":611,"./PlantAnalyzer.js":612,"./PointDefenseControl.js":613,"./PortableGenerator.js":614,"./PortablePump.js":615,"./PortableScrubber.js":616,"./PortableTurret.js":617,"./PowerMonitor.js":135,"./PrecisionEditor.js":618,"./PressureRegulator.js":619,"./PrisonerManagement.js":620,"./RCON.js":196,"./RIGSuit.js":621,"./Radio.js":622,"./RapidPipeDispenser.js":204,"./RequestConsole.js":623,"./ResearchConsole.js":624,"./ResearchServerController.js":625,"./ResleevingConsole.js":626,"./ResleevingPod.js":627,"./RoboticsControlConsole.js":628,"./RogueZones.js":629,"./RustCoreMonitor.js":630,"./RustFuelControl.js":631,"./Secbot.js":632,"./SecurityRecords.js":633,"./SeedStorage.js":634,"./ShieldCapacitor.js":635,"./ShieldGenerator.js":636,"./ShutoffMonitor.js":197,"./ShuttleControl.js":637,"./Signaler.js":203,"./Sleeper.js":638,"./SmartVend.js":639,"./Smes.js":640,"./SolarControl.js":641,"./SpaceHeater.js":642,"./Stack.js":643,"./StarcasterCh.js":644,"./StationAlertConsole.js":198,"./StationBlueprints.js":645,"./SuitCycler.js":646,"./SuitStorageUnit.js":647,"./SupermatterMonitor.js":199,"./SupplyConsole.js":648,"./TEGenerator.js":649,"./Tank.js":650,"./TankDispenser.js":651,"./TelecommsLogBrowser.js":652,"./TelecommsMachineBrowser.js":653,"./TelecommsMultitoolMenu.js":654,"./Teleporter.js":655,"./TelesciConsole.js":656,"./TimeClock.js":657,"./TransferValve.js":658,"./TurbineControl.js":659,"./Turbolift.js":660,"./Uplink.js":661,"./Vending.js":662,"./VolumePanel.js":663,"./VorePanel.js":664,"./Wires.js":665,"./XenoarchArtifactAnalyzer.js":666,"./XenoarchArtifactHarvester.js":667,"./XenoarchDepthScanner.js":668,"./XenoarchHandheldPowerUtilizer.js":669,"./XenoarchReplicator.js":670,"./XenoarchSpectrometer.js":671,"./XenoarchSuspension.js":672,"./pAIAtmos.js":673,"./pAIDirectives.js":674,"./pAIDoorjack.js":675,"./pAIInterface.js":676,"./pAIMedrecords.js":677,"./pAISecrecords.js":678};function r(e){var t=i(e);return n(t)}function i(e){if(!n.o(o,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return o[e]}r.keys=function(){return Object.keys(o)},r.resolve=i,e.exports=r,r.id=464},function(e,t,n){"use strict";t.__esModule=!0,t.AICard=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.AICard=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.has_ai,u=l.integrity,s=l.backup_capacitor,m=l.flushing,p=l.has_laws,h=l.laws,C=l.wireless,f=l.radio;if(0===d)return(0,o.createComponentVNode)(2,a.Window,{width:600,height:470,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:(0,o.createComponentVNode)(2,i.Section,{title:"Stored AI",children:(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createVNode)(1,"h3",null,"No AI detected.",16)})})})});var N=null;N=u>=75?"green":u>=25?"yellow":"red";var b=null;return s>=75&&(b="green"),b=s>=25?"yellow":"red",(0,o.createComponentVNode)(2,a.Window,{width:600,height:470,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Stored AI",children:[(0,o.createComponentVNode)(2,i.Box,{bold:!0,display:"inline-block",children:(0,o.createVNode)(1,"h3",null,name,0)}),(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Integrity",children:(0,o.createComponentVNode)(2,i.ProgressBar,{color:N,value:u/100})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,i.ProgressBar,{color:b,value:s/100})})]})}),(0,o.createComponentVNode)(2,i.Box,{color:"red",children:(0,o.createVNode)(1,"h2",null,1===m?"Wipe of AI in progress...":"",0)})]}),(0,o.createComponentVNode)(2,i.Section,{title:"Laws",children:!!p&&(0,o.createComponentVNode)(2,i.Box,{children:h.map((function(e,t){return(0,o.createComponentVNode)(2,i.Box,{display:"inline-block",children:e},t)}))})||(0,o.createComponentVNode)(2,i.Box,{color:"red",children:(0,o.createVNode)(1,"h3",null,"No laws detected.",16)})}),(0,o.createComponentVNode)(2,i.Section,{title:"Actions",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Wireless Activity",children:(0,o.createComponentVNode)(2,i.Button,{icon:C?"check":"times",content:C?"Enabled":"Disabled",color:C?"green":"red",onClick:function(){return c("wireless")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Subspace Transceiver",children:(0,o.createComponentVNode)(2,i.Button,{icon:f?"check":"times",content:f?"Enabled":"Disabled",color:f?"green":"red",onClick:function(){return c("radio")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"AI Power",children:(0,o.createComponentVNode)(2,i.Button.Confirm,{icon:"radiation",confirmIcon:"radiation",disabled:m||0===u,confirmColor:"red",content:"Shutdown",onClick:function(){return c("wipe")}})})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.APC=void 0;var o=n(0),r=n(1),i=n(2),a=n(3),c=n(185),l=n(61);t.APC=function(e,t){var n=(0,r.useBackend)(t),i=(n.act,n.data),c=(0,o.createComponentVNode)(2,u);return i.gridCheck?c=(0,o.createComponentVNode)(2,s):i.failTime&&(c=(0,o.createComponentVNode)(2,m)),(0,o.createComponentVNode)(2,a.Window,{width:450,height:475,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:c})})};var d={2:{color:"good",externalPowerText:"External Power",chargingText:"Fully Charged"},1:{color:"average",externalPowerText:"Low External Power",chargingText:"Charging"},0:{color:"bad",externalPowerText:"No External Power",chargingText:"Not Charging"}},u=function(e,t){var n=(0,r.useBackend)(t),a=n.act,l=n.data,u=l.locked&&!l.siliconUser,s=(l.normallyLocked,d[l.externalPower]||d[0]),m=d[l.chargingStatus]||d[0],p=l.powerChannels||[],h=l.powerCellStatus/100;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.InterfaceLockNoticeBox,{deny:l.emagged,denialMessage:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{color:"bad",fontSize:"1.5rem",children:"Fault in ID authenticator."}),(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Please contact maintenance for service."})],4)}),(0,o.createComponentVNode)(2,i.Section,{title:"Power Status",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Main Breaker",color:s.color,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:l.isOperating?"power-off":"times",content:l.isOperating?"On":"Off",selected:l.isOperating&&!u,color:l.isOperating?"":"bad",disabled:u,onClick:function(){return a("breaker")}}),children:["[ ",s.externalPowerText," ]"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Power Cell",children:(0,o.createComponentVNode)(2,i.ProgressBar,{color:"good",value:h})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Charge Mode",color:m.color,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:l.chargeMode?"sync":"times",content:l.chargeMode?"Auto":"Off",selected:l.chargeMode,disabled:u,onClick:function(){return a("charge")}}),children:["[ ",m.chargingText," ]"]})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Power Channels",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[p.map((function(e){var t=e.topicParams;return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.title,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{inline:!0,mx:2,color:e.status>=2?"good":"bad",children:e.status>=2?"On":"Off"}),(0,o.createComponentVNode)(2,i.Button,{icon:"sync",content:"Auto",selected:!u&&(1===e.status||3===e.status),disabled:u,onClick:function(){return a("channel",t.auto)}}),(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",content:"On",selected:!u&&2===e.status,disabled:u,onClick:function(){return a("channel",t.on)}}),(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Off",selected:!u&&0===e.status,disabled:u,onClick:function(){return a("channel",t.off)}})],4),children:[e.powerLoad," W"]},e.title)})),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Total Load",children:l.totalCharging?(0,o.createVNode)(1,"b",null,[l.totalLoad,(0,o.createTextVNode)(" W (+ "),l.totalCharging,(0,o.createTextVNode)(" W charging)")],0):(0,o.createVNode)(1,"b",null,[l.totalLoad,(0,o.createTextVNode)(" W")],0)})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Misc",buttons:!!l.siliconUser&&(0,o.createComponentVNode)(2,i.Button,{icon:"lightbulb-o",content:"Overload",onClick:function(){return a("overload")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Cover Lock",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:l.coverLocked?"lock":"unlock",content:l.coverLocked?"Engaged":"Disengaged",selected:l.coverLocked,disabled:u,onClick:function(){return a("cover")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Night Shift Lighting",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"lightbulb-o",content:"Disabled",selected:2===l.nightshiftSetting,onClick:function(){return a("nightshift",{nightshift:2})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"lightbulb-o",content:"Automatic",selected:1===l.nightshiftSetting,onClick:function(){return a("nightshift",{nightshift:1})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"lightbulb-o",content:"Enabled",selected:3===l.nightshiftSetting,onClick:function(){return a("nightshift",{nightshift:3})}})],4)}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Emergency Lighting",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"lightbulb-o",content:l.emergencyLights?"Enabled":"Disabled",selected:l.emergencyLights,onClick:function(){return a("emergency_lighting")}})})]})})],4)},s=function(e,t){return(0,o.createComponentVNode)(2,l.FullscreenNotice,{title:"System Failure",children:[(0,o.createComponentVNode)(2,i.Box,{fontSize:"1.5rem",bold:!0,children:(0,o.createComponentVNode)(2,i.Icon,{name:"exclamation-triangle",verticalAlign:"middle",size:3,mr:"1rem"})}),(0,o.createComponentVNode)(2,i.Box,{fontSize:"1.5rem",bold:!0,children:"Power surge detected, grid check in effect..."})]})},m=function(e,t){var n=(0,r.useBackend)(t),a=n.data,c=n.act,l=(0,o.createComponentVNode)(2,i.Button,{icon:"repeat",content:"Restart Now",color:"good",onClick:function(){return c("reboot")}});return a.locked&&!a.siliconUser&&(l=(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Swipe an ID card for manual reboot."})),(0,o.createComponentVNode)(2,i.Dimmer,{textAlign:"center",children:[(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:(0,o.createVNode)(1,"h1",null,"SYSTEM FAILURE",16)}),(0,o.createComponentVNode)(2,i.Box,{color:"average",children:(0,o.createVNode)(1,"h2",null,"I/O regulators malfunction detected! Waiting for system reboot...",16)}),(0,o.createComponentVNode)(2,i.Box,{color:"good",children:["Automatic reboot in ",a.failTime," seconds..."]}),(0,o.createComponentVNode)(2,i.Box,{mt:4,children:l})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.AccountsTerminal=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.AccountsTerminal=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.id_inserted,s=d.id_card,m=d.access_level,p=d.machine_id;return(0,o.createComponentVNode)(2,a.Window,{width:400,height:640,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Machine",color:"average",children:p}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"ID",children:(0,o.createComponentVNode)(2,i.Button,{icon:u?"eject":"sign-in-alt",fluid:!0,content:s,onClick:function(){return l("insert_card")}})})]})}),m>0&&(0,o.createComponentVNode)(2,c)]})})};var c=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,s=c.creating_new_account,m=c.detailed_account_view;return(0,o.createComponentVNode)(2,i.Section,{title:"Menu",children:[(0,o.createComponentVNode)(2,i.Tabs,{children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:!s&&!m,icon:"home",onClick:function(){return a("view_accounts_list")},children:"Home"}),(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:s,icon:"cog",onClick:function(){return a("create_account")},children:"New Account"}),(0,o.createComponentVNode)(2,i.Tabs.Tab,{disabled:s,icon:"print",onClick:function(){return a("print")},children:"Print"})]}),s&&(0,o.createComponentVNode)(2,l)||m&&(0,o.createComponentVNode)(2,d)||(0,o.createComponentVNode)(2,u)]})},l=function(e,t){var n=(0,r.useBackend)(t).act,a=(0,r.useSharedState)(t,"holder",""),c=a[0],l=a[1],d=(0,r.useSharedState)(t,"money",""),u=d[0],s=d[1];return(0,o.createComponentVNode)(2,i.Section,{title:"Create Account",level:2,children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Account Holder",children:(0,o.createComponentVNode)(2,i.Input,{value:c,fluid:!0,onInput:function(e,t){return l(t)}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Initial Deposit",children:(0,o.createComponentVNode)(2,i.Input,{value:u,fluid:!0,onInput:function(e,t){return s(t)}})})]}),(0,o.createComponentVNode)(2,i.Button,{disabled:!c||!u,mt:1,fluid:!0,icon:"plus",onClick:function(){return n("finalise_create_account",{holder_name:c,starting_funds:u})},content:"Create"})]})},d=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.access_level,d=c.station_account_number,u=c.account_number,s=c.owner_name,m=c.money,p=c.suspended,h=c.transactions;return(0,o.createComponentVNode)(2,i.Section,{title:"Account Details",level:2,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"ban",selected:p,content:"Suspend",onClick:function(){return a("toggle_suspension")}}),children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Account Number",children:["#",u]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Holder",children:s}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Balance",children:[m,"\u20ae"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",color:p?"bad":"good",children:p?"SUSPENDED":"Active"})]}),(0,o.createComponentVNode)(2,i.Section,{title:"CentCom Administrator",level:2,mt:1,children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Payroll",children:(0,o.createComponentVNode)(2,i.Button.Confirm,{color:"bad",fluid:!0,icon:"ban",confirmIcon:"ban",content:"Revoke",confirmContent:"This cannot be undone.",disabled:u===d,onClick:function(){return a("revoke_payroll")}})})})}),l>=2&&(0,o.createComponentVNode)(2,i.Section,{title:"Silent Funds Transfer",level:2,children:[(0,o.createComponentVNode)(2,i.Button,{icon:"plus",onClick:function(){return a("add_funds")},content:"Add Funds"}),(0,o.createComponentVNode)(2,i.Button,{icon:"plus",onClick:function(){return a("remove_funds")},content:"Remove Funds"})]}),(0,o.createComponentVNode)(2,i.Section,{title:"Transactions",level:2,mt:1,children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Timestamp"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Target"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Reason"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Value"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Terminal"})]}),h.map((function(e,t){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:[e.date," ",e.time]}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.target_name}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.purpose}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:[e.amount,"\u20ae"]}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.source_terminal})]},t)}))]})})]})},u=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data.accounts;return(0,o.createComponentVNode)(2,i.Section,{title:"NanoTrasen Accounts",level:2,children:c.length&&(0,o.createComponentVNode)(2,i.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.owner_name+e.suspended,color:e.suspended?"bad":null,children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:"#"+e.account_number,onClick:function(){return a("view_account_detail",{account_index:e.account_index})}})},e.account_index)}))})||(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"There are no accounts available."})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ShuttleList=t.AdminShuttleController=void 0;var o=n(0),r=n(8),i=n(1),a=n(2),c=n(3);t.AdminShuttleController=function(e,t){var n=(0,i.useBackend)(t);n.act,n.data;return(0,o.createComponentVNode)(2,c.Window,{width:600,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,l)})})};var l=function(e,t){var n=(0,i.useBackend)(t),c=n.act,l=n.data,u=l.shuttles,s=l.overmap_ships;return(0,o.createComponentVNode)(2,a.Section,{noTopPadding:!0,children:[(0,o.createComponentVNode)(2,a.Section,{title:"Classic Shuttles",level:2,children:(0,o.createComponentVNode)(2,a.Table,{children:(0,r.sortBy)((function(e){return e.name}))(u).map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,a.Button,{m:0,content:"JMP",onClick:function(){return c("adminobserve",{ref:e.ref})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,a.Button,{m:0,content:"Fly",onClick:function(){return c("classicmove",{ref:e.ref})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.current_location}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:d(e.status)})]},e.ref)}))})}),(0,o.createComponentVNode)(2,a.Section,{title:"Overmap Ships",level:2,children:(0,o.createComponentVNode)(2,a.Table,{children:(0,r.sortBy)((function(e){var t;return(null==(t=e.name)?void 0:t.toLowerCase())||e.name||e.ref}))(s).map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,a.Button,{content:"JMP",onClick:function(){return c("adminobserve",{ref:e.ref})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,a.Button,{content:"Control",onClick:function(){return c("overmap_control",{ref:e.ref})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.name})]},e.ref)}))})})]})};t.ShuttleList=l;var d=function(e){switch(e){case 0:return"Idle";case 1:return"Warmup";case 2:return"Transit";default:return"UNK"}}},function(e,t,n){"use strict";t.__esModule=!0,t.AgentCard=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.AgentCard=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.entries,u=l.electronic_warfare;return(0,o.createComponentVNode)(2,a.Window,{width:550,height:400,theme:"syndicate",children:(0,o.createComponentVNode)(2,a.Window.Content,{children:[(0,o.createComponentVNode)(2,i.Section,{title:"Info",children:(0,o.createComponentVNode)(2,i.Table,{children:d.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return c(e.name.toLowerCase().replace(/ /g,""))},icon:"cog"})}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.value})]},e.name)}))})}),(0,o.createComponentVNode)(2,i.Section,{title:"Electronic Warfare",children:(0,o.createComponentVNode)(2,i.Button.Checkbox,{checked:u,content:u?"Electronic warfare is enabled. This will prevent you from being tracked by the AI.":"Electronic warfare disabled.",onClick:function(){return c("electronic_warfare")}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AiAirlock=void 0;var o=n(0),r=n(1),i=n(2),a=n(3),c={2:{color:"good",localStatusText:"Optimal"},1:{color:"average",localStatusText:"Caution"},0:{color:"bad",localStatusText:"Offline"}};t.AiAirlock=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=c[d.power.main]||c[0],s=c[d.power.backup]||c[0],m=c[d.shock]||c[0];return(0,o.createComponentVNode)(2,a.Window,{width:500,height:390,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:[(0,o.createComponentVNode)(2,i.Section,{title:"Power Status",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Main",color:u.color,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"lightbulb-o",disabled:!d.power.main,content:"Disrupt",onClick:function(){return l("disrupt-main")}}),children:[d.power.main?"Online":"Offline"," ",d.wires.main_1&&d.wires.main_2?d.power.main_timeleft>0&&"["+d.power.main_timeleft+"s]":"[Wires have been cut!]"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Backup",color:s.color,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"lightbulb-o",disabled:!d.power.backup,content:"Disrupt",onClick:function(){return l("disrupt-backup")}}),children:[d.power.backup?"Online":"Offline"," ",d.wires.backup_1&&d.wires.backup_2?d.power.backup_timeleft>0&&"["+d.power.backup_timeleft+"s]":"[Wires have been cut!]"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Electrify",color:m.color,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"wrench",disabled:!(d.wires.shock&&0===d.shock),content:"Restore",onClick:function(){return l("shock-restore")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"bolt",disabled:!d.wires.shock,content:"Temporary",onClick:function(){return l("shock-temp")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"bolt",disabled:!d.wires.shock,content:"Permanent",onClick:function(){return l("shock-perm")}})],4),children:[2===d.shock?"Safe":"Electrified"," ",(d.wires.shock?d.shock_timeleft>0&&"["+d.shock_timeleft+"s]":"[Wires have been cut!]")||-1===d.shock_timeleft&&"[Permanent]"]})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Access and Door Control",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"ID Scan",color:"bad",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:d.id_scanner?"power-off":"times",content:d.id_scanner?"Enabled":"Disabled",selected:d.id_scanner,disabled:!d.wires.id_scanner,onClick:function(){return l("idscan-toggle")}}),children:!d.wires.id_scanner&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,i.LabeledList.Divider),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Door Bolts",color:"bad",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:d.locked?"lock":"unlock",content:d.locked?"Lowered":"Raised",selected:d.locked,disabled:!d.wires.bolts,onClick:function(){return l("bolt-toggle")}}),children:!d.wires.bolts&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Door Bolt Lights",color:"bad",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:d.lights?"power-off":"times",content:d.lights?"Enabled":"Disabled",selected:d.lights,disabled:!d.wires.lights,onClick:function(){return l("light-toggle")}}),children:!d.wires.lights&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Door Force Sensors",color:"bad",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:d.safe?"power-off":"times",content:d.safe?"Enabled":"Disabled",selected:d.safe,disabled:!d.wires.safe,onClick:function(){return l("safe-toggle")}}),children:!d.wires.safe&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Door Timing Safety",color:"bad",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:d.speed?"power-off":"times",content:d.speed?"Enabled":"Disabled",selected:d.speed,disabled:!d.wires.timing,onClick:function(){return l("speed-toggle")}}),children:!d.wires.timing&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,i.LabeledList.Divider),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Door Control",color:"bad",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:d.opened?"sign-out-alt":"sign-in-alt",content:d.opened?"Open":"Closed",selected:d.opened,disabled:d.locked||d.welded,onClick:function(){return l("open-close")}}),children:!(!d.locked&&!d.welded)&&(0,o.createVNode)(1,"span",null,[(0,o.createTextVNode)("[Door is "),d.locked?"bolted":"",d.locked&&d.welded?" and ":"",d.welded?"welded":"",(0,o.createTextVNode)("!]")],0)})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AiRestorerContent=t.AiRestorer=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.AiRestorer=function(){return(0,o.createComponentVNode)(2,a.Window,{width:370,height:360,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,c)})})};var c=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.AI_present,d=c.error,u=c.name,s=c.laws,m=c.isDead,p=c.restoring,h=c.health,C=c.ejectable;return(0,o.createFragment)([d&&(0,o.createComponentVNode)(2,i.NoticeBox,{textAlign:"center",children:d}),!!C&&(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"eject",content:l?u:"----------",disabled:!l,onClick:function(){return a("PRG_eject")}}),!!l&&(0,o.createComponentVNode)(2,i.Section,{title:C?"System Status":u,buttons:(0,o.createComponentVNode)(2,i.Box,{inline:!0,bold:!0,color:m?"bad":"good",children:m?"Nonfunctional":"Functional"}),children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Integrity",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:h,minValue:0,maxValue:100,ranges:{good:[70,Infinity],average:[50,70],bad:[-Infinity,50]}})})}),!!p&&(0,o.createComponentVNode)(2,i.Box,{bold:!0,textAlign:"center",fontSize:"20px",color:"good",mt:1,children:"RECONSTRUCTION IN PROGRESS"}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"plus",content:"Begin Reconstruction",disabled:p,mt:1,onClick:function(){return a("PRG_beginReconstruction")}}),(0,o.createComponentVNode)(2,i.Section,{title:"Laws",level:2,children:s.map((function(e){return(0,o.createComponentVNode)(2,i.Box,{className:"candystripe",children:e},e)}))})]})],0)};t.AiRestorerContent=c},function(e,t,n){"use strict";t.__esModule=!0,t.AiSupermatter=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3),c=(n(20),n(61));t.AiSupermatter=function(e,t){var n=(0,r.useBackend)(t).data,i=(n.integrity_percentage,n.ambient_temp,n.ambient_pressure,n.detonating),c=(0,o.createComponentVNode)(2,d);return i&&(c=(0,o.createComponentVNode)(2,l)),(0,o.createComponentVNode)(2,a.Window,{width:500,height:300,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:c})})};var l=function(e,t){return(0,o.createComponentVNode)(2,c.FullscreenNotice,{title:"DETONATION IMMINENT",children:(0,o.createComponentVNode)(2,i.Box,{fontSize:"1.5rem",bold:!0,color:"bad",children:[(0,o.createComponentVNode)(2,i.Icon,{color:"bad",name:"exclamation-triangle",verticalAlign:"middle",size:3,mr:"1rem"}),(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"CRYSTAL DELAMINATING"}),(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Evacuate area immediately"})]})})},d=function(e,t){var n=(0,r.useBackend)(t).data,a=n.integrity_percentage,c=n.ambient_temp,l=n.ambient_pressure;return(0,o.createComponentVNode)(2,i.Section,{title:"Status",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Crystal Integrity",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:a,maxValue:100,ranges:{good:[90,Infinity],average:[25,90],bad:[-Infinity,25]}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Environment Temperature",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:c,maxValue:1e4,ranges:{bad:[5e3,Infinity],average:[4e3,5e3],good:[-Infinity,4e3]},children:[c," K"]})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Environment Pressure",children:[l," kPa"]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AirAlarm=void 0;var o=n(0),r=n(5),i=(n(6),n(1)),a=n(2),c=n(28),l=n(3),d=n(185),u=n(474);t.AirAlarm=function(e,t){var n=(0,i.useBackend)(t),r=(n.act,n.data),a=r.locked&&!r.siliconUser&&!r.remoteUser;return(0,o.createComponentVNode)(2,l.Window,{width:440,height:650,resizable:!0,children:(0,o.createComponentVNode)(2,l.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,d.InterfaceLockNoticeBox),(0,o.createComponentVNode)(2,s),(0,o.createComponentVNode)(2,m),!a&&(0,o.createComponentVNode)(2,h)]})})};var s=function(e,t){var n=(0,i.useBackend)(t).data,l=(n.environment_data||[]).filter((function(e){return e.value>=.01})),d={0:{color:"good",localStatusText:"Optimal"},1:{color:"average",localStatusText:"Caution"},2:{color:"bad",localStatusText:"Danger (Internals Required)"}},u=d[n.danger_level]||d[0];return(0,o.createComponentVNode)(2,a.Section,{title:"Air Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[l.length>0&&(0,o.createFragment)([l.map((function(e){var t=d[e.danger_level]||d[0];return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:(0,c.getGasLabel)(e.name),color:t.color,children:[(0,r.toFixed)(e.value,2),e.unit]},e.name)})),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Local status",color:u.color,children:u.localStatusText}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Area status",color:n.atmos_alarm||n.fire_alarm?"bad":"good",children:(n.atmos_alarm?"Atmosphere Alarm":n.fire_alarm&&"Fire Alarm")||"Nominal"})],0)||(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Warning",color:"bad",children:"Cannot obtain air sample for analysis."}),!!n.emagged&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Warning",color:"bad",children:"Safety measures offline. Device may exhibit abnormal behavior."})]})})},m=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data,l=c.target_temperature,d=c.rcon;return(0,o.createComponentVNode)(2,a.Section,{title:"Comfort Settings",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Remote Control",children:[(0,o.createComponentVNode)(2,a.Button,{selected:1===d,content:"Off",onClick:function(){return r("rcon",{rcon:1})}}),(0,o.createComponentVNode)(2,a.Button,{selected:2===d,content:"Auto",onClick:function(){return r("rcon",{rcon:2})}}),(0,o.createComponentVNode)(2,a.Button,{selected:3===d,content:"On",onClick:function(){return r("rcon",{rcon:3})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Thermostat",children:(0,o.createComponentVNode)(2,a.Button,{content:l,onClick:function(){return r("temperature")}})})]})})},p={home:{title:"Air Controls",component:function(){return C}},vents:{title:"Vent Controls",component:function(){return f}},scrubbers:{title:"Scrubber Controls",component:function(){return N}},modes:{title:"Operating Mode",component:function(){return b}},thresholds:{title:"Alarm Thresholds",component:function(){return V}}},h=function(e,t){var n=(0,i.useLocalState)(t,"screen"),r=n[0],c=n[1],l=p[r]||p.home,d=l.component();return(0,o.createComponentVNode)(2,a.Section,{title:l.title,buttons:r&&(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"Back",onClick:function(){return c()}}),children:(0,o.createComponentVNode)(2,d)})},C=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data,l=(0,i.useLocalState)(t,"screen"),d=(l[0],l[1]),u=c.mode,s=c.atmos_alarm;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:s?"exclamation-triangle":"exclamation",color:s&&"caution",content:"Area Atmosphere Alarm",onClick:function(){return r(s?"reset":"alarm")}}),(0,o.createComponentVNode)(2,a.Box,{mt:1}),(0,o.createComponentVNode)(2,a.Button,{icon:3===u?"exclamation-triangle":"exclamation",color:3===u&&"danger",content:"Panic Siphon",onClick:function(){return r("mode",{mode:3===u?1:3})}}),(0,o.createComponentVNode)(2,a.Box,{mt:2}),(0,o.createComponentVNode)(2,a.Button,{icon:"sign-out-alt",content:"Vent Controls",onClick:function(){return d("vents")}}),(0,o.createComponentVNode)(2,a.Box,{mt:1}),(0,o.createComponentVNode)(2,a.Button,{icon:"filter",content:"Scrubber Controls",onClick:function(){return d("scrubbers")}}),(0,o.createComponentVNode)(2,a.Box,{mt:1}),(0,o.createComponentVNode)(2,a.Button,{icon:"cog",content:"Operating Mode",onClick:function(){return d("modes")}}),(0,o.createComponentVNode)(2,a.Box,{mt:1}),(0,o.createComponentVNode)(2,a.Button,{icon:"chart-bar",content:"Alarm Thresholds",onClick:function(){return d("thresholds")}})],4)},f=function(e,t){var n=(0,i.useBackend)(t).data.vents;return n&&0!==n.length?n.map((function(e){return(0,o.createComponentVNode)(2,u.Vent,{vent:e},e.id_tag)})):"Nothing to show"},N=function(e,t){var n=(0,i.useBackend)(t).data.scrubbers;return n&&0!==n.length?n.map((function(e){return(0,o.createComponentVNode)(2,u.Scrubber,{scrubber:e},e.id_tag)})):"Nothing to show"},b=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data.modes;return c&&0!==c.length?c.map((function(e){return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:e.selected?"check-square-o":"square-o",selected:e.selected,color:e.selected&&e.danger&&"danger",content:e.name,onClick:function(){return r("mode",{mode:e.mode})}}),(0,o.createComponentVNode)(2,a.Box,{mt:1})],4,e.mode)})):"Nothing to show"},V=function(e,t){var n=(0,i.useBackend)(t),l=n.act,d=n.data.thresholds;return(0,o.createVNode)(1,"table","LabeledList",[(0,o.createVNode)(1,"thead",null,(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td"),(0,o.createVNode)(1,"td","color-bad","min2",16),(0,o.createVNode)(1,"td","color-average","min1",16),(0,o.createVNode)(1,"td","color-average","max1",16),(0,o.createVNode)(1,"td","color-bad","max2",16)],4),2),(0,o.createVNode)(1,"tbody",null,d.map((function(e){return(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td","LabeledList__label",(0,o.createVNode)(1,"span","color-"+(0,c.getGasColor)(e.name),(0,c.getGasLabel)(e.name),0),2),e.settings.map((function(e){return(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,a.Button,{content:(0,r.toFixed)(e.selected,2),onClick:function(){return l("threshold",{env:e.env,"var":e.val})}}),2,null,e.val)}))],0,null,e.name)})),0)],4,{style:{width:"100%"}})}},function(e,t,n){"use strict";t.__esModule=!0,t.Scrubber=t.Vent=void 0;var o=n(0),r=n(6),i=n(1),a=n(2);n(28);t.Vent=function(e,t){var n=e.vent,c=(0,i.useBackend)(t).act,l=n.id_tag,d=n.long_name,u=n.power,s=n.checks,m=n.excheck,p=n.incheck,h=n.direction,C=n.external,f=n.internal,N=n.extdefault,b=n.intdefault;return(0,o.createComponentVNode)(2,a.Section,{level:2,title:(0,r.decodeHtmlEntities)(d),buttons:(0,o.createComponentVNode)(2,a.Button,{icon:u?"power-off":"times",selected:u,content:u?"On":"Off",onClick:function(){return c("power",{id_tag:l,val:Number(!u)})}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mode",children:(0,o.createComponentVNode)(2,a.Button,{icon:"sign-in-alt",content:"siphon"!==h?"Pressurizing":"Siphoning",color:"siphon"===h&&"danger",onClick:function(){return c("direction",{id_tag:l,val:Number("siphon"===h)})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"sign-in-alt",content:"Internal",selected:p,onClick:function(){return c("incheck",{id_tag:l,val:s})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sign-out-alt",content:"External",selected:m,onClick:function(){return c("excheck",{id_tag:l,val:s})}})]}),!!p&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Internal Target",children:[(0,o.createComponentVNode)(2,a.NumberInput,{value:Math.round(f),unit:"kPa",width:"75px",minValue:0,step:10,maxValue:5066,onChange:function(e,t){return c("set_internal_pressure",{id_tag:l,value:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"undo",disabled:b,content:"Reset",onClick:function(){return c("reset_internal_pressure",{id_tag:l})}})]}),!!m&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"External Target",children:[(0,o.createComponentVNode)(2,a.NumberInput,{value:Math.round(C),unit:"kPa",width:"75px",minValue:0,step:10,maxValue:5066,onChange:function(e,t){return c("set_external_pressure",{id_tag:l,value:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"undo",disabled:N,content:"Reset",onClick:function(){return c("reset_external_pressure",{id_tag:l})}})]})]})})};t.Scrubber=function(e,t){var n=e.scrubber,c=(0,i.useBackend)(t).act,l=n.long_name,d=n.power,u=n.scrubbing,s=n.id_tag,m=(n.widenet,n.filters);return(0,o.createComponentVNode)(2,a.Section,{level:2,title:(0,r.decodeHtmlEntities)(l),buttons:(0,o.createComponentVNode)(2,a.Button,{icon:d?"power-off":"times",content:d?"On":"Off",selected:d,onClick:function(){return c("power",{id_tag:s,val:Number(!d)})}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mode",children:(0,o.createComponentVNode)(2,a.Button,{icon:u?"filter":"sign-in-alt",color:u||"danger",content:u?"Scrubbing":"Siphoning",onClick:function(){return c("scrubbing",{id_tag:s,val:Number(!u)})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Filters",children:u&&m.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.val?"check-square-o":"square-o",content:e.name,title:e.name,selected:e.val,onClick:function(){return c(e.command,{id_tag:s,val:!e.val})}},e.name)}))||"N/A"})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AlgaeFarm=void 0;var o=n(0),r=n(1),i=n(2),a=(n(20),n(3)),c=(n(5),n(6));t.AlgaeFarm=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.usePower,s=d.materials,m=d.last_flow_rate,p=d.last_power_draw,h=d.inputDir,C=d.outputDir,f=d.input,N=d.output,b=d.errorText;return(0,o.createComponentVNode)(2,a.Window,{width:500,height:300,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:[b&&(0,o.createComponentVNode)(2,i.NoticeBox,{warning:!0,children:(0,o.createComponentVNode)(2,i.Box,{display:"inline-block",verticalAlign:"middle",children:b})}),(0,o.createComponentVNode)(2,i.Section,{title:"Status",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",content:"Processing",selected:2===u,onClick:function(){return l("toggle")}}),children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Flow Rate",children:[m," L/s"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Power Draw",children:[p," W"]}),(0,o.createComponentVNode)(2,i.LabeledList.Divider,{size:1}),s.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:(0,c.capitalize)(e.display),children:[(0,o.createComponentVNode)(2,i.ProgressBar,{width:"80%",value:e.qty,maxValue:e.max,children:[e.qty,"/",e.max]}),(0,o.createComponentVNode)(2,i.Button,{ml:1,content:"Eject",onClick:function(){return l("ejectMaterial",{mat:e.name})}})]},e.name)}))]}),(0,o.createComponentVNode)(2,i.Table,{mt:1,children:(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Section,{title:"Gas Input ("+h+")",children:f?(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Total Pressure",children:[f.pressure," kPa"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:f.name,children:[f.percent,"% (",f.moles," moles)"]})]}):(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No connection detected."})})}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Section,{title:"Gas Output ("+C+")",children:N?(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Total Pressure",children:[N.pressure," kPa"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:N.name,children:[N.percent,"% (",N.moles," moles)"]})]}):(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No connection detected."})})})]})})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AppearanceChanger=void 0;var o=n(0),r=n(8),i=n(6),a=n(1),c=n(2),l=n(3);t.AppearanceChanger=function(e,t){var n=(0,a.useBackend)(t),r=(n.act,n.config),N=n.data,b=N.name,V=N.specimen,g=N.gender,v=N.gender_id,_=N.hair_style,k=N.facial_hair_style,y=N.ear_style,L=N.tail_style,B=N.wing_style,w=N.change_race,x=N.change_gender,S=N.change_eye_color,I=N.change_skin_tone,T=N.change_skin_color,A=N.change_hair_color,E=N.change_facial_hair_color,M=N.change_hair,P=N.change_facial_hair,O=N.mapRef,F=r.title,R=S||I||T||A||E,D=-1;w?D=0:x?D=1:R?D=2:M?D=4:P&&(D=5);var j=(0,a.useLocalState)(t,"tabIndex",D),W=j[0],z=j[1];return(0,o.createComponentVNode)(2,l.Window,{width:700,height:650,title:(0,i.decodeHtmlEntities)(F),children:(0,o.createComponentVNode)(2,l.Window.Content,{children:[(0,o.createComponentVNode)(2,c.Section,{title:"Reflection",children:(0,o.createComponentVNode)(2,c.Flex,{children:[(0,o.createComponentVNode)(2,c.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Name",children:b}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Species",color:w?null:"grey",children:V}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Biological Sex",color:x?null:"grey",children:g?(0,i.capitalize)(g):"Not Set"}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Gender Identity",color:R?null:"grey",children:v?(0,i.capitalize)(v):"Not Set"}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Hair Style",color:M?null:"grey",children:_?(0,i.capitalize)(_):"Not Set"}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Facial Hair Style",color:P?null:"grey",children:k?(0,i.capitalize)(k):"Not Set"}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Ear Style",color:M?null:"grey",children:y?(0,i.capitalize)(y):"Not Set"}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Tail Style",color:M?null:"grey",children:L?(0,i.capitalize)(L):"Not Set"}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Wing Style",color:M?null:"grey",children:B?(0,i.capitalize)(B):"Not Set"})]})}),(0,o.createComponentVNode)(2,c.Flex.Item,{children:(0,o.createComponentVNode)(2,c.ByondUi,{style:{width:"256px",height:"256px"},params:{id:O,type:"map"}})})]})}),(0,o.createComponentVNode)(2,c.Tabs,{children:[w?(0,o.createComponentVNode)(2,c.Tabs.Tab,{selected:0===W,onClick:function(){return z(0)},children:"Race"}):null,x?(0,o.createComponentVNode)(2,c.Tabs.Tab,{selected:1===W,onClick:function(){return z(1)},children:"Gender & Sex"}):null,R?(0,o.createComponentVNode)(2,c.Tabs.Tab,{selected:2===W,onClick:function(){return z(2)},children:"Colors"}):null,M?(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Tabs.Tab,{selected:3===W,onClick:function(){return z(3)},children:"Hair"}),(0,o.createComponentVNode)(2,c.Tabs.Tab,{selected:5===W,onClick:function(){return z(5)},children:"Ear"}),(0,o.createComponentVNode)(2,c.Tabs.Tab,{selected:6===W,onClick:function(){return z(6)},children:"Tail"}),(0,o.createComponentVNode)(2,c.Tabs.Tab,{selected:7===W,onClick:function(){return z(7)},children:"Wing"})],4):null,P?(0,o.createComponentVNode)(2,c.Tabs.Tab,{selected:4===W,onClick:function(){return z(4)},children:"Facial Hair"}):null]}),(0,o.createComponentVNode)(2,c.Box,{height:"43%",children:[w&&0===W?(0,o.createComponentVNode)(2,d):null,x&&1===W?(0,o.createComponentVNode)(2,u):null,R&&2===W?(0,o.createComponentVNode)(2,s):null,M&&3===W?(0,o.createComponentVNode)(2,m):null,P&&4===W?(0,o.createComponentVNode)(2,p):null,M&&5===W?(0,o.createComponentVNode)(2,h):null,M&&6===W?(0,o.createComponentVNode)(2,C):null,M&&7===W?(0,o.createComponentVNode)(2,f):null]})]})})};var d=function(e,t){var n=(0,a.useBackend)(t),i=n.act,l=n.data,d=l.species,u=l.specimen,s=(0,r.sortBy)((function(e){return e.specimen}))(d||[]);return(0,o.createComponentVNode)(2,c.Section,{title:"Species",fill:!0,scrollable:!0,children:s.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{content:e.specimen,selected:u===e.specimen,onClick:function(){return i("race",{race:e.specimen})}},e.specimen)}))})},u=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data,l=i.gender,d=i.gender_id,u=i.genders,s=i.id_genders;return(0,o.createComponentVNode)(2,c.Section,{title:"Gender & Sex",fill:!0,scrollable:!0,children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Biological Sex",children:u.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{selected:e.gender_key===l,content:e.gender_name,onClick:function(){return r("gender",{gender:e.gender_key})}},e.gender_key)}))}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Gender Identity",children:s.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{selected:e.gender_key===d,content:e.gender_name,onClick:function(){return r("gender_id",{gender_id:e.gender_key})}},e.gender_key)}))})]})})},s=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data,l=i.change_eye_color,d=i.change_skin_tone,u=i.change_skin_color,s=i.change_hair_color,m=i.change_facial_hair_color,p=i.eye_color,h=i.skin_color,C=i.hair_color,f=i.facial_hair_color,N=i.ears_color,b=i.ears2_color,V=i.tail_color,g=i.tail2_color,v=i.wing_color,_=i.wing2_color;return(0,o.createComponentVNode)(2,c.Section,{title:"Colors",fill:!0,scrollable:!0,children:[l?(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createComponentVNode)(2,c.ColorBox,{color:p,mr:1}),(0,o.createComponentVNode)(2,c.Button,{content:"Change Eye Color",onClick:function(){return r("eye_color")}})]}):null,d?(0,o.createComponentVNode)(2,c.Box,{children:(0,o.createComponentVNode)(2,c.Button,{content:"Change Skin Tone",onClick:function(){return r("skin_tone")}})}):null,u?(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createComponentVNode)(2,c.ColorBox,{color:h,mr:1}),(0,o.createComponentVNode)(2,c.Button,{content:"Change Skin Color",onClick:function(){return r("skin_color")}})]}):null,s?(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createComponentVNode)(2,c.ColorBox,{color:C,mr:1}),(0,o.createComponentVNode)(2,c.Button,{content:"Change Hair Color",onClick:function(){return r("hair_color")}})]}),(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createComponentVNode)(2,c.ColorBox,{color:N,mr:1}),(0,o.createComponentVNode)(2,c.Button,{content:"Change Ears Color",onClick:function(){return r("ears_color")}})]}),(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createComponentVNode)(2,c.ColorBox,{color:b,mr:1}),(0,o.createComponentVNode)(2,c.Button,{content:"Change Secondary Ears Color",onClick:function(){return r("ears2_color")}})]}),(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createComponentVNode)(2,c.ColorBox,{color:V,mr:1}),(0,o.createComponentVNode)(2,c.Button,{content:"Change Tail Color",onClick:function(){return r("tail_color")}})]}),(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createComponentVNode)(2,c.ColorBox,{color:g,mr:1}),(0,o.createComponentVNode)(2,c.Button,{content:"Change Secondary Tail Color",onClick:function(){return r("tail2_color")}})]}),(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createComponentVNode)(2,c.ColorBox,{color:v,mr:1}),(0,o.createComponentVNode)(2,c.Button,{content:"Change Wing Color",onClick:function(){return r("wing_color")}})]}),(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createComponentVNode)(2,c.ColorBox,{color:_,mr:1}),(0,o.createComponentVNode)(2,c.Button,{content:"Change Secondary Wing Color",onClick:function(){return r("wing2_color")}})]})],4):null,m?(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createComponentVNode)(2,c.ColorBox,{color:f,mr:1}),(0,o.createComponentVNode)(2,c.Button,{content:"Change Facial Hair Color",onClick:function(){return r("facial_hair_color")}})]}):null]})},m=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data,l=i.hair_style,d=i.hair_styles;return(0,o.createComponentVNode)(2,c.Section,{title:"Hair",fill:!0,scrollable:!0,children:d.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{onClick:function(){return r("hair",{hair:e.hairstyle})},selected:e.hairstyle===l,content:e.hairstyle},e.hairstyle)}))})},p=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data,l=i.facial_hair_style,d=i.facial_hair_styles;return(0,o.createComponentVNode)(2,c.Section,{title:"Facial Hair",fill:!0,scrollable:!0,children:d.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{onClick:function(){return r("facial_hair",{facial_hair:e.facialhairstyle})},selected:e.facialhairstyle===l,content:e.facialhairstyle},e.facialhairstyle)}))})},h=function(e,t){var n=(0,a.useBackend)(t),i=n.act,l=n.data,d=l.ear_style,u=l.ear_styles;return(0,o.createComponentVNode)(2,c.Section,{title:"Ears",fill:!0,scrollable:!0,children:[(0,o.createComponentVNode)(2,c.Button,{onClick:function(){return i("ear",{clear:!0})},selected:null===d,content:"-- Not Set --"}),(0,r.sortBy)((function(e){return e.name.toLowerCase()}))(u).map((function(e){return(0,o.createComponentVNode)(2,c.Button,{onClick:function(){return i("ear",{ref:e.instance})},selected:e.name===d,content:e.name},e.instance)}))]})},C=function(e,t){var n=(0,a.useBackend)(t),i=n.act,l=n.data,d=l.tail_style,u=l.tail_styles;return(0,o.createComponentVNode)(2,c.Section,{title:"Tails",fill:!0,scrollable:!0,children:[(0,o.createComponentVNode)(2,c.Button,{onClick:function(){return i("tail",{clear:!0})},selected:null===d,content:"-- Not Set --"}),(0,r.sortBy)((function(e){return e.name.toLowerCase()}))(u).map((function(e){return(0,o.createComponentVNode)(2,c.Button,{onClick:function(){return i("tail",{ref:e.instance})},selected:e.name===d,content:e.name},e.instance)}))]})},f=function(e,t){var n=(0,a.useBackend)(t),i=n.act,l=n.data,d=l.wing_style,u=l.wing_styles;return(0,o.createComponentVNode)(2,c.Section,{title:"Wings",fill:!0,scrollable:!0,children:[(0,o.createComponentVNode)(2,c.Button,{onClick:function(){return i("wing",{clear:!0})},selected:null===d,content:"-- Not Set --"}),(0,r.sortBy)((function(e){return e.name.toLowerCase()}))(u).map((function(e){return(0,o.createComponentVNode)(2,c.Button,{onClick:function(){return i("wing",{ref:e.instance})},selected:e.name===d,content:e.name},e.instance)}))]})}},function(e,t,n){"use strict";t.__esModule=!0,t.ArcadeBattle=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.ArcadeBattle=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=(l.name,l.temp),u=l.enemyAction,s=l.enemyName,m=l.playerHP,p=l.playerMP,h=l.enemyHP,C=(l.enemyMP,l.gameOver);return(0,o.createComponentVNode)(2,a.Window,{width:400,height:240,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:(0,o.createComponentVNode)(2,i.Section,{title:s,textAlign:"center",children:[(0,o.createComponentVNode)(2,i.Section,{color:"label",children:[(0,o.createComponentVNode)(2,i.Box,{children:d}),(0,o.createComponentVNode)(2,i.Box,{children:!C&&u})]}),(0,o.createComponentVNode)(2,i.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Player Health",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:m,minValue:0,maxValue:30,ranges:{olive:[31,Infinity],good:[20,31],average:[10,20],bad:[-Infinity,10]},children:[m,"HP"]})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Player Magic",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:p,minValue:0,maxValue:10,ranges:{purple:[11,Infinity],violet:[3,11],bad:[-Infinity,3]},children:[p,"MP"]})})]})}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Enemy HP",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:h,minValue:0,maxValue:45,ranges:{olive:[31,Infinity],good:[20,31],average:[10,20],bad:[-Infinity,10]},children:[h,"HP"]})})})})]}),C&&(0,o.createComponentVNode)(2,i.Button,{fluid:!0,mt:1,color:"green",content:"New Game",onClick:function(){return c("newgame")}})||(0,o.createComponentVNode)(2,i.Flex,{mt:2,justify:"space-between",spacing:1,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"fist-raised",tooltip:"Go in for the kill!",tooltipPosition:"top",onClick:function(){return c("attack")},content:"Attack!"})}),(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"band-aid",tooltip:"Heal yourself!",tooltipPosition:"top",onClick:function(){return c("heal")},content:"Heal!"})}),(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"magic",tooltip:"Recharge your magic!",tooltipPosition:"top",onClick:function(){return c("charge")},content:"Recharge!"})})]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AreaScrubberControl=void 0;var o=n(0),r=n(2),i=n(1),a=n(3),c=n(6);t.AreaScrubberControl=function(e,t){var n=(0,i.useBackend)(t),c=n.act,d=n.data,u=(0,i.useLocalState)(t,"showArea",!1),s=u[0],m=u[1],p=d.scrubbers;return p?(0,o.createComponentVNode)(2,a.Window,{width:600,height:400,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,r.Section,{children:[(0,o.createComponentVNode)(2,r.Flex,{wrap:"wrap",children:[(0,o.createComponentVNode)(2,r.Flex.Item,{m:"2px",basis:"49%",children:(0,o.createComponentVNode)(2,r.Button,{textAlign:"center",fluid:!0,icon:"search",content:"Scan",onClick:function(){return c("scan")}})}),(0,o.createComponentVNode)(2,r.Flex.Item,{m:"2px",basis:"49%",grow:1,children:(0,o.createComponentVNode)(2,r.Button,{textAlign:"center",fluid:!0,icon:"layer-group",content:"Show Areas",selected:s,onClick:function(){return m(!s)}})}),(0,o.createComponentVNode)(2,r.Flex.Item,{m:"2px",basis:"49%",children:(0,o.createComponentVNode)(2,r.Button,{textAlign:"center",fluid:!0,icon:"toggle-on",content:"All On",onClick:function(){return c("allon")}})}),(0,o.createComponentVNode)(2,r.Flex.Item,{m:"2px",basis:"49%",grow:1,children:(0,o.createComponentVNode)(2,r.Button,{textAlign:"center",fluid:!0,icon:"toggle-off",content:"All Off",onClick:function(){return c("alloff")}})})]}),(0,o.createComponentVNode)(2,r.Flex,{wrap:"wrap",children:p.map((function(e){return(0,o.createComponentVNode)(2,r.Flex.Item,{m:"2px",basis:"32%",children:(0,o.createComponentVNode)(2,l,{scrubber:e,showArea:s})},e.id)}))})]})})}):(0,o.createComponentVNode)(2,r.Section,{title:"Error",children:[(0,o.createComponentVNode)(2,r.Box,{color:"bad",children:"No Scrubbers Detected."}),(0,o.createComponentVNode)(2,r.Button,{fluid:!0,icon:"search",content:"Scan",onClick:function(){return c("scan")}})]})};var l=function(e,t){var n=(0,i.useBackend)(t).act,a=e.scrubber,l=e.showArea;return(0,o.createComponentVNode)(2,r.Section,{title:a.name,children:[(0,o.createComponentVNode)(2,r.Button,{fluid:!0,icon:"power-off",content:a.on?"Enabled":"Disabled",selected:a.on,onClick:function(){return n("toggle",{id:a.id})}}),(0,o.createComponentVNode)(2,r.LabeledList,{children:[(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Pressure",children:[a.pressure," kPa"]}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Flow Rate",children:[a.flow_rate," L/s"]}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Load",children:[a.load," W"]}),l&&(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Area",children:(0,c.toTitleCase)(a.area)})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.AssemblyInfrared=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.AssemblyInfrared=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.on,u=l.visible;return(0,o.createComponentVNode)(2,a.Window,{children:(0,o.createComponentVNode)(2,a.Window.Content,{children:(0,o.createComponentVNode)(2,i.Section,{title:"Infrared Unit",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Laser",children:(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",fluid:!0,selected:d,onClick:function(){return c("state")},children:d?"On":"Off"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Visibility",children:(0,o.createComponentVNode)(2,i.Button,{icon:"eye",fluid:!0,selected:u,onClick:function(){return c("visible")},children:u?"Able to be seen":"Invisible"})})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AssemblyProx=void 0;var o=n(0),r=n(5),i=n(1),a=n(2),c=n(3),l=n(20);t.AssemblyProx=function(e,t){var n=(0,i.useBackend)(t),d=n.act,u=n.data,s=u.timing,m=u.time,p=u.range,h=u.maxRange,C=u.scanning;return(0,o.createComponentVNode)(2,c.Window,{children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Timing Unit",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Timer",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"stopwatch",selected:s,onClick:function(){return d("timing")},children:s?"Counting Down":"Disabled"}),children:(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,fluid:!0,value:m/10,minValue:0,maxValue:600,format:function(e){return(0,l.formatTime)((0,r.round)(e))},onDrag:function(e,t){return d("set_time",{time:t})}})})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Prox Unit",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Range",children:(0,o.createComponentVNode)(2,a.NumberInput,{minValue:1,value:p,maxValue:h,onDrag:function(e,t){return d("range",{range:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Armed",children:[(0,o.createComponentVNode)(2,a.Button,{mr:1,icon:C?"lock":"lock-open",selected:C,onClick:function(){return d("scanning")},children:C?"ARMED":"Unarmed"}),"Movement sensor is active when armed!"]})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AssemblyTimer=void 0;var o=n(0),r=n(5),i=n(1),a=n(2),c=n(3),l=n(20);t.AssemblyTimer=function(e,t){var n=(0,i.useBackend)(t),d=n.act,u=n.data,s=u.timing,m=u.time;return(0,o.createComponentVNode)(2,c.Window,{children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Timing Unit",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Timer",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"stopwatch",selected:s,onClick:function(){return d("timing")},children:s?"Counting Down":"Disabled"}),children:(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,fluid:!0,value:m/10,minValue:0,maxValue:600,format:function(e){return(0,l.formatTime)((0,r.round)(e))},onDrag:function(e,t){return d("set_time",{time:t})}})})})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosAlertConsole=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.AtmosAlertConsole=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.priority_alarms||[],u=l.minor_alarms||[];return(0,o.createComponentVNode)(2,a.Window,{width:350,height:300,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i.Section,{title:"Alarms",children:(0,o.createVNode)(1,"ul",null,[0===d.length&&(0,o.createVNode)(1,"li","color-good","No Priority Alerts",16),d.map((function(e){return(0,o.createVNode)(1,"li",null,(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:e.name,color:"bad",onClick:function(){return c("clear",{ref:e.ref})}}),2,null,e.name)})),0===u.length&&(0,o.createVNode)(1,"li","color-good","No Minor Alerts",16),u.map((function(e){return(0,o.createVNode)(1,"li",null,(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:e.name,color:"average",onClick:function(){return c("clear",{ref:e.ref})}}),2,null,e.name)}))],0)})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosFilter=void 0;var o=n(0),r=n(1),i=n(2),a=(n(28),n(3));t.AtmosFilter=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.filter_types||[];return(0,o.createComponentVNode)(2,a.Window,{width:390,height:187,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,i.Button,{icon:l.on?"power-off":"times",content:l.on?"On":"Off",selected:l.on,onClick:function(){return c("power")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Transfer Rate",children:[(0,o.createComponentVNode)(2,i.Box,{inline:!0,mr:1,children:(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:l.last_flow_rate,format:function(e){return e+" L/s"}})}),(0,o.createComponentVNode)(2,i.NumberInput,{animated:!0,value:parseFloat(l.rate),width:"63px",unit:"L/s",minValue:0,maxValue:200,onDrag:function(e,t){return c("rate",{rate:t})}}),(0,o.createComponentVNode)(2,i.Button,{ml:1,icon:"plus",content:"Max",disabled:l.rate===l.max_rate,onClick:function(){return c("rate",{rate:"max"})}})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Filter",children:d.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{selected:e.selected,content:e.name,onClick:function(){return c("filter",{filterset:e.f_type})}},e.name)}))})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosMixer=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.AtmosMixer=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data;return(0,o.createComponentVNode)(2,a.Window,{width:370,height:195,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,i.Button,{icon:l.on?"power-off":"times",content:l.on?"On":"Off",selected:l.on,onClick:function(){return c("power")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Output Pressure",children:[(0,o.createComponentVNode)(2,i.NumberInput,{animated:!0,value:parseFloat(l.set_pressure),unit:"kPa",width:"75px",minValue:0,maxValue:l.max_pressure,step:10,onChange:function(e,t){return c("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,i.Button,{ml:1,icon:"plus",content:"Max",disabled:l.set_pressure===l.max_pressure,onClick:function(){return c("pressure",{pressure:"max"})}})]}),(0,o.createComponentVNode)(2,i.LabeledList.Divider,{size:1}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{color:"label",children:(0,o.createVNode)(1,"u",null,"Concentrations",16)}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Node 1 ("+l.node1_dir+")",children:(0,o.createComponentVNode)(2,i.NumberInput,{animated:!0,value:l.node1_concentration,unit:"%",width:"60px",minValue:0,maxValue:100,stepPixelSize:2,onDrag:function(e,t){return c("node1",{concentration:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Node 2 ("+l.node2_dir+")",children:(0,o.createComponentVNode)(2,i.NumberInput,{animated:!0,value:l.node2_concentration,unit:"%",width:"60px",minValue:0,maxValue:100,stepPixelSize:2,onDrag:function(e,t){return c("node2",{concentration:t})}})})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Autolathe=void 0;var o=n(0),r=(n(5),n(41)),i=n(8),a=n(1),c=n(2),l=n(3),d=n(132),u=n(6),s=function(e,t){if(null===e.requirements)return!0;for(var n=Object.keys(e.requirements),o=function(){var n=i[r],o=t.find((function(e){return e.name===n}));return o?o.amount=e[1].price/d.build_eff,e[1]})).sort(l[f]);if(0!==n.length)return b&&(n=n.reverse()),g=!0,(0,o.createComponentVNode)(2,m,{title:e[0],items:n},e[0])}));return(0,o.createComponentVNode)(2,a.Flex.Item,{grow:"1",overflow:"auto",children:(0,o.createComponentVNode)(2,a.Section,{onClick:function(e){return(0,c.refocusLayout)()},children:g?v:(0,o.createComponentVNode)(2,a.Box,{color:"label",children:"No items matching your criteria was found!"})})})},u=function(e,t){var n=(0,i.useLocalState)(t,"search",""),r=(n[0],n[1]),c=(0,i.useLocalState)(t,"sort",""),d=(c[0],c[1]),u=(0,i.useLocalState)(t,"descending",!1),s=u[0],m=u[1];return(0,o.createComponentVNode)(2,a.Box,{mb:"0.5rem",children:(0,o.createComponentVNode)(2,a.Flex,{width:"100%",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{grow:"1",mr:"0.5rem",children:(0,o.createComponentVNode)(2,a.Input,{placeholder:"Search by item name..",width:"100%",onInput:function(e,t){return r(t)}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{basis:"30%",children:(0,o.createComponentVNode)(2,a.Dropdown,{selected:"Alphabetical",options:Object.keys(l),width:"100%",lineHeight:"19px",onSelected:function(e){return d(e)}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Button,{icon:s?"arrow-down":"arrow-up",height:"19px",tooltip:s?"Descending order":"Ascending order",tooltipPosition:"bottom-left",ml:"0.5rem",onClick:function(){return m(!s)}})})]})})},s=function(e,t){return!!e.affordable&&!(e.reagent&&!t.beaker)},m=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data,l=e.title,d=e.items,u=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["title","items"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Collapsible,Object.assign({open:!0,title:l},u,{children:d.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Box,{display:"inline-block",verticalAlign:"middle",lineHeight:"20px",style:{float:"left"},children:e.name}),(0,o.createComponentVNode)(2,a.Button,{disabled:!s(e,c),content:(e.price/c.build_eff).toLocaleString("en-US"),width:"15%",textAlign:"center",style:{float:"right"},onClick:function(){return r("purchase",{cat:l,name:e.name})}}),(0,o.createComponentVNode)(2,a.Box,{style:{clear:"both"}})]},e.name)}))})))}},function(e,t,n){"use strict";t.__esModule=!0,t.BodyDesigner=void 0;var o=n(0),r=n(6),i=n(1),a=n(2),c=n(3);t.BodyDesigner=function(e,t){var n=(0,i.useBackend)(t),r=n.act,d=n.data,u=d.menu,s=d.disk,m=d.diskStored,p=d.activeBodyRecord,h=l[u];return(0,o.createComponentVNode)(2,c.Window,{width:400,height:650,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[s?(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"save",content:"Save To Disk",onClick:function(){return r("savetodisk")},disabled:!p}),(0,o.createComponentVNode)(2,a.Button,{icon:"save",content:"Load From Disk",onClick:function(){return r("loadfromdisk")},disabled:!m}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return r("ejectdisk")}})]}):null,h]})})};var l={Main:(0,o.createComponentVNode)(2,(function(e,t){var n=(0,i.useBackend)(t),r=n.act;n.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Database Functions",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"eye",content:"View Individual Body Records",onClick:function(){return r("menu",{menu:"Body Records"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"eye",content:"View Stock Body Records",onClick:function(){return r("menu",{menu:"Stock Records"})}})]})})),"Body Records":(0,o.createComponentVNode)(2,(function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data.bodyrecords;return(0,o.createComponentVNode)(2,a.Section,{title:"Body Records",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"Back",onClick:function(){return r("menu",{menu:"Main"})}}),children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:"eye",content:e.name,onClick:function(){return r("view_brec",{view_brec:e.recref})}},e.name)}))})})),"Stock Records":(0,o.createComponentVNode)(2,(function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data.stock_bodyrecords;return(0,o.createComponentVNode)(2,a.Section,{title:"Stock Records",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"Back",onClick:function(){return r("menu",{menu:"Main"})}}),children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:"eye",content:e,onClick:function(){return r("view_stock_brec",{view_stock_brec:e})}},e)}))})})),"Specific Record":(0,o.createComponentVNode)(2,(function(e,t){var n=(0,i.useBackend)(t),c=n.act,l=n.data,d=l.activeBodyRecord,u=l.mapRef;return d?(0,o.createComponentVNode)(2,a.Flex,{direction:"column",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{basis:"165px",children:(0,o.createComponentVNode)(2,a.Section,{title:"Specific Record",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"Back",onClick:function(){return c("menu",{menu:"Main"})}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:d.real_name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Species",children:d.speciesname}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Bio. Sex",children:(0,o.createComponentVNode)(2,a.Button,{icon:"pen",content:(0,r.capitalize)(d.gender),onClick:function(){return c("href_conversion",{target_href:"bio_gender",target_value:1})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Synthetic",children:d.synthetic}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mind Compat",children:[d.locked,(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"eye",content:"View OOC Notes",disabled:!d.booc,onClick:function(){return c("boocnotes")}})]})]})})}),(0,o.createComponentVNode)(2,a.Flex.Item,{basis:"130px",children:(0,o.createComponentVNode)(2,a.ByondUi,{style:{width:"100%",height:"128px"},params:{id:u,type:"map"}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{basis:"300px",children:(0,o.createComponentVNode)(2,a.Section,{title:"Customize",height:"300px",style:{overflow:"auto"},children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Scale",children:(0,o.createComponentVNode)(2,a.Button,{icon:"pen",content:d.scale,onClick:function(){return c("href_conversion",{target_href:"size_multiplier",target_value:1})}})}),Object.keys(d.styles).map((function(e){var t=d.styles[e];return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e,children:[t.styleHref?(0,o.createComponentVNode)(2,a.Button,{icon:"pen",content:t.style,onClick:function(){return c("href_conversion",{target_href:t.styleHref,target_value:1})}}):null,t.colorHref?(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"pen",content:t.color,onClick:function(){return c("href_conversion",{target_href:t.colorHref,target_value:1})}}),(0,o.createComponentVNode)(2,a.ColorBox,{verticalAlign:"top",width:"32px",height:"20px",color:t.color,style:{border:"1px solid #fff"}})]}):null,t.colorHref2?(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"pen",content:t.color2,onClick:function(){return c("href_conversion",{target_href:t.colorHref2,target_value:1})}}),(0,o.createComponentVNode)(2,a.ColorBox,{verticalAlign:"top",width:"32px",height:"20px",color:t.color2,style:{border:"1px solid #fff"}})]}):null]},e)})),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Body Markings",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Add Marking",onClick:function(){return c("href_conversion",{target_href:"marking_style",target_value:1})}}),(0,o.createComponentVNode)(2,a.Flex,{wrap:"wrap",justify:"center",align:"center",children:Object.keys(d.markings).map((function(e){var t=d.markings[e];return(0,o.createComponentVNode)(2,a.Flex.Item,{basis:"100%",children:(0,o.createComponentVNode)(2,a.Flex,{children:[(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Button,{mr:.2,fluid:!0,icon:"times",color:"red",onClick:function(){return c("href_conversion",{target_href:"marking_remove",target_value:e})}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,backgroundColor:t,content:e,onClick:function(){return c("href_conversion",{target_href:"marking_color",target_value:e})}})})]})},e)}))})]})]})})})]}):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"ERROR: Record Not Found!"})})),"OOC Notes":(0,o.createComponentVNode)(2,(function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data.activeBodyRecord;return(0,o.createComponentVNode)(2,a.Section,{title:"Body OOC Notes (This is OOC!)",height:"100%",scrollable:!0,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"Back",onClick:function(){return r("menu",{menu:"Specific Record"})}}),style:{"word-break":"break-all"},children:c&&c.booc||"ERROR: Body record not found!"})}))}},function(e,t,n){"use strict";t.__esModule=!0,t.BodyScanner=void 0;var o=n(0),r=n(5),i=n(1),a=n(2),c=n(3),l=[["good","Alive"],["average","Unconscious"],["bad","DEAD"]],d=[["hasBorer","bad",function(e){return"Large growth detected in frontal lobe, possibly cancerous. Surgical removal is recommended."}],["hasVirus","bad",function(e){return"Viral pathogen detected in blood stream."}],["blind","average",function(e){return"Cataracts detected."}],["colourblind","average",function(e){return"Photoreceptor abnormalities detected."}],["nearsighted","average",function(e){return"Retinal misalignment detected."}],["humanPrey","average",function(e){return"Foreign Humanoid(s) detected: "+e.humanPrey}],["livingPrey","average",function(e){return"Foreign Creature(s) detected: "+e.livingPrey}],["objectPrey","average",function(e){return"Foreign Object(s) detected: "+e.objectPrey}]],u=[["Respiratory","oxyLoss"],["Brain","brainLoss"],["Toxin","toxLoss"],["Radiation","radLoss"],["Brute","bruteLoss"],["Genetic","cloneLoss"],["Burn","fireLoss"],["Paralysis","paralysis"]],s={average:[.25,.5],bad:[.5,Infinity]},m=function(e,t){for(var n=[],o=0;o0?e.reduce((function(e,t){return null===e?t:(0,o.createFragment)([e,!!t&&(0,o.createComponentVNode)(2,a.Box,{children:t})],0)})):null},h=function(e){if(e>100){if(e<300)return"mild infection";if(e<400)return"mild infection+";if(e<500)return"mild infection++";if(e<700)return"acute infection";if(e<800)return"acute infection+";if(e<900)return"acute infection++";if(e>=900)return"septic"}return""};t.BodyScanner=function(e,t){var n=(0,i.useBackend)(t).data,r=n.occupied,a=n.occupant,l=void 0===a?{}:a,d=r?(0,o.createComponentVNode)(2,C,{occupant:l}):(0,o.createComponentVNode)(2,k);return(0,o.createComponentVNode)(2,c.Window,{width:690,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,className:"Layout__content--flexColumn",children:d})})};var C=function(e){var t=e.occupant;return(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,f,{occupant:t}),(0,o.createComponentVNode)(2,N,{occupant:t}),(0,o.createComponentVNode)(2,b,{occupant:t}),(0,o.createComponentVNode)(2,V,{occupant:t}),(0,o.createComponentVNode)(2,v,{organs:t.extOrgan}),(0,o.createComponentVNode)(2,_,{organs:t.intOrgan})]})},f=function(e,t){var n=(0,i.useBackend)(t),c=n.act,d=n.data,u=d.occupant;return(0,o.createComponentVNode)(2,a.Section,{title:"Occupant",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"user-slash",onClick:function(){return c("ejectify")},children:"Eject"}),(0,o.createComponentVNode)(2,a.Button,{icon:"print",onClick:function(){return c("print_p")},children:"Print Report"})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:u.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{min:"0",max:u.maxHealth,value:u.health/u.maxHealth,ranges:{good:[.5,Infinity],average:[0,.5],bad:[-Infinity,0]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:l[u.stat][0],children:l[u.stat][1]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Temperature",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:(0,r.round)(u.bodyTempC,0)}),"\xb0C,\xa0",(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:(0,r.round)(u.bodyTempF,0)}),"\xb0F"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Blood Volume",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:(0,r.round)(u.blood.volume,0)})," units\xa0(",(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:(0,r.round)(u.blood.percent,0)}),"%)"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Weight",children:(0,r.round)(d.occupant.weight)+"lbs, "+(0,r.round)(d.occupant.weight/2.20463)+"kgs"})]})})},N=function(e){var t=e.occupant;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Blood Reagents",children:t.reagents?(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Reagent"}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"right",children:"Amount"})]}),t.reagents.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"right",children:[e.amount," Units ",e.overdose?(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"OVERDOSING"}):null]})]},e.name)}))]}):(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"No Blood Reagents Detected"})}),(0,o.createComponentVNode)(2,a.Section,{title:"Stomach Reagents",children:t.ingested?(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Reagent"}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"right",children:"Amount"})]}),t.ingested.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"right",children:[e.amount," Units ",e.overdose?(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"OVERDOSING"}):null]})]},e.name)}))]}):(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"No Stomach Reagents Detected"})})],4)},b=function(e){var t=e.occupant,n=t.hasBorer||t.blind||t.colourblind||t.nearsighted||t.hasVirus;return(n=n||t.humanPrey||t.livingPrey||t.objectPrey)?(0,o.createComponentVNode)(2,a.Section,{title:"Abnormalities",children:d.map((function(e,n){if(t[e[0]])return(0,o.createComponentVNode)(2,a.Box,{color:e[1],bold:"bad"===e[1],children:e[2](t)})}))}):(0,o.createComponentVNode)(2,a.Section,{title:"Abnormalities",children:(0,o.createComponentVNode)(2,a.Box,{color:"label",children:"No abnormalities found."})})},V=function(e){var t=e.occupant;return(0,o.createComponentVNode)(2,a.Section,{title:"Damage",children:(0,o.createComponentVNode)(2,a.Table,{children:m(u,(function(e,n,r){return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Table.Row,{color:"label",children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:[e[0],":"]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:!!n&&n[0]+":"})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,g,{value:t[e[1]],marginBottom:r0&&"0.5rem",value:e.totalLoss/100,ranges:s,children:[(0,o.createComponentVNode)(2,a.Box,{float:"left",display:"inline",children:[!!e.bruteLoss&&(0,o.createComponentVNode)(2,a.Box,{display:"inline",position:"relative",children:[(0,o.createComponentVNode)(2,a.Icon,{name:"bone"}),(0,r.round)(e.bruteLoss,0),"\xa0",(0,o.createComponentVNode)(2,a.Tooltip,{position:"top",content:"Brute damage"})]}),!!e.fireLoss&&(0,o.createComponentVNode)(2,a.Box,{display:"inline",position:"relative",children:[(0,o.createComponentVNode)(2,a.Icon,{name:"fire"}),(0,r.round)(e.fireLoss,0),(0,o.createComponentVNode)(2,a.Tooltip,{position:"top",content:"Burn damage"})]})]}),(0,o.createComponentVNode)(2,a.Box,{display:"inline",children:(0,r.round)(e.totalLoss,0)})]})}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"right",width:"33%",children:[(0,o.createComponentVNode)(2,a.Box,{color:"average",display:"inline",children:p([e.internalBleeding&&"Internal bleeding",!!e.status.bleeding&&"External bleeding",e.lungRuptured&&"Ruptured lung",e.destroyed&&"Destroyed",!!e.status.broken&&e.status.broken,h(e.germ_level),!!e.open&&"Open incision"])}),(0,o.createComponentVNode)(2,a.Box,{display:"inline",children:[p([!!e.status.splinted&&"Splinted",!!e.status.robotic&&"Robotic",!!e.status.dead&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"DEAD"})]),p(e.implants.map((function(e){return e.known?e.name:"Unknown object"})))]})]})]},t)}))]})})},_=function(e){return 0===e.organs.length?(0,o.createComponentVNode)(2,a.Section,{title:"Internal Organs",children:(0,o.createComponentVNode)(2,a.Box,{color:"label",children:"N/A"})}):(0,o.createComponentVNode)(2,a.Section,{title:"Internal Organs",children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Name"}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"center",children:"Damage"}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"right",children:"Injuries"})]}),e.organs.map((function(e,t){return(0,o.createComponentVNode)(2,a.Table.Row,{textTransform:"capitalize",children:[(0,o.createComponentVNode)(2,a.Table.Cell,{width:"33%",children:e.name}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"center",children:(0,o.createComponentVNode)(2,a.ProgressBar,{min:"0",max:e.maxHealth,value:e.damage/100,mt:t>0&&"0.5rem",ranges:s,children:(0,r.round)(e.damage,0)})}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"right",width:"33%",children:[(0,o.createComponentVNode)(2,a.Box,{color:"average",display:"inline",children:p([h(e.germ_level),!!e.inflamed&&"Appendicitis detected."])}),(0,o.createComponentVNode)(2,a.Box,{display:"inline",children:p([1===e.robotic&&"Robotic",2===e.robotic&&"Assisted",!!e.dead&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"DEAD"})])})]})]},t)}))]})})},k=function(){return(0,o.createComponentVNode)(2,a.Section,{textAlign:"center",flexGrow:"1",children:(0,o.createComponentVNode)(2,a.Flex,{height:"100%",children:(0,o.createComponentVNode)(2,a.Flex.Item,{grow:"1",align:"center",color:"label",children:[(0,o.createComponentVNode)(2,a.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,o.createVNode)(1,"br"),"No occupant detected."]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.BombTester=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);n(24);t.BombTester=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.simulating,s=d.mode,m=d.tank1,p=d.tank1ref,h=d.tank2,C=d.tank2ref,f=d.canister,N=d.sim_canister_output;return(0,o.createComponentVNode)(2,a.Window,{width:450,height:400,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:u&&(0,o.createComponentVNode)(2,c)||(0,o.createComponentVNode)(2,i.Section,{title:"Virtual Explosive Simulator v2.01",children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Mode",children:[(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return l("set_mode",{mode:1})},selected:1===s,children:"Single Tank"}),(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return l("set_mode",{mode:2})},selected:2===s,children:"Transfer Valve"}),(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return l("set_mode",{mode:3})},selected:3===s,children:"Canister"})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Primary Slot",children:m&&(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return l("remove_tank",{ref:p})},icon:"eject",children:m})||(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return l("add_tank",{slot:1})},icon:"upload",children:"Insert Tank"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Secondary Slot",children:h&&(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return l("remove_tank",{ref:C})},icon:"eject",children:h})||(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return l("add_tank",{slot:2})},icon:"upload",children:"Insert Tank"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Connected Canister",buttons:(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return l("canister_scan")},icon:"search",children:"Scan"}),children:f&&(0,o.createComponentVNode)(2,i.Box,{color:"label",children:f})||(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No tank connected."})}),f&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Canister Release Pressure",children:(0,o.createComponentVNode)(2,i.Slider,{minValue:0,value:N,maxValue:1013.25,onDrag:function(e,t){return l("set_can_pressure",{pressure:t})}})})]}),(0,o.createComponentVNode)(2,i.Button,{mt:2,color:"red",icon:"bomb",fontSize:2,onClick:function(){return l("start_sim")},fluid:!0,children:"Begin Simulation"})]})})})};var c=function(e){var t,n;function r(t){var n;n=e.call(this,t)||this;var o=Math.random()>.5,r=Math.random()>.5;return n.state={x:o?340:0,y:r?205:0,reverseX:!1,reverseY:!1},n.process=setInterval((function(){n.setState((function(e){var t=Object.assign({},e);return t.reverseX?t.x-2<-5?(t.reverseX=!1,t.x+=2):t.x-=2:t.x+2>340?(t.reverseX=!0,t.x-=2):t.x+=2,t.reverseY?t.y-2<-20?(t.reverseY=!1,t.y+=2):t.y-=2:t.y+2>205?(t.reverseY=!0,t.y-=2):t.y+=2,t}))}),1),n}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var a=r.prototype;return a.componentWillUnmount=function(){clearInterval(this.process)},a.render=function(){var e=this.state,t={position:"relative",left:e.x+"px",top:e.y+"px"};return(0,o.createComponentVNode)(2,i.Section,{title:"Simulation in progress!",fill:!0,children:(0,o.createComponentVNode)(2,i.Box,{position:"absolute",style:{overflow:"hidden",width:"100%",height:"100%"},children:(0,o.createComponentVNode)(2,i.Icon,{style:t,name:"bomb",size:10,color:"red"})})})},r}(o.Component)},function(e,t,n){"use strict";t.__esModule=!0,t.BotanyEditor=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.BotanyEditor=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.activity,u=l.degradation,s=l.disk,m=l.sourceName,p=l.locus,h=l.loaded;return d?(0,o.createComponentVNode)(2,a.Window,{width:470,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i.NoticeBox,{info:!0,children:"Scanning..."})})}):(0,o.createComponentVNode)(2,a.Window,{width:470,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Buffered Genetic Data",children:s&&(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Source",children:m}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Gene Decay",children:[u,"%"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Locus",children:p})]}),(0,o.createComponentVNode)(2,i.Button,{mt:1,icon:"eject",onClick:function(){return c("eject_disk")},children:"Eject Loaded Disk"})]})||(0,o.createComponentVNode)(2,i.NoticeBox,{warning:!0,children:"No disk loaded."})}),(0,o.createComponentVNode)(2,i.Section,{title:"Loaded Material",children:h&&(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Target",children:h})}),(0,o.createComponentVNode)(2,i.Button,{mt:1,icon:"cog",onClick:function(){return c("apply_gene")},children:"Apply Gene Mods"}),(0,o.createComponentVNode)(2,i.Button,{mt:1,icon:"eject",onClick:function(){return c("eject_packet")},children:"Eject Target"})]})||(0,o.createComponentVNode)(2,i.NoticeBox,{warning:!0,children:"No target seed packet loaded."})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.BotanyIsolator=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.BotanyIsolator=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.geneMasks,u=l.activity,s=l.degradation,m=l.disk,p=l.loaded,h=l.hasGenetics,C=l.sourceName;return u?(0,o.createComponentVNode)(2,a.Window,{width:470,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i.NoticeBox,{info:!0,children:"Scanning..."})})}):(0,o.createComponentVNode)(2,a.Window,{width:470,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Buffered Genetic Data",children:h&&(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Source",children:C}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Gene decay",children:[s,"%"]}),m&&d.length&&d.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.mask,children:(0,o.createComponentVNode)(2,i.Button,{mb:-1,icon:"download",onClick:function(){return c("get_gene",{get_gene:e.tag})},children:"Extract"})},e.mask)}))||null]}),m&&(0,o.createComponentVNode)(2,i.Box,{mt:1,children:[(0,o.createComponentVNode)(2,i.Button,{icon:"eject",onClick:function(){return c("eject_disk")},children:"Eject Loaded Disk"}),(0,o.createComponentVNode)(2,i.Button,{icon:"trash",onClick:function(){return c("clear_buffer")},children:"Clear Genetic Buffer"})]})||(0,o.createComponentVNode)(2,i.NoticeBox,{mt:1,warning:!0,children:"No disk inserted."})]})||(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.NoticeBox,{warning:!0,children:"No Data Buffered."}),m&&(0,o.createComponentVNode)(2,i.Button,{icon:"eject",onClick:function(){return c("eject_disk")},children:"Eject Loaded Disk"})||(0,o.createComponentVNode)(2,i.NoticeBox,{mt:1,warning:!0,children:"No disk inserted."})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Loaded Material",children:p&&(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Packet Loaded",children:p})}),(0,o.createComponentVNode)(2,i.Button,{mt:1,icon:"cog",onClick:function(){return c("scan_genome")},children:"Process Genome"}),(0,o.createComponentVNode)(2,i.Button,{icon:"eject",onClick:function(){return c("eject_packet")},children:"Eject Packet"})]})||(0,o.createComponentVNode)(2,i.NoticeBox,{warning:!0,children:"No packet loaded."})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.BrigTimer=void 0;var o=n(0),r=n(5),i=n(1),a=n(2),c=n(3),l=n(20);t.BrigTimer=function(e,t){var n=(0,i.useBackend)(t),d=n.act,u=n.data;return(0,o.createComponentVNode)(2,c.Window,{width:300,height:138,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.Section,{title:"Cell Timer",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"clock-o",content:u.timing?"Stop":"Start",selected:u.timing,onClick:function(){return d(u.timing?"stop":"start")}}),u.flash_found&&(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:u.flash_charging?"Recharging":"Flash",disabled:u.flash_charging,onClick:function(){return d("flash")}})||null],0),children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,fluid:!0,value:u.time_left/10,minValue:0,maxValue:u.max_time_left/10,format:function(e){return(0,l.formatTime)((0,r.round)(e))},onDrag:function(e,t){return d("time",{time:t})}}),(0,o.createComponentVNode)(2,a.Flex,{mt:1,children:[(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"hourglass-start",content:"Add "+(0,l.formatTime)(u.preset_short/10),onClick:function(){return d("preset",{preset:"short"})}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"hourglass-start",content:"Add "+(0,l.formatTime)(u.preset_medium/10),onClick:function(){return d("preset",{preset:"medium"})}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"hourglass-start",content:"Add "+(0,l.formatTime)(u.preset_long/10),onClick:function(){return d("preset",{preset:"long"})}})})]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Canister=void 0;var o=n(0),r=n(5),i=n(1),a=n(2),c=n(20),l=n(3);t.Canister=function(e,t){var n=(0,i.useBackend)(t),d=n.act,u=n.data,s=u.connected,m=u.can_relabel,p=u.pressure,h=u.releasePressure,C=u.defaultReleasePressure,f=u.minReleasePressure,N=u.maxReleasePressure,b=u.valveOpen,V=u.holding;return(0,o.createComponentVNode)(2,l.Window,{width:360,height:242,resizable:!0,children:(0,o.createComponentVNode)(2,l.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Canister",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",disabled:!m,content:"Relabel",onClick:function(){return d("relabel")}}),children:(0,o.createComponentVNode)(2,a.LabeledControls,{children:[(0,o.createComponentVNode)(2,a.LabeledControls.Item,{minWidth:"66px",label:"Tank Pressure",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:p,format:function(e){return e<1e4?(0,r.toFixed)(e)+" kPa":(0,c.formatSiUnit)(1e3*e,1,"Pa")}})}),(0,o.createComponentVNode)(2,a.LabeledControls.Item,{label:"Regulator",children:(0,o.createComponentVNode)(2,a.Box,{position:"relative",left:"-8px",children:[(0,o.createComponentVNode)(2,a.Knob,{forcedInputWidth:"60px",size:1.25,color:!!b&&"yellow",value:h,unit:"kPa",minValue:f,maxValue:N,stepPixelSize:1,onDrag:function(e,t){return d("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,position:"absolute",top:"-2px",right:"-20px",color:"transparent",icon:"fast-forward",onClick:function(){return d("pressure",{pressure:N})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,position:"absolute",top:"16px",right:"-20px",color:"transparent",icon:"undo",onClick:function(){return d("pressure",{pressure:C})}})]})}),(0,o.createComponentVNode)(2,a.LabeledControls.Item,{label:"Valve",children:(0,o.createComponentVNode)(2,a.Button,{my:.5,width:"50px",lineHeight:2,fontSize:"11px",color:b?V?"caution":"danger":null,content:b?"Open":"Closed",onClick:function(){return d("valve")}})}),(0,o.createComponentVNode)(2,a.LabeledControls.Item,{mr:1,label:"Port",children:(0,o.createComponentVNode)(2,a.Box,{position:"relative",children:[(0,o.createComponentVNode)(2,a.Icon,{size:1.25,name:s?"plug":"times",color:s?"good":"bad"}),(0,o.createComponentVNode)(2,a.Tooltip,{content:s?"Connected":"Disconnected",position:"top"})]})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Holding Tank",buttons:!!V&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",color:b&&"danger",content:"Eject",onClick:function(){return d("eject")}}),children:[!!V&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Label",children:V.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:V.pressure})," kPa"]})]}),!V&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No Holding Tank"})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.CasinoPrizeDispenserCh=void 0;var o=n(0),r=n(6),i=n(1),a=n(2),c=n(3);n(24);var l={Alphabetical:function(e,t){return e-t},"By availability":function(e,t){return-(e.affordable-t.affordable)},"By price":function(e,t){return e.price-t.price}};t.CasinoPrizeDispenserCh=function(e,t){var n=(0,i.useBackend)(t);n.act,n.data;return(0,o.createComponentVNode)(2,c.Window,{width:400,height:450,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{className:"Layout__content--flexColumn",scrollable:!0,children:(0,o.createFragment)([(0,o.createComponentVNode)(2,u),(0,o.createComponentVNode)(2,d)],4)})})};var d=function(e,t){var n=(0,i.useBackend)(t),d=(n.act,n.data),u=d.points,m=d.items,p=(0,i.useLocalState)(t,"search",""),h=p[0],C=(p[1],(0,i.useLocalState)(t,"sort","Alphabetical")),f=C[0],N=(C[1],(0,i.useLocalState)(t,"descending",!1)),b=N[0],V=(N[1],(0,r.createSearch)(h,(function(e){return e[0]}))),g=!1,v=Object.entries(m).map((function(e,t){var n=Object.entries(e[1]).filter(V).map((function(e){return e[1].affordable=u>=e[1].price,e[1]})).sort(l[f]);if(0!==n.length)return b&&(n=n.reverse()),g=!0,(0,o.createComponentVNode)(2,s,{title:e[0],items:n},e[0])}));return(0,o.createComponentVNode)(2,a.Flex.Item,{grow:"1",overflow:"auto",children:(0,o.createComponentVNode)(2,a.Section,{onClick:function(e){return(0,c.refocusLayout)()},children:g?v:(0,o.createComponentVNode)(2,a.Box,{color:"label",children:"No items matching your criteria was found!"})})})},u=function(e,t){var n=(0,i.useLocalState)(t,"search",""),r=(n[0],n[1]),c=(0,i.useLocalState)(t,"sort",""),d=(c[0],c[1]),u=(0,i.useLocalState)(t,"descending",!1),s=u[0],m=u[1];return(0,o.createComponentVNode)(2,a.Box,{mb:"0.5rem",children:(0,o.createComponentVNode)(2,a.Flex,{width:"100%",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{grow:"1",mr:"0.5rem",children:(0,o.createComponentVNode)(2,a.Input,{placeholder:"Search by item name..",width:"100%",onInput:function(e,t){return r(t)}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{basis:"30%",children:(0,o.createComponentVNode)(2,a.Dropdown,{selected:"Alphabetical",options:Object.keys(l),width:"100%",lineHeight:"19px",onSelected:function(e){return d(e)}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Button,{icon:s?"arrow-down":"arrow-up",height:"19px",tooltip:s?"Descending order":"Ascending order",tooltipPosition:"bottom-left",ml:"0.5rem",onClick:function(){return m(!s)}})})]})})},s=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=(n.data,e.title),l=e.items,d=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["title","items"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Collapsible,Object.assign({open:!0,title:c},d,{children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Box,{display:"inline-block",verticalAlign:"middle",lineHeight:"20px",style:{float:"left"},children:e.name}),(0,o.createComponentVNode)(2,a.Button,{content:e.price.toLocaleString("en-US"),width:"15%",textAlign:"center",style:{float:"right"},onClick:function(){return r("purchase",{cat:c,name:e.name,price:e.price,restriction:e.restriction})}}),(0,o.createComponentVNode)(2,a.Box,{style:{clear:"both"}})]},e.name)}))})))}},function(e,t,n){"use strict";t.__esModule=!0,t.CharacterDirectory=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3),c=function(e){switch(e){case"Unset":return"label";case"Pred":return"red";case"Prey":return"blue";case"Switch":return"purple";case"Non-Vore":return"green"}};t.CharacterDirectory=function(e,t){var n=(0,r.useBackend)(t),c=n.act,u=n.data,s=u.personalVisibility,m=u.personalTag,p=u.personalErpTag,h=u.personalEventTag,C=(0,r.useLocalState)(t,"overlay",null),f=C[0];C[1];return(0,o.createComponentVNode)(2,a.Window,{width:640,height:480,resizeable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:f&&(0,o.createComponentVNode)(2,l)||(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Controls",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Visibility",children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:s?"Shown":"Not Shown",onClick:function(){return c("setVisible")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Vore Tag",children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:m,onClick:function(){return c("setTag")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"ERP Tag",children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:p,onClick:function(){return c("setErpTag")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Event Pref",children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:h,onClick:function(){return c("setEventTag")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Advertisement",children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:"Edit Ad",onClick:function(){return c("editAd")}})})]})}),(0,o.createComponentVNode)(2,d)],4)})})};var l=function(e,t){var n=(0,r.useLocalState)(t,"overlay",null),a=n[0],l=n[1];return(0,o.createComponentVNode)(2,i.Section,{title:a.name,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"arrow-left",content:"Back",onClick:function(){return l(null)}}),children:[(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Vore Tag",children:(0,o.createComponentVNode)(2,i.Box,{p:1,backgroundColor:c(a.tag),children:a.tag})}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"ERP Tag",children:(0,o.createComponentVNode)(2,i.Box,{children:a.erptag})}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Event Pref",children:(0,o.createComponentVNode)(2,i.Box,{children:a.eventtag})}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Character Ad",children:(0,o.createComponentVNode)(2,i.Box,{style:{"word-break":"break-all"},children:a.character_ad?a.character_ad.split("\n").map((function(e,t){return(0,o.createComponentVNode)(2,i.Box,{children:e},t)})):"Unset."})}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"OOC Notes",children:(0,o.createComponentVNode)(2,i.Box,{style:{"word-break":"break-all"},children:a.ooc_notes?a.ooc_notes.split("\n").map((function(e,t){return(0,o.createComponentVNode)(2,i.Box,{children:e},t)})):"Unset."})}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Flavor Text",children:(0,o.createComponentVNode)(2,i.Box,{style:{"word-break":"break-all"},children:a.flavor_text?a.flavor_text.split("\n").map((function(e,t){return(0,o.createComponentVNode)(2,i.Box,{children:e},t)})):"Unset."})})]})},d=function(e,t){var n=(0,r.useBackend)(t),a=n.act,l=n.data.directory,d=(0,r.useLocalState)(t,"sortId","name"),s=d[0],m=(d[1],(0,r.useLocalState)(t,"sortOrder","name")),p=m[0],h=(m[1],(0,r.useLocalState)(t,"overlay",null)),C=(h[0],h[1]);return(0,o.createComponentVNode)(2,i.Section,{title:"Directory",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"sync",content:"Refresh",onClick:function(){return a("refresh")}}),children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{bold:!0,children:[(0,o.createComponentVNode)(2,u,{id:"name",children:"Name"}),(0,o.createComponentVNode)(2,u,{id:"tag",children:"Vore Tag"}),(0,o.createComponentVNode)(2,u,{id:"erptag",children:"ERP Tag"}),(0,o.createComponentVNode)(2,u,{id:"eventtag",children:"Event Pref"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:"View"})]}),l.sort((function(e,t){var n=p?1:-1;return e[s].localeCompare(t[s])*n})).map((function(e,t){return(0,o.createComponentVNode)(2,i.Table.Row,{backgroundColor:c(e.tag),children:[(0,o.createComponentVNode)(2,i.Table.Cell,{p:1,children:e.name}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.tag}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.erptag}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.eventtag}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return C(e)},color:"transparent",icon:"sticky-note",mr:1,content:"View"})})]},t)}))]})})},u=function(e,t){var n=(0,r.useBackend)(t),a=(n.act,n.data,e.id),c=e.children,l=(0,r.useLocalState)(t,"sortId","name"),d=l[0],u=l[1],s=(0,r.useLocalState)(t,"sortOrder","name"),m=s[0],p=s[1];return(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,i.Button,{width:"100%",color:d!==a&&"transparent",onClick:function(){d===a?p(!m):(u(a),p(!0))},children:[c,d===a&&(0,o.createComponentVNode)(2,i.Icon,{name:m?"sort-up":"sort-down",ml:"0.25rem;"})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemDispenser=void 0;var o=n(0),r=n(1),i=n(2),a=n(188),c=n(3),l=[5,10,20,30,40,60],d=[1,5,10];t.ChemDispenser=function(e,t){return(0,o.createComponentVNode)(2,c.Window,{width:390,height:655,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{className:"Layout__content--flexColumn",children:[(0,o.createComponentVNode)(2,u),(0,o.createComponentVNode)(2,s),(0,o.createComponentVNode)(2,m)]})})};var u=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data.amount;return(0,o.createComponentVNode)(2,i.Section,{title:"Settings",flex:"content",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Dispense",verticalAlign:"middle",children:(0,o.createComponentVNode)(2,i.Flex,{direction:"row",wrap:"wrap",spacing:"1",children:l.map((function(e,t){return(0,o.createComponentVNode)(2,i.Flex.Item,{grow:"1",children:(0,o.createComponentVNode)(2,i.Button,{textAlign:"center",selected:c===e,content:e+"u",m:"0",fluid:!0,onClick:function(){return a("amount",{amount:e})}})},t)}))})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Custom Amount",children:(0,o.createComponentVNode)(2,i.Slider,{step:1,stepPixelSize:5,value:c,minValue:1,maxValue:120,onDrag:function(e,t){return a("amount",{amount:t})}})})]})})},s=function(e,t){for(var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.chemicals,d=void 0===l?[]:l,u=[],s=0;s<(d.length+1)%3;s++)u.push(!0);return(0,o.createComponentVNode)(2,i.Section,{title:c.glass?"Drink Dispenser":"Chemical Dispenser",flexGrow:"1",children:(0,o.createComponentVNode)(2,i.Flex,{direction:"row",wrap:"wrap",height:"100%",spacingPrecise:"2",align:"flex-start",alignContent:"flex-start",children:[d.map((function(e,t){return(0,o.createComponentVNode)(2,i.Flex.Item,{grow:"1",basis:"40%",height:"20px",children:(0,o.createComponentVNode)(2,i.Button,{icon:"arrow-circle-down",width:"100%",height:"100%",align:"flex-start",content:e.title+" ("+e.amount+")",onClick:function(){return a("dispense",{reagent:e.id})}})},t)})),u.map((function(e,t){return(0,o.createComponentVNode)(2,i.Flex.Item,{grow:"1",basis:"25%",height:"20px"},t)}))]})})},m=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,u=l.isBeakerLoaded,s=l.beakerCurrentVolume,m=l.beakerMaxVolume,p=l.beakerContents,h=void 0===p?[]:p;return(0,o.createComponentVNode)(2,i.Section,{title:"Beaker",flex:"content",minHeight:"25%",buttons:(0,o.createComponentVNode)(2,i.Box,{children:[!!u&&(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:"label",mr:2,children:[s," / ",m," units"]}),(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject",disabled:!u,onClick:function(){return c("ejectBeaker")}})]}),children:(0,o.createComponentVNode)(2,a.BeakerContents,{beakerLoaded:u,beakerContents:h,buttons:function(e){return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{content:"Isolate",icon:"compress-arrows-alt",onClick:function(){return c("remove",{reagent:e.id,amount:-1})}}),d.map((function(t,n){return(0,o.createComponentVNode)(2,i.Button,{content:t,onClick:function(){return c("remove",{reagent:e.id,amount:t})}},n)})),(0,o.createComponentVNode)(2,i.Button,{content:"ALL",onClick:function(){return c("remove",{reagent:e.id,amount:e.volume})}})],0)}})})}},function(e,t,n){"use strict";e.exports=n(500)()},function(e,t,n){"use strict";var o=n(501);function r(){}function i(){}i.resetWarningCache=r,e.exports=function(){function e(e,t,n,r,i,a){if(a!==o){var c=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw c.name="Invariant Violation",c}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:r};return n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";t.__esModule=!0,t.ChemMaster=void 0;var o=n(0),r=n(1),i=n(2),a=n(3),c=n(188),l=n(45),d=[1,5,10,30,60];t.ChemMaster=function(e,t){var n=(0,r.useBackend)(t).data,i=n.condi,c=n.beaker,d=n.beaker_reagents,p=void 0===d?[]:d,h=n.buffer_reagents,C=void 0===h?[]:h,f=n.mode;return(0,o.createComponentVNode)(2,a.Window,{width:575,height:500,resizable:!0,children:[(0,o.createComponentVNode)(2,l.ComplexModal),(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,className:"Layout__content--flexColumn",children:[(0,o.createComponentVNode)(2,u,{beaker:c,beakerReagents:p,bufferNonEmpty:C.length>0}),(0,o.createComponentVNode)(2,s,{mode:f,bufferReagents:C}),(0,o.createComponentVNode)(2,m,{isCondiment:i,bufferNonEmpty:C.length>0})]})]})};var u=function(e,t){var n=(0,r.useBackend)(t),a=n.act,u=(n.data,e.beaker),s=e.beakerReagents,m=e.bufferNonEmpty;return(0,o.createComponentVNode)(2,i.Section,{title:"Beaker",buttons:m?(0,o.createComponentVNode)(2,i.Button.Confirm,{icon:"eject",disabled:!u,content:"Eject and Clear Buffer",onClick:function(){return a("eject")}}):(0,o.createComponentVNode)(2,i.Button,{icon:"eject",disabled:!u,content:"Eject and Clear Buffer",onClick:function(){return a("eject")}}),children:u?(0,o.createComponentVNode)(2,c.BeakerContents,{beakerLoaded:!0,beakerContents:s,buttons:function(e,n){return(0,o.createComponentVNode)(2,i.Box,{mb:n0?(0,o.createComponentVNode)(2,c.BeakerContents,{beakerLoaded:!0,beakerContents:s,buttons:function(e,r){return(0,o.createComponentVNode)(2,i.Box,{mb:r0?l.desc:"N/A"}),l.blood_type&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Blood type",children:l.blood_type}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Blood DNA",className:"LabeledList__breakContents",children:l.blood_dna})],4),!c.condi&&(0,o.createComponentVNode)(2,i.Button,{icon:c.printing?"spinner":"print",disabled:c.printing,iconSpin:!!c.printing,ml:"0.5rem",content:"Print",onClick:function(){return a("print",{idx:l.idx,beaker:e.args.beaker})}})]})})})}))},function(e,t,n){"use strict";t.__esModule=!0,t.ClawMachine=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.ClawMachine=function(e,t){var n,c=(0,r.useBackend)(t),l=c.act,d=c.data,u=(d.wintick,d.instructions),s=d.gameStatus,m=d.winscreen;return"CLAWMACHINE_NEW"===s?n=(0,o.createComponentVNode)(2,i.Box,{align:"center",children:[(0,o.createVNode)(1,"br")," ",(0,o.createVNode)(1,"hr"),(0,o.createVNode)(1,"b",null,"Pay to Play!",16)," ",(0,o.createVNode)(1,"br")," ",(0,o.createVNode)(1,"hr"),u,(0,o.createVNode)(1,"br")," ",(0,o.createVNode)(1,"hr")," ",(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,i.Button,{content:"Start",onClick:function(){return l("newgame")}})]}):"CLAWMACHINE_END"===s?n=(0,o.createComponentVNode)(2,i.Box,{align:"center",children:[(0,o.createVNode)(1,"br")," ",(0,o.createVNode)(1,"hr"),(0,o.createVNode)(1,"b",null,"Thank you for playing!",16)," ",(0,o.createVNode)(1,"br")," ",(0,o.createVNode)(1,"hr"),m,(0,o.createVNode)(1,"br")," ",(0,o.createVNode)(1,"hr")," ",(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,i.Button,{content:"Close",onClick:function(){return l("return")}})]}):"CLAWMACHINE_ON"===s&&(n=(0,o.createComponentVNode)(2,a.Window.Content,{children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Progress",children:(0,o.createComponentVNode)(2,i.ProgressBar,{ranges:{bad:[-Infinity,0],average:[1,7],good:[8,Infinity]},value:d.wintick,minValue:0,maxValue:10})})}),(0,o.createComponentVNode)(2,i.Box,{align:"center",children:[(0,o.createVNode)(1,"br")," ",(0,o.createVNode)(1,"hr")," ",(0,o.createVNode)(1,"br"),u,(0,o.createVNode)(1,"br")," ",(0,o.createVNode)(1,"br")," ",(0,o.createVNode)(1,"hr")," ",(0,o.createVNode)(1,"br")," ",(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,i.Button,{content:"Up",onClick:function(){return l("pointless")}}),(0,o.createVNode)(1,"br")," ",(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,i.Button,{content:"Left",onClick:function(){return l("pointless")}}),(0,o.createComponentVNode)(2,i.Button,{content:"Right",onClick:function(){return l("pointless")}}),(0,o.createVNode)(1,"br")," ",(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,i.Button,{content:"Down",onClick:function(){return l("pointless")}})]})]})),(0,o.createComponentVNode)(2,a.Window,{resizable:!0,children:(0,o.createVNode)(1,"center",null,n,0)})}},function(e,t,n){"use strict";t.__esModule=!0,t.Cleanbot=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.Cleanbot=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.on,u=l.open,s=l.locked,m=l.version,p=l.blood,h=(l.patrol,l.wet_floors),C=l.spray_blood,f=l.rgbpanel,N=l.red_switch,b=l.green_switch,V=l.blue_switch;return(0,o.createComponentVNode)(2,a.Window,{width:400,height:400,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Automatic Station Cleaner "+m,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",selected:d,onClick:function(){return c("start")},children:d?"On":"Off"}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Maintenance Panel",color:u?"bad":"good",children:u?"Open":"Closed"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Behavior Controls",color:s?"good":"bad",children:s?"Locked":"Unlocked"})]})}),!s&&(0,o.createComponentVNode)(2,i.Section,{title:"Behavior Controls",children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:p?"toggle-on":"toggle-off",selected:p,onClick:function(){return c("blood")},children:p?"Cleans Blood":"Ignores Blood"})})||null,!s&&u&&(0,o.createComponentVNode)(2,i.Section,{title:"Maintenance Panel",children:f&&(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Button,{fontSize:5.39,icon:N?"toggle-on":"toggle-off",backgroundColor:N?"red":"maroon",onClick:function(){return c("red_switch")}}),(0,o.createComponentVNode)(2,i.Button,{fontSize:5.39,icon:b?"toggle-on":"toggle-off",backgroundColor:b?"green":"darkgreen",onClick:function(){return c("green_switch")}}),(0,o.createComponentVNode)(2,i.Button,{fontSize:5.39,icon:V?"toggle-on":"toggle-off",backgroundColor:V?"blue":"darkblue",onClick:function(){return c("blue_switch")}})]})||(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Odd Looking Screw Twiddled",children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,selected:h,onClick:function(){return c("wet_floors")},icon:"screwdriver",children:h?"Yes":"No"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Weird Button Pressed",children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,color:"brown",selected:C,onClick:function(){return c("spray_blood")},icon:"screwdriver",children:C?"Yes":"No"})})]})})})||null]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.CloningConsole=void 0;var o=n(0),r=n(5),i=n(1),a=n(2),c=n(28),l=n(45),d=n(3),u=function(e,t){var n=(0,i.useBackend)(t),r=n.act,l=n.data,d=e.args,u=d.activerecord,s=d.realname,m=d.health,p=d.unidentity,h=d.strucenzymes,C=m.split(" - ");return(0,o.createComponentVNode)(2,a.Section,{level:2,m:"-1rem",pb:"1rem",title:"Records of "+s,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:s}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Damage",children:C.length>1?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{color:c.COLORS.damageType.oxy,display:"inline",children:C[0]}),(0,o.createTextVNode)("\xa0|\xa0"),(0,o.createComponentVNode)(2,a.Box,{color:c.COLORS.damageType.toxin,display:"inline",children:C[2]}),(0,o.createTextVNode)("\xa0|\xa0"),(0,o.createComponentVNode)(2,a.Box,{color:c.COLORS.damageType.brute,display:"inline",children:C[3]}),(0,o.createTextVNode)("\xa0|\xa0"),(0,o.createComponentVNode)(2,a.Box,{color:c.COLORS.damageType.burn,display:"inline",children:C[1]})],4):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Unknown"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"UI",className:"LabeledList__breakContents",children:p}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"SE",className:"LabeledList__breakContents",children:h}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Disk",children:[(0,o.createComponentVNode)(2,a.Button.Confirm,{disabled:!l.disk,icon:"arrow-circle-down",content:"Import",onClick:function(){return r("disk",{option:"load"})}}),(0,o.createComponentVNode)(2,a.Button,{disabled:!l.disk,icon:"arrow-circle-up",content:"Export UI",onClick:function(){return r("disk",{option:"save",savetype:"ui"})}}),(0,o.createComponentVNode)(2,a.Button,{disabled:!l.disk,icon:"arrow-circle-up",content:"Export UI and UE",onClick:function(){return r("disk",{option:"save",savetype:"ue"})}}),(0,o.createComponentVNode)(2,a.Button,{disabled:!l.disk,icon:"arrow-circle-up",content:"Export SE",onClick:function(){return r("disk",{option:"save",savetype:"se"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Actions",children:[(0,o.createComponentVNode)(2,a.Button,{disabled:!l.podready,icon:"user-plus",content:"Clone",onClick:function(){return r("clone",{ref:u})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"trash",content:"Delete",onClick:function(){return r("del_rec")}})]})]})})};t.CloningConsole=function(e,t){var n=(0,i.useBackend)(t);n.act,n.data.menu;return(0,l.modalRegisterBodyOverride)("view_rec",u),(0,o.createComponentVNode)(2,d.Window,{resizable:!0,children:[(0,o.createComponentVNode)(2,l.ComplexModal,{maxWidth:"75%",maxHeight:"75%"}),(0,o.createComponentVNode)(2,d.Window.Content,{className:"Layout__content--flexColumn",children:[(0,o.createComponentVNode)(2,C),(0,o.createComponentVNode)(2,f),(0,o.createComponentVNode)(2,s),(0,o.createComponentVNode)(2,a.Section,{noTopPadding:!0,flexGrow:"1",children:(0,o.createComponentVNode)(2,m)})]})]})};var s=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data.menu;return(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:1===c,icon:"home",onClick:function(){return r("menu",{num:1})},children:"Main"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:2===c,icon:"folder",onClick:function(){return r("menu",{num:2})},children:"Records"})]})},m=function(e,t){var n,r=(0,i.useBackend)(t).data.menu;return 1===r?n=(0,o.createComponentVNode)(2,p):2===r&&(n=(0,o.createComponentVNode)(2,h)),n},p=function(e,t){var n=(0,i.useBackend)(t),c=n.act,l=n.data,d=l.loading,u=l.scantemp,s=l.occupant,m=l.locked,p=l.can_brainscan,h=l.scan_mode,C=l.numberofpods,f=l.pods,N=l.selected_pod,b=m&&!!s;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Scanner",level:"2",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{display:"inline",color:"label",children:"Scanner Lock:\xa0"}),(0,o.createComponentVNode)(2,a.Button,{disabled:!s,selected:b,icon:b?"toggle-on":"toggle-off",content:b?"Engaged":"Disengaged",onClick:function(){return c("lock")}}),(0,o.createComponentVNode)(2,a.Button,{disabled:b||!s,icon:"user-slash",content:"Eject Occupant",onClick:function(){return c("eject")}})],4),children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",children:d?(0,o.createComponentVNode)(2,a.Box,{color:"average",children:[(0,o.createComponentVNode)(2,a.Icon,{name:"spinner",spin:!0}),"\xa0 Scanning..."]}):(0,o.createComponentVNode)(2,a.Box,{color:u.color,children:u.text})}),!!p&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Scan Mode",children:(0,o.createComponentVNode)(2,a.Button,{icon:h?"brain":"male",content:h?"Brain":"Body",onClick:function(){return c("toggle_mode")}})})]}),(0,o.createComponentVNode)(2,a.Button,{disabled:!s||d,icon:"user",content:"Scan Occupant",mt:"0.5rem",mb:"0",onClick:function(){return c("scan")}})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Pods",level:"2",children:C?f.map((function(e,t){var n;return n="cloning"===e.status?(0,o.createComponentVNode)(2,a.ProgressBar,{min:"0",max:"100",value:e.progress/100,ranges:{good:[.75,Infinity],average:[.25,.75],bad:[-Infinity,.25]},mt:"0.5rem",children:(0,o.createComponentVNode)(2,a.Box,{textAlign:"center",children:(0,r.round)(e.progress,0)+"%"})}):"mess"===e.status?(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:"bad",mt:"0.5rem",children:"ERROR"}):(0,o.createComponentVNode)(2,a.Button,{selected:N===e.pod,icon:N===e.pod&&"check",content:"Select",mt:"0.5rem",onClick:function(){return c("selectpod",{ref:e.pod})}}),(0,o.createComponentVNode)(2,a.Box,{width:"64px",textAlign:"center",display:"inline-block",mr:"0.5rem",children:[(0,o.createVNode)(1,"img",null,null,1,{src:"pod_"+e.status+".gif",style:{width:"100%","-ms-interpolation-mode":"nearest-neighbor"}}),(0,o.createComponentVNode)(2,a.Box,{color:"label",children:["Pod #",t+1]}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:e.biomass>=150?"good":"bad",display:"inline",children:[(0,o.createComponentVNode)(2,a.Icon,{name:e.biomass>=150?"circle":"circle-o"}),"\xa0",e.biomass]}),n]},t)})):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"No pods detected. Unable to clone."})})],4)},h=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data.records;return c.length?(0,o.createComponentVNode)(2,a.Box,{mt:"0.5rem",children:c.map((function(e,t){return(0,o.createComponentVNode)(2,a.Button,{icon:"user",mb:"0.5rem",content:e.realname,onClick:function(){return r("view_rec",{ref:e.record})}},t)}))}):(0,o.createComponentVNode)(2,a.Flex,{height:"100%",children:(0,o.createComponentVNode)(2,a.Flex.Item,{grow:"1",align:"center",textAlign:"center",color:"label",children:[(0,o.createComponentVNode)(2,a.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,o.createVNode)(1,"br"),"No records found."]})})},C=function(e,t){var n,r=(0,i.useBackend)(t),c=r.act,l=r.data.temp;if(l&&l.text&&!(l.text.length<=0)){var d=((n={})[l.style]=!0,n);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.NoticeBox,Object.assign({},d,{children:[(0,o.createComponentVNode)(2,a.Box,{display:"inline-block",verticalAlign:"middle",children:l.text}),(0,o.createComponentVNode)(2,a.Button,{icon:"times-circle",float:"right",onClick:function(){return c("cleartemp")}}),(0,o.createComponentVNode)(2,a.Box,{clear:"both"})]})))}},f=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data,l=c.scanner,d=c.numberofpods,u=c.autoallowed,s=c.autoprocess,m=c.disk;return(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createFragment)([!!u&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{display:"inline",color:"label",children:"Auto-processing:\xa0"}),(0,o.createComponentVNode)(2,a.Button,{selected:s,icon:s?"toggle-on":"toggle-off",content:s?"Enabled":"Disabled",onClick:function(){return r("autoprocess",{on:s?0:1})}})],4),(0,o.createComponentVNode)(2,a.Button,{disabled:!m,icon:"eject",content:"Eject Disk",onClick:function(){return r("disk",{option:"eject"})}})],0),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Scanner",children:l?(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Connected"}):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Not connected!"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pods",children:d?(0,o.createComponentVNode)(2,a.Box,{color:"good",children:[d," connected"]}):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"None connected!"})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ColorMate=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.ColorMate=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.items,u=l.activecolor,s=Math.min(270+15*d.length,600);return(0,o.createComponentVNode)(2,a.Window,{width:300,height:s,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:d.length&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Paint",children:(0,o.createComponentVNode)(2,i.Flex,{justify:"center",align:"center",children:[(0,o.createComponentVNode)(2,i.Flex.Item,{basis:"50%",children:(0,o.createComponentVNode)(2,i.Box,{backgroundColor:u,width:"120px",height:"120px"})}),(0,o.createComponentVNode)(2,i.Flex.Item,{basis:"50% ",children:[(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"eye-dropper",onClick:function(){return c("select")},children:"Select Color"}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"fill-drip",onClick:function(){return c("paint")},children:"Paint Items"}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"tint-slash",onClick:function(){return c("clear")},children:"Remove Paintjob"}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"eject",onClick:function(){return c("eject")},children:"Eject Items"})]})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Items",children:d.map((function(e,t){return(0,o.createComponentVNode)(2,i.Box,{children:["#",t+1,": ",e]},t)}))})],4)||(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No items inserted."})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Communicator=void 0;var o=n(0),r=n(8),i=n(6),a=n(1),c=n(2),l=n(3),d=n(94),u={};t.Communicator=function(e,t){var n=(0,a.useBackend)(t),r=(n.act,n.data),i=r.currentTab,d=r.video_comm,C=(r.mapRef,(0,a.useLocalState)(t,"videoSetting",0)),f=C[0],N=C[1];return(0,o.createComponentVNode)(2,l.Window,{width:475,height:700,resizable:!0,children:(0,o.createComponentVNode)(2,l.Window.Content,{children:[d&&(0,o.createComponentVNode)(2,s,{videoSetting:f,setVideoSetting:N}),(!d||0!==f)&&(0,o.createFragment)([(0,o.createComponentVNode)(2,p),(0,o.createComponentVNode)(2,c.Box,{height:"88%",mb:1,style:{"overflow-y":"auto"},children:u[i]||(0,o.createComponentVNode)(2,m)}),(0,o.createComponentVNode)(2,h,{videoSetting:f,setVideoSetting:N})],4)]})})};var s=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data,l=(i.video_comm,i.mapRef),d=e.videoSetting,u=e.setVideoSetting;return 0===d?(0,o.createComponentVNode)(2,c.Box,{width:"100%",height:"100%",children:[(0,o.createComponentVNode)(2,c.ByondUi,{width:"100%",height:"95%",params:{id:l,type:"map"}}),(0,o.createComponentVNode)(2,c.Flex,{justify:"space-between",spacing:1,mt:.5,children:[(0,o.createComponentVNode)(2,c.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,c.Button,{textAlign:"center",fluid:!0,fontSize:1.5,icon:"window-minimize",onClick:function(){return u(1)}})}),(0,o.createComponentVNode)(2,c.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,c.Button,{textAlign:"center",fluid:!0,fontSize:1.5,color:"bad",icon:"video-slash",onClick:function(){return r("endvideo")}})}),(0,o.createComponentVNode)(2,c.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,c.Button,{textAlign:"center",fluid:!0,fontSize:1.5,color:"bad",icon:"phone-slash",onClick:function(){return r("hang_up")}})})]})]}):1===d?(0,o.createComponentVNode)(2,c.Box,{style:{position:"absolute",right:"5px",bottom:"50px","z-index":1},children:[(0,o.createComponentVNode)(2,c.Section,{p:0,m:0,children:(0,o.createComponentVNode)(2,c.Flex,{justify:"space-between",spacing:1,children:[(0,o.createComponentVNode)(2,c.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,c.Button,{textAlign:"center",fluid:!0,fontSize:1.5,icon:"window-minimize",onClick:function(){return u(2)}})}),(0,o.createComponentVNode)(2,c.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,c.Button,{textAlign:"center",fluid:!0,fontSize:1.5,icon:"window-maximize",onClick:function(){return u(0)}})}),(0,o.createComponentVNode)(2,c.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,c.Button,{textAlign:"center",fluid:!0,fontSize:1.5,color:"bad",icon:"video-slash",onClick:function(){return r("endvideo")}})}),(0,o.createComponentVNode)(2,c.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,c.Button,{textAlign:"center",fluid:!0,fontSize:1.5,color:"bad",icon:"phone-slash",onClick:function(){return r("hang_up")}})})]})}),(0,o.createComponentVNode)(2,c.ByondUi,{width:"200px",height:"200px",params:{id:l,type:"map"}})]}):null},m=function(e,t){var n=(0,a.useBackend)(t),r=(n.act,n.data.currentTab);return(0,o.createComponentVNode)(2,c.Section,{title:"Error!",children:["You tried to access tab #",r,", but there was no template defined!"]})},p=function(e,t){var n=(0,a.useBackend)(t),r=(n.act,n.data),l=r.time,d=r.connectionStatus,u=r.owner,s=r.occupation;return(0,o.createComponentVNode)(2,c.Section,{children:(0,o.createComponentVNode)(2,c.Flex,{align:"center",justify:"space-between",children:[(0,o.createComponentVNode)(2,c.Flex.Item,{color:"average",children:l}),(0,o.createComponentVNode)(2,c.Flex.Item,{children:(0,o.createComponentVNode)(2,c.Icon,{color:1===d?"good":"bad",name:1===d?"signal":"exclamation-triangle"})}),(0,o.createComponentVNode)(2,c.Flex.Item,{color:"average",children:(0,i.decodeHtmlEntities)(u)}),(0,o.createComponentVNode)(2,c.Flex.Item,{color:"average",children:(0,i.decodeHtmlEntities)(s)})]})})},h=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data.flashlight,l=e.videoSetting,d=e.setVideoSetting;return(0,o.createComponentVNode)(2,c.Flex,{children:[(0,o.createComponentVNode)(2,c.Flex.Item,{basis:2===l?"60%":"80%",children:(0,o.createComponentVNode)(2,c.Button,{p:1,fluid:!0,icon:"home",iconSize:2,textAlign:"center",onClick:function(){return r("switch_tab",{switch_tab:1})}})}),(0,o.createComponentVNode)(2,c.Flex.Item,{basis:"20%",children:(0,o.createComponentVNode)(2,c.Button,{icon:"lightbulb",iconSize:2,p:1,fluid:!0,textAlign:"center",selected:i,tooltip:"Flashlight",tooltipPosition:"top",onClick:function(){return r("Light")}})}),2===l&&(0,o.createComponentVNode)(2,c.Flex.Item,{basis:"20%",children:(0,o.createComponentVNode)(2,c.Button,{icon:"video",iconSize:2,p:1,fluid:!0,textAlign:"center",tooltip:"Open Video",tooltipPosition:"top",onClick:function(){return d(1)}})})]})},C=function(e,t){var n=(0,a.useBackend)(t).data,o=n.voice_mobs,r=n.communicating,i=n.requestsReceived,c=n.invitesSent,l=n.video_comm;return!("Phone"!==e||!(o.length||r.length||i.length||c.length||l))};u[1]=(0,o.createComponentVNode)(2,(function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data.homeScreen;return(0,o.createComponentVNode)(2,c.Flex,{mt:2,wrap:"wrap",align:"center",justify:"center",children:i.map((function(e){return(0,o.createComponentVNode)(2,c.Flex.Item,{basis:"25%",textAlign:"center",mb:2,children:[(0,o.createComponentVNode)(2,c.Button,{style:{"border-radius":"10%",border:"1px solid #000"},width:"64px",height:"64px",position:"relative",onClick:function(){return r("switch_tab",{switch_tab:e.number})},children:(0,o.createComponentVNode)(2,c.Icon,{spin:C(e.module,t),color:C(e.module,t)?"bad":null,name:e.icon,position:"absolute",size:3,top:"25%",left:"25%"})}),(0,o.createComponentVNode)(2,c.Box,{children:e.module})]},e.number)}))})}));var f=function(e,t){for(var n=(0,a.useBackend)(t),r=n.act,i=n.data.targetAddress,l=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"].map((function(e){return(0,o.createComponentVNode)(2,c.Button,{content:e,fontSize:2,fluid:!0,onClick:function(){return r("add_hex",{add_hex:e})}},e)})),d=[],u=0;un?t.length>n?t.slice(0,n)+"...":t:e+t},V=function(e,t,n,o){if(n<0||n>o.length)return N(e,t)?"TinderMessage_First_Sent":"TinderMessage_First_Received";var r=N(e,t),i=N(o[n],t);return r&&i?"TinderMessage_Subsequent_Sent":r||i?r?"TinderMessage_First_Sent":"TinderMessage_First_Received":"TinderMessage_Subsequent_Received"};u[40]=(0,o.createComponentVNode)(2,(function(e,t){var n=(0,a.useBackend)(t),r=n.act,l=n.data,d=l.targetAddressName,u=l.targetAddress,s=l.imList,m=(0,a.useLocalState)(t,"clipboardMode",!1),p=m[0],h=m[1];return p?(0,o.createComponentVNode)(2,c.Section,{title:(0,o.createComponentVNode)(2,c.Box,{inline:!0,style:{"white-space":"nowrap","overflow-x":"hidden"},width:"90%",children:b("Conversation with ",(0,i.decodeHtmlEntities)(d),30)}),buttons:(0,o.createComponentVNode)(2,c.Button,{icon:"eye",selected:p,tooltip:"Exit Clipboard Mode",tooltipPosition:"bottom-left",onClick:function(){return h(!p)}}),height:"100%",stretchContents:!0,children:[(0,o.createComponentVNode)(2,c.Section,{style:{height:"95%","overflow-y":"auto"},children:s.map((function(e,t){return(0,o.createComponentVNode)(2,c.Box,{className:N(e,u)?"ClassicMessage_Sent":"ClassicMessage_Received",children:[N(e,u)?"You":"Them",": ",e.im]},t)}))}),(0,o.createComponentVNode)(2,c.Button,{icon:"comment",onClick:function(){return r("message",{message:u})},content:"Message"})]}):(0,o.createComponentVNode)(2,c.Section,{title:(0,o.createComponentVNode)(2,c.Box,{inline:!0,style:{"white-space":"nowrap","overflow-x":"hidden"},width:"100%",children:b("Conversation with ",(0,i.decodeHtmlEntities)(d),30)}),buttons:(0,o.createComponentVNode)(2,c.Button,{icon:"eye",selected:p,tooltip:"Enter Clipboard Mode",tooltipPosition:"bottom-left",onClick:function(){return h(!p)}}),height:"100%",stretchContents:!0,children:[(0,o.createComponentVNode)(2,c.Section,{style:{height:"95%","overflow-y":"auto"},children:s.map((function(e,t,n){return(0,o.createComponentVNode)(2,c.Box,{textAlign:N(e,u)?"right":"left",mb:1,children:(0,o.createComponentVNode)(2,c.Box,{maxWidth:"75%",className:V(e,u,t-1,n),inline:!0,children:(0,i.decodeHtmlEntities)(e.im)})},t)}))}),(0,o.createComponentVNode)(2,c.Button,{icon:"comment",onClick:function(){return r("message",{message:u})},content:"Message"})]})}));var g=function(e,t){var n=(0,a.useBackend)(t),r=n.act,l=n.data.target_feed;return(0,o.createComponentVNode)(2,c.Section,{title:(0,i.decodeHtmlEntities)(l.name)+" by "+(0,i.decodeHtmlEntities)(l.author),level:2,buttons:(0,o.createComponentVNode)(2,c.Button,{content:"Back",icon:"chevron-up",onClick:function(){return r("newsfeed",{newsfeed:null})}}),children:l.messages.map((function(e){return(0,o.createComponentVNode)(2,c.Section,{children:["- ",(0,i.decodeHtmlEntities)(e.body),!!e.img&&(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createVNode)(1,"img",null,null,1,{src:"data:image/png;base64,"+e.img}),(0,i.decodeHtmlEntities)(e.caption)||null]}),(0,o.createComponentVNode)(2,c.Box,{color:"grey",children:["[",e.message_type," by ",(0,i.decodeHtmlEntities)(e.author)," - ",e.time_stamp,"]"]})]},e.ref)}))})},v=function(e,t){var n=(0,a.useBackend)(t),r=n.act,l=n.data,d=l.feeds,u=l.latest_news;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Section,{title:"Recent News",level:2,children:(0,o.createComponentVNode)(2,c.Section,{children:u.map((function(e){return(0,o.createComponentVNode)(2,c.Box,{mb:2,children:[(0,o.createVNode)(1,"h5",null,[(0,i.decodeHtmlEntities)(e.channel),(0,o.createComponentVNode)(2,c.Button,{ml:1,icon:"chevron-up",onClick:function(){return r("newsfeed",{newsfeed:e.index})},content:"Go to"})],0),"- ",(0,i.decodeHtmlEntities)(e.body),!!e.img&&(0,o.createComponentVNode)(2,c.Box,{children:["[image omitted, view story for more details]",e.caption||null]}),(0,o.createComponentVNode)(2,c.Box,{fontSize:.9,children:["[",e.message_type," by ",(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:"average",children:e.author})," - ",e.time_stamp,"]"]})]},e.index)}))})}),(0,o.createComponentVNode)(2,c.Section,{title:"News Feeds",level:2,children:d.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{fluid:!0,icon:"chevron-up",onClick:function(){return r("newsfeed",{newsfeed:e.index})},content:e.name},e.index)}))})],4)};u[5]=(0,o.createComponentVNode)(2,(function(e,t){var n=(0,a.useBackend)(t),r=(n.act,n.data),i=r.feeds,l=r.target_feed;return(0,o.createComponentVNode)(2,c.Section,{title:"News",stretchContents:!0,height:"100%",children:!i.length&&(0,o.createComponentVNode)(2,c.Box,{color:"bad",children:"Error: No newsfeeds available. Please try again later."})||l&&(0,o.createComponentVNode)(2,g)||(0,o.createComponentVNode)(2,v)})}));u[6]=(0,o.createComponentVNode)(2,(function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data.note;return(0,o.createComponentVNode)(2,c.Section,{title:"Note Keeper",height:"100%",stretchContents:!0,buttons:(0,o.createComponentVNode)(2,c.Button,{icon:"pen",onClick:function(){return r("edit")},content:"Edit Notes"}),children:(0,o.createComponentVNode)(2,c.Section,{color:"average",width:"100%",height:"100%",style:{"word-break":"break-all","overflow-y":"auto"},children:i})})}));u[7]=(0,o.createComponentVNode)(2,(function(e,t){var n=(0,a.useBackend)(t),l=(n.act,n.data),d=l.aircontents,u=l.weather;return(0,o.createComponentVNode)(2,c.Section,{title:"Weather",children:[(0,o.createComponentVNode)(2,c.Section,{level:2,title:"Current Conditions",children:(0,o.createComponentVNode)(2,c.LabeledList,{children:(0,r.filter)((function(e){return"0"!==e.val||"Pressure"===e.entry||"Temperature"===e.entry}))(d).map((function(e){return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:e.entry,color:(t=e.val,n=e.bad_low,r=e.poor_low,a=e.poor_high,l=e.bad_high,ta?"average":t>l?"bad":"good"),children:[e.val,(0,i.decodeHtmlEntities)(e.units)]},e.entry);var t,n,r,a,l}))})}),(0,o.createComponentVNode)(2,c.Section,{level:2,title:"Weather Reports",children:!!u.length&&(0,o.createComponentVNode)(2,c.LabeledList,{children:u.map((function(e){return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:e.Planet,children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Time",children:e.Time}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Weather",children:(0,i.toTitleCase)(e.Weather)}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Temperature",children:["Current: ",e.Temperature.toFixed(),"\xb0C | High: ",e.High.toFixed(),"\xb0C | Low: ",e.Low.toFixed(),"\xb0C"]}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Wind Direction",children:e.WindDir}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Wind Speed",children:e.WindSpeed}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Forecast",children:(0,i.decodeHtmlEntities)(e.Forecast)})]})},e.Planet)}))})||(0,o.createComponentVNode)(2,c.Box,{color:"bad",children:"No weather reports available. Please check back later."})})]})})),u[8]=(0,o.createComponentVNode)(2,d.CrewManifestContent);u[9]=(0,o.createComponentVNode)(2,(function(e,t){var n=(0,a.useBackend)(t),r=n.act,l=n.data,d=l.owner,u=l.occupation,s=l.connectionStatus,m=l.address,p=l.visible,h=l.ring,C=l.selfie_mode;return(0,o.createComponentVNode)(2,c.Section,{title:"Settings",children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Owner",children:(0,o.createComponentVNode)(2,c.Button,{icon:"pen",fluid:!0,content:(0,i.decodeHtmlEntities)(d),onClick:function(){return r("rename")}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Camera Mode",children:(0,o.createComponentVNode)(2,c.Button,{fluid:!0,content:C?"Front-facing Camera":"Rear-facing Camera",onClick:function(){return r("selfie_mode")}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Occupation",children:(0,i.decodeHtmlEntities)(u)}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Connection",children:1===s?(0,o.createComponentVNode)(2,c.Box,{color:"good",children:"Connected"}):(0,o.createComponentVNode)(2,c.Box,{color:"bad",children:"Disconnected"})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Device EPv2 Address",children:m}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Visibility",children:(0,o.createComponentVNode)(2,c.Button.Checkbox,{checked:p,selected:p,fluid:!0,content:p?"This device can be seen by other devices.":"This device is invisible to other devices.",onClick:function(){return r("toggle_visibility")}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Ringer",children:(0,o.createComponentVNode)(2,c.Button.Checkbox,{checked:h,selected:h,fluid:!0,content:h?"Ringer on.":"Ringer off.",onClick:function(){return r("toggle_ringer")}})})]})})}))},function(e,t,n){"use strict";t.__esModule=!0,t.ComputerFabricator=void 0;var o=n(0),r=(n(6),n(1)),i=n(2),a=n(3);t.ComputerFabricator=function(e,t){var n=(0,r.useBackend)(t),s=n.act,m=n.data;return(0,o.createComponentVNode)(2,a.Window,{title:"Personal Computer Vendor",width:500,height:420,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:[(0,o.createComponentVNode)(2,i.Section,{italic:!0,fontSize:"20px",children:"Your perfect device, only three steps away..."}),0!==m.state&&(0,o.createComponentVNode)(2,i.Button,{fluid:!0,mb:1,icon:"circle",content:"Clear Order",onClick:function(){return s("clean_order")}}),0===m.state&&(0,o.createComponentVNode)(2,c),1===m.state&&(0,o.createComponentVNode)(2,l),2===m.state&&(0,o.createComponentVNode)(2,d),3===m.state&&(0,o.createComponentVNode)(2,u)]})})};var c=function(e,t){var n=(0,r.useBackend)(t),a=n.act;n.data;return(0,o.createComponentVNode)(2,i.Section,{title:"Step 1",minHeight:"306px",children:[(0,o.createComponentVNode)(2,i.Box,{mt:5,bold:!0,textAlign:"center",fontSize:"40px",children:"Choose your Device"}),(0,o.createComponentVNode)(2,i.Box,{mt:3,children:(0,o.createComponentVNode)(2,i.Grid,{width:"100%",children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"laptop",content:"Laptop",textAlign:"center",fontSize:"30px",lineHeight:2,onClick:function(){return a("pick_device",{pick:"1"})}})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"tablet-alt",content:"Tablet",textAlign:"center",fontSize:"30px",lineHeight:2,onClick:function(){return a("pick_device",{pick:"2"})}})})]})})]})},l=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data;return(0,o.createComponentVNode)(2,i.Section,{title:"Step 2: Customize your device",minHeight:"282px",buttons:(0,o.createComponentVNode)(2,i.Box,{bold:!0,color:"good",children:[c.totalprice,"\u20ae"]}),children:[(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{bold:!0,position:"relative",children:["Battery:",(0,o.createComponentVNode)(2,i.Tooltip,{content:"Allows your device to operate without external utility power\nsource. Advanced batteries increase battery life.",position:"right"})]}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Standard",selected:1===c.hw_battery,onClick:function(){return a("hw_battery",{battery:"1"})}})}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Upgraded",selected:2===c.hw_battery,onClick:function(){return a("hw_battery",{battery:"2"})}})}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Advanced",selected:3===c.hw_battery,onClick:function(){return a("hw_battery",{battery:"3"})}})})]}),(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{bold:!0,position:"relative",children:["Hard Drive:",(0,o.createComponentVNode)(2,i.Tooltip,{content:"Stores file on your device. Advanced drives can store more\nfiles, but use more power, shortening battery life.",position:"right"})]}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Standard",selected:1===c.hw_disk,onClick:function(){return a("hw_disk",{disk:"1"})}})}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Upgraded",selected:2===c.hw_disk,onClick:function(){return a("hw_disk",{disk:"2"})}})}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Advanced",selected:3===c.hw_disk,onClick:function(){return a("hw_disk",{disk:"3"})}})})]}),(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{bold:!0,position:"relative",children:["Network Card:",(0,o.createComponentVNode)(2,i.Tooltip,{content:"Allows your device to wirelessly connect to stationwide NTNet\nnetwork. Basic cards are limited to on-station use, while\nadvanced cards can operate anywhere near the station, which\nincludes asteroid outposts",position:"right"})]}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"None",selected:0===c.hw_netcard,onClick:function(){return a("hw_netcard",{netcard:"0"})}})}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Standard",selected:1===c.hw_netcard,onClick:function(){return a("hw_netcard",{netcard:"1"})}})}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Advanced",selected:2===c.hw_netcard,onClick:function(){return a("hw_netcard",{netcard:"2"})}})})]}),(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{bold:!0,position:"relative",children:["Nano Printer:",(0,o.createComponentVNode)(2,i.Tooltip,{content:"A device that allows for various paperwork manipulations,\nsuch as, scanning of documents or printing new ones.\nThis device was certified EcoFriendlyPlus and is capable of\nrecycling existing paper for printing purposes.",position:"right"})]}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"None",selected:0===c.hw_nanoprint,onClick:function(){return a("hw_nanoprint",{print:"0"})}})}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Standard",selected:1===c.hw_nanoprint,onClick:function(){return a("hw_nanoprint",{print:"1"})}})})]}),(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{bold:!0,position:"relative",children:["Secondary Card Reader:",(0,o.createComponentVNode)(2,i.Tooltip,{content:"Adds a secondary RFID card reader, for manipulating or\nreading from a second standard RFID card.\nPlease note that a primary card reader is necessary to\nallow the device to read your identification, but one\nis included in the base price.",position:"right"})]}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"None",selected:0===c.hw_card,onClick:function(){return a("hw_card",{card:"0"})}})}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Standard",selected:1===c.hw_card,onClick:function(){return a("hw_card",{card:"1"})}})})]}),2!==c.devtype&&(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{bold:!0,position:"relative",children:["Processor Unit:",(0,o.createComponentVNode)(2,i.Tooltip,{content:"A component critical for your device's functionality.\nIt allows you to run programs from your hard drive.\nAdvanced CPUs use more power, but allow you to run\nmore programs on background at once.",position:"right"})]}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Standard",selected:1===c.hw_cpu,onClick:function(){return a("hw_cpu",{cpu:"1"})}})}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Advanced",selected:2===c.hw_cpu,onClick:function(){return a("hw_cpu",{cpu:"2"})}})})]}),(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{bold:!0,position:"relative",children:["Tesla Relay:",(0,o.createComponentVNode)(2,i.Tooltip,{content:"An advanced wireless power relay that allows your device\nto connect to nearby area power controller to provide\nalternative power source. This component is currently\nunavailable on tablet computers due to size restrictions.",position:"right"})]}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"None",selected:0===c.hw_tesla,onClick:function(){return a("hw_tesla",{tesla:"0"})}})}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Standard",selected:1===c.hw_tesla,onClick:function(){return a("hw_tesla",{tesla:"1"})}})})]})]}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,mt:3,content:"Confirm Order",color:"good",textAlign:"center",fontSize:"18px",lineHeight:2,onClick:function(){return a("confirm_order")}})]})},d=function(e,t){var n=(0,r.useBackend)(t),a=(n.act,n.data);return(0,o.createComponentVNode)(2,i.Section,{title:"Step 3: Payment",minHeight:"282px",children:[(0,o.createComponentVNode)(2,i.Box,{italic:!0,textAlign:"center",fontSize:"20px",children:"Your device is ready for fabrication..."}),(0,o.createComponentVNode)(2,i.Box,{bold:!0,mt:2,textAlign:"center",fontSize:"16px",children:[(0,o.createComponentVNode)(2,i.Box,{inline:!0,children:"Please swipe your ID now to authorize payment of:"}),"\xa0",(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:"good",children:[a.totalprice,"\u20ae"]})]})]})},u=function(e,t){return(0,o.createComponentVNode)(2,i.Section,{minHeight:"282px",children:[(0,o.createComponentVNode)(2,i.Box,{bold:!0,textAlign:"center",fontSize:"28px",mt:10,children:"Thank you for your purchase!"}),(0,o.createComponentVNode)(2,i.Box,{italic:!0,mt:1,textAlign:"center",children:"If you experience any difficulties with your new device, please contact your local network administrator."})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.CookingAppliance=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.CookingAppliance=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.temperature,u=l.optimalTemp,s=l.temperatureEnough,m=l.efficiency,p=l.containersRemovable,h=l.our_contents;return(0,o.createComponentVNode)(2,a.Window,{width:600,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Status",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Temperature",children:(0,o.createComponentVNode)(2,i.ProgressBar,{color:s?"good":"blue",value:d,maxValue:u,children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:d}),"\xb0C / ",u,"\xb0C"]})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Efficiency",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:m}),"%"]})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Containers",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:h.map((function(e,t){return e.empty?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Slot #"+(t+1),children:(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return c("slot",{slot:t+1})},children:"Empty"})}):(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Slot #"+(t+1),verticalAlign:"middle",children:(0,o.createComponentVNode)(2,i.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.Button,{disabled:!p,onClick:function(){return c("slot",{slot:t+1})},children:e.container||"No Container"})}),(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i.ProgressBar,{color:e.progressText[0],value:e.progress,maxValue:1,children:e.progressText[1]})})]})},t)}))})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Cryo=void 0;var o=n(0),r=n(1),i=n(2),a=n(3),c=[{label:"Resp.",type:"oxyLoss"},{label:"Toxin",type:"toxLoss"},{label:"Brute",type:"bruteLoss"},{label:"Burn",type:"fireLoss"}],l=[["good","Conscious"],["average","Unconscious"],["bad","DEAD"]];t.Cryo=function(e,t){return(0,o.createComponentVNode)(2,a.Window,{width:520,height:470,resizeable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{className:"Layout__content--flexColumn",children:(0,o.createComponentVNode)(2,d)})})};var d=function(e,t){var n=(0,r.useBackend)(t),a=n.act,d=n.data,s=d.isOperating,m=d.hasOccupant,p=d.occupant,h=void 0===p?[]:p,C=d.cellTemperature,f=d.cellTemperatureStatus,N=d.isBeakerLoaded;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Occupant",flexGrow:"1",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"user-slash",onClick:function(){return a("ejectOccupant")},disabled:!m,children:"Eject"}),children:m?(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Occupant",children:h.name||"Unknown"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,i.ProgressBar,{min:h.health,max:h.maxHealth,value:h.health/h.maxHealth,color:h.health>0?"good":"average",children:(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:Math.round(h.health)})})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",color:l[h.stat][0],children:l[h.stat][1]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Temperature",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:Math.round(h.bodyTemperature)})," K"]}),(0,o.createComponentVNode)(2,i.LabeledList.Divider),c.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.label,children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:h[e.type]/100,ranges:{bad:[.01,Infinity]},children:(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:Math.round(h[e.type])})})},e.id)}))]}):(0,o.createComponentVNode)(2,i.Flex,{height:"100%",textAlign:"center",children:(0,o.createComponentVNode)(2,i.Flex.Item,{grow:"1",align:"center",color:"label",children:[(0,o.createComponentVNode)(2,i.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,o.createVNode)(1,"br"),"No occupant detected."]})})}),(0,o.createComponentVNode)(2,i.Section,{title:"Cell",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",onClick:function(){return a("ejectBeaker")},disabled:!N,children:"Eject Beaker"}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",onClick:function(){return a(s?"switchOff":"switchOn")},selected:s,children:s?"On":"Off"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Temperature",color:f,children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:C})," K"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Beaker",children:(0,o.createComponentVNode)(2,u)})]})})],4)},u=function(e,t){var n=(0,r.useBackend)(t),a=(n.act,n.data),c=a.isBeakerLoaded,l=a.beakerLabel,d=a.beakerVolume;return c?(0,o.createFragment)([l||(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"No label"}),(0,o.createComponentVNode)(2,i.Box,{color:!d&&"bad",children:d?(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:d,format:function(e){return Math.round(e)+" units remaining"}}):"Beaker is empty"})],0):(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"No beaker loaded"})}},function(e,t,n){"use strict";t.__esModule=!0,t.CryoStorageItemsVr=t.CryoStorageVr=void 0;var o=n(0),r=n(1),i=n(2),a=n(3),c=n(191);t.CryoStorageVr=function(e,t){var n=(0,r.useBackend)(t),d=(n.act,n.data),u=d.real_name,s=d.allow_items,m=(0,r.useLocalState)(t,"tab",0),p=m[0],h=m[1];return(0,o.createComponentVNode)(2,a.Window,{width:400,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Tabs,{children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:0===p,onClick:function(){return h(0)},children:"Crew"}),!!s&&(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:1===p,onClick:function(){return h(1)},children:"Items"})]}),(0,o.createComponentVNode)(2,i.NoticeBox,{info:!0,children:["Welcome, ",u,"."]}),0===p&&(0,o.createComponentVNode)(2,c.CryoStorageCrew),!!s&&1===p&&(0,o.createComponentVNode)(2,l)]})})};var l=function(e,t){var n=(0,r.useBackend)(t),a=(n.act,n.data.items);return(0,o.createComponentVNode)(2,i.Section,{title:"Stored Items",children:a.length&&a.map((function(e){return(0,o.createComponentVNode)(2,i.Box,{color:"label",children:e},e)}))||(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"No items stored."})})};t.CryoStorageItemsVr=l},function(e,t,n){"use strict";t.__esModule=!0,t.DNAForensics=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.DNAForensics=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.scan_progress,u=l.scanning,s=l.bloodsamp,m=l.bloodsamp_desc;return(0,o.createComponentVNode)(2,a.Window,{width:540,height:326,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:[(0,o.createComponentVNode)(2,i.Section,{title:"Status",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{selected:u,disabled:!s,icon:"power-off",onClick:function(){return c("scanItem")},children:u?"Halt Scan":"Begin Scan"}),(0,o.createComponentVNode)(2,i.Button,{disabled:!s,icon:"eject",onClick:function(){return c("ejectItem")},children:"Eject Bloodsample"})],4),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Scan Progress",children:(0,o.createComponentVNode)(2,i.ProgressBar,{ranges:{good:[99,Infinity],violet:[-Infinity,99]},value:d,maxValue:100})})})}),(0,o.createComponentVNode)(2,i.Section,{title:"Blood Sample",children:s&&(0,o.createComponentVNode)(2,i.Box,{children:[s,(0,o.createComponentVNode)(2,i.Box,{color:"label",children:m})]})||(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No blood sample inserted."})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.DNAModifier=void 0;var o=n(0),r=n(1),i=n(2),a=n(3),c=n(45),l=[["good","Alive"],["average","Unconscious"],["bad","DEAD"]],d=[["ui","Modify U.I.","dna"],["se","Modify S.E.","dna"],["buffer","Transfer Buffers","syringe"],["rejuvenators","Rejuvenators","flask"]],u=[5,10,20,30,50];t.DNAModifier=function(e,t){var n,i=(0,r.useBackend)(t),l=(i.act,i.data),d=l.irradiating,u=l.dnaBlockSize,p=l.occupant;return t.dnaBlockSize=u,t.isDNAInvalid=!p.isViableSubject||!p.uniqueIdentity||!p.structuralEnzymes,d&&(n=(0,o.createComponentVNode)(2,g,{duration:d})),(0,o.createComponentVNode)(2,a.Window,{width:660,height:700,resizable:!0,children:[(0,o.createComponentVNode)(2,c.ComplexModal),n,(0,o.createComponentVNode)(2,a.Window.Content,{className:"Layout__content--flexColumn",children:[(0,o.createComponentVNode)(2,s),(0,o.createComponentVNode)(2,m)]})]})};var s=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,d=c.locked,u=c.hasOccupant,s=c.occupant;return(0,o.createComponentVNode)(2,i.Section,{title:"Occupant",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{color:"label",display:"inline",mr:"0.5rem",children:"Door Lock:"}),(0,o.createComponentVNode)(2,i.Button,{disabled:!u,selected:d,icon:d?"toggle-on":"toggle-off",content:d?"Engaged":"Disengaged",onClick:function(){return a("toggleLock")}}),(0,o.createComponentVNode)(2,i.Button,{disabled:!u||d,icon:"user-slash",content:"Eject",onClick:function(){return a("ejectOccupant")}})],4),children:u?(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Name",children:s.name}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,i.ProgressBar,{min:s.minHealth,max:s.maxHealth,value:s.health/s.maxHealth,ranges:{good:[.5,Infinity],average:[0,.5],bad:[-Infinity,0]}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",color:l[s.stat][0],children:l[s.stat][1]}),(0,o.createComponentVNode)(2,i.LabeledList.Divider)]})}),t.isDNAInvalid?(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:[(0,o.createComponentVNode)(2,i.Icon,{name:"exclamation-circle"}),"\xa0 The occupant's DNA structure is ruined beyond recognition, please insert a subject with an intact DNA structure."]}):(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Radiation",children:(0,o.createComponentVNode)(2,i.ProgressBar,{min:"0",max:"100",value:s.radiationLevel/100,color:"average"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Unique Enzymes",children:c.occupant.uniqueEnzymes?c.occupant.uniqueEnzymes:(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:[(0,o.createComponentVNode)(2,i.Icon,{name:"exclamation-circle"}),"\xa0 Unknown"]})})]})],0):(0,o.createComponentVNode)(2,i.Box,{color:"label",children:"Cell unoccupied."})})},m=function(e,t){var n,a=(0,r.useBackend)(t),c=a.act,l=a.data,u=l.selectedMenuKey,s=l.hasOccupant;l.occupant;return s?t.isDNAInvalid?(0,o.createComponentVNode)(2,i.Section,{flexGrow:"1",children:(0,o.createComponentVNode)(2,i.Flex,{height:"100%",children:(0,o.createComponentVNode)(2,i.Flex.Item,{grow:"1",align:"center",textAlign:"center",color:"label",children:[(0,o.createComponentVNode)(2,i.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,o.createVNode)(1,"br"),"No operation possible on this subject."]})})}):("ui"===u?n=(0,o.createFragment)([(0,o.createComponentVNode)(2,p),(0,o.createComponentVNode)(2,C)],4):"se"===u?n=(0,o.createFragment)([(0,o.createComponentVNode)(2,h),(0,o.createComponentVNode)(2,C)],4):"buffer"===u?n=(0,o.createComponentVNode)(2,f):"rejuvenators"===u&&(n=(0,o.createComponentVNode)(2,V)),(0,o.createComponentVNode)(2,i.Section,{flexGrow:"1",children:[(0,o.createComponentVNode)(2,i.Tabs,{children:d.map((function(e,t){return(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:u===e[0],onClick:function(){return c("selectMenuKey",{key:e[0]})},children:[(0,o.createComponentVNode)(2,i.Icon,{name:e[2]}),e[1]]},t)}))}),n]})):(0,o.createComponentVNode)(2,i.Section,{flexGrow:"1",children:(0,o.createComponentVNode)(2,i.Flex,{height:"100%",children:(0,o.createComponentVNode)(2,i.Flex.Item,{grow:"1",align:"center",textAlign:"center",color:"label",children:[(0,o.createComponentVNode)(2,i.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,o.createVNode)(1,"br"),"No occupant in DNA modifier."]})})})},p=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.selectedUIBlock,d=c.selectedUISubBlock,u=c.selectedUITarget,s=c.occupant;return(0,o.createComponentVNode)(2,i.Section,{title:"Modify Unique Identifier",level:"2",children:[(0,o.createComponentVNode)(2,v,{dnaString:s.uniqueIdentity,selectedBlock:l,selectedSubblock:d,blockSize:t.dnaBlockSize,action:"selectUIBlock"}),(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Target",children:(0,o.createComponentVNode)(2,i.Knob,{minValue:"1",maxValue:"15",stepPixelSize:"20",value:u,format:function(e){return e.toString(16).toUpperCase()},ml:"0",onChange:function(e,t){return a("changeUITarget",{value:t})}})})}),(0,o.createComponentVNode)(2,i.Button,{icon:"radiation",content:"Irradiate Block",mt:"0.5rem",onClick:function(){return a("pulseUIRadiation")}})]})},h=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.selectedSEBlock,d=c.selectedSESubBlock,u=c.occupant;return(0,o.createComponentVNode)(2,i.Section,{title:"Modify Structural Enzymes",level:"2",children:[(0,o.createComponentVNode)(2,v,{dnaString:u.structuralEnzymes,selectedBlock:l,selectedSubblock:d,blockSize:t.dnaBlockSize,action:"selectSEBlock"}),(0,o.createComponentVNode)(2,i.Button,{icon:"radiation",content:"Irradiate Block",onClick:function(){return a("pulseSERadiation")}})]})},C=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.radiationIntensity,d=c.radiationDuration;return(0,o.createComponentVNode)(2,i.Section,{title:"Radiation Emitter",level:"2",children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Intensity",children:(0,o.createComponentVNode)(2,i.Knob,{minValue:"1",maxValue:"10",stepPixelSize:"20",value:l,popUpPosition:"right",ml:"0",onChange:function(e,t){return a("radiationIntensity",{value:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Duration",children:(0,o.createComponentVNode)(2,i.Knob,{minValue:"1",maxValue:"20",stepPixelSize:"10",unit:"s",value:d,popUpPosition:"right",ml:"0",onChange:function(e,t){return a("radiationDuration",{value:t})}})})]}),(0,o.createComponentVNode)(2,i.Button,{icon:"radiation",content:"Pulse Radiation",tooltip:"Mutates a random block of either the occupant's UI or SE.",tooltipPosition:"top-right",mt:"0.5rem",onClick:function(){return a("pulseRadiation")}})]})},f=function(e,t){var n=(0,r.useBackend)(t),a=(n.act,n.data.buffers.map((function(e,t){return(0,o.createComponentVNode)(2,N,{id:t+1,name:"Buffer "+(t+1),buffer:e},t)})));return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Buffers",level:"2",children:a}),(0,o.createComponentVNode)(2,b)],4)},N=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=e.id,d=e.name,u=e.buffer,s=c.isInjectorReady,m=d+(u.data?" - "+u.label:"");return(0,o.createComponentVNode)(2,i.Box,{backgroundColor:"rgba(0, 0, 0, 0.33)",mb:"0.5rem",children:(0,o.createComponentVNode)(2,i.Section,{title:m,level:"3",mx:"0",lineHeight:"18px",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button.Confirm,{disabled:!u.data,icon:"trash",content:"Clear",onClick:function(){return a("bufferOption",{option:"clear",id:l})}}),(0,o.createComponentVNode)(2,i.Button,{disabled:!u.data,icon:"pen",content:"Rename",onClick:function(){return a("bufferOption",{option:"changeLabel",id:l})}}),(0,o.createComponentVNode)(2,i.Button,{disabled:!u.data||!c.hasDisk,icon:"save",content:"Export",tooltip:"Exports this buffer to the currently loaded data disk.",tooltipPosition:"bottom-left",onClick:function(){return a("bufferOption",{option:"saveDisk",id:l})}})],4),children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Write",children:[(0,o.createComponentVNode)(2,i.Button,{icon:"arrow-circle-down",content:"Subject U.I",mb:"0",onClick:function(){return a("bufferOption",{option:"saveUI",id:l})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"arrow-circle-down",content:"Subject U.I and U.E.",mb:"0",onClick:function(){return a("bufferOption",{option:"saveUIAndUE",id:l})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"arrow-circle-down",content:"Subject S.E.",mb:"0",onClick:function(){return a("bufferOption",{option:"saveSE",id:l})}}),(0,o.createComponentVNode)(2,i.Button,{disabled:!c.hasDisk||!c.disk.data,icon:"arrow-circle-down",content:"From Disk",mb:"0",onClick:function(){return a("bufferOption",{option:"loadDisk",id:l})}})]}),!!u.data&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Subject",children:u.owner||(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"Unknown"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Data Type",children:["ui"===u.type?"Unique Identifiers":"Structural Enzymes",!!u.ue&&" and Unique Enzymes"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Transfer to",children:[(0,o.createComponentVNode)(2,i.Button,{disabled:!s,icon:s?"syringe":"spinner",iconSpin:!s,content:"Injector",mb:"0",onClick:function(){return a("bufferOption",{option:"createInjector",id:l})}}),(0,o.createComponentVNode)(2,i.Button,{disabled:!s,icon:s?"syringe":"spinner",iconSpin:!s,content:"Block Injector",mb:"0",onClick:function(){return a("bufferOption",{option:"createInjector",id:l,block:1})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"user",content:"Subject",mb:"0",onClick:function(){return a("bufferOption",{option:"transfer",id:l})}})]})],4)]}),!u.data&&(0,o.createComponentVNode)(2,i.Box,{color:"label",mt:"0.5rem",children:"This buffer is empty."})]})})},b=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.hasDisk,d=c.disk;return(0,o.createComponentVNode)(2,i.Section,{title:"Data Disk",level:"2",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button.Confirm,{disabled:!l||!d.data,icon:"trash",content:"Wipe",onClick:function(){return a("wipeDisk")}}),(0,o.createComponentVNode)(2,i.Button,{disabled:!l,icon:"eject",content:"Eject",onClick:function(){return a("ejectDisk")}})],4),children:l?d.data?(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Label",children:d.label?d.label:"No label"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Subject",children:d.owner?d.owner:(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"Unknown"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Data Type",children:["ui"===d.type?"Unique Identifiers":"Structural Enzymes",!!d.ue&&" and Unique Enzymes"]})]}):(0,o.createComponentVNode)(2,i.Box,{color:"label",children:"Disk is blank."}):(0,o.createComponentVNode)(2,i.Box,{color:"label",textAlign:"center",my:"1rem",children:[(0,o.createComponentVNode)(2,i.Icon,{name:"save-o",size:"4"}),(0,o.createVNode)(1,"br"),"No disk inserted."]})})},V=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.isBeakerLoaded,d=c.beakerVolume,s=c.beakerLabel;return(0,o.createComponentVNode)(2,i.Section,{title:"Rejuvenators and Beaker",level:"2",buttons:(0,o.createComponentVNode)(2,i.Button,{disabled:!l,icon:"eject",content:"Eject",onClick:function(){return a("ejectBeaker")}}),children:l?(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Inject",children:[u.map((function(e,t){return(0,o.createComponentVNode)(2,i.Button,{disabled:e>d,icon:"syringe",content:e,onClick:function(){return a("injectRejuvenators",{amount:e})}},t)})),(0,o.createComponentVNode)(2,i.Button,{disabled:d<=0,icon:"syringe",content:"All",onClick:function(){return a("injectRejuvenators",{amount:d})}})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Beaker",children:[(0,o.createComponentVNode)(2,i.Box,{mb:"0.5rem",children:s||"No label"}),d?(0,o.createComponentVNode)(2,i.Box,{color:"good",children:[d," unit",1===d?"":"s"," remaining"]}):(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Empty"})]})]}):(0,o.createComponentVNode)(2,i.Box,{color:"label",textAlign:"center",my:"25%",children:[(0,o.createComponentVNode)(2,i.Icon,{name:"exclamation-triangle",size:"4"}),(0,o.createVNode)(1,"br"),"No beaker loaded."]})})},g=function(e,t){return(0,o.createComponentVNode)(2,i.Dimmer,{textAlign:"center",children:[(0,o.createComponentVNode)(2,i.Icon,{name:"spinner",size:"5",spin:!0}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,i.Box,{color:"average",children:(0,o.createVNode)(1,"h1",null,[(0,o.createComponentVNode)(2,i.Icon,{name:"radiation"}),(0,o.createTextVNode)("\xa0Irradiating occupant\xa0"),(0,o.createComponentVNode)(2,i.Icon,{name:"radiation"})],4)}),(0,o.createComponentVNode)(2,i.Box,{color:"label",children:(0,o.createVNode)(1,"h3",null,[(0,o.createTextVNode)("For "),e.duration,(0,o.createTextVNode)(" second"),1===e.duration?"":"s"],0)})]})},v=function(e,t){for(var n=(0,r.useBackend)(t),a=n.act,c=(n.data,e.dnaString),l=e.selectedBlock,d=e.selectedSubblock,u=e.blockSize,s=e.action,m=c.split(""),p=[],h=function(e){for(var t=e/u+1,n=[],r=function(r){var c=r+1;n.push((0,o.createComponentVNode)(2,i.Button,{selected:l===t&&d===c,content:m[e+r],mb:"0",onClick:function(){return a(s,{block:t,subblock:c})}}))},c=0;c1?"Dangerous!":null]},e.stage)}))||(0,o.createComponentVNode)(2,i.Box,{children:"No virus sample loaded."})}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Affected Species",color:"label",children:[m&&m.length?null:"None",m.sort().join(", ")]}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Reverse Engineering",children:[(0,o.createComponentVNode)(2,i.Box,{color:"bad",mb:1,children:(0,o.createVNode)(1,"i",null,"CAUTION: Reverse engineering will destroy the viral sample.",16)}),d.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{content:e.stage,icon:"exchange-alt",onClick:function(){return a("grab",{grab:e.reference})}},e.stage)})),(0,o.createComponentVNode)(2,i.Button,{content:"Species",icon:"exchange-alt",onClick:function(){return a("affected_species")}})]})],4)]})},l=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=(c.dish_inserted,c.buffer),d=c.species_buffer,u=(c.effects,c.info);c.growth,c.affected_species,c.busy;return(0,o.createComponentVNode)(2,i.Section,{title:"Storage",children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Memory Buffer",children:l?(0,o.createComponentVNode)(2,i.Box,{children:[l.name," (",l.stage,")"]}):d?(0,o.createComponentVNode)(2,i.Box,{children:d}):"Empty"})}),(0,o.createComponentVNode)(2,i.Button,{mt:1,icon:"save",content:"Save To Disk",disabled:!l&&!d,onClick:function(){return a("disk")}}),l?(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Button,{icon:"pen",content:"Splice #1",disabled:l.stage>1,onClick:function(){return a("splice",{splice:1})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"pen",content:"Splice #2",disabled:l.stage>2,onClick:function(){return a("splice",{splice:2})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"pen",content:"Splice #3",disabled:l.stage>3,onClick:function(){return a("splice",{splice:3})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"pen",content:"Splice #4",disabled:l.stage>4,onClick:function(){return a("splice",{splice:4})}})]}):d?(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"pen",content:"Splice Species",disabled:!d||u,onClick:function(){return a("splice",{splice:5})}})}):null]})}},function(e,t,n){"use strict";t.__esModule=!0,t.DishIncubator=void 0;var o=n(0),r=(n(5),n(20)),i=n(1),a=n(2),c=n(3);t.DishIncubator=function(e,t){var n=(0,i.useBackend)(t),l=n.act,d=n.data,u=d.on,s=d.system_in_use,m=d.food_supply,p=d.radiation,h=d.growth,C=d.toxins,f=d.chemicals_inserted,N=d.can_breed_virus,b=d.chemical_volume,V=d.max_chemical_volume,g=d.dish_inserted,v=d.blood_already_infected,_=d.virus,k=d.analysed,y=d.infection_rate;return(0,o.createComponentVNode)(2,c.Window,{width:400,height:600,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Section,{title:"Environmental Conditions",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",selected:u,content:u?"On":"Off",onClick:function(){return l("power")}}),children:[(0,o.createComponentVNode)(2,a.Flex,{spacing:1,mb:1,children:[(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"radiation",content:"Add Radiation",onClick:function(){return l("rad")}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,a.Button.Confirm,{fluid:!0,color:"red",icon:"trash",confirmIcon:"trash",content:"Flush System",disabled:!s,onClick:function(){return l("flush")}})})]}),(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Virus Food",children:(0,o.createComponentVNode)(2,a.ProgressBar,{minValue:0,maxValue:100,ranges:{good:[40,Infinity],average:[20,40],bad:[-Infinity,20]},value:m})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Radiation Level",children:(0,o.createComponentVNode)(2,a.ProgressBar,{minValue:0,maxValue:100,color:p>=50?"bad":h>=25?"average":"good",value:p,children:[(0,r.formatCommaNumber)(1e4*p)," \xb5Sv"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Toxicity",children:(0,o.createComponentVNode)(2,a.ProgressBar,{minValue:0,maxValue:100,ranges:{bad:[50,Infinity],average:[25,50],good:[-Infinity,25]},value:C})})]})]}),(0,o.createComponentVNode)(2,a.Section,{title:N?"Vial":"Chemicals",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject "+(N?"Vial":"Chemicals"),disabled:!f,onClick:function(){return l("ejectchem")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"virus",content:"Breed Virus",disabled:!N,onClick:function(){return l("virus")}})],4),children:f&&(0,o.createComponentVNode)(2,a.Box,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Volume",children:(0,o.createComponentVNode)(2,a.ProgressBar,{minValue:0,maxValue:V,value:b,children:[b,"/",V]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Breeding Environment",color:N?"good":"average",children:[g?N?"Suitable":"No hemolytic samples detected":"N/A",v?(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"CAUTION: Viral infection detected in blood sample."}):null]})]})})||(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No chemicals inserted."})}),(0,o.createComponentVNode)(2,a.Section,{title:"Virus Dish",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject Dish",disabled:!g,onClick:function(){return l("ejectdish")}}),children:g?_?(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Growth Density",children:(0,o.createComponentVNode)(2,a.ProgressBar,{minValue:0,maxValue:100,ranges:{good:[50,Infinity],average:[25,50],bad:[-Infinity,25]},value:h})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Infection Rate",children:k?y:"Unknown."})]}):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"No virus detected."}):(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No dish loaded."})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.DisposalBin=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.DisposalBin=function(e,t){var n,c,l=(0,r.useBackend)(t),d=l.act,u=l.data;return 2===u.mode?(n="good",c="Ready"):u.mode<=0?(n="bad",c="N/A"):1===u.mode?(n="average",c="Pressurizing"):(n="average",c="Idle"),(0,o.createComponentVNode)(2,a.Window,{width:300,height:250,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.Box,{bold:!0,m:1,children:"Status"}),(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"State",color:n,children:c}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,i.ProgressBar,{ranges:{bad:[-Infinity,0],average:[0,99],good:[99,Infinity]},value:u.pressure,minValue:0,maxValue:100})})]}),(0,o.createComponentVNode)(2,i.Box,{bold:!0,m:1,children:"Controls"}),(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Handle",children:[(0,o.createComponentVNode)(2,i.Button,{icon:"toggle-off",disabled:u.isAI||u.panel_open,content:"Disengaged",selected:u.flushing?null:"selected",onClick:function(){return d("disengageHandle")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"toggle-on",disabled:u.isAI||u.panel_open,content:"Engaged",selected:u.flushing?"selected":null,onClick:function(){return d("engageHandle")}})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Power",children:[(0,o.createComponentVNode)(2,i.Button,{icon:"toggle-off",disabled:-1===u.mode,content:"Off",selected:u.mode?null:"selected",onClick:function(){return d("pumpOff")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"toggle-on",disabled:-1===u.mode,content:"On",selected:u.mode?"selected":null,onClick:function(){return d("pumpOn")}})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Eject",children:(0,o.createComponentVNode)(2,i.Button,{icon:"sign-out-alt",disabled:u.isAI,content:"Eject Contents",onClick:function(){return d("eject")}})})]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.DroneConsole=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.DroneConsole=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.drones,u=l.areas,s=l.selected_area,m=l.fabricator,p=l.fabPower;return(0,o.createComponentVNode)(2,a.Window,{width:600,height:350,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Drone Fabricator",buttons:(0,o.createComponentVNode)(2,i.Button,{disabled:!m,selected:p,icon:"power-off",content:p?"Enabled":"Disabled",onClick:function(){return c("toggle_fab")}}),children:m?(0,o.createComponentVNode)(2,i.Box,{color:"good",children:"Linked."}):(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:["Fabricator not detected.",(0,o.createComponentVNode)(2,i.Button,{icon:"sync",content:"Search for Fabricator",onClick:function(){return c("search_fab")}})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Request Drone",children:[(0,o.createComponentVNode)(2,i.Dropdown,{options:u?u.sort():null,selected:s,width:"100%",onSelected:function(e){return c("set_dcall_area",{area:e})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"share-square",content:"Send Ping",onClick:function(){return c("ping")}})]}),(0,o.createComponentVNode)(2,i.Section,{title:"Maintenance Units",children:d&&d.length?(0,o.createComponentVNode)(2,i.LabeledList,{children:d.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"sync",content:"Resync",onClick:function(){return c("resync",{ref:e.ref})}}),(0,o.createComponentVNode)(2,i.Button.Confirm,{icon:"exclamation-triangle",color:"red",content:"Shutdown",onClick:function(){return c("shutdown",{ref:e.ref})}})],4),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Location",children:e.loc}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Charge",children:[e.charge," / ",e.maxCharge]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Active",children:e.active?"Yes":"No"})]})},e.name)}))}):(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No drones detected."})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.EmbeddedController=void 0;var o=n(0),r=(n(6),n(5),n(1)),i=n(2),a=n(3),c=((0,n(24).createLogger)("fuck"),{});t.EmbeddedController=function(e,t){var n=(0,r.useBackend)(t),i=(n.act,n.data.internalTemplateName),l=c[i];if(!l)throw Error("Unable to find Component for template name: "+i);return(0,o.createComponentVNode)(2,a.Window,{width:450,height:340,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:(0,o.createComponentVNode)(2,l)})})};var l=function(e,t){var n=e.bars;return(0,o.createComponentVNode)(2,i.Section,{title:"Status",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:n.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.label,children:(0,o.createComponentVNode)(2,i.ProgressBar,{color:e.color(e.value),minValue:e.minValue,maxValue:e.maxValue,value:e.value,children:e.textValue})},e.label)}))})})},d=function(e,t){var n=(0,r.useBackend)(t),a=n.data,c=n.act,l=!0;a.interior_status&&"open"===a.interior_status.state?l=!1:a.external_pressure&&a.chamber_pressure&&(l=!(Math.abs(a.external_pressure-a.chamber_pressure)>5));var d=!0;return a.exterior_status&&"open"===a.exterior_status.state?d=!1:a.internal_pressure&&a.chamber_pressure&&(d=!(Math.abs(a.internal_pressure-a.chamber_pressure)>5)),(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Button,{disabled:a.airlock_disabled,icon:"arrow-left",content:"Cycle to Exterior",onClick:function(){return c("cycle_ext")}}),(0,o.createComponentVNode)(2,i.Button,{disabled:a.airlock_disabled,icon:"arrow-right",content:"Cycle to Interior",onClick:function(){return c("cycle_int")}})]}),(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Button.Confirm,{disabled:a.airlock_disabled,color:l?"":"bad",icon:"exclamation-triangle",confirmIcon:"exclamation-triangle",content:"Force Exterior Door",onClick:function(){return c("force_ext")}}),(0,o.createComponentVNode)(2,i.Button.Confirm,{disabled:a.airlock_disabled,color:d?"":"bad",icon:"exclamation-triangle",confirmIcon:"exclamation-triangle",content:"Force Interior Door",onClick:function(){return c("force_int")}})]})],4)},u=function(e,t){var n=(0,r.useBackend)(t),a=n.data,c=(n.act,{docked:(0,o.createComponentVNode)(2,s),undocking:(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"EJECTING-STAND CLEAR!"}),undocked:(0,o.createComponentVNode)(2,i.Box,{color:"grey",children:"POD EJECTED"}),docking:(0,o.createComponentVNode)(2,i.Box,{color:"good",children:"INITIALIZING..."})}),l=(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"ERROR"});return"open"===a.exterior_status.state?l=(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"OPEN"}):"unlocked"===a.exterior_status.lock?l=(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"UNSECURED"}):"locked"===a.exterior_status.lock&&(l=(0,o.createComponentVNode)(2,i.Box,{color:"good",children:"SECURED"})),(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Escape Pod Status",children:c[a.docking_status]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Docking Hatch",children:l})]})})},s=function(e,t){var n=(0,r.useBackend)(t),a=n.data;n.act;return a.armed?(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"ARMED"}):(0,o.createComponentVNode)(2,i.Box,{color:"good",children:"SYSTEMS OK"})},m=function(e,t){var n=(0,r.useBackend)(t),a=n.data,c=n.act;return(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Button,{disabled:!a.override_enabled,icon:"exclamation-triangle",content:"Force Exterior Door",color:"docked"!==a.docking_status?"bad":"",onClick:function(){return c("force_door")}}),(0,o.createComponentVNode)(2,i.Button,{selected:a.override_enabled,color:"docked"!==a.docking_status?"bad":"average",icon:"exclamation-triangle",content:"Override",onClick:function(){return c("toggle_override")}})]})},p=function(e,t){var n=(0,r.useBackend)(t),a=n.data,c=(n.act,{docked:(0,o.createComponentVNode)(2,i.Box,{color:"good",children:"DOCKED"}),docking:(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"DOCKING"}),undocking:(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"UNDOCKING"}),undocked:(0,o.createComponentVNode)(2,i.Box,{color:"grey",children:"NOT IN USE"})}[a.docking_status]);return a.override_enabled&&(c=(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:[a.docking_status.toUpperCase(),"-OVERRIDE ENABLED"]})),c};c.AirlockConsoleAdvanced=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,u=function(e){return e<80||e>120?"bad":e<95||e>110?"average":"good"},s=[{minValue:0,maxValue:202,value:c.external_pressure,label:"External Pressure",textValue:c.external_pressure+" kPa",color:u},{minValue:0,maxValue:202,value:c.chamber_pressure,label:"Chamber Pressure",textValue:c.chamber_pressure+" kPa",color:u},{minValue:0,maxValue:202,value:c.internal_pressure,label:"Internal Pressure",textValue:c.internal_pressure+" kPa",color:u}];return(0,o.createFragment)([(0,o.createComponentVNode)(2,l,{bars:s}),(0,o.createComponentVNode)(2,i.Section,{title:"Controls",children:[(0,o.createComponentVNode)(2,d),(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Button,{icon:"sync",content:"Purge",onClick:function(){return a("purge")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"lock-open",content:"Secure",onClick:function(){return a("secure")}})]}),(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.Button,{disabled:!c.processing,icon:"ban",color:"bad",content:"Abort",onClick:function(){return a("abort")}})})]})],4)};c.AirlockConsoleSimple=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,u=[{minValue:0,maxValue:202,value:c.chamber_pressure,label:"Chamber Pressure",textValue:c.chamber_pressure+" kPa",color:function(e){return e<80||e>120?"bad":e<95||e>110?"average":"good"}}];return(0,o.createFragment)([(0,o.createComponentVNode)(2,l,{bars:u}),(0,o.createComponentVNode)(2,i.Section,{title:"Controls",children:[(0,o.createComponentVNode)(2,d),(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.Button,{disabled:!c.processing,icon:"ban",color:"bad",content:"Abort",onClick:function(){return a("abort")}})})]})],4)};c.AirlockConsolePhoron=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,u=[{minValue:0,maxValue:202,value:c.chamber_pressure,label:"Chamber Pressure",textValue:c.chamber_pressure+" kPa",color:function(e){return e<80||e>120?"bad":e<95||e>110?"average":"good"}},{minValue:0,maxValue:100,value:c.chamber_phoron,label:"Chamber Phoron",textValue:c.chamber_phoron+" mol",color:function(e){return e>5?"bad":e>.5?"average":"good"}}];return(0,o.createFragment)([(0,o.createComponentVNode)(2,l,{bars:u}),(0,o.createComponentVNode)(2,i.Section,{title:"Controls",children:[(0,o.createComponentVNode)(2,d),(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.Button,{disabled:!c.processing,icon:"ban",color:"bad",content:"Abort",onClick:function(){return a("abort")}})})]})],4)};c.AirlockConsoleDocking=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,u=[{minValue:0,maxValue:202,value:c.chamber_pressure,label:"Chamber Pressure",textValue:c.chamber_pressure+" kPa",color:function(e){return e<80||e>120?"bad":e<95||e>110?"average":"good"}}];return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Dock",buttons:c.airlock_disabled||c.override_enabled?(0,o.createComponentVNode)(2,i.Button,{icon:"exclamation-triangle",color:c.override_enabled?"red":"",content:"Override",onClick:function(){return a("toggle_override")}}):null,children:(0,o.createComponentVNode)(2,p)}),(0,o.createComponentVNode)(2,l,{bars:u}),(0,o.createComponentVNode)(2,i.Section,{title:"Controls",children:[(0,o.createComponentVNode)(2,d),(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.Button,{disabled:!c.processing,icon:"ban",color:"bad",content:"Abort",onClick:function(){return a("abort")}})})]})],4)};c.DockingConsoleSimple=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"ERROR"});return"open"===c.exterior_status.state?l=(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"OPEN"}):"unlocked"===c.exterior_status.lock?l=(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"UNSECURED"}):"locked"===c.exterior_status.lock&&(l=(0,o.createComponentVNode)(2,i.Box,{color:"good",children:"SECURED"})),(0,o.createComponentVNode)(2,i.Section,{title:"Status",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"exclamation-triangle",disabled:!c.override_enabled,content:"Force exterior door",onClick:function(){return a("force_door")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"exclamation-triangle",color:c.override_enabled?"red":"",content:"Override",onClick:function(){return a("toggle_override")}})],4),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Dock Status",children:(0,o.createComponentVNode)(2,p)}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Docking Hatch",children:l})]})})};c.DockingConsoleMulti=function(e,t){var n=(0,r.useBackend)(t).data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Docking Status",children:(0,o.createComponentVNode)(2,p)}),(0,o.createComponentVNode)(2,i.Section,{title:"Airlocks",children:n.airlocks.length?(0,o.createComponentVNode)(2,i.LabeledList,{children:n.airlocks.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{color:e.override_enabled?"bad":"good",label:e.name,children:e.override_enabled?"OVERRIDE ENABLED":"STATUS OK"},e.name)}))}):(0,o.createComponentVNode)(2,i.Flex,{height:"100%",mt:"0.5em",children:(0,o.createComponentVNode)(2,i.Flex.Item,{grow:"1",align:"center",textAlign:"center",color:"bad",children:[(0,o.createComponentVNode)(2,i.Icon,{name:"door-closed",mb:"0.5rem",size:"5"}),(0,o.createVNode)(1,"br"),"No airlocks found."]})})})],4)};c.DoorAccessConsole=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l="open"===c.interior_status.state||"closed"===c.exterior_status.state,d="open"===c.exterior_status.state||"closed"===c.interior_status.state;return(0,o.createComponentVNode)(2,i.Section,{title:"Status",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:l?"arrow-left":"exclamation-triangle",content:l?"Cycle To Exterior":"Lock Exterior Door",onClick:function(){a(l?"cycle_ext_door":"force_ext")}}),(0,o.createComponentVNode)(2,i.Button,{icon:d?"arrow-right":"exclamation-triangle",content:d?"Cycle To Interior":"Lock Interior Door",onClick:function(){a(d?"cycle_int_door":"force_int")}})],0),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Exterior Door Status",children:"closed"===c.exterior_status.state?"Locked":"Open"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Interior Door Status",children:"closed"===c.interior_status.state?"Locked":"Open"})]})})};c.EscapePodConsole=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,u),(0,o.createComponentVNode)(2,i.Section,{title:"Controls",children:[(0,o.createComponentVNode)(2,m),(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Button,{icon:"exclamation-triangle",disabled:c.armed,color:c.armed?"bad":"average",content:"ARM",onClick:function(){return a("manual_arm")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"exclamation-triangle",disabled:!c.can_force,color:"bad",content:"MANUAL EJECT",onClick:function(){return a("force_launch")}})]})]})],4)};c.EscapePodBerthConsole=function(e,t){(0,r.useBackend)(t).data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,u),(0,o.createComponentVNode)(2,i.Section,{title:"Controls",children:(0,o.createComponentVNode)(2,m)})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ExonetNode=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.ExonetNode=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.on,u=l.allowPDAs,s=l.allowCommunicators,m=l.allowNewscasters,p=l.logs;return(0,o.createComponentVNode)(2,a.Window,{width:400,height:400,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Status",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",selected:d,content:"Power "+(d?"On":"Off"),onClick:function(){return c("toggle_power")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Incoming PDA Messages",children:(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",selected:u,content:u?"Open":"Closed",onClick:function(){return c("toggle_PDA_port")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Incoming Communicators",children:(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",selected:s,content:s?"Open":"Closed",onClick:function(){return c("toggle_communicator_port")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Incoming Newscaster Content",children:(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",selected:m,content:m?"Open":"Closed",onClick:function(){return c("toggle_newscaster_port")}})})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Logging",children:(0,o.createComponentVNode)(2,i.Flex,{wrap:"wrap",children:[p.map((function(e,t){return(0,o.createComponentVNode)(2,i.Flex.Item,{m:"2px",basis:"49%",grow:t%2,children:e},t)})),p&&0!==p.length?null:(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"No logs found."})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Farmbot=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.Farmbot=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.on,u=l.locked,s=l.tank,m=l.tankVolume,p=l.tankMaxVolume,h=l.waters_trays,C=l.refills_water,f=l.uproots_weeds,N=l.replaces_nutriment;l.collects_produce,l.removes_dead;return(0,o.createComponentVNode)(2,a.Window,{width:450,height:540,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Automatic Hyrdoponic Assisting Unit v2.0",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",selected:d,onClick:function(){return c("power")},children:d?"On":"Off"}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Water Tank",children:s&&(0,o.createComponentVNode)(2,i.ProgressBar,{value:m,maxValue:p,children:[m," / ",p]})||(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"No water tank detected."})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Behavior Controls",color:u?"good":"bad",children:u?"Locked":"Unlocked"})]})}),!u&&(0,o.createComponentVNode)(2,i.Section,{title:"Behavior Controls",children:[(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Watering Controls",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Water plants",children:(0,o.createComponentVNode)(2,i.Button,{icon:h?"toggle-on":"toggle-off",selected:h,onClick:function(){return c("water")},children:h?"Yes":"No"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Refill watertank",children:(0,o.createComponentVNode)(2,i.Button,{icon:C?"toggle-on":"toggle-off",selected:C,onClick:function(){return c("refill")},children:C?"Yes":"No"})})]})}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Weeding controls",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Weed plants",children:(0,o.createComponentVNode)(2,i.Button,{icon:f?"toggle-on":"toggle-off",selected:f,onClick:function(){return c("weed")},children:f?"Yes":"No"})})})}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Nutriment controls",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Replace fertilizer",children:(0,o.createComponentVNode)(2,i.Button,{icon:N?"toggle-on":"toggle-off",selected:N,onClick:function(){return c("replacenutri")},children:N?"Yes":"No"})})})})]})||null]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.FaxContent=t.Fax=void 0;var o=n(0),r=n(1),i=n(2),a=n(3),c=n(95),l=n(96);t.Fax=function(e,t){return(0,r.useBackend)(t).data.authenticated?(0,o.createComponentVNode)(2,a.Window,{width:600,height:250,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:[(0,o.createComponentVNode)(2,u),(0,o.createComponentVNode)(2,c.LoginInfo),(0,o.createComponentVNode)(2,d)]})}):(0,o.createComponentVNode)(2,a.Window,{width:600,height:250,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:[(0,o.createComponentVNode)(2,u),(0,o.createComponentVNode)(2,l.LoginScreen)]})})};var d=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.bossName,d=c.copyItem,u=c.cooldown,s=c.destination;return(0,o.createComponentVNode)(2,i.Section,{children:[!!u&&(0,o.createComponentVNode)(2,i.NoticeBox,{info:!0,children:"Transmitter arrays realigning. Please stand by."}),(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Network",children:[l," Quantum Entanglement Network"]})}),d&&(0,o.createComponentVNode)(2,i.Box,{mt:1,children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Currently Sending",children:d}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Sending To",children:(0,o.createComponentVNode)(2,i.Button,{icon:"map-marker-alt",content:s,onClick:function(){return a("dept")}})})]}),(0,o.createComponentVNode)(2,i.Button,{icon:"share-square",onClick:function(){return a("send")},content:"Send",fluid:!0})]})||(0,o.createComponentVNode)(2,i.Box,{mt:1,children:"Please insert item to transmit."})]})};t.FaxContent=d;var u=function(e,t){var n=(0,r.useBackend)(t),a=n.act;return n.data.copyItem?(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"eject",onClick:function(){return a("remove")},content:"Remove Item"})}):null}},function(e,t,n){"use strict";t.__esModule=!0,t.FileCabinet=void 0;var o=n(0),r=n(8),i=n(1),a=n(2),c=n(3);t.FileCabinet=function(e,t){var n=(0,i.useBackend)(t),l=n.act,d=n.data.contents,u=(0,r.sortBy)((function(e){return e.name}))(d||[]);return(0,o.createComponentVNode)(2,c.Window,{width:350,height:300,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.Section,{children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"file",content:e.name,onClick:function(){return l("retrieve",{ref:e.ref})}},e.ref)}))})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Floorbot=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.Floorbot=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.on,u=l.open,s=l.locked,m=l.amount,p=l.possible_bmode,h=l.improvefloors,C=l.eattiles,f=l.maketiles,N=l.bmode;return(0,o.createComponentVNode)(2,a.Window,{width:390,height:310,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Automatic Station Floor Repairer v2.0",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",selected:d,onClick:function(){return c("start")},children:d?"On":"Off"}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Tiles Left",children:(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:m})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Maintenance Panel",color:u?"bad":"good",children:u?"Open":"Closed"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Behavior Controls",color:s?"good":"bad",children:s?"Locked":"Unlocked"})]})}),!s&&(0,o.createComponentVNode)(2,i.Section,{title:"Behavior Controls",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Improves Floors",children:(0,o.createComponentVNode)(2,i.Button,{icon:h?"toggle-on":"toggle-off",selected:h,onClick:function(){return c("improve")},children:h?"On":"Off"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Finds Tiles",children:(0,o.createComponentVNode)(2,i.Button,{icon:C?"toggle-on":"toggle-off",selected:C,onClick:function(){return c("tiles")},children:C?"On":"Off"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Makes Metal Sheets into Tiles",children:(0,o.createComponentVNode)(2,i.Button,{icon:f?"toggle-on":"toggle-off",selected:f,onClick:function(){return c("make")},children:f?"On":"Off"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Bridge Mode",children:(0,o.createComponentVNode)(2,i.Dropdown,{over:!0,width:"100%",placeholder:"Disabled",selected:N,options:p,onSelected:function(e){return c("bridgemode",{dir:e})}})})]})})||null]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.GasPump=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.GasPump=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.on,u=l.pressure_set,s=l.last_flow_rate,m=l.last_power_draw,p=l.max_power_draw;return(0,o.createComponentVNode)(2,a.Window,{width:470,height:290,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:[(0,o.createComponentVNode)(2,i.Section,{title:"Status",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Flow Rate",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:s/10})," L/s"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Load",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:m,minValue:0,maxValue:p,color:m=100?s="Running":!d&&u>0&&(s="DISCHARGING"),(0,o.createComponentVNode)(2,a.Window,{width:500,height:400,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:(0,o.createComponentVNode)(2,i.Section,{title:"Status",buttons:(0,o.createComponentVNode)(2,i.Button.Confirm,{icon:"exclamation-triangle",confirmIcon:"exclamation-triangle",color:"red",content:"Toggle Breaker",confirmContent:d?"This will disable gravity!":"This will enable gravity!",onClick:function(){return c("gentoggle")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Breaker Setting",children:d?"Generator Enabled":"Generator Disabled"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Charge Mode",children:["Generator ",s]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Charge Status",children:[u,"%"]})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.GuestPass=void 0;var o=n(0),r=n(8),i=n(1),a=n(2),c=n(3);t.GuestPass=function(e,t){var n=(0,i.useBackend)(t),l=n.act,d=n.data,u=(d.access,d.area),s=d.giver,m=d.giveName,p=d.reason,h=d.duration,C=d.mode,f=d.log,N=d.uid;return(0,o.createComponentVNode)(2,c.Window,{width:500,height:520,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:1===C&&(0,o.createComponentVNode)(2,a.Section,{title:"Activity Log",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"scroll",content:"Activity Log",selected:!0,onClick:function(){return l("mode",{mode:0})}}),children:[(0,o.createComponentVNode)(2,a.Button,{icon:"print",content:"Print",onClick:function(){return l("print")},fluid:!0,mb:1}),(0,o.createComponentVNode)(2,a.Section,{level:2,title:"Logs",children:f.length&&f.map((function(e){return(0,o.createVNode)(1,"div",null,null,1,{dangerouslySetInnerHTML:{__html:e}},e)}))||(0,o.createComponentVNode)(2,a.Box,{children:"No logs."})})]})||(0,o.createComponentVNode)(2,a.Section,{title:"Guest pass terminal #"+N,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"scroll",content:"Activity Log",onClick:function(){return l("mode",{mode:1})}}),children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Issuing ID",children:(0,o.createComponentVNode)(2,a.Button,{content:s||"Insert ID",onClick:function(){return l("id")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Issued To",children:(0,o.createComponentVNode)(2,a.Button,{content:m,onClick:function(){return l("giv_name")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Reason",children:(0,o.createComponentVNode)(2,a.Button,{content:p,onClick:function(){return l("reason")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Duration (minutes)",children:(0,o.createComponentVNode)(2,a.Button,{content:h,onClick:function(){return l("duration")}})})]}),(0,o.createComponentVNode)(2,a.Button.Confirm,{icon:"check",fluid:!0,content:"Issue Pass",onClick:function(){return l("issue")}}),(0,o.createComponentVNode)(2,a.Section,{title:"Access",level:2,children:(0,r.sortBy)((function(e){return e.area_name}))(u).map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.on,content:e.area_name,onClick:function(){return l("access",{access:e.area})}},e.area)}))})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.GyrotronControlContent=t.GyrotronControl=void 0;var o=n(0),r=n(1),i=n(3),a=n(2);t.GyrotronControl=function(e,t){return(0,o.createComponentVNode)(2,i.Window,{width:627,height:700,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:(0,o.createComponentVNode)(2,c)})})};var c=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data.gyros;return(0,o.createComponentVNode)(2,a.Section,{title:"Gyrotrons",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Set Tag",onClick:function(){return i("set_tag")}}),children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Name"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Position"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Status"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Fire Delay"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Strength"})]}),c.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:[e.x,", ",e.y,", ",e.z]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:e.active?"Online":"Offline",selected:e.active,disabled:!e.deployed,onClick:function(){return i("toggle_active",{gyro:e.ref})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Knob,{forcedInputWidth:"60px",size:1.25,color:!!e.active&&"yellow",value:e.fire_delay,unit:"decisecond(s)",minValue:1,maxValue:60,stepPixelSize:1,onDrag:function(t,n){return i("set_rate",{gyro:e.ref,rate:n})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Knob,{forcedInputWidth:"60px",size:1.25,color:!!e.active&&"yellow",value:e.strength,unit:"penta-dakw",minValue:1,maxValue:50,stepPixelSize:1,onDrag:function(t,n){return i("set_str",{gyro:e.ref,str:n})}})})]},e.name)}))]})})};t.GyrotronControlContent=c},function(e,t,n){"use strict";t.__esModule=!0,t.Holodeck=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.Holodeck=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.supportedPrograms,u=l.restrictedPrograms,s=l.currentProgram,m=l.isSilicon,p=l.safetyDisabled,h=l.emagged,C=l.gravity,f=d;return p&&(f=f.concat(u)),(0,o.createComponentVNode)(2,a.Window,{width:400,height:610,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Programs",children:f.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{color:-1!==u.indexOf(e)?"bad":null,icon:"eye",content:e,selected:s===e,fluid:!0,onClick:function(){return c("program",{program:e})}},e)}))}),!!m&&(0,o.createComponentVNode)(2,i.Section,{title:"Override",children:(0,o.createComponentVNode)(2,i.Button,{icon:"exclamation-triangle",fluid:!0,disabled:h,color:p?"good":"bad",onClick:function(){return c("AIoverride")},children:[!!h&&"Error, unable to control. ",p?"Enable Safeties":"Disable Safeties"]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Controls",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Safeties",children:p?(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"DISABLED"}):(0,o.createComponentVNode)(2,i.Box,{color:"good",children:"ENABLED"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Gravity",children:(0,o.createComponentVNode)(2,i.Button,{icon:"user-astronaut",selected:C,onClick:function(){return c("gravity")},children:C?"Enabled":"Disabled"})})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ICAssembly=void 0;var o=n(0),r=n(5),i=n(1),a=n(2),c=n(3),l=(n(6),n(20));t.ICAssembly=function(e,t){var n=(0,i.useBackend)(t),u=(n.act,n.data),s=u.total_parts,m=u.max_components,p=u.total_complexity,h=u.max_complexity,C=u.battery_charge,f=u.battery_max,N=u.net_power,b=u.unremovable_circuits,V=u.removable_circuits;return(0,o.createComponentVNode)(2,c.Window,{width:600,height:380,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Section,{title:"Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Space in Assembly",children:(0,o.createComponentVNode)(2,a.ProgressBar,{ranges:{good:[0,.25],average:[.5,.75],bad:[.75,1]},value:s/m,maxValue:1,children:[s," / ",m," (",(0,r.round)(s/m*100,1),"%)"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Complexity",children:(0,o.createComponentVNode)(2,a.ProgressBar,{ranges:{good:[0,.25],average:[.5,.75],bad:[.75,1]},value:p/h,maxValue:1,children:[p," / ",h," (",(0,r.round)(p/h*100,1),"%)"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cell Charge",children:C&&(0,o.createComponentVNode)(2,a.ProgressBar,{ranges:{bad:[0,.25],average:[.5,.75],good:[.75,1]},value:C/f,maxValue:1,children:[C," / ",f," (",(0,r.round)(C/f*100,1),"%)"]})||(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"No cell detected."})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Net Energy",children:0===N?"0 W/s":(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:N,format:function(e){return"-"+(0,l.formatPower)(Math.abs(e))+"/s"}})})]})}),b.length&&(0,o.createComponentVNode)(2,d,{title:"Built-in Components",circuits:b})||null,V.length&&(0,o.createComponentVNode)(2,d,{title:"Removable Components",circuits:V})||null]})})};var d=function(e,t){var n=(0,i.useBackend)(t).act,r=e.title,c=e.circuits;return(0,o.createComponentVNode)(2,a.Section,{title:r,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:[(0,o.createComponentVNode)(2,a.Button,{icon:"eye",onClick:function(){return n("open_circuit",{ref:e.ref})},children:"View"}),(0,o.createComponentVNode)(2,a.Button,{icon:"eye",onClick:function(){return n("rename_circuit",{ref:e.ref})},children:"Rename"}),(0,o.createComponentVNode)(2,a.Button,{icon:"eye",onClick:function(){return n("scan_circuit",{ref:e.ref})},children:"Debugger Scan"}),(0,o.createComponentVNode)(2,a.Button,{icon:"eye",onClick:function(){return n("remove_circuit",{ref:e.ref})},children:"Remove"}),(0,o.createComponentVNode)(2,a.Button,{icon:"eye",onClick:function(){return n("bottom_circuit",{ref:e.ref})},children:"Move to Bottom"})]},e.ref)}))})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ICCircuit=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3),c=n(6),l=n(20);t.ICCircuit=function(e,t){var n=(0,r.useBackend)(t),c=n.act,s=n.data,m=(s.name,s.desc),p=s.displayed_name,h=(s.removable,s.complexity),C=s.power_draw_idle,f=s.power_draw_per_use,N=s.extended_desc,b=s.inputs,V=s.outputs,g=s.activators;return(0,o.createComponentVNode)(2,a.Window,{width:600,height:400,resizable:!0,title:p,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Stats",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return c("rename")},children:"Rename"}),(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return c("scan")},children:"Scan with Device"}),(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return c("remove")},children:"Remove"})],4),children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Complexity",children:h}),C&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Power Draw (Idle)",children:(0,l.formatPower)(C)})||null,f&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Power Draw (Active)",children:(0,l.formatPower)(f)})||null]}),N]}),(0,o.createComponentVNode)(2,i.Section,{title:"Circuit",children:[(0,o.createComponentVNode)(2,i.Flex,{textAlign:"center",spacing:1,children:[b.length&&(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i.Section,{title:"Inputs",children:(0,o.createComponentVNode)(2,d,{list:b})})})||null,(0,o.createComponentVNode)(2,i.Flex.Item,{basis:b.length&&V.length?"33%":b.length||V.length?"45%":"100%",children:(0,o.createComponentVNode)(2,i.Section,{title:p,mb:1,children:(0,o.createComponentVNode)(2,i.Box,{children:m})})}),V.length&&(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i.Section,{title:"Outputs",children:(0,o.createComponentVNode)(2,d,{list:V})})})||null]}),(0,o.createComponentVNode)(2,i.Section,{title:"Triggers",children:g.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,children:[(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return c("pin_name",{pin:e.ref})},children:e.pulse_out?"":""}),(0,o.createComponentVNode)(2,u,{pin:e})]},e.name)}))})]})]})})};var d=function(e,t){var n=(0,r.useBackend)(t).act;return e.list.map((function(e){return(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return n("pin_name",{pin:e.ref})},children:[(0,c.decodeHtmlEntities)(e.type),": ",e.name]}),(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return n("pin_data",{pin:e.ref})},children:e.data}),(0,o.createComponentVNode)(2,u,{pin:e})]},e.ref)}))},u=function(e,t){var n=(0,r.useBackend)(t).act,a=e.pin;return a.linked.map((function(e){return(0,o.createComponentVNode)(2,i.Box,{inline:!0,children:[(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return n("pin_unwire",{pin:a.ref,link:e.ref})},children:e.name}),"@\xa0",(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return n("examine",{ref:e.holder_ref})},children:e.holder_name})]},e.ref)}))}},function(e,t,n){"use strict";t.__esModule=!0,t.ICDetailer=void 0;var o=n(0),r=n(1),i=n(2),a=n(3),c=n(6);t.ICDetailer=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.detail_color,s=d.color_list;return(0,o.createComponentVNode)(2,a.Window,{width:420,height:254,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:(0,o.createComponentVNode)(2,i.Section,{children:Object.keys(s).map((function(e,t){return(0,o.createComponentVNode)(2,i.Button,{ml:0,mr:0,mb:-.4,mt:0,tooltip:(0,c.toTitleCase)(e),tooltipPosition:t%6==5?"left":"right",height:"64px",width:"64px",onClick:function(){return l("change_color",{color:e})},style:s[e]===u?{border:"4px solid black","border-radius":0}:{"border-radius":0},backgroundColor:s[e]},e)}))})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ICPrinter=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3),c=n(8);n(24);t.ICPrinter=function(e,t){var n=(0,r.useBackend)(t),c=(n.act,n.data),l=c.metal,u=c.max_metal,s=c.metal_per_sheet,m=(c.debug,c.upgraded),p=c.can_clone;c.assembly_to_clone,c.categories;return(0,o.createComponentVNode)(2,a.Window,{width:500,height:630,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Status",children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Metal",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:l,maxValue:u,children:[l/s," / ",u/s," sheets"]})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Circuits Available",children:m?"Advanced":"Regular"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Assembly Cloning",children:p?"Available":"Unavailable"})]}),(0,o.createComponentVNode)(2,i.Box,{mt:1,children:"Note: A red component name means that the printer must be upgraded to create that component."})]}),(0,o.createComponentVNode)(2,d)]})})};var l=function(e,t){return!!e.can_build&&!(e.cost>t.metal)},d=function(e,t){var n=(0,r.useBackend)(t),a=n.act,d=n.data,u=d.categories,s=(d.debug,(0,r.useSharedState)(t,"categoryTarget",null)),m=s[0],p=s[1],h=(0,c.filter)((function(e){return e.name===m}))(u)[0];return(0,o.createComponentVNode)(2,i.Section,{title:"Circuits",children:[(0,o.createComponentVNode)(2,i.Tabs,{children:(0,c.sortBy)((function(e){return e.name}))(u).map((function(e){return(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:m===e.name,onClick:function(){return p(e.name)},children:e.name},e.name)}))}),h&&(0,o.createComponentVNode)(2,i.Section,{title:h.name,level:2,children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,c.sortBy)((function(e){return e.name}))(h.items).map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,labelColor:e.can_build?"good":"bad",buttons:(0,o.createComponentVNode)(2,i.Button,{disabled:!l(e,d),icon:"print",onClick:function(){return a("build",{build:e.path})},children:"Print"}),children:e.desc},e.name)}))})})||"No category selected."]})}},function(e,t,n){"use strict";t.__esModule=!0,t.IDCard=void 0;var o=n(0),r=n(2),i=n(1),a=n(3),c=n(192);t.IDCard=function(e,t){var n=(0,i.useBackend)(t).data,l=n.registered_name,d=n.sex,u=n.age,s=n.assignment,m=n.fingerprint_hash,p=n.blood_type,h=n.dna_hash,C=n.photo_front,f=[{name:"Sex",val:d},{name:"Age",val:u},{name:"Blood Type",val:p},{name:"Fingerprint",val:m},{name:"DNA Hash",val:h}];return(0,o.createComponentVNode)(2,a.Window,{width:470,height:250,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:(0,o.createComponentVNode)(2,r.Section,{children:[(0,o.createComponentVNode)(2,r.Flex,{children:[(0,o.createComponentVNode)(2,r.Flex.Item,{basis:"25%",textAlign:"left",children:(0,o.createComponentVNode)(2,r.Box,{inline:!0,style:{width:"101px",height:"120px",overflow:"hidden",outline:"2px solid #4972a1"},children:C&&(0,o.createVNode)(1,"img",null,null,1,{src:C.substr(1,C.length-1),style:{width:"300px","margin-left":"-94px","-ms-interpolation-mode":"nearest-neighbor"}})||(0,o.createComponentVNode)(2,r.Icon,{name:"user",size:8,ml:1.5,mt:2.5})})}),(0,o.createComponentVNode)(2,r.Flex.Item,{basis:0,grow:1,children:(0,o.createComponentVNode)(2,r.LabeledList,{children:f.map((function(e){return(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:e.name,children:e.val},e.name)}))})})]}),(0,o.createComponentVNode)(2,r.Flex,{className:"IDCard__NamePlate",align:"center",justify:"space-around",children:[(0,o.createComponentVNode)(2,r.Flex.Item,{children:(0,o.createComponentVNode)(2,r.Box,{textAlign:"center",children:l})}),(0,o.createComponentVNode)(2,r.Flex.Item,{children:(0,o.createComponentVNode)(2,r.Box,{textAlign:"center",children:(0,o.createComponentVNode)(2,c.RankIcon,{rank:s})})}),(0,o.createComponentVNode)(2,r.Flex.Item,{children:(0,o.createComponentVNode)(2,r.Box,{textAlign:"center",children:s})})]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.InventoryPanel=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.InventoryPanel=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.slots,u=l.internalsValid;return(0,o.createComponentVNode)(2,a.Window,{width:400,height:200,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:d&&d.length&&d.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,children:(0,o.createComponentVNode)(2,i.Button,{mb:-1,icon:e.item?"hand-paper":"gift",onClick:function(){return c(e.act)},children:e.item||"Nothing"})},e.name)}))})}),u&&(0,o.createComponentVNode)(2,i.Section,{title:"Actions",children:u&&(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"lungs",onClick:function(){return c("internals")},children:"Set Internals"})||null})||null]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.InventoryPanelHuman=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.InventoryPanelHuman=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.slots,u=l.specialSlots,s=(l.internals,l.internalsValid),m=l.sensors,p=l.handcuffed,h=l.handcuffedParams,C=l.legcuffed,f=l.legcuffedParams,N=l.accessory;return(0,o.createComponentVNode)(2,a.Window,{width:400,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[d&&d.length&&d.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,children:(0,o.createComponentVNode)(2,i.Button,{mb:-1,icon:e.item?"hand-paper":"gift",onClick:function(){return c(e.act,e.params)},children:e.item||"Nothing"})},e.name)})),(0,o.createComponentVNode)(2,i.LabeledList.Divider),u&&u.length&&u.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,children:(0,o.createComponentVNode)(2,i.Button,{mb:-1,icon:e.item?"hand-paper":"gift",onClick:function(){return c(e.act,e.params)},children:e.item||"Nothing"})},e.name)}))]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Actions",children:[(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"running",onClick:function(){return c("targetSlot",{slot:"splints"})},children:"Remove Splints"}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"hand-paper",onClick:function(){return c("targetSlot",{slot:"pockets"})},children:"Empty Pockets"}),s&&(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"lungs",onClick:function(){return c("targetSlot",{slot:"internals"})},children:"Set Internals"})||null,m&&(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"book-medical",onClick:function(){return c("targetSlot",{slot:"sensors"})},children:"Set Sensors"})||null,p&&(0,o.createComponentVNode)(2,i.Button,{fluid:!0,color:"bad",icon:"unlink",onClick:function(){return c("targetSlot",h)},children:"Handcuffed"})||null,C&&(0,o.createComponentVNode)(2,i.Button,{fluid:!0,color:"bad",icon:"unlink",onClick:function(){return c("targetSlot",f)},children:"Legcuffed"})||null,N&&(0,o.createComponentVNode)(2,i.Button,{fluid:!0,color:"bad",icon:"unlink",onClick:function(){return c("targetSlot",{slot:"tie"})},children:"Remove Accessory"})||null]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.IsolationCentrifuge=void 0;var o=n(0),r=(n(5),n(20),n(1)),i=n(2),a=n(3);t.IsolationCentrifuge=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.busy,u=l.antibodies,s=l.pathogens,m=l.is_antibody_sample,p=l.sample_inserted,h=(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"No vial detected."});return p&&(h=u||s?(0,o.createFragment)([u?(0,o.createComponentVNode)(2,i.Section,{title:"Antibodies",children:u}):null,s.length?(0,o.createComponentVNode)(2,i.Section,{title:"Pathogens",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:s.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,children:e.spread_type},e.name)}))})}):null],0):(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"No antibodies or viral strains detected."})),(0,o.createComponentVNode)(2,a.Window,{width:400,height:500,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:d?(0,o.createComponentVNode)(2,i.Section,{title:"The Centrifuge is currently busy.",color:"bad",children:(0,o.createVNode)(1,"center",null,(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:d}),2)}):(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:m?"Antibody Sample":"Blood Sample",children:[(0,o.createComponentVNode)(2,i.Flex,{spacing:1,mb:1,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"print",content:"Print",disabled:!u&&!s.length,onClick:function(){return c("print")}})}),(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"eject",content:"Eject Vial",disabled:!p,onClick:function(){return c("sample")}})})]}),h]}),u&&!m||s.length?(0,o.createComponentVNode)(2,i.Section,{title:"Controls",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[u&&!m?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Isolate Antibodies",children:(0,o.createComponentVNode)(2,i.Button,{icon:"pen",content:u,onClick:function(){return c("antibody")}})}):null,s.length?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Isolate Strain",children:s.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:"pen",content:e.name,onClick:function(){return c("isolate",{isolate:e.reference})}},e.name)}))}):null]})}):null],0)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.JanitorCart=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.JanitorCart=function(e,t){var n=(0,r.useBackend)(t),c=n.act,d=n.data,u=d.mybag,s=d.mybucket,m=d.mymop,p=d.myspray,h=d.myreplacer,C=d.signs;d.icons;return(0,o.createComponentVNode)(2,a.Window,{width:210,height:180,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:[(0,o.createComponentVNode)(2,i.Button,{width:"64px",height:"64px",position:"relative",tooltip:u||"Garbage Bag Slot",tooltipPosition:"bottom-right",color:u?"grey":"transparent",style:{border:u?null:"2px solid grey"},onClick:function(){return c("bag")},children:(0,o.createComponentVNode)(2,l,{iconkey:"mybag"})}),(0,o.createComponentVNode)(2,i.Button,{width:"64px",height:"64px",position:"relative",tooltip:s||"Bucket Slot",tooltipPosition:"bottom",color:s?"grey":"transparent",style:{border:s?null:"2px solid grey"},onClick:function(){return c("bucket")},children:(0,o.createComponentVNode)(2,l,{iconkey:"mybucket"})}),(0,o.createComponentVNode)(2,i.Button,{width:"64px",height:"64px",position:"relative",tooltip:m||"Mop Slot",tooltipPosition:"bottom-left",color:m?"grey":"transparent",style:{border:m?null:"2px solid grey"},onClick:function(){return c("mop")},children:(0,o.createComponentVNode)(2,l,{iconkey:"mymop"})}),(0,o.createComponentVNode)(2,i.Button,{width:"64px",height:"64px",position:"relative",tooltip:p||"Spray Slot",tooltipPosition:"top-right",color:p?"grey":"transparent",style:{border:p?null:"2px solid grey"},onClick:function(){return c("spray")},children:(0,o.createComponentVNode)(2,l,{iconkey:"myspray"})}),(0,o.createComponentVNode)(2,i.Button,{width:"64px",height:"64px",position:"relative",tooltip:h||"Light Replacer Slot",tooltipPosition:"top",color:h?"grey":"transparent",style:{border:h?null:"2px solid grey"},onClick:function(){return c("replacer")},children:(0,o.createComponentVNode)(2,l,{iconkey:"myreplacer"})}),(0,o.createComponentVNode)(2,i.Button,{width:"64px",height:"64px",position:"relative",tooltip:C||"Signs Slot",tooltipPosition:"top-left",color:C?"grey":"transparent",style:{border:C?null:"2px solid grey"},onClick:function(){return c("sign")},children:(0,o.createComponentVNode)(2,l,{iconkey:"signs"})})]})})};var c={mybag:"trash",mybucket:"fill",mymop:"broom",myspray:"spray-can",myreplacer:"lightbulb",signs:"sign"},l=function(e,t){var n=(0,r.useBackend)(t).data,a=e.iconkey,l=n.icons;return a in l?(0,o.createVNode)(1,"img",null,null,1,{src:l[a].substr(1,l[a].length-1),style:{position:"absolute",left:0,right:0,top:0,bottom:0,width:"64px",height:"64px","-ms-interpolation-mode":"nearest-neighbor"}}):(0,o.createComponentVNode)(2,i.Icon,{style:{position:"absolute",left:"4px",right:0,top:"20px",bottom:0,width:"64px",height:"64px"},fontSize:2,name:c[a]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Jukebox=void 0;var o=n(0),r=n(5),i=n(8),a=n(1),c=n(2),l=n(3);t.Jukebox=function(e,t){var n=(0,a.useBackend)(t),d=n.act,u=n.data,s=u.playing,m=u.loop_mode,p=u.volume,h=u.current_track_ref,C=u.current_track,f=u.percent,N=u.tracks;return(0,o.createComponentVNode)(2,l.Window,{width:450,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,l.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,c.Section,{title:"Currently Playing",children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Title",children:s&&C&&(0,o.createComponentVNode)(2,c.Box,{children:[C.title," by ",C.artist||"Unkown"]})||(0,o.createComponentVNode)(2,c.Box,{children:"Stopped"})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Controls",children:[(0,o.createComponentVNode)(2,c.Button,{icon:"play",disabled:s,onClick:function(){return d("play")},children:"Play"}),(0,o.createComponentVNode)(2,c.Button,{icon:"stop",disabled:!s,onClick:function(){return d("stop")},children:"Stop"})]}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Loop Mode",children:[(0,o.createComponentVNode)(2,c.Button,{icon:"play",onClick:function(){return d("loopmode",{loopmode:1})},selected:1===m,children:"Next"}),(0,o.createComponentVNode)(2,c.Button,{icon:"random",onClick:function(){return d("loopmode",{loopmode:2})},selected:2===m,children:"Shuffle"}),(0,o.createComponentVNode)(2,c.Button,{icon:"redo",onClick:function(){return d("loopmode",{loopmode:3})},selected:3===m,children:"Repeat"}),(0,o.createComponentVNode)(2,c.Button,{icon:"step-forward",onClick:function(){return d("loopmode",{loopmode:4})},selected:4===m,children:"Once"})]}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Progress",children:(0,o.createComponentVNode)(2,c.ProgressBar,{value:f,maxValue:1,color:"good"})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Volume",children:(0,o.createComponentVNode)(2,c.Slider,{minValue:0,step:.01,value:p,maxValue:1,ranges:{good:[.75,Infinity],average:[.25,.75],bad:[0,.25]},format:function(e){return(0,r.round)(100*e,1)+"%"},onChange:function(e,t){return d("volume",{val:(0,r.round)(t,2)})}})})]})}),(0,o.createComponentVNode)(2,c.Section,{title:"Available Tracks",children:N.length&&(0,i.sortBy)((function(e){return e.title}))(N).map((function(e){return(0,o.createComponentVNode)(2,c.Button,{fluid:!0,icon:"play",selected:h===e.ref,onClick:function(){return d("change_track",{change_track:e.ref})},children:e.title},e.ref)}))||(0,o.createComponentVNode)(2,c.Box,{color:"bad",children:"Error: No songs loaded."})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.LawManager=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.LawManager=function(e,t){var n=(0,r.useBackend)(t),l=(n.act,n.data.isSlaved);return(0,o.createComponentVNode)(2,a.Window,{width:800,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[l&&(0,o.createComponentVNode)(2,i.NoticeBox,{info:!0,children:["Law-synced to ",l]})||null,(0,o.createComponentVNode)(2,c)]})})};var c=function(e,t){var n=(0,r.useSharedState)(t,"lawsTabIndex",0),a=n[0],c=n[1];return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Tabs,{children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:0===a,onClick:function(){return c(0)},children:"Law Management"}),(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:1===a,onClick:function(){return c(1)},children:"Law Sets"})]}),0===a&&(0,o.createComponentVNode)(2,l)||null,1===a&&(0,o.createComponentVNode)(2,u)||null],0)},l=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.ion_law_nr,u=c.ion_law,s=c.zeroth_law,m=c.inherent_law,p=c.supplied_law,h=c.supplied_law_position,C=c.zeroth_laws,f=c.has_zeroth_laws,N=c.ion_laws,b=c.has_ion_laws,V=c.inherent_laws,g=c.has_inherent_laws,v=c.supplied_laws,_=c.has_supplied_laws,k=c.isAI,y=c.isMalf,L=c.isAdmin,B=c.channel,w=c.channels,x=C.map((function(e){return e.zero=!0,e})).concat(V);return(0,o.createComponentVNode)(2,i.Section,{children:[b&&(0,o.createComponentVNode)(2,d,{laws:N,title:l+" Laws:",mt:-2})||null,(f||g)&&(0,o.createComponentVNode)(2,d,{laws:x,title:"Inherent Laws",mt:-2})||null,_&&(0,o.createComponentVNode)(2,d,{laws:v,title:"Supplied Laws",mt:-2})||null,(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Controls",mt:-2,children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Statement Channel",children:w.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{content:e.channel,selected:B===e.channel,onClick:function(){return a("law_channel",{law_channel:e.channel})}},e.channel)}))}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"State Laws",children:(0,o.createComponentVNode)(2,i.Button,{icon:"volume-up",onClick:function(){return a("state_laws")},children:"State Laws"})}),k&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Law Notification",children:(0,o.createComponentVNode)(2,i.Button,{icon:"exclamation",onClick:function(){return a("notify_laws")},children:"Notify"})})||null]})}),y&&(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Add Laws",mt:-2,children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:"Type"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Law"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:"Index"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:"Add"})]}),L&&!f&&(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:"Zero"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Input,{value:s,fluid:!0,onChange:function(e,t){return a("change_zeroth_law",{val:t})}})}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:"N/A"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,i.Button,{icon:"plus",onClick:function(){return a("add_zeroth_law")},children:"Add"})})]})||null,(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:"Ion"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Input,{value:u,fluid:!0,onChange:function(e,t){return a("change_ion_law",{val:t})}})}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:"N/A"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,i.Button,{icon:"plus",onClick:function(){return a("add_ion_law")},children:"Add"})})]}),(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Inherent"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Input,{value:m,fluid:!0,onChange:function(e,t){return a("change_inherent_law",{val:t})}})}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:"N/A"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"plus",onClick:function(){return a("add_inherent_law")},children:"Add"})})]}),(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Supplied"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Input,{value:p,fluid:!0,onChange:function(e,t){return a("change_supplied_law",{val:t})}})}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"pen",onClick:function(){return a("change_supplied_law_position")},children:h})}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"plus",onClick:function(){return a("add_supplied_law")},children:"Add"})})]})]})})||null]})},d=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.isMalf,d=c.isAdmin,u=e.laws,s=e.title,m=e.noButtons,p=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["laws","title","noButtons"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,i.Section,Object.assign({level:2,title:s},p,{children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:"Index"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Law"}),!m&&(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:"State"})||null,l&&!m&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:"Edit"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:"Delete"})],4)||null]}),u.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:[e.index,"."]}),(0,o.createComponentVNode)(2,i.Table.Cell,{color:e.zero?"bad":null,children:e.law}),!m&&(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"volume-up",selected:e.state,onClick:function(){return a("state_law",{ref:e.ref,state_law:!e.state})},children:e.state?"Yes":"No"})})||null,l&&!m&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,i.Button,{disabled:e.zero&&!d,icon:"pen",onClick:function(){return a("edit_law",{edit_law:e.ref})},children:"Edit"})}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,i.Button,{disabled:e.zero&&!d,color:"bad",icon:"trash",onClick:function(){return a("delete_law",{delete_law:e.ref})},children:"Delete"})})],4)||null]},e.index)}))]})})))},u=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.isMalf,u=c.law_sets;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.NoticeBox,{children:"Remember: Stating laws other than those currently loaded may be grounds for decommissioning! - NanoTrasen"}),u.length&&u.map((function(e){return(0,o.createComponentVNode)(2,i.Section,{title:e.name,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{disabled:!l,icon:"sync",onClick:function(){return a("transfer_laws",{transfer_laws:e.ref})},children:"Load Laws"}),(0,o.createComponentVNode)(2,i.Button,{icon:"volume-up",onClick:function(){return a("state_law_set",{state_law_set:e.ref})},children:"State Laws"})],4),children:[e.laws.has_ion_laws&&(0,o.createComponentVNode)(2,d,{noButtons:!0,laws:e.laws.ion_laws,title:e.laws.ion_law_nr+" Laws:"})||null,(e.laws.has_zeroth_laws||e.laws.has_inherent_laws)&&(0,o.createComponentVNode)(2,d,{noButtons:!0,laws:e.laws.zeroth_laws.concat(e.laws.inherent_laws),title:e.header})||null,e.laws.has_supplied_laws&&(0,o.createComponentVNode)(2,d,{noButtons:!0,laws:e.laws.supplied_laws,title:"Supplied Laws"})||null]},e.name)}))||null],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.LookingGlass=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.LookingGlass=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.supportedPrograms,u=l.currentProgram,s=l.immersion,m=l.gravity,p=Math.min(180+23*d.length,600);return(0,o.createComponentVNode)(2,a.Window,{width:300,height:p,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Programs",children:d.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"eye",selected:e===u,onClick:function(){return c("program",{program:e})},children:e},e)}))}),(0,o.createComponentVNode)(2,i.Section,{title:"Controls",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Gravity",children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"user-astronaut",selected:m,onClick:function(){return c("gravity")},children:m?"Enabled":"Disabled"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Full Immersion",children:(0,o.createComponentVNode)(2,i.Button,{mt:-1,fluid:!0,icon:"eye",selected:s,onClick:function(){return c("immersion")},children:s?"Enabled":"Disabled"})})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.MechaControlConsole=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3),c=n(6);t.MechaControlConsole=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.beacons,s=d.stored_data;return(0,o.createComponentVNode)(2,a.Window,{width:600,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[s.length&&(0,o.createComponentVNode)(2,i.Modal,{children:(0,o.createComponentVNode)(2,i.Section,{height:"400px",style:{"overflow-y":"auto"},title:"Log",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"window-close",onClick:function(){return l("clear_log")}}),children:s.map((function(e){return(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Box,{color:"label",children:["(",e.time,") (",e.year,")"]}),(0,o.createComponentVNode)(2,i.Box,{children:(0,c.decodeHtmlEntities)(e.message)})]},e.time)}))})})||null,u.length&&u.map((function(e){return(0,o.createComponentVNode)(2,i.Section,{title:e.name,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"comment",onClick:function(){return l("send_message",{mt:e.ref})},children:"Message"}),(0,o.createComponentVNode)(2,i.Button,{icon:"eye",onClick:function(){return l("get_log",{mt:e.ref})},children:"View Log"}),(0,o.createComponentVNode)(2,i.Button.Confirm,{color:"red",content:"EMP",icon:"bomb",onClick:function(){return l("shock",{mt:e.ref})}})],4),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,i.ProgressBar,{ranges:{good:[.75*e.maxHealth,Infinity],average:[.5*e.maxHealth,.75*e.maxHealth],bad:[-Infinity,.5*e.maxHealth]},value:e.health,maxValue:e.maxHealth})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Cell Charge",children:e.cell&&(0,o.createComponentVNode)(2,i.ProgressBar,{ranges:{good:[.75*e.cellMaxCharge,Infinity],average:[.5*e.cellMaxCharge,.75*e.cellMaxCharge],bad:[-Infinity,.5*e.cellMaxCharge]},value:e.cellCharge,maxValue:e.cellMaxCharge})||(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No Cell Installed"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Air Tank",children:[e.airtank,"kPa"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Pilot",children:e.pilot||"Unoccupied"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Location",children:(0,c.toTitleCase)(e.location)||"Unknown"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Active Equipment",children:e.active||"None"}),e.cargoMax&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Cargo Space",children:(0,o.createComponentVNode)(2,i.ProgressBar,{ranges:{bad:[.75*e.cargoMax,Infinity],average:[.5*e.cargoMax,.75*e.cargoMax],good:[-Infinity,.5*e.cargoMax]},value:e.cargoUsed,maxValue:e.cargoMax})})||null]})},e.name)}))||(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No mecha beacons found."})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Medbot=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.Medbot=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.on,u=l.open,s=l.beaker,m=l.beaker_total,p=l.beaker_max,h=l.locked,C=l.heal_threshold,f=l.heal_threshold_max,N=l.injection_amount_min,b=l.injection_amount,V=l.injection_amount_max,g=l.use_beaker,v=l.declare_treatment,_=l.vocal;return(0,o.createComponentVNode)(2,a.Window,{width:400,height:600,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Automatic Medical Unit v2.0",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",selected:d,onClick:function(){return c("power")},children:d?"On":"Off"}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Maintenance Panel",color:u?"bad":"good",children:u?"Open":"Closed"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Beaker",buttons:(0,o.createComponentVNode)(2,i.Button,{disabled:!s,icon:"eject",onClick:function(){return c("eject")},children:"Eject"}),children:s&&(0,o.createComponentVNode)(2,i.ProgressBar,{value:m,maxValue:p,children:[m," / ",p]})||(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"No beaker loaded."})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Behavior Controls",color:h?"good":"bad",children:h?"Locked":"Unlocked"})]})}),!h&&(0,o.createComponentVNode)(2,i.Section,{title:"Behavioral Controls",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Healing Threshold",children:(0,o.createComponentVNode)(2,i.NumberInput,{fluid:!0,minValue:0,maxValue:f,value:C,onDrag:function(e,t){return c("adj_threshold",{val:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Injection Amount",children:(0,o.createComponentVNode)(2,i.NumberInput,{fluid:!0,minValue:N,maxValue:V,value:b,onDrag:function(e,t){return c("adj_inject",{val:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Reagent Source",children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:g?"toggle-on":"toggle-off",selected:g,onClick:function(){return c("use_beaker")},children:g?"Loaded Beaker (When available)":"Internal Synthesizer"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Treatment Report",children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:v?"toggle-on":"toggle-off",selected:v,onClick:function(){return c("declaretreatment")},children:v?"On":"Off"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Speaker",children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:_?"toggle-on":"toggle-off",selected:_,onClick:function(){return c("togglevoice")},children:_?"On":"Off"})})]})})||null]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.MedicalRecords=void 0;var o=n(0),r=n(1),i=n(2),a=n(45),c=n(3),l=n(95),d=n(96),u=n(62),s=(n(6),function(e,t){(0,a.modalOpen)(e,"edit",{field:t.edit,value:t.value})});t.MedicalRecords=function(e,t){var n,s=(0,r.useBackend)(t).data,C=s.authenticated,f=s.screen;return C?(2===f?n=(0,o.createComponentVNode)(2,m):3===f?n=(0,o.createComponentVNode)(2,p):4===f?n=(0,o.createComponentVNode)(2,h):5===f?n=(0,o.createComponentVNode)(2,N):6===f&&(n=(0,o.createComponentVNode)(2,b)),(0,o.createComponentVNode)(2,c.Window,{width:800,height:380,resizable:!0,children:[(0,o.createComponentVNode)(2,a.ComplexModal,{maxHeight:"100%",maxWidth:"80%"}),(0,o.createComponentVNode)(2,c.Window.Content,{className:"Layout__content--flexColumn",children:[(0,o.createComponentVNode)(2,l.LoginInfo),(0,o.createComponentVNode)(2,u.TemporaryNotice),(0,o.createComponentVNode)(2,V),(0,o.createComponentVNode)(2,i.Section,{height:"calc(100% - 5rem)",flexGrow:"1",children:n})]})]})):(0,o.createComponentVNode)(2,c.Window,{width:800,height:380,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(0,o.createComponentVNode)(2,d.LoginScreen)})})};var m=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data.records;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Input,{fluid:!0,placeholder:"Search by Name, DNA, or ID",onChange:function(e,t){return a("search",{t1:t})}}),(0,o.createComponentVNode)(2,i.Box,{mt:"0.5rem",children:c.map((function(e,t){return(0,o.createComponentVNode)(2,i.Button,{icon:"user",mb:"0.5rem",content:e.id+": "+e.name,onClick:function(){return a("d_rec",{d_rec:e.ref})}},t)}))})],4)},p=function(e,t){var n=(0,r.useBackend)(t).act;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"download",content:"Backup to Disk",disabled:!0}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,i.Button,{icon:"upload",content:"Upload from Disk",my:"0.5rem",disabled:!0}),(0,o.createTextVNode)(" "),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,i.Button.Confirm,{icon:"trash",content:"Delete All Medical Records",onClick:function(){return n("del_all")}})],4)},h=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.medical,d=c.printing;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"General Data",level:2,mt:"-6px",children:(0,o.createComponentVNode)(2,C)}),(0,o.createComponentVNode)(2,i.Section,{title:"Medical Data",level:2,children:(0,o.createComponentVNode)(2,f)}),(0,o.createComponentVNode)(2,i.Section,{title:"Actions",level:2,children:[(0,o.createComponentVNode)(2,i.Button.Confirm,{icon:"trash",disabled:!!l.empty,content:"Delete Medical Record",color:"bad",onClick:function(){return a("del_r")}}),(0,o.createComponentVNode)(2,i.Button,{icon:d?"spinner":"print",disabled:d,iconSpin:!!d,content:"Print Entry",ml:"0.5rem",onClick:function(){return a("print_p")}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,i.Button,{icon:"arrow-left",content:"Back",mt:"0.5rem",onClick:function(){return a("screen",{screen:2})}})]})],4)},C=function(e,t){var n=(0,r.useBackend)(t).data.general;return n&&n.fields?(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{width:"50%",float:"left",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:n.fields.map((function(e,n){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.field,children:[(0,o.createComponentVNode)(2,i.Box,{height:"20px",display:"inline-block",children:e.value.split("\n").map((function(e){return(0,o.createComponentVNode)(2,i.Box,{children:e},e)}))}),!!e.edit&&(0,o.createComponentVNode)(2,i.Button,{icon:"pen",ml:"0.5rem",onClick:function(){return s(t,e)}})]},n)}))})}),(0,o.createComponentVNode)(2,i.Box,{width:"50%",float:"right",textAlign:"right",children:!!n.has_photos&&n.photos.map((function(e,t){return(0,o.createComponentVNode)(2,i.Box,{display:"inline-block",textAlign:"center",color:"label",children:[(0,o.createVNode)(1,"img",null,null,1,{src:e.substr(1,e.length-1),style:{width:"96px","margin-bottom":"0.5rem","-ms-interpolation-mode":"nearest-neighbor"}}),(0,o.createVNode)(1,"br"),"Photo #",t+1]},t)}))})],4):(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"General records lost!"})},f=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data.medical;return l&&l.fields?(0,o.createFragment)([(0,o.createComponentVNode)(2,i.LabeledList,{children:l.fields.map((function(e,n){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.field,children:[e.value.split("\n").map((function(e){return(0,o.createComponentVNode)(2,i.Box,{children:e},e)})),(0,o.createComponentVNode)(2,i.Button,{icon:"pen",ml:"0.5rem",mb:e.line_break?"1rem":"initial",onClick:function(){return s(t,e)}})]},n)}))}),(0,o.createComponentVNode)(2,i.Section,{title:"Comments/Log",level:2,children:[0===l.comments.length?(0,o.createComponentVNode)(2,i.Box,{color:"label",children:"No comments found."}):l.comments.map((function(e,t){return(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Box,{color:"label",display:"inline",children:e.header}),(0,o.createVNode)(1,"br"),e.text,(0,o.createComponentVNode)(2,i.Button,{icon:"comment-slash",color:"bad",ml:"0.5rem",onClick:function(){return c("del_c",{del_c:t+1})}})]},t)})),(0,o.createComponentVNode)(2,i.Button,{icon:"comment-medical",content:"Add Entry",color:"good",mt:"0.5rem",mb:"0",onClick:function(){return(0,a.modalOpen)(t,"add_c")}})]})],4):(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:["Medical records lost!",(0,o.createComponentVNode)(2,i.Button,{icon:"pen",content:"New Record",ml:"0.5rem",onClick:function(){return c("new")}})]})},N=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data.virus;return c.sort((function(e,t){return e.name>t.name?1:-1})),c.map((function(e,t){return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"flask",content:e.name,mb:"0.5rem",onClick:function(){return a("vir",{vir:e.D})}}),(0,o.createVNode)(1,"br")],4,t)}))},b=function(e,t){var n=(0,r.useBackend)(t).data.medbots;return 0===n.length?(0,o.createComponentVNode)(2,i.Box,{color:"label",children:"There are no Medbots."}):n.map((function(e,t){return(0,o.createComponentVNode)(2,i.Collapsible,{open:!0,title:e.name,children:(0,o.createComponentVNode)(2,i.Box,{px:"0.5rem",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Location",children:[e.area||"Unknown"," (",e.x,", ",e.y,")"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",children:e.on?(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{color:"good",children:"Online"}),(0,o.createComponentVNode)(2,i.Box,{mt:"0.5rem",children:e.use_beaker?"Reservoir: "+e.total_volume+"/"+e.maximum_volume:"Using internal synthesizer."})],4):(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"Offline"})})]})})},t)}))},V=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data.screen;return(0,o.createComponentVNode)(2,i.Tabs,{children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:2===c,onClick:function(){return a("screen",{screen:2})},children:[(0,o.createComponentVNode)(2,i.Icon,{name:"list"}),"List Records"]}),(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:5===c,onClick:function(){return a("screen",{screen:5})},children:[(0,o.createComponentVNode)(2,i.Icon,{name:"database"}),"Virus Database"]}),(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:6===c,onClick:function(){return a("screen",{screen:6})},children:[(0,o.createComponentVNode)(2,i.Icon,{name:"plus-square"}),"Medbot Tracking"]}),(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:3===c,onClick:function(){return a("screen",{screen:3})},children:[(0,o.createComponentVNode)(2,i.Icon,{name:"wrench"}),"Record Maintenance"]})]})};(0,a.modalRegisterBodyOverride)("virus",(function(e,t){var n=(0,r.useBackend)(t).act,a=e.args;return(0,o.createComponentVNode)(2,i.Section,{level:2,m:"-1rem",title:a.name||"Virus",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"times",color:"red",onClick:function(){return n("modal_close")}}),children:(0,o.createComponentVNode)(2,i.Box,{mx:"0.5rem",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Spread",children:[a.spread_text," Transmission"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Possible cure",children:a.antigen}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Rate of Progression",children:a.rate}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Antibiotic Resistance",children:[a.resistance,"%"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Species Affected",children:a.species}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Symptoms",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:a.symptoms.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.stage+". "+e.name,children:[(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:"label",children:"Strength:"})," ",e.strength,"\xa0",(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:"label",children:"Aggressiveness:"})," ",e.aggressiveness]},e.stage)}))})})]})})})}))},function(e,t,n){"use strict";t.__esModule=!0,t.MessageMonitor=void 0;var o=n(0),r=(n(5),n(6)),i=n(1),a=n(2),c=n(3),l=n(62),d=n(61);t.MessageMonitor=function(e,t){var n,r=(0,i.useBackend)(t),d=(r.act,r.data),p=d.auth,h=d.linkedServer,C=(d.message,d.hacking),f=d.emag;return n=C||f?(0,o.createComponentVNode)(2,u):p?h?(0,o.createComponentVNode)(2,m):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"ERROR"}):(0,o.createComponentVNode)(2,s),(0,o.createComponentVNode)(2,c.Window,{width:670,height:450,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,l.TemporaryNotice),n]})})};var u=function(e,t){var n=(0,i.useBackend)(t),r=(n.act,n.data.isMalfAI);return(0,o.createComponentVNode)(2,d.FullscreenNotice,{title:"ERROR",children:r?(0,o.createComponentVNode)(2,a.Box,{children:"Brute-forcing for server key. It will take 20 seconds for every character that the password has."}):(0,o.createComponentVNode)(2,a.Box,{children:["01000010011100100111010101110100011001010010110",(0,o.createVNode)(1,"br"),"10110011001101111011100100110001101101001011011100110011",(0,o.createVNode)(1,"br"),"10010000001100110011011110111001000100000011100110110010",(0,o.createVNode)(1,"br"),"10111001001110110011001010111001000100000011010110110010",(0,o.createVNode)(1,"br"),"10111100100101110001000000100100101110100001000000111011",(0,o.createVNode)(1,"br"),"10110100101101100011011000010000001110100011000010110101",(0,o.createVNode)(1,"br"),"10110010100100000001100100011000000100000011100110110010",(0,o.createVNode)(1,"br"),"10110001101101111011011100110010001110011001000000110011",(0,o.createVNode)(1,"br"),"00110111101110010001000000110010101110110011001010111001",(0,o.createVNode)(1,"br"),"00111100100100000011000110110100001100001011100100110000",(0,o.createVNode)(1,"br"),"10110001101110100011001010111001000100000011101000110100",(0,o.createVNode)(1,"br"),"00110000101110100001000000111010001101000011001010010000",(0,o.createVNode)(1,"br"),"00111000001100001011100110111001101110111011011110111001",(0,o.createVNode)(1,"br"),"00110010000100000011010000110000101110011001011100010000",(0,o.createVNode)(1,"br"),"00100100101101110001000000111010001101000011001010010000",(0,o.createVNode)(1,"br"),"00110110101100101011000010110111001110100011010010110110",(0,o.createVNode)(1,"br"),"10110010100101100001000000111010001101000011010010111001",(0,o.createVNode)(1,"br"),"10010000001100011011011110110111001110011011011110110110",(0,o.createVNode)(1,"br"),"00110010100100000011000110110000101101110001000000111001",(0,o.createVNode)(1,"br"),"00110010101110110011001010110000101101100001000000111100",(0,o.createVNode)(1,"br"),"10110111101110101011100100010000001110100011100100111010",(0,o.createVNode)(1,"br"),"10110010100100000011010010110111001110100011001010110111",(0,o.createVNode)(1,"br"),"00111010001101001011011110110111001110011001000000110100",(0,o.createVNode)(1,"br"),"10110011000100000011110010110111101110101001000000110110",(0,o.createVNode)(1,"br"),"00110010101110100001000000111001101101111011011010110010",(0,o.createVNode)(1,"br"),"10110111101101110011001010010000001100001011000110110001",(0,o.createVNode)(1,"br"),"10110010101110011011100110010000001101001011101000010111",(0,o.createVNode)(1,"br"),"00010000001001101011000010110101101100101001000000111001",(0,o.createVNode)(1,"br"),"10111010101110010011001010010000001101110011011110010000",(0,o.createVNode)(1,"br"),"00110100001110101011011010110000101101110011100110010000",(0,o.createVNode)(1,"br"),"00110010101101110011101000110010101110010001000000111010",(0,o.createVNode)(1,"br"),"00110100001100101001000000111001001101111011011110110110",(0,o.createVNode)(1,"br"),"10010000001100100011101010111001001101001011011100110011",(0,o.createVNode)(1,"br"),"10010000001110100011010000110000101110100001000000111010",(0,o.createVNode)(1,"br"),"001101001011011010110010100101110"]})})},s=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data.isMalfAI;return(0,o.createComponentVNode)(2,d.FullscreenNotice,{title:"Welcome",children:[(0,o.createComponentVNode)(2,a.Box,{fontSize:"1.5rem",bold:!0,children:[(0,o.createComponentVNode)(2,a.Icon,{name:"exclamation-triangle",verticalAlign:"middle",size:3,mr:"1rem"}),"Unauthorized"]}),(0,o.createComponentVNode)(2,a.Box,{color:"label",my:"1rem",children:["Decryption Key:",(0,o.createComponentVNode)(2,a.Input,{placeholder:"Decryption Key",ml:"0.5rem",onChange:function(e,t){return r("auth",{key:t})}})]}),!!c&&(0,o.createComponentVNode)(2,a.Button,{icon:"terminal",content:"Hack",onClick:function(){return r("hack")}}),(0,o.createComponentVNode)(2,a.Box,{color:"label",children:"Please authenticate with the server in order to show additional options."})]})},m=function(e,t){var n,r=(0,i.useBackend)(t),c=r.act,l=r.data.linkedServer,d=(0,i.useLocalState)(t,"tabIndex",0),u=d[0],s=d[1];return 0===u?n=(0,o.createComponentVNode)(2,p):1===u?n=(0,o.createComponentVNode)(2,h,{logs:l.pda_msgs,pda:!0}):2===u?n=(0,o.createComponentVNode)(2,h,{logs:l.rc_msgs,rc:!0}):3===u?n=(0,o.createComponentVNode)(2,C):4===u&&(n=(0,o.createComponentVNode)(2,f)),(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:0===u,onClick:function(){return s(0)},children:[(0,o.createComponentVNode)(2,a.Icon,{name:"bars"})," Main Menu"]},"Main"),(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:1===u,onClick:function(){return s(1)},children:[(0,o.createComponentVNode)(2,a.Icon,{name:"font"})," Message Logs"]},"MessageLogs"),(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:2===u,onClick:function(){return s(2)},children:[(0,o.createComponentVNode)(2,a.Icon,{name:"bold"})," Request Logs"]},"RequestLogs"),(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:3===u,onClick:function(){return s(3)},children:[(0,o.createComponentVNode)(2,a.Icon,{name:"comment-alt"})," Admin Messaging"]},"AdminMessage"),(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:4===u,onClick:function(){return s(4)},children:[(0,o.createComponentVNode)(2,a.Icon,{name:"comment-slash"})," Spam Filter"]},"SpamFilter"),(0,o.createComponentVNode)(2,a.Tabs.Tab,{color:"red",onClick:function(){return c("deauth")},children:[(0,o.createComponentVNode)(2,a.Icon,{name:"sign-out-alt"})," Log Out"]},"Logout")]}),(0,o.createComponentVNode)(2,a.Box,{m:2,children:n})],4)},p=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data.linkedServer;return(0,o.createComponentVNode)(2,a.Section,{title:"Main Menu",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"link",content:"Server Link",onClick:function(){return r("find")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:"Server "+(c.active?"Enabled":"Disabled"),selected:c.active,onClick:function(){return r("active")}})],4),children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Server Status",children:(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Good"})})}),(0,o.createComponentVNode)(2,a.Button,{mt:1,icon:"key",content:"Set Custom Key",onClick:function(){return r("pass")}}),(0,o.createComponentVNode)(2,a.Button.Confirm,{color:"red",confirmIcon:"exclamation-triangle",icon:"exclamation-triangle",content:"Clear Message Logs"}),(0,o.createComponentVNode)(2,a.Button.Confirm,{color:"red",confirmIcon:"exclamation-triangle",icon:"exclamation-triangle",content:"Clear Request Logs"})]})},h=function(e,t){var n=(0,i.useBackend)(t),c=n.act,l=(n.data,e.logs),d=e.pda,u=e.rc;return(0,o.createComponentVNode)(2,a.Section,{title:d?"PDA Logs":u?"Request Logs":"Logs",buttons:(0,o.createComponentVNode)(2,a.Button.Confirm,{color:"red",icon:"trash",confirmIcon:"trash",content:"Delete All",onClick:function(){return c(d?"del_pda":"del_rc")}}),children:(0,o.createComponentVNode)(2,a.Flex,{wrap:"wrap",children:l.map((function(e,t){return(0,o.createComponentVNode)(2,a.Flex.Item,{m:"2px",basis:"49%",grow:t%2,children:(0,o.createComponentVNode)(2,a.Section,{title:e.sender+" -> "+e.recipient,buttons:(0,o.createComponentVNode)(2,a.Button.Confirm,{confirmContent:"Delete Log?",color:"bad",icon:"trash",confirmIcon:"trash",onClick:function(){return c("delete",{id:e.ref,type:u?"rc":"pda"})}}),children:u?(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Message",children:e.message}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Verification",color:"Unauthenticated"===e.id_auth?"bad":"good",children:(0,r.decodeHtmlEntities)(e.id_auth)}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Stamp",children:e.stamp})]}):e.message})},e.ref)}))})})},C=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data,l=c.possibleRecipients,d=c.customsender,u=c.customrecepient,s=c.customjob,m=c.custommessage,p=Object.keys(l);return(0,o.createComponentVNode)(2,a.Section,{title:"Admin Messaging",children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Sender",children:(0,o.createComponentVNode)(2,a.Input,{fluid:!0,value:d,onChange:function(e,t){return r("set_sender",{val:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Sender's Job",children:(0,o.createComponentVNode)(2,a.Input,{fluid:!0,value:s,onChange:function(e,t){return r("set_sender_job",{val:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Recipient",children:(0,o.createComponentVNode)(2,a.Dropdown,{value:u,options:p,width:"100%",mb:-.7,onSelected:function(e){return r("set_recipient",{val:l[e]})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Message",verticalAlign:"top",children:(0,o.createComponentVNode)(2,a.Input,{fluid:!0,mb:.5,value:m,onChange:function(e,t){return r("set_message",{val:t})}})})]}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"comment",content:"Send Message",onClick:function(){return r("send_message")}})]})},f=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data.linkedServer;return(0,o.createComponentVNode)(2,a.Section,{title:"Spam Filtering",children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:c.spamFilter.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.index,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"trash",color:"bad",content:"Delete",onClick:function(){return r("deltoken",{deltoken:e.index})}}),children:e.token},e.index)}))}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Add New Entry",onClick:function(){return r("addtoken")}})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Microwave=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.Microwave=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.config,d=n.data,u=d.broken,s=d.operating,m=d.dirty,p=d.items;return(0,o.createComponentVNode)(2,a.Window,{width:400,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:u&&(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Bzzzzttttt!!"})})||s&&(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Box,{color:"good",children:["Microwaving in progress!",(0,o.createVNode)(1,"br"),"Please wait...!"]})})||m&&(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:["This microwave is dirty!",(0,o.createVNode)(1,"br"),"Please clean it before use!"]})})||p.length&&(0,o.createComponentVNode)(2,i.Section,{level:1,title:"Ingredients",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"radiation",onClick:function(){return c("cook")},children:"Microwave"}),(0,o.createComponentVNode)(2,i.Button,{icon:"eject",onClick:function(){return c("dispose")},children:"Eject"})],4),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:p.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,children:[e.amt," ",e.extra]},e.name)}))})})||(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:[l.title," is empty."]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.MiningOreProcessingConsole=void 0;var o=n(0),r=n(6),i=n(1),a=n(2),c=n(3),l=(n(8),n(193));t.MiningOreProcessingConsole=function(e,t){var n=(0,i.useBackend)(t),r=n.act,d=n.data,u=d.unclaimedPoints,s=(d.ores,d.showAllOres,d.power),p=d.speed;return(0,o.createComponentVNode)(2,c.Window,{width:400,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(0,o.createComponentVNode)(2,l.MiningUser,{insertIdText:(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-right",mr:1,onClick:function(){return r("insert")},children:"Insert ID"}),"in order to claim points."]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"bolt",selected:p,onClick:function(){return r("speed_toggle")},children:p?"High-Speed Active":"High-Speed Inactive"}),(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",selected:s,onClick:function(){return r("power")},children:s?"Smelting":"Not Smelting"})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current unclaimed points",buttons:(0,o.createComponentVNode)(2,a.Button,{disabled:u<1,icon:"download",onClick:function(){return r("claim")},children:"Claim"}),children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:u})})})}),(0,o.createComponentVNode)(2,m)]})})};var d=["Not Processing","Smelting","Compressing","Alloying"],u=["verdantium","mhydrogen","diamond","platinum","uranium","gold","silver","rutile","phoron","marble","lead","sand","carbon","hematite"],s=function(e,t){return-1===u.indexOf(e.ore)||-1===u.indexOf(t.ore)?e.ore-t.ore:u.indexOf(t.ore)-u.indexOf(e.ore)},m=function(e,t){var n=(0,i.useBackend)(t),c=n.act,l=n.data,u=l.ores,m=l.showAllOres;l.power;return(0,o.createComponentVNode)(2,a.Section,{title:"Ore Processing Controls",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:m?"toggle-on":"toggle-off",selected:m,onClick:function(){return c("showAllOres")},children:m?"All Ores":"Ores in Machine"}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:u.length&&u.sort(s).map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:(0,r.toTitleCase)(e.name),buttons:(0,o.createComponentVNode)(2,a.Dropdown,{width:"120px",color:(0===e.processing?"red":1===e.processing&&"green")||2===e.processing&&"blue"||3===e.processing&&"yellow",options:d,selected:d[e.processing],onSelected:function(t){return c("toggleSmelting",{ore:e.ore,set:d.indexOf(t)})}}),children:(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:e.amount})})},e.ore)}))||(0,o.createComponentVNode)(2,a.Box,{color:"bad",textAlign:"center",children:"No ores in machine."})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.MiningStackingConsole=void 0;var o=n(0),r=n(6),i=n(1),a=n(2),c=n(3);n(8);t.MiningStackingConsole=function(e,t){var n=(0,i.useBackend)(t),l=n.act,d=n.data,u=d.stacktypes,s=d.stackingAmt;return(0,o.createComponentVNode)(2,c.Window,{width:400,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Stacker Controls",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Stacking",children:(0,o.createComponentVNode)(2,a.NumberInput,{fluid:!0,value:s,minValue:1,maxValue:50,stepPixelSize:5,onChange:function(e,t){return l("change_stack",{amt:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),u.length&&u.sort().map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:(0,r.toTitleCase)(e.type),buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",onClick:function(){return l("release_stack",{stack:e.type})},children:"Eject"}),children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:e.amt})},e.type)}))||(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Empty",color:"average",children:"No stacks in machine."})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.MiningVendor=void 0;var o=n(0),r=n(6),i=n(1),a=n(2),c=n(3),l=n(193);var d={Alphabetical:function(e,t){return e-t},"By availability":function(e,t){return-(e.affordable-t.affordable)},"By price":function(e,t){return e.price-t.price}};t.MiningVendor=function(e,t){return(0,o.createComponentVNode)(2,c.Window,{width:400,height:450,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{className:"Layout__content--flexColumn",scrollable:!0,children:[(0,o.createComponentVNode)(2,l.MiningUser,{insertIdText:"Please insert an ID in order to make purchases."}),(0,o.createComponentVNode)(2,s),(0,o.createComponentVNode)(2,u)]})})};var u=function(e,t){var n=(0,i.useBackend)(t),l=(n.act,n.data),u=l.has_id,s=l.id,p=l.items,h=(0,i.useLocalState)(t,"search",""),C=h[0],f=(h[1],(0,i.useLocalState)(t,"sort","Alphabetical")),N=f[0],b=(f[1],(0,i.useLocalState)(t,"descending",!1)),V=b[0],g=(b[1],(0,r.createSearch)(C,(function(e){return e[0]}))),v=!1,_=Object.entries(p).map((function(e,t){var n=Object.entries(e[1]).filter(g).map((function(e){return e[1].affordable=u&&s.points>=e[1].price,e[1]})).sort(d[N]);if(0!==n.length)return V&&(n=n.reverse()),v=!0,(0,o.createComponentVNode)(2,m,{title:e[0],items:n},e[0])}));return(0,o.createComponentVNode)(2,a.Flex.Item,{grow:"1",overflow:"auto",children:(0,o.createComponentVNode)(2,a.Section,{onClick:function(e){return(0,c.refocusLayout)()},children:v?_:(0,o.createComponentVNode)(2,a.Box,{color:"label",children:"No items matching your criteria was found!"})})})},s=function(e,t){var n=(0,i.useLocalState)(t,"search",""),r=(n[0],n[1]),c=(0,i.useLocalState)(t,"sort",""),l=(c[0],c[1]),u=(0,i.useLocalState)(t,"descending",!1),s=u[0],m=u[1];return(0,o.createComponentVNode)(2,a.Box,{mb:"0.5rem",children:(0,o.createComponentVNode)(2,a.Flex,{width:"100%",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{grow:"1",mr:"0.5rem",children:(0,o.createComponentVNode)(2,a.Input,{placeholder:"Search by item name..",width:"100%",onInput:function(e,t){return r(t)}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{basis:"30%",children:(0,o.createComponentVNode)(2,a.Dropdown,{selected:"Alphabetical",options:Object.keys(d),width:"100%",lineHeight:"19px",onSelected:function(e){return l(e)}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Button,{icon:s?"arrow-down":"arrow-up",height:"19px",tooltip:s?"Descending order":"Ascending order",tooltipPosition:"bottom-left",ml:"0.5rem",onClick:function(){return m(!s)}})})]})})},m=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data,l=e.title,d=e.items,u=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["title","items"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Collapsible,Object.assign({open:!0,title:l},u,{children:d.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Box,{display:"inline-block",verticalAlign:"middle",lineHeight:"20px",style:{float:"left"},children:e.name}),(0,o.createComponentVNode)(2,a.Button,{disabled:!c.has_id||c.id.points=450?"Overcharged":e>=250?"Good Charge":"Low Charge":e>=250?"NIF Power Requirement met.":e>=150?"Fluctuations in available power.":"Power failure imminent."},u=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=(n.config,n.data),u=c.nif_percent,s=c.nif_stat,m=(c.last_notification,c.nutrition),p=c.isSynthetic,h=c.modules,C=e.setViewing;return(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"NIF Condition",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:u,minValue:0,maxValue:100,ranges:{good:[50,Infinity],average:[25,50],bad:[-Infinity,0]},children:[l(s,u)," (",(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:u}),"%)"]})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"NIF Power",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:m,minValue:0,maxValue:700,ranges:{good:[250,Infinity],average:[150,250],bad:[0,150]},children:d(m,p)})})]}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"NIFSoft Modules",mt:1,children:(0,o.createComponentVNode)(2,i.LabeledList,{children:h.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button.Confirm,{icon:"trash",color:"bad",confirmContent:"UNINSTALL?",confirmIcon:"trash",tooltip:"Uninstall Module",tooltipPosition:"left",onClick:function(){return a("uninstall",{module:e.ref})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"search",onClick:function(){return C(e)},tooltip:"View Information",tooltipPosition:"left"})],4),children:e.activates&&(0,o.createComponentVNode)(2,i.Button,{fluid:!0,selected:e.active,content:e.stat_text,onClick:function(){return a("toggle_module",{module:e.ref})}})||(0,o.createComponentVNode)(2,i.Box,{children:e.stat_text})},e.ref)}))})})]})},s=function(e,t){var n=(0,r.useBackend)(t),a=n.act,l=n.data.theme;return(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"NIF Theme",verticalAlign:"top",children:(0,o.createComponentVNode)(2,i.Dropdown,{width:"100%",placeholder:"Default",selected:l,options:c,onSelected:function(e){return a("setTheme",{theme:e})}})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NTNetRelay=void 0;var o=n(0),r=n(1),i=n(2),a=n(3),c=n(61);t.NTNetRelay=function(e,t){var n=(0,r.useBackend)(t),i=(n.act,n.data),c=i.dos_crashed,u=(i.enabled,i.dos_overload,i.dos_capacity,(0,o.createComponentVNode)(2,l));return c&&(u=(0,o.createComponentVNode)(2,d)),(0,o.createComponentVNode)(2,a.Window,{width:c?700:500,height:c?600:300,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:u})})};var l=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=(c.dos_crashed,c.enabled),d=c.dos_overload,u=c.dos_capacity;return(0,o.createComponentVNode)(2,i.Section,{title:"Status",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",selected:l,content:"Relay "+(l?"On":"Off"),onClick:function(){return a("toggle")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Network Buffer Status",children:[d," / ",u," GQ"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Options",children:(0,o.createComponentVNode)(2,i.Button,{icon:"exclamation-triangle",content:"Purge network blacklist",onClick:function(){return a("purge")}})})]})})},d=function(e,t){var n=(0,r.useBackend)(t),a=n.act;n.data;return(0,o.createComponentVNode)(2,c.FullscreenNotice,{title:"ERROR",children:[(0,o.createComponentVNode)(2,i.Box,{fontSize:"1.5rem",bold:!0,color:"bad",children:[(0,o.createComponentVNode)(2,i.Icon,{name:"exclamation-triangle",verticalAlign:"middle",size:3,mr:"1rem"}),(0,o.createVNode)(1,"h2",null,"NETWORK BUFFERS OVERLOADED",16),(0,o.createVNode)(1,"h3",null,"Overload Recovery Mode",16),(0,o.createVNode)(1,"i",null,"This system is suffering temporary outage due to overflow of traffic buffers. Until buffered traffic is processed, all further requests will be dropped. Frequent occurences of this error may indicate insufficient hardware capacity of your network. Please contact your network planning department for instructions on how to resolve this issue.",16),(0,o.createVNode)(1,"h3",null,"ADMINISTRATIVE OVERRIDE",16),(0,o.createVNode)(1,"b",null," CAUTION - Data loss may occur ",16)]}),(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"exclamation-triangle",content:"Purge buffered traffic",onClick:function(){return a("restart")}})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Newscaster=void 0;var o=n(0),r=n(6),i=n(1),a=n(2),c=n(3),l=n(62);t.Newscaster=function(e,t){var n=(0,i.useBackend)(t),r=(n.act,n.data);r.screen,r.user;return(0,o.createComponentVNode)(2,c.Window,{width:600,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,l.TemporaryNotice,{decode:!0}),(0,o.createComponentVNode)(2,d)]})})};var d=function(e,t){var n=(0,i.useBackend)(t),r=(n.act,n.data.user,(0,i.useSharedState)(t,"screen","Main Menu")),c=r[0],l=r[1],d=u[c];return(0,o.createComponentVNode)(2,a.Box,{children:(0,o.createComponentVNode)(2,d,{setScreen:l})})},u={"Main Menu":function(e,t){var n=(0,i.useBackend)(t),r=(n.act,n.data),c=r.securityCaster,l=r.wanted_issue,d=e.setScreen;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Main Menu",children:[l&&(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"eye",onClick:function(){return d("View Wanted")},color:"bad",children:"Read WANTED Issue"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"eye",onClick:function(){return d("View List")},children:"View Feed Channels"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"plus",onClick:function(){return d("New Channel")},children:"Create Feed Channel"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"plus",onClick:function(){return d("New Story")},children:"Create Feed Message"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"print",onClick:function(){return d("Print")},children:"Print Newspaper"})]}),!!c&&(0,o.createComponentVNode)(2,a.Section,{title:"Feed Security Functions",children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"plus",onClick:function(){return d("New Wanted")},children:'Manage "Wanted" Issue'})})],0)},"New Channel":function(e,t){var n=(0,i.useBackend)(t),c=n.act,l=n.data,d=l.channel_name,u=l.c_locked,s=l.user,m=e.setScreen;return(0,o.createComponentVNode)(2,a.Section,{title:"Creating new Feed Channel",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"undo",onClick:function(){return m("Main Menu")},children:"Back"}),children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Channel Name",children:(0,o.createComponentVNode)(2,a.Input,{fluid:!0,value:(0,r.decodeHtmlEntities)(d),onInput:function(e,t){return c("set_channel_name",{val:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Channel Author",color:"good",children:s}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Accept Public Feeds",children:(0,o.createComponentVNode)(2,a.Button,{icon:u?"lock":"lock-open",selected:!u,onClick:function(){return c("set_channel_lock")},children:u?"No":"Yes"})})]}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,color:"good",icon:"plus",onClick:function(){return c("submit_new_channel")},children:"Submit Channel"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,color:"bad",icon:"undo",onClick:function(){return m("Main Menu")},children:"Cancel"})]})},"View List":function(e,t){var n=(0,i.useBackend)(t),c=n.act,l=n.data.channels,d=e.setScreen;return(0,o.createComponentVNode)(2,a.Section,{title:"Station Feed Channels",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"undo",onClick:function(){return d("Main Menu")},children:"Back"}),children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"eye",color:e.admin?"good":e.censored?"bad":"",onClick:function(){c("show_channel",{show_channel:e.ref}),d("View Selected Channel")},children:(0,r.decodeHtmlEntities)(e.name)},e.name)}))})},"New Story":function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data,l=c.channel_name,d=c.user,u=c.msg,s=c.photo_data,m=e.setScreen;return(0,o.createComponentVNode)(2,a.Section,{title:"Creating new Feed Message...",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"undo",onClick:function(){return m("Main Menu")},children:"Back"}),children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Receiving Channel",children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,onClick:function(){return r("set_channel_receiving")},children:l||"Unset"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Message Author",color:"good",children:d}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Message Body",verticalAlign:"top",children:(0,o.createComponentVNode)(2,a.Flex,{children:[(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,a.Section,{width:"99%",inline:!0,children:u||"(no message yet)"})}),(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Button,{verticalAlign:"top",onClick:function(){return r("set_new_message")},icon:"pen",tooltip:"Edit Message",tooltipPosition:"left"})})]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Attach Photo",children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"image",onClick:function(){return r("set_attachment")},children:s?"Photo Attached":"No Photo"})})]}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,color:"good",icon:"plus",onClick:function(){return r("submit_new_message")},children:"Submit Message"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,color:"bad",icon:"undo",onClick:function(){return m("Main Menu")},children:"Cancel"})]})},Print:function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data,l=c.total_num,d=c.active_num,u=c.message_num,s=c.paper_remaining,m=e.setScreen;return(0,o.createComponentVNode)(2,a.Section,{title:"Printing",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"undo",onClick:function(){return m("Main Menu")},children:"Back"}),children:[(0,o.createComponentVNode)(2,a.Box,{color:"label",mb:1,children:["Newscaster currently serves a total of ",l," Feed channels, ",d," of which are active, and a total of ",u," Feed stories."]}),(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Liquid Paper remaining",children:[100*s," cm\xb3"]})}),(0,o.createComponentVNode)(2,a.Button,{mt:1,fluid:!0,color:"good",icon:"plus",onClick:function(){return r("print_paper")},children:"Print Paper"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,color:"bad",icon:"undo",onClick:function(){return m("Main Menu")},children:"Cancel"})]})},"New Wanted":function(e,t){var n=(0,i.useBackend)(t),c=n.act,l=n.data,d=l.channel_name,u=l.msg,s=l.photo_data,m=l.user,p=l.wanted_issue,h=e.setScreen;return(0,o.createComponentVNode)(2,a.Section,{title:"Wanted Issue Handler",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"undo",onClick:function(){return h("Main Menu")},children:"Back"}),children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:[!!p&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Already In Circulation",children:"A wanted issue is already in circulation. You can edit or cancel it below."}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Criminal Name",children:(0,o.createComponentVNode)(2,a.Input,{fluid:!0,value:(0,r.decodeHtmlEntities)(d),onInput:function(e,t){return c("set_channel_name",{val:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Description",children:(0,o.createComponentVNode)(2,a.Input,{fluid:!0,value:(0,r.decodeHtmlEntities)(u),onInput:function(e,t){return c("set_wanted_desc",{val:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Attach Photo",children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"image",onClick:function(){return c("set_attachment")},children:s?"Photo Attached":"No Photo"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Prosecutor",color:"good",children:m})]}),(0,o.createComponentVNode)(2,a.Button,{mt:1,fluid:!0,color:"good",icon:"plus",onClick:function(){return c("submit_wanted")},children:"Submit Wanted Issue"}),!!p&&(0,o.createComponentVNode)(2,a.Button,{fluid:!0,color:"average",icon:"minus",onClick:function(){return c("cancel_wanted")},children:"Take Down Issue"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,color:"bad",icon:"undo",onClick:function(){return h("Main Menu")},children:"Cancel"})]})},"View Wanted":function(e,t){var n=(0,i.useBackend)(t),c=(n.act,n.data.wanted_issue),l=e.setScreen;return c?(0,o.createComponentVNode)(2,a.Section,{title:"--STATIONWIDE WANTED ISSUE--",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"undo",onClick:function(){return l("Main Menu")},children:"Back"}),children:(0,o.createComponentVNode)(2,a.Box,{color:"white",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Submitted by",color:"good",children:(0,r.decodeHtmlEntities)(c.author)}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Criminal",children:(0,r.decodeHtmlEntities)(c.criminal)}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Description",children:(0,r.decodeHtmlEntities)(c.desc)}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Photo",children:c.img&&(0,o.createVNode)(1,"img",null,null,1,{src:c.img})||"None"})]})})}):(0,o.createComponentVNode)(2,a.Section,{title:"No Outstanding Wanted Issues",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"undo",onClick:function(){return l("Main Menu")},children:"Back"}),children:"There are no wanted issues currently outstanding."})},"View Selected Channel":function(e,t){var n=(0,i.useBackend)(t),c=n.act,l=n.data,d=l.viewing_channel,u=l.securityCaster,s=l.company,m=e.setScreen;return d?(0,o.createComponentVNode)(2,a.Section,{title:(0,r.decodeHtmlEntities)(d.name),buttons:(0,o.createFragment)([!!u&&(0,o.createComponentVNode)(2,a.Button.Confirm,{color:"bad",icon:"ban",confirmIcon:"ban",content:"Issue D-Notice",onClick:function(){return c("toggle_d_notice",{ref:d.ref})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"undo",onClick:function(){return m("View List")},children:"Back"})],0),children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Channel Created By",children:u&&(0,o.createComponentVNode)(2,a.Button.Confirm,{color:"bad",icon:"strikethrough",confirmIcon:"strikethrough",content:(0,r.decodeHtmlEntities)(d.author),tooltip:"Censor?",confirmContent:"Censor Author",onClick:function(){return c("censor_channel_author",{ref:d.ref})}})||(0,o.createComponentVNode)(2,a.Box,{children:(0,r.decodeHtmlEntities)(d.author)})})}),!!d.censored&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:["ATTENTION: This channel has been deemed as threatening to the welfare of the station, and marked with a ",s," D-Notice. No further feed story additions are allowed while the D-Notice is in effect."]}),!!d.messages.length&&d.messages.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{children:["- ",(0,r.decodeHtmlEntities)(e.body),!!e.img&&(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createVNode)(1,"img",null,null,1,{src:"data:image/png;base64,"+e.img}),(0,r.decodeHtmlEntities)(e.caption)||null]}),(0,o.createComponentVNode)(2,a.Box,{color:"grey",children:["[Story by ",(0,r.decodeHtmlEntities)(e.author)," - ",e.timestamp,"]"]}),!!u&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button.Confirm,{mt:1,color:"bad",icon:"strikethrough",confirmIcon:"strikethrough",content:"Censor Story",onClick:function(){return c("censor_channel_story_body",{ref:e.ref})}}),(0,o.createComponentVNode)(2,a.Button.Confirm,{color:"bad",icon:"strikethrough",confirmIcon:"strikethrough",content:"Censor Author",onClick:function(){return c("censor_channel_story_author",{ref:e.ref})}})],4)]},e.ref)}))||!d.censored&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No feed messages found in channel."})]}):(0,o.createComponentVNode)(2,a.Section,{title:"Channel Not Found",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"undo",onClick:function(){return m("View List")},children:"Back"}),children:"The channel you were looking for no longer exists."})}}},function(e,t,n){"use strict";t.__esModule=!0,t.NoticeBoard=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.NoticeBoard=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data.notices;return(0,o.createComponentVNode)(2,a.Window,{width:330,height:300,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:(0,o.createComponentVNode)(2,i.Section,{children:l.length?(0,o.createComponentVNode)(2,i.LabeledList,{children:l.map((function(e,t){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,children:[e.isphoto&&(0,o.createComponentVNode)(2,i.Button,{icon:"image",content:"Look",onClick:function(){return c("look",{ref:e.ref})}})||e.ispaper&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"sticky-note",content:"Read",onClick:function(){return c("read",{ref:e.ref})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"pen",content:"Write",onClick:function(){return c("write",{ref:e.ref})}})],4)||"Unknown Entity",(0,o.createComponentVNode)(2,i.Button,{icon:"minus-circle",content:"Remove",onClick:function(){return c("remove",{ref:e.ref})}})]},t)}))}):(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"No notices posted here."})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosAccessDecrypter=void 0;var o=n(0),r=n(1),i=n(3),a=n(133),c=n(2);t.NtosAccessDecrypter=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.message,s=d.running,m=d.rate,p=d.factor,h=d.regions,C=function(e){for(var t="";t.lengthp?t+="0":t+="1";return t};return(0,o.createComponentVNode)(2,i.NtosWindow,{width:600,height:600,theme:"syndicate",children:(0,o.createComponentVNode)(2,i.NtosWindow.Content,{children:u&&(0,o.createComponentVNode)(2,c.NoticeBox,{children:u})||s&&(0,o.createComponentVNode)(2,c.Section,{children:["Attempting to decrypt network access codes. Please wait. Rate: ",m," PHash/s",(0,o.createComponentVNode)(2,c.Box,{children:C(45)}),(0,o.createComponentVNode)(2,c.Box,{children:C(45)}),(0,o.createComponentVNode)(2,c.Box,{children:C(45)}),(0,o.createComponentVNode)(2,c.Box,{children:C(45)}),(0,o.createComponentVNode)(2,c.Box,{children:C(45)}),(0,o.createComponentVNode)(2,c.Button,{fluid:!0,icon:"ban",onClick:function(){return l("PRG_reset")},children:"Abort"})]})||(0,o.createComponentVNode)(2,c.Section,{title:"Pick access code to decrypt",children:h.length&&(0,o.createComponentVNode)(2,a.IdentificationComputerRegions,{actName:"PRG_execute"})||(0,o.createComponentVNode)(2,c.Box,{children:"Please insert ID card."})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosArcade=void 0;var o=n(0),r=n(75),i=n(1),a=n(2),c=n(3);t.NtosArcade=function(e,t){var n=(0,i.useBackend)(t),l=n.act,d=n.data;return(0,o.createComponentVNode)(2,c.NtosWindow,{width:450,height:350,children:(0,o.createComponentVNode)(2,c.NtosWindow.Content,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Outbomb Cuban Pete Ultra",textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:2,children:[(0,o.createComponentVNode)(2,a.Box,{m:1}),(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Player Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:d.PlayerHitpoints,minValue:0,maxValue:30,ranges:{olive:[31,Infinity],good:[20,31],average:[10,20],bad:[-Infinity,10]},children:[d.PlayerHitpoints,"HP"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Player Magic",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:d.PlayerMP,minValue:0,maxValue:10,ranges:{purple:[11,Infinity],violet:[3,11],bad:[-Infinity,3]},children:[d.PlayerMP,"MP"]})})]}),(0,o.createComponentVNode)(2,a.Box,{my:1,mx:4}),(0,o.createComponentVNode)(2,a.Section,{backgroundColor:1===d.PauseState?"#1b3622":"#471915",children:d.Status})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:d.Hitpoints,minValue:0,maxValue:45,ranges:{good:[30,Infinity],average:[5,30],bad:[-Infinity,5]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:d.Hitpoints}),"HP"]}),(0,o.createComponentVNode)(2,a.Box,{m:1}),(0,o.createComponentVNode)(2,a.Section,{inline:!0,width:"156px",textAlign:"center",children:(0,o.createVNode)(1,"img",null,null,1,{src:(0,r.resolveAsset)(d.BossID)})})]})]}),(0,o.createComponentVNode)(2,a.Box,{my:1,mx:4}),(0,o.createComponentVNode)(2,a.Button,{icon:"fist-raised",tooltip:"Go in for the kill!",tooltipPosition:"top",disabled:0===d.GameActive||1===d.PauseState,onClick:function(){return l("Attack")},content:"Attack!"}),(0,o.createComponentVNode)(2,a.Button,{icon:"band-aid",tooltip:"Heal yourself!",tooltipPosition:"top",disabled:0===d.GameActive||1===d.PauseState,onClick:function(){return l("Heal")},content:"Heal!"}),(0,o.createComponentVNode)(2,a.Button,{icon:"magic",tooltip:"Recharge your magic!",tooltipPosition:"top",disabled:0===d.GameActive||1===d.PauseState,onClick:function(){return l("Recharge_Power")},content:"Recharge!"})]}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"sync-alt",tooltip:"One more game couldn't hurt.",tooltipPosition:"top",disabled:1===d.GameActive,onClick:function(){return l("Start_Game")},content:"Begin Game"}),(0,o.createComponentVNode)(2,a.Button,{icon:"ticket-alt",tooltip:"Claim at your local Arcade Computer for Prizes!",tooltipPosition:"top",disabled:1===d.GameActive,onClick:function(){return l("Dispense_Tickets")},content:"Claim Tickets"})]}),(0,o.createComponentVNode)(2,a.Box,{color:d.TicketCount>=1?"good":"normal",children:["Earned Tickets: ",d.TicketCount]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosAtmosControl=void 0;var o=n(0),r=n(3),i=n(186);t.NtosAtmosControl=function(){return(0,o.createComponentVNode)(2,r.NtosWindow,{width:870,height:708,resizable:!0,children:(0,o.createComponentVNode)(2,r.NtosWindow.Content,{children:(0,o.createComponentVNode)(2,i.AtmosControlContent)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosCameraConsole=void 0;var o=n(0),r=n(3),i=n(187);t.NtosCameraConsole=function(){return(0,o.createComponentVNode)(2,r.NtosWindow,{width:870,height:708,resizable:!0,children:(0,o.createComponentVNode)(2,r.NtosWindow.Content,{children:(0,o.createComponentVNode)(2,i.CameraConsoleContent)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosCommunicationsConsole=void 0;var o=n(0),r=n(1),i=n(3),a=n(189);t.NtosCommunicationsConsole=function(e,t){var n=(0,r.useBackend)(t);n.act,n.data;return(0,o.createComponentVNode)(2,i.NtosWindow,{width:400,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,i.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.CommunicationsConsoleContent)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosConfiguration=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.NtosConfiguration=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.PC_device_theme,u=l.power_usage,s=l.battery_exists,m=l.battery,p=void 0===m?{}:m,h=l.disk_size,C=l.disk_used,f=l.hardware,N=void 0===f?[]:f;return(0,o.createComponentVNode)(2,a.NtosWindow,{theme:d,width:520,height:630,resizable:!0,children:(0,o.createComponentVNode)(2,a.NtosWindow.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Power Supply",buttons:(0,o.createComponentVNode)(2,i.Box,{inline:!0,bold:!0,mr:1,children:["Power Draw: ",u,"W"]}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Battery Status",color:!s&&"average",children:s?(0,o.createComponentVNode)(2,i.ProgressBar,{value:p.charge,minValue:0,maxValue:p.max,ranges:{good:[p.max/2,Infinity],average:[p.max/4,p.max/2],bad:[-Infinity,p.max/4]},children:[p.charge," / ",p.max]}):"Not Available"})})}),(0,o.createComponentVNode)(2,i.Section,{title:"File System",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:C,minValue:0,maxValue:h,color:"good",children:[C," GQ / ",h," GQ"]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Hardware Components",children:N.map((function(e){return(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,buttons:(0,o.createFragment)([!e.critical&&(0,o.createComponentVNode)(2,i.Button.Checkbox,{content:"Enabled",checked:e.enabled,mr:1,onClick:function(){return c("PC_toggle_component",{name:e.name})}}),(0,o.createComponentVNode)(2,i.Box,{inline:!0,bold:!0,mr:1,children:["Power Usage: ",e.powerusage,"W"]})],0),children:e.desc},e.name)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosCrewMonitor=void 0;var o=n(0),r=n(3),i=n(190);t.NtosCrewMonitor=function(){return(0,o.createComponentVNode)(2,r.NtosWindow,{width:800,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,r.NtosWindow.Content,{children:(0,o.createComponentVNode)(2,i.CrewMonitorContent)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosDigitalWarrant=void 0;var o=n(0),r=n(1),i=n(2),a=n(3),c=n(8);t.NtosDigitalWarrant=function(e,t){var n=(0,r.useBackend)(t),i=(n.act,n.data),c=(i.warrantname,i.warrantcharges,i.warrantauth),d=(i.type,i.allwarrants,(0,o.createComponentVNode)(2,l));return c&&(d=(0,o.createComponentVNode)(2,u)),(0,o.createComponentVNode)(2,a.NtosWindow,{width:500,height:350,resizable:!0,children:(0,o.createComponentVNode)(2,a.NtosWindow.Content,{scrollable:!0,children:d})})};var l=function(e,t){var n=(0,r.useBackend)(t),a=n.act;n.data.allwarrants;return(0,o.createComponentVNode)(2,i.Section,{title:"Warrants",children:[(0,o.createComponentVNode)(2,i.Button,{icon:"plus",fluid:!0,onClick:function(){return a("addwarrant")},children:"Create New Warrant"}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Arrest Warrants",children:(0,o.createComponentVNode)(2,d,{type:"arrest"})}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Search Warrants",children:(0,o.createComponentVNode)(2,d,{type:"search"})})]})},d=function(e,t){var n=(0,r.useBackend)(t),a=n.act,l=n.data,d=e.type,u=l.allwarrants,s=(0,c.filter)((function(e){return e.arrestsearch===d}))(u);return(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"arrest"===d?"Name":"Location"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:"arrest"===d?"Charges":"Reason"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Authorized By"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:"Edit"})]}),s.length&&s.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.warrantname}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.charges}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.auth}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,i.Button,{icon:"pen",onClick:function(){return a("editwarrant",{id:e.id})}})})]},e.id)}))||(0,o.createComponentVNode)(2,i.Table.Row,{children:(0,o.createComponentVNode)(2,i.Table.Cell,{colspan:"3",color:"bad",children:["No ",d," warrants found."]})})]})},u=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.warrantname,d=c.warrantcharges,u=c.warrantauth,s=c.type,m="arrest"===s,p="arrest"===s?"Name":"Location",h="arrest"===s?"Charges":"Reason";return(0,o.createComponentVNode)(2,i.Section,{title:m?"Editing Arrest Warrant":"Editing Search Warrant",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"save",onClick:function(){return a("savewarrant")},children:"Save"}),(0,o.createComponentVNode)(2,i.Button,{color:"bad",icon:"trash",onClick:function(){return a("deletewarrant")},children:"Delete"}),(0,o.createComponentVNode)(2,i.Button,{icon:"undo",onClick:function(){return a("back")},children:"Back"})],4),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:p,buttons:m&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"search",onClick:function(){return a("editwarrantname")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"pen",onClick:function(){return a("editwarrantnamecustom")}})],4)||(0,o.createComponentVNode)(2,i.Button,{icon:"pen",onClick:function(){return a("editwarrantnamecustom")}}),children:l}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:h,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"pen",onClick:function(){return a("editwarrantcharges")}}),children:d}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Authorized By",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"balance-scale",onClick:function(){return a("editwarrantauth")}}),children:u})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosEmailAdministration=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3),c=n(194);t.NtosEmailAdministration=function(e,t){var n=(0,r.useBackend)(t),i=(n.act,n.data),c=i.error,m=i.cur_title,p=i.current_account,h=(0,o.createComponentVNode)(2,l);return c?h=(0,o.createComponentVNode)(2,d):m?h=(0,o.createComponentVNode)(2,u):p&&(h=(0,o.createComponentVNode)(2,s)),(0,o.createComponentVNode)(2,a.NtosWindow,{width:600,height:450,resizable:!0,children:(0,o.createComponentVNode)(2,a.NtosWindow.Content,{scrollable:!0,children:h})})};var l=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data.accounts;return(0,o.createComponentVNode)(2,i.Section,{title:"Welcome to the NTNet Email Administration System",children:[(0,o.createComponentVNode)(2,i.Box,{italic:!0,mb:1,children:"SECURE SYSTEM - Have your identification ready"}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"plus",onClick:function(){return a("newaccount")},children:"Create New Account"}),(0,o.createComponentVNode)(2,i.Box,{bold:!0,mt:1,mb:1,children:"Select account to administrate"}),c.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"eye",onClick:function(){return a("viewaccount",{viewaccount:e.uid})},children:e.login},e.uid)}))]})},d=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data.error;return(0,o.createComponentVNode)(2,i.Section,{title:"Message",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"undo",onClick:function(){return a("back")},children:"Back"}),children:c})},u=function(e,t){var n=(0,r.useBackend)(t);n.act,n.data;return(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,c.NtosEmailClientViewMessage,{administrator:!0})})},s=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=(c.error,c.msg_title,c.msg_body,c.msg_timestamp,c.msg_source,c.current_account),d=c.cur_suspended,u=c.messages;c.accounts;return(0,o.createComponentVNode)(2,i.Section,{title:"Viewing "+l+" in admin mode",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"undo",onClick:function(){return a("back")},children:"Back"}),children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Account Status",children:(0,o.createComponentVNode)(2,i.Button,{color:d?"bad":"",icon:"ban",tooltip:(d?"Uns":"S")+"uspend Account?",onClick:function(){return a("ban")},children:d?"Suspended":"Normal"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Actions",children:(0,o.createComponentVNode)(2,i.Button,{icon:"key",onClick:function(){return a("changepass")},children:"Change Password"})})]}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Messages",children:u.length&&(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Source"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Title"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Received at"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Actions"})]}),u.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.source}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.title}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.timestamp}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"eye",onClick:function(){return a("viewmail",{viewmail:e.uid})},children:"View"})})]},e.uid)}))]})||(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"No messages found in selected account."})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosFileManager=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);n(6);t.NtosFileManager=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.PC_device_theme,s=d.usbconnected,m=d.filename,p=d.filedata,h=d.error,C=d.files,f=void 0===C?[]:C,N=d.usbfiles,b=void 0===N?[]:N;return(0,o.createComponentVNode)(2,a.NtosWindow,{resizable:!0,theme:u,children:(0,o.createComponentVNode)(2,a.NtosWindow.Content,{scrollable:!0,children:(m||h)&&(0,o.createComponentVNode)(2,i.Section,{title:"Viewing File "+m,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"pen",content:"Edit",onClick:function(){return l("PRG_edit")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"print",content:"Print",onClick:function(){return l("PRG_printfile")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Close",onClick:function(){return l("PRG_closefile")}})],4),children:[h||null,p&&(0,o.createVNode)(1,"div",null,null,1,{dangerouslySetInnerHTML:{__html:p}})]})||(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,c,{files:f,usbconnected:s,onUpload:function(e){return l("PRG_copytousb",{name:e})},onDelete:function(e){return l("PRG_deletefile",{name:e})},onOpen:function(e){return l("PRG_openfile",{name:e})},onRename:function(e,t){return l("PRG_rename",{name:e,new_name:t})},onDuplicate:function(e){return l("PRG_clone",{file:e})}})}),s&&(0,o.createComponentVNode)(2,i.Section,{title:"Data Disk",children:(0,o.createComponentVNode)(2,c,{usbmode:!0,files:b,usbconnected:s,onUpload:function(e){return l("PRG_copyfromusb",{name:e})},onDelete:function(e){return l("PRG_deletefile",{name:e})},onRename:function(e,t){return l("PRG_rename",{name:e,new_name:t})},onDuplicate:function(e){return l("PRG_clone",{file:e})}})})||null,(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"plus",onClick:function(){return l("PRG_newtextfile")},children:"New Text File"})})],0)})})};var c=function(e){var t=e.files,n=void 0===t?[]:t,r=e.usbconnected,a=e.usbmode,c=e.onUpload,l=e.onDelete,d=e.onRename,u=e.onOpen;return(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"File"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:"Type"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:"Size"})]}),n.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.undeletable?e.name:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button.Input,{width:"80%",content:e.name,currentValue:e.name,tooltip:"Rename",onCommit:function(t,n){return d(e.name,n)}}),(0,o.createComponentVNode)(2,i.Button,{content:"Open",onClick:function(){return u(e.name)}})],4)}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.type}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.size}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:!e.undeletable&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button.Confirm,{icon:"trash",confirmIcon:"times",confirmContent:"",tooltip:"Delete",onClick:function(){return l(e.name)}}),!!r&&(a?(0,o.createComponentVNode)(2,i.Button,{icon:"download",tooltip:"Download",onClick:function(){return c(e.name)}}):(0,o.createComponentVNode)(2,i.Button,{icon:"upload",tooltip:"Upload",onClick:function(){return c(e.name)}}))],0)})]},e.name)}))]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosIdentificationComputer=void 0;var o=n(0),r=(n(8),n(1)),i=(n(2),n(3)),a=(n(6),n(28),n(133));t.NtosIdentificationComputer=function(e,t){var n=(0,r.useBackend)(t);n.act,n.data;return(0,o.createComponentVNode)(2,i.NtosWindow,{width:600,height:700,resizable:!0,children:(0,o.createComponentVNode)(2,i.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.IdentificationComputerContent,{ntos:!0})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosMain=void 0;var o=n(0),r=n(1),i=n(2),a=n(3),c={compconfig:"cog",ntndownloader:"download",filemanager:"folder",smmonitor:"radiation",alarmmonitor:"bell",cardmod:"id-card",arcade:"gamepad",ntnrc_client:"comment-alt",nttransfer:"exchange-alt",powermonitor:"plug",job_manage:"address-book",crewmani:"clipboard-list",robocontrol:"robot",atmosscan:"thermometer-half",shipping:"tags"};t.NtosMain=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.device_theme,s=d.programs,m=void 0===s?[]:s,p=d.has_light,h=d.light_on,C=d.comp_light_color,f=d.removable_media,N=void 0===f?[]:f,b=d.login,V=void 0===b?[]:b;return(0,o.createComponentVNode)(2,a.NtosWindow,{title:"syndicate"===u?"Syndix Main Menu":"NtOS Main Menu",theme:u,width:400,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,a.NtosWindow.Content,{scrollable:!0,children:[!!p&&(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.Button,{width:"144px",icon:"lightbulb",selected:h,onClick:function(){return l("PC_toggle_light")},children:["Flashlight: ",h?"ON":"OFF"]}),(0,o.createComponentVNode)(2,i.Button,{ml:1,onClick:function(){return l("PC_light_color")},children:["Color:",(0,o.createComponentVNode)(2,i.ColorBox,{ml:1,color:C})]})]}),(0,o.createComponentVNode)(2,i.Section,{title:"User Login",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject ID",disabled:!V.IDName,onClick:function(){return l("PC_Eject_Disk",{name:"ID"})}}),children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{children:["ID Name: ",V.IDName]}),(0,o.createComponentVNode)(2,i.Table.Row,{children:["Assignment: ",V.IDJob]})]})}),!!N.length&&(0,o.createComponentVNode)(2,i.Section,{title:"Media Eject",children:(0,o.createComponentVNode)(2,i.Table,{children:N.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,color:"transparent",icon:"eject",content:e,onClick:function(){return l("PC_Eject_Disk",{name:e})}})})},e)}))})}),(0,o.createComponentVNode)(2,i.Section,{title:"Programs",children:(0,o.createComponentVNode)(2,i.Table,{children:m.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,color:"transparent",icon:c[e.name]||"window-maximize-o",content:e.desc,onClick:function(){return l("PC_runprogram",{name:e.name})}})}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,width:"18px",children:!!e.running&&(0,o.createComponentVNode)(2,i.Button,{color:"transparent",icon:"times",tooltip:"Close program",tooltipPosition:"left",onClick:function(){return l("PC_killprogram",{name:e.name})}})}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,width:"18px",children:(0,o.createComponentVNode)(2,i.Button,{color:"transparent",tooltip:"Set Autorun",tooltipPosition:"left",selected:e.autorun,onClick:function(){return l("PC_setautorun",{name:e.name})},children:"AR"})})]},e.name)}))})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetChat=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.NtosNetChat=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.can_admin,u=l.adminmode,s=l.authed,m=l.username,p=l.active_channel,h=l.is_operator,C=l.all_channels,f=void 0===C?[]:C,N=l.clients,b=void 0===N?[]:N,V=l.messages,g=void 0===V?[]:V,v=null!==p,_=s||u;return(0,o.createComponentVNode)(2,a.NtosWindow,{width:900,height:675,children:(0,o.createComponentVNode)(2,a.NtosWindow.Content,{children:(0,o.createComponentVNode)(2,i.Section,{height:"600px",children:(0,o.createComponentVNode)(2,i.Table,{height:"580px",children:(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{verticalAlign:"top",style:{width:"200px"},children:[(0,o.createComponentVNode)(2,i.Box,{height:"560px",overflowY:"scroll",children:[(0,o.createComponentVNode)(2,i.Button.Input,{fluid:!0,content:"New Channel...",onCommit:function(e,t){return c("PRG_newchannel",{new_channel_name:t})}}),f.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:e.chan,selected:e.id===p,color:"transparent",onClick:function(){return c("PRG_joinchannel",{id:e.id})}},e.chan)}))]}),(0,o.createComponentVNode)(2,i.Button.Input,{fluid:!0,mt:1,content:m+"...",currentValue:m,onCommit:function(e,t){return c("PRG_changename",{new_name:t})}}),!!d&&(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"ADMIN MODE: "+(u?"ON":"OFF"),color:u?"bad":"good",onClick:function(){return c("PRG_toggleadmin")}})]}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:[(0,o.createComponentVNode)(2,i.Box,{height:"560px",overflowY:"scroll",children:v&&(_?g.map((function(e){return(0,o.createComponentVNode)(2,i.Box,{children:e.msg},e.msg)})):(0,o.createComponentVNode)(2,i.Box,{textAlign:"center",children:[(0,o.createComponentVNode)(2,i.Icon,{name:"exclamation-triangle",mt:4,fontSize:"40px"}),(0,o.createComponentVNode)(2,i.Box,{mt:1,bold:!0,fontSize:"18px",children:"THIS CHANNEL IS PASSWORD PROTECTED"}),(0,o.createComponentVNode)(2,i.Box,{mt:1,children:"INPUT PASSWORD TO ACCESS"})]}))}),(0,o.createComponentVNode)(2,i.Input,{fluid:!0,selfClear:!0,mt:1,onEnter:function(e,t){return c("PRG_speak",{message:t})}})]}),(0,o.createComponentVNode)(2,i.Table.Cell,{verticalAlign:"top",style:{width:"150px"},children:[(0,o.createComponentVNode)(2,i.Box,{height:"465px",overflowY:"scroll",children:b.map((function(e){return(0,o.createComponentVNode)(2,i.Box,{children:e.name},e.name)}))}),v&&_&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button.Input,{fluid:!0,content:"Save log...",defaultValue:"new_log",onCommit:function(e,t){return c("PRG_savelog",{log_name:t})}}),(0,o.createComponentVNode)(2,i.Button.Confirm,{fluid:!0,content:"Leave Channel",onClick:function(){return c("PRG_leavechannel")}})],4),!!h&&s&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button.Confirm,{fluid:!0,content:"Delete Channel",onClick:function(){return c("PRG_deletechannel")}}),(0,o.createComponentVNode)(2,i.Button.Input,{fluid:!0,content:"Rename Channel...",onCommit:function(e,t){return c("PRG_renamechannel",{new_name:t})}}),(0,o.createComponentVNode)(2,i.Button.Input,{fluid:!0,content:"Set Password...",onCommit:function(e,t){return c("PRG_setpassword",{new_password:t})}})],4)]})]})})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetDosContent=t.NtosNetDos=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.NtosNetDos=function(e,t){return(0,o.createComponentVNode)(2,a.NtosWindow,{width:400,height:250,theme:"syndicate",children:(0,o.createComponentVNode)(2,a.NtosWindow.Content,{children:(0,o.createComponentVNode)(2,c)})})};var c=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.relays,d=void 0===l?[]:l,u=c.focus,s=c.target,m=c.speed,p=c.overload,h=c.capacity,C=c.error;if(C)return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.NoticeBox,{children:C}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:"Reset",textAlign:"center",onClick:function(){return a("PRG_reset")}})],4);var f=function(e){for(var t="",n=p/h;t.lengthn?t+="0":t+="1";return t};return s?(0,o.createComponentVNode)(2,i.Section,{fontFamily:"monospace",textAlign:"center",children:[(0,o.createComponentVNode)(2,i.Box,{children:["CURRENT SPEED: ",m," GQ/s"]}),(0,o.createComponentVNode)(2,i.Box,{children:f(45)}),(0,o.createComponentVNode)(2,i.Box,{children:f(45)}),(0,o.createComponentVNode)(2,i.Box,{children:f(45)}),(0,o.createComponentVNode)(2,i.Box,{children:f(45)}),(0,o.createComponentVNode)(2,i.Box,{children:f(45)})]}):(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Target",children:d.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{content:e.id,selected:u===e.id,onClick:function(){return a("PRG_target_relay",{targid:e.id})}},e.id)}))})}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"EXECUTE",color:"bad",textAlign:"center",disabled:!u,mt:1,onClick:function(){return a("PRG_execute")}})]})};t.NtosNetDosContent=c},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetDownloader=void 0;var o=n(0),r=n(5),i=n(1),a=n(2),c=n(3);t.NtosNetDownloader=function(e,t){var n=(0,i.useBackend)(t),r=n.act,d=n.data,u=d.PC_device_theme,s=d.disk_size,m=d.disk_used,p=d.downloadable_programs,h=void 0===p?[]:p,C=d.error,f=d.hacked_programs,N=void 0===f?[]:f,b=d.hackedavailable;return(0,o.createComponentVNode)(2,c.NtosWindow,{theme:u,width:480,height:735,resizable:!0,children:(0,o.createComponentVNode)(2,c.NtosWindow.Content,{scrollable:!0,children:[!!C&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:[(0,o.createComponentVNode)(2,a.Box,{mb:1,children:C}),(0,o.createComponentVNode)(2,a.Button,{content:"Reset",onClick:function(){return r("PRG_reseterror")}})]}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Disk usage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:m,minValue:0,maxValue:s,children:m+" GQ / "+s+" GQ"})})})}),(0,o.createComponentVNode)(2,a.Section,{children:h.map((function(e){return(0,o.createComponentVNode)(2,l,{program:e},e.filename)}))}),!!b&&(0,o.createComponentVNode)(2,a.Section,{title:"UNKNOWN Software Repository",children:[(0,o.createComponentVNode)(2,a.NoticeBox,{mb:1,children:"Please note that Nanotrasen does not recommend download of software from non-official servers."}),N.map((function(e){return(0,o.createComponentVNode)(2,l,{program:e},e.filename)}))]})]})})};var l=function(e,t){var n=e.program,c=(0,i.useBackend)(t),l=c.act,d=c.data,u=d.disk_size,s=d.disk_used,m=d.downloadcompletion,p=(d.downloading,d.downloadname),h=d.downloadsize,C=d.downloadspeed,f=d.downloads_queue,N=u-s;return(0,o.createComponentVNode)(2,a.Box,{mb:3,children:[(0,o.createComponentVNode)(2,a.Flex,{align:"baseline",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{bold:!0,grow:1,children:n.filedesc}),(0,o.createComponentVNode)(2,a.Flex.Item,{color:"label",nowrap:!0,children:[n.size," GQ"]}),(0,o.createComponentVNode)(2,a.Flex.Item,{ml:2,width:"94px",textAlign:"center",children:n.filename===p&&(0,o.createComponentVNode)(2,a.ProgressBar,{color:"green",minValue:0,maxValue:h,value:m,children:[(0,r.round)(m/h*100,1),"% (",C,"GQ/s)"]})||-1!==f.indexOf(n.filename)&&(0,o.createComponentVNode)(2,a.Button,{icon:"ban",color:"bad",onClick:function(){return l("PRG_removequeued",{filename:n.filename})},children:"Queued..."})||(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"download",content:"Download",disabled:n.size>N,onClick:function(){return l("PRG_downloadfile",{filename:n.filename})}})})]}),"Compatible"!==n.compatibility&&(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,fontSize:"12px",position:"relative",children:[(0,o.createComponentVNode)(2,a.Icon,{mx:1,color:"red",name:"times"}),"Incompatible!"]}),n.size>N&&(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,fontSize:"12px",position:"relative",children:[(0,o.createComponentVNode)(2,a.Icon,{mx:1,color:"red",name:"times"}),"Not enough disk space!"]}),(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,color:"label",fontSize:"12px",children:n.fileinfo})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetMonitor=void 0;var o=n(0),r=n(2),i=n(1),a=n(3);t.NtosNetMonitor=function(e,t){var n=(0,i.useBackend)(t),c=n.act,l=n.data,d=l.ntnetrelays,u=l.ntnetstatus,s=l.config_softwaredownload,m=l.config_peertopeer,p=l.config_communication,h=l.config_systemcontrol,C=l.idsalarm,f=l.idsstatus,N=l.ntnetmaxlogs,b=l.maxlogs,V=l.minlogs,g=l.banned_nids,v=l.ntnetlogs,_=void 0===v?[]:v;return(0,o.createComponentVNode)(2,a.NtosWindow,{resizable:!0,children:(0,o.createComponentVNode)(2,a.NtosWindow.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,r.NoticeBox,{children:"WARNING: Disabling wireless transmitters when using a wireless device may prevent you from reenabling them!"}),(0,o.createComponentVNode)(2,r.Section,{title:"Wireless Connectivity",buttons:(0,o.createComponentVNode)(2,r.Button.Confirm,{icon:u?"power-off":"times",content:u?"ENABLED":"DISABLED",selected:u,onClick:function(){return c("toggleWireless")}}),children:d?(0,o.createComponentVNode)(2,r.LabeledList,{children:(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Active NTNet Relays",children:d})}):"No Relays Connected"}),(0,o.createComponentVNode)(2,r.Section,{title:"Firewall Configuration",children:(0,o.createComponentVNode)(2,r.LabeledList,{children:[(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Software Downloads",buttons:(0,o.createComponentVNode)(2,r.Button,{icon:s?"power-off":"times",content:s?"ENABLED":"DISABLED",selected:s,onClick:function(){return c("toggle_function",{id:"1"})}})}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Peer to Peer Traffic",buttons:(0,o.createComponentVNode)(2,r.Button,{icon:m?"power-off":"times",content:m?"ENABLED":"DISABLED",selected:m,onClick:function(){return c("toggle_function",{id:"2"})}})}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Communication Systems",buttons:(0,o.createComponentVNode)(2,r.Button,{icon:p?"power-off":"times",content:p?"ENABLED":"DISABLED",selected:p,onClick:function(){return c("toggle_function",{id:"3"})}})}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Remote System Control",buttons:(0,o.createComponentVNode)(2,r.Button,{icon:h?"power-off":"times",content:h?"ENABLED":"DISABLED",selected:h,onClick:function(){return c("toggle_function",{id:"4"})}})})]})}),(0,o.createComponentVNode)(2,r.Section,{title:"Security Systems",children:[!!C&&(0,o.createFragment)([(0,o.createComponentVNode)(2,r.NoticeBox,{children:"NETWORK INCURSION DETECTED"}),(0,o.createComponentVNode)(2,r.Box,{italics:!0,children:"Abnormal activity has been detected in the network. Check system logs for more information"})],4),(0,o.createComponentVNode)(2,r.LabeledList,{children:[(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Banned NIDs",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,r.Button,{icon:"ban",onClick:function(){return c("ban_nid")},children:"Ban NID"}),(0,o.createComponentVNode)(2,r.Button,{icon:"balance-scale",onClick:function(){return c("unban_nid")},children:"Unban NID"})],4),children:g.join(", ")||"None"}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"IDS Status",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,r.Button,{icon:f?"power-off":"times",content:f?"ENABLED":"DISABLED",selected:f,onClick:function(){return c("toggleIDS")}}),(0,o.createComponentVNode)(2,r.Button,{icon:"sync",content:"Reset",color:"bad",onClick:function(){return c("resetIDS")}})],4)}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Max Log Count",buttons:(0,o.createComponentVNode)(2,r.NumberInput,{value:N,minValue:V,maxValue:b,width:"39px",onChange:function(e,t){return c("updatemaxlogs",{new_number:t})}})})]}),(0,o.createComponentVNode)(2,r.Section,{title:"System Log",level:2,buttons:(0,o.createComponentVNode)(2,r.Button.Confirm,{icon:"trash",content:"Clear Logs",onClick:function(){return c("purgelogs")}}),children:_.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{className:"candystripe",children:e.entry},e.entry)}))})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetTransfer=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.NtosNetTransfer=function(e,t){var n=(0,r.useBackend)(t),i=(n.act,n.data),m=i.error,p=i.downloading,h=i.uploading,C=i.upload_filelist,f=(0,o.createComponentVNode)(2,s);return m?f=(0,o.createComponentVNode)(2,c):p?f=(0,o.createComponentVNode)(2,l):h?f=(0,o.createComponentVNode)(2,d):C.length&&(f=(0,o.createComponentVNode)(2,u)),(0,o.createComponentVNode)(2,a.NtosWindow,{width:575,height:700,resizable:!0,children:(0,o.createComponentVNode)(2,a.NtosWindow.Content,{scrollable:!0,children:f})})};var c=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data.error;return(0,o.createComponentVNode)(2,i.Section,{title:"An error has occured during operation.",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"undo",onClick:function(){return a("PRG_reset")},children:"Reset"}),children:["Additional Information: ",c]})},l=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.download_name,d=c.download_progress,u=c.download_size,s=c.download_netspeed;return(0,o.createComponentVNode)(2,i.Section,{title:"Download in progress",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Downloaded File",children:l}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Progress",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:d,maxValue:u,children:[d," / ",u," GQ"]})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Transfer Speed",children:[s," GQ/s"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Controls",children:(0,o.createComponentVNode)(2,i.Button,{icon:"ban",onClick:function(){return a("PRG_reset")},children:"Cancel Download"})})]})})},d=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.upload_clients,d=c.upload_filename,u=c.upload_haspassword;return(0,o.createComponentVNode)(2,i.Section,{title:"Server enabled",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Clients Connected",children:l}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Provided file",children:d}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Server Password",children:u?"Enabled":"Disabled"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Commands",children:[(0,o.createComponentVNode)(2,i.Button,{icon:"lock",onClick:function(){return a("PRG_setpassword")},children:"Set Password"}),(0,o.createComponentVNode)(2,i.Button,{icon:"ban",onClick:function(){return a("PRG_reset")},children:"Cancel Upload"})]})]})})},u=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data.upload_filelist;return(0,o.createComponentVNode)(2,i.Section,{title:"File transfer server ready.",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"undo",onClick:function(){return a("PRG_reset")},children:"Cancel"}),children:[(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"lock",onClick:function(){return a("PRG_setpassword")},children:"Set Password"}),(0,o.createComponentVNode)(2,i.Section,{title:"Pick file to serve.",level:2,children:c.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"upload",onClick:function(){return a("PRG_uploadfile",{uid:e.uid})},children:[e.filename," (",e.size,"GQ)"]},e.uid)}))})]})},s=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data.servers;return(0,o.createComponentVNode)(2,i.Section,{title:"Available Files",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"upload",onClick:function(){return a("PRG_uploadmenu")},children:"Send File"}),children:c.length&&(0,o.createComponentVNode)(2,i.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.uid,children:[!!e.haspassword&&(0,o.createComponentVNode)(2,i.Icon,{name:"lock",mr:1}),e.filename,"\xa0 (",e.size,"GQ)\xa0",(0,o.createComponentVNode)(2,i.Button,{icon:"download",onClick:function(){return a("PRG_downloadfile",{uid:e.uid})},children:"Download"})]},e.uid)}))})||(0,o.createComponentVNode)(2,i.Box,{children:"No upload servers found."})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNewsBrowser=void 0;var o=n(0),r=n(1),i=n(2),a=n(3),c=n(75);t.NtosNewsBrowser=function(e,t){var n=(0,r.useBackend)(t),c=n.act,s=n.data,m=s.article,p=s.download,h=s.message,C=(0,o.createComponentVNode)(2,d);return m?C=(0,o.createComponentVNode)(2,l):p&&(C=(0,o.createComponentVNode)(2,u)),(0,o.createComponentVNode)(2,a.NtosWindow,{width:575,height:750,resizable:!0,children:(0,o.createComponentVNode)(2,a.NtosWindow.Content,{scrollable:!0,children:[!!h&&(0,o.createComponentVNode)(2,i.NoticeBox,{children:[h," ",(0,o.createComponentVNode)(2,i.Button,{icon:"times",onClick:function(){return c("PRG_clearmessage")}})]}),C]})})};var l=function(e,t){var n=(0,r.useBackend)(t),a=n.act,l=n.data.article;if(!l)return(0,o.createComponentVNode)(2,i.Section,{children:"Error: Article not found."});var d=l.title,u=l.cover,s=l.content;return(0,o.createComponentVNode)(2,i.Section,{title:"Viewing: "+d,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"save",onClick:function(){return a("PRG_savearticle")},children:"Save"}),(0,o.createComponentVNode)(2,i.Button,{icon:"times",onClick:function(){return a("PRG_reset")},children:"Close"})],4),children:[!!u&&(0,o.createVNode)(1,"img",null,null,1,{src:(0,c.resolveAsset)(u)}),(0,o.createVNode)(1,"div",null,null,1,{dangerouslySetInnerHTML:{__html:s}})]})},d=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.showing_archived,d=c.all_articles;return(0,o.createComponentVNode)(2,i.Section,{title:"Articles List",buttons:(0,o.createComponentVNode)(2,i.Button.Checkbox,{onClick:function(){return a("PRG_toggle_archived")},checked:l,children:"Show Archived"}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:d.length&&d.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"download",onClick:function(){return a("PRG_openarticle",{uid:e.uid})}}),children:[e.size," GQ"]},e.uid)}))||(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Error",children:"There appear to be no outstanding news articles on NTNet today."})})})},u=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data.download,l=c.download_progress,d=c.download_maxprogress,u=c.download_rate;return(0,o.createComponentVNode)(2,i.Section,{title:"Downloading...",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Progress",children:(0,o.createComponentVNode)(2,i.ProgressBar,{color:"good",minValue:0,value:l,maxValue:d,children:[l," / ",d," GQ"]})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Download Speed",children:[u," GQ/s"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Controls",children:(0,o.createComponentVNode)(2,i.Button,{icon:"ban",fluid:!0,onClick:function(){return a("PRG_reset")},children:"Abort Download"})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosOvermapNavigation=void 0;var o=n(0),r=n(3),i=n(195);t.NtosOvermapNavigation=function(){return(0,o.createComponentVNode)(2,r.NtosWindow,{width:380,height:530,resizable:!0,children:(0,o.createComponentVNode)(2,r.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i.OvermapNavigationContent)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosPowerMonitor=void 0;var o=n(0),r=n(3),i=n(135);t.NtosPowerMonitor=function(){return(0,o.createComponentVNode)(2,r.NtosWindow,{width:550,height:700,resizable:!0,children:(0,o.createComponentVNode)(2,r.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i.PowerMonitorContent)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosRCON=void 0;var o=n(0),r=n(3),i=n(196);t.NtosRCON=function(){return(0,o.createComponentVNode)(2,r.NtosWindow,{width:630,height:440,resizable:!0,children:(0,o.createComponentVNode)(2,r.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i.RCONContent)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosRevelation=void 0;var o=n(0),r=n(2),i=n(1),a=n(3);t.NtosRevelation=function(e,t){var n=(0,i.useBackend)(t),c=n.act,l=n.data;return(0,o.createComponentVNode)(2,a.NtosWindow,{width:400,height:250,theme:"syndicate",children:(0,o.createComponentVNode)(2,a.NtosWindow.Content,{children:(0,o.createComponentVNode)(2,r.Section,{children:[(0,o.createComponentVNode)(2,r.Button.Input,{fluid:!0,content:"Obfuscate Name...",onCommit:function(e,t){return c("PRG_obfuscate",{new_name:t})},mb:1}),(0,o.createComponentVNode)(2,r.LabeledList,{children:(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Payload Status",buttons:(0,o.createComponentVNode)(2,r.Button,{content:l.armed?"ARMED":"DISARMED",color:l.armed?"bad":"average",onClick:function(){return c("PRG_arm")}})})}),(0,o.createComponentVNode)(2,r.Button,{fluid:!0,bold:!0,content:"ACTIVATE",textAlign:"center",color:"bad",disabled:!l.armed})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosShutoffMonitor=void 0;var o=n(0),r=n(3),i=n(197);t.NtosShutoffMonitor=function(e,t){return(0,o.createComponentVNode)(2,r.NtosWindow,{width:627,height:700,resizable:!0,children:(0,o.createComponentVNode)(2,r.NtosWindow.Content,{children:(0,o.createComponentVNode)(2,i.ShutoffMonitorContent)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosStationAlertConsole=void 0;var o=n(0),r=n(3),i=n(198);t.NtosStationAlertConsole=function(){return(0,o.createComponentVNode)(2,r.NtosWindow,{width:315,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,r.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i.StationAlertConsoleContent)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosSupermatterMonitor=void 0;var o=n(0),r=n(3),i=n(199);t.NtosSupermatterMonitor=function(){return(0,o.createComponentVNode)(2,r.NtosWindow,{width:600,height:400,resizable:!0,children:(0,o.createComponentVNode)(2,r.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i.SupermatterMonitorContent)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosUAV=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.NtosUAV=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.current_uav,u=l.signal_strength,s=l.in_use,m=l.paired_uavs;return(0,o.createComponentVNode)(2,a.NtosWindow,{width:600,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,a.NtosWindow.Content,{children:[(0,o.createComponentVNode)(2,i.Section,{title:"Selected UAV",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"UAV",children:d&&d.status||"[Not Connected]"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Signal",children:d&&u||"[Not Connected]"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Power",children:d&&(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",selected:d.power,onClick:function(){return c("power_uav")},children:d.power?"Online":"Offline"})||"[Not Connected]"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Camera",children:d&&(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",selected:s,disabled:!d.power,onClick:function(){return c("view_uav")},children:d.power?"Available":"Unavailable"})||"[Not Connected]"})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Paired UAVs",children:m.length&&m.map((function(e){return(0,o.createComponentVNode)(2,i.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"quidditch",onClick:function(){return c("switch_uav",{switch_uav:e.uavref})},children:e.name})}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.Button,{color:"bad",icon:"times",onClick:function(){return c("del_uav",{del_uav:e.uavref})}})})]},e.uavref)}))||(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"No UAVs Paired."})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosWordProcessor=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.NtosWordProcessor=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.PC_device_theme,u=l.error,s=l.browsing,m=l.files,p=(l.usbconnected,l.usbfiles,l.filename),h=l.filedata;return(0,o.createComponentVNode)(2,a.NtosWindow,{resizable:!0,theme:d,children:(0,o.createComponentVNode)(2,a.NtosWindow.Content,{scrollable:!0,children:u&&(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:[(0,o.createVNode)(1,"h2",null,"An Error has occured:",16),"Additional Information: ",u,"Please try again. If the problem persists, contact your system administrator for assistance.",(0,o.createComponentVNode)(2,i.Button,{icon:"arrow-left",content:"Back to menu",onClick:function(){return c("PRG_backtomenu")}})]})||s&&(0,o.createComponentVNode)(2,i.Section,{title:"File Browser",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"arrow-left",content:"Back to editor",onClick:function(){return c("PRG_closebrowser")}}),children:(0,o.createComponentVNode)(2,i.Section,{title:"Available documents (local)",level:2,children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Name"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Size (GQ)"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0})]}),m.map((function(e,t){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.size}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,i.Button,{icon:"file-word",onClick:function(){return c("PRG_openfile",{PRG_openfile:e.name})},children:"Open"})})]},t)}))]})})})||(0,o.createComponentVNode)(2,i.Section,{title:"Document: "+p,children:[(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return c("PRG_newfile")},children:"New"}),(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return c("PRG_loadmenu")},children:"Load"}),(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return c("PRG_savefile")},children:"Save"}),(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return c("PRG_saveasfile")},children:"Save As"})]}),(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return c("PRG_editfile")},children:"Edit"}),(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return c("PRG_txtrpeview")},children:"Preview"}),(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return c("PRG_taghelp")},children:"Formatting Help"}),(0,o.createComponentVNode)(2,i.Button,{disabled:!h,onClick:function(){return c("PRG_printfile")},children:"Print"})]}),(0,o.createComponentVNode)(2,i.Section,{mt:1,children:(0,o.createVNode)(1,"div",null,null,1,{dangerouslySetInnerHTML:{__html:h}})})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.OmniFilter=void 0;var o=n(0),r=n(1),i=n(2),a=n(3),c=function(e){return e.input?"Input":e.output?"Output":e.f_type?e.f_type:"Disabled"};t.OmniFilter=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.power,s=d.config,m=d.ports,p=d.set_flow_rate,h=d.last_flow_rate;return(0,o.createComponentVNode)(2,a.Window,{width:360,height:330,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:[(0,o.createComponentVNode)(2,i.Section,{title:s?"Configuration":"Status",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",content:u?"On":"Off",selected:u,disabled:s,onClick:function(){return l("power")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"wrench",selected:s,onClick:function(){return l("configure")}})],4),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:m?m.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.dir+" Port",children:s?(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{content:"IN",selected:e.input,icon:"compress-arrows-alt",onClick:function(){return l("switch_mode",{mode:"in",dir:e.dir})}}),(0,o.createComponentVNode)(2,i.Button,{content:"OUT",selected:e.output,icon:"expand-arrows-alt",onClick:function(){return l("switch_mode",{mode:"out",dir:e.dir})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"wrench",disabled:e.input||e.output,content:e.f_type||"None",onClick:function(){return l("switch_filter",{mode:e.f_type,dir:e.dir})}})],4):c(e)},e.dir)})):(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No Ports Detected"})})}),(0,o.createComponentVNode)(2,i.Section,{title:"Flow Rate",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Current Flow Rate",children:[h," L/s"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Flow Rate Limit",children:s?(0,o.createComponentVNode)(2,i.Button,{icon:"wrench",content:p/10+" L/s",onClick:function(){return l("set_flow_rate")}}):p/10+" L/s"})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.OmniMixer=void 0;var o=n(0),r=n(1),i=n(2),a=n(3),c=function(e){return e.input?"Input":e.output?"Output":e.f_type?e.f_type:"Disabled"};t.OmniMixer=function(e,t){var n=(0,r.useBackend)(t),c=n.act,d=n.data,u=d.power,s=d.config,m=d.ports,p=d.set_flow_rate,h=d.last_flow_rate;return(0,o.createComponentVNode)(2,a.Window,{width:390,height:330,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:[(0,o.createComponentVNode)(2,i.Section,{title:s?"Configuration":"Status",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",content:u?"On":"Off",selected:u,disabled:s,onClick:function(){return c("power")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"wrench",selected:s,onClick:function(){return c("configure")}})],4),children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:"Port"}),s?(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:"Input"}),(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:"Output"})],4):(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:"Mode"}),(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:"Concentration"}),s?(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:"Lock"}):null]}),m?m.map((function(e){return(0,o.createComponentVNode)(2,l,{port:e,config:s},e.dir)})):(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No Ports Detected"})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Flow Rate",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Current Flow Rate",children:[h," L/s"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Flow Rate Limit",children:s?(0,o.createComponentVNode)(2,i.Button,{icon:"wrench",content:p/10+" L/s",onClick:function(){return c("set_flow_rate")}}):p/10+" L/s"})]})})]})})};var l=function(e,t){var n=(0,r.useBackend)(t).act,a=e.port,l=e.config;return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:a.dir+" Port"}),(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:l?(0,o.createComponentVNode)(2,i.Button,{content:"IN",selected:a.input,disabled:a.output,icon:"compress-arrows-alt",onClick:function(){return n("switch_mode",{mode:a.input?"none":"in",dir:a.dir})}}):c(a)}),(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:l?(0,o.createComponentVNode)(2,i.Button,{content:"OUT",selected:a.output,icon:"expand-arrows-alt",onClick:function(){return n("switch_mode",{mode:"out",dir:a.dir})}}):100*a.concentration+"%"}),l?(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",width:"20%",children:(0,o.createComponentVNode)(2,i.Button,{width:"100%",icon:"wrench",disabled:!a.input,content:a.input?100*a.concentration+" %":"-",onClick:function(){return n("switch_con",{dir:a.dir})}})}),(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:(0,o.createComponentVNode)(2,i.Button,{icon:a.con_lock?"lock":"lock-open",disabled:!a.input,selected:a.con_lock,content:a.f_type||"None",onClick:function(){return n("switch_conlock",{dir:a.dir})}})})],4):null]})}},function(e,t,n){"use strict";t.__esModule=!0,t.OperatingComputer=void 0;var o=n(0),r=n(5),i=n(1),a=n(3),c=n(2),l=[["good","Conscious"],["average","Unconscious"],["bad","DEAD"]],d=[["Resp.","oxyLoss"],["Toxin","toxLoss"],["Brute","bruteLoss"],["Burn","fireLoss"]],u={average:[.25,.5],bad:[.5,Infinity]},s=["bad","average","average","good","average","average","bad"];t.OperatingComputer=function(e,t){var n,r=(0,i.useBackend)(t),l=r.act,d=r.data,u=d.hasOccupant,s=d.choice;return n=s?(0,o.createComponentVNode)(2,h):u?(0,o.createComponentVNode)(2,m):(0,o.createComponentVNode)(2,p),(0,o.createComponentVNode)(2,a.Window,{width:650,height:455,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:[(0,o.createComponentVNode)(2,c.Tabs,{children:[(0,o.createComponentVNode)(2,c.Tabs.Tab,{selected:!s,icon:"user",onClick:function(){return l("choiceOff")},children:"Patient"}),(0,o.createComponentVNode)(2,c.Tabs.Tab,{selected:!!s,icon:"cog",onClick:function(){return l("choiceOn")},children:"Options"})]}),(0,o.createComponentVNode)(2,c.Section,{flexGrow:"1",children:n})]})})};var m=function(e,t){var n=(0,i.useBackend)(t).data.occupant;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Section,{title:"Patient",level:"2",children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Name",children:n.name}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Status",color:l[n.stat][0],children:l[n.stat][1]}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,c.ProgressBar,{min:"0",max:n.maxHealth,value:n.health/n.maxHealth,ranges:{good:[.5,Infinity],average:[0,.5],bad:[-Infinity,0]}})}),d.map((function(e,t){return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:e[0]+" Damage",children:(0,o.createComponentVNode)(2,c.ProgressBar,{min:"0",max:"100",value:n[e[1]]/100,ranges:u,children:(0,r.round)(n[e[1]])},t)},t)})),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Temperature",children:(0,o.createComponentVNode)(2,c.ProgressBar,{min:"0",max:n.maxTemp,value:n.bodyTemperature/n.maxTemp,color:s[n.temperatureSuitability+3],children:[(0,r.round)(n.btCelsius),"\xb0C, ",(0,r.round)(n.btFaren),"\xb0F"]})}),!!n.hasBlood&&(0,o.createFragment)([(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Blood Level",children:(0,o.createComponentVNode)(2,c.ProgressBar,{min:"0",max:n.bloodMax,value:n.bloodLevel/n.bloodMax,ranges:{bad:[-Infinity,.6],average:[.6,.9],good:[.6,Infinity]},children:[n.bloodPercent,"%, ",n.bloodLevel,"cl"]})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Pulse",children:[n.pulse," BPM"]})],4)]})}),(0,o.createComponentVNode)(2,c.Section,{title:"Current Procedure",level:"2",children:n.surgery&&n.surgery.length?(0,o.createComponentVNode)(2,c.LabeledList,{children:n.surgery.map((function(e){return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:e.name,children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Current State",children:e.currentStage}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Possible Next Steps",children:e.nextSteps.map((function(e){return(0,o.createVNode)(1,"div",null,e,0,null,e)}))})]})},e.name)}))}):(0,o.createComponentVNode)(2,c.Box,{color:"label",children:"No procedure ongoing."})})],4)},p=function(){return(0,o.createComponentVNode)(2,c.Flex,{textAlign:"center",height:"100%",children:(0,o.createComponentVNode)(2,c.Flex.Item,{grow:"1",align:"center",color:"label",children:[(0,o.createComponentVNode)(2,c.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,o.createVNode)(1,"br"),"No patient detected."]})})},h=function(e,t){var n=(0,i.useBackend)(t),r=n.act,a=n.data,l=a.verbose,d=a.health,u=a.healthAlarm,s=a.oxy,m=a.oxyAlarm,p=a.crit;return(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Loudspeaker",children:(0,o.createComponentVNode)(2,c.Button,{selected:l,icon:l?"toggle-on":"toggle-off",content:l?"On":"Off",onClick:function(){return r(l?"verboseOff":"verboseOn")}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Health Announcer",children:(0,o.createComponentVNode)(2,c.Button,{selected:d,icon:d?"toggle-on":"toggle-off",content:d?"On":"Off",onClick:function(){return r(d?"healthOff":"healthOn")}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Health Announcer Threshold",children:(0,o.createComponentVNode)(2,c.Knob,{bipolar:!0,minValue:"-100",maxValue:"100",value:u,stepPixelSize:"5",ml:"0",format:function(e){return e+"%"},onChange:function(e,t){return r("health_adj",{"new":t})}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Oxygen Alarm",children:(0,o.createComponentVNode)(2,c.Button,{selected:s,icon:s?"toggle-on":"toggle-off",content:s?"On":"Off",onClick:function(){return r(s?"oxyOff":"oxyOn")}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Oxygen Alarm Threshold",children:(0,o.createComponentVNode)(2,c.Knob,{bipolar:!0,minValue:"-100",maxValue:"100",value:m,stepPixelSize:"5",ml:"0",onChange:function(e,t){return r("oxy_adj",{"new":t})}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Critical Alert",children:(0,o.createComponentVNode)(2,c.Button,{selected:p,icon:p?"toggle-on":"toggle-off",content:p?"On":"Off",onClick:function(){return r(p?"critOff":"critOn")}})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.OvermapDisperser=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3),c=n(134);t.OvermapDisperser=function(e,t){return(0,o.createComponentVNode)(2,a.Window,{width:400,height:550,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:(0,o.createComponentVNode)(2,l)})})};var l=function(e,t){var n=(0,r.useBackend)(t),a=n.act,l=n.data,d=l.faillink,u=l.calibration,s=l.overmapdir,m=l.cal_accuracy,p=l.strength,h=l.range,C=l.next_shot,f=l.nopower,N=(l.skill,l.chargeload);return d?(0,o.createComponentVNode)(2,i.Section,{title:"Error",children:"Machine is incomplete, out of range, or misaligned!"}):(0,o.createComponentVNode)(2,i.Flex,{wrap:"wrap",spacing:1,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{basis:"22%",children:(0,o.createComponentVNode)(2,i.Section,{title:"Targeting",textAlign:"center",children:(0,o.createComponentVNode)(2,c.OvermapPanControls,{actToDo:"choose",selected:function(e){return e===s}})})}),(0,o.createComponentVNode)(2,i.Flex.Item,{basis:"74%",grow:1,children:(0,o.createComponentVNode)(2,i.Section,{title:"Charge",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[f&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Error",children:"At least one part of the machine is unpowered."})||null,(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Charge Load Type",children:N}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Cooldown",children:0===C&&(0,o.createComponentVNode)(2,i.Box,{color:"good",children:"Ready"})||C>1&&(0,o.createComponentVNode)(2,i.Box,{color:"average",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:C})," Seconds",(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Warning: Do not fire during cooldown."})]})||null})]})})}),(0,o.createComponentVNode)(2,i.Flex.Item,{basis:"50%",mt:1,children:(0,o.createComponentVNode)(2,i.Section,{title:"Calibration",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:m}),"%",(0,o.createComponentVNode)(2,i.Button,{ml:1,icon:"exchange-alt",onClick:function(){return a("skill_calibration")},children:"Pre-Calibration"}),(0,o.createComponentVNode)(2,i.Box,{mt:1,children:u.map((function(e,t){return(0,o.createComponentVNode)(2,i.Box,{children:["Cal #",t,":",(0,o.createComponentVNode)(2,i.Button,{ml:1,icon:"random",onClick:function(){return a("calibration",{calibration:t})},children:e.toString()})]},t)}))})]})}),(0,o.createComponentVNode)(2,i.Flex.Item,{basis:"45%",grow:1,mt:1,children:(0,o.createComponentVNode)(2,i.Section,{title:"Setup",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Strength",children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"fist-raised",onClick:function(){return a("strength")},children:p})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Radius",children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"expand-arrows-alt",onClick:function(){return a("range")},children:h})})]})})}),(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,mt:1,children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,color:"red",icon:"bomb",onClick:function(){return a("fire")},children:"Fire ORB"})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.OvermapFull=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3),c=n(200),l=n(201),d=n(202);t.OvermapFull=function(e,t){var n=(0,r.useLocalState)(t,"overmapFullState",0),u=n[0],s=n[1];return(0,o.createComponentVNode)(2,a.Window,{width:800,height:800,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Tabs,{children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:0===u,onClick:function(){return s(0)},children:"Engines"}),(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:1===u,onClick:function(){return s(1)},children:"Helm"}),(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:2===u,onClick:function(){return s(2)},children:"Sensors"})]}),0===u&&(0,o.createComponentVNode)(2,c.OvermapEnginesContent),1===u&&(0,o.createComponentVNode)(2,l.OvermapHelmContent),2===u&&(0,o.createComponentVNode)(2,d.OvermapShipSensorsContent)]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.OvermapShieldGenerator=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.OvermapShieldGenerator=function(e,t){return(0,o.createComponentVNode)(2,a.Window,{width:500,height:760,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,c)})})};var c=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,u=c.modes,s=c.offline_for;return s?(0,o.createComponentVNode)(2,i.Section,{title:"EMERGENCY SHUTDOWN",color:"bad",children:["An emergency shutdown has been initiated - generator cooling down. Please wait until the generator cools down before resuming operation. Estimated time left: ",s," seconds."]}):(0,o.createFragment)([(0,o.createComponentVNode)(2,l),(0,o.createComponentVNode)(2,d),(0,o.createComponentVNode)(2,i.Section,{title:"Field Calibration",children:u.map((function(e){return(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",selected:e.status,onClick:function(){return a("toggle_mode",{toggle_mode:e.flag})},children:e.status?"Enabled":"Disabled"}),children:[(0,o.createComponentVNode)(2,i.Box,{color:"label",children:e.desc}),(0,o.createComponentVNode)(2,i.Box,{mt:.5,children:["Multiplier: ",e.multiplier]})]},e.name)}))})],4)},l=function(e,t){var n=(0,r.useBackend)(t),a=(n.act,n.data),c=a.running,l=a.overloaded,d=a.mitigation_max,u=a.mitigation_physical,s=a.mitigation_em,m=a.mitigation_heat,p=a.field_integrity,h=a.max_energy,C=a.current_energy,f=a.percentage_energy,N=a.total_segments,b=a.functional_segments,V=a.field_radius,g=a.target_radius,v=a.input_cap_kw,_=a.upkeep_power_usage,k=a.power_usage,y=a.spinup_counter;return(0,o.createComponentVNode)(2,i.Section,{title:"System Status",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Generator is",children:1===c&&(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"Shutting Down"})||2===c&&(l&&(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Overloaded"})||(0,o.createComponentVNode)(2,i.Box,{color:"good",children:"Running"}))||3===c&&(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"Inactive"})||4===c&&(0,o.createComponentVNode)(2,i.Box,{color:"blue",children:["Spinning Up\xa0",g!==V&&(0,o.createComponentVNode)(2,i.Box,{inline:!0,children:"(Adjusting Radius)"})||(0,o.createComponentVNode)(2,i.Box,{inline:!0,children:[2*y,"s"]})]})||(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Offline"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Energy Storage",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:C,maxValue:h,children:[C," / ",h," MJ (",f,"%)"]})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Shield Integrity",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:p}),"%"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Mitigation",children:[s,"% EM / ",u,"% PH / ",m,"% HE / ",d,"% MAX"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Upkeep Energy Use",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:_})," kW"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Total Energy Use",children:v&&(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:k,maxValue:v,children:[k," / ",v," kW"]})})||(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:k})," kW (No Limit)"]})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Field Size",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:b}),"\xa0/\xa0",(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:N})," m\xb2 (radius ",(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:V}),", target ",(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:g}),")"]})]})})},d=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.running,d=c.hacked,u=c.idle_multiplier,s=c.idle_valid_values;return(0,o.createComponentVNode)(2,i.Section,{title:"Controls",buttons:(0,o.createFragment)([l>=2&&(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",onClick:function(){return a("begin_shutdown")},selected:!0,children:"Turn off"}),3===l&&(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",onClick:function(){return a("toggle_idle",{toggle_idle:0})},children:"Activate"})||(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",onClick:function(){return a("toggle_idle",{toggle_idle:1})},selected:!0,children:"Deactivate"})]})||(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",onClick:function(){return a("start_generator")},children:"Turn on"}),l&&d&&(0,o.createComponentVNode)(2,i.Button,{icon:"exclamation-triangle",onClick:function(){return a("emergency_shutdown")},color:"bad",children:"EMERGENCY SHUTDOWN"})||null],0),children:[(0,o.createComponentVNode)(2,i.Button,{icon:"expand-arrows-alt",onClick:function(){return a("set_range")},children:"Set Field Range"}),(0,o.createComponentVNode)(2,i.Button,{icon:"bolt",onClick:function(){return a("set_input_cap")},children:"Set Input Cap"}),(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Set inactive power use intensity",children:s.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{selected:e===u,disabled:4===l,onClick:function(){return a("switch_idle",{switch_idle:e})},children:e},e)}))})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.ParticleAccelerator=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.ParticleAccelerator=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.assembled,u=l.power,s=l.strength;return(0,o.createComponentVNode)(2,a.Window,{width:350,height:185,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:[(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"sync",content:"Run Scan",onClick:function(){return c("scan")}}),children:(0,o.createComponentVNode)(2,i.Box,{color:d?"good":"bad",children:d?"Ready - All parts in place":"Unable to detect all parts"})})})}),(0,o.createComponentVNode)(2,i.Section,{title:"Particle Accelerator Controls",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,i.Button,{icon:u?"power-off":"times",content:u?"On":"Off",selected:u,disabled:!d,onClick:function(){return c("power")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Particle Strength",children:[(0,o.createComponentVNode)(2,i.Button,{icon:"backward",disabled:!d,onClick:function(){return c("remove_strength")}})," ",String(s).padStart(1,"0")," ",(0,o.createComponentVNode)(2,i.Button,{icon:"forward",disabled:!d,onClick:function(){return c("add_strength")}})]})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.PartsLathe=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3),c=n(6),l=n(132);t.PartsLathe=function(e,t){var n=(0,r.useBackend)(t),d=n.act,u=n.data,s=(u.panelOpen,u.copyBoard),m=u.copyBoardReqComponents,p=u.queue,h=u.building,C=u.buildPercent,f=u.error,N=u.recipies;return(0,o.createComponentVNode)(2,a.Window,{width:500,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[f&&(0,o.createComponentVNode)(2,i.NoticeBox,{danger:!0,children:["Missing Materials: ",f]})||null,(0,o.createComponentVNode)(2,i.Section,{title:"Materials",children:(0,o.createComponentVNode)(2,l.Materials,{displayAllMat:!0})}),h&&(0,o.createComponentVNode)(2,i.Section,{title:"Currently Building",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Name",children:(0,c.toTitleCase)(h)}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Progress",children:(0,o.createComponentVNode)(2,i.ProgressBar,{color:"good",value:C,maxValue:100})})]})})||null,s&&(0,o.createComponentVNode)(2,i.Section,{title:"Circuit Reader",children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Loaded Circuit",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",onClick:function(){return d("ejectBoard")},children:"Eject"}),children:(0,c.toTitleCase)(s)})}),m&&m.length&&(0,o.createFragment)([m.map((function(e){return(0,o.createComponentVNode)(2,i.Box,{children:[e.qty," x ",(0,c.toTitleCase)(e.name)]},e.name)})),(0,o.createComponentVNode)(2,i.Button,{icon:"wrench",onClick:function(){return d("queueBoard")},children:"Build All"})],0)||(0,o.createComponentVNode)(2,i.Box,{children:"Board has no required components."})]}),(0,o.createComponentVNode)(2,i.Section,{title:"Queue",children:p.length&&p.map((function(e,t){return(0,o.createComponentVNode)(2,i.Box,{color:"label",children:["#",t+1,": ",(0,c.toTitleCase)(e),(t>0||!h)&&(0,o.createComponentVNode)(2,i.Button,{ml:1,icon:"times",onClick:function(){return d("cancel",{cancel:t+1})},children:"Cancel"})||null]},e)}))||(0,o.createComponentVNode)(2,i.NoticeBox,{info:!0,children:"Queue Empty"})}),(0,o.createComponentVNode)(2,i.Section,{title:"Recipes",children:N.length&&N.map((function(e){return(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"wrench",onClick:function(){return d("queue",{queue:e.type})},children:(0,c.toTitleCase)(e.name)})},e.name)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.PathogenicIsolator=void 0;var o=n(0),r=(n(5),n(20),n(1)),i=n(45),a=n(2),c=n(3),l=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data.can_print,l=e.args;return(0,o.createComponentVNode)(2,a.Section,{level:2,m:"-1rem",title:l.name||"Virus",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{disabled:!c,icon:"print",content:"Print",onClick:function(){return i("print",{type:"virus_record",vir:l.record})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"times",color:"red",onClick:function(){return i("modal_close")}})],4),children:(0,o.createComponentVNode)(2,a.Box,{mx:"0.5rem",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Spread",children:[l.spread_text," Transmission"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Possible cure",children:l.antigen}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Rate of Progression",children:l.rate}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Antibiotic Resistance",children:[l.resistance,"%"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Species Affected",children:l.species}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Symptoms",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:l.symptoms.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.stage+". "+e.name,children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",children:"Strength:"})," ",e.strength,"\xa0"]}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",children:"Aggressiveness:"})," ",e.aggressiveness]})]},e.stage)}))})})]})})})};t.PathogenicIsolator=function(e,t){var n=(0,r.useBackend)(t),s=(n.act,n.data.isolating),m=(0,r.useLocalState)(t,"tabIndex",0),p=m[0],h=m[1],C=null;return 0===p?C=(0,o.createComponentVNode)(2,d):1===p&&(C=(0,o.createComponentVNode)(2,u)),(0,i.modalRegisterBodyOverride)("virus",l),(0,o.createComponentVNode)(2,c.Window,{height:500,width:520,resizable:!0,children:[(0,o.createComponentVNode)(2,i.ComplexModal,{maxHeight:"100%",maxWidth:"95%"}),(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[s&&(0,o.createComponentVNode)(2,a.NoticeBox,{warning:!0,children:"The Isolator is currently isolating..."})||null,(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:0===p,onClick:function(){return h(0)},children:"Home"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:1===p,onClick:function(){return h(1)},children:"Database"})]}),C]})]})};var d=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,l=c.syringe_inserted,d=c.pathogen_pool,u=c.can_print;return(0,o.createComponentVNode)(2,a.Section,{title:"Pathogens",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"print",content:"Print",disabled:!u,onClick:function(){return i("print",{type:"patient_diagnosis"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject Syringe",disabled:!l,onClick:function(){return i("eject")}})],4),children:d.length&&d.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Box,{color:"label",children:(0,o.createComponentVNode)(2,a.Flex,{align:"center",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:[(0,o.createVNode)(1,"u",null,[(0,o.createTextVNode)("Stamm #"),e.unique_id],0),e.is_in_database?" (Analyzed)":" (Not Analyzed)"]}),(0,o.createComponentVNode)(2,a.Flex.Item,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"virus",content:"Isolate",onClick:function(){return i("isolate",{isolate:e.reference})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"search",content:"Database",disabled:!e.is_in_database,onClick:function(){return i("view_entry",{vir:e.record})}})]})]})}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Box,{color:"average",mb:1,children:e.name}),e.dna]})]},e.unique_id)}))||(l?(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No samples detected."}):(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No syringe inserted."}))})},u=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,l=c.database,d=c.can_print;return(0,o.createComponentVNode)(2,a.Section,{title:"Database",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"print",content:"Print",disabled:!d,onClick:function(){return i("print",{type:"virus_list"})}}),children:l.length&&l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"search",onClick:function(){return i("view_entry",{vir:e.record})},children:e.name},e.name)}))||(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"The viral database is empty."})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Pda=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3),c=n(177),l=n(596);t.Pda=function(e,t){var n=(0,r.useBackend)(t),m=(n.act,n.data),p=m.app,h=m.owner,C=m.useRetro;if(!h)return(0,o.createComponentVNode)(2,a.Window,{children:(0,o.createComponentVNode)(2,a.Window.Content,{children:(0,o.createComponentVNode)(2,i.Section,{stretchContents:!0,children:"Warning: No ID information found! Please swipe ID!"})})});var f=function(e){var t;try{t=l("./"+e+".js")}catch(o){if("MODULE_NOT_FOUND"===o.code)return(0,c.routingError)("notFound",e);throw o}var n=t[e];return n||(0,c.routingError)("missingExport",e)}(p.template),N=(0,r.useLocalState)(t,"settingsMode",!1),b=N[0],V=N[1];return(0,o.createComponentVNode)(2,a.Window,{width:580,height:670,theme:C?"pda-retro":null,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,d,{settingsMode:b,setSettingsMode:V}),b&&(0,o.createComponentVNode)(2,u)||(0,o.createComponentVNode)(2,i.Section,{title:(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Icon,{name:p.icon,mr:1}),p.name]}),p:1,children:(0,o.createComponentVNode)(2,f)}),(0,o.createComponentVNode)(2,i.Box,{mb:8}),(0,o.createComponentVNode)(2,s,{setSettingsMode:V})]})})};var d=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=e.settingsMode,d=e.setSettingsMode,u=c.idInserted,s=c.idLink,m=(c.cartridge_name,c.stationTime);return(0,o.createComponentVNode)(2,i.Box,{mb:1,children:(0,o.createComponentVNode)(2,i.Flex,{align:"center",justify:"space-between",children:[!!u&&(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",color:"transparent",onClick:function(){return a("Authenticate")},content:s})}),(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,textAlign:"center",bold:!0,children:m}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:[(0,o.createComponentVNode)(2,i.Button,{selected:l,onClick:function(){return d(!l)},icon:"cog"}),(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return a("Retro")},icon:"adjust"})]})]})})},u=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.idInserted,d=c.idLink,u=c.cartridge_name,s=c.touch_silent;return(0,o.createComponentVNode)(2,i.Section,{title:"Settings",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"R.E.T.R.O Mode",children:(0,o.createComponentVNode)(2,i.Button,{icon:"cog",content:"Retro Theme",onClick:function(){return a("Retro")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Touch Sounds",children:(0,o.createComponentVNode)(2,i.Button,{icon:"cog",selected:!s,content:s?"Disabled":"Enabled",onClick:function(){return a("TouchSounds")}})}),!!u&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Cartridge",children:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",onClick:function(){return a("Eject")},content:u})}),!!l&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"ID Card",children:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",onClick:function(){return a("Authenticate")},content:d})})]})})},s=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=e.setSettingsMode,d=c.app,u=c.useRetro;return(0,o.createComponentVNode)(2,i.Box,{position:"fixed",bottom:"0%",left:"0%",right:"0%",backgroundColor:u?"#6f7961":"#1b1b1b",children:(0,o.createComponentVNode)(2,i.Flex,{children:[(0,o.createComponentVNode)(2,i.Flex.Item,{basis:"33%",children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,color:"transparent",iconColor:d.has_back?"white":"disabled",textAlign:"center",icon:"undo",mb:0,fontSize:1.7,onClick:function(){return a("Back")}})}),(0,o.createComponentVNode)(2,i.Flex.Item,{basis:"33%",children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,color:"transparent",iconColor:d.is_home?"disabled":"white",textAlign:"center",icon:"home",mb:0,fontSize:1.7,onClick:function(){l(!1),a("Home")}})})]})})}},function(e,t,n){var o={"./pda_atmos_scan.js":597,"./pda_janitor.js":598,"./pda_main_menu.js":599,"./pda_manifest.js":600,"./pda_medical.js":601,"./pda_messenger.js":602,"./pda_news.js":603,"./pda_notekeeper.js":604,"./pda_power.js":605,"./pda_security.js":606,"./pda_signaller.js":607,"./pda_status_display.js":608,"./pda_supply.js":609};function r(e){var t=i(e);return n(t)}function i(e){if(!n.o(o,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return o[e]}r.keys=function(){return Object.keys(o)},r.resolve=i,e.exports=r,r.id=596},function(e,t,n){"use strict";t.__esModule=!0,t.pda_atmos_scan=void 0;var o=n(0),r=n(8),i=n(6),a=n(1),c=n(2);t.pda_atmos_scan=function(e,t){var n=(0,a.useBackend)(t),l=(n.act,n.data.aircontents);return(0,o.createComponentVNode)(2,c.Box,{children:(0,o.createComponentVNode)(2,c.LabeledList,{children:(0,r.filter)((function(e){return"0"!==e.val||"Pressure"===e.entry||"Temperature"===e.entry}))(l).map((function(e){return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:e.entry,color:(t=e.val,n=e.bad_low,r=e.poor_low,a=e.poor_high,l=e.bad_high,ta?"average":t>l?"bad":"good"),children:[e.val,(0,i.decodeHtmlEntities)(e.units)]},e.entry);var t,n,r,a,l}))})})}},function(e,t,n){"use strict";t.__esModule=!0,t.pda_janitor=void 0;var o=n(0),r=(n(8),n(6),n(1)),i=n(2);t.pda_janitor=function(e,t){var n=(0,r.useBackend)(t),a=(n.act,n.data.janitor);return(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Current Location",children:0===a.user_loc.x&&(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Unknown"})||(0,o.createComponentVNode)(2,i.Box,{children:[a.user_loc.x," / ",a.user_loc.y]})})}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Mop Locations",children:a.mops&&(0,o.createVNode)(1,"ul",null,a.mops.map((function(e,t){return(0,o.createVNode)(1,"li",null,[e.x,(0,o.createTextVNode)(" / "),e.y,(0,o.createTextVNode)(" - "),e.dir,(0,o.createTextVNode)(" - Status: "),e.status],0,null,t)})),0)||(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No mops detected nearby."})}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Mop Bucket Locations",children:a.buckets&&(0,o.createVNode)(1,"ul",null,a.buckets.map((function(e,t){return(0,o.createVNode)(1,"li",null,[e.x,(0,o.createTextVNode)(" / "),e.y,(0,o.createTextVNode)(" - "),e.dir,(0,o.createTextVNode)(" - Capacity: "),e.volume,(0,o.createTextVNode)("/"),e.max_volume],0,null,t)})),0)||(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No buckets detected nearby."})}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Cleanbot Locations",children:a.cleanbots&&(0,o.createVNode)(1,"ul",null,a.cleanbots.map((function(e,t){return(0,o.createVNode)(1,"li",null,[e.x,(0,o.createTextVNode)(" / "),e.y,(0,o.createTextVNode)(" - "),e.dir,(0,o.createTextVNode)(" - Status: "),e.status],0,null,t)})),0)||(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No cleanbots detected nearby."})}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Janitorial Cart Locations",children:a.carts&&(0,o.createVNode)(1,"ul",null,a.carts.map((function(e,t){return(0,o.createVNode)(1,"li",null,[e.x,(0,o.createTextVNode)(" / "),e.y,(0,o.createTextVNode)(" - "),e.dir,(0,o.createTextVNode)(" - Water Level: "),e.volume,(0,o.createTextVNode)("/"),e.max_volume],0,null,t)})),0)||(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No janitorial carts detected nearby."})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.pda_main_menu=void 0;var o=n(0),r=(n(5),n(1)),i=n(2);t.pda_main_menu=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.owner,d=c.ownjob,u=c.idInserted,s=c.categories,m=c.pai,p=c.notifying;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Owner",color:"average",children:[l,", ",d]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"ID",children:(0,o.createComponentVNode)(2,i.Button,{icon:"sync",content:"Update PDA Info",disabled:!u,onClick:function(){return a("UpdateInfo")}})})]})}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Functions",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:s.map((function(e){var t=c.apps[e];return t&&t.length?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e,children:t.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:e.ref in p?e.notify_icon:e.icon,iconSpin:e.ref in p,color:e.ref in p?"red":"transparent",content:e.name,onClick:function(){return a("StartProgram",{program:e.ref})}},e.ref)}))},e):null}))})}),!!m&&(0,o.createComponentVNode)(2,i.Section,{level:2,title:"pAI",children:[(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"cog",content:"Configuration",onClick:function(){return a("pai",{option:1})}}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"eject",content:"Eject pAI",onClick:function(){return a("pai",{option:2})}})]})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.pda_manifest=void 0;var o=n(0),r=(n(8),n(1)),i=n(2),a=n(94);t.pda_manifest=function(e,t){var n=(0,r.useBackend)(t);n.act,n.data;return(0,o.createComponentVNode)(2,i.Box,{color:"white",children:(0,o.createComponentVNode)(2,a.CrewManifestContent)})}},function(e,t,n){"use strict";t.__esModule=!0,t.pda_medical=void 0;var o=n(0),r=(n(8),n(6),n(1)),i=n(2);t.pda_medical=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.recordsList,d=c.records;if(d){var u=d.general,s=d.medical;return(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Section,{level:2,title:"General Data",children:u&&(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Name",children:u.name}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Sex",children:u.sex}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Species",children:u.species}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Age",children:u.age}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Rank",children:u.rank}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Fingerprint",children:u.fingerprint}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Physical Status",children:u.p_stat}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Mental Status",children:u.m_stat})]})||(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"General record lost!"})}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Medical Data",children:s&&(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Blood Type",children:s.b_type}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Minor Disabilities",children:s.mi_dis}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Details",children:s.mi_dis_d}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Major Disabilities",children:s.ma_dis}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Details",children:s.ma_dis_d}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Allergies",children:s.alg}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Details",children:s.alg_d}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Current Disease",children:s.cdi}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Details",children:s.cdi_d}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Important Notes",children:s.notes})]})||(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Medical record lost!"})})]})}return(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Select a record",children:l.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:"eye",fluid:!0,content:e.Name,onClick:function(){return a("Records",{target:e.ref})}},e.ref)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.pda_messenger=void 0;var o=n(0),r=n(6),i=n(8),a=n(1),c=n(2);t.pda_messenger=function(e,t){var n=(0,a.useBackend)(t),r=(n.act,n.data);r.auto_scroll,r.convo_name,r.convo_job,r.messages;return r.active_conversation?(0,o.createComponentVNode)(2,d):(0,o.createComponentVNode)(2,u)};var l=function(e,t,n){if(t<0||t>n.length)return e.sent?"TinderMessage_First_Sent":"TinderMessage_First_Received";var o=n[t].sent;return e.sent&&o?"TinderMessage_Subsequent_Sent":e.sent||o?e.sent?"TinderMessage_First_Sent":"TinderMessage_First_Received":"TinderMessage_Subsequent_Received"},d=function(e,t){var n=(0,a.useBackend)(t),d=n.act,u=n.data,s=(u.auto_scroll,u.convo_name),m=u.convo_job,p=u.messages,h=u.active_conversation,C=(u.useRetro,(0,a.useLocalState)(t,"clipboardMode",!1)),f=C[0],N=C[1],b=(0,o.createComponentVNode)(2,c.Section,{level:2,title:"Conversation with "+s+" ("+m+")",buttons:(0,o.createComponentVNode)(2,c.Button,{icon:"eye",selected:f,tooltip:"Enter Clipboard Mode",tooltipPosition:"bottom-left",onClick:function(){return N(!f)}}),height:"450px",stretchContents:!0,children:[(0,o.createComponentVNode)(2,c.Section,{style:{height:"97%","overflow-y":"auto"},children:(0,i.filter)((function(e){return e.target===h}))(p).map((function(e,t,n){return(0,o.createComponentVNode)(2,c.Box,{textAlign:e.sent?"right":"left",mb:1,children:(0,o.createComponentVNode)(2,c.Box,{maxWidth:"75%",className:l(e,t-1,n),inline:!0,children:(0,r.decodeHtmlEntities)(e.message)})},t)}))}),(0,o.createComponentVNode)(2,c.Button,{icon:"comment",onClick:function(){return d("Message",{target:h})},content:"Reply"})]});return f&&(b=(0,o.createComponentVNode)(2,c.Section,{level:2,title:"Conversation with "+s+" ("+m+")",buttons:(0,o.createComponentVNode)(2,c.Button,{icon:"eye",selected:f,tooltip:"Exit Clipboard Mode",tooltipPosition:"bottom-left",onClick:function(){return N(!f)}}),height:"450px",stretchContents:!0,children:[(0,o.createComponentVNode)(2,c.Section,{style:{height:"97%","overflow-y":"auto"},children:(0,i.filter)((function(e){return e.target===h}))(p).map((function(e,t){return(0,o.createComponentVNode)(2,c.Box,{className:e.sent?"ClassicMessage_Sent":"ClassicMessage_Received",children:[e.sent?"You:":"Them:"," ",(0,r.decodeHtmlEntities)(e.message)]},t)}))}),(0,o.createComponentVNode)(2,c.Button,{icon:"comment",onClick:function(){return d("Message",{target:h})},content:"Reply"})]})),(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createComponentVNode)(2,c.LabeledList,{children:(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Messenger Functions",children:(0,o.createComponentVNode)(2,c.Button,{icon:"trash",color:"bad",onClick:function(){return d("Clear",{option:"Convo"})},children:"Delete Conversations"})})}),b]})},u=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data,l=(i.auto_scroll,i.convopdas),d=i.pdas,u=i.charges,m=(i.plugins,i.silent),p=i.toff;return(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createComponentVNode)(2,c.LabeledList,{children:(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Messenger Functions",children:[(0,o.createComponentVNode)(2,c.Button,{selected:!m,icon:m?"volume-mute":"volume-up",onClick:function(){return r("Toggle Ringer")},children:["Ringer: ",m?"Off":"On"]}),(0,o.createComponentVNode)(2,c.Button,{color:p?"bad":"green",icon:"power-off",onClick:function(){return r("Toggle Messenger")},children:["Messenger: ",p?"Off":"On"]}),(0,o.createComponentVNode)(2,c.Button,{icon:"bell",onClick:function(){return r("Ringtone")},children:"Set Ringtone"}),(0,o.createComponentVNode)(2,c.Button,{icon:"trash",color:"bad",onClick:function(){return r("Clear",{option:"All"})},children:"Delete All Conversations"})]})}),!p&&(0,o.createComponentVNode)(2,c.Box,{children:[!!u&&(0,o.createComponentVNode)(2,c.Box,{children:[u," charges left."]}),!l.length&&!d.length&&(0,o.createComponentVNode)(2,c.Box,{children:"No other PDAs located."})||(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createComponentVNode)(2,s,{title:"Current Conversations",pdas:l,msgAct:"Select Conversation"}),(0,o.createComponentVNode)(2,s,{title:"Other PDAs",pdas:d,msgAct:"Message"})]})]})||(0,o.createComponentVNode)(2,c.Box,{color:"bad",mt:2,children:"Messenger Offline."})]})},s=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data,l=e.pdas,d=e.title,u=e.msgAct,s=i.charges,m=i.plugins;return l&&l.length?(0,o.createComponentVNode)(2,c.Section,{level:2,title:d,children:l.map((function(e){return(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createComponentVNode)(2,c.Button,{icon:"arrow-circle-down",content:e.Name,onClick:function(){return r(u,{target:e.Reference})}}),!!s&&m.map((function(t){return(0,o.createComponentVNode)(2,c.Button,{icon:t.icon,content:t.name,onClick:function(){return r("Messenger Plugin",{plugin:t.ref,target:e.Reference})}},t.ref)}))]},e.Reference)}))}):(0,o.createComponentVNode)(2,c.Section,{level:2,title:d,children:"No PDAs found."})}},function(e,t,n){"use strict";t.__esModule=!0,t.pda_news=void 0;var o=n(0),r=(n(8),n(6)),i=n(1),a=n(2);t.pda_news=function(e,t){var n=(0,i.useBackend)(t),r=(n.act,n.data),d=r.feeds,u=r.target_feed;return(0,o.createComponentVNode)(2,a.Box,{children:!d.length&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Error: No newsfeeds available. Please try again later."})||u&&(0,o.createComponentVNode)(2,c)||(0,o.createComponentVNode)(2,l)})};var c=function(e,t){var n=(0,i.useBackend)(t),c=n.act,l=n.data.target_feed;return(0,o.createComponentVNode)(2,a.Section,{title:(0,r.decodeHtmlEntities)(l.name)+" by "+(0,r.decodeHtmlEntities)(l.author),level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Back",icon:"chevron-up",onClick:function(){return c("newsfeed",{newsfeed:null})}}),children:l.messages.length&&l.messages.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{children:["- ",(0,r.decodeHtmlEntities)(e.body),!!e.img&&(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createVNode)(1,"img",null,null,1,{src:"data:image/png;base64,"+e.img}),(0,r.decodeHtmlEntities)(e.caption)||null]}),(0,o.createComponentVNode)(2,a.Box,{color:"grey",children:["[",e.message_type," by ",(0,r.decodeHtmlEntities)(e.author)," - ",e.time_stamp,"]"]})]},e.ref)}))||(0,o.createComponentVNode)(2,a.Box,{children:["No stories found in ",l.name,"."]})})},l=function(e,t){var n=(0,i.useBackend)(t),c=n.act,l=n.data,d=l.feeds,u=l.latest_news;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Recent News",level:2,children:u.length&&(0,o.createComponentVNode)(2,a.Section,{children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{mb:2,children:[(0,o.createVNode)(1,"h5",null,[(0,r.decodeHtmlEntities)(e.channel),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"chevron-up",onClick:function(){return c("newsfeed",{newsfeed:e.index})},content:"Go to"})],0),"- ",(0,r.decodeHtmlEntities)(e.body),!!e.img&&(0,o.createComponentVNode)(2,a.Box,{children:["[image omitted, view story for more details]",e.caption||null]}),(0,o.createComponentVNode)(2,a.Box,{fontSize:.9,children:["[",e.message_type," by ",(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"average",children:e.author})," - ",e.time_stamp,"]"]})]},e.index)}))})||(0,o.createComponentVNode)(2,a.Box,{children:"No recent stories found."})}),(0,o.createComponentVNode)(2,a.Section,{title:"News Feeds",level:2,children:d.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"chevron-up",onClick:function(){return c("newsfeed",{newsfeed:e.index})},content:e.name},e.index)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.pda_notekeeper=void 0;var o=n(0),r=n(1),i=n(2);t.pda_notekeeper=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data.note;return(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createVNode)(1,"div",null,null,1,{dangerouslySetInnerHTML:{__html:c}})}),(0,o.createComponentVNode)(2,i.Button,{icon:"pen",onClick:function(){return a("Edit")},content:"Edit Notes"})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.pda_power=void 0;var o=n(0),r=n(1),i=n(135);t.pda_power=function(e,t){var n=(0,r.useBackend)(t);n.act,n.data;return(0,o.createComponentVNode)(2,i.PowerMonitorContent)}},function(e,t,n){"use strict";t.__esModule=!0,t.pda_security=void 0;var o=n(0),r=(n(8),n(6),n(1)),i=n(2);t.pda_security=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.recordsList,d=c.records;if(d){var u=d.general,s=d.security;return(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Section,{level:2,title:"General Data",children:u&&(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Name",children:u.name}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Sex",children:u.sex}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Species",children:u.species}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Age",children:u.age}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Rank",children:u.rank}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Fingerprint",children:u.fingerprint}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Physical Status",children:u.p_stat}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Mental Status",children:u.m_stat})]})||(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"General record lost!"})}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Security Data",children:s&&(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Criminal Status",children:s.criminal}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Minor Crimes",children:s.mi_crim}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Details",children:s.mi_crim_d}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Major Crimes",children:s.ma_crim}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Details",children:s.ma_crim_d}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Important Notes:",children:s.notes})]})||(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Security record lost!"})})]})}return(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Select a record",children:l.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:"eye",fluid:!0,content:e.Name,onClick:function(){return a("Records",{target:e.ref})}},e.ref)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.pda_signaller=void 0;var o=n(0),r=(n(8),n(6),n(1),n(2),n(203));t.pda_signaller=function(e,t){return(0,o.createComponentVNode)(2,r.SignalerContent)}},function(e,t,n){"use strict";t.__esModule=!0,t.pda_status_display=void 0;var o=n(0),r=(n(8),n(6),n(1)),i=n(2);t.pda_status_display=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data.records;return(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Code",children:[(0,o.createComponentVNode)(2,i.Button,{color:"transparent",icon:"trash",content:"Clear",onClick:function(){return a("Status",{statdisp:"blank"})}}),(0,o.createComponentVNode)(2,i.Button,{color:"transparent",icon:"cog",content:"Evac ETA",onClick:function(){return a("Status",{statdisp:"shuttle"})}}),(0,o.createComponentVNode)(2,i.Button,{color:"transparent",icon:"cog",content:"Message",onClick:function(){return a("Status",{statdisp:"message"})}}),(0,o.createComponentVNode)(2,i.Button,{color:"transparent",icon:"exclamation-triangle",content:"ALERT",onClick:function(){return a("Status",{statdisp:"alert"})}})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Message line 1",children:(0,o.createComponentVNode)(2,i.Button,{content:c.message1+" (set)",icon:"pen",onClick:function(){return a("Status",{statdisp:"setmsg1"})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Message line 2",children:(0,o.createComponentVNode)(2,i.Button,{content:c.message2+" (set)",icon:"pen",onClick:function(){return a("Status",{statdisp:"setmsg2"})}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.pda_supply=void 0;var o=n(0),r=(n(8),n(6),n(1)),i=n(2);t.pda_supply=function(e,t){var n=(0,r.useBackend)(t),a=(n.act,n.data.supply);return(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Location",children:a.shuttle_moving?"Moving to station "+a.shuttle_eta:"Shuttle at "+a.shuttle_loc})}),(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.Box,{color:"good",bold:!0,children:"Current Approved Orders"}),a.approved.length&&a.approved.map((function(e){return(0,o.createComponentVNode)(2,i.Box,{color:"average",children:["#",e.Number," - ",e.Name," approved by ",e.OrderedBy,(0,o.createVNode)(1,"br"),e.Comment]},e.Number)}))||(0,o.createComponentVNode)(2,i.Box,{children:"None!"}),(0,o.createComponentVNode)(2,i.Box,{color:"good",bold:!0,children:"Current Requested Orders"}),a.requests.length&&a.requests.map((function(e){return(0,o.createComponentVNode)(2,i.Box,{color:"average",children:["#",e.Number," - ",e.Name," requested by ",e.OrderedBy,(0,o.createVNode)(1,"br"),e.Comment]},e.Number)}))||(0,o.createComponentVNode)(2,i.Box,{children:"None!"})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Photocopier=void 0;var o=n(0),r=n(2),i=n(1),a=n(3);t.Photocopier=function(e,t){var n=(0,i.useBackend)(t).data,u=n.isAI,s=n.has_toner,m=n.has_item;return(0,o.createComponentVNode)(2,a.Window,{title:"Photocopier",width:240,height:u?309:234,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:[s?(0,o.createComponentVNode)(2,c):(0,o.createComponentVNode)(2,r.Section,{title:"Toner",children:(0,o.createComponentVNode)(2,r.Box,{color:"average",children:"No inserted toner cartridge."})}),m?(0,o.createComponentVNode)(2,l):(0,o.createComponentVNode)(2,r.Section,{title:"Options",children:(0,o.createComponentVNode)(2,r.Box,{color:"average",children:"No inserted item."})}),!!u&&(0,o.createComponentVNode)(2,d)]})})};var c=function(e,t){var n=(0,i.useBackend)(t),a=(n.act,n.data),c=a.max_toner,l=a.current_toner,d=.66*c,u=.33*c;return(0,o.createComponentVNode)(2,r.Section,{title:"Toner",children:(0,o.createComponentVNode)(2,r.ProgressBar,{ranges:{good:[d,c],average:[u,d],bad:[0,u]},value:l,minValue:0,maxValue:c})})},l=function(e,t){var n=(0,i.useBackend)(t),a=n.act,c=n.data,l=c.num_copies;c.has_enough_toner;return(0,o.createComponentVNode)(2,r.Section,{title:"Options",children:[(0,o.createComponentVNode)(2,r.Flex,{children:[(0,o.createComponentVNode)(2,r.Flex.Item,{mt:.4,width:11,color:"label",children:"Make copies:"}),(0,o.createComponentVNode)(2,r.Flex.Item,{children:(0,o.createComponentVNode)(2,r.NumberInput,{animate:!0,width:2.6,height:1.65,step:1,stepPixelSize:8,minValue:1,maxValue:10,value:l,onDrag:function(e,t){return a("set_copies",{num_copies:t})}})}),(0,o.createComponentVNode)(2,r.Flex.Item,{children:(0,o.createComponentVNode)(2,r.Button,{ml:.2,icon:"copy",textAlign:"center",onClick:function(){return a("make_copy")},children:"Copy"})})]}),(0,o.createComponentVNode)(2,r.Button,{mt:.5,textAlign:"center",icon:"reply",fluid:!0,onClick:function(){return a("remove")},children:"Remove item"})]})},d=function(e,t){var n=(0,i.useBackend)(t),a=n.act,c=n.data.can_AI_print;return(0,o.createComponentVNode)(2,r.Section,{title:"AI Options",children:(0,o.createComponentVNode)(2,r.Box,{children:(0,o.createComponentVNode)(2,r.Button,{fluid:!0,icon:"images",textAlign:"center",disabled:!c,onClick:function(){return a("ai_photo")},children:"Print photo from database"})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.PipeDispenser=void 0;var o=n(0),r=n(1),i=n(2),a=n(3),c=n(204);t.PipeDispenser=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.disposals,s=d.p_layer,m=d.pipe_layers,p=d.categories,h=void 0===p?[]:p,C=(0,r.useLocalState)(t,"categoryName"),f=C[0],N=C[1],b=h.find((function(e){return e.cat_name===f}))||h[0];return(0,o.createComponentVNode)(2,a.Window,{width:425,height:515,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[!u&&(0,o.createComponentVNode)(2,i.Section,{title:"Layer",children:(0,o.createComponentVNode)(2,i.Box,{children:Object.keys(m).map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,checked:m[e]===s,content:e,onClick:function(){return l("p_layer",{p_layer:m[e]})}},e)}))})}),(0,o.createComponentVNode)(2,i.Section,{title:"Pipes",children:[(0,o.createComponentVNode)(2,i.Tabs,{children:h.map((function(e,t){return(0,o.createComponentVNode)(2,i.Tabs.Tab,{fluid:!0,icon:c.ICON_BY_CATEGORY_NAME[e.cat_name],selected:e.cat_name===b.cat_name,onClick:function(){return N(e.cat_name)},children:e.cat_name},e.cat_name)}))}),null==b?void 0:b.recipes.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{fluid:!0,ellipsis:!0,content:e.pipe_name,title:e.pipe_name,onClick:function(){return l("dispense_pipe",{ref:e.ref,bent:e.bent,category:b.cat_name})}},e.pipe_name)}))]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.PlantAnalyzer=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.PlantAnalyzer=function(e,t){var n=(0,r.useBackend)(t).data,i=250;return n.seed&&(i+=18*n.seed.trait_info.length),n.reagents&&n.reagents.length&&(i+=55,i+=20*n.reagents.length),(0,o.createComponentVNode)(2,a.Window,{width:400,height:i,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,c)})})};var c=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.no_seed,d=c.seed,u=c.reagents;return l?(0,o.createComponentVNode)(2,i.Section,{title:"Analyzer Unused",children:"You should go scan a plant! There is no data currently loaded."}):(0,o.createComponentVNode)(2,i.Section,{title:"Plant Information",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"print",onClick:function(){return a("print")},children:"Print Report"}),(0,o.createComponentVNode)(2,i.Button,{icon:"window-close",color:"red",onClick:function(){return a("close")}})],4),children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Plant Name",children:[d.name,"#",d.uid]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Endurance",children:d.endurance}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Yield",children:d.yield}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Maturation Time",children:d.maturation_time}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Production Time",children:d.production_time}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Potency",children:d.potency})]}),u.length&&(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Plant Reagents",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:u.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,children:[e.volume," unit(s)."]},e.name)}))})})||null,(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Other Data",children:d.trait_info.map((function(e){return(0,o.createComponentVNode)(2,i.Box,{color:"label",mb:.4,children:e},e)}))})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.PointDefenseControl=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.PointDefenseControl=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.id,u=l.turrets;return(0,o.createComponentVNode)(2,a.Window,{width:400,height:600,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i.Section,{title:"Fire Assist Mainframe: "+(d||"[no tag]"),children:u.length&&u.map((function(e){return(0,o.createComponentVNode)(2,i.Section,{level:2,title:e.id,buttons:(0,o.createComponentVNode)(2,i.Button,{selected:e.active,icon:"power-off",onClick:function(){return c("toggle_active",{target:e.ref})},children:e.active?"Online":"Offline"}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Effective range",children:e.effective_range}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Reaction wheel delay",children:e.reaction_wheel_delay}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Recharge time",children:e.recharge_time})]})},e.id)}))||(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Error: No weapon systems detected. Please check network connection."})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.PortableGenerator=void 0;var o=n(0),r=n(1),i=n(2),a=n(3),c=n(5);t.PortableGenerator=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.fuel_stored/d.fuel_capacity,s=(u>=.5?"good":u>.15&&"average")||"bad";return(0,o.createComponentVNode)(2,a.Window,{width:450,height:340,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[!d.anchored&&(0,o.createComponentVNode)(2,i.NoticeBox,{children:"Generator not anchored."}),(0,o.createComponentVNode)(2,i.Section,{title:"Status",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Power switch",children:(0,o.createComponentVNode)(2,i.Button,{icon:d.active?"power-off":"times",onClick:function(){return l("toggle_power")},selected:d.active,disabled:!d.ready_to_boot,children:d.active?"On":"Off"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Fuel Type",buttons:d.fuel_stored>=1&&(0,o.createComponentVNode)(2,i.Button,{ml:1,icon:"eject",disabled:d.active,onClick:function(){return l("eject")},children:"Eject"}),children:(0,o.createComponentVNode)(2,i.Box,{color:s,children:[d.fuel_stored,"cm\xb3 ",d.sheet_name]})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Current fuel level",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:d.fuel_stored/d.fuel_capacity,ranges:{good:[.5,Infinity],average:[.15,.5],bad:[-Infinity,.15]},children:[d.fuel_stored,"cm\xb3 / ",d.fuel_capacity,"cm\xb3"]})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Fuel Usage",children:[d.fuel_usage," cm\xb3/s"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Temperature",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:d.temperature_current,maxValue:d.temperature_max+30,color:d.temperature_overheat?"bad":"good",children:[(0,c.round)(d.temperature_current),"\xb0C"]})})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Output",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Current output",color:d.unsafe_output?"bad":null,children:d.power_output}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Adjust output",children:[(0,o.createComponentVNode)(2,i.Button,{icon:"minus",onClick:function(){return l("lower_power")},children:d.power_generated}),(0,o.createComponentVNode)(2,i.Button,{icon:"plus",onClick:function(){return l("higher_power")},children:d.power_generated})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Power available",children:(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:!d.connected&&"bad",children:d.connected?d.power_available:"Unconnected"})})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.PortablePump=void 0;var o=n(0),r=n(1),i=n(2),a=n(3),c=n(205);t.PortablePump=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.direction,s=d.target_pressure,m=d.default_pressure,p=d.min_pressure,h=d.max_pressure;return(0,o.createComponentVNode)(2,a.Window,{width:330,height:375,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,c.PortableBasicInfo),(0,o.createComponentVNode)(2,i.Section,{title:"Pump",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:u?"sign-in-alt":"sign-out-alt",content:u?"In":"Out",selected:u,onClick:function(){return l("direction")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Output",children:(0,o.createComponentVNode)(2,i.Slider,{mt:"0.4em",animated:!0,minValue:p,maxValue:h,value:s,unit:"kPa",stepPixelSize:.3,onChange:function(e,t){return l("pressure",{pressure:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Presets",children:[(0,o.createComponentVNode)(2,i.Button,{icon:"minus",disabled:s===p,onClick:function(){return l("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"sync",disabled:s===m,onClick:function(){return l("pressure",{pressure:"reset"})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"plus",disabled:s===h,onClick:function(){return l("pressure",{pressure:"max"})}})]})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.PortableScrubber=void 0;var o=n(0),r=n(1),i=n(2),a=(n(28),n(3)),c=n(205);t.PortableScrubber=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.rate,s=d.minrate,m=d.maxrate;return(0,o.createComponentVNode)(2,a.Window,{width:320,height:350,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:[(0,o.createComponentVNode)(2,c.PortableBasicInfo),(0,o.createComponentVNode)(2,i.Section,{title:"Power Regulator",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Volume Rate",children:(0,o.createComponentVNode)(2,i.Slider,{mt:"0.4em",animated:!0,minValue:s,maxValue:m,value:u,unit:"L/s",onChange:function(e,t){return l("volume_adj",{vol:t})}})})})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.PortableTurret=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.PortableTurret=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.locked,u=l.on,s=l.lethal,m=l.lethal_is_configurable,p=l.targetting_is_configurable,h=l.check_weapons,C=l.neutralize_noaccess,f=l.neutralize_norecord,N=l.neutralize_criminals,b=l.neutralize_all,V=l.neutralize_nonsynth,g=l.neutralize_unidentified,v=l.neutralize_down;return(0,o.createComponentVNode)(2,a.Window,{width:500,height:400,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.NoticeBox,{children:["Swipe an ID card to ",d?"unlock":"lock"," this interface."]}),(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",children:(0,o.createComponentVNode)(2,i.Button,{icon:u?"power-off":"times",content:u?"On":"Off",selected:u,disabled:d,onClick:function(){return c("power")}})}),!!m&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Lethals",children:(0,o.createComponentVNode)(2,i.Button,{icon:s?"exclamation-triangle":"times",content:s?"On":"Off",color:s?"bad":"",disabled:d,onClick:function(){return c("lethal")}})})]})}),!!p&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Humanoid Targets",children:[(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,checked:N,content:"Wanted Criminals",disabled:d,onClick:function(){return c("autharrest")}}),(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,checked:f,content:"No Sec Record",disabled:d,onClick:function(){return c("authnorecord")}}),(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,checked:h,content:"Unauthorized Weapons",disabled:d,onClick:function(){return c("authweapon")}}),(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,checked:C,content:"Unauthorized Access",disabled:d,onClick:function(){return c("authaccess")}})]}),(0,o.createComponentVNode)(2,i.Section,{title:"Other Targets",children:[(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,checked:g,content:"Unidentified Lifesigns (Xenos, Animals, Etc)",disabled:d,onClick:function(){return c("authxeno")}}),(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,checked:V,content:"All Non-Synthetics",disabled:d,onClick:function(){return c("authsynth")}}),(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,checked:v,content:"Downed Targets",disabled:d,onClick:function(){return c("authdown")}}),(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,checked:b,content:"All Entities",disabled:d,onClick:function(){return c("authall")}})]})],4)]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.PrecisionEditor=void 0;var o=n(0),r=(n(8),n(1)),i=n(2),a=n(3);n(183);t.PrecisionEditor=function(e,t){var n=(0,r.useBackend)(t),u=(n.act,n.data.screenstate);return(0,o.createComponentVNode)(2,a.Window,{resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i.Section,{title:"Seed status",children:["main"===u&&(0,o.createComponentVNode)(2,c),"colors"===u&&(0,o.createComponentVNode)(2,l),"reagents"===u&&(0,o.createComponentVNode)(2,d)]})})})};var c=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.health,d=c.plantcolor,u=c.fruitcolor,s=c.chems,m=c.seedname;return(0,o.createComponentVNode)(2,i.LabeledList,{children:s?(0,o.createFragment)([(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Name",children:m}),l<100?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Genetic Integrity",children:100-l+"%"}):(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Genetic Integrity",children:"UNVIABLE"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Plant Color",children:d}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Fruit Color",children:u}),(0,o.createComponentVNode)(2,i.LabeledList.Divider,{size:2}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Chems produced in fruit (click to splice out)",children:s.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:e.displayname,onClick:function(){return a("prune",{gene_name:e.name})}},e.displayname)}))}),(0,o.createComponentVNode)(2,i.Button,{content:"Edit Colors",onClick:function(){return a("change_focus",{window:"colors"})}}),(0,o.createComponentVNode)(2,i.Button,{content:"Add Reagents",onClick:function(){return a("change_focus",{window:"reagents"})}}),(0,o.createComponentVNode)(2,i.LabeledList.Divider,{size:2}),(0,o.createComponentVNode)(2,i.Button,{content:"Eject Seed",onClick:function(){return a("eject")}})],0):(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Waiting",children:"There is currently no seed loaded."})})},l=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.plantcolor,d=c.fruitcolor;return(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Plant Color",children:l}),(0,o.createComponentVNode)(2,i.ColorBox,{color:l}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Fruit Color",children:d}),(0,o.createComponentVNode)(2,i.ColorBox,{color:d}),(0,o.createComponentVNode)(2,i.Button,{content:"Change plant color",onClick:function(){return a("change_color",{option:0})}}),(0,o.createComponentVNode)(2,i.Button,{content:"Change fruit color",onClick:function(){return a("change_color",{option:1})}}),(0,o.createComponentVNode)(2,i.LabeledList.Divider,{size:2}),(0,o.createComponentVNode)(2,i.Button,{content:"Return",onClick:function(){return a("change_focus",{window:"main"})}})]})},d=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.beakerchems,d=c.health;return(0,o.createComponentVNode)(2,i.LabeledList,{children:[d<100?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Genetic Integrity",children:100-d+"%"}):(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Genetic Integrity",children:"UNVIABLE"}),(0,o.createComponentVNode)(2,i.NoticeBox,{info:1,width:19,height:9,ml:1,children:["Available chems to choose are based on the reagents stored in the beaker. "," A minimum of 100 units of reagent is required to generate a viable sequence. ","The chosen reagent will be consumed in the process.",(0,o.createComponentVNode)(2,i.Box,{bold:1,mt:1,children:"This process severely damages genetic integrity."})]}),(0,o.createComponentVNode)(2,i.Box,{width:20,opacity:.5,ml:1,mt:6,mb:2,children:["Plant will produce 1 additional unit for every 25 units beyond 100"," (modified by potency)"]}),l?(0,o.createFragment)([d<100?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Available reagents",children:l.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:e.displayname,onClick:function(){return a("add_chem",{target_chem:e.name})}},e.displayname)}))}):(0,o.createComponentVNode)(2,i.NoticeBox,{warning:1,children:"WARNING: Genetic integrity of seed is too poor to proceed."}),(0,o.createComponentVNode)(2,i.Button,{content:"Eject Beaker",onClick:function(){return a("eject_beaker")}})],0):(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Waiting",children:"There is currently no beaker loaded."}),(0,o.createComponentVNode)(2,i.Button,{content:"Return",onClick:function(){return a("change_focus",{window:"main"})}})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.PressureRegulator=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.PressureRegulator=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.on,u=l.pressure_set,s=(l.max_pressure,l.input_pressure),m=l.output_pressure,p=l.regulate_mode,h=l.set_flow_rate,C=l.last_flow_rate;return(0,o.createComponentVNode)(2,a.Window,{width:470,height:370,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:[(0,o.createComponentVNode)(2,i.Section,{title:"Status",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Input Pressure",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:s/100})," kPa"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Output Pressure",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:m/100})," kPa"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Flow Rate",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:C/10})," L/s"]})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Controls",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",content:d?"Unlocked":"Closed",selected:d,onClick:function(){return c("toggle_valve")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Pressure Regulation",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",content:"Off",selected:0===p,onClick:function(){return c("regulate_mode",{mode:"off"})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"compress-arrows-alt",content:"Input",selected:1===p,onClick:function(){return c("regulate_mode",{mode:"input"})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"expand-arrows-alt",content:"Output",selected:2===p,onClick:function(){return c("regulate_mode",{mode:"output"})}})],4)}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Desired Output Pressure",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"compress-arrows-alt",content:"MIN",onClick:function(){return c("set_press",{press:"min"})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"expand-arrows-alt",content:"MAX",onClick:function(){return c("set_press",{press:"max"})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"wrench",content:"SET",onClick:function(){return c("set_press",{press:"set"})}})],4),children:[u/100," kPa"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Flow Rate Limit",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"compress-arrows-alt",content:"MIN",onClick:function(){return c("set_flow_rate",{press:"min"})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"expand-arrows-alt",content:"MAX",onClick:function(){return c("set_flow_rate",{press:"max"})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"wrench",content:"SET",onClick:function(){return c("set_flow_rate",{press:"set"})}})],4),children:[h/10," L/s"]})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.PrisonerManagement=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);n(20);t.PrisonerManagement=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.locked,u=l.chemImplants,s=l.trackImplants;return(0,o.createComponentVNode)(2,a.Window,{width:500,height:400,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:d&&(0,o.createComponentVNode)(2,i.Section,{title:"Locked",textAlign:"center",children:["This interface is currently locked.",(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"unlock",onClick:function(){return c("lock")},children:"Unlock"})})]})||(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Interface Lock",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"lock",onClick:function(){return c("lock")},children:"Lock Interface"})}),(0,o.createComponentVNode)(2,i.Section,{title:"Chemical Implants",children:u.length&&(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:"Host"}),(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:"Units Remaining"}),(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:"Inject"})]}),u.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:e.host}),(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:[e.units,"u remaining"]}),(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:[(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return c("inject",{imp:e.ref,val:1})},children:"(1)"}),(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return c("inject",{imp:e.ref,val:5})},children:"(5)"}),(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return c("inject",{imp:e.ref,val:10})},children:"(10)"})]})]},e.ref)}))]})||(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"No chemical implants found."})}),(0,o.createComponentVNode)(2,i.Section,{title:"Tracking Implants",children:s.length&&(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:"Host"}),(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:"Location"}),(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:"Message"})]}),s.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:[e.host," (",e.id,")"]}),(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:e.loc}),(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return c("warn",{imp:e.ref})},children:"Message"})})]},e.ref)}))]})||(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"No chemical implants found."})})],4)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.RIGSuit=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3),c=n(6);t.RIGSuit=function(e,t){var n=(0,r.useBackend)(t),c=(n.act,n.data),s=c.interfacelock,m=c.malf,p=c.aicontrol,h=c.ai,C=null;return s||m?C=(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"--HARDSUIT INTERFACE OFFLINE--"}):!h&&p&&(C=(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"-- HARDSUIT CONTROL OVERRIDDEN BY AI --"})),(0,o.createComponentVNode)(2,a.Window,{height:480,width:550,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:C||(0,o.createFragment)([(0,o.createComponentVNode)(2,l),(0,o.createComponentVNode)(2,d),(0,o.createComponentVNode)(2,u)],4)})})};var l=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.chargestatus,d=c.charge,u=c.maxcharge,s=c.aioverride,m=c.sealing,p=c.sealed,h=c.emagged,C=c.securitycheck,f=c.coverlock,N=(0,o.createComponentVNode)(2,i.Button,{content:"Suit "+(m?"seals working...":p?"is Active":"is Inactive"),icon:m?"redo":p?"power-off":"lock-open",iconSpin:m,disabled:m,selected:p,onClick:function(){return a("toggle_seals")}}),b=(0,o.createComponentVNode)(2,i.Button,{content:"AI Control "+(s?"Enabled":"Disabled"),selected:s,icon:"robot",onClick:function(){return a("toggle_ai_control")}});return(0,o.createComponentVNode)(2,i.Section,{title:"Status",buttons:(0,o.createFragment)([N,b],0),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Power Supply",children:(0,o.createComponentVNode)(2,i.ProgressBar,{minValue:0,maxValue:50,value:l,ranges:{good:[35,Infinity],average:[15,35],bad:[-Infinity,15]},children:[d," / ",u]})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Cover Status",children:h||!C?(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Error - Maintenance Lock Control Offline"}):(0,o.createComponentVNode)(2,i.Button,{icon:f?"lock":"lock-open",content:f?"Locked":"Unlocked",onClick:function(){return a("toggle_suit_lock")}})})]})})},d=function(e,t){var n=(0,r.useBackend)(t),a=n.act,l=n.data,d=l.sealing,u=l.helmet,s=l.helmetDeployed,m=l.gauntlets,p=l.gauntletsDeployed,h=l.boots,C=l.bootsDeployed,f=l.chest,N=l.chestDeployed;return(0,o.createComponentVNode)(2,i.Section,{title:"Hardware",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Helmet",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:s?"sign-out-alt":"sign-in-alt",content:s?"Deployed":"Deploy",disabled:d,selected:s,onClick:function(){return a("toggle_piece",{piece:"helmet"})}}),children:u?(0,c.capitalize)(u):"ERROR"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Gauntlets",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:p?"sign-out-alt":"sign-in-alt",content:p?"Deployed":"Deploy",disabled:d,selected:p,onClick:function(){return a("toggle_piece",{piece:"gauntlets"})}}),children:m?(0,c.capitalize)(m):"ERROR"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Boots",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:C?"sign-out-alt":"sign-in-alt",content:C?"Deployed":"Deploy",disabled:d,selected:C,onClick:function(){return a("toggle_piece",{piece:"boots"})}}),children:h?(0,c.capitalize)(h):"ERROR"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Chestpiece",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:N?"sign-out-alt":"sign-in-alt",content:N?"Deployed":"Deploy",disabled:d,selected:N,onClick:function(){return a("toggle_piece",{piece:"chest"})}}),children:f?(0,c.capitalize)(f):"ERROR"})]})})},u=function(e,t){var n=(0,r.useBackend)(t),a=n.act,l=n.data,d=l.sealed,u=l.sealing,s=l.primarysystem,m=l.modules;return!d||u?(0,o.createComponentVNode)(2,i.Section,{title:"Modules",children:(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"HARDSUIT SYSTEMS OFFLINE"})}):(0,o.createComponentVNode)(2,i.Section,{title:"Modules",children:[(0,o.createComponentVNode)(2,i.Box,{color:"label",mb:"0.2rem",fontSize:1.5,children:["Selected Primary: ",(0,c.capitalize)(s||"None")]}),m&&m.map((function(e,t){return(0,o.createComponentVNode)(2,i.Section,{level:2,title:(0,c.toTitleCase)(e.name)+(e.damage?" (damaged)":""),buttons:(0,o.createFragment)([e.can_select?(0,o.createComponentVNode)(2,i.Button,{selected:e.name===s,content:e.name===s?"Selected":"Select",icon:"arrow-circle-right",onClick:function(){return a("interact_module",{module:e.index,module_mode:"select"})}}):null,e.can_use?(0,o.createComponentVNode)(2,i.Button,{content:e.engagestring,icon:"arrow-circle-down",onClick:function(){return a("interact_module",{module:e.index,module_mode:"engage"})}}):null,e.can_toggle?(0,o.createComponentVNode)(2,i.Button,{selected:e.is_active,content:e.is_active?e.deactivatestring:e.activatestring,icon:"arrow-circle-down",onClick:function(){return a("interact_module",{module:e.index,module_mode:"toggle"})}}):null],0),children:[e.damage>=2?(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"-- MODULE DESTROYED --"}):(0,o.createComponentVNode)(2,i.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:[(0,o.createComponentVNode)(2,i.Box,{color:"average",children:["Engage: ",e.engagecost]}),(0,o.createComponentVNode)(2,i.Box,{color:"average",children:["Active: ",e.activecost]}),(0,o.createComponentVNode)(2,i.Box,{color:"average",children:["Passive: ",e.passivecost]})]}),(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:e.desc})]}),e.charges?(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.Section,{title:"Module Charges",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Selected",children:(0,c.capitalize)(e.chargetype)}),e.charges.map((function(t,n){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:(0,c.capitalize)(t.caption),children:(0,o.createComponentVNode)(2,i.Button,{selected:e.realchargetype===t.index,icon:"arrow-right",onClick:function(){return a("interact_module",{module:e.index,module_mode:"select_charge_type",charge_type:t.index})}})},t.caption)}))]})})}):null]},e.name)}))]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Radio=void 0;var o=n(0),r=(n(8),n(5)),i=n(1),a=n(2),c=n(28),l=n(3);t.Radio=function(e,t){var n=(0,i.useBackend)(t),d=n.act,u=n.data,s=u.rawfreq,m=u.minFrequency,p=u.maxFrequency,h=u.listening,C=u.broadcasting,f=u.subspace,N=u.subspaceSwitchable,b=u.chan_list,V=u.loudspeaker,g=u.mic_cut,v=u.spk_cut,_=u.useSyndMode,k=c.RADIO_CHANNELS.find((function(e){return e.freq===Number(s)})),y=156;return b&&b.length>0?y+=28*b.length+6:y+=24,N&&(y+=38),(0,o.createComponentVNode)(2,l.Window,{width:310,height:y,resizable:!0,theme:_?"syndicate":"",children:(0,o.createComponentVNode)(2,l.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Frequency",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,unit:"kHz",step:.2,stepPixelSize:10,minValue:m/10,maxValue:p/10,value:s/10,format:function(e){return(0,r.toFixed)(e,1)},onDrag:function(e,t){return d("setFrequency",{freq:(0,r.round)(10*t)})}}),k&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:k.color,ml:2,children:["[",k.name,"]"]})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Audio",children:[(0,o.createComponentVNode)(2,a.Button,{textAlign:"center",width:"37px",icon:h?"volume-up":"volume-mute",selected:h,disabled:v,onClick:function(){return d("listen")}}),(0,o.createComponentVNode)(2,a.Button,{textAlign:"center",width:"37px",icon:C?"microphone":"microphone-slash",selected:C,disabled:g,onClick:function(){return d("broadcast")}}),!!N&&(0,o.createComponentVNode)(2,a.Box,{children:(0,o.createComponentVNode)(2,a.Button,{icon:"bullhorn",selected:f,content:"Subspace Tx "+(f?"ON":"OFF"),onClick:function(){return d("subspace")}})}),!!N&&(0,o.createComponentVNode)(2,a.Box,{children:(0,o.createComponentVNode)(2,a.Button,{icon:V?"volume-up":"volume-mute",selected:V,content:"Loudspeaker",onClick:function(){return d("toggleLoudspeaker")}})})]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Channels",children:[(!b||0===b.length)&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"bad",children:"No channels detected."}),(0,o.createComponentVNode)(2,a.LabeledList,{children:b?b.map((function(e){var t=c.RADIO_CHANNELS.find((function(t){return t.freq===Number(e.freq)})),n="default";return t&&(n=t.color),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.display_name,labelColor:n,textAlign:"right",children:e.secure_channel&&f?(0,o.createComponentVNode)(2,a.Button,{icon:e.sec_channel_listen?"square-o":"check-square-o",selected:!e.sec_channel_listen,content:e.sec_channel_listen?"Off":"On",onClick:function(){return d("channel",{channel:e.chan})}}):(0,o.createComponentVNode)(2,a.Button,{content:"Switch",selected:e.chan===s,onClick:function(){return d("specFreq",{channel:e.chan})}})},e.chan)})):null})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.RequestConsole=void 0;var o=n(0),r=n(6),i=n(1),a=n(2),c=n(3),l=function(e,t){var n=(0,i.useBackend)(t).act,r=e.dept_list,c=e.department;return(0,o.createComponentVNode)(2,a.LabeledList,{children:r.sort().map((function(e){return e!==c&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"envelope-open-text",onClick:function(){return n("write",{write:e,priority:1})},children:"Message"}),(0,o.createComponentVNode)(2,a.Button,{icon:"exclamation-triangle",onClick:function(){return n("write",{write:e,priority:2})},children:"High Priority"})],4)})||null}))})},d={0:function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data.silent;return(0,o.createComponentVNode)(2,a.Section,{title:"Settings",children:(0,o.createComponentVNode)(2,a.Button,{selected:!c,icon:c?"volume-mute":"volume-up",onClick:function(){return r("toggleSilent")},children:["Speaker ",c?"OFF":"ON"]})})},1:function(e,t){var n=(0,i.useBackend)(t),r=(n.act,n.data),c=r.department,d=r.assist_dept;return(0,o.createComponentVNode)(2,a.Section,{title:"Request assistance from another department",children:(0,o.createComponentVNode)(2,l,{dept_list:d,department:c})})},2:function(e,t){var n=(0,i.useBackend)(t),r=(n.act,n.data),c=r.department,d=r.supply_dept;return(0,o.createComponentVNode)(2,a.Section,{title:"Supplies",children:(0,o.createComponentVNode)(2,l,{dept_list:d,department:c})})},3:function(e,t){var n=(0,i.useBackend)(t),r=(n.act,n.data),c=r.department,d=r.info_dept;return(0,o.createComponentVNode)(2,a.Section,{title:"Report Anonymous Information",children:(0,o.createComponentVNode)(2,l,{dept_list:d,department:c})})},4:function(e,t){var n=(0,i.useBackend)(t),r=n.act;n.data;return(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Box,{fontSize:2,color:"good",children:"Message Sent Successfully"}),(0,o.createComponentVNode)(2,a.Box,{children:(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-right",onClick:function(){return r("setScreen",{setScreen:0})},children:"Continue"})})]})},5:function(e,t){var n=(0,i.useBackend)(t),r=n.act;n.data;return(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Box,{fontSize:1.5,bold:!0,color:"bad",children:"An error occured. Message Not Sent."}),(0,o.createComponentVNode)(2,a.Box,{children:(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-right",onClick:function(){return r("setScreen",{setScreen:0})},children:"Continue"})})]})},6:function(e,t){var n=(0,i.useBackend)(t),c=n.act,l=n.data.message_log;return(0,o.createComponentVNode)(2,a.Section,{title:"Messages",children:l.length&&l.map((function(e,t){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:(0,r.decodeHtmlEntities)(e[0]),buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"print",onClick:function(){return c("print",{print:t+1})},children:"Print"}),children:(0,r.decodeHtmlEntities)(e[1])},t)}))||(0,o.createComponentVNode)(2,a.Box,{children:"No messages."})})},7:function(e,t){var n=(0,i.useBackend)(t),c=n.act,l=n.data,d=l.message,u=l.recipient,s=l.priority,m=l.msgStamped,p=l.msgVerified;return(0,o.createComponentVNode)(2,a.Section,{title:"Message Authentication",children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Message for "+u,children:d}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Priority",children:2===s?"High Priority":1===s?"Normal Priority":"Unknown"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Validated By",color:p?"good":"bad",children:(0,r.decodeHtmlEntities)(p)||"No Validation"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Stamped By",color:m?"good":"bad",children:(0,r.decodeHtmlEntities)(m)||"No Stamp"})]}),(0,o.createComponentVNode)(2,a.Button,{mt:1,icon:"share",onClick:function(){return c("department",{department:u})},children:"Send Message"}),(0,o.createComponentVNode)(2,a.Button,{icon:"undo",onClick:function(){return c("setScreen",{setScreen:0})},children:"Back"})]})},8:function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data,l=(c.department,c.screen,c.message_log,c.newmessagepriority,c.silent,c.announcementConsole,c.assist_dept,c.supply_dept,c.info_dept,c.message),d=(c.recipient,c.priority,c.msgStamped,c.msgVerified,c.announceAuth);return(0,o.createComponentVNode)(2,a.Section,{title:"Send Station-Wide Announcement",children:[d&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:"good",mb:1,children:"ID Verified. Authentication Accepted."}),(0,o.createComponentVNode)(2,a.Section,{title:"Message",mt:1,maxHeight:"200px",scrollable:!0,buttons:(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"pen",onClick:function(){return r("writeAnnouncement")},children:"Edit"}),children:l||"No Message"})],4)||(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:"bad",mb:1,children:"Swipe your ID card to authenticate yourself."}),(0,o.createComponentVNode)(2,a.Button,{disabled:!l||!d,icon:"share",onClick:function(){return r("sendAnnouncement")},children:"Announce"}),(0,o.createComponentVNode)(2,a.Button,{icon:"undo",onClick:function(){return r("setScreen",{setScreen:0})},children:"Back"})]})}};t.RequestConsole=function(e,t){var n=(0,i.useBackend)(t),r=n.act,l=n.data,u=l.screen,s=l.newmessagepriority,m=l.announcementConsole,p=d[u];return(0,o.createComponentVNode)(2,c.Window,{width:520,height:410,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:6===u,onClick:function(){return r("setScreen",{setScreen:6})},icon:"envelope-open-text",children:"Messages"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:1===u,onClick:function(){return r("setScreen",{setScreen:1})},icon:"share-square",children:"Assistance"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:2===u,onClick:function(){return r("setScreen",{setScreen:2})},icon:"share-square",children:"Supplies"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:3===u,onClick:function(){return r("setScreen",{setScreen:3})},icon:"share-square-o",children:"Report"}),m&&(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:8===u,onClick:function(){return r("setScreen",{setScreen:8})},icon:"volume-up",children:"Announce"})||null,(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:0===u,onClick:function(){return r("setScreen",{setScreen:0})},icon:"cog"})]}),s&&(0,o.createComponentVNode)(2,a.Section,{title:s>1?"NEW PRIORITY MESSAGES":"There are new messages!",color:s>1?"bad":"average",bold:s>1})||null,(0,o.createComponentVNode)(2,p)]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ResearchConsole=void 0;var o=n(0),r=n(6),i=n(1),a=n(2),c=n(3),l=function(e,t){var n=(0,i.useBackend)(t).data,o=e.title,r=n[e.target];return"number"==typeof r?o+" - Page "+(r+1):o},d=function(e,t){var n=(0,i.useBackend)(t).act,r=e.target;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"undo",onClick:function(){return n(r,{reset:!0})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"chevron-left",onClick:function(){return n(r,{reverse:-1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"chevron-right",onClick:function(){return n(r,{reverse:1})}})],4)},u=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data.info.tech,l=e.disk;if(!l||!l.present)return null;var d=(0,i.useSharedState)(t,"saveDialogTech",!1),u=d[0],s=d[1];return u?(0,o.createComponentVNode)(2,a.Section,{title:"Load Technology to Disk",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"Back",onClick:function(){return s(!1)}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:(0,o.createComponentVNode)(2,a.Button,{icon:"save",onClick:function(){s(!1),r("copy_tech",{copy_tech_ID:e.id})},children:"Copy To Disk"})},e.name)}))})}):(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Disk Contents",children:"(Technology Data Disk)"})}),l.stored&&(0,o.createComponentVNode)(2,a.Box,{mt:2,children:[(0,o.createComponentVNode)(2,a.Box,{children:l.name}),(0,o.createComponentVNode)(2,a.Box,{children:["Level: ",l.level]}),(0,o.createComponentVNode)(2,a.Box,{children:["Description: ",l.desc]}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:[(0,o.createComponentVNode)(2,a.Button,{icon:"save",onClick:function(){return r("updt_tech")},children:"Upload to Database"}),(0,o.createComponentVNode)(2,a.Button,{icon:"trash",onClick:function(){return r("clear_tech")},children:"Clear Disk"}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",onClick:function(){return r("eject_tech")},children:"Eject Disk"})]})]})||(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Box,{children:"This disk has no data stored on it."}),(0,o.createComponentVNode)(2,a.Button,{icon:"save",onClick:function(){return s(!0)},children:"Load Tech To Disk"}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",onClick:function(){return r("eject_tech")},children:"Eject Disk"})]})]})},s=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data,u=c.info.designs,s=e.disk;if(!s||!s.present)return null;var m=(0,i.useSharedState)(t,"saveDialogData",!1),p=m[0],h=m[1];return p?(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createComponentVNode)(2,l,{title:"Load Design to Disk",target:"design_page"}),buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"Back",onClick:function(){return h(!1)}}),(0,o.createComponentVNode)(2,d,{target:"design_page"})||null],0),children:[(0,o.createComponentVNode)(2,a.Input,{fluid:!0,placeholder:"Search for...",value:c.search,onInput:function(e,t){return r("search",{search:t})},mb:1}),(0,o.createComponentVNode)(2,a.LabeledList,{children:u.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:(0,o.createComponentVNode)(2,a.Button,{icon:"save",onClick:function(){h(!1),r("copy_design",{copy_design_ID:e.id})},children:"Copy To Disk"})},e.name)}))})]}):(0,o.createComponentVNode)(2,a.Box,{children:s.stored&&(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:s.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Lathe Type",children:s.build_type}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Required Materials",children:Object.keys(s.materials).map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:[e," x ",s.materials[e]]},e)}))})]}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:[(0,o.createComponentVNode)(2,a.Button,{icon:"save",onClick:function(){return r("updt_design")},children:"Upload to Database"}),(0,o.createComponentVNode)(2,a.Button,{icon:"trash",onClick:function(){return r("clear_design")},children:"Clear Disk"}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",onClick:function(){return r("eject_design")},children:"Eject Disk"})]})]})||(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Box,{mb:.5,children:"This disk has no data stored on it."}),(0,o.createComponentVNode)(2,a.Button,{icon:"save",onClick:function(){return h(!0)},children:"Load Design To Disk"}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",onClick:function(){return r("eject_design")},children:"Eject Disk"})]})})},m=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data,u=e.target,s=e.designs,m=e.buildName,p=e.buildFiveName;return u?(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createComponentVNode)(2,l,{target:"builder_page",title:"Designs"}),buttons:(0,o.createComponentVNode)(2,d,{target:"builder_page"}),children:[(0,o.createComponentVNode)(2,a.Input,{fluid:!0,placeholder:"Search for...",value:c.search,onInput:function(e,t){return r("search",{search:t})},mb:1}),s&&s.length?s.map((function(e){return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Flex,{width:"100%",justify:"space-between",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{width:"40%",style:{"word-wrap":"break-all"},children:e.name}),(0,o.createComponentVNode)(2,a.Flex.Item,{width:"15%",textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Button,{mb:-1,icon:"wrench",onClick:function(){return r(m,{build:e.id,imprint:e.id})},children:"Build"}),p&&(0,o.createComponentVNode)(2,a.Button,{mb:-1,onClick:function(){return r(p,{build:e.id,imprint:e.id})},children:"x5"})]}),(0,o.createComponentVNode)(2,a.Flex.Item,{width:"45%",style:{"word-wrap":"break-all"},children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",children:e.mat_list.join(" ")}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"average",ml:1,children:e.chem_list.join(" ")})]})]}),(0,o.createComponentVNode)(2,a.Divider)],4,e.id)})):(0,o.createComponentVNode)(2,a.Box,{children:"No items could be found matching the parameters (page or search)."})]}):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Error"})},p=function(e,t){var n=(0,i.useBackend)(t),c=n.act,l=n.data,d=e.name,u=null,s=null;if("Protolathe"===d?(u=l.info.linked_lathe,s=l.lathe_designs):(u=l.info.linked_imprinter,s=l.imprinter_designs),!u||!u.present)return(0,o.createComponentVNode)(2,a.Section,{title:d,children:["No ",d," found."]});var p=u,h=p.total_materials,C=p.max_materials,f=p.total_volume,N=p.max_volume,b=p.busy,V=p.mats,g=p.reagents,v=p.queue,_=(0,i.useSharedState)(t,"protoTab",0),k=_[0],y=_[1],L="transparent",B=!1,w="layer-group";b?(w="hammer",L="average",B=!0):v&&v.length&&(w="sync",L="green",B=!0);var x="Protolathe"===d?"removeP":"removeI",S="Protolathe"===d?"lathe_ejectsheet":"imprinter_ejectsheet",I="Protolathe"===d?"disposeP":"disposeI",T="Protolathe"===d?"disposeallP":"disposeallI";return(0,o.createComponentVNode)(2,a.Section,{title:d,buttons:b&&(0,o.createComponentVNode)(2,a.Icon,{name:"sync",spin:!0})||null,children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Materials",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:h,maxValue:C,children:[h," cm\xb3 / ",C," cm\xb3"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Chemicals",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:f,maxValue:N,children:[f,"u / ",N,"u"]})})]}),(0,o.createComponentVNode)(2,a.Tabs,{mt:1,children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:"wrench",selected:0===k,onClick:function(){return y(0)},children:"Build"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:w,iconSpin:B,color:L,selected:1===k,onClick:function(){return y(1)},children:"Queue"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:"cookie-bite",selected:2===k,onClick:function(){return y(2)},children:"Mat Storage"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:"flask",selected:3===k,onClick:function(){return y(3)},children:"Chem Storage"})]}),0===k&&(0,o.createComponentVNode)(2,m,{target:u,designs:s,buildName:"Protolathe"===d?"build":"imprint",buildFiveName:"Protolathe"===d?"buildfive":null})||1===k&&(0,o.createComponentVNode)(2,a.LabeledList,{children:v.length&&v.map((function(e){return 1===e.index?(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,labelColor:"bad",children:b?(0,o.createComponentVNode)(2,a.Button,{disabled:!0,icon:"trash",children:"Remove"}):(0,o.createComponentVNode)(2,a.Box,{children:["(Awaiting Materials)",(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"trash",onClick:function(){var t;return c(x,((t={})[x]=e.index,t))},children:"Remove"})]})}):(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:(0,o.createComponentVNode)(2,a.Button,{icon:"trash",onClick:function(){var t;return c(x,((t={})[x]=e.index,t))},children:"Remove"})},e.name)}))||(0,o.createComponentVNode)(2,a.Box,{m:1,children:"Queue Empty."})})||2===k&&(0,o.createComponentVNode)(2,a.LabeledList,{children:V.map((function(e){var n=(0,i.useLocalState)(t,"ejectAmt"+e.name,0),l=n[0],d=n[1];return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:(0,r.toTitleCase)(e.name),buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.NumberInput,{minValue:0,width:"100px",value:l,maxValue:e.sheets,onDrag:function(e,t){return d(t)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",disabled:!e.removable,onClick:function(){var t;d(0),c(S,((t={})[S]=e.name,t.amount=l,t))},children:"Num"}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",disabled:!e.removable,onClick:function(){var t;return c(S,((t={})[S]=e.name,t.amount=50,t))},children:"All"})],4),children:[e.amount," cm\xb3"]},e.name)}))})||3===k&&(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:g.length&&g.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:[e.volume,"u",(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"eject",onClick:function(){return c(I,{dispose:e.id})},children:"Purge"})]},e.name)}))||(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Empty",children:"No chems detected"})}),(0,o.createComponentVNode)(2,a.Button,{mt:1,icon:"trash",onClick:function(){return c(T)},children:"Disposal All Chemicals In Storage"})]})||(0,o.createComponentVNode)(2,a.Box,{children:"Error"})]})},h=[{name:"Protolathe",icon:"wrench",template:(0,o.createComponentVNode)(2,p,{name:"Protolathe"})},{name:"Circuit Imprinter",icon:"digital-tachograph",template:(0,o.createComponentVNode)(2,p,{name:"Circuit Imprinter"})},{name:"Destructive Analyzer",icon:"eraser",template:(0,o.createComponentVNode)(2,(function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data.info.linked_destroy;if(!c.present)return(0,o.createComponentVNode)(2,a.Section,{title:"Destructive Analyzer",children:"No destructive analyzer found."});var l=c.loaded_item,d=c.origin_tech;return(0,o.createComponentVNode)(2,a.Section,{title:"Destructive Analyzer",children:l&&(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:l}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Origin Tech",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:d.length&&d.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:[e.level,"\xa0\xa0",e.current&&"(Current: "+e.current+")"]},e.name)}))||(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Error",children:"No origin tech found."})})})]}),(0,o.createComponentVNode)(2,a.Button,{mt:1,color:"red",icon:"eraser",onClick:function(){return r("deconstruct")},children:"Deconstruct Item"}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",onClick:function(){return r("eject_item")},children:"Eject Item"})]})||(0,o.createComponentVNode)(2,a.Box,{children:"No Item Loaded. Standing-by..."})})}))},{name:"Settings",icon:"cog",template:(0,o.createComponentVNode)(2,(function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data.info,l=c.sync,d=c.linked_destroy,u=c.linked_imprinter,s=c.linked_lathe,m=(0,i.useSharedState)(t,"settingsTab",0),p=m[0],h=m[1];return(0,o.createComponentVNode)(2,a.Section,{title:"Settings",children:[(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:"cogs",onClick:function(){return h(0)},selected:0===p,children:"General"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:"link",onClick:function(){return h(1)},selected:1===p,children:"Device Linkages"})]}),0===p&&(0,o.createComponentVNode)(2,a.Box,{children:[l&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"sync",onClick:function(){return r("sync")},children:"Sync Database with Network"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"unlink",onClick:function(){return r("togglesync")},children:"Disconnect from Research Network"})],4)||(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"link",onClick:function(){return r("togglesync")},children:"Connect to Research Network"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"lock",onClick:function(){return r("lock")},children:"Lock Console"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,color:"red",icon:"trash",onClick:function(){return r("reset")},children:"Reset R&D Database"})]})||1===p&&(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"sync",mb:1,onClick:function(){return r("find_device")},children:"Re-sync with Nearby Devices"}),(0,o.createComponentVNode)(2,a.LabeledList,{children:[d.present&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Destructive Analyzer",children:(0,o.createComponentVNode)(2,a.Button,{icon:"unlink",onClick:function(){return r("disconnect",{disconnect:"destroy"})},children:"Disconnect"})})||null,s.present&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Protolathe",children:(0,o.createComponentVNode)(2,a.Button,{icon:"unlink",onClick:function(){return r("disconnect",{disconnect:"lathe"})},children:"Disconnect"})})||null,u.present&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Circuit Imprinter",children:(0,o.createComponentVNode)(2,a.Button,{icon:"unlink",onClick:function(){return r("disconnect",{disconnect:"imprinter"})},children:"Disconnect"})})||null]})]})||(0,o.createComponentVNode)(2,a.Box,{children:"Error"})]})}))},{name:"Research List",icon:"flask",template:(0,o.createComponentVNode)(2,(function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data.tech;return(0,o.createComponentVNode)(2,a.Section,{title:"Current Research Levels",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"print",onClick:function(){return r("print",{print:1})},children:"Print This Page"}),children:(0,o.createComponentVNode)(2,a.Table,{children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:[(0,o.createComponentVNode)(2,a.Box,{color:"label",children:e.name}),(0,o.createComponentVNode)(2,a.Box,{children:[" - Level ",e.level]})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Box,{color:"label",children:e.desc})})]},e.name)}))})})}))},{name:"Design List",icon:"file",template:(0,o.createComponentVNode)(2,(function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data,u=c.designs;return(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createComponentVNode)(2,l,{title:"Researched Technologies & Designs",target:"design_page"}),buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"print",onClick:function(){return r("print",{print:2})},children:"Print This Page"}),(0,o.createComponentVNode)(2,d,{target:"design_page"})||null],0),children:[(0,o.createComponentVNode)(2,a.Input,{fluid:!0,placeholder:"Search for...",value:c.search,onInput:function(e,t){return r("search",{search:t})},mb:1}),u&&u.length&&(0,o.createComponentVNode)(2,a.LabeledList,{children:u.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:e.desc},e.name)}))})||(0,o.createComponentVNode)(2,a.Box,{color:"warning",children:"No designs found."})]})}))},{name:"Disk Operations",icon:"save",template:(0,o.createComponentVNode)(2,(function(e,t){var n=(0,i.useBackend)(t),r=(n.act,n.data.info),c=r.d_disk,l=r.t_disk;return c.present||l.present?(0,o.createComponentVNode)(2,a.Section,{title:"Disk Operations",children:[(0,o.createComponentVNode)(2,u,{disk:l}),(0,o.createComponentVNode)(2,s,{disk:c})]}):(0,o.createComponentVNode)(2,a.Section,{title:"Disk Operations",children:"No disk inserted."})}))}];t.ResearchConsole=function(e,t){var n=(0,i.useBackend)(t),r=n.act,l=n.data,d=l.busy_msg,u=l.locked,s=(0,i.useSharedState)(t,"rdmenu",0),m=s[0],p=s[1],C=!1;return(d||u)&&(C=!0),(0,o.createComponentVNode)(2,c.Window,{width:850,height:630,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Tabs,{children:h.map((function(e,t){return(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:e.icon,selected:m===t,disabled:C,onClick:function(){return p(t)},children:e.name},t)}))}),d&&(0,o.createComponentVNode)(2,a.Section,{title:"Processing...",children:d})||u&&(0,o.createComponentVNode)(2,a.Section,{title:"Console Locked",children:(0,o.createComponentVNode)(2,a.Button,{onClick:function(){return r("lock")},icon:"lock-open",children:"Unlock"})})||h[m].template]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ResearchServerController=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3),c=n(8);t.ResearchServerController=function(e,t){var n=(0,r.useBackend)(t);n.act,n.data;return(0,o.createComponentVNode)(2,a.Window,{width:575,height:430,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,l)})})};var l=function(e,t){var n=(0,r.useBackend)(t),a=(n.act,n.data),c=(a.badmin,a.servers),l=(a.consoles,(0,r.useSharedState)(t,"selectedServer",null)),u=l[0],s=l[1],m=c.find((function(e){return e.id===u}));return m?(0,o.createComponentVNode)(2,d,{setSelectedServer:s,server:m}):(0,o.createComponentVNode)(2,i.Section,{title:"Server Selection",children:c.map((function(e){return(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"eye",onClick:function(){return s(e.id)},children:e.name})},e.name)}))})},d=function(e,t){var n=(0,r.useBackend)(t),a=(n.act,n.data.badmin),c=e.server,l=e.setSelectedServer,d=(0,r.useSharedState)(t,"tab",0),p=d[0],h=d[1];return(0,o.createComponentVNode)(2,i.Section,{title:c.name,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"undo",onClick:function(){return l(null)},children:"Back"}),children:[(0,o.createComponentVNode)(2,i.Tabs,{children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:0===p,onClick:function(){return h(0)},children:"Access Rights"}),(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:1===p,onClick:function(){return h(1)},children:"Data Management"}),a&&(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:2===p,onClick:function(){return h(2)},color:"red",children:"Server-to-Server Transfer"})||null]}),0===p&&(0,o.createComponentVNode)(2,u,{server:c})||null,1===p&&(0,o.createComponentVNode)(2,s,{server:c})||null,2===p&&a&&(0,o.createComponentVNode)(2,m,{server:c})||null]})},u=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=e.server,d=c.consoles,u=function(e,t){return-1!==e.id_with_upload.indexOf(t.id)},s=function(e,t){return-1!==e.id_with_download.indexOf(t.id)};return(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Consoles",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:d.length&&d.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name+" ("+e.loc+")",children:[(0,o.createComponentVNode)(2,i.Button,{icon:u(l,e)?"lock-open":"lock",selected:u(l,e),onClick:function(){return a("toggle_upload",{server:l.ref,console:e.ref})},children:u(l,e)?"Upload On":"Upload Off"}),(0,o.createComponentVNode)(2,i.Button,{icon:s(l,e)?"lock-open":"lock",selected:s(l,e),onClick:function(){return a("toggle_download",{server:l.ref,console:e.ref})},children:s(l,e)?"Download On":"Download Off"})]},e.name)}))})})},s=function(e,t){var n=(0,r.useBackend)(t),a=n.act,l=(n.data,e.server);return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Research Levels",children:l.tech.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,buttons:(0,o.createComponentVNode)(2,i.Button.Confirm,{icon:"trash",confirmIcon:"trash",color:"red",content:"Reset",onClick:function(){return a("reset_tech",{server:l.ref,tech:e.id})}})},e.name)}))}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Designs",children:(0,c.filter)((function(e){return!!e.name}))(l.designs).map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,buttons:(0,o.createComponentVNode)(2,i.Button.Confirm,{icon:"trash",confirmIcon:"trash",color:"red",content:"Delete",onClick:function(){return a("reset_design",{server:l.ref,design:e.id})}})},e.name)}))})],4)},m=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=e.server,d=c.badmin,u=c.servers;return d?(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Server Data Transfer",children:u.map((function(e){return(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.Button.Confirm,{fluid:!0,color:"bad",content:(0,o.createComponentVNode)(2,i.Box,{children:["Transfer from ",l.name," To ",e.name]}),onClick:function(){return a("transfer_data",{server:l.ref,target:e.ref})}})},e.name)}))}):null}},function(e,t,n){"use strict";t.__esModule=!0,t.ResleevingConsole=void 0;var o=n(0),r=n(5),i=n(1),a=n(2),c=(n(28),n(45)),l=n(3),d=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=(n.data,e.args),l=c.activerecord,d=c.realname,u=c.obviously_dead,s=c.oocnotes,m=c.can_sleeve_active;return(0,o.createComponentVNode)(2,a.Section,{level:2,m:"-1rem",pb:"1rem",title:"Mind Record ("+d+")",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"times",color:"red",onClick:function(){return r("modal_close")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:d}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",children:u}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Actions",children:[(0,o.createComponentVNode)(2,a.Button,{disabled:!m,icon:"user-plus",content:"Sleeve",onClick:function(){return r("sleeve",{ref:l,mode:1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"user-plus",content:"Card",onClick:function(){return r("sleeve",{ref:l,mode:2})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"OOC Notes",children:(0,o.createComponentVNode)(2,a.Section,{style:{"word-break":"break-all",height:"100px"},scrollable:!0,children:s})})]})})},u=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=(n.data,e.args),l=c.activerecord,d=c.realname,u=c.species,s=c.sex,m=c.mind_compat,p=c.synthetic,h=c.oocnotes,C=c.can_grow_active;return(0,o.createComponentVNode)(2,a.Section,{level:2,m:"-1rem",pb:"1rem",title:"Body Record ("+d+")",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"times",color:"red",onClick:function(){return r("modal_close")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:d}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Species",children:u}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Bio. Sex",children:s}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mind Compat",children:m}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Synthetic",children:p?"Yes":"No"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"OOC Notes",children:(0,o.createComponentVNode)(2,a.Section,{style:{"word-break":"break-all",height:"100px"},scrollable:!0,children:h})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Actions",children:(0,o.createComponentVNode)(2,a.Button,{disabled:!C,icon:"user-plus",content:p?"Build":"Grow",onClick:function(){return r("create",{ref:l})}})})]})})};t.ResleevingConsole=function(e,t){var n=(0,i.useBackend)(t),r=(n.act,n.data),C=(r.menu,r.coredumped),f=r.emergency,N=(0,o.createFragment)([(0,o.createComponentVNode)(2,g),(0,o.createComponentVNode)(2,v),(0,o.createComponentVNode)(2,s),(0,o.createComponentVNode)(2,a.Section,{noTopPadding:!0,flexGrow:"1",children:(0,o.createComponentVNode)(2,m)})],4);return C&&(N=(0,o.createComponentVNode)(2,p)),f&&(N=(0,o.createComponentVNode)(2,h)),(0,c.modalRegisterBodyOverride)("view_b_rec",u),(0,c.modalRegisterBodyOverride)("view_m_rec",d),(0,o.createComponentVNode)(2,l.Window,{width:640,height:520,resizable:!0,children:[(0,o.createComponentVNode)(2,c.ComplexModal,{maxWidth:"75%",maxHeight:"75%"}),(0,o.createComponentVNode)(2,l.Window.Content,{className:"Layout__content--flexColumn",children:N})]})};var s=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data.menu;return(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:1===c,icon:"home",onClick:function(){return r("menu",{num:1})},children:"Main"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:2===c,icon:"folder",onClick:function(){return r("menu",{num:2})},children:"Body Records"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:3===c,icon:"folder",onClick:function(){return r("menu",{num:3})},children:"Mind Records"})]})},m=function(e,t){var n,r=(0,i.useBackend)(t).data,a=r.menu,c=r.bodyrecords,l=r.mindrecords;return 1===a?n=(0,o.createComponentVNode)(2,C):2===a?n=(0,o.createComponentVNode)(2,V,{records:c,actToDo:"view_b_rec"}):3===a&&(n=(0,o.createComponentVNode)(2,V,{records:l,actToDo:"view_m_rec"})),n},p=function(e,t){return(0,o.createComponentVNode)(2,a.Dimmer,{children:(0,o.createComponentVNode)(2,a.Flex,{direction:"column",justify:"space-evenly",align:"center",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,a.Icon,{size:12,color:"bad",name:"exclamation-triangle"})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,color:"bad",mt:5,children:(0,o.createVNode)(1,"h2",null,"TransCore dump completed. Resleeving offline.",16)})]})})},h=function(e,t){var n=(0,i.useBackend)(t).act;return(0,o.createComponentVNode)(2,a.Dimmer,{textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:(0,o.createVNode)(1,"h1",null,"TRANSCORE DUMP",16)}),(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:(0,o.createVNode)(1,"h2",null,"!!WARNING!!",16)}),(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"This will transfer all minds to the dump disk, and the TransCore will be made unusable until post-shift maintenance! This should only be used in emergencies!"}),(0,o.createComponentVNode)(2,a.Box,{mt:4,children:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject Disk",color:"good",onClick:function(){return n("ejectdisk")}})}),(0,o.createComponentVNode)(2,a.Box,{mt:4,children:(0,o.createComponentVNode)(2,a.Button.Confirm,{icon:"exclamation-triangle",confirmIcon:"exclamation-triangle",content:"Core Dump",confirmContent:"Disable Transcore?",color:"bad",onClick:function(){return n("coredump")}})})]})},C=function(e,t){var n=(0,i.useBackend)(t),r=(n.act,n.data);r.loading,r.scantemp,r.occupant,r.locked,r.can_brainscan,r.scan_mode,r.pods,r.selected_pod;return(0,o.createComponentVNode)(2,a.Section,{title:"Pods",level:"2",children:[(0,o.createComponentVNode)(2,f),(0,o.createComponentVNode)(2,b),(0,o.createComponentVNode)(2,N)]})},f=function(e,t){var n=(0,i.useBackend)(t),c=n.act,l=n.data,d=l.pods,u=l.spods,s=l.selected_pod;return d&&d.length?d.map((function(e,t){var n;return n="cloning"===e.status?(0,o.createComponentVNode)(2,a.ProgressBar,{min:"0",max:"100",value:e.progress/100,ranges:{good:[.75,Infinity],average:[.25,.75],bad:[-Infinity,.25]},mt:"0.5rem",children:(0,o.createComponentVNode)(2,a.Box,{textAlign:"center",children:(0,r.round)(e.progress,0)+"%"})}):"mess"===e.status?(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:"bad",mt:"0.5rem",children:"ERROR"}):(0,o.createComponentVNode)(2,a.Button,{selected:s===e.pod,icon:s===e.pod&&"check",content:"Select",mt:u&&u.length?"2rem":"0.5rem",onClick:function(){return c("selectpod",{ref:e.pod})}}),(0,o.createComponentVNode)(2,a.Box,{width:"64px",textAlign:"center",display:"inline-block",mr:"0.5rem",children:[(0,o.createVNode)(1,"img",null,null,1,{src:"pod_"+e.status+".gif",style:{width:"100%","-ms-interpolation-mode":"nearest-neighbor"}}),(0,o.createComponentVNode)(2,a.Box,{color:"label",children:e.name}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:e.biomass>=150?"good":"bad",display:"inline",children:[(0,o.createComponentVNode)(2,a.Icon,{name:e.biomass>=150?"circle":"circle-o"}),"\xa0",e.biomass]}),n]},t)})):null},N=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data,l=c.sleevers,d=c.spods,u=c.selected_sleever;return l&&l.length?l.map((function(e,t){return(0,o.createComponentVNode)(2,a.Box,{width:"64px",textAlign:"center",display:"inline-block",mr:"0.5rem",children:[(0,o.createVNode)(1,"img",null,null,1,{src:"sleeve_"+(e.occupied?"occupied":"empty")+".gif",style:{width:"100%","-ms-interpolation-mode":"nearest-neighbor"}}),(0,o.createComponentVNode)(2,a.Box,{color:e.occupied?"label":"bad",children:e.name}),(0,o.createComponentVNode)(2,a.Button,{selected:u===e.sleever,icon:u===e.sleever&&"check",content:"Select",mt:d&&d.length?"3rem":"1.5rem",onClick:function(){return r("selectsleever",{ref:e.sleever})}})]},t)})):null},b=function(e,t){var n=(0,i.useBackend)(t),c=n.act,l=n.data,d=l.spods,u=l.selected_printer;return d&&d.length?d.map((function(e,t){var n;return n="cloning"===e.status?(0,o.createComponentVNode)(2,a.ProgressBar,{min:"0",max:"100",value:e.progress/100,ranges:{good:[.75,Infinity],average:[.25,.75],bad:[-Infinity,.25]},mt:"0.5rem",children:(0,o.createComponentVNode)(2,a.Box,{textAlign:"center",children:(0,r.round)(e.progress,0)+"%"})}):"mess"===e.status?(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:"bad",mt:"0.5rem",children:"ERROR"}):(0,o.createComponentVNode)(2,a.Button,{selected:u===e.spod,icon:u===e.spod&&"check",content:"Select",mt:"0.5rem",onClick:function(){return c("selectprinter",{ref:e.spod})}}),(0,o.createComponentVNode)(2,a.Box,{width:"64px",textAlign:"center",display:"inline-block",mr:"0.5rem",children:[(0,o.createVNode)(1,"img",null,null,1,{src:"synthprinter"+(e.busy?"_working":"")+".gif",style:{width:"100%","-ms-interpolation-mode":"nearest-neighbor"}}),(0,o.createComponentVNode)(2,a.Box,{color:"label",children:e.name}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:e.steel>=15e3?"good":"bad",display:"inline",children:[(0,o.createComponentVNode)(2,a.Icon,{name:e.steel>=15e3?"circle":"circle-o"}),"\xa0",e.steel]}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:e.glass>=15e3?"good":"bad",display:"inline",children:[(0,o.createComponentVNode)(2,a.Icon,{name:e.glass>=15e3?"circle":"circle-o"}),"\xa0",e.glass]}),n]},t)})):null},V=function(e,t){var n=(0,i.useBackend)(t).act,r=e.records,c=e.actToDo;return r.length?(0,o.createComponentVNode)(2,a.Box,{mt:"0.5rem",children:r.map((function(e,t){return(0,o.createComponentVNode)(2,a.Button,{icon:"user",mb:"0.5rem",content:e.name,onClick:function(){return n(c,{ref:e.recref})}},t)}))}):(0,o.createComponentVNode)(2,a.Flex,{height:"100%",mt:"0.5rem",children:(0,o.createComponentVNode)(2,a.Flex.Item,{grow:"1",align:"center",textAlign:"center",color:"label",children:[(0,o.createComponentVNode)(2,a.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,o.createVNode)(1,"br"),"No records found."]})})},g=function(e,t){var n,r=(0,i.useBackend)(t),c=r.act,l=r.data.temp;if(l&&l.text&&!(l.text.length<=0)){var d=((n={})[l.style]=!0,n);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.NoticeBox,Object.assign({},d,{children:[(0,o.createComponentVNode)(2,a.Box,{display:"inline-block",verticalAlign:"middle",children:l.text}),(0,o.createComponentVNode)(2,a.Button,{icon:"times-circle",float:"right",onClick:function(){return c("cleartemp")}}),(0,o.createComponentVNode)(2,a.Box,{clear:"both"})]})))}},v=function(e,t){var n=(0,i.useBackend)(t),r=(n.act,n.data),c=r.pods,l=r.spods,d=r.sleevers;r.autoallowed,r.autoprocess,r.disk;return(0,o.createComponentVNode)(2,a.Section,{title:"Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pods",children:c&&c.length?(0,o.createComponentVNode)(2,a.Box,{color:"good",children:[c.length," connected"]}):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"None connected!"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"SynthFabs",children:l&&l.length?(0,o.createComponentVNode)(2,a.Box,{color:"good",children:[l.length," connected"]}):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"None connected!"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Sleevers",children:d&&d.length?(0,o.createComponentVNode)(2,a.Box,{color:"good",children:[d.length," Connected"]}):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"None connected!"})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ResleevingPod=void 0;var o=n(0),r=n(3),i=n(1),a=n(2);t.ResleevingPod=function(e,t){var n=(0,i.useBackend)(t).data,c=n.occupied,l=n.name,d=n.health,u=n.maxHealth,s=n.stat,m=n.mindStatus,p=n.mindName,h=n.resleeveSick,C=n.initialSick;return(0,o.createComponentVNode)(2,r.Window,{width:300,height:350,resizeable:!0,children:(0,o.createComponentVNode)(2,r.Window.Content,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Occupant",children:c?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:l}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Health",children:2===s?(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"DEAD"}):1===s?(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"Unconscious"}):(0,o.createComponentVNode)(2,a.ProgressBar,{ranges:{good:[.5,Infinity],average:[.25,.5],bad:[-Infinity,.25]},value:d/u,children:[d,"%"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mind Status",children:m?"Present":"Missing"}),m?(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mind Occupying",children:p}):""]}),h?(0,o.createComponentVNode)(2,a.Box,{color:"average",mt:3,children:["Warning: Resleeving Sickness detected.",C?(0,o.createFragment)([(0,o.createTextVNode)(" Motion Sickness also detected. Please allow the newly resleeved person a moment to get their bearings. This warning will disappear when Motion Sickness is no longer detected.")],4):""]}):""],0):(0,o.createComponentVNode)(2,a.Box,{bold:!0,m:1,children:"Unoccupied."})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.RoboticsControlConsole=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.RoboticsControlConsole=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.can_hack,s=d.safety,m=d.show_detonate_all,p=d.cyborgs,h=void 0===p?[]:p;return(0,o.createComponentVNode)(2,a.Window,{width:500,height:460,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[!!m&&(0,o.createComponentVNode)(2,i.Section,{title:"Emergency Self Destruct",children:[(0,o.createComponentVNode)(2,i.Button,{icon:s?"lock":"unlock",content:s?"Disable Safety":"Enable Safety",selected:s,onClick:function(){return l("arm",{})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"bomb",disabled:s,content:"Destroy ALL Cyborgs",color:"bad",onClick:function(){return l("nuke",{})}})]}),(0,o.createComponentVNode)(2,c,{cyborgs:h,can_hack:u})]})})};var c=function(e,t){var n=e.cyborgs,a=(e.can_hack,(0,r.useBackend)(t)),c=a.act,l=a.data;return n.length?n.map((function(e){return(0,o.createComponentVNode)(2,i.Section,{title:e.name,buttons:(0,o.createFragment)([!!e.hackable&&!e.emagged&&(0,o.createComponentVNode)(2,i.Button,{icon:"terminal",content:"Hack",color:"bad",onClick:function(){return c("hackbot",{ref:e.ref})}}),(0,o.createComponentVNode)(2,i.Button.Confirm,{icon:e.locked_down?"unlock":"lock",color:e.locked_down?"good":"default",content:e.locked_down?"Release":"Lockdown",disabled:!l.auth,onClick:function(){return c("stopbot",{ref:e.ref})}}),(0,o.createComponentVNode)(2,i.Button.Confirm,{icon:"bomb",content:"Detonate",disabled:!l.auth,color:"bad",onClick:function(){return c("killbot",{ref:e.ref})}})],0),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",children:(0,o.createComponentVNode)(2,i.Box,{color:e.status?"bad":e.locked_down?"average":"good",children:e.status?"Not Responding":e.locked_down?"Locked Down":"Nominal"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Location",children:(0,o.createComponentVNode)(2,i.Box,{children:e.locstring})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Integrity",children:(0,o.createComponentVNode)(2,i.ProgressBar,{color:e.health>50?"good":"bad",value:e.health/100})}),"number"==typeof e.charge&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Cell Charge",children:(0,o.createComponentVNode)(2,i.ProgressBar,{color:e.charge>30?"good":"bad",value:e.charge/100})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Cell Capacity",children:(0,o.createComponentVNode)(2,i.Box,{color:e.cell_capacity<3e4?"average":"good",children:e.cell_capacity})})],4)||(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Cell",children:(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No Power Cell"})}),!!e.is_hacked&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Safeties",children:(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"DISABLED"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Module",children:e.module}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Master AI",children:(0,o.createComponentVNode)(2,i.Box,{color:e.synchronization?"default":"average",children:e.synchronization||"None"})})]})},e.ref)})):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No cyborg units detected within access parameters."})}},function(e,t,n){"use strict";t.__esModule=!0,t.RogueZones=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.RogueZones=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.timeout_percent,u=l.diffstep,s=l.difficulty,m=l.occupied,p=l.scanning,h=l.updated,C=l.debug,f=l.shuttle_location,N=l.shuttle_at_station,b=l.scan_ready,V=l.can_recall_shuttle;return(0,o.createComponentVNode)(2,a.Window,{width:360,height:250,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:[(0,o.createComponentVNode)(2,i.Section,{title:"Current Area",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Mineral Content",children:s}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Shuttle Location",buttons:V&&(0,o.createComponentVNode)(2,i.Button,{color:"bad",icon:"rocket",onClick:function(){return c("recall_shuttle")},children:"Recall Shuttle"})||null,children:f}),m&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{color:"bad",labelColor:"bad",label:"Personnel",children:["WARNING: Area occupied by ",m," personnel!"]})||(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Personnel",color:"good",children:"No personnel detected."})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Scanner",buttons:(0,o.createComponentVNode)(2,i.Button,{disabled:!b,fluid:!0,icon:"search",onClick:function(){return c("scan_for_new")},children:"Scan For Asteroids"}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Scn Ramestat Core",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:d,maxValue:100,ranges:{good:[100,Infinity],average:[75,100],bad:[-Infinity,75]}})}),p&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Scanning",children:"In progress."})||null,h&&!p&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Info",children:"Updated shuttle destination!"})||null,C&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Debug",labelColor:"bad",children:[(0,o.createComponentVNode)(2,i.Box,{children:["Timeout Percent: ",d]}),(0,o.createComponentVNode)(2,i.Box,{children:["Diffstep: ",u]}),(0,o.createComponentVNode)(2,i.Box,{children:["Difficulty: ",s]}),(0,o.createComponentVNode)(2,i.Box,{children:["Occupied: ",m]}),(0,o.createComponentVNode)(2,i.Box,{children:["Debug: ",C]}),(0,o.createComponentVNode)(2,i.Box,{children:["Shuttle Location: ",f]}),(0,o.createComponentVNode)(2,i.Box,{children:["Shuttle at station: ",N]}),(0,o.createComponentVNode)(2,i.Box,{children:["Scan Ready: ",b]})]})||null]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.RustCoreMonitorContent=t.RustCoreMonitor=void 0;var o=n(0),r=n(1),i=n(3),a=n(2);t.RustCoreMonitor=function(e,t){return(0,o.createComponentVNode)(2,i.Window,{width:627,height:700,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:(0,o.createComponentVNode)(2,c)})})};var c=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data.cores;return(0,o.createComponentVNode)(2,a.Section,{title:"Cores",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Set Tag",onClick:function(){return i("set_tag")}}),children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Name"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Position"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Field Status"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Reactant Mode"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Field Instability"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Field Temperature"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Field Strength"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Plasma Content"})]}),c.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:[e.x,", ",e.y,", ",e.z]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:e.has_field?"Online":"Offline",selected:e.has_field,disabled:!e.core_operational,onClick:function(){return i("toggle_active",{core:e.ref})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:e.reactant_dump?"Dump":"Maintain",selected:e.has_field,disabled:!e.core_operational,onClick:function(){return i("toggle_reactantdump",{core:e.ref})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.field_instability}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.field_temperature}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Knob,{forcedInputWidth:"60px",size:1.25,color:!!e.has_field&&"yellow",value:e.target_field_strength,unit:"(W.m^-3)",minValue:1,maxValue:1e3,stepPixelSize:1,onDrag:function(t,n){return i("set_fieldstr",{core:e.ref,fieldstr:n})}})}),(0,o.createComponentVNode)(2,a.Table.Cell)]},e.name)}))]})})};t.RustCoreMonitorContent=c},function(e,t,n){"use strict";t.__esModule=!0,t.RustFuelContent=t.RustFuelControl=void 0;var o=n(0),r=n(1),i=n(3),a=n(2);t.RustFuelControl=function(e,t){return(0,o.createComponentVNode)(2,i.Window,{width:627,height:700,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:(0,o.createComponentVNode)(2,c)})})};var c=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data.fuels;return(0,o.createComponentVNode)(2,a.Section,{title:"Fuel Injectors",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Set Tag",onClick:function(){return i("set_tag")}}),children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Name"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Position"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Status"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Remaining Fuel"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Fuel Rod Composition"})]}),c.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:[e.x,", ",e.y,", ",e.z]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:e.active?"Online":"Offline",selected:e.active,disabled:!e.deployed,onClick:function(){return i("toggle_active",{fuel:e.ref})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.fuel_amt}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.fuel_type})]},e.name)}))]})})};t.RustFuelContent=c},function(e,t,n){"use strict";t.__esModule=!0,t.Secbot=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.Secbot=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.on,u=l.open,s=l.locked,m=l.idcheck,p=l.check_records,h=l.check_arrest,C=l.arrest_type,f=l.declare_arrests,N=l.will_patrol;return(0,o.createComponentVNode)(2,a.Window,{width:390,height:320,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Automatic Security Unit v2.0",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",selected:d,onClick:function(){return c("power")},children:d?"On":"Off"}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Maintenance Panel",color:u?"bad":"good",children:u?"Open":"Closed"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Behavior Controls",color:s?"good":"bad",children:s?"Locked":"Unlocked"})]})}),!s&&(0,o.createComponentVNode)(2,i.Section,{title:"Behavior Controls",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Check for Weapon Authorization",children:(0,o.createComponentVNode)(2,i.Button,{icon:m?"toggle-on":"toggle-off",selected:m,onClick:function(){return c("idcheck")},children:m?"Yes":"No"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Check Security Records",children:(0,o.createComponentVNode)(2,i.Button,{icon:p?"toggle-on":"toggle-off",selected:p,onClick:function(){return c("ignorerec")},children:p?"Yes":"No"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Check Arrest Status",children:(0,o.createComponentVNode)(2,i.Button,{icon:h?"toggle-on":"toggle-off",selected:h,onClick:function(){return c("ignorearr")},children:h?"Yes":"No"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Operating Mode",children:(0,o.createComponentVNode)(2,i.Button,{icon:C?"toggle-on":"toggle-off",selected:C,onClick:function(){return c("switchmode")},children:C?"Detain":"Arrest"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Report Arrests",children:(0,o.createComponentVNode)(2,i.Button,{icon:f?"toggle-on":"toggle-off",selected:f,onClick:function(){return c("declarearrests")},children:f?"Yes":"No"})}),N&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Auto Patrol",children:(0,o.createComponentVNode)(2,i.Button,{icon:N?"toggle-on":"toggle-off",selected:N,onClick:function(){return c("patrol")},children:N?"Yes":"No"})})]})})||null]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.SecurityRecords=void 0;var o=n(0),r=n(1),i=n(2),a=n(45),c=n(3),l=n(95),d=n(96),u=n(62),s=(n(6),function(e,t){(0,a.modalOpen)(e,"edit",{field:t.edit,value:t.value})});t.SecurityRecords=function(e,t){var n,s=(0,r.useBackend)(t).data,C=s.authenticated,f=s.screen;return C?(2===f?n=(0,o.createComponentVNode)(2,m):3===f?n=(0,o.createComponentVNode)(2,p):4===f&&(n=(0,o.createComponentVNode)(2,h)),(0,o.createComponentVNode)(2,c.Window,{width:700,height:680,resizable:!0,children:[(0,o.createComponentVNode)(2,a.ComplexModal,{maxHeight:"100%",maxWidth:"400px"}),(0,o.createComponentVNode)(2,c.Window.Content,{className:"Layout__content--flexColumn",children:[(0,o.createComponentVNode)(2,l.LoginInfo),(0,o.createComponentVNode)(2,u.TemporaryNotice),(0,o.createComponentVNode)(2,N),(0,o.createComponentVNode)(2,i.Section,{height:"89%",flexGrow:"1",children:n})]})]})):(0,o.createComponentVNode)(2,c.Window,{width:700,height:680,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(0,o.createComponentVNode)(2,d.LoginScreen)})})};var m=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data.records;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Input,{fluid:!0,placeholder:"Search by Name, DNA, or ID",onChange:function(e,t){return a("search",{t1:t})}}),(0,o.createComponentVNode)(2,i.Box,{mt:"0.5rem",children:c.map((function(e,t){return(0,o.createComponentVNode)(2,i.Button,{icon:"user",mb:"0.5rem",color:e.color,content:e.id+": "+e.name+" (Criminal Status: "+e.criminal+")",onClick:function(){return a("d_rec",{d_rec:e.ref})}},t)}))})],4)},p=function(e,t){var n=(0,r.useBackend)(t).act;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"download",content:"Backup to Disk",disabled:!0}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,i.Button,{icon:"upload",content:"Upload from Disk",my:"0.5rem",disabled:!0}),(0,o.createTextVNode)(" "),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,i.Button.Confirm,{icon:"trash",content:"Delete All Security Records",onClick:function(){return n("del_all")}})],4)},h=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.security,d=c.printing;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"General Data",level:2,mt:"-6px",children:(0,o.createComponentVNode)(2,C)}),(0,o.createComponentVNode)(2,i.Section,{title:"Security Data",level:2,children:(0,o.createComponentVNode)(2,f)}),(0,o.createComponentVNode)(2,i.Section,{title:"Actions",level:2,children:[(0,o.createComponentVNode)(2,i.Button.Confirm,{icon:"trash",disabled:!!l.empty,content:"Delete Security Record",color:"bad",onClick:function(){return a("del_r")}}),(0,o.createComponentVNode)(2,i.Button.Confirm,{icon:"trash",disabled:!!l.empty,content:"Delete Record (All)",color:"bad",onClick:function(){return a("del_r_2")}}),(0,o.createComponentVNode)(2,i.Button,{icon:d?"spinner":"print",disabled:d,iconSpin:!!d,content:"Print Entry",ml:"0.5rem",onClick:function(){return a("print_p")}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,i.Button,{icon:"arrow-left",content:"Back",mt:"0.5rem",onClick:function(){return a("screen",{screen:2})}})]})],4)},C=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data.general;return c&&c.fields?(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{width:"50%",float:"left",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:c.fields.map((function(e,n){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.field,children:[(0,o.createComponentVNode)(2,i.Box,{height:"20px",display:"inline-block",children:e.value.split("\n").map((function(e){return(0,o.createComponentVNode)(2,i.Box,{children:e},e)}))}),!!e.edit&&(0,o.createComponentVNode)(2,i.Button,{icon:"pen",ml:"0.5rem",onClick:function(){return s(t,e)}})]},n)}))})}),(0,o.createComponentVNode)(2,i.Box,{width:"50%",float:"right",textAlign:"right",children:[!!c.has_photos&&c.photos.map((function(e,t){return(0,o.createComponentVNode)(2,i.Box,{display:"inline-block",textAlign:"center",color:"label",children:[(0,o.createVNode)(1,"img",null,null,1,{src:e.substr(1,e.length-1),style:{width:"96px","margin-bottom":"0.5rem","-ms-interpolation-mode":"nearest-neighbor"}}),(0,o.createVNode)(1,"br"),"Photo #",t+1]},t)})),(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return a("photo_front")},children:"Update Front Photo"}),(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return a("photo_side")},children:"Update Side Photo"})]})]})],4):(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"General records lost!"})},f=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data.security;return l&&l.fields?(0,o.createFragment)([(0,o.createComponentVNode)(2,i.LabeledList,{children:l.fields.map((function(e,n){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.field,children:[e.value.split("\n").map((function(e){return(0,o.createComponentVNode)(2,i.Box,{children:e},e)})),(0,o.createComponentVNode)(2,i.Button,{icon:"pen",ml:"0.5rem",mb:e.line_break?"1rem":"initial",onClick:function(){return s(t,e)}})]},n)}))}),(0,o.createComponentVNode)(2,i.Section,{title:"Comments/Log",level:2,children:[0===l.comments.length?(0,o.createComponentVNode)(2,i.Box,{color:"label",children:"No comments found."}):l.comments.map((function(e,t){return(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Box,{color:"label",display:"inline",children:e.header}),(0,o.createVNode)(1,"br"),e.text,(0,o.createComponentVNode)(2,i.Button,{icon:"comment-slash",color:"bad",ml:"0.5rem",onClick:function(){return c("del_c",{del_c:t+1})}})]},t)})),(0,o.createComponentVNode)(2,i.Button,{icon:"comment",content:"Add Entry",color:"good",mt:"0.5rem",mb:"0",onClick:function(){return(0,a.modalOpen)(t,"add_c")}})]})],4):(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:["Security records lost!",(0,o.createComponentVNode)(2,i.Button,{icon:"pen",content:"New Record",ml:"0.5rem",onClick:function(){return c("new")}})]})},N=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data.screen;return(0,o.createComponentVNode)(2,i.Tabs,{children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:2===c,onClick:function(){return a("screen",{screen:2})},children:[(0,o.createComponentVNode)(2,i.Icon,{name:"list"}),"List Records"]}),(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:3===c,onClick:function(){return a("screen",{screen:3})},children:[(0,o.createComponentVNode)(2,i.Icon,{name:"wrench"}),"Record Maintenance"]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.SeedStorage=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3),c=n(6),l=n(8);t.SeedStorage=function(e,t){var n=(0,r.useBackend)(t),d=n.act,u=n.data,s=(u.scanner,u.seeds),m=(0,l.sortBy)((function(e){return e.name.toLowerCase()}))(s);return(0,o.createComponentVNode)(2,a.Window,{width:600,height:760,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i.Section,{title:"Seeds",children:m.map((function(e){return(0,o.createComponentVNode)(2,i.Flex,{spacing:1,mt:-1,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{basis:"60%",children:(0,o.createComponentVNode)(2,i.Collapsible,{title:(0,c.toTitleCase)(e.name)+" #"+e.uid,children:(0,o.createComponentVNode)(2,i.Section,{width:"165%",title:"Traits",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:Object.keys(e.traits).map((function(t){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:(0,c.toTitleCase)(t),children:e.traits[t]},t)}))})})})}),(0,o.createComponentVNode)(2,i.Flex.Item,{mt:.4,children:[e.amount," Remaining"]}),(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"download",onClick:function(){return d("vend",{id:e.id})},children:"Vend"})}),(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"trash",onClick:function(){return d("purge",{id:e.id})},children:"Purge"})})]},e.name+e.uid)}))})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ShieldCapacitor=void 0;var o=n(0),r=n(1),i=n(3),a=n(2),c=n(5),l=n(20);t.ShieldCapacitor=function(e,t){var n=(0,r.useBackend)(t),d=n.act,u=n.data,s=u.active,m=u.time_since_fail,p=u.stored_charge,h=u.max_charge,C=u.charge_rate,f=u.max_charge_rate;return(0,o.createComponentVNode)(2,i.Window,{width:500,height:400,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",selected:s,content:s?"Online":"Offline",onClick:function(){return d("toggle")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Capacitor Status",children:m>2?(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"OK."}):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Discharging!"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Stored Energy",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:p,format:function(e){return(0,l.formatSiUnit)(e,0,"J")}})," (",(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:100*(0,c.round)(p/h,1)}),"%)"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Rate",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:C,step:100,stepPixelSize:.2,minValue:1e4,maxValue:f,format:function(e){return(0,l.formatPower)(e)},onDrag:function(e,t){return d("charge_rate",{rate:t})}})})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ShieldGenerator=void 0;var o=n(0),r=n(1),i=n(3),a=n(2),c=n(5),l=n(20),d=n(61);t.ShieldGenerator=function(e,t){var n=(0,r.useBackend)(t),a=(n.act,n.data.locked);return(0,o.createComponentVNode)(2,i.Window,{width:500,height:400,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:a?(0,o.createComponentVNode)(2,u):(0,o.createComponentVNode)(2,s)})})};var u=function(e,t){return(0,o.createComponentVNode)(2,d.FullscreenNotice,{title:"Locked",children:[(0,o.createComponentVNode)(2,a.Box,{fontSize:"1.5rem",bold:!0,children:(0,o.createComponentVNode)(2,a.Icon,{name:"exclamation-triangle",verticalAlign:"middle",size:3,mr:"1rem"})}),(0,o.createComponentVNode)(2,a.Box,{color:"label",my:"1rem",children:"Swipe your ID to begin."})]})},s=function(e,t){var n=(0,r.useBackend)(t),i=n.act,d=n.data.lockedData,u=d.capacitors,s=d.active,m=d.failing,p=d.radius,h=d.max_radius,C=d.z_range,f=d.max_z_range,N=d.average_field_strength,b=d.target_field_strength,V=d.max_field_strength,g=d.shields,v=d.upkeep,_=d.strengthen_rate,k=d.max_strengthen_rate,y=d.gen_power,L=(u||[]).length;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Field Status",children:m?(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Unstable"}):(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Stable"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Overall Field Strength",children:[(0,c.round)(N,2)," Renwick (",b&&(0,c.round)(100*N/b,1)||"NA","%)"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Upkeep Power",children:(0,l.formatPower)(v)}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Shield Generation Power",children:(0,l.formatPower)(y)}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Currently Shielded",children:[g," m\xb2"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Capacitors",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:L?u.map((function(e,t){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Capacitor #"+t,children:[e.active?(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Online"}):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Offline"}),(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge",children:[(0,l.formatSiUnit)(e.stored_charge,0,"J")," (",100*(0,c.round)(e.stored_charge/e.max_charge,2),"%)"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",children:e.failing?(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Discharging"}):(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"OK."})})]})]},t)})):(0,o.createComponentVNode)(2,a.LabeledList.Item,{color:"bad",children:"No Capacitors Connected"})})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Controls",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:s?"Online":"Offline",selected:s,onClick:function(){return i("toggle")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Coverage Radius",children:(0,o.createComponentVNode)(2,a.NumberInput,{fluid:!0,stepPixelSize:6,minValue:0,maxValue:h,value:p,unit:"m",onDrag:function(e,t){return i("change_radius",{val:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Vertical Shielding",children:(0,o.createComponentVNode)(2,a.NumberInput,{fluid:!0,stepPixelSize:12,minValue:0,maxValue:f,value:C,unit:"vertical range",onDrag:function(e,t){return i("z_range",{val:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Rate",children:(0,o.createComponentVNode)(2,a.NumberInput,{fluid:!0,stepPixelSize:12,minValue:0,step:.1,maxValue:k,value:_,format:function(e){return(0,c.round)(e,1)},unit:"Renwick/s",onDrag:function(e,t){return i("strengthen_rate",{val:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Maximum Field Strength",children:(0,o.createComponentVNode)(2,a.NumberInput,{fluid:!0,stepPixelSize:12,minValue:1,maxValue:V,value:b,unit:"Renwick",onDrag:function(e,t){return i("target_field_strength",{val:t})}})})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ShuttleControl=void 0;var o=n(0),r=n(6),i=n(1),a=n(2),c=n(3),l=function(e,t){var n="ERROR",r="bad",i=!1;return"docked"===e?(n="DOCKED",r="good"):"docking"===e?(n="DOCKING",r="average",i=!0):"undocking"===e?(n="UNDOCKING",r="average",i=!0):"undocked"===e&&(n="UNDOCKED",r="#676767"),i&&t&&(n+="-MANUAL"),(0,o.createComponentVNode)(2,a.Box,{color:r,children:n})},d=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data,d=e.engineName,u=void 0===d?"Bluespace Drive":d,s=c.shuttle_status,m=c.shuttle_state,p=c.has_docking,h=c.docking_status,C=c.docking_override,f=c.docking_codes;return(0,o.createComponentVNode)(2,a.Section,{title:"Shuttle Status",children:[(0,o.createComponentVNode)(2,a.Box,{color:"label",mb:1,children:s}),(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:u,children:"idle"===m&&(0,o.createComponentVNode)(2,a.Box,{color:"#676767",bold:!0,children:"IDLE"})||"warmup"===m&&(0,o.createComponentVNode)(2,a.Box,{color:"#336699",children:"SPINNING UP"})||"in_transit"===m&&(0,o.createComponentVNode)(2,a.Box,{color:"#336699",children:"ENGAGED"})||(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"ERROR"})}),p&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Docking Status",children:l(h,C)}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Docking Codes",children:(0,o.createComponentVNode)(2,a.Button,{icon:"pen",onClick:function(){return r("set_codes")},children:f||"Not Set"})})],4)||null]})]})},u=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data,l=c.can_launch,d=c.can_cancel,u=c.can_force;return(0,o.createComponentVNode)(2,a.Section,{title:"Controls",children:(0,o.createComponentVNode)(2,a.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,a.Button,{onClick:function(){return r("move")},disabled:!l,icon:"rocket",fluid:!0,children:"Launch Shuttle"})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,a.Button,{onClick:function(){return r("cancel")},disabled:!d,icon:"ban",fluid:!0,children:"Cancel Launch"})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,a.Button,{onClick:function(){return r("force")},color:"bad",disabled:!u,icon:"exclamation-triangle",fluid:!0,children:"Force Launch"})})]})})},s={ShuttleControlConsoleDefault:(0,o.createComponentVNode)(2,(function(e,t){var n=(0,i.useBackend)(t);n.act,n.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,d),(0,o.createComponentVNode)(2,u)],4)})),ShuttleControlConsoleMulti:(0,o.createComponentVNode)(2,(function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data,l=c.can_cloak,s=c.can_pick,m=c.legit,p=c.cloaked,h=c.destination_name;return(0,o.createFragment)([(0,o.createComponentVNode)(2,d),(0,o.createComponentVNode)(2,a.Section,{title:"Multishuttle Controls",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[l&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:m?"ATC Inhibitor":"Cloaking",children:(0,o.createComponentVNode)(2,a.Button,{selected:p,icon:p?"eye":"eye-o",onClick:function(){return r("toggle_cloaked")},children:p?"Enabled":"Disabled"})})||null,(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Destination",children:(0,o.createComponentVNode)(2,a.Button,{icon:"taxi",disabled:!s,onClick:function(){return r("pick")},children:h})})]})}),(0,o.createComponentVNode)(2,u)],4)})),ShuttleControlConsoleExploration:(0,o.createComponentVNode)(2,(function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data,l=c.can_pick,s=c.destination_name,m=c.fuel_usage,p=c.fuel_span,h=c.remaining_fuel;return(0,o.createFragment)([(0,o.createComponentVNode)(2,d,{engineName:"Engines"}),(0,o.createComponentVNode)(2,a.Section,{title:"Jump Controls",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Destination",children:(0,o.createComponentVNode)(2,a.Button,{icon:"taxi",disabled:!l,onClick:function(){return r("pick")},children:s})}),m&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Est. Delta-V Budget",color:p,children:[h," m/s"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Avg. Delta-V Per Maneuver",children:[m," m/s"]})],4)||null]})}),(0,o.createComponentVNode)(2,u)],4)})),ShuttleControlConsoleWeb:(0,o.createComponentVNode)(2,(function(e,t){var n=(0,i.useBackend)(t),c=n.act,d=n.data,u=d.autopilot,s=d.can_rename,m=d.shuttle_state,p=d.is_moving,h=d.skip_docking,C=d.docking_status,f=d.docking_override,N=d.shuttle_location,b=d.can_cloak,V=d.cloaked,g=d.can_autopilot,v=d.routes,_=d.is_in_transit,k=d.travel_progress,y=d.time_left,L=d.doors,B=d.sensors;return(0,o.createFragment)([u&&(0,o.createComponentVNode)(2,a.Section,{title:"AI PILOT (CLASS D) ACTIVE",children:(0,o.createComponentVNode)(2,a.Box,{inline:!0,italic:!0,children:"This vessel will start and stop automatically. Ensure that all non-cycling capable hatches and doors are closed, as the automated system may not be able to control them. Docking and flight controls are locked. To unlock, disable the automated flight system."})})||null,(0,o.createComponentVNode)(2,a.Section,{title:"Shuttle Status",buttons:s&&(0,o.createComponentVNode)(2,a.Button,{icon:"pen",onClick:function(){return c("rename_command")},children:"Rename"})||null,children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Engines",children:"idle"===m&&(0,o.createComponentVNode)(2,a.Box,{color:"#676767",bold:!0,children:"IDLE"})||"warmup"===m&&(0,o.createComponentVNode)(2,a.Box,{color:"#336699",children:"SPINNING UP"})||"in_transit"===m&&(0,o.createComponentVNode)(2,a.Box,{color:"#336699",children:"ENGAGED"})||(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"ERROR"})}),!p&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Location",children:(0,r.toTitleCase)(N)}),!h&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Docking Status",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{selected:"docked"===C,disabled:"undocked"!==C&&"docked"!==C,onClick:function(){return c("dock_command")},children:"Dock"}),(0,o.createComponentVNode)(2,a.Button,{selected:"undocked"===C,disabled:"docked"!==C&&"undocked"!==C,onClick:function(){return c("undock_command")},children:"Undock"})],4),children:(0,o.createComponentVNode)(2,a.Box,{bold:!0,inline:!0,children:l(C,f)})})||null,b&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cloaking",children:(0,o.createComponentVNode)(2,a.Button,{selected:V,icon:V?"eye":"eye-o",onClick:function(){return c("toggle_cloaked")},children:V?"Enabled":"Disabled"})})||null,g&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Autopilot",children:(0,o.createComponentVNode)(2,a.Button,{selected:u,icon:u?"eye":"eye-o",onClick:function(){return c("toggle_autopilot")},children:u?"Enabled":"Disabled"})})||null],0)||null]}),!p&&(0,o.createComponentVNode)(2,a.Section,{level:2,title:"Available Destinations",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:v.length&&v.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:(0,o.createComponentVNode)(2,a.Button,{icon:"rocket",onClick:function(){return c("traverse",{traverse:e.index})},children:e.travel_time})},e.name)}))||(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Error",color:"bad",children:"No routes found."})})})||null]}),_&&(0,o.createComponentVNode)(2,a.Section,{title:"Transit ETA",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Distance from target",children:(0,o.createComponentVNode)(2,a.ProgressBar,{color:"good",minValue:0,maxValue:100,value:k,children:[y,"s"]})})})})||null,Object.keys(L).length&&(0,o.createComponentVNode)(2,a.Section,{title:"Hatch Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:Object.keys(L).map((function(e){var t=L[e];return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e,children:[t.open&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"bad",children:"Open"})||(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"good",children:"Closed"}),"\xa0-\xa0",t.bolted&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"good",children:"Bolted"})||(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"bad",children:"Unbolted"})]},e)}))})})||null,Object.keys(B).length&&(0,o.createComponentVNode)(2,a.Section,{title:"Sensors",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:Object.keys(B).map((function(e){var t=B[e];return-1===t.reading?(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e,color:"bad",children:"Unable to get sensor air reading."}):(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[t.pressure,"kPa"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Temperature",children:[t.temp,"\xb0C"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Oxygen",children:[t.oxygen,"%"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Nitrogen",children:[t.nitrogen,"%"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Carbon Dioxide",children:[t.carbon_dioxide,"%"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Phoron",children:[t.phoron,"%"]}),t.other&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Other",children:[t.other,"%"]})||null]})},e)}))})})||null],0)}))};t.ShuttleControl=function(e,t){var n=(0,i.useBackend)(t),r=(n.act,n.data.subtemplate);return(0,o.createComponentVNode)(2,c.Window,{width:470,height:"ShuttleControlConsoleWeb"===r?560:370,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:s[r]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Sleeper=void 0;var o=n(0),r=n(5),i=n(1),a=n(2),c=n(3),l=[["good","Alive"],["average","Unconscious"],["bad","DEAD"]],d=[["Resp","oxyLoss"],["Toxin","toxLoss"],["Brute","bruteLoss"],["Burn","fireLoss"]],u={average:[.25,.5],bad:[.5,Infinity]},s=["bad","average","average","good","average","average","bad"];t.Sleeper=function(e,t){var n=(0,i.useBackend)(t),r=(n.act,n.data.hasOccupant?(0,o.createComponentVNode)(2,m):(0,o.createComponentVNode)(2,N));return(0,o.createComponentVNode)(2,c.Window,{width:550,height:760,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{className:"Layout__content--flexColumn",children:r})})};var m=function(e,t){var n=(0,i.useBackend)(t),r=(n.act,n.data),a=(r.occupant,r.dialysis),c=r.stomachpumping;return(0,o.createFragment)([(0,o.createComponentVNode)(2,p),(0,o.createComponentVNode)(2,h),(0,o.createComponentVNode)(2,C,{title:"Dialysis",active:a,actToDo:"togglefilter"}),(0,o.createComponentVNode)(2,C,{title:"Stomach Pump",active:c,actToDo:"togglepump"}),(0,o.createComponentVNode)(2,f)],4)},p=function(e,t){var n=(0,i.useBackend)(t),c=n.act,d=n.data,u=d.occupant,m=d.auto_eject_dead,p=d.stasis;return(0,o.createComponentVNode)(2,a.Section,{title:"Occupant",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{color:"label",display:"inline",children:"Auto-eject if dead:\xa0"}),(0,o.createComponentVNode)(2,a.Button,{icon:m?"toggle-on":"toggle-off",selected:m,content:m?"On":"Off",onClick:function(){return c("auto_eject_dead_"+(m?"off":"on"))}}),(0,o.createComponentVNode)(2,a.Button,{icon:"user-slash",content:"Eject",onClick:function(){return c("ejectify")}}),(0,o.createComponentVNode)(2,a.Button,{content:p,onClick:function(){return c("changestasis")}})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:u.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{min:0,max:u.maxHealth,value:u.health/u.maxHealth,ranges:{good:[.5,Infinity],average:[0,.5],bad:[-Infinity,0]},children:(0,r.round)(u.health,0)})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:l[u.stat][0],children:l[u.stat][1]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Temperature",children:(0,o.createComponentVNode)(2,a.ProgressBar,{min:"0",max:u.maxTemp,value:u.bodyTemperature/u.maxTemp,color:s[u.temperatureSuitability+3],children:[(0,r.round)(u.btCelsius,0),"\xb0C,",(0,r.round)(u.btFaren,0),"\xb0F"]})}),!!u.hasBlood&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Blood Level",children:(0,o.createComponentVNode)(2,a.ProgressBar,{min:"0",max:u.bloodMax,value:u.bloodLevel/u.bloodMax,ranges:{bad:[-Infinity,.6],average:[.6,.9],good:[.6,Infinity]},children:[u.bloodPercent,"%, ",u.bloodLevel,"cl"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pulse",verticalAlign:"middle",children:[u.pulse," BPM"]})],4)]})})},h=function(e,t){var n=(0,i.useBackend)(t).data.occupant;return(0,o.createComponentVNode)(2,a.Section,{title:"Damage",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:d.map((function(e,t){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e[0],children:(0,o.createComponentVNode)(2,a.ProgressBar,{min:"0",max:"100",value:n[e[1]]/100,ranges:u,children:(0,r.round)(n[e[1]],0)},t)},t)}))})})},C=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data,l=c.isBeakerLoaded,d=c.beakerMaxSpace,u=c.beakerFreeSpace,s=e.active,m=e.actToDo,p=e.title,h=s&&u>0;return(0,o.createComponentVNode)(2,a.Section,{title:p,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{disabled:!l||u<=0,selected:h,icon:h?"toggle-on":"toggle-off",content:h?"Active":"Inactive",onClick:function(){return r(m)}}),(0,o.createComponentVNode)(2,a.Button,{disabled:!l,icon:"eject",content:"Eject",onClick:function(){return r("removebeaker")}})],4),children:l?(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Remaining Space",children:(0,o.createComponentVNode)(2,a.ProgressBar,{min:"0",max:d,value:u/d,ranges:{good:[.5,Infinity],average:[.25,.5],bad:[-Infinity,.25]},children:[u,"u"]})})}):(0,o.createComponentVNode)(2,a.Box,{color:"label",children:"No beaker loaded."})})},f=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data,l=c.occupant,d=c.chemicals,u=c.maxchem,s=c.amounts;return(0,o.createComponentVNode)(2,a.Section,{title:"Chemicals",flexGrow:"1",children:d.map((function(e,t){var n,i="";return e.overdosing?(i="bad",n=(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:[(0,o.createComponentVNode)(2,a.Icon,{name:"exclamation-circle"}),"\xa0 Overdosing!"]})):e.od_warning&&(i="average",n=(0,o.createComponentVNode)(2,a.Box,{color:"average",children:[(0,o.createComponentVNode)(2,a.Icon,{name:"exclamation-triangle"}),"\xa0 Close to overdosing"]})),(0,o.createComponentVNode)(2,a.Box,{backgroundColor:"rgba(0, 0, 0, 0.33)",mb:"0.5rem",children:(0,o.createComponentVNode)(2,a.Section,{title:e.title,level:"3",mx:"0",lineHeight:"18px",buttons:n,children:(0,o.createComponentVNode)(2,a.Flex,{align:"flex-start",children:[(0,o.createComponentVNode)(2,a.ProgressBar,{min:"0",max:u,value:e.occ_amount/u,color:i,mr:"0.5rem",children:[e.pretty_amount,"/",u,"u"]}),s.map((function(t,n){return(0,o.createComponentVNode)(2,a.Button,{disabled:!e.injectable||e.occ_amount+t>u||2===l.stat,icon:"syringe",content:t,mb:"0",height:"19px",onClick:function(){return r("chemical",{chemid:e.id,amount:t})}},n)}))]})})},t)}))})},N=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data.isBeakerLoaded;return(0,o.createComponentVNode)(2,a.Section,{textAlign:"center",flexGrow:"1",children:(0,o.createComponentVNode)(2,a.Flex,{height:"100%",children:(0,o.createComponentVNode)(2,a.Flex.Item,{grow:"1",align:"center",color:"label",children:[(0,o.createComponentVNode)(2,a.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,o.createVNode)(1,"br"),"No occupant detected.",c&&(0,o.createComponentVNode)(2,a.Box,{children:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Remove Beaker",onClick:function(){return r("removebeaker")}})})||null]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.SmartVend=void 0;var o=n(0),r=n(8),i=n(1),a=n(2),c=n(3);t.SmartVend=function(e,t){var n=(0,i.useBackend)(t),l=n.act,d=n.config,u=n.data;return(0,o.createComponentVNode)(2,c.Window,{width:440,height:550,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.Section,{title:"Storage",children:[u.secure&&(0,o.createComponentVNode)(2,a.NoticeBox,{danger:-1===u.locked,info:-1!==u.locked,children:-1===u.locked?(0,o.createComponentVNode)(2,a.Box,{children:"Sec.re ACC_** //):securi_nt.diag=>##'or 1=1'%($..."}):(0,o.createComponentVNode)(2,a.Box,{children:"Secure Access: Please have your identification ready."})})||null,0===u.contents.length&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:["Unfortunately, this ",d.title," is empty."]})||(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:"Item"}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,textAlign:"center",children:"Amount"}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,textAlign:"center",children:"Dispense"})]}),(0,r.map)((function(e,t){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:e.name}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,textAlign:"center",children:[e.amount," in stock"]}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,a.Button,{content:"1",disabled:e.amount<1,onClick:function(){return l("Release",{index:e.index,amount:1})}}),(0,o.createComponentVNode)(2,a.Button,{content:"5",disabled:e.amount<5,onClick:function(){return l("Release",{index:e.index,amount:5})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom",disabled:e.amount<1,onClick:function(){return l("Release",{index:e.index})}}),(0,o.createComponentVNode)(2,a.Button,{content:"All",disabled:e.amount<1,onClick:function(){return l("Release",{index:e.index,amount:e.amount})}})]})]},t)}))(u.contents)]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Smes=void 0;var o=n(0),r=n(1),i=n(2),a=n(20),c=n(3),l=n(5);t.Smes=function(e,t){var n=(0,r.useBackend)(t),d=n.act,u=n.data,s=u.capacityPercent,m=u.capacity,p=u.charge,h=u.inputAttempt,C=u.inputting,f=u.inputLevel,N=u.inputLevelMax,b=u.inputAvailable,V=u.outputAttempt,g=u.outputting,v=u.outputLevel,_=u.outputLevelMax,k=u.outputUsed,y=(s>=100?"good":C&&"average")||"bad",L=(g?"good":p>0&&"average")||"bad";return(0,o.createComponentVNode)(2,c.Window,{width:340,height:350,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(0,o.createComponentVNode)(2,i.Section,{title:"Stored Energy",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:.01*s,ranges:{good:[.5,Infinity],average:[.15,.5],bad:[-Infinity,.15]},children:[(0,l.round)(p/6e4,1)," kWh / ",(0,l.round)(m/6e4)," kWh (",s,"%)"]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Input",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Charge Mode",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:h?"sync-alt":"times",selected:h,onClick:function(){return d("tryinput")},children:h?"On":"Off"}),children:(0,o.createComponentVNode)(2,i.Box,{color:y,children:(s>=100?"Fully Charged":C&&"Charging")||"Not Charging"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Target Input",children:(0,o.createComponentVNode)(2,i.Flex,{inline:!0,width:"100%",children:[(0,o.createComponentVNode)(2,i.Flex.Item,{children:[(0,o.createComponentVNode)(2,i.Button,{icon:"fast-backward",disabled:0===f,onClick:function(){return d("input",{target:"min"})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"backward",disabled:0===f,onClick:function(){return d("input",{adjust:-1e4})}})]}),(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,mx:1,children:(0,o.createComponentVNode)(2,i.Slider,{value:f/1e3,fillValue:b/1e3,minValue:0,maxValue:N/1e3,step:5,stepPixelSize:4,format:function(e){return(0,a.formatPower)(1e3*e,1)},onDrag:function(e,t){return d("input",{target:1e3*t})}})}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:[(0,o.createComponentVNode)(2,i.Button,{icon:"forward",disabled:f===N,onClick:function(){return d("input",{adjust:1e4})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"fast-forward",disabled:f===N,onClick:function(){return d("input",{target:"max"})}})]})]})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Available",children:(0,a.formatPower)(b)})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Output",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Output Mode",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:V?"power-off":"times",selected:V,onClick:function(){return d("tryoutput")},children:V?"On":"Off"}),children:(0,o.createComponentVNode)(2,i.Box,{color:L,children:g?"Sending":p>0?"Not Sending":"No Charge"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Target Output",children:(0,o.createComponentVNode)(2,i.Flex,{inline:!0,width:"100%",children:[(0,o.createComponentVNode)(2,i.Flex.Item,{children:[(0,o.createComponentVNode)(2,i.Button,{icon:"fast-backward",disabled:0===v,onClick:function(){return d("output",{target:"min"})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"backward",disabled:0===v,onClick:function(){return d("output",{adjust:-1e4})}})]}),(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,mx:1,children:(0,o.createComponentVNode)(2,i.Slider,{value:v/1e3,minValue:0,maxValue:_/1e3,step:5,stepPixelSize:4,format:function(e){return(0,a.formatPower)(1e3*e,1)},onDrag:function(e,t){return d("output",{target:1e3*t})}})}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:[(0,o.createComponentVNode)(2,i.Button,{icon:"forward",disabled:v===_,onClick:function(){return d("output",{adjust:1e4})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"fast-forward",disabled:v===_,onClick:function(){return d("output",{target:"max"})}})]})]})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Outputting",children:(0,a.formatPower)(k)})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.SolarControl=void 0;var o=n(0),r=n(1),i=n(2),a=n(3),c=n(5);t.SolarControl=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.generated,s=d.generated_ratio,m=d.sun_angle,p=d.array_angle,h=d.rotation_rate,C=d.max_rotation_rate,f=d.tracking_state,N=d.connected_panels,b=d.connected_tracker;return(0,o.createComponentVNode)(2,a.Window,{width:380,height:230,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:[(0,o.createComponentVNode)(2,i.Section,{title:"Status",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"sync",content:"Scan for new hardware",onClick:function(){return l("refresh")}}),children:(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Solar tracker",color:b?"good":"bad",children:b?"OK":"N/A"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Solar panels",color:N>0?"good":"bad",children:N})]})}),(0,o.createComponentVNode)(2,i.Grid.Column,{size:1.5,children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Power output",children:(0,o.createComponentVNode)(2,i.ProgressBar,{ranges:{good:[.66,Infinity],average:[.33,.66],bad:[-Infinity,.33]},minValue:0,maxValue:1,value:s,children:u+" W"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Star orientation",children:[m,"\xb0"]})]})})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Controls",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Tracking",children:[(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Off",selected:0===f,onClick:function(){return l("tracking",{mode:0})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"clock-o",content:"Timed",selected:1===f,onClick:function(){return l("tracking",{mode:1})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"sync",content:"Auto",selected:2===f,disabled:!b,onClick:function(){return l("tracking",{mode:2})}})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Azimuth",children:[(0===f||1===f)&&(0,o.createComponentVNode)(2,i.NumberInput,{width:"52px",unit:"\xb0",step:1,stepPixelSize:2,minValue:-360,maxValue:720,value:p,format:function(e){var t=Math.sign(e)>0?" (CW)":" (CCW)";return Math.abs((0,c.round)(e))+t},onDrag:function(e,t){return l("azimuth",{value:t})}}),1===f&&(0,o.createComponentVNode)(2,i.NumberInput,{width:"80px",unit:"deg/h",step:1,minValue:-C-.01,maxValue:C+.01,value:h,format:function(e){var t=Math.sign(e)>0?" (CW)":" (CCW)";return Math.abs((0,c.round)(e))+t},onDrag:function(e,t){return l("azimuth_rate",{value:t})}}),2===f&&(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:"label",mt:"3px",children:[p+"\xb0"," (auto)"]})]})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.SpaceHeater=void 0;var o=n(0),r=n(28),i=n(1),a=n(2),c=n(3);t.SpaceHeater=function(e,t){var n=(0,i.useBackend)(t),l=n.act,d=n.data,u=d.temp,s=d.minTemp,m=d.maxTemp,p=d.cell,h=d.power;return(0,o.createComponentVNode)(2,c.Window,{width:300,height:250,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Temperature",children:[u," K (",u-r.T0C,"\xb0 C)"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Charge",children:[h,"% ",!p&&"(No Cell Inserted)"]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Controls",children:(0,o.createComponentVNode)(2,a.LabeledControls,{children:[(0,o.createComponentVNode)(2,a.LabeledControls.Item,{label:"Thermostat",children:(0,o.createComponentVNode)(2,a.Knob,{animated:!0,value:u-r.T0C,minValue:s-r.T0C,maxValue:m-r.T0C,unit:"C",onChange:function(e,t){return l("temp",{newtemp:t+r.T0C})}})}),(0,o.createComponentVNode)(2,a.LabeledControls.Item,{label:"Cell",children:p?(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject Cell",onClick:function(){return l("cellremove")}}):(0,o.createComponentVNode)(2,a.Button,{icon:"car-battery",content:"Insert Cell",onClick:function(){return l("cellinstall")}})})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Stack=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);n(24);t.Stack=function(e,t){var n=(0,r.useBackend)(t),l=(n.act,n.data),d=l.amount,u=l.recipes;return(0,o.createComponentVNode)(2,a.Window,{width:400,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i.Section,{title:"Amount: "+d,children:(0,o.createComponentVNode)(2,c,{recipes:u})})})})};var c=function u(e,t){var n=(0,r.useBackend)(t),a=(n.act,n.data,e.recipes);return Object.keys(a).sort().map((function(e){var t=a[e];return t.ref===undefined?(0,o.createComponentVNode)(2,i.Collapsible,{ml:1,mb:-.7,color:"label",title:e,children:(0,o.createComponentVNode)(2,i.Box,{ml:1,children:(0,o.createComponentVNode)(2,u,{recipes:t})})}):(0,o.createComponentVNode)(2,d,{title:e,recipe:t})}))},l=function(e,t){for(var n=(0,r.useBackend)(t),a=n.act,c=(n.data,e.recipe),l=e.maxMultiplier,d=Math.min(l,Math.floor(c.max_res_amount/c.res_amount)),u=[5,10,25],s=[],m=function(){var e=h[p];d>=e&&s.push((0,o.createComponentVNode)(2,i.Button,{content:e*c.res_amount+"x",onClick:function(){return a("make",{ref:c.ref,multiplier:e})}}))},p=0,h=u;p1?"s":""),h+=")",s>1&&(h=s+"x "+h);var C=function(e,t){return e.req_amount>t?0:Math.floor(t/e.req_amount)}(d,c);return(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.Table,{children:(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,disabled:!C,icon:"wrench",content:h,onClick:function(){return a("make",{ref:d.ref,multiplier:1})}})}),m>1&&C>1&&(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,l,{recipe:d,maxMultiplier:C})})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.StarcasterCh=void 0;var o=n(0),r=n(1),i=n(2),a=n(3),c=n(75);t.StarcasterCh=function(e,t){var n=(0,r.useBackend)(t),i=(n.act,n.data.article),c=(0,o.createComponentVNode)(2,d);return i&&(c=(0,o.createComponentVNode)(2,l)),(0,o.createComponentVNode)(2,a.Window,{width:575,height:750,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:c})})};var l=function(e,t){var n=(0,r.useBackend)(t),a=n.act,l=n.data.article;if(!l)return(0,o.createComponentVNode)(2,i.Section,{children:"Error: Article not found."});var d=l.title,u=l.cover,s=l.content;return(0,o.createComponentVNode)(2,i.Section,{title:"Viewing: "+d,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"times",onClick:function(){return a("PRG_reset")},children:"Close"}),children:[!!u&&(0,o.createVNode)(1,"img",null,null,1,{src:(0,c.resolveAsset)(u)}),(0,o.createVNode)(1,"div",null,null,1,{dangerouslySetInnerHTML:{__html:s}})]})},d=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.showing_archived,d=c.all_articles;return(0,o.createComponentVNode)(2,i.Section,{title:"Articles List",buttons:(0,o.createComponentVNode)(2,i.Button.Checkbox,{onClick:function(){return a("PRG_toggle_archived")},checked:l,children:"Show Archived"}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:d.length&&d.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"download",onClick:function(){return a("PRG_openarticle",{uid:e.uid})}})},e.uid)}))||(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Error",children:"Unable to connect to Starfire database."})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.StationBlueprintsContent=t.StationBlueprints=void 0;var o=n(0),r=(n(8),n(41),n(10),n(6),n(1)),i=n(2),a=n(3);t.StationBlueprints=function(e,t){return(0,o.createComponentVNode)(2,a.Window,{width:870,height:708,resizable:!0,children:(0,o.createComponentVNode)(2,c)})};var c=function(e,t){var n=(0,r.useBackend)(t),c=(n.act,n.data),l=(n.config,c.mapRef);c.areas,c.turfs;return(0,o.createFragment)([(0,o.createVNode)(1,"div","CameraConsole__left",(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:"Honk!"}),2),(0,o.createVNode)(1,"div","CameraConsole__right",(0,o.createComponentVNode)(2,i.ByondUi,{className:"CameraConsole__map",params:{id:l,type:"map"}}),2)],4)};t.StationBlueprintsContent=c},function(e,t,n){"use strict";t.__esModule=!0,t.SuitCycler=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.SuitCycler=function(e,t){var n=(0,r.useBackend)(t),i=(n.act,n.data),s=i.active,m=i.locked,p=i.uv_active,h=(0,o.createComponentVNode)(2,c);return p?h=(0,o.createComponentVNode)(2,l):m?h=(0,o.createComponentVNode)(2,d):s&&(h=(0,o.createComponentVNode)(2,u)),(0,o.createComponentVNode)(2,a.Window,{width:320,height:400,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:h})})};var c=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.safeties,d=c.occupied,u=c.suit,s=c.helmet,m=c.departments,p=c.species,h=c.uv_level,C=c.max_uv_level,f=c.can_repair,N=c.damage;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Storage",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"lock",content:"Lock",onClick:function(){return a("lock")}}),children:[!(!d||!l)&&(0,o.createComponentVNode)(2,i.NoticeBox,{children:["Biological entity detected in suit chamber. Please remove before continuing with operation.",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"eject",color:"red",content:"Eject Entity",onClick:function(){return a("eject_guy")}})]}),(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Helmet",children:(0,o.createComponentVNode)(2,i.Button,{icon:s?"square":"square-o",content:s||"Empty",disabled:!s,onClick:function(){return a("dispense",{item:"helmet"})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Suit",children:(0,o.createComponentVNode)(2,i.Button,{icon:u?"square":"square-o",content:u||"Empty",disabled:!u,onClick:function(){return a("dispense",{item:"suit"})}})}),f&&N?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Suit Damage",children:[N,(0,o.createComponentVNode)(2,i.Button,{icon:"wrench",content:"Repair",onClick:function(){return a("repair_suit")}})]}):null]})]}),(0,o.createComponentVNode)(2,i.Section,{title:"Customization",children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Target Paintjob",children:(0,o.createComponentVNode)(2,i.Dropdown,{noscroll:!0,width:"100%",options:m,selected:m[0],onSelected:function(e){return a("department",{department:e})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Target Species",children:(0,o.createComponentVNode)(2,i.Dropdown,{width:"100%",maxHeight:"160px",options:p,selected:p[0],onSelected:function(e){return a("species",{species:e})}})})]}),(0,o.createComponentVNode)(2,i.Button,{mt:1,fluid:!0,content:"Customize",onClick:function(){return a("apply_paintjob")}})]}),(0,o.createComponentVNode)(2,i.Section,{title:"UV Decontamination",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Radiation Level",children:(0,o.createComponentVNode)(2,i.NumberInput,{width:"50px",value:h,minValue:1,maxValue:C,stepPixelSize:30,onChange:function(e,t){return a("radlevel",{radlevel:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Decontaminate",children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"recycle",disabled:d&&l,textAlign:"center",onClick:function(){return a("uv")}})})]})})],4)},l=function(e,t){return(0,o.createComponentVNode)(2,i.NoticeBox,{children:"Contents are currently being decontaminated. Please wait."})},d=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.model_text,d=c.userHasAccess;return(0,o.createComponentVNode)(2,i.Section,{title:"Locked",textAlign:"center",children:[(0,o.createComponentVNode)(2,i.Box,{color:"bad",bold:!0,children:["The ",l," suit cycler is currently locked. Please contact your system administrator."]}),(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"unlock",content:"[Unlock]",disabled:!d,onClick:function(){return a("lock")}})})]})},u=function(e,t){return(0,o.createComponentVNode)(2,i.NoticeBox,{children:"Contents are currently being painted. Please wait."})}},function(e,t,n){"use strict";t.__esModule=!0,t.SuitStorageUnit=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.SuitStorageUnit=function(e,t){var n=(0,r.useBackend)(t),i=(n.act,n.data),s=i.panelopen,m=i.uv_active,p=i.broken,h=(0,o.createComponentVNode)(2,c);return s?h=(0,o.createComponentVNode)(2,l):m?h=(0,o.createComponentVNode)(2,d):p&&(h=(0,o.createComponentVNode)(2,u)),(0,o.createComponentVNode)(2,a.Window,{width:400,height:365,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:h})})};var c=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.locked,d=c.open,u=c.safeties,s=c.occupied,m=c.suit,p=c.helmet,h=c.mask;return(0,o.createComponentVNode)(2,i.Section,{title:"Storage",minHeight:"260px",buttons:(0,o.createFragment)([!d&&(0,o.createComponentVNode)(2,i.Button,{icon:l?"unlock":"lock",content:l?"Unlock":"Lock",onClick:function(){return a("lock")}}),!l&&(0,o.createComponentVNode)(2,i.Button,{icon:d?"sign-out-alt":"sign-in-alt",content:d?"Close":"Open",onClick:function(){return a("door")}})],0),children:[!(!s||!u)&&(0,o.createComponentVNode)(2,i.NoticeBox,{children:["Biological entity detected in suit chamber. Please remove before continuing with operation.",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"eject",color:"red",content:"Eject Entity",onClick:function(){return a("eject_guy")}})]}),l&&(0,o.createComponentVNode)(2,i.Box,{mt:6,bold:!0,textAlign:"center",fontSize:"40px",children:[(0,o.createComponentVNode)(2,i.Box,{children:"Unit Locked"}),(0,o.createComponentVNode)(2,i.Icon,{name:"lock"})]})||d&&(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Helmet",children:(0,o.createComponentVNode)(2,i.Button,{icon:p?"square":"square-o",content:p||"Empty",disabled:!p,onClick:function(){return a("dispense",{item:"helmet"})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Suit",children:(0,o.createComponentVNode)(2,i.Button,{icon:m?"square":"square-o",content:m||"Empty",disabled:!m,onClick:function(){return a("dispense",{item:"suit"})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Mask",children:(0,o.createComponentVNode)(2,i.Button,{icon:h?"square":"square-o",content:h||"Empty",disabled:!h,onClick:function(){return a("dispense",{item:"mask"})}})})]})||(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"recycle",content:"Decontaminate",disabled:s&&u,textAlign:"center",onClick:function(){return a("uv")}})]})},l=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.safeties,d=c.uv_super;return(0,o.createComponentVNode)(2,i.Section,{title:"Maintenance Panel",children:[(0,o.createComponentVNode)(2,i.Box,{color:"grey",children:"The panel is ridden with controls, button and meters, labeled in strange signs and symbols that you cannot understand. Probably the manufactoring world's language. Among other things, a few controls catch your eye."}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,i.Box,{children:["A small dial with a biohazard symbol next to it. It's pointing towards a gauge that reads ",d?"15nm":"185nm",".",(0,o.createComponentVNode)(2,i.Flex,{mt:1,align:"center",textAlign:"center",children:[(0,o.createComponentVNode)(2,i.Flex.Item,{basis:"50%",textAlign:"center",children:(0,o.createComponentVNode)(2,i.Knob,{size:2,inline:!0,value:d,minValue:0,maxValue:1,step:1,stepPixelSize:40,color:d?"red":"green",format:function(e){return e?"15nm":"185nm"},onChange:function(e,t){return a("toggleUV")}})}),(0,o.createComponentVNode)(2,i.Flex.Item,{basis:"50%",textAlign:"center",children:(0,o.createComponentVNode)(2,i.Icon,{name:"biohazard",size:3,color:"orange"})})]})]}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,i.Box,{children:["A thick old-style button, with 2 grimy LED lights next to it. The ",l?(0,o.createVNode)(1,"font",null,"GREEN",16,{color:"green"}):(0,o.createVNode)(1,"font",null,"RED",16,{color:"red"})," LED is on.",(0,o.createComponentVNode)(2,i.Flex,{mt:1,align:"center",textAlign:"center",children:[(0,o.createComponentVNode)(2,i.Flex.Item,{basis:"50%",textAlign:"center",children:(0,o.createComponentVNode)(2,i.Button,{fontSize:"2rem",color:"grey",inline:!0,icon:"caret-square-right",style:{border:"4px solid #777","border-style":"outset"},onClick:function(){return a("togglesafeties")}})}),(0,o.createComponentVNode)(2,i.Flex.Item,{basis:"50%",textAlign:"center",children:[(0,o.createComponentVNode)(2,i.Icon,{name:"circle",color:l?"black":"red",mr:2}),(0,o.createComponentVNode)(2,i.Icon,{name:"circle",color:l?"green":"black"})]})]})]})]})},d=function(e,t){return(0,o.createComponentVNode)(2,i.NoticeBox,{children:"Contents are currently being decontaminated. Please wait."})},u=function(e,t){return(0,o.createComponentVNode)(2,i.NoticeBox,{danger:!0,children:"Unit chamber is too contaminated to continue usage. Please call for a qualified individual to perform maintenance."})}},function(e,t,n){"use strict";t.__esModule=!0,t.SupplyConsole=void 0;var o=n(0),r=n(8),i=(n(5),n(20)),a=n(1),c=n(2),l=n(45),d=n(3),u=n(41),s=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data.supply_points,l=e.args,d=l.name,u=l.cost,s=l.manifest,m=l.ref,p=l.random;return(0,o.createComponentVNode)(2,c.Section,{width:"400px",level:2,m:"-1rem",pb:"1rem",title:d,buttons:(0,o.createComponentVNode)(2,c.Button,{icon:"shopping-cart",content:"Buy - "+u+" points",disabled:u>i,onClick:function(){return r("request_crate",{ref:m})}}),children:(0,o.createComponentVNode)(2,c.Section,{title:"Contains"+(p?" any "+p+" of:":""),scrollable:!0,height:"200px",children:s.map((function(e){return(0,o.createComponentVNode)(2,c.Box,{children:e},e)}))})})};t.SupplyConsole=function(e,t){var n=(0,a.useBackend)(t);n.act,n.data;return(0,l.modalRegisterBodyOverride)("view_crate",s),(0,o.createComponentVNode)(2,d.Window,{width:700,height:620,children:(0,o.createComponentVNode)(2,d.Window.Content,{children:[(0,o.createComponentVNode)(2,l.ComplexModal,{maxWidth:"100%"}),(0,o.createComponentVNode)(2,c.Section,{title:"Supply Records",children:[(0,o.createComponentVNode)(2,m),(0,o.createComponentVNode)(2,p)]})]})})};var m=function(e,t){var n=(0,a.useBackend)(t),r=n.act,l=n.data,d=l.supply_points,u=l.shuttle,s=null,m=!1;return l.shuttle_auth&&(1===u.launch&&0===u.mode?s=(0,o.createComponentVNode)(2,c.Button,{icon:"rocket",content:"Send Away",onClick:function(){return r("send_shuttle",{mode:"send_away"})}}):2!==u.launch||3!==u.mode&&1!==u.mode?1===u.launch&&5===u.mode&&(s=(0,o.createComponentVNode)(2,c.Button,{icon:"rocket",content:"Send Shuttle",onClick:function(){return r("send_shuttle",{mode:"send_to_station"})}})):s=(0,o.createComponentVNode)(2,c.Button,{icon:"ban",content:"Cancel Launch",onClick:function(){return r("send_shuttle",{mode:"cancel_shuttle"})}}),u.force&&(m=!0)),(0,o.createComponentVNode)(2,c.Section,{children:[(0,o.createComponentVNode)(2,c.LabeledList,{children:(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Supply Points",children:(0,o.createComponentVNode)(2,c.AnimatedNumber,{value:d})})}),(0,o.createComponentVNode)(2,c.Section,{level:2,title:"Supply Shuttle",mt:2,children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Location",buttons:(0,o.createFragment)([s,m?(0,o.createComponentVNode)(2,c.Button,{icon:"exclamation-triangle",content:"Force Launch",onClick:function(){return r("send_shuttle",{mode:"force_shuttle"})}}):null],0),children:u.location}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Engine",children:u.engine}),4===u.mode?(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"ETA",children:u.time>1?(0,i.formatTime)(u.time):"LATE"}):null]})})]})},p=function(e,t){var n=(0,a.useBackend)(t),r=(n.act,n.data.order_auth,(0,a.useLocalState)(t,"tabIndex",0)),i=r[0],l=r[1];return(0,o.createComponentVNode)(2,c.Section,{title:"Menu",children:[(0,o.createComponentVNode)(2,c.Tabs,{children:[(0,o.createComponentVNode)(2,c.Tabs.Tab,{icon:"box",selected:0===i,onClick:function(){return l(0)},children:"Request"}),(0,o.createComponentVNode)(2,c.Tabs.Tab,{icon:"check-circle-o",selected:1===i,onClick:function(){return l(1)},children:"Accepted"}),(0,o.createComponentVNode)(2,c.Tabs.Tab,{icon:"circle-o",selected:2===i,onClick:function(){return l(2)},children:"Requests"}),(0,o.createComponentVNode)(2,c.Tabs.Tab,{icon:"book",selected:3===i,onClick:function(){return l(3)},children:"Order history"}),(0,o.createComponentVNode)(2,c.Tabs.Tab,{icon:"book",selected:4===i,onClick:function(){return l(4)},children:"Export history"})]}),0===i?(0,o.createComponentVNode)(2,h):null,1===i?(0,o.createComponentVNode)(2,C,{mode:"Approved"}):null,2===i?(0,o.createComponentVNode)(2,C,{mode:"Requested"}):null,3===i?(0,o.createComponentVNode)(2,C,{mode:"All"}):null,4===i?(0,o.createComponentVNode)(2,f):null]})},h=function(e,t){var n=(0,a.useBackend)(t),i=n.act,l=n.data,d=l.categories,s=l.supply_packs,m=l.contraband,p=l.supply_points,h=(0,a.useLocalState)(t,"activeCategory",null),C=h[0],f=h[1],N=(0,u.flow)([(0,r.filter)((function(e){return e.group===C})),(0,r.filter)((function(e){return!e.contraband||m})),(0,r.sortBy)((function(e){return e.name})),(0,r.sortBy)((function(e){return e.cost>p}))])(s);return(0,o.createComponentVNode)(2,c.Section,{level:2,children:(0,o.createComponentVNode)(2,c.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,c.Flex.Item,{basis:"25%",children:(0,o.createComponentVNode)(2,c.Section,{title:"Categories",scrollable:!0,fill:!0,height:"290px",children:d.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{fluid:!0,content:e,selected:e===C,onClick:function(){return f(e)}},e)}))})}),(0,o.createComponentVNode)(2,c.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,c.Section,{title:"Contents",scrollable:!0,fill:!0,height:"290px",children:N.map((function(e){return(0,o.createComponentVNode)(2,c.Box,{children:(0,o.createComponentVNode)(2,c.Flex,{align:"center",justify:"flex-start",spacing:1,children:[(0,o.createComponentVNode)(2,c.Flex.Item,{basis:"70%",children:(0,o.createComponentVNode)(2,c.Button,{fluid:!0,icon:"shopping-cart",ellipsis:!0,content:e.name,color:e.cost>p?"red":null,onClick:function(){return i("request_crate",{ref:e.ref})}})}),(0,o.createComponentVNode)(2,c.Flex.Item,{children:(0,o.createComponentVNode)(2,c.Button,{content:"#",color:e.cost>p?"red":null,onClick:function(){return i("request_crate_multi",{ref:e.ref})}})}),(0,o.createComponentVNode)(2,c.Flex.Item,{children:(0,o.createComponentVNode)(2,c.Button,{content:"C",color:e.cost>p?"red":null,onClick:function(){return i("view_crate",{crate:e.ref})}})}),(0,o.createComponentVNode)(2,c.Flex.Item,{grow:1,children:[e.cost," points"]})]})},e.name)}))})})]})})},C=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data,l=e.mode,d=i.orders,u=i.order_auth,s=i.supply_points,m=d.filter((function(e){return e.status===l||"All"===l}));return m.length?(0,o.createComponentVNode)(2,c.Section,{level:2,children:["Requested"===l&&u?(0,o.createComponentVNode)(2,c.Button,{mt:-1,mb:1,fluid:!0,color:"red",icon:"trash",content:"Clear all requests",onClick:function(){return r("clear_all_requests")}}):null,m.map((function(e,t){return(0,o.createComponentVNode)(2,c.Section,{title:"Order "+(t+1),buttons:"All"===l&&u?(0,o.createComponentVNode)(2,c.Button,{color:"red",icon:"trash",content:"Delete Record",onClick:function(){return r("delete_order",{ref:e.ref})}}):null,children:[(0,o.createComponentVNode)(2,c.LabeledList,{children:[e.entries.map((function(t){return t.entry?(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:t.field,buttons:u?(0,o.createComponentVNode)(2,c.Button,{icon:"pen",content:"Edit",onClick:function(){r("edit_order_value",{ref:e.ref,edit:t.field,"default":t.entry})}}):null,children:t.entry}):null})),"All"===l?(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Status",children:e.status}):null]}),u&&"Requested"===l?(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:"check",content:"Approve",disabled:e.cost>s,onClick:function(){return r("approve_order",{ref:e.ref})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"times",content:"Deny",onClick:function(){return r("deny_order",{ref:e.ref})}})],4):null]},t)}))]}):(0,o.createComponentVNode)(2,c.Section,{level:2,children:"No orders found."})},f=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data,l=i.receipts,d=i.order_auth;return l.length?(0,o.createComponentVNode)(2,c.Section,{level:2,children:l.map((function(e,t){return(0,o.createComponentVNode)(2,c.Section,{children:[(0,o.createComponentVNode)(2,c.LabeledList,{children:[e.title.map((function(t){return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:t.field,buttons:d?(0,o.createComponentVNode)(2,c.Button,{icon:"pen",content:"Edit",onClick:function(){return r("export_edit",{ref:e.ref,edit:t.field,"default":t.entry})}}):null,children:t.entry},t.field)})),e.error?(0,o.createComponentVNode)(2,c.LabeledList.Item,{labelColor:"red",label:"Error",children:e.error}):e.contents.map((function(t,n){return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:t.object,buttons:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:"pen",content:"Edit",onClick:function(){return r("export_edit_field",{ref:e.ref,index:n+1,edit:"meow","default":t.object})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"trash",color:"red",content:"Delete",onClick:function(){return r("export_delete_field",{ref:e.ref,index:n+1})}})],4):null,children:[t.quantity,"x -> ",t.value," points"]},n)}))]}),d?(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{mt:1,icon:"plus",content:"Add Item To Record",onClick:function(){return r("export_add_field",{ref:e.ref})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"trash",content:"Delete Record",onClick:function(){return r("export_delete",{ref:e.ref})}})],4):null]},t)}))}):(0,o.createComponentVNode)(2,c.Section,{level:2,children:"No receipts found."})}},function(e,t,n){"use strict";t.__esModule=!0,t.TEGenerator=void 0;var o=n(0),r=n(5),i=n(1),a=n(2),c=n(3),l=n(20);t.TEGenerator=function(e,t){var n=(0,i.useBackend)(t).data,r=n.totalOutput,u=n.maxTotalOutput,s=n.thermalOutput,m=n.primary,p=n.secondary;return(0,o.createComponentVNode)(2,c.Window,{width:550,height:310,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Total Output",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:r,maxValue:u,children:(0,l.formatPower)(r)})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Thermal Output",children:(0,l.formatPower)(s)})]})}),m&&p?(0,o.createComponentVNode)(2,a.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,a.Flex.Item,{shrink:1,grow:1,children:(0,o.createComponentVNode)(2,d,{name:"Primary Circulator",values:m})}),(0,o.createComponentVNode)(2,a.Flex.Item,{shrink:1,grow:1,children:(0,o.createComponentVNode)(2,d,{name:"Secondary Circulator",values:p})})]}):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Warning! Both circulators must be connected in order to operate this machine."})]})})};var d=function(e,t){var n=e.name,i=e.values,c=i.dir,d=i.output,u=i.flowCapacity,s=i.inletPressure,m=i.inletTemperature,p=i.outletPressure,h=i.outletTemperature;return(0,o.createComponentVNode)(2,a.Section,{title:n+" ("+c+")",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Turbine Output",children:(0,l.formatPower)(d)}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Flow Capacity",children:[(0,r.round)(u,2),"%"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Inlet Pressure",children:(0,l.formatSiUnit)(1e3*s,0,"Pa")}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Inlet Temperature",children:[(0,r.round)(m,2)," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Outlet Pressure",children:(0,l.formatSiUnit)(1e3*p,0,"Pa")}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Outlet Temperature",children:[(0,r.round)(h,2)," K"]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Tank=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.Tank=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.connected,u=l.showToggle,s=void 0===u||u,m=l.maskConnected,p=l.tankPressure,h=l.releasePressure,C=l.defaultReleasePressure,f=l.minReleasePressure,N=l.maxReleasePressure;return(0,o.createComponentVNode)(2,a.Window,{width:400,height:320,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:[(0,o.createComponentVNode)(2,i.Section,{title:"Status",buttons:!!s&&(0,o.createComponentVNode)(2,i.Button,{icon:d?"air-freshener":"lock-open",selected:d,disabled:!m,content:"Mask Release Valve",onClick:function(){return c("toggle")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Mask Connected",children:m?"Yes":"No"})})}),(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:p/1013,ranges:{good:[.35,Infinity],average:[.15,.35],bad:[-Infinity,.15]},children:l.tankPressure+" kPa"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,i.Button,{icon:"fast-backward",disabled:h===f,onClick:function(){return c("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,i.NumberInput,{animated:!0,value:parseFloat(h),width:"65px",unit:"kPa",minValue:f,maxValue:N,onChange:function(e,t){return c("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"fast-forward",disabled:h===N,onClick:function(){return c("pressure",{pressure:"max"})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"undo",content:"",disabled:h===C,onClick:function(){return c("pressure",{pressure:"reset"})}})]})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.TankDispenser=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.TankDispenser=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data;return(0,o.createComponentVNode)(2,a.Window,{width:275,height:103,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Phoron",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:l.plasma?"square":"square-o",content:"Dispense",disabled:!l.plasma,onClick:function(){return c("plasma")}}),children:l.plasma}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Oxygen",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:l.oxygen?"square":"square-o",content:"Dispense",disabled:!l.oxygen,onClick:function(){return c("oxygen")}}),children:l.oxygen})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.TelecommsLogBrowser=void 0;var o=n(0),r=n(5),i=n(1),a=n(2),c=n(3);t.TelecommsLogBrowser=function(e,t){var n=(0,i.useBackend)(t),r=n.act,u=n.data,s=u.universal_translate,m=u.network,p=u.temp,h=u.servers,C=u.selectedServer;return(0,o.createComponentVNode)(2,c.Window,{width:575,height:450,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[p&&p.length?(0,o.createComponentVNode)(2,a.NoticeBox,{warning:!0,children:[(0,o.createComponentVNode)(2,a.Box,{display:"inline-box",verticalAlign:"middle",children:p}),(0,o.createComponentVNode)(2,a.Button,{icon:"times-circle",float:"right",onClick:function(){return r("cleartemp")}}),(0,o.createComponentVNode)(2,a.Box,{clear:"both"})]}):null,(0,o.createComponentVNode)(2,a.Section,{title:"Network Control",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Network",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"search",content:"Refresh",onClick:function(){return r("scan")}}),(0,o.createComponentVNode)(2,a.Button,{color:"bad",icon:"exclamation-triangle",content:"Flush Buffer",disabled:0===h.length,onClick:function(){return r("release")}})],4),children:(0,o.createComponentVNode)(2,a.Button,{content:m,icon:"pen",onClick:function(){return r("network")}})})})}),C?(0,o.createComponentVNode)(2,d,{network:m,server:C,universal_translate:s}):(0,o.createComponentVNode)(2,l,{network:m,servers:h})]})})};var l=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=(n.data,e.network,e.servers);return c&&c.length?(0,o.createComponentVNode)(2,a.Section,{title:"Detected Telecommunication Servers",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name+" ("+e.id+")",children:(0,o.createComponentVNode)(2,a.Button,{content:"View",icon:"eye",onClick:function(){return r("view",{id:e.id})}})},e.id)}))})}):(0,o.createComponentVNode)(2,a.Section,{title:"Detected Telecommunications Servers",children:[(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"No servers detected."}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Scan",icon:"search",onClick:function(){return r("scan")}})]})},d=function(e,t){var n=(0,i.useBackend)(t),c=n.act,l=(n.data,e.network,e.server),d=e.universal_translate;return(0,o.createComponentVNode)(2,a.Section,{title:"Server ("+l.id+")",buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Return",icon:"undo",onClick:function(){return c("mainmenu")}}),children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Total Recorded Traffic",children:l.totalTraffic>=1024?(0,r.round)(l.totalTraffic/1024)+" Terrabytes":l.totalTraffic+" Gigabytes"})}),(0,o.createComponentVNode)(2,a.Section,{title:"Stored Logs",mt:"4px",children:(0,o.createComponentVNode)(2,a.Flex,{wrap:"wrap",children:l.logs&&l.logs.length?l.logs.map((function(e){return(0,o.createComponentVNode)(2,a.Flex.Item,{m:"2px",basis:"49%",grow:e.id%2,children:(0,o.createComponentVNode)(2,a.Section,{title:d||e.parameters.uspeech||e.parameters.intelligible||"Execution Error"===e.input_type?e.input_type:"Audio File",buttons:(0,o.createComponentVNode)(2,a.Button.Confirm,{confirmContent:"Delete Log?",color:"bad",icon:"trash",confirmIcon:"trash",onClick:function(){return c("delete",{id:e.id})}}),children:"Execution Error"===e.input_type?(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Data type",children:"Error"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output",children:e.parameters.message}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Delete",children:(0,o.createComponentVNode)(2,a.Button,{icon:"trash",onClick:function(){return c("delete",{id:e.id})}})})]}):d||e.parameters.uspeech||e.parameters.intelligible?(0,o.createComponentVNode)(2,u,{log:e}):(0,o.createComponentVNode)(2,u,{error:!0})})},e.id)})):"No Logs Detected."})})]})},u=function(e,t){var n=(0,i.useBackend)(t),r=(n.act,n.data,e.log),c=e.error,l=r&&r.parameters||{none:"none"},d=l.timecode,u=l.name,s=l.race,m=l.job,p=l.message;return c?(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Time Recieved",children:d}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Source",children:"Unidentifiable"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Class",children:s}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Contents",children:"Unintelligible"})]}):(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Time Recieved",children:d}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Source",children:[u," (Job: ",m,")"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Class",children:s}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Contents",className:"LabeledList__breakContents",children:p})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.TelecommsMachineBrowser=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.TelecommsMachineBrowser=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.network,s=d.temp,m=d.machinelist,p=d.selectedMachine;return(0,o.createComponentVNode)(2,a.Window,{width:575,height:450,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[s&&s.length?(0,o.createComponentVNode)(2,i.NoticeBox,{warning:!0,children:[(0,o.createComponentVNode)(2,i.Box,{display:"inline-box",verticalAlign:"middle",children:s}),(0,o.createComponentVNode)(2,i.Button,{icon:"times-circle",float:"right",onClick:function(){return l("cleartemp")}}),(0,o.createComponentVNode)(2,i.Box,{clear:"both"})]}):null,(0,o.createComponentVNode)(2,i.Section,{title:"Network Control",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Current Network",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"search",content:"Probe Network",onClick:function(){return l("scan")}}),(0,o.createComponentVNode)(2,i.Button,{color:"bad",icon:"exclamation-triangle",content:"Flush Buffer",disabled:0===m.length,onClick:function(){return l("release")}})],4),children:(0,o.createComponentVNode)(2,i.Button,{content:u,icon:"pen",onClick:function(){return l("network")}})})})}),m&&m.length?(0,o.createComponentVNode)(2,c,{title:p?p.name+" ("+p.id+")":"Detected Network Entities",list:p?p.links:m,showBack:p}):(0,o.createComponentVNode)(2,i.Section,{title:"No Devices Found",children:(0,o.createComponentVNode)(2,i.Button,{icon:"search",content:"Probe Network",onClick:function(){return l("scan")}})})]})})};var c=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=(n.data,e.list),l=e.title,d=e.showBack;return(0,o.createComponentVNode)(2,i.Section,{title:l,buttons:d&&(0,o.createComponentVNode)(2,i.Button,{icon:"undo",content:"Back to Main Menu",onClick:function(){return a("mainmenu")}}),children:[(0,o.createComponentVNode)(2,i.Box,{color:"label",children:(0,o.createVNode)(1,"u",null,"Linked entities",16)}),(0,o.createComponentVNode)(2,i.LabeledList,{children:c.length?c.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name+" ("+e.id+")",children:(0,o.createComponentVNode)(2,i.Button,{content:"View",icon:"eye",onClick:function(){return a("view",{id:e.id})}})},e.id)})):(0,o.createComponentVNode)(2,i.LabeledList.Item,{color:"bad",children:"No links detected."})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.TelecommsMultitoolMenu=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(62),c=n(3);t.TelecommsMultitoolMenu=function(e,t){var n=(0,r.useBackend)(t),i=(n.act,n.data),u=(i.temp,i.on,i.id,i.network,i.autolinkers,i.shadowlink,i.options);i.linked,i.filter,i.multitool,i.multitool_buffer;return(0,o.createComponentVNode)(2,c.Window,{width:520,height:540,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.TemporaryNotice),(0,o.createComponentVNode)(2,l),(0,o.createComponentVNode)(2,d,{options:u})]})})};var l=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=(c.temp,c.on),d=c.id,u=c.network,s=c.autolinkers,m=c.shadowlink,p=(c.options,c.linked),h=c.filter,C=c.multitool,f=c.multitool_buffer;return(0,o.createComponentVNode)(2,i.Section,{title:"Status",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",selected:l,content:l?"On":"Off",onClick:function(){return a("toggle")}}),children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Identification String",children:(0,o.createComponentVNode)(2,i.Button,{icon:"pen",content:d,onClick:function(){return a("id")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Network",children:(0,o.createComponentVNode)(2,i.Button,{icon:"pen",content:u,onClick:function(){return a("network")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Prefabrication",children:s?"TRUE":"FALSE"}),m?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Shadow Link",children:"Active."}):null,C?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Multitool Buffer",children:[f?(0,o.createFragment)([f.name,(0,o.createTextVNode)(" ("),f.id,(0,o.createTextVNode)(")")],0):null,(0,o.createComponentVNode)(2,i.Button,{color:f?"green":null,content:f?"Link ("+f.id+")":"Add Machine",icon:f?"link":"plus",onClick:f?function(){return a("link")}:function(){return a("buffer")}}),f?(0,o.createComponentVNode)(2,i.Button,{color:"red",content:"Flush",icon:"trash",onClick:function(){return a("flush")}}):null]}):null]}),(0,o.createComponentVNode)(2,i.Section,{title:"Linked network Entities",mt:1,children:(0,o.createComponentVNode)(2,i.LabeledList,{children:p.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.ref+" "+e.name+" ("+e.id+")",buttons:(0,o.createComponentVNode)(2,i.Button.Confirm,{color:"red",icon:"trash",onClick:function(){return a("unlink",{unlink:e.index})}})},e.ref)}))})}),(0,o.createComponentVNode)(2,i.Section,{title:"Filtering Frequencies",mt:1,children:[h.map((function(e){return(0,o.createComponentVNode)(2,i.Button.Confirm,{content:e.name+" GHz",confirmContent:"Delete?",confirmColor:"red",confirmIcon:"trash",onClick:function(){return a("delete",{"delete":e.freq})}},e.index)})),h&&0!==h.length?null:(0,o.createComponentVNode)(2,i.Box,{color:"label",children:"No filters."})]})]})},d=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=(n.data,e.options),l=c.use_listening_level,d=c.use_broadcasting,u=c.use_receiving,s=c.listening_level,m=c.broadcasting,p=c.receiving,h=c.use_change_freq,C=c.change_freq,f=c.use_broadcast_range,N=c.use_receive_range,b=c.range,V=c.minRange,g=c.maxRange;return l||d||u||h||f||N?(0,o.createComponentVNode)(2,i.Section,{title:"Options",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[l?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Signal Locked to Station",children:(0,o.createComponentVNode)(2,i.Button,{icon:s?"lock-closed":"lock-open",content:s?"Yes":"No",onClick:function(){return a("change_listening")}})}):null,d?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Broadcasting",children:(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",selected:m,content:m?"Yes":"No",onClick:function(){return a("broadcast")}})}):null,u?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Receving",children:(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",selected:p,content:p?"Yes":"No",onClick:function(){return a("receive")}})}):null,h?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Change Signal Frequency",children:(0,o.createComponentVNode)(2,i.Button,{icon:"wave-square",selected:!!C,content:C?"Yes ("+C+")":"No",onClick:function(){return a("change_freq")}})}):null,f||N?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:(f?"Broadcast":"Receive")+" Range",children:(0,o.createComponentVNode)(2,i.NumberInput,{value:b,minValue:V,maxValue:g,unit:"gigameters",stepPixelSize:4,format:function(e){return e+1},onDrag:function(e,t){return a("range",{range:t})}})}):null]})}):(0,o.createComponentVNode)(2,i.Section,{title:"No Options Found"})}},function(e,t,n){"use strict";t.__esModule=!0,t.Teleporter=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.Teleporter=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.locked_name,u=l.station_connected,s=l.hub_connected,m=l.calibrated,p=l.teleporter_on;return(0,o.createComponentVNode)(2,a.Window,{width:300,height:200,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Target",children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"bullseye",onClick:function(){return c("select_target")},content:d})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Calibrated",children:(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,checked:m,color:m?"good":"bad",onClick:function(){return c("test_fire")},content:m?"Accurate":"Test Fire"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Teleporter",children:(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,checked:p,color:p?"good":"bad",onClick:function(){return c("toggle_on")},content:p?"Online":"OFFLINE"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Station",children:u?"Connected":"Not Connected"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Hub",children:s?"Connected":"Not Connected"})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.TelesciConsoleContent=t.TelesciConsole=void 0;var o=n(0),r=n(8),i=n(1),a=n(2),c=n(3);t.TelesciConsole=function(e,t){var n=(0,i.useBackend)(t),r=(n.act,n.data.noTelepad);return(0,o.createComponentVNode)(2,c.Window,{width:400,height:450,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:r&&(0,o.createComponentVNode)(2,l)||(0,o.createComponentVNode)(2,d)})})};var l=function(e,t){return(0,o.createComponentVNode)(2,a.Section,{title:"Error",color:"bad",children:["No telepad located.",(0,o.createVNode)(1,"br"),"Please add telepad data."]})},d=function(e,t){var n=(0,i.useBackend)(t),c=n.act,l=n.data,d=l.insertedGps,u=l.rotation,s=l.currentZ,m=l.cooldown,p=l.crystalCount,h=l.maxCrystals,C=(l.maxPossibleDistance,l.maxAllowedDistance),f=l.distance,N=l.tempMsg,b=l.sectorOptions,V=l.lastTeleData;return(0,o.createComponentVNode)(2,a.Section,{title:"Telepad Controls",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",disabled:!d,onClick:function(){return c("ejectGPS")},content:"Eject GPS"}),children:[(0,o.createComponentVNode)(2,a.NoticeBox,{info:!0,children:m&&(0,o.createComponentVNode)(2,a.Box,{children:["Telepad is recharging. Please wait ",(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:m})," seconds."]})||(0,o.createComponentVNode)(2,a.Box,{children:N})}),(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Bearing",children:(0,o.createComponentVNode)(2,a.NumberInput,{fluid:!0,value:u,format:function(e){return e+"\xb0"},step:1,minValue:-900,maxValue:900,onDrag:function(e,t){return c("setrotation",{val:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Distance",children:(0,o.createComponentVNode)(2,a.NumberInput,{fluid:!0,value:f,format:function(e){return e+"/"+C+" m"},minValue:0,maxValue:C,step:1,stepPixelSize:4,onDrag:function(e,t){return c("setdistance",{val:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Sector",children:(0,r.sortBy)((function(e){return Number(e)}))(b).map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:"check-circle",content:e,selected:s===e,onClick:function(){return c("setz",{setz:e})}},e)}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Controls",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"share",iconRotation:-90,onClick:function(){return c("send")},content:"Send"}),(0,o.createComponentVNode)(2,a.Button,{icon:"share",iconRotation:90,onClick:function(){return c("receive")},content:"Receive"}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",iconRotation:90,onClick:function(){return c("recal")},content:"Recalibrate"})]})]}),V&&(0,o.createComponentVNode)(2,a.Section,{mt:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Telepad Location",children:[V.src_x,", ",V.src_y]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Distance",children:[V.distance,"m"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Transit Time",children:[V.time," secs"]})]})})||(0,o.createComponentVNode)(2,a.Section,{mt:1,children:"No teleport data found."}),(0,o.createComponentVNode)(2,a.Section,{children:["Crystals: ",p," / ",h]})]})};t.TelesciConsoleContent=d},function(e,t,n){"use strict";t.__esModule=!0,t.TimeClock=void 0;var o=n(0),r=n(5),i=n(1),a=n(2),c=n(3),l=n(192);t.TimeClock=function(e,t){var n=(0,i.useBackend)(t),d=n.act,u=n.data,s=u.department_hours,m=u.user_name,p=u.card,h=u.assignment,C=u.job_datum,f=u.allow_change_job,N=u.job_choices;return(0,o.createComponentVNode)(2,c.Window,{width:500,height:520,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Section,{title:"OOC",children:[(0,o.createComponentVNode)(2,a.NoticeBox,{children:"OOC Note: PTO acquired is account-wide and shared across all characters. Info listed below is not IC information."}),(0,o.createComponentVNode)(2,a.Section,{level:2,title:"Time Off Balance for "+m,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:Object.keys(s).map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e,color:s[e]>6?"good":s[e]>1?"average":"bad",children:[(0,r.toFixed)(s[e],1)," ",1===s[e]?"hour":"hours"]},e)}))})})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Employee Info",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Employee ID",children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"user",onClick:function(){return d("id")},children:p||"Insert ID"})}),!!C&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Rank",children:(0,o.createComponentVNode)(2,a.Box,{backgroundColor:C.selection_color,p:.8,children:(0,o.createComponentVNode)(2,a.Flex,{justify:"space-between",align:"center",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Box,{ml:1,children:(0,o.createComponentVNode)(2,l.RankIcon,{color:"white",rank:C.title})})}),(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Box,{fontSize:1.5,inline:!0,mr:1,children:C.title})})]})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Departments",children:C.departments}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pay Scale",children:C.economic_modifier}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"PTO Elegibility",children:C.timeoff_factor>0&&(0,o.createComponentVNode)(2,a.Box,{children:["Earns PTO - ",C.pto_department]})||C.timeoff_factor<0&&(0,o.createComponentVNode)(2,a.Box,{children:["Requires PTO - ",C.pto_department]})||(0,o.createComponentVNode)(2,a.Box,{children:"Neutral"})})],4)]})}),!(!f||!C||0===C.timeoff_factor||"Dismissed"===h)&&(0,o.createComponentVNode)(2,a.Section,{title:"Employment Actions",children:C.timeoff_factor>0&&(s[C.pto_department]>0&&(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"exclamation-triangle",onClick:function(){return d("switch-to-offduty")},children:"Go Off-Duty"})||(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Warning: You do not have enough accrued time off to go off-duty."}))||Object.keys(N).length&&Object.keys(N).map((function(e){return N[e].map((function(t){return(0,o.createComponentVNode)(2,a.Button,{icon:"suitcase",onClick:function(){return d("switch-to-onduty-rank",{"switch-to-onduty-rank":e,"switch-to-onduty-assignment":t})},children:t},t)}))}))||(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"No Open Positions - See Head Of Personnel"})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.TransferValve=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.TransferValve=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.tank_one,u=l.tank_two,s=l.attached_device,m=l.valve;return(0,o.createComponentVNode)(2,a.Window,{children:(0,o.createComponentVNode)(2,a.Window.Content,{children:[(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Valve Status",children:(0,o.createComponentVNode)(2,i.Button,{icon:m?"unlock":"lock",content:m?"Open":"Closed",disabled:!d||!u,onClick:function(){return c("toggle")}})})})}),(0,o.createComponentVNode)(2,i.Section,{title:"Assembly",buttons:(0,o.createComponentVNode)(2,i.Button,{textAlign:"center",width:"150px",icon:"cog",content:"Configure Assembly",disabled:!s,onClick:function(){return c("device")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:s?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Attachment",children:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:s,disabled:!s,onClick:function(){return c("remove_device")}})}):(0,o.createComponentVNode)(2,i.NoticeBox,{textAlign:"center",children:"Attach Assembly"})})}),(0,o.createComponentVNode)(2,i.Section,{title:"Attachment One",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:d?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Attachment",children:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:d,disabled:!d,onClick:function(){return c("tankone")}})}):(0,o.createComponentVNode)(2,i.NoticeBox,{textAlign:"center",children:"Attach Tank"})})}),(0,o.createComponentVNode)(2,i.Section,{title:"Attachment Two",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:u?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Attachment",children:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:u,disabled:!u,onClick:function(){return c("tanktwo")}})}):(0,o.createComponentVNode)(2,i.NoticeBox,{textAlign:"center",children:"Attach Tank"})})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.TurbineControl=void 0;var o=n(0),r=(n(5),n(20)),i=n(1),a=n(2),c=n(3);t.TurbineControl=function(e,t){var n=(0,i.useBackend)(t),l=n.act,d=n.data,u=(d.connected,d.compressor_broke),s=d.turbine_broke,m=d.broken,p=d.door_status,h=d.online,C=d.power,f=d.rpm,N=d.temp;return(0,o.createComponentVNode)(2,c.Window,{width:520,height:440,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Section,{title:"Turbine Controller",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",children:m&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:["Setup is broken",(0,o.createComponentVNode)(2,a.Button,{icon:"sync",onClick:function(){return l("reconnect")},content:"Reconnect"})]})||(0,o.createComponentVNode)(2,a.Box,{color:h?"good":"bad",children:!h||u||s?"Offline":"Online"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Compressor",children:u&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Compressor is inoperable."})||s&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Turbine is inoperable."})||(0,o.createComponentVNode)(2,a.Box,{children:(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:h,content:"Compressor Power",onClick:function(){return l(h?"power-off":"power-on")}})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Vent Doors",children:(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:p,onClick:function(){return l("doors")},content:p?"Closed":"Open"})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Turbine Speed",children:[m?"--":(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:f})," RPM"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Internal Temperature",children:[m?"--":(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:N})," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Generated Power",children:m?"--":(0,o.createComponentVNode)(2,a.AnimatedNumber,{format:function(e){return(0,r.formatPower)(e)},value:Number(C)})})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Turbolift=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.Turbolift=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.floors,u=l.doors_open,s=l.fire_mode;return(0,o.createComponentVNode)(2,a.Window,{width:480,height:260+25*s,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:(0,o.createComponentVNode)(2,i.Section,{title:"Floor Selection",className:s?"Section--elevator--fire":null,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:u?"door-open":"door-closed",content:u?s?"Close Doors (SAFETY OFF)":"Doors Open":"Doors Closed",selected:u&&!s,color:s?"red":null,onClick:function(){return c("toggle_doors")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"exclamation-triangle",color:"bad",content:"Emergency Stop",onClick:function(){return c("emergency_stop")}})],4),children:[!s||(0,o.createComponentVNode)(2,i.Section,{className:"Section--elevator--fire",textAlign:"center",title:"FIREFIGHTER MODE ENGAGED"}),(0,o.createComponentVNode)(2,i.Flex,{wrap:"wrap",children:d.map((function(e){return(0,o.createComponentVNode)(2,i.Flex.Item,{basis:"100%",children:(0,o.createComponentVNode)(2,i.Flex,{align:"center",justify:"space-around",children:[(0,o.createComponentVNode)(2,i.Flex.Item,{basis:"22%",textAlign:"right",mr:"3px",children:e.label||"Floor #"+e.id}),(0,o.createComponentVNode)(2,i.Flex.Item,{basis:"8%",textAlign:"left",children:(0,o.createComponentVNode)(2,i.Button,{icon:"circle",color:e.current?"red":e.target?"green":e.queued?"yellow":null,onClick:function(){return c("move_to_floor",{ref:e.ref})}})}),(0,o.createComponentVNode)(2,i.Flex.Item,{basis:"50%",grow:1,children:e.name})]})},e.id)}))})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.GenericUplink=t.Uplink=void 0;var o=n(0),r=n(6),i=n(1),a=n(2),c=n(20),l=n(3);t.Uplink=function(e,t){var n=(0,i.useBackend)(t).data,r=(0,i.useLocalState)(t,"screen",0),c=r[0],m=r[1],p=n.telecrystals;return(0,o.createComponentVNode)(2,l.Window,{width:620,height:580,theme:"syndicate",resizable:!0,children:(0,o.createComponentVNode)(2,l.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,d,{screen:c,setScreen:m}),0===c&&(0,o.createComponentVNode)(2,s,{currencyAmount:p,currencySymbol:"TC"})||1===c&&(0,o.createComponentVNode)(2,u)||(0,o.createComponentVNode)(2,a.Section,{color:"bad",children:"Error"})]})})};var d=function(e,t){var n=(0,i.useBackend)(t),r=(n.act,n.data),c=e.screen,l=e.setScreen,d=r.discount_name,u=r.discount_amount,s=r.offer_expiry;return(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Tabs,{style:{"border-bottom":"none","margin-bottom":"0"},children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:0===c,onClick:function(){return l(0)},children:"Request Items"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:1===c,onClick:function(){return l(1)},children:"Exploitable Information"})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Item Discount",level:2,children:u<100&&(0,o.createComponentVNode)(2,a.Box,{children:[d," - ",u,"% off. Offer expires at: ",s]})||(0,o.createComponentVNode)(2,a.Box,{children:"No items currently discounted."})})]})},u=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data,l=c.exploit,d=c.locked_records;return(0,o.createComponentVNode)(2,a.Section,{title:"Exploitable Information",buttons:l&&(0,o.createComponentVNode)(2,a.Button,{icon:"undo",content:"Back",onClick:function(){return r("view_exploits",{id:0})}}),children:l&&(0,o.createComponentVNode)(2,a.Box,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:l.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Sex",children:l.sex}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Species",children:l.species}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Age",children:l.age}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Rank",children:l.rank}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Home System",children:l.home_system}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Citizenship",children:l.citizenship}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Faction",children:l.faction}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Religion",children:l.religion}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Fingerprint",children:l.fingerprint}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Other Affiliations",children:l.antagfaction}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{children:"Acquired Information"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Notes",children:l.nanoui_exploit_record.split("
").map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e},e)}))})]})})||d.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:"eye",fluid:!0,content:e.name,onClick:function(){return r("view_exploits",{id:e.id})}},e.id)}))})},s=function(e,t){var n,l,d=e.currencyAmount,u=void 0===d?0:d,s=e.currencySymbol,p=void 0===s?"\u20ae":s,h=(0,i.useBackend)(t),C=h.act,f=h.data,N=f.compactMode,b=f.lockable,V=f.categories,g=void 0===V?[]:V,v=(0,i.useLocalState)(t,"searchText",""),_=v[0],k=v[1],y=(0,i.useLocalState)(t,"category",null==(n=g[0])?void 0:n.name),L=y[0],B=y[1],w=(0,r.createSearch)(_,(function(e){return e.name+e.desc})),x=_.length>0&&g.flatMap((function(e){return e.items||[]})).filter(w).filter((function(e,t){return t<25}))||(null==(l=g.find((function(e){return e.name===L})))?void 0:l.items)||[];return(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:u>0?"good":"bad",children:[(0,c.formatMoney)(u)," ",p]}),buttons:(0,o.createFragment)([(0,o.createTextVNode)("Search"),(0,o.createComponentVNode)(2,a.Input,{autoFocus:!0,value:_,onInput:function(e,t){return k(t)},mx:1}),(0,o.createComponentVNode)(2,a.Button,{icon:N?"list":"info",content:N?"Compact":"Detailed",onClick:function(){return C("compact_toggle")}}),!!b&&(0,o.createComponentVNode)(2,a.Button,{icon:"lock",content:"Lock",onClick:function(){return C("lock")}})],0),children:(0,o.createComponentVNode)(2,a.Flex,{children:[0===_.length&&(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Tabs,{vertical:!0,children:g.map((function(e){var t;return(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:e.name===L,onClick:function(){return B(e.name)},children:[e.name," (",(null==(t=e.items)?void 0:t.length)||0,")"]},e.name)}))})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,basis:0,children:[0===x.length&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:0===_.length?"No items in this category.":"No results found."}),(0,o.createComponentVNode)(2,m,{compactMode:_.length>0||N,currencyAmount:u,currencySymbol:p,items:x})]})]})})};t.GenericUplink=s;var m=function(e,t){var n=e.compactMode,l=e.currencyAmount,d=e.currencySymbol,u=(0,i.useBackend)(t).act,s=(0,i.useLocalState)(t,"hoveredItem",{}),m=s[0],p=s[1],h=m&&m.cost||0,C=e.items.map((function(e){var t=m&&m.name!==e.name,n=l-h0&&(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Box,{color:"label",textAlign:"center",mb:1,children:"Please wait. Harvesting in progress."}),(0,o.createComponentVNode)(2,c),(0,o.createComponentVNode)(2,i.Button,{mt:1,fluid:!0,icon:"stop",onClick:function(){return l("stopharvest")},children:"Stop Early"})]})||s<0&&(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Box,{color:"label",textAlign:"center",mb:1,children:"Please wait. Energy dump in progress."}),(0,o.createComponentVNode)(2,c),(0,o.createComponentVNode)(2,i.Button,{mt:1,fluid:!0,icon:"stop",onClick:function(){return l("stopharvest")},children:"Stop Early"})]})||Object.keys(m).length&&(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Name",children:m.name}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Charge",children:(0,o.createComponentVNode)(2,c)}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Energy Signature ID",children:m.artifact_id})]}),(0,o.createComponentVNode)(2,i.Button,{mt:1,fluid:!0,icon:"eject",onClick:function(){return l("ejectbattery")},children:"Eject Battery"}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"bolt",onClick:function(){return l("drainbattery")},children:"Drain Battery"}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"star",onClick:function(){return l("harvest")},children:"Begin Harvest"})]})||(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No battery inserted."})})})})};var c=function(e,t){var n=(0,r.useBackend)(t),a=(n.act,n.data.info.inserted_battery);return Object.keys(a).length?(0,o.createComponentVNode)(2,i.ProgressBar,{minValue:0,value:a.stored_charge,maxValue:a.capacity}):(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No battery inserted."})}},function(e,t,n){"use strict";t.__esModule=!0,t.XenoarchDepthScanner=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.XenoarchDepthScanner=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.current,u=l.positive_locations;return(0,o.createComponentVNode)(2,a.Window,{width:300,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[Object.keys(d).length&&(0,o.createComponentVNode)(2,i.Section,{title:"Selected",buttons:(0,o.createComponentVNode)(2,i.Button.Confirm,{color:"bad",icon:"trash",confirmIcon:"trash",content:"Delete Entry",onClick:function(){return c("clear",{index:d.index})}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Time",children:d.time}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Coords",children:d.coords}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Anomaly Depth",children:[d.depth," cm"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Anomaly Size",children:[d.clearance," cm"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Dissonance Spread",children:d.dissonance_spread}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Anomaly Material",children:d.material})]})})||null,(0,o.createComponentVNode)(2,i.Section,{title:"Entries",buttons:(0,o.createComponentVNode)(2,i.Button.Confirm,{color:"red",icon:"trash",confirmIcon:"trash",content:"Delete All",onClick:function(){return c("clear")}}),children:u.length&&u.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:"eye",onClick:function(){return c("select",{select:e.index})},children:[e.time,", ",e.coords]},e.index)}))||(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No traces found."})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.XenoarchHandheldPowerUtilizer=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.XenoarchHandheldPowerUtilizer=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.inserted_battery,u=l.anomaly,s=l.charge,m=l.capacity,p=l.timeleft,h=l.activated,C=l.duration,f=l.interval;return(0,o.createComponentVNode)(2,a.Window,{width:400,height:500,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:(0,o.createComponentVNode)(2,i.Section,{title:"Anomaly Power Utilizer",buttons:(0,o.createComponentVNode)(2,i.Button,{disabled:!d,icon:"eject",onClick:function(){return c("ejectbattery")},children:"Eject Battery"}),children:d&&(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Inserted Battery",children:d}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Anomalies Detected",children:u||"N/A"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Charge",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:s,maxValue:m,children:[s," / ",m]})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Time Left Activated",children:p}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"power-off",onClick:function(){return c("startup")},children:h?"Activated":"Deactivated"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Activation Duration",children:(0,o.createComponentVNode)(2,i.NumberInput,{unit:"s",fluid:!0,minValue:0,value:C,stepPixelSize:4,maxValue:30,onDrag:function(e,t){return c("changeduration",{duration:10*t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Activation Interval",children:(0,o.createComponentVNode)(2,i.NumberInput,{unit:"s",fluid:!0,minValue:0,value:f,stepPixelSize:10,maxValue:10,onDrag:function(e,t){return c("changeinterval",{interval:10*t})}})})]})||(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No battery inserted. Please insert a cell."})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.XenoarchReplicator=void 0;var o=n(0),r=(n(5),n(6),n(1)),i=n(2),a=n(3);t.XenoarchReplicator=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data.tgui_construction;return(0,o.createComponentVNode)(2,a.Window,{theme:"abductor",width:400,height:400,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:l.map((function(e,t){return(0,o.createComponentVNode)(2,i.Button,{color:e.background,icon:e.icon,iconColor:e.foreground,fontSize:4,onClick:function(){return c("construct",{key:e.key})}},e.key)}))})})}},function(e,t,n){"use strict";t.__esModule=!0,t.XenoarchSpectrometer=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3),c=n(6);t.XenoarchSpectrometer=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.scanned_item,s=d.scanned_item_desc,m=d.last_scan_data,p=d.scan_progress,h=d.scanning,C=d.scanner_seal_integrity,f=d.scanner_rpm,N=d.scanner_temperature,b=d.coolant_usage_rate,V=d.coolant_usage_max,g=(d.unused_coolant_abs,d.unused_coolant_per),v=d.coolant_purity,_=d.optimal_wavelength,k=d.maser_wavelength,y=d.maser_wavelength_max,L=d.maser_efficiency,B=d.radiation,w=(d.t_left_radspike,d.rad_shield_on);return(0,o.createComponentVNode)(2,a.Window,{width:900,height:760,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Status",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"signal",selected:h,onClick:function(){return l("scanItem")},children:h?"HALT SCAN":"Begin Scan"}),(0,o.createComponentVNode)(2,i.Button,{icon:"eject",disabled:!u,onClick:function(){return l("ejectItem")},children:"Eject Item"})],4),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Item",children:u||(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No item inserted."})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Heuristic Analysis",children:s||"None found."})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Scanner",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Scan Progress",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:p,minValue:0,maxValue:100,color:"good"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Vacuum Seal Integrity",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:C,minValue:0,maxValue:100,ranges:{good:[66,100],average:[33,66],bad:[0,33]}})})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"MASER",buttons:(0,o.createComponentVNode)(2,i.NoticeBox,{info:!0,children:"Match wavelengths to progress the scan."}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"MASER Efficiency",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:L,minValue:0,maxValue:100,ranges:{good:[66,100],average:[33,66],bad:[0,33]}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Wavelength",children:(0,o.createComponentVNode)(2,i.Slider,{animated:!0,value:k,fillValue:_,minValue:1,maxValue:y,format:function(e){return e+" MHz"},step:10,onDrag:function(e,t){return l("maserWavelength",{wavelength:t})}})})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Environment / Internal",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Centrifuge Speed",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:f,minValue:0,maxValue:1e3,color:"good",children:[f," RPM"]})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Internal Temperature",children:(0,o.createComponentVNode)(2,i.ProgressBar,{minValue:0,value:N,maxValue:1273,ranges:{bad:[1e3,Infinity],average:[250,1e3],good:[0,250]},children:[N," K"]})})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Radiation",buttons:(0,o.createComponentVNode)(2,i.Button,{selected:w,icon:"radiation",onClick:function(){return l("toggle_rad_shield")},children:w?"Disable Radiation Shielding":"Enable Radiation Shielding"}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Ambient Radiation",children:(0,o.createComponentVNode)(2,i.ProgressBar,{minValue:0,value:B,maxValue:100,ranges:{bad:[65,Infinity],average:[15,65],good:[0,15]},children:[B," mSv"]})})})}),(0,o.createComponentVNode)(2,i.Section,{title:"Cooling",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Coolant Remaining",children:(0,o.createComponentVNode)(2,i.ProgressBar,{minValue:0,value:10*g,maxValue:1e3,ranges:{good:[65,Infinity],average:[15,65],bad:[0,15]},children:[10*g," u"]})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Coolant Flow Rate",children:(0,o.createComponentVNode)(2,i.Slider,{minValue:0,value:b,maxValue:V,stepPixelSize:50,format:function(e){return e+" u/s"},onDrag:function(e,t){return l("coolantRate",{coolant:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Coolant Purity",children:(0,o.createComponentVNode)(2,i.ProgressBar,{minValue:0,value:v,maxValue:100,ranges:{good:[66,Infinity],average:[33,66],bad:[0,33]}})})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Latest Results",children:(0,c.decodeHtmlEntities)(m).split("\n").map((function(e){return(0,o.createComponentVNode)(2,i.Box,{children:e},e)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.XenoarchSuspension=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.XenoarchSuspension=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.cell,u=l.cellCharge,s=l.cellMaxCharge,m=l.locked,p=l.suspension_field;return(0,o.createComponentVNode)(2,a.Window,{width:400,height:150,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:(0,o.createComponentVNode)(2,i.Section,{title:'Triple-phase S.F.G. MK III "Reliant"',buttons:(0,o.createComponentVNode)(2,i.Button,{icon:m?"lock":"lock-open",selected:!m,onClick:function(){return c("lock")},children:m?"Locked":"Unlocked"}),children:m&&(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"This interface is locked. Swipe an ID card to unlock it."})||(0,o.createFragment)([(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Cell Charge",children:d&&(0,o.createComponentVNode)(2,i.ProgressBar,{ranges:{good:[.75*s,Infinity],average:[.5*s,.75*s],bad:[-Infinity,.5*s]},value:u,maxValue:s})||(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No cell inserted."})})}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,mt:1,icon:"meteor",selected:p,onClick:function(){return c("toggle_field")},children:p?"Disengage Suspension Field":"Engage Suspension Field"})],4)})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.pAIAtmos=void 0;var o=n(0),r=n(8),i=n(6),a=n(1),c=n(2),l=n(3);t.pAIAtmos=function(e,t){var n=(0,a.useBackend)(t),d=(n.act,n.data.aircontents);return(0,o.createComponentVNode)(2,l.Window,{width:450,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,l.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,c.Section,{children:(0,o.createComponentVNode)(2,c.LabeledList,{children:(0,r.filter)((function(e){return"0"!==e.val||"Pressure"===e.entry||"Temperature"===e.entry}))(d).map((function(e){return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:e.entry,color:(t=e.val,n=e.bad_low,r=e.poor_low,a=e.poor_high,l=e.bad_high,ta?"average":t>l?"bad":"good"),children:[e.val,(0,i.decodeHtmlEntities)(e.units)]},e.entry);var t,n,r,a,l}))})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.pAIDirectives=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.pAIDirectives=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.master,u=l.dna,s=l.prime,m=l.supplemental;return(0,o.createComponentVNode)(2,a.Window,{width:450,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Master",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Master",children:d&&(0,o.createComponentVNode)(2,i.Box,{children:[d," (",u,")",(0,o.createComponentVNode)(2,i.Button,{icon:"syringe",content:"Request Sample",onClick:function(){return c("getdna")}})]})||(0,o.createComponentVNode)(2,i.Box,{children:"None"})})})}),(0,o.createComponentVNode)(2,i.Section,{title:"Directives",children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Prime Directive",children:s}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Supplemental Directive(s)",children:m||"None"})]}),(0,o.createComponentVNode)(2,i.Box,{mt:1,italic:!0,children:'Recall, personality, that you are a complex piece of software with tremendous social skills. Unlike station AI models, you are focused entirely on sapient-software interfacing. You may parse the "spirit" of a directive and follow its intent, rather than tripping over pedantics and getting snared by technicalities. Above all, you should strive to be seen as the ideal, unwavering digital companion that you are.'}),(0,o.createComponentVNode)(2,i.Box,{mt:1,bold:!0,children:"Your prime directive comes before all others. Should a supplemental directive conflict with it, you are capable of simply discarding this inconsistency, ignoring the conflicting supplemental directive and continuing to fulfill your prime directive to the best of your ability."})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.pAIDoorjack=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.pAIDoorjack=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.cable,u=l.machine,s=l.inprogress,m=l.progress_a,p=l.progress_b,h=l.aborted;return(0,o.createComponentVNode)(2,a.Window,{width:300,height:150,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Cable",children:u&&(0,o.createComponentVNode)(2,i.Box,{color:"good",children:"Connected"})||d&&(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"Extended"})||(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"ethernet",content:"Retracted",onClick:function(){return c("cable")}})})}),!!u&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Hack",children:s&&(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.ProgressBar,{value:m,maxValue:100,ranges:{good:[67,Infinity],average:[33,67],bad:[-Infinity,33]},children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:m}),".",(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:p}),"%"]}),(0,o.createComponentVNode)(2,i.Button,{icon:"ban",color:"bad",onClick:function(){return c("cancel")}})]})||(0,o.createComponentVNode)(2,i.Button,{icon:"virus",content:"Start",onClick:function(){return c("jack")}})})||!!h&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{color:"bad",mt:1,children:"Hack aborted."})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.pAIInterface=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.pAIInterface=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.bought,u=l.not_bought,s=l.available_ram,m=l.emotions,p=l.current_emotion;return(0,o.createComponentVNode)(2,a.Window,{width:450,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Emotion",children:m.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{content:e.name,selected:e.id===p,onClick:function(){return c("image",{image:e.id})}},e.id)}))}),(0,o.createComponentVNode)(2,i.Section,{title:"Software (Available RAM: "+s+")",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Installed",children:d.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{content:e.name,selected:e.on,onClick:function(){return c("software",{software:e.id})}},e.id)}))}),(0,o.createComponentVNode)(2,i.LabeledList.Divider),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Downloadable",children:u.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{content:e.name+" ("+e.ram+")",disabled:e.ram>s,onClick:function(){return c("purchase",{purchase:e.id})}},e.id)}))})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.pAIMedrecords=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.pAIMedrecords=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.records,u=l.general,s=l.medical,m=l.could_not_find;return(0,o.createComponentVNode)(2,a.Window,{width:450,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{children:d.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{content:e.name,onClick:function(){return c("select",{select:e.ref})}},e.ref)}))}),(u||s)&&(0,o.createComponentVNode)(2,i.Section,{title:"Selected Record",children:[!!m&&(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Warning: Failed to find some records. The information below may not be complete."}),(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Name",children:u.name}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Record ID",children:u.id}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Entity Classification",children:u.brain_type}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Sex",children:u.sex}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Species",children:u.species}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Age",children:u.age}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Rank",children:u.rank}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Fingerprint",children:u.fingerprint}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Physical Status",children:u.p_stat}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Mental Status",children:u.m_stat}),(0,o.createComponentVNode)(2,i.LabeledList.Divider),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Blood Type",children:s.b_type}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Minor Disabilities",children:[(0,o.createComponentVNode)(2,i.Box,{children:s.mi_dis}),(0,o.createComponentVNode)(2,i.Box,{children:s.mi_dis_d})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Major Disabilities",children:[(0,o.createComponentVNode)(2,i.Box,{children:s.ma_dis}),(0,o.createComponentVNode)(2,i.Box,{children:s.ma_dis_d})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Allergies",children:[(0,o.createComponentVNode)(2,i.Box,{children:s.alg}),(0,o.createComponentVNode)(2,i.Box,{children:s.alg_d})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Current Diseases",children:[(0,o.createComponentVNode)(2,i.Box,{children:s.cdi}),(0,o.createComponentVNode)(2,i.Box,{children:s.cdi_d})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Important Notes",children:s.notes})]})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.pAISecrecords=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.pAISecrecords=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.records,u=l.general,s=l.security,m=l.could_not_find;return(0,o.createComponentVNode)(2,a.Window,{width:450,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{children:d.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{content:e.name,onClick:function(){return c("select",{select:e.ref})}},e.ref)}))}),(u||s)&&(0,o.createComponentVNode)(2,i.Section,{title:"Selected Record",children:[!!m&&(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Warning: Failed to find some records. The information below may not be complete."}),(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Name",children:u.name}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Record ID",children:u.id}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Entity Classification",children:u.brain_type}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Sex",children:u.sex}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Species",children:u.species}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Age",children:u.age}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Rank",children:u.rank}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Fingerprint",children:u.fingerprint}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Physical Status",children:u.p_stat}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Mental Status",children:u.m_stat}),(0,o.createComponentVNode)(2,i.LabeledList.Divider),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Criminal Status",children:(0,o.createComponentVNode)(2,i.Box,{children:s.criminal})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Minor Crimes",children:[(0,o.createComponentVNode)(2,i.Box,{children:s.mi_crim}),(0,o.createComponentVNode)(2,i.Box,{children:s.mi_crim_d})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Major Crimes",children:[(0,o.createComponentVNode)(2,i.Box,{children:s.ma_crim}),(0,o.createComponentVNode)(2,i.Box,{children:s.ma_crim_d})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Important Notes",children:s.notes})]})]})]})})}}]);
\ No newline at end of file
+var n;n=void 0!==e?e:void 0,t.loadCSS=function(e,t,o,r){var i,a=n.document,c=a.createElement("link");if(t)i=t;else{var l=(a.body||a.getElementsByTagName("head")[0]).childNodes;i=l[l.length-1]}var d=a.styleSheets;if(r)for(var u in r)r.hasOwnProperty(u)&&c.setAttribute(u,r[u]);c.rel="stylesheet",c.href=e,c.media="only x",function p(e){if(a.body)return e();setTimeout((function(){p(e)}))}((function(){i.parentNode.insertBefore(c,t?i:i.nextSibling)}));var s=function h(e){for(var t=c.href,n=d.length;n--;)if(d[n].href===t)return e();setTimeout((function(){h(e)}))};function m(){c.addEventListener&&c.removeEventListener("load",m),c.media=o||"all"}return c.addEventListener&&c.addEventListener("load",m),c.onloadcssdefined=s,s(m),c}}).call(this,n(76))},function(e,t,n){"use strict";var o,r;t.__esModule=!0,t.VNodeFlags=t.ChildFlags=void 0,t.VNodeFlags=o,function(e){e[e.HtmlElement=1]="HtmlElement",e[e.ComponentUnknown=2]="ComponentUnknown",e[e.ComponentClass=4]="ComponentClass",e[e.ComponentFunction=8]="ComponentFunction",e[e.Text=16]="Text",e[e.SvgElement=32]="SvgElement",e[e.InputElement=64]="InputElement",e[e.TextareaElement=128]="TextareaElement",e[e.SelectElement=256]="SelectElement",e[e.Void=512]="Void",e[e.Portal=1024]="Portal",e[e.ReCreate=2048]="ReCreate",e[e.ContentEditable=4096]="ContentEditable",e[e.Fragment=8192]="Fragment",e[e.InUse=16384]="InUse",e[e.ForwardRef=32768]="ForwardRef",e[e.Normalized=65536]="Normalized",e[e.ForwardRefComponent=32776]="ForwardRefComponent",e[e.FormElement=448]="FormElement",e[e.Element=481]="Element",e[e.Component=14]="Component",e[e.DOMRef=2033]="DOMRef",e[e.InUseOrNormalized=81920]="InUseOrNormalized",e[e.ClearInUse=-16385]="ClearInUse",e[e.ComponentKnown=12]="ComponentKnown"}(o||(t.VNodeFlags=o={})),t.ChildFlags=r,function(e){e[e.UnknownChildren=0]="UnknownChildren",e[e.HasInvalidChildren=1]="HasInvalidChildren",e[e.HasVNodeChildren=2]="HasVNodeChildren",e[e.HasNonKeyedChildren=4]="HasNonKeyedChildren",e[e.HasKeyedChildren=8]="HasKeyedChildren",e[e.HasTextChildren=16]="HasTextChildren",e[e.MultipleChildren=12]="MultipleChildren"}(r||(t.ChildFlags=r={}))},function(e,t,n){"use strict";t.__esModule=!0,t.NtosWindow=void 0;var o=n(0),r=n(75),i=n(1),a=n(2),c=n(126),l=n(184),d=function(e,t){var n=e.title,d=e.width,u=void 0===d?575:d,s=e.height,m=void 0===s?700:s,p=e.resizable,h=e.theme,C=void 0===h?"ntos":h,f=e.children,N=(0,i.useBackend)(t),b=N.act,V=N.data,g=V.PC_device_theme,v=V.PC_batteryicon,_=V.PC_showbatteryicon,k=V.PC_batterypercent,y=V.PC_ntneticon,L=V.PC_apclinkicon,B=V.PC_stationtime,w=V.PC_programheaders,x=void 0===w?[]:w,S=V.PC_showexitprogram;return(0,o.createComponentVNode)(2,l.Window,{title:n,width:u,height:m,theme:C,resizable:p,children:(0,o.createVNode)(1,"div","NtosWindow",[(0,o.createVNode)(1,"div","NtosWindow__header NtosHeader",[(0,o.createVNode)(1,"div","NtosHeader__left",[(0,o.createComponentVNode)(2,a.Box,{inline:!0,bold:!0,mr:2,children:B}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,italic:!0,mr:2,opacity:.33,children:["ntos"===g&&"NtOS","syndicate"===g&&"Syndix"]})],4),(0,o.createVNode)(1,"div","NtosHeader__right",[x.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:(0,r.resolveAsset)(e.icon)})},e.icon)})),(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:y&&(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:(0,r.resolveAsset)(y)})}),!!_&&v&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:[v&&(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:(0,r.resolveAsset)(v)}),k&&k]}),L&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,mr:1,children:(0,o.createVNode)(1,"img","NtosHeader__icon",null,1,{src:(0,r.resolveAsset)(L)})}),!!S&&(0,o.createComponentVNode)(2,a.Button,{width:"26px",textAlign:"center",color:"transparent",icon:"window-minimize-o",tooltip:"Minimize",tooltipPosition:"bottom",onClick:function(){return b("PC_minimize")}}),!!S&&(0,o.createComponentVNode)(2,a.Button,{mr:"-3px",width:"26px",textAlign:"center",color:"transparent",icon:"window-close-o",tooltip:"Close",tooltipPosition:"bottom-left",onClick:function(){return b("PC_exit")}}),!S&&(0,o.createComponentVNode)(2,a.Button,{mr:"-3px",width:"26px",lineHeight:"22px",textAlign:"center",color:"transparent",icon:"power-off",tooltip:"Power off",tooltipPosition:"bottom-left",onClick:function(){return b("PC_shutdown")}})],0)],4,{onMouseDown:function(){(0,c.refocusLayout)()}}),f],0)})};t.NtosWindow=d;d.Content=function(e){return(0,o.createVNode)(1,"div","NtosWindow__content",(0,o.normalizeProps)((0,o.createComponentVNode)(2,l.Window.Content,Object.assign({},e))),2)}},function(e,t,n){"use strict";t.__esModule=!0,t.BlockQuote=void 0;var o=n(0),r=n(10),i=n(19);t.BlockQuote=function(e){var t=e.className,n=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,i.Box,Object.assign({className:(0,r.classes)(["BlockQuote",t])},n)))}},function(e,t,n){"use strict";t.__esModule=!0,t.ByondUi=void 0;var o=n(0),r=n(10),i=n(448),a=n(24),c=n(19);function l(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var d=(0,a.createLogger)("ByondUi"),u=[];window.addEventListener("beforeunload",(function(){for(var e=0;e=0||(r[n]=e[n]);return r}(t,["data","rangeX","rangeY","fillColor","strokeColor","strokeWidth"]),f=this.state.viewBox,N=function(e,t,n,o){if(0===e.length)return[];var i=(0,r.zipWith)(Math.min).apply(void 0,e),a=(0,r.zipWith)(Math.max).apply(void 0,e);return n!==undefined&&(i[0]=n[0],a[0]=n[1]),o!==undefined&&(i[1]=o[0],a[1]=o[1]),(0,r.map)((function(e){return(0,r.zipWith)((function(e,t,n,o){return(e-t)/(n-t)*o}))(e,i,a,t)}))(e)}(i,f,c,l);if(N.length>0){var b=N[0],V=N[N.length-1];N.push([f[0]+h,V[1]]),N.push([f[0]+h,-h]),N.push([-h,-h]),N.push([-h,b[1]])}var g=function(e){for(var t="",n=0;n=0||(r[n]=e[n]);return r}(t,["children","color","title","buttons"]);return(0,o.createComponentVNode)(2,r.Box,{mb:1,children:[(0,o.createVNode)(1,"div","Table",[(0,o.createVNode)(1,"div","Table__cell",(0,o.normalizeProps)((0,o.createComponentVNode)(2,i.Button,Object.assign({fluid:!0,color:l,icon:n?"chevron-down":"chevron-right",onClick:function(){return e.setState({open:!n})}},s,{children:d}))),2),u&&(0,o.createVNode)(1,"div","Table__cell Table__cell--collapsing",u,0)],0),n&&(0,o.createComponentVNode)(2,r.Box,{mt:1,children:a})]})},a}(o.Component);t.Collapsible=a},function(e,t,n){"use strict";t.__esModule=!0,t.ColorBox=void 0;var o=n(0),r=n(10),i=n(19);var a=function(e){var t=e.content,n=(e.children,e.className),a=e.color,c=e.backgroundColor,l=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["content","children","className","color","backgroundColor"]);return l.color=t?null:"transparent",l.backgroundColor=a||c,(0,o.normalizeProps)((0,o.createVNode)(1,"div",(0,r.classes)(["ColorBox",n,(0,i.computeBoxClassName)(l)]),t||".",0,Object.assign({},(0,i.computeBoxProps)(l))))};t.ColorBox=a,a.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Dropdown=void 0;var o=n(0),r=n(10),i=n(19),a=n(129);function c(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var l=function(e){var t,n;function l(t){var n;return(n=e.call(this,t)||this).state={selected:t.selected,open:!1},n.handleClick=function(){n.state.open&&n.setOpen(!1)},n}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var d=l.prototype;return d.componentWillUnmount=function(){window.removeEventListener("click",this.handleClick)},d.setOpen=function(e){var t=this;this.setState({open:e}),e?(setTimeout((function(){return window.addEventListener("click",t.handleClick)})),this.menuRef.focus()):window.removeEventListener("click",this.handleClick)},d.setSelected=function(e){this.setState({selected:e}),this.setOpen(!1),this.props.onSelected(e)},d.buildMenu=function(){var e=this,t=this.props,n=t.options,r=void 0===n?[]:n,i=t.placeholder,a=r.map((function(t){return(0,o.createVNode)(1,"div","Dropdown__menuentry",t,0,{onClick:function(){e.setSelected(t)}},t)}));return i&&a.unshift((0,o.createVNode)(1,"div","Dropdown__menuentry",[(0,o.createTextVNode)("-- "),i,(0,o.createTextVNode)(" --")],0,{onClick:function(){e.setSelected(null)}},i)),a},d.render=function(){var e=this,t=this.props,n=t.color,l=void 0===n?"default":n,d=t.over,u=t.noscroll,s=t.nochevron,m=t.width,p=t.maxHeight,h=(t.onClick,t.selected,t.disabled),C=t.placeholder,f=c(t,["color","over","noscroll","nochevron","width","maxHeight","onClick","selected","disabled","placeholder"]),N=f.className,b=c(f,["className"]),V=d?!this.state.open:this.state.open,g=this.state.open?(0,o.createVNode)(1,"div",(0,r.classes)([u?"Dropdown__menu-noscroll":"Dropdown__menu",d&&"Dropdown__over"]),this.buildMenu(),0,{tabIndex:"-1",style:{width:m,"max-height":p}},null,(function(t){e.menuRef=t})):null;return(0,o.createVNode)(1,"div","Dropdown",[(0,o.normalizeProps)((0,o.createComponentVNode)(2,i.Box,Object.assign({width:m,className:(0,r.classes)(["Dropdown__control","Button","Button--color--"+l,h&&"Button--disabled",N])},b,{onClick:function(){h&&!e.state.open||e.setOpen(!e.state.open)},children:[(0,o.createVNode)(1,"span","Dropdown__selected-text",this.state.selected||C,0),!!s||(0,o.createVNode)(1,"span","Dropdown__arrow-button",(0,o.createComponentVNode)(2,a.Icon,{name:V?"chevron-up":"chevron-down"}),2)]}))),g],0)},l}(o.Component);t.Dropdown=l},function(e,t,n){"use strict";t.__esModule=!0,t.GridColumn=t.Grid=void 0;var o=n(0),r=n(182),i=n(10);function a(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){var t=e.children,n=a(e,["children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Table,Object.assign({},n,{children:(0,o.createComponentVNode)(2,r.Table.Row,{children:t})})))};t.Grid=c,c.defaultHooks=i.pureComponentHooks;var l=function(e){var t=e.size,n=void 0===t?1:t,i=e.style,c=a(e,["size","style"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Table.Cell,Object.assign({style:Object.assign({width:n+"%"},i)},c)))};t.GridColumn=l,c.defaultHooks=i.pureComponentHooks,c.Column=l},function(e,t,n){"use strict";t.__esModule=!0,t.Input=void 0;var o=n(0),r=n(10),i=n(19);function a(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var c=function(e){return(0,r.isFalsy)(e)?"":e},l=function(e){var t,n;function l(){var t;return(t=e.call(this)||this).inputRef=(0,o.createRef)(),t.state={editing:!1},t.handleInput=function(e){var n=t.state.editing,o=t.props.onInput;n||t.setEditing(!0),o&&o(e,e.target.value)},t.handleFocus=function(e){t.state.editing||t.setEditing(!0)},t.handleBlur=function(e){var n=t.state.editing,o=t.props.onChange;n&&(t.setEditing(!1),o&&o(e,e.target.value))},t.handleKeyDown=function(e){var n=t.props,o=n.onInput,r=n.onChange,i=n.onEnter;return 13===e.keyCode?(t.setEditing(!1),r&&r(e,e.target.value),o&&o(e,e.target.value),i&&i(e,e.target.value),void(t.props.selfClear?e.target.value="":e.target.blur())):27===e.keyCode?(t.setEditing(!1),e.target.value=c(t.props.value),void e.target.blur()):void 0},t}n=e,(t=l).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var d=l.prototype;return d.componentDidMount=function(){var e=this.props.value,t=this.inputRef.current;t&&(t.value=c(e),this.props.autofocus&&(t.focus(),t.selectionStart=0,t.selectionEnd=t.value.length))},d.componentDidUpdate=function(e,t){var n=this.state.editing,o=e.value,r=this.props.value,i=this.inputRef.current;i&&!n&&o!==r&&(i.value=c(r))},d.setEditing=function(e){this.setState({editing:e})},d.render=function(){var e=this.props,t=(e.selfClear,e.onInput,e.onChange,e.onEnter,e.value,e.maxLength),n=e.placeholder,c=(e.autofocus,a(e,["selfClear","onInput","onChange","onEnter","value","maxLength","placeholder","autofocus"])),l=c.className,d=c.fluid,u=a(c,["className","fluid"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,i.Box,Object.assign({className:(0,r.classes)(["Input",d&&"Input--fluid",l])},u,{children:[(0,o.createVNode)(1,"div","Input__baseline",".",16),(0,o.createVNode)(64,"input","Input__input",null,1,{placeholder:n,onInput:this.handleInput,onFocus:this.handleFocus,onBlur:this.handleBlur,onKeyDown:this.handleKeyDown,maxLength:t},null,this.inputRef)]})))},l}(o.Component);t.Input=l},function(e,t,n){"use strict";t.__esModule=!0,t.Knob=void 0;var o=n(0),r=n(5),i=n(10),a=n(19),c=n(130),l=n(131);t.Knob=function(e){if(Byond.IS_LTE_IE8)return(0,o.normalizeProps)((0,o.createComponentVNode)(2,l.NumberInput,Object.assign({},e)));var t=e.animated,n=e.forcedInputWidth,d=e.format,u=e.maxValue,s=e.minValue,m=e.onChange,p=e.onDrag,h=e.step,C=e.stepPixelSize,f=e.suppressFlicker,N=e.unit,b=e.value,V=e.className,g=e.style,v=e.fillValue,_=e.color,k=e.ranges,y=void 0===k?{}:k,L=e.size,B=e.bipolar,w=(e.children,e.popUpPosition),x=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["animated","forcedInputWidth","format","maxValue","minValue","onChange","onDrag","step","stepPixelSize","suppressFlicker","unit","value","className","style","fillValue","color","ranges","size","bipolar","children","popUpPosition"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,c.DraggableControl,Object.assign({dragMatrix:[0,-1]},{animated:t,forcedInputWidth:n,format:d,maxValue:u,minValue:s,onChange:m,onDrag:p,step:h,stepPixelSize:C,suppressFlicker:f,unit:N,value:b},{children:function(e){var t=e.dragging,n=(e.editing,e.value),c=e.displayValue,l=e.displayElement,d=e.inputElement,m=e.handleDragStart,p=(0,r.scale)(null!=v?v:c,s,u),h=(0,r.scale)(c,s,u),C=_||(0,r.keyOfMatchingRange)(null!=v?v:n,y)||"default",f=270*(h-.5);return(0,o.normalizeProps)((0,o.createVNode)(1,"div",(0,i.classes)(["Knob","Knob--color--"+C,B&&"Knob--bipolar",V,(0,a.computeBoxClassName)(x)]),[(0,o.createVNode)(1,"div","Knob__circle",(0,o.createVNode)(1,"div","Knob__cursorBox",(0,o.createVNode)(1,"div","Knob__cursor"),2,{style:{transform:"rotate("+f+"deg)"}}),2),t&&(0,o.createVNode)(1,"div",(0,i.classes)(["Knob__popupValue",w&&"Knob__popupValue--"+w]),l,0),(0,o.createVNode)(32,"svg","Knob__ring Knob__ringTrackPivot",(0,o.createVNode)(32,"circle","Knob__ringTrack",null,1,{cx:"50",cy:"50",r:"50"}),2,{viewBox:"0 0 100 100"}),(0,o.createVNode)(32,"svg","Knob__ring Knob__ringFillPivot",(0,o.createVNode)(32,"circle","Knob__ringFill",null,1,{style:{"stroke-dashoffset":((B?2.75:2)-1.5*p)*Math.PI*50},cx:"50",cy:"50",r:"50"}),2,{viewBox:"0 0 100 100"}),d],0,Object.assign({},(0,a.computeBoxProps)(Object.assign({style:Object.assign({"font-size":L+"rem"},g)},x)),{onMouseDown:m})))}})))}},function(e,t,n){"use strict";t.__esModule=!0,t.LabeledControls=void 0;var o=n(0),r=n(181);function i(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var a=function(e){var t=e.children,n=i(e,["children"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Flex,Object.assign({mx:-.5,align:"stretch",justify:"space-between"},n,{children:t})))};t.LabeledControls=a;a.Item=function(e){var t=e.label,n=e.children,a=i(e,["label","children"]);return(0,o.createComponentVNode)(2,r.Flex.Item,{mx:1,children:(0,o.normalizeProps)((0,o.createComponentVNode)(2,r.Flex,Object.assign({minWidth:"52px",height:"100%",direction:"column",align:"center",textAlign:"center",justify:"space-between"},a,{children:[(0,o.createComponentVNode)(2,r.Flex.Item),(0,o.createComponentVNode)(2,r.Flex.Item,{children:n}),(0,o.createComponentVNode)(2,r.Flex.Item,{color:"label",children:t})]})))})}},function(e,t,n){"use strict";t.__esModule=!0,t.NanoMap=void 0;var o=n(0),r=n(2),i=n(1);var a=function(e){return e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault(),e.cancelBubble=!0,e.returnValue=!1,!1},c=function(e){var t,n;function c(t){var n;n=e.call(this,t)||this;var o=window.innerWidth/2-256,r=window.innerHeight/2-256;return n.state={offsetX:o,offsetY:r,transform:"none",dragging:!1,originX:null,originY:null,zoom:1},n.handleDragStart=function(e){n.ref=e.target,n.setState({dragging:!1,originX:e.screenX,originY:e.screenY}),document.addEventListener("mousemove",n.handleDragMove),document.addEventListener("mouseup",n.handleDragEnd),a(e)},n.handleDragMove=function(e){n.setState((function(t){var n=Object.assign({},t),o=e.screenX-n.originX,r=e.screenY-n.originY;return t.dragging?(n.offsetX+=o,n.offsetY+=r,n.originX=e.screenX,n.originY=e.screenY):n.dragging=!0,n})),a(e)},n.handleDragEnd=function(e){n.setState({dragging:!1,originX:null,originY:null}),document.removeEventListener("mousemove",n.handleDragMove),document.removeEventListener("mouseup",n.handleDragEnd),a(e)},n.handleZoom=function(e,o){n.setState((function(e){var n=Math.min(Math.max(o,1),8),r=1.5*(n-e.zoom);e.zoom=n;var i=e.offsetX-262*r;i<-500&&(i=-500),i>500&&(i=500);var a=e.offsetY-256*r;return a<-200&&(a=-200),a>200&&(a=200),e.offsetX=i,e.offsetY=a,t.onZoom&&t.onZoom(e.zoom),e}))},n}return n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,c.prototype.render=function(){var e=(0,i.useBackend)(this.context).config,t=this.state,n=t.dragging,a=t.offsetX,c=t.offsetY,d=t.zoom,u=void 0===d?1:d,s=this.props.children,m=280*u+"px",p={width:m,height:m,"margin-top":c+"px","margin-left":a+"px",overflow:"hidden",position:"relative","background-image":"url("+e.map+"_nanomap_z"+e.mapZLevel+".png)","background-size":"cover","background-repeat":"no-repeat","text-align":"center",cursor:n?"move":"auto"};return(0,o.createComponentVNode)(2,r.Box,{className:"NanoMap__container",children:[(0,o.createComponentVNode)(2,r.Box,{style:p,textAlign:"center",onMouseDown:this.handleDragStart,children:(0,o.createComponentVNode)(2,r.Box,{children:s})}),(0,o.createComponentVNode)(2,l,{zoom:u,onZoom:this.handleZoom})]})},c}(o.Component);t.NanoMap=c;c.Marker=function(e,t){var n=e.x,i=e.y,c=e.zoom,l=void 0===c?1:c,d=e.icon,u=e.tooltip,s=e.color,m=e.onClick,p=2*n*l-l-3,h=2*i*l-l-3;return(0,o.createVNode)(1,"div",null,(0,o.createComponentVNode)(2,r.Box,{position:"absolute",className:"NanoMap__marker",lineHeight:"0",bottom:h+"px",left:p+"px",onMouseDown:function(e){a(e),m(e)},children:[(0,o.createComponentVNode)(2,r.Icon,{name:d,color:s,fontSize:"6px"}),(0,o.createComponentVNode)(2,r.Tooltip,{content:u})]}),2)};var l=function(e,t){var n=(0,i.useBackend)(t),a=n.act,c=n.config,l=n.data;return(0,o.createComponentVNode)(2,r.Box,{className:"NanoMap__zoomer",children:(0,o.createComponentVNode)(2,r.LabeledList,{children:[(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Zoom",children:(0,o.createComponentVNode)(2,r.Slider,{minValue:"1",maxValue:"8",stepPixelSize:"10",format:function(e){return e+"x"},value:e.zoom,onDrag:function(t,n){return e.onZoom(t,n)}})}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Z-Level",children:l.map_levels.sort((function(e,t){return Number(e)-Number(t)})).map((function(e){return(0,o.createComponentVNode)(2,r.Button,{selected:~~e==~~c.mapZLevel,content:e,onClick:function(){a("setZLevel",{mapZLevel:e})}},e)}))})]})})};c.Zoomer=l},function(e,t,n){"use strict";t.__esModule=!0,t.Modal=void 0;var o=n(0),r=n(10),i=n(19),a=n(179);t.Modal=function(e){var t,n=e.className,c=e.children,l=e.onEnter,d=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className","children","onEnter"]);return l&&(t=function(e){13===(e.which||e.keyCode)&&l(e)}),(0,o.createComponentVNode)(2,a.Dimmer,{onKeyDown:t,children:(0,o.normalizeProps)((0,o.createVNode)(1,"div",(0,r.classes)(["Modal",n,(0,i.computeBoxClassName)(d)]),c,0,Object.assign({},(0,i.computeBoxProps)(d))))})}},function(e,t,n){"use strict";t.__esModule=!0,t.NoticeBox=void 0;var o=n(0),r=n(10),i=n(19);var a=function(e){var t=e.className,n=e.color,a=e.info,c=(e.warning,e.success),l=e.danger,d=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className","color","info","warning","success","danger"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,i.Box,Object.assign({className:(0,r.classes)(["NoticeBox",n&&"NoticeBox--color--"+n,a&&"NoticeBox--type--info",c&&"NoticeBox--type--success",l&&"NoticeBox--type--danger",t])},d)))};t.NoticeBox=a,a.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.ProgressBar=void 0;var o=n(0),r=n(5),i=n(10),a=n(19);var c=function(e){var t=e.className,n=e.value,c=e.minValue,l=void 0===c?0:c,d=e.maxValue,u=void 0===d?1:d,s=e.color,m=e.ranges,p=void 0===m?{}:m,h=e.children,C=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className","value","minValue","maxValue","color","ranges","children"]),f=(0,r.scale)(n,l,u),N=h!==undefined,b=s||(0,r.keyOfMatchingRange)(n,p)||"default";return(0,o.normalizeProps)((0,o.createVNode)(1,"div",(0,i.classes)(["ProgressBar","ProgressBar--color--"+b,t,(0,a.computeBoxClassName)(C)]),[(0,o.createVNode)(1,"div","ProgressBar__fill ProgressBar__fill--animated",null,1,{style:{width:100*(0,r.clamp01)(f)+"%"}}),(0,o.createVNode)(1,"div","ProgressBar__content",N?h:(0,r.toFixed)(100*f)+"%",0)],4,Object.assign({},(0,a.computeBoxProps)(C))))};t.ProgressBar=c,c.defaultHooks=i.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Section=void 0;var o=n(0),r=n(10),i=n(19);var a=function(e){var t=e.className,n=e.title,a=e.level,c=void 0===a?1:a,l=e.buttons,d=e.fill,u=e.stretchContents,s=e.noTopPadding,m=e.children,p=e.scrollable,h=e.flexGrow,C=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["className","title","level","buttons","fill","stretchContents","noTopPadding","children","scrollable","flexGrow"]),f=!(0,r.isFalsy)(n)||!(0,r.isFalsy)(l),N=!(0,r.isFalsy)(m);return(0,o.normalizeProps)((0,o.createVNode)(1,"div",(0,r.classes)(["Section","Section--level--"+c,d&&"Section--fill",p&&"Section--scrollable",h&&"Section--flex",t].concat((0,i.computeBoxClassName)(C))),[f&&(0,o.createVNode)(1,"div","Section__title",[(0,o.createVNode)(1,"span","Section__titleText",n,0),(0,o.createVNode)(1,"div","Section__buttons",l,0)],4),N&&(0,o.createVNode)(1,"div",(0,r.classes)(["Section__content",!!u&&"Section__content--stretchContents",!!s&&"Section__content--noTopPadding"]),m,0)],0,Object.assign({},(0,i.computeBoxProps)(C))))};t.Section=a,a.defaultHooks=r.pureComponentHooks},function(e,t,n){"use strict";t.__esModule=!0,t.Slider=void 0;var o=n(0),r=n(5),i=n(10),a=n(19),c=n(130),l=n(131);t.Slider=function(e){if(Byond.IS_LTE_IE8)return(0,o.normalizeProps)((0,o.createComponentVNode)(2,l.NumberInput,Object.assign({},e)));var t=e.animated,n=e.format,d=e.maxValue,u=e.minValue,s=e.onChange,m=e.onDrag,p=e.step,h=e.stepPixelSize,C=e.suppressFlicker,f=e.unit,N=e.value,b=e.className,V=e.fillValue,g=e.color,v=e.ranges,_=void 0===v?{}:v,k=e.children,y=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["animated","format","maxValue","minValue","onChange","onDrag","step","stepPixelSize","suppressFlicker","unit","value","className","fillValue","color","ranges","children"]),L=k!==undefined;return(0,o.normalizeProps)((0,o.createComponentVNode)(2,c.DraggableControl,Object.assign({dragMatrix:[1,0]},{animated:t,format:n,maxValue:d,minValue:u,onChange:s,onDrag:m,step:p,stepPixelSize:h,suppressFlicker:C,unit:f,value:N},{children:function(e){var t=e.dragging,n=(e.editing,e.value),c=e.displayValue,l=e.displayElement,s=e.inputElement,m=e.handleDragStart,p=V!==undefined&&null!==V,h=((0,r.scale)(n,u,d),(0,r.scale)(null!=V?V:c,u,d)),C=(0,r.scale)(c,u,d),f=g||(0,r.keyOfMatchingRange)(null!=V?V:n,_)||"default";return(0,o.normalizeProps)((0,o.createVNode)(1,"div",(0,i.classes)(["Slider","ProgressBar","ProgressBar--color--"+f,b,(0,a.computeBoxClassName)(y)]),[(0,o.createVNode)(1,"div",(0,i.classes)(["ProgressBar__fill",p&&"ProgressBar__fill--animated"]),null,1,{style:{width:100*(0,r.clamp01)(h)+"%",opacity:.4}}),(0,o.createVNode)(1,"div","ProgressBar__fill",null,1,{style:{width:100*(0,r.clamp01)(Math.min(h,C))+"%"}}),(0,o.createVNode)(1,"div","Slider__cursorOffset",[(0,o.createVNode)(1,"div","Slider__cursor"),(0,o.createVNode)(1,"div","Slider__pointer"),t&&(0,o.createVNode)(1,"div","Slider__popupValue",l,0)],0,{style:{width:100*(0,r.clamp01)(C)+"%"}}),(0,o.createVNode)(1,"div","ProgressBar__content",L?k:l,0),s],0,Object.assign({},(0,a.computeBoxProps)(y),{onMouseDown:m})))}})))}},function(e,t,n){"use strict";t.__esModule=!0,t.Tabs=void 0;var o=n(0),r=n(10),i=n(19),a=n(128);function c(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}var l=function(e){var t=e.className,n=e.vertical,a=e.children,l=c(e,["className","vertical","children"]);return(0,o.normalizeProps)((0,o.createVNode)(1,"div",(0,r.classes)(["Tabs",n?"Tabs--vertical":"Tabs--horizontal",t,(0,i.computeBoxClassName)(l)]),(0,o.createVNode)(1,"div","Tabs__tabBox",a,0),2,Object.assign({},(0,i.computeBoxProps)(l))))};t.Tabs=l;l.Tab=function(e){var t=e.className,n=e.selected,i=e.altSelection,l=c(e,["className","selected","altSelection"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Button,Object.assign({className:(0,r.classes)(["Tabs__tab",n&&"Tabs__tab--selected",i&&n&&"Tabs__tab--altSelection",t]),selected:!i&&n,color:"transparent"},l)))}},function(e,t,n){var o={"./AICard.js":465,"./APC.js":466,"./AccountsTerminal.js":467,"./AdminShuttleController.js":468,"./AgentCard.js":469,"./AiAirlock.js":470,"./AiRestorer.js":471,"./AiSupermatter.js":472,"./AirAlarm.js":473,"./AlgaeFarm.js":475,"./AppearanceChanger.js":476,"./ArcadeBattle.js":477,"./AreaScrubberControl.js":478,"./AssemblyInfrared.js":479,"./AssemblyProx.js":480,"./AssemblyTimer.js":481,"./AtmosAlertConsole.js":482,"./AtmosControl.js":186,"./AtmosFilter.js":483,"./AtmosMixer.js":484,"./Autolathe.js":485,"./Batteryrack.js":486,"./BeaconLocator.js":487,"./Biogenerator.js":488,"./BodyDesigner.js":489,"./BodyScanner.js":490,"./BombTester.js":491,"./BotanyEditor.js":492,"./BotanyIsolator.js":493,"./BrigTimer.js":494,"./CameraConsole.js":187,"./Canister.js":495,"./CasinoPrizeDispenserCh.js":496,"./CharacterDirectory.js":497,"./ChemDispenser.js":498,"./ChemMaster.js":502,"./ClawMachine.js":503,"./Cleanbot.js":504,"./CloningConsole.js":505,"./ColorMate.js":506,"./CommunicationsConsole.js":189,"./Communicator.js":507,"./ComputerFabricator.js":508,"./CookingAppliance.js":509,"./CrewManifest.js":94,"./CrewMonitor.js":190,"./Cryo.js":510,"./CryoStorage.js":191,"./CryoStorageVr.js":511,"./DNAForensics.js":512,"./DNAModifier.js":513,"./DestinationTagger.js":514,"./DiseaseSplicer.js":515,"./DishIncubator.js":516,"./DisposalBin.js":517,"./DroneConsole.js":518,"./EmbeddedController.js":519,"./ExonetNode.js":520,"./ExosuitFabricator.js":132,"./Farmbot.js":521,"./Fax.js":522,"./FileCabinet.js":523,"./Floorbot.js":524,"./GasPump.js":525,"./GasTemperatureSystem.js":526,"./GeneralAtmoControl.js":527,"./GeneralRecords.js":528,"./Gps.js":529,"./GravityGenerator.js":530,"./GuestPass.js":531,"./GyrotronControl.js":532,"./Holodeck.js":533,"./ICAssembly.js":534,"./ICCircuit.js":535,"./ICDetailer.js":536,"./ICPrinter.js":537,"./IDCard.js":538,"./IdentificationComputer.js":133,"./InventoryPanel.js":539,"./InventoryPanelHuman.js":540,"./IsolationCentrifuge.js":541,"./JanitorCart.js":542,"./Jukebox.js":543,"./LawManager.js":544,"./LookingGlass.js":545,"./MechaControlConsole.js":546,"./Medbot.js":547,"./MedicalRecords.js":548,"./MessageMonitor.js":549,"./Microwave.js":550,"./MiningOreProcessingConsole.js":551,"./MiningStackingConsole.js":552,"./MiningVendor.js":553,"./MuleBot.js":554,"./NIF.js":555,"./NTNetRelay.js":556,"./Newscaster.js":557,"./NoticeBoard.js":558,"./NtosAccessDecrypter.js":559,"./NtosArcade.js":560,"./NtosAtmosControl.js":561,"./NtosCameraConsole.js":562,"./NtosCommunicationsConsole.js":563,"./NtosConfiguration.js":564,"./NtosCrewMonitor.js":565,"./NtosDigitalWarrant.js":566,"./NtosEmailAdministration.js":567,"./NtosEmailClient.js":194,"./NtosFileManager.js":568,"./NtosIdentificationComputer.js":569,"./NtosMain.js":570,"./NtosNetChat.js":571,"./NtosNetDos.js":572,"./NtosNetDownloader.js":573,"./NtosNetMonitor.js":574,"./NtosNetTransfer.js":575,"./NtosNewsBrowser.js":576,"./NtosOvermapNavigation.js":577,"./NtosPowerMonitor.js":578,"./NtosRCON.js":579,"./NtosRevelation.js":580,"./NtosShutoffMonitor.js":581,"./NtosStationAlertConsole.js":582,"./NtosSupermatterMonitor.js":583,"./NtosUAV.js":584,"./NtosWordProcessor.js":585,"./OmniFilter.js":586,"./OmniMixer.js":587,"./OperatingComputer.js":588,"./OvermapDisperser.js":589,"./OvermapEngines.js":200,"./OvermapFull.js":590,"./OvermapHelm.js":201,"./OvermapNavigation.js":195,"./OvermapShieldGenerator.js":591,"./OvermapShipSensors.js":202,"./ParticleAccelerator.js":592,"./PartsLathe.js":593,"./PathogenicIsolator.js":594,"./Pda.js":595,"./Photocopier.js":610,"./PipeDispenser.js":611,"./PlantAnalyzer.js":612,"./PointDefenseControl.js":613,"./PortableGenerator.js":614,"./PortablePump.js":615,"./PortableScrubber.js":616,"./PortableTurret.js":617,"./PowerMonitor.js":135,"./PrecisionEditor.js":618,"./PressureRegulator.js":619,"./PrisonerManagement.js":620,"./RCON.js":196,"./RIGSuit.js":621,"./Radio.js":622,"./RapidPipeDispenser.js":204,"./RequestConsole.js":623,"./ResearchConsole.js":624,"./ResearchServerController.js":625,"./ResleevingConsole.js":626,"./ResleevingPod.js":627,"./RoboticsControlConsole.js":628,"./RogueZones.js":629,"./RustCoreMonitor.js":630,"./RustFuelControl.js":631,"./Secbot.js":632,"./SecurityRecords.js":633,"./SeedStorage.js":634,"./ShieldCapacitor.js":635,"./ShieldGenerator.js":636,"./ShutoffMonitor.js":197,"./ShuttleControl.js":637,"./Signaler.js":203,"./Sleeper.js":638,"./SmartVend.js":639,"./Smes.js":640,"./SolarControl.js":641,"./SpaceHeater.js":642,"./Stack.js":643,"./StarcasterCh.js":644,"./StationAlertConsole.js":198,"./StationBlueprints.js":645,"./SuitCycler.js":646,"./SuitStorageUnit.js":647,"./SupermatterMonitor.js":199,"./SupplyConsole.js":648,"./TEGenerator.js":649,"./Tank.js":650,"./TankDispenser.js":651,"./TelecommsLogBrowser.js":652,"./TelecommsMachineBrowser.js":653,"./TelecommsMultitoolMenu.js":654,"./Teleporter.js":655,"./TelesciConsole.js":656,"./TimeClock.js":657,"./TransferValve.js":658,"./TurbineControl.js":659,"./Turbolift.js":660,"./Uplink.js":661,"./Vending.js":662,"./VolumePanel.js":663,"./VorePanel.js":664,"./Wires.js":665,"./XenoarchArtifactAnalyzer.js":666,"./XenoarchArtifactHarvester.js":667,"./XenoarchDepthScanner.js":668,"./XenoarchHandheldPowerUtilizer.js":669,"./XenoarchReplicator.js":670,"./XenoarchSpectrometer.js":671,"./XenoarchSuspension.js":672,"./pAIAtmos.js":673,"./pAIDirectives.js":674,"./pAIDoorjack.js":675,"./pAIInterface.js":676,"./pAIMedrecords.js":677,"./pAISecrecords.js":678};function r(e){var t=i(e);return n(t)}function i(e){if(!n.o(o,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return o[e]}r.keys=function(){return Object.keys(o)},r.resolve=i,e.exports=r,r.id=464},function(e,t,n){"use strict";t.__esModule=!0,t.AICard=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.AICard=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.has_ai,u=l.integrity,s=l.backup_capacitor,m=l.flushing,p=l.has_laws,h=l.laws,C=l.wireless,f=l.radio;if(0===d)return(0,o.createComponentVNode)(2,a.Window,{width:600,height:470,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:(0,o.createComponentVNode)(2,i.Section,{title:"Stored AI",children:(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createVNode)(1,"h3",null,"No AI detected.",16)})})})});var N=null;N=u>=75?"green":u>=25?"yellow":"red";var b=null;return s>=75&&(b="green"),b=s>=25?"yellow":"red",(0,o.createComponentVNode)(2,a.Window,{width:600,height:470,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Stored AI",children:[(0,o.createComponentVNode)(2,i.Box,{bold:!0,display:"inline-block",children:(0,o.createVNode)(1,"h3",null,name,0)}),(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Integrity",children:(0,o.createComponentVNode)(2,i.ProgressBar,{color:N,value:u/100})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,i.ProgressBar,{color:b,value:s/100})})]})}),(0,o.createComponentVNode)(2,i.Box,{color:"red",children:(0,o.createVNode)(1,"h2",null,1===m?"Wipe of AI in progress...":"",0)})]}),(0,o.createComponentVNode)(2,i.Section,{title:"Laws",children:!!p&&(0,o.createComponentVNode)(2,i.Box,{children:h.map((function(e,t){return(0,o.createComponentVNode)(2,i.Box,{display:"inline-block",children:e},t)}))})||(0,o.createComponentVNode)(2,i.Box,{color:"red",children:(0,o.createVNode)(1,"h3",null,"No laws detected.",16)})}),(0,o.createComponentVNode)(2,i.Section,{title:"Actions",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Wireless Activity",children:(0,o.createComponentVNode)(2,i.Button,{icon:C?"check":"times",content:C?"Enabled":"Disabled",color:C?"green":"red",onClick:function(){return c("wireless")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Subspace Transceiver",children:(0,o.createComponentVNode)(2,i.Button,{icon:f?"check":"times",content:f?"Enabled":"Disabled",color:f?"green":"red",onClick:function(){return c("radio")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"AI Power",children:(0,o.createComponentVNode)(2,i.Button.Confirm,{icon:"radiation",confirmIcon:"radiation",disabled:m||0===u,confirmColor:"red",content:"Shutdown",onClick:function(){return c("wipe")}})})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.APC=void 0;var o=n(0),r=n(1),i=n(2),a=n(3),c=n(185),l=n(61);t.APC=function(e,t){var n=(0,r.useBackend)(t),i=(n.act,n.data),c=(0,o.createComponentVNode)(2,u);return i.gridCheck?c=(0,o.createComponentVNode)(2,s):i.failTime&&(c=(0,o.createComponentVNode)(2,m)),(0,o.createComponentVNode)(2,a.Window,{width:450,height:475,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:c})})};var d={2:{color:"good",externalPowerText:"External Power",chargingText:"Fully Charged"},1:{color:"average",externalPowerText:"Low External Power",chargingText:"Charging"},0:{color:"bad",externalPowerText:"No External Power",chargingText:"Not Charging"}},u=function(e,t){var n=(0,r.useBackend)(t),a=n.act,l=n.data,u=l.locked&&!l.siliconUser,s=(l.normallyLocked,d[l.externalPower]||d[0]),m=d[l.chargingStatus]||d[0],p=l.powerChannels||[],h=l.powerCellStatus/100;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.InterfaceLockNoticeBox,{deny:l.emagged,denialMessage:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{color:"bad",fontSize:"1.5rem",children:"Fault in ID authenticator."}),(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Please contact maintenance for service."})],4)}),(0,o.createComponentVNode)(2,i.Section,{title:"Power Status",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Main Breaker",color:s.color,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:l.isOperating?"power-off":"times",content:l.isOperating?"On":"Off",selected:l.isOperating&&!u,color:l.isOperating?"":"bad",disabled:u,onClick:function(){return a("breaker")}}),children:["[ ",s.externalPowerText," ]"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Power Cell",children:(0,o.createComponentVNode)(2,i.ProgressBar,{color:"good",value:h})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Charge Mode",color:m.color,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:l.chargeMode?"sync":"times",content:l.chargeMode?"Auto":"Off",selected:l.chargeMode,disabled:u,onClick:function(){return a("charge")}}),children:["[ ",m.chargingText," ]"]})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Power Channels",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[p.map((function(e){var t=e.topicParams;return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.title,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{inline:!0,mx:2,color:e.status>=2?"good":"bad",children:e.status>=2?"On":"Off"}),(0,o.createComponentVNode)(2,i.Button,{icon:"sync",content:"Auto",selected:!u&&(1===e.status||3===e.status),disabled:u,onClick:function(){return a("channel",t.auto)}}),(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",content:"On",selected:!u&&2===e.status,disabled:u,onClick:function(){return a("channel",t.on)}}),(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Off",selected:!u&&0===e.status,disabled:u,onClick:function(){return a("channel",t.off)}})],4),children:[e.powerLoad," W"]},e.title)})),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Total Load",children:l.totalCharging?(0,o.createVNode)(1,"b",null,[l.totalLoad,(0,o.createTextVNode)(" W (+ "),l.totalCharging,(0,o.createTextVNode)(" W charging)")],0):(0,o.createVNode)(1,"b",null,[l.totalLoad,(0,o.createTextVNode)(" W")],0)})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Misc",buttons:!!l.siliconUser&&(0,o.createComponentVNode)(2,i.Button,{icon:"lightbulb-o",content:"Overload",onClick:function(){return a("overload")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Cover Lock",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:l.coverLocked?"lock":"unlock",content:l.coverLocked?"Engaged":"Disengaged",selected:l.coverLocked,disabled:u,onClick:function(){return a("cover")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Night Shift Lighting",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"lightbulb-o",content:"Disabled",selected:2===l.nightshiftSetting,onClick:function(){return a("nightshift",{nightshift:2})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"lightbulb-o",content:"Automatic",selected:1===l.nightshiftSetting,onClick:function(){return a("nightshift",{nightshift:1})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"lightbulb-o",content:"Enabled",selected:3===l.nightshiftSetting,onClick:function(){return a("nightshift",{nightshift:3})}})],4)}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Emergency Lighting",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"lightbulb-o",content:l.emergencyLights?"Enabled":"Disabled",selected:l.emergencyLights,onClick:function(){return a("emergency_lighting")}})})]})})],4)},s=function(e,t){return(0,o.createComponentVNode)(2,l.FullscreenNotice,{title:"System Failure",children:[(0,o.createComponentVNode)(2,i.Box,{fontSize:"1.5rem",bold:!0,children:(0,o.createComponentVNode)(2,i.Icon,{name:"exclamation-triangle",verticalAlign:"middle",size:3,mr:"1rem"})}),(0,o.createComponentVNode)(2,i.Box,{fontSize:"1.5rem",bold:!0,children:"Power surge detected, grid check in effect..."})]})},m=function(e,t){var n=(0,r.useBackend)(t),a=n.data,c=n.act,l=(0,o.createComponentVNode)(2,i.Button,{icon:"repeat",content:"Restart Now",color:"good",onClick:function(){return c("reboot")}});return a.locked&&!a.siliconUser&&(l=(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Swipe an ID card for manual reboot."})),(0,o.createComponentVNode)(2,i.Dimmer,{textAlign:"center",children:[(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:(0,o.createVNode)(1,"h1",null,"SYSTEM FAILURE",16)}),(0,o.createComponentVNode)(2,i.Box,{color:"average",children:(0,o.createVNode)(1,"h2",null,"I/O regulators malfunction detected! Waiting for system reboot...",16)}),(0,o.createComponentVNode)(2,i.Box,{color:"good",children:["Automatic reboot in ",a.failTime," seconds..."]}),(0,o.createComponentVNode)(2,i.Box,{mt:4,children:l})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.AccountsTerminal=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.AccountsTerminal=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.id_inserted,s=d.id_card,m=d.access_level,p=d.machine_id;return(0,o.createComponentVNode)(2,a.Window,{width:400,height:640,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Machine",color:"average",children:p}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"ID",children:(0,o.createComponentVNode)(2,i.Button,{icon:u?"eject":"sign-in-alt",fluid:!0,content:s,onClick:function(){return l("insert_card")}})})]})}),m>0&&(0,o.createComponentVNode)(2,c)]})})};var c=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,s=c.creating_new_account,m=c.detailed_account_view;return(0,o.createComponentVNode)(2,i.Section,{title:"Menu",children:[(0,o.createComponentVNode)(2,i.Tabs,{children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:!s&&!m,icon:"home",onClick:function(){return a("view_accounts_list")},children:"Home"}),(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:s,icon:"cog",onClick:function(){return a("create_account")},children:"New Account"}),(0,o.createComponentVNode)(2,i.Tabs.Tab,{disabled:s,icon:"print",onClick:function(){return a("print")},children:"Print"})]}),s&&(0,o.createComponentVNode)(2,l)||m&&(0,o.createComponentVNode)(2,d)||(0,o.createComponentVNode)(2,u)]})},l=function(e,t){var n=(0,r.useBackend)(t).act,a=(0,r.useSharedState)(t,"holder",""),c=a[0],l=a[1],d=(0,r.useSharedState)(t,"money",""),u=d[0],s=d[1];return(0,o.createComponentVNode)(2,i.Section,{title:"Create Account",level:2,children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Account Holder",children:(0,o.createComponentVNode)(2,i.Input,{value:c,fluid:!0,onInput:function(e,t){return l(t)}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Initial Deposit",children:(0,o.createComponentVNode)(2,i.Input,{value:u,fluid:!0,onInput:function(e,t){return s(t)}})})]}),(0,o.createComponentVNode)(2,i.Button,{disabled:!c||!u,mt:1,fluid:!0,icon:"plus",onClick:function(){return n("finalise_create_account",{holder_name:c,starting_funds:u})},content:"Create"})]})},d=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.access_level,d=c.station_account_number,u=c.account_number,s=c.owner_name,m=c.money,p=c.suspended,h=c.transactions;return(0,o.createComponentVNode)(2,i.Section,{title:"Account Details",level:2,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"ban",selected:p,content:"Suspend",onClick:function(){return a("toggle_suspension")}}),children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Account Number",children:["#",u]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Holder",children:s}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Balance",children:[m,"\u20ae"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",color:p?"bad":"good",children:p?"SUSPENDED":"Active"})]}),(0,o.createComponentVNode)(2,i.Section,{title:"CentCom Administrator",level:2,mt:1,children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Payroll",children:(0,o.createComponentVNode)(2,i.Button.Confirm,{color:"bad",fluid:!0,icon:"ban",confirmIcon:"ban",content:"Revoke",confirmContent:"This cannot be undone.",disabled:u===d,onClick:function(){return a("revoke_payroll")}})})})}),l>=2&&(0,o.createComponentVNode)(2,i.Section,{title:"Silent Funds Transfer",level:2,children:[(0,o.createComponentVNode)(2,i.Button,{icon:"plus",onClick:function(){return a("add_funds")},content:"Add Funds"}),(0,o.createComponentVNode)(2,i.Button,{icon:"plus",onClick:function(){return a("remove_funds")},content:"Remove Funds"})]}),(0,o.createComponentVNode)(2,i.Section,{title:"Transactions",level:2,mt:1,children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Timestamp"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Target"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Reason"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Value"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Terminal"})]}),h.map((function(e,t){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:[e.date," ",e.time]}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.target_name}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.purpose}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:[e.amount,"\u20ae"]}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.source_terminal})]},t)}))]})})]})},u=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data.accounts;return(0,o.createComponentVNode)(2,i.Section,{title:"NanoTrasen Accounts",level:2,children:c.length&&(0,o.createComponentVNode)(2,i.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.owner_name+e.suspended,color:e.suspended?"bad":null,children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:"#"+e.account_number,onClick:function(){return a("view_account_detail",{account_index:e.account_index})}})},e.account_index)}))})||(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"There are no accounts available."})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ShuttleList=t.AdminShuttleController=void 0;var o=n(0),r=n(8),i=n(1),a=n(2),c=n(3);t.AdminShuttleController=function(e,t){var n=(0,i.useBackend)(t);n.act,n.data;return(0,o.createComponentVNode)(2,c.Window,{width:600,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,l)})})};var l=function(e,t){var n=(0,i.useBackend)(t),c=n.act,l=n.data,u=l.shuttles,s=l.overmap_ships;return(0,o.createComponentVNode)(2,a.Section,{noTopPadding:!0,children:[(0,o.createComponentVNode)(2,a.Section,{title:"Classic Shuttles",level:2,children:(0,o.createComponentVNode)(2,a.Table,{children:(0,r.sortBy)((function(e){return e.name}))(u).map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,a.Button,{m:0,content:"JMP",onClick:function(){return c("adminobserve",{ref:e.ref})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,a.Button,{m:0,content:"Fly",onClick:function(){return c("classicmove",{ref:e.ref})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.current_location}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:d(e.status)})]},e.ref)}))})}),(0,o.createComponentVNode)(2,a.Section,{title:"Overmap Ships",level:2,children:(0,o.createComponentVNode)(2,a.Table,{children:(0,r.sortBy)((function(e){var t;return(null==(t=e.name)?void 0:t.toLowerCase())||e.name||e.ref}))(s).map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,a.Button,{content:"JMP",onClick:function(){return c("adminobserve",{ref:e.ref})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,a.Button,{content:"Control",onClick:function(){return c("overmap_control",{ref:e.ref})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.name})]},e.ref)}))})})]})};t.ShuttleList=l;var d=function(e){switch(e){case 0:return"Idle";case 1:return"Warmup";case 2:return"Transit";default:return"UNK"}}},function(e,t,n){"use strict";t.__esModule=!0,t.AgentCard=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.AgentCard=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.entries,u=l.electronic_warfare;return(0,o.createComponentVNode)(2,a.Window,{width:550,height:400,theme:"syndicate",children:(0,o.createComponentVNode)(2,a.Window.Content,{children:[(0,o.createComponentVNode)(2,i.Section,{title:"Info",children:(0,o.createComponentVNode)(2,i.Table,{children:d.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return c(e.name.toLowerCase().replace(/ /g,""))},icon:"cog"})}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.value})]},e.name)}))})}),(0,o.createComponentVNode)(2,i.Section,{title:"Electronic Warfare",children:(0,o.createComponentVNode)(2,i.Button.Checkbox,{checked:u,content:u?"Electronic warfare is enabled. This will prevent you from being tracked by the AI.":"Electronic warfare disabled.",onClick:function(){return c("electronic_warfare")}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AiAirlock=void 0;var o=n(0),r=n(1),i=n(2),a=n(3),c={2:{color:"good",localStatusText:"Optimal"},1:{color:"average",localStatusText:"Caution"},0:{color:"bad",localStatusText:"Offline"}};t.AiAirlock=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=c[d.power.main]||c[0],s=c[d.power.backup]||c[0],m=c[d.shock]||c[0];return(0,o.createComponentVNode)(2,a.Window,{width:500,height:390,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:[(0,o.createComponentVNode)(2,i.Section,{title:"Power Status",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Main",color:u.color,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"lightbulb-o",disabled:!d.power.main,content:"Disrupt",onClick:function(){return l("disrupt-main")}}),children:[d.power.main?"Online":"Offline"," ",d.wires.main_1&&d.wires.main_2?d.power.main_timeleft>0&&"["+d.power.main_timeleft+"s]":"[Wires have been cut!]"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Backup",color:s.color,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"lightbulb-o",disabled:!d.power.backup,content:"Disrupt",onClick:function(){return l("disrupt-backup")}}),children:[d.power.backup?"Online":"Offline"," ",d.wires.backup_1&&d.wires.backup_2?d.power.backup_timeleft>0&&"["+d.power.backup_timeleft+"s]":"[Wires have been cut!]"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Electrify",color:m.color,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"wrench",disabled:!(d.wires.shock&&0===d.shock),content:"Restore",onClick:function(){return l("shock-restore")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"bolt",disabled:!d.wires.shock,content:"Temporary",onClick:function(){return l("shock-temp")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"bolt",disabled:!d.wires.shock,content:"Permanent",onClick:function(){return l("shock-perm")}})],4),children:[2===d.shock?"Safe":"Electrified"," ",(d.wires.shock?d.shock_timeleft>0&&"["+d.shock_timeleft+"s]":"[Wires have been cut!]")||-1===d.shock_timeleft&&"[Permanent]"]})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Access and Door Control",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"ID Scan",color:"bad",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:d.id_scanner?"power-off":"times",content:d.id_scanner?"Enabled":"Disabled",selected:d.id_scanner,disabled:!d.wires.id_scanner,onClick:function(){return l("idscan-toggle")}}),children:!d.wires.id_scanner&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,i.LabeledList.Divider),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Door Bolts",color:"bad",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:d.locked?"lock":"unlock",content:d.locked?"Lowered":"Raised",selected:d.locked,disabled:!d.wires.bolts,onClick:function(){return l("bolt-toggle")}}),children:!d.wires.bolts&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Door Bolt Lights",color:"bad",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:d.lights?"power-off":"times",content:d.lights?"Enabled":"Disabled",selected:d.lights,disabled:!d.wires.lights,onClick:function(){return l("light-toggle")}}),children:!d.wires.lights&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Door Force Sensors",color:"bad",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:d.safe?"power-off":"times",content:d.safe?"Enabled":"Disabled",selected:d.safe,disabled:!d.wires.safe,onClick:function(){return l("safe-toggle")}}),children:!d.wires.safe&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Door Timing Safety",color:"bad",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:d.speed?"power-off":"times",content:d.speed?"Enabled":"Disabled",selected:d.speed,disabled:!d.wires.timing,onClick:function(){return l("speed-toggle")}}),children:!d.wires.timing&&"[Wires have been cut!]"}),(0,o.createComponentVNode)(2,i.LabeledList.Divider),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Door Control",color:"bad",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:d.opened?"sign-out-alt":"sign-in-alt",content:d.opened?"Open":"Closed",selected:d.opened,disabled:d.locked||d.welded,onClick:function(){return l("open-close")}}),children:!(!d.locked&&!d.welded)&&(0,o.createVNode)(1,"span",null,[(0,o.createTextVNode)("[Door is "),d.locked?"bolted":"",d.locked&&d.welded?" and ":"",d.welded?"welded":"",(0,o.createTextVNode)("!]")],0)})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AiRestorerContent=t.AiRestorer=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.AiRestorer=function(){return(0,o.createComponentVNode)(2,a.Window,{width:370,height:360,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,c)})})};var c=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.AI_present,d=c.error,u=c.name,s=c.laws,m=c.isDead,p=c.restoring,h=c.health,C=c.ejectable;return(0,o.createFragment)([d&&(0,o.createComponentVNode)(2,i.NoticeBox,{textAlign:"center",children:d}),!!C&&(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"eject",content:l?u:"----------",disabled:!l,onClick:function(){return a("PRG_eject")}}),!!l&&(0,o.createComponentVNode)(2,i.Section,{title:C?"System Status":u,buttons:(0,o.createComponentVNode)(2,i.Box,{inline:!0,bold:!0,color:m?"bad":"good",children:m?"Nonfunctional":"Functional"}),children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Integrity",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:h,minValue:0,maxValue:100,ranges:{good:[70,Infinity],average:[50,70],bad:[-Infinity,50]}})})}),!!p&&(0,o.createComponentVNode)(2,i.Box,{bold:!0,textAlign:"center",fontSize:"20px",color:"good",mt:1,children:"RECONSTRUCTION IN PROGRESS"}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"plus",content:"Begin Reconstruction",disabled:p,mt:1,onClick:function(){return a("PRG_beginReconstruction")}}),(0,o.createComponentVNode)(2,i.Section,{title:"Laws",level:2,children:s.map((function(e){return(0,o.createComponentVNode)(2,i.Box,{className:"candystripe",children:e},e)}))})]})],0)};t.AiRestorerContent=c},function(e,t,n){"use strict";t.__esModule=!0,t.AiSupermatter=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3),c=(n(20),n(61));t.AiSupermatter=function(e,t){var n=(0,r.useBackend)(t).data,i=(n.integrity_percentage,n.ambient_temp,n.ambient_pressure,n.detonating),c=(0,o.createComponentVNode)(2,d);return i&&(c=(0,o.createComponentVNode)(2,l)),(0,o.createComponentVNode)(2,a.Window,{width:500,height:300,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:c})})};var l=function(e,t){return(0,o.createComponentVNode)(2,c.FullscreenNotice,{title:"DETONATION IMMINENT",children:(0,o.createComponentVNode)(2,i.Box,{fontSize:"1.5rem",bold:!0,color:"bad",children:[(0,o.createComponentVNode)(2,i.Icon,{color:"bad",name:"exclamation-triangle",verticalAlign:"middle",size:3,mr:"1rem"}),(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"CRYSTAL DELAMINATING"}),(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Evacuate area immediately"})]})})},d=function(e,t){var n=(0,r.useBackend)(t).data,a=n.integrity_percentage,c=n.ambient_temp,l=n.ambient_pressure;return(0,o.createComponentVNode)(2,i.Section,{title:"Status",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Crystal Integrity",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:a,maxValue:100,ranges:{good:[90,Infinity],average:[25,90],bad:[-Infinity,25]}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Environment Temperature",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:c,maxValue:1e4,ranges:{bad:[5e3,Infinity],average:[4e3,5e3],good:[-Infinity,4e3]},children:[c," K"]})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Environment Pressure",children:[l," kPa"]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AirAlarm=void 0;var o=n(0),r=n(5),i=(n(6),n(1)),a=n(2),c=n(28),l=n(3),d=n(185),u=n(474);t.AirAlarm=function(e,t){var n=(0,i.useBackend)(t),r=(n.act,n.data),a=r.locked&&!r.siliconUser&&!r.remoteUser;return(0,o.createComponentVNode)(2,l.Window,{width:440,height:650,resizable:!0,children:(0,o.createComponentVNode)(2,l.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,d.InterfaceLockNoticeBox),(0,o.createComponentVNode)(2,s),(0,o.createComponentVNode)(2,m),!a&&(0,o.createComponentVNode)(2,h)]})})};var s=function(e,t){var n=(0,i.useBackend)(t).data,l=(n.environment_data||[]).filter((function(e){return e.value>=.01})),d={0:{color:"good",localStatusText:"Optimal"},1:{color:"average",localStatusText:"Caution"},2:{color:"bad",localStatusText:"Danger (Internals Required)"}},u=d[n.danger_level]||d[0];return(0,o.createComponentVNode)(2,a.Section,{title:"Air Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[l.length>0&&(0,o.createFragment)([l.map((function(e){var t=d[e.danger_level]||d[0];return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:(0,c.getGasLabel)(e.name),color:t.color,children:[(0,r.toFixed)(e.value,2),e.unit]},e.name)})),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Local status",color:u.color,children:u.localStatusText}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Area status",color:n.atmos_alarm||n.fire_alarm?"bad":"good",children:(n.atmos_alarm?"Atmosphere Alarm":n.fire_alarm&&"Fire Alarm")||"Nominal"})],0)||(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Warning",color:"bad",children:"Cannot obtain air sample for analysis."}),!!n.emagged&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Warning",color:"bad",children:"Safety measures offline. Device may exhibit abnormal behavior."})]})})},m=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data,l=c.target_temperature,d=c.rcon;return(0,o.createComponentVNode)(2,a.Section,{title:"Comfort Settings",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Remote Control",children:[(0,o.createComponentVNode)(2,a.Button,{selected:1===d,content:"Off",onClick:function(){return r("rcon",{rcon:1})}}),(0,o.createComponentVNode)(2,a.Button,{selected:2===d,content:"Auto",onClick:function(){return r("rcon",{rcon:2})}}),(0,o.createComponentVNode)(2,a.Button,{selected:3===d,content:"On",onClick:function(){return r("rcon",{rcon:3})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Thermostat",children:(0,o.createComponentVNode)(2,a.Button,{content:l,onClick:function(){return r("temperature")}})})]})})},p={home:{title:"Air Controls",component:function(){return C}},vents:{title:"Vent Controls",component:function(){return f}},scrubbers:{title:"Scrubber Controls",component:function(){return N}},modes:{title:"Operating Mode",component:function(){return b}},thresholds:{title:"Alarm Thresholds",component:function(){return V}}},h=function(e,t){var n=(0,i.useLocalState)(t,"screen"),r=n[0],c=n[1],l=p[r]||p.home,d=l.component();return(0,o.createComponentVNode)(2,a.Section,{title:l.title,buttons:r&&(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"Back",onClick:function(){return c()}}),children:(0,o.createComponentVNode)(2,d)})},C=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data,l=(0,i.useLocalState)(t,"screen"),d=(l[0],l[1]),u=c.mode,s=c.atmos_alarm;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:s?"exclamation-triangle":"exclamation",color:s&&"caution",content:"Area Atmosphere Alarm",onClick:function(){return r(s?"reset":"alarm")}}),(0,o.createComponentVNode)(2,a.Box,{mt:1}),(0,o.createComponentVNode)(2,a.Button,{icon:3===u?"exclamation-triangle":"exclamation",color:3===u&&"danger",content:"Panic Siphon",onClick:function(){return r("mode",{mode:3===u?1:3})}}),(0,o.createComponentVNode)(2,a.Box,{mt:2}),(0,o.createComponentVNode)(2,a.Button,{icon:"sign-out-alt",content:"Vent Controls",onClick:function(){return d("vents")}}),(0,o.createComponentVNode)(2,a.Box,{mt:1}),(0,o.createComponentVNode)(2,a.Button,{icon:"filter",content:"Scrubber Controls",onClick:function(){return d("scrubbers")}}),(0,o.createComponentVNode)(2,a.Box,{mt:1}),(0,o.createComponentVNode)(2,a.Button,{icon:"cog",content:"Operating Mode",onClick:function(){return d("modes")}}),(0,o.createComponentVNode)(2,a.Box,{mt:1}),(0,o.createComponentVNode)(2,a.Button,{icon:"chart-bar",content:"Alarm Thresholds",onClick:function(){return d("thresholds")}})],4)},f=function(e,t){var n=(0,i.useBackend)(t).data.vents;return n&&0!==n.length?n.map((function(e){return(0,o.createComponentVNode)(2,u.Vent,{vent:e},e.id_tag)})):"Nothing to show"},N=function(e,t){var n=(0,i.useBackend)(t).data.scrubbers;return n&&0!==n.length?n.map((function(e){return(0,o.createComponentVNode)(2,u.Scrubber,{scrubber:e},e.id_tag)})):"Nothing to show"},b=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data.modes;return c&&0!==c.length?c.map((function(e){return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:e.selected?"check-square-o":"square-o",selected:e.selected,color:e.selected&&e.danger&&"danger",content:e.name,onClick:function(){return r("mode",{mode:e.mode})}}),(0,o.createComponentVNode)(2,a.Box,{mt:1})],4,e.mode)})):"Nothing to show"},V=function(e,t){var n=(0,i.useBackend)(t),l=n.act,d=n.data.thresholds;return(0,o.createVNode)(1,"table","LabeledList",[(0,o.createVNode)(1,"thead",null,(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td"),(0,o.createVNode)(1,"td","color-bad","min2",16),(0,o.createVNode)(1,"td","color-average","min1",16),(0,o.createVNode)(1,"td","color-average","max1",16),(0,o.createVNode)(1,"td","color-bad","max2",16)],4),2),(0,o.createVNode)(1,"tbody",null,d.map((function(e){return(0,o.createVNode)(1,"tr",null,[(0,o.createVNode)(1,"td","LabeledList__label",(0,o.createVNode)(1,"span","color-"+(0,c.getGasColor)(e.name),(0,c.getGasLabel)(e.name),0),2),e.settings.map((function(e){return(0,o.createVNode)(1,"td",null,(0,o.createComponentVNode)(2,a.Button,{content:(0,r.toFixed)(e.selected,2),onClick:function(){return l("threshold",{env:e.env,"var":e.val})}}),2,null,e.val)}))],0,null,e.name)})),0)],4,{style:{width:"100%"}})}},function(e,t,n){"use strict";t.__esModule=!0,t.Scrubber=t.Vent=void 0;var o=n(0),r=n(6),i=n(1),a=n(2);n(28);t.Vent=function(e,t){var n=e.vent,c=(0,i.useBackend)(t).act,l=n.id_tag,d=n.long_name,u=n.power,s=n.checks,m=n.excheck,p=n.incheck,h=n.direction,C=n.external,f=n.internal,N=n.extdefault,b=n.intdefault;return(0,o.createComponentVNode)(2,a.Section,{level:2,title:(0,r.decodeHtmlEntities)(d),buttons:(0,o.createComponentVNode)(2,a.Button,{icon:u?"power-off":"times",selected:u,content:u?"On":"Off",onClick:function(){return c("power",{id_tag:l,val:Number(!u)})}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mode",children:(0,o.createComponentVNode)(2,a.Button,{icon:"sign-in-alt",content:"siphon"!==h?"Pressurizing":"Siphoning",color:"siphon"===h&&"danger",onClick:function(){return c("direction",{id_tag:l,val:Number("siphon"===h)})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"sign-in-alt",content:"Internal",selected:p,onClick:function(){return c("incheck",{id_tag:l,val:s})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"sign-out-alt",content:"External",selected:m,onClick:function(){return c("excheck",{id_tag:l,val:s})}})]}),!!p&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Internal Target",children:[(0,o.createComponentVNode)(2,a.NumberInput,{value:Math.round(f),unit:"kPa",width:"75px",minValue:0,step:10,maxValue:5066,onChange:function(e,t){return c("set_internal_pressure",{id_tag:l,value:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"undo",disabled:b,content:"Reset",onClick:function(){return c("reset_internal_pressure",{id_tag:l})}})]}),!!m&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"External Target",children:[(0,o.createComponentVNode)(2,a.NumberInput,{value:Math.round(C),unit:"kPa",width:"75px",minValue:0,step:10,maxValue:5066,onChange:function(e,t){return c("set_external_pressure",{id_tag:l,value:t})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"undo",disabled:N,content:"Reset",onClick:function(){return c("reset_external_pressure",{id_tag:l})}})]})]})})};t.Scrubber=function(e,t){var n=e.scrubber,c=(0,i.useBackend)(t).act,l=n.long_name,d=n.power,u=n.scrubbing,s=n.id_tag,m=(n.widenet,n.filters);return(0,o.createComponentVNode)(2,a.Section,{level:2,title:(0,r.decodeHtmlEntities)(l),buttons:(0,o.createComponentVNode)(2,a.Button,{icon:d?"power-off":"times",content:d?"On":"Off",selected:d,onClick:function(){return c("power",{id_tag:s,val:Number(!d)})}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mode",children:(0,o.createComponentVNode)(2,a.Button,{icon:u?"filter":"sign-in-alt",color:u||"danger",content:u?"Scrubbing":"Siphoning",onClick:function(){return c("scrubbing",{id_tag:s,val:Number(!u)})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Filters",children:u&&m.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:e.val?"check-square-o":"square-o",content:e.name,title:e.name,selected:e.val,onClick:function(){return c(e.command,{id_tag:s,val:!e.val})}},e.name)}))||"N/A"})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AlgaeFarm=void 0;var o=n(0),r=n(1),i=n(2),a=(n(20),n(3)),c=(n(5),n(6));t.AlgaeFarm=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.usePower,s=d.materials,m=d.last_flow_rate,p=d.last_power_draw,h=d.inputDir,C=d.outputDir,f=d.input,N=d.output,b=d.errorText;return(0,o.createComponentVNode)(2,a.Window,{width:500,height:300,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:[b&&(0,o.createComponentVNode)(2,i.NoticeBox,{warning:!0,children:(0,o.createComponentVNode)(2,i.Box,{display:"inline-block",verticalAlign:"middle",children:b})}),(0,o.createComponentVNode)(2,i.Section,{title:"Status",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",content:"Processing",selected:2===u,onClick:function(){return l("toggle")}}),children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Flow Rate",children:[m," L/s"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Power Draw",children:[p," W"]}),(0,o.createComponentVNode)(2,i.LabeledList.Divider,{size:1}),s.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:(0,c.capitalize)(e.display),children:[(0,o.createComponentVNode)(2,i.ProgressBar,{width:"80%",value:e.qty,maxValue:e.max,children:[e.qty,"/",e.max]}),(0,o.createComponentVNode)(2,i.Button,{ml:1,content:"Eject",onClick:function(){return l("ejectMaterial",{mat:e.name})}})]},e.name)}))]}),(0,o.createComponentVNode)(2,i.Table,{mt:1,children:(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Section,{title:"Gas Input ("+h+")",children:f?(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Total Pressure",children:[f.pressure," kPa"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:f.name,children:[f.percent,"% (",f.moles," moles)"]})]}):(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No connection detected."})})}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Section,{title:"Gas Output ("+C+")",children:N?(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Total Pressure",children:[N.pressure," kPa"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:N.name,children:[N.percent,"% (",N.moles," moles)"]})]}):(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No connection detected."})})})]})})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AppearanceChanger=void 0;var o=n(0),r=n(8),i=n(6),a=n(1),c=n(2),l=n(3);t.AppearanceChanger=function(e,t){var n=(0,a.useBackend)(t),r=(n.act,n.config),N=n.data,b=N.name,V=N.specimen,g=N.gender,v=N.gender_id,_=N.hair_style,k=N.facial_hair_style,y=N.ear_style,L=N.tail_style,B=N.wing_style,w=N.change_race,x=N.change_gender,S=N.change_eye_color,I=N.change_skin_tone,T=N.change_skin_color,A=N.change_hair_color,E=N.change_facial_hair_color,M=N.change_hair,P=N.change_facial_hair,O=N.mapRef,F=r.title,R=S||I||T||A||E,D=-1;w?D=0:x?D=1:R?D=2:M?D=4:P&&(D=5);var j=(0,a.useLocalState)(t,"tabIndex",D),W=j[0],z=j[1];return(0,o.createComponentVNode)(2,l.Window,{width:700,height:650,title:(0,i.decodeHtmlEntities)(F),children:(0,o.createComponentVNode)(2,l.Window.Content,{children:[(0,o.createComponentVNode)(2,c.Section,{title:"Reflection",children:(0,o.createComponentVNode)(2,c.Flex,{children:[(0,o.createComponentVNode)(2,c.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Name",children:b}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Species",color:w?null:"grey",children:V}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Biological Sex",color:x?null:"grey",children:g?(0,i.capitalize)(g):"Not Set"}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Gender Identity",color:R?null:"grey",children:v?(0,i.capitalize)(v):"Not Set"}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Hair Style",color:M?null:"grey",children:_?(0,i.capitalize)(_):"Not Set"}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Facial Hair Style",color:P?null:"grey",children:k?(0,i.capitalize)(k):"Not Set"}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Ear Style",color:M?null:"grey",children:y?(0,i.capitalize)(y):"Not Set"}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Tail Style",color:M?null:"grey",children:L?(0,i.capitalize)(L):"Not Set"}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Wing Style",color:M?null:"grey",children:B?(0,i.capitalize)(B):"Not Set"})]})}),(0,o.createComponentVNode)(2,c.Flex.Item,{children:(0,o.createComponentVNode)(2,c.ByondUi,{style:{width:"256px",height:"256px"},params:{id:O,type:"map"}})})]})}),(0,o.createComponentVNode)(2,c.Tabs,{children:[w?(0,o.createComponentVNode)(2,c.Tabs.Tab,{selected:0===W,onClick:function(){return z(0)},children:"Race"}):null,x?(0,o.createComponentVNode)(2,c.Tabs.Tab,{selected:1===W,onClick:function(){return z(1)},children:"Gender & Sex"}):null,R?(0,o.createComponentVNode)(2,c.Tabs.Tab,{selected:2===W,onClick:function(){return z(2)},children:"Colors"}):null,M?(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Tabs.Tab,{selected:3===W,onClick:function(){return z(3)},children:"Hair"}),(0,o.createComponentVNode)(2,c.Tabs.Tab,{selected:5===W,onClick:function(){return z(5)},children:"Ear"}),(0,o.createComponentVNode)(2,c.Tabs.Tab,{selected:6===W,onClick:function(){return z(6)},children:"Tail"}),(0,o.createComponentVNode)(2,c.Tabs.Tab,{selected:7===W,onClick:function(){return z(7)},children:"Wing"})],4):null,P?(0,o.createComponentVNode)(2,c.Tabs.Tab,{selected:4===W,onClick:function(){return z(4)},children:"Facial Hair"}):null]}),(0,o.createComponentVNode)(2,c.Box,{height:"43%",children:[w&&0===W?(0,o.createComponentVNode)(2,d):null,x&&1===W?(0,o.createComponentVNode)(2,u):null,R&&2===W?(0,o.createComponentVNode)(2,s):null,M&&3===W?(0,o.createComponentVNode)(2,m):null,P&&4===W?(0,o.createComponentVNode)(2,p):null,M&&5===W?(0,o.createComponentVNode)(2,h):null,M&&6===W?(0,o.createComponentVNode)(2,C):null,M&&7===W?(0,o.createComponentVNode)(2,f):null]})]})})};var d=function(e,t){var n=(0,a.useBackend)(t),i=n.act,l=n.data,d=l.species,u=l.specimen,s=(0,r.sortBy)((function(e){return e.specimen}))(d||[]);return(0,o.createComponentVNode)(2,c.Section,{title:"Species",fill:!0,scrollable:!0,children:s.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{content:e.specimen,selected:u===e.specimen,onClick:function(){return i("race",{race:e.specimen})}},e.specimen)}))})},u=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data,l=i.gender,d=i.gender_id,u=i.genders,s=i.id_genders;return(0,o.createComponentVNode)(2,c.Section,{title:"Gender & Sex",fill:!0,scrollable:!0,children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Biological Sex",children:u.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{selected:e.gender_key===l,content:e.gender_name,onClick:function(){return r("gender",{gender:e.gender_key})}},e.gender_key)}))}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Gender Identity",children:s.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{selected:e.gender_key===d,content:e.gender_name,onClick:function(){return r("gender_id",{gender_id:e.gender_key})}},e.gender_key)}))})]})})},s=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data,l=i.change_eye_color,d=i.change_skin_tone,u=i.change_skin_color,s=i.change_hair_color,m=i.change_facial_hair_color,p=i.eye_color,h=i.skin_color,C=i.hair_color,f=i.facial_hair_color,N=i.ears_color,b=i.ears2_color,V=i.tail_color,g=i.tail2_color,v=i.wing_color,_=i.wing2_color;return(0,o.createComponentVNode)(2,c.Section,{title:"Colors",fill:!0,scrollable:!0,children:[l?(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createComponentVNode)(2,c.ColorBox,{color:p,mr:1}),(0,o.createComponentVNode)(2,c.Button,{content:"Change Eye Color",onClick:function(){return r("eye_color")}})]}):null,d?(0,o.createComponentVNode)(2,c.Box,{children:(0,o.createComponentVNode)(2,c.Button,{content:"Change Skin Tone",onClick:function(){return r("skin_tone")}})}):null,u?(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createComponentVNode)(2,c.ColorBox,{color:h,mr:1}),(0,o.createComponentVNode)(2,c.Button,{content:"Change Skin Color",onClick:function(){return r("skin_color")}})]}):null,s?(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createComponentVNode)(2,c.ColorBox,{color:C,mr:1}),(0,o.createComponentVNode)(2,c.Button,{content:"Change Hair Color",onClick:function(){return r("hair_color")}})]}),(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createComponentVNode)(2,c.ColorBox,{color:N,mr:1}),(0,o.createComponentVNode)(2,c.Button,{content:"Change Ears Color",onClick:function(){return r("ears_color")}})]}),(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createComponentVNode)(2,c.ColorBox,{color:b,mr:1}),(0,o.createComponentVNode)(2,c.Button,{content:"Change Secondary Ears Color",onClick:function(){return r("ears2_color")}})]}),(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createComponentVNode)(2,c.ColorBox,{color:V,mr:1}),(0,o.createComponentVNode)(2,c.Button,{content:"Change Tail Color",onClick:function(){return r("tail_color")}})]}),(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createComponentVNode)(2,c.ColorBox,{color:g,mr:1}),(0,o.createComponentVNode)(2,c.Button,{content:"Change Secondary Tail Color",onClick:function(){return r("tail2_color")}})]}),(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createComponentVNode)(2,c.ColorBox,{color:v,mr:1}),(0,o.createComponentVNode)(2,c.Button,{content:"Change Wing Color",onClick:function(){return r("wing_color")}})]}),(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createComponentVNode)(2,c.ColorBox,{color:_,mr:1}),(0,o.createComponentVNode)(2,c.Button,{content:"Change Secondary Wing Color",onClick:function(){return r("wing2_color")}})]})],4):null,m?(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createComponentVNode)(2,c.ColorBox,{color:f,mr:1}),(0,o.createComponentVNode)(2,c.Button,{content:"Change Facial Hair Color",onClick:function(){return r("facial_hair_color")}})]}):null]})},m=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data,l=i.hair_style,d=i.hair_styles;return(0,o.createComponentVNode)(2,c.Section,{title:"Hair",fill:!0,scrollable:!0,children:d.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{onClick:function(){return r("hair",{hair:e.hairstyle})},selected:e.hairstyle===l,content:e.hairstyle},e.hairstyle)}))})},p=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data,l=i.facial_hair_style,d=i.facial_hair_styles;return(0,o.createComponentVNode)(2,c.Section,{title:"Facial Hair",fill:!0,scrollable:!0,children:d.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{onClick:function(){return r("facial_hair",{facial_hair:e.facialhairstyle})},selected:e.facialhairstyle===l,content:e.facialhairstyle},e.facialhairstyle)}))})},h=function(e,t){var n=(0,a.useBackend)(t),i=n.act,l=n.data,d=l.ear_style,u=l.ear_styles;return(0,o.createComponentVNode)(2,c.Section,{title:"Ears",fill:!0,scrollable:!0,children:[(0,o.createComponentVNode)(2,c.Button,{onClick:function(){return i("ear",{clear:!0})},selected:null===d,content:"-- Not Set --"}),(0,r.sortBy)((function(e){return e.name.toLowerCase()}))(u).map((function(e){return(0,o.createComponentVNode)(2,c.Button,{onClick:function(){return i("ear",{ref:e.instance})},selected:e.name===d,content:e.name},e.instance)}))]})},C=function(e,t){var n=(0,a.useBackend)(t),i=n.act,l=n.data,d=l.tail_style,u=l.tail_styles;return(0,o.createComponentVNode)(2,c.Section,{title:"Tails",fill:!0,scrollable:!0,children:[(0,o.createComponentVNode)(2,c.Button,{onClick:function(){return i("tail",{clear:!0})},selected:null===d,content:"-- Not Set --"}),(0,r.sortBy)((function(e){return e.name.toLowerCase()}))(u).map((function(e){return(0,o.createComponentVNode)(2,c.Button,{onClick:function(){return i("tail",{ref:e.instance})},selected:e.name===d,content:e.name},e.instance)}))]})},f=function(e,t){var n=(0,a.useBackend)(t),i=n.act,l=n.data,d=l.wing_style,u=l.wing_styles;return(0,o.createComponentVNode)(2,c.Section,{title:"Wings",fill:!0,scrollable:!0,children:[(0,o.createComponentVNode)(2,c.Button,{onClick:function(){return i("wing",{clear:!0})},selected:null===d,content:"-- Not Set --"}),(0,r.sortBy)((function(e){return e.name.toLowerCase()}))(u).map((function(e){return(0,o.createComponentVNode)(2,c.Button,{onClick:function(){return i("wing",{ref:e.instance})},selected:e.name===d,content:e.name},e.instance)}))]})}},function(e,t,n){"use strict";t.__esModule=!0,t.ArcadeBattle=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.ArcadeBattle=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=(l.name,l.temp),u=l.enemyAction,s=l.enemyName,m=l.playerHP,p=l.playerMP,h=l.enemyHP,C=(l.enemyMP,l.gameOver);return(0,o.createComponentVNode)(2,a.Window,{width:400,height:240,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:(0,o.createComponentVNode)(2,i.Section,{title:s,textAlign:"center",children:[(0,o.createComponentVNode)(2,i.Section,{color:"label",children:[(0,o.createComponentVNode)(2,i.Box,{children:d}),(0,o.createComponentVNode)(2,i.Box,{children:!C&&u})]}),(0,o.createComponentVNode)(2,i.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Player Health",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:m,minValue:0,maxValue:30,ranges:{olive:[31,Infinity],good:[20,31],average:[10,20],bad:[-Infinity,10]},children:[m,"HP"]})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Player Magic",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:p,minValue:0,maxValue:10,ranges:{purple:[11,Infinity],violet:[3,11],bad:[-Infinity,3]},children:[p,"MP"]})})]})}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Enemy HP",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:h,minValue:0,maxValue:45,ranges:{olive:[31,Infinity],good:[20,31],average:[10,20],bad:[-Infinity,10]},children:[h,"HP"]})})})})]}),C&&(0,o.createComponentVNode)(2,i.Button,{fluid:!0,mt:1,color:"green",content:"New Game",onClick:function(){return c("newgame")}})||(0,o.createComponentVNode)(2,i.Flex,{mt:2,justify:"space-between",spacing:1,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"fist-raised",tooltip:"Go in for the kill!",tooltipPosition:"top",onClick:function(){return c("attack")},content:"Attack!"})}),(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"band-aid",tooltip:"Heal yourself!",tooltipPosition:"top",onClick:function(){return c("heal")},content:"Heal!"})}),(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"magic",tooltip:"Recharge your magic!",tooltipPosition:"top",onClick:function(){return c("charge")},content:"Recharge!"})})]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AreaScrubberControl=void 0;var o=n(0),r=n(2),i=n(1),a=n(3),c=n(6);t.AreaScrubberControl=function(e,t){var n=(0,i.useBackend)(t),c=n.act,d=n.data,u=(0,i.useLocalState)(t,"showArea",!1),s=u[0],m=u[1],p=d.scrubbers;return p?(0,o.createComponentVNode)(2,a.Window,{width:600,height:400,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,r.Section,{children:[(0,o.createComponentVNode)(2,r.Flex,{wrap:"wrap",children:[(0,o.createComponentVNode)(2,r.Flex.Item,{m:"2px",basis:"49%",children:(0,o.createComponentVNode)(2,r.Button,{textAlign:"center",fluid:!0,icon:"search",content:"Scan",onClick:function(){return c("scan")}})}),(0,o.createComponentVNode)(2,r.Flex.Item,{m:"2px",basis:"49%",grow:1,children:(0,o.createComponentVNode)(2,r.Button,{textAlign:"center",fluid:!0,icon:"layer-group",content:"Show Areas",selected:s,onClick:function(){return m(!s)}})}),(0,o.createComponentVNode)(2,r.Flex.Item,{m:"2px",basis:"49%",children:(0,o.createComponentVNode)(2,r.Button,{textAlign:"center",fluid:!0,icon:"toggle-on",content:"All On",onClick:function(){return c("allon")}})}),(0,o.createComponentVNode)(2,r.Flex.Item,{m:"2px",basis:"49%",grow:1,children:(0,o.createComponentVNode)(2,r.Button,{textAlign:"center",fluid:!0,icon:"toggle-off",content:"All Off",onClick:function(){return c("alloff")}})})]}),(0,o.createComponentVNode)(2,r.Flex,{wrap:"wrap",children:p.map((function(e){return(0,o.createComponentVNode)(2,r.Flex.Item,{m:"2px",basis:"32%",children:(0,o.createComponentVNode)(2,l,{scrubber:e,showArea:s})},e.id)}))})]})})}):(0,o.createComponentVNode)(2,r.Section,{title:"Error",children:[(0,o.createComponentVNode)(2,r.Box,{color:"bad",children:"No Scrubbers Detected."}),(0,o.createComponentVNode)(2,r.Button,{fluid:!0,icon:"search",content:"Scan",onClick:function(){return c("scan")}})]})};var l=function(e,t){var n=(0,i.useBackend)(t).act,a=e.scrubber,l=e.showArea;return(0,o.createComponentVNode)(2,r.Section,{title:a.name,children:[(0,o.createComponentVNode)(2,r.Button,{fluid:!0,icon:"power-off",content:a.on?"Enabled":"Disabled",selected:a.on,onClick:function(){return n("toggle",{id:a.id})}}),(0,o.createComponentVNode)(2,r.LabeledList,{children:[(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Pressure",children:[a.pressure," kPa"]}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Flow Rate",children:[a.flow_rate," L/s"]}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Load",children:[a.load," W"]}),l&&(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Area",children:(0,c.toTitleCase)(a.area)})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.AssemblyInfrared=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.AssemblyInfrared=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.on,u=l.visible;return(0,o.createComponentVNode)(2,a.Window,{children:(0,o.createComponentVNode)(2,a.Window.Content,{children:(0,o.createComponentVNode)(2,i.Section,{title:"Infrared Unit",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Laser",children:(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",fluid:!0,selected:d,onClick:function(){return c("state")},children:d?"On":"Off"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Visibility",children:(0,o.createComponentVNode)(2,i.Button,{icon:"eye",fluid:!0,selected:u,onClick:function(){return c("visible")},children:u?"Able to be seen":"Invisible"})})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AssemblyProx=void 0;var o=n(0),r=n(5),i=n(1),a=n(2),c=n(3),l=n(20);t.AssemblyProx=function(e,t){var n=(0,i.useBackend)(t),d=n.act,u=n.data,s=u.timing,m=u.time,p=u.range,h=u.maxRange,C=u.scanning;return(0,o.createComponentVNode)(2,c.Window,{children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Timing Unit",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Timer",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"stopwatch",selected:s,onClick:function(){return d("timing")},children:s?"Counting Down":"Disabled"}),children:(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,fluid:!0,value:m/10,minValue:0,maxValue:600,format:function(e){return(0,l.formatTime)((0,r.round)(e))},onDrag:function(e,t){return d("set_time",{time:t})}})})})}),(0,o.createComponentVNode)(2,a.Section,{title:"Prox Unit",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Range",children:(0,o.createComponentVNode)(2,a.NumberInput,{minValue:1,value:p,maxValue:h,onDrag:function(e,t){return d("range",{range:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Armed",children:[(0,o.createComponentVNode)(2,a.Button,{mr:1,icon:C?"lock":"lock-open",selected:C,onClick:function(){return d("scanning")},children:C?"ARMED":"Unarmed"}),"Movement sensor is active when armed!"]})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AssemblyTimer=void 0;var o=n(0),r=n(5),i=n(1),a=n(2),c=n(3),l=n(20);t.AssemblyTimer=function(e,t){var n=(0,i.useBackend)(t),d=n.act,u=n.data,s=u.timing,m=u.time;return(0,o.createComponentVNode)(2,c.Window,{children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Timing Unit",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Timer",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"stopwatch",selected:s,onClick:function(){return d("timing")},children:s?"Counting Down":"Disabled"}),children:(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,fluid:!0,value:m/10,minValue:0,maxValue:600,format:function(e){return(0,l.formatTime)((0,r.round)(e))},onDrag:function(e,t){return d("set_time",{time:t})}})})})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosAlertConsole=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.AtmosAlertConsole=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.priority_alarms||[],u=l.minor_alarms||[];return(0,o.createComponentVNode)(2,a.Window,{width:350,height:300,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i.Section,{title:"Alarms",children:(0,o.createVNode)(1,"ul",null,[0===d.length&&(0,o.createVNode)(1,"li","color-good","No Priority Alerts",16),d.map((function(e){return(0,o.createVNode)(1,"li",null,(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:e.name,color:"bad",onClick:function(){return c("clear",{ref:e.ref})}}),2,null,e.name)})),0===u.length&&(0,o.createVNode)(1,"li","color-good","No Minor Alerts",16),u.map((function(e){return(0,o.createVNode)(1,"li",null,(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:e.name,color:"average",onClick:function(){return c("clear",{ref:e.ref})}}),2,null,e.name)}))],0)})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosFilter=void 0;var o=n(0),r=n(1),i=n(2),a=(n(28),n(3));t.AtmosFilter=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.filter_types||[];return(0,o.createComponentVNode)(2,a.Window,{width:390,height:187,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,i.Button,{icon:l.on?"power-off":"times",content:l.on?"On":"Off",selected:l.on,onClick:function(){return c("power")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Transfer Rate",children:[(0,o.createComponentVNode)(2,i.Box,{inline:!0,mr:1,children:(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:l.last_flow_rate,format:function(e){return e+" L/s"}})}),(0,o.createComponentVNode)(2,i.NumberInput,{animated:!0,value:parseFloat(l.rate),width:"63px",unit:"L/s",minValue:0,maxValue:200,onDrag:function(e,t){return c("rate",{rate:t})}}),(0,o.createComponentVNode)(2,i.Button,{ml:1,icon:"plus",content:"Max",disabled:l.rate===l.max_rate,onClick:function(){return c("rate",{rate:"max"})}})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Filter",children:d.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{selected:e.selected,content:e.name,onClick:function(){return c("filter",{filterset:e.f_type})}},e.name)}))})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.AtmosMixer=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.AtmosMixer=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data;return(0,o.createComponentVNode)(2,a.Window,{width:370,height:195,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,i.Button,{icon:l.on?"power-off":"times",content:l.on?"On":"Off",selected:l.on,onClick:function(){return c("power")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Output Pressure",children:[(0,o.createComponentVNode)(2,i.NumberInput,{animated:!0,value:parseFloat(l.set_pressure),unit:"kPa",width:"75px",minValue:0,maxValue:l.max_pressure,step:10,onChange:function(e,t){return c("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,i.Button,{ml:1,icon:"plus",content:"Max",disabled:l.set_pressure===l.max_pressure,onClick:function(){return c("pressure",{pressure:"max"})}})]}),(0,o.createComponentVNode)(2,i.LabeledList.Divider,{size:1}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{color:"label",children:(0,o.createVNode)(1,"u",null,"Concentrations",16)}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Node 1 ("+l.node1_dir+")",children:(0,o.createComponentVNode)(2,i.NumberInput,{animated:!0,value:l.node1_concentration,unit:"%",width:"60px",minValue:0,maxValue:100,stepPixelSize:2,onDrag:function(e,t){return c("node1",{concentration:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Node 2 ("+l.node2_dir+")",children:(0,o.createComponentVNode)(2,i.NumberInput,{animated:!0,value:l.node2_concentration,unit:"%",width:"60px",minValue:0,maxValue:100,stepPixelSize:2,onDrag:function(e,t){return c("node2",{concentration:t})}})})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Autolathe=void 0;var o=n(0),r=(n(5),n(41)),i=n(8),a=n(1),c=n(2),l=n(3),d=n(132),u=n(6),s=function(e,t){if(null===e.requirements)return!0;for(var n=Object.keys(e.requirements),o=function(){var n=i[r],o=t.find((function(e){return e.name===n}));return o?o.amount=e[1].price/d.build_eff,e[1]})).sort(l[f]);if(0!==n.length)return b&&(n=n.reverse()),g=!0,(0,o.createComponentVNode)(2,m,{title:e[0],items:n},e[0])}));return(0,o.createComponentVNode)(2,a.Flex.Item,{grow:"1",overflow:"auto",children:(0,o.createComponentVNode)(2,a.Section,{onClick:function(e){return(0,c.refocusLayout)()},children:g?v:(0,o.createComponentVNode)(2,a.Box,{color:"label",children:"No items matching your criteria was found!"})})})},u=function(e,t){var n=(0,i.useLocalState)(t,"search",""),r=(n[0],n[1]),c=(0,i.useLocalState)(t,"sort",""),d=(c[0],c[1]),u=(0,i.useLocalState)(t,"descending",!1),s=u[0],m=u[1];return(0,o.createComponentVNode)(2,a.Box,{mb:"0.5rem",children:(0,o.createComponentVNode)(2,a.Flex,{width:"100%",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{grow:"1",mr:"0.5rem",children:(0,o.createComponentVNode)(2,a.Input,{placeholder:"Search by item name..",width:"100%",onInput:function(e,t){return r(t)}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{basis:"30%",children:(0,o.createComponentVNode)(2,a.Dropdown,{selected:"Alphabetical",options:Object.keys(l),width:"100%",lineHeight:"19px",onSelected:function(e){return d(e)}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Button,{icon:s?"arrow-down":"arrow-up",height:"19px",tooltip:s?"Descending order":"Ascending order",tooltipPosition:"bottom-left",ml:"0.5rem",onClick:function(){return m(!s)}})})]})})},s=function(e,t){return!!e.affordable&&!(e.reagent&&!t.beaker)},m=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data,l=e.title,d=e.items,u=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["title","items"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Collapsible,Object.assign({open:!0,title:l},u,{children:d.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Box,{display:"inline-block",verticalAlign:"middle",lineHeight:"20px",style:{float:"left"},children:e.name}),(0,o.createComponentVNode)(2,a.Button,{disabled:!s(e,c),content:(e.price/c.build_eff).toLocaleString("en-US"),width:"15%",textAlign:"center",style:{float:"right"},onClick:function(){return r("purchase",{cat:l,name:e.name})}}),(0,o.createComponentVNode)(2,a.Box,{style:{clear:"both"}})]},e.name)}))})))}},function(e,t,n){"use strict";t.__esModule=!0,t.BodyDesigner=void 0;var o=n(0),r=n(6),i=n(1),a=n(2),c=n(3);t.BodyDesigner=function(e,t){var n=(0,i.useBackend)(t),r=n.act,d=n.data,u=d.menu,s=d.disk,m=d.diskStored,p=d.activeBodyRecord,h=l[u];return(0,o.createComponentVNode)(2,c.Window,{width:400,height:650,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[s?(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"save",content:"Save To Disk",onClick:function(){return r("savetodisk")},disabled:!p}),(0,o.createComponentVNode)(2,a.Button,{icon:"save",content:"Load From Disk",onClick:function(){return r("loadfromdisk")},disabled:!m}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject",onClick:function(){return r("ejectdisk")}})]}):null,h]})})};var l={Main:(0,o.createComponentVNode)(2,(function(e,t){var n=(0,i.useBackend)(t),r=n.act;n.data;return(0,o.createComponentVNode)(2,a.Section,{title:"Database Functions",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"eye",content:"View Individual Body Records",onClick:function(){return r("menu",{menu:"Body Records"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"eye",content:"View Stock Body Records",onClick:function(){return r("menu",{menu:"Stock Records"})}})]})})),"Body Records":(0,o.createComponentVNode)(2,(function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data.bodyrecords;return(0,o.createComponentVNode)(2,a.Section,{title:"Body Records",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"Back",onClick:function(){return r("menu",{menu:"Main"})}}),children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:"eye",content:e.name,onClick:function(){return r("view_brec",{view_brec:e.recref})}},e.name)}))})})),"Stock Records":(0,o.createComponentVNode)(2,(function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data.stock_bodyrecords;return(0,o.createComponentVNode)(2,a.Section,{title:"Stock Records",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"Back",onClick:function(){return r("menu",{menu:"Main"})}}),children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:"eye",content:e,onClick:function(){return r("view_stock_brec",{view_stock_brec:e})}},e)}))})})),"Specific Record":(0,o.createComponentVNode)(2,(function(e,t){var n=(0,i.useBackend)(t),c=n.act,l=n.data,d=l.activeBodyRecord,u=l.mapRef;return d?(0,o.createComponentVNode)(2,a.Flex,{direction:"column",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{basis:"165px",children:(0,o.createComponentVNode)(2,a.Section,{title:"Specific Record",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"Back",onClick:function(){return c("menu",{menu:"Main"})}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:d.real_name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Species",children:d.speciesname}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Bio. Sex",children:(0,o.createComponentVNode)(2,a.Button,{icon:"pen",content:(0,r.capitalize)(d.gender),onClick:function(){return c("href_conversion",{target_href:"bio_gender",target_value:1})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Synthetic",children:d.synthetic}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mind Compat",children:[d.locked,(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"eye",content:"View OOC Notes",disabled:!d.booc,onClick:function(){return c("boocnotes")}})]})]})})}),(0,o.createComponentVNode)(2,a.Flex.Item,{basis:"130px",children:(0,o.createComponentVNode)(2,a.ByondUi,{style:{width:"100%",height:"128px"},params:{id:u,type:"map"}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{basis:"300px",children:(0,o.createComponentVNode)(2,a.Section,{title:"Customize",height:"300px",style:{overflow:"auto"},children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Scale",children:(0,o.createComponentVNode)(2,a.Button,{icon:"pen",content:d.scale,onClick:function(){return c("href_conversion",{target_href:"size_multiplier",target_value:1})}})}),Object.keys(d.styles).map((function(e){var t=d.styles[e];return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e,children:[t.styleHref?(0,o.createComponentVNode)(2,a.Button,{icon:"pen",content:t.style,onClick:function(){return c("href_conversion",{target_href:t.styleHref,target_value:1})}}):null,t.colorHref?(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"pen",content:t.color,onClick:function(){return c("href_conversion",{target_href:t.colorHref,target_value:1})}}),(0,o.createComponentVNode)(2,a.ColorBox,{verticalAlign:"top",width:"32px",height:"20px",color:t.color,style:{border:"1px solid #fff"}})]}):null,t.colorHref2?(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"pen",content:t.color2,onClick:function(){return c("href_conversion",{target_href:t.colorHref2,target_value:1})}}),(0,o.createComponentVNode)(2,a.ColorBox,{verticalAlign:"top",width:"32px",height:"20px",color:t.color2,style:{border:"1px solid #fff"}})]}):null]},e)})),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Body Markings",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Add Marking",onClick:function(){return c("href_conversion",{target_href:"marking_style",target_value:1})}}),(0,o.createComponentVNode)(2,a.Flex,{wrap:"wrap",justify:"center",align:"center",children:Object.keys(d.markings).map((function(e){var t=d.markings[e];return(0,o.createComponentVNode)(2,a.Flex.Item,{basis:"100%",children:(0,o.createComponentVNode)(2,a.Flex,{children:[(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Button,{mr:.2,fluid:!0,icon:"times",color:"red",onClick:function(){return c("href_conversion",{target_href:"marking_remove",target_value:e})}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,backgroundColor:t,content:e,onClick:function(){return c("href_conversion",{target_href:"marking_color",target_value:e})}})})]})},e)}))})]})]})})})]}):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"ERROR: Record Not Found!"})})),"OOC Notes":(0,o.createComponentVNode)(2,(function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data.activeBodyRecord;return(0,o.createComponentVNode)(2,a.Section,{title:"Body OOC Notes (This is OOC!)",height:"100%",scrollable:!0,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"Back",onClick:function(){return r("menu",{menu:"Specific Record"})}}),style:{"word-break":"break-all"},children:c&&c.booc||"ERROR: Body record not found!"})}))}},function(e,t,n){"use strict";t.__esModule=!0,t.BodyScanner=void 0;var o=n(0),r=n(5),i=n(1),a=n(2),c=n(3),l=[["good","Alive"],["average","Unconscious"],["bad","DEAD"]],d=[["hasBorer","bad",function(e){return"Large growth detected in frontal lobe, possibly cancerous. Surgical removal is recommended."}],["hasVirus","bad",function(e){return"Viral pathogen detected in blood stream."}],["blind","average",function(e){return"Cataracts detected."}],["colourblind","average",function(e){return"Photoreceptor abnormalities detected."}],["nearsighted","average",function(e){return"Retinal misalignment detected."}],["humanPrey","average",function(e){return"Foreign Humanoid(s) detected: "+e.humanPrey}],["livingPrey","average",function(e){return"Foreign Creature(s) detected: "+e.livingPrey}],["objectPrey","average",function(e){return"Foreign Object(s) detected: "+e.objectPrey}]],u=[["Respiratory","oxyLoss"],["Brain","brainLoss"],["Toxin","toxLoss"],["Radiation","radLoss"],["Brute","bruteLoss"],["Genetic","cloneLoss"],["Burn","fireLoss"],["Paralysis","paralysis"]],s={average:[.25,.5],bad:[.5,Infinity]},m=function(e,t){for(var n=[],o=0;o0?e.reduce((function(e,t){return null===e?t:(0,o.createFragment)([e,!!t&&(0,o.createComponentVNode)(2,a.Box,{children:t})],0)})):null},h=function(e){if(e>100){if(e<300)return"mild infection";if(e<400)return"mild infection+";if(e<500)return"mild infection++";if(e<700)return"acute infection";if(e<800)return"acute infection+";if(e<900)return"acute infection++";if(e>=900)return"septic"}return""};t.BodyScanner=function(e,t){var n=(0,i.useBackend)(t).data,r=n.occupied,a=n.occupant,l=void 0===a?{}:a,d=r?(0,o.createComponentVNode)(2,C,{occupant:l}):(0,o.createComponentVNode)(2,k);return(0,o.createComponentVNode)(2,c.Window,{width:690,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,className:"Layout__content--flexColumn",children:d})})};var C=function(e){var t=e.occupant;return(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,f,{occupant:t}),(0,o.createComponentVNode)(2,N,{occupant:t}),(0,o.createComponentVNode)(2,b,{occupant:t}),(0,o.createComponentVNode)(2,V,{occupant:t}),(0,o.createComponentVNode)(2,v,{organs:t.extOrgan}),(0,o.createComponentVNode)(2,_,{organs:t.intOrgan})]})},f=function(e,t){var n=(0,i.useBackend)(t),c=n.act,d=n.data,u=d.occupant;return(0,o.createComponentVNode)(2,a.Section,{title:"Occupant",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"user-slash",onClick:function(){return c("ejectify")},children:"Eject"}),(0,o.createComponentVNode)(2,a.Button,{icon:"print",onClick:function(){return c("print_p")},children:"Print Report"})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:u.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{min:"0",max:u.maxHealth,value:u.health/u.maxHealth,ranges:{good:[.5,Infinity],average:[0,.5],bad:[-Infinity,0]}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:l[u.stat][0],children:l[u.stat][1]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Temperature",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:(0,r.round)(u.bodyTempC,0)}),"\xb0C,\xa0",(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:(0,r.round)(u.bodyTempF,0)}),"\xb0F"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Blood Volume",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:(0,r.round)(u.blood.volume,0)})," units\xa0(",(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:(0,r.round)(u.blood.percent,0)}),"%)"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Weight",children:(0,r.round)(d.occupant.weight)+"lbs, "+(0,r.round)(d.occupant.weight/2.20463)+"kgs"})]})})},N=function(e){var t=e.occupant;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Blood Reagents",children:t.reagents?(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Reagent"}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"right",children:"Amount"})]}),t.reagents.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"right",children:[e.amount," Units ",e.overdose?(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"OVERDOSING"}):null]})]},e.name)}))]}):(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"No Blood Reagents Detected"})}),(0,o.createComponentVNode)(2,a.Section,{title:"Stomach Reagents",children:t.ingested?(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Reagent"}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"right",children:"Amount"})]}),t.ingested.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"right",children:[e.amount," Units ",e.overdose?(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"OVERDOSING"}):null]})]},e.name)}))]}):(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"No Stomach Reagents Detected"})})],4)},b=function(e){var t=e.occupant,n=t.hasBorer||t.blind||t.colourblind||t.nearsighted||t.hasVirus;return(n=n||t.humanPrey||t.livingPrey||t.objectPrey)?(0,o.createComponentVNode)(2,a.Section,{title:"Abnormalities",children:d.map((function(e,n){if(t[e[0]])return(0,o.createComponentVNode)(2,a.Box,{color:e[1],bold:"bad"===e[1],children:e[2](t)})}))}):(0,o.createComponentVNode)(2,a.Section,{title:"Abnormalities",children:(0,o.createComponentVNode)(2,a.Box,{color:"label",children:"No abnormalities found."})})},V=function(e){var t=e.occupant;return(0,o.createComponentVNode)(2,a.Section,{title:"Damage",children:(0,o.createComponentVNode)(2,a.Table,{children:m(u,(function(e,n,r){return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Table.Row,{color:"label",children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:[e[0],":"]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:!!n&&n[0]+":"})]}),(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,g,{value:t[e[1]],marginBottom:r0&&"0.5rem",value:e.totalLoss/100,ranges:s,children:[(0,o.createComponentVNode)(2,a.Box,{float:"left",display:"inline",children:[!!e.bruteLoss&&(0,o.createComponentVNode)(2,a.Box,{display:"inline",position:"relative",children:[(0,o.createComponentVNode)(2,a.Icon,{name:"bone"}),(0,r.round)(e.bruteLoss,0),"\xa0",(0,o.createComponentVNode)(2,a.Tooltip,{position:"top",content:"Brute damage"})]}),!!e.fireLoss&&(0,o.createComponentVNode)(2,a.Box,{display:"inline",position:"relative",children:[(0,o.createComponentVNode)(2,a.Icon,{name:"fire"}),(0,r.round)(e.fireLoss,0),(0,o.createComponentVNode)(2,a.Tooltip,{position:"top",content:"Burn damage"})]})]}),(0,o.createComponentVNode)(2,a.Box,{display:"inline",children:(0,r.round)(e.totalLoss,0)})]})}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"right",width:"33%",children:[(0,o.createComponentVNode)(2,a.Box,{color:"average",display:"inline",children:p([e.internalBleeding&&"Internal bleeding",!!e.status.bleeding&&"External bleeding",e.lungRuptured&&"Ruptured lung",e.destroyed&&"Destroyed",!!e.status.broken&&e.status.broken,h(e.germ_level),!!e.open&&"Open incision"])}),(0,o.createComponentVNode)(2,a.Box,{display:"inline",children:[p([!!e.status.splinted&&"Splinted",!!e.status.robotic&&"Robotic",!!e.status.dead&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"DEAD"})]),p(e.implants.map((function(e){return e.known?e.name:"Unknown object"})))]})]})]},t)}))]})})},_=function(e){return 0===e.organs.length?(0,o.createComponentVNode)(2,a.Section,{title:"Internal Organs",children:(0,o.createComponentVNode)(2,a.Box,{color:"label",children:"N/A"})}):(0,o.createComponentVNode)(2,a.Section,{title:"Internal Organs",children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Name"}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"center",children:"Damage"}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"right",children:"Injuries"})]}),e.organs.map((function(e,t){return(0,o.createComponentVNode)(2,a.Table.Row,{textTransform:"capitalize",children:[(0,o.createComponentVNode)(2,a.Table.Cell,{width:"33%",children:e.name}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"center",children:(0,o.createComponentVNode)(2,a.ProgressBar,{min:"0",max:e.maxHealth,value:e.damage/100,mt:t>0&&"0.5rem",ranges:s,children:(0,r.round)(e.damage,0)})}),(0,o.createComponentVNode)(2,a.Table.Cell,{textAlign:"right",width:"33%",children:[(0,o.createComponentVNode)(2,a.Box,{color:"average",display:"inline",children:p([h(e.germ_level),!!e.inflamed&&"Appendicitis detected."])}),(0,o.createComponentVNode)(2,a.Box,{display:"inline",children:p([1===e.robotic&&"Robotic",2===e.robotic&&"Assisted",!!e.dead&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"DEAD"})])})]})]},t)}))]})})},k=function(){return(0,o.createComponentVNode)(2,a.Section,{textAlign:"center",flexGrow:"1",children:(0,o.createComponentVNode)(2,a.Flex,{height:"100%",children:(0,o.createComponentVNode)(2,a.Flex.Item,{grow:"1",align:"center",color:"label",children:[(0,o.createComponentVNode)(2,a.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,o.createVNode)(1,"br"),"No occupant detected."]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.BombTester=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);n(24);t.BombTester=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.simulating,s=d.mode,m=d.tank1,p=d.tank1ref,h=d.tank2,C=d.tank2ref,f=d.canister,N=d.sim_canister_output;return(0,o.createComponentVNode)(2,a.Window,{width:450,height:400,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:u&&(0,o.createComponentVNode)(2,c)||(0,o.createComponentVNode)(2,i.Section,{title:"Virtual Explosive Simulator v2.01",children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Mode",children:[(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return l("set_mode",{mode:1})},selected:1===s,children:"Single Tank"}),(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return l("set_mode",{mode:2})},selected:2===s,children:"Transfer Valve"}),(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return l("set_mode",{mode:3})},selected:3===s,children:"Canister"})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Primary Slot",children:m&&(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return l("remove_tank",{ref:p})},icon:"eject",children:m})||(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return l("add_tank",{slot:1})},icon:"upload",children:"Insert Tank"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Secondary Slot",children:h&&(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return l("remove_tank",{ref:C})},icon:"eject",children:h})||(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return l("add_tank",{slot:2})},icon:"upload",children:"Insert Tank"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Connected Canister",buttons:(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return l("canister_scan")},icon:"search",children:"Scan"}),children:f&&(0,o.createComponentVNode)(2,i.Box,{color:"label",children:f})||(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No tank connected."})}),f&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Canister Release Pressure",children:(0,o.createComponentVNode)(2,i.Slider,{minValue:0,value:N,maxValue:1013.25,onDrag:function(e,t){return l("set_can_pressure",{pressure:t})}})})]}),(0,o.createComponentVNode)(2,i.Button,{mt:2,color:"red",icon:"bomb",fontSize:2,onClick:function(){return l("start_sim")},fluid:!0,children:"Begin Simulation"})]})})})};var c=function(e){var t,n;function r(t){var n;n=e.call(this,t)||this;var o=Math.random()>.5,r=Math.random()>.5;return n.state={x:o?340:0,y:r?205:0,reverseX:!1,reverseY:!1},n.process=setInterval((function(){n.setState((function(e){var t=Object.assign({},e);return t.reverseX?t.x-2<-5?(t.reverseX=!1,t.x+=2):t.x-=2:t.x+2>340?(t.reverseX=!0,t.x-=2):t.x+=2,t.reverseY?t.y-2<-20?(t.reverseY=!1,t.y+=2):t.y-=2:t.y+2>205?(t.reverseY=!0,t.y-=2):t.y+=2,t}))}),1),n}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var a=r.prototype;return a.componentWillUnmount=function(){clearInterval(this.process)},a.render=function(){var e=this.state,t={position:"relative",left:e.x+"px",top:e.y+"px"};return(0,o.createComponentVNode)(2,i.Section,{title:"Simulation in progress!",fill:!0,children:(0,o.createComponentVNode)(2,i.Box,{position:"absolute",style:{overflow:"hidden",width:"100%",height:"100%"},children:(0,o.createComponentVNode)(2,i.Icon,{style:t,name:"bomb",size:10,color:"red"})})})},r}(o.Component)},function(e,t,n){"use strict";t.__esModule=!0,t.BotanyEditor=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.BotanyEditor=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.activity,u=l.degradation,s=l.disk,m=l.sourceName,p=l.locus,h=l.loaded;return d?(0,o.createComponentVNode)(2,a.Window,{width:470,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i.NoticeBox,{info:!0,children:"Scanning..."})})}):(0,o.createComponentVNode)(2,a.Window,{width:470,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Buffered Genetic Data",children:s&&(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Source",children:m}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Gene Decay",children:[u,"%"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Locus",children:p})]}),(0,o.createComponentVNode)(2,i.Button,{mt:1,icon:"eject",onClick:function(){return c("eject_disk")},children:"Eject Loaded Disk"})]})||(0,o.createComponentVNode)(2,i.NoticeBox,{warning:!0,children:"No disk loaded."})}),(0,o.createComponentVNode)(2,i.Section,{title:"Loaded Material",children:h&&(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Target",children:h})}),(0,o.createComponentVNode)(2,i.Button,{mt:1,icon:"cog",onClick:function(){return c("apply_gene")},children:"Apply Gene Mods"}),(0,o.createComponentVNode)(2,i.Button,{mt:1,icon:"eject",onClick:function(){return c("eject_packet")},children:"Eject Target"})]})||(0,o.createComponentVNode)(2,i.NoticeBox,{warning:!0,children:"No target seed packet loaded."})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.BotanyIsolator=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.BotanyIsolator=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.geneMasks,u=l.activity,s=l.degradation,m=l.disk,p=l.loaded,h=l.hasGenetics,C=l.sourceName;return u?(0,o.createComponentVNode)(2,a.Window,{width:470,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i.NoticeBox,{info:!0,children:"Scanning..."})})}):(0,o.createComponentVNode)(2,a.Window,{width:470,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Buffered Genetic Data",children:h&&(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Source",children:C}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Gene decay",children:[s,"%"]}),m&&d.length&&d.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.mask,children:(0,o.createComponentVNode)(2,i.Button,{mb:-1,icon:"download",onClick:function(){return c("get_gene",{get_gene:e.tag})},children:"Extract"})},e.mask)}))||null]}),m&&(0,o.createComponentVNode)(2,i.Box,{mt:1,children:[(0,o.createComponentVNode)(2,i.Button,{icon:"eject",onClick:function(){return c("eject_disk")},children:"Eject Loaded Disk"}),(0,o.createComponentVNode)(2,i.Button,{icon:"trash",onClick:function(){return c("clear_buffer")},children:"Clear Genetic Buffer"})]})||(0,o.createComponentVNode)(2,i.NoticeBox,{mt:1,warning:!0,children:"No disk inserted."})]})||(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.NoticeBox,{warning:!0,children:"No Data Buffered."}),m&&(0,o.createComponentVNode)(2,i.Button,{icon:"eject",onClick:function(){return c("eject_disk")},children:"Eject Loaded Disk"})||(0,o.createComponentVNode)(2,i.NoticeBox,{mt:1,warning:!0,children:"No disk inserted."})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Loaded Material",children:p&&(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Packet Loaded",children:p})}),(0,o.createComponentVNode)(2,i.Button,{mt:1,icon:"cog",onClick:function(){return c("scan_genome")},children:"Process Genome"}),(0,o.createComponentVNode)(2,i.Button,{icon:"eject",onClick:function(){return c("eject_packet")},children:"Eject Packet"})]})||(0,o.createComponentVNode)(2,i.NoticeBox,{warning:!0,children:"No packet loaded."})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.BrigTimer=void 0;var o=n(0),r=n(5),i=n(1),a=n(2),c=n(3),l=n(20);t.BrigTimer=function(e,t){var n=(0,i.useBackend)(t),d=n.act,u=n.data;return(0,o.createComponentVNode)(2,c.Window,{width:300,height:138,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.Section,{title:"Cell Timer",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"clock-o",content:u.timing?"Stop":"Start",selected:u.timing,onClick:function(){return d(u.timing?"stop":"start")}}),u.flash_found&&(0,o.createComponentVNode)(2,a.Button,{icon:"lightbulb-o",content:u.flash_charging?"Recharging":"Flash",disabled:u.flash_charging,onClick:function(){return d("flash")}})||null],0),children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,fluid:!0,value:u.time_left/10,minValue:0,maxValue:u.max_time_left/10,format:function(e){return(0,l.formatTime)((0,r.round)(e))},onDrag:function(e,t){return d("time",{time:t})}}),(0,o.createComponentVNode)(2,a.Flex,{mt:1,children:[(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"hourglass-start",content:"Add "+(0,l.formatTime)(u.preset_short/10),onClick:function(){return d("preset",{preset:"short"})}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"hourglass-start",content:"Add "+(0,l.formatTime)(u.preset_medium/10),onClick:function(){return d("preset",{preset:"medium"})}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"hourglass-start",content:"Add "+(0,l.formatTime)(u.preset_long/10),onClick:function(){return d("preset",{preset:"long"})}})})]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Canister=void 0;var o=n(0),r=n(5),i=n(1),a=n(2),c=n(20),l=n(3);t.Canister=function(e,t){var n=(0,i.useBackend)(t),d=n.act,u=n.data,s=u.connected,m=u.can_relabel,p=u.pressure,h=u.releasePressure,C=u.defaultReleasePressure,f=u.minReleasePressure,N=u.maxReleasePressure,b=u.valveOpen,V=u.holding;return(0,o.createComponentVNode)(2,l.Window,{width:360,height:242,resizable:!0,children:(0,o.createComponentVNode)(2,l.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Canister",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",disabled:!m,content:"Relabel",onClick:function(){return d("relabel")}}),children:(0,o.createComponentVNode)(2,a.LabeledControls,{children:[(0,o.createComponentVNode)(2,a.LabeledControls.Item,{minWidth:"66px",label:"Tank Pressure",children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:p,format:function(e){return e<1e4?(0,r.toFixed)(e)+" kPa":(0,c.formatSiUnit)(1e3*e,1,"Pa")}})}),(0,o.createComponentVNode)(2,a.LabeledControls.Item,{label:"Regulator",children:(0,o.createComponentVNode)(2,a.Box,{position:"relative",left:"-8px",children:[(0,o.createComponentVNode)(2,a.Knob,{forcedInputWidth:"60px",size:1.25,color:!!b&&"yellow",value:h,unit:"kPa",minValue:f,maxValue:N,stepPixelSize:1,onDrag:function(e,t){return d("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,position:"absolute",top:"-2px",right:"-20px",color:"transparent",icon:"fast-forward",onClick:function(){return d("pressure",{pressure:N})}}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,position:"absolute",top:"16px",right:"-20px",color:"transparent",icon:"undo",onClick:function(){return d("pressure",{pressure:C})}})]})}),(0,o.createComponentVNode)(2,a.LabeledControls.Item,{label:"Valve",children:(0,o.createComponentVNode)(2,a.Button,{my:.5,width:"50px",lineHeight:2,fontSize:"11px",color:b?V?"caution":"danger":null,content:b?"Open":"Closed",onClick:function(){return d("valve")}})}),(0,o.createComponentVNode)(2,a.LabeledControls.Item,{mr:1,label:"Port",children:(0,o.createComponentVNode)(2,a.Box,{position:"relative",children:[(0,o.createComponentVNode)(2,a.Icon,{size:1.25,name:s?"plug":"times",color:s?"good":"bad"}),(0,o.createComponentVNode)(2,a.Tooltip,{content:s?"Connected":"Disconnected",position:"top"})]})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Holding Tank",buttons:!!V&&(0,o.createComponentVNode)(2,a.Button,{icon:"eject",color:b&&"danger",content:"Eject",onClick:function(){return d("eject")}}),children:[!!V&&(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Label",children:V.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:V.pressure})," kPa"]})]}),!V&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No Holding Tank"})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.CasinoPrizeDispenserCh=void 0;var o=n(0),r=n(6),i=n(1),a=n(2),c=n(3);n(24);var l={Alphabetical:function(e,t){return e-t},"By availability":function(e,t){return-(e.affordable-t.affordable)},"By price":function(e,t){return e.price-t.price}};t.CasinoPrizeDispenserCh=function(e,t){var n=(0,i.useBackend)(t);n.act,n.data;return(0,o.createComponentVNode)(2,c.Window,{width:400,height:450,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{className:"Layout__content--flexColumn",scrollable:!0,children:(0,o.createFragment)([(0,o.createComponentVNode)(2,u),(0,o.createComponentVNode)(2,d)],4)})})};var d=function(e,t){var n=(0,i.useBackend)(t),d=(n.act,n.data),u=d.points,m=d.items,p=(0,i.useLocalState)(t,"search",""),h=p[0],C=(p[1],(0,i.useLocalState)(t,"sort","Alphabetical")),f=C[0],N=(C[1],(0,i.useLocalState)(t,"descending",!1)),b=N[0],V=(N[1],(0,r.createSearch)(h,(function(e){return e[0]}))),g=!1,v=Object.entries(m).map((function(e,t){var n=Object.entries(e[1]).filter(V).map((function(e){return e[1].affordable=u>=e[1].price,e[1]})).sort(l[f]);if(0!==n.length)return b&&(n=n.reverse()),g=!0,(0,o.createComponentVNode)(2,s,{title:e[0],items:n},e[0])}));return(0,o.createComponentVNode)(2,a.Flex.Item,{grow:"1",overflow:"auto",children:(0,o.createComponentVNode)(2,a.Section,{onClick:function(e){return(0,c.refocusLayout)()},children:g?v:(0,o.createComponentVNode)(2,a.Box,{color:"label",children:"No items matching your criteria was found!"})})})},u=function(e,t){var n=(0,i.useLocalState)(t,"search",""),r=(n[0],n[1]),c=(0,i.useLocalState)(t,"sort",""),d=(c[0],c[1]),u=(0,i.useLocalState)(t,"descending",!1),s=u[0],m=u[1];return(0,o.createComponentVNode)(2,a.Box,{mb:"0.5rem",children:(0,o.createComponentVNode)(2,a.Flex,{width:"100%",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{grow:"1",mr:"0.5rem",children:(0,o.createComponentVNode)(2,a.Input,{placeholder:"Search by item name..",width:"100%",onInput:function(e,t){return r(t)}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{basis:"30%",children:(0,o.createComponentVNode)(2,a.Dropdown,{selected:"Alphabetical",options:Object.keys(l),width:"100%",lineHeight:"19px",onSelected:function(e){return d(e)}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Button,{icon:s?"arrow-down":"arrow-up",height:"19px",tooltip:s?"Descending order":"Ascending order",tooltipPosition:"bottom-left",ml:"0.5rem",onClick:function(){return m(!s)}})})]})})},s=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=(n.data,e.title),l=e.items,d=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["title","items"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Collapsible,Object.assign({open:!0,title:c},d,{children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Box,{display:"inline-block",verticalAlign:"middle",lineHeight:"20px",style:{float:"left"},children:e.name}),(0,o.createComponentVNode)(2,a.Button,{content:e.price.toLocaleString("en-US"),width:"15%",textAlign:"center",style:{float:"right"},onClick:function(){return r("purchase",{cat:c,name:e.name,price:e.price,restriction:e.restriction})}}),(0,o.createComponentVNode)(2,a.Box,{style:{clear:"both"}})]},e.name)}))})))}},function(e,t,n){"use strict";t.__esModule=!0,t.CharacterDirectory=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3),c=function(e){switch(e){case"Unset":return"label";case"Pred":return"red";case"Prey":return"blue";case"Switch":return"purple";case"Non-Vore":return"green"}};t.CharacterDirectory=function(e,t){var n=(0,r.useBackend)(t),c=n.act,u=n.data,s=u.personalVisibility,m=u.personalTag,p=u.personalErpTag,h=u.personalEventTag,C=(0,r.useLocalState)(t,"overlay",null),f=C[0];C[1];return(0,o.createComponentVNode)(2,a.Window,{width:640,height:480,resizeable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:f&&(0,o.createComponentVNode)(2,l)||(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Controls",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Visibility",children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:s?"Shown":"Not Shown",onClick:function(){return c("setVisible")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Vore Tag",children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:m,onClick:function(){return c("setTag")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"ERP Tag",children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:p,onClick:function(){return c("setErpTag")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Event Pref",children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:h,onClick:function(){return c("setEventTag")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Advertisement",children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:"Edit Ad",onClick:function(){return c("editAd")}})})]})}),(0,o.createComponentVNode)(2,d)],4)})})};var l=function(e,t){var n=(0,r.useLocalState)(t,"overlay",null),a=n[0],l=n[1];return(0,o.createComponentVNode)(2,i.Section,{title:a.name,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"arrow-left",content:"Back",onClick:function(){return l(null)}}),children:[(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Vore Tag",children:(0,o.createComponentVNode)(2,i.Box,{p:1,backgroundColor:c(a.tag),children:a.tag})}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"ERP Tag",children:(0,o.createComponentVNode)(2,i.Box,{children:a.erptag})}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Event Pref",children:(0,o.createComponentVNode)(2,i.Box,{children:a.eventtag})}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Character Ad",children:(0,o.createComponentVNode)(2,i.Box,{style:{"word-break":"break-all"},children:a.character_ad?a.character_ad.split("\n").map((function(e,t){return(0,o.createComponentVNode)(2,i.Box,{children:e},t)})):"Unset."})}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"OOC Notes",children:(0,o.createComponentVNode)(2,i.Box,{style:{"word-break":"break-all"},children:a.ooc_notes?a.ooc_notes.split("\n").map((function(e,t){return(0,o.createComponentVNode)(2,i.Box,{children:e},t)})):"Unset."})}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Flavor Text",children:(0,o.createComponentVNode)(2,i.Box,{style:{"word-break":"break-all"},children:a.flavor_text?a.flavor_text.split("\n").map((function(e,t){return(0,o.createComponentVNode)(2,i.Box,{children:e},t)})):"Unset."})})]})},d=function(e,t){var n=(0,r.useBackend)(t),a=n.act,l=n.data.directory,d=(0,r.useLocalState)(t,"sortId","name"),s=d[0],m=(d[1],(0,r.useLocalState)(t,"sortOrder","name")),p=m[0],h=(m[1],(0,r.useLocalState)(t,"overlay",null)),C=(h[0],h[1]);return(0,o.createComponentVNode)(2,i.Section,{title:"Directory",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"sync",content:"Refresh",onClick:function(){return a("refresh")}}),children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{bold:!0,children:[(0,o.createComponentVNode)(2,u,{id:"name",children:"Name"}),(0,o.createComponentVNode)(2,u,{id:"tag",children:"Vore Tag"}),(0,o.createComponentVNode)(2,u,{id:"erptag",children:"ERP Tag"}),(0,o.createComponentVNode)(2,u,{id:"eventtag",children:"Event Pref"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:"View"})]}),l.sort((function(e,t){var n=p?1:-1;return e[s].localeCompare(t[s])*n})).map((function(e,t){return(0,o.createComponentVNode)(2,i.Table.Row,{backgroundColor:c(e.tag),children:[(0,o.createComponentVNode)(2,i.Table.Cell,{p:1,children:e.name}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.tag}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.erptag}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.eventtag}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,textAlign:"right",children:(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return C(e)},color:"transparent",icon:"sticky-note",mr:1,content:"View"})})]},t)}))]})})},u=function(e,t){var n=(0,r.useBackend)(t),a=(n.act,n.data,e.id),c=e.children,l=(0,r.useLocalState)(t,"sortId","name"),d=l[0],u=l[1],s=(0,r.useLocalState)(t,"sortOrder","name"),m=s[0],p=s[1];return(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,i.Button,{width:"100%",color:d!==a&&"transparent",onClick:function(){d===a?p(!m):(u(a),p(!0))},children:[c,d===a&&(0,o.createComponentVNode)(2,i.Icon,{name:m?"sort-up":"sort-down",ml:"0.25rem;"})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ChemDispenser=void 0;var o=n(0),r=n(1),i=n(2),a=n(188),c=n(3),l=[5,10,20,30,40,60],d=[1,5,10];t.ChemDispenser=function(e,t){return(0,o.createComponentVNode)(2,c.Window,{width:390,height:655,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{className:"Layout__content--flexColumn",children:[(0,o.createComponentVNode)(2,u),(0,o.createComponentVNode)(2,s),(0,o.createComponentVNode)(2,m)]})})};var u=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data.amount;return(0,o.createComponentVNode)(2,i.Section,{title:"Settings",flex:"content",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Dispense",verticalAlign:"middle",children:(0,o.createComponentVNode)(2,i.Flex,{direction:"row",wrap:"wrap",spacing:"1",children:l.map((function(e,t){return(0,o.createComponentVNode)(2,i.Flex.Item,{grow:"1",children:(0,o.createComponentVNode)(2,i.Button,{textAlign:"center",selected:c===e,content:e+"u",m:"0",fluid:!0,onClick:function(){return a("amount",{amount:e})}})},t)}))})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Custom Amount",children:(0,o.createComponentVNode)(2,i.Slider,{step:1,stepPixelSize:5,value:c,minValue:1,maxValue:120,onDrag:function(e,t){return a("amount",{amount:t})}})})]})})},s=function(e,t){for(var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.chemicals,d=void 0===l?[]:l,u=[],s=0;s<(d.length+1)%3;s++)u.push(!0);return(0,o.createComponentVNode)(2,i.Section,{title:c.glass?"Drink Dispenser":"Chemical Dispenser",flexGrow:"1",children:(0,o.createComponentVNode)(2,i.Flex,{direction:"row",wrap:"wrap",height:"100%",spacingPrecise:"2",align:"flex-start",alignContent:"flex-start",children:[d.map((function(e,t){return(0,o.createComponentVNode)(2,i.Flex.Item,{grow:"1",basis:"40%",height:"20px",children:(0,o.createComponentVNode)(2,i.Button,{icon:"arrow-circle-down",width:"100%",height:"100%",align:"flex-start",content:e.title+" ("+e.amount+")",onClick:function(){return a("dispense",{reagent:e.id})}})},t)})),u.map((function(e,t){return(0,o.createComponentVNode)(2,i.Flex.Item,{grow:"1",basis:"25%",height:"20px"},t)}))]})})},m=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,u=l.isBeakerLoaded,s=l.beakerCurrentVolume,m=l.beakerMaxVolume,p=l.beakerContents,h=void 0===p?[]:p;return(0,o.createComponentVNode)(2,i.Section,{title:"Beaker",flex:"content",minHeight:"25%",buttons:(0,o.createComponentVNode)(2,i.Box,{children:[!!u&&(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:"label",mr:2,children:[s," / ",m," units"]}),(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject",disabled:!u,onClick:function(){return c("ejectBeaker")}})]}),children:(0,o.createComponentVNode)(2,a.BeakerContents,{beakerLoaded:u,beakerContents:h,buttons:function(e){return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{content:"Isolate",icon:"compress-arrows-alt",onClick:function(){return c("remove",{reagent:e.id,amount:-1})}}),d.map((function(t,n){return(0,o.createComponentVNode)(2,i.Button,{content:t,onClick:function(){return c("remove",{reagent:e.id,amount:t})}},n)})),(0,o.createComponentVNode)(2,i.Button,{content:"ALL",onClick:function(){return c("remove",{reagent:e.id,amount:e.volume})}})],0)}})})}},function(e,t,n){"use strict";e.exports=n(500)()},function(e,t,n){"use strict";var o=n(501);function r(){}function i(){}i.resetWarningCache=r,e.exports=function(){function e(e,t,n,r,i,a){if(a!==o){var c=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw c.name="Invariant Violation",c}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:r};return n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";t.__esModule=!0,t.ChemMaster=void 0;var o=n(0),r=n(1),i=n(2),a=n(3),c=n(188),l=n(45),d=[1,5,10,30,60];t.ChemMaster=function(e,t){var n=(0,r.useBackend)(t).data,i=n.condi,c=n.beaker,d=n.beaker_reagents,p=void 0===d?[]:d,h=n.buffer_reagents,C=void 0===h?[]:h,f=n.mode;return(0,o.createComponentVNode)(2,a.Window,{width:575,height:500,resizable:!0,children:[(0,o.createComponentVNode)(2,l.ComplexModal),(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,className:"Layout__content--flexColumn",children:[(0,o.createComponentVNode)(2,u,{beaker:c,beakerReagents:p,bufferNonEmpty:C.length>0}),(0,o.createComponentVNode)(2,s,{mode:f,bufferReagents:C}),(0,o.createComponentVNode)(2,m,{isCondiment:i,bufferNonEmpty:C.length>0})]})]})};var u=function(e,t){var n=(0,r.useBackend)(t),a=n.act,u=(n.data,e.beaker),s=e.beakerReagents,m=e.bufferNonEmpty;return(0,o.createComponentVNode)(2,i.Section,{title:"Beaker",buttons:m?(0,o.createComponentVNode)(2,i.Button.Confirm,{icon:"eject",disabled:!u,content:"Eject and Clear Buffer",onClick:function(){return a("eject")}}):(0,o.createComponentVNode)(2,i.Button,{icon:"eject",disabled:!u,content:"Eject and Clear Buffer",onClick:function(){return a("eject")}}),children:u?(0,o.createComponentVNode)(2,c.BeakerContents,{beakerLoaded:!0,beakerContents:s,buttons:function(e,n){return(0,o.createComponentVNode)(2,i.Box,{mb:n0?(0,o.createComponentVNode)(2,c.BeakerContents,{beakerLoaded:!0,beakerContents:s,buttons:function(e,r){return(0,o.createComponentVNode)(2,i.Box,{mb:r0?l.desc:"N/A"}),l.blood_type&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Blood type",children:l.blood_type}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Blood DNA",className:"LabeledList__breakContents",children:l.blood_dna})],4),!c.condi&&(0,o.createComponentVNode)(2,i.Button,{icon:c.printing?"spinner":"print",disabled:c.printing,iconSpin:!!c.printing,ml:"0.5rem",content:"Print",onClick:function(){return a("print",{idx:l.idx,beaker:e.args.beaker})}})]})})})}))},function(e,t,n){"use strict";t.__esModule=!0,t.ClawMachine=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.ClawMachine=function(e,t){var n,c=(0,r.useBackend)(t),l=c.act,d=c.data,u=(d.wintick,d.instructions),s=d.gameStatus,m=d.winscreen;return"CLAWMACHINE_NEW"===s?n=(0,o.createComponentVNode)(2,i.Box,{align:"center",children:[(0,o.createVNode)(1,"br")," ",(0,o.createVNode)(1,"hr"),(0,o.createVNode)(1,"b",null,"Pay to Play!",16)," ",(0,o.createVNode)(1,"br")," ",(0,o.createVNode)(1,"hr"),u,(0,o.createVNode)(1,"br")," ",(0,o.createVNode)(1,"hr")," ",(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,i.Button,{content:"Start",onClick:function(){return l("newgame")}})]}):"CLAWMACHINE_END"===s?n=(0,o.createComponentVNode)(2,i.Box,{align:"center",children:[(0,o.createVNode)(1,"br")," ",(0,o.createVNode)(1,"hr"),(0,o.createVNode)(1,"b",null,"Thank you for playing!",16)," ",(0,o.createVNode)(1,"br")," ",(0,o.createVNode)(1,"hr"),m,(0,o.createVNode)(1,"br")," ",(0,o.createVNode)(1,"hr")," ",(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,i.Button,{content:"Close",onClick:function(){return l("return")}})]}):"CLAWMACHINE_ON"===s&&(n=(0,o.createComponentVNode)(2,a.Window.Content,{children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Progress",children:(0,o.createComponentVNode)(2,i.ProgressBar,{ranges:{bad:[-Infinity,0],average:[1,7],good:[8,Infinity]},value:d.wintick,minValue:0,maxValue:10})})}),(0,o.createComponentVNode)(2,i.Box,{align:"center",children:[(0,o.createVNode)(1,"br")," ",(0,o.createVNode)(1,"hr")," ",(0,o.createVNode)(1,"br"),u,(0,o.createVNode)(1,"br")," ",(0,o.createVNode)(1,"br")," ",(0,o.createVNode)(1,"hr")," ",(0,o.createVNode)(1,"br")," ",(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,i.Button,{content:"Up",onClick:function(){return l("pointless")}}),(0,o.createVNode)(1,"br")," ",(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,i.Button,{content:"Left",onClick:function(){return l("pointless")}}),(0,o.createComponentVNode)(2,i.Button,{content:"Right",onClick:function(){return l("pointless")}}),(0,o.createVNode)(1,"br")," ",(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,i.Button,{content:"Down",onClick:function(){return l("pointless")}})]})]})),(0,o.createComponentVNode)(2,a.Window,{resizable:!0,children:(0,o.createVNode)(1,"center",null,n,0)})}},function(e,t,n){"use strict";t.__esModule=!0,t.Cleanbot=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.Cleanbot=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.on,u=l.open,s=l.locked,m=l.version,p=l.blood,h=(l.patrol,l.vocal),C=l.wet_floors,f=l.spray_blood,N=l.rgbpanel,b=l.red_switch,V=l.green_switch,g=l.blue_switch;return(0,o.createComponentVNode)(2,a.Window,{width:400,height:400,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Automatic Station Cleaner "+m,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",selected:d,onClick:function(){return c("start")},children:d?"On":"Off"}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Maintenance Panel",color:u?"bad":"good",children:u?"Open":"Closed"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Behavior Controls",color:s?"good":"bad",children:s?"Locked":"Unlocked"})]})}),!s&&(0,o.createComponentVNode)(2,i.Section,{title:"Behavior Controls",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Blood",children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:p?"toggle-on":"toggle-off",selected:p,onClick:function(){return c("blood")},children:p?"Clean":"Ignore"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Speaker",children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:h?"toggle-on":"toggle-off",selected:h,onClick:function(){return c("vocal")},children:h?"On":"Off"})})]})})||null,!s&&u&&(0,o.createComponentVNode)(2,i.Section,{title:"Maintenance Panel",children:N&&(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Button,{fontSize:5.39,icon:b?"toggle-on":"toggle-off",backgroundColor:b?"red":"maroon",onClick:function(){return c("red_switch")}}),(0,o.createComponentVNode)(2,i.Button,{fontSize:5.39,icon:V?"toggle-on":"toggle-off",backgroundColor:V?"green":"darkgreen",onClick:function(){return c("green_switch")}}),(0,o.createComponentVNode)(2,i.Button,{fontSize:5.39,icon:g?"toggle-on":"toggle-off",backgroundColor:g?"blue":"darkblue",onClick:function(){return c("blue_switch")}})]})||(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Odd Looking Screw Twiddled",children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,selected:C,onClick:function(){return c("wet_floors")},icon:"screwdriver",children:C?"Yes":"No"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Weird Button Pressed",children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,color:"brown",selected:f,onClick:function(){return c("spray_blood")},icon:"screwdriver",children:f?"Yes":"No"})})]})})})||null]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.CloningConsole=void 0;var o=n(0),r=n(5),i=n(1),a=n(2),c=n(28),l=n(45),d=n(3),u=function(e,t){var n=(0,i.useBackend)(t),r=n.act,l=n.data,d=e.args,u=d.activerecord,s=d.realname,m=d.health,p=d.unidentity,h=d.strucenzymes,C=m.split(" - ");return(0,o.createComponentVNode)(2,a.Section,{level:2,m:"-1rem",pb:"1rem",title:"Records of "+s,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:s}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Damage",children:C.length>1?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{color:c.COLORS.damageType.oxy,display:"inline",children:C[0]}),(0,o.createTextVNode)("\xa0|\xa0"),(0,o.createComponentVNode)(2,a.Box,{color:c.COLORS.damageType.toxin,display:"inline",children:C[2]}),(0,o.createTextVNode)("\xa0|\xa0"),(0,o.createComponentVNode)(2,a.Box,{color:c.COLORS.damageType.brute,display:"inline",children:C[3]}),(0,o.createTextVNode)("\xa0|\xa0"),(0,o.createComponentVNode)(2,a.Box,{color:c.COLORS.damageType.burn,display:"inline",children:C[1]})],4):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Unknown"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"UI",className:"LabeledList__breakContents",children:p}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"SE",className:"LabeledList__breakContents",children:h}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Disk",children:[(0,o.createComponentVNode)(2,a.Button.Confirm,{disabled:!l.disk,icon:"arrow-circle-down",content:"Import",onClick:function(){return r("disk",{option:"load"})}}),(0,o.createComponentVNode)(2,a.Button,{disabled:!l.disk,icon:"arrow-circle-up",content:"Export UI",onClick:function(){return r("disk",{option:"save",savetype:"ui"})}}),(0,o.createComponentVNode)(2,a.Button,{disabled:!l.disk,icon:"arrow-circle-up",content:"Export UI and UE",onClick:function(){return r("disk",{option:"save",savetype:"ue"})}}),(0,o.createComponentVNode)(2,a.Button,{disabled:!l.disk,icon:"arrow-circle-up",content:"Export SE",onClick:function(){return r("disk",{option:"save",savetype:"se"})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Actions",children:[(0,o.createComponentVNode)(2,a.Button,{disabled:!l.podready,icon:"user-plus",content:"Clone",onClick:function(){return r("clone",{ref:u})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"trash",content:"Delete",onClick:function(){return r("del_rec")}})]})]})})};t.CloningConsole=function(e,t){var n=(0,i.useBackend)(t);n.act,n.data.menu;return(0,l.modalRegisterBodyOverride)("view_rec",u),(0,o.createComponentVNode)(2,d.Window,{resizable:!0,children:[(0,o.createComponentVNode)(2,l.ComplexModal,{maxWidth:"75%",maxHeight:"75%"}),(0,o.createComponentVNode)(2,d.Window.Content,{className:"Layout__content--flexColumn",children:[(0,o.createComponentVNode)(2,C),(0,o.createComponentVNode)(2,f),(0,o.createComponentVNode)(2,s),(0,o.createComponentVNode)(2,a.Section,{noTopPadding:!0,flexGrow:"1",children:(0,o.createComponentVNode)(2,m)})]})]})};var s=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data.menu;return(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:1===c,icon:"home",onClick:function(){return r("menu",{num:1})},children:"Main"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:2===c,icon:"folder",onClick:function(){return r("menu",{num:2})},children:"Records"})]})},m=function(e,t){var n,r=(0,i.useBackend)(t).data.menu;return 1===r?n=(0,o.createComponentVNode)(2,p):2===r&&(n=(0,o.createComponentVNode)(2,h)),n},p=function(e,t){var n=(0,i.useBackend)(t),c=n.act,l=n.data,d=l.loading,u=l.scantemp,s=l.occupant,m=l.locked,p=l.can_brainscan,h=l.scan_mode,C=l.numberofpods,f=l.pods,N=l.selected_pod,b=m&&!!s;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Scanner",level:"2",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{display:"inline",color:"label",children:"Scanner Lock:\xa0"}),(0,o.createComponentVNode)(2,a.Button,{disabled:!s,selected:b,icon:b?"toggle-on":"toggle-off",content:b?"Engaged":"Disengaged",onClick:function(){return c("lock")}}),(0,o.createComponentVNode)(2,a.Button,{disabled:b||!s,icon:"user-slash",content:"Eject Occupant",onClick:function(){return c("eject")}})],4),children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",children:d?(0,o.createComponentVNode)(2,a.Box,{color:"average",children:[(0,o.createComponentVNode)(2,a.Icon,{name:"spinner",spin:!0}),"\xa0 Scanning..."]}):(0,o.createComponentVNode)(2,a.Box,{color:u.color,children:u.text})}),!!p&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Scan Mode",children:(0,o.createComponentVNode)(2,a.Button,{icon:h?"brain":"male",content:h?"Brain":"Body",onClick:function(){return c("toggle_mode")}})})]}),(0,o.createComponentVNode)(2,a.Button,{disabled:!s||d,icon:"user",content:"Scan Occupant",mt:"0.5rem",mb:"0",onClick:function(){return c("scan")}})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Pods",level:"2",children:C?f.map((function(e,t){var n;return n="cloning"===e.status?(0,o.createComponentVNode)(2,a.ProgressBar,{min:"0",max:"100",value:e.progress/100,ranges:{good:[.75,Infinity],average:[.25,.75],bad:[-Infinity,.25]},mt:"0.5rem",children:(0,o.createComponentVNode)(2,a.Box,{textAlign:"center",children:(0,r.round)(e.progress,0)+"%"})}):"mess"===e.status?(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:"bad",mt:"0.5rem",children:"ERROR"}):(0,o.createComponentVNode)(2,a.Button,{selected:N===e.pod,icon:N===e.pod&&"check",content:"Select",mt:"0.5rem",onClick:function(){return c("selectpod",{ref:e.pod})}}),(0,o.createComponentVNode)(2,a.Box,{width:"64px",textAlign:"center",display:"inline-block",mr:"0.5rem",children:[(0,o.createVNode)(1,"img",null,null,1,{src:"pod_"+e.status+".gif",style:{width:"100%","-ms-interpolation-mode":"nearest-neighbor"}}),(0,o.createComponentVNode)(2,a.Box,{color:"label",children:["Pod #",t+1]}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:e.biomass>=150?"good":"bad",display:"inline",children:[(0,o.createComponentVNode)(2,a.Icon,{name:e.biomass>=150?"circle":"circle-o"}),"\xa0",e.biomass]}),n]},t)})):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"No pods detected. Unable to clone."})})],4)},h=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data.records;return c.length?(0,o.createComponentVNode)(2,a.Box,{mt:"0.5rem",children:c.map((function(e,t){return(0,o.createComponentVNode)(2,a.Button,{icon:"user",mb:"0.5rem",content:e.realname,onClick:function(){return r("view_rec",{ref:e.record})}},t)}))}):(0,o.createComponentVNode)(2,a.Flex,{height:"100%",children:(0,o.createComponentVNode)(2,a.Flex.Item,{grow:"1",align:"center",textAlign:"center",color:"label",children:[(0,o.createComponentVNode)(2,a.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,o.createVNode)(1,"br"),"No records found."]})})},C=function(e,t){var n,r=(0,i.useBackend)(t),c=r.act,l=r.data.temp;if(l&&l.text&&!(l.text.length<=0)){var d=((n={})[l.style]=!0,n);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.NoticeBox,Object.assign({},d,{children:[(0,o.createComponentVNode)(2,a.Box,{display:"inline-block",verticalAlign:"middle",children:l.text}),(0,o.createComponentVNode)(2,a.Button,{icon:"times-circle",float:"right",onClick:function(){return c("cleartemp")}}),(0,o.createComponentVNode)(2,a.Box,{clear:"both"})]})))}},f=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data,l=c.scanner,d=c.numberofpods,u=c.autoallowed,s=c.autoprocess,m=c.disk;return(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createFragment)([!!u&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{display:"inline",color:"label",children:"Auto-processing:\xa0"}),(0,o.createComponentVNode)(2,a.Button,{selected:s,icon:s?"toggle-on":"toggle-off",content:s?"Enabled":"Disabled",onClick:function(){return r("autoprocess",{on:s?0:1})}})],4),(0,o.createComponentVNode)(2,a.Button,{disabled:!m,icon:"eject",content:"Eject Disk",onClick:function(){return r("disk",{option:"eject"})}})],0),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Scanner",children:l?(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Connected"}):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Not connected!"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pods",children:d?(0,o.createComponentVNode)(2,a.Box,{color:"good",children:[d," connected"]}):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"None connected!"})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ColorMate=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.ColorMate=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.items,u=l.activecolor,s=Math.min(270+15*d.length,600);return(0,o.createComponentVNode)(2,a.Window,{width:300,height:s,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:d.length&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Paint",children:(0,o.createComponentVNode)(2,i.Flex,{justify:"center",align:"center",children:[(0,o.createComponentVNode)(2,i.Flex.Item,{basis:"50%",children:(0,o.createComponentVNode)(2,i.Box,{backgroundColor:u,width:"120px",height:"120px"})}),(0,o.createComponentVNode)(2,i.Flex.Item,{basis:"50% ",children:[(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"eye-dropper",onClick:function(){return c("select")},children:"Select Color"}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"fill-drip",onClick:function(){return c("paint")},children:"Paint Items"}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"tint-slash",onClick:function(){return c("clear")},children:"Remove Paintjob"}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"eject",onClick:function(){return c("eject")},children:"Eject Items"})]})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Items",children:d.map((function(e,t){return(0,o.createComponentVNode)(2,i.Box,{children:["#",t+1,": ",e]},t)}))})],4)||(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No items inserted."})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Communicator=void 0;var o=n(0),r=n(8),i=n(6),a=n(1),c=n(2),l=n(3),d=n(94),u={};t.Communicator=function(e,t){var n=(0,a.useBackend)(t),r=(n.act,n.data),i=r.currentTab,d=r.video_comm,C=(r.mapRef,(0,a.useLocalState)(t,"videoSetting",0)),f=C[0],N=C[1];return(0,o.createComponentVNode)(2,l.Window,{width:475,height:700,resizable:!0,children:(0,o.createComponentVNode)(2,l.Window.Content,{children:[d&&(0,o.createComponentVNode)(2,s,{videoSetting:f,setVideoSetting:N}),(!d||0!==f)&&(0,o.createFragment)([(0,o.createComponentVNode)(2,p),(0,o.createComponentVNode)(2,c.Box,{height:"88%",mb:1,style:{"overflow-y":"auto"},children:u[i]||(0,o.createComponentVNode)(2,m)}),(0,o.createComponentVNode)(2,h,{videoSetting:f,setVideoSetting:N})],4)]})})};var s=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data,l=(i.video_comm,i.mapRef),d=e.videoSetting,u=e.setVideoSetting;return 0===d?(0,o.createComponentVNode)(2,c.Box,{width:"100%",height:"100%",children:[(0,o.createComponentVNode)(2,c.ByondUi,{width:"100%",height:"95%",params:{id:l,type:"map"}}),(0,o.createComponentVNode)(2,c.Flex,{justify:"space-between",spacing:1,mt:.5,children:[(0,o.createComponentVNode)(2,c.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,c.Button,{textAlign:"center",fluid:!0,fontSize:1.5,icon:"window-minimize",onClick:function(){return u(1)}})}),(0,o.createComponentVNode)(2,c.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,c.Button,{textAlign:"center",fluid:!0,fontSize:1.5,color:"bad",icon:"video-slash",onClick:function(){return r("endvideo")}})}),(0,o.createComponentVNode)(2,c.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,c.Button,{textAlign:"center",fluid:!0,fontSize:1.5,color:"bad",icon:"phone-slash",onClick:function(){return r("hang_up")}})})]})]}):1===d?(0,o.createComponentVNode)(2,c.Box,{style:{position:"absolute",right:"5px",bottom:"50px","z-index":1},children:[(0,o.createComponentVNode)(2,c.Section,{p:0,m:0,children:(0,o.createComponentVNode)(2,c.Flex,{justify:"space-between",spacing:1,children:[(0,o.createComponentVNode)(2,c.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,c.Button,{textAlign:"center",fluid:!0,fontSize:1.5,icon:"window-minimize",onClick:function(){return u(2)}})}),(0,o.createComponentVNode)(2,c.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,c.Button,{textAlign:"center",fluid:!0,fontSize:1.5,icon:"window-maximize",onClick:function(){return u(0)}})}),(0,o.createComponentVNode)(2,c.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,c.Button,{textAlign:"center",fluid:!0,fontSize:1.5,color:"bad",icon:"video-slash",onClick:function(){return r("endvideo")}})}),(0,o.createComponentVNode)(2,c.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,c.Button,{textAlign:"center",fluid:!0,fontSize:1.5,color:"bad",icon:"phone-slash",onClick:function(){return r("hang_up")}})})]})}),(0,o.createComponentVNode)(2,c.ByondUi,{width:"200px",height:"200px",params:{id:l,type:"map"}})]}):null},m=function(e,t){var n=(0,a.useBackend)(t),r=(n.act,n.data.currentTab);return(0,o.createComponentVNode)(2,c.Section,{title:"Error!",children:["You tried to access tab #",r,", but there was no template defined!"]})},p=function(e,t){var n=(0,a.useBackend)(t),r=(n.act,n.data),l=r.time,d=r.connectionStatus,u=r.owner,s=r.occupation;return(0,o.createComponentVNode)(2,c.Section,{children:(0,o.createComponentVNode)(2,c.Flex,{align:"center",justify:"space-between",children:[(0,o.createComponentVNode)(2,c.Flex.Item,{color:"average",children:l}),(0,o.createComponentVNode)(2,c.Flex.Item,{children:(0,o.createComponentVNode)(2,c.Icon,{color:1===d?"good":"bad",name:1===d?"signal":"exclamation-triangle"})}),(0,o.createComponentVNode)(2,c.Flex.Item,{color:"average",children:(0,i.decodeHtmlEntities)(u)}),(0,o.createComponentVNode)(2,c.Flex.Item,{color:"average",children:(0,i.decodeHtmlEntities)(s)})]})})},h=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data.flashlight,l=e.videoSetting,d=e.setVideoSetting;return(0,o.createComponentVNode)(2,c.Flex,{children:[(0,o.createComponentVNode)(2,c.Flex.Item,{basis:2===l?"60%":"80%",children:(0,o.createComponentVNode)(2,c.Button,{p:1,fluid:!0,icon:"home",iconSize:2,textAlign:"center",onClick:function(){return r("switch_tab",{switch_tab:1})}})}),(0,o.createComponentVNode)(2,c.Flex.Item,{basis:"20%",children:(0,o.createComponentVNode)(2,c.Button,{icon:"lightbulb",iconSize:2,p:1,fluid:!0,textAlign:"center",selected:i,tooltip:"Flashlight",tooltipPosition:"top",onClick:function(){return r("Light")}})}),2===l&&(0,o.createComponentVNode)(2,c.Flex.Item,{basis:"20%",children:(0,o.createComponentVNode)(2,c.Button,{icon:"video",iconSize:2,p:1,fluid:!0,textAlign:"center",tooltip:"Open Video",tooltipPosition:"top",onClick:function(){return d(1)}})})]})},C=function(e,t){var n=(0,a.useBackend)(t).data,o=n.voice_mobs,r=n.communicating,i=n.requestsReceived,c=n.invitesSent,l=n.video_comm;return!("Phone"!==e||!(o.length||r.length||i.length||c.length||l))};u[1]=(0,o.createComponentVNode)(2,(function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data.homeScreen;return(0,o.createComponentVNode)(2,c.Flex,{mt:2,wrap:"wrap",align:"center",justify:"center",children:i.map((function(e){return(0,o.createComponentVNode)(2,c.Flex.Item,{basis:"25%",textAlign:"center",mb:2,children:[(0,o.createComponentVNode)(2,c.Button,{style:{"border-radius":"10%",border:"1px solid #000"},width:"64px",height:"64px",position:"relative",onClick:function(){return r("switch_tab",{switch_tab:e.number})},children:(0,o.createComponentVNode)(2,c.Icon,{spin:C(e.module,t),color:C(e.module,t)?"bad":null,name:e.icon,position:"absolute",size:3,top:"25%",left:"25%"})}),(0,o.createComponentVNode)(2,c.Box,{children:e.module})]},e.number)}))})}));var f=function(e,t){for(var n=(0,a.useBackend)(t),r=n.act,i=n.data.targetAddress,l=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"].map((function(e){return(0,o.createComponentVNode)(2,c.Button,{content:e,fontSize:2,fluid:!0,onClick:function(){return r("add_hex",{add_hex:e})}},e)})),d=[],u=0;un?t.length>n?t.slice(0,n)+"...":t:e+t},V=function(e,t,n,o){if(n<0||n>o.length)return N(e,t)?"TinderMessage_First_Sent":"TinderMessage_First_Received";var r=N(e,t),i=N(o[n],t);return r&&i?"TinderMessage_Subsequent_Sent":r||i?r?"TinderMessage_First_Sent":"TinderMessage_First_Received":"TinderMessage_Subsequent_Received"};u[40]=(0,o.createComponentVNode)(2,(function(e,t){var n=(0,a.useBackend)(t),r=n.act,l=n.data,d=l.targetAddressName,u=l.targetAddress,s=l.imList,m=(0,a.useLocalState)(t,"clipboardMode",!1),p=m[0],h=m[1];return p?(0,o.createComponentVNode)(2,c.Section,{title:(0,o.createComponentVNode)(2,c.Box,{inline:!0,style:{"white-space":"nowrap","overflow-x":"hidden"},width:"90%",children:b("Conversation with ",(0,i.decodeHtmlEntities)(d),30)}),buttons:(0,o.createComponentVNode)(2,c.Button,{icon:"eye",selected:p,tooltip:"Exit Clipboard Mode",tooltipPosition:"bottom-left",onClick:function(){return h(!p)}}),height:"100%",stretchContents:!0,children:[(0,o.createComponentVNode)(2,c.Section,{style:{height:"95%","overflow-y":"auto"},children:s.map((function(e,t){return(0,o.createComponentVNode)(2,c.Box,{className:N(e,u)?"ClassicMessage_Sent":"ClassicMessage_Received",children:[N(e,u)?"You":"Them",": ",e.im]},t)}))}),(0,o.createComponentVNode)(2,c.Button,{icon:"comment",onClick:function(){return r("message",{message:u})},content:"Message"})]}):(0,o.createComponentVNode)(2,c.Section,{title:(0,o.createComponentVNode)(2,c.Box,{inline:!0,style:{"white-space":"nowrap","overflow-x":"hidden"},width:"100%",children:b("Conversation with ",(0,i.decodeHtmlEntities)(d),30)}),buttons:(0,o.createComponentVNode)(2,c.Button,{icon:"eye",selected:p,tooltip:"Enter Clipboard Mode",tooltipPosition:"bottom-left",onClick:function(){return h(!p)}}),height:"100%",stretchContents:!0,children:[(0,o.createComponentVNode)(2,c.Section,{style:{height:"95%","overflow-y":"auto"},children:s.map((function(e,t,n){return(0,o.createComponentVNode)(2,c.Box,{textAlign:N(e,u)?"right":"left",mb:1,children:(0,o.createComponentVNode)(2,c.Box,{maxWidth:"75%",className:V(e,u,t-1,n),inline:!0,children:(0,i.decodeHtmlEntities)(e.im)})},t)}))}),(0,o.createComponentVNode)(2,c.Button,{icon:"comment",onClick:function(){return r("message",{message:u})},content:"Message"})]})}));var g=function(e,t){var n=(0,a.useBackend)(t),r=n.act,l=n.data.target_feed;return(0,o.createComponentVNode)(2,c.Section,{title:(0,i.decodeHtmlEntities)(l.name)+" by "+(0,i.decodeHtmlEntities)(l.author),level:2,buttons:(0,o.createComponentVNode)(2,c.Button,{content:"Back",icon:"chevron-up",onClick:function(){return r("newsfeed",{newsfeed:null})}}),children:l.messages.map((function(e){return(0,o.createComponentVNode)(2,c.Section,{children:["- ",(0,i.decodeHtmlEntities)(e.body),!!e.img&&(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createVNode)(1,"img",null,null,1,{src:"data:image/png;base64,"+e.img}),(0,i.decodeHtmlEntities)(e.caption)||null]}),(0,o.createComponentVNode)(2,c.Box,{color:"grey",children:["[",e.message_type," by ",(0,i.decodeHtmlEntities)(e.author)," - ",e.time_stamp,"]"]})]},e.ref)}))})},v=function(e,t){var n=(0,a.useBackend)(t),r=n.act,l=n.data,d=l.feeds,u=l.latest_news;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Section,{title:"Recent News",level:2,children:(0,o.createComponentVNode)(2,c.Section,{children:u.map((function(e){return(0,o.createComponentVNode)(2,c.Box,{mb:2,children:[(0,o.createVNode)(1,"h5",null,[(0,i.decodeHtmlEntities)(e.channel),(0,o.createComponentVNode)(2,c.Button,{ml:1,icon:"chevron-up",onClick:function(){return r("newsfeed",{newsfeed:e.index})},content:"Go to"})],0),"- ",(0,i.decodeHtmlEntities)(e.body),!!e.img&&(0,o.createComponentVNode)(2,c.Box,{children:["[image omitted, view story for more details]",e.caption||null]}),(0,o.createComponentVNode)(2,c.Box,{fontSize:.9,children:["[",e.message_type," by ",(0,o.createComponentVNode)(2,c.Box,{inline:!0,color:"average",children:e.author})," - ",e.time_stamp,"]"]})]},e.index)}))})}),(0,o.createComponentVNode)(2,c.Section,{title:"News Feeds",level:2,children:d.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{fluid:!0,icon:"chevron-up",onClick:function(){return r("newsfeed",{newsfeed:e.index})},content:e.name},e.index)}))})],4)};u[5]=(0,o.createComponentVNode)(2,(function(e,t){var n=(0,a.useBackend)(t),r=(n.act,n.data),i=r.feeds,l=r.target_feed;return(0,o.createComponentVNode)(2,c.Section,{title:"News",stretchContents:!0,height:"100%",children:!i.length&&(0,o.createComponentVNode)(2,c.Box,{color:"bad",children:"Error: No newsfeeds available. Please try again later."})||l&&(0,o.createComponentVNode)(2,g)||(0,o.createComponentVNode)(2,v)})}));u[6]=(0,o.createComponentVNode)(2,(function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data.note;return(0,o.createComponentVNode)(2,c.Section,{title:"Note Keeper",height:"100%",stretchContents:!0,buttons:(0,o.createComponentVNode)(2,c.Button,{icon:"pen",onClick:function(){return r("edit")},content:"Edit Notes"}),children:(0,o.createComponentVNode)(2,c.Section,{color:"average",width:"100%",height:"100%",style:{"word-break":"break-all","overflow-y":"auto"},children:i})})}));u[7]=(0,o.createComponentVNode)(2,(function(e,t){var n=(0,a.useBackend)(t),l=(n.act,n.data),d=l.aircontents,u=l.weather;return(0,o.createComponentVNode)(2,c.Section,{title:"Weather",children:[(0,o.createComponentVNode)(2,c.Section,{level:2,title:"Current Conditions",children:(0,o.createComponentVNode)(2,c.LabeledList,{children:(0,r.filter)((function(e){return"0"!==e.val||"Pressure"===e.entry||"Temperature"===e.entry}))(d).map((function(e){return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:e.entry,color:(t=e.val,n=e.bad_low,r=e.poor_low,a=e.poor_high,l=e.bad_high,ta?"average":t>l?"bad":"good"),children:[e.val,(0,i.decodeHtmlEntities)(e.units)]},e.entry);var t,n,r,a,l}))})}),(0,o.createComponentVNode)(2,c.Section,{level:2,title:"Weather Reports",children:!!u.length&&(0,o.createComponentVNode)(2,c.LabeledList,{children:u.map((function(e){return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:e.Planet,children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Time",children:e.Time}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Weather",children:(0,i.toTitleCase)(e.Weather)}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Temperature",children:["Current: ",e.Temperature.toFixed(),"\xb0C | High: ",e.High.toFixed(),"\xb0C | Low: ",e.Low.toFixed(),"\xb0C"]}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Wind Direction",children:e.WindDir}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Wind Speed",children:e.WindSpeed}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Forecast",children:(0,i.decodeHtmlEntities)(e.Forecast)})]})},e.Planet)}))})||(0,o.createComponentVNode)(2,c.Box,{color:"bad",children:"No weather reports available. Please check back later."})})]})})),u[8]=(0,o.createComponentVNode)(2,d.CrewManifestContent);u[9]=(0,o.createComponentVNode)(2,(function(e,t){var n=(0,a.useBackend)(t),r=n.act,l=n.data,d=l.owner,u=l.occupation,s=l.connectionStatus,m=l.address,p=l.visible,h=l.ring,C=l.selfie_mode;return(0,o.createComponentVNode)(2,c.Section,{title:"Settings",children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Owner",children:(0,o.createComponentVNode)(2,c.Button,{icon:"pen",fluid:!0,content:(0,i.decodeHtmlEntities)(d),onClick:function(){return r("rename")}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Camera Mode",children:(0,o.createComponentVNode)(2,c.Button,{fluid:!0,content:C?"Front-facing Camera":"Rear-facing Camera",onClick:function(){return r("selfie_mode")}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Occupation",children:(0,i.decodeHtmlEntities)(u)}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Connection",children:1===s?(0,o.createComponentVNode)(2,c.Box,{color:"good",children:"Connected"}):(0,o.createComponentVNode)(2,c.Box,{color:"bad",children:"Disconnected"})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Device EPv2 Address",children:m}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Visibility",children:(0,o.createComponentVNode)(2,c.Button.Checkbox,{checked:p,selected:p,fluid:!0,content:p?"This device can be seen by other devices.":"This device is invisible to other devices.",onClick:function(){return r("toggle_visibility")}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Ringer",children:(0,o.createComponentVNode)(2,c.Button.Checkbox,{checked:h,selected:h,fluid:!0,content:h?"Ringer on.":"Ringer off.",onClick:function(){return r("toggle_ringer")}})})]})})}))},function(e,t,n){"use strict";t.__esModule=!0,t.ComputerFabricator=void 0;var o=n(0),r=(n(6),n(1)),i=n(2),a=n(3);t.ComputerFabricator=function(e,t){var n=(0,r.useBackend)(t),s=n.act,m=n.data;return(0,o.createComponentVNode)(2,a.Window,{title:"Personal Computer Vendor",width:500,height:420,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:[(0,o.createComponentVNode)(2,i.Section,{italic:!0,fontSize:"20px",children:"Your perfect device, only three steps away..."}),0!==m.state&&(0,o.createComponentVNode)(2,i.Button,{fluid:!0,mb:1,icon:"circle",content:"Clear Order",onClick:function(){return s("clean_order")}}),0===m.state&&(0,o.createComponentVNode)(2,c),1===m.state&&(0,o.createComponentVNode)(2,l),2===m.state&&(0,o.createComponentVNode)(2,d),3===m.state&&(0,o.createComponentVNode)(2,u)]})})};var c=function(e,t){var n=(0,r.useBackend)(t),a=n.act;n.data;return(0,o.createComponentVNode)(2,i.Section,{title:"Step 1",minHeight:"306px",children:[(0,o.createComponentVNode)(2,i.Box,{mt:5,bold:!0,textAlign:"center",fontSize:"40px",children:"Choose your Device"}),(0,o.createComponentVNode)(2,i.Box,{mt:3,children:(0,o.createComponentVNode)(2,i.Grid,{width:"100%",children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"laptop",content:"Laptop",textAlign:"center",fontSize:"30px",lineHeight:2,onClick:function(){return a("pick_device",{pick:"1"})}})}),(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"tablet-alt",content:"Tablet",textAlign:"center",fontSize:"30px",lineHeight:2,onClick:function(){return a("pick_device",{pick:"2"})}})})]})})]})},l=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data;return(0,o.createComponentVNode)(2,i.Section,{title:"Step 2: Customize your device",minHeight:"282px",buttons:(0,o.createComponentVNode)(2,i.Box,{bold:!0,color:"good",children:[c.totalprice,"\u20ae"]}),children:[(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{bold:!0,position:"relative",children:["Battery:",(0,o.createComponentVNode)(2,i.Tooltip,{content:"Allows your device to operate without external utility power\nsource. Advanced batteries increase battery life.",position:"right"})]}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Standard",selected:1===c.hw_battery,onClick:function(){return a("hw_battery",{battery:"1"})}})}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Upgraded",selected:2===c.hw_battery,onClick:function(){return a("hw_battery",{battery:"2"})}})}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Advanced",selected:3===c.hw_battery,onClick:function(){return a("hw_battery",{battery:"3"})}})})]}),(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{bold:!0,position:"relative",children:["Hard Drive:",(0,o.createComponentVNode)(2,i.Tooltip,{content:"Stores file on your device. Advanced drives can store more\nfiles, but use more power, shortening battery life.",position:"right"})]}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Standard",selected:1===c.hw_disk,onClick:function(){return a("hw_disk",{disk:"1"})}})}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Upgraded",selected:2===c.hw_disk,onClick:function(){return a("hw_disk",{disk:"2"})}})}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Advanced",selected:3===c.hw_disk,onClick:function(){return a("hw_disk",{disk:"3"})}})})]}),(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{bold:!0,position:"relative",children:["Network Card:",(0,o.createComponentVNode)(2,i.Tooltip,{content:"Allows your device to wirelessly connect to stationwide NTNet\nnetwork. Basic cards are limited to on-station use, while\nadvanced cards can operate anywhere near the station, which\nincludes asteroid outposts",position:"right"})]}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"None",selected:0===c.hw_netcard,onClick:function(){return a("hw_netcard",{netcard:"0"})}})}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Standard",selected:1===c.hw_netcard,onClick:function(){return a("hw_netcard",{netcard:"1"})}})}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Advanced",selected:2===c.hw_netcard,onClick:function(){return a("hw_netcard",{netcard:"2"})}})})]}),(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{bold:!0,position:"relative",children:["Nano Printer:",(0,o.createComponentVNode)(2,i.Tooltip,{content:"A device that allows for various paperwork manipulations,\nsuch as, scanning of documents or printing new ones.\nThis device was certified EcoFriendlyPlus and is capable of\nrecycling existing paper for printing purposes.",position:"right"})]}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"None",selected:0===c.hw_nanoprint,onClick:function(){return a("hw_nanoprint",{print:"0"})}})}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Standard",selected:1===c.hw_nanoprint,onClick:function(){return a("hw_nanoprint",{print:"1"})}})})]}),(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{bold:!0,position:"relative",children:["Secondary Card Reader:",(0,o.createComponentVNode)(2,i.Tooltip,{content:"Adds a secondary RFID card reader, for manipulating or\nreading from a second standard RFID card.\nPlease note that a primary card reader is necessary to\nallow the device to read your identification, but one\nis included in the base price.",position:"right"})]}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"None",selected:0===c.hw_card,onClick:function(){return a("hw_card",{card:"0"})}})}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Standard",selected:1===c.hw_card,onClick:function(){return a("hw_card",{card:"1"})}})})]}),2!==c.devtype&&(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{bold:!0,position:"relative",children:["Processor Unit:",(0,o.createComponentVNode)(2,i.Tooltip,{content:"A component critical for your device's functionality.\nIt allows you to run programs from your hard drive.\nAdvanced CPUs use more power, but allow you to run\nmore programs on background at once.",position:"right"})]}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Standard",selected:1===c.hw_cpu,onClick:function(){return a("hw_cpu",{cpu:"1"})}})}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Advanced",selected:2===c.hw_cpu,onClick:function(){return a("hw_cpu",{cpu:"2"})}})})]}),(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{bold:!0,position:"relative",children:["Tesla Relay:",(0,o.createComponentVNode)(2,i.Tooltip,{content:"An advanced wireless power relay that allows your device\nto connect to nearby area power controller to provide\nalternative power source. This component is currently\nunavailable on tablet computers due to size restrictions.",position:"right"})]}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"None",selected:0===c.hw_tesla,onClick:function(){return a("hw_tesla",{tesla:"0"})}})}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{content:"Standard",selected:1===c.hw_tesla,onClick:function(){return a("hw_tesla",{tesla:"1"})}})})]})]}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,mt:3,content:"Confirm Order",color:"good",textAlign:"center",fontSize:"18px",lineHeight:2,onClick:function(){return a("confirm_order")}})]})},d=function(e,t){var n=(0,r.useBackend)(t),a=(n.act,n.data);return(0,o.createComponentVNode)(2,i.Section,{title:"Step 3: Payment",minHeight:"282px",children:[(0,o.createComponentVNode)(2,i.Box,{italic:!0,textAlign:"center",fontSize:"20px",children:"Your device is ready for fabrication..."}),(0,o.createComponentVNode)(2,i.Box,{bold:!0,mt:2,textAlign:"center",fontSize:"16px",children:[(0,o.createComponentVNode)(2,i.Box,{inline:!0,children:"Please swipe your ID now to authorize payment of:"}),"\xa0",(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:"good",children:[a.totalprice,"\u20ae"]})]})]})},u=function(e,t){return(0,o.createComponentVNode)(2,i.Section,{minHeight:"282px",children:[(0,o.createComponentVNode)(2,i.Box,{bold:!0,textAlign:"center",fontSize:"28px",mt:10,children:"Thank you for your purchase!"}),(0,o.createComponentVNode)(2,i.Box,{italic:!0,mt:1,textAlign:"center",children:"If you experience any difficulties with your new device, please contact your local network administrator."})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.CookingAppliance=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.CookingAppliance=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.temperature,u=l.optimalTemp,s=l.temperatureEnough,m=l.efficiency,p=l.containersRemovable,h=l.our_contents;return(0,o.createComponentVNode)(2,a.Window,{width:600,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Status",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Temperature",children:(0,o.createComponentVNode)(2,i.ProgressBar,{color:s?"good":"blue",value:d,maxValue:u,children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:d}),"\xb0C / ",u,"\xb0C"]})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Efficiency",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:m}),"%"]})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Containers",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:h.map((function(e,t){return e.empty?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Slot #"+(t+1),children:(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return c("slot",{slot:t+1})},children:"Empty"})}):(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Slot #"+(t+1),verticalAlign:"middle",children:(0,o.createComponentVNode)(2,i.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.Button,{disabled:!p,onClick:function(){return c("slot",{slot:t+1})},children:e.container||"No Container"})}),(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i.ProgressBar,{color:e.progressText[0],value:e.progress,maxValue:1,children:e.progressText[1]})})]})},t)}))})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Cryo=void 0;var o=n(0),r=n(1),i=n(2),a=n(3),c=[{label:"Resp.",type:"oxyLoss"},{label:"Toxin",type:"toxLoss"},{label:"Brute",type:"bruteLoss"},{label:"Burn",type:"fireLoss"}],l=[["good","Conscious"],["average","Unconscious"],["bad","DEAD"]];t.Cryo=function(e,t){return(0,o.createComponentVNode)(2,a.Window,{width:520,height:470,resizeable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{className:"Layout__content--flexColumn",children:(0,o.createComponentVNode)(2,d)})})};var d=function(e,t){var n=(0,r.useBackend)(t),a=n.act,d=n.data,s=d.isOperating,m=d.hasOccupant,p=d.occupant,h=void 0===p?[]:p,C=d.cellTemperature,f=d.cellTemperatureStatus,N=d.isBeakerLoaded;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Occupant",flexGrow:"1",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"user-slash",onClick:function(){return a("ejectOccupant")},disabled:!m,children:"Eject"}),children:m?(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Occupant",children:h.name||"Unknown"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,i.ProgressBar,{min:h.health,max:h.maxHealth,value:h.health/h.maxHealth,color:h.health>0?"good":"average",children:(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:Math.round(h.health)})})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",color:l[h.stat][0],children:l[h.stat][1]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Temperature",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:Math.round(h.bodyTemperature)})," K"]}),(0,o.createComponentVNode)(2,i.LabeledList.Divider),c.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.label,children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:h[e.type]/100,ranges:{bad:[.01,Infinity]},children:(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:Math.round(h[e.type])})})},e.id)}))]}):(0,o.createComponentVNode)(2,i.Flex,{height:"100%",textAlign:"center",children:(0,o.createComponentVNode)(2,i.Flex.Item,{grow:"1",align:"center",color:"label",children:[(0,o.createComponentVNode)(2,i.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,o.createVNode)(1,"br"),"No occupant detected."]})})}),(0,o.createComponentVNode)(2,i.Section,{title:"Cell",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",onClick:function(){return a("ejectBeaker")},disabled:!N,children:"Eject Beaker"}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",onClick:function(){return a(s?"switchOff":"switchOn")},selected:s,children:s?"On":"Off"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Temperature",color:f,children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:C})," K"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Beaker",children:(0,o.createComponentVNode)(2,u)})]})})],4)},u=function(e,t){var n=(0,r.useBackend)(t),a=(n.act,n.data),c=a.isBeakerLoaded,l=a.beakerLabel,d=a.beakerVolume;return c?(0,o.createFragment)([l||(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"No label"}),(0,o.createComponentVNode)(2,i.Box,{color:!d&&"bad",children:d?(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:d,format:function(e){return Math.round(e)+" units remaining"}}):"Beaker is empty"})],0):(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"No beaker loaded"})}},function(e,t,n){"use strict";t.__esModule=!0,t.CryoStorageItemsVr=t.CryoStorageVr=void 0;var o=n(0),r=n(1),i=n(2),a=n(3),c=n(191);t.CryoStorageVr=function(e,t){var n=(0,r.useBackend)(t),d=(n.act,n.data),u=d.real_name,s=d.allow_items,m=(0,r.useLocalState)(t,"tab",0),p=m[0],h=m[1];return(0,o.createComponentVNode)(2,a.Window,{width:400,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Tabs,{children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:0===p,onClick:function(){return h(0)},children:"Crew"}),!!s&&(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:1===p,onClick:function(){return h(1)},children:"Items"})]}),(0,o.createComponentVNode)(2,i.NoticeBox,{info:!0,children:["Welcome, ",u,"."]}),0===p&&(0,o.createComponentVNode)(2,c.CryoStorageCrew),!!s&&1===p&&(0,o.createComponentVNode)(2,l)]})})};var l=function(e,t){var n=(0,r.useBackend)(t),a=(n.act,n.data.items);return(0,o.createComponentVNode)(2,i.Section,{title:"Stored Items",children:a.length&&a.map((function(e){return(0,o.createComponentVNode)(2,i.Box,{color:"label",children:e},e)}))||(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"No items stored."})})};t.CryoStorageItemsVr=l},function(e,t,n){"use strict";t.__esModule=!0,t.DNAForensics=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.DNAForensics=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.scan_progress,u=l.scanning,s=l.bloodsamp,m=l.bloodsamp_desc;return(0,o.createComponentVNode)(2,a.Window,{width:540,height:326,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:[(0,o.createComponentVNode)(2,i.Section,{title:"Status",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{selected:u,disabled:!s,icon:"power-off",onClick:function(){return c("scanItem")},children:u?"Halt Scan":"Begin Scan"}),(0,o.createComponentVNode)(2,i.Button,{disabled:!s,icon:"eject",onClick:function(){return c("ejectItem")},children:"Eject Bloodsample"})],4),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Scan Progress",children:(0,o.createComponentVNode)(2,i.ProgressBar,{ranges:{good:[99,Infinity],violet:[-Infinity,99]},value:d,maxValue:100})})})}),(0,o.createComponentVNode)(2,i.Section,{title:"Blood Sample",children:s&&(0,o.createComponentVNode)(2,i.Box,{children:[s,(0,o.createComponentVNode)(2,i.Box,{color:"label",children:m})]})||(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No blood sample inserted."})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.DNAModifier=void 0;var o=n(0),r=n(1),i=n(2),a=n(3),c=n(45),l=[["good","Alive"],["average","Unconscious"],["bad","DEAD"]],d=[["ui","Modify U.I.","dna"],["se","Modify S.E.","dna"],["buffer","Transfer Buffers","syringe"],["rejuvenators","Rejuvenators","flask"]],u=[5,10,20,30,50];t.DNAModifier=function(e,t){var n,i=(0,r.useBackend)(t),l=(i.act,i.data),d=l.irradiating,u=l.dnaBlockSize,p=l.occupant;return t.dnaBlockSize=u,t.isDNAInvalid=!p.isViableSubject||!p.uniqueIdentity||!p.structuralEnzymes,d&&(n=(0,o.createComponentVNode)(2,g,{duration:d})),(0,o.createComponentVNode)(2,a.Window,{width:660,height:700,resizable:!0,children:[(0,o.createComponentVNode)(2,c.ComplexModal),n,(0,o.createComponentVNode)(2,a.Window.Content,{className:"Layout__content--flexColumn",children:[(0,o.createComponentVNode)(2,s),(0,o.createComponentVNode)(2,m)]})]})};var s=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,d=c.locked,u=c.hasOccupant,s=c.occupant;return(0,o.createComponentVNode)(2,i.Section,{title:"Occupant",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{color:"label",display:"inline",mr:"0.5rem",children:"Door Lock:"}),(0,o.createComponentVNode)(2,i.Button,{disabled:!u,selected:d,icon:d?"toggle-on":"toggle-off",content:d?"Engaged":"Disengaged",onClick:function(){return a("toggleLock")}}),(0,o.createComponentVNode)(2,i.Button,{disabled:!u||d,icon:"user-slash",content:"Eject",onClick:function(){return a("ejectOccupant")}})],4),children:u?(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Name",children:s.name}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,i.ProgressBar,{min:s.minHealth,max:s.maxHealth,value:s.health/s.maxHealth,ranges:{good:[.5,Infinity],average:[0,.5],bad:[-Infinity,0]}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",color:l[s.stat][0],children:l[s.stat][1]}),(0,o.createComponentVNode)(2,i.LabeledList.Divider)]})}),t.isDNAInvalid?(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:[(0,o.createComponentVNode)(2,i.Icon,{name:"exclamation-circle"}),"\xa0 The occupant's DNA structure is ruined beyond recognition, please insert a subject with an intact DNA structure."]}):(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Radiation",children:(0,o.createComponentVNode)(2,i.ProgressBar,{min:"0",max:"100",value:s.radiationLevel/100,color:"average"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Unique Enzymes",children:c.occupant.uniqueEnzymes?c.occupant.uniqueEnzymes:(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:[(0,o.createComponentVNode)(2,i.Icon,{name:"exclamation-circle"}),"\xa0 Unknown"]})})]})],0):(0,o.createComponentVNode)(2,i.Box,{color:"label",children:"Cell unoccupied."})})},m=function(e,t){var n,a=(0,r.useBackend)(t),c=a.act,l=a.data,u=l.selectedMenuKey,s=l.hasOccupant;l.occupant;return s?t.isDNAInvalid?(0,o.createComponentVNode)(2,i.Section,{flexGrow:"1",children:(0,o.createComponentVNode)(2,i.Flex,{height:"100%",children:(0,o.createComponentVNode)(2,i.Flex.Item,{grow:"1",align:"center",textAlign:"center",color:"label",children:[(0,o.createComponentVNode)(2,i.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,o.createVNode)(1,"br"),"No operation possible on this subject."]})})}):("ui"===u?n=(0,o.createFragment)([(0,o.createComponentVNode)(2,p),(0,o.createComponentVNode)(2,C)],4):"se"===u?n=(0,o.createFragment)([(0,o.createComponentVNode)(2,h),(0,o.createComponentVNode)(2,C)],4):"buffer"===u?n=(0,o.createComponentVNode)(2,f):"rejuvenators"===u&&(n=(0,o.createComponentVNode)(2,V)),(0,o.createComponentVNode)(2,i.Section,{flexGrow:"1",children:[(0,o.createComponentVNode)(2,i.Tabs,{children:d.map((function(e,t){return(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:u===e[0],onClick:function(){return c("selectMenuKey",{key:e[0]})},children:[(0,o.createComponentVNode)(2,i.Icon,{name:e[2]}),e[1]]},t)}))}),n]})):(0,o.createComponentVNode)(2,i.Section,{flexGrow:"1",children:(0,o.createComponentVNode)(2,i.Flex,{height:"100%",children:(0,o.createComponentVNode)(2,i.Flex.Item,{grow:"1",align:"center",textAlign:"center",color:"label",children:[(0,o.createComponentVNode)(2,i.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,o.createVNode)(1,"br"),"No occupant in DNA modifier."]})})})},p=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.selectedUIBlock,d=c.selectedUISubBlock,u=c.selectedUITarget,s=c.occupant;return(0,o.createComponentVNode)(2,i.Section,{title:"Modify Unique Identifier",level:"2",children:[(0,o.createComponentVNode)(2,v,{dnaString:s.uniqueIdentity,selectedBlock:l,selectedSubblock:d,blockSize:t.dnaBlockSize,action:"selectUIBlock"}),(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Target",children:(0,o.createComponentVNode)(2,i.Knob,{minValue:"1",maxValue:"15",stepPixelSize:"20",value:u,format:function(e){return e.toString(16).toUpperCase()},ml:"0",onChange:function(e,t){return a("changeUITarget",{value:t})}})})}),(0,o.createComponentVNode)(2,i.Button,{icon:"radiation",content:"Irradiate Block",mt:"0.5rem",onClick:function(){return a("pulseUIRadiation")}})]})},h=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.selectedSEBlock,d=c.selectedSESubBlock,u=c.occupant;return(0,o.createComponentVNode)(2,i.Section,{title:"Modify Structural Enzymes",level:"2",children:[(0,o.createComponentVNode)(2,v,{dnaString:u.structuralEnzymes,selectedBlock:l,selectedSubblock:d,blockSize:t.dnaBlockSize,action:"selectSEBlock"}),(0,o.createComponentVNode)(2,i.Button,{icon:"radiation",content:"Irradiate Block",onClick:function(){return a("pulseSERadiation")}})]})},C=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.radiationIntensity,d=c.radiationDuration;return(0,o.createComponentVNode)(2,i.Section,{title:"Radiation Emitter",level:"2",children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Intensity",children:(0,o.createComponentVNode)(2,i.Knob,{minValue:"1",maxValue:"10",stepPixelSize:"20",value:l,popUpPosition:"right",ml:"0",onChange:function(e,t){return a("radiationIntensity",{value:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Duration",children:(0,o.createComponentVNode)(2,i.Knob,{minValue:"1",maxValue:"20",stepPixelSize:"10",unit:"s",value:d,popUpPosition:"right",ml:"0",onChange:function(e,t){return a("radiationDuration",{value:t})}})})]}),(0,o.createComponentVNode)(2,i.Button,{icon:"radiation",content:"Pulse Radiation",tooltip:"Mutates a random block of either the occupant's UI or SE.",tooltipPosition:"top-right",mt:"0.5rem",onClick:function(){return a("pulseRadiation")}})]})},f=function(e,t){var n=(0,r.useBackend)(t),a=(n.act,n.data.buffers.map((function(e,t){return(0,o.createComponentVNode)(2,N,{id:t+1,name:"Buffer "+(t+1),buffer:e},t)})));return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Buffers",level:"2",children:a}),(0,o.createComponentVNode)(2,b)],4)},N=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=e.id,d=e.name,u=e.buffer,s=c.isInjectorReady,m=d+(u.data?" - "+u.label:"");return(0,o.createComponentVNode)(2,i.Box,{backgroundColor:"rgba(0, 0, 0, 0.33)",mb:"0.5rem",children:(0,o.createComponentVNode)(2,i.Section,{title:m,level:"3",mx:"0",lineHeight:"18px",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button.Confirm,{disabled:!u.data,icon:"trash",content:"Clear",onClick:function(){return a("bufferOption",{option:"clear",id:l})}}),(0,o.createComponentVNode)(2,i.Button,{disabled:!u.data,icon:"pen",content:"Rename",onClick:function(){return a("bufferOption",{option:"changeLabel",id:l})}}),(0,o.createComponentVNode)(2,i.Button,{disabled:!u.data||!c.hasDisk,icon:"save",content:"Export",tooltip:"Exports this buffer to the currently loaded data disk.",tooltipPosition:"bottom-left",onClick:function(){return a("bufferOption",{option:"saveDisk",id:l})}})],4),children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Write",children:[(0,o.createComponentVNode)(2,i.Button,{icon:"arrow-circle-down",content:"Subject U.I",mb:"0",onClick:function(){return a("bufferOption",{option:"saveUI",id:l})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"arrow-circle-down",content:"Subject U.I and U.E.",mb:"0",onClick:function(){return a("bufferOption",{option:"saveUIAndUE",id:l})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"arrow-circle-down",content:"Subject S.E.",mb:"0",onClick:function(){return a("bufferOption",{option:"saveSE",id:l})}}),(0,o.createComponentVNode)(2,i.Button,{disabled:!c.hasDisk||!c.disk.data,icon:"arrow-circle-down",content:"From Disk",mb:"0",onClick:function(){return a("bufferOption",{option:"loadDisk",id:l})}})]}),!!u.data&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Subject",children:u.owner||(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"Unknown"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Data Type",children:["ui"===u.type?"Unique Identifiers":"Structural Enzymes",!!u.ue&&" and Unique Enzymes"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Transfer to",children:[(0,o.createComponentVNode)(2,i.Button,{disabled:!s,icon:s?"syringe":"spinner",iconSpin:!s,content:"Injector",mb:"0",onClick:function(){return a("bufferOption",{option:"createInjector",id:l})}}),(0,o.createComponentVNode)(2,i.Button,{disabled:!s,icon:s?"syringe":"spinner",iconSpin:!s,content:"Block Injector",mb:"0",onClick:function(){return a("bufferOption",{option:"createInjector",id:l,block:1})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"user",content:"Subject",mb:"0",onClick:function(){return a("bufferOption",{option:"transfer",id:l})}})]})],4)]}),!u.data&&(0,o.createComponentVNode)(2,i.Box,{color:"label",mt:"0.5rem",children:"This buffer is empty."})]})})},b=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.hasDisk,d=c.disk;return(0,o.createComponentVNode)(2,i.Section,{title:"Data Disk",level:"2",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button.Confirm,{disabled:!l||!d.data,icon:"trash",content:"Wipe",onClick:function(){return a("wipeDisk")}}),(0,o.createComponentVNode)(2,i.Button,{disabled:!l,icon:"eject",content:"Eject",onClick:function(){return a("ejectDisk")}})],4),children:l?d.data?(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Label",children:d.label?d.label:"No label"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Subject",children:d.owner?d.owner:(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"Unknown"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Data Type",children:["ui"===d.type?"Unique Identifiers":"Structural Enzymes",!!d.ue&&" and Unique Enzymes"]})]}):(0,o.createComponentVNode)(2,i.Box,{color:"label",children:"Disk is blank."}):(0,o.createComponentVNode)(2,i.Box,{color:"label",textAlign:"center",my:"1rem",children:[(0,o.createComponentVNode)(2,i.Icon,{name:"save-o",size:"4"}),(0,o.createVNode)(1,"br"),"No disk inserted."]})})},V=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.isBeakerLoaded,d=c.beakerVolume,s=c.beakerLabel;return(0,o.createComponentVNode)(2,i.Section,{title:"Rejuvenators and Beaker",level:"2",buttons:(0,o.createComponentVNode)(2,i.Button,{disabled:!l,icon:"eject",content:"Eject",onClick:function(){return a("ejectBeaker")}}),children:l?(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Inject",children:[u.map((function(e,t){return(0,o.createComponentVNode)(2,i.Button,{disabled:e>d,icon:"syringe",content:e,onClick:function(){return a("injectRejuvenators",{amount:e})}},t)})),(0,o.createComponentVNode)(2,i.Button,{disabled:d<=0,icon:"syringe",content:"All",onClick:function(){return a("injectRejuvenators",{amount:d})}})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Beaker",children:[(0,o.createComponentVNode)(2,i.Box,{mb:"0.5rem",children:s||"No label"}),d?(0,o.createComponentVNode)(2,i.Box,{color:"good",children:[d," unit",1===d?"":"s"," remaining"]}):(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Empty"})]})]}):(0,o.createComponentVNode)(2,i.Box,{color:"label",textAlign:"center",my:"25%",children:[(0,o.createComponentVNode)(2,i.Icon,{name:"exclamation-triangle",size:"4"}),(0,o.createVNode)(1,"br"),"No beaker loaded."]})})},g=function(e,t){return(0,o.createComponentVNode)(2,i.Dimmer,{textAlign:"center",children:[(0,o.createComponentVNode)(2,i.Icon,{name:"spinner",size:"5",spin:!0}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,i.Box,{color:"average",children:(0,o.createVNode)(1,"h1",null,[(0,o.createComponentVNode)(2,i.Icon,{name:"radiation"}),(0,o.createTextVNode)("\xa0Irradiating occupant\xa0"),(0,o.createComponentVNode)(2,i.Icon,{name:"radiation"})],4)}),(0,o.createComponentVNode)(2,i.Box,{color:"label",children:(0,o.createVNode)(1,"h3",null,[(0,o.createTextVNode)("For "),e.duration,(0,o.createTextVNode)(" second"),1===e.duration?"":"s"],0)})]})},v=function(e,t){for(var n=(0,r.useBackend)(t),a=n.act,c=(n.data,e.dnaString),l=e.selectedBlock,d=e.selectedSubblock,u=e.blockSize,s=e.action,m=c.split(""),p=[],h=function(e){for(var t=e/u+1,n=[],r=function(r){var c=r+1;n.push((0,o.createComponentVNode)(2,i.Button,{selected:l===t&&d===c,content:m[e+r],mb:"0",onClick:function(){return a(s,{block:t,subblock:c})}}))},c=0;c1?"Dangerous!":null]},e.stage)}))||(0,o.createComponentVNode)(2,i.Box,{children:"No virus sample loaded."})}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Affected Species",color:"label",children:[m&&m.length?null:"None",m.sort().join(", ")]}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Reverse Engineering",children:[(0,o.createComponentVNode)(2,i.Box,{color:"bad",mb:1,children:(0,o.createVNode)(1,"i",null,"CAUTION: Reverse engineering will destroy the viral sample.",16)}),d.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{content:e.stage,icon:"exchange-alt",onClick:function(){return a("grab",{grab:e.reference})}},e.stage)})),(0,o.createComponentVNode)(2,i.Button,{content:"Species",icon:"exchange-alt",onClick:function(){return a("affected_species")}})]})],4)]})},l=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=(c.dish_inserted,c.buffer),d=c.species_buffer,u=(c.effects,c.info);c.growth,c.affected_species,c.busy;return(0,o.createComponentVNode)(2,i.Section,{title:"Storage",children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Memory Buffer",children:l?(0,o.createComponentVNode)(2,i.Box,{children:[l.name," (",l.stage,")"]}):d?(0,o.createComponentVNode)(2,i.Box,{children:d}):"Empty"})}),(0,o.createComponentVNode)(2,i.Button,{mt:1,icon:"save",content:"Save To Disk",disabled:!l&&!d,onClick:function(){return a("disk")}}),l?(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Button,{icon:"pen",content:"Splice #1",disabled:l.stage>1,onClick:function(){return a("splice",{splice:1})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"pen",content:"Splice #2",disabled:l.stage>2,onClick:function(){return a("splice",{splice:2})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"pen",content:"Splice #3",disabled:l.stage>3,onClick:function(){return a("splice",{splice:3})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"pen",content:"Splice #4",disabled:l.stage>4,onClick:function(){return a("splice",{splice:4})}})]}):d?(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"pen",content:"Splice Species",disabled:!d||u,onClick:function(){return a("splice",{splice:5})}})}):null]})}},function(e,t,n){"use strict";t.__esModule=!0,t.DishIncubator=void 0;var o=n(0),r=(n(5),n(20)),i=n(1),a=n(2),c=n(3);t.DishIncubator=function(e,t){var n=(0,i.useBackend)(t),l=n.act,d=n.data,u=d.on,s=d.system_in_use,m=d.food_supply,p=d.radiation,h=d.growth,C=d.toxins,f=d.chemicals_inserted,N=d.can_breed_virus,b=d.chemical_volume,V=d.max_chemical_volume,g=d.dish_inserted,v=d.blood_already_infected,_=d.virus,k=d.analysed,y=d.infection_rate;return(0,o.createComponentVNode)(2,c.Window,{width:400,height:600,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Section,{title:"Environmental Conditions",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",selected:u,content:u?"On":"Off",onClick:function(){return l("power")}}),children:[(0,o.createComponentVNode)(2,a.Flex,{spacing:1,mb:1,children:[(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"radiation",content:"Add Radiation",onClick:function(){return l("rad")}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,a.Button.Confirm,{fluid:!0,color:"red",icon:"trash",confirmIcon:"trash",content:"Flush System",disabled:!s,onClick:function(){return l("flush")}})})]}),(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Virus Food",children:(0,o.createComponentVNode)(2,a.ProgressBar,{minValue:0,maxValue:100,ranges:{good:[40,Infinity],average:[20,40],bad:[-Infinity,20]},value:m})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Radiation Level",children:(0,o.createComponentVNode)(2,a.ProgressBar,{minValue:0,maxValue:100,color:p>=50?"bad":h>=25?"average":"good",value:p,children:[(0,r.formatCommaNumber)(1e4*p)," \xb5Sv"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Toxicity",children:(0,o.createComponentVNode)(2,a.ProgressBar,{minValue:0,maxValue:100,ranges:{bad:[50,Infinity],average:[25,50],good:[-Infinity,25]},value:C})})]})]}),(0,o.createComponentVNode)(2,a.Section,{title:N?"Vial":"Chemicals",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject "+(N?"Vial":"Chemicals"),disabled:!f,onClick:function(){return l("ejectchem")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"virus",content:"Breed Virus",disabled:!N,onClick:function(){return l("virus")}})],4),children:f&&(0,o.createComponentVNode)(2,a.Box,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Volume",children:(0,o.createComponentVNode)(2,a.ProgressBar,{minValue:0,maxValue:V,value:b,children:[b,"/",V]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Breeding Environment",color:N?"good":"average",children:[g?N?"Suitable":"No hemolytic samples detected":"N/A",v?(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"CAUTION: Viral infection detected in blood sample."}):null]})]})})||(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No chemicals inserted."})}),(0,o.createComponentVNode)(2,a.Section,{title:"Virus Dish",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject Dish",disabled:!g,onClick:function(){return l("ejectdish")}}),children:g?_?(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Growth Density",children:(0,o.createComponentVNode)(2,a.ProgressBar,{minValue:0,maxValue:100,ranges:{good:[50,Infinity],average:[25,50],bad:[-Infinity,25]},value:h})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Infection Rate",children:k?y:"Unknown."})]}):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"No virus detected."}):(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No dish loaded."})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.DisposalBin=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.DisposalBin=function(e,t){var n,c,l=(0,r.useBackend)(t),d=l.act,u=l.data;return 2===u.mode?(n="good",c="Ready"):u.mode<=0?(n="bad",c="N/A"):1===u.mode?(n="average",c="Pressurizing"):(n="average",c="Idle"),(0,o.createComponentVNode)(2,a.Window,{width:300,height:250,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.Box,{bold:!0,m:1,children:"Status"}),(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"State",color:n,children:c}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,i.ProgressBar,{ranges:{bad:[-Infinity,0],average:[0,99],good:[99,Infinity]},value:u.pressure,minValue:0,maxValue:100})})]}),(0,o.createComponentVNode)(2,i.Box,{bold:!0,m:1,children:"Controls"}),(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Handle",children:[(0,o.createComponentVNode)(2,i.Button,{icon:"toggle-off",disabled:u.isAI||u.panel_open,content:"Disengaged",selected:u.flushing?null:"selected",onClick:function(){return d("disengageHandle")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"toggle-on",disabled:u.isAI||u.panel_open,content:"Engaged",selected:u.flushing?"selected":null,onClick:function(){return d("engageHandle")}})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Power",children:[(0,o.createComponentVNode)(2,i.Button,{icon:"toggle-off",disabled:-1===u.mode,content:"Off",selected:u.mode?null:"selected",onClick:function(){return d("pumpOff")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"toggle-on",disabled:-1===u.mode,content:"On",selected:u.mode?"selected":null,onClick:function(){return d("pumpOn")}})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Eject",children:(0,o.createComponentVNode)(2,i.Button,{icon:"sign-out-alt",disabled:u.isAI,content:"Eject Contents",onClick:function(){return d("eject")}})})]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.DroneConsole=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.DroneConsole=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.drones,u=l.areas,s=l.selected_area,m=l.fabricator,p=l.fabPower;return(0,o.createComponentVNode)(2,a.Window,{width:600,height:350,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Drone Fabricator",buttons:(0,o.createComponentVNode)(2,i.Button,{disabled:!m,selected:p,icon:"power-off",content:p?"Enabled":"Disabled",onClick:function(){return c("toggle_fab")}}),children:m?(0,o.createComponentVNode)(2,i.Box,{color:"good",children:"Linked."}):(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:["Fabricator not detected.",(0,o.createComponentVNode)(2,i.Button,{icon:"sync",content:"Search for Fabricator",onClick:function(){return c("search_fab")}})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Request Drone",children:[(0,o.createComponentVNode)(2,i.Dropdown,{options:u?u.sort():null,selected:s,width:"100%",onSelected:function(e){return c("set_dcall_area",{area:e})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"share-square",content:"Send Ping",onClick:function(){return c("ping")}})]}),(0,o.createComponentVNode)(2,i.Section,{title:"Maintenance Units",children:d&&d.length?(0,o.createComponentVNode)(2,i.LabeledList,{children:d.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"sync",content:"Resync",onClick:function(){return c("resync",{ref:e.ref})}}),(0,o.createComponentVNode)(2,i.Button.Confirm,{icon:"exclamation-triangle",color:"red",content:"Shutdown",onClick:function(){return c("shutdown",{ref:e.ref})}})],4),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Location",children:e.loc}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Charge",children:[e.charge," / ",e.maxCharge]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Active",children:e.active?"Yes":"No"})]})},e.name)}))}):(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No drones detected."})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.EmbeddedController=void 0;var o=n(0),r=(n(6),n(5),n(1)),i=n(2),a=n(3),c=((0,n(24).createLogger)("fuck"),{});t.EmbeddedController=function(e,t){var n=(0,r.useBackend)(t),i=(n.act,n.data.internalTemplateName),l=c[i];if(!l)throw Error("Unable to find Component for template name: "+i);return(0,o.createComponentVNode)(2,a.Window,{width:450,height:340,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:(0,o.createComponentVNode)(2,l)})})};var l=function(e,t){var n=e.bars;return(0,o.createComponentVNode)(2,i.Section,{title:"Status",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:n.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.label,children:(0,o.createComponentVNode)(2,i.ProgressBar,{color:e.color(e.value),minValue:e.minValue,maxValue:e.maxValue,value:e.value,children:e.textValue})},e.label)}))})})},d=function(e,t){var n=(0,r.useBackend)(t),a=n.data,c=n.act,l=!0;a.interior_status&&"open"===a.interior_status.state?l=!1:a.external_pressure&&a.chamber_pressure&&(l=!(Math.abs(a.external_pressure-a.chamber_pressure)>5));var d=!0;return a.exterior_status&&"open"===a.exterior_status.state?d=!1:a.internal_pressure&&a.chamber_pressure&&(d=!(Math.abs(a.internal_pressure-a.chamber_pressure)>5)),(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Button,{disabled:a.airlock_disabled,icon:"arrow-left",content:"Cycle to Exterior",onClick:function(){return c("cycle_ext")}}),(0,o.createComponentVNode)(2,i.Button,{disabled:a.airlock_disabled,icon:"arrow-right",content:"Cycle to Interior",onClick:function(){return c("cycle_int")}})]}),(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Button.Confirm,{disabled:a.airlock_disabled,color:l?"":"bad",icon:"exclamation-triangle",confirmIcon:"exclamation-triangle",content:"Force Exterior Door",onClick:function(){return c("force_ext")}}),(0,o.createComponentVNode)(2,i.Button.Confirm,{disabled:a.airlock_disabled,color:d?"":"bad",icon:"exclamation-triangle",confirmIcon:"exclamation-triangle",content:"Force Interior Door",onClick:function(){return c("force_int")}})]})],4)},u=function(e,t){var n=(0,r.useBackend)(t),a=n.data,c=(n.act,{docked:(0,o.createComponentVNode)(2,s),undocking:(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"EJECTING-STAND CLEAR!"}),undocked:(0,o.createComponentVNode)(2,i.Box,{color:"grey",children:"POD EJECTED"}),docking:(0,o.createComponentVNode)(2,i.Box,{color:"good",children:"INITIALIZING..."})}),l=(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"ERROR"});return"open"===a.exterior_status.state?l=(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"OPEN"}):"unlocked"===a.exterior_status.lock?l=(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"UNSECURED"}):"locked"===a.exterior_status.lock&&(l=(0,o.createComponentVNode)(2,i.Box,{color:"good",children:"SECURED"})),(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Escape Pod Status",children:c[a.docking_status]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Docking Hatch",children:l})]})})},s=function(e,t){var n=(0,r.useBackend)(t),a=n.data;n.act;return a.armed?(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"ARMED"}):(0,o.createComponentVNode)(2,i.Box,{color:"good",children:"SYSTEMS OK"})},m=function(e,t){var n=(0,r.useBackend)(t),a=n.data,c=n.act;return(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Button,{disabled:!a.override_enabled,icon:"exclamation-triangle",content:"Force Exterior Door",color:"docked"!==a.docking_status?"bad":"",onClick:function(){return c("force_door")}}),(0,o.createComponentVNode)(2,i.Button,{selected:a.override_enabled,color:"docked"!==a.docking_status?"bad":"average",icon:"exclamation-triangle",content:"Override",onClick:function(){return c("toggle_override")}})]})},p=function(e,t){var n=(0,r.useBackend)(t),a=n.data,c=(n.act,{docked:(0,o.createComponentVNode)(2,i.Box,{color:"good",children:"DOCKED"}),docking:(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"DOCKING"}),undocking:(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"UNDOCKING"}),undocked:(0,o.createComponentVNode)(2,i.Box,{color:"grey",children:"NOT IN USE"})}[a.docking_status]);return a.override_enabled&&(c=(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:[a.docking_status.toUpperCase(),"-OVERRIDE ENABLED"]})),c};c.AirlockConsoleAdvanced=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,u=function(e){return e<80||e>120?"bad":e<95||e>110?"average":"good"},s=[{minValue:0,maxValue:202,value:c.external_pressure,label:"External Pressure",textValue:c.external_pressure+" kPa",color:u},{minValue:0,maxValue:202,value:c.chamber_pressure,label:"Chamber Pressure",textValue:c.chamber_pressure+" kPa",color:u},{minValue:0,maxValue:202,value:c.internal_pressure,label:"Internal Pressure",textValue:c.internal_pressure+" kPa",color:u}];return(0,o.createFragment)([(0,o.createComponentVNode)(2,l,{bars:s}),(0,o.createComponentVNode)(2,i.Section,{title:"Controls",children:[(0,o.createComponentVNode)(2,d),(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Button,{icon:"sync",content:"Purge",onClick:function(){return a("purge")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"lock-open",content:"Secure",onClick:function(){return a("secure")}})]}),(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.Button,{disabled:!c.processing,icon:"ban",color:"bad",content:"Abort",onClick:function(){return a("abort")}})})]})],4)};c.AirlockConsoleSimple=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,u=[{minValue:0,maxValue:202,value:c.chamber_pressure,label:"Chamber Pressure",textValue:c.chamber_pressure+" kPa",color:function(e){return e<80||e>120?"bad":e<95||e>110?"average":"good"}}];return(0,o.createFragment)([(0,o.createComponentVNode)(2,l,{bars:u}),(0,o.createComponentVNode)(2,i.Section,{title:"Controls",children:[(0,o.createComponentVNode)(2,d),(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.Button,{disabled:!c.processing,icon:"ban",color:"bad",content:"Abort",onClick:function(){return a("abort")}})})]})],4)};c.AirlockConsolePhoron=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,u=[{minValue:0,maxValue:202,value:c.chamber_pressure,label:"Chamber Pressure",textValue:c.chamber_pressure+" kPa",color:function(e){return e<80||e>120?"bad":e<95||e>110?"average":"good"}},{minValue:0,maxValue:100,value:c.chamber_phoron,label:"Chamber Phoron",textValue:c.chamber_phoron+" mol",color:function(e){return e>5?"bad":e>.5?"average":"good"}}];return(0,o.createFragment)([(0,o.createComponentVNode)(2,l,{bars:u}),(0,o.createComponentVNode)(2,i.Section,{title:"Controls",children:[(0,o.createComponentVNode)(2,d),(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.Button,{disabled:!c.processing,icon:"ban",color:"bad",content:"Abort",onClick:function(){return a("abort")}})})]})],4)};c.AirlockConsoleDocking=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,u=[{minValue:0,maxValue:202,value:c.chamber_pressure,label:"Chamber Pressure",textValue:c.chamber_pressure+" kPa",color:function(e){return e<80||e>120?"bad":e<95||e>110?"average":"good"}}];return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Dock",buttons:c.airlock_disabled||c.override_enabled?(0,o.createComponentVNode)(2,i.Button,{icon:"exclamation-triangle",color:c.override_enabled?"red":"",content:"Override",onClick:function(){return a("toggle_override")}}):null,children:(0,o.createComponentVNode)(2,p)}),(0,o.createComponentVNode)(2,l,{bars:u}),(0,o.createComponentVNode)(2,i.Section,{title:"Controls",children:[(0,o.createComponentVNode)(2,d),(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.Button,{disabled:!c.processing,icon:"ban",color:"bad",content:"Abort",onClick:function(){return a("abort")}})})]})],4)};c.DockingConsoleSimple=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"ERROR"});return"open"===c.exterior_status.state?l=(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"OPEN"}):"unlocked"===c.exterior_status.lock?l=(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"UNSECURED"}):"locked"===c.exterior_status.lock&&(l=(0,o.createComponentVNode)(2,i.Box,{color:"good",children:"SECURED"})),(0,o.createComponentVNode)(2,i.Section,{title:"Status",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"exclamation-triangle",disabled:!c.override_enabled,content:"Force exterior door",onClick:function(){return a("force_door")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"exclamation-triangle",color:c.override_enabled?"red":"",content:"Override",onClick:function(){return a("toggle_override")}})],4),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Dock Status",children:(0,o.createComponentVNode)(2,p)}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Docking Hatch",children:l})]})})};c.DockingConsoleMulti=function(e,t){var n=(0,r.useBackend)(t).data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Docking Status",children:(0,o.createComponentVNode)(2,p)}),(0,o.createComponentVNode)(2,i.Section,{title:"Airlocks",children:n.airlocks.length?(0,o.createComponentVNode)(2,i.LabeledList,{children:n.airlocks.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{color:e.override_enabled?"bad":"good",label:e.name,children:e.override_enabled?"OVERRIDE ENABLED":"STATUS OK"},e.name)}))}):(0,o.createComponentVNode)(2,i.Flex,{height:"100%",mt:"0.5em",children:(0,o.createComponentVNode)(2,i.Flex.Item,{grow:"1",align:"center",textAlign:"center",color:"bad",children:[(0,o.createComponentVNode)(2,i.Icon,{name:"door-closed",mb:"0.5rem",size:"5"}),(0,o.createVNode)(1,"br"),"No airlocks found."]})})})],4)};c.DoorAccessConsole=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l="open"===c.interior_status.state||"closed"===c.exterior_status.state,d="open"===c.exterior_status.state||"closed"===c.interior_status.state;return(0,o.createComponentVNode)(2,i.Section,{title:"Status",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:l?"arrow-left":"exclamation-triangle",content:l?"Cycle To Exterior":"Lock Exterior Door",onClick:function(){a(l?"cycle_ext_door":"force_ext")}}),(0,o.createComponentVNode)(2,i.Button,{icon:d?"arrow-right":"exclamation-triangle",content:d?"Cycle To Interior":"Lock Interior Door",onClick:function(){a(d?"cycle_int_door":"force_int")}})],0),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Exterior Door Status",children:"closed"===c.exterior_status.state?"Locked":"Open"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Interior Door Status",children:"closed"===c.interior_status.state?"Locked":"Open"})]})})};c.EscapePodConsole=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,u),(0,o.createComponentVNode)(2,i.Section,{title:"Controls",children:[(0,o.createComponentVNode)(2,m),(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Button,{icon:"exclamation-triangle",disabled:c.armed,color:c.armed?"bad":"average",content:"ARM",onClick:function(){return a("manual_arm")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"exclamation-triangle",disabled:!c.can_force,color:"bad",content:"MANUAL EJECT",onClick:function(){return a("force_launch")}})]})]})],4)};c.EscapePodBerthConsole=function(e,t){(0,r.useBackend)(t).data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,u),(0,o.createComponentVNode)(2,i.Section,{title:"Controls",children:(0,o.createComponentVNode)(2,m)})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ExonetNode=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.ExonetNode=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.on,u=l.allowPDAs,s=l.allowCommunicators,m=l.allowNewscasters,p=l.logs;return(0,o.createComponentVNode)(2,a.Window,{width:400,height:400,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Status",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",selected:d,content:"Power "+(d?"On":"Off"),onClick:function(){return c("toggle_power")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Incoming PDA Messages",children:(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",selected:u,content:u?"Open":"Closed",onClick:function(){return c("toggle_PDA_port")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Incoming Communicators",children:(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",selected:s,content:s?"Open":"Closed",onClick:function(){return c("toggle_communicator_port")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Incoming Newscaster Content",children:(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",selected:m,content:m?"Open":"Closed",onClick:function(){return c("toggle_newscaster_port")}})})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Logging",children:(0,o.createComponentVNode)(2,i.Flex,{wrap:"wrap",children:[p.map((function(e,t){return(0,o.createComponentVNode)(2,i.Flex.Item,{m:"2px",basis:"49%",grow:t%2,children:e},t)})),p&&0!==p.length?null:(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"No logs found."})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Farmbot=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.Farmbot=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.on,u=l.locked,s=l.tank,m=l.tankVolume,p=l.tankMaxVolume,h=l.waters_trays,C=l.refills_water,f=l.uproots_weeds,N=l.replaces_nutriment;l.collects_produce,l.removes_dead;return(0,o.createComponentVNode)(2,a.Window,{width:450,height:540,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Automatic Hyrdoponic Assisting Unit v2.0",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",selected:d,onClick:function(){return c("power")},children:d?"On":"Off"}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Water Tank",children:s&&(0,o.createComponentVNode)(2,i.ProgressBar,{value:m,maxValue:p,children:[m," / ",p]})||(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"No water tank detected."})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Behavior Controls",color:u?"good":"bad",children:u?"Locked":"Unlocked"})]})}),!u&&(0,o.createComponentVNode)(2,i.Section,{title:"Behavior Controls",children:[(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Watering Controls",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Water plants",children:(0,o.createComponentVNode)(2,i.Button,{icon:h?"toggle-on":"toggle-off",selected:h,onClick:function(){return c("water")},children:h?"Yes":"No"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Refill watertank",children:(0,o.createComponentVNode)(2,i.Button,{icon:C?"toggle-on":"toggle-off",selected:C,onClick:function(){return c("refill")},children:C?"Yes":"No"})})]})}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Weeding controls",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Weed plants",children:(0,o.createComponentVNode)(2,i.Button,{icon:f?"toggle-on":"toggle-off",selected:f,onClick:function(){return c("weed")},children:f?"Yes":"No"})})})}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Nutriment controls",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Replace fertilizer",children:(0,o.createComponentVNode)(2,i.Button,{icon:N?"toggle-on":"toggle-off",selected:N,onClick:function(){return c("replacenutri")},children:N?"Yes":"No"})})})})]})||null]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.FaxContent=t.Fax=void 0;var o=n(0),r=n(1),i=n(2),a=n(3),c=n(95),l=n(96);t.Fax=function(e,t){return(0,r.useBackend)(t).data.authenticated?(0,o.createComponentVNode)(2,a.Window,{width:600,height:250,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:[(0,o.createComponentVNode)(2,u),(0,o.createComponentVNode)(2,c.LoginInfo),(0,o.createComponentVNode)(2,d)]})}):(0,o.createComponentVNode)(2,a.Window,{width:600,height:250,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:[(0,o.createComponentVNode)(2,u),(0,o.createComponentVNode)(2,l.LoginScreen)]})})};var d=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.bossName,d=c.copyItem,u=c.cooldown,s=c.destination;return(0,o.createComponentVNode)(2,i.Section,{children:[!!u&&(0,o.createComponentVNode)(2,i.NoticeBox,{info:!0,children:"Transmitter arrays realigning. Please stand by."}),(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Network",children:[l," Quantum Entanglement Network"]})}),d&&(0,o.createComponentVNode)(2,i.Box,{mt:1,children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Currently Sending",children:d}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Sending To",children:(0,o.createComponentVNode)(2,i.Button,{icon:"map-marker-alt",content:s,onClick:function(){return a("dept")}})})]}),(0,o.createComponentVNode)(2,i.Button,{icon:"share-square",onClick:function(){return a("send")},content:"Send",fluid:!0})]})||(0,o.createComponentVNode)(2,i.Box,{mt:1,children:"Please insert item to transmit."})]})};t.FaxContent=d;var u=function(e,t){var n=(0,r.useBackend)(t),a=n.act;return n.data.copyItem?(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"eject",onClick:function(){return a("remove")},content:"Remove Item"})}):null}},function(e,t,n){"use strict";t.__esModule=!0,t.FileCabinet=void 0;var o=n(0),r=n(8),i=n(1),a=n(2),c=n(3);t.FileCabinet=function(e,t){var n=(0,i.useBackend)(t),l=n.act,d=n.data.contents,u=(0,r.sortBy)((function(e){return e.name}))(d||[]);return(0,o.createComponentVNode)(2,c.Window,{width:350,height:300,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.Section,{children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"file",content:e.name,onClick:function(){return l("retrieve",{ref:e.ref})}},e.ref)}))})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Floorbot=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.Floorbot=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.on,u=l.open,s=l.locked,m=l.vocal,p=l.amount,h=l.possible_bmode,C=l.improvefloors,f=l.eattiles,N=l.maketiles,b=l.bmode;return(0,o.createComponentVNode)(2,a.Window,{width:390,height:310,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Automatic Station Floor Repairer v2.0",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",selected:d,onClick:function(){return c("start")},children:d?"On":"Off"}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Tiles Left",children:(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:p})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Maintenance Panel",color:u?"bad":"good",children:u?"Open":"Closed"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Behavior Controls",color:s?"good":"bad",children:s?"Locked":"Unlocked"})]})}),!s&&(0,o.createComponentVNode)(2,i.Section,{title:"Behavior Controls",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Speaker",children:(0,o.createComponentVNode)(2,i.Button,{icon:m?"toggle-on":"toggle-off",selected:m,onClick:function(){return c("vocal")},children:m?"On":"Off"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Improves Floors",children:(0,o.createComponentVNode)(2,i.Button,{icon:C?"toggle-on":"toggle-off",selected:C,onClick:function(){return c("improve")},children:C?"On":"Off"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Finds Tiles",children:(0,o.createComponentVNode)(2,i.Button,{icon:f?"toggle-on":"toggle-off",selected:f,onClick:function(){return c("tiles")},children:f?"On":"Off"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Makes Metal Sheets into Tiles",children:(0,o.createComponentVNode)(2,i.Button,{icon:N?"toggle-on":"toggle-off",selected:N,onClick:function(){return c("make")},children:N?"On":"Off"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Bridge Mode",children:(0,o.createComponentVNode)(2,i.Dropdown,{over:!0,width:"100%",placeholder:"Disabled",selected:b,options:h,onSelected:function(e){return c("bridgemode",{dir:e})}})})]})})||null]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.GasPump=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.GasPump=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.on,u=l.pressure_set,s=l.last_flow_rate,m=l.last_power_draw,p=l.max_power_draw;return(0,o.createComponentVNode)(2,a.Window,{width:470,height:290,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:[(0,o.createComponentVNode)(2,i.Section,{title:"Status",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Flow Rate",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:s/10})," L/s"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Load",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:m,minValue:0,maxValue:p,color:m=100?s="Running":!d&&u>0&&(s="DISCHARGING"),(0,o.createComponentVNode)(2,a.Window,{width:500,height:400,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:(0,o.createComponentVNode)(2,i.Section,{title:"Status",buttons:(0,o.createComponentVNode)(2,i.Button.Confirm,{icon:"exclamation-triangle",confirmIcon:"exclamation-triangle",color:"red",content:"Toggle Breaker",confirmContent:d?"This will disable gravity!":"This will enable gravity!",onClick:function(){return c("gentoggle")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Breaker Setting",children:d?"Generator Enabled":"Generator Disabled"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Charge Mode",children:["Generator ",s]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Charge Status",children:[u,"%"]})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.GuestPass=void 0;var o=n(0),r=n(8),i=n(1),a=n(2),c=n(3);t.GuestPass=function(e,t){var n=(0,i.useBackend)(t),l=n.act,d=n.data,u=(d.access,d.area),s=d.giver,m=d.giveName,p=d.reason,h=d.duration,C=d.mode,f=d.log,N=d.uid;return(0,o.createComponentVNode)(2,c.Window,{width:500,height:520,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:1===C&&(0,o.createComponentVNode)(2,a.Section,{title:"Activity Log",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"scroll",content:"Activity Log",selected:!0,onClick:function(){return l("mode",{mode:0})}}),children:[(0,o.createComponentVNode)(2,a.Button,{icon:"print",content:"Print",onClick:function(){return l("print")},fluid:!0,mb:1}),(0,o.createComponentVNode)(2,a.Section,{level:2,title:"Logs",children:f.length&&f.map((function(e){return(0,o.createVNode)(1,"div",null,null,1,{dangerouslySetInnerHTML:{__html:e}},e)}))||(0,o.createComponentVNode)(2,a.Box,{children:"No logs."})})]})||(0,o.createComponentVNode)(2,a.Section,{title:"Guest pass terminal #"+N,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"scroll",content:"Activity Log",onClick:function(){return l("mode",{mode:1})}}),children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Issuing ID",children:(0,o.createComponentVNode)(2,a.Button,{content:s||"Insert ID",onClick:function(){return l("id")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Issued To",children:(0,o.createComponentVNode)(2,a.Button,{content:m,onClick:function(){return l("giv_name")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Reason",children:(0,o.createComponentVNode)(2,a.Button,{content:p,onClick:function(){return l("reason")}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Duration (minutes)",children:(0,o.createComponentVNode)(2,a.Button,{content:h,onClick:function(){return l("duration")}})})]}),(0,o.createComponentVNode)(2,a.Button.Confirm,{icon:"check",fluid:!0,content:"Issue Pass",onClick:function(){return l("issue")}}),(0,o.createComponentVNode)(2,a.Section,{title:"Access",level:2,children:(0,r.sortBy)((function(e){return e.area_name}))(u).map((function(e){return(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:e.on,content:e.area_name,onClick:function(){return l("access",{access:e.area})}},e.area)}))})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.GyrotronControlContent=t.GyrotronControl=void 0;var o=n(0),r=n(1),i=n(3),a=n(2);t.GyrotronControl=function(e,t){return(0,o.createComponentVNode)(2,i.Window,{width:627,height:700,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:(0,o.createComponentVNode)(2,c)})})};var c=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data.gyros;return(0,o.createComponentVNode)(2,a.Section,{title:"Gyrotrons",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Set Tag",onClick:function(){return i("set_tag")}}),children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Name"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Position"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Status"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Fire Delay"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Strength"})]}),c.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:[e.x,", ",e.y,", ",e.z]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:e.active?"Online":"Offline",selected:e.active,disabled:!e.deployed,onClick:function(){return i("toggle_active",{gyro:e.ref})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Knob,{forcedInputWidth:"60px",size:1.25,color:!!e.active&&"yellow",value:e.fire_delay,unit:"decisecond(s)",minValue:1,maxValue:60,stepPixelSize:1,onDrag:function(t,n){return i("set_rate",{gyro:e.ref,rate:n})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Knob,{forcedInputWidth:"60px",size:1.25,color:!!e.active&&"yellow",value:e.strength,unit:"penta-dakw",minValue:1,maxValue:50,stepPixelSize:1,onDrag:function(t,n){return i("set_str",{gyro:e.ref,str:n})}})})]},e.name)}))]})})};t.GyrotronControlContent=c},function(e,t,n){"use strict";t.__esModule=!0,t.Holodeck=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.Holodeck=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.supportedPrograms,u=l.restrictedPrograms,s=l.currentProgram,m=l.isSilicon,p=l.safetyDisabled,h=l.emagged,C=l.gravity,f=d;return p&&(f=f.concat(u)),(0,o.createComponentVNode)(2,a.Window,{width:400,height:610,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Programs",children:f.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{color:-1!==u.indexOf(e)?"bad":null,icon:"eye",content:e,selected:s===e,fluid:!0,onClick:function(){return c("program",{program:e})}},e)}))}),!!m&&(0,o.createComponentVNode)(2,i.Section,{title:"Override",children:(0,o.createComponentVNode)(2,i.Button,{icon:"exclamation-triangle",fluid:!0,disabled:h,color:p?"good":"bad",onClick:function(){return c("AIoverride")},children:[!!h&&"Error, unable to control. ",p?"Enable Safeties":"Disable Safeties"]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Controls",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Safeties",children:p?(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"DISABLED"}):(0,o.createComponentVNode)(2,i.Box,{color:"good",children:"ENABLED"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Gravity",children:(0,o.createComponentVNode)(2,i.Button,{icon:"user-astronaut",selected:C,onClick:function(){return c("gravity")},children:C?"Enabled":"Disabled"})})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ICAssembly=void 0;var o=n(0),r=n(5),i=n(1),a=n(2),c=n(3),l=(n(6),n(20));t.ICAssembly=function(e,t){var n=(0,i.useBackend)(t),u=(n.act,n.data),s=u.total_parts,m=u.max_components,p=u.total_complexity,h=u.max_complexity,C=u.battery_charge,f=u.battery_max,N=u.net_power,b=u.unremovable_circuits,V=u.removable_circuits;return(0,o.createComponentVNode)(2,c.Window,{width:600,height:380,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Section,{title:"Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Space in Assembly",children:(0,o.createComponentVNode)(2,a.ProgressBar,{ranges:{good:[0,.25],average:[.5,.75],bad:[.75,1]},value:s/m,maxValue:1,children:[s," / ",m," (",(0,r.round)(s/m*100,1),"%)"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Complexity",children:(0,o.createComponentVNode)(2,a.ProgressBar,{ranges:{good:[0,.25],average:[.5,.75],bad:[.75,1]},value:p/h,maxValue:1,children:[p," / ",h," (",(0,r.round)(p/h*100,1),"%)"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cell Charge",children:C&&(0,o.createComponentVNode)(2,a.ProgressBar,{ranges:{bad:[0,.25],average:[.5,.75],good:[.75,1]},value:C/f,maxValue:1,children:[C," / ",f," (",(0,r.round)(C/f*100,1),"%)"]})||(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"No cell detected."})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Net Energy",children:0===N?"0 W/s":(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:N,format:function(e){return"-"+(0,l.formatPower)(Math.abs(e))+"/s"}})})]})}),b.length&&(0,o.createComponentVNode)(2,d,{title:"Built-in Components",circuits:b})||null,V.length&&(0,o.createComponentVNode)(2,d,{title:"Removable Components",circuits:V})||null]})})};var d=function(e,t){var n=(0,i.useBackend)(t).act,r=e.title,c=e.circuits;return(0,o.createComponentVNode)(2,a.Section,{title:r,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:[(0,o.createComponentVNode)(2,a.Button,{icon:"eye",onClick:function(){return n("open_circuit",{ref:e.ref})},children:"View"}),(0,o.createComponentVNode)(2,a.Button,{icon:"eye",onClick:function(){return n("rename_circuit",{ref:e.ref})},children:"Rename"}),(0,o.createComponentVNode)(2,a.Button,{icon:"eye",onClick:function(){return n("scan_circuit",{ref:e.ref})},children:"Debugger Scan"}),(0,o.createComponentVNode)(2,a.Button,{icon:"eye",onClick:function(){return n("remove_circuit",{ref:e.ref})},children:"Remove"}),(0,o.createComponentVNode)(2,a.Button,{icon:"eye",onClick:function(){return n("bottom_circuit",{ref:e.ref})},children:"Move to Bottom"})]},e.ref)}))})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ICCircuit=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3),c=n(6),l=n(20);t.ICCircuit=function(e,t){var n=(0,r.useBackend)(t),c=n.act,s=n.data,m=(s.name,s.desc),p=s.displayed_name,h=(s.removable,s.complexity),C=s.power_draw_idle,f=s.power_draw_per_use,N=s.extended_desc,b=s.inputs,V=s.outputs,g=s.activators;return(0,o.createComponentVNode)(2,a.Window,{width:600,height:400,resizable:!0,title:p,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Stats",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return c("rename")},children:"Rename"}),(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return c("scan")},children:"Scan with Device"}),(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return c("remove")},children:"Remove"})],4),children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Complexity",children:h}),C&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Power Draw (Idle)",children:(0,l.formatPower)(C)})||null,f&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Power Draw (Active)",children:(0,l.formatPower)(f)})||null]}),N]}),(0,o.createComponentVNode)(2,i.Section,{title:"Circuit",children:[(0,o.createComponentVNode)(2,i.Flex,{textAlign:"center",spacing:1,children:[b.length&&(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i.Section,{title:"Inputs",children:(0,o.createComponentVNode)(2,d,{list:b})})})||null,(0,o.createComponentVNode)(2,i.Flex.Item,{basis:b.length&&V.length?"33%":b.length||V.length?"45%":"100%",children:(0,o.createComponentVNode)(2,i.Section,{title:p,mb:1,children:(0,o.createComponentVNode)(2,i.Box,{children:m})})}),V.length&&(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i.Section,{title:"Outputs",children:(0,o.createComponentVNode)(2,d,{list:V})})})||null]}),(0,o.createComponentVNode)(2,i.Section,{title:"Triggers",children:g.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,children:[(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return c("pin_name",{pin:e.ref})},children:e.pulse_out?"":""}),(0,o.createComponentVNode)(2,u,{pin:e})]},e.name)}))})]})]})})};var d=function(e,t){var n=(0,r.useBackend)(t).act;return e.list.map((function(e){return(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return n("pin_name",{pin:e.ref})},children:[(0,c.decodeHtmlEntities)(e.type),": ",e.name]}),(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return n("pin_data",{pin:e.ref})},children:e.data}),(0,o.createComponentVNode)(2,u,{pin:e})]},e.ref)}))},u=function(e,t){var n=(0,r.useBackend)(t).act,a=e.pin;return a.linked.map((function(e){return(0,o.createComponentVNode)(2,i.Box,{inline:!0,children:[(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return n("pin_unwire",{pin:a.ref,link:e.ref})},children:e.name}),"@\xa0",(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return n("examine",{ref:e.holder_ref})},children:e.holder_name})]},e.ref)}))}},function(e,t,n){"use strict";t.__esModule=!0,t.ICDetailer=void 0;var o=n(0),r=n(1),i=n(2),a=n(3),c=n(6);t.ICDetailer=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.detail_color,s=d.color_list;return(0,o.createComponentVNode)(2,a.Window,{width:420,height:254,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:(0,o.createComponentVNode)(2,i.Section,{children:Object.keys(s).map((function(e,t){return(0,o.createComponentVNode)(2,i.Button,{ml:0,mr:0,mb:-.4,mt:0,tooltip:(0,c.toTitleCase)(e),tooltipPosition:t%6==5?"left":"right",height:"64px",width:"64px",onClick:function(){return l("change_color",{color:e})},style:s[e]===u?{border:"4px solid black","border-radius":0}:{"border-radius":0},backgroundColor:s[e]},e)}))})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ICPrinter=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3),c=n(8);n(24);t.ICPrinter=function(e,t){var n=(0,r.useBackend)(t),c=(n.act,n.data),l=c.metal,u=c.max_metal,s=c.metal_per_sheet,m=(c.debug,c.upgraded),p=c.can_clone;c.assembly_to_clone,c.categories;return(0,o.createComponentVNode)(2,a.Window,{width:500,height:630,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Status",children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Metal",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:l,maxValue:u,children:[l/s," / ",u/s," sheets"]})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Circuits Available",children:m?"Advanced":"Regular"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Assembly Cloning",children:p?"Available":"Unavailable"})]}),(0,o.createComponentVNode)(2,i.Box,{mt:1,children:"Note: A red component name means that the printer must be upgraded to create that component."})]}),(0,o.createComponentVNode)(2,d)]})})};var l=function(e,t){return!!e.can_build&&!(e.cost>t.metal)},d=function(e,t){var n=(0,r.useBackend)(t),a=n.act,d=n.data,u=d.categories,s=(d.debug,(0,r.useSharedState)(t,"categoryTarget",null)),m=s[0],p=s[1],h=(0,c.filter)((function(e){return e.name===m}))(u)[0];return(0,o.createComponentVNode)(2,i.Section,{title:"Circuits",children:[(0,o.createComponentVNode)(2,i.Tabs,{children:(0,c.sortBy)((function(e){return e.name}))(u).map((function(e){return(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:m===e.name,onClick:function(){return p(e.name)},children:e.name},e.name)}))}),h&&(0,o.createComponentVNode)(2,i.Section,{title:h.name,level:2,children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,c.sortBy)((function(e){return e.name}))(h.items).map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,labelColor:e.can_build?"good":"bad",buttons:(0,o.createComponentVNode)(2,i.Button,{disabled:!l(e,d),icon:"print",onClick:function(){return a("build",{build:e.path})},children:"Print"}),children:e.desc},e.name)}))})})||"No category selected."]})}},function(e,t,n){"use strict";t.__esModule=!0,t.IDCard=void 0;var o=n(0),r=n(2),i=n(1),a=n(3),c=n(192);t.IDCard=function(e,t){var n=(0,i.useBackend)(t).data,l=n.registered_name,d=n.sex,u=n.age,s=n.assignment,m=n.fingerprint_hash,p=n.blood_type,h=n.dna_hash,C=n.photo_front,f=[{name:"Sex",val:d},{name:"Age",val:u},{name:"Blood Type",val:p},{name:"Fingerprint",val:m},{name:"DNA Hash",val:h}];return(0,o.createComponentVNode)(2,a.Window,{width:470,height:250,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:(0,o.createComponentVNode)(2,r.Section,{children:[(0,o.createComponentVNode)(2,r.Flex,{children:[(0,o.createComponentVNode)(2,r.Flex.Item,{basis:"25%",textAlign:"left",children:(0,o.createComponentVNode)(2,r.Box,{inline:!0,style:{width:"101px",height:"120px",overflow:"hidden",outline:"2px solid #4972a1"},children:C&&(0,o.createVNode)(1,"img",null,null,1,{src:C.substr(1,C.length-1),style:{width:"300px","margin-left":"-94px","-ms-interpolation-mode":"nearest-neighbor"}})||(0,o.createComponentVNode)(2,r.Icon,{name:"user",size:8,ml:1.5,mt:2.5})})}),(0,o.createComponentVNode)(2,r.Flex.Item,{basis:0,grow:1,children:(0,o.createComponentVNode)(2,r.LabeledList,{children:f.map((function(e){return(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:e.name,children:e.val},e.name)}))})})]}),(0,o.createComponentVNode)(2,r.Flex,{className:"IDCard__NamePlate",align:"center",justify:"space-around",children:[(0,o.createComponentVNode)(2,r.Flex.Item,{children:(0,o.createComponentVNode)(2,r.Box,{textAlign:"center",children:l})}),(0,o.createComponentVNode)(2,r.Flex.Item,{children:(0,o.createComponentVNode)(2,r.Box,{textAlign:"center",children:(0,o.createComponentVNode)(2,c.RankIcon,{rank:s})})}),(0,o.createComponentVNode)(2,r.Flex.Item,{children:(0,o.createComponentVNode)(2,r.Box,{textAlign:"center",children:s})})]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.InventoryPanel=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.InventoryPanel=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.slots,u=l.internalsValid;return(0,o.createComponentVNode)(2,a.Window,{width:400,height:200,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:d&&d.length&&d.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,children:(0,o.createComponentVNode)(2,i.Button,{mb:-1,icon:e.item?"hand-paper":"gift",onClick:function(){return c(e.act)},children:e.item||"Nothing"})},e.name)}))})}),u&&(0,o.createComponentVNode)(2,i.Section,{title:"Actions",children:u&&(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"lungs",onClick:function(){return c("internals")},children:"Set Internals"})||null})||null]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.InventoryPanelHuman=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.InventoryPanelHuman=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.slots,u=l.specialSlots,s=(l.internals,l.internalsValid),m=l.sensors,p=l.handcuffed,h=l.handcuffedParams,C=l.legcuffed,f=l.legcuffedParams,N=l.accessory;return(0,o.createComponentVNode)(2,a.Window,{width:400,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[d&&d.length&&d.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,children:(0,o.createComponentVNode)(2,i.Button,{mb:-1,icon:e.item?"hand-paper":"gift",onClick:function(){return c(e.act,e.params)},children:e.item||"Nothing"})},e.name)})),(0,o.createComponentVNode)(2,i.LabeledList.Divider),u&&u.length&&u.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,children:(0,o.createComponentVNode)(2,i.Button,{mb:-1,icon:e.item?"hand-paper":"gift",onClick:function(){return c(e.act,e.params)},children:e.item||"Nothing"})},e.name)}))]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Actions",children:[(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"running",onClick:function(){return c("targetSlot",{slot:"splints"})},children:"Remove Splints"}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"hand-paper",onClick:function(){return c("targetSlot",{slot:"pockets"})},children:"Empty Pockets"}),s&&(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"lungs",onClick:function(){return c("targetSlot",{slot:"internals"})},children:"Set Internals"})||null,m&&(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"book-medical",onClick:function(){return c("targetSlot",{slot:"sensors"})},children:"Set Sensors"})||null,p&&(0,o.createComponentVNode)(2,i.Button,{fluid:!0,color:"bad",icon:"unlink",onClick:function(){return c("targetSlot",h)},children:"Handcuffed"})||null,C&&(0,o.createComponentVNode)(2,i.Button,{fluid:!0,color:"bad",icon:"unlink",onClick:function(){return c("targetSlot",f)},children:"Legcuffed"})||null,N&&(0,o.createComponentVNode)(2,i.Button,{fluid:!0,color:"bad",icon:"unlink",onClick:function(){return c("targetSlot",{slot:"tie"})},children:"Remove Accessory"})||null]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.IsolationCentrifuge=void 0;var o=n(0),r=(n(5),n(20),n(1)),i=n(2),a=n(3);t.IsolationCentrifuge=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.busy,u=l.antibodies,s=l.pathogens,m=l.is_antibody_sample,p=l.sample_inserted,h=(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"No vial detected."});return p&&(h=u||s?(0,o.createFragment)([u?(0,o.createComponentVNode)(2,i.Section,{title:"Antibodies",children:u}):null,s.length?(0,o.createComponentVNode)(2,i.Section,{title:"Pathogens",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:s.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,children:e.spread_type},e.name)}))})}):null],0):(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"No antibodies or viral strains detected."})),(0,o.createComponentVNode)(2,a.Window,{width:400,height:500,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:d?(0,o.createComponentVNode)(2,i.Section,{title:"The Centrifuge is currently busy.",color:"bad",children:(0,o.createVNode)(1,"center",null,(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:d}),2)}):(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:m?"Antibody Sample":"Blood Sample",children:[(0,o.createComponentVNode)(2,i.Flex,{spacing:1,mb:1,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"print",content:"Print",disabled:!u&&!s.length,onClick:function(){return c("print")}})}),(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"eject",content:"Eject Vial",disabled:!p,onClick:function(){return c("sample")}})})]}),h]}),u&&!m||s.length?(0,o.createComponentVNode)(2,i.Section,{title:"Controls",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[u&&!m?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Isolate Antibodies",children:(0,o.createComponentVNode)(2,i.Button,{icon:"pen",content:u,onClick:function(){return c("antibody")}})}):null,s.length?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Isolate Strain",children:s.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:"pen",content:e.name,onClick:function(){return c("isolate",{isolate:e.reference})}},e.name)}))}):null]})}):null],0)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.JanitorCart=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.JanitorCart=function(e,t){var n=(0,r.useBackend)(t),c=n.act,d=n.data,u=d.mybag,s=d.mybucket,m=d.mymop,p=d.myspray,h=d.myreplacer,C=d.signs;d.icons;return(0,o.createComponentVNode)(2,a.Window,{width:210,height:180,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:[(0,o.createComponentVNode)(2,i.Button,{width:"64px",height:"64px",position:"relative",tooltip:u||"Garbage Bag Slot",tooltipPosition:"bottom-right",color:u?"grey":"transparent",style:{border:u?null:"2px solid grey"},onClick:function(){return c("bag")},children:(0,o.createComponentVNode)(2,l,{iconkey:"mybag"})}),(0,o.createComponentVNode)(2,i.Button,{width:"64px",height:"64px",position:"relative",tooltip:s||"Bucket Slot",tooltipPosition:"bottom",color:s?"grey":"transparent",style:{border:s?null:"2px solid grey"},onClick:function(){return c("bucket")},children:(0,o.createComponentVNode)(2,l,{iconkey:"mybucket"})}),(0,o.createComponentVNode)(2,i.Button,{width:"64px",height:"64px",position:"relative",tooltip:m||"Mop Slot",tooltipPosition:"bottom-left",color:m?"grey":"transparent",style:{border:m?null:"2px solid grey"},onClick:function(){return c("mop")},children:(0,o.createComponentVNode)(2,l,{iconkey:"mymop"})}),(0,o.createComponentVNode)(2,i.Button,{width:"64px",height:"64px",position:"relative",tooltip:p||"Spray Slot",tooltipPosition:"top-right",color:p?"grey":"transparent",style:{border:p?null:"2px solid grey"},onClick:function(){return c("spray")},children:(0,o.createComponentVNode)(2,l,{iconkey:"myspray"})}),(0,o.createComponentVNode)(2,i.Button,{width:"64px",height:"64px",position:"relative",tooltip:h||"Light Replacer Slot",tooltipPosition:"top",color:h?"grey":"transparent",style:{border:h?null:"2px solid grey"},onClick:function(){return c("replacer")},children:(0,o.createComponentVNode)(2,l,{iconkey:"myreplacer"})}),(0,o.createComponentVNode)(2,i.Button,{width:"64px",height:"64px",position:"relative",tooltip:C||"Signs Slot",tooltipPosition:"top-left",color:C?"grey":"transparent",style:{border:C?null:"2px solid grey"},onClick:function(){return c("sign")},children:(0,o.createComponentVNode)(2,l,{iconkey:"signs"})})]})})};var c={mybag:"trash",mybucket:"fill",mymop:"broom",myspray:"spray-can",myreplacer:"lightbulb",signs:"sign"},l=function(e,t){var n=(0,r.useBackend)(t).data,a=e.iconkey,l=n.icons;return a in l?(0,o.createVNode)(1,"img",null,null,1,{src:l[a].substr(1,l[a].length-1),style:{position:"absolute",left:0,right:0,top:0,bottom:0,width:"64px",height:"64px","-ms-interpolation-mode":"nearest-neighbor"}}):(0,o.createComponentVNode)(2,i.Icon,{style:{position:"absolute",left:"4px",right:0,top:"20px",bottom:0,width:"64px",height:"64px"},fontSize:2,name:c[a]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Jukebox=void 0;var o=n(0),r=n(5),i=n(8),a=n(1),c=n(2),l=n(3);t.Jukebox=function(e,t){var n=(0,a.useBackend)(t),d=n.act,u=n.data,s=u.playing,m=u.loop_mode,p=u.volume,h=u.current_track_ref,C=u.current_track,f=u.percent,N=u.tracks;return(0,o.createComponentVNode)(2,l.Window,{width:450,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,l.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,c.Section,{title:"Currently Playing",children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Title",children:s&&C&&(0,o.createComponentVNode)(2,c.Box,{children:[C.title," by ",C.artist||"Unkown"]})||(0,o.createComponentVNode)(2,c.Box,{children:"Stopped"})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Controls",children:[(0,o.createComponentVNode)(2,c.Button,{icon:"play",disabled:s,onClick:function(){return d("play")},children:"Play"}),(0,o.createComponentVNode)(2,c.Button,{icon:"stop",disabled:!s,onClick:function(){return d("stop")},children:"Stop"})]}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Loop Mode",children:[(0,o.createComponentVNode)(2,c.Button,{icon:"play",onClick:function(){return d("loopmode",{loopmode:1})},selected:1===m,children:"Next"}),(0,o.createComponentVNode)(2,c.Button,{icon:"random",onClick:function(){return d("loopmode",{loopmode:2})},selected:2===m,children:"Shuffle"}),(0,o.createComponentVNode)(2,c.Button,{icon:"redo",onClick:function(){return d("loopmode",{loopmode:3})},selected:3===m,children:"Repeat"}),(0,o.createComponentVNode)(2,c.Button,{icon:"step-forward",onClick:function(){return d("loopmode",{loopmode:4})},selected:4===m,children:"Once"})]}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Progress",children:(0,o.createComponentVNode)(2,c.ProgressBar,{value:f,maxValue:1,color:"good"})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Volume",children:(0,o.createComponentVNode)(2,c.Slider,{minValue:0,step:.01,value:p,maxValue:1,ranges:{good:[.75,Infinity],average:[.25,.75],bad:[0,.25]},format:function(e){return(0,r.round)(100*e,1)+"%"},onChange:function(e,t){return d("volume",{val:(0,r.round)(t,2)})}})})]})}),(0,o.createComponentVNode)(2,c.Section,{title:"Available Tracks",children:N.length&&(0,i.sortBy)((function(e){return e.title}))(N).map((function(e){return(0,o.createComponentVNode)(2,c.Button,{fluid:!0,icon:"play",selected:h===e.ref,onClick:function(){return d("change_track",{change_track:e.ref})},children:e.title},e.ref)}))||(0,o.createComponentVNode)(2,c.Box,{color:"bad",children:"Error: No songs loaded."})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.LawManager=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.LawManager=function(e,t){var n=(0,r.useBackend)(t),l=(n.act,n.data.isSlaved);return(0,o.createComponentVNode)(2,a.Window,{width:800,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[l&&(0,o.createComponentVNode)(2,i.NoticeBox,{info:!0,children:["Law-synced to ",l]})||null,(0,o.createComponentVNode)(2,c)]})})};var c=function(e,t){var n=(0,r.useSharedState)(t,"lawsTabIndex",0),a=n[0],c=n[1];return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Tabs,{children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:0===a,onClick:function(){return c(0)},children:"Law Management"}),(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:1===a,onClick:function(){return c(1)},children:"Law Sets"})]}),0===a&&(0,o.createComponentVNode)(2,l)||null,1===a&&(0,o.createComponentVNode)(2,u)||null],0)},l=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.ion_law_nr,u=c.ion_law,s=c.zeroth_law,m=c.inherent_law,p=c.supplied_law,h=c.supplied_law_position,C=c.zeroth_laws,f=c.has_zeroth_laws,N=c.ion_laws,b=c.has_ion_laws,V=c.inherent_laws,g=c.has_inherent_laws,v=c.supplied_laws,_=c.has_supplied_laws,k=c.isAI,y=c.isMalf,L=c.isAdmin,B=c.channel,w=c.channels,x=C.map((function(e){return e.zero=!0,e})).concat(V);return(0,o.createComponentVNode)(2,i.Section,{children:[b&&(0,o.createComponentVNode)(2,d,{laws:N,title:l+" Laws:",mt:-2})||null,(f||g)&&(0,o.createComponentVNode)(2,d,{laws:x,title:"Inherent Laws",mt:-2})||null,_&&(0,o.createComponentVNode)(2,d,{laws:v,title:"Supplied Laws",mt:-2})||null,(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Controls",mt:-2,children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Statement Channel",children:w.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{content:e.channel,selected:B===e.channel,onClick:function(){return a("law_channel",{law_channel:e.channel})}},e.channel)}))}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"State Laws",children:(0,o.createComponentVNode)(2,i.Button,{icon:"volume-up",onClick:function(){return a("state_laws")},children:"State Laws"})}),k&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Law Notification",children:(0,o.createComponentVNode)(2,i.Button,{icon:"exclamation",onClick:function(){return a("notify_laws")},children:"Notify"})})||null]})}),y&&(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Add Laws",mt:-2,children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:"Type"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Law"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:"Index"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:"Add"})]}),L&&!f&&(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:"Zero"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Input,{value:s,fluid:!0,onChange:function(e,t){return a("change_zeroth_law",{val:t})}})}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:"N/A"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,i.Button,{icon:"plus",onClick:function(){return a("add_zeroth_law")},children:"Add"})})]})||null,(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:"Ion"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Input,{value:u,fluid:!0,onChange:function(e,t){return a("change_ion_law",{val:t})}})}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:"N/A"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,i.Button,{icon:"plus",onClick:function(){return a("add_ion_law")},children:"Add"})})]}),(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Inherent"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Input,{value:m,fluid:!0,onChange:function(e,t){return a("change_inherent_law",{val:t})}})}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:"N/A"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"plus",onClick:function(){return a("add_inherent_law")},children:"Add"})})]}),(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Supplied"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Input,{value:p,fluid:!0,onChange:function(e,t){return a("change_supplied_law",{val:t})}})}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"pen",onClick:function(){return a("change_supplied_law_position")},children:h})}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"plus",onClick:function(){return a("add_supplied_law")},children:"Add"})})]})]})})||null]})},d=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.isMalf,d=c.isAdmin,u=e.laws,s=e.title,m=e.noButtons,p=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["laws","title","noButtons"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,i.Section,Object.assign({level:2,title:s},p,{children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:"Index"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Law"}),!m&&(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:"State"})||null,l&&!m&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:"Edit"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:"Delete"})],4)||null]}),u.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:[e.index,"."]}),(0,o.createComponentVNode)(2,i.Table.Cell,{color:e.zero?"bad":null,children:e.law}),!m&&(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"volume-up",selected:e.state,onClick:function(){return a("state_law",{ref:e.ref,state_law:!e.state})},children:e.state?"Yes":"No"})})||null,l&&!m&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,i.Button,{disabled:e.zero&&!d,icon:"pen",onClick:function(){return a("edit_law",{edit_law:e.ref})},children:"Edit"})}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,i.Button,{disabled:e.zero&&!d,color:"bad",icon:"trash",onClick:function(){return a("delete_law",{delete_law:e.ref})},children:"Delete"})})],4)||null]},e.index)}))]})})))},u=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.isMalf,u=c.law_sets;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.NoticeBox,{children:"Remember: Stating laws other than those currently loaded may be grounds for decommissioning! - NanoTrasen"}),u.length&&u.map((function(e){return(0,o.createComponentVNode)(2,i.Section,{title:e.name,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{disabled:!l,icon:"sync",onClick:function(){return a("transfer_laws",{transfer_laws:e.ref})},children:"Load Laws"}),(0,o.createComponentVNode)(2,i.Button,{icon:"volume-up",onClick:function(){return a("state_law_set",{state_law_set:e.ref})},children:"State Laws"})],4),children:[e.laws.has_ion_laws&&(0,o.createComponentVNode)(2,d,{noButtons:!0,laws:e.laws.ion_laws,title:e.laws.ion_law_nr+" Laws:"})||null,(e.laws.has_zeroth_laws||e.laws.has_inherent_laws)&&(0,o.createComponentVNode)(2,d,{noButtons:!0,laws:e.laws.zeroth_laws.concat(e.laws.inherent_laws),title:e.header})||null,e.laws.has_supplied_laws&&(0,o.createComponentVNode)(2,d,{noButtons:!0,laws:e.laws.supplied_laws,title:"Supplied Laws"})||null]},e.name)}))||null],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.LookingGlass=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.LookingGlass=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.supportedPrograms,u=l.currentProgram,s=l.immersion,m=l.gravity,p=Math.min(180+23*d.length,600);return(0,o.createComponentVNode)(2,a.Window,{width:300,height:p,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Programs",children:d.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"eye",selected:e===u,onClick:function(){return c("program",{program:e})},children:e},e)}))}),(0,o.createComponentVNode)(2,i.Section,{title:"Controls",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Gravity",children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"user-astronaut",selected:m,onClick:function(){return c("gravity")},children:m?"Enabled":"Disabled"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Full Immersion",children:(0,o.createComponentVNode)(2,i.Button,{mt:-1,fluid:!0,icon:"eye",selected:s,onClick:function(){return c("immersion")},children:s?"Enabled":"Disabled"})})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.MechaControlConsole=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3),c=n(6);t.MechaControlConsole=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.beacons,s=d.stored_data;return(0,o.createComponentVNode)(2,a.Window,{width:600,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[s.length&&(0,o.createComponentVNode)(2,i.Modal,{children:(0,o.createComponentVNode)(2,i.Section,{height:"400px",style:{"overflow-y":"auto"},title:"Log",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"window-close",onClick:function(){return l("clear_log")}}),children:s.map((function(e){return(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Box,{color:"label",children:["(",e.time,") (",e.year,")"]}),(0,o.createComponentVNode)(2,i.Box,{children:(0,c.decodeHtmlEntities)(e.message)})]},e.time)}))})})||null,u.length&&u.map((function(e){return(0,o.createComponentVNode)(2,i.Section,{title:e.name,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"comment",onClick:function(){return l("send_message",{mt:e.ref})},children:"Message"}),(0,o.createComponentVNode)(2,i.Button,{icon:"eye",onClick:function(){return l("get_log",{mt:e.ref})},children:"View Log"}),(0,o.createComponentVNode)(2,i.Button.Confirm,{color:"red",content:"EMP",icon:"bomb",onClick:function(){return l("shock",{mt:e.ref})}})],4),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,i.ProgressBar,{ranges:{good:[.75*e.maxHealth,Infinity],average:[.5*e.maxHealth,.75*e.maxHealth],bad:[-Infinity,.5*e.maxHealth]},value:e.health,maxValue:e.maxHealth})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Cell Charge",children:e.cell&&(0,o.createComponentVNode)(2,i.ProgressBar,{ranges:{good:[.75*e.cellMaxCharge,Infinity],average:[.5*e.cellMaxCharge,.75*e.cellMaxCharge],bad:[-Infinity,.5*e.cellMaxCharge]},value:e.cellCharge,maxValue:e.cellMaxCharge})||(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No Cell Installed"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Air Tank",children:[e.airtank,"kPa"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Pilot",children:e.pilot||"Unoccupied"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Location",children:(0,c.toTitleCase)(e.location)||"Unknown"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Active Equipment",children:e.active||"None"}),e.cargoMax&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Cargo Space",children:(0,o.createComponentVNode)(2,i.ProgressBar,{ranges:{bad:[.75*e.cargoMax,Infinity],average:[.5*e.cargoMax,.75*e.cargoMax],good:[-Infinity,.5*e.cargoMax]},value:e.cargoUsed,maxValue:e.cargoMax})})||null]})},e.name)}))||(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No mecha beacons found."})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Medbot=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.Medbot=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.on,u=l.open,s=l.beaker,m=l.beaker_total,p=l.beaker_max,h=l.locked,C=l.heal_threshold,f=l.heal_threshold_max,N=l.injection_amount_min,b=l.injection_amount,V=l.injection_amount_max,g=l.use_beaker,v=l.declare_treatment,_=l.vocal;return(0,o.createComponentVNode)(2,a.Window,{width:400,height:600,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Automatic Medical Unit v2.0",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",selected:d,onClick:function(){return c("power")},children:d?"On":"Off"}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Maintenance Panel",color:u?"bad":"good",children:u?"Open":"Closed"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Beaker",buttons:(0,o.createComponentVNode)(2,i.Button,{disabled:!s,icon:"eject",onClick:function(){return c("eject")},children:"Eject"}),children:s&&(0,o.createComponentVNode)(2,i.ProgressBar,{value:m,maxValue:p,children:[m," / ",p]})||(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"No beaker loaded."})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Behavior Controls",color:h?"good":"bad",children:h?"Locked":"Unlocked"})]})}),!h&&(0,o.createComponentVNode)(2,i.Section,{title:"Behavioral Controls",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Healing Threshold",children:(0,o.createComponentVNode)(2,i.NumberInput,{fluid:!0,minValue:0,maxValue:f,value:C,onDrag:function(e,t){return c("adj_threshold",{val:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Injection Amount",children:(0,o.createComponentVNode)(2,i.NumberInput,{fluid:!0,minValue:N,maxValue:V,value:b,onDrag:function(e,t){return c("adj_inject",{val:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Reagent Source",children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:g?"toggle-on":"toggle-off",selected:g,onClick:function(){return c("use_beaker")},children:g?"Loaded Beaker (When available)":"Internal Synthesizer"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Treatment Report",children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:v?"toggle-on":"toggle-off",selected:v,onClick:function(){return c("declaretreatment")},children:v?"On":"Off"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Speaker",children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:_?"toggle-on":"toggle-off",selected:_,onClick:function(){return c("togglevoice")},children:_?"On":"Off"})})]})})||null]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.MedicalRecords=void 0;var o=n(0),r=n(1),i=n(2),a=n(45),c=n(3),l=n(95),d=n(96),u=n(62),s=(n(6),function(e,t){(0,a.modalOpen)(e,"edit",{field:t.edit,value:t.value})});t.MedicalRecords=function(e,t){var n,s=(0,r.useBackend)(t).data,C=s.authenticated,f=s.screen;return C?(2===f?n=(0,o.createComponentVNode)(2,m):3===f?n=(0,o.createComponentVNode)(2,p):4===f?n=(0,o.createComponentVNode)(2,h):5===f?n=(0,o.createComponentVNode)(2,N):6===f&&(n=(0,o.createComponentVNode)(2,b)),(0,o.createComponentVNode)(2,c.Window,{width:800,height:380,resizable:!0,children:[(0,o.createComponentVNode)(2,a.ComplexModal,{maxHeight:"100%",maxWidth:"80%"}),(0,o.createComponentVNode)(2,c.Window.Content,{className:"Layout__content--flexColumn",children:[(0,o.createComponentVNode)(2,l.LoginInfo),(0,o.createComponentVNode)(2,u.TemporaryNotice),(0,o.createComponentVNode)(2,V),(0,o.createComponentVNode)(2,i.Section,{height:"calc(100% - 5rem)",flexGrow:"1",children:n})]})]})):(0,o.createComponentVNode)(2,c.Window,{width:800,height:380,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(0,o.createComponentVNode)(2,d.LoginScreen)})})};var m=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data.records;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Input,{fluid:!0,placeholder:"Search by Name, DNA, or ID",onChange:function(e,t){return a("search",{t1:t})}}),(0,o.createComponentVNode)(2,i.Box,{mt:"0.5rem",children:c.map((function(e,t){return(0,o.createComponentVNode)(2,i.Button,{icon:"user",mb:"0.5rem",content:e.id+": "+e.name,onClick:function(){return a("d_rec",{d_rec:e.ref})}},t)}))})],4)},p=function(e,t){var n=(0,r.useBackend)(t).act;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"download",content:"Backup to Disk",disabled:!0}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,i.Button,{icon:"upload",content:"Upload from Disk",my:"0.5rem",disabled:!0}),(0,o.createTextVNode)(" "),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,i.Button.Confirm,{icon:"trash",content:"Delete All Medical Records",onClick:function(){return n("del_all")}})],4)},h=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.medical,d=c.printing;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"General Data",level:2,mt:"-6px",children:(0,o.createComponentVNode)(2,C)}),(0,o.createComponentVNode)(2,i.Section,{title:"Medical Data",level:2,children:(0,o.createComponentVNode)(2,f)}),(0,o.createComponentVNode)(2,i.Section,{title:"Actions",level:2,children:[(0,o.createComponentVNode)(2,i.Button.Confirm,{icon:"trash",disabled:!!l.empty,content:"Delete Medical Record",color:"bad",onClick:function(){return a("del_r")}}),(0,o.createComponentVNode)(2,i.Button,{icon:d?"spinner":"print",disabled:d,iconSpin:!!d,content:"Print Entry",ml:"0.5rem",onClick:function(){return a("print_p")}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,i.Button,{icon:"arrow-left",content:"Back",mt:"0.5rem",onClick:function(){return a("screen",{screen:2})}})]})],4)},C=function(e,t){var n=(0,r.useBackend)(t).data.general;return n&&n.fields?(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{width:"50%",float:"left",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:n.fields.map((function(e,n){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.field,children:[(0,o.createComponentVNode)(2,i.Box,{height:"20px",display:"inline-block",children:e.value.split("\n").map((function(e){return(0,o.createComponentVNode)(2,i.Box,{children:e},e)}))}),!!e.edit&&(0,o.createComponentVNode)(2,i.Button,{icon:"pen",ml:"0.5rem",onClick:function(){return s(t,e)}})]},n)}))})}),(0,o.createComponentVNode)(2,i.Box,{width:"50%",float:"right",textAlign:"right",children:!!n.has_photos&&n.photos.map((function(e,t){return(0,o.createComponentVNode)(2,i.Box,{display:"inline-block",textAlign:"center",color:"label",children:[(0,o.createVNode)(1,"img",null,null,1,{src:e.substr(1,e.length-1),style:{width:"96px","margin-bottom":"0.5rem","-ms-interpolation-mode":"nearest-neighbor"}}),(0,o.createVNode)(1,"br"),"Photo #",t+1]},t)}))})],4):(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"General records lost!"})},f=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data.medical;return l&&l.fields?(0,o.createFragment)([(0,o.createComponentVNode)(2,i.LabeledList,{children:l.fields.map((function(e,n){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.field,children:[e.value.split("\n").map((function(e){return(0,o.createComponentVNode)(2,i.Box,{children:e},e)})),(0,o.createComponentVNode)(2,i.Button,{icon:"pen",ml:"0.5rem",mb:e.line_break?"1rem":"initial",onClick:function(){return s(t,e)}})]},n)}))}),(0,o.createComponentVNode)(2,i.Section,{title:"Comments/Log",level:2,children:[0===l.comments.length?(0,o.createComponentVNode)(2,i.Box,{color:"label",children:"No comments found."}):l.comments.map((function(e,t){return(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Box,{color:"label",display:"inline",children:e.header}),(0,o.createVNode)(1,"br"),e.text,(0,o.createComponentVNode)(2,i.Button,{icon:"comment-slash",color:"bad",ml:"0.5rem",onClick:function(){return c("del_c",{del_c:t+1})}})]},t)})),(0,o.createComponentVNode)(2,i.Button,{icon:"comment-medical",content:"Add Entry",color:"good",mt:"0.5rem",mb:"0",onClick:function(){return(0,a.modalOpen)(t,"add_c")}})]})],4):(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:["Medical records lost!",(0,o.createComponentVNode)(2,i.Button,{icon:"pen",content:"New Record",ml:"0.5rem",onClick:function(){return c("new")}})]})},N=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data.virus;return c.sort((function(e,t){return e.name>t.name?1:-1})),c.map((function(e,t){return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"flask",content:e.name,mb:"0.5rem",onClick:function(){return a("vir",{vir:e.D})}}),(0,o.createVNode)(1,"br")],4,t)}))},b=function(e,t){var n=(0,r.useBackend)(t).data.medbots;return 0===n.length?(0,o.createComponentVNode)(2,i.Box,{color:"label",children:"There are no Medbots."}):n.map((function(e,t){return(0,o.createComponentVNode)(2,i.Collapsible,{open:!0,title:e.name,children:(0,o.createComponentVNode)(2,i.Box,{px:"0.5rem",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Location",children:[e.area||"Unknown"," (",e.x,", ",e.y,")"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",children:e.on?(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{color:"good",children:"Online"}),(0,o.createComponentVNode)(2,i.Box,{mt:"0.5rem",children:e.use_beaker?"Reservoir: "+e.total_volume+"/"+e.maximum_volume:"Using internal synthesizer."})],4):(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"Offline"})})]})})},t)}))},V=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data.screen;return(0,o.createComponentVNode)(2,i.Tabs,{children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:2===c,onClick:function(){return a("screen",{screen:2})},children:[(0,o.createComponentVNode)(2,i.Icon,{name:"list"}),"List Records"]}),(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:5===c,onClick:function(){return a("screen",{screen:5})},children:[(0,o.createComponentVNode)(2,i.Icon,{name:"database"}),"Virus Database"]}),(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:6===c,onClick:function(){return a("screen",{screen:6})},children:[(0,o.createComponentVNode)(2,i.Icon,{name:"plus-square"}),"Medbot Tracking"]}),(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:3===c,onClick:function(){return a("screen",{screen:3})},children:[(0,o.createComponentVNode)(2,i.Icon,{name:"wrench"}),"Record Maintenance"]})]})};(0,a.modalRegisterBodyOverride)("virus",(function(e,t){var n=(0,r.useBackend)(t).act,a=e.args;return(0,o.createComponentVNode)(2,i.Section,{level:2,m:"-1rem",title:a.name||"Virus",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"times",color:"red",onClick:function(){return n("modal_close")}}),children:(0,o.createComponentVNode)(2,i.Box,{mx:"0.5rem",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Spread",children:[a.spread_text," Transmission"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Possible cure",children:a.antigen}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Rate of Progression",children:a.rate}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Antibiotic Resistance",children:[a.resistance,"%"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Species Affected",children:a.species}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Symptoms",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:a.symptoms.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.stage+". "+e.name,children:[(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:"label",children:"Strength:"})," ",e.strength,"\xa0",(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:"label",children:"Aggressiveness:"})," ",e.aggressiveness]},e.stage)}))})})]})})})}))},function(e,t,n){"use strict";t.__esModule=!0,t.MessageMonitor=void 0;var o=n(0),r=(n(5),n(6)),i=n(1),a=n(2),c=n(3),l=n(62),d=n(61);t.MessageMonitor=function(e,t){var n,r=(0,i.useBackend)(t),d=(r.act,r.data),p=d.auth,h=d.linkedServer,C=(d.message,d.hacking),f=d.emag;return n=C||f?(0,o.createComponentVNode)(2,u):p?h?(0,o.createComponentVNode)(2,m):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"ERROR"}):(0,o.createComponentVNode)(2,s),(0,o.createComponentVNode)(2,c.Window,{width:670,height:450,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,l.TemporaryNotice),n]})})};var u=function(e,t){var n=(0,i.useBackend)(t),r=(n.act,n.data.isMalfAI);return(0,o.createComponentVNode)(2,d.FullscreenNotice,{title:"ERROR",children:r?(0,o.createComponentVNode)(2,a.Box,{children:"Brute-forcing for server key. It will take 20 seconds for every character that the password has."}):(0,o.createComponentVNode)(2,a.Box,{children:["01000010011100100111010101110100011001010010110",(0,o.createVNode)(1,"br"),"10110011001101111011100100110001101101001011011100110011",(0,o.createVNode)(1,"br"),"10010000001100110011011110111001000100000011100110110010",(0,o.createVNode)(1,"br"),"10111001001110110011001010111001000100000011010110110010",(0,o.createVNode)(1,"br"),"10111100100101110001000000100100101110100001000000111011",(0,o.createVNode)(1,"br"),"10110100101101100011011000010000001110100011000010110101",(0,o.createVNode)(1,"br"),"10110010100100000001100100011000000100000011100110110010",(0,o.createVNode)(1,"br"),"10110001101101111011011100110010001110011001000000110011",(0,o.createVNode)(1,"br"),"00110111101110010001000000110010101110110011001010111001",(0,o.createVNode)(1,"br"),"00111100100100000011000110110100001100001011100100110000",(0,o.createVNode)(1,"br"),"10110001101110100011001010111001000100000011101000110100",(0,o.createVNode)(1,"br"),"00110000101110100001000000111010001101000011001010010000",(0,o.createVNode)(1,"br"),"00111000001100001011100110111001101110111011011110111001",(0,o.createVNode)(1,"br"),"00110010000100000011010000110000101110011001011100010000",(0,o.createVNode)(1,"br"),"00100100101101110001000000111010001101000011001010010000",(0,o.createVNode)(1,"br"),"00110110101100101011000010110111001110100011010010110110",(0,o.createVNode)(1,"br"),"10110010100101100001000000111010001101000011010010111001",(0,o.createVNode)(1,"br"),"10010000001100011011011110110111001110011011011110110110",(0,o.createVNode)(1,"br"),"00110010100100000011000110110000101101110001000000111001",(0,o.createVNode)(1,"br"),"00110010101110110011001010110000101101100001000000111100",(0,o.createVNode)(1,"br"),"10110111101110101011100100010000001110100011100100111010",(0,o.createVNode)(1,"br"),"10110010100100000011010010110111001110100011001010110111",(0,o.createVNode)(1,"br"),"00111010001101001011011110110111001110011001000000110100",(0,o.createVNode)(1,"br"),"10110011000100000011110010110111101110101001000000110110",(0,o.createVNode)(1,"br"),"00110010101110100001000000111001101101111011011010110010",(0,o.createVNode)(1,"br"),"10110111101101110011001010010000001100001011000110110001",(0,o.createVNode)(1,"br"),"10110010101110011011100110010000001101001011101000010111",(0,o.createVNode)(1,"br"),"00010000001001101011000010110101101100101001000000111001",(0,o.createVNode)(1,"br"),"10111010101110010011001010010000001101110011011110010000",(0,o.createVNode)(1,"br"),"00110100001110101011011010110000101101110011100110010000",(0,o.createVNode)(1,"br"),"00110010101101110011101000110010101110010001000000111010",(0,o.createVNode)(1,"br"),"00110100001100101001000000111001001101111011011110110110",(0,o.createVNode)(1,"br"),"10010000001100100011101010111001001101001011011100110011",(0,o.createVNode)(1,"br"),"10010000001110100011010000110000101110100001000000111010",(0,o.createVNode)(1,"br"),"001101001011011010110010100101110"]})})},s=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data.isMalfAI;return(0,o.createComponentVNode)(2,d.FullscreenNotice,{title:"Welcome",children:[(0,o.createComponentVNode)(2,a.Box,{fontSize:"1.5rem",bold:!0,children:[(0,o.createComponentVNode)(2,a.Icon,{name:"exclamation-triangle",verticalAlign:"middle",size:3,mr:"1rem"}),"Unauthorized"]}),(0,o.createComponentVNode)(2,a.Box,{color:"label",my:"1rem",children:["Decryption Key:",(0,o.createComponentVNode)(2,a.Input,{placeholder:"Decryption Key",ml:"0.5rem",onChange:function(e,t){return r("auth",{key:t})}})]}),!!c&&(0,o.createComponentVNode)(2,a.Button,{icon:"terminal",content:"Hack",onClick:function(){return r("hack")}}),(0,o.createComponentVNode)(2,a.Box,{color:"label",children:"Please authenticate with the server in order to show additional options."})]})},m=function(e,t){var n,r=(0,i.useBackend)(t),c=r.act,l=r.data.linkedServer,d=(0,i.useLocalState)(t,"tabIndex",0),u=d[0],s=d[1];return 0===u?n=(0,o.createComponentVNode)(2,p):1===u?n=(0,o.createComponentVNode)(2,h,{logs:l.pda_msgs,pda:!0}):2===u?n=(0,o.createComponentVNode)(2,h,{logs:l.rc_msgs,rc:!0}):3===u?n=(0,o.createComponentVNode)(2,C):4===u&&(n=(0,o.createComponentVNode)(2,f)),(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:0===u,onClick:function(){return s(0)},children:[(0,o.createComponentVNode)(2,a.Icon,{name:"bars"})," Main Menu"]},"Main"),(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:1===u,onClick:function(){return s(1)},children:[(0,o.createComponentVNode)(2,a.Icon,{name:"font"})," Message Logs"]},"MessageLogs"),(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:2===u,onClick:function(){return s(2)},children:[(0,o.createComponentVNode)(2,a.Icon,{name:"bold"})," Request Logs"]},"RequestLogs"),(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:3===u,onClick:function(){return s(3)},children:[(0,o.createComponentVNode)(2,a.Icon,{name:"comment-alt"})," Admin Messaging"]},"AdminMessage"),(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:4===u,onClick:function(){return s(4)},children:[(0,o.createComponentVNode)(2,a.Icon,{name:"comment-slash"})," Spam Filter"]},"SpamFilter"),(0,o.createComponentVNode)(2,a.Tabs.Tab,{color:"red",onClick:function(){return c("deauth")},children:[(0,o.createComponentVNode)(2,a.Icon,{name:"sign-out-alt"})," Log Out"]},"Logout")]}),(0,o.createComponentVNode)(2,a.Box,{m:2,children:n})],4)},p=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data.linkedServer;return(0,o.createComponentVNode)(2,a.Section,{title:"Main Menu",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"link",content:"Server Link",onClick:function(){return r("find")}}),(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:"Server "+(c.active?"Enabled":"Disabled"),selected:c.active,onClick:function(){return r("active")}})],4),children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Server Status",children:(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Good"})})}),(0,o.createComponentVNode)(2,a.Button,{mt:1,icon:"key",content:"Set Custom Key",onClick:function(){return r("pass")}}),(0,o.createComponentVNode)(2,a.Button.Confirm,{color:"red",confirmIcon:"exclamation-triangle",icon:"exclamation-triangle",content:"Clear Message Logs"}),(0,o.createComponentVNode)(2,a.Button.Confirm,{color:"red",confirmIcon:"exclamation-triangle",icon:"exclamation-triangle",content:"Clear Request Logs"})]})},h=function(e,t){var n=(0,i.useBackend)(t),c=n.act,l=(n.data,e.logs),d=e.pda,u=e.rc;return(0,o.createComponentVNode)(2,a.Section,{title:d?"PDA Logs":u?"Request Logs":"Logs",buttons:(0,o.createComponentVNode)(2,a.Button.Confirm,{color:"red",icon:"trash",confirmIcon:"trash",content:"Delete All",onClick:function(){return c(d?"del_pda":"del_rc")}}),children:(0,o.createComponentVNode)(2,a.Flex,{wrap:"wrap",children:l.map((function(e,t){return(0,o.createComponentVNode)(2,a.Flex.Item,{m:"2px",basis:"49%",grow:t%2,children:(0,o.createComponentVNode)(2,a.Section,{title:e.sender+" -> "+e.recipient,buttons:(0,o.createComponentVNode)(2,a.Button.Confirm,{confirmContent:"Delete Log?",color:"bad",icon:"trash",confirmIcon:"trash",onClick:function(){return c("delete",{id:e.ref,type:u?"rc":"pda"})}}),children:u?(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Message",children:e.message}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Verification",color:"Unauthenticated"===e.id_auth?"bad":"good",children:(0,r.decodeHtmlEntities)(e.id_auth)}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Stamp",children:e.stamp})]}):e.message})},e.ref)}))})})},C=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data,l=c.possibleRecipients,d=c.customsender,u=c.customrecepient,s=c.customjob,m=c.custommessage,p=Object.keys(l);return(0,o.createComponentVNode)(2,a.Section,{title:"Admin Messaging",children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Sender",children:(0,o.createComponentVNode)(2,a.Input,{fluid:!0,value:d,onChange:function(e,t){return r("set_sender",{val:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Sender's Job",children:(0,o.createComponentVNode)(2,a.Input,{fluid:!0,value:s,onChange:function(e,t){return r("set_sender_job",{val:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Recipient",children:(0,o.createComponentVNode)(2,a.Dropdown,{value:u,options:p,width:"100%",mb:-.7,onSelected:function(e){return r("set_recipient",{val:l[e]})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Message",verticalAlign:"top",children:(0,o.createComponentVNode)(2,a.Input,{fluid:!0,mb:.5,value:m,onChange:function(e,t){return r("set_message",{val:t})}})})]}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"comment",content:"Send Message",onClick:function(){return r("send_message")}})]})},f=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data.linkedServer;return(0,o.createComponentVNode)(2,a.Section,{title:"Spam Filtering",children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:c.spamFilter.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.index,buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"trash",color:"bad",content:"Delete",onClick:function(){return r("deltoken",{deltoken:e.index})}}),children:e.token},e.index)}))}),(0,o.createComponentVNode)(2,a.Button,{icon:"plus",content:"Add New Entry",onClick:function(){return r("addtoken")}})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Microwave=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.Microwave=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.config,d=n.data,u=d.broken,s=d.operating,m=d.dirty,p=d.items;return(0,o.createComponentVNode)(2,a.Window,{width:400,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:u&&(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Bzzzzttttt!!"})})||s&&(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Box,{color:"good",children:["Microwaving in progress!",(0,o.createVNode)(1,"br"),"Please wait...!"]})})||m&&(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:["This microwave is dirty!",(0,o.createVNode)(1,"br"),"Please clean it before use!"]})})||p.length&&(0,o.createComponentVNode)(2,i.Section,{level:1,title:"Ingredients",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"radiation",onClick:function(){return c("cook")},children:"Microwave"}),(0,o.createComponentVNode)(2,i.Button,{icon:"eject",onClick:function(){return c("dispose")},children:"Eject"})],4),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:p.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,children:[e.amt," ",e.extra]},e.name)}))})})||(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:[l.title," is empty."]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.MiningOreProcessingConsole=void 0;var o=n(0),r=n(6),i=n(1),a=n(2),c=n(3),l=(n(8),n(193));t.MiningOreProcessingConsole=function(e,t){var n=(0,i.useBackend)(t),r=n.act,d=n.data,u=d.unclaimedPoints,s=(d.ores,d.showAllOres,d.power),p=d.speed;return(0,o.createComponentVNode)(2,c.Window,{width:400,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(0,o.createComponentVNode)(2,l.MiningUser,{insertIdText:(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-right",mr:1,onClick:function(){return r("insert")},children:"Insert ID"}),"in order to claim points."]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"bolt",selected:p,onClick:function(){return r("speed_toggle")},children:p?"High-Speed Active":"High-Speed Inactive"}),(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",selected:s,onClick:function(){return r("power")},children:s?"Smelting":"Not Smelting"})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current unclaimed points",buttons:(0,o.createComponentVNode)(2,a.Button,{disabled:u<1,icon:"download",onClick:function(){return r("claim")},children:"Claim"}),children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:u})})})}),(0,o.createComponentVNode)(2,m)]})})};var d=["Not Processing","Smelting","Compressing","Alloying"],u=["verdantium","mhydrogen","diamond","platinum","uranium","gold","silver","rutile","phoron","marble","lead","sand","carbon","hematite"],s=function(e,t){return-1===u.indexOf(e.ore)||-1===u.indexOf(t.ore)?e.ore-t.ore:u.indexOf(t.ore)-u.indexOf(e.ore)},m=function(e,t){var n=(0,i.useBackend)(t),c=n.act,l=n.data,u=l.ores,m=l.showAllOres;l.power;return(0,o.createComponentVNode)(2,a.Section,{title:"Ore Processing Controls",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:m?"toggle-on":"toggle-off",selected:m,onClick:function(){return c("showAllOres")},children:m?"All Ores":"Ores in Machine"}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:u.length&&u.sort(s).map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:(0,r.toTitleCase)(e.name),buttons:(0,o.createComponentVNode)(2,a.Dropdown,{width:"120px",color:(0===e.processing?"red":1===e.processing&&"green")||2===e.processing&&"blue"||3===e.processing&&"yellow",options:d,selected:d[e.processing],onSelected:function(t){return c("toggleSmelting",{ore:e.ore,set:d.indexOf(t)})}}),children:(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:e.amount})})},e.ore)}))||(0,o.createComponentVNode)(2,a.Box,{color:"bad",textAlign:"center",children:"No ores in machine."})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.MiningStackingConsole=void 0;var o=n(0),r=n(6),i=n(1),a=n(2),c=n(3);n(8);t.MiningStackingConsole=function(e,t){var n=(0,i.useBackend)(t),l=n.act,d=n.data,u=d.stacktypes,s=d.stackingAmt;return(0,o.createComponentVNode)(2,c.Window,{width:400,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Stacker Controls",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Stacking",children:(0,o.createComponentVNode)(2,a.NumberInput,{fluid:!0,value:s,minValue:1,maxValue:50,stepPixelSize:5,onChange:function(e,t){return l("change_stack",{amt:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),u.length&&u.sort().map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:(0,r.toTitleCase)(e.type),buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",onClick:function(){return l("release_stack",{stack:e.type})},children:"Eject"}),children:(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:e.amt})},e.type)}))||(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Empty",color:"average",children:"No stacks in machine."})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.MiningVendor=void 0;var o=n(0),r=n(6),i=n(1),a=n(2),c=n(3),l=n(193);var d={Alphabetical:function(e,t){return e-t},"By availability":function(e,t){return-(e.affordable-t.affordable)},"By price":function(e,t){return e.price-t.price}};t.MiningVendor=function(e,t){return(0,o.createComponentVNode)(2,c.Window,{width:400,height:450,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{className:"Layout__content--flexColumn",scrollable:!0,children:[(0,o.createComponentVNode)(2,l.MiningUser,{insertIdText:"Please insert an ID in order to make purchases."}),(0,o.createComponentVNode)(2,s),(0,o.createComponentVNode)(2,u)]})})};var u=function(e,t){var n=(0,i.useBackend)(t),l=(n.act,n.data),u=l.has_id,s=l.id,p=l.items,h=(0,i.useLocalState)(t,"search",""),C=h[0],f=(h[1],(0,i.useLocalState)(t,"sort","Alphabetical")),N=f[0],b=(f[1],(0,i.useLocalState)(t,"descending",!1)),V=b[0],g=(b[1],(0,r.createSearch)(C,(function(e){return e[0]}))),v=!1,_=Object.entries(p).map((function(e,t){var n=Object.entries(e[1]).filter(g).map((function(e){return e[1].affordable=u&&s.points>=e[1].price,e[1]})).sort(d[N]);if(0!==n.length)return V&&(n=n.reverse()),v=!0,(0,o.createComponentVNode)(2,m,{title:e[0],items:n},e[0])}));return(0,o.createComponentVNode)(2,a.Flex.Item,{grow:"1",overflow:"auto",children:(0,o.createComponentVNode)(2,a.Section,{onClick:function(e){return(0,c.refocusLayout)()},children:v?_:(0,o.createComponentVNode)(2,a.Box,{color:"label",children:"No items matching your criteria was found!"})})})},s=function(e,t){var n=(0,i.useLocalState)(t,"search",""),r=(n[0],n[1]),c=(0,i.useLocalState)(t,"sort",""),l=(c[0],c[1]),u=(0,i.useLocalState)(t,"descending",!1),s=u[0],m=u[1];return(0,o.createComponentVNode)(2,a.Box,{mb:"0.5rem",children:(0,o.createComponentVNode)(2,a.Flex,{width:"100%",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{grow:"1",mr:"0.5rem",children:(0,o.createComponentVNode)(2,a.Input,{placeholder:"Search by item name..",width:"100%",onInput:function(e,t){return r(t)}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{basis:"30%",children:(0,o.createComponentVNode)(2,a.Dropdown,{selected:"Alphabetical",options:Object.keys(d),width:"100%",lineHeight:"19px",onSelected:function(e){return l(e)}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Button,{icon:s?"arrow-down":"arrow-up",height:"19px",tooltip:s?"Descending order":"Ascending order",tooltipPosition:"bottom-left",ml:"0.5rem",onClick:function(){return m(!s)}})})]})})},m=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data,l=e.title,d=e.items,u=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,["title","items"]);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.Collapsible,Object.assign({open:!0,title:l},u,{children:d.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Box,{display:"inline-block",verticalAlign:"middle",lineHeight:"20px",style:{float:"left"},children:e.name}),(0,o.createComponentVNode)(2,a.Button,{disabled:!c.has_id||c.id.points=450?"Overcharged":e>=250?"Good Charge":"Low Charge":e>=250?"NIF Power Requirement met.":e>=150?"Fluctuations in available power.":"Power failure imminent."},u=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=(n.config,n.data),u=c.nif_percent,s=c.nif_stat,m=(c.last_notification,c.nutrition),p=c.isSynthetic,h=c.modules,C=e.setViewing;return(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"NIF Condition",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:u,minValue:0,maxValue:100,ranges:{good:[50,Infinity],average:[25,50],bad:[-Infinity,0]},children:[l(s,u)," (",(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:u}),"%)"]})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"NIF Power",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:m,minValue:0,maxValue:700,ranges:{good:[250,Infinity],average:[150,250],bad:[0,150]},children:d(m,p)})})]}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"NIFSoft Modules",mt:1,children:(0,o.createComponentVNode)(2,i.LabeledList,{children:h.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button.Confirm,{icon:"trash",color:"bad",confirmContent:"UNINSTALL?",confirmIcon:"trash",tooltip:"Uninstall Module",tooltipPosition:"left",onClick:function(){return a("uninstall",{module:e.ref})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"search",onClick:function(){return C(e)},tooltip:"View Information",tooltipPosition:"left"})],4),children:e.activates&&(0,o.createComponentVNode)(2,i.Button,{fluid:!0,selected:e.active,content:e.stat_text,onClick:function(){return a("toggle_module",{module:e.ref})}})||(0,o.createComponentVNode)(2,i.Box,{children:e.stat_text})},e.ref)}))})})]})},s=function(e,t){var n=(0,r.useBackend)(t),a=n.act,l=n.data.theme;return(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"NIF Theme",verticalAlign:"top",children:(0,o.createComponentVNode)(2,i.Dropdown,{width:"100%",placeholder:"Default",selected:l,options:c,onSelected:function(e){return a("setTheme",{theme:e})}})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NTNetRelay=void 0;var o=n(0),r=n(1),i=n(2),a=n(3),c=n(61);t.NTNetRelay=function(e,t){var n=(0,r.useBackend)(t),i=(n.act,n.data),c=i.dos_crashed,u=(i.enabled,i.dos_overload,i.dos_capacity,(0,o.createComponentVNode)(2,l));return c&&(u=(0,o.createComponentVNode)(2,d)),(0,o.createComponentVNode)(2,a.Window,{width:c?700:500,height:c?600:300,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:u})})};var l=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=(c.dos_crashed,c.enabled),d=c.dos_overload,u=c.dos_capacity;return(0,o.createComponentVNode)(2,i.Section,{title:"Status",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",selected:l,content:"Relay "+(l?"On":"Off"),onClick:function(){return a("toggle")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Network Buffer Status",children:[d," / ",u," GQ"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Options",children:(0,o.createComponentVNode)(2,i.Button,{icon:"exclamation-triangle",content:"Purge network blacklist",onClick:function(){return a("purge")}})})]})})},d=function(e,t){var n=(0,r.useBackend)(t),a=n.act;n.data;return(0,o.createComponentVNode)(2,c.FullscreenNotice,{title:"ERROR",children:[(0,o.createComponentVNode)(2,i.Box,{fontSize:"1.5rem",bold:!0,color:"bad",children:[(0,o.createComponentVNode)(2,i.Icon,{name:"exclamation-triangle",verticalAlign:"middle",size:3,mr:"1rem"}),(0,o.createVNode)(1,"h2",null,"NETWORK BUFFERS OVERLOADED",16),(0,o.createVNode)(1,"h3",null,"Overload Recovery Mode",16),(0,o.createVNode)(1,"i",null,"This system is suffering temporary outage due to overflow of traffic buffers. Until buffered traffic is processed, all further requests will be dropped. Frequent occurences of this error may indicate insufficient hardware capacity of your network. Please contact your network planning department for instructions on how to resolve this issue.",16),(0,o.createVNode)(1,"h3",null,"ADMINISTRATIVE OVERRIDE",16),(0,o.createVNode)(1,"b",null," CAUTION - Data loss may occur ",16)]}),(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"exclamation-triangle",content:"Purge buffered traffic",onClick:function(){return a("restart")}})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Newscaster=void 0;var o=n(0),r=n(6),i=n(1),a=n(2),c=n(3),l=n(62);t.Newscaster=function(e,t){var n=(0,i.useBackend)(t),r=(n.act,n.data);r.screen,r.user;return(0,o.createComponentVNode)(2,c.Window,{width:600,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,l.TemporaryNotice,{decode:!0}),(0,o.createComponentVNode)(2,d)]})})};var d=function(e,t){var n=(0,i.useBackend)(t),r=(n.act,n.data.user,(0,i.useSharedState)(t,"screen","Main Menu")),c=r[0],l=r[1],d=u[c];return(0,o.createComponentVNode)(2,a.Box,{children:(0,o.createComponentVNode)(2,d,{setScreen:l})})},u={"Main Menu":function(e,t){var n=(0,i.useBackend)(t),r=(n.act,n.data),c=r.securityCaster,l=r.wanted_issue,d=e.setScreen;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Main Menu",children:[l&&(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"eye",onClick:function(){return d("View Wanted")},color:"bad",children:"Read WANTED Issue"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"eye",onClick:function(){return d("View List")},children:"View Feed Channels"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"plus",onClick:function(){return d("New Channel")},children:"Create Feed Channel"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"plus",onClick:function(){return d("New Story")},children:"Create Feed Message"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"print",onClick:function(){return d("Print")},children:"Print Newspaper"})]}),!!c&&(0,o.createComponentVNode)(2,a.Section,{title:"Feed Security Functions",children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"plus",onClick:function(){return d("New Wanted")},children:'Manage "Wanted" Issue'})})],0)},"New Channel":function(e,t){var n=(0,i.useBackend)(t),c=n.act,l=n.data,d=l.channel_name,u=l.c_locked,s=l.user,m=e.setScreen;return(0,o.createComponentVNode)(2,a.Section,{title:"Creating new Feed Channel",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"undo",onClick:function(){return m("Main Menu")},children:"Back"}),children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Channel Name",children:(0,o.createComponentVNode)(2,a.Input,{fluid:!0,value:(0,r.decodeHtmlEntities)(d),onInput:function(e,t){return c("set_channel_name",{val:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Channel Author",color:"good",children:s}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Accept Public Feeds",children:(0,o.createComponentVNode)(2,a.Button,{icon:u?"lock":"lock-open",selected:!u,onClick:function(){return c("set_channel_lock")},children:u?"No":"Yes"})})]}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,color:"good",icon:"plus",onClick:function(){return c("submit_new_channel")},children:"Submit Channel"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,color:"bad",icon:"undo",onClick:function(){return m("Main Menu")},children:"Cancel"})]})},"View List":function(e,t){var n=(0,i.useBackend)(t),c=n.act,l=n.data.channels,d=e.setScreen;return(0,o.createComponentVNode)(2,a.Section,{title:"Station Feed Channels",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"undo",onClick:function(){return d("Main Menu")},children:"Back"}),children:l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"eye",color:e.admin?"good":e.censored?"bad":"",onClick:function(){c("show_channel",{show_channel:e.ref}),d("View Selected Channel")},children:(0,r.decodeHtmlEntities)(e.name)},e.name)}))})},"New Story":function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data,l=c.channel_name,d=c.user,u=c.msg,s=c.photo_data,m=e.setScreen;return(0,o.createComponentVNode)(2,a.Section,{title:"Creating new Feed Message...",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"undo",onClick:function(){return m("Main Menu")},children:"Back"}),children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Receiving Channel",children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,onClick:function(){return r("set_channel_receiving")},children:l||"Unset"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Message Author",color:"good",children:d}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Message Body",verticalAlign:"top",children:(0,o.createComponentVNode)(2,a.Flex,{children:[(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,a.Section,{width:"99%",inline:!0,children:u||"(no message yet)"})}),(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Button,{verticalAlign:"top",onClick:function(){return r("set_new_message")},icon:"pen",tooltip:"Edit Message",tooltipPosition:"left"})})]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Attach Photo",children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"image",onClick:function(){return r("set_attachment")},children:s?"Photo Attached":"No Photo"})})]}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,color:"good",icon:"plus",onClick:function(){return r("submit_new_message")},children:"Submit Message"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,color:"bad",icon:"undo",onClick:function(){return m("Main Menu")},children:"Cancel"})]})},Print:function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data,l=c.total_num,d=c.active_num,u=c.message_num,s=c.paper_remaining,m=e.setScreen;return(0,o.createComponentVNode)(2,a.Section,{title:"Printing",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"undo",onClick:function(){return m("Main Menu")},children:"Back"}),children:[(0,o.createComponentVNode)(2,a.Box,{color:"label",mb:1,children:["Newscaster currently serves a total of ",l," Feed channels, ",d," of which are active, and a total of ",u," Feed stories."]}),(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Liquid Paper remaining",children:[100*s," cm\xb3"]})}),(0,o.createComponentVNode)(2,a.Button,{mt:1,fluid:!0,color:"good",icon:"plus",onClick:function(){return r("print_paper")},children:"Print Paper"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,color:"bad",icon:"undo",onClick:function(){return m("Main Menu")},children:"Cancel"})]})},"New Wanted":function(e,t){var n=(0,i.useBackend)(t),c=n.act,l=n.data,d=l.channel_name,u=l.msg,s=l.photo_data,m=l.user,p=l.wanted_issue,h=e.setScreen;return(0,o.createComponentVNode)(2,a.Section,{title:"Wanted Issue Handler",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"undo",onClick:function(){return h("Main Menu")},children:"Back"}),children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:[!!p&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Already In Circulation",children:"A wanted issue is already in circulation. You can edit or cancel it below."}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Criminal Name",children:(0,o.createComponentVNode)(2,a.Input,{fluid:!0,value:(0,r.decodeHtmlEntities)(d),onInput:function(e,t){return c("set_channel_name",{val:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Description",children:(0,o.createComponentVNode)(2,a.Input,{fluid:!0,value:(0,r.decodeHtmlEntities)(u),onInput:function(e,t){return c("set_wanted_desc",{val:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Attach Photo",children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"image",onClick:function(){return c("set_attachment")},children:s?"Photo Attached":"No Photo"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Prosecutor",color:"good",children:m})]}),(0,o.createComponentVNode)(2,a.Button,{mt:1,fluid:!0,color:"good",icon:"plus",onClick:function(){return c("submit_wanted")},children:"Submit Wanted Issue"}),!!p&&(0,o.createComponentVNode)(2,a.Button,{fluid:!0,color:"average",icon:"minus",onClick:function(){return c("cancel_wanted")},children:"Take Down Issue"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,color:"bad",icon:"undo",onClick:function(){return h("Main Menu")},children:"Cancel"})]})},"View Wanted":function(e,t){var n=(0,i.useBackend)(t),c=(n.act,n.data.wanted_issue),l=e.setScreen;return c?(0,o.createComponentVNode)(2,a.Section,{title:"--STATIONWIDE WANTED ISSUE--",color:"bad",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"undo",onClick:function(){return l("Main Menu")},children:"Back"}),children:(0,o.createComponentVNode)(2,a.Box,{color:"white",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Submitted by",color:"good",children:(0,r.decodeHtmlEntities)(c.author)}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Criminal",children:(0,r.decodeHtmlEntities)(c.criminal)}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Description",children:(0,r.decodeHtmlEntities)(c.desc)}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Photo",children:c.img&&(0,o.createVNode)(1,"img",null,null,1,{src:c.img})||"None"})]})})}):(0,o.createComponentVNode)(2,a.Section,{title:"No Outstanding Wanted Issues",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"undo",onClick:function(){return l("Main Menu")},children:"Back"}),children:"There are no wanted issues currently outstanding."})},"View Selected Channel":function(e,t){var n=(0,i.useBackend)(t),c=n.act,l=n.data,d=l.viewing_channel,u=l.securityCaster,s=l.company,m=e.setScreen;return d?(0,o.createComponentVNode)(2,a.Section,{title:(0,r.decodeHtmlEntities)(d.name),buttons:(0,o.createFragment)([!!u&&(0,o.createComponentVNode)(2,a.Button.Confirm,{color:"bad",icon:"ban",confirmIcon:"ban",content:"Issue D-Notice",onClick:function(){return c("toggle_d_notice",{ref:d.ref})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"undo",onClick:function(){return m("View List")},children:"Back"})],0),children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Channel Created By",children:u&&(0,o.createComponentVNode)(2,a.Button.Confirm,{color:"bad",icon:"strikethrough",confirmIcon:"strikethrough",content:(0,r.decodeHtmlEntities)(d.author),tooltip:"Censor?",confirmContent:"Censor Author",onClick:function(){return c("censor_channel_author",{ref:d.ref})}})||(0,o.createComponentVNode)(2,a.Box,{children:(0,r.decodeHtmlEntities)(d.author)})})}),!!d.censored&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:["ATTENTION: This channel has been deemed as threatening to the welfare of the station, and marked with a ",s," D-Notice. No further feed story additions are allowed while the D-Notice is in effect."]}),!!d.messages.length&&d.messages.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{children:["- ",(0,r.decodeHtmlEntities)(e.body),!!e.img&&(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createVNode)(1,"img",null,null,1,{src:"data:image/png;base64,"+e.img}),(0,r.decodeHtmlEntities)(e.caption)||null]}),(0,o.createComponentVNode)(2,a.Box,{color:"grey",children:["[Story by ",(0,r.decodeHtmlEntities)(e.author)," - ",e.timestamp,"]"]}),!!u&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button.Confirm,{mt:1,color:"bad",icon:"strikethrough",confirmIcon:"strikethrough",content:"Censor Story",onClick:function(){return c("censor_channel_story_body",{ref:e.ref})}}),(0,o.createComponentVNode)(2,a.Button.Confirm,{color:"bad",icon:"strikethrough",confirmIcon:"strikethrough",content:"Censor Author",onClick:function(){return c("censor_channel_story_author",{ref:e.ref})}})],4)]},e.ref)}))||!d.censored&&(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No feed messages found in channel."})]}):(0,o.createComponentVNode)(2,a.Section,{title:"Channel Not Found",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"undo",onClick:function(){return m("View List")},children:"Back"}),children:"The channel you were looking for no longer exists."})}}},function(e,t,n){"use strict";t.__esModule=!0,t.NoticeBoard=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.NoticeBoard=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data.notices;return(0,o.createComponentVNode)(2,a.Window,{width:330,height:300,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:(0,o.createComponentVNode)(2,i.Section,{children:l.length?(0,o.createComponentVNode)(2,i.LabeledList,{children:l.map((function(e,t){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,children:[e.isphoto&&(0,o.createComponentVNode)(2,i.Button,{icon:"image",content:"Look",onClick:function(){return c("look",{ref:e.ref})}})||e.ispaper&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"sticky-note",content:"Read",onClick:function(){return c("read",{ref:e.ref})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"pen",content:"Write",onClick:function(){return c("write",{ref:e.ref})}})],4)||"Unknown Entity",(0,o.createComponentVNode)(2,i.Button,{icon:"minus-circle",content:"Remove",onClick:function(){return c("remove",{ref:e.ref})}})]},t)}))}):(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"No notices posted here."})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosAccessDecrypter=void 0;var o=n(0),r=n(1),i=n(3),a=n(133),c=n(2);t.NtosAccessDecrypter=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.message,s=d.running,m=d.rate,p=d.factor,h=d.regions,C=function(e){for(var t="";t.lengthp?t+="0":t+="1";return t};return(0,o.createComponentVNode)(2,i.NtosWindow,{width:600,height:600,theme:"syndicate",children:(0,o.createComponentVNode)(2,i.NtosWindow.Content,{children:u&&(0,o.createComponentVNode)(2,c.NoticeBox,{children:u})||s&&(0,o.createComponentVNode)(2,c.Section,{children:["Attempting to decrypt network access codes. Please wait. Rate: ",m," PHash/s",(0,o.createComponentVNode)(2,c.Box,{children:C(45)}),(0,o.createComponentVNode)(2,c.Box,{children:C(45)}),(0,o.createComponentVNode)(2,c.Box,{children:C(45)}),(0,o.createComponentVNode)(2,c.Box,{children:C(45)}),(0,o.createComponentVNode)(2,c.Box,{children:C(45)}),(0,o.createComponentVNode)(2,c.Button,{fluid:!0,icon:"ban",onClick:function(){return l("PRG_reset")},children:"Abort"})]})||(0,o.createComponentVNode)(2,c.Section,{title:"Pick access code to decrypt",children:h.length&&(0,o.createComponentVNode)(2,a.IdentificationComputerRegions,{actName:"PRG_execute"})||(0,o.createComponentVNode)(2,c.Box,{children:"Please insert ID card."})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosArcade=void 0;var o=n(0),r=n(75),i=n(1),a=n(2),c=n(3);t.NtosArcade=function(e,t){var n=(0,i.useBackend)(t),l=n.act,d=n.data;return(0,o.createComponentVNode)(2,c.NtosWindow,{width:450,height:350,children:(0,o.createComponentVNode)(2,c.NtosWindow.Content,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Outbomb Cuban Pete Ultra",textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Grid,{children:[(0,o.createComponentVNode)(2,a.Grid.Column,{size:2,children:[(0,o.createComponentVNode)(2,a.Box,{m:1}),(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Player Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:d.PlayerHitpoints,minValue:0,maxValue:30,ranges:{olive:[31,Infinity],good:[20,31],average:[10,20],bad:[-Infinity,10]},children:[d.PlayerHitpoints,"HP"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Player Magic",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:d.PlayerMP,minValue:0,maxValue:10,ranges:{purple:[11,Infinity],violet:[3,11],bad:[-Infinity,3]},children:[d.PlayerMP,"MP"]})})]}),(0,o.createComponentVNode)(2,a.Box,{my:1,mx:4}),(0,o.createComponentVNode)(2,a.Section,{backgroundColor:1===d.PauseState?"#1b3622":"#471915",children:d.Status})]}),(0,o.createComponentVNode)(2,a.Grid.Column,{children:[(0,o.createComponentVNode)(2,a.ProgressBar,{value:d.Hitpoints,minValue:0,maxValue:45,ranges:{good:[30,Infinity],average:[5,30],bad:[-Infinity,5]},children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:d.Hitpoints}),"HP"]}),(0,o.createComponentVNode)(2,a.Box,{m:1}),(0,o.createComponentVNode)(2,a.Section,{inline:!0,width:"156px",textAlign:"center",children:(0,o.createVNode)(1,"img",null,null,1,{src:(0,r.resolveAsset)(d.BossID)})})]})]}),(0,o.createComponentVNode)(2,a.Box,{my:1,mx:4}),(0,o.createComponentVNode)(2,a.Button,{icon:"fist-raised",tooltip:"Go in for the kill!",tooltipPosition:"top",disabled:0===d.GameActive||1===d.PauseState,onClick:function(){return l("Attack")},content:"Attack!"}),(0,o.createComponentVNode)(2,a.Button,{icon:"band-aid",tooltip:"Heal yourself!",tooltipPosition:"top",disabled:0===d.GameActive||1===d.PauseState,onClick:function(){return l("Heal")},content:"Heal!"}),(0,o.createComponentVNode)(2,a.Button,{icon:"magic",tooltip:"Recharge your magic!",tooltipPosition:"top",disabled:0===d.GameActive||1===d.PauseState,onClick:function(){return l("Recharge_Power")},content:"Recharge!"})]}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"sync-alt",tooltip:"One more game couldn't hurt.",tooltipPosition:"top",disabled:1===d.GameActive,onClick:function(){return l("Start_Game")},content:"Begin Game"}),(0,o.createComponentVNode)(2,a.Button,{icon:"ticket-alt",tooltip:"Claim at your local Arcade Computer for Prizes!",tooltipPosition:"top",disabled:1===d.GameActive,onClick:function(){return l("Dispense_Tickets")},content:"Claim Tickets"})]}),(0,o.createComponentVNode)(2,a.Box,{color:d.TicketCount>=1?"good":"normal",children:["Earned Tickets: ",d.TicketCount]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosAtmosControl=void 0;var o=n(0),r=n(3),i=n(186);t.NtosAtmosControl=function(){return(0,o.createComponentVNode)(2,r.NtosWindow,{width:870,height:708,resizable:!0,children:(0,o.createComponentVNode)(2,r.NtosWindow.Content,{children:(0,o.createComponentVNode)(2,i.AtmosControlContent)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosCameraConsole=void 0;var o=n(0),r=n(3),i=n(187);t.NtosCameraConsole=function(){return(0,o.createComponentVNode)(2,r.NtosWindow,{width:870,height:708,resizable:!0,children:(0,o.createComponentVNode)(2,r.NtosWindow.Content,{children:(0,o.createComponentVNode)(2,i.CameraConsoleContent)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosCommunicationsConsole=void 0;var o=n(0),r=n(1),i=n(3),a=n(189);t.NtosCommunicationsConsole=function(e,t){var n=(0,r.useBackend)(t);n.act,n.data;return(0,o.createComponentVNode)(2,i.NtosWindow,{width:400,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,i.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.CommunicationsConsoleContent)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosConfiguration=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.NtosConfiguration=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.PC_device_theme,u=l.power_usage,s=l.battery_exists,m=l.battery,p=void 0===m?{}:m,h=l.disk_size,C=l.disk_used,f=l.hardware,N=void 0===f?[]:f;return(0,o.createComponentVNode)(2,a.NtosWindow,{theme:d,width:520,height:630,resizable:!0,children:(0,o.createComponentVNode)(2,a.NtosWindow.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Power Supply",buttons:(0,o.createComponentVNode)(2,i.Box,{inline:!0,bold:!0,mr:1,children:["Power Draw: ",u,"W"]}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Battery Status",color:!s&&"average",children:s?(0,o.createComponentVNode)(2,i.ProgressBar,{value:p.charge,minValue:0,maxValue:p.max,ranges:{good:[p.max/2,Infinity],average:[p.max/4,p.max/2],bad:[-Infinity,p.max/4]},children:[p.charge," / ",p.max]}):"Not Available"})})}),(0,o.createComponentVNode)(2,i.Section,{title:"File System",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:C,minValue:0,maxValue:h,color:"good",children:[C," GQ / ",h," GQ"]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Hardware Components",children:N.map((function(e){return(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,buttons:(0,o.createFragment)([!e.critical&&(0,o.createComponentVNode)(2,i.Button.Checkbox,{content:"Enabled",checked:e.enabled,mr:1,onClick:function(){return c("PC_toggle_component",{name:e.name})}}),(0,o.createComponentVNode)(2,i.Box,{inline:!0,bold:!0,mr:1,children:["Power Usage: ",e.powerusage,"W"]})],0),children:e.desc},e.name)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosCrewMonitor=void 0;var o=n(0),r=n(3),i=n(190);t.NtosCrewMonitor=function(){return(0,o.createComponentVNode)(2,r.NtosWindow,{width:800,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,r.NtosWindow.Content,{children:(0,o.createComponentVNode)(2,i.CrewMonitorContent)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosDigitalWarrant=void 0;var o=n(0),r=n(1),i=n(2),a=n(3),c=n(8);t.NtosDigitalWarrant=function(e,t){var n=(0,r.useBackend)(t),i=(n.act,n.data),c=(i.warrantname,i.warrantcharges,i.warrantauth),d=(i.type,i.allwarrants,(0,o.createComponentVNode)(2,l));return c&&(d=(0,o.createComponentVNode)(2,u)),(0,o.createComponentVNode)(2,a.NtosWindow,{width:500,height:350,resizable:!0,children:(0,o.createComponentVNode)(2,a.NtosWindow.Content,{scrollable:!0,children:d})})};var l=function(e,t){var n=(0,r.useBackend)(t),a=n.act;n.data.allwarrants;return(0,o.createComponentVNode)(2,i.Section,{title:"Warrants",children:[(0,o.createComponentVNode)(2,i.Button,{icon:"plus",fluid:!0,onClick:function(){return a("addwarrant")},children:"Create New Warrant"}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Arrest Warrants",children:(0,o.createComponentVNode)(2,d,{type:"arrest"})}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Search Warrants",children:(0,o.createComponentVNode)(2,d,{type:"search"})})]})},d=function(e,t){var n=(0,r.useBackend)(t),a=n.act,l=n.data,d=e.type,u=l.allwarrants,s=(0,c.filter)((function(e){return e.arrestsearch===d}))(u);return(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"arrest"===d?"Name":"Location"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:"arrest"===d?"Charges":"Reason"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Authorized By"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:"Edit"})]}),s.length&&s.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.warrantname}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.charges}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.auth}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,i.Button,{icon:"pen",onClick:function(){return a("editwarrant",{id:e.id})}})})]},e.id)}))||(0,o.createComponentVNode)(2,i.Table.Row,{children:(0,o.createComponentVNode)(2,i.Table.Cell,{colspan:"3",color:"bad",children:["No ",d," warrants found."]})})]})},u=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.warrantname,d=c.warrantcharges,u=c.warrantauth,s=c.type,m="arrest"===s,p="arrest"===s?"Name":"Location",h="arrest"===s?"Charges":"Reason";return(0,o.createComponentVNode)(2,i.Section,{title:m?"Editing Arrest Warrant":"Editing Search Warrant",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"save",onClick:function(){return a("savewarrant")},children:"Save"}),(0,o.createComponentVNode)(2,i.Button,{color:"bad",icon:"trash",onClick:function(){return a("deletewarrant")},children:"Delete"}),(0,o.createComponentVNode)(2,i.Button,{icon:"undo",onClick:function(){return a("back")},children:"Back"})],4),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:p,buttons:m&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"search",onClick:function(){return a("editwarrantname")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"pen",onClick:function(){return a("editwarrantnamecustom")}})],4)||(0,o.createComponentVNode)(2,i.Button,{icon:"pen",onClick:function(){return a("editwarrantnamecustom")}}),children:l}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:h,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"pen",onClick:function(){return a("editwarrantcharges")}}),children:d}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Authorized By",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"balance-scale",onClick:function(){return a("editwarrantauth")}}),children:u})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosEmailAdministration=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3),c=n(194);t.NtosEmailAdministration=function(e,t){var n=(0,r.useBackend)(t),i=(n.act,n.data),c=i.error,m=i.cur_title,p=i.current_account,h=(0,o.createComponentVNode)(2,l);return c?h=(0,o.createComponentVNode)(2,d):m?h=(0,o.createComponentVNode)(2,u):p&&(h=(0,o.createComponentVNode)(2,s)),(0,o.createComponentVNode)(2,a.NtosWindow,{width:600,height:450,resizable:!0,children:(0,o.createComponentVNode)(2,a.NtosWindow.Content,{scrollable:!0,children:h})})};var l=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data.accounts;return(0,o.createComponentVNode)(2,i.Section,{title:"Welcome to the NTNet Email Administration System",children:[(0,o.createComponentVNode)(2,i.Box,{italic:!0,mb:1,children:"SECURE SYSTEM - Have your identification ready"}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"plus",onClick:function(){return a("newaccount")},children:"Create New Account"}),(0,o.createComponentVNode)(2,i.Box,{bold:!0,mt:1,mb:1,children:"Select account to administrate"}),c.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"eye",onClick:function(){return a("viewaccount",{viewaccount:e.uid})},children:e.login},e.uid)}))]})},d=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data.error;return(0,o.createComponentVNode)(2,i.Section,{title:"Message",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"undo",onClick:function(){return a("back")},children:"Back"}),children:c})},u=function(e,t){var n=(0,r.useBackend)(t);n.act,n.data;return(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,c.NtosEmailClientViewMessage,{administrator:!0})})},s=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=(c.error,c.msg_title,c.msg_body,c.msg_timestamp,c.msg_source,c.current_account),d=c.cur_suspended,u=c.messages;c.accounts;return(0,o.createComponentVNode)(2,i.Section,{title:"Viewing "+l+" in admin mode",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"undo",onClick:function(){return a("back")},children:"Back"}),children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Account Status",children:(0,o.createComponentVNode)(2,i.Button,{color:d?"bad":"",icon:"ban",tooltip:(d?"Uns":"S")+"uspend Account?",onClick:function(){return a("ban")},children:d?"Suspended":"Normal"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Actions",children:(0,o.createComponentVNode)(2,i.Button,{icon:"key",onClick:function(){return a("changepass")},children:"Change Password"})})]}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Messages",children:u.length&&(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Source"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Title"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Received at"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Actions"})]}),u.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.source}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.title}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.timestamp}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"eye",onClick:function(){return a("viewmail",{viewmail:e.uid})},children:"View"})})]},e.uid)}))]})||(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"No messages found in selected account."})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosFileManager=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);n(6);t.NtosFileManager=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.PC_device_theme,s=d.usbconnected,m=d.filename,p=d.filedata,h=d.error,C=d.files,f=void 0===C?[]:C,N=d.usbfiles,b=void 0===N?[]:N;return(0,o.createComponentVNode)(2,a.NtosWindow,{resizable:!0,theme:u,children:(0,o.createComponentVNode)(2,a.NtosWindow.Content,{scrollable:!0,children:(m||h)&&(0,o.createComponentVNode)(2,i.Section,{title:"Viewing File "+m,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"pen",content:"Edit",onClick:function(){return l("PRG_edit")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"print",content:"Print",onClick:function(){return l("PRG_printfile")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Close",onClick:function(){return l("PRG_closefile")}})],4),children:[h||null,p&&(0,o.createVNode)(1,"div",null,null,1,{dangerouslySetInnerHTML:{__html:p}})]})||(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,c,{files:f,usbconnected:s,onUpload:function(e){return l("PRG_copytousb",{name:e})},onDelete:function(e){return l("PRG_deletefile",{name:e})},onOpen:function(e){return l("PRG_openfile",{name:e})},onRename:function(e,t){return l("PRG_rename",{name:e,new_name:t})},onDuplicate:function(e){return l("PRG_clone",{file:e})}})}),s&&(0,o.createComponentVNode)(2,i.Section,{title:"Data Disk",children:(0,o.createComponentVNode)(2,c,{usbmode:!0,files:b,usbconnected:s,onUpload:function(e){return l("PRG_copyfromusb",{name:e})},onDelete:function(e){return l("PRG_deletefile",{name:e})},onRename:function(e,t){return l("PRG_rename",{name:e,new_name:t})},onDuplicate:function(e){return l("PRG_clone",{file:e})}})})||null,(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"plus",onClick:function(){return l("PRG_newtextfile")},children:"New Text File"})})],0)})})};var c=function(e){var t=e.files,n=void 0===t?[]:t,r=e.usbconnected,a=e.usbmode,c=e.onUpload,l=e.onDelete,d=e.onRename,u=e.onOpen;return(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"File"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:"Type"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:"Size"})]}),n.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{className:"candystripe",children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.undeletable?e.name:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button.Input,{width:"80%",content:e.name,currentValue:e.name,tooltip:"Rename",onCommit:function(t,n){return d(e.name,n)}}),(0,o.createComponentVNode)(2,i.Button,{content:"Open",onClick:function(){return u(e.name)}})],4)}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.type}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.size}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:!e.undeletable&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button.Confirm,{icon:"trash",confirmIcon:"times",confirmContent:"",tooltip:"Delete",onClick:function(){return l(e.name)}}),!!r&&(a?(0,o.createComponentVNode)(2,i.Button,{icon:"download",tooltip:"Download",onClick:function(){return c(e.name)}}):(0,o.createComponentVNode)(2,i.Button,{icon:"upload",tooltip:"Upload",onClick:function(){return c(e.name)}}))],0)})]},e.name)}))]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosIdentificationComputer=void 0;var o=n(0),r=(n(8),n(1)),i=(n(2),n(3)),a=(n(6),n(28),n(133));t.NtosIdentificationComputer=function(e,t){var n=(0,r.useBackend)(t);n.act,n.data;return(0,o.createComponentVNode)(2,i.NtosWindow,{width:600,height:700,resizable:!0,children:(0,o.createComponentVNode)(2,i.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.IdentificationComputerContent,{ntos:!0})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosMain=void 0;var o=n(0),r=n(1),i=n(2),a=n(3),c={compconfig:"cog",ntndownloader:"download",filemanager:"folder",smmonitor:"radiation",alarmmonitor:"bell",cardmod:"id-card",arcade:"gamepad",ntnrc_client:"comment-alt",nttransfer:"exchange-alt",powermonitor:"plug",job_manage:"address-book",crewmani:"clipboard-list",robocontrol:"robot",atmosscan:"thermometer-half",shipping:"tags"};t.NtosMain=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.device_theme,s=d.programs,m=void 0===s?[]:s,p=d.has_light,h=d.light_on,C=d.comp_light_color,f=d.removable_media,N=void 0===f?[]:f,b=d.login,V=void 0===b?[]:b;return(0,o.createComponentVNode)(2,a.NtosWindow,{title:"syndicate"===u?"Syndix Main Menu":"NtOS Main Menu",theme:u,width:400,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,a.NtosWindow.Content,{scrollable:!0,children:[!!p&&(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.Button,{width:"144px",icon:"lightbulb",selected:h,onClick:function(){return l("PC_toggle_light")},children:["Flashlight: ",h?"ON":"OFF"]}),(0,o.createComponentVNode)(2,i.Button,{ml:1,onClick:function(){return l("PC_light_color")},children:["Color:",(0,o.createComponentVNode)(2,i.ColorBox,{ml:1,color:C})]})]}),(0,o.createComponentVNode)(2,i.Section,{title:"User Login",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:"Eject ID",disabled:!V.IDName,onClick:function(){return l("PC_Eject_Disk",{name:"ID"})}}),children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{children:["ID Name: ",V.IDName]}),(0,o.createComponentVNode)(2,i.Table.Row,{children:["Assignment: ",V.IDJob]})]})}),!!N.length&&(0,o.createComponentVNode)(2,i.Section,{title:"Media Eject",children:(0,o.createComponentVNode)(2,i.Table,{children:N.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,color:"transparent",icon:"eject",content:e,onClick:function(){return l("PC_Eject_Disk",{name:e})}})})},e)}))})}),(0,o.createComponentVNode)(2,i.Section,{title:"Programs",children:(0,o.createComponentVNode)(2,i.Table,{children:m.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,color:"transparent",icon:c[e.name]||"window-maximize-o",content:e.desc,onClick:function(){return l("PC_runprogram",{name:e.name})}})}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,width:"18px",children:!!e.running&&(0,o.createComponentVNode)(2,i.Button,{color:"transparent",icon:"times",tooltip:"Close program",tooltipPosition:"left",onClick:function(){return l("PC_killprogram",{name:e.name})}})}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,width:"18px",children:(0,o.createComponentVNode)(2,i.Button,{color:"transparent",tooltip:"Set Autorun",tooltipPosition:"left",selected:e.autorun,onClick:function(){return l("PC_setautorun",{name:e.name})},children:"AR"})})]},e.name)}))})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetChat=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.NtosNetChat=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.can_admin,u=l.adminmode,s=l.authed,m=l.username,p=l.active_channel,h=l.is_operator,C=l.all_channels,f=void 0===C?[]:C,N=l.clients,b=void 0===N?[]:N,V=l.messages,g=void 0===V?[]:V,v=null!==p,_=s||u;return(0,o.createComponentVNode)(2,a.NtosWindow,{width:900,height:675,children:(0,o.createComponentVNode)(2,a.NtosWindow.Content,{children:(0,o.createComponentVNode)(2,i.Section,{height:"600px",children:(0,o.createComponentVNode)(2,i.Table,{height:"580px",children:(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{verticalAlign:"top",style:{width:"200px"},children:[(0,o.createComponentVNode)(2,i.Box,{height:"560px",overflowY:"scroll",children:[(0,o.createComponentVNode)(2,i.Button.Input,{fluid:!0,content:"New Channel...",onCommit:function(e,t){return c("PRG_newchannel",{new_channel_name:t})}}),f.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:e.chan,selected:e.id===p,color:"transparent",onClick:function(){return c("PRG_joinchannel",{id:e.id})}},e.chan)}))]}),(0,o.createComponentVNode)(2,i.Button.Input,{fluid:!0,mt:1,content:m+"...",currentValue:m,onCommit:function(e,t){return c("PRG_changename",{new_name:t})}}),!!d&&(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"ADMIN MODE: "+(u?"ON":"OFF"),color:u?"bad":"good",onClick:function(){return c("PRG_toggleadmin")}})]}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:[(0,o.createComponentVNode)(2,i.Box,{height:"560px",overflowY:"scroll",children:v&&(_?g.map((function(e){return(0,o.createComponentVNode)(2,i.Box,{children:e.msg},e.msg)})):(0,o.createComponentVNode)(2,i.Box,{textAlign:"center",children:[(0,o.createComponentVNode)(2,i.Icon,{name:"exclamation-triangle",mt:4,fontSize:"40px"}),(0,o.createComponentVNode)(2,i.Box,{mt:1,bold:!0,fontSize:"18px",children:"THIS CHANNEL IS PASSWORD PROTECTED"}),(0,o.createComponentVNode)(2,i.Box,{mt:1,children:"INPUT PASSWORD TO ACCESS"})]}))}),(0,o.createComponentVNode)(2,i.Input,{fluid:!0,selfClear:!0,mt:1,onEnter:function(e,t){return c("PRG_speak",{message:t})}})]}),(0,o.createComponentVNode)(2,i.Table.Cell,{verticalAlign:"top",style:{width:"150px"},children:[(0,o.createComponentVNode)(2,i.Box,{height:"465px",overflowY:"scroll",children:b.map((function(e){return(0,o.createComponentVNode)(2,i.Box,{children:e.name},e.name)}))}),v&&_&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button.Input,{fluid:!0,content:"Save log...",defaultValue:"new_log",onCommit:function(e,t){return c("PRG_savelog",{log_name:t})}}),(0,o.createComponentVNode)(2,i.Button.Confirm,{fluid:!0,content:"Leave Channel",onClick:function(){return c("PRG_leavechannel")}})],4),!!h&&s&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button.Confirm,{fluid:!0,content:"Delete Channel",onClick:function(){return c("PRG_deletechannel")}}),(0,o.createComponentVNode)(2,i.Button.Input,{fluid:!0,content:"Rename Channel...",onCommit:function(e,t){return c("PRG_renamechannel",{new_name:t})}}),(0,o.createComponentVNode)(2,i.Button.Input,{fluid:!0,content:"Set Password...",onCommit:function(e,t){return c("PRG_setpassword",{new_password:t})}})],4)]})]})})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetDosContent=t.NtosNetDos=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.NtosNetDos=function(e,t){return(0,o.createComponentVNode)(2,a.NtosWindow,{width:400,height:250,theme:"syndicate",children:(0,o.createComponentVNode)(2,a.NtosWindow.Content,{children:(0,o.createComponentVNode)(2,c)})})};var c=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.relays,d=void 0===l?[]:l,u=c.focus,s=c.target,m=c.speed,p=c.overload,h=c.capacity,C=c.error;if(C)return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.NoticeBox,{children:C}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:"Reset",textAlign:"center",onClick:function(){return a("PRG_reset")}})],4);var f=function(e){for(var t="",n=p/h;t.lengthn?t+="0":t+="1";return t};return s?(0,o.createComponentVNode)(2,i.Section,{fontFamily:"monospace",textAlign:"center",children:[(0,o.createComponentVNode)(2,i.Box,{children:["CURRENT SPEED: ",m," GQ/s"]}),(0,o.createComponentVNode)(2,i.Box,{children:f(45)}),(0,o.createComponentVNode)(2,i.Box,{children:f(45)}),(0,o.createComponentVNode)(2,i.Box,{children:f(45)}),(0,o.createComponentVNode)(2,i.Box,{children:f(45)}),(0,o.createComponentVNode)(2,i.Box,{children:f(45)})]}):(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Target",children:d.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{content:e.id,selected:u===e.id,onClick:function(){return a("PRG_target_relay",{targid:e.id})}},e.id)}))})}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,bold:!0,content:"EXECUTE",color:"bad",textAlign:"center",disabled:!u,mt:1,onClick:function(){return a("PRG_execute")}})]})};t.NtosNetDosContent=c},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetDownloader=void 0;var o=n(0),r=n(5),i=n(1),a=n(2),c=n(3);t.NtosNetDownloader=function(e,t){var n=(0,i.useBackend)(t),r=n.act,d=n.data,u=d.PC_device_theme,s=d.disk_size,m=d.disk_used,p=d.downloadable_programs,h=void 0===p?[]:p,C=d.error,f=d.hacked_programs,N=void 0===f?[]:f,b=d.hackedavailable;return(0,o.createComponentVNode)(2,c.NtosWindow,{theme:u,width:480,height:735,resizable:!0,children:(0,o.createComponentVNode)(2,c.NtosWindow.Content,{scrollable:!0,children:[!!C&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:[(0,o.createComponentVNode)(2,a.Box,{mb:1,children:C}),(0,o.createComponentVNode)(2,a.Button,{content:"Reset",onClick:function(){return r("PRG_reseterror")}})]}),(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Disk usage",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:m,minValue:0,maxValue:s,children:m+" GQ / "+s+" GQ"})})})}),(0,o.createComponentVNode)(2,a.Section,{children:h.map((function(e){return(0,o.createComponentVNode)(2,l,{program:e},e.filename)}))}),!!b&&(0,o.createComponentVNode)(2,a.Section,{title:"UNKNOWN Software Repository",children:[(0,o.createComponentVNode)(2,a.NoticeBox,{mb:1,children:"Please note that Nanotrasen does not recommend download of software from non-official servers."}),N.map((function(e){return(0,o.createComponentVNode)(2,l,{program:e},e.filename)}))]})]})})};var l=function(e,t){var n=e.program,c=(0,i.useBackend)(t),l=c.act,d=c.data,u=d.disk_size,s=d.disk_used,m=d.downloadcompletion,p=(d.downloading,d.downloadname),h=d.downloadsize,C=d.downloadspeed,f=d.downloads_queue,N=u-s;return(0,o.createComponentVNode)(2,a.Box,{mb:3,children:[(0,o.createComponentVNode)(2,a.Flex,{align:"baseline",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{bold:!0,grow:1,children:n.filedesc}),(0,o.createComponentVNode)(2,a.Flex.Item,{color:"label",nowrap:!0,children:[n.size," GQ"]}),(0,o.createComponentVNode)(2,a.Flex.Item,{ml:2,width:"94px",textAlign:"center",children:n.filename===p&&(0,o.createComponentVNode)(2,a.ProgressBar,{color:"green",minValue:0,maxValue:h,value:m,children:[(0,r.round)(m/h*100,1),"% (",C,"GQ/s)"]})||-1!==f.indexOf(n.filename)&&(0,o.createComponentVNode)(2,a.Button,{icon:"ban",color:"bad",onClick:function(){return l("PRG_removequeued",{filename:n.filename})},children:"Queued..."})||(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"download",content:"Download",disabled:n.size>N,onClick:function(){return l("PRG_downloadfile",{filename:n.filename})}})})]}),"Compatible"!==n.compatibility&&(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,fontSize:"12px",position:"relative",children:[(0,o.createComponentVNode)(2,a.Icon,{mx:1,color:"red",name:"times"}),"Incompatible!"]}),n.size>N&&(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,fontSize:"12px",position:"relative",children:[(0,o.createComponentVNode)(2,a.Icon,{mx:1,color:"red",name:"times"}),"Not enough disk space!"]}),(0,o.createComponentVNode)(2,a.Box,{mt:1,italic:!0,color:"label",fontSize:"12px",children:n.fileinfo})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetMonitor=void 0;var o=n(0),r=n(2),i=n(1),a=n(3);t.NtosNetMonitor=function(e,t){var n=(0,i.useBackend)(t),c=n.act,l=n.data,d=l.ntnetrelays,u=l.ntnetstatus,s=l.config_softwaredownload,m=l.config_peertopeer,p=l.config_communication,h=l.config_systemcontrol,C=l.idsalarm,f=l.idsstatus,N=l.ntnetmaxlogs,b=l.maxlogs,V=l.minlogs,g=l.banned_nids,v=l.ntnetlogs,_=void 0===v?[]:v;return(0,o.createComponentVNode)(2,a.NtosWindow,{resizable:!0,children:(0,o.createComponentVNode)(2,a.NtosWindow.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,r.NoticeBox,{children:"WARNING: Disabling wireless transmitters when using a wireless device may prevent you from reenabling them!"}),(0,o.createComponentVNode)(2,r.Section,{title:"Wireless Connectivity",buttons:(0,o.createComponentVNode)(2,r.Button.Confirm,{icon:u?"power-off":"times",content:u?"ENABLED":"DISABLED",selected:u,onClick:function(){return c("toggleWireless")}}),children:d?(0,o.createComponentVNode)(2,r.LabeledList,{children:(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Active NTNet Relays",children:d})}):"No Relays Connected"}),(0,o.createComponentVNode)(2,r.Section,{title:"Firewall Configuration",children:(0,o.createComponentVNode)(2,r.LabeledList,{children:[(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Software Downloads",buttons:(0,o.createComponentVNode)(2,r.Button,{icon:s?"power-off":"times",content:s?"ENABLED":"DISABLED",selected:s,onClick:function(){return c("toggle_function",{id:"1"})}})}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Peer to Peer Traffic",buttons:(0,o.createComponentVNode)(2,r.Button,{icon:m?"power-off":"times",content:m?"ENABLED":"DISABLED",selected:m,onClick:function(){return c("toggle_function",{id:"2"})}})}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Communication Systems",buttons:(0,o.createComponentVNode)(2,r.Button,{icon:p?"power-off":"times",content:p?"ENABLED":"DISABLED",selected:p,onClick:function(){return c("toggle_function",{id:"3"})}})}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Remote System Control",buttons:(0,o.createComponentVNode)(2,r.Button,{icon:h?"power-off":"times",content:h?"ENABLED":"DISABLED",selected:h,onClick:function(){return c("toggle_function",{id:"4"})}})})]})}),(0,o.createComponentVNode)(2,r.Section,{title:"Security Systems",children:[!!C&&(0,o.createFragment)([(0,o.createComponentVNode)(2,r.NoticeBox,{children:"NETWORK INCURSION DETECTED"}),(0,o.createComponentVNode)(2,r.Box,{italics:!0,children:"Abnormal activity has been detected in the network. Check system logs for more information"})],4),(0,o.createComponentVNode)(2,r.LabeledList,{children:[(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Banned NIDs",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,r.Button,{icon:"ban",onClick:function(){return c("ban_nid")},children:"Ban NID"}),(0,o.createComponentVNode)(2,r.Button,{icon:"balance-scale",onClick:function(){return c("unban_nid")},children:"Unban NID"})],4),children:g.join(", ")||"None"}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"IDS Status",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,r.Button,{icon:f?"power-off":"times",content:f?"ENABLED":"DISABLED",selected:f,onClick:function(){return c("toggleIDS")}}),(0,o.createComponentVNode)(2,r.Button,{icon:"sync",content:"Reset",color:"bad",onClick:function(){return c("resetIDS")}})],4)}),(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Max Log Count",buttons:(0,o.createComponentVNode)(2,r.NumberInput,{value:N,minValue:V,maxValue:b,width:"39px",onChange:function(e,t){return c("updatemaxlogs",{new_number:t})}})})]}),(0,o.createComponentVNode)(2,r.Section,{title:"System Log",level:2,buttons:(0,o.createComponentVNode)(2,r.Button.Confirm,{icon:"trash",content:"Clear Logs",onClick:function(){return c("purgelogs")}}),children:_.map((function(e){return(0,o.createComponentVNode)(2,r.Box,{className:"candystripe",children:e.entry},e.entry)}))})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNetTransfer=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.NtosNetTransfer=function(e,t){var n=(0,r.useBackend)(t),i=(n.act,n.data),m=i.error,p=i.downloading,h=i.uploading,C=i.upload_filelist,f=(0,o.createComponentVNode)(2,s);return m?f=(0,o.createComponentVNode)(2,c):p?f=(0,o.createComponentVNode)(2,l):h?f=(0,o.createComponentVNode)(2,d):C.length&&(f=(0,o.createComponentVNode)(2,u)),(0,o.createComponentVNode)(2,a.NtosWindow,{width:575,height:700,resizable:!0,children:(0,o.createComponentVNode)(2,a.NtosWindow.Content,{scrollable:!0,children:f})})};var c=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data.error;return(0,o.createComponentVNode)(2,i.Section,{title:"An error has occured during operation.",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"undo",onClick:function(){return a("PRG_reset")},children:"Reset"}),children:["Additional Information: ",c]})},l=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.download_name,d=c.download_progress,u=c.download_size,s=c.download_netspeed;return(0,o.createComponentVNode)(2,i.Section,{title:"Download in progress",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Downloaded File",children:l}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Progress",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:d,maxValue:u,children:[d," / ",u," GQ"]})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Transfer Speed",children:[s," GQ/s"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Controls",children:(0,o.createComponentVNode)(2,i.Button,{icon:"ban",onClick:function(){return a("PRG_reset")},children:"Cancel Download"})})]})})},d=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.upload_clients,d=c.upload_filename,u=c.upload_haspassword;return(0,o.createComponentVNode)(2,i.Section,{title:"Server enabled",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Clients Connected",children:l}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Provided file",children:d}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Server Password",children:u?"Enabled":"Disabled"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Commands",children:[(0,o.createComponentVNode)(2,i.Button,{icon:"lock",onClick:function(){return a("PRG_setpassword")},children:"Set Password"}),(0,o.createComponentVNode)(2,i.Button,{icon:"ban",onClick:function(){return a("PRG_reset")},children:"Cancel Upload"})]})]})})},u=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data.upload_filelist;return(0,o.createComponentVNode)(2,i.Section,{title:"File transfer server ready.",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"undo",onClick:function(){return a("PRG_reset")},children:"Cancel"}),children:[(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"lock",onClick:function(){return a("PRG_setpassword")},children:"Set Password"}),(0,o.createComponentVNode)(2,i.Section,{title:"Pick file to serve.",level:2,children:c.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"upload",onClick:function(){return a("PRG_uploadfile",{uid:e.uid})},children:[e.filename," (",e.size,"GQ)"]},e.uid)}))})]})},s=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data.servers;return(0,o.createComponentVNode)(2,i.Section,{title:"Available Files",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"upload",onClick:function(){return a("PRG_uploadmenu")},children:"Send File"}),children:c.length&&(0,o.createComponentVNode)(2,i.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.uid,children:[!!e.haspassword&&(0,o.createComponentVNode)(2,i.Icon,{name:"lock",mr:1}),e.filename,"\xa0 (",e.size,"GQ)\xa0",(0,o.createComponentVNode)(2,i.Button,{icon:"download",onClick:function(){return a("PRG_downloadfile",{uid:e.uid})},children:"Download"})]},e.uid)}))})||(0,o.createComponentVNode)(2,i.Box,{children:"No upload servers found."})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosNewsBrowser=void 0;var o=n(0),r=n(1),i=n(2),a=n(3),c=n(75);t.NtosNewsBrowser=function(e,t){var n=(0,r.useBackend)(t),c=n.act,s=n.data,m=s.article,p=s.download,h=s.message,C=(0,o.createComponentVNode)(2,d);return m?C=(0,o.createComponentVNode)(2,l):p&&(C=(0,o.createComponentVNode)(2,u)),(0,o.createComponentVNode)(2,a.NtosWindow,{width:575,height:750,resizable:!0,children:(0,o.createComponentVNode)(2,a.NtosWindow.Content,{scrollable:!0,children:[!!h&&(0,o.createComponentVNode)(2,i.NoticeBox,{children:[h," ",(0,o.createComponentVNode)(2,i.Button,{icon:"times",onClick:function(){return c("PRG_clearmessage")}})]}),C]})})};var l=function(e,t){var n=(0,r.useBackend)(t),a=n.act,l=n.data.article;if(!l)return(0,o.createComponentVNode)(2,i.Section,{children:"Error: Article not found."});var d=l.title,u=l.cover,s=l.content;return(0,o.createComponentVNode)(2,i.Section,{title:"Viewing: "+d,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"save",onClick:function(){return a("PRG_savearticle")},children:"Save"}),(0,o.createComponentVNode)(2,i.Button,{icon:"times",onClick:function(){return a("PRG_reset")},children:"Close"})],4),children:[!!u&&(0,o.createVNode)(1,"img",null,null,1,{src:(0,c.resolveAsset)(u)}),(0,o.createVNode)(1,"div",null,null,1,{dangerouslySetInnerHTML:{__html:s}})]})},d=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.showing_archived,d=c.all_articles;return(0,o.createComponentVNode)(2,i.Section,{title:"Articles List",buttons:(0,o.createComponentVNode)(2,i.Button.Checkbox,{onClick:function(){return a("PRG_toggle_archived")},checked:l,children:"Show Archived"}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:d.length&&d.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"download",onClick:function(){return a("PRG_openarticle",{uid:e.uid})}}),children:[e.size," GQ"]},e.uid)}))||(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Error",children:"There appear to be no outstanding news articles on NTNet today."})})})},u=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data.download,l=c.download_progress,d=c.download_maxprogress,u=c.download_rate;return(0,o.createComponentVNode)(2,i.Section,{title:"Downloading...",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Progress",children:(0,o.createComponentVNode)(2,i.ProgressBar,{color:"good",minValue:0,value:l,maxValue:d,children:[l," / ",d," GQ"]})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Download Speed",children:[u," GQ/s"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Controls",children:(0,o.createComponentVNode)(2,i.Button,{icon:"ban",fluid:!0,onClick:function(){return a("PRG_reset")},children:"Abort Download"})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosOvermapNavigation=void 0;var o=n(0),r=n(3),i=n(195);t.NtosOvermapNavigation=function(){return(0,o.createComponentVNode)(2,r.NtosWindow,{width:380,height:530,resizable:!0,children:(0,o.createComponentVNode)(2,r.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i.OvermapNavigationContent)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosPowerMonitor=void 0;var o=n(0),r=n(3),i=n(135);t.NtosPowerMonitor=function(){return(0,o.createComponentVNode)(2,r.NtosWindow,{width:550,height:700,resizable:!0,children:(0,o.createComponentVNode)(2,r.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i.PowerMonitorContent)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosRCON=void 0;var o=n(0),r=n(3),i=n(196);t.NtosRCON=function(){return(0,o.createComponentVNode)(2,r.NtosWindow,{width:630,height:440,resizable:!0,children:(0,o.createComponentVNode)(2,r.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i.RCONContent)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosRevelation=void 0;var o=n(0),r=n(2),i=n(1),a=n(3);t.NtosRevelation=function(e,t){var n=(0,i.useBackend)(t),c=n.act,l=n.data;return(0,o.createComponentVNode)(2,a.NtosWindow,{width:400,height:250,theme:"syndicate",children:(0,o.createComponentVNode)(2,a.NtosWindow.Content,{children:(0,o.createComponentVNode)(2,r.Section,{children:[(0,o.createComponentVNode)(2,r.Button.Input,{fluid:!0,content:"Obfuscate Name...",onCommit:function(e,t){return c("PRG_obfuscate",{new_name:t})},mb:1}),(0,o.createComponentVNode)(2,r.LabeledList,{children:(0,o.createComponentVNode)(2,r.LabeledList.Item,{label:"Payload Status",buttons:(0,o.createComponentVNode)(2,r.Button,{content:l.armed?"ARMED":"DISARMED",color:l.armed?"bad":"average",onClick:function(){return c("PRG_arm")}})})}),(0,o.createComponentVNode)(2,r.Button,{fluid:!0,bold:!0,content:"ACTIVATE",textAlign:"center",color:"bad",disabled:!l.armed})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosShutoffMonitor=void 0;var o=n(0),r=n(3),i=n(197);t.NtosShutoffMonitor=function(e,t){return(0,o.createComponentVNode)(2,r.NtosWindow,{width:627,height:700,resizable:!0,children:(0,o.createComponentVNode)(2,r.NtosWindow.Content,{children:(0,o.createComponentVNode)(2,i.ShutoffMonitorContent)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosStationAlertConsole=void 0;var o=n(0),r=n(3),i=n(198);t.NtosStationAlertConsole=function(){return(0,o.createComponentVNode)(2,r.NtosWindow,{width:315,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,r.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i.StationAlertConsoleContent)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosSupermatterMonitor=void 0;var o=n(0),r=n(3),i=n(199);t.NtosSupermatterMonitor=function(){return(0,o.createComponentVNode)(2,r.NtosWindow,{width:600,height:400,resizable:!0,children:(0,o.createComponentVNode)(2,r.NtosWindow.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i.SupermatterMonitorContent)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosUAV=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.NtosUAV=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.current_uav,u=l.signal_strength,s=l.in_use,m=l.paired_uavs;return(0,o.createComponentVNode)(2,a.NtosWindow,{width:600,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,a.NtosWindow.Content,{children:[(0,o.createComponentVNode)(2,i.Section,{title:"Selected UAV",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"UAV",children:d&&d.status||"[Not Connected]"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Signal",children:d&&u||"[Not Connected]"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Power",children:d&&(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",selected:d.power,onClick:function(){return c("power_uav")},children:d.power?"Online":"Offline"})||"[Not Connected]"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Camera",children:d&&(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",selected:s,disabled:!d.power,onClick:function(){return c("view_uav")},children:d.power?"Available":"Unavailable"})||"[Not Connected]"})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Paired UAVs",children:m.length&&m.map((function(e){return(0,o.createComponentVNode)(2,i.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"quidditch",onClick:function(){return c("switch_uav",{switch_uav:e.uavref})},children:e.name})}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.Button,{color:"bad",icon:"times",onClick:function(){return c("del_uav",{del_uav:e.uavref})}})})]},e.uavref)}))||(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"No UAVs Paired."})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.NtosWordProcessor=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.NtosWordProcessor=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.PC_device_theme,u=l.error,s=l.browsing,m=l.files,p=(l.usbconnected,l.usbfiles,l.filename),h=l.filedata;return(0,o.createComponentVNode)(2,a.NtosWindow,{resizable:!0,theme:d,children:(0,o.createComponentVNode)(2,a.NtosWindow.Content,{scrollable:!0,children:u&&(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:[(0,o.createVNode)(1,"h2",null,"An Error has occured:",16),"Additional Information: ",u,"Please try again. If the problem persists, contact your system administrator for assistance.",(0,o.createComponentVNode)(2,i.Button,{icon:"arrow-left",content:"Back to menu",onClick:function(){return c("PRG_backtomenu")}})]})||s&&(0,o.createComponentVNode)(2,i.Section,{title:"File Browser",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"arrow-left",content:"Back to editor",onClick:function(){return c("PRG_closebrowser")}}),children:(0,o.createComponentVNode)(2,i.Section,{title:"Available documents (local)",level:2,children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Name"}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:"Size (GQ)"}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0})]}),m.map((function(e,t){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,i.Table.Cell,{children:e.size}),(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,i.Button,{icon:"file-word",onClick:function(){return c("PRG_openfile",{PRG_openfile:e.name})},children:"Open"})})]},t)}))]})})})||(0,o.createComponentVNode)(2,i.Section,{title:"Document: "+p,children:[(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return c("PRG_newfile")},children:"New"}),(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return c("PRG_loadmenu")},children:"Load"}),(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return c("PRG_savefile")},children:"Save"}),(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return c("PRG_saveasfile")},children:"Save As"})]}),(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return c("PRG_editfile")},children:"Edit"}),(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return c("PRG_txtrpeview")},children:"Preview"}),(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return c("PRG_taghelp")},children:"Formatting Help"}),(0,o.createComponentVNode)(2,i.Button,{disabled:!h,onClick:function(){return c("PRG_printfile")},children:"Print"})]}),(0,o.createComponentVNode)(2,i.Section,{mt:1,children:(0,o.createVNode)(1,"div",null,null,1,{dangerouslySetInnerHTML:{__html:h}})})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.OmniFilter=void 0;var o=n(0),r=n(1),i=n(2),a=n(3),c=function(e){return e.input?"Input":e.output?"Output":e.f_type?e.f_type:"Disabled"};t.OmniFilter=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.power,s=d.config,m=d.ports,p=d.set_flow_rate,h=d.last_flow_rate;return(0,o.createComponentVNode)(2,a.Window,{width:360,height:330,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:[(0,o.createComponentVNode)(2,i.Section,{title:s?"Configuration":"Status",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",content:u?"On":"Off",selected:u,disabled:s,onClick:function(){return l("power")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"wrench",selected:s,onClick:function(){return l("configure")}})],4),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:m?m.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.dir+" Port",children:s?(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{content:"IN",selected:e.input,icon:"compress-arrows-alt",onClick:function(){return l("switch_mode",{mode:"in",dir:e.dir})}}),(0,o.createComponentVNode)(2,i.Button,{content:"OUT",selected:e.output,icon:"expand-arrows-alt",onClick:function(){return l("switch_mode",{mode:"out",dir:e.dir})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"wrench",disabled:e.input||e.output,content:e.f_type||"None",onClick:function(){return l("switch_filter",{mode:e.f_type,dir:e.dir})}})],4):c(e)},e.dir)})):(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No Ports Detected"})})}),(0,o.createComponentVNode)(2,i.Section,{title:"Flow Rate",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Current Flow Rate",children:[h," L/s"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Flow Rate Limit",children:s?(0,o.createComponentVNode)(2,i.Button,{icon:"wrench",content:p/10+" L/s",onClick:function(){return l("set_flow_rate")}}):p/10+" L/s"})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.OmniMixer=void 0;var o=n(0),r=n(1),i=n(2),a=n(3),c=function(e){return e.input?"Input":e.output?"Output":e.f_type?e.f_type:"Disabled"};t.OmniMixer=function(e,t){var n=(0,r.useBackend)(t),c=n.act,d=n.data,u=d.power,s=d.config,m=d.ports,p=d.set_flow_rate,h=d.last_flow_rate;return(0,o.createComponentVNode)(2,a.Window,{width:390,height:330,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:[(0,o.createComponentVNode)(2,i.Section,{title:s?"Configuration":"Status",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",content:u?"On":"Off",selected:u,disabled:s,onClick:function(){return c("power")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"wrench",selected:s,onClick:function(){return c("configure")}})],4),children:(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:"Port"}),s?(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:"Input"}),(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:"Output"})],4):(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:"Mode"}),(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:"Concentration"}),s?(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:"Lock"}):null]}),m?m.map((function(e){return(0,o.createComponentVNode)(2,l,{port:e,config:s},e.dir)})):(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No Ports Detected"})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Flow Rate",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Current Flow Rate",children:[h," L/s"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Flow Rate Limit",children:s?(0,o.createComponentVNode)(2,i.Button,{icon:"wrench",content:p/10+" L/s",onClick:function(){return c("set_flow_rate")}}):p/10+" L/s"})]})})]})})};var l=function(e,t){var n=(0,r.useBackend)(t).act,a=e.port,l=e.config;return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:a.dir+" Port"}),(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:l?(0,o.createComponentVNode)(2,i.Button,{content:"IN",selected:a.input,disabled:a.output,icon:"compress-arrows-alt",onClick:function(){return n("switch_mode",{mode:a.input?"none":"in",dir:a.dir})}}):c(a)}),(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:l?(0,o.createComponentVNode)(2,i.Button,{content:"OUT",selected:a.output,icon:"expand-arrows-alt",onClick:function(){return n("switch_mode",{mode:"out",dir:a.dir})}}):100*a.concentration+"%"}),l?(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",width:"20%",children:(0,o.createComponentVNode)(2,i.Button,{width:"100%",icon:"wrench",disabled:!a.input,content:a.input?100*a.concentration+" %":"-",onClick:function(){return n("switch_con",{dir:a.dir})}})}),(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:(0,o.createComponentVNode)(2,i.Button,{icon:a.con_lock?"lock":"lock-open",disabled:!a.input,selected:a.con_lock,content:a.f_type||"None",onClick:function(){return n("switch_conlock",{dir:a.dir})}})})],4):null]})}},function(e,t,n){"use strict";t.__esModule=!0,t.OperatingComputer=void 0;var o=n(0),r=n(5),i=n(1),a=n(3),c=n(2),l=[["good","Conscious"],["average","Unconscious"],["bad","DEAD"]],d=[["Resp.","oxyLoss"],["Toxin","toxLoss"],["Brute","bruteLoss"],["Burn","fireLoss"]],u={average:[.25,.5],bad:[.5,Infinity]},s=["bad","average","average","good","average","average","bad"];t.OperatingComputer=function(e,t){var n,r=(0,i.useBackend)(t),l=r.act,d=r.data,u=d.hasOccupant,s=d.choice;return n=s?(0,o.createComponentVNode)(2,h):u?(0,o.createComponentVNode)(2,m):(0,o.createComponentVNode)(2,p),(0,o.createComponentVNode)(2,a.Window,{width:650,height:455,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:[(0,o.createComponentVNode)(2,c.Tabs,{children:[(0,o.createComponentVNode)(2,c.Tabs.Tab,{selected:!s,icon:"user",onClick:function(){return l("choiceOff")},children:"Patient"}),(0,o.createComponentVNode)(2,c.Tabs.Tab,{selected:!!s,icon:"cog",onClick:function(){return l("choiceOn")},children:"Options"})]}),(0,o.createComponentVNode)(2,c.Section,{flexGrow:"1",children:n})]})})};var m=function(e,t){var n=(0,i.useBackend)(t).data.occupant;return(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Section,{title:"Patient",level:"2",children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Name",children:n.name}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Status",color:l[n.stat][0],children:l[n.stat][1]}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,c.ProgressBar,{min:"0",max:n.maxHealth,value:n.health/n.maxHealth,ranges:{good:[.5,Infinity],average:[0,.5],bad:[-Infinity,0]}})}),d.map((function(e,t){return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:e[0]+" Damage",children:(0,o.createComponentVNode)(2,c.ProgressBar,{min:"0",max:"100",value:n[e[1]]/100,ranges:u,children:(0,r.round)(n[e[1]])},t)},t)})),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Temperature",children:(0,o.createComponentVNode)(2,c.ProgressBar,{min:"0",max:n.maxTemp,value:n.bodyTemperature/n.maxTemp,color:s[n.temperatureSuitability+3],children:[(0,r.round)(n.btCelsius),"\xb0C, ",(0,r.round)(n.btFaren),"\xb0F"]})}),!!n.hasBlood&&(0,o.createFragment)([(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Blood Level",children:(0,o.createComponentVNode)(2,c.ProgressBar,{min:"0",max:n.bloodMax,value:n.bloodLevel/n.bloodMax,ranges:{bad:[-Infinity,.6],average:[.6,.9],good:[.6,Infinity]},children:[n.bloodPercent,"%, ",n.bloodLevel,"cl"]})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Pulse",children:[n.pulse," BPM"]})],4)]})}),(0,o.createComponentVNode)(2,c.Section,{title:"Current Procedure",level:"2",children:n.surgery&&n.surgery.length?(0,o.createComponentVNode)(2,c.LabeledList,{children:n.surgery.map((function(e){return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:e.name,children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Current State",children:e.currentStage}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Possible Next Steps",children:e.nextSteps.map((function(e){return(0,o.createVNode)(1,"div",null,e,0,null,e)}))})]})},e.name)}))}):(0,o.createComponentVNode)(2,c.Box,{color:"label",children:"No procedure ongoing."})})],4)},p=function(){return(0,o.createComponentVNode)(2,c.Flex,{textAlign:"center",height:"100%",children:(0,o.createComponentVNode)(2,c.Flex.Item,{grow:"1",align:"center",color:"label",children:[(0,o.createComponentVNode)(2,c.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,o.createVNode)(1,"br"),"No patient detected."]})})},h=function(e,t){var n=(0,i.useBackend)(t),r=n.act,a=n.data,l=a.verbose,d=a.health,u=a.healthAlarm,s=a.oxy,m=a.oxyAlarm,p=a.crit;return(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Loudspeaker",children:(0,o.createComponentVNode)(2,c.Button,{selected:l,icon:l?"toggle-on":"toggle-off",content:l?"On":"Off",onClick:function(){return r(l?"verboseOff":"verboseOn")}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Health Announcer",children:(0,o.createComponentVNode)(2,c.Button,{selected:d,icon:d?"toggle-on":"toggle-off",content:d?"On":"Off",onClick:function(){return r(d?"healthOff":"healthOn")}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Health Announcer Threshold",children:(0,o.createComponentVNode)(2,c.Knob,{bipolar:!0,minValue:"-100",maxValue:"100",value:u,stepPixelSize:"5",ml:"0",format:function(e){return e+"%"},onChange:function(e,t){return r("health_adj",{"new":t})}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Oxygen Alarm",children:(0,o.createComponentVNode)(2,c.Button,{selected:s,icon:s?"toggle-on":"toggle-off",content:s?"On":"Off",onClick:function(){return r(s?"oxyOff":"oxyOn")}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Oxygen Alarm Threshold",children:(0,o.createComponentVNode)(2,c.Knob,{bipolar:!0,minValue:"-100",maxValue:"100",value:m,stepPixelSize:"5",ml:"0",onChange:function(e,t){return r("oxy_adj",{"new":t})}})}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Critical Alert",children:(0,o.createComponentVNode)(2,c.Button,{selected:p,icon:p?"toggle-on":"toggle-off",content:p?"On":"Off",onClick:function(){return r(p?"critOff":"critOn")}})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.OvermapDisperser=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3),c=n(134);t.OvermapDisperser=function(e,t){return(0,o.createComponentVNode)(2,a.Window,{width:400,height:550,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:(0,o.createComponentVNode)(2,l)})})};var l=function(e,t){var n=(0,r.useBackend)(t),a=n.act,l=n.data,d=l.faillink,u=l.calibration,s=l.overmapdir,m=l.cal_accuracy,p=l.strength,h=l.range,C=l.next_shot,f=l.nopower,N=(l.skill,l.chargeload);return d?(0,o.createComponentVNode)(2,i.Section,{title:"Error",children:"Machine is incomplete, out of range, or misaligned!"}):(0,o.createComponentVNode)(2,i.Flex,{wrap:"wrap",spacing:1,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{basis:"22%",children:(0,o.createComponentVNode)(2,i.Section,{title:"Targeting",textAlign:"center",children:(0,o.createComponentVNode)(2,c.OvermapPanControls,{actToDo:"choose",selected:function(e){return e===s}})})}),(0,o.createComponentVNode)(2,i.Flex.Item,{basis:"74%",grow:1,children:(0,o.createComponentVNode)(2,i.Section,{title:"Charge",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[f&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Error",children:"At least one part of the machine is unpowered."})||null,(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Charge Load Type",children:N}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Cooldown",children:0===C&&(0,o.createComponentVNode)(2,i.Box,{color:"good",children:"Ready"})||C>1&&(0,o.createComponentVNode)(2,i.Box,{color:"average",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:C})," Seconds",(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Warning: Do not fire during cooldown."})]})||null})]})})}),(0,o.createComponentVNode)(2,i.Flex.Item,{basis:"50%",mt:1,children:(0,o.createComponentVNode)(2,i.Section,{title:"Calibration",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:m}),"%",(0,o.createComponentVNode)(2,i.Button,{ml:1,icon:"exchange-alt",onClick:function(){return a("skill_calibration")},children:"Pre-Calibration"}),(0,o.createComponentVNode)(2,i.Box,{mt:1,children:u.map((function(e,t){return(0,o.createComponentVNode)(2,i.Box,{children:["Cal #",t,":",(0,o.createComponentVNode)(2,i.Button,{ml:1,icon:"random",onClick:function(){return a("calibration",{calibration:t})},children:e.toString()})]},t)}))})]})}),(0,o.createComponentVNode)(2,i.Flex.Item,{basis:"45%",grow:1,mt:1,children:(0,o.createComponentVNode)(2,i.Section,{title:"Setup",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Strength",children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"fist-raised",onClick:function(){return a("strength")},children:p})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Radius",children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"expand-arrows-alt",onClick:function(){return a("range")},children:h})})]})})}),(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,mt:1,children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,color:"red",icon:"bomb",onClick:function(){return a("fire")},children:"Fire ORB"})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.OvermapFull=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3),c=n(200),l=n(201),d=n(202);t.OvermapFull=function(e,t){var n=(0,r.useLocalState)(t,"overmapFullState",0),u=n[0],s=n[1];return(0,o.createComponentVNode)(2,a.Window,{width:800,height:800,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Tabs,{children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:0===u,onClick:function(){return s(0)},children:"Engines"}),(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:1===u,onClick:function(){return s(1)},children:"Helm"}),(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:2===u,onClick:function(){return s(2)},children:"Sensors"})]}),0===u&&(0,o.createComponentVNode)(2,c.OvermapEnginesContent),1===u&&(0,o.createComponentVNode)(2,l.OvermapHelmContent),2===u&&(0,o.createComponentVNode)(2,d.OvermapShipSensorsContent)]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.OvermapShieldGenerator=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.OvermapShieldGenerator=function(e,t){return(0,o.createComponentVNode)(2,a.Window,{width:500,height:760,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,c)})})};var c=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,u=c.modes,s=c.offline_for;return s?(0,o.createComponentVNode)(2,i.Section,{title:"EMERGENCY SHUTDOWN",color:"bad",children:["An emergency shutdown has been initiated - generator cooling down. Please wait until the generator cools down before resuming operation. Estimated time left: ",s," seconds."]}):(0,o.createFragment)([(0,o.createComponentVNode)(2,l),(0,o.createComponentVNode)(2,d),(0,o.createComponentVNode)(2,i.Section,{title:"Field Calibration",children:u.map((function(e){return(0,o.createComponentVNode)(2,i.Section,{title:e.name,level:2,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",selected:e.status,onClick:function(){return a("toggle_mode",{toggle_mode:e.flag})},children:e.status?"Enabled":"Disabled"}),children:[(0,o.createComponentVNode)(2,i.Box,{color:"label",children:e.desc}),(0,o.createComponentVNode)(2,i.Box,{mt:.5,children:["Multiplier: ",e.multiplier]})]},e.name)}))})],4)},l=function(e,t){var n=(0,r.useBackend)(t),a=(n.act,n.data),c=a.running,l=a.overloaded,d=a.mitigation_max,u=a.mitigation_physical,s=a.mitigation_em,m=a.mitigation_heat,p=a.field_integrity,h=a.max_energy,C=a.current_energy,f=a.percentage_energy,N=a.total_segments,b=a.functional_segments,V=a.field_radius,g=a.target_radius,v=a.input_cap_kw,_=a.upkeep_power_usage,k=a.power_usage,y=a.spinup_counter;return(0,o.createComponentVNode)(2,i.Section,{title:"System Status",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Generator is",children:1===c&&(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"Shutting Down"})||2===c&&(l&&(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Overloaded"})||(0,o.createComponentVNode)(2,i.Box,{color:"good",children:"Running"}))||3===c&&(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"Inactive"})||4===c&&(0,o.createComponentVNode)(2,i.Box,{color:"blue",children:["Spinning Up\xa0",g!==V&&(0,o.createComponentVNode)(2,i.Box,{inline:!0,children:"(Adjusting Radius)"})||(0,o.createComponentVNode)(2,i.Box,{inline:!0,children:[2*y,"s"]})]})||(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Offline"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Energy Storage",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:C,maxValue:h,children:[C," / ",h," MJ (",f,"%)"]})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Shield Integrity",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:p}),"%"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Mitigation",children:[s,"% EM / ",u,"% PH / ",m,"% HE / ",d,"% MAX"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Upkeep Energy Use",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:_})," kW"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Total Energy Use",children:v&&(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:k,maxValue:v,children:[k," / ",v," kW"]})})||(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:k})," kW (No Limit)"]})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Field Size",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:b}),"\xa0/\xa0",(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:N})," m\xb2 (radius ",(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:V}),", target ",(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:g}),")"]})]})})},d=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.running,d=c.hacked,u=c.idle_multiplier,s=c.idle_valid_values;return(0,o.createComponentVNode)(2,i.Section,{title:"Controls",buttons:(0,o.createFragment)([l>=2&&(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",onClick:function(){return a("begin_shutdown")},selected:!0,children:"Turn off"}),3===l&&(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",onClick:function(){return a("toggle_idle",{toggle_idle:0})},children:"Activate"})||(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",onClick:function(){return a("toggle_idle",{toggle_idle:1})},selected:!0,children:"Deactivate"})]})||(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",onClick:function(){return a("start_generator")},children:"Turn on"}),l&&d&&(0,o.createComponentVNode)(2,i.Button,{icon:"exclamation-triangle",onClick:function(){return a("emergency_shutdown")},color:"bad",children:"EMERGENCY SHUTDOWN"})||null],0),children:[(0,o.createComponentVNode)(2,i.Button,{icon:"expand-arrows-alt",onClick:function(){return a("set_range")},children:"Set Field Range"}),(0,o.createComponentVNode)(2,i.Button,{icon:"bolt",onClick:function(){return a("set_input_cap")},children:"Set Input Cap"}),(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Set inactive power use intensity",children:s.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{selected:e===u,disabled:4===l,onClick:function(){return a("switch_idle",{switch_idle:e})},children:e},e)}))})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.ParticleAccelerator=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.ParticleAccelerator=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.assembled,u=l.power,s=l.strength;return(0,o.createComponentVNode)(2,a.Window,{width:350,height:185,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:[(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"sync",content:"Run Scan",onClick:function(){return c("scan")}}),children:(0,o.createComponentVNode)(2,i.Box,{color:d?"good":"bad",children:d?"Ready - All parts in place":"Unable to detect all parts"})})})}),(0,o.createComponentVNode)(2,i.Section,{title:"Particle Accelerator Controls",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,i.Button,{icon:u?"power-off":"times",content:u?"On":"Off",selected:u,disabled:!d,onClick:function(){return c("power")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Particle Strength",children:[(0,o.createComponentVNode)(2,i.Button,{icon:"backward",disabled:!d,onClick:function(){return c("remove_strength")}})," ",String(s).padStart(1,"0")," ",(0,o.createComponentVNode)(2,i.Button,{icon:"forward",disabled:!d,onClick:function(){return c("add_strength")}})]})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.PartsLathe=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3),c=n(6),l=n(132);t.PartsLathe=function(e,t){var n=(0,r.useBackend)(t),d=n.act,u=n.data,s=(u.panelOpen,u.copyBoard),m=u.copyBoardReqComponents,p=u.queue,h=u.building,C=u.buildPercent,f=u.error,N=u.recipies;return(0,o.createComponentVNode)(2,a.Window,{width:500,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[f&&(0,o.createComponentVNode)(2,i.NoticeBox,{danger:!0,children:["Missing Materials: ",f]})||null,(0,o.createComponentVNode)(2,i.Section,{title:"Materials",children:(0,o.createComponentVNode)(2,l.Materials,{displayAllMat:!0})}),h&&(0,o.createComponentVNode)(2,i.Section,{title:"Currently Building",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Name",children:(0,c.toTitleCase)(h)}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Progress",children:(0,o.createComponentVNode)(2,i.ProgressBar,{color:"good",value:C,maxValue:100})})]})})||null,s&&(0,o.createComponentVNode)(2,i.Section,{title:"Circuit Reader",children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Loaded Circuit",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",onClick:function(){return d("ejectBoard")},children:"Eject"}),children:(0,c.toTitleCase)(s)})}),m&&m.length&&(0,o.createFragment)([m.map((function(e){return(0,o.createComponentVNode)(2,i.Box,{children:[e.qty," x ",(0,c.toTitleCase)(e.name)]},e.name)})),(0,o.createComponentVNode)(2,i.Button,{icon:"wrench",onClick:function(){return d("queueBoard")},children:"Build All"})],0)||(0,o.createComponentVNode)(2,i.Box,{children:"Board has no required components."})]}),(0,o.createComponentVNode)(2,i.Section,{title:"Queue",children:p.length&&p.map((function(e,t){return(0,o.createComponentVNode)(2,i.Box,{color:"label",children:["#",t+1,": ",(0,c.toTitleCase)(e),(t>0||!h)&&(0,o.createComponentVNode)(2,i.Button,{ml:1,icon:"times",onClick:function(){return d("cancel",{cancel:t+1})},children:"Cancel"})||null]},e)}))||(0,o.createComponentVNode)(2,i.NoticeBox,{info:!0,children:"Queue Empty"})}),(0,o.createComponentVNode)(2,i.Section,{title:"Recipes",children:N.length&&N.map((function(e){return(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"wrench",onClick:function(){return d("queue",{queue:e.type})},children:(0,c.toTitleCase)(e.name)})},e.name)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.PathogenicIsolator=void 0;var o=n(0),r=(n(5),n(20),n(1)),i=n(45),a=n(2),c=n(3),l=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data.can_print,l=e.args;return(0,o.createComponentVNode)(2,a.Section,{level:2,m:"-1rem",title:l.name||"Virus",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{disabled:!c,icon:"print",content:"Print",onClick:function(){return i("print",{type:"virus_record",vir:l.record})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"times",color:"red",onClick:function(){return i("modal_close")}})],4),children:(0,o.createComponentVNode)(2,a.Box,{mx:"0.5rem",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Spread",children:[l.spread_text," Transmission"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Possible cure",children:l.antigen}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Rate of Progression",children:l.rate}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Antibiotic Resistance",children:[l.resistance,"%"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Species Affected",children:l.species}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Symptoms",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:l.symptoms.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.stage+". "+e.name,children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",children:"Strength:"})," ",e.strength,"\xa0"]}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",children:"Aggressiveness:"})," ",e.aggressiveness]})]},e.stage)}))})})]})})})};t.PathogenicIsolator=function(e,t){var n=(0,r.useBackend)(t),s=(n.act,n.data.isolating),m=(0,r.useLocalState)(t,"tabIndex",0),p=m[0],h=m[1],C=null;return 0===p?C=(0,o.createComponentVNode)(2,d):1===p&&(C=(0,o.createComponentVNode)(2,u)),(0,i.modalRegisterBodyOverride)("virus",l),(0,o.createComponentVNode)(2,c.Window,{height:500,width:520,resizable:!0,children:[(0,o.createComponentVNode)(2,i.ComplexModal,{maxHeight:"100%",maxWidth:"95%"}),(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[s&&(0,o.createComponentVNode)(2,a.NoticeBox,{warning:!0,children:"The Isolator is currently isolating..."})||null,(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:0===p,onClick:function(){return h(0)},children:"Home"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:1===p,onClick:function(){return h(1)},children:"Database"})]}),C]})]})};var d=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,l=c.syringe_inserted,d=c.pathogen_pool,u=c.can_print;return(0,o.createComponentVNode)(2,a.Section,{title:"Pathogens",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"print",content:"Print",disabled:!u,onClick:function(){return i("print",{type:"patient_diagnosis"})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject Syringe",disabled:!l,onClick:function(){return i("eject")}})],4),children:d.length&&d.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Box,{color:"label",children:(0,o.createComponentVNode)(2,a.Flex,{align:"center",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:[(0,o.createVNode)(1,"u",null,[(0,o.createTextVNode)("Stamm #"),e.unique_id],0),e.is_in_database?" (Analyzed)":" (Not Analyzed)"]}),(0,o.createComponentVNode)(2,a.Flex.Item,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"virus",content:"Isolate",onClick:function(){return i("isolate",{isolate:e.reference})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"search",content:"Database",disabled:!e.is_in_database,onClick:function(){return i("view_entry",{vir:e.record})}})]})]})}),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Box,{color:"average",mb:1,children:e.name}),e.dna]})]},e.unique_id)}))||(l?(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No samples detected."}):(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"No syringe inserted."}))})},u=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data,l=c.database,d=c.can_print;return(0,o.createComponentVNode)(2,a.Section,{title:"Database",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"print",content:"Print",disabled:!d,onClick:function(){return i("print",{type:"virus_list"})}}),children:l.length&&l.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"search",onClick:function(){return i("view_entry",{vir:e.record})},children:e.name},e.name)}))||(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"The viral database is empty."})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Pda=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3),c=n(177),l=n(596);t.Pda=function(e,t){var n=(0,r.useBackend)(t),m=(n.act,n.data),p=m.app,h=m.owner,C=m.useRetro;if(!h)return(0,o.createComponentVNode)(2,a.Window,{children:(0,o.createComponentVNode)(2,a.Window.Content,{children:(0,o.createComponentVNode)(2,i.Section,{stretchContents:!0,children:"Warning: No ID information found! Please swipe ID!"})})});var f=function(e){var t;try{t=l("./"+e+".js")}catch(o){if("MODULE_NOT_FOUND"===o.code)return(0,c.routingError)("notFound",e);throw o}var n=t[e];return n||(0,c.routingError)("missingExport",e)}(p.template),N=(0,r.useLocalState)(t,"settingsMode",!1),b=N[0],V=N[1];return(0,o.createComponentVNode)(2,a.Window,{width:580,height:670,theme:C?"pda-retro":null,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,d,{settingsMode:b,setSettingsMode:V}),b&&(0,o.createComponentVNode)(2,u)||(0,o.createComponentVNode)(2,i.Section,{title:(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Icon,{name:p.icon,mr:1}),p.name]}),p:1,children:(0,o.createComponentVNode)(2,f)}),(0,o.createComponentVNode)(2,i.Box,{mb:8}),(0,o.createComponentVNode)(2,s,{setSettingsMode:V})]})})};var d=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=e.settingsMode,d=e.setSettingsMode,u=c.idInserted,s=c.idLink,m=(c.cartridge_name,c.stationTime);return(0,o.createComponentVNode)(2,i.Box,{mb:1,children:(0,o.createComponentVNode)(2,i.Flex,{align:"center",justify:"space-between",children:[!!u&&(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",color:"transparent",onClick:function(){return a("Authenticate")},content:s})}),(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,textAlign:"center",bold:!0,children:m}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:[(0,o.createComponentVNode)(2,i.Button,{selected:l,onClick:function(){return d(!l)},icon:"cog"}),(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return a("Retro")},icon:"adjust"})]})]})})},u=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.idInserted,d=c.idLink,u=c.cartridge_name,s=c.touch_silent;return(0,o.createComponentVNode)(2,i.Section,{title:"Settings",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"R.E.T.R.O Mode",children:(0,o.createComponentVNode)(2,i.Button,{icon:"cog",content:"Retro Theme",onClick:function(){return a("Retro")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Touch Sounds",children:(0,o.createComponentVNode)(2,i.Button,{icon:"cog",selected:!s,content:s?"Disabled":"Enabled",onClick:function(){return a("TouchSounds")}})}),!!u&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Cartridge",children:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",onClick:function(){return a("Eject")},content:u})}),!!l&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"ID Card",children:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",onClick:function(){return a("Authenticate")},content:d})})]})})},s=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=e.setSettingsMode,d=c.app,u=c.useRetro;return(0,o.createComponentVNode)(2,i.Box,{position:"fixed",bottom:"0%",left:"0%",right:"0%",backgroundColor:u?"#6f7961":"#1b1b1b",children:(0,o.createComponentVNode)(2,i.Flex,{children:[(0,o.createComponentVNode)(2,i.Flex.Item,{basis:"33%",children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,color:"transparent",iconColor:d.has_back?"white":"disabled",textAlign:"center",icon:"undo",mb:0,fontSize:1.7,onClick:function(){return a("Back")}})}),(0,o.createComponentVNode)(2,i.Flex.Item,{basis:"33%",children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,color:"transparent",iconColor:d.is_home?"disabled":"white",textAlign:"center",icon:"home",mb:0,fontSize:1.7,onClick:function(){l(!1),a("Home")}})})]})})}},function(e,t,n){var o={"./pda_atmos_scan.js":597,"./pda_janitor.js":598,"./pda_main_menu.js":599,"./pda_manifest.js":600,"./pda_medical.js":601,"./pda_messenger.js":602,"./pda_news.js":603,"./pda_notekeeper.js":604,"./pda_power.js":605,"./pda_security.js":606,"./pda_signaller.js":607,"./pda_status_display.js":608,"./pda_supply.js":609};function r(e){var t=i(e);return n(t)}function i(e){if(!n.o(o,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return o[e]}r.keys=function(){return Object.keys(o)},r.resolve=i,e.exports=r,r.id=596},function(e,t,n){"use strict";t.__esModule=!0,t.pda_atmos_scan=void 0;var o=n(0),r=n(8),i=n(6),a=n(1),c=n(2);t.pda_atmos_scan=function(e,t){var n=(0,a.useBackend)(t),l=(n.act,n.data.aircontents);return(0,o.createComponentVNode)(2,c.Box,{children:(0,o.createComponentVNode)(2,c.LabeledList,{children:(0,r.filter)((function(e){return"0"!==e.val||"Pressure"===e.entry||"Temperature"===e.entry}))(l).map((function(e){return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:e.entry,color:(t=e.val,n=e.bad_low,r=e.poor_low,a=e.poor_high,l=e.bad_high,ta?"average":t>l?"bad":"good"),children:[e.val,(0,i.decodeHtmlEntities)(e.units)]},e.entry);var t,n,r,a,l}))})})}},function(e,t,n){"use strict";t.__esModule=!0,t.pda_janitor=void 0;var o=n(0),r=(n(8),n(6),n(1)),i=n(2);t.pda_janitor=function(e,t){var n=(0,r.useBackend)(t),a=(n.act,n.data.janitor);return(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Current Location",children:0===a.user_loc.x&&(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Unknown"})||(0,o.createComponentVNode)(2,i.Box,{children:[a.user_loc.x," / ",a.user_loc.y]})})}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Mop Locations",children:a.mops&&(0,o.createVNode)(1,"ul",null,a.mops.map((function(e,t){return(0,o.createVNode)(1,"li",null,[e.x,(0,o.createTextVNode)(" / "),e.y,(0,o.createTextVNode)(" - "),e.dir,(0,o.createTextVNode)(" - Status: "),e.status],0,null,t)})),0)||(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No mops detected nearby."})}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Mop Bucket Locations",children:a.buckets&&(0,o.createVNode)(1,"ul",null,a.buckets.map((function(e,t){return(0,o.createVNode)(1,"li",null,[e.x,(0,o.createTextVNode)(" / "),e.y,(0,o.createTextVNode)(" - "),e.dir,(0,o.createTextVNode)(" - Capacity: "),e.volume,(0,o.createTextVNode)("/"),e.max_volume],0,null,t)})),0)||(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No buckets detected nearby."})}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Cleanbot Locations",children:a.cleanbots&&(0,o.createVNode)(1,"ul",null,a.cleanbots.map((function(e,t){return(0,o.createVNode)(1,"li",null,[e.x,(0,o.createTextVNode)(" / "),e.y,(0,o.createTextVNode)(" - "),e.dir,(0,o.createTextVNode)(" - Status: "),e.status],0,null,t)})),0)||(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No cleanbots detected nearby."})}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Janitorial Cart Locations",children:a.carts&&(0,o.createVNode)(1,"ul",null,a.carts.map((function(e,t){return(0,o.createVNode)(1,"li",null,[e.x,(0,o.createTextVNode)(" / "),e.y,(0,o.createTextVNode)(" - "),e.dir,(0,o.createTextVNode)(" - Water Level: "),e.volume,(0,o.createTextVNode)("/"),e.max_volume],0,null,t)})),0)||(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No janitorial carts detected nearby."})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.pda_main_menu=void 0;var o=n(0),r=(n(5),n(1)),i=n(2);t.pda_main_menu=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.owner,d=c.ownjob,u=c.idInserted,s=c.categories,m=c.pai,p=c.notifying;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Owner",color:"average",children:[l,", ",d]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"ID",children:(0,o.createComponentVNode)(2,i.Button,{icon:"sync",content:"Update PDA Info",disabled:!u,onClick:function(){return a("UpdateInfo")}})})]})}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Functions",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:s.map((function(e){var t=c.apps[e];return t&&t.length?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e,children:t.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:e.ref in p?e.notify_icon:e.icon,iconSpin:e.ref in p,color:e.ref in p?"red":"transparent",content:e.name,onClick:function(){return a("StartProgram",{program:e.ref})}},e.ref)}))},e):null}))})}),!!m&&(0,o.createComponentVNode)(2,i.Section,{level:2,title:"pAI",children:[(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"cog",content:"Configuration",onClick:function(){return a("pai",{option:1})}}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"eject",content:"Eject pAI",onClick:function(){return a("pai",{option:2})}})]})],0)}},function(e,t,n){"use strict";t.__esModule=!0,t.pda_manifest=void 0;var o=n(0),r=(n(8),n(1)),i=n(2),a=n(94);t.pda_manifest=function(e,t){var n=(0,r.useBackend)(t);n.act,n.data;return(0,o.createComponentVNode)(2,i.Box,{color:"white",children:(0,o.createComponentVNode)(2,a.CrewManifestContent)})}},function(e,t,n){"use strict";t.__esModule=!0,t.pda_medical=void 0;var o=n(0),r=(n(8),n(6),n(1)),i=n(2);t.pda_medical=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.recordsList,d=c.records;if(d){var u=d.general,s=d.medical;return(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Section,{level:2,title:"General Data",children:u&&(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Name",children:u.name}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Sex",children:u.sex}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Species",children:u.species}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Age",children:u.age}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Rank",children:u.rank}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Fingerprint",children:u.fingerprint}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Physical Status",children:u.p_stat}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Mental Status",children:u.m_stat})]})||(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"General record lost!"})}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Medical Data",children:s&&(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Blood Type",children:s.b_type}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Minor Disabilities",children:s.mi_dis}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Details",children:s.mi_dis_d}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Major Disabilities",children:s.ma_dis}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Details",children:s.ma_dis_d}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Allergies",children:s.alg}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Details",children:s.alg_d}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Current Disease",children:s.cdi}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Details",children:s.cdi_d}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Important Notes",children:s.notes})]})||(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Medical record lost!"})})]})}return(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Select a record",children:l.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:"eye",fluid:!0,content:e.Name,onClick:function(){return a("Records",{target:e.ref})}},e.ref)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.pda_messenger=void 0;var o=n(0),r=n(6),i=n(8),a=n(1),c=n(2);t.pda_messenger=function(e,t){var n=(0,a.useBackend)(t),r=(n.act,n.data);r.auto_scroll,r.convo_name,r.convo_job,r.messages;return r.active_conversation?(0,o.createComponentVNode)(2,d):(0,o.createComponentVNode)(2,u)};var l=function(e,t,n){if(t<0||t>n.length)return e.sent?"TinderMessage_First_Sent":"TinderMessage_First_Received";var o=n[t].sent;return e.sent&&o?"TinderMessage_Subsequent_Sent":e.sent||o?e.sent?"TinderMessage_First_Sent":"TinderMessage_First_Received":"TinderMessage_Subsequent_Received"},d=function(e,t){var n=(0,a.useBackend)(t),d=n.act,u=n.data,s=(u.auto_scroll,u.convo_name),m=u.convo_job,p=u.messages,h=u.active_conversation,C=(u.useRetro,(0,a.useLocalState)(t,"clipboardMode",!1)),f=C[0],N=C[1],b=(0,o.createComponentVNode)(2,c.Section,{level:2,title:"Conversation with "+s+" ("+m+")",buttons:(0,o.createComponentVNode)(2,c.Button,{icon:"eye",selected:f,tooltip:"Enter Clipboard Mode",tooltipPosition:"bottom-left",onClick:function(){return N(!f)}}),height:"450px",stretchContents:!0,children:[(0,o.createComponentVNode)(2,c.Section,{style:{height:"97%","overflow-y":"auto"},children:(0,i.filter)((function(e){return e.target===h}))(p).map((function(e,t,n){return(0,o.createComponentVNode)(2,c.Box,{textAlign:e.sent?"right":"left",mb:1,children:(0,o.createComponentVNode)(2,c.Box,{maxWidth:"75%",className:l(e,t-1,n),inline:!0,children:(0,r.decodeHtmlEntities)(e.message)})},t)}))}),(0,o.createComponentVNode)(2,c.Button,{icon:"comment",onClick:function(){return d("Message",{target:h})},content:"Reply"})]});return f&&(b=(0,o.createComponentVNode)(2,c.Section,{level:2,title:"Conversation with "+s+" ("+m+")",buttons:(0,o.createComponentVNode)(2,c.Button,{icon:"eye",selected:f,tooltip:"Exit Clipboard Mode",tooltipPosition:"bottom-left",onClick:function(){return N(!f)}}),height:"450px",stretchContents:!0,children:[(0,o.createComponentVNode)(2,c.Section,{style:{height:"97%","overflow-y":"auto"},children:(0,i.filter)((function(e){return e.target===h}))(p).map((function(e,t){return(0,o.createComponentVNode)(2,c.Box,{className:e.sent?"ClassicMessage_Sent":"ClassicMessage_Received",children:[e.sent?"You:":"Them:"," ",(0,r.decodeHtmlEntities)(e.message)]},t)}))}),(0,o.createComponentVNode)(2,c.Button,{icon:"comment",onClick:function(){return d("Message",{target:h})},content:"Reply"})]})),(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createComponentVNode)(2,c.LabeledList,{children:(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Messenger Functions",children:(0,o.createComponentVNode)(2,c.Button,{icon:"trash",color:"bad",onClick:function(){return d("Clear",{option:"Convo"})},children:"Delete Conversations"})})}),b]})},u=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data,l=(i.auto_scroll,i.convopdas),d=i.pdas,u=i.charges,m=(i.plugins,i.silent),p=i.toff;return(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createComponentVNode)(2,c.LabeledList,{children:(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Messenger Functions",children:[(0,o.createComponentVNode)(2,c.Button,{selected:!m,icon:m?"volume-mute":"volume-up",onClick:function(){return r("Toggle Ringer")},children:["Ringer: ",m?"Off":"On"]}),(0,o.createComponentVNode)(2,c.Button,{color:p?"bad":"green",icon:"power-off",onClick:function(){return r("Toggle Messenger")},children:["Messenger: ",p?"Off":"On"]}),(0,o.createComponentVNode)(2,c.Button,{icon:"bell",onClick:function(){return r("Ringtone")},children:"Set Ringtone"}),(0,o.createComponentVNode)(2,c.Button,{icon:"trash",color:"bad",onClick:function(){return r("Clear",{option:"All"})},children:"Delete All Conversations"})]})}),!p&&(0,o.createComponentVNode)(2,c.Box,{children:[!!u&&(0,o.createComponentVNode)(2,c.Box,{children:[u," charges left."]}),!l.length&&!d.length&&(0,o.createComponentVNode)(2,c.Box,{children:"No other PDAs located."})||(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createComponentVNode)(2,s,{title:"Current Conversations",pdas:l,msgAct:"Select Conversation"}),(0,o.createComponentVNode)(2,s,{title:"Other PDAs",pdas:d,msgAct:"Message"})]})]})||(0,o.createComponentVNode)(2,c.Box,{color:"bad",mt:2,children:"Messenger Offline."})]})},s=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data,l=e.pdas,d=e.title,u=e.msgAct,s=i.charges,m=i.plugins;return l&&l.length?(0,o.createComponentVNode)(2,c.Section,{level:2,title:d,children:l.map((function(e){return(0,o.createComponentVNode)(2,c.Box,{children:[(0,o.createComponentVNode)(2,c.Button,{icon:"arrow-circle-down",content:e.Name,onClick:function(){return r(u,{target:e.Reference})}}),!!s&&m.map((function(t){return(0,o.createComponentVNode)(2,c.Button,{icon:t.icon,content:t.name,onClick:function(){return r("Messenger Plugin",{plugin:t.ref,target:e.Reference})}},t.ref)}))]},e.Reference)}))}):(0,o.createComponentVNode)(2,c.Section,{level:2,title:d,children:"No PDAs found."})}},function(e,t,n){"use strict";t.__esModule=!0,t.pda_news=void 0;var o=n(0),r=(n(8),n(6)),i=n(1),a=n(2);t.pda_news=function(e,t){var n=(0,i.useBackend)(t),r=(n.act,n.data),d=r.feeds,u=r.target_feed;return(0,o.createComponentVNode)(2,a.Box,{children:!d.length&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Error: No newsfeeds available. Please try again later."})||u&&(0,o.createComponentVNode)(2,c)||(0,o.createComponentVNode)(2,l)})};var c=function(e,t){var n=(0,i.useBackend)(t),c=n.act,l=n.data.target_feed;return(0,o.createComponentVNode)(2,a.Section,{title:(0,r.decodeHtmlEntities)(l.name)+" by "+(0,r.decodeHtmlEntities)(l.author),level:2,buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Back",icon:"chevron-up",onClick:function(){return c("newsfeed",{newsfeed:null})}}),children:l.messages.length&&l.messages.map((function(e){return(0,o.createComponentVNode)(2,a.Section,{children:["- ",(0,r.decodeHtmlEntities)(e.body),!!e.img&&(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createVNode)(1,"img",null,null,1,{src:"data:image/png;base64,"+e.img}),(0,r.decodeHtmlEntities)(e.caption)||null]}),(0,o.createComponentVNode)(2,a.Box,{color:"grey",children:["[",e.message_type," by ",(0,r.decodeHtmlEntities)(e.author)," - ",e.time_stamp,"]"]})]},e.ref)}))||(0,o.createComponentVNode)(2,a.Box,{children:["No stories found in ",l.name,"."]})})},l=function(e,t){var n=(0,i.useBackend)(t),c=n.act,l=n.data,d=l.feeds,u=l.latest_news;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Recent News",level:2,children:u.length&&(0,o.createComponentVNode)(2,a.Section,{children:u.map((function(e){return(0,o.createComponentVNode)(2,a.Box,{mb:2,children:[(0,o.createVNode)(1,"h5",null,[(0,r.decodeHtmlEntities)(e.channel),(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"chevron-up",onClick:function(){return c("newsfeed",{newsfeed:e.index})},content:"Go to"})],0),"- ",(0,r.decodeHtmlEntities)(e.body),!!e.img&&(0,o.createComponentVNode)(2,a.Box,{children:["[image omitted, view story for more details]",e.caption||null]}),(0,o.createComponentVNode)(2,a.Box,{fontSize:.9,children:["[",e.message_type," by ",(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"average",children:e.author})," - ",e.time_stamp,"]"]})]},e.index)}))})||(0,o.createComponentVNode)(2,a.Box,{children:"No recent stories found."})}),(0,o.createComponentVNode)(2,a.Section,{title:"News Feeds",level:2,children:d.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"chevron-up",onClick:function(){return c("newsfeed",{newsfeed:e.index})},content:e.name},e.index)}))})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.pda_notekeeper=void 0;var o=n(0),r=n(1),i=n(2);t.pda_notekeeper=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data.note;return(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createVNode)(1,"div",null,null,1,{dangerouslySetInnerHTML:{__html:c}})}),(0,o.createComponentVNode)(2,i.Button,{icon:"pen",onClick:function(){return a("Edit")},content:"Edit Notes"})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.pda_power=void 0;var o=n(0),r=n(1),i=n(135);t.pda_power=function(e,t){var n=(0,r.useBackend)(t);n.act,n.data;return(0,o.createComponentVNode)(2,i.PowerMonitorContent)}},function(e,t,n){"use strict";t.__esModule=!0,t.pda_security=void 0;var o=n(0),r=(n(8),n(6),n(1)),i=n(2);t.pda_security=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.recordsList,d=c.records;if(d){var u=d.general,s=d.security;return(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Section,{level:2,title:"General Data",children:u&&(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Name",children:u.name}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Sex",children:u.sex}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Species",children:u.species}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Age",children:u.age}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Rank",children:u.rank}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Fingerprint",children:u.fingerprint}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Physical Status",children:u.p_stat}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Mental Status",children:u.m_stat})]})||(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"General record lost!"})}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Security Data",children:s&&(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Criminal Status",children:s.criminal}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Minor Crimes",children:s.mi_crim}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Details",children:s.mi_crim_d}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Major Crimes",children:s.ma_crim}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Details",children:s.ma_crim_d}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Important Notes:",children:s.notes})]})||(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Security record lost!"})})]})}return(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Select a record",children:l.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:"eye",fluid:!0,content:e.Name,onClick:function(){return a("Records",{target:e.ref})}},e.ref)}))})}},function(e,t,n){"use strict";t.__esModule=!0,t.pda_signaller=void 0;var o=n(0),r=(n(8),n(6),n(1),n(2),n(203));t.pda_signaller=function(e,t){return(0,o.createComponentVNode)(2,r.SignalerContent)}},function(e,t,n){"use strict";t.__esModule=!0,t.pda_status_display=void 0;var o=n(0),r=(n(8),n(6),n(1)),i=n(2);t.pda_status_display=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data.records;return(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Code",children:[(0,o.createComponentVNode)(2,i.Button,{color:"transparent",icon:"trash",content:"Clear",onClick:function(){return a("Status",{statdisp:"blank"})}}),(0,o.createComponentVNode)(2,i.Button,{color:"transparent",icon:"cog",content:"Evac ETA",onClick:function(){return a("Status",{statdisp:"shuttle"})}}),(0,o.createComponentVNode)(2,i.Button,{color:"transparent",icon:"cog",content:"Message",onClick:function(){return a("Status",{statdisp:"message"})}}),(0,o.createComponentVNode)(2,i.Button,{color:"transparent",icon:"exclamation-triangle",content:"ALERT",onClick:function(){return a("Status",{statdisp:"alert"})}})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Message line 1",children:(0,o.createComponentVNode)(2,i.Button,{content:c.message1+" (set)",icon:"pen",onClick:function(){return a("Status",{statdisp:"setmsg1"})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Message line 2",children:(0,o.createComponentVNode)(2,i.Button,{content:c.message2+" (set)",icon:"pen",onClick:function(){return a("Status",{statdisp:"setmsg2"})}})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.pda_supply=void 0;var o=n(0),r=(n(8),n(6),n(1)),i=n(2);t.pda_supply=function(e,t){var n=(0,r.useBackend)(t),a=(n.act,n.data.supply);return(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Location",children:a.shuttle_moving?"Moving to station "+a.shuttle_eta:"Shuttle at "+a.shuttle_loc})}),(0,o.createComponentVNode)(2,i.Section,{children:[(0,o.createComponentVNode)(2,i.Box,{color:"good",bold:!0,children:"Current Approved Orders"}),a.approved.length&&a.approved.map((function(e){return(0,o.createComponentVNode)(2,i.Box,{color:"average",children:["#",e.Number," - ",e.Name," approved by ",e.OrderedBy,(0,o.createVNode)(1,"br"),e.Comment]},e.Number)}))||(0,o.createComponentVNode)(2,i.Box,{children:"None!"}),(0,o.createComponentVNode)(2,i.Box,{color:"good",bold:!0,children:"Current Requested Orders"}),a.requests.length&&a.requests.map((function(e){return(0,o.createComponentVNode)(2,i.Box,{color:"average",children:["#",e.Number," - ",e.Name," requested by ",e.OrderedBy,(0,o.createVNode)(1,"br"),e.Comment]},e.Number)}))||(0,o.createComponentVNode)(2,i.Box,{children:"None!"})]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Photocopier=void 0;var o=n(0),r=n(2),i=n(1),a=n(3);t.Photocopier=function(e,t){var n=(0,i.useBackend)(t).data,u=n.isAI,s=n.has_toner,m=n.has_item;return(0,o.createComponentVNode)(2,a.Window,{title:"Photocopier",width:240,height:u?309:234,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:[s?(0,o.createComponentVNode)(2,c):(0,o.createComponentVNode)(2,r.Section,{title:"Toner",children:(0,o.createComponentVNode)(2,r.Box,{color:"average",children:"No inserted toner cartridge."})}),m?(0,o.createComponentVNode)(2,l):(0,o.createComponentVNode)(2,r.Section,{title:"Options",children:(0,o.createComponentVNode)(2,r.Box,{color:"average",children:"No inserted item."})}),!!u&&(0,o.createComponentVNode)(2,d)]})})};var c=function(e,t){var n=(0,i.useBackend)(t),a=(n.act,n.data),c=a.max_toner,l=a.current_toner,d=.66*c,u=.33*c;return(0,o.createComponentVNode)(2,r.Section,{title:"Toner",children:(0,o.createComponentVNode)(2,r.ProgressBar,{ranges:{good:[d,c],average:[u,d],bad:[0,u]},value:l,minValue:0,maxValue:c})})},l=function(e,t){var n=(0,i.useBackend)(t),a=n.act,c=n.data,l=c.num_copies;c.has_enough_toner;return(0,o.createComponentVNode)(2,r.Section,{title:"Options",children:[(0,o.createComponentVNode)(2,r.Flex,{children:[(0,o.createComponentVNode)(2,r.Flex.Item,{mt:.4,width:11,color:"label",children:"Make copies:"}),(0,o.createComponentVNode)(2,r.Flex.Item,{children:(0,o.createComponentVNode)(2,r.NumberInput,{animate:!0,width:2.6,height:1.65,step:1,stepPixelSize:8,minValue:1,maxValue:10,value:l,onDrag:function(e,t){return a("set_copies",{num_copies:t})}})}),(0,o.createComponentVNode)(2,r.Flex.Item,{children:(0,o.createComponentVNode)(2,r.Button,{ml:.2,icon:"copy",textAlign:"center",onClick:function(){return a("make_copy")},children:"Copy"})})]}),(0,o.createComponentVNode)(2,r.Button,{mt:.5,textAlign:"center",icon:"reply",fluid:!0,onClick:function(){return a("remove")},children:"Remove item"})]})},d=function(e,t){var n=(0,i.useBackend)(t),a=n.act,c=n.data.can_AI_print;return(0,o.createComponentVNode)(2,r.Section,{title:"AI Options",children:(0,o.createComponentVNode)(2,r.Box,{children:(0,o.createComponentVNode)(2,r.Button,{fluid:!0,icon:"images",textAlign:"center",disabled:!c,onClick:function(){return a("ai_photo")},children:"Print photo from database"})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.PipeDispenser=void 0;var o=n(0),r=n(1),i=n(2),a=n(3),c=n(204);t.PipeDispenser=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.disposals,s=d.p_layer,m=d.pipe_layers,p=d.categories,h=void 0===p?[]:p,C=(0,r.useLocalState)(t,"categoryName"),f=C[0],N=C[1],b=h.find((function(e){return e.cat_name===f}))||h[0];return(0,o.createComponentVNode)(2,a.Window,{width:425,height:515,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[!u&&(0,o.createComponentVNode)(2,i.Section,{title:"Layer",children:(0,o.createComponentVNode)(2,i.Box,{children:Object.keys(m).map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,checked:m[e]===s,content:e,onClick:function(){return l("p_layer",{p_layer:m[e]})}},e)}))})}),(0,o.createComponentVNode)(2,i.Section,{title:"Pipes",children:[(0,o.createComponentVNode)(2,i.Tabs,{children:h.map((function(e,t){return(0,o.createComponentVNode)(2,i.Tabs.Tab,{fluid:!0,icon:c.ICON_BY_CATEGORY_NAME[e.cat_name],selected:e.cat_name===b.cat_name,onClick:function(){return N(e.cat_name)},children:e.cat_name},e.cat_name)}))}),null==b?void 0:b.recipes.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{fluid:!0,ellipsis:!0,content:e.pipe_name,title:e.pipe_name,onClick:function(){return l("dispense_pipe",{ref:e.ref,bent:e.bent,category:b.cat_name})}},e.pipe_name)}))]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.PlantAnalyzer=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.PlantAnalyzer=function(e,t){var n=(0,r.useBackend)(t).data,i=250;return n.seed&&(i+=18*n.seed.trait_info.length),n.reagents&&n.reagents.length&&(i+=55,i+=20*n.reagents.length),(0,o.createComponentVNode)(2,a.Window,{width:400,height:i,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,c)})})};var c=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.no_seed,d=c.seed,u=c.reagents;return l?(0,o.createComponentVNode)(2,i.Section,{title:"Analyzer Unused",children:"You should go scan a plant! There is no data currently loaded."}):(0,o.createComponentVNode)(2,i.Section,{title:"Plant Information",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"print",onClick:function(){return a("print")},children:"Print Report"}),(0,o.createComponentVNode)(2,i.Button,{icon:"window-close",color:"red",onClick:function(){return a("close")}})],4),children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Plant Name",children:[d.name,"#",d.uid]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Endurance",children:d.endurance}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Yield",children:d.yield}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Maturation Time",children:d.maturation_time}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Production Time",children:d.production_time}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Potency",children:d.potency})]}),u.length&&(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Plant Reagents",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:u.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,children:[e.volume," unit(s)."]},e.name)}))})})||null,(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Other Data",children:d.trait_info.map((function(e){return(0,o.createComponentVNode)(2,i.Box,{color:"label",mb:.4,children:e},e)}))})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.PointDefenseControl=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.PointDefenseControl=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.id,u=l.turrets;return(0,o.createComponentVNode)(2,a.Window,{width:400,height:600,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i.Section,{title:"Fire Assist Mainframe: "+(d||"[no tag]"),children:u.length&&u.map((function(e){return(0,o.createComponentVNode)(2,i.Section,{level:2,title:e.id,buttons:(0,o.createComponentVNode)(2,i.Button,{selected:e.active,icon:"power-off",onClick:function(){return c("toggle_active",{target:e.ref})},children:e.active?"Online":"Offline"}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Effective range",children:e.effective_range}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Reaction wheel delay",children:e.reaction_wheel_delay}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Recharge time",children:e.recharge_time})]})},e.id)}))||(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Error: No weapon systems detected. Please check network connection."})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.PortableGenerator=void 0;var o=n(0),r=n(1),i=n(2),a=n(3),c=n(5);t.PortableGenerator=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.fuel_stored/d.fuel_capacity,s=(u>=.5?"good":u>.15&&"average")||"bad";return(0,o.createComponentVNode)(2,a.Window,{width:450,height:340,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[!d.anchored&&(0,o.createComponentVNode)(2,i.NoticeBox,{children:"Generator not anchored."}),(0,o.createComponentVNode)(2,i.Section,{title:"Status",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Power switch",children:(0,o.createComponentVNode)(2,i.Button,{icon:d.active?"power-off":"times",onClick:function(){return l("toggle_power")},selected:d.active,disabled:!d.ready_to_boot,children:d.active?"On":"Off"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Fuel Type",buttons:d.fuel_stored>=1&&(0,o.createComponentVNode)(2,i.Button,{ml:1,icon:"eject",disabled:d.active,onClick:function(){return l("eject")},children:"Eject"}),children:(0,o.createComponentVNode)(2,i.Box,{color:s,children:[d.fuel_stored,"cm\xb3 ",d.sheet_name]})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Current fuel level",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:d.fuel_stored/d.fuel_capacity,ranges:{good:[.5,Infinity],average:[.15,.5],bad:[-Infinity,.15]},children:[d.fuel_stored,"cm\xb3 / ",d.fuel_capacity,"cm\xb3"]})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Fuel Usage",children:[d.fuel_usage," cm\xb3/s"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Temperature",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:d.temperature_current,maxValue:d.temperature_max+30,color:d.temperature_overheat?"bad":"good",children:[(0,c.round)(d.temperature_current),"\xb0C"]})})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Output",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Current output",color:d.unsafe_output?"bad":null,children:d.power_output}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Adjust output",children:[(0,o.createComponentVNode)(2,i.Button,{icon:"minus",onClick:function(){return l("lower_power")},children:d.power_generated}),(0,o.createComponentVNode)(2,i.Button,{icon:"plus",onClick:function(){return l("higher_power")},children:d.power_generated})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Power available",children:(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:!d.connected&&"bad",children:d.connected?d.power_available:"Unconnected"})})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.PortablePump=void 0;var o=n(0),r=n(1),i=n(2),a=n(3),c=n(205);t.PortablePump=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.direction,s=d.target_pressure,m=d.default_pressure,p=d.min_pressure,h=d.max_pressure;return(0,o.createComponentVNode)(2,a.Window,{width:330,height:375,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,c.PortableBasicInfo),(0,o.createComponentVNode)(2,i.Section,{title:"Pump",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:u?"sign-in-alt":"sign-out-alt",content:u?"In":"Out",selected:u,onClick:function(){return l("direction")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Output",children:(0,o.createComponentVNode)(2,i.Slider,{mt:"0.4em",animated:!0,minValue:p,maxValue:h,value:s,unit:"kPa",stepPixelSize:.3,onChange:function(e,t){return l("pressure",{pressure:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Presets",children:[(0,o.createComponentVNode)(2,i.Button,{icon:"minus",disabled:s===p,onClick:function(){return l("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"sync",disabled:s===m,onClick:function(){return l("pressure",{pressure:"reset"})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"plus",disabled:s===h,onClick:function(){return l("pressure",{pressure:"max"})}})]})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.PortableScrubber=void 0;var o=n(0),r=n(1),i=n(2),a=(n(28),n(3)),c=n(205);t.PortableScrubber=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.rate,s=d.minrate,m=d.maxrate;return(0,o.createComponentVNode)(2,a.Window,{width:320,height:350,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:[(0,o.createComponentVNode)(2,c.PortableBasicInfo),(0,o.createComponentVNode)(2,i.Section,{title:"Power Regulator",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Volume Rate",children:(0,o.createComponentVNode)(2,i.Slider,{mt:"0.4em",animated:!0,minValue:s,maxValue:m,value:u,unit:"L/s",onChange:function(e,t){return l("volume_adj",{vol:t})}})})})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.PortableTurret=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.PortableTurret=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.locked,u=l.on,s=l.lethal,m=l.lethal_is_configurable,p=l.targetting_is_configurable,h=l.check_weapons,C=l.neutralize_noaccess,f=l.neutralize_norecord,N=l.neutralize_criminals,b=l.neutralize_all,V=l.neutralize_nonsynth,g=l.neutralize_unidentified,v=l.neutralize_down;return(0,o.createComponentVNode)(2,a.Window,{width:500,height:400,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.NoticeBox,{children:["Swipe an ID card to ",d?"unlock":"lock"," this interface."]}),(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",children:(0,o.createComponentVNode)(2,i.Button,{icon:u?"power-off":"times",content:u?"On":"Off",selected:u,disabled:d,onClick:function(){return c("power")}})}),!!m&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Lethals",children:(0,o.createComponentVNode)(2,i.Button,{icon:s?"exclamation-triangle":"times",content:s?"On":"Off",color:s?"bad":"",disabled:d,onClick:function(){return c("lethal")}})})]})}),!!p&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Humanoid Targets",children:[(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,checked:N,content:"Wanted Criminals",disabled:d,onClick:function(){return c("autharrest")}}),(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,checked:f,content:"No Sec Record",disabled:d,onClick:function(){return c("authnorecord")}}),(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,checked:h,content:"Unauthorized Weapons",disabled:d,onClick:function(){return c("authweapon")}}),(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,checked:C,content:"Unauthorized Access",disabled:d,onClick:function(){return c("authaccess")}})]}),(0,o.createComponentVNode)(2,i.Section,{title:"Other Targets",children:[(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,checked:g,content:"Unidentified Lifesigns (Xenos, Animals, Etc)",disabled:d,onClick:function(){return c("authxeno")}}),(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,checked:V,content:"All Non-Synthetics",disabled:d,onClick:function(){return c("authsynth")}}),(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,checked:v,content:"Downed Targets",disabled:d,onClick:function(){return c("authdown")}}),(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,checked:b,content:"All Entities",disabled:d,onClick:function(){return c("authall")}})]})],4)]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.PrecisionEditor=void 0;var o=n(0),r=(n(8),n(1)),i=n(2),a=n(3);n(183);t.PrecisionEditor=function(e,t){var n=(0,r.useBackend)(t),u=(n.act,n.data.screenstate);return(0,o.createComponentVNode)(2,a.Window,{resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i.Section,{title:"Seed status",children:["main"===u&&(0,o.createComponentVNode)(2,c),"colors"===u&&(0,o.createComponentVNode)(2,l),"reagents"===u&&(0,o.createComponentVNode)(2,d)]})})})};var c=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.health,d=c.plantcolor,u=c.fruitcolor,s=c.chems,m=c.seedname;return(0,o.createComponentVNode)(2,i.LabeledList,{children:s?(0,o.createFragment)([(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Name",children:m}),l<100?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Genetic Integrity",children:100-l+"%"}):(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Genetic Integrity",children:"UNVIABLE"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Plant Color",children:d}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Fruit Color",children:u}),(0,o.createComponentVNode)(2,i.LabeledList.Divider,{size:2}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Chems produced in fruit (click to splice out)",children:s.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:e.displayname,onClick:function(){return a("prune",{gene_name:e.name})}},e.displayname)}))}),(0,o.createComponentVNode)(2,i.Button,{content:"Edit Colors",onClick:function(){return a("change_focus",{window:"colors"})}}),(0,o.createComponentVNode)(2,i.Button,{content:"Add Reagents",onClick:function(){return a("change_focus",{window:"reagents"})}}),(0,o.createComponentVNode)(2,i.LabeledList.Divider,{size:2}),(0,o.createComponentVNode)(2,i.Button,{content:"Eject Seed",onClick:function(){return a("eject")}})],0):(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Waiting",children:"There is currently no seed loaded."})})},l=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.plantcolor,d=c.fruitcolor;return(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Plant Color",children:l}),(0,o.createComponentVNode)(2,i.ColorBox,{color:l}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Fruit Color",children:d}),(0,o.createComponentVNode)(2,i.ColorBox,{color:d}),(0,o.createComponentVNode)(2,i.Button,{content:"Change plant color",onClick:function(){return a("change_color",{option:0})}}),(0,o.createComponentVNode)(2,i.Button,{content:"Change fruit color",onClick:function(){return a("change_color",{option:1})}}),(0,o.createComponentVNode)(2,i.LabeledList.Divider,{size:2}),(0,o.createComponentVNode)(2,i.Button,{content:"Return",onClick:function(){return a("change_focus",{window:"main"})}})]})},d=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.beakerchems,d=c.health;return(0,o.createComponentVNode)(2,i.LabeledList,{children:[d<100?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Genetic Integrity",children:100-d+"%"}):(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Genetic Integrity",children:"UNVIABLE"}),(0,o.createComponentVNode)(2,i.NoticeBox,{info:1,width:19,height:9,ml:1,children:["Available chems to choose are based on the reagents stored in the beaker. "," A minimum of 100 units of reagent is required to generate a viable sequence. ","The chosen reagent will be consumed in the process.",(0,o.createComponentVNode)(2,i.Box,{bold:1,mt:1,children:"This process severely damages genetic integrity."})]}),(0,o.createComponentVNode)(2,i.Box,{width:20,opacity:.5,ml:1,mt:6,mb:2,children:["Plant will produce 1 additional unit for every 25 units beyond 100"," (modified by potency)"]}),l?(0,o.createFragment)([d<100?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Available reagents",children:l.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{fluid:!0,content:e.displayname,onClick:function(){return a("add_chem",{target_chem:e.name})}},e.displayname)}))}):(0,o.createComponentVNode)(2,i.NoticeBox,{warning:1,children:"WARNING: Genetic integrity of seed is too poor to proceed."}),(0,o.createComponentVNode)(2,i.Button,{content:"Eject Beaker",onClick:function(){return a("eject_beaker")}})],0):(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Waiting",children:"There is currently no beaker loaded."}),(0,o.createComponentVNode)(2,i.Button,{content:"Return",onClick:function(){return a("change_focus",{window:"main"})}})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.PressureRegulator=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.PressureRegulator=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.on,u=l.pressure_set,s=(l.max_pressure,l.input_pressure),m=l.output_pressure,p=l.regulate_mode,h=l.set_flow_rate,C=l.last_flow_rate;return(0,o.createComponentVNode)(2,a.Window,{width:470,height:370,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:[(0,o.createComponentVNode)(2,i.Section,{title:"Status",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Input Pressure",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:s/100})," kPa"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Output Pressure",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:m/100})," kPa"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Flow Rate",children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:C/10})," L/s"]})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Controls",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",content:d?"Unlocked":"Closed",selected:d,onClick:function(){return c("toggle_valve")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Pressure Regulation",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",content:"Off",selected:0===p,onClick:function(){return c("regulate_mode",{mode:"off"})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"compress-arrows-alt",content:"Input",selected:1===p,onClick:function(){return c("regulate_mode",{mode:"input"})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"expand-arrows-alt",content:"Output",selected:2===p,onClick:function(){return c("regulate_mode",{mode:"output"})}})],4)}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Desired Output Pressure",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"compress-arrows-alt",content:"MIN",onClick:function(){return c("set_press",{press:"min"})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"expand-arrows-alt",content:"MAX",onClick:function(){return c("set_press",{press:"max"})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"wrench",content:"SET",onClick:function(){return c("set_press",{press:"set"})}})],4),children:[u/100," kPa"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Flow Rate Limit",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"compress-arrows-alt",content:"MIN",onClick:function(){return c("set_flow_rate",{press:"min"})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"expand-arrows-alt",content:"MAX",onClick:function(){return c("set_flow_rate",{press:"max"})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"wrench",content:"SET",onClick:function(){return c("set_flow_rate",{press:"set"})}})],4),children:[h/10," L/s"]})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.PrisonerManagement=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);n(20);t.PrisonerManagement=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.locked,u=l.chemImplants,s=l.trackImplants;return(0,o.createComponentVNode)(2,a.Window,{width:500,height:400,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:d&&(0,o.createComponentVNode)(2,i.Section,{title:"Locked",textAlign:"center",children:["This interface is currently locked.",(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"unlock",onClick:function(){return c("lock")},children:"Unlock"})})]})||(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Interface Lock",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"lock",onClick:function(){return c("lock")},children:"Lock Interface"})}),(0,o.createComponentVNode)(2,i.Section,{title:"Chemical Implants",children:u.length&&(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:"Host"}),(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:"Units Remaining"}),(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:"Inject"})]}),u.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:e.host}),(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:[e.units,"u remaining"]}),(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:[(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return c("inject",{imp:e.ref,val:1})},children:"(1)"}),(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return c("inject",{imp:e.ref,val:5})},children:"(5)"}),(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return c("inject",{imp:e.ref,val:10})},children:"(10)"})]})]},e.ref)}))]})||(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"No chemical implants found."})}),(0,o.createComponentVNode)(2,i.Section,{title:"Tracking Implants",children:s.length&&(0,o.createComponentVNode)(2,i.Table,{children:[(0,o.createComponentVNode)(2,i.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:"Host"}),(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:"Location"}),(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:"Message"})]}),s.map((function(e){return(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:[e.host," (",e.id,")"]}),(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:e.loc}),(0,o.createComponentVNode)(2,i.Table.Cell,{textAlign:"center",children:(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return c("warn",{imp:e.ref})},children:"Message"})})]},e.ref)}))]})||(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"No chemical implants found."})})],4)})})}},function(e,t,n){"use strict";t.__esModule=!0,t.RIGSuit=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3),c=n(6);t.RIGSuit=function(e,t){var n=(0,r.useBackend)(t),c=(n.act,n.data),s=c.interfacelock,m=c.malf,p=c.aicontrol,h=c.ai,C=null;return s||m?C=(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"--HARDSUIT INTERFACE OFFLINE--"}):!h&&p&&(C=(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"-- HARDSUIT CONTROL OVERRIDDEN BY AI --"})),(0,o.createComponentVNode)(2,a.Window,{height:480,width:550,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:C||(0,o.createFragment)([(0,o.createComponentVNode)(2,l),(0,o.createComponentVNode)(2,d),(0,o.createComponentVNode)(2,u)],4)})})};var l=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.chargestatus,d=c.charge,u=c.maxcharge,s=c.aioverride,m=c.sealing,p=c.sealed,h=c.emagged,C=c.securitycheck,f=c.coverlock,N=(0,o.createComponentVNode)(2,i.Button,{content:"Suit "+(m?"seals working...":p?"is Active":"is Inactive"),icon:m?"redo":p?"power-off":"lock-open",iconSpin:m,disabled:m,selected:p,onClick:function(){return a("toggle_seals")}}),b=(0,o.createComponentVNode)(2,i.Button,{content:"AI Control "+(s?"Enabled":"Disabled"),selected:s,icon:"robot",onClick:function(){return a("toggle_ai_control")}});return(0,o.createComponentVNode)(2,i.Section,{title:"Status",buttons:(0,o.createFragment)([N,b],0),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Power Supply",children:(0,o.createComponentVNode)(2,i.ProgressBar,{minValue:0,maxValue:50,value:l,ranges:{good:[35,Infinity],average:[15,35],bad:[-Infinity,15]},children:[d," / ",u]})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Cover Status",children:h||!C?(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Error - Maintenance Lock Control Offline"}):(0,o.createComponentVNode)(2,i.Button,{icon:f?"lock":"lock-open",content:f?"Locked":"Unlocked",onClick:function(){return a("toggle_suit_lock")}})})]})})},d=function(e,t){var n=(0,r.useBackend)(t),a=n.act,l=n.data,d=l.sealing,u=l.helmet,s=l.helmetDeployed,m=l.gauntlets,p=l.gauntletsDeployed,h=l.boots,C=l.bootsDeployed,f=l.chest,N=l.chestDeployed;return(0,o.createComponentVNode)(2,i.Section,{title:"Hardware",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Helmet",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:s?"sign-out-alt":"sign-in-alt",content:s?"Deployed":"Deploy",disabled:d,selected:s,onClick:function(){return a("toggle_piece",{piece:"helmet"})}}),children:u?(0,c.capitalize)(u):"ERROR"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Gauntlets",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:p?"sign-out-alt":"sign-in-alt",content:p?"Deployed":"Deploy",disabled:d,selected:p,onClick:function(){return a("toggle_piece",{piece:"gauntlets"})}}),children:m?(0,c.capitalize)(m):"ERROR"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Boots",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:C?"sign-out-alt":"sign-in-alt",content:C?"Deployed":"Deploy",disabled:d,selected:C,onClick:function(){return a("toggle_piece",{piece:"boots"})}}),children:h?(0,c.capitalize)(h):"ERROR"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Chestpiece",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:N?"sign-out-alt":"sign-in-alt",content:N?"Deployed":"Deploy",disabled:d,selected:N,onClick:function(){return a("toggle_piece",{piece:"chest"})}}),children:f?(0,c.capitalize)(f):"ERROR"})]})})},u=function(e,t){var n=(0,r.useBackend)(t),a=n.act,l=n.data,d=l.sealed,u=l.sealing,s=l.primarysystem,m=l.modules;return!d||u?(0,o.createComponentVNode)(2,i.Section,{title:"Modules",children:(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"HARDSUIT SYSTEMS OFFLINE"})}):(0,o.createComponentVNode)(2,i.Section,{title:"Modules",children:[(0,o.createComponentVNode)(2,i.Box,{color:"label",mb:"0.2rem",fontSize:1.5,children:["Selected Primary: ",(0,c.capitalize)(s||"None")]}),m&&m.map((function(e,t){return(0,o.createComponentVNode)(2,i.Section,{level:2,title:(0,c.toTitleCase)(e.name)+(e.damage?" (damaged)":""),buttons:(0,o.createFragment)([e.can_select?(0,o.createComponentVNode)(2,i.Button,{selected:e.name===s,content:e.name===s?"Selected":"Select",icon:"arrow-circle-right",onClick:function(){return a("interact_module",{module:e.index,module_mode:"select"})}}):null,e.can_use?(0,o.createComponentVNode)(2,i.Button,{content:e.engagestring,icon:"arrow-circle-down",onClick:function(){return a("interact_module",{module:e.index,module_mode:"engage"})}}):null,e.can_toggle?(0,o.createComponentVNode)(2,i.Button,{selected:e.is_active,content:e.is_active?e.deactivatestring:e.activatestring,icon:"arrow-circle-down",onClick:function(){return a("interact_module",{module:e.index,module_mode:"toggle"})}}):null],0),children:[e.damage>=2?(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"-- MODULE DESTROYED --"}):(0,o.createComponentVNode)(2,i.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:[(0,o.createComponentVNode)(2,i.Box,{color:"average",children:["Engage: ",e.engagecost]}),(0,o.createComponentVNode)(2,i.Box,{color:"average",children:["Active: ",e.activecost]}),(0,o.createComponentVNode)(2,i.Box,{color:"average",children:["Passive: ",e.passivecost]})]}),(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:e.desc})]}),e.charges?(0,o.createComponentVNode)(2,i.Flex.Item,{children:(0,o.createComponentVNode)(2,i.Section,{title:"Module Charges",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Selected",children:(0,c.capitalize)(e.chargetype)}),e.charges.map((function(t,n){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:(0,c.capitalize)(t.caption),children:(0,o.createComponentVNode)(2,i.Button,{selected:e.realchargetype===t.index,icon:"arrow-right",onClick:function(){return a("interact_module",{module:e.index,module_mode:"select_charge_type",charge_type:t.index})}})},t.caption)}))]})})}):null]},e.name)}))]})}},function(e,t,n){"use strict";t.__esModule=!0,t.Radio=void 0;var o=n(0),r=(n(8),n(5)),i=n(1),a=n(2),c=n(28),l=n(3);t.Radio=function(e,t){var n=(0,i.useBackend)(t),d=n.act,u=n.data,s=u.rawfreq,m=u.minFrequency,p=u.maxFrequency,h=u.listening,C=u.broadcasting,f=u.subspace,N=u.subspaceSwitchable,b=u.chan_list,V=u.loudspeaker,g=u.mic_cut,v=u.spk_cut,_=u.useSyndMode,k=c.RADIO_CHANNELS.find((function(e){return e.freq===Number(s)})),y=156;return b&&b.length>0?y+=28*b.length+6:y+=24,N&&(y+=38),(0,o.createComponentVNode)(2,l.Window,{width:310,height:y,resizable:!0,theme:_?"syndicate":"",children:(0,o.createComponentVNode)(2,l.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Frequency",children:[(0,o.createComponentVNode)(2,a.NumberInput,{animated:!0,unit:"kHz",step:.2,stepPixelSize:10,minValue:m/10,maxValue:p/10,value:s/10,format:function(e){return(0,r.toFixed)(e,1)},onDrag:function(e,t){return d("setFrequency",{freq:(0,r.round)(10*t)})}}),k&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:k.color,ml:2,children:["[",k.name,"]"]})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Audio",children:[(0,o.createComponentVNode)(2,a.Button,{textAlign:"center",width:"37px",icon:h?"volume-up":"volume-mute",selected:h,disabled:v,onClick:function(){return d("listen")}}),(0,o.createComponentVNode)(2,a.Button,{textAlign:"center",width:"37px",icon:C?"microphone":"microphone-slash",selected:C,disabled:g,onClick:function(){return d("broadcast")}}),!!N&&(0,o.createComponentVNode)(2,a.Box,{children:(0,o.createComponentVNode)(2,a.Button,{icon:"bullhorn",selected:f,content:"Subspace Tx "+(f?"ON":"OFF"),onClick:function(){return d("subspace")}})}),!!N&&(0,o.createComponentVNode)(2,a.Box,{children:(0,o.createComponentVNode)(2,a.Button,{icon:V?"volume-up":"volume-mute",selected:V,content:"Loudspeaker",onClick:function(){return d("toggleLoudspeaker")}})})]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Channels",children:[(!b||0===b.length)&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"bad",children:"No channels detected."}),(0,o.createComponentVNode)(2,a.LabeledList,{children:b?b.map((function(e){var t=c.RADIO_CHANNELS.find((function(t){return t.freq===Number(e.freq)})),n="default";return t&&(n=t.color),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.display_name,labelColor:n,textAlign:"right",children:e.secure_channel&&f?(0,o.createComponentVNode)(2,a.Button,{icon:e.sec_channel_listen?"square-o":"check-square-o",selected:!e.sec_channel_listen,content:e.sec_channel_listen?"Off":"On",onClick:function(){return d("channel",{channel:e.chan})}}):(0,o.createComponentVNode)(2,a.Button,{content:"Switch",selected:e.chan===s,onClick:function(){return d("specFreq",{channel:e.chan})}})},e.chan)})):null})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.RequestConsole=void 0;var o=n(0),r=n(6),i=n(1),a=n(2),c=n(3),l=function(e,t){var n=(0,i.useBackend)(t).act,r=e.dept_list,c=e.department;return(0,o.createComponentVNode)(2,a.LabeledList,{children:r.sort().map((function(e){return e!==c&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"envelope-open-text",onClick:function(){return n("write",{write:e,priority:1})},children:"Message"}),(0,o.createComponentVNode)(2,a.Button,{icon:"exclamation-triangle",onClick:function(){return n("write",{write:e,priority:2})},children:"High Priority"})],4)})||null}))})},d={0:function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data.silent;return(0,o.createComponentVNode)(2,a.Section,{title:"Settings",children:(0,o.createComponentVNode)(2,a.Button,{selected:!c,icon:c?"volume-mute":"volume-up",onClick:function(){return r("toggleSilent")},children:["Speaker ",c?"OFF":"ON"]})})},1:function(e,t){var n=(0,i.useBackend)(t),r=(n.act,n.data),c=r.department,d=r.assist_dept;return(0,o.createComponentVNode)(2,a.Section,{title:"Request assistance from another department",children:(0,o.createComponentVNode)(2,l,{dept_list:d,department:c})})},2:function(e,t){var n=(0,i.useBackend)(t),r=(n.act,n.data),c=r.department,d=r.supply_dept;return(0,o.createComponentVNode)(2,a.Section,{title:"Supplies",children:(0,o.createComponentVNode)(2,l,{dept_list:d,department:c})})},3:function(e,t){var n=(0,i.useBackend)(t),r=(n.act,n.data),c=r.department,d=r.info_dept;return(0,o.createComponentVNode)(2,a.Section,{title:"Report Anonymous Information",children:(0,o.createComponentVNode)(2,l,{dept_list:d,department:c})})},4:function(e,t){var n=(0,i.useBackend)(t),r=n.act;n.data;return(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Box,{fontSize:2,color:"good",children:"Message Sent Successfully"}),(0,o.createComponentVNode)(2,a.Box,{children:(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-right",onClick:function(){return r("setScreen",{setScreen:0})},children:"Continue"})})]})},5:function(e,t){var n=(0,i.useBackend)(t),r=n.act;n.data;return(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Box,{fontSize:1.5,bold:!0,color:"bad",children:"An error occured. Message Not Sent."}),(0,o.createComponentVNode)(2,a.Box,{children:(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-right",onClick:function(){return r("setScreen",{setScreen:0})},children:"Continue"})})]})},6:function(e,t){var n=(0,i.useBackend)(t),c=n.act,l=n.data.message_log;return(0,o.createComponentVNode)(2,a.Section,{title:"Messages",children:l.length&&l.map((function(e,t){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:(0,r.decodeHtmlEntities)(e[0]),buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"print",onClick:function(){return c("print",{print:t+1})},children:"Print"}),children:(0,r.decodeHtmlEntities)(e[1])},t)}))||(0,o.createComponentVNode)(2,a.Box,{children:"No messages."})})},7:function(e,t){var n=(0,i.useBackend)(t),c=n.act,l=n.data,d=l.message,u=l.recipient,s=l.priority,m=l.msgStamped,p=l.msgVerified;return(0,o.createComponentVNode)(2,a.Section,{title:"Message Authentication",children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Message for "+u,children:d}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Priority",children:2===s?"High Priority":1===s?"Normal Priority":"Unknown"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Validated By",color:p?"good":"bad",children:(0,r.decodeHtmlEntities)(p)||"No Validation"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Stamped By",color:m?"good":"bad",children:(0,r.decodeHtmlEntities)(m)||"No Stamp"})]}),(0,o.createComponentVNode)(2,a.Button,{mt:1,icon:"share",onClick:function(){return c("department",{department:u})},children:"Send Message"}),(0,o.createComponentVNode)(2,a.Button,{icon:"undo",onClick:function(){return c("setScreen",{setScreen:0})},children:"Back"})]})},8:function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data,l=(c.department,c.screen,c.message_log,c.newmessagepriority,c.silent,c.announcementConsole,c.assist_dept,c.supply_dept,c.info_dept,c.message),d=(c.recipient,c.priority,c.msgStamped,c.msgVerified,c.announceAuth);return(0,o.createComponentVNode)(2,a.Section,{title:"Send Station-Wide Announcement",children:[d&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:"good",mb:1,children:"ID Verified. Authentication Accepted."}),(0,o.createComponentVNode)(2,a.Section,{title:"Message",mt:1,maxHeight:"200px",scrollable:!0,buttons:(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"pen",onClick:function(){return r("writeAnnouncement")},children:"Edit"}),children:l||"No Message"})],4)||(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:"bad",mb:1,children:"Swipe your ID card to authenticate yourself."}),(0,o.createComponentVNode)(2,a.Button,{disabled:!l||!d,icon:"share",onClick:function(){return r("sendAnnouncement")},children:"Announce"}),(0,o.createComponentVNode)(2,a.Button,{icon:"undo",onClick:function(){return r("setScreen",{setScreen:0})},children:"Back"})]})}};t.RequestConsole=function(e,t){var n=(0,i.useBackend)(t),r=n.act,l=n.data,u=l.screen,s=l.newmessagepriority,m=l.announcementConsole,p=d[u];return(0,o.createComponentVNode)(2,c.Window,{width:520,height:410,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:6===u,onClick:function(){return r("setScreen",{setScreen:6})},icon:"envelope-open-text",children:"Messages"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:1===u,onClick:function(){return r("setScreen",{setScreen:1})},icon:"share-square",children:"Assistance"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:2===u,onClick:function(){return r("setScreen",{setScreen:2})},icon:"share-square",children:"Supplies"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:3===u,onClick:function(){return r("setScreen",{setScreen:3})},icon:"share-square-o",children:"Report"}),m&&(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:8===u,onClick:function(){return r("setScreen",{setScreen:8})},icon:"volume-up",children:"Announce"})||null,(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:0===u,onClick:function(){return r("setScreen",{setScreen:0})},icon:"cog"})]}),s&&(0,o.createComponentVNode)(2,a.Section,{title:s>1?"NEW PRIORITY MESSAGES":"There are new messages!",color:s>1?"bad":"average",bold:s>1})||null,(0,o.createComponentVNode)(2,p)]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ResearchConsole=void 0;var o=n(0),r=n(6),i=n(1),a=n(2),c=n(3),l=function(e,t){var n=(0,i.useBackend)(t).data,o=e.title,r=n[e.target];return"number"==typeof r?o+" - Page "+(r+1):o},d=function(e,t){var n=(0,i.useBackend)(t).act,r=e.target;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"undo",onClick:function(){return n(r,{reset:!0})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"chevron-left",onClick:function(){return n(r,{reverse:-1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"chevron-right",onClick:function(){return n(r,{reverse:1})}})],4)},u=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data.info.tech,l=e.disk;if(!l||!l.present)return null;var d=(0,i.useSharedState)(t,"saveDialogTech",!1),u=d[0],s=d[1];return u?(0,o.createComponentVNode)(2,a.Section,{title:"Load Technology to Disk",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"Back",onClick:function(){return s(!1)}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:(0,o.createComponentVNode)(2,a.Button,{icon:"save",onClick:function(){s(!1),r("copy_tech",{copy_tech_ID:e.id})},children:"Copy To Disk"})},e.name)}))})}):(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Disk Contents",children:"(Technology Data Disk)"})}),l.stored&&(0,o.createComponentVNode)(2,a.Box,{mt:2,children:[(0,o.createComponentVNode)(2,a.Box,{children:l.name}),(0,o.createComponentVNode)(2,a.Box,{children:["Level: ",l.level]}),(0,o.createComponentVNode)(2,a.Box,{children:["Description: ",l.desc]}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:[(0,o.createComponentVNode)(2,a.Button,{icon:"save",onClick:function(){return r("updt_tech")},children:"Upload to Database"}),(0,o.createComponentVNode)(2,a.Button,{icon:"trash",onClick:function(){return r("clear_tech")},children:"Clear Disk"}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",onClick:function(){return r("eject_tech")},children:"Eject Disk"})]})]})||(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Box,{children:"This disk has no data stored on it."}),(0,o.createComponentVNode)(2,a.Button,{icon:"save",onClick:function(){return s(!0)},children:"Load Tech To Disk"}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",onClick:function(){return r("eject_tech")},children:"Eject Disk"})]})]})},s=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data,u=c.info.designs,s=e.disk;if(!s||!s.present)return null;var m=(0,i.useSharedState)(t,"saveDialogData",!1),p=m[0],h=m[1];return p?(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createComponentVNode)(2,l,{title:"Load Design to Disk",target:"design_page"}),buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"arrow-left",content:"Back",onClick:function(){return h(!1)}}),(0,o.createComponentVNode)(2,d,{target:"design_page"})||null],0),children:[(0,o.createComponentVNode)(2,a.Input,{fluid:!0,placeholder:"Search for...",value:c.search,onInput:function(e,t){return r("search",{search:t})},mb:1}),(0,o.createComponentVNode)(2,a.LabeledList,{children:u.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:(0,o.createComponentVNode)(2,a.Button,{icon:"save",onClick:function(){h(!1),r("copy_design",{copy_design_ID:e.id})},children:"Copy To Disk"})},e.name)}))})]}):(0,o.createComponentVNode)(2,a.Box,{children:s.stored&&(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:s.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Lathe Type",children:s.build_type}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Required Materials",children:Object.keys(s.materials).map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:[e," x ",s.materials[e]]},e)}))})]}),(0,o.createComponentVNode)(2,a.Box,{mt:1,children:[(0,o.createComponentVNode)(2,a.Button,{icon:"save",onClick:function(){return r("updt_design")},children:"Upload to Database"}),(0,o.createComponentVNode)(2,a.Button,{icon:"trash",onClick:function(){return r("clear_design")},children:"Clear Disk"}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",onClick:function(){return r("eject_design")},children:"Eject Disk"})]})]})||(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Box,{mb:.5,children:"This disk has no data stored on it."}),(0,o.createComponentVNode)(2,a.Button,{icon:"save",onClick:function(){return h(!0)},children:"Load Design To Disk"}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",onClick:function(){return r("eject_design")},children:"Eject Disk"})]})})},m=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data,u=e.target,s=e.designs,m=e.buildName,p=e.buildFiveName;return u?(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createComponentVNode)(2,l,{target:"builder_page",title:"Designs"}),buttons:(0,o.createComponentVNode)(2,d,{target:"builder_page"}),children:[(0,o.createComponentVNode)(2,a.Input,{fluid:!0,placeholder:"Search for...",value:c.search,onInput:function(e,t){return r("search",{search:t})},mb:1}),s&&s.length?s.map((function(e){return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Flex,{width:"100%",justify:"space-between",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{width:"40%",style:{"word-wrap":"break-all"},children:e.name}),(0,o.createComponentVNode)(2,a.Flex.Item,{width:"15%",textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Button,{mb:-1,icon:"wrench",onClick:function(){return r(m,{build:e.id,imprint:e.id})},children:"Build"}),p&&(0,o.createComponentVNode)(2,a.Button,{mb:-1,onClick:function(){return r(p,{build:e.id,imprint:e.id})},children:"x5"})]}),(0,o.createComponentVNode)(2,a.Flex.Item,{width:"45%",style:{"word-wrap":"break-all"},children:[(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"label",children:e.mat_list.join(" ")}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"average",ml:1,children:e.chem_list.join(" ")})]})]}),(0,o.createComponentVNode)(2,a.Divider)],4,e.id)})):(0,o.createComponentVNode)(2,a.Box,{children:"No items could be found matching the parameters (page or search)."})]}):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Error"})},p=function(e,t){var n=(0,i.useBackend)(t),c=n.act,l=n.data,d=e.name,u=null,s=null;if("Protolathe"===d?(u=l.info.linked_lathe,s=l.lathe_designs):(u=l.info.linked_imprinter,s=l.imprinter_designs),!u||!u.present)return(0,o.createComponentVNode)(2,a.Section,{title:d,children:["No ",d," found."]});var p=u,h=p.total_materials,C=p.max_materials,f=p.total_volume,N=p.max_volume,b=p.busy,V=p.mats,g=p.reagents,v=p.queue,_=(0,i.useSharedState)(t,"protoTab",0),k=_[0],y=_[1],L="transparent",B=!1,w="layer-group";b?(w="hammer",L="average",B=!0):v&&v.length&&(w="sync",L="green",B=!0);var x="Protolathe"===d?"removeP":"removeI",S="Protolathe"===d?"lathe_ejectsheet":"imprinter_ejectsheet",I="Protolathe"===d?"disposeP":"disposeI",T="Protolathe"===d?"disposeallP":"disposeallI";return(0,o.createComponentVNode)(2,a.Section,{title:d,buttons:b&&(0,o.createComponentVNode)(2,a.Icon,{name:"sync",spin:!0})||null,children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Materials",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:h,maxValue:C,children:[h," cm\xb3 / ",C," cm\xb3"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Chemicals",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:f,maxValue:N,children:[f,"u / ",N,"u"]})})]}),(0,o.createComponentVNode)(2,a.Tabs,{mt:1,children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:"wrench",selected:0===k,onClick:function(){return y(0)},children:"Build"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:w,iconSpin:B,color:L,selected:1===k,onClick:function(){return y(1)},children:"Queue"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:"cookie-bite",selected:2===k,onClick:function(){return y(2)},children:"Mat Storage"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:"flask",selected:3===k,onClick:function(){return y(3)},children:"Chem Storage"})]}),0===k&&(0,o.createComponentVNode)(2,m,{target:u,designs:s,buildName:"Protolathe"===d?"build":"imprint",buildFiveName:"Protolathe"===d?"buildfive":null})||1===k&&(0,o.createComponentVNode)(2,a.LabeledList,{children:v.length&&v.map((function(e){return 1===e.index?(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,labelColor:"bad",children:b?(0,o.createComponentVNode)(2,a.Button,{disabled:!0,icon:"trash",children:"Remove"}):(0,o.createComponentVNode)(2,a.Box,{children:["(Awaiting Materials)",(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"trash",onClick:function(){var t;return c(x,((t={})[x]=e.index,t))},children:"Remove"})]})}):(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:(0,o.createComponentVNode)(2,a.Button,{icon:"trash",onClick:function(){var t;return c(x,((t={})[x]=e.index,t))},children:"Remove"})},e.name)}))||(0,o.createComponentVNode)(2,a.Box,{m:1,children:"Queue Empty."})})||2===k&&(0,o.createComponentVNode)(2,a.LabeledList,{children:V.map((function(e){var n=(0,i.useLocalState)(t,"ejectAmt"+e.name,0),l=n[0],d=n[1];return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:(0,r.toTitleCase)(e.name),buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.NumberInput,{minValue:0,width:"100px",value:l,maxValue:e.sheets,onDrag:function(e,t){return d(t)}}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",disabled:!e.removable,onClick:function(){var t;d(0),c(S,((t={})[S]=e.name,t.amount=l,t))},children:"Num"}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",disabled:!e.removable,onClick:function(){var t;return c(S,((t={})[S]=e.name,t.amount=50,t))},children:"All"})],4),children:[e.amount," cm\xb3"]},e.name)}))})||3===k&&(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:g.length&&g.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:[e.volume,"u",(0,o.createComponentVNode)(2,a.Button,{ml:1,icon:"eject",onClick:function(){return c(I,{dispose:e.id})},children:"Purge"})]},e.name)}))||(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Empty",children:"No chems detected"})}),(0,o.createComponentVNode)(2,a.Button,{mt:1,icon:"trash",onClick:function(){return c(T)},children:"Disposal All Chemicals In Storage"})]})||(0,o.createComponentVNode)(2,a.Box,{children:"Error"})]})},h=[{name:"Protolathe",icon:"wrench",template:(0,o.createComponentVNode)(2,p,{name:"Protolathe"})},{name:"Circuit Imprinter",icon:"digital-tachograph",template:(0,o.createComponentVNode)(2,p,{name:"Circuit Imprinter"})},{name:"Destructive Analyzer",icon:"eraser",template:(0,o.createComponentVNode)(2,(function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data.info.linked_destroy;if(!c.present)return(0,o.createComponentVNode)(2,a.Section,{title:"Destructive Analyzer",children:"No destructive analyzer found."});var l=c.loaded_item,d=c.origin_tech;return(0,o.createComponentVNode)(2,a.Section,{title:"Destructive Analyzer",children:l&&(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:l}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Origin Tech",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:d.length&&d.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:[e.level,"\xa0\xa0",e.current&&"(Current: "+e.current+")"]},e.name)}))||(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Error",children:"No origin tech found."})})})]}),(0,o.createComponentVNode)(2,a.Button,{mt:1,color:"red",icon:"eraser",onClick:function(){return r("deconstruct")},children:"Deconstruct Item"}),(0,o.createComponentVNode)(2,a.Button,{icon:"eject",onClick:function(){return r("eject_item")},children:"Eject Item"})]})||(0,o.createComponentVNode)(2,a.Box,{children:"No Item Loaded. Standing-by..."})})}))},{name:"Settings",icon:"cog",template:(0,o.createComponentVNode)(2,(function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data.info,l=c.sync,d=c.linked_destroy,u=c.linked_imprinter,s=c.linked_lathe,m=(0,i.useSharedState)(t,"settingsTab",0),p=m[0],h=m[1];return(0,o.createComponentVNode)(2,a.Section,{title:"Settings",children:[(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:"cogs",onClick:function(){return h(0)},selected:0===p,children:"General"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:"link",onClick:function(){return h(1)},selected:1===p,children:"Device Linkages"})]}),0===p&&(0,o.createComponentVNode)(2,a.Box,{children:[l&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"sync",onClick:function(){return r("sync")},children:"Sync Database with Network"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"unlink",onClick:function(){return r("togglesync")},children:"Disconnect from Research Network"})],4)||(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"link",onClick:function(){return r("togglesync")},children:"Connect to Research Network"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"lock",onClick:function(){return r("lock")},children:"Lock Console"}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,color:"red",icon:"trash",onClick:function(){return r("reset")},children:"Reset R&D Database"})]})||1===p&&(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"sync",mb:1,onClick:function(){return r("find_device")},children:"Re-sync with Nearby Devices"}),(0,o.createComponentVNode)(2,a.LabeledList,{children:[d.present&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Destructive Analyzer",children:(0,o.createComponentVNode)(2,a.Button,{icon:"unlink",onClick:function(){return r("disconnect",{disconnect:"destroy"})},children:"Disconnect"})})||null,s.present&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Protolathe",children:(0,o.createComponentVNode)(2,a.Button,{icon:"unlink",onClick:function(){return r("disconnect",{disconnect:"lathe"})},children:"Disconnect"})})||null,u.present&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Circuit Imprinter",children:(0,o.createComponentVNode)(2,a.Button,{icon:"unlink",onClick:function(){return r("disconnect",{disconnect:"imprinter"})},children:"Disconnect"})})||null]})]})||(0,o.createComponentVNode)(2,a.Box,{children:"Error"})]})}))},{name:"Research List",icon:"flask",template:(0,o.createComponentVNode)(2,(function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data.tech;return(0,o.createComponentVNode)(2,a.Section,{title:"Current Research Levels",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"print",onClick:function(){return r("print",{print:1})},children:"Print This Page"}),children:(0,o.createComponentVNode)(2,a.Table,{children:c.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:[(0,o.createComponentVNode)(2,a.Box,{color:"label",children:e.name}),(0,o.createComponentVNode)(2,a.Box,{children:[" - Level ",e.level]})]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Box,{color:"label",children:e.desc})})]},e.name)}))})})}))},{name:"Design List",icon:"file",template:(0,o.createComponentVNode)(2,(function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data,u=c.designs;return(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createComponentVNode)(2,l,{title:"Researched Technologies & Designs",target:"design_page"}),buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"print",onClick:function(){return r("print",{print:2})},children:"Print This Page"}),(0,o.createComponentVNode)(2,d,{target:"design_page"})||null],0),children:[(0,o.createComponentVNode)(2,a.Input,{fluid:!0,placeholder:"Search for...",value:c.search,onInput:function(e,t){return r("search",{search:t})},mb:1}),u&&u.length&&(0,o.createComponentVNode)(2,a.LabeledList,{children:u.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:e.desc},e.name)}))})||(0,o.createComponentVNode)(2,a.Box,{color:"warning",children:"No designs found."})]})}))},{name:"Disk Operations",icon:"save",template:(0,o.createComponentVNode)(2,(function(e,t){var n=(0,i.useBackend)(t),r=(n.act,n.data.info),c=r.d_disk,l=r.t_disk;return c.present||l.present?(0,o.createComponentVNode)(2,a.Section,{title:"Disk Operations",children:[(0,o.createComponentVNode)(2,u,{disk:l}),(0,o.createComponentVNode)(2,s,{disk:c})]}):(0,o.createComponentVNode)(2,a.Section,{title:"Disk Operations",children:"No disk inserted."})}))}];t.ResearchConsole=function(e,t){var n=(0,i.useBackend)(t),r=n.act,l=n.data,d=l.busy_msg,u=l.locked,s=(0,i.useSharedState)(t,"rdmenu",0),m=s[0],p=s[1],C=!1;return(d||u)&&(C=!0),(0,o.createComponentVNode)(2,c.Window,{width:850,height:630,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Tabs,{children:h.map((function(e,t){return(0,o.createComponentVNode)(2,a.Tabs.Tab,{icon:e.icon,selected:m===t,disabled:C,onClick:function(){return p(t)},children:e.name},t)}))}),d&&(0,o.createComponentVNode)(2,a.Section,{title:"Processing...",children:d})||u&&(0,o.createComponentVNode)(2,a.Section,{title:"Console Locked",children:(0,o.createComponentVNode)(2,a.Button,{onClick:function(){return r("lock")},icon:"lock-open",children:"Unlock"})})||h[m].template]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ResearchServerController=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3),c=n(8);t.ResearchServerController=function(e,t){var n=(0,r.useBackend)(t);n.act,n.data;return(0,o.createComponentVNode)(2,a.Window,{width:575,height:430,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,l)})})};var l=function(e,t){var n=(0,r.useBackend)(t),a=(n.act,n.data),c=(a.badmin,a.servers),l=(a.consoles,(0,r.useSharedState)(t,"selectedServer",null)),u=l[0],s=l[1],m=c.find((function(e){return e.id===u}));return m?(0,o.createComponentVNode)(2,d,{setSelectedServer:s,server:m}):(0,o.createComponentVNode)(2,i.Section,{title:"Server Selection",children:c.map((function(e){return(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"eye",onClick:function(){return s(e.id)},children:e.name})},e.name)}))})},d=function(e,t){var n=(0,r.useBackend)(t),a=(n.act,n.data.badmin),c=e.server,l=e.setSelectedServer,d=(0,r.useSharedState)(t,"tab",0),p=d[0],h=d[1];return(0,o.createComponentVNode)(2,i.Section,{title:c.name,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"undo",onClick:function(){return l(null)},children:"Back"}),children:[(0,o.createComponentVNode)(2,i.Tabs,{children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:0===p,onClick:function(){return h(0)},children:"Access Rights"}),(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:1===p,onClick:function(){return h(1)},children:"Data Management"}),a&&(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:2===p,onClick:function(){return h(2)},color:"red",children:"Server-to-Server Transfer"})||null]}),0===p&&(0,o.createComponentVNode)(2,u,{server:c})||null,1===p&&(0,o.createComponentVNode)(2,s,{server:c})||null,2===p&&a&&(0,o.createComponentVNode)(2,m,{server:c})||null]})},u=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=e.server,d=c.consoles,u=function(e,t){return-1!==e.id_with_upload.indexOf(t.id)},s=function(e,t){return-1!==e.id_with_download.indexOf(t.id)};return(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Consoles",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:d.length&&d.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name+" ("+e.loc+")",children:[(0,o.createComponentVNode)(2,i.Button,{icon:u(l,e)?"lock-open":"lock",selected:u(l,e),onClick:function(){return a("toggle_upload",{server:l.ref,console:e.ref})},children:u(l,e)?"Upload On":"Upload Off"}),(0,o.createComponentVNode)(2,i.Button,{icon:s(l,e)?"lock-open":"lock",selected:s(l,e),onClick:function(){return a("toggle_download",{server:l.ref,console:e.ref})},children:s(l,e)?"Download On":"Download Off"})]},e.name)}))})})},s=function(e,t){var n=(0,r.useBackend)(t),a=n.act,l=(n.data,e.server);return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Research Levels",children:l.tech.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,buttons:(0,o.createComponentVNode)(2,i.Button.Confirm,{icon:"trash",confirmIcon:"trash",color:"red",content:"Reset",onClick:function(){return a("reset_tech",{server:l.ref,tech:e.id})}})},e.name)}))}),(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Designs",children:(0,c.filter)((function(e){return!!e.name}))(l.designs).map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,buttons:(0,o.createComponentVNode)(2,i.Button.Confirm,{icon:"trash",confirmIcon:"trash",color:"red",content:"Delete",onClick:function(){return a("reset_design",{server:l.ref,design:e.id})}})},e.name)}))})],4)},m=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=e.server,d=c.badmin,u=c.servers;return d?(0,o.createComponentVNode)(2,i.Section,{level:2,title:"Server Data Transfer",children:u.map((function(e){return(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.Button.Confirm,{fluid:!0,color:"bad",content:(0,o.createComponentVNode)(2,i.Box,{children:["Transfer from ",l.name," To ",e.name]}),onClick:function(){return a("transfer_data",{server:l.ref,target:e.ref})}})},e.name)}))}):null}},function(e,t,n){"use strict";t.__esModule=!0,t.ResleevingConsole=void 0;var o=n(0),r=n(5),i=n(1),a=n(2),c=(n(28),n(45)),l=n(3),d=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=(n.data,e.args),l=c.activerecord,d=c.realname,u=c.obviously_dead,s=c.oocnotes,m=c.can_sleeve_active;return(0,o.createComponentVNode)(2,a.Section,{level:2,m:"-1rem",pb:"1rem",title:"Mind Record ("+d+")",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"times",color:"red",onClick:function(){return r("modal_close")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:d}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",children:u}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Actions",children:[(0,o.createComponentVNode)(2,a.Button,{disabled:!m,icon:"user-plus",content:"Sleeve",onClick:function(){return r("sleeve",{ref:l,mode:1})}}),(0,o.createComponentVNode)(2,a.Button,{icon:"user-plus",content:"Card",onClick:function(){return r("sleeve",{ref:l,mode:2})}})]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"OOC Notes",children:(0,o.createComponentVNode)(2,a.Section,{style:{"word-break":"break-all",height:"100px"},scrollable:!0,children:s})})]})})},u=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=(n.data,e.args),l=c.activerecord,d=c.realname,u=c.species,s=c.sex,m=c.mind_compat,p=c.synthetic,h=c.oocnotes,C=c.can_grow_active;return(0,o.createComponentVNode)(2,a.Section,{level:2,m:"-1rem",pb:"1rem",title:"Body Record ("+d+")",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"times",color:"red",onClick:function(){return r("modal_close")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:d}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Species",children:u}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Bio. Sex",children:s}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mind Compat",children:m}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Synthetic",children:p?"Yes":"No"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"OOC Notes",children:(0,o.createComponentVNode)(2,a.Section,{style:{"word-break":"break-all",height:"100px"},scrollable:!0,children:h})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Actions",children:(0,o.createComponentVNode)(2,a.Button,{disabled:!C,icon:"user-plus",content:p?"Build":"Grow",onClick:function(){return r("create",{ref:l})}})})]})})};t.ResleevingConsole=function(e,t){var n=(0,i.useBackend)(t),r=(n.act,n.data),C=(r.menu,r.coredumped),f=r.emergency,N=(0,o.createFragment)([(0,o.createComponentVNode)(2,g),(0,o.createComponentVNode)(2,v),(0,o.createComponentVNode)(2,s),(0,o.createComponentVNode)(2,a.Section,{noTopPadding:!0,flexGrow:"1",children:(0,o.createComponentVNode)(2,m)})],4);return C&&(N=(0,o.createComponentVNode)(2,p)),f&&(N=(0,o.createComponentVNode)(2,h)),(0,c.modalRegisterBodyOverride)("view_b_rec",u),(0,c.modalRegisterBodyOverride)("view_m_rec",d),(0,o.createComponentVNode)(2,l.Window,{width:640,height:520,resizable:!0,children:[(0,o.createComponentVNode)(2,c.ComplexModal,{maxWidth:"75%",maxHeight:"75%"}),(0,o.createComponentVNode)(2,l.Window.Content,{className:"Layout__content--flexColumn",children:N})]})};var s=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data.menu;return(0,o.createComponentVNode)(2,a.Tabs,{children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:1===c,icon:"home",onClick:function(){return r("menu",{num:1})},children:"Main"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:2===c,icon:"folder",onClick:function(){return r("menu",{num:2})},children:"Body Records"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:3===c,icon:"folder",onClick:function(){return r("menu",{num:3})},children:"Mind Records"})]})},m=function(e,t){var n,r=(0,i.useBackend)(t).data,a=r.menu,c=r.bodyrecords,l=r.mindrecords;return 1===a?n=(0,o.createComponentVNode)(2,C):2===a?n=(0,o.createComponentVNode)(2,V,{records:c,actToDo:"view_b_rec"}):3===a&&(n=(0,o.createComponentVNode)(2,V,{records:l,actToDo:"view_m_rec"})),n},p=function(e,t){return(0,o.createComponentVNode)(2,a.Dimmer,{children:(0,o.createComponentVNode)(2,a.Flex,{direction:"column",justify:"space-evenly",align:"center",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,a.Icon,{size:12,color:"bad",name:"exclamation-triangle"})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,color:"bad",mt:5,children:(0,o.createVNode)(1,"h2",null,"TransCore dump completed. Resleeving offline.",16)})]})})},h=function(e,t){var n=(0,i.useBackend)(t).act;return(0,o.createComponentVNode)(2,a.Dimmer,{textAlign:"center",children:[(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:(0,o.createVNode)(1,"h1",null,"TRANSCORE DUMP",16)}),(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:(0,o.createVNode)(1,"h2",null,"!!WARNING!!",16)}),(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"This will transfer all minds to the dump disk, and the TransCore will be made unusable until post-shift maintenance! This should only be used in emergencies!"}),(0,o.createComponentVNode)(2,a.Box,{mt:4,children:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject Disk",color:"good",onClick:function(){return n("ejectdisk")}})}),(0,o.createComponentVNode)(2,a.Box,{mt:4,children:(0,o.createComponentVNode)(2,a.Button.Confirm,{icon:"exclamation-triangle",confirmIcon:"exclamation-triangle",content:"Core Dump",confirmContent:"Disable Transcore?",color:"bad",onClick:function(){return n("coredump")}})})]})},C=function(e,t){var n=(0,i.useBackend)(t),r=(n.act,n.data);r.loading,r.scantemp,r.occupant,r.locked,r.can_brainscan,r.scan_mode,r.pods,r.selected_pod;return(0,o.createComponentVNode)(2,a.Section,{title:"Pods",level:"2",children:[(0,o.createComponentVNode)(2,f),(0,o.createComponentVNode)(2,b),(0,o.createComponentVNode)(2,N)]})},f=function(e,t){var n=(0,i.useBackend)(t),c=n.act,l=n.data,d=l.pods,u=l.spods,s=l.selected_pod;return d&&d.length?d.map((function(e,t){var n;return n="cloning"===e.status?(0,o.createComponentVNode)(2,a.ProgressBar,{min:"0",max:"100",value:e.progress/100,ranges:{good:[.75,Infinity],average:[.25,.75],bad:[-Infinity,.25]},mt:"0.5rem",children:(0,o.createComponentVNode)(2,a.Box,{textAlign:"center",children:(0,r.round)(e.progress,0)+"%"})}):"mess"===e.status?(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:"bad",mt:"0.5rem",children:"ERROR"}):(0,o.createComponentVNode)(2,a.Button,{selected:s===e.pod,icon:s===e.pod&&"check",content:"Select",mt:u&&u.length?"2rem":"0.5rem",onClick:function(){return c("selectpod",{ref:e.pod})}}),(0,o.createComponentVNode)(2,a.Box,{width:"64px",textAlign:"center",display:"inline-block",mr:"0.5rem",children:[(0,o.createVNode)(1,"img",null,null,1,{src:"pod_"+e.status+".gif",style:{width:"100%","-ms-interpolation-mode":"nearest-neighbor"}}),(0,o.createComponentVNode)(2,a.Box,{color:"label",children:e.name}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:e.biomass>=150?"good":"bad",display:"inline",children:[(0,o.createComponentVNode)(2,a.Icon,{name:e.biomass>=150?"circle":"circle-o"}),"\xa0",e.biomass]}),n]},t)})):null},N=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data,l=c.sleevers,d=c.spods,u=c.selected_sleever;return l&&l.length?l.map((function(e,t){return(0,o.createComponentVNode)(2,a.Box,{width:"64px",textAlign:"center",display:"inline-block",mr:"0.5rem",children:[(0,o.createVNode)(1,"img",null,null,1,{src:"sleeve_"+(e.occupied?"occupied":"empty")+".gif",style:{width:"100%","-ms-interpolation-mode":"nearest-neighbor"}}),(0,o.createComponentVNode)(2,a.Box,{color:e.occupied?"label":"bad",children:e.name}),(0,o.createComponentVNode)(2,a.Button,{selected:u===e.sleever,icon:u===e.sleever&&"check",content:"Select",mt:d&&d.length?"3rem":"1.5rem",onClick:function(){return r("selectsleever",{ref:e.sleever})}})]},t)})):null},b=function(e,t){var n=(0,i.useBackend)(t),c=n.act,l=n.data,d=l.spods,u=l.selected_printer;return d&&d.length?d.map((function(e,t){var n;return n="cloning"===e.status?(0,o.createComponentVNode)(2,a.ProgressBar,{min:"0",max:"100",value:e.progress/100,ranges:{good:[.75,Infinity],average:[.25,.75],bad:[-Infinity,.25]},mt:"0.5rem",children:(0,o.createComponentVNode)(2,a.Box,{textAlign:"center",children:(0,r.round)(e.progress,0)+"%"})}):"mess"===e.status?(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:"bad",mt:"0.5rem",children:"ERROR"}):(0,o.createComponentVNode)(2,a.Button,{selected:u===e.spod,icon:u===e.spod&&"check",content:"Select",mt:"0.5rem",onClick:function(){return c("selectprinter",{ref:e.spod})}}),(0,o.createComponentVNode)(2,a.Box,{width:"64px",textAlign:"center",display:"inline-block",mr:"0.5rem",children:[(0,o.createVNode)(1,"img",null,null,1,{src:"synthprinter"+(e.busy?"_working":"")+".gif",style:{width:"100%","-ms-interpolation-mode":"nearest-neighbor"}}),(0,o.createComponentVNode)(2,a.Box,{color:"label",children:e.name}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:e.steel>=15e3?"good":"bad",display:"inline",children:[(0,o.createComponentVNode)(2,a.Icon,{name:e.steel>=15e3?"circle":"circle-o"}),"\xa0",e.steel]}),(0,o.createComponentVNode)(2,a.Box,{bold:!0,color:e.glass>=15e3?"good":"bad",display:"inline",children:[(0,o.createComponentVNode)(2,a.Icon,{name:e.glass>=15e3?"circle":"circle-o"}),"\xa0",e.glass]}),n]},t)})):null},V=function(e,t){var n=(0,i.useBackend)(t).act,r=e.records,c=e.actToDo;return r.length?(0,o.createComponentVNode)(2,a.Box,{mt:"0.5rem",children:r.map((function(e,t){return(0,o.createComponentVNode)(2,a.Button,{icon:"user",mb:"0.5rem",content:e.name,onClick:function(){return n(c,{ref:e.recref})}},t)}))}):(0,o.createComponentVNode)(2,a.Flex,{height:"100%",mt:"0.5rem",children:(0,o.createComponentVNode)(2,a.Flex.Item,{grow:"1",align:"center",textAlign:"center",color:"label",children:[(0,o.createComponentVNode)(2,a.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,o.createVNode)(1,"br"),"No records found."]})})},g=function(e,t){var n,r=(0,i.useBackend)(t),c=r.act,l=r.data.temp;if(l&&l.text&&!(l.text.length<=0)){var d=((n={})[l.style]=!0,n);return(0,o.normalizeProps)((0,o.createComponentVNode)(2,a.NoticeBox,Object.assign({},d,{children:[(0,o.createComponentVNode)(2,a.Box,{display:"inline-block",verticalAlign:"middle",children:l.text}),(0,o.createComponentVNode)(2,a.Button,{icon:"times-circle",float:"right",onClick:function(){return c("cleartemp")}}),(0,o.createComponentVNode)(2,a.Box,{clear:"both"})]})))}},v=function(e,t){var n=(0,i.useBackend)(t),r=(n.act,n.data),c=r.pods,l=r.spods,d=r.sleevers;r.autoallowed,r.autoprocess,r.disk;return(0,o.createComponentVNode)(2,a.Section,{title:"Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pods",children:c&&c.length?(0,o.createComponentVNode)(2,a.Box,{color:"good",children:[c.length," connected"]}):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"None connected!"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"SynthFabs",children:l&&l.length?(0,o.createComponentVNode)(2,a.Box,{color:"good",children:[l.length," connected"]}):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"None connected!"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Sleevers",children:d&&d.length?(0,o.createComponentVNode)(2,a.Box,{color:"good",children:[d.length," Connected"]}):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"None connected!"})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ResleevingPod=void 0;var o=n(0),r=n(3),i=n(1),a=n(2);t.ResleevingPod=function(e,t){var n=(0,i.useBackend)(t).data,c=n.occupied,l=n.name,d=n.health,u=n.maxHealth,s=n.stat,m=n.mindStatus,p=n.mindName,h=n.resleeveSick,C=n.initialSick;return(0,o.createComponentVNode)(2,r.Window,{width:300,height:350,resizeable:!0,children:(0,o.createComponentVNode)(2,r.Window.Content,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Occupant",children:c?(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:l}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Health",children:2===s?(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"DEAD"}):1===s?(0,o.createComponentVNode)(2,a.Box,{color:"average",children:"Unconscious"}):(0,o.createComponentVNode)(2,a.ProgressBar,{ranges:{good:[.5,Infinity],average:[.25,.5],bad:[-Infinity,.25]},value:d/u,children:[d,"%"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mind Status",children:m?"Present":"Missing"}),m?(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Mind Occupying",children:p}):""]}),h?(0,o.createComponentVNode)(2,a.Box,{color:"average",mt:3,children:["Warning: Resleeving Sickness detected.",C?(0,o.createFragment)([(0,o.createTextVNode)(" Motion Sickness also detected. Please allow the newly resleeved person a moment to get their bearings. This warning will disappear when Motion Sickness is no longer detected.")],4):""]}):""],0):(0,o.createComponentVNode)(2,a.Box,{bold:!0,m:1,children:"Unoccupied."})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.RoboticsControlConsole=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.RoboticsControlConsole=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.can_hack,s=d.safety,m=d.show_detonate_all,p=d.cyborgs,h=void 0===p?[]:p;return(0,o.createComponentVNode)(2,a.Window,{width:500,height:460,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[!!m&&(0,o.createComponentVNode)(2,i.Section,{title:"Emergency Self Destruct",children:[(0,o.createComponentVNode)(2,i.Button,{icon:s?"lock":"unlock",content:s?"Disable Safety":"Enable Safety",selected:s,onClick:function(){return l("arm",{})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"bomb",disabled:s,content:"Destroy ALL Cyborgs",color:"bad",onClick:function(){return l("nuke",{})}})]}),(0,o.createComponentVNode)(2,c,{cyborgs:h,can_hack:u})]})})};var c=function(e,t){var n=e.cyborgs,a=(e.can_hack,(0,r.useBackend)(t)),c=a.act,l=a.data;return n.length?n.map((function(e){return(0,o.createComponentVNode)(2,i.Section,{title:e.name,buttons:(0,o.createFragment)([!!e.hackable&&!e.emagged&&(0,o.createComponentVNode)(2,i.Button,{icon:"terminal",content:"Hack",color:"bad",onClick:function(){return c("hackbot",{ref:e.ref})}}),(0,o.createComponentVNode)(2,i.Button.Confirm,{icon:e.locked_down?"unlock":"lock",color:e.locked_down?"good":"default",content:e.locked_down?"Release":"Lockdown",disabled:!l.auth,onClick:function(){return c("stopbot",{ref:e.ref})}}),(0,o.createComponentVNode)(2,i.Button.Confirm,{icon:"bomb",content:"Detonate",disabled:!l.auth,color:"bad",onClick:function(){return c("killbot",{ref:e.ref})}})],0),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Status",children:(0,o.createComponentVNode)(2,i.Box,{color:e.status?"bad":e.locked_down?"average":"good",children:e.status?"Not Responding":e.locked_down?"Locked Down":"Nominal"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Location",children:(0,o.createComponentVNode)(2,i.Box,{children:e.locstring})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Integrity",children:(0,o.createComponentVNode)(2,i.ProgressBar,{color:e.health>50?"good":"bad",value:e.health/100})}),"number"==typeof e.charge&&(0,o.createFragment)([(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Cell Charge",children:(0,o.createComponentVNode)(2,i.ProgressBar,{color:e.charge>30?"good":"bad",value:e.charge/100})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Cell Capacity",children:(0,o.createComponentVNode)(2,i.Box,{color:e.cell_capacity<3e4?"average":"good",children:e.cell_capacity})})],4)||(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Cell",children:(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No Power Cell"})}),!!e.is_hacked&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Safeties",children:(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"DISABLED"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Module",children:e.module}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Master AI",children:(0,o.createComponentVNode)(2,i.Box,{color:e.synchronization?"default":"average",children:e.synchronization||"None"})})]})},e.ref)})):(0,o.createComponentVNode)(2,i.NoticeBox,{children:"No cyborg units detected within access parameters."})}},function(e,t,n){"use strict";t.__esModule=!0,t.RogueZones=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.RogueZones=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.timeout_percent,u=l.diffstep,s=l.difficulty,m=l.occupied,p=l.scanning,h=l.updated,C=l.debug,f=l.shuttle_location,N=l.shuttle_at_station,b=l.scan_ready,V=l.can_recall_shuttle;return(0,o.createComponentVNode)(2,a.Window,{width:360,height:250,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:[(0,o.createComponentVNode)(2,i.Section,{title:"Current Area",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Mineral Content",children:s}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Shuttle Location",buttons:V&&(0,o.createComponentVNode)(2,i.Button,{color:"bad",icon:"rocket",onClick:function(){return c("recall_shuttle")},children:"Recall Shuttle"})||null,children:f}),m&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{color:"bad",labelColor:"bad",label:"Personnel",children:["WARNING: Area occupied by ",m," personnel!"]})||(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Personnel",color:"good",children:"No personnel detected."})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Scanner",buttons:(0,o.createComponentVNode)(2,i.Button,{disabled:!b,fluid:!0,icon:"search",onClick:function(){return c("scan_for_new")},children:"Scan For Asteroids"}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Scn Ramestat Core",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:d,maxValue:100,ranges:{good:[100,Infinity],average:[75,100],bad:[-Infinity,75]}})}),p&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Scanning",children:"In progress."})||null,h&&!p&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Info",children:"Updated shuttle destination!"})||null,C&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Debug",labelColor:"bad",children:[(0,o.createComponentVNode)(2,i.Box,{children:["Timeout Percent: ",d]}),(0,o.createComponentVNode)(2,i.Box,{children:["Diffstep: ",u]}),(0,o.createComponentVNode)(2,i.Box,{children:["Difficulty: ",s]}),(0,o.createComponentVNode)(2,i.Box,{children:["Occupied: ",m]}),(0,o.createComponentVNode)(2,i.Box,{children:["Debug: ",C]}),(0,o.createComponentVNode)(2,i.Box,{children:["Shuttle Location: ",f]}),(0,o.createComponentVNode)(2,i.Box,{children:["Shuttle at station: ",N]}),(0,o.createComponentVNode)(2,i.Box,{children:["Scan Ready: ",b]})]})||null]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.RustCoreMonitorContent=t.RustCoreMonitor=void 0;var o=n(0),r=n(1),i=n(3),a=n(2);t.RustCoreMonitor=function(e,t){return(0,o.createComponentVNode)(2,i.Window,{width:627,height:700,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:(0,o.createComponentVNode)(2,c)})})};var c=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data.cores;return(0,o.createComponentVNode)(2,a.Section,{title:"Cores",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Set Tag",onClick:function(){return i("set_tag")}}),children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Name"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Position"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Field Status"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Reactant Mode"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Field Instability"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Field Temperature"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Field Strength"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Plasma Content"})]}),c.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:[e.x,", ",e.y,", ",e.z]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:e.has_field?"Online":"Offline",selected:e.has_field,disabled:!e.core_operational,onClick:function(){return i("toggle_active",{core:e.ref})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:e.reactant_dump?"Dump":"Maintain",selected:e.has_field,disabled:!e.core_operational,onClick:function(){return i("toggle_reactantdump",{core:e.ref})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.field_instability}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.field_temperature}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Knob,{forcedInputWidth:"60px",size:1.25,color:!!e.has_field&&"yellow",value:e.target_field_strength,unit:"(W.m^-3)",minValue:1,maxValue:1e3,stepPixelSize:1,onDrag:function(t,n){return i("set_fieldstr",{core:e.ref,fieldstr:n})}})}),(0,o.createComponentVNode)(2,a.Table.Cell)]},e.name)}))]})})};t.RustCoreMonitorContent=c},function(e,t,n){"use strict";t.__esModule=!0,t.RustFuelContent=t.RustFuelControl=void 0;var o=n(0),r=n(1),i=n(3),a=n(2);t.RustFuelControl=function(e,t){return(0,o.createComponentVNode)(2,i.Window,{width:627,height:700,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:(0,o.createComponentVNode)(2,c)})})};var c=function(e,t){var n=(0,r.useBackend)(t),i=n.act,c=n.data.fuels;return(0,o.createComponentVNode)(2,a.Section,{title:"Fuel Injectors",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"pencil-alt",content:"Set Tag",onClick:function(){return i("set_tag")}}),children:(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Name"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Position"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Status"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Remaining Fuel"}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:"Fuel Rod Composition"})]}),c.map((function(e){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.name}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:[e.x,", ",e.y,", ",e.z]}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:e.active?"Online":"Offline",selected:e.active,disabled:!e.deployed,onClick:function(){return i("toggle_active",{fuel:e.ref})}})}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.fuel_amt}),(0,o.createComponentVNode)(2,a.Table.Cell,{children:e.fuel_type})]},e.name)}))]})})};t.RustFuelContent=c},function(e,t,n){"use strict";t.__esModule=!0,t.Secbot=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.Secbot=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.on,u=l.open,s=l.locked,m=l.idcheck,p=l.check_records,h=l.check_arrest,C=l.arrest_type,f=l.declare_arrests,N=l.bot_patrolling,b=l.patrol;return(0,o.createComponentVNode)(2,a.Window,{width:390,height:320,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Automatic Security Unit v2.0",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",selected:d,onClick:function(){return c("power")},children:d?"On":"Off"}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Maintenance Panel",color:u?"bad":"good",children:u?"Open":"Closed"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Behavior Controls",color:s?"good":"bad",children:s?"Locked":"Unlocked"})]})}),!s&&(0,o.createComponentVNode)(2,i.Section,{title:"Behavior Controls",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Check for Weapon Authorization",children:(0,o.createComponentVNode)(2,i.Button,{icon:m?"toggle-on":"toggle-off",selected:m,onClick:function(){return c("idcheck")},children:m?"Yes":"No"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Check Security Records",children:(0,o.createComponentVNode)(2,i.Button,{icon:p?"toggle-on":"toggle-off",selected:p,onClick:function(){return c("ignorerec")},children:p?"Yes":"No"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Check Arrest Status",children:(0,o.createComponentVNode)(2,i.Button,{icon:h?"toggle-on":"toggle-off",selected:h,onClick:function(){return c("ignorearr")},children:h?"Yes":"No"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Operating Mode",children:(0,o.createComponentVNode)(2,i.Button,{icon:C?"toggle-on":"toggle-off",selected:C,onClick:function(){return c("switchmode")},children:C?"Detain":"Arrest"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Report Arrests",children:(0,o.createComponentVNode)(2,i.Button,{icon:f?"toggle-on":"toggle-off",selected:f,onClick:function(){return c("declarearrests")},children:f?"Yes":"No"})}),!!N&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Auto Patrol",children:(0,o.createComponentVNode)(2,i.Button,{icon:b?"toggle-on":"toggle-off",selected:b,onClick:function(){return c("patrol")},children:b?"Yes":"No"})})]})})||null]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.SecurityRecords=void 0;var o=n(0),r=n(1),i=n(2),a=n(45),c=n(3),l=n(95),d=n(96),u=n(62),s=(n(6),function(e,t){(0,a.modalOpen)(e,"edit",{field:t.edit,value:t.value})});t.SecurityRecords=function(e,t){var n,s=(0,r.useBackend)(t).data,C=s.authenticated,f=s.screen;return C?(2===f?n=(0,o.createComponentVNode)(2,m):3===f?n=(0,o.createComponentVNode)(2,p):4===f&&(n=(0,o.createComponentVNode)(2,h)),(0,o.createComponentVNode)(2,c.Window,{width:700,height:680,resizable:!0,children:[(0,o.createComponentVNode)(2,a.ComplexModal,{maxHeight:"100%",maxWidth:"400px"}),(0,o.createComponentVNode)(2,c.Window.Content,{className:"Layout__content--flexColumn",children:[(0,o.createComponentVNode)(2,l.LoginInfo),(0,o.createComponentVNode)(2,u.TemporaryNotice),(0,o.createComponentVNode)(2,N),(0,o.createComponentVNode)(2,i.Section,{height:"89%",flexGrow:"1",children:n})]})]})):(0,o.createComponentVNode)(2,c.Window,{width:700,height:680,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:(0,o.createComponentVNode)(2,d.LoginScreen)})})};var m=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data.records;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Input,{fluid:!0,placeholder:"Search by Name, DNA, or ID",onChange:function(e,t){return a("search",{t1:t})}}),(0,o.createComponentVNode)(2,i.Box,{mt:"0.5rem",children:c.map((function(e,t){return(0,o.createComponentVNode)(2,i.Button,{icon:"user",mb:"0.5rem",color:e.color,content:e.id+": "+e.name+" (Criminal Status: "+e.criminal+")",onClick:function(){return a("d_rec",{d_rec:e.ref})}},t)}))})],4)},p=function(e,t){var n=(0,r.useBackend)(t).act;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"download",content:"Backup to Disk",disabled:!0}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,i.Button,{icon:"upload",content:"Upload from Disk",my:"0.5rem",disabled:!0}),(0,o.createTextVNode)(" "),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,i.Button.Confirm,{icon:"trash",content:"Delete All Security Records",onClick:function(){return n("del_all")}})],4)},h=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.security,d=c.printing;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"General Data",level:2,mt:"-6px",children:(0,o.createComponentVNode)(2,C)}),(0,o.createComponentVNode)(2,i.Section,{title:"Security Data",level:2,children:(0,o.createComponentVNode)(2,f)}),(0,o.createComponentVNode)(2,i.Section,{title:"Actions",level:2,children:[(0,o.createComponentVNode)(2,i.Button.Confirm,{icon:"trash",disabled:!!l.empty,content:"Delete Security Record",color:"bad",onClick:function(){return a("del_r")}}),(0,o.createComponentVNode)(2,i.Button.Confirm,{icon:"trash",disabled:!!l.empty,content:"Delete Record (All)",color:"bad",onClick:function(){return a("del_r_2")}}),(0,o.createComponentVNode)(2,i.Button,{icon:d?"spinner":"print",disabled:d,iconSpin:!!d,content:"Print Entry",ml:"0.5rem",onClick:function(){return a("print_p")}}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,i.Button,{icon:"arrow-left",content:"Back",mt:"0.5rem",onClick:function(){return a("screen",{screen:2})}})]})],4)},C=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data.general;return c&&c.fields?(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Box,{width:"50%",float:"left",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:c.fields.map((function(e,n){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.field,children:[(0,o.createComponentVNode)(2,i.Box,{height:"20px",display:"inline-block",children:e.value.split("\n").map((function(e){return(0,o.createComponentVNode)(2,i.Box,{children:e},e)}))}),!!e.edit&&(0,o.createComponentVNode)(2,i.Button,{icon:"pen",ml:"0.5rem",onClick:function(){return s(t,e)}})]},n)}))})}),(0,o.createComponentVNode)(2,i.Box,{width:"50%",float:"right",textAlign:"right",children:[!!c.has_photos&&c.photos.map((function(e,t){return(0,o.createComponentVNode)(2,i.Box,{display:"inline-block",textAlign:"center",color:"label",children:[(0,o.createVNode)(1,"img",null,null,1,{src:e.substr(1,e.length-1),style:{width:"96px","margin-bottom":"0.5rem","-ms-interpolation-mode":"nearest-neighbor"}}),(0,o.createVNode)(1,"br"),"Photo #",t+1]},t)})),(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return a("photo_front")},children:"Update Front Photo"}),(0,o.createComponentVNode)(2,i.Button,{onClick:function(){return a("photo_side")},children:"Update Side Photo"})]})]})],4):(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"General records lost!"})},f=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data.security;return l&&l.fields?(0,o.createFragment)([(0,o.createComponentVNode)(2,i.LabeledList,{children:l.fields.map((function(e,n){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.field,children:[e.value.split("\n").map((function(e){return(0,o.createComponentVNode)(2,i.Box,{children:e},e)})),(0,o.createComponentVNode)(2,i.Button,{icon:"pen",ml:"0.5rem",mb:e.line_break?"1rem":"initial",onClick:function(){return s(t,e)}})]},n)}))}),(0,o.createComponentVNode)(2,i.Section,{title:"Comments/Log",level:2,children:[0===l.comments.length?(0,o.createComponentVNode)(2,i.Box,{color:"label",children:"No comments found."}):l.comments.map((function(e,t){return(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Box,{color:"label",display:"inline",children:e.header}),(0,o.createVNode)(1,"br"),e.text,(0,o.createComponentVNode)(2,i.Button,{icon:"comment-slash",color:"bad",ml:"0.5rem",onClick:function(){return c("del_c",{del_c:t+1})}})]},t)})),(0,o.createComponentVNode)(2,i.Button,{icon:"comment",content:"Add Entry",color:"good",mt:"0.5rem",mb:"0",onClick:function(){return(0,a.modalOpen)(t,"add_c")}})]})],4):(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:["Security records lost!",(0,o.createComponentVNode)(2,i.Button,{icon:"pen",content:"New Record",ml:"0.5rem",onClick:function(){return c("new")}})]})},N=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data.screen;return(0,o.createComponentVNode)(2,i.Tabs,{children:[(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:2===c,onClick:function(){return a("screen",{screen:2})},children:[(0,o.createComponentVNode)(2,i.Icon,{name:"list"}),"List Records"]}),(0,o.createComponentVNode)(2,i.Tabs.Tab,{selected:3===c,onClick:function(){return a("screen",{screen:3})},children:[(0,o.createComponentVNode)(2,i.Icon,{name:"wrench"}),"Record Maintenance"]})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.SeedStorage=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3),c=n(6),l=n(8);t.SeedStorage=function(e,t){var n=(0,r.useBackend)(t),d=n.act,u=n.data,s=(u.scanner,u.seeds),m=(0,l.sortBy)((function(e){return e.name.toLowerCase()}))(s);return(0,o.createComponentVNode)(2,a.Window,{width:600,height:760,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i.Section,{title:"Seeds",children:m.map((function(e){return(0,o.createComponentVNode)(2,i.Flex,{spacing:1,mt:-1,children:[(0,o.createComponentVNode)(2,i.Flex.Item,{basis:"60%",children:(0,o.createComponentVNode)(2,i.Collapsible,{title:(0,c.toTitleCase)(e.name)+" #"+e.uid,children:(0,o.createComponentVNode)(2,i.Section,{width:"165%",title:"Traits",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:Object.keys(e.traits).map((function(t){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:(0,c.toTitleCase)(t),children:e.traits[t]},t)}))})})})}),(0,o.createComponentVNode)(2,i.Flex.Item,{mt:.4,children:[e.amount," Remaining"]}),(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"download",onClick:function(){return d("vend",{id:e.id})},children:"Vend"})}),(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"trash",onClick:function(){return d("purge",{id:e.id})},children:"Purge"})})]},e.name+e.uid)}))})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ShieldCapacitor=void 0;var o=n(0),r=n(1),i=n(3),a=n(2),c=n(5),l=n(20);t.ShieldCapacitor=function(e,t){var n=(0,r.useBackend)(t),d=n.act,u=n.data,s=u.active,m=u.time_since_fail,p=u.stored_charge,h=u.max_charge,C=u.charge_rate,f=u.max_charge_rate;return(0,o.createComponentVNode)(2,i.Window,{width:500,height:400,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:(0,o.createComponentVNode)(2,a.Section,{title:"Status",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",selected:s,content:s?"Online":"Offline",onClick:function(){return d("toggle")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Capacitor Status",children:m>2?(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"OK."}):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Discharging!"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Stored Energy",children:[(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:p,format:function(e){return(0,l.formatSiUnit)(e,0,"J")}})," (",(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:100*(0,c.round)(p/h,1)}),"%)"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Rate",children:(0,o.createComponentVNode)(2,a.NumberInput,{value:C,step:100,stepPixelSize:.2,minValue:1e4,maxValue:f,format:function(e){return(0,l.formatPower)(e)},onDrag:function(e,t){return d("charge_rate",{rate:t})}})})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.ShieldGenerator=void 0;var o=n(0),r=n(1),i=n(3),a=n(2),c=n(5),l=n(20),d=n(61);t.ShieldGenerator=function(e,t){var n=(0,r.useBackend)(t),a=(n.act,n.data.locked);return(0,o.createComponentVNode)(2,i.Window,{width:500,height:400,resizable:!0,children:(0,o.createComponentVNode)(2,i.Window.Content,{children:a?(0,o.createComponentVNode)(2,u):(0,o.createComponentVNode)(2,s)})})};var u=function(e,t){return(0,o.createComponentVNode)(2,d.FullscreenNotice,{title:"Locked",children:[(0,o.createComponentVNode)(2,a.Box,{fontSize:"1.5rem",bold:!0,children:(0,o.createComponentVNode)(2,a.Icon,{name:"exclamation-triangle",verticalAlign:"middle",size:3,mr:"1rem"})}),(0,o.createComponentVNode)(2,a.Box,{color:"label",my:"1rem",children:"Swipe your ID to begin."})]})},s=function(e,t){var n=(0,r.useBackend)(t),i=n.act,d=n.data.lockedData,u=d.capacitors,s=d.active,m=d.failing,p=d.radius,h=d.max_radius,C=d.z_range,f=d.max_z_range,N=d.average_field_strength,b=d.target_field_strength,V=d.max_field_strength,g=d.shields,v=d.upkeep,_=d.strengthen_rate,k=d.max_strengthen_rate,y=d.gen_power,L=(u||[]).length;return(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Section,{title:"Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Field Status",children:m?(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Unstable"}):(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Stable"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Overall Field Strength",children:[(0,c.round)(N,2)," Renwick (",b&&(0,c.round)(100*N/b,1)||"NA","%)"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Upkeep Power",children:(0,l.formatPower)(v)}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Shield Generation Power",children:(0,l.formatPower)(y)}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Currently Shielded",children:[g," m\xb2"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Capacitors",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:L?u.map((function(e,t){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Capacitor #"+t,children:[e.active?(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"Online"}):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Offline"}),(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge",children:[(0,l.formatSiUnit)(e.stored_charge,0,"J")," (",100*(0,c.round)(e.stored_charge/e.max_charge,2),"%)"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",children:e.failing?(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Discharging"}):(0,o.createComponentVNode)(2,a.Box,{color:"good",children:"OK."})})]})]},t)})):(0,o.createComponentVNode)(2,a.LabeledList.Item,{color:"bad",children:"No Capacitors Connected"})})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Controls",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"power-off",content:s?"Online":"Offline",selected:s,onClick:function(){return i("toggle")}}),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Coverage Radius",children:(0,o.createComponentVNode)(2,a.NumberInput,{fluid:!0,stepPixelSize:6,minValue:0,maxValue:h,value:p,unit:"m",onDrag:function(e,t){return i("change_radius",{val:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Vertical Shielding",children:(0,o.createComponentVNode)(2,a.NumberInput,{fluid:!0,stepPixelSize:12,minValue:0,maxValue:f,value:C,unit:"vertical range",onDrag:function(e,t){return i("z_range",{val:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Charge Rate",children:(0,o.createComponentVNode)(2,a.NumberInput,{fluid:!0,stepPixelSize:12,minValue:0,step:.1,maxValue:k,value:_,format:function(e){return(0,c.round)(e,1)},unit:"Renwick/s",onDrag:function(e,t){return i("strengthen_rate",{val:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Maximum Field Strength",children:(0,o.createComponentVNode)(2,a.NumberInput,{fluid:!0,stepPixelSize:12,minValue:1,maxValue:V,value:b,unit:"Renwick",onDrag:function(e,t){return i("target_field_strength",{val:t})}})})]})})],4)}},function(e,t,n){"use strict";t.__esModule=!0,t.ShuttleControl=void 0;var o=n(0),r=n(6),i=n(1),a=n(2),c=n(3),l=function(e,t){var n="ERROR",r="bad",i=!1;return"docked"===e?(n="DOCKED",r="good"):"docking"===e?(n="DOCKING",r="average",i=!0):"undocking"===e?(n="UNDOCKING",r="average",i=!0):"undocked"===e&&(n="UNDOCKED",r="#676767"),i&&t&&(n+="-MANUAL"),(0,o.createComponentVNode)(2,a.Box,{color:r,children:n})},d=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data,d=e.engineName,u=void 0===d?"Bluespace Drive":d,s=c.shuttle_status,m=c.shuttle_state,p=c.has_docking,h=c.docking_status,C=c.docking_override,f=c.docking_codes;return(0,o.createComponentVNode)(2,a.Section,{title:"Shuttle Status",children:[(0,o.createComponentVNode)(2,a.Box,{color:"label",mb:1,children:s}),(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:u,children:"idle"===m&&(0,o.createComponentVNode)(2,a.Box,{color:"#676767",bold:!0,children:"IDLE"})||"warmup"===m&&(0,o.createComponentVNode)(2,a.Box,{color:"#336699",children:"SPINNING UP"})||"in_transit"===m&&(0,o.createComponentVNode)(2,a.Box,{color:"#336699",children:"ENGAGED"})||(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"ERROR"})}),p&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Docking Status",children:l(h,C)}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Docking Codes",children:(0,o.createComponentVNode)(2,a.Button,{icon:"pen",onClick:function(){return r("set_codes")},children:f||"Not Set"})})],4)||null]})]})},u=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data,l=c.can_launch,d=c.can_cancel,u=c.can_force;return(0,o.createComponentVNode)(2,a.Section,{title:"Controls",children:(0,o.createComponentVNode)(2,a.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,a.Button,{onClick:function(){return r("move")},disabled:!l,icon:"rocket",fluid:!0,children:"Launch Shuttle"})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,a.Button,{onClick:function(){return r("cancel")},disabled:!d,icon:"ban",fluid:!0,children:"Cancel Launch"})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,a.Button,{onClick:function(){return r("force")},color:"bad",disabled:!u,icon:"exclamation-triangle",fluid:!0,children:"Force Launch"})})]})})},s={ShuttleControlConsoleDefault:(0,o.createComponentVNode)(2,(function(e,t){var n=(0,i.useBackend)(t);n.act,n.data;return(0,o.createFragment)([(0,o.createComponentVNode)(2,d),(0,o.createComponentVNode)(2,u)],4)})),ShuttleControlConsoleMulti:(0,o.createComponentVNode)(2,(function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data,l=c.can_cloak,s=c.can_pick,m=c.legit,p=c.cloaked,h=c.destination_name;return(0,o.createFragment)([(0,o.createComponentVNode)(2,d),(0,o.createComponentVNode)(2,a.Section,{title:"Multishuttle Controls",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[l&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:m?"ATC Inhibitor":"Cloaking",children:(0,o.createComponentVNode)(2,a.Button,{selected:p,icon:p?"eye":"eye-o",onClick:function(){return r("toggle_cloaked")},children:p?"Enabled":"Disabled"})})||null,(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Destination",children:(0,o.createComponentVNode)(2,a.Button,{icon:"taxi",disabled:!s,onClick:function(){return r("pick")},children:h})})]})}),(0,o.createComponentVNode)(2,u)],4)})),ShuttleControlConsoleExploration:(0,o.createComponentVNode)(2,(function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data,l=c.can_pick,s=c.destination_name,m=c.fuel_usage,p=c.fuel_span,h=c.remaining_fuel;return(0,o.createFragment)([(0,o.createComponentVNode)(2,d,{engineName:"Engines"}),(0,o.createComponentVNode)(2,a.Section,{title:"Jump Controls",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Destination",children:(0,o.createComponentVNode)(2,a.Button,{icon:"taxi",disabled:!l,onClick:function(){return r("pick")},children:s})}),m&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Est. Delta-V Budget",color:p,children:[h," m/s"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Avg. Delta-V Per Maneuver",children:[m," m/s"]})],4)||null]})}),(0,o.createComponentVNode)(2,u)],4)})),ShuttleControlConsoleWeb:(0,o.createComponentVNode)(2,(function(e,t){var n=(0,i.useBackend)(t),c=n.act,d=n.data,u=d.autopilot,s=d.can_rename,m=d.shuttle_state,p=d.is_moving,h=d.skip_docking,C=d.docking_status,f=d.docking_override,N=d.shuttle_location,b=d.can_cloak,V=d.cloaked,g=d.can_autopilot,v=d.routes,_=d.is_in_transit,k=d.travel_progress,y=d.time_left,L=d.doors,B=d.sensors;return(0,o.createFragment)([u&&(0,o.createComponentVNode)(2,a.Section,{title:"AI PILOT (CLASS D) ACTIVE",children:(0,o.createComponentVNode)(2,a.Box,{inline:!0,italic:!0,children:"This vessel will start and stop automatically. Ensure that all non-cycling capable hatches and doors are closed, as the automated system may not be able to control them. Docking and flight controls are locked. To unlock, disable the automated flight system."})})||null,(0,o.createComponentVNode)(2,a.Section,{title:"Shuttle Status",buttons:s&&(0,o.createComponentVNode)(2,a.Button,{icon:"pen",onClick:function(){return c("rename_command")},children:"Rename"})||null,children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Engines",children:"idle"===m&&(0,o.createComponentVNode)(2,a.Box,{color:"#676767",bold:!0,children:"IDLE"})||"warmup"===m&&(0,o.createComponentVNode)(2,a.Box,{color:"#336699",children:"SPINNING UP"})||"in_transit"===m&&(0,o.createComponentVNode)(2,a.Box,{color:"#336699",children:"ENGAGED"})||(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"ERROR"})}),!p&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Location",children:(0,r.toTitleCase)(N)}),!h&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Docking Status",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{selected:"docked"===C,disabled:"undocked"!==C&&"docked"!==C,onClick:function(){return c("dock_command")},children:"Dock"}),(0,o.createComponentVNode)(2,a.Button,{selected:"undocked"===C,disabled:"docked"!==C&&"undocked"!==C,onClick:function(){return c("undock_command")},children:"Undock"})],4),children:(0,o.createComponentVNode)(2,a.Box,{bold:!0,inline:!0,children:l(C,f)})})||null,b&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Cloaking",children:(0,o.createComponentVNode)(2,a.Button,{selected:V,icon:V?"eye":"eye-o",onClick:function(){return c("toggle_cloaked")},children:V?"Enabled":"Disabled"})})||null,g&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Autopilot",children:(0,o.createComponentVNode)(2,a.Button,{selected:u,icon:u?"eye":"eye-o",onClick:function(){return c("toggle_autopilot")},children:u?"Enabled":"Disabled"})})||null],0)||null]}),!p&&(0,o.createComponentVNode)(2,a.Section,{level:2,title:"Available Destinations",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:v.length&&v.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name,children:(0,o.createComponentVNode)(2,a.Button,{icon:"rocket",onClick:function(){return c("traverse",{traverse:e.index})},children:e.travel_time})},e.name)}))||(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Error",color:"bad",children:"No routes found."})})})||null]}),_&&(0,o.createComponentVNode)(2,a.Section,{title:"Transit ETA",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Distance from target",children:(0,o.createComponentVNode)(2,a.ProgressBar,{color:"good",minValue:0,maxValue:100,value:k,children:[y,"s"]})})})})||null,Object.keys(L).length&&(0,o.createComponentVNode)(2,a.Section,{title:"Hatch Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:Object.keys(L).map((function(e){var t=L[e];return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e,children:[t.open&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"bad",children:"Open"})||(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"good",children:"Closed"}),"\xa0-\xa0",t.bolted&&(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"good",children:"Bolted"})||(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:"bad",children:"Unbolted"})]},e)}))})})||null,Object.keys(B).length&&(0,o.createComponentVNode)(2,a.Section,{title:"Sensors",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:Object.keys(B).map((function(e){var t=B[e];return-1===t.reading?(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e,color:"bad",children:"Unable to get sensor air reading."}):(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pressure",children:[t.pressure,"kPa"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Temperature",children:[t.temp,"\xb0C"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Oxygen",children:[t.oxygen,"%"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Nitrogen",children:[t.nitrogen,"%"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Carbon Dioxide",children:[t.carbon_dioxide,"%"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Phoron",children:[t.phoron,"%"]}),t.other&&(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Other",children:[t.other,"%"]})||null]})},e)}))})})||null],0)}))};t.ShuttleControl=function(e,t){var n=(0,i.useBackend)(t),r=(n.act,n.data.subtemplate);return(0,o.createComponentVNode)(2,c.Window,{width:470,height:"ShuttleControlConsoleWeb"===r?560:370,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:s[r]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Sleeper=void 0;var o=n(0),r=n(5),i=n(1),a=n(2),c=n(3),l=[["good","Alive"],["average","Unconscious"],["bad","DEAD"]],d=[["Resp","oxyLoss"],["Toxin","toxLoss"],["Brute","bruteLoss"],["Burn","fireLoss"]],u={average:[.25,.5],bad:[.5,Infinity]},s=["bad","average","average","good","average","average","bad"];t.Sleeper=function(e,t){var n=(0,i.useBackend)(t),r=(n.act,n.data.hasOccupant?(0,o.createComponentVNode)(2,m):(0,o.createComponentVNode)(2,N));return(0,o.createComponentVNode)(2,c.Window,{width:550,height:760,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{className:"Layout__content--flexColumn",children:r})})};var m=function(e,t){var n=(0,i.useBackend)(t),r=(n.act,n.data),a=(r.occupant,r.dialysis),c=r.stomachpumping;return(0,o.createFragment)([(0,o.createComponentVNode)(2,p),(0,o.createComponentVNode)(2,h),(0,o.createComponentVNode)(2,C,{title:"Dialysis",active:a,actToDo:"togglefilter"}),(0,o.createComponentVNode)(2,C,{title:"Stomach Pump",active:c,actToDo:"togglepump"}),(0,o.createComponentVNode)(2,f)],4)},p=function(e,t){var n=(0,i.useBackend)(t),c=n.act,d=n.data,u=d.occupant,m=d.auto_eject_dead,p=d.stasis;return(0,o.createComponentVNode)(2,a.Section,{title:"Occupant",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Box,{color:"label",display:"inline",children:"Auto-eject if dead:\xa0"}),(0,o.createComponentVNode)(2,a.Button,{icon:m?"toggle-on":"toggle-off",selected:m,content:m?"On":"Off",onClick:function(){return c("auto_eject_dead_"+(m?"off":"on"))}}),(0,o.createComponentVNode)(2,a.Button,{icon:"user-slash",content:"Eject",onClick:function(){return c("ejectify")}}),(0,o.createComponentVNode)(2,a.Button,{content:p,onClick:function(){return c("changestasis")}})],4),children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:u.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Health",children:(0,o.createComponentVNode)(2,a.ProgressBar,{min:0,max:u.maxHealth,value:u.health/u.maxHealth,ranges:{good:[.5,Infinity],average:[0,.5],bad:[-Infinity,0]},children:(0,r.round)(u.health,0)})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",color:l[u.stat][0],children:l[u.stat][1]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Temperature",children:(0,o.createComponentVNode)(2,a.ProgressBar,{min:"0",max:u.maxTemp,value:u.bodyTemperature/u.maxTemp,color:s[u.temperatureSuitability+3],children:[(0,r.round)(u.btCelsius,0),"\xb0C,",(0,r.round)(u.btFaren,0),"\xb0F"]})}),!!u.hasBlood&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Blood Level",children:(0,o.createComponentVNode)(2,a.ProgressBar,{min:"0",max:u.bloodMax,value:u.bloodLevel/u.bloodMax,ranges:{bad:[-Infinity,.6],average:[.6,.9],good:[.6,Infinity]},children:[u.bloodPercent,"%, ",u.bloodLevel,"cl"]})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pulse",verticalAlign:"middle",children:[u.pulse," BPM"]})],4)]})})},h=function(e,t){var n=(0,i.useBackend)(t).data.occupant;return(0,o.createComponentVNode)(2,a.Section,{title:"Damage",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:d.map((function(e,t){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e[0],children:(0,o.createComponentVNode)(2,a.ProgressBar,{min:"0",max:"100",value:n[e[1]]/100,ranges:u,children:(0,r.round)(n[e[1]],0)},t)},t)}))})})},C=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data,l=c.isBeakerLoaded,d=c.beakerMaxSpace,u=c.beakerFreeSpace,s=e.active,m=e.actToDo,p=e.title,h=s&&u>0;return(0,o.createComponentVNode)(2,a.Section,{title:p,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{disabled:!l||u<=0,selected:h,icon:h?"toggle-on":"toggle-off",content:h?"Active":"Inactive",onClick:function(){return r(m)}}),(0,o.createComponentVNode)(2,a.Button,{disabled:!l,icon:"eject",content:"Eject",onClick:function(){return r("removebeaker")}})],4),children:l?(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Remaining Space",children:(0,o.createComponentVNode)(2,a.ProgressBar,{min:"0",max:d,value:u/d,ranges:{good:[.5,Infinity],average:[.25,.5],bad:[-Infinity,.25]},children:[u,"u"]})})}):(0,o.createComponentVNode)(2,a.Box,{color:"label",children:"No beaker loaded."})})},f=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data,l=c.occupant,d=c.chemicals,u=c.maxchem,s=c.amounts;return(0,o.createComponentVNode)(2,a.Section,{title:"Chemicals",flexGrow:"1",children:d.map((function(e,t){var n,i="";return e.overdosing?(i="bad",n=(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:[(0,o.createComponentVNode)(2,a.Icon,{name:"exclamation-circle"}),"\xa0 Overdosing!"]})):e.od_warning&&(i="average",n=(0,o.createComponentVNode)(2,a.Box,{color:"average",children:[(0,o.createComponentVNode)(2,a.Icon,{name:"exclamation-triangle"}),"\xa0 Close to overdosing"]})),(0,o.createComponentVNode)(2,a.Box,{backgroundColor:"rgba(0, 0, 0, 0.33)",mb:"0.5rem",children:(0,o.createComponentVNode)(2,a.Section,{title:e.title,level:"3",mx:"0",lineHeight:"18px",buttons:n,children:(0,o.createComponentVNode)(2,a.Flex,{align:"flex-start",children:[(0,o.createComponentVNode)(2,a.ProgressBar,{min:"0",max:u,value:e.occ_amount/u,color:i,mr:"0.5rem",children:[e.pretty_amount,"/",u,"u"]}),s.map((function(t,n){return(0,o.createComponentVNode)(2,a.Button,{disabled:!e.injectable||e.occ_amount+t>u||2===l.stat,icon:"syringe",content:t,mb:"0",height:"19px",onClick:function(){return r("chemical",{chemid:e.id,amount:t})}},n)}))]})})},t)}))})},N=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data.isBeakerLoaded;return(0,o.createComponentVNode)(2,a.Section,{textAlign:"center",flexGrow:"1",children:(0,o.createComponentVNode)(2,a.Flex,{height:"100%",children:(0,o.createComponentVNode)(2,a.Flex.Item,{grow:"1",align:"center",color:"label",children:[(0,o.createComponentVNode)(2,a.Icon,{name:"user-slash",mb:"0.5rem",size:"5"}),(0,o.createVNode)(1,"br"),"No occupant detected.",c&&(0,o.createComponentVNode)(2,a.Box,{children:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Remove Beaker",onClick:function(){return r("removebeaker")}})})||null]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.SmartVend=void 0;var o=n(0),r=n(8),i=n(1),a=n(2),c=n(3);t.SmartVend=function(e,t){var n=(0,i.useBackend)(t),l=n.act,d=n.config,u=n.data;return(0,o.createComponentVNode)(2,c.Window,{width:440,height:550,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,a.Section,{title:"Storage",children:[u.secure&&(0,o.createComponentVNode)(2,a.NoticeBox,{danger:-1===u.locked,info:-1!==u.locked,children:-1===u.locked?(0,o.createComponentVNode)(2,a.Box,{children:"Sec.re ACC_** //):securi_nt.diag=>##'or 1=1'%($..."}):(0,o.createComponentVNode)(2,a.Box,{children:"Secure Access: Please have your identification ready."})})||null,0===u.contents.length&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:["Unfortunately, this ",d.title," is empty."]})||(0,o.createComponentVNode)(2,a.Table,{children:[(0,o.createComponentVNode)(2,a.Table.Row,{header:!0,children:[(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:"Item"}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,textAlign:"center",children:"Amount"}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,textAlign:"center",children:"Dispense"})]}),(0,r.map)((function(e,t){return(0,o.createComponentVNode)(2,a.Table.Row,{children:[(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:e.name}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,textAlign:"center",children:[e.amount," in stock"]}),(0,o.createComponentVNode)(2,a.Table.Cell,{collapsing:!0,children:[(0,o.createComponentVNode)(2,a.Button,{content:"1",disabled:e.amount<1,onClick:function(){return l("Release",{index:e.index,amount:1})}}),(0,o.createComponentVNode)(2,a.Button,{content:"5",disabled:e.amount<5,onClick:function(){return l("Release",{index:e.index,amount:5})}}),(0,o.createComponentVNode)(2,a.Button,{content:"Custom",disabled:e.amount<1,onClick:function(){return l("Release",{index:e.index})}}),(0,o.createComponentVNode)(2,a.Button,{content:"All",disabled:e.amount<1,onClick:function(){return l("Release",{index:e.index,amount:e.amount})}})]})]},t)}))(u.contents)]})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Smes=void 0;var o=n(0),r=n(1),i=n(2),a=n(20),c=n(3),l=n(5);t.Smes=function(e,t){var n=(0,r.useBackend)(t),d=n.act,u=n.data,s=u.capacityPercent,m=u.capacity,p=u.charge,h=u.inputAttempt,C=u.inputting,f=u.inputLevel,N=u.inputLevelMax,b=u.inputAvailable,V=u.outputAttempt,g=u.outputting,v=u.outputLevel,_=u.outputLevelMax,k=u.outputUsed,y=(s>=100?"good":C&&"average")||"bad",L=(g?"good":p>0&&"average")||"bad";return(0,o.createComponentVNode)(2,c.Window,{width:340,height:350,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(0,o.createComponentVNode)(2,i.Section,{title:"Stored Energy",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:.01*s,ranges:{good:[.5,Infinity],average:[.15,.5],bad:[-Infinity,.15]},children:[(0,l.round)(p/6e4,1)," kWh / ",(0,l.round)(m/6e4)," kWh (",s,"%)"]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Input",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Charge Mode",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:h?"sync-alt":"times",selected:h,onClick:function(){return d("tryinput")},children:h?"On":"Off"}),children:(0,o.createComponentVNode)(2,i.Box,{color:y,children:(s>=100?"Fully Charged":C&&"Charging")||"Not Charging"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Target Input",children:(0,o.createComponentVNode)(2,i.Flex,{inline:!0,width:"100%",children:[(0,o.createComponentVNode)(2,i.Flex.Item,{children:[(0,o.createComponentVNode)(2,i.Button,{icon:"fast-backward",disabled:0===f,onClick:function(){return d("input",{target:"min"})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"backward",disabled:0===f,onClick:function(){return d("input",{adjust:-1e4})}})]}),(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,mx:1,children:(0,o.createComponentVNode)(2,i.Slider,{value:f/1e3,fillValue:b/1e3,minValue:0,maxValue:N/1e3,step:5,stepPixelSize:4,format:function(e){return(0,a.formatPower)(1e3*e,1)},onDrag:function(e,t){return d("input",{target:1e3*t})}})}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:[(0,o.createComponentVNode)(2,i.Button,{icon:"forward",disabled:f===N,onClick:function(){return d("input",{adjust:1e4})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"fast-forward",disabled:f===N,onClick:function(){return d("input",{target:"max"})}})]})]})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Available",children:(0,a.formatPower)(b)})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Output",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Output Mode",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:V?"power-off":"times",selected:V,onClick:function(){return d("tryoutput")},children:V?"On":"Off"}),children:(0,o.createComponentVNode)(2,i.Box,{color:L,children:g?"Sending":p>0?"Not Sending":"No Charge"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Target Output",children:(0,o.createComponentVNode)(2,i.Flex,{inline:!0,width:"100%",children:[(0,o.createComponentVNode)(2,i.Flex.Item,{children:[(0,o.createComponentVNode)(2,i.Button,{icon:"fast-backward",disabled:0===v,onClick:function(){return d("output",{target:"min"})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"backward",disabled:0===v,onClick:function(){return d("output",{adjust:-1e4})}})]}),(0,o.createComponentVNode)(2,i.Flex.Item,{grow:1,mx:1,children:(0,o.createComponentVNode)(2,i.Slider,{value:v/1e3,minValue:0,maxValue:_/1e3,step:5,stepPixelSize:4,format:function(e){return(0,a.formatPower)(1e3*e,1)},onDrag:function(e,t){return d("output",{target:1e3*t})}})}),(0,o.createComponentVNode)(2,i.Flex.Item,{children:[(0,o.createComponentVNode)(2,i.Button,{icon:"forward",disabled:v===_,onClick:function(){return d("output",{adjust:1e4})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"fast-forward",disabled:v===_,onClick:function(){return d("output",{target:"max"})}})]})]})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Outputting",children:(0,a.formatPower)(k)})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.SolarControl=void 0;var o=n(0),r=n(1),i=n(2),a=n(3),c=n(5);t.SolarControl=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.generated,s=d.generated_ratio,m=d.sun_angle,p=d.array_angle,h=d.rotation_rate,C=d.max_rotation_rate,f=d.tracking_state,N=d.connected_panels,b=d.connected_tracker;return(0,o.createComponentVNode)(2,a.Window,{width:380,height:230,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:[(0,o.createComponentVNode)(2,i.Section,{title:"Status",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"sync",content:"Scan for new hardware",onClick:function(){return l("refresh")}}),children:(0,o.createComponentVNode)(2,i.Grid,{children:[(0,o.createComponentVNode)(2,i.Grid.Column,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Solar tracker",color:b?"good":"bad",children:b?"OK":"N/A"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Solar panels",color:N>0?"good":"bad",children:N})]})}),(0,o.createComponentVNode)(2,i.Grid.Column,{size:1.5,children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Power output",children:(0,o.createComponentVNode)(2,i.ProgressBar,{ranges:{good:[.66,Infinity],average:[.33,.66],bad:[-Infinity,.33]},minValue:0,maxValue:1,value:s,children:u+" W"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Star orientation",children:[m,"\xb0"]})]})})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Controls",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Tracking",children:[(0,o.createComponentVNode)(2,i.Button,{icon:"times",content:"Off",selected:0===f,onClick:function(){return l("tracking",{mode:0})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"clock-o",content:"Timed",selected:1===f,onClick:function(){return l("tracking",{mode:1})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"sync",content:"Auto",selected:2===f,disabled:!b,onClick:function(){return l("tracking",{mode:2})}})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Azimuth",children:[(0===f||1===f)&&(0,o.createComponentVNode)(2,i.NumberInput,{width:"52px",unit:"\xb0",step:1,stepPixelSize:2,minValue:-360,maxValue:720,value:p,format:function(e){var t=Math.sign(e)>0?" (CW)":" (CCW)";return Math.abs((0,c.round)(e))+t},onDrag:function(e,t){return l("azimuth",{value:t})}}),1===f&&(0,o.createComponentVNode)(2,i.NumberInput,{width:"80px",unit:"deg/h",step:1,minValue:-C-.01,maxValue:C+.01,value:h,format:function(e){var t=Math.sign(e)>0?" (CW)":" (CCW)";return Math.abs((0,c.round)(e))+t},onDrag:function(e,t){return l("azimuth_rate",{value:t})}}),2===f&&(0,o.createComponentVNode)(2,i.Box,{inline:!0,color:"label",mt:"3px",children:[p+"\xb0"," (auto)"]})]})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.SpaceHeater=void 0;var o=n(0),r=n(28),i=n(1),a=n(2),c=n(3);t.SpaceHeater=function(e,t){var n=(0,i.useBackend)(t),l=n.act,d=n.data,u=d.temp,s=d.minTemp,m=d.maxTemp,p=d.cell,h=d.power;return(0,o.createComponentVNode)(2,c.Window,{width:300,height:250,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Target Temperature",children:[u," K (",u-r.T0C,"\xb0 C)"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Charge",children:[h,"% ",!p&&"(No Cell Inserted)"]})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Controls",children:(0,o.createComponentVNode)(2,a.LabeledControls,{children:[(0,o.createComponentVNode)(2,a.LabeledControls.Item,{label:"Thermostat",children:(0,o.createComponentVNode)(2,a.Knob,{animated:!0,value:u-r.T0C,minValue:s-r.T0C,maxValue:m-r.T0C,unit:"C",onChange:function(e,t){return l("temp",{newtemp:t+r.T0C})}})}),(0,o.createComponentVNode)(2,a.LabeledControls.Item,{label:"Cell",children:p?(0,o.createComponentVNode)(2,a.Button,{icon:"eject",content:"Eject Cell",onClick:function(){return l("cellremove")}}):(0,o.createComponentVNode)(2,a.Button,{icon:"car-battery",content:"Insert Cell",onClick:function(){return l("cellinstall")}})})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Stack=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);n(24);t.Stack=function(e,t){var n=(0,r.useBackend)(t),l=(n.act,n.data),d=l.amount,u=l.recipes;return(0,o.createComponentVNode)(2,a.Window,{width:400,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i.Section,{title:"Amount: "+d,children:(0,o.createComponentVNode)(2,c,{recipes:u})})})})};var c=function u(e,t){var n=(0,r.useBackend)(t),a=(n.act,n.data,e.recipes);return Object.keys(a).sort().map((function(e){var t=a[e];return t.ref===undefined?(0,o.createComponentVNode)(2,i.Collapsible,{ml:1,mb:-.7,color:"label",title:e,children:(0,o.createComponentVNode)(2,i.Box,{ml:1,children:(0,o.createComponentVNode)(2,u,{recipes:t})})}):(0,o.createComponentVNode)(2,d,{title:e,recipe:t})}))},l=function(e,t){for(var n=(0,r.useBackend)(t),a=n.act,c=(n.data,e.recipe),l=e.maxMultiplier,d=Math.min(l,Math.floor(c.max_res_amount/c.res_amount)),u=[5,10,25],s=[],m=function(){var e=h[p];d>=e&&s.push((0,o.createComponentVNode)(2,i.Button,{content:e*c.res_amount+"x",onClick:function(){return a("make",{ref:c.ref,multiplier:e})}}))},p=0,h=u;p1?"s":""),h+=")",s>1&&(h=s+"x "+h);var C=function(e,t){return e.req_amount>t?0:Math.floor(t/e.req_amount)}(d,c);return(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.Table,{children:(0,o.createComponentVNode)(2,i.Table.Row,{children:[(0,o.createComponentVNode)(2,i.Table.Cell,{children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,disabled:!C,icon:"wrench",content:h,onClick:function(){return a("make",{ref:d.ref,multiplier:1})}})}),m>1&&C>1&&(0,o.createComponentVNode)(2,i.Table.Cell,{collapsing:!0,children:(0,o.createComponentVNode)(2,l,{recipe:d,maxMultiplier:C})})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.StarcasterCh=void 0;var o=n(0),r=n(1),i=n(2),a=n(3),c=n(75);t.StarcasterCh=function(e,t){var n=(0,r.useBackend)(t),i=(n.act,n.data.article),c=(0,o.createComponentVNode)(2,d);return i&&(c=(0,o.createComponentVNode)(2,l)),(0,o.createComponentVNode)(2,a.Window,{width:575,height:750,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:c})})};var l=function(e,t){var n=(0,r.useBackend)(t),a=n.act,l=n.data.article;if(!l)return(0,o.createComponentVNode)(2,i.Section,{children:"Error: Article not found."});var d=l.title,u=l.cover,s=l.content;return(0,o.createComponentVNode)(2,i.Section,{title:"Viewing: "+d,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"times",onClick:function(){return a("PRG_reset")},children:"Close"}),children:[!!u&&(0,o.createVNode)(1,"img",null,null,1,{src:(0,c.resolveAsset)(u)}),(0,o.createVNode)(1,"div",null,null,1,{dangerouslySetInnerHTML:{__html:s}})]})},d=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.showing_archived,d=c.all_articles;return(0,o.createComponentVNode)(2,i.Section,{title:"Articles List",buttons:(0,o.createComponentVNode)(2,i.Button.Checkbox,{onClick:function(){return a("PRG_toggle_archived")},checked:l,children:"Show Archived"}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:d.length&&d.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name,buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"download",onClick:function(){return a("PRG_openarticle",{uid:e.uid})}})},e.uid)}))||(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Error",children:"Unable to connect to Starfire database."})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.StationBlueprintsContent=t.StationBlueprints=void 0;var o=n(0),r=(n(8),n(41),n(10),n(6),n(1)),i=n(2),a=n(3);t.StationBlueprints=function(e,t){return(0,o.createComponentVNode)(2,a.Window,{width:870,height:708,resizable:!0,children:(0,o.createComponentVNode)(2,c)})};var c=function(e,t){var n=(0,r.useBackend)(t),c=(n.act,n.data),l=(n.config,c.mapRef);c.areas,c.turfs;return(0,o.createFragment)([(0,o.createVNode)(1,"div","CameraConsole__left",(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:"Honk!"}),2),(0,o.createVNode)(1,"div","CameraConsole__right",(0,o.createComponentVNode)(2,i.ByondUi,{className:"CameraConsole__map",params:{id:l,type:"map"}}),2)],4)};t.StationBlueprintsContent=c},function(e,t,n){"use strict";t.__esModule=!0,t.SuitCycler=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.SuitCycler=function(e,t){var n=(0,r.useBackend)(t),i=(n.act,n.data),s=i.active,m=i.locked,p=i.uv_active,h=(0,o.createComponentVNode)(2,c);return p?h=(0,o.createComponentVNode)(2,l):m?h=(0,o.createComponentVNode)(2,d):s&&(h=(0,o.createComponentVNode)(2,u)),(0,o.createComponentVNode)(2,a.Window,{width:320,height:400,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:h})})};var c=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.safeties,d=c.occupied,u=c.suit,s=c.helmet,m=c.departments,p=c.species,h=c.uv_level,C=c.max_uv_level,f=c.can_repair,N=c.damage;return(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Section,{title:"Storage",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"lock",content:"Lock",onClick:function(){return a("lock")}}),children:[!(!d||!l)&&(0,o.createComponentVNode)(2,i.NoticeBox,{children:["Biological entity detected in suit chamber. Please remove before continuing with operation.",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"eject",color:"red",content:"Eject Entity",onClick:function(){return a("eject_guy")}})]}),(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Helmet",children:(0,o.createComponentVNode)(2,i.Button,{icon:s?"square":"square-o",content:s||"Empty",disabled:!s,onClick:function(){return a("dispense",{item:"helmet"})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Suit",children:(0,o.createComponentVNode)(2,i.Button,{icon:u?"square":"square-o",content:u||"Empty",disabled:!u,onClick:function(){return a("dispense",{item:"suit"})}})}),f&&N?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Suit Damage",children:[N,(0,o.createComponentVNode)(2,i.Button,{icon:"wrench",content:"Repair",onClick:function(){return a("repair_suit")}})]}):null]})]}),(0,o.createComponentVNode)(2,i.Section,{title:"Customization",children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Target Paintjob",children:(0,o.createComponentVNode)(2,i.Dropdown,{noscroll:!0,width:"100%",options:m,selected:m[0],onSelected:function(e){return a("department",{department:e})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Target Species",children:(0,o.createComponentVNode)(2,i.Dropdown,{width:"100%",maxHeight:"160px",options:p,selected:p[0],onSelected:function(e){return a("species",{species:e})}})})]}),(0,o.createComponentVNode)(2,i.Button,{mt:1,fluid:!0,content:"Customize",onClick:function(){return a("apply_paintjob")}})]}),(0,o.createComponentVNode)(2,i.Section,{title:"UV Decontamination",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Radiation Level",children:(0,o.createComponentVNode)(2,i.NumberInput,{width:"50px",value:h,minValue:1,maxValue:C,stepPixelSize:30,onChange:function(e,t){return a("radlevel",{radlevel:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Decontaminate",children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"recycle",disabled:d&&l,textAlign:"center",onClick:function(){return a("uv")}})})]})})],4)},l=function(e,t){return(0,o.createComponentVNode)(2,i.NoticeBox,{children:"Contents are currently being decontaminated. Please wait."})},d=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.model_text,d=c.userHasAccess;return(0,o.createComponentVNode)(2,i.Section,{title:"Locked",textAlign:"center",children:[(0,o.createComponentVNode)(2,i.Box,{color:"bad",bold:!0,children:["The ",l," suit cycler is currently locked. Please contact your system administrator."]}),(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"unlock",content:"[Unlock]",disabled:!d,onClick:function(){return a("lock")}})})]})},u=function(e,t){return(0,o.createComponentVNode)(2,i.NoticeBox,{children:"Contents are currently being painted. Please wait."})}},function(e,t,n){"use strict";t.__esModule=!0,t.SuitStorageUnit=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.SuitStorageUnit=function(e,t){var n=(0,r.useBackend)(t),i=(n.act,n.data),s=i.panelopen,m=i.uv_active,p=i.broken,h=(0,o.createComponentVNode)(2,c);return s?h=(0,o.createComponentVNode)(2,l):m?h=(0,o.createComponentVNode)(2,d):p&&(h=(0,o.createComponentVNode)(2,u)),(0,o.createComponentVNode)(2,a.Window,{width:400,height:365,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:h})})};var c=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.locked,d=c.open,u=c.safeties,s=c.occupied,m=c.suit,p=c.helmet,h=c.mask;return(0,o.createComponentVNode)(2,i.Section,{title:"Storage",minHeight:"260px",buttons:(0,o.createFragment)([!d&&(0,o.createComponentVNode)(2,i.Button,{icon:l?"unlock":"lock",content:l?"Unlock":"Lock",onClick:function(){return a("lock")}}),!l&&(0,o.createComponentVNode)(2,i.Button,{icon:d?"sign-out-alt":"sign-in-alt",content:d?"Close":"Open",onClick:function(){return a("door")}})],0),children:[!(!s||!u)&&(0,o.createComponentVNode)(2,i.NoticeBox,{children:["Biological entity detected in suit chamber. Please remove before continuing with operation.",(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"eject",color:"red",content:"Eject Entity",onClick:function(){return a("eject_guy")}})]}),l&&(0,o.createComponentVNode)(2,i.Box,{mt:6,bold:!0,textAlign:"center",fontSize:"40px",children:[(0,o.createComponentVNode)(2,i.Box,{children:"Unit Locked"}),(0,o.createComponentVNode)(2,i.Icon,{name:"lock"})]})||d&&(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Helmet",children:(0,o.createComponentVNode)(2,i.Button,{icon:p?"square":"square-o",content:p||"Empty",disabled:!p,onClick:function(){return a("dispense",{item:"helmet"})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Suit",children:(0,o.createComponentVNode)(2,i.Button,{icon:m?"square":"square-o",content:m||"Empty",disabled:!m,onClick:function(){return a("dispense",{item:"suit"})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Mask",children:(0,o.createComponentVNode)(2,i.Button,{icon:h?"square":"square-o",content:h||"Empty",disabled:!h,onClick:function(){return a("dispense",{item:"mask"})}})})]})||(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"recycle",content:"Decontaminate",disabled:s&&u,textAlign:"center",onClick:function(){return a("uv")}})]})},l=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=c.safeties,d=c.uv_super;return(0,o.createComponentVNode)(2,i.Section,{title:"Maintenance Panel",children:[(0,o.createComponentVNode)(2,i.Box,{color:"grey",children:"The panel is ridden with controls, button and meters, labeled in strange signs and symbols that you cannot understand. Probably the manufactoring world's language. Among other things, a few controls catch your eye."}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,i.Box,{children:["A small dial with a biohazard symbol next to it. It's pointing towards a gauge that reads ",d?"15nm":"185nm",".",(0,o.createComponentVNode)(2,i.Flex,{mt:1,align:"center",textAlign:"center",children:[(0,o.createComponentVNode)(2,i.Flex.Item,{basis:"50%",textAlign:"center",children:(0,o.createComponentVNode)(2,i.Knob,{size:2,inline:!0,value:d,minValue:0,maxValue:1,step:1,stepPixelSize:40,color:d?"red":"green",format:function(e){return e?"15nm":"185nm"},onChange:function(e,t){return a("toggleUV")}})}),(0,o.createComponentVNode)(2,i.Flex.Item,{basis:"50%",textAlign:"center",children:(0,o.createComponentVNode)(2,i.Icon,{name:"biohazard",size:3,color:"orange"})})]})]}),(0,o.createVNode)(1,"br"),(0,o.createComponentVNode)(2,i.Box,{children:["A thick old-style button, with 2 grimy LED lights next to it. The ",l?(0,o.createVNode)(1,"font",null,"GREEN",16,{color:"green"}):(0,o.createVNode)(1,"font",null,"RED",16,{color:"red"})," LED is on.",(0,o.createComponentVNode)(2,i.Flex,{mt:1,align:"center",textAlign:"center",children:[(0,o.createComponentVNode)(2,i.Flex.Item,{basis:"50%",textAlign:"center",children:(0,o.createComponentVNode)(2,i.Button,{fontSize:"2rem",color:"grey",inline:!0,icon:"caret-square-right",style:{border:"4px solid #777","border-style":"outset"},onClick:function(){return a("togglesafeties")}})}),(0,o.createComponentVNode)(2,i.Flex.Item,{basis:"50%",textAlign:"center",children:[(0,o.createComponentVNode)(2,i.Icon,{name:"circle",color:l?"black":"red",mr:2}),(0,o.createComponentVNode)(2,i.Icon,{name:"circle",color:l?"green":"black"})]})]})]})]})},d=function(e,t){return(0,o.createComponentVNode)(2,i.NoticeBox,{children:"Contents are currently being decontaminated. Please wait."})},u=function(e,t){return(0,o.createComponentVNode)(2,i.NoticeBox,{danger:!0,children:"Unit chamber is too contaminated to continue usage. Please call for a qualified individual to perform maintenance."})}},function(e,t,n){"use strict";t.__esModule=!0,t.SupplyConsole=void 0;var o=n(0),r=n(8),i=(n(5),n(20)),a=n(1),c=n(2),l=n(45),d=n(3),u=n(41),s=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data.supply_points,l=e.args,d=l.name,u=l.cost,s=l.manifest,m=l.ref,p=l.random;return(0,o.createComponentVNode)(2,c.Section,{width:"400px",level:2,m:"-1rem",pb:"1rem",title:d,buttons:(0,o.createComponentVNode)(2,c.Button,{icon:"shopping-cart",content:"Buy - "+u+" points",disabled:u>i,onClick:function(){return r("request_crate",{ref:m})}}),children:(0,o.createComponentVNode)(2,c.Section,{title:"Contains"+(p?" any "+p+" of:":""),scrollable:!0,height:"200px",children:s.map((function(e){return(0,o.createComponentVNode)(2,c.Box,{children:e},e)}))})})};t.SupplyConsole=function(e,t){var n=(0,a.useBackend)(t);n.act,n.data;return(0,l.modalRegisterBodyOverride)("view_crate",s),(0,o.createComponentVNode)(2,d.Window,{width:700,height:620,children:(0,o.createComponentVNode)(2,d.Window.Content,{children:[(0,o.createComponentVNode)(2,l.ComplexModal,{maxWidth:"100%"}),(0,o.createComponentVNode)(2,c.Section,{title:"Supply Records",children:[(0,o.createComponentVNode)(2,m),(0,o.createComponentVNode)(2,p)]})]})})};var m=function(e,t){var n=(0,a.useBackend)(t),r=n.act,l=n.data,d=l.supply_points,u=l.shuttle,s=null,m=!1;return l.shuttle_auth&&(1===u.launch&&0===u.mode?s=(0,o.createComponentVNode)(2,c.Button,{icon:"rocket",content:"Send Away",onClick:function(){return r("send_shuttle",{mode:"send_away"})}}):2!==u.launch||3!==u.mode&&1!==u.mode?1===u.launch&&5===u.mode&&(s=(0,o.createComponentVNode)(2,c.Button,{icon:"rocket",content:"Send Shuttle",onClick:function(){return r("send_shuttle",{mode:"send_to_station"})}})):s=(0,o.createComponentVNode)(2,c.Button,{icon:"ban",content:"Cancel Launch",onClick:function(){return r("send_shuttle",{mode:"cancel_shuttle"})}}),u.force&&(m=!0)),(0,o.createComponentVNode)(2,c.Section,{children:[(0,o.createComponentVNode)(2,c.LabeledList,{children:(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Supply Points",children:(0,o.createComponentVNode)(2,c.AnimatedNumber,{value:d})})}),(0,o.createComponentVNode)(2,c.Section,{level:2,title:"Supply Shuttle",mt:2,children:(0,o.createComponentVNode)(2,c.LabeledList,{children:[(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Location",buttons:(0,o.createFragment)([s,m?(0,o.createComponentVNode)(2,c.Button,{icon:"exclamation-triangle",content:"Force Launch",onClick:function(){return r("send_shuttle",{mode:"force_shuttle"})}}):null],0),children:u.location}),(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Engine",children:u.engine}),4===u.mode?(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"ETA",children:u.time>1?(0,i.formatTime)(u.time):"LATE"}):null]})})]})},p=function(e,t){var n=(0,a.useBackend)(t),r=(n.act,n.data.order_auth,(0,a.useLocalState)(t,"tabIndex",0)),i=r[0],l=r[1];return(0,o.createComponentVNode)(2,c.Section,{title:"Menu",children:[(0,o.createComponentVNode)(2,c.Tabs,{children:[(0,o.createComponentVNode)(2,c.Tabs.Tab,{icon:"box",selected:0===i,onClick:function(){return l(0)},children:"Request"}),(0,o.createComponentVNode)(2,c.Tabs.Tab,{icon:"check-circle-o",selected:1===i,onClick:function(){return l(1)},children:"Accepted"}),(0,o.createComponentVNode)(2,c.Tabs.Tab,{icon:"circle-o",selected:2===i,onClick:function(){return l(2)},children:"Requests"}),(0,o.createComponentVNode)(2,c.Tabs.Tab,{icon:"book",selected:3===i,onClick:function(){return l(3)},children:"Order history"}),(0,o.createComponentVNode)(2,c.Tabs.Tab,{icon:"book",selected:4===i,onClick:function(){return l(4)},children:"Export history"})]}),0===i?(0,o.createComponentVNode)(2,h):null,1===i?(0,o.createComponentVNode)(2,C,{mode:"Approved"}):null,2===i?(0,o.createComponentVNode)(2,C,{mode:"Requested"}):null,3===i?(0,o.createComponentVNode)(2,C,{mode:"All"}):null,4===i?(0,o.createComponentVNode)(2,f):null]})},h=function(e,t){var n=(0,a.useBackend)(t),i=n.act,l=n.data,d=l.categories,s=l.supply_packs,m=l.contraband,p=l.supply_points,h=(0,a.useLocalState)(t,"activeCategory",null),C=h[0],f=h[1],N=(0,u.flow)([(0,r.filter)((function(e){return e.group===C})),(0,r.filter)((function(e){return!e.contraband||m})),(0,r.sortBy)((function(e){return e.name})),(0,r.sortBy)((function(e){return e.cost>p}))])(s);return(0,o.createComponentVNode)(2,c.Section,{level:2,children:(0,o.createComponentVNode)(2,c.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,c.Flex.Item,{basis:"25%",children:(0,o.createComponentVNode)(2,c.Section,{title:"Categories",scrollable:!0,fill:!0,height:"290px",children:d.map((function(e){return(0,o.createComponentVNode)(2,c.Button,{fluid:!0,content:e,selected:e===C,onClick:function(){return f(e)}},e)}))})}),(0,o.createComponentVNode)(2,c.Flex.Item,{grow:1,children:(0,o.createComponentVNode)(2,c.Section,{title:"Contents",scrollable:!0,fill:!0,height:"290px",children:N.map((function(e){return(0,o.createComponentVNode)(2,c.Box,{children:(0,o.createComponentVNode)(2,c.Flex,{align:"center",justify:"flex-start",spacing:1,children:[(0,o.createComponentVNode)(2,c.Flex.Item,{basis:"70%",children:(0,o.createComponentVNode)(2,c.Button,{fluid:!0,icon:"shopping-cart",ellipsis:!0,content:e.name,color:e.cost>p?"red":null,onClick:function(){return i("request_crate",{ref:e.ref})}})}),(0,o.createComponentVNode)(2,c.Flex.Item,{children:(0,o.createComponentVNode)(2,c.Button,{content:"#",color:e.cost>p?"red":null,onClick:function(){return i("request_crate_multi",{ref:e.ref})}})}),(0,o.createComponentVNode)(2,c.Flex.Item,{children:(0,o.createComponentVNode)(2,c.Button,{content:"C",color:e.cost>p?"red":null,onClick:function(){return i("view_crate",{crate:e.ref})}})}),(0,o.createComponentVNode)(2,c.Flex.Item,{grow:1,children:[e.cost," points"]})]})},e.name)}))})})]})})},C=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data,l=e.mode,d=i.orders,u=i.order_auth,s=i.supply_points,m=d.filter((function(e){return e.status===l||"All"===l}));return m.length?(0,o.createComponentVNode)(2,c.Section,{level:2,children:["Requested"===l&&u?(0,o.createComponentVNode)(2,c.Button,{mt:-1,mb:1,fluid:!0,color:"red",icon:"trash",content:"Clear all requests",onClick:function(){return r("clear_all_requests")}}):null,m.map((function(e,t){return(0,o.createComponentVNode)(2,c.Section,{title:"Order "+(t+1),buttons:"All"===l&&u?(0,o.createComponentVNode)(2,c.Button,{color:"red",icon:"trash",content:"Delete Record",onClick:function(){return r("delete_order",{ref:e.ref})}}):null,children:[(0,o.createComponentVNode)(2,c.LabeledList,{children:[e.entries.map((function(t){return t.entry?(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:t.field,buttons:u?(0,o.createComponentVNode)(2,c.Button,{icon:"pen",content:"Edit",onClick:function(){r("edit_order_value",{ref:e.ref,edit:t.field,"default":t.entry})}}):null,children:t.entry}):null})),"All"===l?(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:"Status",children:e.status}):null]}),u&&"Requested"===l?(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:"check",content:"Approve",disabled:e.cost>s,onClick:function(){return r("approve_order",{ref:e.ref})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"times",content:"Deny",onClick:function(){return r("deny_order",{ref:e.ref})}})],4):null]},t)}))]}):(0,o.createComponentVNode)(2,c.Section,{level:2,children:"No orders found."})},f=function(e,t){var n=(0,a.useBackend)(t),r=n.act,i=n.data,l=i.receipts,d=i.order_auth;return l.length?(0,o.createComponentVNode)(2,c.Section,{level:2,children:l.map((function(e,t){return(0,o.createComponentVNode)(2,c.Section,{children:[(0,o.createComponentVNode)(2,c.LabeledList,{children:[e.title.map((function(t){return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:t.field,buttons:d?(0,o.createComponentVNode)(2,c.Button,{icon:"pen",content:"Edit",onClick:function(){return r("export_edit",{ref:e.ref,edit:t.field,"default":t.entry})}}):null,children:t.entry},t.field)})),e.error?(0,o.createComponentVNode)(2,c.LabeledList.Item,{labelColor:"red",label:"Error",children:e.error}):e.contents.map((function(t,n){return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:t.object,buttons:d?(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{icon:"pen",content:"Edit",onClick:function(){return r("export_edit_field",{ref:e.ref,index:n+1,edit:"meow","default":t.object})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"trash",color:"red",content:"Delete",onClick:function(){return r("export_delete_field",{ref:e.ref,index:n+1})}})],4):null,children:[t.quantity,"x -> ",t.value," points"]},n)}))]}),d?(0,o.createFragment)([(0,o.createComponentVNode)(2,c.Button,{mt:1,icon:"plus",content:"Add Item To Record",onClick:function(){return r("export_add_field",{ref:e.ref})}}),(0,o.createComponentVNode)(2,c.Button,{icon:"trash",content:"Delete Record",onClick:function(){return r("export_delete",{ref:e.ref})}})],4):null]},t)}))}):(0,o.createComponentVNode)(2,c.Section,{level:2,children:"No receipts found."})}},function(e,t,n){"use strict";t.__esModule=!0,t.TEGenerator=void 0;var o=n(0),r=n(5),i=n(1),a=n(2),c=n(3),l=n(20);t.TEGenerator=function(e,t){var n=(0,i.useBackend)(t).data,r=n.totalOutput,u=n.maxTotalOutput,s=n.thermalOutput,m=n.primary,p=n.secondary;return(0,o.createComponentVNode)(2,c.Window,{width:550,height:310,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{children:[(0,o.createComponentVNode)(2,a.Section,{title:"Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Total Output",children:(0,o.createComponentVNode)(2,a.ProgressBar,{value:r,maxValue:u,children:(0,l.formatPower)(r)})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Thermal Output",children:(0,l.formatPower)(s)})]})}),m&&p?(0,o.createComponentVNode)(2,a.Flex,{spacing:1,children:[(0,o.createComponentVNode)(2,a.Flex.Item,{shrink:1,grow:1,children:(0,o.createComponentVNode)(2,d,{name:"Primary Circulator",values:m})}),(0,o.createComponentVNode)(2,a.Flex.Item,{shrink:1,grow:1,children:(0,o.createComponentVNode)(2,d,{name:"Secondary Circulator",values:p})})]}):(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Warning! Both circulators must be connected in order to operate this machine."})]})})};var d=function(e,t){var n=e.name,i=e.values,c=i.dir,d=i.output,u=i.flowCapacity,s=i.inletPressure,m=i.inletTemperature,p=i.outletPressure,h=i.outletTemperature;return(0,o.createComponentVNode)(2,a.Section,{title:n+" ("+c+")",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Turbine Output",children:(0,l.formatPower)(d)}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Flow Capacity",children:[(0,r.round)(u,2),"%"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Inlet Pressure",children:(0,l.formatSiUnit)(1e3*s,0,"Pa")}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Inlet Temperature",children:[(0,r.round)(m,2)," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Outlet Pressure",children:(0,l.formatSiUnit)(1e3*p,0,"Pa")}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Outlet Temperature",children:[(0,r.round)(h,2)," K"]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Tank=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.Tank=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.connected,u=l.showToggle,s=void 0===u||u,m=l.maskConnected,p=l.tankPressure,h=l.releasePressure,C=l.defaultReleasePressure,f=l.minReleasePressure,N=l.maxReleasePressure;return(0,o.createComponentVNode)(2,a.Window,{width:400,height:320,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:[(0,o.createComponentVNode)(2,i.Section,{title:"Status",buttons:!!s&&(0,o.createComponentVNode)(2,i.Button,{icon:d?"air-freshener":"lock-open",selected:d,disabled:!m,content:"Mask Release Valve",onClick:function(){return c("toggle")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Mask Connected",children:m?"Yes":"No"})})}),(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Pressure",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:p/1013,ranges:{good:[.35,Infinity],average:[.15,.35],bad:[-Infinity,.15]},children:l.tankPressure+" kPa"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Pressure Regulator",children:[(0,o.createComponentVNode)(2,i.Button,{icon:"fast-backward",disabled:h===f,onClick:function(){return c("pressure",{pressure:"min"})}}),(0,o.createComponentVNode)(2,i.NumberInput,{animated:!0,value:parseFloat(h),width:"65px",unit:"kPa",minValue:f,maxValue:N,onChange:function(e,t){return c("pressure",{pressure:t})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"fast-forward",disabled:h===N,onClick:function(){return c("pressure",{pressure:"max"})}}),(0,o.createComponentVNode)(2,i.Button,{icon:"undo",content:"",disabled:h===C,onClick:function(){return c("pressure",{pressure:"reset"})}})]})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.TankDispenser=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.TankDispenser=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data;return(0,o.createComponentVNode)(2,a.Window,{width:275,height:103,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Phoron",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:l.plasma?"square":"square-o",content:"Dispense",disabled:!l.plasma,onClick:function(){return c("plasma")}}),children:l.plasma}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Oxygen",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:l.oxygen?"square":"square-o",content:"Dispense",disabled:!l.oxygen,onClick:function(){return c("oxygen")}}),children:l.oxygen})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.TelecommsLogBrowser=void 0;var o=n(0),r=n(5),i=n(1),a=n(2),c=n(3);t.TelecommsLogBrowser=function(e,t){var n=(0,i.useBackend)(t),r=n.act,u=n.data,s=u.universal_translate,m=u.network,p=u.temp,h=u.servers,C=u.selectedServer;return(0,o.createComponentVNode)(2,c.Window,{width:575,height:450,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[p&&p.length?(0,o.createComponentVNode)(2,a.NoticeBox,{warning:!0,children:[(0,o.createComponentVNode)(2,a.Box,{display:"inline-box",verticalAlign:"middle",children:p}),(0,o.createComponentVNode)(2,a.Button,{icon:"times-circle",float:"right",onClick:function(){return r("cleartemp")}}),(0,o.createComponentVNode)(2,a.Box,{clear:"both"})]}):null,(0,o.createComponentVNode)(2,a.Section,{title:"Network Control",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Current Network",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Button,{icon:"search",content:"Refresh",onClick:function(){return r("scan")}}),(0,o.createComponentVNode)(2,a.Button,{color:"bad",icon:"exclamation-triangle",content:"Flush Buffer",disabled:0===h.length,onClick:function(){return r("release")}})],4),children:(0,o.createComponentVNode)(2,a.Button,{content:m,icon:"pen",onClick:function(){return r("network")}})})})}),C?(0,o.createComponentVNode)(2,d,{network:m,server:C,universal_translate:s}):(0,o.createComponentVNode)(2,l,{network:m,servers:h})]})})};var l=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=(n.data,e.network,e.servers);return c&&c.length?(0,o.createComponentVNode)(2,a.Section,{title:"Detected Telecommunication Servers",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:c.map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e.name+" ("+e.id+")",children:(0,o.createComponentVNode)(2,a.Button,{content:"View",icon:"eye",onClick:function(){return r("view",{id:e.id})}})},e.id)}))})}):(0,o.createComponentVNode)(2,a.Section,{title:"Detected Telecommunications Servers",children:[(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"No servers detected."}),(0,o.createComponentVNode)(2,a.Button,{fluid:!0,content:"Scan",icon:"search",onClick:function(){return r("scan")}})]})},d=function(e,t){var n=(0,i.useBackend)(t),c=n.act,l=(n.data,e.network,e.server),d=e.universal_translate;return(0,o.createComponentVNode)(2,a.Section,{title:"Server ("+l.id+")",buttons:(0,o.createComponentVNode)(2,a.Button,{content:"Return",icon:"undo",onClick:function(){return c("mainmenu")}}),children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Total Recorded Traffic",children:l.totalTraffic>=1024?(0,r.round)(l.totalTraffic/1024)+" Terrabytes":l.totalTraffic+" Gigabytes"})}),(0,o.createComponentVNode)(2,a.Section,{title:"Stored Logs",mt:"4px",children:(0,o.createComponentVNode)(2,a.Flex,{wrap:"wrap",children:l.logs&&l.logs.length?l.logs.map((function(e){return(0,o.createComponentVNode)(2,a.Flex.Item,{m:"2px",basis:"49%",grow:e.id%2,children:(0,o.createComponentVNode)(2,a.Section,{title:d||e.parameters.uspeech||e.parameters.intelligible||"Execution Error"===e.input_type?e.input_type:"Audio File",buttons:(0,o.createComponentVNode)(2,a.Button.Confirm,{confirmContent:"Delete Log?",color:"bad",icon:"trash",confirmIcon:"trash",onClick:function(){return c("delete",{id:e.id})}}),children:"Execution Error"===e.input_type?(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Data type",children:"Error"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Output",children:e.parameters.message}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Delete",children:(0,o.createComponentVNode)(2,a.Button,{icon:"trash",onClick:function(){return c("delete",{id:e.id})}})})]}):d||e.parameters.uspeech||e.parameters.intelligible?(0,o.createComponentVNode)(2,u,{log:e}):(0,o.createComponentVNode)(2,u,{error:!0})})},e.id)})):"No Logs Detected."})})]})},u=function(e,t){var n=(0,i.useBackend)(t),r=(n.act,n.data,e.log),c=e.error,l=r&&r.parameters||{none:"none"},d=l.timecode,u=l.name,s=l.race,m=l.job,p=l.message;return c?(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Time Recieved",children:d}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Source",children:"Unidentifiable"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Class",children:s}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Contents",children:"Unintelligible"})]}):(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Time Recieved",children:d}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Source",children:[u," (Job: ",m,")"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Class",children:s}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Contents",className:"LabeledList__breakContents",children:p})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.TelecommsMachineBrowser=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.TelecommsMachineBrowser=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.network,s=d.temp,m=d.machinelist,p=d.selectedMachine;return(0,o.createComponentVNode)(2,a.Window,{width:575,height:450,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[s&&s.length?(0,o.createComponentVNode)(2,i.NoticeBox,{warning:!0,children:[(0,o.createComponentVNode)(2,i.Box,{display:"inline-box",verticalAlign:"middle",children:s}),(0,o.createComponentVNode)(2,i.Button,{icon:"times-circle",float:"right",onClick:function(){return l("cleartemp")}}),(0,o.createComponentVNode)(2,i.Box,{clear:"both"})]}):null,(0,o.createComponentVNode)(2,i.Section,{title:"Network Control",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Current Network",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"search",content:"Probe Network",onClick:function(){return l("scan")}}),(0,o.createComponentVNode)(2,i.Button,{color:"bad",icon:"exclamation-triangle",content:"Flush Buffer",disabled:0===m.length,onClick:function(){return l("release")}})],4),children:(0,o.createComponentVNode)(2,i.Button,{content:u,icon:"pen",onClick:function(){return l("network")}})})})}),m&&m.length?(0,o.createComponentVNode)(2,c,{title:p?p.name+" ("+p.id+")":"Detected Network Entities",list:p?p.links:m,showBack:p}):(0,o.createComponentVNode)(2,i.Section,{title:"No Devices Found",children:(0,o.createComponentVNode)(2,i.Button,{icon:"search",content:"Probe Network",onClick:function(){return l("scan")}})})]})})};var c=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=(n.data,e.list),l=e.title,d=e.showBack;return(0,o.createComponentVNode)(2,i.Section,{title:l,buttons:d&&(0,o.createComponentVNode)(2,i.Button,{icon:"undo",content:"Back to Main Menu",onClick:function(){return a("mainmenu")}}),children:[(0,o.createComponentVNode)(2,i.Box,{color:"label",children:(0,o.createVNode)(1,"u",null,"Linked entities",16)}),(0,o.createComponentVNode)(2,i.LabeledList,{children:c.length?c.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.name+" ("+e.id+")",children:(0,o.createComponentVNode)(2,i.Button,{content:"View",icon:"eye",onClick:function(){return a("view",{id:e.id})}})},e.id)})):(0,o.createComponentVNode)(2,i.LabeledList.Item,{color:"bad",children:"No links detected."})})]})}},function(e,t,n){"use strict";t.__esModule=!0,t.TelecommsMultitoolMenu=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(62),c=n(3);t.TelecommsMultitoolMenu=function(e,t){var n=(0,r.useBackend)(t),i=(n.act,n.data),u=(i.temp,i.on,i.id,i.network,i.autolinkers,i.shadowlink,i.options);i.linked,i.filter,i.multitool,i.multitool_buffer;return(0,o.createComponentVNode)(2,c.Window,{width:520,height:540,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.TemporaryNotice),(0,o.createComponentVNode)(2,l),(0,o.createComponentVNode)(2,d,{options:u})]})})};var l=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=n.data,l=(c.temp,c.on),d=c.id,u=c.network,s=c.autolinkers,m=c.shadowlink,p=(c.options,c.linked),h=c.filter,C=c.multitool,f=c.multitool_buffer;return(0,o.createComponentVNode)(2,i.Section,{title:"Status",buttons:(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",selected:l,content:l?"On":"Off",onClick:function(){return a("toggle")}}),children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Identification String",children:(0,o.createComponentVNode)(2,i.Button,{icon:"pen",content:d,onClick:function(){return a("id")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Network",children:(0,o.createComponentVNode)(2,i.Button,{icon:"pen",content:u,onClick:function(){return a("network")}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Prefabrication",children:s?"TRUE":"FALSE"}),m?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Shadow Link",children:"Active."}):null,C?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Multitool Buffer",children:[f?(0,o.createFragment)([f.name,(0,o.createTextVNode)(" ("),f.id,(0,o.createTextVNode)(")")],0):null,(0,o.createComponentVNode)(2,i.Button,{color:f?"green":null,content:f?"Link ("+f.id+")":"Add Machine",icon:f?"link":"plus",onClick:f?function(){return a("link")}:function(){return a("buffer")}}),f?(0,o.createComponentVNode)(2,i.Button,{color:"red",content:"Flush",icon:"trash",onClick:function(){return a("flush")}}):null]}):null]}),(0,o.createComponentVNode)(2,i.Section,{title:"Linked network Entities",mt:1,children:(0,o.createComponentVNode)(2,i.LabeledList,{children:p.map((function(e){return(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:e.ref+" "+e.name+" ("+e.id+")",buttons:(0,o.createComponentVNode)(2,i.Button.Confirm,{color:"red",icon:"trash",onClick:function(){return a("unlink",{unlink:e.index})}})},e.ref)}))})}),(0,o.createComponentVNode)(2,i.Section,{title:"Filtering Frequencies",mt:1,children:[h.map((function(e){return(0,o.createComponentVNode)(2,i.Button.Confirm,{content:e.name+" GHz",confirmContent:"Delete?",confirmColor:"red",confirmIcon:"trash",onClick:function(){return a("delete",{"delete":e.freq})}},e.index)})),h&&0!==h.length?null:(0,o.createComponentVNode)(2,i.Box,{color:"label",children:"No filters."})]})]})},d=function(e,t){var n=(0,r.useBackend)(t),a=n.act,c=(n.data,e.options),l=c.use_listening_level,d=c.use_broadcasting,u=c.use_receiving,s=c.listening_level,m=c.broadcasting,p=c.receiving,h=c.use_change_freq,C=c.change_freq,f=c.use_broadcast_range,N=c.use_receive_range,b=c.range,V=c.minRange,g=c.maxRange;return l||d||u||h||f||N?(0,o.createComponentVNode)(2,i.Section,{title:"Options",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[l?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Signal Locked to Station",children:(0,o.createComponentVNode)(2,i.Button,{icon:s?"lock-closed":"lock-open",content:s?"Yes":"No",onClick:function(){return a("change_listening")}})}):null,d?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Broadcasting",children:(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",selected:m,content:m?"Yes":"No",onClick:function(){return a("broadcast")}})}):null,u?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Receving",children:(0,o.createComponentVNode)(2,i.Button,{icon:"power-off",selected:p,content:p?"Yes":"No",onClick:function(){return a("receive")}})}):null,h?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Change Signal Frequency",children:(0,o.createComponentVNode)(2,i.Button,{icon:"wave-square",selected:!!C,content:C?"Yes ("+C+")":"No",onClick:function(){return a("change_freq")}})}):null,f||N?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:(f?"Broadcast":"Receive")+" Range",children:(0,o.createComponentVNode)(2,i.NumberInput,{value:b,minValue:V,maxValue:g,unit:"gigameters",stepPixelSize:4,format:function(e){return e+1},onDrag:function(e,t){return a("range",{range:t})}})}):null]})}):(0,o.createComponentVNode)(2,i.Section,{title:"No Options Found"})}},function(e,t,n){"use strict";t.__esModule=!0,t.Teleporter=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.Teleporter=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.locked_name,u=l.station_connected,s=l.hub_connected,m=l.calibrated,p=l.teleporter_on;return(0,o.createComponentVNode)(2,a.Window,{width:300,height:200,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Target",children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"bullseye",onClick:function(){return c("select_target")},content:d})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Calibrated",children:(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,checked:m,color:m?"good":"bad",onClick:function(){return c("test_fire")},content:m?"Accurate":"Test Fire"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Teleporter",children:(0,o.createComponentVNode)(2,i.Button.Checkbox,{fluid:!0,checked:p,color:p?"good":"bad",onClick:function(){return c("toggle_on")},content:p?"Online":"OFFLINE"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Station",children:u?"Connected":"Not Connected"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Hub",children:s?"Connected":"Not Connected"})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.TelesciConsoleContent=t.TelesciConsole=void 0;var o=n(0),r=n(8),i=n(1),a=n(2),c=n(3);t.TelesciConsole=function(e,t){var n=(0,i.useBackend)(t),r=(n.act,n.data.noTelepad);return(0,o.createComponentVNode)(2,c.Window,{width:400,height:450,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:r&&(0,o.createComponentVNode)(2,l)||(0,o.createComponentVNode)(2,d)})})};var l=function(e,t){return(0,o.createComponentVNode)(2,a.Section,{title:"Error",color:"bad",children:["No telepad located.",(0,o.createVNode)(1,"br"),"Please add telepad data."]})},d=function(e,t){var n=(0,i.useBackend)(t),c=n.act,l=n.data,d=l.insertedGps,u=l.rotation,s=l.currentZ,m=l.cooldown,p=l.crystalCount,h=l.maxCrystals,C=(l.maxPossibleDistance,l.maxAllowedDistance),f=l.distance,N=l.tempMsg,b=l.sectorOptions,V=l.lastTeleData;return(0,o.createComponentVNode)(2,a.Section,{title:"Telepad Controls",buttons:(0,o.createComponentVNode)(2,a.Button,{icon:"eject",disabled:!d,onClick:function(){return c("ejectGPS")},content:"Eject GPS"}),children:[(0,o.createComponentVNode)(2,a.NoticeBox,{info:!0,children:m&&(0,o.createComponentVNode)(2,a.Box,{children:["Telepad is recharging. Please wait ",(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:m})," seconds."]})||(0,o.createComponentVNode)(2,a.Box,{children:N})}),(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Bearing",children:(0,o.createComponentVNode)(2,a.NumberInput,{fluid:!0,value:u,format:function(e){return e+"\xb0"},step:1,minValue:-900,maxValue:900,onDrag:function(e,t){return c("setrotation",{val:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Distance",children:(0,o.createComponentVNode)(2,a.NumberInput,{fluid:!0,value:f,format:function(e){return e+"/"+C+" m"},minValue:0,maxValue:C,step:1,stepPixelSize:4,onDrag:function(e,t){return c("setdistance",{val:t})}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Sector",children:(0,r.sortBy)((function(e){return Number(e)}))(b).map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:"check-circle",content:e,selected:s===e,onClick:function(){return c("setz",{setz:e})}},e)}))}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Controls",children:[(0,o.createComponentVNode)(2,a.Button,{icon:"share",iconRotation:-90,onClick:function(){return c("send")},content:"Send"}),(0,o.createComponentVNode)(2,a.Button,{icon:"share",iconRotation:90,onClick:function(){return c("receive")},content:"Receive"}),(0,o.createComponentVNode)(2,a.Button,{icon:"sync",iconRotation:90,onClick:function(){return c("recal")},content:"Recalibrate"})]})]}),V&&(0,o.createComponentVNode)(2,a.Section,{mt:1,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Telepad Location",children:[V.src_x,", ",V.src_y]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Distance",children:[V.distance,"m"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Transit Time",children:[V.time," secs"]})]})})||(0,o.createComponentVNode)(2,a.Section,{mt:1,children:"No teleport data found."}),(0,o.createComponentVNode)(2,a.Section,{children:["Crystals: ",p," / ",h]})]})};t.TelesciConsoleContent=d},function(e,t,n){"use strict";t.__esModule=!0,t.TimeClock=void 0;var o=n(0),r=n(5),i=n(1),a=n(2),c=n(3),l=n(192);t.TimeClock=function(e,t){var n=(0,i.useBackend)(t),d=n.act,u=n.data,s=u.department_hours,m=u.user_name,p=u.card,h=u.assignment,C=u.job_datum,f=u.allow_change_job,N=u.job_choices;return(0,o.createComponentVNode)(2,c.Window,{width:500,height:520,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Section,{title:"OOC",children:[(0,o.createComponentVNode)(2,a.NoticeBox,{children:"OOC Note: PTO acquired is account-wide and shared across all characters. Info listed below is not IC information."}),(0,o.createComponentVNode)(2,a.Section,{level:2,title:"Time Off Balance for "+m,children:(0,o.createComponentVNode)(2,a.LabeledList,{children:Object.keys(s).map((function(e){return(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:e,color:s[e]>6?"good":s[e]>1?"average":"bad",children:[(0,r.toFixed)(s[e],1)," ",1===s[e]?"hour":"hours"]},e)}))})})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Employee Info",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Employee ID",children:(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"user",onClick:function(){return d("id")},children:p||"Insert ID"})}),!!C&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Rank",children:(0,o.createComponentVNode)(2,a.Box,{backgroundColor:C.selection_color,p:.8,children:(0,o.createComponentVNode)(2,a.Flex,{justify:"space-between",align:"center",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Box,{ml:1,children:(0,o.createComponentVNode)(2,l.RankIcon,{color:"white",rank:C.title})})}),(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Box,{fontSize:1.5,inline:!0,mr:1,children:C.title})})]})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Departments",children:C.departments}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Pay Scale",children:C.economic_modifier}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"PTO Elegibility",children:C.timeoff_factor>0&&(0,o.createComponentVNode)(2,a.Box,{children:["Earns PTO - ",C.pto_department]})||C.timeoff_factor<0&&(0,o.createComponentVNode)(2,a.Box,{children:["Requires PTO - ",C.pto_department]})||(0,o.createComponentVNode)(2,a.Box,{children:"Neutral"})})],4)]})}),!(!f||!C||0===C.timeoff_factor||"Dismissed"===h)&&(0,o.createComponentVNode)(2,a.Section,{title:"Employment Actions",children:C.timeoff_factor>0&&(s[C.pto_department]>0&&(0,o.createComponentVNode)(2,a.Button,{fluid:!0,icon:"exclamation-triangle",onClick:function(){return d("switch-to-offduty")},children:"Go Off-Duty"})||(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Warning: You do not have enough accrued time off to go off-duty."}))||Object.keys(N).length&&Object.keys(N).map((function(e){return N[e].map((function(t){return(0,o.createComponentVNode)(2,a.Button,{icon:"suitcase",onClick:function(){return d("switch-to-onduty-rank",{"switch-to-onduty-rank":e,"switch-to-onduty-assignment":t})},children:t},t)}))}))||(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"No Open Positions - See Head Of Personnel"})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.TransferValve=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.TransferValve=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.tank_one,u=l.tank_two,s=l.attached_device,m=l.valve;return(0,o.createComponentVNode)(2,a.Window,{children:(0,o.createComponentVNode)(2,a.Window.Content,{children:[(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Valve Status",children:(0,o.createComponentVNode)(2,i.Button,{icon:m?"unlock":"lock",content:m?"Open":"Closed",disabled:!d||!u,onClick:function(){return c("toggle")}})})})}),(0,o.createComponentVNode)(2,i.Section,{title:"Assembly",buttons:(0,o.createComponentVNode)(2,i.Button,{textAlign:"center",width:"150px",icon:"cog",content:"Configure Assembly",disabled:!s,onClick:function(){return c("device")}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:s?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Attachment",children:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:s,disabled:!s,onClick:function(){return c("remove_device")}})}):(0,o.createComponentVNode)(2,i.NoticeBox,{textAlign:"center",children:"Attach Assembly"})})}),(0,o.createComponentVNode)(2,i.Section,{title:"Attachment One",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:d?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Attachment",children:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:d,disabled:!d,onClick:function(){return c("tankone")}})}):(0,o.createComponentVNode)(2,i.NoticeBox,{textAlign:"center",children:"Attach Tank"})})}),(0,o.createComponentVNode)(2,i.Section,{title:"Attachment Two",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:u?(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Attachment",children:(0,o.createComponentVNode)(2,i.Button,{icon:"eject",content:u,disabled:!u,onClick:function(){return c("tanktwo")}})}):(0,o.createComponentVNode)(2,i.NoticeBox,{textAlign:"center",children:"Attach Tank"})})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.TurbineControl=void 0;var o=n(0),r=(n(5),n(20)),i=n(1),a=n(2),c=n(3);t.TurbineControl=function(e,t){var n=(0,i.useBackend)(t),l=n.act,d=n.data,u=(d.connected,d.compressor_broke),s=d.turbine_broke,m=d.broken,p=d.door_status,h=d.online,C=d.power,f=d.rpm,N=d.temp;return(0,o.createComponentVNode)(2,c.Window,{width:520,height:440,resizable:!0,children:(0,o.createComponentVNode)(2,c.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,a.Section,{title:"Turbine Controller",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Status",children:m&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:["Setup is broken",(0,o.createComponentVNode)(2,a.Button,{icon:"sync",onClick:function(){return l("reconnect")},content:"Reconnect"})]})||(0,o.createComponentVNode)(2,a.Box,{color:h?"good":"bad",children:!h||u||s?"Offline":"Online"})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Compressor",children:u&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Compressor is inoperable."})||s&&(0,o.createComponentVNode)(2,a.Box,{color:"bad",children:"Turbine is inoperable."})||(0,o.createComponentVNode)(2,a.Box,{children:(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:h,content:"Compressor Power",onClick:function(){return l(h?"power-off":"power-on")}})})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Vent Doors",children:(0,o.createComponentVNode)(2,a.Button.Checkbox,{checked:p,onClick:function(){return l("doors")},content:p?"Closed":"Open"})})]})}),(0,o.createComponentVNode)(2,a.Section,{title:"Status",children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Turbine Speed",children:[m?"--":(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:f})," RPM"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Internal Temperature",children:[m?"--":(0,o.createComponentVNode)(2,a.AnimatedNumber,{value:N})," K"]}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Generated Power",children:m?"--":(0,o.createComponentVNode)(2,a.AnimatedNumber,{format:function(e){return(0,r.formatPower)(e)},value:Number(C)})})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.Turbolift=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.Turbolift=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.floors,u=l.doors_open,s=l.fire_mode;return(0,o.createComponentVNode)(2,a.Window,{width:480,height:260+25*s,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:(0,o.createComponentVNode)(2,i.Section,{title:"Floor Selection",className:s?"Section--elevator--fire":null,buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:u?"door-open":"door-closed",content:u?s?"Close Doors (SAFETY OFF)":"Doors Open":"Doors Closed",selected:u&&!s,color:s?"red":null,onClick:function(){return c("toggle_doors")}}),(0,o.createComponentVNode)(2,i.Button,{icon:"exclamation-triangle",color:"bad",content:"Emergency Stop",onClick:function(){return c("emergency_stop")}})],4),children:[!s||(0,o.createComponentVNode)(2,i.Section,{className:"Section--elevator--fire",textAlign:"center",title:"FIREFIGHTER MODE ENGAGED"}),(0,o.createComponentVNode)(2,i.Flex,{wrap:"wrap",children:d.map((function(e){return(0,o.createComponentVNode)(2,i.Flex.Item,{basis:"100%",children:(0,o.createComponentVNode)(2,i.Flex,{align:"center",justify:"space-around",children:[(0,o.createComponentVNode)(2,i.Flex.Item,{basis:"22%",textAlign:"right",mr:"3px",children:e.label||"Floor #"+e.id}),(0,o.createComponentVNode)(2,i.Flex.Item,{basis:"8%",textAlign:"left",children:(0,o.createComponentVNode)(2,i.Button,{icon:"circle",color:e.current?"red":e.target?"green":e.queued?"yellow":null,onClick:function(){return c("move_to_floor",{ref:e.ref})}})}),(0,o.createComponentVNode)(2,i.Flex.Item,{basis:"50%",grow:1,children:e.name})]})},e.id)}))})]})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.GenericUplink=t.Uplink=void 0;var o=n(0),r=n(6),i=n(1),a=n(2),c=n(20),l=n(3);t.Uplink=function(e,t){var n=(0,i.useBackend)(t).data,r=(0,i.useLocalState)(t,"screen",0),c=r[0],m=r[1],p=n.telecrystals;return(0,o.createComponentVNode)(2,l.Window,{width:620,height:580,theme:"syndicate",resizable:!0,children:(0,o.createComponentVNode)(2,l.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,d,{screen:c,setScreen:m}),0===c&&(0,o.createComponentVNode)(2,s,{currencyAmount:p,currencySymbol:"TC"})||1===c&&(0,o.createComponentVNode)(2,u)||(0,o.createComponentVNode)(2,a.Section,{color:"bad",children:"Error"})]})})};var d=function(e,t){var n=(0,i.useBackend)(t),r=(n.act,n.data),c=e.screen,l=e.setScreen,d=r.discount_name,u=r.discount_amount,s=r.offer_expiry;return(0,o.createComponentVNode)(2,a.Section,{children:[(0,o.createComponentVNode)(2,a.Tabs,{style:{"border-bottom":"none","margin-bottom":"0"},children:[(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:0===c,onClick:function(){return l(0)},children:"Request Items"}),(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:1===c,onClick:function(){return l(1)},children:"Exploitable Information"})]}),(0,o.createComponentVNode)(2,a.Section,{title:"Item Discount",level:2,children:u<100&&(0,o.createComponentVNode)(2,a.Box,{children:[d," - ",u,"% off. Offer expires at: ",s]})||(0,o.createComponentVNode)(2,a.Box,{children:"No items currently discounted."})})]})},u=function(e,t){var n=(0,i.useBackend)(t),r=n.act,c=n.data,l=c.exploit,d=c.locked_records;return(0,o.createComponentVNode)(2,a.Section,{title:"Exploitable Information",buttons:l&&(0,o.createComponentVNode)(2,a.Button,{icon:"undo",content:"Back",onClick:function(){return r("view_exploits",{id:0})}}),children:l&&(0,o.createComponentVNode)(2,a.Box,{children:(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Name",children:l.name}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Sex",children:l.sex}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Species",children:l.species}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Age",children:l.age}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Rank",children:l.rank}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Home System",children:l.home_system}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Citizenship",children:l.citizenship}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Faction",children:l.faction}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Religion",children:l.religion}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Fingerprint",children:l.fingerprint}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Other Affiliations",children:l.antagfaction}),(0,o.createComponentVNode)(2,a.LabeledList.Divider),(0,o.createComponentVNode)(2,a.LabeledList.Item,{children:"Acquired Information"}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Notes",children:l.nanoui_exploit_record.split("
").map((function(e){return(0,o.createComponentVNode)(2,a.Box,{children:e},e)}))})]})})||d.map((function(e){return(0,o.createComponentVNode)(2,a.Button,{icon:"eye",fluid:!0,content:e.name,onClick:function(){return r("view_exploits",{id:e.id})}},e.id)}))})},s=function(e,t){var n,l,d=e.currencyAmount,u=void 0===d?0:d,s=e.currencySymbol,p=void 0===s?"\u20ae":s,h=(0,i.useBackend)(t),C=h.act,f=h.data,N=f.compactMode,b=f.lockable,V=f.categories,g=void 0===V?[]:V,v=(0,i.useLocalState)(t,"searchText",""),_=v[0],k=v[1],y=(0,i.useLocalState)(t,"category",null==(n=g[0])?void 0:n.name),L=y[0],B=y[1],w=(0,r.createSearch)(_,(function(e){return e.name+e.desc})),x=_.length>0&&g.flatMap((function(e){return e.items||[]})).filter(w).filter((function(e,t){return t<25}))||(null==(l=g.find((function(e){return e.name===L})))?void 0:l.items)||[];return(0,o.createComponentVNode)(2,a.Section,{title:(0,o.createComponentVNode)(2,a.Box,{inline:!0,color:u>0?"good":"bad",children:[(0,c.formatMoney)(u)," ",p]}),buttons:(0,o.createFragment)([(0,o.createTextVNode)("Search"),(0,o.createComponentVNode)(2,a.Input,{autoFocus:!0,value:_,onInput:function(e,t){return k(t)},mx:1}),(0,o.createComponentVNode)(2,a.Button,{icon:N?"list":"info",content:N?"Compact":"Detailed",onClick:function(){return C("compact_toggle")}}),!!b&&(0,o.createComponentVNode)(2,a.Button,{icon:"lock",content:"Lock",onClick:function(){return C("lock")}})],0),children:(0,o.createComponentVNode)(2,a.Flex,{children:[0===_.length&&(0,o.createComponentVNode)(2,a.Flex.Item,{children:(0,o.createComponentVNode)(2,a.Tabs,{vertical:!0,children:g.map((function(e){var t;return(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:e.name===L,onClick:function(){return B(e.name)},children:[e.name," (",(null==(t=e.items)?void 0:t.length)||0,")"]},e.name)}))})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,basis:0,children:[0===x.length&&(0,o.createComponentVNode)(2,a.NoticeBox,{children:0===_.length?"No items in this category.":"No results found."}),(0,o.createComponentVNode)(2,m,{compactMode:_.length>0||N,currencyAmount:u,currencySymbol:p,items:x})]})]})})};t.GenericUplink=s;var m=function(e,t){var n=e.compactMode,l=e.currencyAmount,d=e.currencySymbol,u=(0,i.useBackend)(t).act,s=(0,i.useLocalState)(t,"hoveredItem",{}),m=s[0],p=s[1],h=m&&m.cost||0,C=e.items.map((function(e){var t=m&&m.name!==e.name,n=l-h0&&(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Box,{color:"label",textAlign:"center",mb:1,children:"Please wait. Harvesting in progress."}),(0,o.createComponentVNode)(2,c),(0,o.createComponentVNode)(2,i.Button,{mt:1,fluid:!0,icon:"stop",onClick:function(){return l("stopharvest")},children:"Stop Early"})]})||s<0&&(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.Box,{color:"label",textAlign:"center",mb:1,children:"Please wait. Energy dump in progress."}),(0,o.createComponentVNode)(2,c),(0,o.createComponentVNode)(2,i.Button,{mt:1,fluid:!0,icon:"stop",onClick:function(){return l("stopharvest")},children:"Stop Early"})]})||Object.keys(m).length&&(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Name",children:m.name}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Charge",children:(0,o.createComponentVNode)(2,c)}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Energy Signature ID",children:m.artifact_id})]}),(0,o.createComponentVNode)(2,i.Button,{mt:1,fluid:!0,icon:"eject",onClick:function(){return l("ejectbattery")},children:"Eject Battery"}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"bolt",onClick:function(){return l("drainbattery")},children:"Drain Battery"}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"star",onClick:function(){return l("harvest")},children:"Begin Harvest"})]})||(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No battery inserted."})})})})};var c=function(e,t){var n=(0,r.useBackend)(t),a=(n.act,n.data.info.inserted_battery);return Object.keys(a).length?(0,o.createComponentVNode)(2,i.ProgressBar,{minValue:0,value:a.stored_charge,maxValue:a.capacity}):(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No battery inserted."})}},function(e,t,n){"use strict";t.__esModule=!0,t.XenoarchDepthScanner=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.XenoarchDepthScanner=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.current,u=l.positive_locations;return(0,o.createComponentVNode)(2,a.Window,{width:300,height:500,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[Object.keys(d).length&&(0,o.createComponentVNode)(2,i.Section,{title:"Selected",buttons:(0,o.createComponentVNode)(2,i.Button.Confirm,{color:"bad",icon:"trash",confirmIcon:"trash",content:"Delete Entry",onClick:function(){return c("clear",{index:d.index})}}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Time",children:d.time}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Coords",children:d.coords}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Anomaly Depth",children:[d.depth," cm"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Anomaly Size",children:[d.clearance," cm"]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Dissonance Spread",children:d.dissonance_spread}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Anomaly Material",children:d.material})]})})||null,(0,o.createComponentVNode)(2,i.Section,{title:"Entries",buttons:(0,o.createComponentVNode)(2,i.Button.Confirm,{color:"red",icon:"trash",confirmIcon:"trash",content:"Delete All",onClick:function(){return c("clear")}}),children:u.length&&u.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{icon:"eye",onClick:function(){return c("select",{select:e.index})},children:[e.time,", ",e.coords]},e.index)}))||(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No traces found."})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.XenoarchHandheldPowerUtilizer=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.XenoarchHandheldPowerUtilizer=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.inserted_battery,u=l.anomaly,s=l.charge,m=l.capacity,p=l.timeleft,h=l.activated,C=l.duration,f=l.interval;return(0,o.createComponentVNode)(2,a.Window,{width:400,height:500,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:(0,o.createComponentVNode)(2,i.Section,{title:"Anomaly Power Utilizer",buttons:(0,o.createComponentVNode)(2,i.Button,{disabled:!d,icon:"eject",onClick:function(){return c("ejectbattery")},children:"Eject Battery"}),children:d&&(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Inserted Battery",children:d}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Anomalies Detected",children:u||"N/A"}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Charge",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:s,maxValue:m,children:[s," / ",m]})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Time Left Activated",children:p}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Power",children:(0,o.createComponentVNode)(2,i.Button,{fluid:!0,icon:"power-off",onClick:function(){return c("startup")},children:h?"Activated":"Deactivated"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Activation Duration",children:(0,o.createComponentVNode)(2,i.NumberInput,{unit:"s",fluid:!0,minValue:0,value:C,stepPixelSize:4,maxValue:30,onDrag:function(e,t){return c("changeduration",{duration:10*t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Activation Interval",children:(0,o.createComponentVNode)(2,i.NumberInput,{unit:"s",fluid:!0,minValue:0,value:f,stepPixelSize:10,maxValue:10,onDrag:function(e,t){return c("changeinterval",{interval:10*t})}})})]})||(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No battery inserted. Please insert a cell."})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.XenoarchReplicator=void 0;var o=n(0),r=(n(5),n(6),n(1)),i=n(2),a=n(3);t.XenoarchReplicator=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data.tgui_construction;return(0,o.createComponentVNode)(2,a.Window,{theme:"abductor",width:400,height:400,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:l.map((function(e,t){return(0,o.createComponentVNode)(2,i.Button,{color:e.background,icon:e.icon,iconColor:e.foreground,fontSize:4,onClick:function(){return c("construct",{key:e.key})}},e.key)}))})})}},function(e,t,n){"use strict";t.__esModule=!0,t.XenoarchSpectrometer=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3),c=n(6);t.XenoarchSpectrometer=function(e,t){var n=(0,r.useBackend)(t),l=n.act,d=n.data,u=d.scanned_item,s=d.scanned_item_desc,m=d.last_scan_data,p=d.scan_progress,h=d.scanning,C=d.scanner_seal_integrity,f=d.scanner_rpm,N=d.scanner_temperature,b=d.coolant_usage_rate,V=d.coolant_usage_max,g=(d.unused_coolant_abs,d.unused_coolant_per),v=d.coolant_purity,_=d.optimal_wavelength,k=d.maser_wavelength,y=d.maser_wavelength_max,L=d.maser_efficiency,B=d.radiation,w=(d.t_left_radspike,d.rad_shield_on);return(0,o.createComponentVNode)(2,a.Window,{width:900,height:760,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Status",buttons:(0,o.createFragment)([(0,o.createComponentVNode)(2,i.Button,{icon:"signal",selected:h,onClick:function(){return l("scanItem")},children:h?"HALT SCAN":"Begin Scan"}),(0,o.createComponentVNode)(2,i.Button,{icon:"eject",disabled:!u,onClick:function(){return l("ejectItem")},children:"Eject Item"})],4),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Item",children:u||(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No item inserted."})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Heuristic Analysis",children:s||"None found."})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Scanner",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Scan Progress",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:p,minValue:0,maxValue:100,color:"good"})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Vacuum Seal Integrity",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:C,minValue:0,maxValue:100,ranges:{good:[66,100],average:[33,66],bad:[0,33]}})})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"MASER",buttons:(0,o.createComponentVNode)(2,i.NoticeBox,{info:!0,children:"Match wavelengths to progress the scan."}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"MASER Efficiency",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:L,minValue:0,maxValue:100,ranges:{good:[66,100],average:[33,66],bad:[0,33]}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Wavelength",children:(0,o.createComponentVNode)(2,i.Slider,{animated:!0,value:k,fillValue:_,minValue:1,maxValue:y,format:function(e){return e+" MHz"},step:10,onDrag:function(e,t){return l("maserWavelength",{wavelength:t})}})})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Environment / Internal",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Centrifuge Speed",children:(0,o.createComponentVNode)(2,i.ProgressBar,{value:f,minValue:0,maxValue:1e3,color:"good",children:[f," RPM"]})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Internal Temperature",children:(0,o.createComponentVNode)(2,i.ProgressBar,{minValue:0,value:N,maxValue:1273,ranges:{bad:[1e3,Infinity],average:[250,1e3],good:[0,250]},children:[N," K"]})})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Radiation",buttons:(0,o.createComponentVNode)(2,i.Button,{selected:w,icon:"radiation",onClick:function(){return l("toggle_rad_shield")},children:w?"Disable Radiation Shielding":"Enable Radiation Shielding"}),children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Ambient Radiation",children:(0,o.createComponentVNode)(2,i.ProgressBar,{minValue:0,value:B,maxValue:100,ranges:{bad:[65,Infinity],average:[15,65],good:[0,15]},children:[B," mSv"]})})})}),(0,o.createComponentVNode)(2,i.Section,{title:"Cooling",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Coolant Remaining",children:(0,o.createComponentVNode)(2,i.ProgressBar,{minValue:0,value:10*g,maxValue:1e3,ranges:{good:[65,Infinity],average:[15,65],bad:[0,15]},children:[10*g," u"]})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Coolant Flow Rate",children:(0,o.createComponentVNode)(2,i.Slider,{minValue:0,value:b,maxValue:V,stepPixelSize:50,format:function(e){return e+" u/s"},onDrag:function(e,t){return l("coolantRate",{coolant:t})}})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Coolant Purity",children:(0,o.createComponentVNode)(2,i.ProgressBar,{minValue:0,value:v,maxValue:100,ranges:{good:[66,Infinity],average:[33,66],bad:[0,33]}})})]})}),(0,o.createComponentVNode)(2,i.Section,{title:"Latest Results",children:(0,c.decodeHtmlEntities)(m).split("\n").map((function(e){return(0,o.createComponentVNode)(2,i.Box,{children:e},e)}))})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.XenoarchSuspension=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.XenoarchSuspension=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.cell,u=l.cellCharge,s=l.cellMaxCharge,m=l.locked,p=l.suspension_field;return(0,o.createComponentVNode)(2,a.Window,{width:400,height:150,children:(0,o.createComponentVNode)(2,a.Window.Content,{children:(0,o.createComponentVNode)(2,i.Section,{title:'Triple-phase S.F.G. MK III "Reliant"',buttons:(0,o.createComponentVNode)(2,i.Button,{icon:m?"lock":"lock-open",selected:!m,onClick:function(){return c("lock")},children:m?"Locked":"Unlocked"}),children:m&&(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"This interface is locked. Swipe an ID card to unlock it."})||(0,o.createFragment)([(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Cell Charge",children:d&&(0,o.createComponentVNode)(2,i.ProgressBar,{ranges:{good:[.75*s,Infinity],average:[.5*s,.75*s],bad:[-Infinity,.5*s]},value:u,maxValue:s})||(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"No cell inserted."})})}),(0,o.createComponentVNode)(2,i.Button,{fluid:!0,mt:1,icon:"meteor",selected:p,onClick:function(){return c("toggle_field")},children:p?"Disengage Suspension Field":"Engage Suspension Field"})],4)})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.pAIAtmos=void 0;var o=n(0),r=n(8),i=n(6),a=n(1),c=n(2),l=n(3);t.pAIAtmos=function(e,t){var n=(0,a.useBackend)(t),d=(n.act,n.data.aircontents);return(0,o.createComponentVNode)(2,l.Window,{width:450,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,l.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,c.Section,{children:(0,o.createComponentVNode)(2,c.LabeledList,{children:(0,r.filter)((function(e){return"0"!==e.val||"Pressure"===e.entry||"Temperature"===e.entry}))(d).map((function(e){return(0,o.createComponentVNode)(2,c.LabeledList.Item,{label:e.entry,color:(t=e.val,n=e.bad_low,r=e.poor_low,a=e.poor_high,l=e.bad_high,ta?"average":t>l?"bad":"good"),children:[e.val,(0,i.decodeHtmlEntities)(e.units)]},e.entry);var t,n,r,a,l}))})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.pAIDirectives=void 0;var o=n(0),r=n(1),i=n(2),a=n(3);t.pAIDirectives=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.master,u=l.dna,s=l.prime,m=l.supplemental;return(0,o.createComponentVNode)(2,a.Window,{width:450,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Master",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Master",children:d&&(0,o.createComponentVNode)(2,i.Box,{children:[d," (",u,")",(0,o.createComponentVNode)(2,i.Button,{icon:"syringe",content:"Request Sample",onClick:function(){return c("getdna")}})]})||(0,o.createComponentVNode)(2,i.Box,{children:"None"})})})}),(0,o.createComponentVNode)(2,i.Section,{title:"Directives",children:[(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Prime Directive",children:s}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Supplemental Directive(s)",children:m||"None"})]}),(0,o.createComponentVNode)(2,i.Box,{mt:1,italic:!0,children:'Recall, personality, that you are a complex piece of software with tremendous social skills. Unlike station AI models, you are focused entirely on sapient-software interfacing. You may parse the "spirit" of a directive and follow its intent, rather than tripping over pedantics and getting snared by technicalities. Above all, you should strive to be seen as the ideal, unwavering digital companion that you are.'}),(0,o.createComponentVNode)(2,i.Box,{mt:1,bold:!0,children:"Your prime directive comes before all others. Should a supplemental directive conflict with it, you are capable of simply discarding this inconsistency, ignoring the conflicting supplemental directive and continuing to fulfill your prime directive to the best of your ability."})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.pAIDoorjack=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.pAIDoorjack=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.cable,u=l.machine,s=l.inprogress,m=l.progress_a,p=l.progress_b,h=l.aborted;return(0,o.createComponentVNode)(2,a.Window,{width:300,height:150,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,i.Section,{children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Cable",children:u&&(0,o.createComponentVNode)(2,i.Box,{color:"good",children:"Connected"})||d&&(0,o.createComponentVNode)(2,i.Box,{color:"average",children:"Extended"})||(0,o.createComponentVNode)(2,i.Box,{children:(0,o.createComponentVNode)(2,i.Button,{icon:"ethernet",content:"Retracted",onClick:function(){return c("cable")}})})}),!!u&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Hack",children:s&&(0,o.createComponentVNode)(2,i.Box,{children:[(0,o.createComponentVNode)(2,i.ProgressBar,{value:m,maxValue:100,ranges:{good:[67,Infinity],average:[33,67],bad:[-Infinity,33]},children:[(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:m}),".",(0,o.createComponentVNode)(2,i.AnimatedNumber,{value:p}),"%"]}),(0,o.createComponentVNode)(2,i.Button,{icon:"ban",color:"bad",onClick:function(){return c("cancel")}})]})||(0,o.createComponentVNode)(2,i.Button,{icon:"virus",content:"Start",onClick:function(){return c("jack")}})})||!!h&&(0,o.createComponentVNode)(2,i.LabeledList.Item,{color:"bad",mt:1,children:"Hack aborted."})]})})})})}},function(e,t,n){"use strict";t.__esModule=!0,t.pAIInterface=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.pAIInterface=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.bought,u=l.not_bought,s=l.available_ram,m=l.emotions,p=l.current_emotion;return(0,o.createComponentVNode)(2,a.Window,{width:450,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{title:"Emotion",children:m.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{content:e.name,selected:e.id===p,onClick:function(){return c("image",{image:e.id})}},e.id)}))}),(0,o.createComponentVNode)(2,i.Section,{title:"Software (Available RAM: "+s+")",children:(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Installed",children:d.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{content:e.name,selected:e.on,onClick:function(){return c("software",{software:e.id})}},e.id)}))}),(0,o.createComponentVNode)(2,i.LabeledList.Divider),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Downloadable",children:u.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{content:e.name+" ("+e.ram+")",disabled:e.ram>s,onClick:function(){return c("purchase",{purchase:e.id})}},e.id)}))})]})})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.pAIMedrecords=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.pAIMedrecords=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.records,u=l.general,s=l.medical,m=l.could_not_find;return(0,o.createComponentVNode)(2,a.Window,{width:450,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{children:d.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{content:e.name,onClick:function(){return c("select",{select:e.ref})}},e.ref)}))}),(u||s)&&(0,o.createComponentVNode)(2,i.Section,{title:"Selected Record",children:[!!m&&(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Warning: Failed to find some records. The information below may not be complete."}),(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Name",children:u.name}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Record ID",children:u.id}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Entity Classification",children:u.brain_type}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Sex",children:u.sex}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Species",children:u.species}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Age",children:u.age}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Rank",children:u.rank}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Fingerprint",children:u.fingerprint}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Physical Status",children:u.p_stat}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Mental Status",children:u.m_stat}),(0,o.createComponentVNode)(2,i.LabeledList.Divider),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Blood Type",children:s.b_type}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Minor Disabilities",children:[(0,o.createComponentVNode)(2,i.Box,{children:s.mi_dis}),(0,o.createComponentVNode)(2,i.Box,{children:s.mi_dis_d})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Major Disabilities",children:[(0,o.createComponentVNode)(2,i.Box,{children:s.ma_dis}),(0,o.createComponentVNode)(2,i.Box,{children:s.ma_dis_d})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Allergies",children:[(0,o.createComponentVNode)(2,i.Box,{children:s.alg}),(0,o.createComponentVNode)(2,i.Box,{children:s.alg_d})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Current Diseases",children:[(0,o.createComponentVNode)(2,i.Box,{children:s.cdi}),(0,o.createComponentVNode)(2,i.Box,{children:s.cdi_d})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Important Notes",children:s.notes})]})]})]})})}},function(e,t,n){"use strict";t.__esModule=!0,t.pAISecrecords=void 0;var o=n(0),r=(n(5),n(1)),i=n(2),a=n(3);t.pAISecrecords=function(e,t){var n=(0,r.useBackend)(t),c=n.act,l=n.data,d=l.records,u=l.general,s=l.security,m=l.could_not_find;return(0,o.createComponentVNode)(2,a.Window,{width:450,height:600,resizable:!0,children:(0,o.createComponentVNode)(2,a.Window.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,i.Section,{children:d.map((function(e){return(0,o.createComponentVNode)(2,i.Button,{content:e.name,onClick:function(){return c("select",{select:e.ref})}},e.ref)}))}),(u||s)&&(0,o.createComponentVNode)(2,i.Section,{title:"Selected Record",children:[!!m&&(0,o.createComponentVNode)(2,i.Box,{color:"bad",children:"Warning: Failed to find some records. The information below may not be complete."}),(0,o.createComponentVNode)(2,i.LabeledList,{children:[(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Name",children:u.name}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Record ID",children:u.id}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Entity Classification",children:u.brain_type}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Sex",children:u.sex}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Species",children:u.species}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Age",children:u.age}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Rank",children:u.rank}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Fingerprint",children:u.fingerprint}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Physical Status",children:u.p_stat}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Mental Status",children:u.m_stat}),(0,o.createComponentVNode)(2,i.LabeledList.Divider),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Criminal Status",children:(0,o.createComponentVNode)(2,i.Box,{children:s.criminal})}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Minor Crimes",children:[(0,o.createComponentVNode)(2,i.Box,{children:s.mi_crim}),(0,o.createComponentVNode)(2,i.Box,{children:s.mi_crim_d})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Major Crimes",children:[(0,o.createComponentVNode)(2,i.Box,{children:s.ma_crim}),(0,o.createComponentVNode)(2,i.Box,{children:s.ma_crim_d})]}),(0,o.createComponentVNode)(2,i.LabeledList.Item,{label:"Important Notes",children:s.notes})]})]})]})})}}]);
\ No newline at end of file
diff --git a/vorestation.dme b/vorestation.dme
index 155511a30f..92559bfce4 100644
--- a/vorestation.dme
+++ b/vorestation.dme
@@ -58,6 +58,7 @@
#include "code\__defines\lighting_vr.dm"
#include "code\__defines\machinery.dm"
#include "code\__defines\map.dm"
+#include "code\__defines\materials.dm"
#include "code\__defines\math.dm"
#include "code\__defines\math_physics.dm"
#include "code\__defines\MC.dm"
@@ -266,6 +267,7 @@
#include "code\controllers\subsystems\atoms.dm"
#include "code\controllers\subsystems\character_setup.dm"
#include "code\controllers\subsystems\chat.dm"
+#include "code\controllers\subsystems\chemistry.dm"
#include "code\controllers\subsystems\circuits.dm"
#include "code\controllers\subsystems\dbcore.dm"
#include "code\controllers\subsystems\dcs.dm"
@@ -303,7 +305,6 @@
#include "code\controllers\subsystems\vote.dm"
#include "code\controllers\subsystems\xenoarch.dm"
#include "code\controllers\subsystems\processing\bellies_vr.dm"
-#include "code\controllers\subsystems\processing\chemistry.dm"
#include "code\controllers\subsystems\processing\fastprocess.dm"
#include "code\controllers\subsystems\processing\obj.dm"
#include "code\controllers\subsystems\processing\processing.dm"
@@ -885,8 +886,6 @@
#include "code\game\machinery\teleporter.dm"
#include "code\game\machinery\transportpod.dm"
#include "code\game\machinery\turret_control.dm"
-#include "code\game\machinery\vending.dm"
-#include "code\game\machinery\vending_machines.dm"
#include "code\game\machinery\vending_machines_vr.dm"
#include "code\game\machinery\vending_yw.dm"
#include "code\game\machinery\vitals_monitor.dm"
@@ -911,6 +910,7 @@
#include "code\game\machinery\computer\ai_core.dm"
#include "code\game\machinery\computer\aifixer.dm"
#include "code\game\machinery\computer\arcade.dm"
+#include "code\game\machinery\computer\arcade_vr.dm"
#include "code\game\machinery\computer\atmos_alert.dm"
#include "code\game\machinery\computer\atmos_control.dm"
#include "code\game\machinery\computer\camera.dm"
@@ -1103,6 +1103,7 @@
#include "code\game\objects\effects\blockers_yw.dm"
#include "code\game\objects\effects\bluespace_spawner_ch.dm"
#include "code\game\objects\effects\bump_teleporter.dm"
+#include "code\game\objects\effects\confetti_vr.dm"
#include "code\game\objects\effects\effect_system.dm"
#include "code\game\objects\effects\effect_system_ch.dm"
#include "code\game\objects\effects\explosion_particles.dm"
@@ -1260,19 +1261,16 @@
#include "code\game\objects\items\robot\robot_parts.dm"
#include "code\game\objects\items\robot\robot_upgrades.dm"
#include "code\game\objects\items\robot\robot_upgrades_vr.dm"
-#include "code\game\objects\items\stacks\fifty_spawner.dm"
#include "code\game\objects\items\stacks\marker_beacons.dm"
#include "code\game\objects\items\stacks\matter_synth.dm"
#include "code\game\objects\items\stacks\medical.dm"
#include "code\game\objects\items\stacks\medical_vr.dm"
#include "code\game\objects\items\stacks\nanopaste.dm"
#include "code\game\objects\items\stacks\nanopaste_vr.dm"
-#include "code\game\objects\items\stacks\rods.dm"
#include "code\game\objects\items\stacks\sandbags.dm"
#include "code\game\objects\items\stacks\stack.dm"
#include "code\game\objects\items\stacks\telecrystal.dm"
#include "code\game\objects\items\stacks\tickets.dm"
-#include "code\game\objects\items\stacks\sheets\leather.dm"
#include "code\game\objects\items\stacks\tiles\fifty_spawner_tiles.dm"
#include "code\game\objects\items\stacks\tiles\fifty_spawner_tiles_yw.dm"
#include "code\game\objects\items\stacks\tiles\tile_types.dm"
@@ -2196,18 +2194,44 @@
#include "code\modules\economy\cash.dm"
#include "code\modules\economy\cash_register.dm"
#include "code\modules\economy\casinocash_ch.dm"
+#include "code\modules\economy\coins.dm"
#include "code\modules\economy\economy_misc.dm"
#include "code\modules\economy\EFTPOS.dm"
#include "code\modules\economy\Events.dm"
#include "code\modules\economy\Events_Mundane.dm"
#include "code\modules\economy\lorenews.dm"
+#include "code\modules\economy\mint.dm"
+#include "code\modules\economy\money_bag.dm"
#include "code\modules\economy\price_list.dm"
#include "code\modules\economy\price_list_ch.dm"
#include "code\modules\economy\price_list_yw.dm"
#include "code\modules\economy\retail_scanner.dm"
#include "code\modules\economy\TradeDestinations.dm"
+#include "code\modules\economy\vending.dm"
+#include "code\modules\economy\vending_machines.dm"
+#include "code\modules\emotes\definitions\audible_furry_vr.dm"
+#include "code\modules\emotes\definitions\helpers_vr.dm"
+#include "code\modules\emotes\definitions\visible_vr.dm"
#include "code\modules\entopics_vr\alternate_appearance.dm"
#include "code\modules\entopics_vr\entopics.dm"
+#include "code\modules\emotes\emote_define.dm"
+#include "code\modules\emotes\emote_mob.dm"
+#include "code\modules\emotes\definitions\_mob.dm"
+#include "code\modules\emotes\definitions\_species.dm"
+#include "code\modules\emotes\definitions\audible.dm"
+#include "code\modules\emotes\definitions\audible_cough.dm"
+#include "code\modules\emotes\definitions\audible_scream.dm"
+#include "code\modules\emotes\definitions\audible_slap.dm"
+#include "code\modules\emotes\definitions\audible_snap.dm"
+#include "code\modules\emotes\definitions\audible_sneeze.dm"
+#include "code\modules\emotes\definitions\audible_whistle.dm"
+#include "code\modules\emotes\definitions\exertion.dm"
+#include "code\modules\emotes\definitions\human.dm"
+#include "code\modules\emotes\definitions\slimes.dm"
+#include "code\modules\emotes\definitions\synthetics.dm"
+#include "code\modules\emotes\definitions\visible.dm"
+#include "code\modules\emotes\definitions\visible_animated.dm"
+#include "code\modules\emotes\definitions\visible_vomit.dm"
#include "code\modules\error_handler\_defines.dm"
#include "code\modules\error_handler\error_handler.dm"
#include "code\modules\error_handler\error_viewer.dm"
@@ -2312,6 +2336,7 @@
#include "code\modules\food\drinkingglass\shaker_vr.dm"
#include "code\modules\food\food\cans.dm"
#include "code\modules\food\food\cans_ch.dm"
+#include "code\modules\food\food\cans_vr.dm"
#include "code\modules\food\food\condiment.dm"
#include "code\modules\food\food\drinks.dm"
#include "code\modules\food\food\lunch.dm"
@@ -2565,16 +2590,61 @@
#include "code\modules\maps\tg\map_template.dm"
#include "code\modules\maps\tg\map_template_vr.dm"
#include "code\modules\maps\tg\reader.dm"
+#include "code\modules\materials\fifty_spawner.dm"
#include "code\modules\materials\fifty_spawner_mats.dm"
-#include "code\modules\materials\material_recipes.dm"
-#include "code\modules\materials\material_recipes_ch.dm"
-#include "code\modules\materials\material_recipes_vr.dm"
-#include "code\modules\materials\material_sheets.dm"
-#include "code\modules\materials\material_sheets_vr.dm"
+#include "code\modules\materials\fifty_spawner_mats_vr.dm"
#include "code\modules\materials\material_synth.dm"
-#include "code\modules\materials\materials.dm"
-#include "code\modules\materials\materials_ch.dm"
-#include "code\modules\materials\materials_vr.dm"
+#include "code\modules\materials\materials\_materials.dm"
+#include "code\modules\materials\materials\_materials_vr.dm"
+#include "code\modules\materials\materials\alien_alloy.dm"
+#include "code\modules\materials\materials\cult.dm"
+#include "code\modules\materials\materials\gems.dm"
+#include "code\modules\materials\materials\glass.dm"
+#include "code\modules\materials\materials\glass_vr.dm"
+#include "code\modules\materials\materials\holographic.dm"
+#include "code\modules\materials\materials\other_vr.dm"
+#include "code\modules\materials\materials\plastic.dm"
+#include "code\modules\materials\materials\plastic_ch.dm"
+#include "code\modules\materials\materials\snow.dm"
+#include "code\modules\materials\materials\stone.dm"
+#include "code\modules\materials\materials\supermatter.dm"
+#include "code\modules\materials\materials\metals\hull.dm"
+#include "code\modules\materials\materials\metals\hull_vr.dm"
+#include "code\modules\materials\materials\metals\metals.dm"
+#include "code\modules\materials\materials\metals\metals_vr.dm"
+#include "code\modules\materials\materials\metals\plasteel.dm"
+#include "code\modules\materials\materials\metals\plasteel_vr.dm"
+#include "code\modules\materials\materials\metals\plasteel_ch.dm"
+#include "code\modules\materials\materials\metals\steel.dm"
+#include "code\modules\materials\materials\metals\steel_vr.dm"
+#include "code\modules\materials\materials\organic\animal_products.dm"
+#include "code\modules\materials\materials\organic\cloth.dm"
+#include "code\modules\materials\materials\organic\cloth_ch.dm"
+#include "code\modules\materials\materials\organic\leather.dm"
+#include "code\modules\materials\materials\organic\resin.dm"
+#include "code\modules\materials\materials\organic\wood.dm"
+#include "code\modules\materials\materials\organic\wood_ch.dm"
+#include "code\modules\materials\sheets\_sheets.dm"
+#include "code\modules\materials\sheets\gems.dm"
+#include "code\modules\materials\sheets\glass.dm"
+#include "code\modules\materials\sheets\glass_vr.dm"
+#include "code\modules\materials\sheets\plastic.dm"
+#include "code\modules\materials\sheets\snow.dm"
+#include "code\modules\materials\sheets\stone.dm"
+#include "code\modules\materials\sheets\supermatter.dm"
+#include "code\modules\materials\sheets\metals\hull.dm"
+#include "code\modules\materials\sheets\metals\hull_vr.dm"
+#include "code\modules\materials\sheets\metals\metal.dm"
+#include "code\modules\materials\sheets\metals\metal_vr.dm"
+#include "code\modules\materials\sheets\metals\rods.dm"
+#include "code\modules\materials\sheets\organic\animal_products.dm"
+#include "code\modules\materials\sheets\organic\resin.dm"
+#include "code\modules\materials\sheets\organic\textiles.dm"
+#include "code\modules\materials\sheets\organic\wood.dm"
+#include "code\modules\materials\sheets\organic\tanning\hide.dm"
+#include "code\modules\materials\sheets\organic\tanning\hide_hairless.dm"
+#include "code\modules\materials\sheets\organic\tanning\leather_wet.dm"
+#include "code\modules\materials\sheets\organic\tanning\tanning_rack.dm"
#include "code\modules\media\media_machinery.dm"
#include "code\modules\media\media_player_html5.dm"
#include "code\modules\media\media_player_vlc.dm"
@@ -2589,20 +2659,13 @@
#include "code\modules\mining\abandonedcrates_vr.dm"
#include "code\modules\mining\alloys.dm"
#include "code\modules\mining\alloys_vr.dm"
-#include "code\modules\mining\coins.dm"
#include "code\modules\mining\fulton.dm"
-#include "code\modules\mining\machine_input_output_plates.dm"
-#include "code\modules\mining\machine_processing.dm"
-#include "code\modules\mining\machine_stacking.dm"
-#include "code\modules\mining\machine_unloading.dm"
#include "code\modules\mining\mine_items.dm"
#include "code\modules\mining\mine_items_vr.dm"
#include "code\modules\mining\mine_outcrops.dm"
#include "code\modules\mining\mine_turfs.dm"
#include "code\modules\mining\mine_turfs_vr.dm"
#include "code\modules\mining\mineral_effect.dm"
-#include "code\modules\mining\mint.dm"
-#include "code\modules\mining\money_bag.dm"
#include "code\modules\mining\ore.dm"
#include "code\modules\mining\ore_box.dm"
#include "code\modules\mining\ore_datum.dm"
@@ -2611,6 +2674,10 @@
#include "code\modules\mining\shelters_vr.dm"
#include "code\modules\mining\drilling\drill.dm"
#include "code\modules\mining\drilling\scanner.dm"
+#include "code\modules\mining\machinery\machine_input_output_plates.dm"
+#include "code\modules\mining\machinery\machine_processing.dm"
+#include "code\modules\mining\machinery\machine_stacking.dm"
+#include "code\modules\mining\machinery\machine_unloading.dm"
#include "code\modules\mining\ore_redemption_machine\construction.dm"
#include "code\modules\mining\ore_redemption_machine\equipment_vendor.dm"
#include "code\modules\mining\ore_redemption_machine\mine_point_items.dm"
@@ -3504,7 +3571,6 @@
#include "code\modules\power\fusion\fusion_circuits.dm"
#include "code\modules\power\fusion\fusion_particle_catcher.dm"
#include "code\modules\power\fusion\fusion_reactions.dm"
-#include "code\modules\power\fusion\fusion_reagents.dm"
#include "code\modules\power\fusion\magpower.dm"
#include "code\modules\power\fusion\core\_core.dm"
#include "code\modules\power\fusion\core\core_control.dm"
@@ -3616,6 +3682,7 @@
#include "code\modules\projectiles\guns\projectile\automatic_vr.dm"
#include "code\modules\projectiles\guns\projectile\automatic_yw.dm"
#include "code\modules\projectiles\guns\projectile\boltaction.dm"
+#include "code\modules\projectiles\guns\projectile\boltaction_vr.dm"
#include "code\modules\projectiles\guns\projectile\caseless.dm"
#include "code\modules\projectiles\guns\projectile\contender.dm"
#include "code\modules\projectiles\guns\projectile\dartgun.dm"
@@ -3678,53 +3745,45 @@
#include "code\modules\random_map\noise\ore.dm"
#include "code\modules\random_map\noise\tundra.dm"
#include "code\modules\reagents\Chemistry-Colours.dm"
-#include "code\modules\reagents\Chemistry-Holder.dm"
-#include "code\modules\reagents\Chemistry-Holder_ch.dm"
#include "code\modules\reagents\Chemistry-Logging.dm"
-#include "code\modules\reagents\Chemistry-Machinery.dm"
-#include "code\modules\reagents\Chemistry-Machinery_vr.dm"
#include "code\modules\reagents\Chemistry-Metabolism.dm"
-#include "code\modules\reagents\Chemistry-Readme.dm"
-#include "code\modules\reagents\Chemistry-Reagents-Helpers.dm"
-#include "code\modules\reagents\Chemistry-Reagents.dm"
-#include "code\modules\reagents\Chemistry-Reagents_vr.dm"
-#include "code\modules\reagents\Chemistry-Recipes.dm"
-#include "code\modules\reagents\Chemistry-Recipes_ch.dm"
-#include "code\modules\reagents\Chemistry-Recipes_vr.dm"
-#include "code\modules\reagents\Chemistry-Recipes_yw.dm"
-#include "code\modules\reagents\kelshark.dm"
-#include "code\modules\reagents\reagent_containers.dm"
-#include "code\modules\reagents\reagent_dispenser.dm"
-#include "code\modules\reagents\reagent_dispenser_ch.dm"
-#include "code\modules\reagents\Chemistry-Reagents\Chemistry-Reagents-Core.dm"
-#include "code\modules\reagents\Chemistry-Reagents\Chemistry-Reagents-Dispenser.dm"
-#include "code\modules\reagents\Chemistry-Reagents\Chemistry-Reagents-Food-Drinks.dm"
-#include "code\modules\reagents\Chemistry-Reagents\Chemistry-Reagents-Food-Drinks_ch.dm"
-#include "code\modules\reagents\Chemistry-Reagents\Chemistry-Reagents-Food-Drinks_vr.dm"
-#include "code\modules\reagents\Chemistry-Reagents\Chemistry-Reagents-Food-Drinks_yw.dm"
-#include "code\modules\reagents\Chemistry-Reagents\Chemistry-Reagents-Medicine.dm"
-#include "code\modules\reagents\Chemistry-Reagents\Chemistry-Reagents-Medicine_vr.dm"
-#include "code\modules\reagents\Chemistry-Reagents\Chemistry-Reagents-Modifiers.dm"
-#include "code\modules\reagents\Chemistry-Reagents\Chemistry-Reagents-Other.dm"
-#include "code\modules\reagents\Chemistry-Reagents\Chemistry-Reagents-Toxins.dm"
-#include "code\modules\reagents\Chemistry-Reagents\Chemistry-Reagents-Vore_vr.dm"
-#include "code\modules\reagents\Chemistry-Reagents\Chemistry-Reagents_ch.dm"
-#include "code\modules\reagents\dispenser\_defines.dm"
-#include "code\modules\reagents\dispenser\cartridge.dm"
-#include "code\modules\reagents\dispenser\cartridge_presets.dm"
-#include "code\modules\reagents\dispenser\cartridge_presets_ch.dm"
-#include "code\modules\reagents\dispenser\cartridge_presets_vr.dm"
-#include "code\modules\reagents\dispenser\cartridge_spawn.dm"
-#include "code\modules\reagents\dispenser\dispenser2.dm"
-#include "code\modules\reagents\dispenser\dispenser2_energy.dm"
-#include "code\modules\reagents\dispenser\dispenser_presets.dm"
-#include "code\modules\reagents\dispenser\dispenser_presets_vr.dm"
-#include "code\modules\reagents\dispenser\supply.dm"
-#include "code\modules\reagents\distilling\Distilling-Recipes.dm"
-#include "code\modules\reagents\distilling\distilling.dm"
+#include "code\modules\reagents\holder\distilling.dm"
+#include "code\modules\reagents\holder\holder.dm"
+#include "code\modules\reagents\holder\holder_ch.dm"
#include "code\modules\reagents\hoses\connector.dm"
#include "code\modules\reagents\hoses\hose.dm"
#include "code\modules\reagents\hoses\hose_connector.dm"
+#include "code\modules\reagents\machinery\chem_master.dm"
+#include "code\modules\reagents\machinery\chem_master_vr.dm"
+#include "code\modules\reagents\machinery\chemalyzer.dm"
+#include "code\modules\reagents\machinery\distillery.dm"
+#include "code\modules\reagents\machinery\grinder.dm"
+#include "code\modules\reagents\machinery\dispenser\_defines.dm"
+#include "code\modules\reagents\machinery\dispenser\cartridge.dm"
+#include "code\modules\reagents\machinery\dispenser\cartridge_presets.dm"
+#include "code\modules\reagents\machinery\dispenser\cartridge_presets_ch.dm"
+#include "code\modules\reagents\machinery\dispenser\cartridge_presets_vr.dm"
+#include "code\modules\reagents\machinery\dispenser\cartridge_spawn.dm"
+#include "code\modules\reagents\machinery\dispenser\dispenser2.dm"
+#include "code\modules\reagents\machinery\dispenser\dispenser2_energy.dm"
+#include "code\modules\reagents\machinery\dispenser\dispenser_presets.dm"
+#include "code\modules\reagents\machinery\dispenser\dispenser_presets_vr.dm"
+#include "code\modules\reagents\machinery\dispenser\reagent_tank.dm"
+#include "code\modules\reagents\machinery\dispenser\reagent_tank_ch.dm"
+#include "code\modules\reagents\machinery\dispenser\supply.dm"
+#include "code\modules\reagents\reactions\_reactions.dm"
+#include "code\modules\reagents\reactions\distilling\distilling.dm"
+#include "code\modules\reagents\reactions\fusion\fusion.dm"
+#include "code\modules\reagents\reactions\instant\drinks.dm"
+#include "code\modules\reagents\reactions\instant\drinks_ch.dm"
+#include "code\modules\reagents\reactions\instant\drinks_vr.dm"
+#include "code\modules\reagents\reactions\instant\food.dm"
+#include "code\modules\reagents\reactions\instant\food_ch.dm"
+#include "code\modules\reagents\reactions\instant\food_vr.dm"
+#include "code\modules\reagents\reactions\instant\instant.dm"
+#include "code\modules\reagents\reactions\instant\instant_ch.dm"
+#include "code\modules\reagents\reactions\instant\instant_vr.dm"
+#include "code\modules\reagents\reagent_containers\_reagent_containers.dm"
#include "code\modules\reagents\reagent_containers\blood_pack.dm"
#include "code\modules\reagents\reagent_containers\blood_pack_vr.dm"
#include "code\modules\reagents\reagent_containers\borghypo.dm"
@@ -3742,6 +3801,23 @@
#include "code\modules\reagents\reagent_containers\syringes_vr.dm"
#include "code\modules\reagents\reagent_containers\unidentified_hypospray.dm"
#include "code\modules\reagents\reagent_containers\food\drinks\bluespacecoffee.dm"
+#include "code\modules\reagents\reagents\_helpers.dm"
+#include "code\modules\reagents\reagents\_reagents.dm"
+#include "code\modules\reagents\reagents\core.dm"
+#include "code\modules\reagents\reagents\dispenser.dm"
+#include "code\modules\reagents\reagents\food_drinks.dm"
+#include "code\modules\reagents\reagents\food_drinks_ch.dm"
+#include "code\modules\reagents\reagents\food_drinks_vr.dm"
+#include "code\modules\reagents\reagents\medicine.dm"
+#include "code\modules\reagents\reagents\medicine_ch.dm"
+#include "code\modules\reagents\reagents\medicine_vr.dm"
+#include "code\modules\reagents\reagents\modifiers.dm"
+#include "code\modules\reagents\reagents\other.dm"
+#include "code\modules\reagents\reagents\other_ch.dm"
+#include "code\modules\reagents\reagents\other_vr.dm"
+#include "code\modules\reagents\reagents\toxins.dm"
+#include "code\modules\reagents\reagents\vore_ch.dm"
+#include "code\modules\reagents\reagents\vore_vr.dm"
#include "code\modules\recycling\conveyor2.dm"
#include "code\modules\recycling\disposal-construction.dm"
#include "code\modules\recycling\disposal.dm"