diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 97e2a74364..3e2742de11 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -233,6 +233,8 @@ This prevents nesting levels from getting deeper then they need to be. * All changes to the database's layout(schema) must be specified in the database changelog in SQL, as well as reflected in the schema files +* Any time the schema is changed the `schema_revision` table and `DB_MAJOR_VERSION` or `DB_MINOR_VERSION` defines must be incremented. + * Queries must never specify the database, be it in code, or in text files in the repo. @@ -246,6 +248,8 @@ This prevents nesting levels from getting deeper then they need to be. * Do not divide when you can easily convert it to multiplication. (ie `4/2` should be done as `4*0.5`) +* If you used regex to replace code during development of your code, post the regex in your PR for the benefit of future developers and downstream users. + #### Enforced not enforced The following coding styles are not only not enforced at all, but are generally frowned upon to change for little to no reason: diff --git a/SQL/database_changelog.txt.rej b/SQL/database_changelog.txt.rej deleted file mode 100644 index 1b201ec4aa..0000000000 --- a/SQL/database_changelog.txt.rej +++ /dev/null @@ -1,15 +0,0 @@ -diff a/SQL/database_changelog.txt b/SQL/database_changelog.txt (rejected hunks) -@@ -1,10 +1,10 @@ - Any time you make a change to the schema files, remember to increment the database schema version. Generally increment the minor number, major should be reserved for significant changes to the schema. Both values go up to 255. - --The latest database version is 3.1; The query to update the schema revision table is: -+The latest database version is 3.0; The query to update the schema revision table is: - --UPDATE `schema_revision` SET major = 3, minor = 1 LIMIT 1; -+INSERT INTO `schema_revision` (`major`, `minor`) VALUES (3, 0); - or --UPDATE `SS13_schema_revision` SET major = 3, minor = 1 LIMIT 1; -+INSERT INTO `SS13_schema_revision` (`major`, `minor`) VALUES (3, 0); - - ---------------------------------------------------- - diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm.rej b/_maps/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm.rej deleted file mode 100644 index 365cc7fdda..0000000000 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/_maps/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_xeno_nest.dmm (rejected hunks) -@@ -269,7 +269,7 @@ - "W" = ( - /obj/structure/alien/weeds, - /obj/structure/alien/resin/wall, --/obj/effect/baseturf_helper, -+/obj/effect/baseturf_helper/lava_land/surface, - /turf/open/floor/plating/asteroid/basalt/lava_land_surface, - /area/ruin/unpowered/xenonest) - diff --git a/_maps/RandomRuins/SpaceRuins/mechtransport.dmm b/_maps/RandomRuins/SpaceRuins/mechtransport.dmm index 3286290fa5..c4a7c18c98 100644 --- a/_maps/RandomRuins/SpaceRuins/mechtransport.dmm +++ b/_maps/RandomRuins/SpaceRuins/mechtransport.dmm @@ -10,10 +10,7 @@ /turf/open/floor/plating, /area/ruin/space/has_grav/powered/mechtransport) "d" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s10"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/ruin/space/has_grav/powered/mechtransport) "e" = ( /turf/closed/wall/mineral/titanium, @@ -63,10 +60,7 @@ /turf/open/floor/mineral/titanium/blue, /area/ruin/space/has_grav/powered/mechtransport) "o" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall13"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/ruin/space/has_grav/powered/mechtransport) "p" = ( /obj/machinery/door/airlock/hatch{ @@ -76,10 +70,7 @@ /turf/open/floor/mineral/titanium, /area/ruin/space/has_grav/powered/mechtransport) "q" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall12"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/ruin/space/has_grav/powered/mechtransport) "r" = ( /obj/effect/decal/cleanable/dirt, @@ -200,26 +191,17 @@ /turf/open/floor/plating/airless, /area/ruin/space/has_grav/powered/mechtransport) "T" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall14"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/ruin/space/has_grav/powered/mechtransport) "U" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s9"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/ruin/space/has_grav/powered/mechtransport) "V" = ( /obj/item/stack/rods, /turf/template_noop, /area/template_noop) "W" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall15"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/ruin/space/has_grav/powered/mechtransport) "X" = ( /obj/structure/shuttle/engine/propulsion, diff --git a/_maps/RandomZLevels/Academy.dmm b/_maps/RandomZLevels/Academy.dmm index ba93de1bc8..9227ab0fd9 100644 --- a/_maps/RandomZLevels/Academy.dmm +++ b/_maps/RandomZLevels/Academy.dmm @@ -495,15 +495,10 @@ /turf/closed/wall/mineral/titanium, /area/awaymission/academy/classrooms) "bG" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall12"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/academy/classrooms) "bH" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc1" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/academy/classrooms) "bI" = ( /obj/machinery/light{ @@ -603,10 +598,7 @@ /turf/open/floor/plasteel/floorgrime, /area/awaymission/academy/classrooms) "bW" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall3"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/academy/classrooms) "bX" = ( /obj/effect/decal/cleanable/ash, @@ -727,9 +719,7 @@ /turf/open/floor/plasteel, /area/awaymission/academy/classrooms) "cs" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall1" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/academy/classrooms) "ct" = ( /obj/structure/chair, diff --git a/_maps/RandomZLevels/centcomAway.dmm b/_maps/RandomZLevels/centcomAway.dmm index 2faa93900f..f62787babf 100644 --- a/_maps/RandomZLevels/centcomAway.dmm +++ b/_maps/RandomZLevels/centcomAway.dmm @@ -365,10 +365,7 @@ /turf/open/floor/plasteel/vault{ dir = 5 }, -/turf/closed/wall/shuttle{ - icon_state = "swall_f10"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/centcomAway/hangar) "bs" = ( /obj/structure/closet/crate, @@ -429,16 +426,10 @@ /turf/open/floor/plating, /area/awaymission/centcomAway/hangar) "bD" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall7"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/centcomAway/hangar) "bE" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall8"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/centcomAway/hangar) "bF" = ( /obj/machinery/door/airlock/external{ @@ -447,22 +438,13 @@ /turf/open/floor/plating, /area/awaymission/centcomAway/hangar) "bG" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall4"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/centcomAway/hangar) "bH" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall12"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/centcomAway/hangar) "bI" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall11"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/centcomAway/hangar) "bJ" = ( /obj/structure/chair/comfy/brown, @@ -557,19 +539,10 @@ /turf/open/floor/mineral/titanium/blue, /area/awaymission/centcomAway/hangar) "bZ" = ( -/turf/open/floor/plasteel/shuttle, -/turf/closed/wall/shuttle{ - icon_state = "swall_f5"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/centcomAway/hangar) "ca" = ( -/turf/open/floor/plating, -/turf/closed/wall/shuttle{ - dir = 2; - icon_state = "swall_f10"; - layer = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/centcomAway/hangar) "cb" = ( /obj/item/paper_bin, @@ -667,13 +640,7 @@ /turf/closed/wall/r_wall, /area/awaymission/centcomAway/maint) "cw" = ( -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/turf/closed/wall/shuttle{ - icon_state = "swall_f5"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/centcomAway/hangar) "cx" = ( /obj/machinery/door/airlock/maintenance_hatch{ @@ -682,13 +649,7 @@ /turf/open/floor/plating, /area/awaymission/centcomAway/hangar) "cy" = ( -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/turf/closed/wall/shuttle{ - icon_state = "swall_f9"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/centcomAway/hangar) "cz" = ( /turf/closed/wall, @@ -726,10 +687,7 @@ /turf/open/floor/plasteel/hydrofloor, /area/awaymission/centcomAway/cafe) "cI" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc1"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/centcomAway/hangar) "cJ" = ( /obj/structure/table/reinforced, @@ -770,10 +728,7 @@ /turf/open/floor/mineral/titanium/blue, /area/awaymission/centcomAway/hangar) "cQ" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc2"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/centcomAway/hangar) "cR" = ( /turf/open/floor/plating, @@ -930,10 +885,7 @@ }, /area/awaymission/centcomAway/cafe) "du" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall0"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/centcomAway/hangar) "dv" = ( /obj/structure/closet/crate, @@ -1061,10 +1013,7 @@ /turf/open/floor/plating, /area/awaymission/centcomAway/cafe) "dR" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall2"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/centcomAway/hangar) "dS" = ( /obj/effect/spawner/structure/window/hollow/reinforced/end/west, @@ -1199,23 +1148,13 @@ /turf/open/floor/plasteel/red, /area/awaymission/centcomAway/cafe) "eq" = ( -/turf/open/floor/plating, -/turf/closed/wall/shuttle{ - icon_state = "swall_f5"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/centcomAway/hangar) "er" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall14"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/centcomAway/hangar) "es" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc4"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/centcomAway/hangar) "et" = ( /obj/machinery/door/airlock/hatch{ @@ -2054,21 +1993,13 @@ /turf/open/floor/plating, /area/awaymission/centcomAway/hangar) "hv" = ( -/turf/open/floor/plating, /obj/structure/shuttle/engine/propulsion/burst{ dir = 4 }, -/turf/closed/wall/shuttle{ - icon_state = "swall_f5"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/centcomAway/hangar) "hw" = ( -/turf/open/floor/plasteel/black, -/turf/closed/wall/shuttle{ - icon_state = "swall_f9"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/centcomAway/hangar) "hx" = ( /obj/structure/table, diff --git a/_maps/RandomZLevels/moonoutpost19.dmm b/_maps/RandomZLevels/moonoutpost19.dmm index b88d60a0f6..5daed4908c 100644 --- a/_maps/RandomZLevels/moonoutpost19.dmm +++ b/_maps/RandomZLevels/moonoutpost19.dmm @@ -8006,11 +8006,7 @@ initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251"; heat_capacity = 1e+006 }, -/turf/closed/wall/shuttle{ - dir = 3; - icon_state = "swall_f10"; - layer = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaycontent/a1{ has_gravity = 1; name = "MO19 Arrivals" @@ -8270,19 +8266,13 @@ name = "MO19 Arrivals" }) "ly" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall14"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaycontent/a1{ has_gravity = 1; name = "MO19 Arrivals" }) "lz" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall8"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaycontent/a1{ has_gravity = 1; name = "MO19 Arrivals" @@ -8295,19 +8285,13 @@ name = "MO19 Arrivals" }) "lB" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall4"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaycontent/a1{ has_gravity = 1; name = "MO19 Arrivals" }) "lC" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall1"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaycontent/a1{ has_gravity = 1; name = "MO19 Arrivals" @@ -8528,10 +8512,7 @@ name = "MO19 Arrivals" }) "lY" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall3"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaycontent/a1{ has_gravity = 1; name = "MO19 Arrivals" @@ -9122,10 +9103,7 @@ name = "MO19 Arrivals" }) "mX" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall2"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaycontent/a1{ has_gravity = 1; name = "MO19 Arrivals" @@ -9194,24 +9172,13 @@ name = "MO19 Arrivals" }) "nd" = ( -/turf/open/floor/plating/asteroid{ - initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251"; - heat_capacity = 1e+006 - }, -/turf/closed/wall/shuttle{ - icon_state = "swall_f5"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaycontent/a1{ has_gravity = 1; name = "MO19 Arrivals" }) "ne" = ( -/turf/open/floor/plasteel/shuttle, -/turf/closed/wall/shuttle{ - icon_state = "swall_f10"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaycontent/a1{ has_gravity = 1; name = "MO19 Arrivals" @@ -9306,10 +9273,7 @@ name = "MO19 Arrivals" }) "nn" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall13"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaycontent/a1{ has_gravity = 1; name = "MO19 Arrivals" @@ -9409,14 +9373,7 @@ name = "MO19 Arrivals" }) "nv" = ( -/turf/open/floor/plating/asteroid{ - initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251"; - heat_capacity = 1e+006 - }, -/turf/closed/wall/shuttle{ - icon_state = "swall_f9"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaycontent/a1{ has_gravity = 1; name = "MO19 Arrivals" diff --git a/_maps/RandomZLevels/research.dmm b/_maps/RandomZLevels/research.dmm index f80b70ff37..7da8026638 100644 --- a/_maps/RandomZLevels/research.dmm +++ b/_maps/RandomZLevels/research.dmm @@ -4403,10 +4403,7 @@ /obj/structure/shuttle/engine/propulsion/burst{ dir = 8 }, -/turf/closed/wall/shuttle{ - icon_state = "swall_f9"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/research/exterior) "mA" = ( /obj/structure/chair{ diff --git a/_maps/RandomZLevels/spacebattle.dmm b/_maps/RandomZLevels/spacebattle.dmm index d8f2349de5..c554618c9a 100644 --- a/_maps/RandomZLevels/spacebattle.dmm +++ b/_maps/RandomZLevels/spacebattle.dmm @@ -540,20 +540,13 @@ /turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "bU" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall14" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "bV" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall12" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "bW" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s10"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "bX" = ( /obj/structure/shuttle/engine/propulsion/burst/left{ @@ -594,9 +587,7 @@ /turf/open/floor/plasteel, /area/awaymission/spacebattle/cruiser) "ce" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall3" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "cf" = ( /obj/structure/shuttle/engine/propulsion{ @@ -681,17 +672,13 @@ /turf/open/floor/plasteel, /area/awaymission/spacebattle/cruiser) "cs" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall7" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "ct" = ( /turf/closed/wall/mineral/titanium/nodiagonal, /area/awaymission/spacebattle/cruiser) "cu" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc2" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "cv" = ( /obj/machinery/power/smes/magical{ @@ -814,9 +801,7 @@ /turf/open/floor/plasteel, /area/awaymission/spacebattle/cruiser) "cR" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc3" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "cS" = ( /obj/effect/mob_spawn/human/engineer{ @@ -937,16 +922,10 @@ /turf/open/floor/plasteel/bar, /area/awaymission/spacebattle/cruiser) "do" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall7"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "dp" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall11"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "dq" = ( /turf/open/floor/plasteel{ @@ -973,24 +952,17 @@ }, /area/awaymission/spacebattle/cruiser) "dt" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s5"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "du" = ( /obj/effect/decal/cleanable/blood, /turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "dv" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall15" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "dw" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall11" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "dx" = ( /obj/structure/chair, @@ -1305,10 +1277,7 @@ /turf/open/floor/mineral/plastitanium, /area/awaymission/spacebattle/syndicate1) "eB" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall3"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "eC" = ( /obj/structure/table/reinforced, @@ -1344,15 +1313,10 @@ /turf/open/floor/plating/airless, /area/awaymission/spacebattle/cruiser) "eI" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall13"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "eJ" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc4" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "eK" = ( /turf/open/floor/mineral/plastitanium, @@ -1494,10 +1458,7 @@ /turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "fk" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s9"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "fl" = ( /obj/machinery/door/airlock/external, @@ -1939,9 +1900,7 @@ /area/awaymission/spacebattle/cruiser) "gE" = ( /obj/effect/decal/cleanable/blood, -/turf/closed/wall/shuttle{ - icon_state = "swall3" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "gF" = ( /obj/effect/mob_spawn/human/doctor{ @@ -2228,10 +2187,7 @@ }, /area/awaymission/spacebattle/syndicate7) "hH" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall14"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "hI" = ( /obj/structure/table/reinforced, @@ -2333,18 +2289,14 @@ /turf/open/floor/plasteel/white, /area/awaymission/spacebattle/cruiser) "ia" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s9" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "ib" = ( /obj/machinery/door/unpowered/shuttle, /turf/open/floor/plasteel/freezer, /area/awaymission/spacebattle/cruiser) "ic" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall1" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/spacebattle/cruiser) "id" = ( /obj/item/storage/firstaid/regular, diff --git a/_maps/RandomZLevels/undergroundoutpost45.dmm b/_maps/RandomZLevels/undergroundoutpost45.dmm index fec63e34de..575af3c075 100644 --- a/_maps/RandomZLevels/undergroundoutpost45.dmm +++ b/_maps/RandomZLevels/undergroundoutpost45.dmm @@ -55,19 +55,13 @@ name = "UO45 Central Hall" }) "ah" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc1"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaycontent/a1{ has_gravity = 1; name = "UO45 Central Hall" }) "ai" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall3"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaycontent/a1{ has_gravity = 1; name = "UO45 Central Hall" @@ -231,19 +225,13 @@ name = "UO45 Central Hall" }) "av" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc3"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaycontent/a1{ has_gravity = 1; name = "UO45 Central Hall" }) "aw" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall8"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaycontent/a1{ has_gravity = 1; name = "UO45 Central Hall" @@ -286,10 +274,7 @@ name = "UO45 Central Hall" }) "aA" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall4"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/awaycontent/a1{ has_gravity = 1; name = "UO45 Central Hall" @@ -318,9 +303,7 @@ name = "UO45 Central Hall" }) "aE" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc4" - }, +/turf/closed/wall/mineral/titanium, /area/awaycontent/a1{ has_gravity = 1; name = "UO45 Central Hall" diff --git a/_maps/RandomZLevels/wildwest.dmm b/_maps/RandomZLevels/wildwest.dmm index 45e023d24a..61d5c4ee49 100644 --- a/_maps/RandomZLevels/wildwest.dmm +++ b/_maps/RandomZLevels/wildwest.dmm @@ -2094,28 +2094,20 @@ /turf/closed/wall/mineral/titanium, /area/awaymission/wwrefine) "gK" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall8" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/wwrefine) "gL" = ( /obj/machinery/door/unpowered/shuttle, /turf/open/floor/mineral/titanium/yellow, /area/awaymission/wwrefine) "gM" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall4" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/wwrefine) "gN" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s10" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/wwrefine) "gO" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall3" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/wwrefine) "gP" = ( /obj/structure/chair, @@ -2125,22 +2117,16 @@ /turf/open/floor/mineral/titanium/yellow, /area/awaymission/wwrefine) "gR" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s5" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/wwrefine) "gS" = ( /turf/closed/wall/mineral/titanium/nodiagonal, /area/awaymission/wwrefine) "gT" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc2" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/wwrefine) "gU" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s9" - }, +/turf/closed/wall/mineral/titanium, /area/awaymission/wwrefine) "gV" = ( /obj/effect/landmark/awaystart, diff --git a/_maps/boxstation.json b/_maps/boxstation.json index 9cd407ef93..d07f9f3493 100644 --- a/_maps/boxstation.json +++ b/_maps/boxstation.json @@ -3,5 +3,6 @@ "map_path": "map_files/BoxStation", "map_file": "BoxStation.dmm", "minetype": "lavaland", - "transition_config": "default" + "transition_config": "default", + "allow_custom_shuttles": "yes" } diff --git a/_maps/deltastation.json b/_maps/deltastation.json index 5558cbb1ed..43126821da 100644 --- a/_maps/deltastation.json +++ b/_maps/deltastation.json @@ -3,5 +3,6 @@ "map_path": "map_files/Deltastation", "map_file": "DeltaStation2.dmm", "minetype": "lavaland", - "transition_config": "default" + "transition_config": "default", + "allow_custom_shuttles": "yes" } diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index e1a6d179b6..95f1cb283c 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -19,9 +19,7 @@ /turf/closed/wall/mineral/plastitanium, /area/shuttle/syndicate) "aad" = ( -/turf/closed/wall/shuttle{ - icon_state = "wall3" - }, +/turf/closed/wall/mineral/plastitanium, /area/shuttle/syndicate) "aae" = ( /obj/effect/landmark/carpspawn, diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 595e4922db..ec76a564d5 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -79656,9 +79656,7 @@ /turf/open/floor/mineral/titanium, /area/shuttle/abandoned) "cVW" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall1" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "cVX" = ( /obj/structure/tank_dispenser/oxygen{ diff --git a/_maps/metastation.json b/_maps/metastation.json index 4b1b63499f..27ec0cb1db 100644 --- a/_maps/metastation.json +++ b/_maps/metastation.json @@ -4,4 +4,5 @@ "map_file": "MetaStation.dmm", "minetype": "lavaland", "transition_config": "default" + "allow_custom_shuttles": "yes" } \ No newline at end of file diff --git a/_maps/omegastation.json b/_maps/omegastation.json index 53fbc24def..808b9bc7eb 100644 --- a/_maps/omegastation.json +++ b/_maps/omegastation.json @@ -3,5 +3,6 @@ "map_path": "map_files/OmegaStation", "map_file": "OmegaStation.dmm", "minetype": "lavaland", - "transition_config": "default" + "transition_config": "default", + "allow_custom_shuttles": "yes" } \ No newline at end of file diff --git a/_maps/pubbystation.json b/_maps/pubbystation.json index 88a2702148..8781588624 100644 --- a/_maps/pubbystation.json +++ b/_maps/pubbystation.json @@ -3,5 +3,6 @@ "map_path": "map_files/PubbyStation", "map_file": "PubbyStation.dmm", "minetype": "lavaland", - "transition_config": "default" + "transition_config": "default", + "allow_custom_shuttles": "yes" } \ No newline at end of file diff --git a/_maps/runtimestation.json b/_maps/runtimestation.json index 664f6c98e0..a979e09f79 100644 --- a/_maps/runtimestation.json +++ b/_maps/runtimestation.json @@ -3,5 +3,6 @@ "map_path": "map_files/debug", "map_file": "runtimestation.dmm", "minetype": "lavaland", - "transition_config": "default" + "transition_config": "default", + "allow_custom_shuttles": "no" } diff --git a/_maps/shuttles/cargo_birdboat.dmm b/_maps/shuttles/cargo_birdboat.dmm index d892e13726..f05af797d1 100644 --- a/_maps/shuttles/cargo_birdboat.dmm +++ b/_maps/shuttles/cargo_birdboat.dmm @@ -6,16 +6,10 @@ /turf/closed/wall/mineral/titanium, /area/shuttle/supply) "c" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s10"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/supply) "d" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall3"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/supply) "e" = ( /obj/machinery/conveyor{ @@ -148,10 +142,7 @@ /turf/closed/wall/mineral/titanium/nodiagonal, /area/shuttle/supply) "t" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall14"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/supply) "u" = ( /obj/structure/window/reinforced{ @@ -161,10 +152,7 @@ /turf/open/floor/plating/airless, /area/shuttle/supply) "v" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc4"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/supply) "w" = ( /turf/open/space, diff --git a/_maps/shuttles/cargo_box.dmm b/_maps/shuttles/cargo_box.dmm index 08ae8d8267..a45006d7df 100644 --- a/_maps/shuttles/cargo_box.dmm +++ b/_maps/shuttles/cargo_box.dmm @@ -6,16 +6,10 @@ /turf/closed/wall/mineral/titanium, /area/shuttle/supply) "c" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s10"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/supply) "d" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall3"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/supply) "e" = ( /turf/open/floor/mineral/titanium/blue, @@ -81,10 +75,7 @@ /turf/open/floor/plating, /area/shuttle/supply) "k" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall7"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/supply) "l" = ( /turf/open/floor/mineral/titanium/blue, @@ -97,22 +88,13 @@ }, /area/shuttle/supply) "n" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall11"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/supply) "o" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s5"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/supply) "p" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall15"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/supply) "q" = ( /obj/structure/window/reinforced{ @@ -122,10 +104,7 @@ /turf/open/floor/plating/airless, /area/shuttle/supply) "r" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s9"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/supply) "s" = ( /turf/open/space, diff --git a/_maps/shuttles/emergency_asteroid.dmm b/_maps/shuttles/emergency_asteroid.dmm index 338b59da1d..457373132c 100644 --- a/_maps/shuttles/emergency_asteroid.dmm +++ b/_maps/shuttles/emergency_asteroid.dmm @@ -20,10 +20,7 @@ /turf/open/floor/mineral/titanium/yellow, /area/shuttle/escape) "af" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s10"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "ag" = ( /turf/open/space, @@ -53,10 +50,7 @@ /turf/open/floor/mineral/titanium, /area/shuttle/escape) "ak" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall12"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "al" = ( /obj/machinery/door/airlock/titanium{ @@ -78,10 +72,7 @@ /turf/open/floor/plating/airless, /area/shuttle/escape) "ao" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall11"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "ap" = ( /obj/structure/ore_box, @@ -95,19 +86,13 @@ /turf/open/floor/mineral/titanium/yellow, /area/shuttle/escape) "as" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall7"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "at" = ( /turf/open/floor/mineral/titanium, /area/shuttle/escape) "au" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall3"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "av" = ( /obj/structure/chair{ @@ -125,28 +110,20 @@ /turf/open/floor/mineral/plastitanium/brig, /area/shuttle/escape) "ay" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall15"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "az" = ( /turf/closed/wall/mineral/titanium/nodiagonal, /area/shuttle/escape) "aA" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall13"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aB" = ( /turf/open/floor/mineral/titanium, /turf/closed/wall/mineral/titanium/interior, /area/shuttle/escape) "aC" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_f11" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aD" = ( /obj/structure/window/shuttle, @@ -218,10 +195,7 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aO" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc1"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aP" = ( /obj/machinery/door/airlock/glass_security{ @@ -367,10 +341,7 @@ /area/shuttle/escape) "bo" = ( /obj/machinery/status_display, -/turf/closed/wall/shuttle{ - icon_state = "swall2"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "bp" = ( /obj/machinery/computer/crew, @@ -450,16 +421,10 @@ /turf/open/floor/mineral/titanium, /area/shuttle/escape) "bA" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s9"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "bB" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s5"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "bC" = ( /obj/item/device/radio/intercom{ diff --git a/_maps/shuttles/emergency_bar.dmm b/_maps/shuttles/emergency_bar.dmm index 955af902c0..19b6a85ea9 100644 --- a/_maps/shuttles/emergency_bar.dmm +++ b/_maps/shuttles/emergency_bar.dmm @@ -3,17 +3,14 @@ /turf/open/space, /area/space) "ab" = ( -/turf/closed/wall/mineral/titanium/overspace, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "ac" = ( /obj/effect/spawner/structure/window/shuttle, /turf/open/floor/plating, /area/shuttle/escape) "ad" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s10"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "ae" = ( /turf/closed/wall/mineral/titanium/nodiagonal, @@ -43,10 +40,7 @@ /turf/open/floor/carpet, /area/shuttle/escape) "aj" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc3"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "ak" = ( /obj/structure/extinguisher_cabinet{ @@ -117,28 +111,16 @@ /turf/open/floor/carpet, /area/shuttle/escape) "av" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall13"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aw" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall12"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "ax" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall14"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "ay" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall8"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "az" = ( /obj/machinery/door/airlock/glass{ @@ -152,10 +134,7 @@ /turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aB" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall4"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aC" = ( /obj/structure/chair, @@ -258,10 +237,7 @@ /turf/open/floor/plasteel/bar, /area/shuttle/escape) "aQ" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall7"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aR" = ( /obj/structure/table/wood/bar{ @@ -350,10 +326,7 @@ /turf/open/floor/plasteel/bar, /area/shuttle/escape) "bf" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall1"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "bg" = ( /obj/machinery/door/airlock/titanium{ @@ -384,10 +357,7 @@ /turf/open/floor/plasteel/bar, /area/shuttle/escape) "bl" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc2"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "bm" = ( /obj/machinery/door/airlock{ diff --git a/_maps/shuttles/emergency_box.dmm b/_maps/shuttles/emergency_box.dmm index 55900b8ee0..1645d971c2 100644 --- a/_maps/shuttles/emergency_box.dmm +++ b/_maps/shuttles/emergency_box.dmm @@ -10,10 +10,7 @@ /turf/open/floor/plating, /area/shuttle/escape) "ad" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s10"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "ae" = ( /turf/open/floor/mineral/titanium, @@ -110,22 +107,13 @@ /turf/open/floor/mineral/titanium, /area/shuttle/escape) "av" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall13"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aw" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall12"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "ax" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall14"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "ay" = ( /obj/machinery/door/airlock/glass{ @@ -225,16 +213,10 @@ /turf/open/floor/mineral/titanium, /area/shuttle/escape) "aN" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall7"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aO" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc4"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aP" = ( /obj/machinery/door/airlock/titanium{ @@ -306,10 +288,7 @@ /area/shuttle/escape) "aY" = ( /obj/machinery/status_display, -/turf/closed/wall/shuttle{ - icon_state = "swall14"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aZ" = ( /obj/machinery/door/airlock/glass{ @@ -318,10 +297,7 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "ba" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall11"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "bb" = ( /turf/open/floor/mineral/titanium/yellow, @@ -363,10 +339,7 @@ /turf/open/floor/mineral/titanium/yellow, /area/shuttle/escape) "bh" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s5"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "bi" = ( /obj/structure/window/reinforced{ diff --git a/_maps/shuttles/emergency_goon.dmm b/_maps/shuttles/emergency_goon.dmm index 1b41f6ef9b..dad0466b8b 100644 --- a/_maps/shuttles/emergency_goon.dmm +++ b/_maps/shuttles/emergency_goon.dmm @@ -45,20 +45,13 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "i" = ( -/turf/closed/wall/shuttle{ - icon_state = "wall_space"; - dir = 8 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "j" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall4" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "k" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall12" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "l" = ( /obj/machinery/vending/wallmed, @@ -70,9 +63,7 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "n" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall1" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "o" = ( /turf/open/floor/mineral/titanium/blue, @@ -161,14 +152,10 @@ /turf/open/floor/mineral/titanium/yellow, /area/shuttle/escape) "C" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall8" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "D" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall3" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "E" = ( /obj/machinery/door/airlock/glass{ @@ -227,22 +214,14 @@ /turf/open/floor/mineral/titanium/yellow, /area/shuttle/escape) "N" = ( -/turf/closed/wall/shuttle{ - icon_state = "wall_space"; - dir = 4 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "O" = ( -/turf/closed/wall/shuttle{ - icon_state = "wall_floor"; - dir = 8 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "P" = ( /obj/machinery/status_display, -/turf/closed/wall/shuttle{ - icon_state = "swall0" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "Q" = ( /obj/machinery/light, diff --git a/_maps/shuttles/emergency_meta.dmm b/_maps/shuttles/emergency_meta.dmm index cc49763c6b..641ea8d36f 100644 --- a/_maps/shuttles/emergency_meta.dmm +++ b/_maps/shuttles/emergency_meta.dmm @@ -13,10 +13,7 @@ /turf/closed/wall/mineral/titanium, /area/shuttle/escape) "ae" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall12"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "af" = ( /obj/machinery/door/airlock/titanium{ @@ -42,10 +39,7 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "ai" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s10"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aj" = ( /turf/open/space, @@ -55,10 +49,7 @@ }, /area/shuttle/escape) "ak" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall3"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "al" = ( /obj/structure/table, @@ -246,9 +237,7 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aD" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall1" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aE" = ( /obj/structure/chair{ @@ -293,9 +282,7 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aM" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall2" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aN" = ( /obj/machinery/status_display{ @@ -367,16 +354,10 @@ /turf/open/floor/mineral/titanium, /area/shuttle/escape) "aU" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall7"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aV" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall8"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aW" = ( /obj/machinery/door/airlock/command{ @@ -387,10 +368,7 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/escape) "aX" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall15"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aY" = ( /obj/machinery/door/airlock/glass_security{ @@ -419,10 +397,7 @@ /turf/open/floor/plasteel, /area/shuttle/escape) "bc" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall11"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "bd" = ( /obj/structure/chair{ @@ -502,10 +477,7 @@ /turf/open/floor/plasteel, /area/shuttle/escape) "br" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall4"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "bs" = ( /obj/structure/chair{ diff --git a/_maps/shuttles/emergency_mini.dmm b/_maps/shuttles/emergency_mini.dmm index a15cd97ef6..570b600743 100644 --- a/_maps/shuttles/emergency_mini.dmm +++ b/_maps/shuttles/emergency_mini.dmm @@ -195,10 +195,7 @@ /turf/open/floor/mineral/titanium, /area/shuttle/escape) "F" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall7"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /obj/structure/table, /obj/item/storage/firstaid/fire, /obj/item/storage/firstaid/regular{ diff --git a/_maps/shuttles/emergency_supermatter.dmm b/_maps/shuttles/emergency_supermatter.dmm index ae1bcfe983..5324551cec 100644 --- a/_maps/shuttles/emergency_supermatter.dmm +++ b/_maps/shuttles/emergency_supermatter.dmm @@ -14,10 +14,7 @@ /turf/open/floor/plating, /area/shuttle/escape) "ae" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s10"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "af" = ( /turf/closed/wall/mineral/titanium, @@ -44,9 +41,7 @@ /area/shuttle/escape) "ak" = ( /obj/structure/sign/radiation, -/turf/closed/wall/shuttle{ - icon_state = "swall3" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "al" = ( /obj/machinery/shower{ @@ -121,15 +116,10 @@ /turf/closed/wall/mineral/titanium/interior, /area/shuttle/escape) "ay" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_f5"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "az" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc1" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aA" = ( /obj/machinery/door/airlock/titanium{ @@ -177,15 +167,11 @@ /turf/open/floor/plating, /area/shuttle/escape) "aG" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc3" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aH" = ( /obj/machinery/status_display, -/turf/closed/wall/shuttle{ - icon_state = "swall12" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aI" = ( /obj/structure/sign/radiation, @@ -193,16 +179,10 @@ /area/shuttle/escape) "aJ" = ( /obj/structure/sign/radiation, -/turf/closed/wall/shuttle{ - icon_state = "swallc2"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aK" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc4"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/escape) "aL" = ( /obj/machinery/door/airlock/external{ diff --git a/_maps/shuttles/ferry_base.dmm b/_maps/shuttles/ferry_base.dmm index d4447ebe2f..f227228b85 100644 --- a/_maps/shuttles/ferry_base.dmm +++ b/_maps/shuttles/ferry_base.dmm @@ -67,16 +67,11 @@ /obj/structure/shuttle/engine/propulsion{ dir = 4 }, -/turf/closed/wall/shuttle{ - icon_state = "swall_s5"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/transport) "o" = ( /turf/open/floor/plasteel/shuttle, -/turf/closed/wall/mineral/titanium/interior{ - icon_state = "swall_f10" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/transport) "p" = ( /obj/structure/closet/crate, @@ -89,10 +84,7 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/transport) "r" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s9"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/transport) (1,1,1) = {" diff --git a/_maps/shuttles/ferry_lighthouse.dmm b/_maps/shuttles/ferry_lighthouse.dmm index bfecd3aae0..d7880e1164 100644 --- a/_maps/shuttles/ferry_lighthouse.dmm +++ b/_maps/shuttles/ferry_lighthouse.dmm @@ -99,10 +99,7 @@ /turf/closed/wall/mineral/titanium, /area/shuttle/transport) "ax" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall12"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/transport) "ay" = ( /obj/structure/window/shuttle, @@ -114,10 +111,7 @@ /turf/open/floor/plating, /area/shuttle/transport) "aA" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s10"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/transport) "aB" = ( /obj/structure/grille{ diff --git a/_maps/shuttles/ferry_meat.dmm b/_maps/shuttles/ferry_meat.dmm index e1582807fb..6384f0e057 100644 --- a/_maps/shuttles/ferry_meat.dmm +++ b/_maps/shuttles/ferry_meat.dmm @@ -6,13 +6,13 @@ /obj/structure/shuttle/engine/propulsion{ dir = 4 }, -/turf/closed/wall/mineral/titanium/overspace, +/turf/closed/wall/mineral/titanium, /area/shuttle/transport) "c" = ( /turf/closed/wall/mineral/titanium, /area/shuttle/transport) "d" = ( -/turf/closed/wall/mineral/titanium/overspace, +/turf/closed/wall/mineral/titanium, /area/shuttle/transport) "e" = ( /turf/open/floor/plasteel/freezer, @@ -123,16 +123,11 @@ /obj/structure/shuttle/engine/propulsion{ dir = 4 }, -/turf/closed/wall/shuttle{ - icon_state = "swall_s5"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/transport) "s" = ( /turf/open/floor/plasteel/freezer, -/turf/closed/wall/mineral/titanium/interior{ - icon_state = "swall_f10" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/transport) "t" = ( /obj/structure/closet/chefcloset, @@ -156,10 +151,7 @@ /turf/open/floor/plasteel/freezer, /area/shuttle/transport) "x" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s9"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/transport) (1,1,1) = {" diff --git a/_maps/shuttles/whiteship_box.dmm b/_maps/shuttles/whiteship_box.dmm index 1c44997198..a52eb6aa36 100644 --- a/_maps/shuttles/whiteship_box.dmm +++ b/_maps/shuttles/whiteship_box.dmm @@ -6,10 +6,7 @@ /turf/closed/wall/mineral/titanium/overspace, /area/shuttle/abandoned) "ac" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s10"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "ad" = ( /obj/machinery/door/airlock/titanium, @@ -30,10 +27,7 @@ /turf/open/floor/mineral/titanium, /area/shuttle/abandoned) "ae" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall12"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "af" = ( /obj/machinery/door/airlock/titanium, @@ -46,16 +40,10 @@ /turf/open/floor/plating/airless, /area/shuttle/abandoned) "ah" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall13"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "ai" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall11"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "aj" = ( /turf/open/floor/mineral/titanium, @@ -74,10 +62,7 @@ /turf/open/floor/mineral/titanium, /area/shuttle/abandoned) "am" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall3"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "an" = ( /obj/structure/shuttle/engine/propulsion{ @@ -99,10 +84,7 @@ /turf/closed/wall/mineral/titanium/interior, /area/shuttle/abandoned) "aq" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall15"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "ar" = ( /obj/machinery/computer/pod{ @@ -111,18 +93,13 @@ /turf/open/floor/mineral/titanium, /area/shuttle/abandoned) "as" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall7"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "at" = ( /turf/open/floor/plating, /area/shuttle/abandoned) "au" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_f13" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "av" = ( /obj/structure/rack, @@ -150,15 +127,10 @@ /turf/open/floor/plating, /area/shuttle/abandoned) "az" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_f12" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "aA" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall14"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "aB" = ( /obj/structure/shuttle/engine/propulsion/right{ @@ -181,9 +153,7 @@ /turf/open/floor/mineral/titanium, /area/shuttle/abandoned) "aF" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_f14" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "aG" = ( /obj/structure/rack, @@ -202,9 +172,7 @@ /turf/open/floor/mineral/titanium, /area/shuttle/abandoned) "aI" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_f11" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "aJ" = ( /obj/structure/chair{ diff --git a/_maps/shuttles/whiteship_meta.dmm b/_maps/shuttles/whiteship_meta.dmm index 8949b3d138..67847a4b9f 100644 --- a/_maps/shuttles/whiteship_meta.dmm +++ b/_maps/shuttles/whiteship_meta.dmm @@ -9,20 +9,14 @@ /turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "ad" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall12"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "ae" = ( /obj/effect/spawner/structure/window/shuttle, /turf/open/floor/plating, /area/shuttle/abandoned) "af" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc1"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "ag" = ( /obj/docking_port/mobile{ @@ -58,16 +52,10 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/abandoned) "ai" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc2"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "aj" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s10"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "ak" = ( /obj/structure/shuttle/engine/propulsion/left{ @@ -76,16 +64,10 @@ /turf/open/floor/plating/airless, /area/shuttle/abandoned) "al" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall13"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "am" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall11"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "an" = ( /obj/structure/toilet{ @@ -122,10 +104,7 @@ /turf/open/floor/mineral/titanium, /area/shuttle/abandoned) "ap" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall3"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "aq" = ( /obj/structure/closet/wardrobe/mixed, @@ -195,9 +174,7 @@ /turf/open/floor/mineral/titanium, /area/shuttle/abandoned) "av" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall1" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "aw" = ( /obj/structure/sign/vacuum{ @@ -329,16 +306,10 @@ /turf/open/floor/plating/airless, /area/shuttle/abandoned) "aE" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall7"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "aF" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall8"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "aG" = ( /obj/machinery/door/airlock/titanium{ @@ -601,9 +572,7 @@ /turf/open/floor/mineral/titanium, /area/shuttle/abandoned) "aZ" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall2" - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "ba" = ( /obj/effect/decal/cleanable/oil, @@ -645,10 +614,7 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/abandoned) "be" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall1"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "bf" = ( /obj/machinery/door/airlock/titanium{ @@ -671,16 +637,10 @@ /turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "bh" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall4"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "bi" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc4"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "bj" = ( /obj/machinery/door/airlock/titanium{ @@ -697,10 +657,7 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/abandoned) "bk" = ( -/turf/closed/wall/shuttle{ - icon_state = "swallc3"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "bl" = ( /obj/machinery/door/airlock/titanium{ @@ -1180,10 +1137,7 @@ /turf/open/floor/mineral/titanium, /area/shuttle/abandoned) "cc" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s5"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "cd" = ( /obj/machinery/vending/snack/random, @@ -1287,10 +1241,7 @@ /turf/open/floor/mineral/titanium/blue, /area/shuttle/abandoned) "cp" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall_s9"; - dir = 2 - }, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned) "cq" = ( /obj/item/storage/bag/plants/portaseeder, diff --git a/_maps/templates/small_shuttle_1.dmm b/_maps/templates/small_shuttle_1.dmm index 8dfe620914..71cd3cdca5 100644 --- a/_maps/templates/small_shuttle_1.dmm +++ b/_maps/templates/small_shuttle_1.dmm @@ -11,9 +11,7 @@ /area/space) "d" = ( /turf/open/space, -/turf/closed/wall/shuttle{ - icon_state = "swall_f10" - }, +/turf/closed/wall/mineral/titanium, /area/space) "e" = ( /turf/closed/wall/mineral/titanium, @@ -28,23 +26,17 @@ /turf/open/floor/mineral/titanium/blue, /area/space) "h" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall13" - }, +/turf/closed/wall/mineral/titanium, /area/space) "i" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall8" - }, +/turf/closed/wall/mineral/titanium, /area/space) "j" = ( /obj/machinery/door/unpowered/shuttle, /turf/open/floor/mineral/titanium/blue, /area/space) "k" = ( -/turf/closed/wall/shuttle{ - icon_state = "swall4" - }, +/turf/closed/wall/mineral/titanium, /area/space) "l" = ( /obj/structure/chair{ @@ -64,9 +56,7 @@ /area/space) "o" = ( /turf/open/space, -/turf/closed/wall/shuttle{ - icon_state = "swall_f5" - }, +/turf/closed/wall/mineral/titanium, /area/space) "p" = ( /obj/structure/shuttle/engine/propulsion/left, @@ -81,10 +71,7 @@ /turf/open/floor/plating/airless, /area/space) "s" = ( -/turf/open/space, -/turf/closed/wall/shuttle{ - icon_state = "swall_f9" - }, +/turf/closed/wall/mineral/titanium, /area/space) (1,1,1) = {" diff --git a/code/__DEFINES/logging.dm.rej b/code/__DEFINES/logging.dm.rej deleted file mode 100644 index 6a7a358a9c..0000000000 --- a/code/__DEFINES/logging.dm.rej +++ /dev/null @@ -1,9 +0,0 @@ -diff a/code/__DEFINES/logging.dm b/code/__DEFINES/logging.dm (rejected hunks) -@@ -9,6 +9,7 @@ - #define INVESTIGATE_SUPERMATTER "supermatter" - #define INVESTIGATE_TELESCI "telesci" - #define INVESTIGATE_WIRES "wires" -+#define INVESTIGATE_HALLUCINATIONS "hallucinations" - - //Individual logging defines - #define INDIVIDUAL_ATTACK_LOG "Attack log" diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index bff067dce1..52e324bd76 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -97,13 +97,11 @@ #define AI_IDLE 2 #define AI_OFF 3 +//determines if a mob can smash through it #define ENVIRONMENT_SMASH_NONE 0 - -#define ENVIRONMENT_SMASH_STRUCTURES 1 - -#define ENVIRONMENT_SMASH_WALLS 2 - -#define ENVIRONMENT_SMASH_RWALLS 3 +#define ENVIRONMENT_SMASH_STRUCTURES 1 //crates, lockers, ect +#define ENVIRONMENT_SMASH_WALLS 2 //walls +#define ENVIRONMENT_SMASH_RWALLS 4 //rwalls //SNPCs diff --git a/code/__DEFINES/status_effects.dm b/code/__DEFINES/status_effects.dm index cc8104f98b..d505f69ac9 100644 --- a/code/__DEFINES/status_effects.dm +++ b/code/__DEFINES/status_effects.dm @@ -42,6 +42,8 @@ #define STATUS_EFFECT_BELLIGERENT /datum/status_effect/belligerent //forces the affected to walk, doing damage if they try to run +#define STATUS_EFFECT_GEISTRACKER /datum/status_effect/geis_tracker //if you're using geis, this tracks that and keeps you from using scripture + #define STATUS_EFFECT_MANIAMOTOR /datum/status_effect/maniamotor //disrupts, damages, and confuses the affected as long as they're in range of the motor #define MAX_MANIA_SEVERITY 100 //how high the mania severity can go #define MANIA_DAMAGE_TO_CONVERT 90 //how much damage is required before it'll convert affected targets diff --git a/code/__HELPERS/_logging.dm b/code/__HELPERS/_logging.dm index 05b6aa1a15..cde5e0b4e7 100644 --- a/code/__HELPERS/_logging.dm +++ b/code/__HELPERS/_logging.dm @@ -97,8 +97,7 @@ WRITE_FILE(GLOB.world_game_log, "\[[time_stamp()]]CHAT: [text]") /proc/log_sql(text) - if(config.sql_enabled) - WRITE_FILE(GLOB.world_game_log, "\[[time_stamp()]]SQL: [text]") + WRITE_FILE(GLOB.sql_error_log, "\[[time_stamp()]]SQL: [text]") //This replaces world.log so it displays both in DD and the file /proc/log_world(text) diff --git a/code/__HELPERS/icon_smoothing.dm b/code/__HELPERS/icon_smoothing.dm index 849e5a01ee..33189ffcee 100644 --- a/code/__HELPERS/icon_smoothing.dm +++ b/code/__HELPERS/icon_smoothing.dm @@ -20,7 +20,7 @@ A non null 'fixed_underlay' list var will skip copying the previous turf appearance and always use the list. If the list is not set properly, the underlay will default to regular floor plating. - To see an example of a diagonal wall, see '/turf/closed/wall/shuttle' and its subtypes. + To see an example of a diagonal wall, see '/turf/closed/wall/mineral/titanium' and its subtypes. */ //Redefinitions of the diagonal directions so they can be stored in one var without conflicts diff --git a/code/__HELPERS/type2type.dm b/code/__HELPERS/type2type.dm index 7df96c3da2..60b5d82940 100644 --- a/code/__HELPERS/type2type.dm +++ b/code/__HELPERS/type2type.dm @@ -72,7 +72,9 @@ return . //Splits the text of a file at seperator and returns them in a list. -/world/proc/file2list(filename, seperator="\n") +/world/proc/file2list(filename, seperator="\n", trim = TRUE) + if (trim) + return splittext(trim(file2text(filename)),seperator) return splittext(file2text(filename),seperator) //Turns a direction into text @@ -551,4 +553,4 @@ return /atom else return /datum - return text2path(copytext(string_type, 1, last_slash)) \ No newline at end of file + return text2path(copytext(string_type, 1, last_slash)) diff --git a/code/_globalvars/lists/poll_ignore.dm b/code/_globalvars/lists/poll_ignore.dm index fadd68526d..f88c4aab85 100644 --- a/code/_globalvars/lists/poll_ignore.dm +++ b/code/_globalvars/lists/poll_ignore.dm @@ -6,5 +6,6 @@ #define POLL_IGNORE_ALIEN_LARVA "alien_larva" #define POLL_IGNORE_CLOCKWORK_MARAUDER "clockwork_marauder" #define POLL_IGNORE_SYNDICATE "syndicate" +#define POLL_IGNORE_HOLOPARASITE "holoparasite" GLOBAL_LIST_EMPTY(poll_ignore) diff --git a/code/_globalvars/logging.dm b/code/_globalvars/logging.dm index 72ca1e9328..5be6a8dbaa 100644 --- a/code/_globalvars/logging.dm +++ b/code/_globalvars/logging.dm @@ -12,6 +12,8 @@ GLOBAL_VAR(round_id) GLOBAL_PROTECT(round_id) GLOBAL_VAR(config_error_log) GLOBAL_PROTECT(config_error_log) +GLOBAL_VAR(sql_error_log) +GLOBAL_PROTECT(sql_error_log) GLOBAL_LIST_EMPTY(bombers) GLOBAL_PROTECT(bombers) diff --git a/code/citadel/cit_genemods.dm b/code/citadel/cit_genemods.dm index 01027f5d87..2d6b027db6 100644 --- a/code/citadel/cit_genemods.dm +++ b/code/citadel/cit_genemods.dm @@ -3,7 +3,7 @@ /obj/item/genemod name = "genetic modifier" desc = "Microbodies which can grow, morph, or otherwise change an organism into something else." - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "dnainjector" throw_speed = 3 throw_range = 5 diff --git a/code/datums/action.dm b/code/datums/action.dm index 5b3a5994cd..10cb2a239f 100644 --- a/code/datums/action.dm +++ b/code/datums/action.dm @@ -431,7 +431,7 @@ name = "Create Throwing Stars (1E)" desc = "Creates some throwing stars" button_icon_state = "throwingstar" - icon_icon = 'icons/obj/weapons.dmi' + icon_icon = 'icons/obj/items_and_weapons.dmi' /datum/action/item_action/ninjanet name = "Energy Net (20E)" @@ -443,7 +443,7 @@ name = "Recall Energy Katana (Variable Cost)" desc = "Teleports the Energy Katana linked to this suit to its wearer, cost based on distance." button_icon_state = "energy_katana" - icon_icon = 'icons/obj/weapons.dmi' + icon_icon = 'icons/obj/items_and_weapons.dmi' /datum/action/item_action/ninja_stealth name = "Toggle Stealth" diff --git a/code/datums/antagonists/devil.dm b/code/datums/antagonists/devil.dm index 733947fe28..9839dfe4ac 100644 --- a/code/datums/antagonists/devil.dm +++ b/code/datums/antagonists/devil.dm @@ -188,7 +188,7 @@ GLOBAL_LIST_INIT(devil_suffix, list(" the Red", " the Soulless", " the Master", if(form == BLOOD_LIZARD && SOULVALUE < BLOOD_THRESHOLD) regress_humanoid() if(SOULVALUE < 0) - remove_spells() + give_appropriate_spells() to_chat(owner.current, "As punishment for your failures, all of your powers except contract creation have been revoked.") /datum/antagonist/devil/proc/regress_humanoid() @@ -408,7 +408,7 @@ GLOBAL_LIST_INIT(devil_suffix, list(" the Red", " the Soulless", " the Master", reviveNumber += LOSS_PER_DEATH update_hud() if(body) - body.revive(1,0) + body.revive(TRUE, TRUE) //Adminrevive also recovers organs, preventing someone from resurrecting without a heart. if(istype(body.loc, /obj/effect/dummy/slaughter/)) body.forceMove(get_turf(body))//Fixes dying while jaunted leaving you permajaunted. if(istype(body, /mob/living/carbon/true_devil)) diff --git a/code/datums/callback.dm.rej b/code/datums/callback.dm.rej deleted file mode 100644 index 14faac8412..0000000000 --- a/code/datums/callback.dm.rej +++ /dev/null @@ -1,62 +0,0 @@ -diff a/code/datums/callback.dm b/code/datums/callback.dm (rejected hunks) -@@ -100,60 +100,3 @@ - if (object == GLOBAL_PROC) - return call(delegate)(arglist(calling_arguments)) - return call(object, delegate)(arglist(calling_arguments)) -- -- --/datum/callback_select -- var/list/finished -- var/pendingcount -- var/total -- --/datum/callback_select/New(count, savereturns) -- total = count -- if (savereturns) -- finished = new(count) -- -- --/datum/callback_select/proc/invoke_callback(index, datum/callback/callback, list/callback_args, savereturn = TRUE) -- set waitfor = FALSE -- if (!callback || !istype(callback)) -- //This check only exists because the alternative is callback_select would block forever if given invalid data -- CRASH("invalid callback passed to invoke_callback") -- if (!length(callback_args)) -- callback_args = list() -- pendingcount++ -- debug_usr("calling callback") -- var/rtn = callback.Invoke(arglist(callback_args)) -- debug_usr("callback returned") -- pendingcount-- -- if (savereturn) -- finished[index] = rtn -- -- -- -- --//runs a list of callbacks asynchronously, returning once all of them return. --//callbacks can be repeated. --//callbacks-args is a optional list of argument lists, in the same order as the callbacks, --// the inner lists will be sent to the callbacks when invoked() as additional args. --//can optionly save and return a list of return values, in the same order as the original list of callbacks --//resolution is the number of byond ticks between checks. --/proc/callback_select(list/callbacks, list/callback_args, savereturns = TRUE, resolution = 1) -- if (!callbacks) -- return -- var/count = length(callbacks) -- if (!count) -- return -- if (!callback_args) -- callback_args = list() -- -- callback_args.len = count -- -- var/datum/callback_select/CS = new(count, savereturns) -- for (var/i in 1 to count) -- CS.invoke_callback(i, callbacks[i], callback_args[i], savereturns) -- debug_usr("starting callbacks: [CS.pendingcount]") -- while(CS.pendingcount) -- debug_usr("callbacks: [CS.pendingcount]") -- sleep(resolution*world.tick_lag) -- return CS.finished -- diff --git a/code/datums/components/README.md b/code/datums/components/README.md index 15001bbfd7..93a846035f 100644 --- a/code/datums/components/README.md +++ b/code/datums/components/README.md @@ -56,7 +56,7 @@ Stands have a lot of procs which mimic mob procs. Rather than inserting hooks fo 1. `GET_COMPONENT(varname, component_type)` OR `GET_COMPONENT_FROM(varname, component_type, src)` * Shorthand for `var/component_type/varname = src.GetComponent(component_type)` 1. `/datum/proc/AddComponent(component_type(type), ...) -> datum/component` (public, final) - * Creates an instance of `component_type` in the datum and passes `...` to it's `New()` call + * Creates an instance of `component_type` in the datum and passes `...` to its `Initialize()` call * Sends the `COMSIG_COMPONENT_ADDED` signal to the datum * All components a datum owns are deleted with the datum * Returns the component that was created. Or the old component in a dupe situation where `COMPONENT_DUPE_UNIQUE` was set diff --git a/code/datums/components/component.dm b/code/datums/components/component.dm index 92ac9a4767..6b902a6ac6 100644 --- a/code/datums/components/component.dm +++ b/code/datums/components/component.dm @@ -19,15 +19,16 @@ old = P.GetExactComponent(type) else old = P.GetComponent(dt) - switch(dm) - if(COMPONENT_DUPE_UNIQUE) - old.InheritComponent(src, TRUE) - parent = null //prevent COMPONENT_REMOVING signal - qdel(src) - return - if(COMPONENT_DUPE_HIGHLANDER) - InheritComponent(old, FALSE) - qdel(old) + if(old) + switch(dm) + if(COMPONENT_DUPE_UNIQUE) + old.InheritComponent(src, TRUE) + parent = null //prevent COMPONENT_REMOVING signal + qdel(src) + return + if(COMPONENT_DUPE_HIGHLANDER) + InheritComponent(old, FALSE) + qdel(old) //let the others know P.SendSignal(COMSIG_COMPONENT_ADDED, src) diff --git a/code/datums/components/component.dm.rej b/code/datums/components/component.dm.rej deleted file mode 100644 index 3cf20d57b0..0000000000 --- a/code/datums/components/component.dm.rej +++ /dev/null @@ -1 +0,0 @@ -- \ No newline at end of file diff --git a/code/datums/map_config.dm b/code/datums/map_config.dm index 5238c65465..4c0a5fb11e 100644 --- a/code/datums/map_config.dm +++ b/code/datums/map_config.dm @@ -27,7 +27,7 @@ var/config_max_users = 0 var/config_min_users = 0 var/voteweight = 1 - + var/allow_custom_shuttles = "yes" /datum/map_config/New(filename = "data/next_map.json", default_to_box, delete_after) if(default_to_box) return @@ -44,12 +44,12 @@ if(!json) log_world("Could not open map_config: [filename]") return - + json = file2text(json) if(!json) log_world("map_config is not text: [filename]") return - + json = json_decode(json) if(!json) log_world("map_config is not json: [filename]") @@ -58,7 +58,7 @@ if(!ValidateJSON(json)) log_world("map_config failed to validate for above reason: [filename]") return - + config_filename = filename map_name = json["map_name"] @@ -66,6 +66,7 @@ map_file = json["map_file"] minetype = json["minetype"] + allow_custom_shuttles = json["allow_custom_shuttles"] var/list/jtcl = json["transition_config"] @@ -74,7 +75,7 @@ for(var/I in jtcl) transition_config[TransitionStringToEnum(I)] = TransitionStringToEnum(jtcl[I]) - + defaulted = FALSE #define CHECK_EXISTS(X) if(!istext(json[X])) { log_world(X + "missing from json!"); return; } @@ -84,6 +85,7 @@ CHECK_EXISTS("map_file") CHECK_EXISTS("minetype") CHECK_EXISTS("transition_config") + CHECK_EXISTS("allow_custom_shuttles") var/path = GetFullMapPath(json["map_path"], json["map_file"]) if(!fexists(path)) @@ -92,7 +94,7 @@ if(json["transition_config"] != "default") if(!islist(json["transition_config"])) - log_world("transition_config is not a list!") + log_world("transition_config is not a list!") return var/list/jtcl = json["transition_config"] diff --git a/code/datums/martial/sleeping_carp.dm b/code/datums/martial/sleeping_carp.dm index 469bbb94e8..ac5083cc17 100644 --- a/code/datums/martial/sleeping_carp.dm +++ b/code/datums/martial/sleeping_carp.dm @@ -184,7 +184,7 @@ throwforce = 20 throw_speed = 2 attack_verb = list("smashed", "slammed", "whacked", "thwacked") - icon = 'icons/obj/weapons.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "bostaff0" lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi' diff --git a/code/datums/riding.dm b/code/datums/riding.dm index 94e78304ee..6734221773 100644 --- a/code/datums/riding.dm +++ b/code/datums/riding.dm @@ -416,7 +416,7 @@ /obj/item/riding_offhand name = "offhand" - icon = 'icons/obj/weapons.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "offhand" w_class = WEIGHT_CLASS_HUGE flags_1 = ABSTRACT_1 | DROPDEL_1 | NOBLUDGEON_1 diff --git a/code/datums/riding.dm.rej b/code/datums/riding.dm.rej deleted file mode 100644 index 4be01081b1..0000000000 --- a/code/datums/riding.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/datums/riding.dm b/code/datums/riding.dm (rejected hunks) -@@ -419,7 +419,7 @@ - icon = 'icons/obj/items_and_weapons.dmi' - icon_state = "offhand" - w_class = WEIGHT_CLASS_HUGE -- flags = ABSTRACT | DROPDEL | NOBLUDGEON -+ flags_1 = ABSTRACT_1 | DROPDEL_1 | NOBLUDGEON_1 - resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF - var/mob/living/carbon/rider - var/mob/living/ridden diff --git a/code/datums/status_effects/debuffs.dm b/code/datums/status_effects/debuffs.dm index 2c651b7738..02e7d0f515 100644 --- a/code/datums/status_effects/debuffs.dm +++ b/code/datums/status_effects/debuffs.dm @@ -139,6 +139,20 @@ if(owner.m_intent == MOVE_INTENT_WALK) owner.toggle_move_intent() +/datum/status_effect/geis_tracker + id = "geis_tracker" + duration = -1 + alert_type = null + var/obj/structure/destructible/clockwork/geis_binding/binding + +/datum/status_effect/geis_tracker/on_creation(mob/living/new_owner, obj/structure/destructible/clockwork/geis_binding/new_binding) + . = ..() + if(.) + binding = new_binding + +/datum/status_effect/geis_tracker/tick() + if(QDELETED(binding)) + qdel(src) /datum/status_effect/maniamotor id = "maniamotor" diff --git a/code/game/area/Space_Station_13_areas.dm.rej b/code/game/area/Space_Station_13_areas.dm.rej deleted file mode 100644 index 841a8a2b0a..0000000000 --- a/code/game/area/Space_Station_13_areas.dm.rej +++ /dev/null @@ -1,29 +0,0 @@ -diff a/code/game/area/Space_Station_13_areas.dm b/code/game/area/Space_Station_13_areas.dm (rejected hunks) -@@ -535,15 +535,15 @@ NOTE: there are two lists of areas in the end of this file: centcom and station - /area/crew_quarters/toilet/fitness - name = "Fitness Toilets" - icon_state = "toilet" -- -+ - /area/crew_quarters/toilet/female - name = "Female Toilets" - icon_state = "toilet" -- -+ - /area/crew_quarters/toilet/male - name = "Male Toilets" - icon_state = "toilet" -- -+ - /area/crew_quarters/toilet/restrooms - name = "Restrooms" - icon_state = "toilet" -@@ -1009,7 +1009,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station - - /area/security/execution/transfer - name = "Transfer Centre" -- -+ - /area/security/execution/education - name = "Prisoner Education Chamber" - diff --git a/code/game/area/areas.dm.rej b/code/game/area/areas.dm.rej deleted file mode 100644 index 3c097d1229..0000000000 --- a/code/game/area/areas.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/area/areas.dm b/code/game/area/areas.dm (rejected hunks) -@@ -432,7 +432,7 @@ GLOBAL_LIST_EMPTY(teleportlocs) - // Ambience goes down here -- make sure to list each area seperately for ease of adding things in later, thanks! Note: areas adjacent to each other should have the same sounds to prevent cutoff when possible.- LastyScratch - if(L.client && !L.client.ambience_playing && L.client.prefs.toggles & SOUND_SHIP_AMBIENCE) - L.client.ambience_playing = 1 -- L << sound('sound/ambience/shipambience.ogg', repeat = 1, wait = 0, volume = 35, channel = CHANNEL_BUZZ) -+ SEND_SOUND(L, sound('sound/ambience/shipambience.ogg', repeat = 1, wait = 0, volume = 35, channel = CHANNEL_BUZZ)) - - if(!(L.client && (L.client.prefs.toggles & SOUND_AMBIENCE))) - return //General ambience check is below the ship ambience so one can play without the other diff --git a/code/game/gamemodes/blob/powers.dm.rej b/code/game/gamemodes/blob/powers.dm.rej deleted file mode 100644 index 27dc764a75..0000000000 --- a/code/game/gamemodes/blob/powers.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/gamemodes/blob/powers.dm b/code/game/gamemodes/blob/powers.dm (rejected hunks) -@@ -175,7 +175,7 @@ - SEND_SOUND(blobber, sound('sound/effects/attackblob.ogg')) - to_chat(blobber, "You are a blobbernaut!") - to_chat(blobber, "You are powerful, hard to kill, and slowly regenerate near nodes and cores, but will slowly die if not near the blob or if the factory that made you is killed.") -- to_chat(blobber, "You can communicate with other blobbernauts and GLOB.overminds via :b") -+ to_chat(blobber, "You can communicate with other blobbernauts and overminds via :b") - to_chat(blobber, "Your overmind's blob reagent is: [blob_reagent_datum.name]!") - to_chat(blobber, "The [blob_reagent_datum.name] reagent [blob_reagent_datum.shortdesc ? "[blob_reagent_datum.shortdesc]" : "[blob_reagent_datum.description]"]") - if(blobber) diff --git a/code/game/gamemodes/changeling/powers/mutations.dm b/code/game/gamemodes/changeling/powers/mutations.dm index dc290b8fa9..443720fefc 100644 --- a/code/game/gamemodes/changeling/powers/mutations.dm +++ b/code/game/gamemodes/changeling/powers/mutations.dm @@ -143,7 +143,7 @@ /obj/item/melee/arm_blade name = "arm blade" desc = "A grotesque blade made out of bone and flesh that cleaves through people as a hot knife through butter." - icon = 'icons/obj/weapons.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "arm_blade" item_state = "arm_blade" lefthand_file = 'icons/mob/inhands/antag/changeling_lefthand.dmi' @@ -222,7 +222,7 @@ /obj/item/gun/magic/tentacle name = "tentacle" desc = "A fleshy tentacle that can stretch out and grab things or people." - icon = 'icons/obj/weapons.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "tentacle" item_state = "tentacle" lefthand_file = 'icons/mob/inhands/antag/changeling_lefthand.dmi' @@ -396,7 +396,7 @@ name = "shield-like mass" desc = "A mass of tough, boney tissue. You can still see the fingers as a twisted pattern in the shield." flags_1 = ABSTRACT_1 | NODROP_1 | DROPDEL_1 - icon = 'icons/obj/weapons.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "ling_shield" lefthand_file = 'icons/mob/inhands/antag/changeling_lefthand.dmi' righthand_file = 'icons/mob/inhands/antag/changeling_righthand.dmi' diff --git a/code/game/gamemodes/changeling/powers/mutations.dm.rej b/code/game/gamemodes/changeling/powers/mutations.dm.rej deleted file mode 100644 index 57ff20a0b4..0000000000 --- a/code/game/gamemodes/changeling/powers/mutations.dm.rej +++ /dev/null @@ -1,19 +0,0 @@ -diff a/code/game/gamemodes/changeling/powers/mutations.dm b/code/game/gamemodes/changeling/powers/mutations.dm (rejected hunks) -@@ -395,7 +395,7 @@ - /obj/item/shield/changeling - name = "shield-like mass" - desc = "A mass of tough, boney tissue. You can still see the fingers as a twisted pattern in the shield." -- flags = ABSTRACT | NODROP | DROPDEL -+ flags_1 = ABSTRACT_1 | NODROP_1 | DROPDEL_1 - icon = 'icons/obj/items_and_weapons.dmi' - icon_state = "ling_shield" - lefthand_file = 'icons/mob/inhands/antag/changeling_lefthand.dmi' -@@ -443,7 +443,7 @@ - name = "flesh mass" - icon_state = "lingspacesuit" - desc = "A huge, bulky mass of pressure and temperature-resistant organic tissue, evolved to facilitate space travel." -- flags = STOPSPRESSUREDMAGE | NODROP | DROPDEL //Not THICKMATERIAL because it's organic tissue, so if somebody tries to inject something into it, it still ends up in your blood. (also balance but muh fluff) -+ flags_1 = STOPSPRESSUREDMAGE_1 | NODROP_1 | DROPDEL_1 //Not THICKMATERIAL_1 because it's organic tissue, so if somebody tries to inject something into it, it still ends up in your blood. (also balance but muh fluff) - allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/oxygen) - armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0, fire = 90, acid = 90) //No armor at all. - diff --git a/code/game/gamemodes/clock_cult/clock_effects/clock_sigils.dm b/code/game/gamemodes/clock_cult/clock_effects/clock_sigils.dm index 31a98f572f..507c673921 100644 --- a/code/game/gamemodes/clock_cult/clock_effects/clock_sigils.dm +++ b/code/game/gamemodes/clock_cult/clock_effects/clock_sigils.dm @@ -11,9 +11,21 @@ var/stat_affected = CONSCIOUS var/sigil_name = "Sigil" var/resist_string = "glows blinding white" //string for when a null rod blocks its effects, "glows [resist_string]" + var/list/component_refund = list() /obj/effect/clockwork/sigil/attackby(obj/item/I, mob/living/user, params) - if(I.force && !is_servant_of_ratvar(user)) + if(is_servant_of_ratvar(user)) + if(istype(I, /obj/item/clockwork/slab)) + user.visible_message("[user] starts to dispel [src]...", "You start to dispel [src]...") + if(do_after(user, 20, target = src)) + user.visible_message("[user] dispels [src]!", "You dispel [src]!") + for(var/i in component_refund) + if(component_refund[i]) + for(var/r in 1 to component_refund[i]) + generate_cache_component(i, src) + qdel(src) + return 1 + else if(I.force) user.visible_message("[user] scatters [src] with [I]!", "You scatter [src] with [I]!") qdel(src) return 1 @@ -63,6 +75,7 @@ light_power = 1 light_color = "#FAE48C" sigil_name = "Sigil of Transgression" + component_refund = list(HIEROPHANT_ANSIBLE = 1) /obj/effect/clockwork/sigil/transgression/sigil_effects(mob/living/L) var/target_flashed = L.flash_act() @@ -94,27 +107,33 @@ light_color = "#FAE48C" stat_affected = UNCONSCIOUS resist_string = "glows faintly yellow" + sigil_name = "Sigil of Submission" + component_refund = list(GEIS_CAPACITOR = 1) var/convert_time = 80 var/delete_on_finish = TRUE - sigil_name = "Sigil of Submission" var/glow_type = /obj/effect/temp_visual/ratvar/sigil/submission /obj/effect/clockwork/sigil/submission/sigil_effects(mob/living/L) + if(istype(L.buckled, /obj/structure/destructible/clockwork/geis_binding)) + if(is_servant_of_ratvar(L.pulledby)) + L.pulledby.stop_pulling() + if(is_servant_of_ratvar(L.buckled.pulledby)) + L.buckled.pulledby.stop_pulling() L.visible_message("[src] begins to glow a piercing magenta!", "You feel something start to invade your mind...") var/oldcolor = color - animate(src, color = "#AF0AAF", time = convert_time, flags_1 = ANIMATION_END_NOW) + animate(src, color = "#AF0AAF", time = convert_time, flags = ANIMATION_END_NOW) var/obj/effect/temp_visual/ratvar/sigil/glow if(glow_type) glow = new glow_type(get_turf(src)) animate(glow, alpha = 255, time = convert_time) var/I = 0 - while(I < convert_time && get_turf(L) == get_turf(src)) + while(I < convert_time && !QDELETED(L) && get_turf(L) == get_turf(src)) I++ sleep(1) - if(get_turf(L) != get_turf(src)) + if(QDELETED(L) || get_turf(L) != get_turf(src)) if(glow) qdel(glow) - animate(src, color = oldcolor, time = 20, flags_1 = ANIMATION_END_NOW) + animate(src, color = oldcolor, time = 20, flags = ANIMATION_END_NOW) addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 20) visible_message("[src] slowly stops glowing!") return @@ -136,7 +155,7 @@ to_chat(M, "[message] you!") else to_chat(M, "[message] [L.real_name]!") - animate(src, color = oldcolor, time = 20, flags_1 = ANIMATION_END_NOW) + animate(src, color = oldcolor, time = 20, flags = ANIMATION_END_NOW) addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 20) visible_message("[src] slowly stops glowing!") @@ -152,6 +171,7 @@ light_color = "#EC8A2D" resist_string = "glows faintly" sigil_name = "Sigil of Transmission" + component_refund = list(HIEROPHANT_ANSIBLE = 1) affects_servants = TRUE var/power_charge = 0 //starts with no power var/drain_range = 14 @@ -296,6 +316,7 @@ stat_affected = DEAD resist_string = "glows shimmering yellow" sigil_name = "Vitality Matrix" + component_refund = list(VANGUARD_COGWHEEL = 1) var/revive_cost = 150 var/sigil_active = FALSE var/animation_number = 3 //each cycle increments this by 1, at 4 it produces an animation and resets @@ -314,7 +335,7 @@ if((is_servant_of_ratvar(L) && L.suiciding) || sigil_active) return visible_message("[src] begins to glow bright blue!") - animate(src, alpha = 255, time = 10, flags_1 = ANIMATION_END_NOW) //we may have a previous animation going. finish it first, then do this one without delay. + animate(src, alpha = 255, time = 10, flags = ANIMATION_END_NOW) //we may have a previous animation going. finish it first, then do this one without delay. sleep(10) //as long as they're still on the sigil and are either not a servant or they're a servant AND it has remaining vitality while(L && (!is_servant_of_ratvar(L) || (is_servant_of_ratvar(L) && (GLOB.ratvar_awakens || GLOB.clockwork_vitality))) && get_turf(L) == get_turf(src)) @@ -380,4 +401,4 @@ animation_number = initial(animation_number) sigil_active = FALSE visible_message("[src] slowly stops glowing!") - animate(src, alpha = initial(alpha), time = 10, flags_1 = ANIMATION_END_NOW) + animate(src, alpha = initial(alpha), time = 10, flags = ANIMATION_END_NOW) diff --git a/code/game/gamemodes/clock_cult/clock_helpers/fabrication_helpers.dm b/code/game/gamemodes/clock_cult/clock_helpers/fabrication_helpers.dm index 0c740d7f36..18c8103eef 100644 --- a/code/game/gamemodes/clock_cult/clock_helpers/fabrication_helpers.dm +++ b/code/game/gamemodes/clock_cult/clock_helpers/fabrication_helpers.dm @@ -27,9 +27,6 @@ /turf/closed/wall/mineral/cult/fabrication_vals(mob/living/user, obj/item/clockwork/replica_fabricator/fabricator, silent) //no metal return list("operation_time" = 80, "new_obj_type" = /turf/closed/wall/clockwork, "power_cost" = POWER_WALL_TOTAL, "spawn_dir" = SOUTH) -/turf/closed/wall/shuttle/fabrication_vals(mob/living/user, obj/item/clockwork/replica_fabricator/fabricator, silent) //two sheets of metal - return list("operation_time" = 50, "new_obj_type" = /turf/closed/wall/clockwork, "power_cost" = POWER_WALL_TOTAL - (POWER_METAL * 2), "spawn_dir" = SOUTH) - /turf/closed/wall/r_wall/fabrication_vals(mob/living/user, obj/item/clockwork/replica_fabricator/fabricator, silent) return FALSE diff --git a/code/game/gamemodes/clock_cult/clock_helpers/slab_abilities.dm b/code/game/gamemodes/clock_cult/clock_helpers/slab_abilities.dm index 74d9112fc4..fb3a0c3de2 100644 --- a/code/game/gamemodes/clock_cult/clock_helpers/slab_abilities.dm +++ b/code/game/gamemodes/clock_cult/clock_helpers/slab_abilities.dm @@ -24,15 +24,10 @@ //For the Geis scripture; binds a target to convert. /obj/effect/proc_holder/slab/geis ranged_mousepointer = 'icons/effects/geis_target.dmi' - var/obj/structure/destructible/clockwork/geis_binding/binding //we always have a reference to the binding - var/obj/structure/destructible/clockwork/geis_binding/pulled_binding //we use this to see if we're pulling it or not - -/obj/effect/proc_holder/slab/geis/remove_ranged_ability(msg) - ..() - binding = null - pulled_binding = null /obj/effect/proc_holder/slab/geis/InterceptClickOn(mob/living/caller, params, atom/target) + if(..()) + return TRUE var/turf/T = ranged_ability_user.loc if(!isturf(T)) return TRUE @@ -40,20 +35,6 @@ var/target_is_binding = istype(target, /obj/structure/destructible/clockwork/geis_binding) if((target_is_binding || isliving(target)) && ranged_ability_user.Adjacent(target)) - if(in_progress || ..()) - var/mob/living/L = target - if(!pulled_binding) - if(target == binding || (isliving(target) && L.buckled == binding)) - pulled_binding = binding - ranged_ability_user.start_pulling(binding) - remove_mousepointer(ranged_ability_user.client) - ranged_mousepointer = 'icons/effects/geis_target_remove.dmi' - add_mousepointer(ranged_ability_user.client) - else if(target == pulled_binding || (isliving(target) && L.buckled == pulled_binding)) - ranged_ability_user.visible_message("[ranged_ability_user] dispels [pulled_binding]!", "You dispel the binding!") - binding.take_damage(obj_integrity) - remove_ranged_ability() - return TRUE if(target_is_binding) var/obj/structure/destructible/clockwork/geis_binding/GB = target GB.repair_and_interrupt() @@ -80,42 +61,19 @@ add_logs(ranged_ability_user, L, "rebound with Geis") successful = TRUE else - in_progress = TRUE clockwork_say(ranged_ability_user, text2ratvar("Be bound, heathen!")) - remove_mousepointer(ranged_ability_user.client) - ranged_mousepointer = 'icons/effects/geis_target_remove.dmi' - add_mousepointer(ranged_ability_user.client) add_logs(ranged_ability_user, L, "bound with Geis") - playsound(target, 'sound/magic/blink.ogg', 50, TRUE, frequency = 0.5) + playsound(target, 'sound/magic/blink.ogg', 50, TRUE, -4, frequency = 0.5) if(slab.speed_multiplier >= 0.5) //excuse my debug... ranged_ability_user.notransform = TRUE - addtimer(CALLBACK(src, .proc/reset_user_notransform, ranged_ability_user), 5) //stop us moving for a little bit so we don't break the binding immediately + addtimer(CALLBACK(src, .proc/reset_user_notransform, ranged_ability_user), 4) //stop us moving for a little bit so we don't break the binding immediately if(L.buckled) L.buckled.unbuckle_mob(target, TRUE) - binding = new(get_turf(target)) + var/obj/structure/destructible/clockwork/geis_binding/binding = new(get_turf(target)) binding.setDir(target.dir) binding.buckle_mob(target, TRUE) - pulled_binding = binding ranged_ability_user.start_pulling(binding) - slab.busy = "sustaining Geis" - slab.flags_1 |= NODROP_1 - while(!QDELETED(binding) && !QDELETED(ranged_ability_user)) - if(ranged_ability_user.pulling == binding) - pulled_binding = binding - if(ranged_ability_user.client && ranged_ability_user.client.mouse_pointer_icon == 'icons/effects/geis_target.dmi') - remove_mousepointer(ranged_ability_user.client) - ranged_mousepointer = 'icons/effects/geis_target_remove.dmi' - add_mousepointer(ranged_ability_user.client) - else //if we're not pulling it, swap our mousepointer - pulled_binding = null - if(ranged_ability_user.client && ranged_ability_user.client.mouse_pointer_icon == 'icons/effects/geis_target_remove.dmi') - remove_mousepointer(ranged_ability_user.client) - ranged_mousepointer = 'icons/effects/geis_target.dmi' - add_mousepointer(ranged_ability_user.client) - sleep(1) - if(!QDELETED(slab)) - slab.flags_1 &= ~NODROP_1 - in_progress = FALSE + ranged_ability_user.apply_status_effect(STATUS_EFFECT_GEISTRACKER, binding) successful = TRUE remove_ranged_ability() diff --git a/code/game/gamemodes/clock_cult/clock_items/ratvarian_spear.dm.rej b/code/game/gamemodes/clock_cult/clock_items/ratvarian_spear.dm.rej deleted file mode 100644 index f97e3c8c1f..0000000000 --- a/code/game/gamemodes/clock_cult/clock_items/ratvarian_spear.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/gamemodes/clock_cult/clock_items/ratvarian_spear.dm b/code/game/gamemodes/clock_cult/clock_items/ratvarian_spear.dm (rejected hunks) -@@ -6,6 +6,8 @@ - icon = 'icons/obj/clockwork_objects.dmi' - icon_state = "ratvarian_spear" - item_state = "ratvarian_spear" -+ lefthand_file = 'icons/mob/inhands/antag/clockwork_lefthand.dmi' -+ righthand_file = 'icons/mob/inhands/antag/clockwork_righthand.dmi' - force = 15 //Extra damage is dealt to targets in attack() - throwforce = 25 - armour_penetration = 10 diff --git a/code/game/gamemodes/clock_cult/clock_scripture.dm b/code/game/gamemodes/clock_cult/clock_scripture.dm index 382aaec10d..318d3e243d 100644 --- a/code/game/gamemodes/clock_cult/clock_scripture.dm +++ b/code/game/gamemodes/clock_cult/clock_scripture.dm @@ -57,6 +57,9 @@ Judgement: 12 servants, 5 caches, 300 CV, and any existing AIs are converted or if(slab.busy) to_chat(invoker, "[slab] refuses to work, displaying the message: \"[slab.busy]!\"") return FALSE + if(invoker.has_status_effect(STATUS_EFFECT_GEISTRACKER)) + to_chat(invoker, "[slab] refuses to work, displaying the message: \"Sustaining Geis!\"") + return FALSE slab.busy = "Invocation ([name]) in progress" if(GLOB.ratvar_awakens) channel_time *= 0.5 //if ratvar has awoken, half channel time and no cost diff --git a/code/game/gamemodes/clock_cult/clock_structures/geis_binding.dm b/code/game/gamemodes/clock_cult/clock_structures/geis_binding.dm index 734ea8eb17..029fd552e2 100644 --- a/code/game/gamemodes/clock_cult/clock_structures/geis_binding.dm +++ b/code/game/gamemodes/clock_cult/clock_structures/geis_binding.dm @@ -2,8 +2,8 @@ /obj/structure/destructible/clockwork/geis_binding name = "glowing ring" desc = "A flickering, glowing purple ring around a target." - clockwork_desc = "A binding ring around a target, preventing them from taking action while they're being converted." - max_integrity = 25 + clockwork_desc = "A binding ring around a target, preventing them from taking action." + max_integrity = 20 light_range = 2 light_power = 0.8 light_color = "#AF0AAF" @@ -18,6 +18,8 @@ can_buckle = TRUE buckle_lying = 0 var/mob_layer = MOB_LAYER + var/last_mob_health = 0 + var/apply_time = 0 /obj/structure/destructible/clockwork/geis_binding/Initialize(mapload, obj/item/clockwork/slab/the_slab) . = ..() @@ -33,21 +35,39 @@ icon_state = "geisbinding" /obj/structure/destructible/clockwork/geis_binding/process() + var/tick_damage = 1 + if(locate(/obj/effect/clockwork/sigil/submission) in loc) + tick_damage *= 0.5 if(LAZYLEN(buckled_mobs)) for(var/V in buckled_mobs) var/mob/living/L = V if(is_servant_of_ratvar(L)) //servants are freed automatically take_damage(obj_integrity) return - var/tick_damage = 1 - if(!is_servant_of_ratvar(pulledby)) - tick_damage++ + if(last_mob_health > L.health) + tick_damage += last_mob_health - L.health + last_mob_health = L.health + if(L.layer != mob_layer) + mob_layer = L.layer + layer = mob_layer - 0.01 + cut_overlays() + add_overlay(mutable_appearance('icons/effects/clockwork_effects.dmi', "geisbinding_top", mob_layer + 0.01)) + break take_damage(tick_damage, sound_effect = FALSE) - playsound(src, 'sound/effects/empulse.ogg', tick_damage * 20, TRUE) + playsound(src, 'sound/effects/empulse.ogg', tick_damage * 40, TRUE, -4) /obj/structure/destructible/clockwork/geis_binding/attack_hand(mob/living/user) return +/obj/structure/destructible/clockwork/geis_binding/attackby(obj/item/I, mob/user, params) + if(is_servant_of_ratvar(user) && istype(I, /obj/item/clockwork/slab)) + user.visible_message("[user] starts to dispel [src]...", "You start to dispel [src]...") + if(do_after(user, 30, target = src)) + user.visible_message("[user] dispels [src]!", "You dispel [src]!") + take_damage(obj_integrity) + return 1 + return ..() + /obj/structure/destructible/clockwork/geis_binding/emp_act(severity) new /obj/effect/temp_visual/emp(loc) qdel(src) @@ -56,16 +76,22 @@ ..() if(M.buckled == src) desc = "A flickering, glowing purple ring around [M]." - clockwork_desc = "A binding ring around [M], preventing [M.p_them()] from taking action while [M.p_theyre()] being converted." + clockwork_desc = "A binding ring around [M], preventing [M.p_them()] from taking action." icon_state = "geisbinding" mob_layer = M.layer - layer = M.layer - 0.01 - add_overlay(mutable_appearance('icons/effects/clockwork_effects.dmi', "geisbinding_top", M.layer + 0.01)) + layer = mob_layer - 0.01 + add_overlay(mutable_appearance('icons/effects/clockwork_effects.dmi', "geisbinding_top", mob_layer + 0.01)) + last_mob_health = M.health + apply_time = world.time for(var/obj/item/I in M.held_items) M.dropItemToGround(I) for(var/i in M.get_empty_held_indexes()) var/obj/item/geis_binding/B = new(M) M.put_in_hands(B, i) + if(iscarbon(M)) + var/mob/living/carbon/C = M + if(!C.handcuffed) + C.handcuffed = new /obj/item/restraints/handcuffs/energy/clock(C) M.regenerate_icons() M.visible_message("A [name] appears around [M]!", "A [name] appears around you!") repair_and_interrupt() @@ -79,8 +105,17 @@ animate(G, transform = matrix()*2, alpha = 0, time = 8, easing = EASE_OUT) animate(T, transform = matrix()*2, alpha = 0, time = 8, easing = EASE_OUT) M.visible_message("[src] snaps into glowing pieces and dissipates!") + M.AdjustStun(-130 + (apply_time - world.time), 1, 1) //remove exactly as much stun as was applied + if(iscarbon(M)) + var/mob/living/carbon/C = M + C.silent = max(C.silent - 7, 0) for(var/obj/item/geis_binding/GB in M.held_items) M.dropItemToGround(GB, TRUE) + if(iscarbon(M)) + var/mob/living/carbon/C = M + if(istype(C.handcuffed, /obj/item/restraints/handcuffs/energy/clock)) + QDEL_NULL(C.handcuffed) + C.update_handcuffed() /obj/structure/destructible/clockwork/geis_binding/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) playsound(src, 'sound/effects/empulse.ogg', 50, 1) @@ -130,3 +165,10 @@ /obj/item/geis_binding/pre_attackby(atom/target, mob/living/user, params) return FALSE + +/obj/item/restraints/handcuffs/energy/clock + name = "glowing rings" + desc = "Flickering rings preventing you from holding items." + icon = 'icons/effects/clockwork_effects.dmi' + icon_state = "geisbinding_full" + flags_1 = NODROP_1|ABSTRACT_1|DROPDEL_1 diff --git a/code/game/gamemodes/cult/cult_items.dm.rej b/code/game/gamemodes/cult/cult_items.dm.rej deleted file mode 100644 index cb9c6324c1..0000000000 --- a/code/game/gamemodes/cult/cult_items.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm (rejected hunks) -@@ -31,7 +31,7 @@ - /obj/item/melee/cultblade/ghost - name = "eldritch sword" - force = 19 //can't break normal airlocks -- flags = NODROP|DROPDEL -+ flags_1 = NODROP_1|DROPDEL_1 - - /obj/item/melee/cultblade/pickup(mob/living/user) - ..() diff --git a/code/game/gamemodes/cult/talisman.dm.rej b/code/game/gamemodes/cult/talisman.dm.rej deleted file mode 100644 index b4f739b6fc..0000000000 --- a/code/game/gamemodes/cult/talisman.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/gamemodes/cult/talisman.dm b/code/game/gamemodes/cult/talisman.dm (rejected hunks) -@@ -343,7 +343,7 @@ - desc = "Shackles that bind the wrists with sinister magic." - trashtype = /obj/item/restraints/handcuffs/energy/used - origin_tech = "materials=2;magnets=5" -- flags = DROPDEL -+ flags_1 = DROPDEL_1 - - /obj/item/restraints/handcuffs/energy/cult/used/dropped(mob/user) - user.visible_message("[user]'s shackles shatter in a discharge of dark magic!", \ diff --git a/code/game/gamemodes/gang/gang_items.dm b/code/game/gamemodes/gang/gang_items.dm index ab3b52ab98..2c36d1c345 100644 --- a/code/game/gamemodes/gang/gang_items.dm +++ b/code/game/gamemodes/gang/gang_items.dm @@ -431,7 +431,7 @@ /datum/gang_item/equipment/dominator/purchase(mob/living/carbon/user, datum/gang/gang, obj/item/device/gangtool/gangtool) var/area/usrarea = get_area(user.loc) var/usrturf = get_turf(user.loc) - if(initial(usrarea.name) == "Space" || isspaceturf(usrturf) || usr.z != ZLEVEL_STATION) + if(initial(usrarea.name) == "Space" || isspaceturf(usrturf) || usr.z != ZLEVEL_STATION || !usrarea.valid_territory) to_chat(user, "You can only use this on the station!") return FALSE diff --git a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm.rej b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm.rej deleted file mode 100644 index 7e66243e36..0000000000 --- a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm (rejected hunks) -@@ -499,7 +499,7 @@ Congratulations! You are now trained for invasive xenobiology research!"} - - /obj/item/restraints/handcuffs/energy/used - desc = "energy discharge" -- flags = DROPDEL -+ flags_1 = DROPDEL_1 - - /obj/item/restraints/handcuffs/energy/used/dropped(mob/user) - user.visible_message("[user]'s [src] break in a discharge of energy!", \ diff --git a/code/game/gamemodes/miniantags/abduction/abduction_outfits.dm.rej b/code/game/gamemodes/miniantags/abduction/abduction_outfits.dm.rej deleted file mode 100644 index 3e8b7d8f67..0000000000 --- a/code/game/gamemodes/miniantags/abduction/abduction_outfits.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/gamemodes/miniantags/abduction/abduction_outfits.dm b/code/game/gamemodes/miniantags/abduction/abduction_outfits.dm (rejected hunks) -@@ -23,7 +23,7 @@ - var/obj/item/clothing/suit/armor/abductor/vest/V = locate() in H - if(V) - console.AddVest(V) -- V.flags |= NODROP -+ V.flags_1 |= NODROP_1 - - var/obj/item/storage/backpack/B = locate() in H - if(B) diff --git a/code/game/gamemodes/miniantags/borer/borer.dm b/code/game/gamemodes/miniantags/borer/borer.dm index 2b83017d1d..aaeee27985 100644 --- a/code/game/gamemodes/miniantags/borer/borer.dm +++ b/code/game/gamemodes/miniantags/borer/borer.dm @@ -1093,7 +1093,7 @@ GLOBAL_VAR_INIT(total_borer_hosts_needed, 10) /datum/action/innate/borer/jumpstart_host name = "Jumpstart Host" desc = "Bring your host back to life." - icon_icon = 'icons/obj/weapons.dmi' + icon_icon = 'icons/obj/items_and_weapons.dmi' button_icon_state = "defibpaddles0" /datum/action/innate/borer/jumpstart_host/Activate() diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm index 3f7ed4e598..59e4db9893 100644 --- a/code/game/gamemodes/wizard/artefact.dm +++ b/code/game/gamemodes/wizard/artefact.dm @@ -202,7 +202,7 @@ /obj/item/multisword name = "multiverse sword" desc = "A weapon capable of conquering the universe and beyond. Activate it to summon copies of yourself from others dimensions to fight by your side." - icon = 'icons/obj/weapons.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "multiverse" item_state = "multiverse" lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' diff --git a/code/game/machinery/computer/buildandrepair.dm.rej b/code/game/machinery/computer/buildandrepair.dm.rej deleted file mode 100644 index f58657eeda..0000000000 --- a/code/game/machinery/computer/buildandrepair.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/machinery/computer/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm (rejected hunks) -@@ -136,7 +136,7 @@ - - - /obj/structure/frame/computer/deconstruct(disassembled = TRUE) -- if(!(flags & NODECONSTRUCT)) -+ if(!(flags_1 & NODECONSTRUCT_1)) - if(state == 4) - new /obj/item/shard(loc) - new /obj/item/shard(loc) diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index 997ed52b70..bf67e05f11 100755 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -456,7 +456,8 @@ dat += "
\[ Make a Captain's Announcement \]" if(config.cross_allowed) dat += "
\[ Send a message to an allied station \]" - dat += "
\[ Purchase Shuttle \]" + if(SSmapping.config.allow_custom_shuttles == "yes") + dat += "
\[ Purchase Shuttle \]" dat += "
\[ Change Alert Level \]" dat += "
\[ Emergency Maintenance Access \]" dat += "
\[ Request Nuclear Authentication Codes \]" diff --git a/code/game/machinery/doors/door.dm.rej b/code/game/machinery/doors/door.dm.rej deleted file mode 100644 index 7d3066935d..0000000000 --- a/code/game/machinery/doors/door.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm (rejected hunks) -@@ -163,7 +163,7 @@ - else if(istype(I, /obj/item/weldingtool)) - try_to_weld(I, user) - return 1 -- else if(!(I.flags & NOBLUDGEON) && user.a_intent != INTENT_HARM) -+ else if(!(I.flags_1 & NOBLUDGEON_1) && user.a_intent != INTENT_HARM) - try_to_activate_door(user) - return 1 - return ..() diff --git a/code/game/machinery/doors/windowdoor.dm.rej b/code/game/machinery/doors/windowdoor.dm.rej deleted file mode 100644 index 675a389de8..0000000000 --- a/code/game/machinery/doors/windowdoor.dm.rej +++ /dev/null @@ -1,19 +0,0 @@ -diff a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm (rejected hunks) -@@ -11,7 +11,7 @@ - integrity_failure = 0 - armor = list(melee = 20, bullet = 50, laser = 50, energy = 50, bomb = 10, bio = 100, rad = 100, fire = 70, acid = 100) - visible = FALSE -- flags = ON_BORDER -+ flags_1 = ON_BORDER_1 - opacity = 0 - CanAtmosPass = ATMOS_PASS_PROC - var/obj/item/electronics/airlock/electronics = null -@@ -221,7 +221,7 @@ - return - - add_fingerprint(user) -- if(!(flags&NODECONSTRUCT)) -+ if(!(flags_1&NODECONSTRUCT_1)) - if(istype(I, /obj/item/screwdriver)) - if(density || operating) - to_chat(user, "You need to open the door to access the maintenance panel!") diff --git a/code/game/machinery/firealarm.dm.rej b/code/game/machinery/firealarm.dm.rej deleted file mode 100644 index 3b656ac7fa..0000000000 --- a/code/game/machinery/firealarm.dm.rej +++ /dev/null @@ -1,16 +0,0 @@ -diff a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm (rejected hunks) -@@ -239,12 +239,12 @@ - alarm() - - /obj/machinery/firealarm/obj_break(damage_flag) -- if(!(stat & BROKEN) && !(flags & NODECONSTRUCT) && buildstage != 0) //can't break the electronics if there isn't any inside. -+ if(!(stat & BROKEN) && !(flags_1 & NODECONSTRUCT_1) && buildstage != 0) //can't break the electronics if there isn't any inside. - stat |= BROKEN - update_icon() - - /obj/machinery/firealarm/deconstruct(disassembled = TRUE) -- if(!(flags & NODECONSTRUCT)) -+ if(!(flags_1 & NODECONSTRUCT_1)) - new /obj/item/stack/sheet/metal(loc, 1) - if(!(stat & BROKEN)) - var/obj/item/I = new /obj/item/electronics/firealarm(loc) diff --git a/code/game/machinery/iv_drip.dm.rej b/code/game/machinery/iv_drip.dm.rej deleted file mode 100644 index 490beb519f..0000000000 --- a/code/game/machinery/iv_drip.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/machinery/iv_drip.dm b/code/game/machinery/iv_drip.dm (rejected hunks) -@@ -15,7 +15,7 @@ - /obj/item/reagent_containers/glass) - - /obj/machinery/iv_drip/Initialize() -- ..() -+ . = ..() - update_icon() - drip_containers = typecacheof(drip_containers) - diff --git a/code/game/machinery/limbgrower.dm.rej b/code/game/machinery/limbgrower.dm.rej deleted file mode 100644 index 6605f2e3da..0000000000 --- a/code/game/machinery/limbgrower.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/machinery/limbgrower.dm b/code/game/machinery/limbgrower.dm (rejected hunks) -@@ -10,7 +10,7 @@ - icon = 'icons/obj/machines/limbgrower.dmi' - icon_state = "limbgrower_idleoff" - density = TRUE -- container_type = OPENCONTAINER -+ container_type = OPENCONTAINER_1 - anchored = TRUE - use_power = IDLE_POWER_USE - idle_power_usage = 10 diff --git a/code/game/machinery/newscaster.dm.rej b/code/game/machinery/newscaster.dm.rej deleted file mode 100644 index 72b1edc08c..0000000000 --- a/code/game/machinery/newscaster.dm.rej +++ /dev/null @@ -1,18 +0,0 @@ -diff a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm (rejected hunks) -@@ -758,14 +758,14 @@ GLOBAL_LIST_EMPTY(allCasters) - - - /obj/machinery/newscaster/deconstruct(disassembled = TRUE) -- if(!(flags & NODECONSTRUCT)) -+ if(!(flags_1 & NODECONSTRUCT_1)) - new /obj/item/stack/sheet/metal(loc, 2) - new /obj/item/shard(loc) - new /obj/item/shard(loc) - qdel(src) - - /obj/machinery/newscaster/obj_break() -- if(!(stat & BROKEN) && !(flags & NODECONSTRUCT)) -+ if(!(stat & BROKEN) && !(flags_1 & NODECONSTRUCT_1)) - stat |= BROKEN - playsound(loc, 'sound/effects/glassbr3.ogg', 100, 1) - update_icon() diff --git a/code/game/machinery/porta_turret/portable_turret.dm.rej b/code/game/machinery/porta_turret/portable_turret.dm.rej deleted file mode 100644 index 0f16ca5ef3..0000000000 --- a/code/game/machinery/porta_turret/portable_turret.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm (rejected hunks) -@@ -664,7 +659,7 @@ - return ..() - - /obj/machinery/turretid/Initialize(mapload) //map-placed turrets autolink turrets -- ..() -+ . = ..() - if(!mapload) - return - diff --git a/code/game/machinery/recycler.dm.rej b/code/game/machinery/recycler.dm.rej deleted file mode 100644 index 2903c4ce1d..0000000000 --- a/code/game/machinery/recycler.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/machinery/recycler.dm b/code/game/machinery/recycler.dm (rejected hunks) -@@ -187,7 +187,7 @@ - name = "dangerous old crusher" - emagged = TRUE - crush_damage = 120 -- flags = NODECONSTRUCT -+ flags_1 = NODECONSTRUCT_1 - - /obj/item/paper/guides/recycler - name = "paper - 'garbage duty instructions'" diff --git a/code/game/machinery/shieldgen.dm.rej b/code/game/machinery/shieldgen.dm.rej deleted file mode 100644 index 12ce2d21dc..0000000000 --- a/code/game/machinery/shieldgen.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm (rejected hunks) -@@ -12,7 +12,7 @@ - - /obj/structure/emergency_shield/Initialize() - . = ..() -- setDir(pick(1,2,3,4)) -+ setDir(pick(GLOB.cardinals)) - air_update_turf(1) - - /obj/structure/emergency_shield/Destroy() diff --git a/code/game/machinery/telecomms/machines/allinone.dm b/code/game/machinery/telecomms/machines/allinone.dm index 8c73b96932..639b6355b8 100644 --- a/code/game/machinery/telecomms/machines/allinone.dm +++ b/code/game/machinery/telecomms/machines/allinone.dm @@ -12,7 +12,7 @@ use_power = NO_POWER_USE idle_power_usage = 0 machinetype = 6 - var/intercept = 0 // if nonzero, broadcasts all messages to syndicate channel + var/intercept = FALSE // if TRUE, broadcasts all (non-syndie) messages to syndicate channel /obj/machinery/telecomms/allinone/receive_signal(datum/signal/signal) @@ -33,12 +33,21 @@ sleep(signal.data["slow"]) // simulate the network lag if necessary /* ###### Broadcast a message using signal.data ###### */ - if(signal.frequency == GLOB.SYND_FREQ) // if syndicate broadcast, just + Broadcast_Message(signal.data["mob"], + signal.data["vmask"], + signal.data["radio"], signal.data["message"], + signal.data["name"], signal.data["job"], + signal.data["realname"],, signal.data["compression"], list(0, z), signal.frequency, signal.data["spans"], + signal.data["verb_say"], signal.data["verb_ask"], signal.data["verb_exclaim"], signal.data["verb_yell"], + signal.data["language"]) + + /* ###### Copy all non-syndie communications to the Syndicate Frequency ###### */ + if(intercept && signal.frequency != GLOB.SYND_FREQ) Broadcast_Message(signal.data["mob"], signal.data["vmask"], signal.data["radio"], signal.data["message"], signal.data["name"], signal.data["job"], - signal.data["realname"],, signal.data["compression"], list(0, z), signal.frequency, signal.data["spans"], + signal.data["realname"],, signal.data["compression"], list(0, z), GLOB.SYND_FREQ, signal.data["spans"], signal.data["verb_say"], signal.data["verb_ask"], signal.data["verb_exclaim"], signal.data["verb_yell"], signal.data["language"]) diff --git a/code/game/objects/effects/mines.dm b/code/game/objects/effects/mines.dm index 3a10578543..15a2397497 100644 --- a/code/game/objects/effects/mines.dm +++ b/code/game/objects/effects/mines.dm @@ -3,7 +3,7 @@ desc = "Better stay away from that thing." density = FALSE anchored = TRUE - icon = 'icons/obj/weapons.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "uglymine" var/triggered = 0 diff --git a/code/game/objects/effects/mines.dm.rej b/code/game/objects/effects/mines.dm.rej deleted file mode 100644 index d1d152fd06..0000000000 --- a/code/game/objects/effects/mines.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/objects/effects/mines.dm b/code/game/objects/effects/mines.dm (rejected hunks) -@@ -130,7 +130,7 @@ - new /datum/hallucination/delusion(victim, TRUE, "demon",duration,0) - - var/obj/item/twohanded/required/chainsaw/doomslayer/chainsaw = new(victim.loc) -- chainsaw.flags |= NODROP -+ chainsaw.flags_1 |= NODROP_1 - victim.drop_all_held_items() - victim.put_in_hands(chainsaw) - chainsaw.attack_self(victim) diff --git a/code/game/objects/effects/misc.dm b/code/game/objects/effects/misc.dm index 448f3cf815..f8ca514995 100644 --- a/code/game/objects/effects/misc.dm +++ b/code/game/objects/effects/misc.dm @@ -2,7 +2,7 @@ /obj/effect/spresent name = "strange present" desc = "It's a ... present?" - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "strangepresent" density = TRUE anchored = FALSE diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 586a8d5575..f1dde24690 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -6,7 +6,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) /obj/item name = "item" - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' var/item_state = null var/lefthand_file = 'icons/mob/inhands/items_lefthand.dmi' var/righthand_file = 'icons/mob/inhands/items_righthand.dmi' diff --git a/code/game/objects/items.dm.rej b/code/game/objects/items.dm.rej deleted file mode 100644 index 546d2c394c..0000000000 --- a/code/game/objects/items.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/objects/items.dm b/code/game/objects/items.dm (rejected hunks) -@@ -135,7 +135,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) - hitsound = "swing_hit" - - /obj/item/Destroy() -- flags &= ~DROPDEL //prevent reqdels -+ flags_1 &= ~DROPDEL_1 //prevent reqdels - if(ismob(loc)) - var/mob/m = loc - m.temporarilyRemoveItemFromInventory(src, TRUE) diff --git a/code/game/objects/items/blueprints.dm b/code/game/objects/items/blueprints.dm index 240c9c7b67..cd63cb0951 100644 --- a/code/game/objects/items/blueprints.dm +++ b/code/game/objects/items/blueprints.dm @@ -15,7 +15,7 @@ /obj/item/areaeditor name = "area modification item" - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "blueprints" attack_verb = list("attacked", "bapped", "hit") var/fluffnotice = "Nobody's gonna read this stuff!" @@ -49,7 +49,7 @@ /obj/item/areaeditor/blueprints name = "station blueprints" desc = "Blueprints of the station. There is a \"Classified\" stamp and several coffee stains on it." - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "blueprints" fluffnotice = "Property of Nanotrasen. For heads of staff only. Store in high-secure storage." resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF @@ -361,6 +361,6 @@ /obj/item/areaeditor/blueprints/cyborg name = "station schematics" desc = "A digital copy of the station blueprints stored in your memory." - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "blueprints" fluffnotice = "Intellectual Property of Nanotrasen. For use in engineering cyborgs only. Wipe from memory upon departure from the station." diff --git a/code/game/objects/items/charter.dm b/code/game/objects/items/charter.dm index cf49c7dfa7..d5134f729c 100644 --- a/code/game/objects/items/charter.dm +++ b/code/game/objects/items/charter.dm @@ -96,7 +96,7 @@ /obj/item/station_charter/flag name = "nanotrasen banner" - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' name_type = "planet" icon_state = "banner" item_state = "banner" diff --git a/code/game/objects/items/cosmetics.dm b/code/game/objects/items/cosmetics.dm index dab8ca6a91..4f2c1a620a 100644 --- a/code/game/objects/items/cosmetics.dm +++ b/code/game/objects/items/cosmetics.dm @@ -2,7 +2,7 @@ gender = PLURAL name = "red lipstick" desc = "A generic brand of lipstick." - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "lipstick" w_class = WEIGHT_CLASS_TINY var/colour = "red" @@ -105,7 +105,7 @@ /obj/item/razor name = "electric razor" desc = "The latest and greatest power razor born from the science of shaving." - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "razor" flags_1 = CONDUCT_1 w_class = WEIGHT_CLASS_TINY diff --git a/code/game/objects/items/courtroom.dm b/code/game/objects/items/courtroom.dm index 0c94046251..c0e81ed3d5 100644 --- a/code/game/objects/items/courtroom.dm +++ b/code/game/objects/items/courtroom.dm @@ -5,7 +5,7 @@ /obj/item/gavelhammer name = "gavel hammer" desc = "Order, order! No bombs in my courthouse." - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "gavelhammer" force = 5 throwforce = 6 @@ -21,7 +21,7 @@ /obj/item/gavelblock name = "gavel block" desc = "Smack it with a gavel hammer when the assistants get rowdy." - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "gavelblock" force = 2 throwforce = 2 diff --git a/code/game/objects/items/defib.dm b/code/game/objects/items/defib.dm index 04634c55d8..169c464bc0 100644 --- a/code/game/objects/items/defib.dm +++ b/code/game/objects/items/defib.dm @@ -4,7 +4,7 @@ /obj/item/defibrillator name = "defibrillator" desc = "A device that delivers powerful shocks to detachable paddles that resuscitate incapacitated patients." - icon = 'icons/obj/weapons.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "defibunit" item_state = "defibunit" lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' @@ -272,7 +272,7 @@ /obj/item/twohanded/shockpaddles name = "defibrillator paddles" desc = "A pair of plastic-gripped paddles with flat metal surfaces that are used to deliver powerful electric shocks." - icon = 'icons/obj/weapons.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "defibpaddles" item_state = "defibpaddles" force = 0 @@ -570,7 +570,7 @@ /obj/item/twohanded/shockpaddles/cyborg name = "cyborg defibrillator paddles" - icon = 'icons/obj/weapons.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "defibpaddles0" item_state = "defibpaddles0" lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' @@ -593,7 +593,7 @@ name = "syndicate defibrillator paddles" desc = "A pair of paddles used to revive deceased operatives. It possesses both the ability to penetrate armor and to deliver powerful shocks offensively." combat = TRUE - icon = 'icons/obj/weapons.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "defibpaddles0" item_state = "defibpaddles0" lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index 14d45e6293..a0616a0075 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -426,7 +426,10 @@ signal.frequency = freqnum // Quick frequency set for(var/obj/machinery/telecomms/receiver/R in GLOB.telecomms_list) R.receive_signal(signal) - + + // Allinone can act as receivers. (Unless of course whoever coded this last time forgot to put it in somewhere!) + for(var/obj/machinery/telecomms/allinone/R in GLOB.telecomms_list) + R.receive_signal(signal) spawn(20) // wait a little... diff --git a/code/game/objects/items/dna_injector.dm b/code/game/objects/items/dna_injector.dm index 2e211d1acc..b5c7c1ddce 100644 --- a/code/game/objects/items/dna_injector.dm +++ b/code/game/objects/items/dna_injector.dm @@ -1,7 +1,7 @@ /obj/item/dnainjector name = "\improper DNA injector" desc = "This injects the person with DNA." - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "dnainjector" lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' diff --git a/code/game/objects/items/extinguisher.dm b/code/game/objects/items/extinguisher.dm index e16dc2eccc..05ef0220de 100644 --- a/code/game/objects/items/extinguisher.dm +++ b/code/game/objects/items/extinguisher.dm @@ -1,7 +1,7 @@ /obj/item/extinguisher name = "fire extinguisher" desc = "A traditional red fire extinguisher." - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "fire_extinguisher0" item_state = "fire_extinguisher" hitsound = 'sound/weapons/smash.ogg' diff --git a/code/game/objects/items/handcuffs.dm b/code/game/objects/items/handcuffs.dm index fe82479022..bf5cf0417c 100644 --- a/code/game/objects/items/handcuffs.dm +++ b/code/game/objects/items/handcuffs.dm @@ -7,7 +7,7 @@ name = "handcuffs" desc = "Use this to keep prisoners in line." gender = PLURAL - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "handcuff" lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi' @@ -231,7 +231,7 @@ name = "leg cuffs" desc = "Use this to keep prisoners in line." gender = PLURAL - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "handcuff" lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi' diff --git a/code/game/objects/items/his_grace.dm b/code/game/objects/items/his_grace.dm index a5563e6d4f..3621a893e9 100644 --- a/code/game/objects/items/his_grace.dm +++ b/code/game/objects/items/his_grace.dm @@ -9,7 +9,7 @@ desc = "A toolbox painted bright green. Looking at it makes you feel uneasy." icon_state = "his_grace" item_state = "artistic_toolbox" - icon = 'icons/obj/weapons.dmi' + icon = 'icons/obj/items_and_weapons.dmi' w_class = WEIGHT_CLASS_GIGANTIC origin_tech = "combat=4;engineering=4;syndicate=2" force = 12 diff --git a/code/game/objects/items/holy_weapons.dm b/code/game/objects/items/holy_weapons.dm index fe42fab23c..6d377cdcc5 100644 --- a/code/game/objects/items/holy_weapons.dm +++ b/code/game/objects/items/holy_weapons.dm @@ -354,7 +354,7 @@ sharpness = IS_BLUNT hitsound = "swing_hit" attack_verb = list("smashed", "slammed", "whacked", "thwacked") - icon = 'icons/obj/weapons.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "bostaff0" item_state = "bostaff0" lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi' diff --git a/code/game/objects/items/implants/implant_explosive.dm b/code/game/objects/items/implants/implant_explosive.dm index c723ae5478..4d10fd1be5 100644 --- a/code/game/objects/items/implants/implant_explosive.dm +++ b/code/game/objects/items/implants/implant_explosive.dm @@ -44,7 +44,7 @@ active = TRUE var/turf/boomturf = get_turf(imp_in) var/area/A = get_area(boomturf) - message_admins("[ADMIN_LOOKUPFLW(imp_in)] has activated their [name] at [A.name] [ADMIN_JMP(boomturf)].") + message_admins("[ADMIN_LOOKUPFLW(imp_in)] has activated their [name] at [A.name] [ADMIN_JMP(boomturf)], with cause of [cause].") //If the delay is short, just blow up already jeez if(delay <= 7) explosion(src,heavy,medium,weak,weak, flame_range = weak) diff --git a/code/game/objects/items/implants/implantcase.dm b/code/game/objects/items/implants/implantcase.dm index 99bf1e2fe3..08681ac9e4 100644 --- a/code/game/objects/items/implants/implantcase.dm +++ b/code/game/objects/items/implants/implantcase.dm @@ -1,7 +1,7 @@ /obj/item/implantcase name = "implant case" desc = "A glass case containing an implant." - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "implantcase-0" item_state = "implantcase" lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' diff --git a/code/game/objects/items/implants/implanter.dm b/code/game/objects/items/implants/implanter.dm index 7a6a8ca2a9..24b1928dbc 100644 --- a/code/game/objects/items/implants/implanter.dm +++ b/code/game/objects/items/implants/implanter.dm @@ -1,7 +1,7 @@ /obj/item/implanter name = "implanter" desc = "A sterile automatic implant injector." - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "implanter0" item_state = "syringe_0" lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' diff --git a/code/game/objects/items/implants/implantpad.dm b/code/game/objects/items/implants/implantpad.dm index 3d73e208ee..cec3deeead 100644 --- a/code/game/objects/items/implants/implantpad.dm +++ b/code/game/objects/items/implants/implantpad.dm @@ -1,7 +1,7 @@ /obj/item/implantpad name = "implantpad" desc = "Used to modify implants." - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "implantpad-0" item_state = "electronic" lefthand_file = 'icons/mob/inhands/misc/devices_lefthand.dmi' diff --git a/code/game/objects/items/melee/misc.dm b/code/game/objects/items/melee/misc.dm index 658d2213bb..d2e1491937 100644 --- a/code/game/objects/items/melee/misc.dm +++ b/code/game/objects/items/melee/misc.dm @@ -33,7 +33,7 @@ /obj/item/melee/synthetic_arm_blade name = "synthetic arm blade" desc = "A grotesque blade that on closer inspection seems made of synthentic flesh, it still feels like it would hurt very badly as a weapon." - icon = 'icons/obj/weapons.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "arm_blade" item_state = "arm_blade" origin_tech = "combat=5;biotech=5" @@ -84,7 +84,7 @@ /obj/item/melee/classic_baton name = "police baton" desc = "A wooden truncheon for beating criminal scum." - icon = 'icons/obj/weapons.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "baton" item_state = "classic_baton" lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi' @@ -142,7 +142,7 @@ /obj/item/melee/classic_baton/telescopic name = "telescopic baton" desc = "A compact yet robust personal defense weapon. Can be concealed when folded." - icon = 'icons/obj/weapons.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "telebaton_0" lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi' @@ -195,7 +195,7 @@ /obj/item/melee/supermatter_sword name = "supermatter sword" desc = "In a station full of bad ideas, this might just be the worst." - icon = 'icons/obj/weapons.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "supermatter_sword" item_state = "supermatter_sword" lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' diff --git a/code/game/objects/items/miscellaneous.dm b/code/game/objects/items/miscellaneous.dm index 50bf184945..9837936e5f 100644 --- a/code/game/objects/items/miscellaneous.dm +++ b/code/game/objects/items/miscellaneous.dm @@ -15,7 +15,7 @@ /obj/item/skub desc = "It's skub." name = "skub" - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "skub" w_class = WEIGHT_CLASS_BULKY attack_verb = list("skubbed") diff --git a/code/game/objects/items/paint.dm b/code/game/objects/items/paint.dm index 519674effc..5e43d0fc5c 100644 --- a/code/game/objects/items/paint.dm +++ b/code/game/objects/items/paint.dm @@ -5,7 +5,7 @@ gender= PLURAL name = "paint" desc = "Used to recolor floors and walls. Can be removed by the janitor." - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "paint_neutral" item_color = "FFFFFF" item_state = "paintcan" diff --git a/code/game/objects/items/religion.dm b/code/game/objects/items/religion.dm index fc18f8632a..1edbba1f56 100644 --- a/code/game/objects/items/religion.dm +++ b/code/game/objects/items/religion.dm @@ -1,6 +1,6 @@ /obj/item/banner name = "banner" - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "banner" item_state = "banner" lefthand_file = 'icons/mob/inhands/equipment/banners_lefthand.dmi' diff --git a/code/game/objects/items/robot/robot_items.dm.rej b/code/game/objects/items/robot/robot_items.dm.rej deleted file mode 100644 index cfcbd37d1c..0000000000 --- a/code/game/objects/items/robot/robot_items.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm (rejected hunks) -@@ -151,7 +151,7 @@ - /obj/item/borg/charger - name = "power connector" - icon_state = "charger_draw" -- flags = NOBLUDGEON -+ flags_1 = NOBLUDGEON_1 - var/mode = "draw" - var/static/list/charge_machines = typecacheof(list(/obj/machinery/cell_charger, /obj/machinery/recharger, /obj/machinery/recharge_station, /obj/machinery/mech_bay_recharge_port)) - var/static/list/charge_items = typecacheof(list(/obj/item/stock_parts/cell, /obj/item/gun/energy)) diff --git a/code/game/objects/items/shields.dm b/code/game/objects/items/shields.dm index d09a867a77..83e8715c54 100644 --- a/code/game/objects/items/shields.dm +++ b/code/game/objects/items/shields.dm @@ -6,7 +6,7 @@ /obj/item/shield/riot name = "riot shield" desc = "A shield adept at blocking blunt objects from connecting with the torso of the shield wielder." - icon = 'icons/obj/weapons.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "riot" lefthand_file = 'icons/mob/inhands/equipment/shields_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/shields_righthand.dmi' @@ -61,7 +61,7 @@ /obj/item/shield/energy name = "energy combat shield" desc = "A shield capable of stopping most melee attacks. Protects user from almost all energy projectiles. It can be retracted, expanded, and stored anywhere." - icon = 'icons/obj/weapons.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "eshield0" // eshield1 for expanded lefthand_file = 'icons/mob/inhands/equipment/shields_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/shields_righthand.dmi' @@ -106,7 +106,7 @@ /obj/item/shield/riot/tele name = "telescopic shield" desc = "An advanced riot shield made of lightweight materials that collapses for easy storage." - icon = 'icons/obj/weapons.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "teleriot0" lefthand_file = 'icons/mob/inhands/equipment/shields_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/shields_righthand.dmi' diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index 945d47ee80..92da7f52e7 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -1,7 +1,7 @@ /obj/item/stack/medical name = "medical pack" singular_name = "medical pack" - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' amount = 6 max_amount = 6 w_class = WEIGHT_CLASS_TINY diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index 1c665f4e24..8056674074 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -63,7 +63,7 @@ GLOBAL_LIST_INIT(sandstone_recipes, list ( \ /obj/item/stack/sheet/mineral/sandbags name = "sandbags" - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "sandbags" singular_name = "sandbag" layer = LOW_ITEM_LAYER @@ -81,7 +81,7 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( \ /obj/item/emptysandbag name = "empty sandbag" desc = "A bag to be filled with sand." - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "sandbag" w_class = WEIGHT_CLASS_TINY diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index cb61eefa51..5d87c4b38e 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -159,7 +159,7 @@ GLOBAL_LIST_INIT(wood_recipes, list ( \ desc = "One can only guess that this is a bunch of wood." singular_name = "wood plank" icon_state = "sheet-wood" - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' origin_tech = "materials=1;biotech=1" sheettype = "wood" armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 50, acid = 0) @@ -270,7 +270,7 @@ GLOBAL_LIST_INIT(runed_metal_recipes, list ( \ desc = "Sheets of cold metal with shifting inscriptions writ upon them." singular_name = "runed metal sheet" icon_state = "sheet-runed" - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' sheettype = "runed" merge_type = /obj/item/stack/sheet/runed_metal novariants = TRUE @@ -321,7 +321,7 @@ GLOBAL_LIST_INIT(brass_recipes, list ( \ desc = "Sheets made out of brass." singular_name = "brass sheet" icon_state = "sheet-brass" - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' resistance_flags = FIRE_PROOF | ACID_PROOF throwforce = 10 max_amount = 50 diff --git a/code/game/objects/items/stacks/wrap.dm b/code/game/objects/items/stacks/wrap.dm index 9d25a49314..8d42b97e95 100644 --- a/code/game/objects/items/stacks/wrap.dm +++ b/code/game/objects/items/stacks/wrap.dm @@ -7,7 +7,7 @@ /obj/item/stack/wrapping_paper name = "wrapping paper" desc = "Wrap packages with this festive paper to make gifts." - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "wrap_paper" flags_1 = NOBLUDGEON_1 amount = 25 @@ -28,7 +28,7 @@ /obj/item/stack/packageWrap name = "package wrapper" desc = "You can use this to wrap items in." - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "deliveryPaper" flags_1 = NOBLUDGEON_1 amount = 25 @@ -109,7 +109,7 @@ /obj/item/c_tube name = "cardboard tube" desc = "A tube... of cardboard." - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "c_tube" throwforce = 0 w_class = WEIGHT_CLASS_TINY diff --git a/code/game/objects/items/stacks/wrap.dm.rej b/code/game/objects/items/stacks/wrap.dm.rej deleted file mode 100644 index c8433b06fe..0000000000 --- a/code/game/objects/items/stacks/wrap.dm.rej +++ /dev/null @@ -1,19 +0,0 @@ -diff a/code/game/objects/items/stacks/wrap.dm b/code/game/objects/items/stacks/wrap.dm (rejected hunks) -@@ -9,7 +9,7 @@ - desc = "Wrap packages with this festive paper to make gifts." - icon = 'icons/obj/items_and_weapons.dmi' - icon_state = "wrap_paper" -- flags = NOBLUDGEON -+ flags_1 = NOBLUDGEON_1 - amount = 25 - max_amount = 25 - resistance_flags = FLAMMABLE -@@ -30,7 +30,7 @@ - desc = "You can use this to wrap items in." - icon = 'icons/obj/items_and_weapons.dmi' - icon_state = "deliveryPaper" -- flags = NOBLUDGEON -+ flags_1 = NOBLUDGEON_1 - amount = 25 - max_amount = 25 - resistance_flags = FLAMMABLE diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm index ae45b724b4..7b8b6c385c 100644 --- a/code/game/objects/items/storage/boxes.dm +++ b/code/game/objects/items/storage/boxes.dm @@ -1,893 +1,892 @@ -/* - * Everything derived from the common cardboard box. - * Basically everything except the original is a kit (starts full). - * - * Contains: - * Empty box, starter boxes (survival/engineer), - * Latex glove and sterile mask boxes, - * Syringe, beaker, dna injector boxes, - * Blanks, flashbangs, and EMP grenade boxes, - * Tracking and chemical implant boxes, - * Prescription glasses and drinking glass boxes, - * Condiment bottle and silly cup boxes, - * Donkpocket and monkeycube boxes, - * ID and security PDA cart boxes, - * Handcuff, mousetrap, and pillbottle boxes, - * Snap-pops and matchboxes, - * Replacement light boxes. - * Action Figure Boxes - * Various paper bags. - * - * For syndicate call-ins see uplink_kits.dm - */ - -/obj/item/storage/box - name = "box" - desc = "It's just an ordinary box." - icon_state = "box" - item_state = "syringe_kit" - lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' - righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' - resistance_flags = FLAMMABLE - var/foldable = /obj/item/stack/sheet/cardboard - var/illustration = "writing" - -/obj/item/storage/box/Initialize(mapload) - . = ..() - update_icon() - -/obj/item/storage/box/update_icon() - . = ..() - if(illustration) - cut_overlays() - add_overlay(illustration) - -/obj/item/storage/box/attack_self(mob/user) - ..() - - if(!foldable) - return - if(contents.len) - to_chat(user, "You can't fold this box with items still inside!") - return - if(!ispath(foldable)) - return - - //Close any open UI windows first - close_all() - - to_chat(user, "You fold [src] flat.") - var/obj/item/I = new foldable(get_turf(src)) - user.drop_item() - user.put_in_hands(I) - user.update_inv_hands() - qdel(src) - -/obj/item/storage/box/attackby(obj/item/W, mob/user, params) - if(istype(W, /obj/item/stack/packageWrap)) - return 0 - return ..() - - -//Disk boxes -/obj/item/storage/box/disks - name = "diskette box" - illustration = "disk_kit" - -/obj/item/storage/box/disks/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/disk/data(src) - - -/obj/item/storage/box/disks_plantgene - name = "plant data disks box" - illustration = "disk_kit" - -/obj/item/storage/box/disks_plantgene/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/disk/plantgene(src) - -// Ordinary survival box -/obj/item/storage/box/survival/PopulateContents() - new /obj/item/clothing/mask/breath(src) - new /obj/item/tank/internals/emergency_oxygen(src) - new /obj/item/reagent_containers/hypospray/medipen(src) - -/obj/item/storage/box/survival/radio/PopulateContents() - ..() // we want the survival stuff too. - new /obj/item/device/radio/off(src) - -/obj/item/storage/box/survival_mining/PopulateContents() - new /obj/item/clothing/mask/gas/explorer(src) - new /obj/item/tank/internals/emergency_oxygen/engi(src) - new /obj/item/crowbar/red(src) - new /obj/item/reagent_containers/hypospray/medipen(src) - - -// Engineer survival box -/obj/item/storage/box/engineer/PopulateContents() - new /obj/item/clothing/mask/breath(src) - new /obj/item/tank/internals/emergency_oxygen/engi(src) - new /obj/item/reagent_containers/hypospray/medipen(src) - -/obj/item/storage/box/engineer/radio/PopulateContents() - ..() // we want the regular items too. - new /obj/item/device/radio/off(src) - -// Syndie survival box -/obj/item/storage/box/syndie/PopulateContents() - new /obj/item/clothing/mask/gas/syndicate(src) - new /obj/item/tank/internals/emergency_oxygen/engi(src) - -// Security survival box -/obj/item/storage/box/security/PopulateContents() - new /obj/item/clothing/mask/gas/sechailer(src) - new /obj/item/tank/internals/emergency_oxygen(src) - new /obj/item/reagent_containers/hypospray/medipen(src) - -/obj/item/storage/box/security/radio/PopulateContents() - ..() // we want the regular stuff too - new /obj/item/device/radio/off(src) - -/obj/item/storage/box/gloves - name = "box of latex gloves" - desc = "Contains sterile latex gloves." - illustration = "latex" - -/obj/item/storage/box/gloves/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/clothing/gloves/color/latex(src) - -/obj/item/storage/box/masks - name = "box of sterile masks" - desc = "This box contains sterile medical masks." - illustration = "sterile" - -/obj/item/storage/box/masks/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/clothing/mask/surgical(src) - -/obj/item/storage/box/syringes - name = "box of syringes" - desc = "A box full of syringes." - illustration = "syringe" - -/obj/item/storage/box/syringes/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/reagent_containers/syringe(src) - -/obj/item/storage/box/medipens - name = "box of medipens" - desc = "A box full of epinephrine MediPens." - illustration = "syringe" - -/obj/item/storage/box/medipens/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/reagent_containers/hypospray/medipen(src) - -/obj/item/storage/box/medipens/utility - name = "stimpack value kit" - desc = "A box with several stimpack medipens for the economical miner." - illustration = "syringe" - -/obj/item/storage/box/medipens/utility/PopulateContents() - ..() // includes regular medipens. - for(var/i in 1 to 5) - new /obj/item/reagent_containers/hypospray/medipen/stimpack(src) - -/obj/item/storage/box/beakers - name = "box of beakers" - illustration = "beaker" - -/obj/item/storage/box/beakers/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/reagent_containers/glass/beaker( src ) - -/obj/item/storage/box/injectors - name = "box of DNA injectors" - desc = "This box contains injectors, it seems." - -/obj/item/storage/box/injectors/PopulateContents() - for(var/i in 1 to 3) - new /obj/item/dnainjector/h2m(src) - for(var/i in 1 to 3) - new /obj/item/dnainjector/m2h(src) - -/obj/item/storage/box/flashbangs - name = "box of flashbangs (WARNING)" - desc = "WARNING: These devices are extremely dangerous and can cause blindness or deafness in repeated use." - icon_state = "secbox" - illustration = "flashbang" - -/obj/item/storage/box/flashbangs/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/grenade/flashbang(src) - -/obj/item/storage/box/flashes - name = "box of flashbulbs" - desc = "WARNING: Flashes can cause serious eye damage, protective eyewear is required." - icon_state = "secbox" - illustration = "flashbang" - -/obj/item/storage/box/flashes/PopulateContents() - for(var/i in 1 to 6) - new /obj/item/device/assembly/flash/handheld(src) - -/obj/item/storage/box/wall_flash - name = "wall-mounted flash kit" - desc = "This box contains everything necessary to build a wall-mounted flash. WARNING: Flashes can cause serious eye damage, protective eyewear is required." - illustration = "flashbang" - -/obj/item/storage/box/wall_flash/PopulateContents() - var/id = rand(1000, 9999) - // FIXME what if this conflicts with an existing one? - - new /obj/item/wallframe/button(src) - new /obj/item/electronics/airlock(src) - var/obj/item/device/assembly/control/flasher/remote = new(src) - remote.id = id - var/obj/item/wallframe/flasher/frame = new(src) - frame.id = id - new /obj/item/device/assembly/flash/handheld(src) - new /obj/item/screwdriver(src) - - -/obj/item/storage/box/teargas - name = "box of tear gas grenades (WARNING)" - desc = "WARNING: These devices are extremely dangerous and can cause blindness and skin irritation." - illustration = "flashbang" - -/obj/item/storage/box/teargas/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/grenade/chem_grenade/teargas(src) - -/obj/item/storage/box/emps - name = "box of emp grenades" - desc = "A box with 5 emp grenades." - illustration = "flashbang" - -/obj/item/storage/box/emps/PopulateContents() - for(var/i in 1 to 5) - new /obj/item/grenade/empgrenade(src) - -/obj/item/storage/box/trackimp - name = "boxed tracking implant kit" - desc = "Box full of scum-bag tracking utensils." - illustration = "implant" - -/obj/item/storage/box/trackimp/PopulateContents() - for(var/i in 1 to 4) - new /obj/item/implantcase/tracking(src) - new /obj/item/implanter(src) - new /obj/item/implantpad(src) - new /obj/item/locator(src) - -/obj/item/storage/box/minertracker - name = "boxed tracking implant kit" - desc = "For finding those who have died on the accursed lavaworld." - illustration = "implant" - -/obj/item/storage/box/minertracker/PopulateContents() - for(var/i in 1 to 3) - new /obj/item/implantcase/tracking(src) - new /obj/item/implanter(src) - new /obj/item/implantpad(src) - new /obj/item/locator(src) - -/obj/item/storage/box/chemimp - name = "boxed chemical implant kit" - desc = "Box of stuff used to implant chemicals." - illustration = "implant" - -/obj/item/storage/box/chemimp/PopulateContents() - for(var/i in 1 to 5) - new /obj/item/implantcase/chem(src) - new /obj/item/implanter(src) - new /obj/item/implantpad(src) - -/obj/item/storage/box/exileimp - name = "boxed exile implant kit" - desc = "Box of exile implants. It has a picture of a clown being booted through the Gateway." - illustration = "implant" - -/obj/item/storage/box/exileimp/PopulateContents() - for(var/i in 1 to 5) - new /obj/item/implantcase/exile(src) - new /obj/item/implanter(src) - -/obj/item/storage/box/bodybags - name = "body bags" - desc = "The label indicates that it contains body bags." - illustration = "bodybags" - -/obj/item/storage/box/bodybags/PopulateContents() - ..() - for(var/i in 1 to 7) - new /obj/item/bodybag(src) - -/obj/item/storage/box/rxglasses - name = "box of prescription glasses" - desc = "This box contains nerd glasses." - illustration = "glasses" - -/obj/item/storage/box/rxglasses/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/clothing/glasses/regular(src) - -/obj/item/storage/box/drinkingglasses - name = "box of drinking glasses" - desc = "It has a picture of drinking glasses on it." - -/obj/item/storage/box/drinkingglasses/PopulateContents() - for(var/i in 1 to 6) - new /obj/item/reagent_containers/food/drinks/drinkingglass(src) - -/obj/item/storage/box/condimentbottles - name = "box of condiment bottles" - desc = "It has a large ketchup smear on it." - -/obj/item/storage/box/condimentbottles/PopulateContents() - for(var/i in 1 to 6) - new /obj/item/reagent_containers/food/condiment(src) - -/obj/item/storage/box/cups - name = "box of paper cups" - desc = "It has pictures of paper cups on the front." - -/obj/item/storage/box/cups/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/reagent_containers/food/drinks/sillycup( src ) - -/obj/item/storage/box/donkpockets - name = "box of donk-pockets" - desc = "Instructions: Heat in microwave. Product will cool if not eaten within seven minutes." - illustration = "donk_kit" - -/obj/item/storage/box/donkpockets/PopulateContents() - for(var/i in 1 to 6) - new /obj/item/reagent_containers/food/snacks/donkpocket(src) - -/obj/item/storage/box/monkeycubes - name = "monkey cube box" - desc = "Drymate brand monkey cubes. Just add water!" - icon_state = "monkeycubebox" - storage_slots = 7 - can_hold = list(/obj/item/reagent_containers/food/snacks/monkeycube) - illustration = null - -/obj/item/storage/box/monkeycubes/PopulateContents() - for(var/i in 1 to 5) - new /obj/item/reagent_containers/food/snacks/monkeycube(src) - -/obj/item/storage/box/ids - name = "box of spare IDs" - desc = "Has so many empty IDs." - illustration = "id" - -/obj/item/storage/box/ids/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/card/id(src) - -//Some spare PDAs in a box -/obj/item/storage/box/PDAs - name = "spare PDAs" - desc = "A box of spare PDA microcomputers." - illustration = "pda" - -/obj/item/storage/box/PDAs/PopulateContents() - new /obj/item/device/pda(src) - new /obj/item/device/pda(src) - new /obj/item/device/pda(src) - new /obj/item/device/pda(src) - new /obj/item/cartridge/head(src) - - var/newcart = pick( /obj/item/cartridge/engineering, - /obj/item/cartridge/security, - /obj/item/cartridge/medical, - /obj/item/cartridge/signal/toxins, - /obj/item/cartridge/quartermaster) - new newcart(src) - -/obj/item/storage/box/silver_ids - name = "box of spare silver IDs" - desc = "Shiny IDs for important people." - illustration = "id" - -/obj/item/storage/box/silver_ids/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/card/id/silver(src) - -/obj/item/storage/box/prisoner - name = "box of prisoner IDs" - desc = "Take away their last shred of dignity, their name." - illustration = "id" - -/obj/item/storage/box/prisoner/PopulateContents() - ..() - new /obj/item/card/id/prisoner/one(src) - new /obj/item/card/id/prisoner/two(src) - new /obj/item/card/id/prisoner/three(src) - new /obj/item/card/id/prisoner/four(src) - new /obj/item/card/id/prisoner/five(src) - new /obj/item/card/id/prisoner/six(src) - new /obj/item/card/id/prisoner/seven(src) - -/obj/item/storage/box/seccarts - name = "box of PDA security cartridges" - desc = "A box full of PDA cartridges used by Security." - illustration = "pda" - -/obj/item/storage/box/seccarts/PopulateContents() - new /obj/item/cartridge/detective(src) - for(var/i in 1 to 6) - new /obj/item/cartridge/security(src) - -/obj/item/storage/box/firingpins - name = "box of standard firing pins" - desc = "A box full of standard firing pins, to allow newly-developed firearms to operate." - illustration = "id" - -/obj/item/storage/box/firingpins/PopulateContents() - for(var/i in 1 to 5) - new /obj/item/device/firing_pin(src) - -/obj/item/storage/box/lasertagpins - name = "box of laser tag firing pins" - desc = "A box full of laser tag firing pins, to allow newly-developed firearms to require wearing brightly coloured plastic armor before being able to be used." - illustration = "id" - -/obj/item/storage/box/lasertagpins/PopulateContents() - for(var/i in 1 to 3) - new /obj/item/device/firing_pin/tag/red(src) - new /obj/item/device/firing_pin/tag/blue(src) - -/obj/item/storage/box/handcuffs - name = "box of spare handcuffs" - desc = "A box full of handcuffs." - icon_state = "secbox" - illustration = "handcuff" - -/obj/item/storage/box/handcuffs/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/restraints/handcuffs(src) - -/obj/item/storage/box/zipties - name = "box of spare zipties" - desc = "A box full of zipties." - icon_state = "secbox" - illustration = "handcuff" - -/obj/item/storage/box/zipties/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/restraints/handcuffs/cable/zipties(src) - -/obj/item/storage/box/alienhandcuffs - name = "box of spare handcuffs" - desc = "A box full of handcuffs." - icon_state = "alienbox" - illustration = "handcuff" - -/obj/item/storage/box/alienhandcuffs/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/restraints/handcuffs/alien(src) - -/obj/item/storage/box/fakesyndiesuit - name = "boxed space suit and helmet" - desc = "A sleek, sturdy box used to hold replica spacesuits." - icon_state = "syndiebox" - -/obj/item/storage/box/fakesyndiesuit/PopulateContents() - new /obj/item/clothing/head/syndicatefake(src) - new /obj/item/clothing/suit/syndicatefake(src) - -/obj/item/storage/box/mousetraps - name = "box of Pest-B-Gon mousetraps" - desc = "Keep out of reach of children." - illustration = "mousetraps" - -/obj/item/storage/box/mousetraps/PopulateContents() - for(var/i in 1 to 6) - new /obj/item/device/assembly/mousetrap(src) - -/obj/item/storage/box/pillbottles - name = "box of pill bottles" - desc = "It has pictures of pill bottles on its front." - illustration = "pillbox" - -/obj/item/storage/box/pillbottles/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/storage/pill_bottle(src) - -/obj/item/storage/box/snappops - name = "snap pop box" - desc = "Eight wrappers of fun! Ages 8 and up. Not suitable for children." - icon = 'icons/obj/toy.dmi' - icon_state = "spbox" - storage_slots = 8 - can_hold = list(/obj/item/toy/snappop) - -/obj/item/storage/box/snappops/PopulateContents() - for(var/i in 1 to storage_slots) - new /obj/item/toy/snappop(src) - -/obj/item/storage/box/matches - name = "matchbox" - desc = "A small box of Almost But Not Quite Plasma Premium Matches." - icon = 'icons/obj/cigarettes.dmi' - icon_state = "matchbox" - item_state = "zippo" - storage_slots = 10 - w_class = WEIGHT_CLASS_TINY - slot_flags = SLOT_BELT - can_hold = list(/obj/item/match) - -/obj/item/storage/box/matches/PopulateContents() - for(var/i in 1 to storage_slots) - new /obj/item/match(src) - -/obj/item/storage/box/matches/attackby(obj/item/match/W as obj, mob/user as mob, params) - if(istype(W, /obj/item/match)) - W.matchignite() - -/obj/item/storage/box/lights - name = "box of replacement bulbs" - icon = 'icons/obj/storage.dmi' - illustration = "light" - desc = "This box is shaped on the inside so that only light tubes and bulbs fit." - item_state = "syringe_kit" - lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' - righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' - foldable = /obj/item/stack/sheet/cardboard //BubbleWrap - storage_slots=21 - can_hold = list(/obj/item/light/tube, /obj/item/light/bulb) - max_combined_w_class = 21 - use_to_pickup = 1 // for picking up broken bulbs, not that most people will try - -/obj/item/storage/box/lights/bulbs/PopulateContents() - for(var/i in 1 to 21) - new /obj/item/light/bulb(src) - -/obj/item/storage/box/lights/tubes - name = "box of replacement tubes" - illustration = "lighttube" - -/obj/item/storage/box/lights/tubes/PopulateContents() - for(var/i in 1 to 21) - new /obj/item/light/tube(src) - -/obj/item/storage/box/lights/mixed - name = "box of replacement lights" - illustration = "lightmixed" - -/obj/item/storage/box/lights/mixed/PopulateContents() - for(var/i in 1 to 14) - new /obj/item/light/tube(src) - for(var/i in 1 to 7) - new /obj/item/light/bulb(src) - - -/obj/item/storage/box/deputy - name = "box of deputy armbands" - desc = "To be issued to those authorized to act as deputy of security." - -/obj/item/storage/box/deputy/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/clothing/accessory/armband/deputy(src) - -/obj/item/storage/box/metalfoam - name = "box of metal foam grenades" - desc = "To be used to rapidly seal hull breaches." - illustration = "flashbang" - -/obj/item/storage/box/metalfoam/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/grenade/chem_grenade/metalfoam(src) - -/obj/item/storage/box/hug - name = "box of hugs" - desc = "A special box for sensitive people." - icon_state = "hugbox" - illustration = "heart" - foldable = null - -/obj/item/storage/box/hug/suicide_act(mob/user) - user.visible_message("[user] clamps the box of hugs on [user.p_their()] jugular! Guess it wasn't such a hugbox after all..") - return (BRUTELOSS) - -/obj/item/storage/box/hug/attack_self(mob/user) - ..() - user.changeNext_move(CLICK_CD_MELEE) - playsound(loc, "rustle", 50, 1, -5) - user.visible_message("[user] hugs \the [src].","You hug \the [src].") - -/obj/item/storage/box/hug/medical/PopulateContents() - new /obj/item/stack/medical/bruise_pack(src) - new /obj/item/stack/medical/ointment(src) - new /obj/item/reagent_containers/hypospray/medipen(src) - -/obj/item/storage/box/hug/survival/PopulateContents() - new /obj/item/clothing/mask/breath(src) - new /obj/item/tank/internals/emergency_oxygen(src) - new /obj/item/reagent_containers/hypospray/medipen(src) - -/obj/item/storage/box/rubbershot - name = "box of rubber shots" - desc = "A box full of rubber shots, designed for riot shotguns." - icon_state = "rubbershot_box" - illustration = null - -/obj/item/storage/box/rubbershot/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/ammo_casing/shotgun/rubbershot(src) - -/obj/item/storage/box/lethalshot - name = "box of lethal shotgun shots" - desc = "A box full of lethal shots, designed for riot shotguns." - icon_state = "lethalshot_box" - illustration = null - -/obj/item/storage/box/lethalshot/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/ammo_casing/shotgun/buckshot(src) - -/obj/item/storage/box/beanbag - name = "box of beanbags" - desc = "A box full of beanbag shells." - icon_state = "rubbershot_box" - illustration = null - -/obj/item/storage/box/beanbag/PopulateContents() - for(var/i in 1 to 6) - new /obj/item/ammo_casing/shotgun/beanbag(src) - -/obj/item/storage/box/actionfigure - name = "box of action figures" - desc = "The latest set of collectable action figures." - icon_state = "box" - -/obj/item/storage/box/actionfigure/PopulateContents() - for(var/i in 1 to 4) - var/randomFigure = pick(subtypesof(/obj/item/toy/figure)) - new randomFigure(src) - -#define NODESIGN "None" -#define NANOTRASEN "NanotrasenStandard" -#define SYNDI "SyndiSnacks" -#define HEART "Heart" -#define SMILE "SmileyFace" - -/obj/item/storage/box/papersack - name = "paper sack" - desc = "A sack neatly crafted out of paper." - icon_state = "paperbag_None" - item_state = "paperbag_None" - resistance_flags = FLAMMABLE - foldable = null - var/design = NODESIGN - -/obj/item/storage/box/papersack/update_icon() - if(contents.len == 0) - icon_state = "[item_state]" - else icon_state = "[item_state]_closed" - -/obj/item/storage/box/papersack/attackby(obj/item/W, mob/user, params) - if(istype(W, /obj/item/pen)) - //if a pen is used on the sack, dialogue to change its design appears - if(contents.len) - to_chat(user, "You can't modify this [src] with items still inside!") - return - var/list/designs = list(NODESIGN, NANOTRASEN, SYNDI, HEART, SMILE, "Cancel") - var/switchDesign = input("Select a Design:", "Paper Sack Design", designs[1]) in designs - if(get_dist(usr, src) > 1) - to_chat(usr, "You have moved too far away!") - return - var/choice = designs.Find(switchDesign) - if(design == designs[choice] || designs[choice] == "Cancel") - return 0 - to_chat(usr, "You make some modifications to the [src] using your pen.") - design = designs[choice] - icon_state = "paperbag_[design]" - item_state = "paperbag_[design]" - switch(designs[choice]) - if(NODESIGN) - desc = "A sack neatly crafted out of paper." - if(NANOTRASEN) - desc = "A standard Nanotrasen paper lunch sack for loyal employees on the go." - if(SYNDI) - desc = "The design on this paper sack is a remnant of the notorious 'SyndieSnacks' program." - if(HEART) - desc = "A paper sack with a heart etched onto the side." - if(SMILE) - desc = "A paper sack with a crude smile etched onto the side." - return 0 - else if(W.is_sharp()) - if(!contents.len) - if(item_state == "paperbag_None") - user.show_message("You cut eyeholes into the [src].", 1) - new /obj/item/clothing/head/papersack(user.loc) - qdel(src) - return 0 - else if(item_state == "paperbag_SmileyFace") - user.show_message("You cut eyeholes into the [src] and modify the design.", 1) - new /obj/item/clothing/head/papersack/smiley(user.loc) - qdel(src) - return 0 - return ..() - -#undef NODESIGN -#undef NANOTRASEN -#undef SYNDI -#undef HEART -#undef SMILE - -/obj/item/storage/box/ingredients //This box is for the randomely chosen version the chef spawns with, it shouldn't actually exist. - name = "ingredients box" - illustration = "donk_kit" - item_state = null - -/obj/item/storage/box/ingredients/Initialize() - ..() - if(item_state) - name = "[name] ([item_state])" - desc = "A box containing supplementary ingredients for the aspiring chef. This box's theme is '[item_state]'." - -/obj/item/storage/box/ingredients/wildcard - item_state = "wildcard" - -/obj/item/storage/box/ingredients/wildcard/PopulateContents() - for(var/i in 1 to 7) - var/randomFood = pick(/obj/item/reagent_containers/food/snacks/grown/chili, - /obj/item/reagent_containers/food/snacks/grown/tomato, - /obj/item/reagent_containers/food/snacks/grown/carrot, - /obj/item/reagent_containers/food/snacks/grown/potato, - /obj/item/reagent_containers/food/snacks/grown/potato/sweet, - /obj/item/reagent_containers/food/snacks/grown/apple, - /obj/item/reagent_containers/food/snacks/chocolatebar, - /obj/item/reagent_containers/food/snacks/grown/cherries, - /obj/item/reagent_containers/food/snacks/grown/banana, - /obj/item/reagent_containers/food/snacks/grown/cabbage, - /obj/item/reagent_containers/food/snacks/grown/soybeans, - /obj/item/reagent_containers/food/snacks/grown/corn, - /obj/item/reagent_containers/food/snacks/grown/mushroom/plumphelmet, - /obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle) - new randomFood(src) - -/obj/item/storage/box/ingredients/fiesta - item_state = "fiesta" - -/obj/item/storage/box/ingredients/fiesta/PopulateContents() - new /obj/item/reagent_containers/food/snacks/tortilla(src) - for(var/i in 1 to 2) - new /obj/item/reagent_containers/food/snacks/grown/corn(src) - new /obj/item/reagent_containers/food/snacks/grown/soybeans(src) - new /obj/item/reagent_containers/food/snacks/grown/chili(src) - -/obj/item/storage/box/ingredients/italian - item_state = "italian" - -/obj/item/storage/box/ingredients/italian/PopulateContents() - for(var/i in 1 to 3) - new /obj/item/reagent_containers/food/snacks/grown/tomato(src) - new /obj/item/reagent_containers/food/snacks/faggot(src) - new /obj/item/reagent_containers/food/drinks/bottle/wine(src) - -/obj/item/storage/box/ingredients/vegetarian - item_state = "vegetarian" - -/obj/item/storage/box/ingredients/vegetarian/PopulateContents() - for(var/i in 1 to 2) - new /obj/item/reagent_containers/food/snacks/grown/carrot(src) - new /obj/item/reagent_containers/food/snacks/grown/eggplant(src) - new /obj/item/reagent_containers/food/snacks/grown/potato(src) - new /obj/item/reagent_containers/food/snacks/grown/apple(src) - new /obj/item/reagent_containers/food/snacks/grown/corn(src) - new /obj/item/reagent_containers/food/snacks/grown/tomato(src) - -/obj/item/storage/box/ingredients/american - item_state = "american" - -/obj/item/storage/box/ingredients/american/PopulateContents() - for(var/i in 1 to 2) - new /obj/item/reagent_containers/food/snacks/grown/potato(src) - new /obj/item/reagent_containers/food/snacks/grown/tomato(src) - new /obj/item/reagent_containers/food/snacks/grown/corn(src) - new /obj/item/reagent_containers/food/snacks/faggot(src) - -/obj/item/storage/box/ingredients/fruity - item_state = "fruity" - -/obj/item/storage/box/ingredients/fruity/PopulateContents() - for(var/i in 1 to 2) - new /obj/item/reagent_containers/food/snacks/grown/apple(src) - new /obj/item/reagent_containers/food/snacks/grown/citrus/orange(src) - new /obj/item/reagent_containers/food/snacks/grown/citrus/lemon(src) - new /obj/item/reagent_containers/food/snacks/grown/citrus/lime(src) - new /obj/item/reagent_containers/food/snacks/grown/watermelon(src) - -/obj/item/storage/box/ingredients/sweets - item_state = "sweets" - -/obj/item/storage/box/ingredients/sweets/PopulateContents() - for(var/i in 1 to 2) - new /obj/item/reagent_containers/food/snacks/grown/cherries(src) - new /obj/item/reagent_containers/food/snacks/grown/banana(src) - new /obj/item/reagent_containers/food/snacks/chocolatebar(src) - new /obj/item/reagent_containers/food/snacks/grown/cocoapod(src) - new /obj/item/reagent_containers/food/snacks/grown/apple(src) - -/obj/item/storage/box/ingredients/delights - item_state = "delights" - -/obj/item/storage/box/ingredients/delights/PopulateContents() - for(var/i in 1 to 2) - new /obj/item/reagent_containers/food/snacks/grown/potato/sweet(src) - new /obj/item/reagent_containers/food/snacks/grown/bluecherries(src) - new /obj/item/reagent_containers/food/snacks/grown/vanillapod(src) - new /obj/item/reagent_containers/food/snacks/grown/cocoapod(src) - new /obj/item/reagent_containers/food/snacks/grown/berries(src) - -/obj/item/storage/box/ingredients/grains - item_state = "grains" - -/obj/item/storage/box/ingredients/grains/PopulateContents() - for(var/i in 1 to 3) - new /obj/item/reagent_containers/food/snacks/grown/oat(src) - new /obj/item/reagent_containers/food/snacks/grown/wheat(src) - new /obj/item/reagent_containers/food/snacks/grown/cocoapod(src) - new /obj/item/reagent_containers/honeycomb(src) - new /obj/item/seeds/poppy(src) - -/obj/item/storage/box/ingredients/carnivore - item_state = "carnivore" - -/obj/item/storage/box/ingredients/carnivore/PopulateContents() - new /obj/item/reagent_containers/food/snacks/meat/slab/bear(src) - new /obj/item/reagent_containers/food/snacks/meat/slab/spider(src) - new /obj/item/reagent_containers/food/snacks/spidereggs(src) - new /obj/item/reagent_containers/food/snacks/carpmeat(src) - new /obj/item/reagent_containers/food/snacks/meat/slab/xeno(src) - new /obj/item/reagent_containers/food/snacks/meat/slab/corgi(src) - new /obj/item/reagent_containers/food/snacks/faggot(src) - -/obj/item/storage/box/ingredients/exotic - item_state = "exotic" - -/obj/item/storage/box/ingredients/exotic/PopulateContents() - for(var/i in 1 to 2) - new /obj/item/reagent_containers/food/snacks/carpmeat(src) - new /obj/item/reagent_containers/food/snacks/grown/soybeans(src) - new /obj/item/reagent_containers/food/snacks/grown/cabbage(src) - new /obj/item/reagent_containers/food/snacks/grown/chili(src) - -/obj/item/storage/box/emptysandbags - name = "box of empty sandbags" - -/obj/item/storage/box/emptysandbags/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/emptysandbag(src) - -/obj/item/storage/box/rndboards - name = "\proper the liberator's legacy" - desc = "A box containing a gift for worthy golems." - -/obj/item/storage/box/rndboards/PopulateContents() - new /obj/item/circuitboard/machine/protolathe(src) - new /obj/item/circuitboard/machine/destructive_analyzer(src) - new /obj/item/circuitboard/machine/circuit_imprinter(src) - new /obj/item/circuitboard/computer/rdconsole(src) - -/obj/item/storage/box/silver_sulf - name = "box of silver sulfadiazine patches" - desc = "Contains patches used to treat burns." - -/obj/item/storage/box/silver_sulf/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/reagent_containers/pill/patch/silver_sulf(src) - - -/obj/item/storage/box/fountainpens - name = "box of fountain pens" - -/obj/item/storage/box/fountainpens/PopulateContents() - for(var/i in 1 to 7) - new /obj/item/pen/fountain(src) \ No newline at end of file +/* + * Everything derived from the common cardboard box. + * Basically everything except the original is a kit (starts full). + * + * Contains: + * Empty box, starter boxes (survival/engineer), + * Latex glove and sterile mask boxes, + * Syringe, beaker, dna injector boxes, + * Blanks, flashbangs, and EMP grenade boxes, + * Tracking and chemical implant boxes, + * Prescription glasses and drinking glass boxes, + * Condiment bottle and silly cup boxes, + * Donkpocket and monkeycube boxes, + * ID and security PDA cart boxes, + * Handcuff, mousetrap, and pillbottle boxes, + * Snap-pops and matchboxes, + * Replacement light boxes. + * Action Figure Boxes + * Various paper bags. + * + * For syndicate call-ins see uplink_kits.dm + */ + +/obj/item/storage/box + name = "box" + desc = "It's just an ordinary box." + icon_state = "box" + item_state = "syringe_kit" + lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' + resistance_flags = FLAMMABLE + var/foldable = /obj/item/stack/sheet/cardboard + var/illustration = "writing" + +/obj/item/storage/box/Initialize(mapload) + . = ..() + update_icon() + +/obj/item/storage/box/update_icon() + . = ..() + if(illustration) + cut_overlays() + add_overlay(illustration) + +/obj/item/storage/box/attack_self(mob/user) + ..() + + if(!foldable) + return + if(contents.len) + to_chat(user, "You can't fold this box with items still inside!") + return + if(!ispath(foldable)) + return + + //Close any open UI windows first + close_all() + + to_chat(user, "You fold [src] flat.") + var/obj/item/I = new foldable(get_turf(src)) + user.drop_item() + user.put_in_hands(I) + user.update_inv_hands() + qdel(src) + +/obj/item/storage/box/attackby(obj/item/W, mob/user, params) + if(istype(W, /obj/item/stack/packageWrap)) + return 0 + return ..() + + +//Disk boxes +/obj/item/storage/box/disks + name = "diskette box" + illustration = "disk_kit" + +/obj/item/storage/box/disks/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/disk/data(src) + + +/obj/item/storage/box/disks_plantgene + name = "plant data disks box" + illustration = "disk_kit" + +/obj/item/storage/box/disks_plantgene/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/disk/plantgene(src) + +// Ordinary survival box +/obj/item/storage/box/survival/PopulateContents() + new /obj/item/clothing/mask/breath(src) + new /obj/item/tank/internals/emergency_oxygen(src) + new /obj/item/reagent_containers/hypospray/medipen(src) + +/obj/item/storage/box/survival/radio/PopulateContents() + ..() // we want the survival stuff too. + new /obj/item/device/radio/off(src) + +/obj/item/storage/box/survival_mining/PopulateContents() + new /obj/item/clothing/mask/gas/explorer(src) + new /obj/item/tank/internals/emergency_oxygen/engi(src) + new /obj/item/crowbar/red(src) + new /obj/item/reagent_containers/hypospray/medipen(src) + + +// Engineer survival box +/obj/item/storage/box/engineer/PopulateContents() + new /obj/item/clothing/mask/breath(src) + new /obj/item/tank/internals/emergency_oxygen/engi(src) + new /obj/item/reagent_containers/hypospray/medipen(src) + +/obj/item/storage/box/engineer/radio/PopulateContents() + ..() // we want the regular items too. + new /obj/item/device/radio/off(src) + +// Syndie survival box +/obj/item/storage/box/syndie/PopulateContents() + new /obj/item/clothing/mask/gas/syndicate(src) + new /obj/item/tank/internals/emergency_oxygen/engi(src) + +// Security survival box +/obj/item/storage/box/security/PopulateContents() + new /obj/item/clothing/mask/gas/sechailer(src) + new /obj/item/tank/internals/emergency_oxygen(src) + new /obj/item/reagent_containers/hypospray/medipen(src) + +/obj/item/storage/box/security/radio/PopulateContents() + ..() // we want the regular stuff too + new /obj/item/device/radio/off(src) + +/obj/item/storage/box/gloves + name = "box of latex gloves" + desc = "Contains sterile latex gloves." + illustration = "latex" + +/obj/item/storage/box/gloves/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/clothing/gloves/color/latex(src) + +/obj/item/storage/box/masks + name = "box of sterile masks" + desc = "This box contains sterile medical masks." + illustration = "sterile" + +/obj/item/storage/box/masks/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/clothing/mask/surgical(src) + +/obj/item/storage/box/syringes + name = "box of syringes" + desc = "A box full of syringes." + illustration = "syringe" + +/obj/item/storage/box/syringes/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/reagent_containers/syringe(src) + +/obj/item/storage/box/medipens + name = "box of medipens" + desc = "A box full of epinephrine MediPens." + illustration = "syringe" + +/obj/item/storage/box/medipens/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/reagent_containers/hypospray/medipen(src) + +/obj/item/storage/box/medipens/utility + name = "stimpack value kit" + desc = "A box with several stimpack medipens for the economical miner." + illustration = "syringe" + +/obj/item/storage/box/medipens/utility/PopulateContents() + ..() // includes regular medipens. + for(var/i in 1 to 5) + new /obj/item/reagent_containers/hypospray/medipen/stimpack(src) + +/obj/item/storage/box/beakers + name = "box of beakers" + illustration = "beaker" + +/obj/item/storage/box/beakers/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/reagent_containers/glass/beaker( src ) + +/obj/item/storage/box/injectors + name = "box of DNA injectors" + desc = "This box contains injectors, it seems." + +/obj/item/storage/box/injectors/PopulateContents() + for(var/i in 1 to 3) + new /obj/item/dnainjector/h2m(src) + for(var/i in 1 to 3) + new /obj/item/dnainjector/m2h(src) + +/obj/item/storage/box/flashbangs + name = "box of flashbangs (WARNING)" + desc = "WARNING: These devices are extremely dangerous and can cause blindness or deafness in repeated use." + icon_state = "secbox" + illustration = "flashbang" + +/obj/item/storage/box/flashbangs/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/grenade/flashbang(src) + +/obj/item/storage/box/flashes + name = "box of flashbulbs" + desc = "WARNING: Flashes can cause serious eye damage, protective eyewear is required." + icon_state = "secbox" + illustration = "flashbang" + +/obj/item/storage/box/flashes/PopulateContents() + for(var/i in 1 to 6) + new /obj/item/device/assembly/flash/handheld(src) + +/obj/item/storage/box/wall_flash + name = "wall-mounted flash kit" + desc = "This box contains everything necessary to build a wall-mounted flash. WARNING: Flashes can cause serious eye damage, protective eyewear is required." + illustration = "flashbang" + +/obj/item/storage/box/wall_flash/PopulateContents() + var/id = rand(1000, 9999) + // FIXME what if this conflicts with an existing one? + + new /obj/item/wallframe/button(src) + new /obj/item/electronics/airlock(src) + var/obj/item/device/assembly/control/flasher/remote = new(src) + remote.id = id + var/obj/item/wallframe/flasher/frame = new(src) + frame.id = id + new /obj/item/device/assembly/flash/handheld(src) + new /obj/item/screwdriver(src) + + +/obj/item/storage/box/teargas + name = "box of tear gas grenades (WARNING)" + desc = "WARNING: These devices are extremely dangerous and can cause blindness and skin irritation." + illustration = "flashbang" + +/obj/item/storage/box/teargas/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/grenade/chem_grenade/teargas(src) + +/obj/item/storage/box/emps + name = "box of emp grenades" + desc = "A box with 5 emp grenades." + illustration = "flashbang" + +/obj/item/storage/box/emps/PopulateContents() + for(var/i in 1 to 5) + new /obj/item/grenade/empgrenade(src) + +/obj/item/storage/box/trackimp + name = "boxed tracking implant kit" + desc = "Box full of scum-bag tracking utensils." + illustration = "implant" + +/obj/item/storage/box/trackimp/PopulateContents() + for(var/i in 1 to 4) + new /obj/item/implantcase/tracking(src) + new /obj/item/implanter(src) + new /obj/item/implantpad(src) + new /obj/item/locator(src) + +/obj/item/storage/box/minertracker + name = "boxed tracking implant kit" + desc = "For finding those who have died on the accursed lavaworld." + illustration = "implant" + +/obj/item/storage/box/minertracker/PopulateContents() + for(var/i in 1 to 3) + new /obj/item/implantcase/tracking(src) + new /obj/item/implanter(src) + new /obj/item/implantpad(src) + new /obj/item/locator(src) + +/obj/item/storage/box/chemimp + name = "boxed chemical implant kit" + desc = "Box of stuff used to implant chemicals." + illustration = "implant" + +/obj/item/storage/box/chemimp/PopulateContents() + for(var/i in 1 to 5) + new /obj/item/implantcase/chem(src) + new /obj/item/implanter(src) + new /obj/item/implantpad(src) + +/obj/item/storage/box/exileimp + name = "boxed exile implant kit" + desc = "Box of exile implants. It has a picture of a clown being booted through the Gateway." + illustration = "implant" + +/obj/item/storage/box/exileimp/PopulateContents() + for(var/i in 1 to 5) + new /obj/item/implantcase/exile(src) + new /obj/item/implanter(src) + +/obj/item/storage/box/bodybags + name = "body bags" + desc = "The label indicates that it contains body bags." + illustration = "bodybags" + +/obj/item/storage/box/bodybags/PopulateContents() + ..() + for(var/i in 1 to 7) + new /obj/item/bodybag(src) + +/obj/item/storage/box/rxglasses + name = "box of prescription glasses" + desc = "This box contains nerd glasses." + illustration = "glasses" + +/obj/item/storage/box/rxglasses/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/clothing/glasses/regular(src) + +/obj/item/storage/box/drinkingglasses + name = "box of drinking glasses" + desc = "It has a picture of drinking glasses on it." + +/obj/item/storage/box/drinkingglasses/PopulateContents() + for(var/i in 1 to 6) + new /obj/item/reagent_containers/food/drinks/drinkingglass(src) + +/obj/item/storage/box/condimentbottles + name = "box of condiment bottles" + desc = "It has a large ketchup smear on it." + +/obj/item/storage/box/condimentbottles/PopulateContents() + for(var/i in 1 to 6) + new /obj/item/reagent_containers/food/condiment(src) + +/obj/item/storage/box/cups + name = "box of paper cups" + desc = "It has pictures of paper cups on the front." + +/obj/item/storage/box/cups/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/reagent_containers/food/drinks/sillycup( src ) + +/obj/item/storage/box/donkpockets + name = "box of donk-pockets" + desc = "Instructions: Heat in microwave. Product will cool if not eaten within seven minutes." + illustration = "donk_kit" + +/obj/item/storage/box/donkpockets/PopulateContents() + for(var/i in 1 to 6) + new /obj/item/reagent_containers/food/snacks/donkpocket(src) + +/obj/item/storage/box/monkeycubes + name = "monkey cube box" + desc = "Drymate brand monkey cubes. Just add water!" + icon_state = "monkeycubebox" + storage_slots = 7 + can_hold = list(/obj/item/reagent_containers/food/snacks/monkeycube) + illustration = null + +/obj/item/storage/box/monkeycubes/PopulateContents() + for(var/i in 1 to 5) + new /obj/item/reagent_containers/food/snacks/monkeycube(src) + +/obj/item/storage/box/ids + name = "box of spare IDs" + desc = "Has so many empty IDs." + illustration = "id" + +/obj/item/storage/box/ids/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/card/id(src) + +//Some spare PDAs in a box +/obj/item/storage/box/PDAs + name = "spare PDAs" + desc = "A box of spare PDA microcomputers." + illustration = "pda" + +/obj/item/storage/box/PDAs/PopulateContents() + new /obj/item/device/pda(src) + new /obj/item/device/pda(src) + new /obj/item/device/pda(src) + new /obj/item/device/pda(src) + new /obj/item/cartridge/head(src) + + var/newcart = pick( /obj/item/cartridge/engineering, + /obj/item/cartridge/security, + /obj/item/cartridge/medical, + /obj/item/cartridge/signal/toxins, + /obj/item/cartridge/quartermaster) + new newcart(src) + +/obj/item/storage/box/silver_ids + name = "box of spare silver IDs" + desc = "Shiny IDs for important people." + illustration = "id" + +/obj/item/storage/box/silver_ids/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/card/id/silver(src) + +/obj/item/storage/box/prisoner + name = "box of prisoner IDs" + desc = "Take away their last shred of dignity, their name." + illustration = "id" + +/obj/item/storage/box/prisoner/PopulateContents() + ..() + new /obj/item/card/id/prisoner/one(src) + new /obj/item/card/id/prisoner/two(src) + new /obj/item/card/id/prisoner/three(src) + new /obj/item/card/id/prisoner/four(src) + new /obj/item/card/id/prisoner/five(src) + new /obj/item/card/id/prisoner/six(src) + new /obj/item/card/id/prisoner/seven(src) + +/obj/item/storage/box/seccarts + name = "box of PDA security cartridges" + desc = "A box full of PDA cartridges used by Security." + illustration = "pda" + +/obj/item/storage/box/seccarts/PopulateContents() + new /obj/item/cartridge/detective(src) + for(var/i in 1 to 6) + new /obj/item/cartridge/security(src) + +/obj/item/storage/box/firingpins + name = "box of standard firing pins" + desc = "A box full of standard firing pins, to allow newly-developed firearms to operate." + illustration = "id" + +/obj/item/storage/box/firingpins/PopulateContents() + for(var/i in 1 to 5) + new /obj/item/device/firing_pin(src) + +/obj/item/storage/box/lasertagpins + name = "box of laser tag firing pins" + desc = "A box full of laser tag firing pins, to allow newly-developed firearms to require wearing brightly coloured plastic armor before being able to be used." + illustration = "id" + +/obj/item/storage/box/lasertagpins/PopulateContents() + for(var/i in 1 to 3) + new /obj/item/device/firing_pin/tag/red(src) + new /obj/item/device/firing_pin/tag/blue(src) + +/obj/item/storage/box/handcuffs + name = "box of spare handcuffs" + desc = "A box full of handcuffs." + icon_state = "secbox" + illustration = "handcuff" + +/obj/item/storage/box/handcuffs/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/restraints/handcuffs(src) + +/obj/item/storage/box/zipties + name = "box of spare zipties" + desc = "A box full of zipties." + icon_state = "secbox" + illustration = "handcuff" + +/obj/item/storage/box/zipties/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/restraints/handcuffs/cable/zipties(src) + +/obj/item/storage/box/alienhandcuffs + name = "box of spare handcuffs" + desc = "A box full of handcuffs." + icon_state = "alienbox" + illustration = "handcuff" + +/obj/item/storage/box/alienhandcuffs/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/restraints/handcuffs/alien(src) + +/obj/item/storage/box/fakesyndiesuit + name = "boxed space suit and helmet" + desc = "A sleek, sturdy box used to hold replica spacesuits." + icon_state = "syndiebox" + +/obj/item/storage/box/fakesyndiesuit/PopulateContents() + new /obj/item/clothing/head/syndicatefake(src) + new /obj/item/clothing/suit/syndicatefake(src) + +/obj/item/storage/box/mousetraps + name = "box of Pest-B-Gon mousetraps" + desc = "Keep out of reach of children." + illustration = "mousetraps" + +/obj/item/storage/box/mousetraps/PopulateContents() + for(var/i in 1 to 6) + new /obj/item/device/assembly/mousetrap(src) + +/obj/item/storage/box/pillbottles + name = "box of pill bottles" + desc = "It has pictures of pill bottles on its front." + illustration = "pillbox" + +/obj/item/storage/box/pillbottles/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/storage/pill_bottle(src) + +/obj/item/storage/box/snappops + name = "snap pop box" + desc = "Eight wrappers of fun! Ages 8 and up. Not suitable for children." + icon = 'icons/obj/toy.dmi' + icon_state = "spbox" + storage_slots = 8 + can_hold = list(/obj/item/toy/snappop) + +/obj/item/storage/box/snappops/PopulateContents() + for(var/i in 1 to storage_slots) + new /obj/item/toy/snappop(src) + +/obj/item/storage/box/matches + name = "matchbox" + desc = "A small box of Almost But Not Quite Plasma Premium Matches." + icon = 'icons/obj/cigarettes.dmi' + icon_state = "matchbox" + item_state = "zippo" + storage_slots = 10 + w_class = WEIGHT_CLASS_TINY + slot_flags = SLOT_BELT + can_hold = list(/obj/item/match) + +/obj/item/storage/box/matches/PopulateContents() + for(var/i in 1 to storage_slots) + new /obj/item/match(src) + +/obj/item/storage/box/matches/attackby(obj/item/match/W as obj, mob/user as mob, params) + if(istype(W, /obj/item/match)) + W.matchignite() + +/obj/item/storage/box/lights + name = "box of replacement bulbs" + icon = 'icons/obj/storage.dmi' + illustration = "light" + desc = "This box is shaped on the inside so that only light tubes and bulbs fit." + item_state = "syringe_kit" + lefthand_file = 'icons/mob/inhands/equipment/medical_lefthand.dmi' + righthand_file = 'icons/mob/inhands/equipment/medical_righthand.dmi' + foldable = /obj/item/stack/sheet/cardboard //BubbleWrap + storage_slots=21 + can_hold = list(/obj/item/light/tube, /obj/item/light/bulb) + max_combined_w_class = 21 + use_to_pickup = 1 // for picking up broken bulbs, not that most people will try + +/obj/item/storage/box/lights/bulbs/PopulateContents() + for(var/i in 1 to 21) + new /obj/item/light/bulb(src) + +/obj/item/storage/box/lights/tubes + name = "box of replacement tubes" + illustration = "lighttube" + +/obj/item/storage/box/lights/tubes/PopulateContents() + for(var/i in 1 to 21) + new /obj/item/light/tube(src) + +/obj/item/storage/box/lights/mixed + name = "box of replacement lights" + illustration = "lightmixed" + +/obj/item/storage/box/lights/mixed/PopulateContents() + for(var/i in 1 to 14) + new /obj/item/light/tube(src) + for(var/i in 1 to 7) + new /obj/item/light/bulb(src) + + +/obj/item/storage/box/deputy + name = "box of deputy armbands" + desc = "To be issued to those authorized to act as deputy of security." + +/obj/item/storage/box/deputy/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/clothing/accessory/armband/deputy(src) + +/obj/item/storage/box/metalfoam + name = "box of metal foam grenades" + desc = "To be used to rapidly seal hull breaches." + illustration = "flashbang" + +/obj/item/storage/box/metalfoam/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/grenade/chem_grenade/metalfoam(src) + +/obj/item/storage/box/hug + name = "box of hugs" + desc = "A special box for sensitive people." + icon_state = "hugbox" + illustration = "heart" + foldable = null + +/obj/item/storage/box/hug/suicide_act(mob/user) + user.visible_message("[user] clamps the box of hugs on [user.p_their()] jugular! Guess it wasn't such a hugbox after all..") + return (BRUTELOSS) + +/obj/item/storage/box/hug/attack_self(mob/user) + ..() + user.changeNext_move(CLICK_CD_MELEE) + playsound(loc, "rustle", 50, 1, -5) + user.visible_message("[user] hugs \the [src].","You hug \the [src].") + +/obj/item/storage/box/hug/medical/PopulateContents() + new /obj/item/stack/medical/bruise_pack(src) + new /obj/item/stack/medical/ointment(src) + new /obj/item/reagent_containers/hypospray/medipen(src) + +/obj/item/storage/box/hug/survival/PopulateContents() + new /obj/item/clothing/mask/breath(src) + new /obj/item/tank/internals/emergency_oxygen(src) + new /obj/item/reagent_containers/hypospray/medipen(src) + +/obj/item/storage/box/rubbershot + name = "box of rubber shots" + desc = "A box full of rubber shots, designed for riot shotguns." + icon_state = "rubbershot_box" + illustration = null + +/obj/item/storage/box/rubbershot/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/ammo_casing/shotgun/rubbershot(src) + +/obj/item/storage/box/lethalshot + name = "box of lethal shotgun shots" + desc = "A box full of lethal shots, designed for riot shotguns." + icon_state = "lethalshot_box" + illustration = null + +/obj/item/storage/box/lethalshot/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/ammo_casing/shotgun/buckshot(src) + +/obj/item/storage/box/beanbag + name = "box of beanbags" + desc = "A box full of beanbag shells." + icon_state = "rubbershot_box" + illustration = null + +/obj/item/storage/box/beanbag/PopulateContents() + for(var/i in 1 to 6) + new /obj/item/ammo_casing/shotgun/beanbag(src) + +/obj/item/storage/box/actionfigure + name = "box of action figures" + desc = "The latest set of collectable action figures." + icon_state = "box" + +/obj/item/storage/box/actionfigure/PopulateContents() + for(var/i in 1 to 4) + var/randomFigure = pick(subtypesof(/obj/item/toy/figure)) + new randomFigure(src) + +#define NODESIGN "None" +#define NANOTRASEN "NanotrasenStandard" +#define SYNDI "SyndiSnacks" +#define HEART "Heart" +#define SMILE "SmileyFace" + +/obj/item/storage/box/papersack + name = "paper sack" + desc = "A sack neatly crafted out of paper." + icon_state = "paperbag_None" + item_state = "paperbag_None" + resistance_flags = FLAMMABLE + foldable = null + var/design = NODESIGN + +/obj/item/storage/box/papersack/update_icon() + if(contents.len == 0) + icon_state = "[item_state]" + else icon_state = "[item_state]_closed" + +/obj/item/storage/box/papersack/attackby(obj/item/W, mob/user, params) + if(istype(W, /obj/item/pen)) + //if a pen is used on the sack, dialogue to change its design appears + if(contents.len) + to_chat(user, "You can't modify this [src] with items still inside!") + return + var/list/designs = list(NODESIGN, NANOTRASEN, SYNDI, HEART, SMILE, "Cancel") + var/switchDesign = input("Select a Design:", "Paper Sack Design", designs[1]) in designs + if(get_dist(usr, src) > 1) + to_chat(usr, "You have moved too far away!") + return + var/choice = designs.Find(switchDesign) + if(design == designs[choice] || designs[choice] == "Cancel") + return 0 + to_chat(usr, "You make some modifications to the [src] using your pen.") + design = designs[choice] + icon_state = "paperbag_[design]" + item_state = "paperbag_[design]" + switch(designs[choice]) + if(NODESIGN) + desc = "A sack neatly crafted out of paper." + if(NANOTRASEN) + desc = "A standard Nanotrasen paper lunch sack for loyal employees on the go." + if(SYNDI) + desc = "The design on this paper sack is a remnant of the notorious 'SyndieSnacks' program." + if(HEART) + desc = "A paper sack with a heart etched onto the side." + if(SMILE) + desc = "A paper sack with a crude smile etched onto the side." + return 0 + else if(W.is_sharp()) + if(!contents.len) + if(item_state == "paperbag_None") + user.show_message("You cut eyeholes into the [src].", 1) + new /obj/item/clothing/head/papersack(user.loc) + qdel(src) + return 0 + else if(item_state == "paperbag_SmileyFace") + user.show_message("You cut eyeholes into the [src] and modify the design.", 1) + new /obj/item/clothing/head/papersack/smiley(user.loc) + qdel(src) + return 0 + return ..() + +#undef NODESIGN +#undef NANOTRASEN +#undef SYNDI +#undef HEART +#undef SMILE + +/obj/item/storage/box/ingredients //This box is for the randomely chosen version the chef spawns with, it shouldn't actually exist. + name = "ingredients box" + illustration = "donk_kit" + +/obj/item/storage/box/ingredients/Initialize() + ..() + if(item_state) + name = "[name] ([item_state])" + desc = "A box containing supplementary ingredients for the aspiring chef. This box's theme is '[item_state]'." + +/obj/item/storage/box/ingredients/wildcard + item_state = "wildcard" + +/obj/item/storage/box/ingredients/wildcard/PopulateContents() + for(var/i in 1 to 7) + var/randomFood = pick(/obj/item/reagent_containers/food/snacks/grown/chili, + /obj/item/reagent_containers/food/snacks/grown/tomato, + /obj/item/reagent_containers/food/snacks/grown/carrot, + /obj/item/reagent_containers/food/snacks/grown/potato, + /obj/item/reagent_containers/food/snacks/grown/potato/sweet, + /obj/item/reagent_containers/food/snacks/grown/apple, + /obj/item/reagent_containers/food/snacks/chocolatebar, + /obj/item/reagent_containers/food/snacks/grown/cherries, + /obj/item/reagent_containers/food/snacks/grown/banana, + /obj/item/reagent_containers/food/snacks/grown/cabbage, + /obj/item/reagent_containers/food/snacks/grown/soybeans, + /obj/item/reagent_containers/food/snacks/grown/corn, + /obj/item/reagent_containers/food/snacks/grown/mushroom/plumphelmet, + /obj/item/reagent_containers/food/snacks/grown/mushroom/chanterelle) + new randomFood(src) + +/obj/item/storage/box/ingredients/fiesta + item_state = "fiesta" + +/obj/item/storage/box/ingredients/fiesta/PopulateContents() + new /obj/item/reagent_containers/food/snacks/tortilla(src) + for(var/i in 1 to 2) + new /obj/item/reagent_containers/food/snacks/grown/corn(src) + new /obj/item/reagent_containers/food/snacks/grown/soybeans(src) + new /obj/item/reagent_containers/food/snacks/grown/chili(src) + +/obj/item/storage/box/ingredients/italian + item_state = "italian" + +/obj/item/storage/box/ingredients/italian/PopulateContents() + for(var/i in 1 to 3) + new /obj/item/reagent_containers/food/snacks/grown/tomato(src) + new /obj/item/reagent_containers/food/snacks/faggot(src) + new /obj/item/reagent_containers/food/drinks/bottle/wine(src) + +/obj/item/storage/box/ingredients/vegetarian + item_state = "vegetarian" + +/obj/item/storage/box/ingredients/vegetarian/PopulateContents() + for(var/i in 1 to 2) + new /obj/item/reagent_containers/food/snacks/grown/carrot(src) + new /obj/item/reagent_containers/food/snacks/grown/eggplant(src) + new /obj/item/reagent_containers/food/snacks/grown/potato(src) + new /obj/item/reagent_containers/food/snacks/grown/apple(src) + new /obj/item/reagent_containers/food/snacks/grown/corn(src) + new /obj/item/reagent_containers/food/snacks/grown/tomato(src) + +/obj/item/storage/box/ingredients/american + item_state = "american" + +/obj/item/storage/box/ingredients/american/PopulateContents() + for(var/i in 1 to 2) + new /obj/item/reagent_containers/food/snacks/grown/potato(src) + new /obj/item/reagent_containers/food/snacks/grown/tomato(src) + new /obj/item/reagent_containers/food/snacks/grown/corn(src) + new /obj/item/reagent_containers/food/snacks/faggot(src) + +/obj/item/storage/box/ingredients/fruity + item_state = "fruity" + +/obj/item/storage/box/ingredients/fruity/PopulateContents() + for(var/i in 1 to 2) + new /obj/item/reagent_containers/food/snacks/grown/apple(src) + new /obj/item/reagent_containers/food/snacks/grown/citrus/orange(src) + new /obj/item/reagent_containers/food/snacks/grown/citrus/lemon(src) + new /obj/item/reagent_containers/food/snacks/grown/citrus/lime(src) + new /obj/item/reagent_containers/food/snacks/grown/watermelon(src) + +/obj/item/storage/box/ingredients/sweets + item_state = "sweets" + +/obj/item/storage/box/ingredients/sweets/PopulateContents() + for(var/i in 1 to 2) + new /obj/item/reagent_containers/food/snacks/grown/cherries(src) + new /obj/item/reagent_containers/food/snacks/grown/banana(src) + new /obj/item/reagent_containers/food/snacks/chocolatebar(src) + new /obj/item/reagent_containers/food/snacks/grown/cocoapod(src) + new /obj/item/reagent_containers/food/snacks/grown/apple(src) + +/obj/item/storage/box/ingredients/delights + item_state = "delights" + +/obj/item/storage/box/ingredients/delights/PopulateContents() + for(var/i in 1 to 2) + new /obj/item/reagent_containers/food/snacks/grown/potato/sweet(src) + new /obj/item/reagent_containers/food/snacks/grown/bluecherries(src) + new /obj/item/reagent_containers/food/snacks/grown/vanillapod(src) + new /obj/item/reagent_containers/food/snacks/grown/cocoapod(src) + new /obj/item/reagent_containers/food/snacks/grown/berries(src) + +/obj/item/storage/box/ingredients/grains + item_state = "grains" + +/obj/item/storage/box/ingredients/grains/PopulateContents() + for(var/i in 1 to 3) + new /obj/item/reagent_containers/food/snacks/grown/oat(src) + new /obj/item/reagent_containers/food/snacks/grown/wheat(src) + new /obj/item/reagent_containers/food/snacks/grown/cocoapod(src) + new /obj/item/reagent_containers/honeycomb(src) + new /obj/item/seeds/poppy(src) + +/obj/item/storage/box/ingredients/carnivore + item_state = "carnivore" + +/obj/item/storage/box/ingredients/carnivore/PopulateContents() + new /obj/item/reagent_containers/food/snacks/meat/slab/bear(src) + new /obj/item/reagent_containers/food/snacks/meat/slab/spider(src) + new /obj/item/reagent_containers/food/snacks/spidereggs(src) + new /obj/item/reagent_containers/food/snacks/carpmeat(src) + new /obj/item/reagent_containers/food/snacks/meat/slab/xeno(src) + new /obj/item/reagent_containers/food/snacks/meat/slab/corgi(src) + new /obj/item/reagent_containers/food/snacks/faggot(src) + +/obj/item/storage/box/ingredients/exotic + item_state = "exotic" + +/obj/item/storage/box/ingredients/exotic/PopulateContents() + for(var/i in 1 to 2) + new /obj/item/reagent_containers/food/snacks/carpmeat(src) + new /obj/item/reagent_containers/food/snacks/grown/soybeans(src) + new /obj/item/reagent_containers/food/snacks/grown/cabbage(src) + new /obj/item/reagent_containers/food/snacks/grown/chili(src) + +/obj/item/storage/box/emptysandbags + name = "box of empty sandbags" + +/obj/item/storage/box/emptysandbags/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/emptysandbag(src) + +/obj/item/storage/box/rndboards + name = "\proper the liberator's legacy" + desc = "A box containing a gift for worthy golems." + +/obj/item/storage/box/rndboards/PopulateContents() + new /obj/item/circuitboard/machine/protolathe(src) + new /obj/item/circuitboard/machine/destructive_analyzer(src) + new /obj/item/circuitboard/machine/circuit_imprinter(src) + new /obj/item/circuitboard/computer/rdconsole(src) + +/obj/item/storage/box/silver_sulf + name = "box of silver sulfadiazine patches" + desc = "Contains patches used to treat burns." + +/obj/item/storage/box/silver_sulf/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/reagent_containers/pill/patch/silver_sulf(src) + + +/obj/item/storage/box/fountainpens + name = "box of fountain pens" + +/obj/item/storage/box/fountainpens/PopulateContents() + for(var/i in 1 to 7) + new /obj/item/pen/fountain(src) diff --git a/code/game/objects/items/storage/boxes.dm.rej b/code/game/objects/items/storage/boxes.dm.rej new file mode 100644 index 0000000000..c7e13676db --- /dev/null +++ b/code/game/objects/items/storage/boxes.dm.rej @@ -0,0 +1,9 @@ +diff a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm (rejected hunks) +@@ -732,7 +732,6 @@ + /obj/item/storage/box/ingredients //This box is for the randomely chosen version the chef spawns with, it shouldn't actually exist. + name = "ingredients box" + illustration = "donk_kit" +- icon_state = null + + /obj/item/storage/box/ingredients/Initialize() + ..() diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index f71b1930cd..648047ab62 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -112,7 +112,7 @@ throw_speed = 3 throw_range = 7 force = 0 - icon = 'icons/obj/weapons.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "syndballoon" item_state = "syndballoon" lefthand_file = 'icons/mob/inhands/antag/balloons_lefthand.dmi' @@ -211,7 +211,7 @@ /obj/item/toy/sword name = "toy sword" desc = "A cheap, plastic replica of an energy sword. Realistic sounds! Ages 8 and up." - icon = 'icons/obj/weapons.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "sword0" item_state = "sword0" lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' @@ -289,7 +289,7 @@ icon_state = "his_grace" item_state = "artistic_toolbox" var/active = FALSE - icon = 'icons/obj/weapons.dmi' + icon = 'icons/obj/items_and_weapons.dmi' attack_verb = list("robusted") /obj/item/toy/windupToolbox/attack_self(mob/user) @@ -329,7 +329,7 @@ /obj/item/toy/katana name = "replica katana" desc = "Woefully underpowered in D20." - icon = 'icons/obj/weapons.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "katana" item_state = "katana" lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' diff --git a/code/game/objects/items/toys.dm.rej b/code/game/objects/items/toys.dm.rej deleted file mode 100644 index 2885a32a69..0000000000 --- a/code/game/objects/items/toys.dm.rej +++ /dev/null @@ -1,12 +0,0 @@ -diff a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm (rejected hunks) -@@ -244,8 +244,8 @@ - // Copied from /obj/item/melee/transforming/energy/sword/attackby - /obj/item/toy/sword/attackby(obj/item/W, mob/living/user, params) - if(istype(W, /obj/item/toy/sword)) -- if((W.flags & NODROP) || (flags & NODROP)) -- to_chat(user, "\the [flags & NODROP ? src : W] is stuck to your hand, you can't attach it to \the [flags & NODROP ? W : src]!") -+ if((W.flags_1 & NODROP_1) || (flags_1 & NODROP_1)) -+ to_chat(user, "\the [flags_1 & NODROP_1 ? src : W] is stuck to your hand, you can't attach it to \the [flags_1 & NODROP_1 ? W : src]!") - return - else - to_chat(user, "You attach the ends of the two plastic swords, making a single double-bladed toy! You're fake-cool.") diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm index 1cfce9fb90..13acf7e990 100644 --- a/code/game/objects/items/weaponry.dm +++ b/code/game/objects/items/weaponry.dm @@ -1,7 +1,7 @@ /obj/item/banhammer desc = "A banhammer" name = "banhammer" - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "toyhammer" slot_flags = SLOT_BELT throwforce = 0 @@ -18,8 +18,11 @@ return (BRUTELOSS|FIRELOSS|TOXLOSS|OXYLOSS) /obj/item/banhammer/attack(mob/M, mob/user) - to_chat(M, " You have been banned FOR NO REISIN by [user]") - to_chat(user, "You have BANNED [M]") + if(user.zone_selected == "head") + M.visible_message("[user] are stroking the head of [M] with a bangammer", "[user] are stroking the head with a bangammer", "you hear a bangammer stroking a head"); + + else + M.visible_message("[M] has been banned FOR NO REISIN by [user]", "You have been banned FOR NO REISIN by [user]", "you hear a banhammer banning someone") playsound(loc, 'sound/effects/adminhelp.ogg', 15) //keep it at 15% volume so people don't jump out of their skin too much /obj/item/sord @@ -317,7 +320,7 @@ /obj/item/phone name = "red phone" desc = "Should anything ever go wrong..." - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "red_phone" force = 3 throwforce = 2 @@ -337,7 +340,7 @@ /obj/item/cane name = "cane" desc = "A cane used by a true gentleman. Or a clown." - icon = 'icons/obj/weapons.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "cane" item_state = "stick" lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' @@ -374,7 +377,7 @@ /obj/item/staff/stick name = "stick" desc = "A great tool to drag someone else's drinks across the bar." - icon = 'icons/obj/weapons.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "stick" item_state = "stick" lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' @@ -475,7 +478,7 @@ /obj/item/melee/baseball_bat name = "baseball bat" desc = "There ain't a skull in the league that can withstand a swatter." - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "baseball_bat" item_state = "baseball_bat" lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' @@ -540,7 +543,7 @@ /obj/item/melee/flyswatter name = "flyswatter" desc = "Useful for killing insects of all sizes." - icon = 'icons/obj/weapons.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "flyswatter" item_state = "flyswatter" lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' @@ -586,4 +589,4 @@ /obj/item/proc/can_trigger_gun(mob/living/user) if(!user.can_use_guns(src)) return FALSE - return TRUE \ No newline at end of file + return TRUE diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm index 3b5af86147..0c70ee63c8 100644 --- a/code/game/objects/obj_defense.dm +++ b/code/game/objects/obj_defense.dm @@ -5,7 +5,7 @@ play_attack_sound(damage_amount, damage_type, damage_flag) if(!(resistance_flags & INDESTRUCTIBLE) && obj_integrity > 0) damage_amount = run_obj_armor(damage_amount, damage_type, damage_flag, attack_dir) - if(damage_amount >= 1) + if(damage_amount >= 0.1) . = damage_amount obj_integrity = max(obj_integrity - damage_amount, 0) if(obj_integrity <= 0) diff --git a/code/game/objects/structures/beds_chairs/bed.dm.rej b/code/game/objects/structures/beds_chairs/bed.dm.rej deleted file mode 100644 index 818bce9711..0000000000 --- a/code/game/objects/structures/beds_chairs/bed.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/objects/structures/beds_chairs/bed.dm b/code/game/objects/structures/beds_chairs/bed.dm (rejected hunks) -@@ -31,7 +31,7 @@ - return attack_hand(user) - - /obj/structure/bed/attackby(obj/item/W, mob/user, params) -- if(istype(W, /obj/item/wrench) && !(flags&NODECONSTRUCT)) -+ if(istype(W, /obj/item/wrench) && !(flags_1&NODECONSTRUCT_1)) - playsound(src.loc, W.usesound, 50, 1) - deconstruct(TRUE) - else diff --git a/code/game/objects/structures/beds_chairs/chair.dm.rej b/code/game/objects/structures/beds_chairs/chair.dm.rej deleted file mode 100644 index 4dee120e01..0000000000 --- a/code/game/objects/structures/beds_chairs/chair.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/objects/structures/beds_chairs/chair.dm b/code/game/objects/structures/beds_chairs/chair.dm (rejected hunks) -@@ -41,7 +41,7 @@ - qdel(src) - - /obj/structure/chair/attackby(obj/item/W, mob/user, params) -- if(istype(W, /obj/item/wrench) && !(flags&NODECONSTRUCT)) -+ if(istype(W, /obj/item/wrench) && !(flags_1&NODECONSTRUCT_1)) - playsound(src.loc, W.usesound, 50, 1) - deconstruct() - else if(istype(W, /obj/item/assembly/shock_kit)) diff --git a/code/game/objects/structures/crates_lockers/closets.dm.rej b/code/game/objects/structures/crates_lockers/closets.dm.rej deleted file mode 100644 index 55cd62f8af..0000000000 --- a/code/game/objects/structures/crates_lockers/closets.dm.rej +++ /dev/null @@ -1,16 +0,0 @@ -diff a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm (rejected hunks) -@@ -193,12 +193,12 @@ - return open(user) - - /obj/structure/closet/deconstruct(disassembled = TRUE) -- if(ispath(material_drop) && material_drop_amount && !(flags & NODECONSTRUCT)) -+ if(ispath(material_drop) && material_drop_amount && !(flags_1 & NODECONSTRUCT_1)) - new material_drop(loc, material_drop_amount) - qdel(src) - - /obj/structure/closet/obj_break(damage_flag) -- if(!broken && !(flags & NODECONSTRUCT)) -+ if(!broken && !(flags_1 & NODECONSTRUCT_1)) - bust_open() - - /obj/structure/closet/attackby(obj/item/W, mob/user, params) diff --git a/code/game/objects/structures/displaycase.dm.rej b/code/game/objects/structures/displaycase.dm.rej deleted file mode 100644 index febee50d2c..0000000000 --- a/code/game/objects/structures/displaycase.dm.rej +++ /dev/null @@ -1,19 +0,0 @@ -diff a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm (rejected hunks) -@@ -50,7 +50,7 @@ - playsound(src.loc, 'sound/items/welder.ogg', 100, 1) - - /obj/structure/displaycase/deconstruct(disassembled = TRUE) -- if(!(flags & NODECONSTRUCT)) -+ if(!(flags_1 & NODECONSTRUCT_1)) - dump() - if(!disassembled) - new /obj/item/shard( src.loc ) -@@ -58,7 +58,7 @@ - qdel(src) - - /obj/structure/displaycase/obj_break(damage_flag) -- if(!broken && !(flags & NODECONSTRUCT)) -+ if(!broken && !(flags_1 & NODECONSTRUCT_1)) - density = FALSE - broken = 1 - new /obj/item/shard( src.loc ) diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm index ab2a10e2c9..daa29df061 100644 --- a/code/game/objects/structures/false_walls.dm +++ b/code/game/objects/structures/false_walls.dm @@ -303,7 +303,7 @@ mineral = /obj/item/stack/sheet/mineral/titanium walltype = /turf/closed/wall/mineral/titanium smooth = SMOOTH_MORE - canSmoothWith = list(/turf/closed/wall/mineral/titanium, /obj/machinery/door/airlock/shuttle, /obj/machinery/door/airlock/, /turf/closed/wall/shuttle, /obj/structure/window/shuttle, /obj/structure/shuttle/engine, /obj/structure/shuttle/engine/heater, ) + canSmoothWith = list(/turf/closed/wall/mineral/titanium, /obj/machinery/door/airlock/shuttle, /obj/machinery/door/airlock, /obj/structure/window/shuttle, /obj/structure/shuttle/engine/heater) /obj/structure/falsewall/plastitanium name = "wall" diff --git a/code/game/objects/structures/fireaxe.dm.rej b/code/game/objects/structures/fireaxe.dm.rej deleted file mode 100644 index cfb3b8d8a8..0000000000 --- a/code/game/objects/structures/fireaxe.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/objects/structures/fireaxe.dm b/code/game/objects/structures/fireaxe.dm (rejected hunks) -@@ -91,7 +91,7 @@ - new /obj/item/shard(loc) - - /obj/structure/fireaxecabinet/deconstruct(disassembled = TRUE) -- if(!(flags & NODECONSTRUCT)) -+ if(!(flags_1 & NODECONSTRUCT_1)) - if(fireaxe && loc) - fireaxe.forceMove(loc) - fireaxe = null diff --git a/code/game/objects/structures/flora.dm.rej b/code/game/objects/structures/flora.dm.rej deleted file mode 100644 index 328c71e5cb..0000000000 --- a/code/game/objects/structures/flora.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/objects/structures/flora.dm b/code/game/objects/structures/flora.dm (rejected hunks) -@@ -13,7 +13,7 @@ - var/log_amount = 10 - - /obj/structure/flora/tree/attackby(obj/item/W, mob/user, params) -- if(!cut && log_amount && (!(NODECONSTRUCT in flags))) -+ if(!cut && log_amount && (!(flags_1 & NODECONSTRUCT_1))) - if(W.sharpness && W.force > 0) - if(W.hitsound) - playsound(get_turf(src), W.hitsound, 100, 0, 0) diff --git a/code/game/objects/structures/janicart.dm.rej b/code/game/objects/structures/janicart.dm.rej deleted file mode 100644 index 04143253b3..0000000000 --- a/code/game/objects/structures/janicart.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm (rejected hunks) -@@ -5,7 +5,7 @@ - icon_state = "cart" - anchored = FALSE - density = TRUE -- container_type = OPENCONTAINER -+ container_type = OPENCONTAINER_1 - //copypaste sorry - var/amount_per_transfer_from_this = 5 //shit I dunno, adding this so syringes stop runtime erroring. --NeoFite - var/obj/item/storage/bag/trash/mybag = null diff --git a/code/game/objects/structures/manned_turret.dm b/code/game/objects/structures/manned_turret.dm index 76b3a4059e..e15a655a63 100644 --- a/code/game/objects/structures/manned_turret.dm +++ b/code/game/objects/structures/manned_turret.dm @@ -176,7 +176,7 @@ /obj/item/gun_control name = "turret controls" - icon = 'icons/obj/weapons.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "offhand" w_class = WEIGHT_CLASS_HUGE flags_1 = ABSTRACT_1 | NODROP_1 | NOBLUDGEON_1 | DROPDEL_1 diff --git a/code/game/objects/structures/manned_turret.dm.rej b/code/game/objects/structures/manned_turret.dm.rej deleted file mode 100644 index a248573d17..0000000000 --- a/code/game/objects/structures/manned_turret.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/objects/structures/manned_turret.dm b/code/game/objects/structures/manned_turret.dm (rejected hunks) -@@ -177,7 +177,7 @@ - icon = 'icons/obj/items_and_weapons.dmi' - icon_state = "offhand" - w_class = WEIGHT_CLASS_HUGE -- flags = ABSTRACT | NODROP | NOBLUDGEON | DROPDEL -+ flags_1 = ABSTRACT_1 | NODROP_1 | NOBLUDGEON_1 | DROPDEL_1 - resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF - var/obj/machinery/manned_turret/turret - diff --git a/code/game/objects/structures/mirror.dm.rej b/code/game/objects/structures/mirror.dm.rej deleted file mode 100644 index 28985dc2f1..0000000000 --- a/code/game/objects/structures/mirror.dm.rej +++ /dev/null @@ -1,18 +0,0 @@ -diff a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm (rejected hunks) -@@ -47,14 +47,14 @@ - ..() - - /obj/structure/mirror/obj_break(damage_flag) -- if(!broken && !(flags & NODECONSTRUCT)) -+ if(!broken && !(flags_1 & NODECONSTRUCT_1)) - icon_state = "mirror_broke" - playsound(src, "shatter", 70, 1) - desc = "Oh no, seven years of bad luck!" - broken = 1 - - /obj/structure/mirror/deconstruct(disassembled = TRUE) -- if(!(flags & NODECONSTRUCT)) -+ if(!(flags_1 & NODECONSTRUCT_1)) - if(!disassembled) - new /obj/item/shard( src.loc ) - qdel(src) diff --git a/code/game/objects/structures/signs.dm.rej b/code/game/objects/structures/signs.dm.rej deleted file mode 100644 index 51eea8f290..0000000000 --- a/code/game/objects/structures/signs.dm.rej +++ /dev/null @@ -1,11 +0,0 @@ -diff a/code/game/objects/structures/signs.dm b/code/game/objects/structures/signs.dm (rejected hunks) -@@ -326,6 +326,6 @@ - icon_state = "direction_bridge" - - /obj/structure/sign/logo -- name = "station logo" -- desc = "A sign: SPACE STATION 13." -+ name = "nanotrasen logo" -+ desc = "The Nanotrasen corporate logo." - icon_state = "nanotrasen_sign1" -\ No newline at end of file diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 6eb54dba0f..dda1514276 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -480,7 +480,7 @@ /obj/item/rack_parts name = "rack parts" desc = "Parts of a rack." - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "rack_parts" flags_1 = CONDUCT_1 materials = list(MAT_METAL=2000) diff --git a/code/game/objects/structures/tables_racks.dm.rej b/code/game/objects/structures/tables_racks.dm.rej deleted file mode 100644 index 3b5d3235dd..0000000000 --- a/code/game/objects/structures/tables_racks.dm.rej +++ /dev/null @@ -1,37 +0,0 @@ -diff a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm (rejected hunks) -@@ -94,7 +94,7 @@ - - - /obj/structure/table/attackby(obj/item/I, mob/user, params) -- if(!(flags & NODECONSTRUCT)) -+ if(!(flags_1 & NODECONSTRUCT_1)) - if(istype(I, /obj/item/screwdriver) && deconstruction_ready) - to_chat(user, "You start disassembling [src]...") - playsound(src.loc, I.usesound, 50, 1) -@@ -429,7 +429,7 @@ - - - /obj/structure/rack/attackby(obj/item/W, mob/user, params) -- if (istype(W, /obj/item/wrench) && !(flags&NODECONSTRUCT)) -+ if (istype(W, /obj/item/wrench) && !(flags_1&NODECONSTRUCT_1)) - playsound(src.loc, W.usesound, 50, 1) - deconstruct(TRUE) - return -@@ -466,7 +466,7 @@ - */ - - /obj/structure/rack/deconstruct(disassembled = TRUE) -- if(!(flags&NODECONSTRUCT)) -+ if(!(flags_1&NODECONSTRUCT_1)) - density = FALSE - var/obj/item/rack_parts/newparts = new(loc) - transfer_fingerprints_to(newparts) -@@ -482,7 +482,7 @@ - desc = "Parts of a rack." - icon = 'icons/obj/items_and_weapons.dmi' - icon_state = "rack_parts" -- flags = CONDUCT -+ flags_1 = CONDUCT_1 - materials = list(MAT_METAL=2000) - var/building = FALSE - diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index 2dc5a57cf6..ea1f1f5214 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -184,7 +184,7 @@ /obj/item/reagent_containers/food/urinalcake name = "urinal cake" desc = "The noble urinal cake, protecting the station's pipes from the station's pee. Do not eat." - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "urinalcake" w_class = WEIGHT_CLASS_TINY list_reagents = list("chlorine" = 3, "ammonia" = 1) diff --git a/code/game/objects/structures/watercloset.dm.rej b/code/game/objects/structures/watercloset.dm.rej deleted file mode 100644 index 6d2baac077..0000000000 --- a/code/game/objects/structures/watercloset.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm (rejected hunks) -@@ -462,7 +462,7 @@ - - if(istype(O, /obj/item/reagent_containers)) - var/obj/item/reagent_containers/RG = O -- if(RG.container_type & OPENCONTAINER) -+ if(RG.container_type & OPENCONTAINER_1) - if(!RG.reagents.holder_full()) - RG.reagents.add_reagent("[dispensedreagent]", min(RG.volume - RG.reagents.total_volume, RG.amount_per_transfer_from_this)) - to_chat(user, "You fill [RG] from [src].") diff --git a/code/game/objects/structures/window.dm.rej b/code/game/objects/structures/window.dm.rej deleted file mode 100644 index 6968784ec2..0000000000 --- a/code/game/objects/structures/window.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm (rejected hunks) -@@ -188,7 +188,7 @@ - to_chat(user, "[src] is already in good condition!") - return - -- if(!(flags&NODECONSTRUCT)) -+ if(!(flags_1&NODECONSTRUCT_1)) - if(istype(I, /obj/item/screwdriver)) - playsound(src, I.usesound, 75, 1) - if(reinf) diff --git a/code/game/objects/weapons.dm b/code/game/objects/weapons.dm index 29d84dd247..e4d0a73b5b 100644 --- a/code/game/objects/weapons.dm +++ b/code/game/objects/weapons.dm @@ -1,6 +1,6 @@ /obj/item/weapon name = "weapon" - icon = 'icons/obj/weapons.dmi' + icon = 'icons/obj/items_and_weapons.dmi' /obj/item/Initialize() . = ..() diff --git a/code/game/sound.dm.rej b/code/game/sound.dm.rej deleted file mode 100644 index 003c8b9975..0000000000 --- a/code/game/sound.dm.rej +++ /dev/null @@ -1,9 +0,0 @@ -diff a/code/game/sound.dm b/code/game/sound.dm (rejected hunks) -@@ -145,7 +145,3 @@ - if ("can_open") - soundin = pick('sound/effects/can_open1.ogg', 'sound/effects/can_open2.ogg', 'sound/effects/can_open3.ogg') - return soundin -- --/proc/playsound_global(file, repeat = 0, wait, channel, volume) -- for(var/V in GLOB.clients) -- V << sound(file, repeat, wait, channel, volume) diff --git a/code/game/turfs/simulated/dirtystation.dm b/code/game/turfs/simulated/dirtystation.dm index dbf67d7d0f..cc3688d064 100644 --- a/code/game/turfs/simulated/dirtystation.dm +++ b/code/game/turfs/simulated/dirtystation.dm @@ -24,16 +24,30 @@ //The code below here isn't exactly optimal, but because of the individual decals that each area uses it's still applicable. - //high dirt - 1/3 - if(istype(A, /area/science/test_area) || istype(A, /area/mine/production) || istype(A, /area/mine/living_quarters) || istype(A, /area/mine/north_outpost) || istype(A, /area/mine/west_outpost) || istype(A, /area/ruin/space)) + //high dirt - 1/3 chance. + var/static/list/high_dirt_areas = typecacheof(list(/area/science/test_area, + /area/mine/production, + /area/mine/living_quarters, + /area/mine/north_outpost, + /area/mine/west_outpost, + /area/ruin/space)) + if(is_type_in_typecache(A, high_dirt_areas)) new /obj/effect/decal/cleanable/dirt(src) //vanilla, but it works return + if(prob(80)) //mid dirt - 1/15 return - if(istype(A, /area/engine) || istype(A, /area/crew_quarters/heads/chief) || istype(A, /area/ruin/space/derelict/assembly_line) || istype(A, /area/science/robotics) || istype(A, /area/maintenance) || istype(A, /area/construction)) - //Blood, sweat, and oil. Oh, and dirt. + //Construction zones. Blood, sweat, and oil. Oh, and dirt. + var/static/list/engine_dirt_areas = typecacheof(list(/area/engine, + /area/crew_quarters/heads/chief, + /area/ruin/space/derelict/assembly_line, + /area/science/robotics, + /area/maintenance, + /area/construction, + /area/survivalpod)) + if(is_type_in_typecache(A, engine_dirt_areas)) if(prob(3)) new /obj/effect/decal/cleanable/blood/old(src) else @@ -46,7 +60,10 @@ new /obj/effect/decal/cleanable/dirt(src) return - if(istype(A, /area/crew_quarters/toilet)) + //Bathrooms. Blood, vomit, and shavings in the sinks. + var/static/list/bathroom_dirt_areas = typecacheof(list( /area/crew_quarters/toilet, + /area/awaymission/research/interior/bathroom)) + if(is_type_in_typecache(A, bathroom_dirt_areas)) if(prob(40)) if(prob(90)) new /obj/effect/decal/cleanable/vomit/old(src) @@ -54,15 +71,23 @@ new /obj/effect/decal/cleanable/blood/old(src) return - if(istype(A, /area/quartermaster)) + //Hangars and pods covered in oil. + var/static/list/oily_areas = typecacheof(list(/area/quartermaster)) + if(is_type_in_typecache(A, oily_areas)) if(prob(25)) new /obj/effect/decal/cleanable/oil(src) return + if(prob(75)) //low dirt - 1/60 return - if(istype(A, /area/ai_monitored/turret_protected) || istype(A, /area/prison) || istype(A, /area/security) || istype(A, /area/crew_quarters/heads/hos)) //chance of incident + //Areas where gibs will be present. Robusting probably happened some time ago. + var/static/list/gib_covered_areas = typecacheof(list(/area/ai_monitored/turret_protected, + /area/prison, + /area/security, + /area/crew_quarters/heads/hos)) + if(is_type_in_typecache(A, gib_covered_areas)) if(prob(20)) if(prob(5)) new /obj/effect/decal/cleanable/blood/gibs/old(src) @@ -70,8 +95,10 @@ new /obj/effect/decal/cleanable/blood/old(src) return - - if(istype(A, /area/crew_quarters/kitchen) || istype(A, /area/crew_quarters/cafeteria)) //Kitchen messes + //Kitchen areas. Broken eggs, flour, spilled milk (no crying allowed.) + var/static/list/kitchen_dirt_areas = typecacheof(list(/area/crew_quarters/kitchen, + /area/crew_quarters/cafeteria)) + if(is_type_in_typecache(A, kitchen_dirt_areas)) if(prob(60)) if(prob(50)) new /obj/effect/decal/cleanable/egg_smudge(src) @@ -79,7 +106,10 @@ new /obj/effect/decal/cleanable/flour(src) return - if(istype(A, /area/medical) || istype(A, /area/crew_quarters/heads/cmo)) //Kept clean, but chance of blood + //Medical areas. Mostly clean by space-OSHA standards, but has some blood and oil spread about. + var/static/list/medical_dirt_areas = typecacheof(list(/area/medical, + /area/crew_quarters/heads/cmo)) + if(is_type_in_typecache(A, medical_dirt_areas)) if(prob(66)) if(prob(5)) new /obj/effect/decal/cleanable/blood/gibs/old(src) @@ -92,7 +122,10 @@ new /obj/effect/decal/cleanable/vomit/old(src) return - if(istype(A, /area/science) || istype(A, /area/crew_quarters/heads/hor)) + //Science messes. Mostly green glowy stuff -WHICH YOU SHOULD NOT INJEST-. + var/static/list/science_dirt_areas = typecacheof(list(/area/science, + /area/crew_quarters/heads/hor)) + if(is_type_in_typecache(A, medical_dirt_areas)) if(prob(20)) new /obj/effect/decal/cleanable/greenglow(src) //this cleans itself up but it might startle you when you see it. return diff --git a/code/game/turfs/simulated/floor/fancy_floor.dm.rej b/code/game/turfs/simulated/floor/fancy_floor.dm.rej deleted file mode 100644 index c310c1ab28..0000000000 --- a/code/game/turfs/simulated/floor/fancy_floor.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/game/turfs/simulated/floor/fancy_floor.dm b/code/game/turfs/simulated/floor/fancy_floor.dm (rejected hunks) -@@ -66,7 +66,7 @@ - icon_state = "grass" - floor_tile = /obj/item/stack/tile/grass - broken_states = list("sand") -- flags = NONE -+ flags_1 = NONE - var/ore_type = /obj/item/ore/glass - var/turfverb = "uproot" - diff --git a/code/game/turfs/simulated/minerals.dm b/code/game/turfs/simulated/minerals.dm index 47dc4ff15e..9e0d57d782 100644 --- a/code/game/turfs/simulated/minerals.dm +++ b/code/game/turfs/simulated/minerals.dm @@ -87,7 +87,7 @@ playsound(src, 'sound/effects/break_stone.ogg', 50, 1) //beautiful destruction /turf/closed/mineral/attack_animal(mob/living/simple_animal/user) - if(user.environment_smash >= 2) + if((user.environment_smash & ENVIRONMENT_SMASH_WALLS) || (user.environment_smash & ENVIRONMENT_SMASH_RWALLS)) gets_drilled() ..() diff --git a/code/game/turfs/simulated/wall/mineral_walls.dm b/code/game/turfs/simulated/wall/mineral_walls.dm index 183956cf74..05d6de5ca6 100644 --- a/code/game/turfs/simulated/wall/mineral_walls.dm +++ b/code/game/turfs/simulated/wall/mineral_walls.dm @@ -178,7 +178,7 @@ flags_1 = CAN_BE_DIRTY_1 | CHECK_RICOCHET_1 sheet_type = /obj/item/stack/sheet/mineral/titanium smooth = SMOOTH_MORE|SMOOTH_DIAGONAL - canSmoothWith = list(/turf/closed/wall/mineral/titanium, /obj/machinery/door/airlock/shuttle, /obj/machinery/door/airlock/, /turf/closed/wall/shuttle, /obj/structure/window/shuttle, /obj/structure/shuttle/engine/heater, /obj/structure/falsewall/titanium) + canSmoothWith = list(/turf/closed/wall/mineral/titanium, /obj/machinery/door/airlock/shuttle, /obj/machinery/door/airlock, /obj/structure/window/shuttle, /obj/structure/shuttle/engine/heater, /obj/structure/falsewall/titanium) /turf/closed/wall/mineral/titanium/nodiagonal smooth = SMOOTH_MORE diff --git a/code/game/turfs/simulated/wall/reinf_walls.dm b/code/game/turfs/simulated/wall/reinf_walls.dm index 8e4c3bc632..261e856629 100644 --- a/code/game/turfs/simulated/wall/reinf_walls.dm +++ b/code/game/turfs/simulated/wall/reinf_walls.dm @@ -40,7 +40,7 @@ M.do_attack_animation(src) if(!M.environment_smash) return - if(M.environment_smash == 3) + if(M.environment_smash & ENVIRONMENT_SMASH_RWALLS) dismantle_wall(1) playsound(src, 'sound/effects/meteorimpact.ogg', 100, 1) else diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index 3b3784bf30..0e44a88fef 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -116,7 +116,7 @@ /turf/closed/wall/attack_animal(mob/living/simple_animal/M) M.changeNext_move(CLICK_CD_MELEE) M.do_attack_animation(src) - if(M.environment_smash >= 2) + if((M.environment_smash & ENVIRONMENT_SMASH_WALLS) || (M.environment_smash & ENVIRONMENT_SMASH_RWALLS)) playsound(src, 'sound/effects/meteorimpact.ogg', 100, 1) dismantle_wall(1) return diff --git a/code/game/turfs/turf.dm.rej b/code/game/turfs/turf.dm.rej deleted file mode 100644 index d58adb0f78..0000000000 --- a/code/game/turfs/turf.dm.rej +++ /dev/null @@ -1 +0,0 @@ -garbage \ No newline at end of file diff --git a/code/game/world.dm b/code/game/world.dm index f5b45a46ca..0eeb29fa50 100644 --- a/code/game/world.dm +++ b/code/game/world.dm @@ -3,7 +3,7 @@ SetupExternalRSC() - GLOB.config_error_log = GLOB.world_href_log = GLOB.world_runtime_log = GLOB.world_attack_log = GLOB.world_game_log = file("data/logs/config_error.log") //temporary file used to record errors with loading config, moved to log directory once logging is set bl + GLOB.config_error_log = GLOB.sql_error_log = GLOB.world_href_log = GLOB.world_runtime_log = GLOB.world_attack_log = GLOB.world_game_log = file("data/logs/config_error.log") //temporary file used to record errors with loading config, moved to log directory once logging is set bl make_datum_references_lists() //initialises global lists for referencing frequently used datums (so that we only ever do it once) @@ -79,6 +79,7 @@ GLOB.world_attack_log = file("[GLOB.log_directory]/attack.log") GLOB.world_runtime_log = file("[GLOB.log_directory]/runtime.log") GLOB.world_href_log = file("[GLOB.log_directory]/hrefs.html") + GLOB.sql_error_log = file("[GLOB.log_directory]/sql.log") WRITE_FILE(GLOB.world_game_log, "\n\nStarting up round ID [GLOB.round_id]. [time_stamp()]\n---------------------") WRITE_FILE(GLOB.world_attack_log, "\n\nStarting up round ID [GLOB.round_id]. [time_stamp()]\n---------------------") WRITE_FILE(GLOB.world_runtime_log, "\n\nStarting up round ID [GLOB.round_id]. [time_stamp()]\n---------------------") diff --git a/code/modules/admin/admin_investigate.dm.rej b/code/modules/admin/admin_investigate.dm.rej deleted file mode 100644 index d58adb0f78..0000000000 --- a/code/modules/admin/admin_investigate.dm.rej +++ /dev/null @@ -1 +0,0 @@ -garbage \ No newline at end of file diff --git a/code/modules/admin/fun_balloon.dm b/code/modules/admin/fun_balloon.dm index dd974fe717..1872b98ffa 100644 --- a/code/modules/admin/fun_balloon.dm +++ b/code/modules/admin/fun_balloon.dm @@ -1,7 +1,7 @@ /obj/effect/fun_balloon name = "fun balloon" desc = "This is going to be a laugh riot." - icon = 'icons/obj/weapons.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "syndballoon" anchored = TRUE var/popped = FALSE @@ -86,7 +86,7 @@ /obj/effect/station_crash name = "station crash" desc = "With no survivors!" - icon = 'icons/obj/weapons.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "syndballoon" anchored = TRUE @@ -105,7 +105,7 @@ /obj/effect/shuttle_build name = "shuttle_build" desc = "Some assembly required" - icon = 'icons/obj/weapons.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "syndballoon" anchored = TRUE diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm index b19c736e14..d593973188 100644 --- a/code/modules/admin/verbs/adminhelp.dm +++ b/code/modules/admin/verbs/adminhelp.dm @@ -24,7 +24,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) QDEL_NULL(cstatclick) QDEL_NULL(rstatclick) return ..() - + /datum/admin_help_tickets/proc/TicketByID(id) var/list/lists = list(active_tickets, closed_tickets, resolved_tickets) for(var/I in lists) @@ -185,8 +185,6 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) TimeoutVerb() - var/parsed_message = keywords_lookup(msg) - statclick = new(null, src) _interactions = list() @@ -194,7 +192,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) AddInteraction("[key_name_admin(usr)] PM'd [LinkedReplyName()]") message_admins("Ticket [TicketHref("#[id]")] created") else - MessageNoRecipient(msg, parsed_message) + MessageNoRecipient(msg) //send it to irc if nobody is on and tell us how many were on var/admin_number_present = send2irc_adminless_only(initiator_ckey, "Ticket #[id]: [name]") @@ -249,13 +247,13 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) //message from the initiator without a target, all admins will see this //won't bug irc -/datum/admin_help/proc/MessageNoRecipient(msg, parsed_msg) +/datum/admin_help/proc/MessageNoRecipient(msg) var/ref_src = "\ref[src]" //Message to be sent to all admins - var/admin_msg = "Ticket [TicketHref("#[id]", ref_src)]: [LinkedReplyName(ref_src)] [FullMonty(ref_src)]: [parsed_msg]" + var/admin_msg = "Ticket [TicketHref("#[id]", ref_src)]: [LinkedReplyName(ref_src)] [FullMonty(ref_src)]: [keywords_lookup(msg)]" AddInteraction("[LinkedReplyName(ref_src)]: [msg]") - + //send this msg to all admins for(var/client/X in GLOB.admins) if(X.prefs.toggles & SOUND_ADMINHELP) diff --git a/code/modules/admin/verbs/playsound.dm b/code/modules/admin/verbs/playsound.dm index 2bac326710..84a29d9c01 100644 --- a/code/modules/admin/verbs/playsound.dm +++ b/code/modules/admin/verbs/playsound.dm @@ -9,6 +9,11 @@ freq = pick(0.5, 0.7, 0.8, 0.85, 0.9, 0.95, 1.1, 1.2, 1.4, 1.6, 2.0, 2.5) to_chat(src, "You feel the Honkmother messing with your song...") + var/vol = input(usr, "What volume would you like the sound to play at?",, 100) as null|num + if(!vol) + return + vol = Clamp(vol, 1, 100) + var/sound/admin_sound = new() admin_sound.file = S admin_sound.priority = 250 @@ -17,7 +22,8 @@ admin_sound.wait = 1 admin_sound.repeat = 0 admin_sound.status = SOUND_STREAM - + admin_sound.volume = vol + var/res = alert(usr, "Show the title of this song to the players?",, "No", "Yes", "Cancel") switch(res) if("Yes") diff --git a/code/modules/assembly/bomb.dm.rej b/code/modules/assembly/bomb.dm.rej deleted file mode 100644 index f3c0e1ff20..0000000000 --- a/code/modules/assembly/bomb.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/assembly/bomb.dm b/code/modules/assembly/bomb.dm (rejected hunks) -@@ -8,7 +8,7 @@ - w_class = WEIGHT_CLASS_NORMAL - throw_speed = 2 - throw_range = 4 -- flags = CONDUCT -+ flags_1 = CONDUCT_1 - var/status = FALSE //0 - not readied //1 - bomb finished with welder - var/obj/item/device/assembly_holder/bombassembly = null //The first part of the bomb is an assembly holder, holding an igniter+some device - var/obj/item/tank/bombtank = null //the second part of the bomb is a plasma tank diff --git a/code/modules/assembly/flash.dm b/code/modules/assembly/flash.dm index f48e2a321c..2dd7b71cc5 100644 --- a/code/modules/assembly/flash.dm +++ b/code/modules/assembly/flash.dm @@ -224,7 +224,7 @@ /obj/item/device/assembly/flash/shield name = "strobe shield" desc = "A shield with a built in, high intensity light capable of blinding and disorienting suspects. Takes regular handheld flashes as bulbs." - icon = 'icons/obj/weapons.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "flashshield" item_state = "flashshield" lefthand_file = 'icons/mob/inhands/equipment/shields_lefthand.dmi' diff --git a/code/modules/atmospherics/machinery/airalarm.dm.rej b/code/modules/atmospherics/machinery/airalarm.dm.rej deleted file mode 100644 index bd403dcdff..0000000000 --- a/code/modules/atmospherics/machinery/airalarm.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/atmospherics/machinery/airalarm.dm b/code/modules/atmospherics/machinery/airalarm.dm (rejected hunks) -@@ -734,7 +734,7 @@ - update_icon() - - /obj/machinery/airalarm/deconstruct(disassembled = TRUE) -- if(!(flags & NODECONSTRUCT)) -+ if(!(flags_1 & NODECONSTRUCT_1)) - new /obj/item/stack/sheet/metal(loc, 2) - var/obj/item/I = new /obj/item/electronics/airalarm(loc) - if(!disassembled) diff --git a/code/modules/awaymissions/capture_the_flag.dm b/code/modules/awaymissions/capture_the_flag.dm index c914fd5c8f..6d36f5f140 100644 --- a/code/modules/awaymissions/capture_the_flag.dm +++ b/code/modules/awaymissions/capture_the_flag.dm @@ -10,7 +10,7 @@ /obj/item/twohanded/ctf name = "banner" - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "banner" item_state = "banner" lefthand_file = 'icons/mob/inhands/equipment/banners_lefthand.dmi' @@ -100,7 +100,7 @@ /obj/effect/ctf/flag_reset name = "banner landmark" - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "banner" desc = "This is where a banner with Nanotrasen's logo on it would go." layer = LOW_ITEM_LAYER diff --git a/code/modules/awaymissions/capture_the_flag.dm.rej b/code/modules/awaymissions/capture_the_flag.dm.rej deleted file mode 100644 index 3cd73a1ae5..0000000000 --- a/code/modules/awaymissions/capture_the_flag.dm.rej +++ /dev/null @@ -1,18 +0,0 @@ -diff a/code/modules/awaymissions/capture_the_flag.dm b/code/modules/awaymissions/capture_the_flag.dm (rejected hunks) -@@ -473,14 +473,14 @@ - W.registered_name = H.real_name - W.update_label(W.registered_name, W.assignment) - -- // The shielded hardsuit is already NODROP -+ // The shielded hardsuit is already NODROP_1 - no_drops += H.get_item_by_slot(slot_gloves) - no_drops += H.get_item_by_slot(slot_shoes) - no_drops += H.get_item_by_slot(slot_w_uniform) - no_drops += H.get_item_by_slot(slot_ears) - for(var/i in no_drops) - var/obj/item/I = i -- I.flags |= NODROP -+ I.flags_1 |= NODROP_1 - - /datum/outfit/ctf/instagib - r_hand = /obj/item/gun/energy/laser/instakill diff --git a/code/modules/cargo/console.dm.rej b/code/modules/cargo/console.dm.rej deleted file mode 100644 index e8798f179a..0000000000 --- a/code/modules/cargo/console.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/cargo/console.dm b/code/modules/cargo/console.dm (rejected hunks) -@@ -145,7 +145,7 @@ - - var/reason = "" - if(requestonly) -- reason = stripped_input("Reason:", name, "") as text|null -+ reason = stripped_input("Reason:", name, "") - if(isnull(reason) || ..()) - return - diff --git a/code/modules/client/client_procs.dm.rej b/code/modules/client/client_procs.dm.rej deleted file mode 100644 index 2b656938c4..0000000000 --- a/code/modules/client/client_procs.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm (rejected hunks) -@@ -73,7 +73,7 @@ - return - - //Logs all hrefs, except chat pings -- if(href_list["proc"] != "ping") -+ if(!(href_list["_src_"] == "chat" && href_list["proc"] == "ping" && LAZYLEN(href_list) == 2)) - WRITE_FILE(GLOB.world_href_log, "[time_stamp(show_ds = TRUE)] [src] (usr:[usr]) || [hsrc ? "[hsrc] " : ""][href]
") - - // Admin PM diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 244afc69f3..a04a34cf00 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -343,6 +343,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car S["job_engsec_low"] >> job_engsec_low //Citadel code + S["feature_genitals_use_skintone"] >> features["genitals_use_skintone"] S["feature_exhibitionist"] >> features["exhibitionist"] S["feature_mcolor2"] >> features["mcolor2"] S["feature_mcolor3"] >> features["mcolor3"] @@ -519,6 +520,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car WRITE_FILE(S["job_engsec_low"] , job_engsec_low) //Citadel + S["feature_genitals_use_skintone"] << features["genitals_use_skintone"] S["feature_exhibitionist"] << features["exhibitionist"] S["feature_mcolor2"] << features["mcolor2"] S["feature_mcolor3"] << features["mcolor3"] diff --git a/code/modules/client/preferences_savefile.dm.rej b/code/modules/client/preferences_savefile.dm.rej deleted file mode 100644 index 3cdbf2cd44..0000000000 --- a/code/modules/client/preferences_savefile.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm (rejected hunks) -@@ -193,7 +193,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car - return 0 - S.cd = "/" - -- WRITE_FILE(S["version"] , SAVEFILE_VERSION_MAX //updates (or failing that the sanity checks) will ensure data is not invalid at load. Assume up-to-date) -+ WRITE_FILE(S["version"] , SAVEFILE_VERSION_MAX) //updates (or failing that the sanity checks) will ensure data is not invalid at load. Assume up-to-date - - //general preferences - WRITE_FILE(S["ooccolor"], ooccolor) diff --git a/code/modules/clothing/chameleon.dm.rej b/code/modules/clothing/chameleon.dm.rej deleted file mode 100644 index 3825f8d9ff..0000000000 --- a/code/modules/clothing/chameleon.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm (rejected hunks) -@@ -384,7 +384,7 @@ - item_color = "black" - desc = "A pair of black shoes." - permeability_coefficient = 0.05 -- flags = NOSLIP -+ flags_1 = NOSLIP_1 - origin_tech = "syndicate=2" - resistance_flags = 0 - pockets = /obj/item/storage/internal/pocket/shoes diff --git a/code/modules/clothing/clothing.dm.rej b/code/modules/clothing/clothing.dm.rej deleted file mode 100644 index 38da963c2b..0000000000 --- a/code/modules/clothing/clothing.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm (rejected hunks) -@@ -494,7 +494,7 @@ BLIND // can't see anything - w_class = WEIGHT_CLASS_BULKY - gas_transfer_coefficient = 0.01 - permeability_coefficient = 0.02 -- flags = STOPSPRESSUREDMAGE | THICKMATERIAL -+ flags_1 = STOPSPRESSUREDMAGE_1 | THICKMATERIAL_1 - body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals) - slowdown = 1 diff --git a/code/modules/clothing/glasses/glasses.dm.rej b/code/modules/clothing/glasses/glasses.dm.rej deleted file mode 100644 index df7958aaba..0000000000 --- a/code/modules/clothing/glasses/glasses.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm (rejected hunks) -@@ -331,7 +331,7 @@ - vision_flags = SEE_TURFS|SEE_MOBS|SEE_OBJS - darkness_view = 8 - scan_reagents = 1 -- flags = NODROP -+ flags_1 = NODROP_1 - lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE - - /obj/item/clothing/glasses/godeye/attackby(obj/item/W as obj, mob/user as mob, params) diff --git a/code/modules/clothing/head/collectable.dm.rej b/code/modules/clothing/head/collectable.dm.rej deleted file mode 100644 index 82a9962cb8..0000000000 --- a/code/modules/clothing/head/collectable.dm.rej +++ /dev/null @@ -1,9 +0,0 @@ -diff a/code/modules/clothing/head/collectable.dm b/code/modules/clothing/head/collectable.dm (rejected hunks) -@@ -4,7 +4,6 @@ - /obj/item/clothing/head/collectable - name = "collectable hat" - desc = "A rare collectable hat." -- dynamic_hair_suffix = "+detective" - - - /obj/item/clothing/head/collectable/petehat diff --git a/code/modules/clothing/head/misc.dm.rej b/code/modules/clothing/head/misc.dm.rej deleted file mode 100644 index df85f74b20..0000000000 --- a/code/modules/clothing/head/misc.dm.rej +++ /dev/null @@ -1,16 +0,0 @@ -diff a/code/modules/clothing/head/misc.dm b/code/modules/clothing/head/misc.dm (rejected hunks) -@@ -250,7 +250,7 @@ - name = "jester hat" - desc = "A hat with bells, to add some merriness to the suit." - icon_state = "jester_hat" -- dynamic_hair_suffix = "null" -+ dynamic_hair_suffix = "" - - /obj/item/clothing/head/rice_hat - name = "rice hat" -@@ -302,4 +302,4 @@ - name = "jester hat" - desc = "A hat with bells, to add some merriness to the suit." - icon_state = "jester_hat2" -- dynamic_hair_suffix = "null" -+ dynamic_hair_suffix = "" diff --git a/code/modules/clothing/suits/armor.dm.rej b/code/modules/clothing/suits/armor.dm.rej deleted file mode 100644 index 6f11586f40..0000000000 --- a/code/modules/clothing/suits/armor.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm (rejected hunks) -@@ -348,7 +348,7 @@ - w_class = WEIGHT_CLASS_BULKY - body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - allowed = list(/obj/item/gun/energy, /obj/item/melee/baton, /obj/item/restraints/handcuffs, /obj/item/tank/internals/emergency_oxygen) -- flags = THICKMATERIAL -+ flags_1 = THICKMATERIAL_1 - flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT - cold_protection = CHEST | GROIN | LEGS | FEET | ARMS | HANDS - min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT diff --git a/code/modules/clothing/suits/bio.dm.rej b/code/modules/clothing/suits/bio.dm.rej deleted file mode 100644 index d39f7fa08f..0000000000 --- a/code/modules/clothing/suits/bio.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/clothing/suits/bio.dm b/code/modules/clothing/suits/bio.dm (rejected hunks) -@@ -18,7 +18,7 @@ - w_class = WEIGHT_CLASS_BULKY - gas_transfer_coefficient = 0.01 - permeability_coefficient = 0.01 -- flags = THICKMATERIAL -+ flags_1 = THICKMATERIAL_1 - body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - slowdown = 1 - allowed = list(/obj/item/tank/internals/emergency_oxygen, /obj/item/pen, /obj/item/device/flashlight/pen, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray) diff --git a/code/modules/clothing/suits/utility.dm.rej b/code/modules/clothing/suits/utility.dm.rej deleted file mode 100644 index 9570c7bb6c..0000000000 --- a/code/modules/clothing/suits/utility.dm.rej +++ /dev/null @@ -1,19 +0,0 @@ -diff a/code/modules/clothing/suits/utility.dm b/code/modules/clothing/suits/utility.dm (rejected hunks) -@@ -21,7 +21,7 @@ - allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/extinguisher, /obj/item/crowbar) - slowdown = 1 - flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT -- flags = STOPSPRESSUREDMAGE | THICKMATERIAL -+ flags_1 = STOPSPRESSUREDMAGE_1 | THICKMATERIAL_1 - heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT - cold_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS -@@ -124,7 +124,7 @@ - w_class = WEIGHT_CLASS_BULKY - gas_transfer_coefficient = 0.90 - permeability_coefficient = 0.50 -- flags = THICKMATERIAL -+ flags_1 = THICKMATERIAL_1 - body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS - allowed = list(/obj/item/device/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/device/geiger_counter) - slowdown = 1.5 diff --git a/code/modules/crafting/craft.dm.rej b/code/modules/crafting/craft.dm.rej deleted file mode 100644 index c1aa21cb9c..0000000000 --- a/code/modules/crafting/craft.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/crafting/craft.dm b/code/modules/crafting/craft.dm (rejected hunks) -@@ -96,7 +96,7 @@ - else - if(istype(I, /obj/item/reagent_containers)) - var/obj/item/reagent_containers/RC = I -- if(RC.container_type & OPENCONTAINER) -+ if(RC.container_type & OPENCONTAINER_1) - for(var/datum/reagent/A in RC.reagents.reagent_list) - .[A.type] += A.volume - .[I.type] += 1 diff --git a/code/modules/fields/turf_objects.dm.rej b/code/modules/fields/turf_objects.dm.rej deleted file mode 100644 index de5d9adf07..0000000000 --- a/code/modules/fields/turf_objects.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/fields/turf_objects.dm b/code/modules/fields/turf_objects.dm (rejected hunks) -@@ -6,7 +6,7 @@ - icon_state = null - alpha = 0 - invisibility = INVISIBILITY_ABSTRACT -- flags = ABSTRACT|ON_BORDER -+ flags_1 = ABSTRACT_1|ON_BORDER_1 - mouse_opacity = MOUSE_OPACITY_TRANSPARENT - var/datum/proximity_monitor/advanced/parent = null - diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index 3ea6505a61..0bac8e36ff 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -983,11 +983,11 @@ GLOBAL_LIST_INIT(hallucinations_major, list( if(prob(25)) target.halitem.icon_state = "plasticx40" if(3) //sword - target.halitem.icon = 'icons/obj/weapons.dmi' + target.halitem.icon = 'icons/obj/items_and_weapons.dmi' target.halitem.icon_state = "sword0" target.halitem.name = "Energy Sword" if(4) //stun baton - target.halitem.icon = 'icons/obj/weapons.dmi' + target.halitem.icon = 'icons/obj/items_and_weapons.dmi' target.halitem.icon_state = "stunbaton" target.halitem.name = "Stun Baton" if(5) //emag diff --git a/code/modules/flufftext/Hallucination.dm.rej b/code/modules/flufftext/Hallucination.dm.rej deleted file mode 100644 index 3ea6505a61..0000000000 --- a/code/modules/flufftext/Hallucination.dm.rej +++ /dev/null @@ -1,1151 +0,0 @@ -/* -Ideas for the subtle effects of hallucination: - -Light up oxygen/plasma indicators (done) -Cause health to look critical/dead, even when standing (done) -Characters silently watching you -Brief flashes of fire/space/bombs/c4/dangerous shit (done) -Items that are rare/traitorous/don't exist appearing in your inventory slots (done) -Strange audio (should be rare) (done) -Gunshots/explosions/opening doors/less rare audio (done) - -*/ - -#define HAL_LINES_FILE "hallucination.json" - -/mob/living/carbon - var/image/halimage - var/image/halbody - var/obj/halitem - var/hal_screwyhud = SCREWYHUD_NONE - var/next_hallucination = 0 - -GLOBAL_LIST_INIT(hallucinations_minor, list( - /datum/hallucination/sounds, - /datum/hallucination/bolts, - /datum/hallucination/whispers, - /datum/hallucination/message, - /datum/hallucination/hudscrew)) - -GLOBAL_LIST_INIT(hallucinations_medium, list( - /datum/hallucination/fake_alert, - /datum/hallucination/items, - /datum/hallucination/items_other, - /datum/hallucination/dangerflash, - /datum/hallucination/bolts, - /datum/hallucination/fake_flood, - /datum/hallucination/husks, - /datum/hallucination/battle, - /datum/hallucination/fire, - /datum/hallucination/self_delusion)) - -GLOBAL_LIST_INIT(hallucinations_major, list( - /datum/hallucination/fakeattacker, - /datum/hallucination/death, - /datum/hallucination/xeno_attack, - /datum/hallucination/singularity_scare, - /datum/hallucination/delusion, - /datum/hallucination/oh_yeah)) - -/mob/living/carbon/proc/handle_hallucinations() - if(world.time < next_hallucination) - return - - if(hallucination) - var/list/current = GLOB.hallucinations_minor - if(prob(25) && hallucination > 100) - current = GLOB.hallucinations_medium - else if(prob(10) && hallucination > 200) - current = GLOB.hallucinations_major - var/halpick = pick(current) - new halpick(src, FALSE) - -/mob/living/carbon/proc/set_screwyhud(hud_type) - hal_screwyhud = hud_type - update_health_hud() - -/datum/hallucination - var/mob/living/carbon/target - var/cost = 5 //affects the amount of hallucination reduced, and cooldown until the next hallucination - var/feedback_details //extra info for investigate - -/datum/hallucination/New(mob/living/carbon/T, forced = TRUE) - set waitfor = 0 - target = T - if(!forced) - target.hallucination = max(0, target.hallucination - cost) - target.next_hallucination = world.time + (rand(cost * 0.5, cost * 3) * 10) - -/datum/hallucination/proc/wake_and_restore() - target.set_screwyhud(SCREWYHUD_NONE) - target.SetSleeping(0) - -/datum/hallucination/Destroy() - target.investigate_log("was afflicted with a hallucination of type [type]. [feedback_details]", INVESTIGATE_HALLUCINATIONS) - return ..() - -/obj/effect/hallucination - invisibility = INVISIBILITY_OBSERVER - var/mob/living/carbon/target = null - -/obj/effect/hallucination/simple - var/image_icon = 'icons/mob/alien.dmi' - var/image_state = "alienh_pounce" - var/px = 0 - var/py = 0 - var/col_mod = null - var/image/current_image = null - var/image_layer = MOB_LAYER - var/active = TRUE //qdelery - -/obj/effect/hallucination/simple/Initialize(mapload, var/mob/living/carbon/T) - ..() - target = T - current_image = GetImage() - if(target.client) - target.client.images |= current_image - -/obj/effect/hallucination/simple/proc/GetImage() - var/image/I = image(image_icon,src,image_state,image_layer,dir=src.dir) - I.pixel_x = px - I.pixel_y = py - if(col_mod) - I.color = col_mod - return I - -/obj/effect/hallucination/simple/proc/Show(update=1) - if(active) - if(target.client) - target.client.images.Remove(current_image) - if(update) - current_image = GetImage() - if(target.client) - target.client.images |= current_image - -/obj/effect/hallucination/simple/update_icon(new_state,new_icon,new_px=0,new_py=0) - image_state = new_state - if(new_icon) - image_icon = new_icon - else - image_icon = initial(image_icon) - px = new_px - py = new_py - Show() - -/obj/effect/hallucination/simple/Moved(atom/OldLoc, Dir) - Show() - -/obj/effect/hallucination/simple/Destroy() - if(target.client) - target.client.images.Remove(current_image) - active = FALSE - return ..() - -#define FAKE_FLOOD_EXPAND_TIME 20 -#define FAKE_FLOOD_MAX_RADIUS 10 - -/datum/hallucination/fake_flood - //Plasma starts flooding from the nearby vent - var/turf/center - var/list/flood_images = list() - var/list/turf/flood_turfs = list() - var/image_icon = 'icons/effects/tile_effects.dmi' - var/image_state = "plasma" - var/radius = 0 - var/next_expand = 0 - cost = 25 - -/datum/hallucination/fake_flood/New(mob/living/carbon/T, forced = TRUE) - ..() - for(var/obj/machinery/atmospherics/components/unary/vent_pump/U in orange(7,target)) - if(!U.welded) - center = get_turf(U) - break - feedback_details += "Vent Coords: [center.x],[center.y],[center.z]" - flood_images += image(image_icon,center,image_state,MOB_LAYER) - flood_turfs += center - if(target.client) target.client.images |= flood_images - next_expand = world.time + FAKE_FLOOD_EXPAND_TIME - START_PROCESSING(SSobj, src) - -/datum/hallucination/fake_flood/process() - if(next_expand <= world.time) - radius++ - if(radius > FAKE_FLOOD_MAX_RADIUS) - qdel(src) - return - Expand() - if((get_turf(target) in flood_turfs) && !target.internal) - new /datum/hallucination/fake_alert(target, TRUE, "tox_in_air") - next_expand = world.time + FAKE_FLOOD_EXPAND_TIME - -/datum/hallucination/fake_flood/proc/Expand() - for(var/turf/FT in flood_turfs) - for(var/dir in GLOB.cardinals) - var/turf/T = get_step(FT, dir) - if((T in flood_turfs) || !FT.CanAtmosPass(T)) - continue - flood_images += image(image_icon,T,image_state,MOB_LAYER) - flood_turfs += T - if(target.client) - target.client.images |= flood_images - -/datum/hallucination/fake_flood/Destroy() - STOP_PROCESSING(SSobj, src) - qdel(flood_turfs) - flood_turfs = list() - if(target.client) - target.client.images.Remove(flood_images) - target = null - qdel(flood_images) - flood_images = list() - return ..() - -/obj/effect/hallucination/simple/xeno - image_icon = 'icons/mob/alien.dmi' - image_state = "alienh_pounce" - -/obj/effect/hallucination/simple/xeno/Initialize(mapload, mob/living/carbon/T) - ..() - name = "alien hunter ([rand(1, 1000)])" - -/obj/effect/hallucination/simple/xeno/throw_impact(A) - update_icon("alienh_pounce") - if(A == target && target.stat!=DEAD) - target.Knockdown(100) - target.visible_message("[target] flails around wildly.","[name] pounces on you!") - -/datum/hallucination/xeno_attack - //Xeno crawls from nearby vent,jumps at you, and goes back in - var/obj/machinery/atmospherics/components/unary/vent_pump/pump = null - var/obj/effect/hallucination/simple/xeno/xeno = null - cost = 25 - -/datum/hallucination/xeno_attack/New(mob/living/carbon/T, forced = TRUE) - ..() - for(var/obj/machinery/atmospherics/components/unary/vent_pump/U in orange(7,target)) - if(!U.welded) - pump = U - break - feedback_details += "Vent Coords: [pump.x],[pump.y],[pump.z]" - if(pump) - xeno = new(pump.loc,target) - sleep(10) - xeno.update_icon("alienh_leap",'icons/mob/alienleap.dmi',-32,-32) - xeno.throw_at(target,7,1, spin = 0, diagonals_first = 1) - sleep(10) - xeno.update_icon("alienh_leap",'icons/mob/alienleap.dmi',-32,-32) - xeno.throw_at(pump,7,1, spin = 0, diagonals_first = 1) - sleep(10) - var/xeno_name = xeno.name - to_chat(target, "[xeno_name] begins climbing into the ventilation system...") - sleep(30) - qdel(xeno) - to_chat(target, "[xeno_name] scrambles into the ventilation ducts!") - qdel(src) - -/obj/effect/hallucination/simple/clown - image_icon = 'icons/mob/animal.dmi' - image_state = "clown" - -/obj/effect/hallucination/simple/clown/Initialize(mapload, mob/living/carbon/T, duration) - ..(loc, T) - name = pick(GLOB.clown_names) - QDEL_IN(src,duration) - -/obj/effect/hallucination/simple/clown/scary - image_state = "scary_clown" - -/obj/effect/hallucination/simple/bubblegum - name = "Bubblegum" - image_icon = 'icons/mob/lavaland/96x96megafauna.dmi' - image_state = "bubblegum" - px = -32 - -/datum/hallucination/oh_yeah - var/obj/effect/hallucination/simple/bubblegum/bubblegum - var/image/fakebroken - var/image/fakerune - cost = 75 - -/datum/hallucination/oh_yeah/New(mob/living/carbon/T, forced = TRUE) - . = ..() - var/turf/closed/wall/wall - for(var/turf/closed/wall/W in range(7,target)) - wall = W - break - if(!wall) - return INITIALIZE_HINT_QDEL - feedback_details += "Source: [wall.x],[wall.y],[wall.z]" - - fakebroken = image('icons/turf/floors.dmi', wall, "plating", layer = TURF_LAYER) - var/turf/landing = get_turf(target) - var/turf/landing_image_turf = get_step(landing, SOUTHWEST) //the icon is 3x3 - fakerune = image('icons/effects/96x96.dmi', landing_image_turf, "landing", layer = ABOVE_OPEN_TURF_LAYER) - fakebroken.override = TRUE - if(target.client) - target.client.images |= fakebroken - target.client.images |= fakerune - target.playsound_local(wall,'sound/effects/meteorimpact.ogg', 150, 1) - bubblegum = new(wall, target) - addtimer(CALLBACK(src, .proc/bubble_attack, landing), 10) - -/datum/hallucination/oh_yeah/proc/bubble_attack(turf/landing) - var/charged = FALSE //only get hit once - while(get_turf(bubblegum) != landing && target && target.stat != DEAD) - bubblegum.forceMove(get_step_towards(bubblegum, landing)) - bubblegum.setDir(get_dir(bubblegum, landing)) - target.playsound_local(get_turf(bubblegum), 'sound/effects/meteorimpact.ogg', 150, 1) - shake_camera(target, 2, 1) - if(bubblegum.Adjacent(target) && !charged) - charged = TRUE - target.Knockdown(80) - target.adjustStaminaLoss(40) - step_away(target, bubblegum) - shake_camera(target, 4, 3) - target.visible_message("[target] jumps backwards, falling on the ground!","[bubblegum] slams into you!") - sleep(2) - sleep(30) - qdel(src) - -/datum/hallucination/oh_yeah/Destroy() - if(target.client) - target.client.images.Remove(fakebroken) - target.client.images.Remove(fakerune) - QDEL_NULL(fakebroken) - QDEL_NULL(fakerune) - QDEL_NULL(bubblegum) - return ..() - -/datum/hallucination/singularity_scare - //Singularity moving towards you. - //todo Hide where it moved with fake space images - var/obj/effect/hallucination/simple/singularity/s = null - cost = 75 - -/datum/hallucination/singularity_scare/New(mob/living/carbon/T, forced = TRUE) - ..() - var/turf/start = get_turf(T) - var/screen_border = pick(SOUTH,EAST,WEST,NORTH) - for(var/i in 1 to 13) - start = get_step(start,screen_border) - feedback_details += "Source: [start.x],[start.y],[start.z]" - s = new(start,target) - s.parent = src - for(var/i in 1 to 13) - sleep(10) - s.forceMove(get_step(get_turf(s),get_dir(s,target))) - s.Show() - s.Eat() - qdel(s) - -/obj/effect/hallucination/simple/singularity - image_icon = 'icons/effects/224x224.dmi' - image_state = "singularity_s7" - image_layer = MASSIVE_OBJ_LAYER - px = -96 - py = -96 - var/datum/hallucination/singularity_scare/parent - -/obj/effect/hallucination/simple/singularity/proc/Eat(atom/OldLoc, Dir) - var/target_dist = get_dist(src,target) - if(target_dist<=3) //"Eaten" - target.set_screwyhud(SCREWYHUD_DEAD) - target.SetUnconscious(160) - addtimer(CALLBACK(parent, /datum/hallucination/.proc/wake_and_restore), rand(30, 50)) - -/datum/hallucination/battle - cost = 15 - -/datum/hallucination/battle/New(mob/living/carbon/T, forced = TRUE, battle_type) - ..() - var/hits = rand(3,6) - if(!battle_type) - battle_type = pick("laser","esword","gun","stunprod","bomb") - feedback_details += "Type: [battle_type]" - switch(battle_type) - if("laser") //Laser fight - for(var/i in 1 to hits) - target.playsound_local(null, 'sound/weapons/laser.ogg', 25, 1) - if(prob(50)) - addtimer(CALLBACK(target, /mob/.proc/playsound_local, null, 'sound/weapons/sear.ogg', 25, 1), rand(10,20)) - else - addtimer(CALLBACK(target, /mob/.proc/playsound_local, null, 'sound/weapons/effects/searwall.ogg', 25, 1), rand(10,20)) - sleep(rand(CLICK_CD_RANGE, CLICK_CD_RANGE + 8)) - target.playsound_local(null, get_sfx("bodyfall"), 25, 1) - if("esword") //Esword fight - target.playsound_local(null, 'sound/weapons/saberon.ogg',15, 1) - for(var/i=0,i...wabbajack...wabbajack...
") - target.playsound_local(target,'sound/magic/staff_change.ogg', 50, 1) - delusion = A - target.client.images |= A - QDEL_IN(src, duration) - -/datum/hallucination/self_delusion/Destroy() - if(target.client) - target.client.images.Remove(delusion) - return ..() - -/datum/hallucination/fakeattacker/New(mob/living/carbon/T, forced = TRUE) - ..() - var/mob/living/carbon/human/clone = null - var/clone_weapon = null - - for(var/mob/living/carbon/human/H in GLOB.living_mob_list) - if(H.stat || H.lying) - continue - clone = H - feedback_details += "Clone of: [H.real_name]" - break - - if(!clone) - return - - var/static/list/non_fakeattack_weapons = list(/obj/item/gun/ballistic, /obj/item/ammo_box/a357,\ - /obj/item/gun/energy/kinetic_accelerator/crossbow, /obj/item/melee/transforming/energy/sword/saber,\ - /obj/item/storage/box/syndicate, /obj/item/storage/box/emps,\ - /obj/item/cartridge/virus/syndicate, /obj/item/clothing/under/chameleon,\ - /obj/item/clothing/shoes/chameleon, /obj/item/card/id/syndicate,\ - /obj/item/clothing/mask/chameleon, /obj/item/clothing/glasses/thermal,\ - /obj/item/device/chameleon, /obj/item/card/emag, /obj/item/grenade/plastic/x4,\ - /obj/item/storage/toolbox/syndicate, /obj/item/aiModule,\ - /obj/item/device/radio/headset/syndicate, /obj/item/grenade/plastic/c4,\ - /obj/item/device/powersink, /obj/item/storage/box/syndie_kit,\ - /obj/item/toy/syndicateballoon, /obj/item/gun/energy/laser/captain,\ - /obj/item/hand_tele, /obj/item/construction/rcd, /obj/item/tank/jetpack,\ - /obj/item/clothing/under/rank/captain, /obj/item/device/aicard,\ - /obj/item/clothing/shoes/magboots, /obj/item/areaeditor/blueprints, /obj/item/disk/nuclear,\ - /obj/item/clothing/suit/space/nasavoid, /obj/item/tank) - - var/obj/effect/fake_attacker/F = new/obj/effect/fake_attacker(get_turf(target),target) - - for(var/obj/item/I in clone.held_items) - if(!(locate(I) in non_fakeattack_weapons)) - clone_weapon = I.name - F.weap = I - - F.name = clone.name - F.my_target = target - F.weapon_name = clone_weapon - - F.left = image(clone,dir = WEST) - F.right = image(clone,dir = EAST) - F.up = image(clone,dir = NORTH) - F.down = image(clone,dir = SOUTH) - - F.updateimage() - qdel(src) - -/obj/effect/fake_attacker - icon = null - icon_state = null - name = "" - desc = "" - density = FALSE - anchored = TRUE - opacity = 0 - var/mob/living/carbon/human/my_target = null - var/weapon_name = null - var/obj/item/weap = null - var/image/stand_icon = null - var/image/currentimage = null - var/icon/base = null - var/skin_tone - var/mob/living/clone = null - var/image/left - var/image/right - var/image/up - var/collapse - var/image/down - - max_integrity = 100 - -/obj/effect/fake_attacker/attackby(obj/item/P, mob/living/user, params) - step_away(src,my_target,2) - user.changeNext_move(CLICK_CD_MELEE) - user.do_attack_animation(src) - my_target.playsound_local(src, P.hitsound, 1) - my_target.visible_message("[my_target] flails around wildly.", \ - "[my_target] has attacked [src]!") - - obj_integrity -= P.force - -/obj/effect/fake_attacker/Crossed(mob/M, somenumber) - if(M == my_target) - step_away(src,my_target,2) - if(prob(30)) - for(var/mob/O in oviewers(world.view , my_target)) - to_chat(O, "[my_target] stumbles around.") - -/obj/effect/fake_attacker/Initialize(mapload, mob/living/carbon/T) - ..() - my_target = T - QDEL_IN(src, 300) - step_away(src,my_target,2) - INVOKE_ASYNC(src, .proc/attack_loop) - - -/obj/effect/fake_attacker/proc/updateimage() -// del src.currentimage - if(src.dir == NORTH) - del src.currentimage - src.currentimage = new /image(up,src) - else if(src.dir == SOUTH) - del src.currentimage - src.currentimage = new /image(down,src) - else if(src.dir == EAST) - del src.currentimage - src.currentimage = new /image(right,src) - else if(src.dir == WEST) - del src.currentimage - src.currentimage = new /image(left,src) - SEND_IMAGE(my_target, currentimage) - - -/obj/effect/fake_attacker/proc/attack_loop() - while(1) - sleep(rand(5,10)) - if(obj_integrity < 0 || my_target.stat) - collapse() - continue - if(get_dist(src,my_target) > 1) - src.setDir(get_dir(src,my_target)) - step_towards(src,my_target) - updateimage() - else - if(prob(15)) - if(weapon_name) - my_target.playsound_local(my_target, weap.hitsound, weap.get_clamped_volume(), 1) - my_target.show_message("[src.name] has attacked [my_target] with [weapon_name]!", 1) - my_target.staminaloss += 30 - if(prob(20)) - my_target.blur_eyes(3) - if(prob(33)) - if(!locate(/obj/effect/overlay) in my_target.loc) - fake_blood(my_target) - else - my_target.playsound_local(my_target, pick('sound/weapons/punch1.ogg','sound/weapons/punch2.ogg','sound/weapons/punch3.ogg','sound/weapons/punch4.ogg'), 25, 1) - my_target.show_message("[src.name] has punched [my_target]!", 1) - my_target.staminaloss += 30 - if(prob(33)) - if(!locate(/obj/effect/overlay) in my_target.loc) - fake_blood(my_target) - - if(prob(15)) - step_away(src,my_target,2) - -/obj/effect/fake_attacker/proc/collapse() - collapse = 1 - updateimage() - qdel(src) - -/obj/effect/fake_attacker/proc/fake_blood(mob/target) - var/obj/effect/overlay/O = new/obj/effect/overlay(target.loc) - O.name = "blood" - var/image/I = image('icons/effects/blood.dmi',O,"floor[rand(1,7)]",O.dir,1) - SEND_IMAGE(target, I) - QDEL_IN(O, 300) - - -/datum/hallucination/bolts - var/list/doors = list() - cost = 25 - -/datum/hallucination/bolts/New(mob/living/carbon/T, forced, door_number=-1) //-1 for severe, 1-2 for subtle - ..() - var/image/I = null - var/count = 0 - feedback_details += "Door amount: [door_number]" - for(var/obj/machinery/door/airlock/A in range(7, target)) - if(count>door_number && door_number>0) - break - count++ - I = image(A.overlays_file, get_turf(A), "lights_bolts",layer=A.layer+0.1) - doors += I - if(target.client) - target.client.images |= I - target.playsound_local(get_turf(A), 'sound/machines/boltsdown.ogg',30,0,3) - sleep(rand(6,12)) - sleep(100) - for(var/image/B in doors) - if(target.client) - target.client.images.Remove(B) - target.playsound_local(get_turf(B), 'sound/machines/boltsup.ogg',30,0,3) - sleep(rand(6,12)) - qdel(src) - -/datum/hallucination/whispers - cost = 15 - -/datum/hallucination/whispers/New(mob/living/carbon/T, forced = TRUE) - ..() - var/speak_messages = list("[pick_list_replacements(HAL_LINES_FILE, "suspicion")]",\ - "[pick_list_replacements(HAL_LINES_FILE, "greetings")][target.first_name()]!",\ - "[pick_list_replacements(HAL_LINES_FILE, "getout")]",\ - "[pick_list_replacements(HAL_LINES_FILE, "weird")]",\ - "[pick_list_replacements(HAL_LINES_FILE, "didyouhearthat")]",\ - "[pick_list_replacements(HAL_LINES_FILE, "imatraitor")]",\ - "[pick_list_replacements(HAL_LINES_FILE, "doubt")]",\ - "[pick_list_replacements(HAL_LINES_FILE, "aggressive")]",\ - "[pick_list_replacements(HAL_LINES_FILE, "help")]!!",\ - "[pick_list_replacements(HAL_LINES_FILE, "escape")]",\ - "I'm infected, [pick_list_replacements(HAL_LINES_FILE, "infection_advice")]!") - - var/radio_messages = list("Set [target.first_name()] to arrest!",\ - "[pick_list_replacements(HAL_LINES_FILE, "people")] is [pick_list_replacements(HAL_LINES_FILE, "accusations")]!",\ - "Help!",\ - "[pick_list_replacements(HAL_LINES_FILE, "threat")] in [pick_list_replacements(HAL_LINES_FILE, "location")][prob(50)?"!":"!!"]",\ - "Where's [target.first_name()]?"\ - ,"[pick("C","Ai, c","Someone c","Rec")]all the shuttle!"\ - ,"AI [pick("rogue", "is dead")]!!") - - var/list/mob/living/carbon/people = list() - var/list/mob/living/carbon/person = null - var/datum/language/understood_language = target.get_random_understood_language() - for(var/mob/living/carbon/H in view(target)) - if(H == target) - continue - if(!person) - person = H - else - if(get_dist(target,H)The light burns you!", \ - "You don't feel like yourself.", \ - "You hear something squeezing through the ducts...", \ - "You hear a distant scream.", \ - "You feel invincible, nothing can hurt you!", \ - "You feel a tiny prick!", \ - "[target] sneezes.", \ - //The truth, revealed - "You're hallucinating.", \ - //Direct advice - "[pick_list_replacements(HAL_LINES_FILE, "advice")]") - feedback_details += "Message: [chosen]" - to_chat(target, chosen) - qdel(src) - -/datum/hallucination/sounds - cost = 15 - -/datum/hallucination/sounds/New(mob/living/carbon/T, forced = TRUE, sound_type) - ..() - if(!sound_type) - sound_type = pick("airlock","explosion","far_explosion","glass","phone","summon_guns","alarm","beepsky","hallelujah","creepy","ratvar","shuttle_dock", - "wall_decon","door_hack","esword","blob_alert","tesla","malf_ai") - feedback_details += "Type: [sound_type]" - //Strange audio - switch(sound_type) - if("airlock") - target.playsound_local(null,'sound/machines/airlock.ogg', 15, 1) - if("explosion") - if(prob(50)) - target.playsound_local(null,'sound/effects/explosion1.ogg', 50, 1) - else - target.playsound_local(null, 'sound/effects/explosion2.ogg', 50, 1) - if("far_explosion") - target.playsound_local(null, 'sound/effects/explosionfar.ogg', 50, 1) - if("glass") - target.playsound_local(null, pick('sound/effects/glassbr1.ogg','sound/effects/glassbr2.ogg','sound/effects/glassbr3.ogg'), 50, 1) - if("phone") - target.playsound_local(null, 'sound/weapons/ring.ogg', 35) - sleep(15) - target.playsound_local(null, 'sound/weapons/ring.ogg', 35) - sleep(15) - target.playsound_local(null, 'sound/weapons/ring.ogg', 35) - if("summon_guns") - target.playsound_local(null, 'sound/magic/summon_guns.ogg', 50, 1) - if("alarm") - target.playsound_local(null, 'sound/machines/alarm.ogg', 100, 0) - if("beepsky") - target.playsound_local(null, 'sound/voice/bfreeze.ogg', 35, 0) - if("hallelujah") - target.playsound_local(null, 'sound/effects/pray_chaplain.ogg', 50) - //Rare audio - if("creepy") - //These sounds are (mostly) taken from Hidden: Source - var/static/list/hallucinations_creepyasssounds = list('sound/effects/ghost.ogg', 'sound/effects/ghost2.ogg', 'sound/effects/heart_beat.ogg', 'sound/effects/screech.ogg',\ - 'sound/hallucinations/behind_you1.ogg', 'sound/hallucinations/behind_you2.ogg', 'sound/hallucinations/far_noise.ogg', 'sound/hallucinations/growl1.ogg', 'sound/hallucinations/growl2.ogg',\ - 'sound/hallucinations/growl3.ogg', 'sound/hallucinations/im_here1.ogg', 'sound/hallucinations/im_here2.ogg', 'sound/hallucinations/i_see_you1.ogg', 'sound/hallucinations/i_see_you2.ogg',\ - 'sound/hallucinations/look_up1.ogg', 'sound/hallucinations/look_up2.ogg', 'sound/hallucinations/over_here1.ogg', 'sound/hallucinations/over_here2.ogg', 'sound/hallucinations/over_here3.ogg',\ - 'sound/hallucinations/turn_around1.ogg', 'sound/hallucinations/turn_around2.ogg', 'sound/hallucinations/veryfar_noise.ogg', 'sound/hallucinations/wail.ogg') - target.playsound_local(null, pick(hallucinations_creepyasssounds), 50, 1) - if("ratvar") - target.playsound_local(null, 'sound/effects/ratvar_rises.ogg', 100) - sleep(150) - target.playsound_local(null, 'sound/effects/ratvar_reveal.ogg', 100) - if("shuttle_dock") - to_chat(target, "

Priority Announcement

") - to_chat(target, "

The Emergency Shuttle has docked with the station. You have 3 minutes to board the Emergency Shuttle.

") - target.playsound_local(null, 'sound/ai/shuttledock.ogg', 100) - //Deconstructing a wall - if("wall_decon") - target.playsound_local(null, 'sound/items/welder.ogg', 15, 1) - sleep(105) - target.playsound_local(null, 'sound/items/welder2.ogg', 15, 1) - sleep(15) - target.playsound_local(null, 'sound/items/ratchet.ogg', 15, 1) - //Hacking a door - if("door_hack") - target.playsound_local(null, 'sound/items/screwdriver.ogg', 15, 1) - sleep(rand(10,30)) - for(var/i = rand(1,3), i>0, i--) - target.playsound_local(null, 'sound/weapons/empty.ogg', 15, 1) - sleep(rand(10,30)) - target.playsound_local(null, 'sound/machines/airlockforced.ogg', 15, 1) - if("esword") - target.playsound_local(null, 'sound/weapons/saberon.ogg',35,1) - if("blob_alert") - to_chat(target, "

Biohazard Alert

") - to_chat(target, "

Confirmed outbreak of level 5 biohazard aboard [station_name()]. All personnel must contain the outbreak.

") - target.playsound_local(null, 'sound/ai/outbreak5.ogg', 100, 0) - if("tesla") //Tesla loose! - target.playsound_local(null, 'sound/magic/lightningbolt.ogg', 35, 1) - sleep(20) - target.playsound_local(null, 'sound/magic/lightningbolt.ogg', 65, 1) - sleep(20) - target.playsound_local(null, 'sound/magic/lightningbolt.ogg', 100, 1) - if("malf_ai") //AI is doomsdaying! - to_chat(target, "

Anomaly Alert

") - to_chat(target, "

Hostile runtimes detected in all station systems, please deactivate your AI to prevent possible damage to its morality core.

") - target.playsound_local(null, 'sound/ai/aimalf.ogg', 100, 0) - qdel(src) - -/datum/hallucination/hudscrew - cost = 10 - -/datum/hallucination/hudscrew/New(mob/living/carbon/T, forced = TRUE) - ..() - //Screwy HUD - target.set_screwyhud(pick(SCREWYHUD_CRIT,SCREWYHUD_DEAD,SCREWYHUD_HEALTHY)) - feedback_details += "Type: [target.hal_screwyhud]" - sleep(rand(100,250)) - target.set_screwyhud(SCREWYHUD_NONE) - qdel(src) - -/datum/hallucination/fake_alert - cost = 15 - -/datum/hallucination/fake_alert/New(mob/living/carbon/T, forced = TRUE, specific, duration = 150) - ..() - var/alert_type = pick("not_enough_oxy","not_enough_tox","not_enough_co2","too_much_oxy","too_much_co2","too_much_tox","newlaw","nutrition","charge","weightless","fire","locked","hacked","temphot","tempcold","pressure") - if(specific) - alert_type = specific - feedback_details += "Type: [alert_type]" - switch(alert_type) - if("oxy") - target.throw_alert("not_enough_oxy", /obj/screen/alert/not_enough_oxy, override = TRUE) - if("not_enough_tox") - target.throw_alert("not_enough_tox", /obj/screen/alert/not_enough_tox, override = TRUE) - if("not_enough_co2") - target.throw_alert("not_enough_co2", /obj/screen/alert/not_enough_co2, override = TRUE) - if("too_much_oxy") - target.throw_alert("too_much_oxy", /obj/screen/alert/too_much_oxy, override = TRUE) - if("too_much_co2") - target.throw_alert("too_much_co2", /obj/screen/alert/too_much_co2, override = TRUE) - if("tox_in_air") - target.throw_alert("too_much_tox", /obj/screen/alert/too_much_tox, override = TRUE) - if("nutrition") - if(prob(50)) - target.throw_alert("nutrition", /obj/screen/alert/fat, override = TRUE) - else - target.throw_alert("nutrition", /obj/screen/alert/starving, override = TRUE) - if("weightless") - target.throw_alert("weightless", /obj/screen/alert/weightless, override = TRUE) - if("fire") - target.throw_alert("fire", /obj/screen/alert/fire, override = TRUE) - if("temphot") - target.throw_alert("temp", /obj/screen/alert/hot, 3, override = TRUE) - if("tempcold") - target.throw_alert("temp", /obj/screen/alert/cold, 3, override = TRUE) - if("pressure") - if(prob(50)) - target.throw_alert("pressure", /obj/screen/alert/highpressure, 2, override = TRUE) - else - target.throw_alert("pressure", /obj/screen/alert/lowpressure, 2, override = TRUE) - //BEEP BOOP I AM A ROBOT - if("newlaw") - target.throw_alert("newlaw", /obj/screen/alert/newlaw, override = TRUE) - if("locked") - target.throw_alert("locked", /obj/screen/alert/locked, override = TRUE) - if("hacked") - target.throw_alert("hacked", /obj/screen/alert/hacked, override = TRUE) - if("charge") - target.throw_alert("charge",/obj/screen/alert/emptycell, override = TRUE) - sleep(duration) - target.clear_alert(alert_type, clear_override = TRUE) - qdel(src) - -/datum/hallucination/items - cost = 15 - -/datum/hallucination/items/New(mob/living/carbon/T, forced = TRUE) - ..() - //Strange items - if(!target.halitem) - target.halitem = new - var/obj/item/l_hand = target.get_item_for_held_index(1) - var/obj/item/r_hand = target.get_item_for_held_index(2) - var/l = ui_hand_position(target.get_held_index_of_item(l_hand)) - var/r = ui_hand_position(target.get_held_index_of_item(r_hand)) - var/list/slots_free = list(l,r) - if(l_hand) slots_free -= l - if(r_hand) slots_free -= r - if(ishuman(target)) - var/mob/living/carbon/human/H = target - if(!H.belt) slots_free += ui_belt - if(!H.l_store) slots_free += ui_storage1 - if(!H.r_store) slots_free += ui_storage2 - if(slots_free.len) - target.halitem.screen_loc = pick(slots_free) - target.halitem.layer = ABOVE_HUD_LAYER - target.halitem.plane = ABOVE_HUD_PLANE - switch(rand(1,6)) - if(1) //revolver - target.halitem.icon = 'icons/obj/guns/projectile.dmi' - target.halitem.icon_state = "revolver" - target.halitem.name = "Revolver" - if(2) //c4 - target.halitem.icon = 'icons/obj/grenade.dmi' - target.halitem.icon_state = "plastic-explosive0" - target.halitem.name = "C4" - if(prob(25)) - target.halitem.icon_state = "plasticx40" - if(3) //sword - target.halitem.icon = 'icons/obj/weapons.dmi' - target.halitem.icon_state = "sword0" - target.halitem.name = "Energy Sword" - if(4) //stun baton - target.halitem.icon = 'icons/obj/weapons.dmi' - target.halitem.icon_state = "stunbaton" - target.halitem.name = "Stun Baton" - if(5) //emag - target.halitem.icon = 'icons/obj/card.dmi' - target.halitem.icon_state = "emag" - target.halitem.name = "Cryptographic Sequencer" - if(6) //flashbang - target.halitem.icon = 'icons/obj/grenade.dmi' - target.halitem.icon_state = "flashbang1" - target.halitem.name = "Flashbang" - feedback_details += "Type: [target.halitem.name]" - if(target.client) target.client.screen += target.halitem - QDEL_IN(target.halitem, rand(150, 350)) - qdel(src) - -/datum/hallucination/dangerflash - cost = 15 - -/datum/hallucination/dangerflash/New(mob/living/carbon/T, forced = TRUE) - ..() - //Flashes of danger - if(!target.halimage) - var/list/possible_points = list() - for(var/turf/open/floor/F in view(target,world.view)) - possible_points += F - if(possible_points.len) - var/turf/open/floor/danger_point = pick(possible_points) - - switch(rand(1,5)) - if(1) - target.halimage = image('icons/turf/space.dmi',danger_point,"[rand(1,25)]",TURF_LAYER) - if(2) - target.halimage = image('icons/turf/floors/lava.dmi',danger_point,"smooth",TURF_LAYER) - if(3) - target.halimage = image('icons/turf/floors/Chasms.dmi',danger_point,"smooth",TURF_LAYER) - if(4) - target.halimage = image('icons/effects/effects.dmi',danger_point,"anom",OBJ_LAYER+0.01) - if(5) - target.halimage = image('icons/effects/effects.dmi',danger_point,"electricity2",OBJ_LAYER+0.01) - - - if(target.client) - target.client.images += target.halimage - sleep(rand(200,450)) - if(target.client) - target.client.images -= target.halimage - QDEL_NULL(target.halimage) - qdel(src) - -/datum/hallucination/death - cost = 40 - -/datum/hallucination/death/New(mob/living/carbon/T, forced = TRUE) - set waitfor = 0 - ..() - target.set_screwyhud(SCREWYHUD_DEAD) - target.Knockdown(300) - target.silent += 10 - var/area/area = get_area(target) - to_chat(target, "[target.mind.name] has died at [area.name].") - if(prob(50)) - var/mob/fakemob - var/list/dead_people = list() - for(var/mob/dead/observer/G in GLOB.player_list) - dead_people += G - if(LAZYLEN(dead_people)) - fakemob = pick(dead_people) - else - fakemob = target //ever been so lonely you had to haunt yourself? - if(fakemob) - sleep(rand(20, 50)) - to_chat(target, "DEAD: [fakemob.name] says, \"[pick("rip","hey [target.first_name()]","you too?","is the AI rogue?",\ - "i[prob(50)?" fucking":""] hate [pick("blood cult", "clock cult", "revenants", "abductors","double agents","viruses","badmins","you")]")]\"") - sleep(rand(70,90)) - target.set_screwyhud(SCREWYHUD_NONE) - target.SetKnockdown(0) - target.silent = 0 - qdel(src) - -/datum/hallucination/fire - cost = 25 - -/datum/hallucination/fire/New(mob/living/carbon/T, forced = TRUE) - ..() - var/image/fire_overlay = image('icons/mob/OnFire.dmi', target, "Standing", ABOVE_MOB_LAYER) - if(target.client) - target.client.images += fire_overlay - to_chat(target, "You're set on fire!") - target.throw_alert("fire", /obj/screen/alert/fire, override = TRUE) - sleep(20) - target.throw_alert("temp", /obj/screen/alert/hot, 1, override = TRUE) - sleep(30) - target.clear_alert("temp", clear_override = TRUE) - target.throw_alert("temp", /obj/screen/alert/hot, 2, override = TRUE) - sleep(30) - target.clear_alert("temp", clear_override = TRUE) - target.throw_alert("temp", /obj/screen/alert/hot, 3, override = TRUE) - for(var/i in 1 to rand(5, 10)) - target.adjustStaminaLoss(15) - sleep(25) - target.clear_alert("fire", clear_override = TRUE) - target.clear_alert("temp", clear_override = TRUE) - if(target.client) - target.client.images -= fire_overlay - QDEL_NULL(fire_overlay) - qdel(src) - -/datum/hallucination/husks - cost = 20 - -/datum/hallucination/husks/New(mob/living/carbon/T, forced = TRUE) - ..() - if(!target.halbody) - var/list/possible_points = list() - for(var/turf/open/floor/F in view(target,world.view)) - possible_points += F - if(possible_points.len) - var/turf/open/floor/husk_point = pick(possible_points) - switch(rand(1,4)) - if(1) - var/image/body = image('icons/mob/human.dmi',husk_point,"husk",TURF_LAYER) - var/matrix/M = matrix() - M.Turn(90) - body.transform = M - target.halbody = body - if(2,3) - target.halbody = image('icons/mob/human.dmi',husk_point,"husk",TURF_LAYER) - if(4) - target.halbody = image('icons/mob/alien.dmi',husk_point,"alienother",TURF_LAYER) - - if(target.client) - target.client.images += target.halbody - sleep(rand(30,50)) //Only seen for a brief moment. - if(target.client) - target.client.images -= target.halbody - QDEL_NULL(target.halbody) - qdel(src) - -//hallucination projectile code in code/modules/projectiles/projectile/special.dm -/datum/hallucination/stray_bullet - cost = 15 - -/datum/hallucination/stray_bullet/New(mob/living/carbon/C, forced = TRUE) - ..() - var/list/turf/startlocs = list() - for(var/turf/open/T in view(world.view+1,target)-view(world.view,target)) - startlocs += T - var/turf/start = pick(startlocs) - var/proj_type = pick(subtypesof(/obj/item/projectile/hallucination)) - feedback_details += "Type: [proj_type]" - var/obj/item/projectile/hallucination/H = new proj_type(start) - target.playsound_local(start, H.hal_fire_sound, 60, 1) - H.hal_target = target - H.current = start - H.starting = start - H.yo = target.y - start.y - H.xo = target.x - start.x - H.original = target - H.fire() - qdel(src) - diff --git a/code/modules/food_and_drinks/drinks/drinks.dm.rej b/code/modules/food_and_drinks/drinks/drinks.dm.rej deleted file mode 100644 index 966cb83aee..0000000000 --- a/code/modules/food_and_drinks/drinks/drinks.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/food_and_drinks/drinks/drinks.dm b/code/modules/food_and_drinks/drinks/drinks.dm (rejected hunks) -@@ -357,7 +357,7 @@ - /obj/item/reagent_containers/food/drinks/soda_cans/attack_self(mob/user) - if(!is_open_container()) - to_chat(user, "You pull back the tab of \the [src] with a satisfying pop.") //Ahhhhhhhh -- container_type = OPENCONTAINER -+ container_type = OPENCONTAINER_1 - playsound(src, "can_open", 50, 1) - spillable = TRUE - return diff --git a/code/modules/food_and_drinks/food.dm.rej b/code/modules/food_and_drinks/food.dm.rej deleted file mode 100644 index 9d092f6aa3..0000000000 --- a/code/modules/food_and_drinks/food.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/food_and_drinks/food.dm b/code/modules/food_and_drinks/food.dm (rejected hunks) -@@ -4,7 +4,7 @@ - /obj/item/reagent_containers/food - possible_transfer_amounts = list() - volume = 50 //Sets the default container amount for all food items. -- container_type = INJECTABLE -+ container_type = INJECTABLE_1 - resistance_flags = FLAMMABLE - var/foodtype = NONE - var/last_check_time diff --git a/code/modules/food_and_drinks/food/snacks/meat.dm b/code/modules/food_and_drinks/food/snacks/meat.dm index 4252201cbd..c48be678e2 100644 --- a/code/modules/food_and_drinks/food/snacks/meat.dm +++ b/code/modules/food_and_drinks/food/snacks/meat.dm @@ -225,6 +225,11 @@ tastes = list("meat" = 1, "wheat" = 1) foodtype = GRAIN +/obj/item/reagent_containers/food/snacks/meat/slab/gorilla + name = "gorilla meat" + desc = "Much meatier than monkey meat." + list_reagents = list("nutriment" = 5, "vitamin" = 1) + /obj/item/reagent_containers/food/snacks/meat/rawbacon name = "raw piece of bacon" desc = "A raw piece of bacon." diff --git a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm.rej b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm.rej deleted file mode 100644 index aa16e6cb82..0000000000 --- a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm (rejected hunks) -@@ -15,7 +15,7 @@ insert ascii eagle on american flag background here - anchored = TRUE - use_power = IDLE_POWER_USE - idle_power_usage = 5 -- container_type = OPENCONTAINER -+ container_type = OPENCONTAINER_1 - var/obj/item/frying = null //What's being fried RIGHT NOW? - var/cook_time = 0 - var/static/list/deepfry_blacklisted_items = typecacheof(list( diff --git a/code/modules/food_and_drinks/kitchen_machinery/food_cart.dm.rej b/code/modules/food_and_drinks/kitchen_machinery/food_cart.dm.rej deleted file mode 100644 index e9e750f51d..0000000000 --- a/code/modules/food_and_drinks/kitchen_machinery/food_cart.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/food_and_drinks/kitchen_machinery/food_cart.dm b/code/modules/food_and_drinks/kitchen_machinery/food_cart.dm (rejected hunks) -@@ -15,7 +15,7 @@ - var/portion = 10 - var/selected_drink - var/list/stored_food = list() -- container_type = OPENCONTAINER -+ container_type = OPENCONTAINER_1 - var/obj/item/reagent_containers/mixer - - /obj/machinery/food_cart/Initialize() diff --git a/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm.rej b/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm.rej deleted file mode 100644 index 5f4ec95f19..0000000000 --- a/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm b/code/modules/food_and_drinks/kitchen_machinery/icecream_vat.dm (rejected hunks) -@@ -14,7 +14,7 @@ - anchored = FALSE - use_power = NO_POWER_USE - layer = BELOW_OBJ_LAYER -- container_type = OPENCONTAINER -+ container_type = OPENCONTAINER_1 - max_integrity = 300 - var/list/product_types = list() - var/dispense_flavour = ICECREAM_VANILLA diff --git a/code/modules/goonchat/browserOutput.dm.rej b/code/modules/goonchat/browserOutput.dm.rej deleted file mode 100644 index 231def1c9a..0000000000 --- a/code/modules/goonchat/browserOutput.dm.rej +++ /dev/null @@ -1,137 +0,0 @@ -diff a/code/modules/goonchat/browserOutput.dm b/code/modules/goonchat/browserOutput.dm (rejected hunks) -@@ -166,135 +166,6 @@ GLOBAL_DATUM_INIT(iconCache, /savefile, new("data/iconCache.sav")) //Cache of ic - - //Global chat procs - --//Converts an icon to base64. Operates by putting the icon in the iconCache savefile, --// exporting it as text, and then parsing the base64 from that. --// (This relies on byond automatically storing icons in savefiles as base64) --/proc/icon2base64(icon/icon, iconKey = "misc") -- if (!isicon(icon)) -- return FALSE -- WRITE_FILE(GLOB.iconCache[iconKey], icon) -- var/iconData = GLOB.iconCache.ExportText(iconKey) -- var/list/partial = splittext(iconData, "{") -- return replacetext(copytext(partial[2], 3, -5), "\n", "") -- --/proc/icon2html(thing, target, icon_state, dir, frame = 1, moving) -- if (!thing) -- return -- var/static/datum/callback/CB = CALLBACK(GLOBAL_PROC, .proc/send_asset) -- -- var/key -- var/icon/I = thing -- if (!target) -- return -- if (target == world) -- target = GLOB.clients -- -- var/list/targets -- if (!islist(target)) -- targets = list(target) -- else -- targets = target -- if (!targets.len) -- return -- debug_usr("start") -- if (!isicon(I)) -- debug_usr("not icon") -- if (isfile(thing)) //special snowflake -- debug_usr("file") -- var/name = sanitize_filename("bicon.[thing]") -- debug_usr("file:[name]") -- register_asset(name, thing) -- var/list/callbacks -- var/list/callback_args = list() -- for (var/thing2 in targets) -- callbacks += CB -- callback_args[++callback_args.len] = list(thing2, name, TRUE) -- callback_select(callbacks, callback_args, savereturns = FALSE) -- return "" -- debug_usr("not file") -- var/atom/A -- if (isnull(dir)) -- dir = A.dir -- if (isnull(icon_state)) -- icon_state = A.icon_state -- I = A.icon -- if (ishuman(thing)) // Shitty workaround for a BYOND issue. -- debug_usr("human") -- var/icon/temp = I -- I = icon() -- I.Insert(temp, dir = SOUTH) -- dir = SOUTH -- else -- debug_usr("icon") -- if (isnull(dir)) -- dir = SOUTH -- if (isnull(icon_state)) -- icon_state = "" -- -- I = icon(I, icon_state, dir, frame) -- -- key = sanitize_filename("bicon.[md5(icon2base64(I))].[icon_state].[dir].png") -- debug_usr("key:[key]") -- register_asset(key, I) -- var/list/callbacks = list() -- var/list/callback_args = list() -- for (var/thing2 in targets) -- callbacks += CB -- callback_args[++callback_args.len] = list(thing2, key, TRUE) -- -- callback_select(callbacks, callback_args, savereturns = FALSE) -- return "" -- --/proc/icon2base64html(thing) -- if (!thing) -- return -- var/static/list/bicon_cache = list() -- if (isicon(thing)) -- var/icon/I = thing -- var/icon_base64 = icon2base64(I) -- -- if (I.Height() > world.icon_size || I.Width() > world.icon_size) -- var/icon_md5 = md5(icon_base64) -- debug_admins(icon_md5) -- icon_base64 = bicon_cache[icon_md5] -- if (!icon_base64) // Doesn't exist yet, make it. -- I = icon(I) -- I.Scale(world.icon_size, world.icon_size) -- bicon_cache[icon_md5] = icon_base64 = icon2base64(I) -- -- -- return "" -- -- // Either an atom or somebody fucked up and is gonna get a runtime, which I'm fine with. -- var/atom/A = thing -- var/key = "[istype(A.icon, /icon) ? "\ref[A.icon]" : A.icon]:[A.icon_state]" -- -- -- if (!bicon_cache[key]) // Doesn't exist, make it. -- var/icon/I = icon(A.icon, A.icon_state, SOUTH, 1) -- if (ishuman(thing)) // Shitty workaround for a BYOND issue. -- var/icon/temp = I -- I = icon() -- I.Insert(temp, dir = SOUTH) -- -- if (I.Height() > world.icon_size || I.Width() > world.icon_size) -- I.Scale(world.icon_size, world.icon_size) -- -- bicon_cache[key] = icon2base64(I, key) -- -- return "" -- --//Costlier version of icon2html() that uses getFlatIcon() to account for overlays, underlays, etc. Use with extreme moderation, ESPECIALLY on mobs. --/proc/costly_icon2html(thing, target) -- if (!thing) -- return -- -- if (isicon(thing)) -- return icon2html(thing, target) -- -- var/icon/I = getFlatIcon(thing) -- return icon2html(I, target) -- - /proc/to_chat(target, message) - if(!target) - return diff --git a/code/modules/holodeck/items.dm b/code/modules/holodeck/items.dm index 6514b86910..8dfbfa7c63 100644 --- a/code/modules/holodeck/items.dm +++ b/code/modules/holodeck/items.dm @@ -68,7 +68,7 @@ /obj/item/toy/beach_ball/holoball name = "basketball" - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "basketball" item_state = "basketball" desc = "Here's your chance, do your dance at the Space Jam." diff --git a/code/modules/hydroponics/grown/nettle.dm b/code/modules/hydroponics/grown/nettle.dm index b3bd3ccee0..ba56219062 100644 --- a/code/modules/hydroponics/grown/nettle.dm +++ b/code/modules/hydroponics/grown/nettle.dm @@ -31,7 +31,7 @@ /obj/item/grown/nettle //abstract type name = "nettle" desc = "It's probably not wise to touch it with bare hands..." - icon = 'icons/obj/weapons.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "nettle" lefthand_file = 'icons/mob/inhands/weapons/plants_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/plants_righthand.dmi' diff --git a/code/modules/hydroponics/hydroitemdefines.dm b/code/modules/hydroponics/hydroitemdefines.dm index c721643f80..35e1df3bab 100644 --- a/code/modules/hydroponics/hydroitemdefines.dm +++ b/code/modules/hydroponics/hydroitemdefines.dm @@ -65,7 +65,7 @@ /obj/item/cultivator name = "cultivator" desc = "It's used for removing weeds or scratching your back." - icon = 'icons/obj/weapons.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "cultivator" item_state = "cultivator" lefthand_file = 'icons/mob/inhands/equipment/hydroponics_lefthand.dmi' @@ -82,7 +82,7 @@ /obj/item/hatchet name = "hatchet" desc = "A very sharp axe blade upon a short fibremetal handle. It has a long history of chopping things, but now it is used for chopping wood." - icon = 'icons/obj/weapons.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "hatchet" item_state = "hatchet" lefthand_file = 'icons/mob/inhands/equipment/hydroponics_lefthand.dmi' diff --git a/code/modules/library/soapstone.dm b/code/modules/library/soapstone.dm index cd069ec44d..ab78b582a6 100644 --- a/code/modules/library/soapstone.dm +++ b/code/modules/library/soapstone.dm @@ -1,7 +1,7 @@ /obj/item/soapstone name = "soapstone" desc = "Leave informative messages for the crew, including the crew of future shifts!\nEven if out of uses, it can still be used to remove messages.\n(Not suitable for engraving on shuttles, off station or on cats. Side effects may include prompt beatings, psychotic clown incursions, and/or orbital bombardment.)" - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "soapstone" throw_speed = 3 throw_range = 5 diff --git a/code/modules/mapping/ruins.dm b/code/modules/mapping/ruins.dm index abaf596f65..930f83813a 100644 --- a/code/modules/mapping/ruins.dm +++ b/code/modules/mapping/ruins.dm @@ -77,7 +77,7 @@ /obj/effect/ruin_loader name = "random ruin" - icon = 'icons/obj/weapons.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "syndballoon" invisibility = 0 diff --git a/code/modules/mining/equipment/mining_tools.dm.rej b/code/modules/mining/equipment/mining_tools.dm.rej deleted file mode 100644 index 646ed96851..0000000000 --- a/code/modules/mining/equipment/mining_tools.dm.rej +++ /dev/null @@ -1,19 +0,0 @@ -diff a/code/modules/mining/equipment/mining_tools.dm b/code/modules/mining/equipment/mining_tools.dm (rejected hunks) -@@ -62,7 +62,7 @@ - /obj/item/pickaxe/drill/cyborg - name = "cyborg mining drill" - desc = "An integrated electric mining drill." -- flags = NODROP -+ flags_1 = NODROP_1 - - /obj/item/pickaxe/drill/diamonddrill - name = "diamond-tipped mining drill" -@@ -72,7 +72,7 @@ - desc = "Yours is the drill that will pierce the heavens!" - - /obj/item/pickaxe/drill/cyborg/diamond //This is the BORG version! -- name = "diamond-tipped cyborg mining drill" //To inherit the NODROP flag, and easier to change borg specific drill mechanics. -+ name = "diamond-tipped cyborg mining drill" //To inherit the NODROP_1 flag, and easier to change borg specific drill mechanics. - icon_state = "diamonddrill" - digspeed = 7 - diff --git a/code/modules/mining/equipment/survival_pod.dm b/code/modules/mining/equipment/survival_pod.dm index 0cfdd4157e..5b8c40a976 100644 --- a/code/modules/mining/equipment/survival_pod.dm +++ b/code/modules/mining/equipment/survival_pod.dm @@ -5,6 +5,7 @@ dynamic_lighting = DYNAMIC_LIGHTING_FORCED requires_power = FALSE has_gravity = TRUE + valid_territory = FALSE //Survival Capsule /obj/item/survivalcapsule diff --git a/code/modules/mining/equipment/survival_pod.dm.rej b/code/modules/mining/equipment/survival_pod.dm.rej deleted file mode 100644 index 3effe96e52..0000000000 --- a/code/modules/mining/equipment/survival_pod.dm.rej +++ /dev/null @@ -1,35 +0,0 @@ -diff a/code/modules/mining/equipment/survival_pod.dm b/code/modules/mining/equipment/survival_pod.dm (rejected hunks) -@@ -167,7 +167,7 @@ - pixel_y = -32 - - /obj/item/device/gps/computer/attackby(obj/item/W, mob/user, params) -- if(istype(W, /obj/item/wrench) && !(flags&NODECONSTRUCT)) -+ if(istype(W, /obj/item/wrench) && !(flags_1&NODECONSTRUCT_1)) - playsound(src.loc, W.usesound, 50, 1) - user.visible_message("[user] disassembles the gps.", \ - "You start to disassemble the gps...", "You hear clanking and banging noises.") -@@ -198,7 +198,7 @@ - light_color = "#DDFFD3" - max_n_of_items = 10 - pixel_y = -4 -- flags = NODECONSTRUCT -+ flags_1 = NODECONSTRUCT_1 - var/empty = FALSE - - /obj/machinery/smartfridge/survival_pod/Initialize(mapload) -@@ -237,13 +237,13 @@ - CanAtmosPass = ATMOS_PASS_NO - - /obj/structure/fans/deconstruct() -- if(!(flags & NODECONSTRUCT)) -+ if(!(flags_1 & NODECONSTRUCT_1)) - if(buildstacktype) - new buildstacktype(loc,buildstackamount) - qdel(src) - - /obj/structure/fans/attackby(obj/item/W, mob/user, params) -- if(istype(W, /obj/item/wrench) && !(flags&NODECONSTRUCT)) -+ if(istype(W, /obj/item/wrench) && !(flags_1&NODECONSTRUCT_1)) - playsound(src.loc, W.usesound, 50, 1) - user.visible_message("[user] disassembles the fan.", \ - "You start to disassemble the fan...", "You hear clanking and banging noises.") diff --git a/code/modules/mob/dead/new_player/sprite_accessories_Citadel.dm b/code/modules/mob/dead/new_player/sprite_accessories_Citadel.dm index ab4b044cb9..18a8b38c5b 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories_Citadel.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories_Citadel.dm @@ -592,6 +592,7 @@ extra = 1 extra2 = 1 icon = 'icons/mob/mam_body_markings.dmi' + gender_specific = 1 /datum/sprite_accessory/mam_body_markings/xeno name = "Xeno" diff --git a/code/modules/mob/living/bloodcrawl.dm.rej b/code/modules/mob/living/bloodcrawl.dm.rej deleted file mode 100644 index cf88bd660f..0000000000 --- a/code/modules/mob/living/bloodcrawl.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/mob/living/bloodcrawl.dm b/code/modules/mob/living/bloodcrawl.dm (rejected hunks) -@@ -167,7 +167,7 @@ - if(iscarbon(src)) - var/mob/living/carbon/C = src - for(var/obj/item/bloodcrawl/BC in C) -- BC.flags = null -+ BC.flags_1 = null - qdel(BC) - qdel(src.holder) - src.holder = null diff --git a/code/modules/mob/living/carbon/alien/emote.dm b/code/modules/mob/living/carbon/alien/emote.dm index e97bb785bf..0ab448d2c5 100644 --- a/code/modules/mob/living/carbon/alien/emote.dm +++ b/code/modules/mob/living/carbon/alien/emote.dm @@ -20,11 +20,11 @@ /datum/emote/living/alien/roar key = "roar" key_third_person = "roars" - message_alien = "roars" - message_larva = "softly roars" + message_alien = "roars." + message_larva = "softly roars." emote_type = EMOTE_AUDIBLE /datum/emote/living/alien/roar/run_emote(mob/user, params) . = ..() if(. && isalienadult(user)) - playsound(user.loc, 'sound/voice/hiss5.ogg', 40, 1, 1) \ No newline at end of file + playsound(user.loc, 'sound/voice/hiss5.ogg', 40, 1, 1) diff --git a/code/modules/mob/living/carbon/carbon.dm.rej b/code/modules/mob/living/carbon/carbon.dm.rej deleted file mode 100644 index 23a1954a8f..0000000000 --- a/code/modules/mob/living/carbon/carbon.dm.rej +++ /dev/null @@ -1,19 +0,0 @@ -diff a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm (rejected hunks) -@@ -213,7 +213,7 @@ - if(href_list["internal"]) - var/slot = text2num(href_list["internal"]) - var/obj/item/ITEM = get_item_by_slot(slot) -- if(ITEM && istype(ITEM, /obj/item/tank) && wear_mask && (wear_mask.flags & MASKINTERNALS)) -+ if(ITEM && istype(ITEM, /obj/item/tank) && wear_mask && (wear_mask.flags_1 & MASKINTERNALS_1)) - visible_message("[usr] tries to [internal ? "close" : "open"] the valve on [src]'s [ITEM.name].", \ - "[usr] tries to [internal ? "close" : "open"] the valve on [src]'s [ITEM.name].") - if(do_mob(usr, src, POCKET_STRIP_DELAY)) -@@ -221,7 +221,7 @@ - internal = null - update_internals_hud_icon(0) - else if(ITEM && istype(ITEM, /obj/item/tank)) -- if((wear_mask && (wear_mask.flags & MASKINTERNALS)) || getorganslot("breathing_tube")) -+ if((wear_mask && (wear_mask.flags_1 & MASKINTERNALS_1)) || getorganslot("breathing_tube")) - internal = ITEM - update_internals_hud_icon(1) - diff --git a/code/modules/mob/living/carbon/human/human.dm.rej b/code/modules/mob/living/carbon/human/human.dm.rej deleted file mode 100644 index 51e11c569e..0000000000 --- a/code/modules/mob/living/carbon/human/human.dm.rej +++ /dev/null @@ -1,91 +0,0 @@ -diff a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm (rejected hunks) -@@ -141,42 +141,42 @@ INITIALIZE_IMMEDIATE(/mob/living/carbon/human/dummy) - dat += "" - for(var/i in 1 to held_items.len) - var/obj/item/I = get_item_for_held_index(i) -- dat += "" -+ dat += "" - dat += "" - -- dat += "" - -- dat += "" -+ dat += "" - - if(slot_wear_mask in obscured) - dat += "" - else -- dat += "" -+ dat += "" - - if(slot_neck in obscured) - dat += "" - else -- dat += "" -+ dat += "" - - if(slot_glasses in obscured) - dat += "" - else -- dat += "" -+ dat += "" - - if(slot_ears in obscured) - dat += "" - else -- dat += "" -+ dat += "" - - dat += "" - -- dat += "" -+ dat += "" - if(wear_suit) -- dat += "" -@@ -186,30 +186,30 @@ INITIALIZE_IMMEDIATE(/mob/living/carbon/human/dummy) - if(slot_shoes in obscured) - dat += "" - else -- dat += "" -+ dat += "" - - if(slot_gloves in obscured) - dat += "" - else -- dat += "" -+ dat += "" - - if(slot_w_uniform in obscured) - dat += "" - else -- dat += "" -+ dat += "" - - if((w_uniform == null && !(dna && dna.species.nojumpsuit)) || (slot_w_uniform in obscured)) - dat += "" - dat += "" - dat += "" - else -- dat += "" -- dat += "" -- dat += "" -+ dat += "" -+ dat += "" - - if(handcuffed) - dat += "" diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 865e3ac66a..730a398caa 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -30,8 +30,8 @@ var/meat = /obj/item/reagent_containers/food/snacks/meat/slab/human //What the species drops on gibbing var/skinned_type var/liked_food = NONE - var/disliked_food = GROSS - var/toxic_food = TOXIC + var/disliked_food = NONE + var/toxic_food = NONE var/list/no_equip = list() // slots the race can't equip stuff to var/nojumpsuit = 0 // this is sorta... weird. it basically lets you equip stuff that usually needs jumpsuits without one, like belts and pockets and ids var/blacklisted = 0 //Flag to exclude from green slime core species. diff --git a/code/modules/mob/living/carbon/human/species_types/flypeople.dm b/code/modules/mob/living/carbon/human/species_types/flypeople.dm index 60cf66b2b8..61609f653c 100644 --- a/code/modules/mob/living/carbon/human/species_types/flypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/flypeople.dm @@ -7,7 +7,7 @@ mutantstomach = /obj/item/organ/stomach/fly meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/fly disliked_food = null - liked_food = GROSS + liked_food = NONE /datum/species/fly/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H) if(chem.id == "pestkiller") diff --git a/code/modules/mob/living/carbon/human/species_types/furrypeople.dm b/code/modules/mob/living/carbon/human/species_types/furrypeople.dm index f6784160a3..99206f04de 100644 --- a/code/modules/mob/living/carbon/human/species_types/furrypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/furrypeople.dm @@ -1,4 +1,4 @@ -datum/species/mammal +/datum/species/mammal name = "Mammal" id = "mammal" default_color = "4B4B4B" @@ -229,7 +229,7 @@ datum/species/mammal whitelist = list("rubyflamewing") blacklisted = 0 -datum/species/guilmon +/datum/species/guilmon name = "Guilmon" id = "guilmon" default_color = "4B4B4B" diff --git a/code/modules/mob/living/carbon/human/species_types/golems.dm b/code/modules/mob/living/carbon/human/species_types/golems.dm index f564e3f300..14726df76a 100644 --- a/code/modules/mob/living/carbon/human/species_types/golems.dm +++ b/code/modules/mob/living/carbon/human/species_types/golems.dm @@ -628,7 +628,7 @@ desc = "It emits a strange aura, as if there was still life within it..." max_integrity = 50 armor = list(melee = 90, bullet = 90, laser = 25, energy = 80, bomb = 50, bio = 100, fire = -50, acid = -50) - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "pile_bandages" resistance_flags = FLAMMABLE diff --git a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm index b82a2c051a..1a37d1b0ed 100644 --- a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm @@ -4,13 +4,13 @@ id = "jelly" default_color = "00FF90" say_mod = "chirps" - species_traits = list(MUTCOLORS,EYECOLOR,NOBLOOD,VIRUSIMMUNE,TOXINLOVER) + species_traits = list(MUTCOLORS,EYECOLOR,NOBLOOD,VIRUSIMMUNE,TOXINLOVER) meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/slime exotic_blood = "slimejelly" damage_overlay_type = "" var/datum/action/innate/regenerate_limbs/regenerate_limbs - toxic_food = MEAT | DAIRY - liked_food = TOXIC + toxic_food = NONE + liked_food = NONE /datum/species/jelly/on_species_loss(mob/living/carbon/C) if(regenerate_limbs) @@ -229,7 +229,7 @@ else ui_interact(owner) -/datum/action/innate/swap_body/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.conscious_state) +/datum/action/innate/swap_body/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.conscious_state) ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) if(!ui) @@ -326,4 +326,4 @@ M.transfer_to(dupe) dupe.visible_message("[dupe] blinks and looks \ around.", - "...and move this one instead.") + "...and move this one instead.") diff --git a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm index 38df131128..d673f68429 100644 --- a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm @@ -16,8 +16,8 @@ meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/lizard skinned_type = /obj/item/stack/sheet/animalhide/lizard exotic_bloodtype = "L" - disliked_food = GRAIN | DAIRY - liked_food = GROSS | MEAT + disliked_food = NONE + liked_food = NONE /datum/species/lizard/after_equip_job(datum/job/J, mob/living/carbon/human/H) H.grant_language(/datum/language/draconic) diff --git a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm index 028d277569..c216052cea 100644 --- a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm +++ b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm @@ -17,8 +17,8 @@ speedmod = 1 damage_overlay_type = ""//let's not show bloody wounds or burns over bones. var/internal_fire = FALSE //If the bones themselves are burning clothes won't help you much - disliked_food = FRUIT - liked_food = VEGETABLES + disliked_food = NONE + liked_food = NONE /datum/species/plasmaman/spec_life(mob/living/carbon/human/H) var/datum/gas_mixture/environment = H.loc.return_air() diff --git a/code/modules/mob/living/carbon/human/species_types/podpeople.dm b/code/modules/mob/living/carbon/human/species_types/podpeople.dm index 0113bd039e..f5f59ae829 100644 --- a/code/modules/mob/living/carbon/human/species_types/podpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/podpeople.dm @@ -3,15 +3,15 @@ name = "Podperson" id = "pod" default_color = "59CE00" - species_traits = list(MUTCOLORS,EYECOLOR) + species_traits = list(MUTCOLORS,EYECOLOR) attack_verb = "slash" attack_sound = 'sound/weapons/slice.ogg' miss_sound = 'sound/weapons/slashmiss.ogg' burnmod = 1.25 heatmod = 1.5 meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/plant - disliked_food = MEAT | DAIRY - liked_food = VEGETABLES | FRUIT | GRAIN + disliked_food = NONE + liked_food = NONE /datum/species/pod/on_species_gain(mob/living/carbon/C, datum/species/old_species) . = ..() diff --git a/code/modules/mob/living/carbon/human/species_types/skeletons.dm b/code/modules/mob/living/carbon/human/species_types/skeletons.dm index 47cb895b4b..4302c43ff8 100644 --- a/code/modules/mob/living/carbon/human/species_types/skeletons.dm +++ b/code/modules/mob/living/carbon/human/species_types/skeletons.dm @@ -8,6 +8,6 @@ meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/skeleton species_traits = list(NOBREATH,RESISTHOT,RESISTCOLD,RESISTPRESSURE,NOBLOOD,RADIMMUNE,VIRUSIMMUNE,PIERCEIMMUNE,NOHUNGER,EASYDISMEMBER,EASYLIMBATTACHMENT) mutant_organs = list(/obj/item/organ/tongue/bone) - damage_overlay_type = ""//let's not show bloody wounds or burns over bones. - disliked_food = NONE - liked_food = GROSS | MEAT | RAW + damage_overlay_type = ""//let's not show bloody wounds or burns over bones. + disliked_food = NONE + liked_food = NONE diff --git a/code/modules/mob/living/carbon/human/species_types/zombies.dm b/code/modules/mob/living/carbon/human/species_types/zombies.dm index 52b7be2cf8..d11f71212c 100644 --- a/code/modules/mob/living/carbon/human/species_types/zombies.dm +++ b/code/modules/mob/living/carbon/human/species_types/zombies.dm @@ -10,7 +10,7 @@ mutant_organs = list(/obj/item/organ/tongue/zombie) var/static/list/spooks = list('sound/hallucinations/growl1.ogg','sound/hallucinations/growl2.ogg','sound/hallucinations/growl3.ogg','sound/hallucinations/veryfar_noise.ogg','sound/hallucinations/wail.ogg') disliked_food = NONE - liked_food = GROSS | MEAT | RAW + liked_food = NONE /datum/species/zombie/infectious name = "Infectious Zombie" diff --git a/code/modules/mob/living/carbon/monkey/combat.dm.rej b/code/modules/mob/living/carbon/monkey/combat.dm.rej deleted file mode 100644 index 6a03552601..0000000000 --- a/code/modules/mob/living/carbon/monkey/combat.dm.rej +++ /dev/null @@ -1,19 +0,0 @@ -diff a/code/modules/mob/living/carbon/monkey/combat.dm b/code/modules/mob/living/carbon/monkey/combat.dm (rejected hunks) -@@ -153,7 +153,7 @@ - if(!locate(/obj/item) in held_items) - best_force = 0 - -- if(restrained() || blacklistItems[pickupTarget] || (pickupTarget && (pickupTarget.flags & NODROP))) -+ if(restrained() || blacklistItems[pickupTarget] || (pickupTarget && (pickupTarget.flags_1 & NODROP_1))) - pickupTarget = null - - if(!resisting && pickupTarget) -@@ -274,7 +274,7 @@ - // check if target has a weapon - var/obj/item/W - for(var/obj/item/I in target.held_items) -- if(!(I.flags & ABSTRACT)) -+ if(!(I.flags_1 & ABSTRACT_1)) - W = I - break - diff --git a/code/modules/mob/living/carbon/monkey/life.dm b/code/modules/mob/living/carbon/monkey/life.dm index ae984fa5c7..55aee04ff6 100644 --- a/code/modules/mob/living/carbon/monkey/life.dm +++ b/code/modules/mob/living/carbon/monkey/life.dm @@ -1,170 +1,173 @@ - - -/mob/living/carbon/monkey - - -/mob/living/carbon/monkey/Life() - set invisibility = 0 - set background = BACKGROUND_ENABLED - - if (notransform) - return - - if(..()) - - if(!client) - if(stat == CONSCIOUS) - if(!handle_combat()) - if(prob(33) && canmove && isturf(loc) && !pulledby) + + +/mob/living/carbon/monkey + + +/mob/living/carbon/monkey/Life() + set invisibility = 0 + set background = BACKGROUND_ENABLED + + if (notransform) + return + + if(..()) + + if(!client) + if(stat == CONSCIOUS) + if(!handle_combat()) + if(prob(33) && canmove && isturf(loc) && !pulledby) step(src, pick(GLOB.cardinals)) - if(prob(1)) - emote(pick("scratch","jump","roll","tail")) - else - walk_to(src,0) - -/mob/living/carbon/monkey/handle_mutations_and_radiation() - - if (radiation) - if (radiation > 100) - if(!IsKnockdown()) - emote("collapse") - Knockdown(200) - to_chat(src, "You feel weak.") - - switch(radiation) - - if(50 to 75) - if(prob(5)) - if(!IsKnockdown()) - emote("collapse") - Knockdown(60) - to_chat(src, "You feel weak.") - - if(75 to 100) - if(prob(1)) - to_chat(src, "You mutate!") - randmutb() - emote("gasp") - domutcheck() - ..() - -/mob/living/carbon/monkey/handle_breath_temperature(datum/gas_mixture/breath) - if(abs(310.15 - breath.temperature) > 50) - switch(breath.temperature) - if(-INFINITY to 120) - adjustFireLoss(3) - if(120 to 200) - adjustFireLoss(1.5) - if(200 to 260) - adjustFireLoss(0.5) - if(360 to 400) - adjustFireLoss(2) - if(400 to 1000) - adjustFireLoss(3) - if(1000 to INFINITY) - adjustFireLoss(8) - -/mob/living/carbon/monkey/handle_environment(datum/gas_mixture/environment) - if(!environment) - return - - var/loc_temp = get_temperature(environment) - - if(stat != DEAD) - natural_bodytemperature_stabilization() - - if(!on_fire) //If you're on fire, you do not heat up or cool down based on surrounding gases - if(loc_temp < bodytemperature) - bodytemperature += min(((loc_temp - bodytemperature) / BODYTEMP_COLD_DIVISOR), BODYTEMP_COOLING_MAX) - else - bodytemperature += min(((loc_temp - bodytemperature) / BODYTEMP_HEAT_DIVISOR), BODYTEMP_HEATING_MAX) - - if(bodytemperature > BODYTEMP_HEAT_DAMAGE_LIMIT) - switch(bodytemperature) - if(360 to 400) - throw_alert("temp", /obj/screen/alert/hot, 1) - apply_damage(HEAT_DAMAGE_LEVEL_1, BURN) - if(400 to 460) - throw_alert("temp", /obj/screen/alert/hot, 2) - apply_damage(HEAT_DAMAGE_LEVEL_2, BURN) - if(460 to INFINITY) - throw_alert("temp", /obj/screen/alert/hot, 3) - if(on_fire) - apply_damage(HEAT_DAMAGE_LEVEL_3, BURN) - else - apply_damage(HEAT_DAMAGE_LEVEL_2, BURN) - - else if(bodytemperature < BODYTEMP_COLD_DAMAGE_LIMIT) - if(!istype(loc, /obj/machinery/atmospherics/components/unary/cryo_cell)) - switch(bodytemperature) - if(200 to 260) - throw_alert("temp", /obj/screen/alert/cold, 1) - apply_damage(COLD_DAMAGE_LEVEL_1, BURN) - if(120 to 200) - throw_alert("temp", /obj/screen/alert/cold, 2) - apply_damage(COLD_DAMAGE_LEVEL_2, BURN) - if(-INFINITY to 120) - throw_alert("temp", /obj/screen/alert/cold, 3) - apply_damage(COLD_DAMAGE_LEVEL_3, BURN) - else - clear_alert("temp") - - else - clear_alert("temp") - - //Account for massive pressure differences - - var/pressure = environment.return_pressure() - var/adjusted_pressure = calculate_affecting_pressure(pressure) //Returns how much pressure actually affects the mob. - switch(adjusted_pressure) - if(HAZARD_HIGH_PRESSURE to INFINITY) - adjustBruteLoss( min( ( (adjusted_pressure / HAZARD_HIGH_PRESSURE) -1 )*PRESSURE_DAMAGE_COEFFICIENT , MAX_HIGH_PRESSURE_DAMAGE) ) - throw_alert("pressure", /obj/screen/alert/highpressure, 2) - if(WARNING_HIGH_PRESSURE to HAZARD_HIGH_PRESSURE) - throw_alert("pressure", /obj/screen/alert/highpressure, 1) - if(WARNING_LOW_PRESSURE to WARNING_HIGH_PRESSURE) - clear_alert("pressure") - if(HAZARD_LOW_PRESSURE to WARNING_LOW_PRESSURE) - throw_alert("pressure", /obj/screen/alert/lowpressure, 1) - else - adjustBruteLoss( LOW_PRESSURE_DAMAGE ) - throw_alert("pressure", /obj/screen/alert/lowpressure, 2) - - return - -/mob/living/carbon/monkey/handle_random_events() - if (prob(1) && prob(2)) - emote("scratch") - -/mob/living/carbon/monkey/has_smoke_protection() - if(wear_mask) + if(prob(1)) + emote(pick("scratch","jump","roll","tail")) + else + walk_to(src,0) + +/mob/living/carbon/monkey/handle_mutations_and_radiation() + + if (radiation) + if (radiation > 100) + if(!IsKnockdown()) + emote("collapse") + Knockdown(200) + to_chat(src, "You feel weak.") + if(radiation > 30 && prob((radiation - 30) * (radiation - 30) * 0.00002)) + gorillize() + return + switch(radiation) + + if(50 to 75) + if(prob(5)) + if(!IsKnockdown()) + emote("collapse") + Knockdown(60) + to_chat(src, "You feel weak.") + + if(75 to 100) + if(prob(1)) + to_chat(src, "You mutate!") + randmutb() + emote("gasp") + domutcheck() + ..() + +/mob/living/carbon/monkey/handle_breath_temperature(datum/gas_mixture/breath) + if(abs(310.15 - breath.temperature) > 50) + switch(breath.temperature) + if(-INFINITY to 120) + adjustFireLoss(3) + if(120 to 200) + adjustFireLoss(1.5) + if(200 to 260) + adjustFireLoss(0.5) + if(360 to 400) + adjustFireLoss(2) + if(400 to 1000) + adjustFireLoss(3) + if(1000 to INFINITY) + adjustFireLoss(8) + +/mob/living/carbon/monkey/handle_environment(datum/gas_mixture/environment) + if(!environment) + return + + var/loc_temp = get_temperature(environment) + + if(stat != DEAD) + natural_bodytemperature_stabilization() + + if(!on_fire) //If you're on fire, you do not heat up or cool down based on surrounding gases + if(loc_temp < bodytemperature) + bodytemperature += min(((loc_temp - bodytemperature) / BODYTEMP_COLD_DIVISOR), BODYTEMP_COOLING_MAX) + else + bodytemperature += min(((loc_temp - bodytemperature) / BODYTEMP_HEAT_DIVISOR), BODYTEMP_HEATING_MAX) + + if(bodytemperature > BODYTEMP_HEAT_DAMAGE_LIMIT) + switch(bodytemperature) + if(360 to 400) + throw_alert("temp", /obj/screen/alert/hot, 1) + apply_damage(HEAT_DAMAGE_LEVEL_1, BURN) + if(400 to 460) + throw_alert("temp", /obj/screen/alert/hot, 2) + apply_damage(HEAT_DAMAGE_LEVEL_2, BURN) + if(460 to INFINITY) + throw_alert("temp", /obj/screen/alert/hot, 3) + if(on_fire) + apply_damage(HEAT_DAMAGE_LEVEL_3, BURN) + else + apply_damage(HEAT_DAMAGE_LEVEL_2, BURN) + + else if(bodytemperature < BODYTEMP_COLD_DAMAGE_LIMIT) + if(!istype(loc, /obj/machinery/atmospherics/components/unary/cryo_cell)) + switch(bodytemperature) + if(200 to 260) + throw_alert("temp", /obj/screen/alert/cold, 1) + apply_damage(COLD_DAMAGE_LEVEL_1, BURN) + if(120 to 200) + throw_alert("temp", /obj/screen/alert/cold, 2) + apply_damage(COLD_DAMAGE_LEVEL_2, BURN) + if(-INFINITY to 120) + throw_alert("temp", /obj/screen/alert/cold, 3) + apply_damage(COLD_DAMAGE_LEVEL_3, BURN) + else + clear_alert("temp") + + else + clear_alert("temp") + + //Account for massive pressure differences + + var/pressure = environment.return_pressure() + var/adjusted_pressure = calculate_affecting_pressure(pressure) //Returns how much pressure actually affects the mob. + switch(adjusted_pressure) + if(HAZARD_HIGH_PRESSURE to INFINITY) + adjustBruteLoss( min( ( (adjusted_pressure / HAZARD_HIGH_PRESSURE) -1 )*PRESSURE_DAMAGE_COEFFICIENT , MAX_HIGH_PRESSURE_DAMAGE) ) + throw_alert("pressure", /obj/screen/alert/highpressure, 2) + if(WARNING_HIGH_PRESSURE to HAZARD_HIGH_PRESSURE) + throw_alert("pressure", /obj/screen/alert/highpressure, 1) + if(WARNING_LOW_PRESSURE to WARNING_HIGH_PRESSURE) + clear_alert("pressure") + if(HAZARD_LOW_PRESSURE to WARNING_LOW_PRESSURE) + throw_alert("pressure", /obj/screen/alert/lowpressure, 1) + else + adjustBruteLoss( LOW_PRESSURE_DAMAGE ) + throw_alert("pressure", /obj/screen/alert/lowpressure, 2) + + return + +/mob/living/carbon/monkey/handle_random_events() + if (prob(1) && prob(2)) + emote("scratch") + +/mob/living/carbon/monkey/has_smoke_protection() + if(wear_mask) + if(wear_mask.flags_1 & BLOCK_GAS_SMOKE_EFFECT_1) - return 1 - -/mob/living/carbon/monkey/handle_fire() - . = ..() - if(on_fire) - - //the fire tries to damage the exposed clothes and items - var/list/burning_items = list() - //HEAD// - var/obj/item/clothing/head_clothes = null - if(wear_mask) - head_clothes = wear_mask - if(wear_neck) - head_clothes = wear_neck - if(head) - head_clothes = head - if(head_clothes) - burning_items += head_clothes - - if(back) - burning_items += back - - for(var/X in burning_items) - var/obj/item/I = X - if(!(I.resistance_flags & FIRE_PROOF)) - I.take_damage(fire_stacks, BURN, "fire", 0) - - bodytemperature += BODYTEMP_HEATING_MAX - + return 1 + +/mob/living/carbon/monkey/handle_fire() + . = ..() + if(on_fire) + + //the fire tries to damage the exposed clothes and items + var/list/burning_items = list() + //HEAD// + var/obj/item/clothing/head_clothes = null + if(wear_mask) + head_clothes = wear_mask + if(wear_neck) + head_clothes = wear_neck + if(head) + head_clothes = head + if(head_clothes) + burning_items += head_clothes + + if(back) + burning_items += back + + for(var/X in burning_items) + var/obj/item/I = X + if(!(I.resistance_flags & FIRE_PROOF)) + I.take_damage(fire_stacks, BURN, "fire", 0) + + bodytemperature += BODYTEMP_HEATING_MAX + diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm.rej b/code/modules/mob/living/silicon/robot/robot_modules.dm.rej deleted file mode 100644 index ad89ae720b..0000000000 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm (rejected hunks) -@@ -121,7 +121,7 @@ - if(I.loc != src) - I.forceMove(src) - modules += I -- I.flags |= NODROP -+ I.flags_1 |= NODROP_1 - I.mouse_opacity = MOUSE_OPACITY_OPAQUE - if(nonstandard) - added_modules += I diff --git a/code/modules/mob/living/simple_animal/guardian/guardian.dm b/code/modules/mob/living/simple_animal/guardian/guardian.dm index 21a3347d3d..1f1f937d9a 100644 --- a/code/modules/mob/living/simple_animal/guardian/guardian.dm +++ b/code/modules/mob/living/simple_animal/guardian/guardian.dm @@ -490,7 +490,7 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians return used = TRUE to_chat(user, "[use_message]") - var/list/mob/dead/observer/candidates = pollGhostCandidates("Do you want to play as the [mob_name] of [user.real_name]?", ROLE_PAI, null, FALSE, 100) + var/list/mob/dead/observer/candidates = pollGhostCandidates("Do you want to play as the [mob_name] of [user.real_name]?", ROLE_PAI, null, FALSE, 100, POLL_IGNORE_HOLOPARASITE) var/mob/dead/observer/theghost = null if(candidates.len) diff --git a/code/modules/mob/living/simple_animal/hostile/bear.dm b/code/modules/mob/living/simple_animal/hostile/bear.dm index f0ea9c1b52..1c92b6233d 100644 --- a/code/modules/mob/living/simple_animal/hostile/bear.dm +++ b/code/modules/mob/living/simple_animal/hostile/bear.dm @@ -77,7 +77,7 @@ name = "pile of bear armor" desc = "A scattered pile of various shaped armor pieces fitted for a bear, some duct tape, and a nail filer. Crude instructions \ are written on the back of one of the plates in russian. This seems like an awful idea." - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "bear_armor_upgrade" /obj/item/bear_armor/afterattack(atom/target, mob/user, proximity_flag) diff --git a/code/modules/mob/living/simple_animal/hostile/gorilla/emotes.dm b/code/modules/mob/living/simple_animal/hostile/gorilla/emotes.dm new file mode 100644 index 0000000000..3af442930e --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/gorilla/emotes.dm @@ -0,0 +1,11 @@ +/datum/emote/sound/gorilla + mob_type_allowed_typecache = /mob/living/simple_animal/hostile/gorilla + mob_type_blacklist_typecache = list() + +/datum/emote/sound/gorilla/ooga + key = "ooga" + key_third_person = "oogas" + message = "oogas." + message_param = "oogas at %t." + sound = "sound/creatures/gorilla.ogg" + diff --git a/code/modules/mob/living/simple_animal/hostile/gorilla/gorilla.dm b/code/modules/mob/living/simple_animal/hostile/gorilla/gorilla.dm new file mode 100644 index 0000000000..b697473787 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/gorilla/gorilla.dm @@ -0,0 +1,77 @@ +#define GORILLA_HANDS_LAYER 1 +#define GORILLA_TOTAL_LAYERS 1 + +/mob/living/simple_animal/hostile/gorilla + name = "Gorilla" + desc = "A ground-dwelling, predominantly herbivorous ape that inhabits the forests of central Africa." + icon = 'icons/mob/gorilla.dmi' + icon_state = "crawling" + icon_state = "crawling" + icon_living = "crawling" + icon_dead = "dead" + speak_chance = 80 + maxHealth = 220 + health = 220 + loot = list(/obj/effect/gibspawner/generic) + butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab/gorilla = 4) + response_help = "prods" + response_disarm = "challenges" + response_harm = "thumps" + speed = 1 + melee_damage_lower = 15 + melee_damage_upper = 18 + damage_coeff = list(BRUTE = 1, BURN = 1.5, TOX = 1.5, CLONE = 0, STAMINA = 0, OXY = 1.5) + obj_damage = 20 + environment_smash = 2 + attacktext = "pummels" + attack_sound = 'sound/weapons/punch1.ogg' + dextrous = TRUE + possible_a_intents = list(INTENT_HELP, INTENT_GRAB, INTENT_DISARM, INTENT_HARM) + faction = list("jungle") + robust_searching = TRUE + stat_attack = UNCONSCIOUS + minbodytemp = 270 + maxbodytemp = 350 + var/list/gorilla_overlays[GORILLA_TOTAL_LAYERS] + +// Gorillas like to dismember limbs from unconcious mobs. +// Returns null when the target is not an unconcious carbon mob; a list of limbs (possibly empty) otherwise. +/mob/living/simple_animal/hostile/gorilla/proc/target_bodyparts(atom/the_target) + var/list/parts = list() + if(iscarbon(the_target)) + var/mob/living/carbon/C = the_target + if(C.stat >= UNCONSCIOUS) + for(var/X in C.bodyparts) + var/obj/item/bodypart/BP = X + if(BP.body_part != HEAD && BP.body_part != CHEST) + if(BP.dismemberable) + parts += BP + return parts + +/mob/living/simple_animal/hostile/gorilla/AttackingTarget() + var/list/parts = target_bodyparts(target) + if(parts) + if(!parts.len) + return FALSE + var/obj/item/bodypart/BP = pick(parts) + BP.dismember() + return ..() + . = ..() + if(. && isliving(target)) + var/mob/living/L = target + if(prob(80)) + var/atom/throw_target = get_edge_target_turf(L, dir) + L.throw_at(throw_target, rand(1,2), 7, src) + else + L.Knockdown(20) + visible_message("[src] knocks [L] down!") + +/mob/living/simple_animal/hostile/gorilla/CanAttack(atom/the_target) + var/list/parts = target_bodyparts(target) + return ..() && !istype(the_target, /mob/living/carbon/monkey) && (!parts || parts.len > 3) + +/mob/living/simple_animal/hostile/gorilla/handle_automated_speech(override) + if(speak_chance && (override || prob(speak_chance))) + playsound(src, "sound/creatures/gorilla.ogg", 200) + ..() + diff --git a/code/modules/mob/living/simple_animal/hostile/gorilla/visuals_icons.dm b/code/modules/mob/living/simple_animal/hostile/gorilla/visuals_icons.dm new file mode 100644 index 0000000000..b3e0f3b658 --- /dev/null +++ b/code/modules/mob/living/simple_animal/hostile/gorilla/visuals_icons.dm @@ -0,0 +1,55 @@ +/mob/living/simple_animal/hostile/gorilla/proc/apply_overlay(cache_index) + . = gorilla_overlays[cache_index] + if(.) + add_overlay(.) + +/mob/living/simple_animal/hostile/gorilla/proc/remove_overlay(cache_index) + var/I = gorilla_overlays[cache_index] + if(I) + cut_overlay(I) + gorilla_overlays[cache_index] = null + +/mob/living/simple_animal/hostile/gorilla/update_inv_hands() + cut_overlays("standing_overlay") + remove_overlay(GORILLA_HANDS_LAYER) + + var/standing = FALSE + for(var/I in held_items) + if(I) + standing = TRUE + break + if(!standing) + if(stat != DEAD) + icon_state = "crawling" + speed = 1 + return ..() + if(stat != DEAD) + icon_state = "standing" + speed = 3 // Gorillas are slow when standing up. + + var/list/hands_overlays = list() + + var/obj/item/l_hand = get_item_for_held_index(1) + var/obj/item/r_hand = get_item_for_held_index(2) + + if(r_hand) + var/r_state = r_hand.item_state ? r_hand.item_state : r_hand.icon_state + var/mutable_appearance/r_hand_overlay = r_hand.build_worn_icon(state = r_state, default_layer = GORILLA_HANDS_LAYER, default_icon_file = r_hand.righthand_file, isinhands = TRUE) + r_hand_overlay.pixel_y -= 1 + hands_overlays += r_hand_overlay + + if(l_hand) + var/l_state = l_hand.item_state ? l_hand.item_state : l_hand.icon_state + var/mutable_appearance/l_hand_overlay = l_hand.build_worn_icon(state = l_state, default_layer = GORILLA_HANDS_LAYER, default_icon_file = l_hand.lefthand_file, isinhands = TRUE) + l_hand_overlay.pixel_y -= 1 + hands_overlays += l_hand_overlay + + if(hands_overlays.len) + gorilla_overlays[GORILLA_HANDS_LAYER] = hands_overlays + apply_overlay(GORILLA_HANDS_LAYER) + add_overlay("standing_overlay") + return ..() + +/mob/living/simple_animal/hostile/gorilla/regenerate_icons() + update_inv_hands() + diff --git a/code/modules/mob/living/simple_animal/hostile/hostile.dm b/code/modules/mob/living/simple_animal/hostile/hostile.dm index 18e713e7af..7b4fe44d37 100644 --- a/code/modules/mob/living/simple_animal/hostile/hostile.dm +++ b/code/modules/mob/living/simple_animal/hostile/hostile.dm @@ -2,7 +2,7 @@ faction = list("hostile") stop_automated_movement_when_pulled = 0 obj_damage = 40 - environment_smash = ENVIRONMENT_SMASH_STRUCTURES //Set to 1 to break closets,tables,racks, etc; 2 for walls; 3 for rwalls + environment_smash = ENVIRONMENT_SMASH_STRUCTURES //Bitflags. Set to ENVIRONMENT_SMASH_STRUCTURES to break closets,tables,racks, etc; ENVIRONMENT_SMASH_WALLS for walls; ENVIRONMENT_SMASH_RWALLS for rwalls var/atom/target var/ranged = 0 var/rapid = 0 @@ -253,7 +253,7 @@ if(target.loc != null && get_dist(targets_from, target.loc) <= vision_range) //We can't see our target, but he's in our vision range still if(ranged_ignores_vision && ranged_cooldown <= world.time) //we can't see our target... but we can fire at them! OpenFire(target) - if(environment_smash >= 2) //If we're capable of smashing through walls, forget about vision completely after finding our target + if((environment_smash & ENVIRONMENT_SMASH_WALLS) || (environment_smash & ENVIRONMENT_SMASH_RWALLS)) //If we're capable of smashing through walls, forget about vision completely after finding our target Goto(target,move_to_delay,minimum_distance) FindHidden() return 1 diff --git a/code/modules/mob/living/simple_animal/hostile/jungle_mobs.dm.rej b/code/modules/mob/living/simple_animal/hostile/jungle_mobs.dm.rej deleted file mode 100644 index 9204780124..0000000000 --- a/code/modules/mob/living/simple_animal/hostile/jungle_mobs.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/mob/living/simple_animal/hostile/jungle_mobs.dm b/code/modules/mob/living/simple_animal/hostile/jungle_mobs.dm (rejected hunks) -@@ -80,7 +80,7 @@ - /obj/item/restraints/legcuffs/beartrap/mega_arachnid - name = "fleshy restraints" - desc = "Used by mega arachnids to immobilize their prey." -- flags = DROPDEL -+ flags_1 = DROPDEL_1 - icon_state = "tentacle_end" - icon = 'icons/obj/projectiles.dmi' - diff --git a/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm b/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm index fff5781405..3568f55a31 100644 --- a/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm +++ b/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm @@ -122,6 +122,6 @@ A.melee_damage_lower = max((A.melee_damage_lower * 2), 10) A.melee_damage_upper = max((A.melee_damage_upper * 2), 10) A.transform *= 2 - A.environment_smash += 2 + A.environment_smash |= ENVIRONMENT_SMASH_STRUCTURES | ENVIRONMENT_SMASH_RWALLS to_chat(user, "You increase the size of [A], giving it a surge of strength!") qdel(src) diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 54b6e1ab13..aa95d182cb 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -386,14 +386,14 @@ else ..() -/mob/living/simple_animal/update_canmove() +/mob/living/simple_animal/update_canmove(value_otherwise = TRUE) if(IsUnconscious() || IsStun() || IsKnockdown() || stat || resting) drop_all_held_items() - canmove = 0 + canmove = FALSE else if(buckled) - canmove = 0 + canmove = FALSE else - canmove = 1 + canmove = value_otherwise update_transform() update_action_buttons_icon() return canmove diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index 021b32e00c..f9763cde7d 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -495,6 +495,30 @@ . = new_corgi qdel(src) +/mob/living/carbon/proc/gorillize() + if(notransform) + return + + var/Itemlist = get_equipped_items() + Itemlist += held_items + for(var/obj/item/W in Itemlist) + dropItemToGround(W, TRUE) + + regenerate_icons() + notransform = TRUE + canmove = FALSE + icon = null + invisibility = INVISIBILITY_MAXIMUM + var/mob/living/simple_animal/hostile/gorilla/new_gorilla = new (get_turf(src)) + new_gorilla.a_intent = INTENT_HARM + if(mind) + mind.transfer_to(new_gorilla) + else + new_gorilla.key = key + to_chat(new_gorilla, "You are now a gorilla. Ooga ooga!") + . = new_gorilla + qdel(src) + /mob/living/carbon/human/Animalize() var/list/mobtypes = typesof(/mob/living/simple_animal) diff --git a/code/modules/modular_computers/computers/machinery/modular_computer.dm.rej b/code/modules/modular_computers/computers/machinery/modular_computer.dm.rej deleted file mode 100644 index 375995bf60..0000000000 --- a/code/modules/modular_computers/computers/machinery/modular_computer.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/modular_computers/computers/machinery/modular_computer.dm b/code/modules/modular_computers/computers/machinery/modular_computer.dm (rejected hunks) -@@ -125,7 +125,7 @@ - update_icon() - - /obj/machinery/modular_computer/attackby(var/obj/item/W as obj, mob/user) -- if(cpu && !(flags & NODECONSTRUCT)) -+ if(cpu && !(flags_1 & NODECONSTRUCT_1)) - return cpu.attackby(W, user) - return ..() - diff --git a/code/modules/paperwork/contract.dm.rej b/code/modules/paperwork/contract.dm.rej deleted file mode 100644 index 2cfb1cdcb1..0000000000 --- a/code/modules/paperwork/contract.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/paperwork/contract.dm b/code/modules/paperwork/contract.dm (rejected hunks) -@@ -5,7 +5,7 @@ - throw_speed = 3 - var/signed = FALSE - var/datum/mind/target -- flags = NOBLUDGEON -+ flags_1 = NOBLUDGEON_1 - - /obj/item/paper/contract/proc/update_text() - return diff --git a/code/modules/paperwork/paper_premade.dm.rej b/code/modules/paperwork/paper_premade.dm.rej deleted file mode 100644 index 2372bba734..0000000000 --- a/code/modules/paperwork/paper_premade.dm.rej +++ /dev/null @@ -1,23 +0,0 @@ -diff a/code/modules/paperwork/paper_premade.dm b/code/modules/paperwork/paper_premade.dm (rejected hunks) -@@ -91,18 +91,18 @@ - info = "...EMPTY HALLS...USELESS SPACE..." - - --/////////// Centcom -+/////////// CentCom - - /obj/item/paper/fluff/stations/centcom/disk_memo - name = "memo" - info = "GET DAT FUKKEN DISK" - - /obj/item/paper/fluff/stations/centcom/broken_evac -- info = "Due to circumstances beyond our control, your Emergency Evacuation Shuttle is out of service.

We apologize for the inconvenience this may cause you.

Please enjoy the use of this complementary book.

Sincerely,
Centcom Operations Demolitions Examination Retribution Bugfixing Underlining Services" -+ info = "Due to circumstances beyond our control, your Emergency Evacuation Shuttle is out of service.

We apologize for the inconvenience this may cause you.

Please enjoy the use of this complementary book.

Sincerely,
CentCom Operations Demolitions Examination Retribution Bugfixing Underlining Services" - - /obj/item/paper/fluff/stations/centcom/bulletin - name = "paper- 'Official Bulletin'" -- info = "
Centcom Security
Port Division
Official Bulletin

Inspector,
There is an emergency shuttle arriving today.

Approval is restricted to Nanotrasen employees only. Deny all other entrants.

Centcom Port Commissioner" -+ info = "
CentCom Security
Port Division
Official Bulletin

Inspector,
There is an emergency shuttle arriving today.

Approval is restricted to Nanotrasen employees only. Deny all other entrants.

CentCom Port Commissioner" - - - /////////// Lavaland diff --git a/code/modules/paperwork/pen.dm.rej b/code/modules/paperwork/pen.dm.rej deleted file mode 100644 index 0f04a96950..0000000000 --- a/code/modules/paperwork/pen.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm (rejected hunks) -@@ -168,7 +168,7 @@ - */ - /obj/item/pen/sleepy - origin_tech = "engineering=4;syndicate=2" -- container_type = OPENCONTAINER -+ container_type = OPENCONTAINER_1 - - - /obj/item/pen/sleepy/attack(mob/living/M, mob/user) diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm index 98f67618fc..0dcd5d09a0 100644 --- a/code/modules/paperwork/photocopier.dm +++ b/code/modules/paperwork/photocopier.dm @@ -168,7 +168,7 @@ p.pixel_y = rand(-10, 10) p.img = temp_img var/icon/small_img = icon(temp_img) //Icon() is needed or else temp_img will be rescaled too >.> - var/icon/ic = icon('icons/obj/items.dmi',"photo") + var/icon/ic = icon('icons/obj/items_and_weapons.dmi',"photo") small_img.Scale(8, 8) ic.Blend(small_img,ICON_OVERLAY, 13, 13) p.icon = ic diff --git a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm index ea1db5cfd4..f6b39514b2 100644 --- a/code/modules/paperwork/photography.dm +++ b/code/modules/paperwork/photography.dm @@ -13,7 +13,7 @@ */ /obj/item/device/camera_film name = "film cartridge" - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' desc = "A camera film cartridge. Insert it into a camera to reload it." icon_state = "film" item_state = "electropack" @@ -25,7 +25,7 @@ */ /obj/item/photo name = "photo" - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "photo" item_state = "paper" w_class = WEIGHT_CLASS_TINY @@ -91,7 +91,7 @@ */ /obj/item/storage/photo_album name = "photo album" - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "album" item_state = "briefcase" lefthand_file = 'icons/mob/inhands/equipment/briefcase_lefthand.dmi' @@ -104,7 +104,7 @@ */ /obj/item/device/camera name = "camera" - icon = 'icons/obj/items.dmi' + icon = 'icons/obj/items_and_weapons.dmi' desc = "A polaroid camera." icon_state = "camera" item_state = "electropack" @@ -311,7 +311,7 @@ if(in_range(src, user)) //needed because of TK user.put_in_hands(P) var/icon/small_img = icon(temp) - var/icon/ic = icon('icons/obj/items.dmi',"photo") + var/icon/ic = icon('icons/obj/items_and_weapons.dmi',"photo") small_img.Scale(8, 8) ic.Blend(small_img,ICON_OVERLAY, 13, 13) P.icon = ic @@ -328,7 +328,7 @@ /obj/item/device/camera/proc/aipicture(mob/user, icon/temp, mobs, isAi) //instead of printing a picture like a regular camera would, we do this instead for the AI var/icon/small_img = icon(temp) - var/icon/ic = icon('icons/obj/items.dmi',"photo") + var/icon/ic = icon('icons/obj/items_and_weapons.dmi',"photo") small_img.Scale(8, 8) ic.Blend(small_img,ICON_OVERLAY, 13, 13) var/icon = ic diff --git a/code/modules/paperwork/photography.dm.rej b/code/modules/paperwork/photography.dm.rej deleted file mode 100644 index eb8210739b..0000000000 --- a/code/modules/paperwork/photography.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/paperwork/photography.dm b/code/modules/paperwork/photography.dm (rejected hunks) -@@ -497,7 +497,7 @@ - desc = "The perfect showcase for your favorite deathtrap memories." - icon = 'icons/obj/decals.dmi' - materials = list() -- flags = 0 -+ flags_1 = 0 - icon_state = "frame-empty" - result_path = /obj/structure/sign/picture_frame - var/obj/item/photo/displayed diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 716c1b1f80..3b070f1384 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -120,8 +120,15 @@ if(auto_name) name = "\improper [get_area(src)] APC" - pixel_x = (src.tdir & 3)? 0 : (src.tdir == 4 ? 26 : -27) - pixel_y = (src.tdir & 3)? (src.tdir == 1 ? 25 : -25) : 0 + switch(tdir) + if(NORTH) + pixel_y = 23 + if(SOUTH) + pixel_y = -23 + if(EAST) + pixel_x = 24 + if(WEST) + pixel_x = -25 if (building) area = get_area(src) opened = 1 diff --git a/code/modules/power/singularity/emitter.dm.rej b/code/modules/power/singularity/emitter.dm.rej deleted file mode 100644 index 12ee0046bd..0000000000 --- a/code/modules/power/singularity/emitter.dm.rej +++ /dev/null @@ -1,12 +0,0 @@ -diff a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm (rejected hunks) -@@ -445,8 +445,8 @@ - name = "turret controls" - icon_state = "offhand" - w_class = WEIGHT_CLASS_HUGE -- flags = ABSTRACT | NODROP -- resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF | NOBLUDGEON -+ flags_1 = ABSTRACT_1 | NODROP_1 -+ resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF | NOBLUDGEON_1 - var/delay = 0 - - /obj/item/turret_control/afterattack(atom/targeted_atom, mob/user) diff --git a/code/modules/power/singularity/field_generator.dm b/code/modules/power/singularity/field_generator.dm index b52ac83d40..5a0f096564 100644 --- a/code/modules/power/singularity/field_generator.dm +++ b/code/modules/power/singularity/field_generator.dm @@ -128,7 +128,7 @@ field_generator power level display return ..() /obj/machinery/field/generator/attack_animal(mob/living/simple_animal/M) - if(M.environment_smash >= 3 && active == FG_OFFLINE && state != FG_UNSECURED) + if(M.environment_smash & ENVIRONMENT_SMASH_RWALLS && active == FG_OFFLINE && state != FG_UNSECURED) state = FG_UNSECURED anchored = FALSE M.visible_message("[M] rips [src] free from its moorings!") diff --git a/code/modules/power/singularity/particle_accelerator/particle_control.dm.rej b/code/modules/power/singularity/particle_accelerator/particle_control.dm.rej deleted file mode 100644 index c8e42a734f..0000000000 --- a/code/modules/power/singularity/particle_accelerator/particle_control.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/power/singularity/particle_accelerator/particle_control.dm b/code/modules/power/singularity/particle_accelerator/particle_control.dm (rejected hunks) -@@ -17,7 +17,7 @@ - var/active = 0 - var/strength = 0 - var/powered = 0 -- mouse_opacity = 2 -+ mouse_opacity = MOUSE_OPACITY_OPAQUE - - /obj/machinery/particle_accelerator/control_box/Initialize() - . = ..() diff --git a/code/modules/power/supermatter/supermatter.dm.rej b/code/modules/power/supermatter/supermatter.dm.rej deleted file mode 100644 index 7360ec9fbb..0000000000 --- a/code/modules/power/supermatter/supermatter.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm (rejected hunks) -@@ -524,7 +524,7 @@ - R.receive_pulse(power * (1 + power_transmission_bonus)/10 * freon_transmit_modifier) - - /obj/machinery/power/supermatter_shard/attackby(obj/item/W, mob/living/user, params) -- if(!istype(W) || (W.flags & ABSTRACT) || !istype(user)) -+ if(!istype(W) || (W.flags_1 & ABSTRACT_1) || !istype(user)) - return - if(istype(W, /obj/item/scalpel/supermatter)) - playsound(src, W.usesound, 100, 1) diff --git a/code/modules/procedural_mapping/mapGenerators/shuttle.dm b/code/modules/procedural_mapping/mapGenerators/shuttle.dm index 7ce98040bb..ba877eeabb 100644 --- a/code/modules/procedural_mapping/mapGenerators/shuttle.dm +++ b/code/modules/procedural_mapping/mapGenerators/shuttle.dm @@ -3,7 +3,7 @@ /datum/mapGeneratorModule/border/shuttleWalls spawnableAtoms = list() - spawnableTurfs = list(/turf/closed/wall/shuttle = 100) + spawnableTurfs = list(/turf/closed/wall/mineral/titanium = 100) // Generators /datum/mapGenerator/shuttle/full diff --git a/code/modules/projectiles/guns/beam_rifle.dm.rej b/code/modules/projectiles/guns/beam_rifle.dm.rej deleted file mode 100644 index ecc9695fda..0000000000 --- a/code/modules/projectiles/guns/beam_rifle.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/projectiles/guns/beam_rifle.dm b/code/modules/projectiles/guns/beam_rifle.dm (rejected hunks) -@@ -715,7 +715,7 @@ - light_range = 2 - light_color = "#00ffff" - mouse_opacity = MOUSE_OPACITY_TRANSPARENT -- flags = ABSTRACT -+ flags_1 = ABSTRACT_1 - appearance_flags = 0 - - /obj/effect/projectile_beam/proc/scale_to(nx,ny,override=TRUE) diff --git a/code/modules/projectiles/guns/energy/pulse.dm.rej b/code/modules/projectiles/guns/energy/pulse.dm.rej deleted file mode 100644 index 1466e76076..0000000000 --- a/code/modules/projectiles/guns/energy/pulse.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm (rejected hunks) -@@ -6,7 +6,7 @@ - w_class = WEIGHT_CLASS_BULKY - force = 10 - modifystate = TRUE -- flags = CONDUCT -+ flags_1 = CONDUCT_1 - slot_flags = SLOT_BACK - ammo_type = list(/obj/item/ammo_casing/energy/laser/pulse, /obj/item/ammo_casing/energy/electrode, /obj/item/ammo_casing/energy/laser) - cell_type = "/obj/item/stock_parts/cell/pulse" diff --git a/code/modules/projectiles/guns/medbeam.dm b/code/modules/projectiles/guns/medbeam.dm index bb770e0598..c94deefd08 100644 --- a/code/modules/projectiles/guns/medbeam.dm +++ b/code/modules/projectiles/guns/medbeam.dm @@ -101,7 +101,7 @@ qdel(dummy) return 0 for(var/obj/effect/ebeam/medical/B in turf)// Don't cross the str-beams! - if(B.owner != current_beam) + if(B.owner.origin != current_beam.origin) explosion(B.loc,0,3,5,8) qdel(dummy) return 0 diff --git a/code/modules/projectiles/projectile.dm.rej b/code/modules/projectiles/projectile.dm.rej deleted file mode 100644 index 9c9e12e95a..0000000000 --- a/code/modules/projectiles/projectile.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm (rejected hunks) -@@ -4,7 +4,7 @@ - icon_state = "bullet" - density = FALSE - anchored = TRUE -- flags = ABSTRACT -+ flags_1 = ABSTRACT_1 - pass_flags = PASSTABLE - mouse_opacity = MOUSE_OPACITY_TRANSPARENT - hitsound = 'sound/weapons/pierce.ogg' diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index 12ced0ed74..27284a1712 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -165,7 +165,7 @@ if("animal") var/path if(prob(50)) - var/beast = pick("carp","bear","mushroom","statue", "bat", "goat","killertomato", "spiderbase", "spiderhunter", "blobbernaut", "magicarp", "chaosmagicarp", "watcher", "goliath", "headcrab", "morph", "stickman", "stickdog", "lesserdragon") + var/beast = pick("carp","bear","mushroom","statue", "bat", "goat","killertomato", "spiderbase", "spiderhunter", "blobbernaut", "magicarp", "chaosmagicarp", "watcher", "goliath", "headcrab", "morph", "stickman", "stickdog", "lesserdragon", "gorilla") switch(beast) if("carp") path = /mob/living/simple_animal/hostile/carp @@ -205,6 +205,8 @@ path = /mob/living/simple_animal/hostile/stickman/dog if("lesserdragon") path = /mob/living/simple_animal/hostile/megafauna/dragon/lesser + if("gorilla") + path = /mob/living/simple_animal/hostile/gorilla else var/animal = pick("parrot","corgi","crab","pug","cat","mouse","chicken","cow","lizard","chick","fox","butterfly","cak") switch(animal) diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm.rej b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm.rej deleted file mode 100644 index 8803fd1086..0000000000 --- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm (rejected hunks) -@@ -178,7 +178,7 @@ - if(default_unfasten_wrench(user, I)) - return - -- if(istype(I, /obj/item/reagent_containers) && (I.container_type & OPENCONTAINER)) -+ if(istype(I, /obj/item/reagent_containers) && (I.container_type & OPENCONTAINER_1)) - var/obj/item/reagent_containers/B = I - . = 1 //no afterattack - if(beaker) diff --git a/code/modules/reagents/chemistry/machinery/chem_heater.dm.rej b/code/modules/reagents/chemistry/machinery/chem_heater.dm.rej deleted file mode 100644 index d60e535a87..0000000000 --- a/code/modules/reagents/chemistry/machinery/chem_heater.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/reagents/chemistry/machinery/chem_heater.dm b/code/modules/reagents/chemistry/machinery/chem_heater.dm (rejected hunks) -@@ -42,7 +42,7 @@ - if(default_deconstruction_crowbar(I)) - return - -- if(istype(I, /obj/item/reagent_containers) && (I.container_type & OPENCONTAINER)) -+ if(istype(I, /obj/item/reagent_containers) && (I.container_type & OPENCONTAINER_1)) - . = 1 //no afterattack - if(beaker) - to_chat(user, "A beaker is already loaded into the machine!") diff --git a/code/modules/reagents/chemistry/machinery/chem_master.dm.rej b/code/modules/reagents/chemistry/machinery/chem_master.dm.rej deleted file mode 100644 index cd3de881dc..0000000000 --- a/code/modules/reagents/chemistry/machinery/chem_master.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/reagents/chemistry/machinery/chem_master.dm b/code/modules/reagents/chemistry/machinery/chem_master.dm (rejected hunks) -@@ -79,7 +79,7 @@ - if(default_unfasten_wrench(user, I)) - return - -- if(istype(I, /obj/item/reagent_containers) && (I.container_type & OPENCONTAINER)) -+ if(istype(I, /obj/item/reagent_containers) && (I.container_type & OPENCONTAINER_1)) - . = 1 // no afterattack - if(panel_open) - to_chat(user, "You can't use the [src.name] while its panel is opened!") diff --git a/code/modules/reagents/chemistry/machinery/pandemic.dm.rej b/code/modules/reagents/chemistry/machinery/pandemic.dm.rej deleted file mode 100644 index 4aa7a64767..0000000000 --- a/code/modules/reagents/chemistry/machinery/pandemic.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/reagents/chemistry/machinery/pandemic.dm b/code/modules/reagents/chemistry/machinery/pandemic.dm (rejected hunks) -@@ -177,7 +177,7 @@ - . = TRUE - - /obj/machinery/computer/pandemic/attackby(obj/item/I, mob/user, params) -- if(istype(I, /obj/item/reagent_containers) && (I.container_type & OPENCONTAINER)) -+ if(istype(I, /obj/item/reagent_containers) && (I.container_type & OPENCONTAINER_1)) - . = TRUE //no afterattack - if(stat & (NOPOWER|BROKEN)) - return diff --git a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm.rej b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm.rej deleted file mode 100644 index 41ecfa55e8..0000000000 --- a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm (rejected hunks) -@@ -116,7 +116,7 @@ - if(default_unfasten_wrench(user, I)) - return - -- if (istype(I, /obj/item/reagent_containers) && (I.container_type & OPENCONTAINER) ) -+ if (istype(I, /obj/item/reagent_containers) && (I.container_type & OPENCONTAINER_1) ) - if (!beaker) - if(!user.drop_item()) - return 1 diff --git a/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm b/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm index 5eb034d604..36320459e8 100644 --- a/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm @@ -106,6 +106,11 @@ metabolization_rate = 0.05 taste_description = "salt" +/datum/reagent/blackpowder/on_mob_life(mob/living/M) + ..() + if(isplasmaman(M)) + M.hallucination += 10 + /datum/reagent/blackpowder/on_ex_act() var/location = get_turf(holder.my_atom) var/datum/effect_system/reagents_explosion/e = new() diff --git a/code/modules/reagents/reagent_containers/dropper.dm.rej b/code/modules/reagents/reagent_containers/dropper.dm.rej deleted file mode 100644 index 672eff145d..0000000000 --- a/code/modules/reagents/reagent_containers/dropper.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/reagents/reagent_containers/dropper.dm b/code/modules/reagents/reagent_containers/dropper.dm (rejected hunks) -@@ -6,7 +6,7 @@ - amount_per_transfer_from_this = 5 - possible_transfer_amounts = list(1, 2, 3, 4, 5) - volume = 5 -- container_type = TRANSPARENT -+ container_type = TRANSPARENT_1 - - /obj/item/reagent_containers/dropper/afterattack(obj/target, mob/user , proximity) - if(!proximity) return diff --git a/code/modules/reagents/reagent_containers/glass.dm.rej b/code/modules/reagents/reagent_containers/glass.dm.rej deleted file mode 100644 index fe8fd55da1..0000000000 --- a/code/modules/reagents/reagent_containers/glass.dm.rej +++ /dev/null @@ -1,28 +0,0 @@ -diff a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm (rejected hunks) -@@ -169,7 +169,7 @@ - volume = 100 - amount_per_transfer_from_this = 10 - possible_transfer_amounts = list(5,10,15,20,25,30,50,100) -- flags = OPENCONTAINER -+ flags_1 = OPENCONTAINER_1 - - /obj/item/reagent_containers/glass/beaker/noreact - name = "cryostasis beaker" -@@ -180,7 +180,7 @@ - volume = 50 - amount_per_transfer_from_this = 10 - origin_tech = "materials=2;engineering=3;plasmatech=3" -- flags = OPENCONTAINER -+ flags_1 = OPENCONTAINER_1 - - /obj/item/reagent_containers/glass/beaker/noreact/Initialize() - . = ..() -@@ -196,7 +196,7 @@ - volume = 300 - amount_per_transfer_from_this = 10 - possible_transfer_amounts = list(5,10,15,20,25,30,50,100,300) -- flags = OPENCONTAINER -+ flags_1 = OPENCONTAINER_1 - origin_tech = "bluespace=5;materials=4;plasmatech=4" - - /obj/item/reagent_containers/glass/beaker/cryoxadone diff --git a/code/modules/reagents/reagent_containers/hypospray.dm.rej b/code/modules/reagents/reagent_containers/hypospray.dm.rej deleted file mode 100644 index 03d17d2639..0000000000 --- a/code/modules/reagents/reagent_containers/hypospray.dm.rej +++ /dev/null @@ -1,12 +0,0 @@ -diff a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm (rejected hunks) -@@ -77,8 +77,8 @@ - amount_per_transfer_from_this = 10 - volume = 10 - ignore_flags = 1 //so you can medipen through hardsuits -- container_type = DRAWABLE -- flags = null -+ container_type = DRAWABLE_1 -+ flags_1 = null - list_reagents = list("epinephrine" = 10) - - /obj/item/reagent_containers/hypospray/medipen/attack(mob/M, mob/user) diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index 504fcc079f..9d7579c9dc 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -167,7 +167,7 @@ /obj/item/reagent_containers/spray/pepper name = "pepperspray" desc = "Manufactured by UhangInc, used to blind and down an opponent quickly." - icon = 'icons/obj/weapons.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "pepperspray" item_state = "pepperspray" lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi' diff --git a/code/modules/reagents/reagent_containers/syringes.dm.rej b/code/modules/reagents/reagent_containers/syringes.dm.rej deleted file mode 100644 index d184bef7fb..0000000000 --- a/code/modules/reagents/reagent_containers/syringes.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm (rejected hunks) -@@ -16,7 +16,7 @@ - var/busy = FALSE // needed for delayed drawing of blood - var/proj_piercing = 0 //does it pierce through thick clothes when shot with syringe gun - materials = list(MAT_METAL=10, MAT_GLASS=20) -- container_type = TRANSPARENT -+ container_type = TRANSPARENT_1 - - /obj/item/reagent_containers/syringe/Initialize() - . = ..() diff --git a/code/modules/research/circuitprinter.dm.rej b/code/modules/research/circuitprinter.dm.rej deleted file mode 100644 index 6bd06f6d69..0000000000 --- a/code/modules/research/circuitprinter.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/research/circuitprinter.dm b/code/modules/research/circuitprinter.dm (rejected hunks) -@@ -8,7 +8,7 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis). - name = "circuit imprinter" - desc = "Manufactures circuit boards for the construction of machines." - icon_state = "circuit_imprinter" -- container_type = OPENCONTAINER -+ container_type = OPENCONTAINER_1 - circuit = /obj/item/circuitboard/machine/circuit_imprinter - - var/datum/material_container/materials diff --git a/code/modules/research/protolathe.dm.rej b/code/modules/research/protolathe.dm.rej deleted file mode 100644 index fa39256713..0000000000 --- a/code/modules/research/protolathe.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/research/protolathe.dm b/code/modules/research/protolathe.dm (rejected hunks) -@@ -11,7 +11,7 @@ Note: Must be placed west/left of and R&D console to function. - name = "protolathe" - desc = "Converts raw materials into useful objects." - icon_state = "protolathe" -- container_type = OPENCONTAINER -+ container_type = OPENCONTAINER_1 - circuit = /obj/item/circuitboard/machine/protolathe - - var/datum/material_container/materials diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm index f08828970b..47d6d40901 100644 --- a/code/modules/research/xenobiology/xenobiology.dm +++ b/code/modules/research/xenobiology/xenobiology.dm @@ -563,8 +563,7 @@ /obj/effect/timestop/Initialize() . = ..() - for(var/M in GLOB.player_list) - var/mob/living/L = M + for(var/mob/living/L in GLOB.player_list) if(locate(/obj/effect/proc_holder/spell/aoe_turf/conjure/timestop) in L.mind.spell_list) //People who can stop time are immune to its effects immune += L timestop() diff --git a/code/modules/spells/spell_types/godhand.dm b/code/modules/spells/spell_types/godhand.dm index 5ebcca7549..455f5ef165 100644 --- a/code/modules/spells/spell_types/godhand.dm +++ b/code/modules/spells/spell_types/godhand.dm @@ -4,7 +4,7 @@ var/catchphrase = "High Five!" var/on_use_sound = null var/obj/effect/proc_holder/spell/targeted/touch/attached_spell - icon = 'icons/obj/weapons.dmi' + icon = 'icons/obj/items_and_weapons.dmi' icon_state = "syndballoon" item_state = null flags_1 = ABSTRACT_1 | NODROP_1 | DROPDEL_1 diff --git a/code/modules/spells/spell_types/godhand.dm.rej b/code/modules/spells/spell_types/godhand.dm.rej deleted file mode 100644 index e7d133c6ab..0000000000 --- a/code/modules/spells/spell_types/godhand.dm.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/code/modules/spells/spell_types/godhand.dm b/code/modules/spells/spell_types/godhand.dm (rejected hunks) -@@ -7,7 +7,7 @@ - icon = 'icons/obj/items_and_weapons.dmi' - icon_state = "syndballoon" - item_state = null -- flags = ABSTRACT | NODROP | DROPDEL -+ flags_1 = ABSTRACT_1 | NODROP_1 | DROPDEL_1 - w_class = WEIGHT_CLASS_HUGE - force = 0 - throwforce = 0 diff --git a/code/modules/uplink/uplink_item.dm b/code/modules/uplink/uplink_item.dm index ba1d5c3c40..f957a6bf5d 100644 --- a/code/modules/uplink/uplink_item.dm +++ b/code/modules/uplink/uplink_item.dm @@ -1393,8 +1393,8 @@ GLOBAL_LIST_EMPTY(uplink_items) // Global list so we only initialize this once. if(crate_value < I.cost) continue crate_value -= I.cost - new I.item(C) - U.purchase_log += "[icon2base64html(I.item)]" + var/obj/goods = new I.item(C) + U.purchase_log += "[icon2base64html(goods)]" SSblackbox.add_details("traitor_uplink_items_bought", "[name]|[cost]") return C diff --git a/code/world.dm.rej b/code/world.dm.rej deleted file mode 100644 index e82c17e503..0000000000 --- a/code/world.dm.rej +++ /dev/null @@ -1,301 +0,0 @@ -diff a/code/world.dm b/code/world.dm (rejected hunks) -@@ -10,299 +13,3 @@ - #ifdef GC_FAILURE_HARD_LOOKUP - loop_checks = FALSE - #endif -- --/world/New() -- log_world("World loaded at [time_stamp()]") -- -- SetupExternalRSC() -- -- GLOB.config_error_log = GLOB.world_href_log = GLOB.world_runtime_log = GLOB.world_attack_log = GLOB.world_game_log = file("data/logs/config_error.log") //temporary file used to record errors with loading config, moved to log directory once logging is set bl -- -- make_datum_references_lists() //initialises global lists for referencing frequently used datums (so that we only ever do it once) -- -- config = new -- -- CheckSchemaVersion() -- SetRoundID() -- -- SetupLogs() -- -- if(!RunningService()) //tgs2 support -- GLOB.revdata.DownloadPRDetails() -- -- load_motd() -- load_admins() -- LoadVerbs(/datum/verbs/menu) -- if(config.usewhitelist) -- load_whitelist() -- LoadBans() -- -- GLOB.timezoneOffset = text2num(time2text(0,"hh")) * 36000 -- -- Master.Initialize(10, FALSE) -- -- if(config.irc_announce_new_game) -- IRCBroadcast("New round starting on [SSmapping.config.map_name]!") -- --/world/proc/SetupExternalRSC() --#if (PRELOAD_RSC == 0) -- external_rsc_urls = world.file2list("config/external_rsc_urls.txt","\n") -- var/i=1 -- while(i<=external_rsc_urls.len) -- if(external_rsc_urls[i]) -- i++ -- else -- external_rsc_urls.Cut(i,i+1) --#endif -- --/world/proc/CheckSchemaVersion() -- if(config.sql_enabled) -- if(SSdbcore.Connect()) -- log_world("Database connection established.") -- var/datum/DBQuery/query_db_version = SSdbcore.NewQuery("SELECT major, minor FROM [format_table_name("schema_revision")] ORDER BY date DESC LIMIT 1") -- query_db_version.Execute() -- if(query_db_version.NextRow()) -- var/db_major = text2num(query_db_version.item[1]) -- var/db_minor = text2num(query_db_version.item[2]) -- if(db_major < DB_MAJOR_VERSION || db_minor < DB_MINOR_VERSION) -- message_admins("Database schema ([db_major].[db_minor]) is behind latest schema version ([DB_MAJOR_VERSION].[DB_MINOR_VERSION]), this may lead to undefined behaviour or errors") -- log_sql("Database schema ([db_major].[db_minor]) is behind latest schema version ([DB_MAJOR_VERSION].[DB_MINOR_VERSION]), this may lead to undefined behaviour or errors") -- else -- message_admins("Could not get schema version from database") -- else -- log_world("Your server failed to establish a connection with the database.") -- --/world/proc/SetRoundID() -- if(config.sql_enabled) -- if(SSdbcore.Connect()) -- var/datum/DBQuery/query_round_start = SSdbcore.NewQuery("INSERT INTO [format_table_name("round")] (start_datetime, server_ip, server_port) VALUES (Now(), INET_ATON(IF('[world.internet_address]' LIKE '', '0', '[world.internet_address]')), '[world.port]')") -- query_round_start.Execute() -- var/datum/DBQuery/query_round_last_id = SSdbcore.NewQuery("SELECT LAST_INSERT_ID()") -- query_round_last_id.Execute() -- if(query_round_last_id.NextRow()) -- GLOB.round_id = query_round_last_id.item[1] -- --/world/proc/SetupLogs() -- GLOB.log_directory = "data/logs/[time2text(world.realtime, "YYYY/MM/DD")]/round-" -- if(GLOB.round_id) -- GLOB.log_directory += "[GLOB.round_id]" -- else -- GLOB.log_directory += "[replacetext(time_stamp(), ":", ".")]" -- GLOB.world_game_log = file("[GLOB.log_directory]/game.log") -- GLOB.world_attack_log = file("[GLOB.log_directory]/attack.log") -- GLOB.world_runtime_log = file("[GLOB.log_directory]/runtime.log") -- GLOB.world_href_log = file("[GLOB.log_directory]/hrefs.html") -- GLOB.world_game_log << "\n\nStarting up round ID [GLOB.round_id]. [time_stamp()]\n---------------------" -- GLOB.world_attack_log << "\n\nStarting up round ID [GLOB.round_id]. [time_stamp()]\n---------------------" -- GLOB.world_runtime_log << "\n\nStarting up round ID [GLOB.round_id]. [time_stamp()]\n---------------------" -- GLOB.changelog_hash = md5('html/changelog.html') //used for telling if the changelog has changed recently -- if(fexists(GLOB.config_error_log)) -- fcopy(GLOB.config_error_log, "[GLOB.log_directory]/config_error.log") -- fdel(GLOB.config_error_log) -- -- if(GLOB.round_id) -- log_game("Round ID: [GLOB.round_id]") -- --/world/Topic(T, addr, master, key) -- var/list/input = params2list(T) -- -- var/pinging = ("ping" in input) -- var/playing = ("players" in input) -- -- if(!pinging && !playing && config && config.log_world_topic) -- GLOB.world_game_log << "TOPIC: \"[T]\", from:[addr], master:[master], key:[key]" -- -- if(input[SERVICE_CMD_PARAM_KEY]) -- return ServiceCommand(input) -- var/key_valid = (global.comms_allowed && input["key"] == global.comms_key) -- -- if(pinging) -- var/x = 1 -- for (var/client/C in GLOB.clients) -- x++ -- return x -- -- else if(playing) -- var/n = 0 -- for(var/mob/M in GLOB.player_list) -- if(M.client) -- n++ -- return n -- -- else if("ircstatus" in input) //tgs2 support -- var/static/last_irc_status = 0 -- if(world.time - last_irc_status < 50) -- return -- var/list/adm = get_admin_counts() -- var/list/allmins = adm["total"] -- var/status = "Admins: [allmins.len] (Active: [english_list(adm["present"])] AFK: [english_list(adm["afk"])] Stealth: [english_list(adm["stealth"])] Skipped: [english_list(adm["noflags"])]). " -- status += "Players: [GLOB.clients.len] (Active: [get_active_player_count(0,1,0)]). Mode: [SSticker.mode.name]." -- send2irc("Status", status) -- last_irc_status = world.time -- -- else if("status" in input) -- var/list/s = list() -- s["version"] = GLOB.game_version -- s["mode"] = GLOB.master_mode -- s["respawn"] = config ? GLOB.abandon_allowed : 0 -- s["enter"] = GLOB.enter_allowed -- s["vote"] = config.allow_vote_mode -- s["ai"] = config.allow_ai -- s["host"] = host ? host : null -- s["active_players"] = get_active_player_count() -- s["players"] = GLOB.clients.len -- s["revision"] = GLOB.revdata.commit -- s["revision_date"] = GLOB.revdata.date -- -- var/list/adm = get_admin_counts() -- var/list/presentmins = adm["present"] -- var/list/afkmins = adm["afk"] -- s["admins"] = presentmins.len + afkmins.len //equivalent to the info gotten from adminwho -- s["gamestate"] = SSticker.current_state -- -- s["map_name"] = SSmapping.config.map_name -- -- if(key_valid && SSticker.HasRoundStarted()) -- s["real_mode"] = SSticker.mode.name -- // Key-authed callers may know the truth behind the "secret" -- -- s["security_level"] = get_security_level() -- s["round_duration"] = SSticker ? round((world.time-SSticker.round_start_time)/10) : 0 -- // Amount of world's ticks in seconds, useful for calculating round duration -- -- if(SSshuttle && SSshuttle.emergency) -- s["shuttle_mode"] = SSshuttle.emergency.mode -- // Shuttle status, see /__DEFINES/stat.dm -- s["shuttle_timer"] = SSshuttle.emergency.timeLeft() -- // Shuttle timer, in seconds -- -- return list2params(s) -- -- else if("announce" in input) -- if(!key_valid) -- return "Bad Key" -- else -- AnnouncePR(input["announce"], json_decode(input["payload"])) -- -- else if("crossmessage" in input) -- if(!key_valid) -- return -- else -- if(input["crossmessage"] == "Ahelp") -- relay_msg_admins("HELP: [input["source"]] [input["message_sender"]]: [input["message"]]") -- if(input["crossmessage"] == "Comms_Console") -- minor_announce(input["message"], "Incoming message from [input["message_sender"]]") -- for(var/obj/machinery/computer/communications/CM in GLOB.machines) -- CM.overrideCooldown() -- if(input["crossmessage"] == "News_Report") -- minor_announce(input["message"], "Breaking Update From [input["message_sender"]]") -- -- else if("adminmsg" in input) //tgs2 support -- if(!key_valid) -- return "Bad Key" -- else -- return IrcPm(input["adminmsg"],input["msg"],input["sender"]) -- -- else if("namecheck" in input) //tgs2 support -- if(!key_valid) -- return "Bad Key" -- else -- log_admin("IRC Name Check: [input["sender"]] on [input["namecheck"]]") -- message_admins("IRC name checking on [input["namecheck"]] from [input["sender"]]") -- return keywords_lookup(input["namecheck"],1) -- else if("adminwho" in input) //tgs2 support -- if(!key_valid) -- return "Bad Key" -- else -- return ircadminwho() -- else if("server_hop" in input) -- show_server_hop_transfer_screen(input["server_hop"]) -- --#define PR_ANNOUNCEMENTS_PER_ROUND 5 //The number of unique PR announcements allowed per round -- //This makes sure that a single person can only spam 3 reopens and 3 closes before being ignored -- --/world/proc/AnnouncePR(announcement, list/payload) -- var/static/list/PRcounts = list() //PR id -> number of times announced this round -- var/id = "[payload["pull_request"]["id"]]" -- if(!PRcounts[id]) -- PRcounts[id] = 1 -- else -- ++PRcounts[id] -- if(PRcounts[id] > PR_ANNOUNCEMENTS_PER_ROUND) -- return -- -- var/final_composed = "PR: [announcement]" -- for(var/client/C in GLOB.clients) -- C.AnnouncePR(final_composed) -- --/world/Reboot(reason = 0, fast_track = FALSE) -- ServiceReboot() //handles alternative actions if necessary -- if (reason || fast_track) //special reboot, do none of the normal stuff -- if (usr) -- log_admin("[key_name(usr)] Has requested an immediate world restart via client side debugging tools") -- message_admins("[key_name_admin(usr)] Has requested an immediate world restart via client side debugging tools") -- to_chat(world, "Rebooting World immediately due to host request") -- else -- to_chat(world, "Rebooting world...") -- Master.Shutdown() //run SS shutdowns -- log_world("World rebooted at [time_stamp()]") -- ..() -- --/world/proc/load_motd() -- GLOB.join_motd = file2text("config/motd.txt") + "
" + GLOB.revdata.GetTestMergeInfo() -- --/world/proc/update_status() -- var/s = "" -- -- if (config && config.server_name) -- s += "[config.server_name] — " -- -- s += "[station_name()]"; -- s += " (" -- s += "" //Change this to wherever you want the hub to link to. -- s += "Default" //Replace this with something else. Or ever better, delete it and uncomment the game version. -- s += "" -- s += ")" -- -- var/list/features = list() -- -- if(GLOB.master_mode) -- features += GLOB.master_mode -- -- if (!GLOB.enter_allowed) -- features += "closed" -- -- features += GLOB.abandon_allowed ? "respawn" : "no respawn" -- -- if (config && config.allow_vote_mode) -- features += "vote" -- -- if (config && config.allow_ai) -- features += "AI allowed" -- -- var/n = 0 -- for (var/mob/M in GLOB.player_list) -- if (M.client) -- n++ -- -- if (n > 1) -- features += "~[n] players" -- else if (n > 0) -- features += "~[n] player" -- -- if (!host && config && config.hostedby) -- features += "hosted by [config.hostedby]" -- -- if (features) -- s += ": [jointext(features, ", ")]" -- -- status = s -- --/world/proc/update_hub_visibility(new_visibility) -- if(new_visibility == GLOB.hub_visibility) -- return -- GLOB.hub_visibility = new_visibility -- if(GLOB.hub_visibility) -- hub_password = "kMZy3U5jJHSiBQjr" -- else -- hub_password = "SORRYNOPASSWORD" diff --git a/config/access levels.txt b/config/access levels.txt deleted file mode 100644 index 01977cbff3..0000000000 --- a/config/access levels.txt +++ /dev/null @@ -1,50 +0,0 @@ -HOW TO CONVERT A MAP TO THE NEW (june 2008) ACCESS LEVEL SYSTEM -1. Open the .dmp file up in Notepad -2. Find all the "access = blahblah" attributes of doors. -3. Delete them. -4. Open the map up in Dream Maker. If you didn't get them all, it'll tell you so. -5. Assign the existing doors new access permissions using the method below. - -HOW TO MAKE A MAP USING THE NEW (june 2008) ACCESS LEVEL SYSTEM -1. Make a map as normal -2. Select a door that you want to not be accessible to everybody -3. Right click on it and edit its attributes -4. Make the "req_access_txt" attribute be a semicolon-separated list of the permissions required to open the doors -5. Repeat for all doors. - -For example, a brig door would have it be "2" while a door that requires you have toxins and teleporter access (for whatever reason) would have it be "9;20" - -Here is a list of the permissions and their numbers (this may be out of date, see code/game/access.dm for an updated version): - - access_security = 1 - access_brig = 2 - access_security_lockers = 3 - access_forensics_lockers= 4 - access_security_records = 5 - access_medical_supplies = 6 - access_medical_records = 7 - access_morgue = 8 - access_tox = 9 - access_tox_storage = 10 - access_medlab = 11 - access_engine = 12 - access_eject_engine = 13 - access_maint_tunnels = 14 - access_external_airlocks = 15 - access_emergency_storage = 16 - access_apcs = 17 - access_change_ids = 18 - access_ai_upload = 19 - access_teleporter = 20 - access_eva = 21 - access_heads = 22 - access_captain = 23 - access_all_personal_lockers = 24 - access_chapel_office = 25 - access_tech_storage = 26 - access_atmospherics = 27 - access_bar = 28 - access_janitor = 29 - access_disposal_units = 30 - access_hydroponics = 35 - access_manufacturing = 36 \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-1986.yml b/html/changelogs/AutoChangeLog-pr-1986.yml deleted file mode 100644 index ad49c4159c..0000000000 --- a/html/changelogs/AutoChangeLog-pr-1986.yml +++ /dev/null @@ -1,14 +0,0 @@ -author: "XDTM" -delete-after: True -changes: - - experiment: "Viruses and symptoms have been havily reworked." - - rscadd: "Symptoms now have statistic thresholds, that give them new properties or improve their existing ones if the overall virus statistic is above the threshold. Check the pull request in github or the wiki (soon) for the full list." - - rscdel: "Some symptoms no longer scale linearly with stats, and instead have thresholds." - - tweak: "The symptom limit is now 6." - - rscdel: "Viruses can no longer be made invisible to the Pandemic" - - tweak: "Symptoms no longer trigger with a 5% chance every second, but instead have a minimum and maximum number of seconds between each activation, making them more consistent." - - rscdel: "The symptoms Blood Vomit and Projectile Vomit have been removed, and are now bonuses for the base Vomit symptom." - - rscdel: "The Weakness symptom has been removed as it was completely useless." - - tweak: "The Sensory Destruction symptom has been reworked into Narcolepsy, which causes drowsiness and sleep." - - tweak: "Viral Aggressive Metabolism now has a timer before it starts decaying the virus. It scales with the highest between Resistance or Stage Speed." - - rscadd: "You can now neuter symptoms, making them inactive. They will still affect stats. Adding formaldehyde to a virus will neuter a random symptom. A bottle of formaldehyde starts in the virus fridge." diff --git a/html/changelogs/AutoChangeLog-pr-1999.yml b/html/changelogs/AutoChangeLog-pr-1999.yml deleted file mode 100644 index b2d382d973..0000000000 --- a/html/changelogs/AutoChangeLog-pr-1999.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - rscadd: "Re-added cortical borers and syndi-borers, though NOT the cortical borer random event." - - bugfix: "Fixed traitors being able to spam the syndi-borer summon, which annoyed ghosts." - - imageadd: "Added borer icons to their own dmi instead of sharing the animal mob one." diff --git a/html/changelogs/AutoChangeLog-pr-2000.yml b/html/changelogs/AutoChangeLog-pr-2000.yml deleted file mode 100644 index b9b6702370..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2000.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Fox McCloud" -delete-after: True -changes: - - bugfix: "Fixes IV drips not properly injecting the right amount of blood" diff --git a/html/changelogs/AutoChangeLog-pr-2005.yml b/html/changelogs/AutoChangeLog-pr-2005.yml deleted file mode 100644 index 94226dda9d..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2005.yml +++ /dev/null @@ -1,8 +0,0 @@ -author: "Tacolizard and Cyberboss" -delete-after: True -changes: - - rscadd: "Added two new organs, the liver and stomach. Without them, you won't metabolize chemicals." - - rscadd: "The liver is responsible for processing all chemicals except nutrients. If your liver is removed, you will be unable to metabolize any drugs and will slowly die of toxin damage." - - rscadd: "Drinking too much alcohol or having too many toxins in you will damage your liver, if it becomes too damaged, it will undergo liver failure and you will slowly die of toxin damage. Your liver naturally heals a small amount of its damage. However, it doesn't heal enough to offset stronger alcohols or large amounts of toxins, at least until they are metabolized out of your body." - - rscadd: "to conduct a liver transplant, inject corazone into the patient. Corazone will prevent the patient from taking damage due to either not having a liver or undergoing liver failure. Corazone will metabolize out of the patient quickly, so at least 50u is recommended." - - rscadd: "The stomach is responsible for metabolizing nutrients. Without a stomach, you will be unable to get fat, but you will also be unable to process any nutrients, meaning you will eventually starve to death." diff --git a/html/changelogs/AutoChangeLog-pr-2008.yml b/html/changelogs/AutoChangeLog-pr-2008.yml deleted file mode 100644 index 3a32554dac..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2008.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Raeschen" -delete-after: True -changes: - - tweak: "Changed the avian say prefix of \"says\" to \"chirps\"" diff --git a/html/changelogs/AutoChangeLog-pr-2010.yml b/html/changelogs/AutoChangeLog-pr-2010.yml deleted file mode 100644 index 811519bc50..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2010.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "NewSta" -delete-after: True -changes: - - bugfix: "Fixes the maid apron being invisible when in-hand or attached to the maid outfit." diff --git a/html/changelogs/AutoChangeLog-pr-2015.yml b/html/changelogs/AutoChangeLog-pr-2015.yml deleted file mode 100644 index f91f0d144a..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2015.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Icons" -delete-after: True -changes: - - rscadd: "new hunter hat" - - imageadd: "changed PDA sprites" diff --git a/html/changelogs/AutoChangeLog-pr-2019.yml b/html/changelogs/AutoChangeLog-pr-2019.yml deleted file mode 100644 index e9c0ee56ff..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2019.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - bugfix: "Time stop is now fixed, finally!" - - soundadd: "Time stop's sound now plays in reverse when the effect ends." diff --git a/html/changelogs/AutoChangeLog-pr-2020.yml b/html/changelogs/AutoChangeLog-pr-2020.yml deleted file mode 100644 index 9615854516..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2020.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Joan" -delete-after: True -changes: - - rscdel: "Removed the Soul Vessel, Cogscarab, and Anima Fragment Scriptures." diff --git a/html/changelogs/AutoChangeLog-pr-2021.yml b/html/changelogs/AutoChangeLog-pr-2021.yml deleted file mode 100644 index 346e10f872..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2021.yml +++ /dev/null @@ -1,9 +0,0 @@ -author: "Fox McCloud" -delete-after: True -changes: - - rscdel: "blood and gibs on turfs can no longer infect nearby people" - - tweak: "Tuberculosis bypasses species virus immunity (it's not a virus!)" - - tweak: "Disease and appendicitis events no longer infect clientless mobs" - - tweak: "Disease event will no longer pick virus immune mobs" - - tweak: "Appendicitis event will no longer pick mobs without an appendix" - - bugfix: "Fixed changeling panacea curing non-harmful viruses" diff --git a/html/changelogs/AutoChangeLog-pr-2027.yml b/html/changelogs/AutoChangeLog-pr-2027.yml deleted file mode 100644 index 0a54d8afb5..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2027.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - tweak: "Enabled random borer event, increased minimum timer before borer event can happen, decreased possibility of borer event, down to default value, increased minimum living, non-AFK players required for event to happen." diff --git a/html/changelogs/AutoChangeLog-pr-2028.yml b/html/changelogs/AutoChangeLog-pr-2028.yml deleted file mode 100644 index 034de7f77f..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2028.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "deathride58" -delete-after: True -changes: - - tweak: "The arousal meter is now invisible when arousal is disabled" diff --git a/html/changelogs/AutoChangeLog-pr-2031.yml b/html/changelogs/AutoChangeLog-pr-2031.yml deleted file mode 100644 index 6d46ce6102..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2031.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - bugfix: "Missiles can no longer ricochet off of shuttle walls, etc." diff --git a/html/changelogs/AutoChangeLog-pr-2040.yml b/html/changelogs/AutoChangeLog-pr-2040.yml deleted file mode 100644 index 79dbec26db..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2040.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ninjanomnom" -delete-after: True -changes: - - experiment: "Thank you for updating your ShuttlSoft product! Your last update was -ERROR- years ago. A full changelog can be found at CYG10408.SHSO.b9 along with the EULA. This update lays a foundation for new things to come and a sample in the form of new and improved docking procedures." diff --git a/html/changelogs/AutoChangeLog-pr-2043.yml b/html/changelogs/AutoChangeLog-pr-2043.yml deleted file mode 100644 index 5103382514..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2043.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - bugfix: "Winter coats now hold all flashlights properly, instead of seclites." diff --git a/html/changelogs/AutoChangeLog-pr-2047.yml b/html/changelogs/AutoChangeLog-pr-2047.yml deleted file mode 100644 index 0a819f5319..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2047.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Joan" -delete-after: True -changes: - - bugfix: "The Ark of the Clockwork Justicar will still forcibly take up a 3x3 area even if it still needs components to activate." diff --git a/html/changelogs/AutoChangeLog-pr-2051.yml b/html/changelogs/AutoChangeLog-pr-2051.yml deleted file mode 100644 index 65347e20a9..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2051.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - rscadd: "Borers can now inject aphrodisiac and anaphrodisiac." - - tweak: "Borer chemicals now sends flavour text to host when injected into them." diff --git a/html/changelogs/AutoChangeLog-pr-2052.yml b/html/changelogs/AutoChangeLog-pr-2052.yml deleted file mode 100644 index 802b5aca94..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2052.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "LetterJay" -delete-after: True -changes: - - imagedel: "Removes the 'yiff in hell' graffiti tag" diff --git a/html/changelogs/AutoChangeLog-pr-2054.yml b/html/changelogs/AutoChangeLog-pr-2054.yml deleted file mode 100644 index 79c1892cf6..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2054.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Dannno/Supermichael777/InsaneHyena" -delete-after: True -changes: - - rscadd: "You can now pick from a few different styles when augmenting someone with robot parts by putting them in the augment manipulator. Alt+click to take parts out." diff --git a/html/changelogs/AutoChangeLog-pr-2057.yml b/html/changelogs/AutoChangeLog-pr-2057.yml deleted file mode 100644 index 357a302f84..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2057.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "CitadelStationBot" -delete-after: True -changes: - - bugfix: "Fixed the refresher variant of the anomalous crystal making holodeck items real" diff --git a/html/changelogs/AutoChangeLog-pr-2065.yml b/html/changelogs/AutoChangeLog-pr-2065.yml deleted file mode 100644 index 0e2c4e9e65..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2065.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "Fox McCloud" -delete-after: True -changes: - - tweak: "breathing plasma now causes direct tox damage" - - tweak: "breathing hot/cold air now warns you when you're doing so, again" - - tweak: "species heat/cold mod now impacts damage from breathing hot/cold gases" diff --git a/html/changelogs/AutoChangeLog-pr-2068.yml b/html/changelogs/AutoChangeLog-pr-2068.yml deleted file mode 100644 index 7f2b8243e7..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2068.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - bugfix: "Cyborgs now regenerate oxygen damage." - - bugfix: "If a cyborg somehow takes toxin damage, it can be healed with cables as though it was burn damage." diff --git a/html/changelogs/AutoChangeLog-pr-2069.yml b/html/changelogs/AutoChangeLog-pr-2069.yml deleted file mode 100644 index 124ecc2a87..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2069.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - spellcheck: "Picking up ores by walking over them now longer spams messages, instead showing one message per tile of ore picked up." diff --git a/html/changelogs/AutoChangeLog-pr-2073.yml b/html/changelogs/AutoChangeLog-pr-2073.yml deleted file mode 100644 index 11f89f7421..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2073.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis & MoreRobustThanYou" -delete-after: True -changes: - - imageadd: "Toolbelts now have overlays for crowbars, wirecutters, screwdrivers, multitools, and wrenches." diff --git a/html/changelogs/AutoChangeLog-pr-2075.yml b/html/changelogs/AutoChangeLog-pr-2075.yml deleted file mode 100644 index 9ab87e9f66..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2075.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - bugfix: "Hijacking should now be possible again!" diff --git a/html/changelogs/AutoChangeLog-pr-2083.yml b/html/changelogs/AutoChangeLog-pr-2083.yml deleted file mode 100644 index 76f5b83aef..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2083.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "CitadelStationBot" -delete-after: True -changes: - - bugfix: "delayed chloral hydrate actually works now." diff --git a/html/changelogs/AutoChangeLog-pr-2085.yml b/html/changelogs/AutoChangeLog-pr-2085.yml deleted file mode 100644 index 5ff1020c4c..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2085.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - tweak: "Re-enabled the custom emote for slimes." diff --git a/html/changelogs/AutoChangeLog-pr-2086.yml b/html/changelogs/AutoChangeLog-pr-2086.yml deleted file mode 100644 index 6511bed053..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2086.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Joan" -delete-after: True -changes: - - tweak: "The blood-drunk miner will fire its KA a bit more often." diff --git a/html/changelogs/AutoChangeLog-pr-2088.yml b/html/changelogs/AutoChangeLog-pr-2088.yml deleted file mode 100644 index bc5d102b8c..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2088.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "HAL 9000" -delete-after: True -changes: - - bugfix: "I'm sorry Dave, I'm afraid I can't do that" diff --git a/html/changelogs/AutoChangeLog-pr-2090.yml b/html/changelogs/AutoChangeLog-pr-2090.yml deleted file mode 100644 index be21f5c4d0..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2090.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Jay" -delete-after: True -changes: - - imageadd: "New PDA icons" - - bugfix: "fixes missing icons for PDAs" diff --git a/html/changelogs/AutoChangeLog-pr-2091.yml b/html/changelogs/AutoChangeLog-pr-2091.yml deleted file mode 100644 index b2078a5377..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2091.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - bugfix: "Reviving Stasis now consistently regenerates organs." diff --git a/html/changelogs/AutoChangeLog-pr-2093.yml b/html/changelogs/AutoChangeLog-pr-2093.yml deleted file mode 100644 index d7b4af9427..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2093.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - bugfix: "Mining satchels no longer hold infinite amounts of ore." diff --git a/html/changelogs/AutoChangeLog-pr-2094.yml b/html/changelogs/AutoChangeLog-pr-2094.yml deleted file mode 100644 index e74ec9d15f..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2094.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "BeeSting12" -delete-after: True -changes: - - rscdel: "Water bottles from the sustenance vendor are gone. Wait for the ice in the ice cups melt, criminal scum." - - rscdel: "There is no longer a sink in gulag. Hygiene is for the moral members of society." diff --git a/html/changelogs/AutoChangeLog-pr-2098.yml b/html/changelogs/AutoChangeLog-pr-2098.yml deleted file mode 100644 index a1c9c0326c..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2098.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "JStheguy" -delete-after: True -changes: - - imageadd: "Resprited the tablet, including completely redone screen sprites." - - rscadd: "Tablets can now come spawn in one of 5 colors; red, green, yellow, blue, and black." diff --git a/html/changelogs/AutoChangeLog-pr-2099.yml b/html/changelogs/AutoChangeLog-pr-2099.yml deleted file mode 100644 index d44b06e41d..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2099.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - bugfix: "Medibots now properly render the overlays of the medkits they are made from." diff --git a/html/changelogs/AutoChangeLog-pr-2101.yml b/html/changelogs/AutoChangeLog-pr-2101.yml deleted file mode 100644 index 8be6bd4e31..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2101.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Joan" -delete-after: True -changes: - - tweak: "The Hierophant will now release a burst when melee attacking instead of actually hitting its target." - - bugfix: "The Hierophant Club's blasts will now properly aggro hostile mobs." diff --git a/html/changelogs/AutoChangeLog-pr-2106.yml b/html/changelogs/AutoChangeLog-pr-2106.yml deleted file mode 100644 index 27356cd378..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2106.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - tweak: "Increased minimum timer for xenomorph event from 20 to 40min. Also increased minimum living, non-afk players required from 10 to 20." diff --git a/html/changelogs/AutoChangeLog-pr-2110.yml b/html/changelogs/AutoChangeLog-pr-2110.yml deleted file mode 100644 index 14534a7ed6..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2110.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - bugfix: "The latest batch of Syndicate screwdrivers fell into a vat of paint and were colored randomly. We have rinsed them off and they will no longer come in random colors." diff --git a/html/changelogs/AutoChangeLog-pr-2111.yml b/html/changelogs/AutoChangeLog-pr-2111.yml deleted file mode 100644 index e8fd2920c7..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2111.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - rscadd: "Pizza box stacks can now fall over" - - imageadd: "Pizza box inhands now stacks depending on how many you're holding." diff --git a/html/changelogs/AutoChangeLog-pr-2115.yml b/html/changelogs/AutoChangeLog-pr-2115.yml deleted file mode 100644 index b43817a7cf..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2115.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - bugfix: "Supermatter slivers can now be stolen properly." diff --git a/html/changelogs/AutoChangeLog-pr-2119.yml b/html/changelogs/AutoChangeLog-pr-2119.yml deleted file mode 100644 index 6a412027d6..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2119.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - tweak: "You can now control-click action buttons to lock them and prevent them from being moved. Alt-clicking the \"Show/Hide Actions\" button will unlock all buttons." - - tweak: "There is now a preference for if buttons should be locked by default or not." diff --git a/html/changelogs/AutoChangeLog-pr-2120.yml b/html/changelogs/AutoChangeLog-pr-2120.yml deleted file mode 100644 index 197c992c6f..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2120.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "bandit" -delete-after: True -changes: - - rscadd: "New Cards against Spess cards are available!" diff --git a/html/changelogs/AutoChangeLog-pr-2130.yml b/html/changelogs/AutoChangeLog-pr-2130.yml deleted file mode 100644 index c464b9214b..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2130.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Y0SH1_M4S73R" -delete-after: True -changes: - - bugfix: "Romerol zombies count as dead for assassinate and maroon objectives." diff --git a/html/changelogs/AutoChangeLog-pr-2131.yml b/html/changelogs/AutoChangeLog-pr-2131.yml deleted file mode 100644 index b9076f4a4a..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2131.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - tweak: "Whenever you're trying to hack off your own limbs, you'll now always hit those limbs." diff --git a/html/changelogs/AutoChangeLog-pr-2132.yml b/html/changelogs/AutoChangeLog-pr-2132.yml deleted file mode 100644 index d788f4bee1..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2132.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "PopNotes" -delete-after: True -changes: - - soundadd: "Nar-Sie now sounds like an eldritch abomination that obliterates worlds instead of a sweet maiden that gently whispers sweet nothings in your ear." diff --git a/html/changelogs/AutoChangeLog-pr-2133.yml b/html/changelogs/AutoChangeLog-pr-2133.yml deleted file mode 100644 index a3df9c0374..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2133.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - bugfix: "The Subtle emote now properly cancels empty or cancelled emotes." diff --git a/html/changelogs/AutoChangeLog-pr-2134.yml b/html/changelogs/AutoChangeLog-pr-2134.yml deleted file mode 100644 index f16e873b5a..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2134.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - tweak: "Rejoice deviants all over, as semen and other such... fluids now have a taste beyond \"Generic Food\"!" diff --git a/html/changelogs/AutoChangeLog-pr-2135.yml b/html/changelogs/AutoChangeLog-pr-2135.yml deleted file mode 100644 index 59b11f3982..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2135.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Tacolizard" -delete-after: True -changes: - - rscadd: "Added cybernetic organs to RnD, they can be used to replace organic organs. Remember to administer corazone during implantation though!" - - rscadd: "Added the upgraded cybernetic liver. It is exceptionally robust against toxins and alcohol poisoning." diff --git a/html/changelogs/AutoChangeLog-pr-2139.yml b/html/changelogs/AutoChangeLog-pr-2139.yml deleted file mode 100644 index d3136b9b6f..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2139.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Raeschen" -delete-after: True -changes: - - rscadd: "Added goodbyemoonmen.ogg to /strings/round_start_sounds.txt" - - soundadd: "Added sound/music/goodbyemoonmen.ogg" diff --git a/html/changelogs/AutoChangeLog-pr-2140.yml b/html/changelogs/AutoChangeLog-pr-2140.yml deleted file mode 100644 index eefbf05f4b..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2140.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - rscadd: "A new objective is now available for traitors, where their target to assassinate has not yet arrived at the station." - - bugfix: "Random objective target that used to not be random now is." diff --git a/html/changelogs/AutoChangeLog-pr-2142.yml b/html/changelogs/AutoChangeLog-pr-2142.yml deleted file mode 100644 index 79aed9e920..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2142.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - bugfix: "Guns like sniper rifles now unzoom if you unequip them or move them to another hand." diff --git a/html/changelogs/AutoChangeLog-pr-2143.yml b/html/changelogs/AutoChangeLog-pr-2143.yml deleted file mode 100644 index ca4975e073..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2143.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Joan" -delete-after: True -changes: - - tweak: "Lava rivers though the ash walker nest are now significantly less of a hassle for the ashwalkers." diff --git a/html/changelogs/AutoChangeLog-pr-2145.yml b/html/changelogs/AutoChangeLog-pr-2145.yml deleted file mode 100644 index e55ff2fbb5..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2145.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "BeeSting12" -delete-after: True -changes: - - tweak: "Janitor and service cyborgs now get pocket fire extinguishers for fire suppression and space propulsion." diff --git a/html/changelogs/AutoChangeLog-pr-2147.yml b/html/changelogs/AutoChangeLog-pr-2147.yml deleted file mode 100644 index 2f712f1b5b..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2147.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "optional name here" -delete-after: True -changes: - - imageadd: "Updated PDA Icons as well as fix the missing ones/incorrectly used ones. (Art by Cecily & Toriate)" diff --git a/html/changelogs/AutoChangeLog-pr-2151.yml b/html/changelogs/AutoChangeLog-pr-2151.yml deleted file mode 100644 index 75db215b0c..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2151.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "CitadelStationBot" -delete-after: True -changes: - - bugfix: "Informs a person about how bomb cores work" diff --git a/html/changelogs/AutoChangeLog-pr-2154.yml b/html/changelogs/AutoChangeLog-pr-2154.yml deleted file mode 100644 index bb61e5cf17..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2154.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "JStheguy" -delete-after: True -changes: - - imageadd: "Most alcohol bottles have been resprited, as well as a poster that used one of the current bottles as part of it's design." diff --git a/html/changelogs/AutoChangeLog-pr-2161.yml b/html/changelogs/AutoChangeLog-pr-2161.yml deleted file mode 100644 index 2a65d07cc2..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2161.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "BeeSting12" -delete-after: True -changes: - - bugfix: "Crafting satchels from leather now makes a leather satchel rather than a regular satchel." diff --git a/html/changelogs/AutoChangeLog-pr-2162.yml b/html/changelogs/AutoChangeLog-pr-2162.yml deleted file mode 100644 index ce63047823..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2162.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "More Robust Than You" -delete-after: True -changes: - - rscadd: "Nanotrasen has begun production of the Rapid Cable Layer, a tool that helps you lay down cables faster" - - rscadd: "You can now craft ghetto RCLs with metal, a screwdriver, welder, and wrench. They hold less cable, and may fall apart or jam!" diff --git a/html/changelogs/AutoChangeLog-pr-2167.yml b/html/changelogs/AutoChangeLog-pr-2167.yml deleted file mode 100644 index 6052615429..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2167.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - bugfix: "Ashstorms no longer pierces the protected people to kill anyone/anything in them." diff --git a/html/changelogs/AutoChangeLog-pr-2168.yml b/html/changelogs/AutoChangeLog-pr-2168.yml deleted file mode 100644 index 90eb00b416..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2168.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "ShizCalev" -delete-after: True -changes: - - bugfix: "Robust coffee is now even more robust! No longer will you be drinking frozen hot coffee!" - - bugfix: "Clockwork covenants and Ratvar will no longer go invisible by releasing a canister of freon!" - - bugfix: "Ratvar's summoning portal will no longer be permanently broken by freon." diff --git a/html/changelogs/AutoChangeLog-pr-2169.yml b/html/changelogs/AutoChangeLog-pr-2169.yml deleted file mode 100644 index 1ec1927950..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2169.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "FuryMcFlurry" -delete-after: True -changes: - - rscadd: "Added mummy, scarecrow, skeleton, and jester costumes. They don't spawn on the map yet, so make sure to beg the admins for them!" diff --git a/html/changelogs/AutoChangeLog-pr-2170.yml b/html/changelogs/AutoChangeLog-pr-2170.yml deleted file mode 100644 index baa827e813..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2170.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Fox McCloud" -delete-after: True -changes: - - rscadd: "Sound should carry further, but should get quieter and quieter the further you are from it" diff --git a/html/changelogs/AutoChangeLog-pr-2172.yml b/html/changelogs/AutoChangeLog-pr-2172.yml deleted file mode 100644 index e11cce9cef..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2172.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "CitadelStationBot" -delete-after: True -changes: - - rscadd: "Badmins: Buildmode map generators have names in the list to select them, instead of paths." - - rscadd: "Also, a new map generator has been added, repair/reload station. Use it VERY sparingly, it deletes the block of the map and reloads it to roundstart. THIS CAN CAUSE ISSUES WITH MACHINES AND ATMOSPHERICS, SO DO NOT USE IT UNLESS YOU ABSOLUTELY HAVE TO!" - - experiment: "The reload station one tagged DO NOT USE shouldn't be used as it doesn't delete anything before loading, so if you use it you'll have two copies of things. That can result in a LOT of issues, so don't use it unless you're a codermin and know what you're doing/abusing!" diff --git a/html/changelogs/AutoChangeLog-pr-2173.yml b/html/changelogs/AutoChangeLog-pr-2173.yml deleted file mode 100644 index efceb122be..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2173.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "Joan" -delete-after: True -changes: - - tweak: "Sigils of Transmission can now drain power in a large area when activated by a Servant." - - rscdel: "Interdiction Lenses have been removed, as they were largely only used to drain power into Sigils of Transmission. -balance: Sigils can no longer directly be removed by Servants." diff --git a/html/changelogs/AutoChangeLog-pr-2180.yml b/html/changelogs/AutoChangeLog-pr-2180.yml deleted file mode 100644 index 3bb825e80e..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2180.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - bugfix: "Stun baton overlays now appear on security belts when active." diff --git a/html/changelogs/AutoChangeLog-pr-2184.yml b/html/changelogs/AutoChangeLog-pr-2184.yml deleted file mode 100644 index a98deab3b8..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2184.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - bugfix: "Syringes now properly inject targets wearing thick clothing on different slots." diff --git a/html/changelogs/AutoChangeLog-pr-2186.yml b/html/changelogs/AutoChangeLog-pr-2186.yml deleted file mode 100644 index 43bb2fef87..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2186.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - spellcheck: "Player-controlled medibots now receive a notice whenever they try to heal someone with too high health." diff --git a/html/changelogs/AutoChangeLog-pr-2189.yml b/html/changelogs/AutoChangeLog-pr-2189.yml deleted file mode 100644 index 2bdbc7d471..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2189.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Raeschen" -delete-after: True -changes: - - rscdel: "Removed a whole bunch of hivebots." - - rscadd: "Added stronger hivebots." diff --git a/html/changelogs/AutoChangeLog-pr-2190.yml b/html/changelogs/AutoChangeLog-pr-2190.yml deleted file mode 100644 index 901dde7c7b..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2190.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "XDTM" -delete-after: True -changes: - - bugfix: "Eyes can now be properly damaged." diff --git a/html/changelogs/AutoChangeLog-pr-2193.yml b/html/changelogs/AutoChangeLog-pr-2193.yml deleted file mode 100644 index 46988eaee1..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2193.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - spellcheck: "Removed an improper period from the supermatter sliver theft objective's name." diff --git a/html/changelogs/AutoChangeLog-pr-2196.yml b/html/changelogs/AutoChangeLog-pr-2196.yml deleted file mode 100644 index 736d98cb66..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2196.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Joan" -delete-after: True -changes: - - tweak: "Colossus's shotgun is now a static-spread blast of 6 bolts, making it more predictable." diff --git a/html/changelogs/AutoChangeLog-pr-2197.yml b/html/changelogs/AutoChangeLog-pr-2197.yml deleted file mode 100644 index 6d4e8f4089..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2197.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "CitadelStationBot" -delete-after: True -changes: - - rscadd: "Surgical toolarm to protolathe and exofab" - - tweak: "Toolarm tools are less robust but more efficient at surgery" - - tweak: "Arm augments are no longer a huge item" diff --git a/html/changelogs/AutoChangeLog-pr-2209.yml b/html/changelogs/AutoChangeLog-pr-2209.yml deleted file mode 100644 index c65bfd79cc..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2209.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - tweak: "Changed how borers win-conditions are displayed. Syndicate borers are now listed with other cortical borers, as they can count for their team-objective even if they don't share it." diff --git a/html/changelogs/AutoChangeLog-pr-2211.yml b/html/changelogs/AutoChangeLog-pr-2211.yml deleted file mode 100644 index 9852662933..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2211.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - rscadd: "Borers of all kinds now have a HUD element to see other sentient borers and their hosts. (Hosts cannot see this HUD)" diff --git a/html/changelogs/AutoChangeLog-pr-2215.yml b/html/changelogs/AutoChangeLog-pr-2215.yml deleted file mode 100644 index f02f2d33cf..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2215.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Xhuis and oranges" -delete-after: True -changes: - - bugfix: "Banana cream pies no longer splat when they're caught by someone." - - soundadd: "Throwing a pie in someone's face now has a splat sound." diff --git a/html/changelogs/AutoChangeLog-pr-2231.yml b/html/changelogs/AutoChangeLog-pr-2231.yml deleted file mode 100644 index c25b4b2b49..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2231.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - tweak: "Spell action buttons now have their description in a tooltip." diff --git a/html/changelogs/AutoChangeLog-pr-2232.yml b/html/changelogs/AutoChangeLog-pr-2232.yml deleted file mode 100644 index 8d82c65d9f..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2232.yml +++ /dev/null @@ -1,8 +0,0 @@ -author: "Floyd (and sprites by Maya from Yogstation13)" -delete-after: True -changes: - - rscadd: "Makes rat edible. Only lizards really enjoy eating them, though." - - rscadd: "Adds food types to all food, which means you can no longer eat whatever the hell you want." - - rscadd: "Adds a disgust system, currently only used with food." - - rscadd: "Pukonium, makes whoever it is injected to disgusted." - - rscadd: "Makes pod people vegan, or well, carnivores. It depends on how you look at it, really." diff --git a/html/changelogs/AutoChangeLog-pr-2233.yml b/html/changelogs/AutoChangeLog-pr-2233.yml deleted file mode 100644 index 4a8109664b..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2233.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "CitadelStationBot" -delete-after: True -changes: - - rscadd: "Adds the \"seedling\" planetstation mob to the backend" diff --git a/html/changelogs/AutoChangeLog-pr-2242.yml b/html/changelogs/AutoChangeLog-pr-2242.yml deleted file mode 100644 index 69b47043d3..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2242.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - bugfix: "Cloning and podding people no longer forgets to put the genitals back in you." - - bugfix: "Changeling and other DNA transformations now apply the appropriate genitalia." diff --git a/html/changelogs/AutoChangeLog-pr-2245.yml b/html/changelogs/AutoChangeLog-pr-2245.yml deleted file mode 100644 index 3f19f56d03..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2245.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Galactic Corgi Breeding Mills, LLC" -delete-after: True -changes: - - bugfix: "Fixed corgis being able to wear spacesuit helmets despite lacking the proper code and sprites for them." diff --git a/html/changelogs/AutoChangeLog-pr-2249.yml b/html/changelogs/AutoChangeLog-pr-2249.yml deleted file mode 100644 index 4cc75881bc..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2249.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - bugfix: "Alien hunters can no longer pounce through shields." diff --git a/html/changelogs/AutoChangeLog-pr-2253.yml b/html/changelogs/AutoChangeLog-pr-2253.yml deleted file mode 100644 index 142950f442..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2253.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Floyd" -delete-after: True -changes: - - bugfix: "No longer does everyone look like a sick, nauseated weirdo!" diff --git a/html/changelogs/AutoChangeLog-pr-2266.yml b/html/changelogs/AutoChangeLog-pr-2266.yml deleted file mode 100644 index 2a02edfb87..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2266.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - bugfix: "Objects on shuttles now rotate in the correct directions." diff --git a/html/changelogs/AutoChangeLog-pr-2274.yml b/html/changelogs/AutoChangeLog-pr-2274.yml deleted file mode 100644 index ef5c537edd..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2274.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Lexorion" -delete-after: True -changes: - - imageadd: "Hearty Punch has a new, fancier sprite." diff --git a/html/changelogs/AutoChangeLog-pr-2278.yml b/html/changelogs/AutoChangeLog-pr-2278.yml deleted file mode 100644 index 111ae24812..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2278.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "CitadelStationBot" -delete-after: True -changes: - - bugfix: "Fixed hair sticking through headgear." diff --git a/html/changelogs/AutoChangeLog-pr-2281.yml b/html/changelogs/AutoChangeLog-pr-2281.yml deleted file mode 100644 index 189f18a117..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2281.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - bugfix: "Character preview now displays genitals again." diff --git a/html/changelogs/AutoChangeLog-pr-2287.yml b/html/changelogs/AutoChangeLog-pr-2287.yml deleted file mode 100644 index d6b77f9436..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2287.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - bugfix: "Turning off APCs will no longer make the weather in that area invisible." diff --git a/html/changelogs/AutoChangeLog-pr-2291.yml b/html/changelogs/AutoChangeLog-pr-2291.yml deleted file mode 100644 index 4b87a21dfd..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2291.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - soundadd: "The speakers in the ceiling have been upgraded, and many sounds are now less tinny." diff --git a/html/changelogs/AutoChangeLog-pr-2295.yml b/html/changelogs/AutoChangeLog-pr-2295.yml deleted file mode 100644 index c34d19ac6f..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2295.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "More Robust Than You" -delete-after: True -changes: - - tweak: "Mulligan and non-continuous completion checks will not consider afk/logged out people to be \"living crew\"." diff --git a/html/changelogs/AutoChangeLog-pr-2298.yml b/html/changelogs/AutoChangeLog-pr-2298.yml deleted file mode 100644 index 3d12cf9dee..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2298.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - bugfix: "Preys being digested now get their digestion message" diff --git a/html/changelogs/AutoChangeLog-pr-2299.yml b/html/changelogs/AutoChangeLog-pr-2299.yml deleted file mode 100644 index 7f5e8730dc..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2299.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "JStheguy" -delete-after: True -changes: - - imageadd: "Laptops now have actual sprites for using the supermatter monitoring instead of defaulting to a generic one." diff --git a/html/changelogs/AutoChangeLog-pr-2301.yml b/html/changelogs/AutoChangeLog-pr-2301.yml deleted file mode 100644 index 2924b5a5ad..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2301.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "LetterJay" -delete-after: True -changes: - - rscadd: "Adds bear ears and bear tails (Sprites courtesy of LizziePup)" diff --git a/html/changelogs/AutoChangeLog-pr-2305.yml b/html/changelogs/AutoChangeLog-pr-2305.yml deleted file mode 100644 index fbd7208358..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2305.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Joan" -delete-after: True -changes: - - imageadd: "Belligerent now has a visible indicator over the caster." diff --git a/html/changelogs/AutoChangeLog-pr-2308.yml b/html/changelogs/AutoChangeLog-pr-2308.yml deleted file mode 100644 index 1d367c4d84..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2308.yml +++ /dev/null @@ -1,7 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - rscadd: "Penises can now climax inside someone instead of only be used for masturbating. Use passive grab to be able to spill on the floor, aggressive or higher grab to not spill a drop." - - rscadd: "Hexacrocin and hexacamphor now adjusts your arousal up respectively down when overdosed. Hexacrocin overdoses can force orgasms at high arousal." - - bugfix: "Penises can now be used for masturbation without containers again." - - bugfix: "Citadel chems now sends you feedback messages properly when in effect." diff --git a/html/changelogs/AutoChangeLog-pr-2309.yml b/html/changelogs/AutoChangeLog-pr-2309.yml deleted file mode 100644 index 89ceed6223..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2309.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - bugfix: "Cloner and other mind-transfer things now respect client arousal settings." diff --git a/html/changelogs/AutoChangeLog-pr-2319.yml b/html/changelogs/AutoChangeLog-pr-2319.yml deleted file mode 100644 index 4ca8998875..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2319.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - bugfix: "Swarmer shells now have ghost notifications again." diff --git a/html/changelogs/AutoChangeLog-pr-2320.yml b/html/changelogs/AutoChangeLog-pr-2320.yml deleted file mode 100644 index 695f23e7de..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2320.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "LetterJay" -delete-after: True -changes: - - tweak: "Adds the option for bear ears and tails for humans as well." diff --git a/html/changelogs/AutoChangeLog-pr-2325.yml b/html/changelogs/AutoChangeLog-pr-2325.yml deleted file mode 100644 index 5ad1b25324..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2325.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "Pubby" -delete-after: True -changes: - - rscadd: "The Curator job is now available on PubbyStation" - - rscadd: "Beekeeping has been added to PubbyStation's monastery" - - tweak: "PubbyStation's bar has been rearranged" diff --git a/html/changelogs/AutoChangeLog-pr-2329.yml b/html/changelogs/AutoChangeLog-pr-2329.yml deleted file mode 100644 index 2950b70fbb..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2329.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - rscadd: "Adds flared, knotted or tapered dicks for Taur bodies." - - tweak: "Resized the cow-taur's over-extended belly to match the profile picture, no longer completely blocking the taur penises." - - bugfix: "Barbed, knotted penises and other such long-named cocks are now visible on the ground if dismembered." diff --git a/html/changelogs/AutoChangeLog-pr-2335.yml b/html/changelogs/AutoChangeLog-pr-2335.yml deleted file mode 100644 index 5681e3d5f9..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2335.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - bugfix: "Flavortext is now in the DNA of mobs who has that, meaning changelings, cloners and such things use it properly." diff --git a/html/changelogs/AutoChangeLog-pr-2339.yml b/html/changelogs/AutoChangeLog-pr-2339.yml deleted file mode 100644 index c7f3d42698..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2339.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "More Robust Than You" -delete-after: True -changes: - - tweak: "His Grace now shows up on the orbit list" diff --git a/html/changelogs/AutoChangeLog-pr-2346.yml b/html/changelogs/AutoChangeLog-pr-2346.yml deleted file mode 100644 index c42300a173..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2346.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "More Robust Than You" -delete-after: True -changes: - - tweak: "The wiki button now asks what page you want to be taken to" diff --git a/html/changelogs/AutoChangeLog-pr-2350.yml b/html/changelogs/AutoChangeLog-pr-2350.yml deleted file mode 100644 index 07e0f51b62..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2350.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - bugfix: "Minebots no longer lack icons for their action buttons." diff --git a/html/changelogs/AutoChangeLog-pr-2356.yml b/html/changelogs/AutoChangeLog-pr-2356.yml deleted file mode 100644 index 218da24865..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2356.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "CitadelStationBot" -delete-after: True -changes: - - imageadd: "Adds icon_states to the unused and used Eldritch whetstones. Sprites by Fury McFlurry." diff --git a/html/changelogs/AutoChangeLog-pr-2357.yml b/html/changelogs/AutoChangeLog-pr-2357.yml deleted file mode 100644 index f63277f66f..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2357.yml +++ /dev/null @@ -1,8 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - rscadd: "Breasts can now be used to masturbate/milk yourselves." - - rscadd: "You can now expose genitals through clothing using a verb in the IC tab." - - tweak: "Pressing the Arousal HUD symbol will now bring up several options to use. Pull or be pulled by someone who's exposed to have them appear as an option." - - tweak: "Made hexacamphor/hexacrocin less verbose and trigger forced climaxes less often to avoid incredible spam." - - tweak: "Being forced to orgasm while pulled or pulling someone now counts them as your selected partner." diff --git a/html/changelogs/AutoChangeLog-pr-2359.yml b/html/changelogs/AutoChangeLog-pr-2359.yml deleted file mode 100644 index 8455963dc6..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2359.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Joan" -delete-after: True -changes: - - imageadd: "Ported CEV-Eris's APC sprites." diff --git a/html/changelogs/AutoChangeLog-pr-2362.yml b/html/changelogs/AutoChangeLog-pr-2362.yml deleted file mode 100644 index 5bdc603b06..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2362.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "More Robust Than You" -delete-after: True -changes: - - bugfix: "Fixes a typo in the blobbernaut spawn text" diff --git a/html/changelogs/AutoChangeLog-pr-2363.yml b/html/changelogs/AutoChangeLog-pr-2363.yml deleted file mode 100644 index e8f5b574ae..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2363.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "CitadelStationBot" -delete-after: True -changes: - - tweak: "Canisters don't flash red lights anymore when empty." diff --git a/html/changelogs/AutoChangeLog-pr-2371.yml b/html/changelogs/AutoChangeLog-pr-2371.yml deleted file mode 100644 index ec1810b8a6..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2371.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - bugfix: "The Resurrect Cultist rune now works as intended." diff --git a/html/changelogs/AutoChangeLog-pr-2376.yml b/html/changelogs/AutoChangeLog-pr-2376.yml deleted file mode 100644 index 1d1a2007b5..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2376.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ShizCalev" -delete-after: True -changes: - - bugfix: "The Singularity, Tesla energy ball, tears in the fabric of reality, and Narsie will no longer be frozen by freon." diff --git a/html/changelogs/AutoChangeLog-pr-2377.yml b/html/changelogs/AutoChangeLog-pr-2377.yml deleted file mode 100644 index 4996a03563..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2377.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "More Robust Than You" -delete-after: True -changes: - - bugfix: "Fixes mining hardsuit heat_protection" diff --git a/html/changelogs/AutoChangeLog-pr-2399.yml b/html/changelogs/AutoChangeLog-pr-2399.yml deleted file mode 100644 index 2d162a5edf..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2399.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "More Robust Than You" -delete-after: True -changes: - - rscadd: "Blobs can now sense when they're being cuddled!" diff --git a/html/changelogs/AutoChangeLog-pr-2402.yml b/html/changelogs/AutoChangeLog-pr-2402.yml deleted file mode 100644 index 0ef97907fd..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2402.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "CitadelStationBot" -delete-after: True -changes: - - imageadd: "Nanotrasen redesigned the area power controllers!" - - imageadd: "Thanks Xhuis for the contrast tweak on APCs" diff --git a/html/changelogs/AutoChangeLog-pr-2408.yml b/html/changelogs/AutoChangeLog-pr-2408.yml deleted file mode 100644 index 92f33a9292..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2408.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - soundadd: "The station's explosion now uses a new (or old) sound." diff --git a/html/changelogs/AutoChangeLog-pr-2428.yml b/html/changelogs/AutoChangeLog-pr-2428.yml deleted file mode 100644 index 76adf39bcd..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2428.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xhuis" -delete-after: True -changes: - - spellcheck: "The chat message has been removed from *spin. I hope you're happy." diff --git a/html/changelogs/AutoChangeLog-pr-2437.yml b/html/changelogs/AutoChangeLog-pr-2437.yml deleted file mode 100644 index 1a54eed45e..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2437.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "BeeSting12" -delete-after: True -changes: - - bugfix: "Deltastation's N2O console has been renamed to be an N2O console." - - tweak: "Deltastation's atmos now has a fire axe." diff --git a/html/changelogs/AutoChangeLog-pr-2438.yml b/html/changelogs/AutoChangeLog-pr-2438.yml deleted file mode 100644 index 9195a11183..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2438.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "XDTM" -delete-after: True -changes: - - bugfix: "Viruses will now be able to affect more than one person at a time." diff --git a/html/changelogs/AutoChangeLog-pr-2439.yml b/html/changelogs/AutoChangeLog-pr-2439.yml deleted file mode 100644 index c92b5e2235..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2439.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ShizCalev" -delete-after: True -changes: - - tweak: "The singularity will now dig up asteroids when in proximity of them. Please watch for flying debris." diff --git a/html/changelogs/AutoChangeLog-pr-2448.yml b/html/changelogs/AutoChangeLog-pr-2448.yml deleted file mode 100644 index 40610a2afe..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2448.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - bugfix: "Taurs now rely on their taur-sprites to render legs, instead of rendering human legs on top of them. Mostly impacts driders and such uniquely legged individuals." diff --git a/html/changelogs/AutoChangeLog-pr-2461.yml b/html/changelogs/AutoChangeLog-pr-2461.yml deleted file mode 100644 index 4f33badb1b..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2461.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "CitadelStationBot" -delete-after: True -changes: - - tweak: "Garbage collection happens less often now to reduce the lag caused by hard deletions." diff --git a/html/changelogs/AutoChangeLog-pr-2465.yml b/html/changelogs/AutoChangeLog-pr-2465.yml deleted file mode 100644 index 2b2c8bfc8b..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2465.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "CitadelStationBot" -delete-after: True -changes: - - bugfix: "Boss tiles have been reconstructed out of an unstoppable force." diff --git a/html/changelogs/AutoChangeLog-pr-2471.yml b/html/changelogs/AutoChangeLog-pr-2471.yml deleted file mode 100644 index a7264612a1..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2471.yml +++ /dev/null @@ -1,7 +0,0 @@ -author: "ktccd" -delete-after: True -changes: - - bugfix: "Dogborgs now properly sends chat messages when using their unique modules." - - bugfix: "Medidogs now respect vore prefs." - - bugfix: "Dogborg modules now respect the laws of physics, in regards to only eating/cleaning people/things near them." - - bugfix: "Dogborg stuff now has that nice progress-bar show up when trying to do things." diff --git a/html/changelogs/AutoChangeLog-pr-2483.yml b/html/changelogs/AutoChangeLog-pr-2483.yml deleted file mode 100644 index f36e6c226c..0000000000 --- a/html/changelogs/AutoChangeLog-pr-2483.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "CitadelStationBot" -delete-after: True -changes: - - tweak: "The cooldown on communications console announcements is halved from 60 to 30 seconds." diff --git a/html/changelogs/AutoChangeLog-pr-2555.yml b/html/changelogs/AutoChangeLog-pr-2555.yml new file mode 100644 index 0000000000..6991c2709b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-2555.yml @@ -0,0 +1,4 @@ +author: "Jay" +delete-after: True +changes: + - bugfix: "Fixes missing Guilmon var that prevented their bodymarkings form showing up in character creation" diff --git a/icons/badass.dmi b/icons/badass.dmi deleted file mode 100644 index fcf27d53e6..0000000000 Binary files a/icons/badass.dmi and /dev/null differ diff --git a/icons/credits.dmi b/icons/credits.dmi deleted file mode 100644 index 4341a2cb90..0000000000 Binary files a/icons/credits.dmi and /dev/null differ diff --git a/icons/effects/96x32.dmi b/icons/effects/96x32.dmi index 937b2e8d42..69c2812053 100644 Binary files a/icons/effects/96x32.dmi and b/icons/effects/96x32.dmi differ diff --git a/icons/effects/crayondecal.dmi b/icons/effects/crayondecal.dmi old mode 100755 new mode 100644 diff --git a/icons/effects/vanguard_target.dmi b/icons/effects/vanguard_target.dmi index 5220c325e5..73ba014e2d 100644 Binary files a/icons/effects/vanguard_target.dmi and b/icons/effects/vanguard_target.dmi differ diff --git a/icons/emoji.dmi b/icons/emoji.dmi index 1ebe305d0e..9d3e0630a7 100644 Binary files a/icons/emoji.dmi and b/icons/emoji.dmi differ diff --git a/icons/mob/actions.dmi b/icons/mob/actions.dmi index 3a7b0648fd..0255204f60 100644 Binary files a/icons/mob/actions.dmi and b/icons/mob/actions.dmi differ diff --git a/icons/mob/ai.dmi b/icons/mob/ai.dmi deleted file mode 100644 index f4cb3e983b..0000000000 Binary files a/icons/mob/ai.dmi and /dev/null differ diff --git a/icons/mob/easter.dmi b/icons/mob/easter.dmi deleted file mode 100644 index 300f418c7a..0000000000 Binary files a/icons/mob/easter.dmi and /dev/null differ diff --git a/icons/mob/evilpope.dmi b/icons/mob/evilpope.dmi deleted file mode 100644 index f7a1b02fbe..0000000000 Binary files a/icons/mob/evilpope.dmi and /dev/null differ diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index b9a0f4fb71..cfa16fe90b 100644 Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ diff --git a/icons/mob/human_parts_greyscale.dmi b/icons/mob/human_parts_greyscale.dmi index caf9de716f..a06f490fa7 100644 Binary files a/icons/mob/human_parts_greyscale.dmi and b/icons/mob/human_parts_greyscale.dmi differ diff --git a/icons/mob/inhands/equipment/instruments_lefthand.dmi b/icons/mob/inhands/equipment/instruments_lefthand.dmi index 11ae1895d1..3c168f9d3d 100644 Binary files a/icons/mob/inhands/equipment/instruments_lefthand.dmi and b/icons/mob/inhands/equipment/instruments_lefthand.dmi differ diff --git a/icons/mob/inhands/equipment/instruments_righthand.dmi b/icons/mob/inhands/equipment/instruments_righthand.dmi index fcf891a581..bb264c1370 100644 Binary files a/icons/mob/inhands/equipment/instruments_righthand.dmi and b/icons/mob/inhands/equipment/instruments_righthand.dmi differ diff --git a/icons/mob/inhands/equipment/medical_lefthand.dmi b/icons/mob/inhands/equipment/medical_lefthand.dmi index 24c79727d0..d55cf81f92 100644 Binary files a/icons/mob/inhands/equipment/medical_lefthand.dmi and b/icons/mob/inhands/equipment/medical_lefthand.dmi differ diff --git a/icons/mob/inhands/equipment/medical_righthand.dmi b/icons/mob/inhands/equipment/medical_righthand.dmi index 427e29c49c..764c5c542a 100644 Binary files a/icons/mob/inhands/equipment/medical_righthand.dmi and b/icons/mob/inhands/equipment/medical_righthand.dmi differ diff --git a/icons/mob/inhands/equipment/security_lefthand.dmi b/icons/mob/inhands/equipment/security_lefthand.dmi index 6ccdfba3fc..a9f3c36ac1 100644 Binary files a/icons/mob/inhands/equipment/security_lefthand.dmi and b/icons/mob/inhands/equipment/security_lefthand.dmi differ diff --git a/icons/mob/inhands/equipment/security_righthand.dmi b/icons/mob/inhands/equipment/security_righthand.dmi index e3f930a13e..201eaa19aa 100644 Binary files a/icons/mob/inhands/equipment/security_righthand.dmi and b/icons/mob/inhands/equipment/security_righthand.dmi differ diff --git a/icons/mob/inhands/equipment/tools_lefthand.dmi b/icons/mob/inhands/equipment/tools_lefthand.dmi index 4f256eea92..c694968cd1 100644 Binary files a/icons/mob/inhands/equipment/tools_lefthand.dmi and b/icons/mob/inhands/equipment/tools_lefthand.dmi differ diff --git a/icons/mob/inhands/equipment/tools_righthand.dmi b/icons/mob/inhands/equipment/tools_righthand.dmi index 4661d879c8..18de0a1d68 100644 Binary files a/icons/mob/inhands/equipment/tools_righthand.dmi and b/icons/mob/inhands/equipment/tools_righthand.dmi differ diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi index 198c2ee663..414d12d508 100644 Binary files a/icons/mob/inhands/items_lefthand.dmi and b/icons/mob/inhands/items_lefthand.dmi differ diff --git a/icons/mob/inhands/items_righthand.dmi b/icons/mob/inhands/items_righthand.dmi index cef6409ca2..e6c633294e 100644 Binary files a/icons/mob/inhands/items_righthand.dmi and b/icons/mob/inhands/items_righthand.dmi differ diff --git a/icons/mob/inhands/misc/books_lefthand.dmi b/icons/mob/inhands/misc/books_lefthand.dmi index 71d06d345a..180e1999a4 100644 Binary files a/icons/mob/inhands/misc/books_lefthand.dmi and b/icons/mob/inhands/misc/books_lefthand.dmi differ diff --git a/icons/mob/inhands/misc/books_righthand.dmi b/icons/mob/inhands/misc/books_righthand.dmi index 906f47bfe9..ac7ed504d6 100644 Binary files a/icons/mob/inhands/misc/books_righthand.dmi and b/icons/mob/inhands/misc/books_righthand.dmi differ diff --git a/icons/mob/inhands/misc/lavaland_lefthand.dmi b/icons/mob/inhands/misc/lavaland_lefthand.dmi deleted file mode 100644 index 74654a89a4..0000000000 Binary files a/icons/mob/inhands/misc/lavaland_lefthand.dmi and /dev/null differ diff --git a/icons/mob/inhands/misc/lavaland_righthand.dmi b/icons/mob/inhands/misc/lavaland_righthand.dmi deleted file mode 100644 index c1b2447e22..0000000000 Binary files a/icons/mob/inhands/misc/lavaland_righthand.dmi and /dev/null differ diff --git a/icons/mob/inhands/weapons/bombs_lefthand.dmi b/icons/mob/inhands/weapons/bombs_lefthand.dmi index df168f848d..a084091414 100644 Binary files a/icons/mob/inhands/weapons/bombs_lefthand.dmi and b/icons/mob/inhands/weapons/bombs_lefthand.dmi differ diff --git a/icons/mob/inhands/weapons/bombs_righthand.dmi b/icons/mob/inhands/weapons/bombs_righthand.dmi index 718441b312..39b50584ce 100644 Binary files a/icons/mob/inhands/weapons/bombs_righthand.dmi and b/icons/mob/inhands/weapons/bombs_righthand.dmi differ diff --git a/icons/mob/inhands/weapons/guns_lefthand.dmi b/icons/mob/inhands/weapons/guns_lefthand.dmi index de77656a15..60233a4dc9 100644 Binary files a/icons/mob/inhands/weapons/guns_lefthand.dmi and b/icons/mob/inhands/weapons/guns_lefthand.dmi differ diff --git a/icons/mob/inhands/weapons/guns_righthand.dmi b/icons/mob/inhands/weapons/guns_righthand.dmi index 33f88d0d96..fe15449aba 100644 Binary files a/icons/mob/inhands/weapons/guns_righthand.dmi and b/icons/mob/inhands/weapons/guns_righthand.dmi differ diff --git a/icons/mob/onfire.dmi b/icons/mob/onfire.dmi deleted file mode 100644 index 7768bf0269..0000000000 Binary files a/icons/mob/onfire.dmi and /dev/null differ diff --git a/icons/mob/screen_alert.dmi b/icons/mob/screen_alert.dmi index d6a420d365..13f16aae59 100644 Binary files a/icons/mob/screen_alert.dmi and b/icons/mob/screen_alert.dmi differ diff --git a/icons/mob/screen_cyborg.dmi b/icons/mob/screen_cyborg.dmi index fc236ac7e2..e9fd4ed401 100644 Binary files a/icons/mob/screen_cyborg.dmi and b/icons/mob/screen_cyborg.dmi differ diff --git a/icons/mob/underwear.dmi b/icons/mob/underwear.dmi index 5668c13fbb..8f60f70556 100644 Binary files a/icons/mob/underwear.dmi and b/icons/mob/underwear.dmi differ diff --git a/icons/obj/clockwork_objects.dmi b/icons/obj/clockwork_objects.dmi index 89f6a4b3f9..dc6f1e6143 100644 Binary files a/icons/obj/clockwork_objects.dmi and b/icons/obj/clockwork_objects.dmi differ diff --git a/icons/obj/cryogenic2.dmi b/icons/obj/cryogenic2.dmi deleted file mode 100644 index 9ca7ba0aeb..0000000000 Binary files a/icons/obj/cryogenic2.dmi and /dev/null differ diff --git a/icons/obj/decals.dmi b/icons/obj/decals.dmi index 31e700d23d..0669549b02 100644 Binary files a/icons/obj/decals.dmi and b/icons/obj/decals.dmi differ diff --git a/icons/obj/doors/door2x1glassfull.dmi b/icons/obj/doors/door2x1glassfull.dmi deleted file mode 100644 index 8f8c66bdb6..0000000000 Binary files a/icons/obj/doors/door2x1glassfull.dmi and /dev/null differ diff --git a/icons/obj/doors/doorf.dmi b/icons/obj/doors/doorf.dmi deleted file mode 100644 index 040cdf77cb..0000000000 Binary files a/icons/obj/doors/doorf.dmi and /dev/null differ diff --git a/icons/obj/doors/doorfire.dmi b/icons/obj/doors/doorfire.dmi deleted file mode 100644 index 3b9f05cfa3..0000000000 Binary files a/icons/obj/doors/doorfire.dmi and /dev/null differ diff --git a/icons/obj/doors/doorfireglass.dmi b/icons/obj/doors/doorfireglass.dmi deleted file mode 100644 index f00e6c2857..0000000000 Binary files a/icons/obj/doors/doorfireglass.dmi and /dev/null differ diff --git a/icons/obj/doors/doorhazard.dmi b/icons/obj/doors/doorhazard.dmi deleted file mode 100644 index b8fac7cac9..0000000000 Binary files a/icons/obj/doors/doorhazard.dmi and /dev/null differ diff --git a/icons/obj/food/food.dmi b/icons/obj/food/food.dmi index 14c8c55d9a..863f447e93 100644 Binary files a/icons/obj/food/food.dmi and b/icons/obj/food/food.dmi differ diff --git a/icons/obj/machines/research.dmi b/icons/obj/machines/research.dmi index a150880d39..cd74eed322 100644 Binary files a/icons/obj/machines/research.dmi and b/icons/obj/machines/research.dmi differ diff --git a/icons/obj/pda.dmi b/icons/obj/pda.dmi index 241bb46b98..5404b908c6 100644 Binary files a/icons/obj/pda.dmi and b/icons/obj/pda.dmi differ diff --git a/icons/obj/power.dmi b/icons/obj/power.dmi index e3348a389d..e1604715ac 100644 Binary files a/icons/obj/power.dmi and b/icons/obj/power.dmi differ diff --git a/icons/obj/structures.dmi b/icons/obj/structures.dmi index 95f117c53f..8caaa6c8b0 100644 Binary files a/icons/obj/structures.dmi and b/icons/obj/structures.dmi differ diff --git a/icons/turf/floors.dmi b/icons/turf/floors.dmi index a0521414f1..ee1d186509 100644 Binary files a/icons/turf/floors.dmi and b/icons/turf/floors.dmi differ diff --git a/icons/turf/floors/chasms.dmi b/icons/turf/floors/chasms.dmi deleted file mode 100644 index cc4feb2e03..0000000000 Binary files a/icons/turf/floors/chasms.dmi and /dev/null differ diff --git a/sound/creatures/gorilla.ogg b/sound/creatures/gorilla.ogg new file mode 100644 index 0000000000..cde0bc1edc Binary files /dev/null and b/sound/creatures/gorilla.ogg differ diff --git a/strings/brain_damage_lines.json.rej b/strings/brain_damage_lines.json.rej deleted file mode 100644 index 6d8e1cdb62..0000000000 --- a/strings/brain_damage_lines.json.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/strings/brain_damage_lines.json b/strings/brain_damage_lines.json (rejected hunks) -@@ -131,7 +131,7 @@ - "", - "IS TIS A BUG??", - "SI IST A BUGG/", -- "BUG!!!" -+ "BUG!!!" - ], - - "semicolon": [ diff --git a/tgstation.dme b/tgstation.dme index 3b58a075e4..bca2fda847 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -1802,6 +1802,9 @@ #include "code\modules\mob\living\simple_animal\hostile\wumborian_fugu.dm" #include "code\modules\mob\living\simple_animal\hostile\bosses\boss.dm" #include "code\modules\mob\living\simple_animal\hostile\bosses\paperwizard.dm" +#include "code\modules\mob\living\simple_animal\hostile\gorilla\emotes.dm" +#include "code\modules\mob\living\simple_animal\hostile\gorilla\gorilla.dm" +#include "code\modules\mob\living\simple_animal\hostile\gorilla\visuals_icons.dm" #include "code\modules\mob\living\simple_animal\hostile\megafauna\blood_drunk_miner.dm" #include "code\modules\mob\living\simple_animal\hostile\megafauna\bubblegum.dm" #include "code\modules\mob\living\simple_animal\hostile\megafauna\colossus.dm" diff --git a/tgui/assets/tgui.js.rej b/tgui/assets/tgui.js.rej deleted file mode 100644 index 7a19430f92..0000000000 --- a/tgui/assets/tgui.js.rej +++ /dev/null @@ -1,15 +0,0 @@ -diff a/tgui/assets/tgui.js b/tgui/assets/tgui.js (rejected hunks) -@@ -7,10 +7,10 @@ return t.set(e,+a+n)}function O(t,e){return Jo(this,t,void 0===e?1:+e)}function - real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,"int":8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},sc=[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376],uc=RegExp("&(#?(?:x[\\w\\d]+|\\d+|"+Object.keys(oc).join("|")+"));?","g"),pc=//g,lc=/&/g;var gc=function(){return e(this.node)},bc=function(t){this.type=kp,this.text=t.template};bc.prototype={detach:gc,firstNode:function(){return this.node},render:function(){return this.node||(this.node=document.createTextNode(this.text)),this.node},toString:function(t){return t?Ee(this.text):this.text},unrender:function(t){return t?this.detach():void 0}};var yc=bc,xc=Se,_c=Ce,wc=function(t,e,n){var a;this.ref=e,this.resolved=!1,this.root=t.root,this.parentFragment=t.parentFragment,this.callback=n,a=ls(t.root,e,t.parentFragment),void 0!=a?this.resolve(a):bs.addUnresolved(this)};wc.prototype={resolve:function(t){this.keypath&&!t&&bs.addUnresolved(this),this.resolved=!0,this.keypath=t,this.callback(t)},forceResolution:function(){this.resolve(E(this.ref))},rebind:function(t,e){var n;void 0!=this.keypath&&(n=this.keypath.replace(t,e),void 0!==n&&this.resolve(n))},unbind:function(){this.resolved||bs.removeUnresolved(this)}};var kc=wc,Ec=function(t,e,n){this.parentFragment=t.parentFragment,this.ref=e,this.callback=n,this.rebind()},Sc={"@keypath":{prefix:"c",prop:["context"]},"@index":{prefix:"i",prop:["index"]},"@key":{prefix:"k",prop:["key","index"]}};Ec.prototype={rebind:function(){var t,e=this.ref,n=this.parentFragment,a=Sc[e];if(!a)throw Error('Unknown special reference "'+e+'" - valid references are @index, @key and @keypath');if(this.cached)return this.callback(E("@"+a.prefix+Pe(this.cached,a)));if(-1!==a.prop.indexOf("index")||-1!==a.prop.indexOf("key"))for(;n;){if(n.owner.currentSubtype===Bp&&void 0!==(t=Pe(n,a)))return this.cached=n,n.registerIndexRef(this),this.callback(E("@"+a.prefix+t));n=!n.parent&&n.owner&&n.owner.component&&n.owner.component.parentFragment&&!n.owner.component.instance.isolated?n.owner.component.parentFragment:n.parent}else for(;n;){if(void 0!==(t=Pe(n,a)))return this.callback(E("@"+a.prefix+t.str));n=n.parent}},unbind:function(){this.cached&&this.cached.unregisterIndexRef(this)}};var Cc=Ec,Pc=function(t,e,n){this.parentFragment=t.parentFragment,this.ref=e,this.callback=n,e.ref.fragment.registerIndexRef(this),this.rebind()};Pc.prototype={rebind:function(){var t,e=this.ref.ref;t="k"===e.ref.t?"k"+e.fragment.key:"i"+e.fragment.index,void 0!==t&&this.callback(E("@"+t))},unbind:function(){this.ref.ref.fragment.unregisterIndexRef(this)}};var Ac=Pc,Oc=Ae;Ae.resolve=function(t){var e,n,a={};for(e in t.refs)n=t.refs[e],a[n.ref.n]="k"===n.ref.t?n.fragment.key:n.fragment.index;return a};var Tc,Mc=Oe,Rc=Te,jc={},Lc=Function.prototype.bind;Tc=function(t,e,n,a){var r,i=this;r=t.root,this.root=r,this.parentFragment=e,this.callback=a,this.owner=t,this.str=n.s,this.keypaths=[],this.pending=n.r.length,this.refResolvers=n.r.map(function(t,e){return Mc(i,t,function(t){i.resolve(e,t)})}),this.ready=!0,this.bubble()},Tc.prototype={bubble:function(){this.ready&&(this.uniqueString=Re(this.str,this.keypaths),this.keypath=je(this.uniqueString),this.createEvaluator(),this.callback(this.keypath))},unbind:function(){for(var t;t=this.refResolvers.pop();)t.unbind()},resolve:function(t,e){this.keypaths[t]=e,this.bubble()},createEvaluator:function(){var t,e,n,a,r,i=this;a=this.keypath,t=this.root.viewmodel.computations[a.str],t?this.root.viewmodel.mark(a):(r=Rc(this.str,this.refResolvers.length),e=this.keypaths.map(function(t){var e;return"undefined"===t?function(){}:t.isSpecial?(e=t.value,function(){return e}):function(){var e=i.root.viewmodel.get(t,{noUnwrap:!0,fullRootGet:!0});return"function"==typeof e&&(e=De(e,i.root)),e}}),n={deps:this.keypaths.filter(Le),getter:function(){var t=e.map(Me);return r.apply(null,t)}},t=this.root.viewmodel.compute(a,n))},rebind:function(t,e){this.refResolvers.forEach(function(n){return n.rebind(t,e)})}};var Dc=Tc,Nc=function(t,e,n){var a=this;this.resolver=e,this.root=e.root,this.parentFragment=n,this.viewmodel=e.root.viewmodel,"string"==typeof t?this.value=t:t.t===Np?this.refResolver=Mc(this,t.n,function(t){a.resolve(t)}):new Dc(e,n,t,function(t){a.resolve(t)})};Nc.prototype={resolve:function(t){this.keypath&&this.viewmodel.unregister(this.keypath,this),this.keypath=t,this.value=this.viewmodel.get(t),this.bind(),this.resolver.bubble()},bind:function(){this.viewmodel.register(this.keypath,this)},rebind:function(t,e){this.refResolver&&this.refResolver.rebind(t,e)},setValue:function(t){this.value=t,this.resolver.bubble()},unbind:function(){this.keypath&&this.viewmodel.unregister(this.keypath,this),this.refResolver&&this.refResolver.unbind()},forceResolution:function(){this.refResolver&&this.refResolver.forceResolution()}};var Fc=Nc,Ic=function(t,e,n){var a,r,i,o,s=this;this.parentFragment=o=t.parentFragment,this.root=a=t.root,this.mustache=t,this.ref=r=e.r,this.callback=n,this.unresolved=[],(i=ls(a,r,o))?this.base=i:this.baseResolver=new kc(this,r,function(t){s.base=t,s.baseResolver=null,s.bubble()}),this.members=e.m.map(function(t){return new Fc(t,s,o)}),this.ready=!0,this.bubble()};Ic.prototype={getKeypath:function(){var t=this.members.map(Ne);return!t.every(Fe)||this.baseResolver?null:this.base.join(t.join("."))},bubble:function(){this.ready&&!this.baseResolver&&this.callback(this.getKeypath())},unbind:function(){this.members.forEach(K)},rebind:function(t,e){var n;if(this.base){var a=this.base.replace(t,e);a&&a!==this.base&&(this.base=a,n=!0)}this.members.forEach(function(a){a.rebind(t,e)&&(n=!0)}),n&&this.bubble()},forceResolution:function(){this.baseResolver&&(this.base=E(this.ref),this.baseResolver.unbind(),this.baseResolver=null),this.members.forEach(Ie),this.bubble()}};var Bc=Ic,qc=Be,Uc=qe,Gc=Ue,Vc={getValue:_c,init:qc,resolve:Uc,rebind:Gc},zc=function(t){this.type=Ep,Vc.init(this,t)};zc.prototype={update:function(){this.node.data=void 0==this.value?"":this.value},resolve:Vc.resolve,rebind:Vc.rebind,detach:gc,unbind:xc,render:function(){return this.node||(this.node=document.createTextNode(n(this.value))),this.node},unrender:function(t){t&&e(this.node)},getValue:Vc.getValue,setValue:function(t){var e;this.keypath&&(e=this.root.viewmodel.wrapped[this.keypath.str])&&(t=e.get()),s(t,this.value)||(this.value=t,this.parentFragment.bubble(),this.node&&bs.addView(this))},firstNode:function(){return this.node},toString:function(t){var e=""+n(this.value);return t?Ee(e):e}};var Wc=zc,Hc=Ge,Kc=Ve,Qc=ze,$c=We,Yc=He,Jc=Ke,Xc=Qe,Zc=$e,tl=Ye,el=function(t,e){Vc.rebind.call(this,t,e)},nl=Xe,al=Ze,rl=ln,il=fn,ol=dn,sl=vn,ul=function(t){this.type=Cp,this.subtype=this.currentSubtype=t.template.n,this.inverted=this.subtype===Ip,this.pElement=t.pElement,this.fragments=[],this.fragmentsToCreate=[],this.fragmentsToRender=[],this.fragmentsToUnrender=[],t.template.i&&(this.indexRefs=t.template.i.split(",").map(function(t,e){return{n:t,t:0===e?"k":"i"}})),this.renderedFragments=[],this.length=0,Vc.init(this,t)};ul.prototype={bubble:Hc,detach:Kc,find:Qc,findAll:$c,findAllComponents:Yc,findComponent:Jc,findNextNode:Xc,firstNode:Zc,getIndexRef:function(t){if(this.indexRefs)for(var e=this.indexRefs.length;e--;){var n=this.indexRefs[e];if(n.n===t)return n}},getValue:Vc.getValue,shuffle:tl,rebind:el,render:nl,resolve:Vc.resolve,setValue:al,toString:rl,unbind:il,unrender:ol,update:sl};var pl,cl,ll=ul,fl=gn,dl=bn,hl=yn,ml=xn,vl={};try{co("table").innerHTML="foo"}catch(Ao){pl=!0,cl={TABLE:['
[get_held_index_name(i)]:[(I && !(I.flags & ABSTRACT)) ? I : "Empty"]
[get_held_index_name(i)]:[(I && !(I.flags_1 & ABSTRACT_1)) ? I : "Empty"]
 
Back:[(back && !(back.flags&ABSTRACT)) ? back : "Empty"]" -+ dat += "
Back:[(back && !(back.flags_1&ABSTRACT_1)) ? back : "Empty"]" - if(has_breathable_mask && istype(back, /obj/item/tank)) - dat += " [internal ? "Disable Internals" : "Set Internals"]" - - dat += "
 
Head:[(head && !(head.flags&ABSTRACT)) ? head : "Empty"]
Head:[(head && !(head.flags_1&ABSTRACT_1)) ? head : "Empty"]
Mask:Obscured
Mask:[(wear_mask && !(wear_mask.flags&ABSTRACT)) ? wear_mask : "Empty"]
Mask:[(wear_mask && !(wear_mask.flags_1&ABSTRACT_1)) ? wear_mask : "Empty"]
Neck:Obscured
Neck:[(wear_neck && !(wear_neck.flags&ABSTRACT)) ? wear_neck : "Empty"]
Neck:[(wear_neck && !(wear_neck.flags_1&ABSTRACT_1)) ? wear_neck : "Empty"]
Eyes:Obscured
Eyes:[(glasses && !(glasses.flags&ABSTRACT)) ? glasses : "Empty"]
Eyes:[(glasses && !(glasses.flags_1&ABSTRACT_1)) ? glasses : "Empty"]
Ears:Obscured
Ears:[(ears && !(ears.flags&ABSTRACT)) ? ears : "Empty"]
Ears:[(ears && !(ears.flags_1&ABSTRACT_1)) ? ears : "Empty"]
 
Exosuit:[(wear_suit && !(wear_suit.flags&ABSTRACT)) ? wear_suit : "Empty"]
Exosuit:[(wear_suit && !(wear_suit.flags_1&ABSTRACT_1)) ? wear_suit : "Empty"]
 ↳Suit Storage:[(s_store && !(s_store.flags&ABSTRACT)) ? s_store : "Empty"]" -+ dat += "
 ↳Suit Storage:[(s_store && !(s_store.flags_1&ABSTRACT_1)) ? s_store : "Empty"]" - if(has_breathable_mask && istype(s_store, /obj/item/tank)) - dat += " [internal ? "Disable Internals" : "Set Internals"]" - dat += "
Shoes:Obscured
Shoes:[(shoes && !(shoes.flags&ABSTRACT)) ? shoes : "Empty"]
Shoes:[(shoes && !(shoes.flags_1&ABSTRACT_1)) ? shoes : "Empty"]
Gloves:Obscured
Gloves:[(gloves && !(gloves.flags&ABSTRACT)) ? gloves : "Empty"]
Gloves:[(gloves && !(gloves.flags_1&ABSTRACT_1)) ? gloves : "Empty"]
Uniform:Obscured
Uniform:[(w_uniform && !(w_uniform.flags&ABSTRACT)) ? w_uniform : "Empty"]
Uniform:[(w_uniform && !(w_uniform.flags_1&ABSTRACT_1)) ? w_uniform : "Empty"]
 ↳Pockets:
 ↳ID:
 ↳Belt:
 ↳Belt:[(belt && !(belt.flags&ABSTRACT)) ? belt : "Empty"]" -+ dat += "
 ↳Belt:[(belt && !(belt.flags_1&ABSTRACT_1)) ? belt : "Empty"]" - if(has_breathable_mask && istype(belt, /obj/item/tank)) - dat += " [internal ? "Disable Internals" : "Set Internals"]" - dat += "
 ↳Pockets:[(l_store && !(l_store.flags&ABSTRACT)) ? "Left (Full)" : "Left (Empty)"]" -- dat += " [(r_store && !(r_store.flags&ABSTRACT)) ? "Right (Full)" : "Right (Empty)"]
 ↳ID:[(wear_id && !(wear_id.flags&ABSTRACT)) ? wear_id : "Empty"]
 ↳Pockets:[(l_store && !(l_store.flags_1&ABSTRACT_1)) ? "Left (Full)" : "Left (Empty)"]" -+ dat += " [(r_store && !(r_store.flags_1&ABSTRACT_1)) ? "Right (Full)" : "Right (Empty)"]
 ↳ID:[(wear_id && !(wear_id.flags_1&ABSTRACT_1)) ? wear_id : "Empty"]
Handcuffed: Remove
',"
"],THEAD:['',"
"],TBODY:['',"
"],TR:['',"
"],SELECT:['"]}}var gl=function(t,e,n){var a,r,i,o,s,u=[];if(null!=t&&""!==t){for(pl&&(r=cl[e.tagName])?(a=_n("DIV"),a.innerHTML=r[0]+t+r[1],a=a.querySelector(".x"),"SELECT"===a.tagName&&(i=a.options[a.selectedIndex])):e.namespaceURI===no.svg?(a=_n("DIV"),a.innerHTML=''+t+"",a=a.querySelector(".x")):(a=_n(e.tagName),a.innerHTML=t,"SELECT"===a.tagName&&(i=a.options[a.selectedIndex]));o=a.firstChild;)u.push(o),n.appendChild(o);if("SELECT"===e.tagName)for(s=u.length;s--;)u[s]!==i&&(u[s].selected=!1)}return u},bl=wn,yl=En,xl=Sn,_l=Cn,wl=Pn,kl=An,El=function(t){this.type=Sp,Vc.init(this,t)};El.prototype={detach:fl,find:dl,findAll:hl,firstNode:ml,getValue:Vc.getValue,rebind:Vc.rebind,render:yl,resolve:Vc.resolve,setValue:xl,toString:_l,unbind:xc,unrender:wl,update:kl};var Sl,Cl,Pl,Al,Ol=El,Tl=function(){this.parentFragment.bubble()},Ml=On,Rl=function(t){return this.node?lo(this.node,t)?this.node:this.fragment&&this.fragment.find?this.fragment.find(t):void 0:null},jl=function(t,e){e._test(this,!0)&&e.live&&(this.liveQueries||(this.liveQueries=[])).push(e),this.fragment&&this.fragment.findAll(t,e)},Ll=function(t,e){this.fragment&&this.fragment.findAllComponents(t,e)},Dl=function(t){return this.fragment?this.fragment.findComponent(t):void 0},Nl=Tn,Fl=Mn,Il=Rn,Bl=/^true|on|yes|1$/i,ql=/^[0-9]+$/,Ul=function(t,e){var n,a,r;return r=e.a||{},a={},n=r.twoway,void 0!==n&&(a.twoway=0===n||Bl.test(n)),n=r.lazy,void 0!==n&&(0!==n&&ql.test(n)?a.lazy=parseInt(n):a.lazy=0===n||Bl.test(n)),a},Gl=jn;Sl="altGlyph altGlyphDef altGlyphItem animateColor animateMotion animateTransform clipPath feBlend feColorMatrix feComponentTransfer feComposite feConvolveMatrix feDiffuseLighting feDisplacementMap feDistantLight feFlood feFuncA feFuncB feFuncG feFuncR feGaussianBlur feImage feMerge feMergeNode feMorphology feOffset fePointLight feSpecularLighting feSpotLight feTile feTurbulence foreignObject glyphRef linearGradient radialGradient textPath vkern".split(" "),Cl="attributeName attributeType baseFrequency baseProfile calcMode clipPathUnits contentScriptType contentStyleType diffuseConstant edgeMode externalResourcesRequired filterRes filterUnits glyphRef gradientTransform gradientUnits kernelMatrix kernelUnitLength keyPoints keySplines keyTimes lengthAdjust limitingConeAngle markerHeight markerUnits markerWidth maskContentUnits maskUnits numOctaves pathLength patternContentUnits patternTransform patternUnits pointsAtX pointsAtY pointsAtZ preserveAlpha preserveAspectRatio primitiveUnits refX refY repeatCount repeatDur requiredExtensions requiredFeatures specularConstant specularExponent spreadMethod startOffset stdDeviation stitchTiles surfaceScale systemLanguage tableValues targetX targetY textLength viewBox viewTarget xChannelSelector yChannelSelector zoomAndPan".split(" "),Pl=function(t){for(var e={},n=t.length;n--;)e[t[n].toLowerCase()]=t[n];return e},Al=Pl(Sl.concat(Cl));var Vl=function(t){var e=t.toLowerCase();return Al[e]||e},zl=function(t,e){var n,a;if(n=e.indexOf(":"),-1===n||(a=e.substr(0,n),"xmlns"===a))t.name=t.element.namespace!==no.html?Vl(e):e;else if(e=e.substring(n+1),t.name=Vl(e),t.namespace=no[a.toLowerCase()],t.namespacePrefix=a,!t.namespace)throw'Unknown namespace ("'+a+'")'},Wl=Ln,Hl=Dn,Kl=Nn,Ql=Fn,$l={"accept-charset":"acceptCharset",accesskey:"accessKey",bgcolor:"bgColor","class":"className",codebase:"codeBase",colspan:"colSpan",contenteditable:"contentEditable",datetime:"dateTime",dirname:"dirName","for":"htmlFor","http-equiv":"httpEquiv",ismap:"isMap",maxlength:"maxLength",novalidate:"noValidate",pubdate:"pubDate",readonly:"readOnly",rowspan:"rowSpan",tabindex:"tabIndex",usemap:"useMap"},Yl=In,Jl=qn,Xl=Un,Zl=Gn,tf=Vn,ef=zn,nf=Wn,af=Hn,rf=Kn,of=Qn,sf=$n,uf=Yn,pf=Jn,cf=Xn,lf=Zn,ff=function(t){this.init(t)};ff.prototype={bubble:Gl,init:Hl,rebind:Kl,render:Ql,toString:Yl,unbind:Jl,update:lf};var df,hf=ff,mf=function(t,e){var n,a,r=[];for(n in e)"twoway"!==n&&"lazy"!==n&&e.hasOwnProperty(n)&&(a=new hf({element:t,name:n,value:e[n],root:t.root}),r[n]=a,"value"!==n&&r.push(a));return(a=r.value)&&r.push(a),r};"undefined"!=typeof document&&(df=co("div"));var vf=function(t,e){this.element=t,this.root=t.root,this.parentFragment=t.parentFragment,this.attributes=[],this.fragment=new rv({root:t.root,owner:this,template:[e]})};vf.prototype={bubble:function(){this.node&&this.update(),this.element.bubble()},rebind:function(t,e){this.fragment.rebind(t,e)},render:function(t){this.node=t,this.isSvg=t.namespaceURI===no.svg,this.update()},unbind:function(){this.fragment.unbind()},update:function(){var t,e,n=this;t=""+this.fragment,e=ta(t,this.isSvg),this.attributes.filter(function(t){return ea(e,t)}).forEach(function(t){n.node.removeAttribute(t.name)}),e.forEach(function(t){n.node.setAttribute(t.name,t.value)}),this.attributes=e},toString:function(){return""+this.fragment}};var gf=vf,bf=function(t,e){return e?e.map(function(e){return new gf(t,e)}):[]},yf=function(t){var e,n,a,r;if(this.element=t,this.root=t.root,this.attribute=t.attributes[this.name||"value"],e=this.attribute.interpolator,e.twowayBinding=this,n=e.keypath){if("}"===n.str.slice(-1))return v("Two-way binding does not work with expressions (`%s` on <%s>)",e.resolver.uniqueString,t.name,{ractive:this.root}),!1;if(n.isSpecial)return v("Two-way binding does not work with %s",e.resolver.ref,{ractive:this.root}),!1}else{var i=e.template.r?"'"+e.template.r+"' reference":"expression";m("The %s being used for two-way binding is ambiguous, and may cause unexpected results. Consider initialising your data to eliminate the ambiguity",i,{ractive:this.root}),e.resolver.forceResolution(),n=e.keypath}this.attribute.isTwoway=!0,this.keypath=n,a=this.root.viewmodel.get(n),void 0===a&&this.getInitialValue&&(a=this.getInitialValue(),void 0!==a&&this.root.viewmodel.set(n,a)),(r=na(t))&&(this.resetValue=a,r.formBindings.push(this))};yf.prototype={handleChange:function(){var t=this;bs.start(this.root),this.attribute.locked=!0,this.root.viewmodel.set(this.keypath,this.getValue()),bs.scheduleTask(function(){return t.attribute.locked=!1}),bs.end()},rebound:function(){var t,e,n;e=this.keypath,n=this.attribute.interpolator.keypath,e!==n&&(N(this.root._twowayBindings[e.str],this),this.keypath=n,t=this.root._twowayBindings[n.str]||(this.root._twowayBindings[n.str]=[]),t.push(this))},unbind:function(){}},yf.extend=function(t){var e,n=this;return e=function(t){yf.call(this,t),this.init&&this.init()},e.prototype=Eo(n.prototype),a(e.prototype,t),e.extend=yf.extend,e};var xf,_f=yf,wf=aa;xf=_f.extend({getInitialValue:function(){return""},getValue:function(){return this.element.node.value},render:function(){var t,e=this.element.node,n=!1;this.rendered=!0,t=this.root.lazy,this.element.lazy===!0?t=!0:this.element.lazy===!1?t=!1:u(this.element.lazy)?(t=!1,n=+this.element.lazy):u(t||"")&&(n=+t,t=!1,this.element.lazy=n),this.handler=n?ia:wf,e.addEventListener("change",wf,!1),t||(e.addEventListener("input",this.handler,!1),e.attachEvent&&e.addEventListener("keyup",this.handler,!1)),e.addEventListener("blur",ra,!1)},unrender:function(){var t=this.element.node;this.rendered=!1,t.removeEventListener("change",wf,!1),t.removeEventListener("input",this.handler,!1),t.removeEventListener("keyup",this.handler,!1),t.removeEventListener("blur",ra,!1)}});var kf=xf,Ef=kf.extend({getInitialValue:function(){return this.element.fragment?""+this.element.fragment:""},getValue:function(){return this.element.node.innerHTML}}),Sf=Ef,Cf=oa,Pf={},Af=_f.extend({name:"checked",init:function(){this.siblings=Cf(this.root._guid,"radio",this.element.getAttribute("name")),this.siblings.push(this)},render:function(){var t=this.element.node;t.addEventListener("change",wf,!1),t.attachEvent&&t.addEventListener("click",wf,!1)},unrender:function(){var t=this.element.node;t.removeEventListener("change",wf,!1),t.removeEventListener("click",wf,!1)},handleChange:function(){bs.start(this.root),this.siblings.forEach(function(t){t.root.viewmodel.set(t.keypath,t.getValue())}),bs.end()},getValue:function(){return this.element.node.checked},unbind:function(){N(this.siblings,this)}}),Of=Af,Tf=_f.extend({name:"name",init:function(){this.siblings=Cf(this.root._guid,"radioname",this.keypath.str),this.siblings.push(this),this.radioName=!0},getInitialValue:function(){return this.element.getAttribute("checked")?this.element.getAttribute("value"):void 0},render:function(){var t=this.element.node;t.name="{{"+this.keypath.str+"}}",t.checked=this.root.viewmodel.get(this.keypath)==this.element.getAttribute("value"),t.addEventListener("change",wf,!1),t.attachEvent&&t.addEventListener("click",wf,!1)},unrender:function(){var t=this.element.node;t.removeEventListener("change",wf,!1),t.removeEventListener("click",wf,!1)},getValue:function(){var t=this.element.node;return t._ractive?t._ractive.value:t.value},handleChange:function(){this.element.node.checked&&_f.prototype.handleChange.call(this)},rebound:function(t,e){var n;_f.prototype.rebound.call(this,t,e),(n=this.element.node)&&(n.name="{{"+this.keypath.str+"}}")},unbind:function(){N(this.siblings,this)}}),Mf=Tf,Rf=_f.extend({name:"name",getInitialValue:function(){return this.noInitialValue=!0,[]},init:function(){var t,e;this.checkboxName=!0,this.siblings=Cf(this.root._guid,"checkboxes",this.keypath.str),this.siblings.push(this),this.noInitialValue&&(this.siblings.noInitialValue=!0),this.siblings.noInitialValue&&this.element.getAttribute("checked")&&(t=this.root.viewmodel.get(this.keypath),e=this.element.getAttribute("value"),t.push(e))},unbind:function(){N(this.siblings,this)},render:function(){var t,e,n=this.element.node;t=this.root.viewmodel.get(this.keypath),e=this.element.getAttribute("value"),i(t)?this.isChecked=R(t,e):this.isChecked=t==e,n.name="{{"+this.keypath.str+"}}",n.checked=this.isChecked,n.addEventListener("change",wf,!1),n.attachEvent&&n.addEventListener("click",wf,!1)},unrender:function(){var t=this.element.node;t.removeEventListener("change",wf,!1),t.removeEventListener("click",wf,!1)},changed:function(){var t=!!this.isChecked;return this.isChecked=this.element.node.checked,this.isChecked===t},handleChange:function(){this.isChecked=this.element.node.checked,_f.prototype.handleChange.call(this)},getValue:function(){return this.siblings.filter(sa).map(ua)}}),jf=Rf,Lf=_f.extend({name:"checked",render:function(){var t=this.element.node;t.addEventListener("change",wf,!1),t.attachEvent&&t.addEventListener("click",wf,!1)},unrender:function(){var t=this.element.node;t.removeEventListener("change",wf,!1),t.removeEventListener("click",wf,!1)},getValue:function(){return this.element.node.checked}}),Df=Lf,Nf=_f.extend({getInitialValue:function(){var t,e,n,a,r=this.element.options;if(void 0===this.element.getAttribute("value")&&(e=t=r.length,t)){for(;e--;)if(r[e].getAttribute("selected")){n=r[e].getAttribute("value"),a=!0;break}if(!a)for(;++ee;e+=1)if(a=t[e],t[e].selected)return r=a._ractive?a._ractive.value:a.value},forceUpdate:function(){var t=this,e=this.getValue();void 0!==e&&(this.attribute.locked=!0,bs.scheduleTask(function(){return t.attribute.locked=!1}),this.root.viewmodel.set(this.keypath,e))}}),Ff=Nf,If=Ff.extend({getInitialValue:function(){return this.element.options.filter(function(t){return t.getAttribute("selected")}).map(function(t){return t.getAttribute("value")})},render:function(){var t;this.element.node.addEventListener("change",wf,!1),t=this.root.viewmodel.get(this.keypath),void 0===t&&this.handleChange()},unrender:function(){this.element.node.removeEventListener("change",wf,!1)},setValue:function(){throw Error("TODO not implemented yet")},getValue:function(){var t,e,n,a,r,i;for(t=[],e=this.element.node.options,a=e.length,n=0;a>n;n+=1)r=e[n],r.selected&&(i=r._ractive?r._ractive.value:r.value,t.push(i));return t},handleChange:function(){var t,e,n;return t=this.attribute,e=t.value,n=this.getValue(),void 0!==e&&j(n,e)||Ff.prototype.handleChange.call(this),this},forceUpdate:function(){var t=this,e=this.getValue();void 0!==e&&(this.attribute.locked=!0,bs.scheduleTask(function(){return t.attribute.locked=!1}),this.root.viewmodel.set(this.keypath,e))},updateModel:function(){void 0!==this.attribute.value&&this.attribute.value.length||this.root.viewmodel.set(this.keypath,this.initialValue)}}),Bf=If,qf=_f.extend({render:function(){this.element.node.addEventListener("change",wf,!1)},unrender:function(){this.element.node.removeEventListener("change",wf,!1)},getValue:function(){return this.element.node.files}}),Uf=qf,Gf=kf.extend({getInitialValue:function(){},getValue:function(){var t=parseFloat(this.element.node.value);return isNaN(t)?void 0:t}}),Vf=pa,zf=la,Wf=fa,Hf=da,Kf=ha,Qf=/^event(?:\.(.+))?/,$f=ba,Yf=ya,Jf={},Xf={touchstart:!0,touchmove:!0,touchend:!0,touchcancel:!0,touchleave:!0},Zf=_a,td=wa,ed=ka,nd=Ea,ad=Sa,rd=function(t,e,n){this.init(t,e,n)};rd.prototype={bubble:zf,fire:Wf,getAction:Hf,init:Kf,listen:Yf,rebind:Zf,render:td,resolve:ed,unbind:nd,unrender:ad};var id=rd,od=function(t,e){var n,a,r,i,o=[];for(a in e)if(e.hasOwnProperty(a))for(r=a.split("-"),n=r.length;n--;)i=new id(t,r[n],e[a]),o.push(i);return o},sd=function(t,e){var n,a,r,i=this;this.element=t,this.root=n=t.root,a=e.n||e,("string"==typeof a||(r=new rv({template:a,root:n,owner:t}),a=""+r,r.unbind(),""!==a))&&(e.a?this.params=e.a:e.d&&(this.fragment=new rv({template:e.d,root:n,owner:t}),this.params=this.fragment.getArgsList(),this.fragment.bubble=function(){this.dirtyArgs=this.dirtyValue=!0,i.params=this.getArgsList(),i.ready&&i.update()}),this.fn=g("decorators",n,a),this.fn||l(Io(a,"decorator")))};sd.prototype={init:function(){var t,e,n;if(t=this.element.node,this.params?(n=[t].concat(this.params),e=this.fn.apply(this.root,n)):e=this.fn.call(this.root,t),!e||!e.teardown)throw Error("Decorator definition must return an object with a teardown method");this.actual=e,this.ready=!0},update:function(){this.actual.update?this.actual.update.apply(this.root,this.params):(this.actual.teardown(!0),this.init())},rebind:function(t,e){this.fragment&&this.fragment.rebind(t,e)},teardown:function(t){this.torndown=!0,this.ready&&this.actual.teardown(),!t&&this.fragment&&this.fragment.unbind()}};var ud,pd,cd,ld=sd,fd=Ra,dd=ja,hd=Ba,md=function(t){return t.replace(/-([a-zA-Z])/g,function(t,e){return e.toUpperCase()})};Xi?(pd={},cd=co("div").style,ud=function(t){var e,n,a;if(t=md(t),!pd[t])if(void 0!==cd[t])pd[t]=t;else for(a=t.charAt(0).toUpperCase()+t.substring(1),e=ro.length;e--;)if(n=ro[e],void 0!==cd[n+a]){pd[t]=n+a;break}return pd[t]}):ud=null;var vd,gd,bd=ud;Xi?(gd=window.getComputedStyle||Po.getComputedStyle,vd=function(t){var e,n,a,r,o;if(e=gd(this.node),"string"==typeof t)return o=e[bd(t)],"0px"===o&&(o=0),o;if(!i(t))throw Error("Transition$getStyle must be passed a string, or an array of strings representing CSS properties");for(n={},a=t.length;a--;)r=t[a],o=e[bd(r)],"0px"===o&&(o=0),n[r]=o;return n}):vd=null;var yd=vd,xd=function(t,e){var n;if("string"==typeof t)this.node.style[bd(t)]=e;else for(n in t)t.hasOwnProperty(n)&&(this.node.style[bd(n)]=t[n]);return this},_d=function(t){var e;this.duration=t.duration,this.step=t.step,this.complete=t.complete,"string"==typeof t.easing?(e=t.root.easing[t.easing],e||(v(Io(t.easing,"easing")),e=qa)):e="function"==typeof t.easing?t.easing:qa,this.easing=e,this.start=ns(),this.end=this.start+this.duration,this.running=!0,_s.add(this)};_d.prototype={tick:function(t){var e,n;return this.running?t>this.end?(this.step&&this.step(1),this.complete&&this.complete(1),!1):(e=t-this.start,n=this.easing(e/this.duration),this.step&&this.step(n),!0):!1},stop:function(){this.abort&&this.abort(),this.running=!1}};var wd,kd,Ed,Sd,Cd,Pd,Ad,Od,Td=_d,Md=RegExp("^-(?:"+ro.join("|")+")-"),Rd=function(t){return t.replace(Md,"")},jd=RegExp("^(?:"+ro.join("|")+")([A-Z])"),Ld=function(t){var e;return t?(jd.test(t)&&(t="-"+t),e=t.replace(/[A-Z]/g,function(t){return"-"+t.toLowerCase()})):""},Dd={},Nd={};Xi?(kd=co("div").style,function(){void 0!==kd.transition?(Ed="transition",Sd="transitionend",Cd=!0):void 0!==kd.webkitTransition?(Ed="webkitTransition",Sd="webkitTransitionEnd",Cd=!0):Cd=!1}(),Ed&&(Pd=Ed+"Duration",Ad=Ed+"Property",Od=Ed+"TimingFunction"),wd=function(t,e,n,a,r){setTimeout(function(){var i,o,s,u,p;u=function(){o&&s&&(t.root.fire(t.name+":end",t.node,t.isIntro),r())},i=(t.node.namespaceURI||"")+t.node.tagName,t.node.style[Ad]=a.map(bd).map(Ld).join(","),t.node.style[Od]=Ld(n.easing||"linear"),t.node.style[Pd]=n.duration/1e3+"s",p=function(e){var n;n=a.indexOf(md(Rd(e.propertyName))),-1!==n&&a.splice(n,1),a.length||(t.node.removeEventListener(Sd,p,!1),s=!0,u())},t.node.addEventListener(Sd,p,!1),setTimeout(function(){for(var r,c,l,f,d,h=a.length,v=[];h--;)f=a[h],r=i+f,Cd&&!Nd[r]&&(t.node.style[bd(f)]=e[f],Dd[r]||(c=t.getStyle(f),Dd[r]=t.getStyle(f)!=e[f],Nd[r]=!Dd[r],Nd[r]&&(t.node.style[bd(f)]=c))),(!Cd||Nd[r])&&(void 0===c&&(c=t.getStyle(f)),l=a.indexOf(f),-1===l?m("Something very strange happened with transitions. Please raise an issue at https://github.com/ractivejs/ractive/issues - thanks!",{node:t.node}):a.splice(l,1),d=/[^\d]*$/.exec(e[f])[0],v.push({name:bd(f),interpolator:qo(parseFloat(c),parseFloat(e[f])),suffix:d}));v.length?new Td({root:t.root,duration:n.duration,easing:md(n.easing||""),step:function(e){var n,a;for(a=v.length;a--;)n=v[a],t.node.style[n.name]=n.interpolator(e)+n.suffix},complete:function(){o=!0,u()}}):o=!0,a.length||(t.node.removeEventListener(Sd,p,!1),s=!0,u())},0)},n.delay||0)}):wd=null;var Fd,Id,Bd,qd,Ud,Gd=wd;if("undefined"!=typeof document){if(Fd="hidden",Ud={},Fd in document)Bd="";else for(qd=ro.length;qd--;)Id=ro[qd],Fd=Id+"Hidden",Fd in document&&(Bd=Id);void 0!==Bd?(document.addEventListener(Bd+"visibilitychange",Ua),Ua()):("onfocusout"in document?(document.addEventListener("focusout",Ga),document.addEventListener("focusin",Va)):(window.addEventListener("pagehide",Ga),window.addEventListener("blur",Ga),window.addEventListener("pageshow",Va),window.addEventListener("focus",Va)),Ud.hidden=!1)}var Vd,zd,Wd,Hd=Ud;Xi?(zd=window.getComputedStyle||Po.getComputedStyle,Vd=function(t,e,n){var a,r=this;if(4===arguments.length)throw Error("t.animateStyle() returns a promise - use .then() instead of passing a callback");if(Hd.hidden)return this.setStyle(t,e),Wd||(Wd=ps.resolve());"string"==typeof t?(a={},a[t]=e):(a=t,n=e),n||(v('The "%s" transition does not supply an options object to `t.animateStyle()`. This will break in a future version of Ractive. For more info see https://github.com/RactiveJS/Ractive/issues/340',this.name),n=this);var i=new ps(function(t){var e,i,o,s,u,p,c;if(!n.duration)return r.setStyle(a),void t();for(e=Object.keys(a),i=[],o=zd(r.node),u={},p=e.length;p--;)c=e[p],s=o[bd(c)],"0px"===s&&(s=0),s!=a[c]&&(i.push(c),r.node.style[bd(c)]=s);return i.length?void Gd(r,a,n,i,t):void t()});return i}):Vd=null;var Kd=Vd,Qd=function(t,e){return"number"==typeof t?t={duration:t}:"string"==typeof t?t="slow"===t?{duration:600}:"fast"===t?{duration:200}:{duration:400}:t||(t={}),r({},t,e)},$d=za,Yd=function(t,e,n){this.init(t,e,n)};Yd.prototype={init:hd,start:$d,getStyle:yd,setStyle:xd,animateStyle:Kd,processParams:Qd};var Jd,Xd,Zd=Yd,th=Ha;Jd=function(){var t=this.node,e=this.fragment.toString(!1);if(window&&window.appearsToBeIELessEqual8&&(t.type="text/css"),t.styleSheet)t.styleSheet.cssText=e;else{for(;t.hasChildNodes();)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}},Xd=function(){this.node.type&&"text/javascript"!==this.node.type||m("Script tag was updated. This does not cause the code to be re-evaluated!",{ractive:this.root}),this.node.text=this.fragment.toString(!1)};var eh=function(){var t,e;return this.template.y?"":(t="<"+this.template.e,t+=this.attributes.map(Xa).join("")+this.conditionalAttributes.map(Xa).join(""),"option"===this.name&&Ya(this)&&(t+=" selected"),"input"===this.name&&Ja(this)&&(t+=" checked"),t+=">","textarea"===this.name&&void 0!==this.getAttribute("value")?t+=Ee(this.getAttribute("value")):void 0!==this.getAttribute("contenteditable")&&(t+=this.getAttribute("value")||""),this.fragment&&(e="script"!==this.name&&"style"!==this.name,t+=this.fragment.toString(e)),ic.test(this.template.e)||(t+=""),t)},nh=Za,ah=tr,rh=function(t){this.init(t)};rh.prototype={bubble:Tl,detach:Ml,find:Rl,findAll:jl,findAllComponents:Ll,findComponent:Dl,findNextNode:Nl,firstNode:Fl,getAttribute:Il,init:fd,rebind:dd,render:th,toString:eh,unbind:nh,unrender:ah};var ih=rh,oh=/^\s*$/,sh=/^\s*/,uh=function(t){var e,n,a,r;return e=t.split("\n"),n=e[0],void 0!==n&&oh.test(n)&&e.shift(),a=D(e),void 0!==a&&oh.test(a)&&e.pop(),r=e.reduce(nr,null),r&&(t=e.map(function(t){return t.replace(r,"")}).join("\n")),t},ph=ar,ch=function(t,e){var n;return e?n=t.split("\n").map(function(t,n){return n?e+t:t}).join("\n"):t},lh='Could not find template for partial "%s"',fh=function(t){var e,n;e=this.parentFragment=t.parentFragment,this.root=e.root,this.type=Ap,this.index=t.index,this.name=t.template.r,this.rendered=!1,this.fragment=this.fragmentToRender=this.fragmentToUnrender=null,Vc.init(this,t),this.keypath||((n=ph(this.root,this.name,e))?(xc.call(this),this.isNamed=!0,this.setTemplate(n)):v(lh,this.name))};fh.prototype={bubble:function(){this.parentFragment.bubble()},detach:function(){return this.fragment.detach()},find:function(t){return this.fragment.find(t)},findAll:function(t,e){return this.fragment.findAll(t,e)},findComponent:function(t){return this.fragment.findComponent(t)},findAllComponents:function(t,e){return this.fragment.findAllComponents(t,e)},firstNode:function(){return this.fragment.firstNode()},findNextNode:function(){return this.parentFragment.findNextNode(this)},getPartialName:function(){return this.isNamed&&this.name?this.name:void 0===this.value?this.name:this.value},getValue:function(){return this.fragment.getValue()},rebind:function(t,e){this.isNamed||Gc.call(this,t,e),this.fragment&&this.fragment.rebind(t,e)},render:function(){return this.docFrag=document.createDocumentFragment(),this.update(),this.rendered=!0,this.docFrag},resolve:Vc.resolve,setValue:function(t){var e;(void 0===t||t!==this.value)&&(void 0!==t&&(e=ph(this.root,""+t,this.parentFragment)),!e&&this.name&&(e=ph(this.root,this.name,this.parentFragment))&&(xc.call(this),this.isNamed=!0),e||v(lh,this.name,{ractive:this.root}),this.value=t,this.setTemplate(e||[]),this.bubble(),this.rendered&&bs.addView(this))},setTemplate:function(t){this.fragment&&(this.fragment.unbind(),this.rendered&&(this.fragmentToUnrender=this.fragment)),this.fragment=new rv({template:t,root:this.root,owner:this,pElement:this.parentFragment.pElement}),this.fragmentToRender=this.fragment},toString:function(t){var e,n,a,r;return e=this.fragment.toString(t),n=this.parentFragment.items[this.index-1],n&&n.type===kp?(a=n.text.split("\n").pop(),(r=/^\s+$/.exec(a))?ch(e,r[0]):e):e},unbind:function(){this.isNamed||xc.call(this),this.fragment&&this.fragment.unbind()},unrender:function(t){this.rendered&&(this.fragment&&this.fragment.unrender(t),this.rendered=!1)},update:function(){var t,e;this.fragmentToUnrender&&(this.fragmentToUnrender.unrender(!0),this.fragmentToUnrender=null),this.fragmentToRender&&(this.docFrag.appendChild(this.fragmentToRender.render()),this.fragmentToRender=null), - this.rendered&&(t=this.parentFragment.getNode(),e=this.parentFragment.findNextNode(this),t.insertBefore(this.docFrag,e))}};var dh,hh,mh,vh=fh,gh=ur,bh=pr,yh=new is("detach"),xh=cr,_h=lr,wh=fr,kh=dr,Eh=hr,Sh=mr,Ch=function(t,e,n,a){var r=t.root,i=t.keypath;a?r.viewmodel.smartUpdate(i,e,a):r.viewmodel.mark(i)},Ph=[],Ah=["pop","push","reverse","shift","sort","splice","unshift"];Ah.forEach(function(t){var e=function(){for(var e=arguments.length,n=Array(e),a=0;e>a;a++)n[a]=arguments[a];var r,i,o,s;for(r=bu(this,t,n),i=Array.prototype[t].apply(this,arguments),bs.start(),this._ractive.setting=!0,s=this._ractive.wrappers.length;s--;)o=this._ractive.wrappers[s],bs.addRactive(o.root),Ch(o,this,t,r);return bs.end(),this._ractive.setting=!1,i};So(Ph,t,{value:e})}),dh={},dh.__proto__?(hh=function(t){t.__proto__=Ph},mh=function(t){t.__proto__=Array.prototype}):(hh=function(t){var e,n;for(e=Ah.length;e--;)n=Ah[e],So(t,n,{value:Ph[n],configurable:!0})},mh=function(t){var e;for(e=Ah.length;e--;)delete t[Ah[e]]}),hh.unpatch=mh;var Oh,Th,Mh,Rh=hh;Oh={filter:function(t){return i(t)&&(!t._ractive||!t._ractive.setting)},wrap:function(t,e,n){return new Th(t,e,n)}},Th=function(t,e,n){this.root=t,this.value=e,this.keypath=E(n),e._ractive||(So(e,"_ractive",{value:{wrappers:[],instances:[],setting:!1},configurable:!0}),Rh(e)),e._ractive.instances[t._guid]||(e._ractive.instances[t._guid]=0,e._ractive.instances.push(t)),e._ractive.instances[t._guid]+=1,e._ractive.wrappers.push(this)},Th.prototype={get:function(){return this.value},teardown:function(){var t,e,n,a,r;if(t=this.value,e=t._ractive,n=e.wrappers,a=e.instances,e.setting)return!1;if(r=n.indexOf(this),-1===r)throw Error(Mh);if(n.splice(r,1),n.length){if(a[this.root._guid]-=1,!a[this.root._guid]){if(r=a.indexOf(this.root),-1===r)throw Error(Mh);a.splice(r,1)}}else delete t._ractive,Rh.unpatch(this.value)}},Mh="Something went wrong in a rather interesting way";var jh,Lh,Dh=Oh,Nh=/^\s*[0-9]+\s*$/,Fh=function(t){return Nh.test(t)?[]:{}};try{Object.defineProperty({},"test",{value:0}),jh={filter:function(t,e,n){var a,r;return e?(e=E(e),(a=n.viewmodel.wrapped[e.parent.str])&&!a.magic?!1:(r=n.viewmodel.get(e.parent),i(r)&&/^[0-9]+$/.test(e.lastKey)?!1:r&&("object"==typeof r||"function"==typeof r))):!1},wrap:function(t,e,n){return new Lh(t,e,n)}},Lh=function(t,e,n){var a,r,i;return n=E(n),this.magic=!0,this.ractive=t,this.keypath=n,this.value=e,this.prop=n.lastKey,a=n.parent,this.obj=a.isRoot?t.viewmodel.data:t.viewmodel.get(a),r=this.originalDescriptor=Object.getOwnPropertyDescriptor(this.obj,this.prop),r&&r.set&&(i=r.set._ractiveWrappers)?void(-1===i.indexOf(this)&&i.push(this)):void vr(this,e,r)},Lh.prototype={get:function(){return this.value},reset:function(t){return this.updating?void 0:(this.updating=!0,this.obj[this.prop]=t,bs.addRactive(this.ractive),this.ractive.viewmodel.mark(this.keypath,{keepExistingWrapper:!0}),this.updating=!1,!0)},set:function(t,e){this.updating||(this.obj[this.prop]||(this.updating=!0,this.obj[this.prop]=Fh(t),this.updating=!1),this.obj[this.prop][t]=e)},teardown:function(){var t,e,n,a,r;return this.updating?!1:(t=Object.getOwnPropertyDescriptor(this.obj,this.prop),e=t&&t.set,void(e&&(a=e._ractiveWrappers,r=a.indexOf(this),-1!==r&&a.splice(r,1),a.length||(n=this.obj[this.prop],Object.defineProperty(this.obj,this.prop,this.originalDescriptor||{writable:!0,enumerable:!0,configurable:!0}),this.obj[this.prop]=n))))}}}catch(Ao){jh=!1}var Ih,Bh,qh=jh;qh&&(Ih={filter:function(t,e,n){return qh.filter(t,e,n)&&Dh.filter(t)},wrap:function(t,e,n){return new Bh(t,e,n)}},Bh=function(t,e,n){this.value=e,this.magic=!0,this.magicWrapper=qh.wrap(t,e,n),this.arrayWrapper=Dh.wrap(t,e,n)},Bh.prototype={get:function(){return this.value},teardown:function(){this.arrayWrapper.teardown(),this.magicWrapper.teardown()},reset:function(t){return this.magicWrapper.reset(t)}});var Uh=Ih,Gh=gr,Vh={},zh=xr,Wh=_r,Hh=Er,Kh=Or,Qh=Tr,$h=function(t,e){this.computation=t,this.viewmodel=t.viewmodel,this.ref=e,this.root=this.viewmodel.ractive,this.parentFragment=this.root.component&&this.root.component.parentFragment};$h.prototype={resolve:function(t){this.computation.softDeps.push(t),this.computation.unresolvedDeps[t.str]=null,this.viewmodel.register(t,this.computation,"computed")}};var Yh=$h,Jh=function(t,e){this.key=t,this.getter=e.getter,this.setter=e.setter,this.hardDeps=e.deps||[],this.softDeps=[],this.unresolvedDeps={},this.depValues={},this._dirty=this._firstRun=!0};Jh.prototype={constructor:Jh,init:function(t){var e,n=this;this.viewmodel=t,this.bypass=!0,e=t.get(this.key),t.clearCache(this.key.str),this.bypass=!1,this.setter&&void 0!==e&&this.set(e),this.hardDeps&&this.hardDeps.forEach(function(e){return t.register(e,n,"computed")})},invalidate:function(){this._dirty=!0},get:function(){var t,e,n=this,a=!1;if(this.getting){var r="The "+this.key.str+" computation indirectly called itself. This probably indicates a bug in the computation. It is commonly caused by `array.sort(...)` - if that's the case, clone the array first with `array.slice().sort(...)`";return h(r),this.value}if(this.getting=!0,this._dirty){if(this._firstRun||!this.hardDeps.length&&!this.softDeps.length?a=!0:[this.hardDeps,this.softDeps].forEach(function(t){var e,r,i;if(!a)for(i=t.length;i--;)if(e=t[i],r=n.viewmodel.get(e),!s(r,n.depValues[e.str]))return n.depValues[e.str]=r,void(a=!0)}),a){this.viewmodel.capture();try{this.value=this.getter()}catch(i){m('Failed to compute "%s"',this.key.str),f(i.stack||i),this.value=void 0}t=this.viewmodel.release(),e=this.updateDependencies(t),e&&[this.hardDeps,this.softDeps].forEach(function(t){t.forEach(function(t){n.depValues[t.str]=n.viewmodel.get(t)})})}this._dirty=!1}return this.getting=this._firstRun=!1,this.value},set:function(t){if(this.setting)return void(this.value=t);if(!this.setter)throw Error("Computed properties without setters are read-only. (This may change in a future version of Ractive!)");this.setter(t)},updateDependencies:function(t){var e,n,a,r,i;for(n=this.softDeps,e=n.length;e--;)a=n[e],-1===t.indexOf(a)&&(r=!0,this.viewmodel.unregister(a,this,"computed"));for(e=t.length;e--;)a=t[e],-1!==n.indexOf(a)||this.hardDeps&&-1!==this.hardDeps.indexOf(a)||(r=!0,Mr(this.viewmodel,a)&&!this.unresolvedDeps[a.str]?(i=new Yh(this,a.str),t.splice(e,1),this.unresolvedDeps[a.str]=i,bs.addUnresolved(i)):this.viewmodel.register(a,this,"computed"));return r&&(this.softDeps=t.slice()),r}};var Xh=Jh,Zh=Rr,tm={FAILED_LOOKUP:!0},em=jr,nm={},am=Dr,rm=Nr,im=function(t,e){this.localKey=t,this.keypath=e.keypath,this.origin=e.origin,this.deps=[],this.unresolved=[],this.resolved=!1};im.prototype={forceResolution:function(){this.keypath=this.localKey,this.setup()},get:function(t,e){return this.resolved?this.origin.get(this.map(t),e):void 0},getValue:function(){return this.keypath?this.origin.get(this.keypath):void 0},initViewmodel:function(t){this.local=t,this.setup()},map:function(t){return void 0===typeof this.keypath?this.localKey:t.replace(this.localKey,this.keypath)},register:function(t,e,n){this.deps.push({keypath:t,dep:e,group:n}),this.resolved&&this.origin.register(this.map(t),e,n)},resolve:function(t){void 0!==this.keypath&&this.unbind(!0),this.keypath=t,this.setup()},set:function(t,e){this.resolved||this.forceResolution(),this.origin.set(this.map(t),e)},setup:function(){var t=this;void 0!==this.keypath&&(this.resolved=!0,this.deps.length&&(this.deps.forEach(function(e){var n=t.map(e.keypath);if(t.origin.register(n,e.dep,e.group),e.dep.setValue)e.dep.setValue(t.origin.get(n));else{if(!e.dep.invalidate)throw Error("An unexpected error occurred. Please raise an issue at https://github.com/ractivejs/ractive/issues - thanks!");e.dep.invalidate()}}),this.origin.mark(this.keypath)))},setValue:function(t){if(!this.keypath)throw Error("Mapping does not have keypath, cannot set value. Please raise an issue at https://github.com/ractivejs/ractive/issues - thanks!");this.origin.set(this.keypath,t)},unbind:function(t){var e=this;t||delete this.local.mappings[this.localKey],this.resolved&&(this.deps.forEach(function(t){e.origin.unregister(e.map(t.keypath),t.dep,t.group)}),this.tracker&&this.origin.unregister(this.keypath,this.tracker))},unregister:function(t,e,n){var a,r;if(this.resolved){for(a=this.deps,r=a.length;r--;)if(a[r].dep===e){a.splice(r,1);break}this.origin.unregister(this.map(t),e,n)}}};var om=Fr,sm=function(t,e){var n,a,r,i;return n={},a=0,r=t.map(function(t,r){var o,s,u;s=a,u=e.length;do{if(o=e.indexOf(t,s),-1===o)return i=!0,-1;s=o+1}while(n[o]&&u>s);return o===a&&(a+=1),o!==r&&(i=!0),n[o]=!0,o})},um=Ir,pm={},cm=Ur,lm=Vr,fm=zr,dm=Wr,hm=Kr,mm={implicit:!0},vm={noCascade:!0},gm=$r,bm=Yr,ym=function(t){var e,n,a=t.adapt,r=t.data,i=t.ractive,o=t.computed,s=t.mappings;this.ractive=i,this.adaptors=a,this.onchange=t.onchange,this.cache={},this.cacheMap=Eo(null),this.deps={computed:Eo(null),"default":Eo(null)},this.depsMap={computed:Eo(null),"default":Eo(null)},this.patternObservers=[],this.specials=Eo(null),this.wrapped=Eo(null),this.computations=Eo(null),this.captureGroups=[],this.unresolvedImplicitDependencies=[],this.changes=[],this.implicitChanges={},this.noCascade={},this.data=r,this.mappings=Eo(null);for(e in s)this.map(E(e),s[e]);if(r)for(e in r)(n=this.mappings[e])&&void 0===n.getValue()&&n.setValue(r[e]);for(e in o)s&&e in s&&l("Cannot map to a computed property ('%s')",e),this.compute(E(e),o[e]);this.ready=!0};ym.prototype={adapt:Gh,applyChanges:Hh,capture:Kh,clearCache:Qh,compute:Zh,get:em,init:am,map:rm,mark:om,merge:um,register:cm,release:lm,reset:fm,set:dm,smartUpdate:hm,teardown:gm,unregister:bm};var xm=ym;Xr.prototype={constructor:Xr,begin:function(t){this.inProcess[t._guid]=!0},end:function(t){var e=t.parent;e&&this.inProcess[e._guid]?Zr(this.queue,e).push(t):ti(this,t),delete this.inProcess[t._guid]}};var _m=Xr,wm=ei,km=/\$\{([^\}]+)\}/g,Em=new is("construct"),Sm=new is("config"),Cm=new _m("init"),Pm=0,Am=["adaptors","components","decorators","easing","events","interpolators","partials","transitions"],Om=ii,Tm=ci;ci.prototype={bubble:function(){this.dirty||(this.dirty=!0,bs.addView(this))},update:function(){this.callback(this.fragment.getValue()),this.dirty=!1},rebind:function(t,e){this.fragment.rebind(t,e)},unbind:function(){this.fragment.unbind()}};var Mm=function(t,e,n,r,o){var s,u,p,c,l,f,d={},h={},v={},g=[];for(u=t.parentFragment,p=t.root,o=o||{},a(d,o),o.content=r||[],d[""]=o.content,e.defaults.el&&m("The <%s/> component has a default `el` property; it has been disregarded",t.name),c=u;c;){if(c.owner.type===Rp){l=c.owner.container;break}c=c.parent}return n&&Object.keys(n).forEach(function(e){var a,r,o=n[e];if("string"==typeof o)a=fc(o),h[e]=a?a.value:o;else if(0===o)h[e]=!0;else{if(!i(o))throw Error("erm wut");fi(o)?(v[e]={origin:t.root.viewmodel,keypath:void 0},r=li(t,o[0],function(t){t.isSpecial?f?s.set(e,t.value):(h[e]=t.value,delete v[e]):f?s.viewmodel.mappings[e].resolve(t):v[e].keypath=t})):r=new Tm(t,o,function(t){f?s.set(e,t):h[e]=t}),g.push(r)}}),s=Eo(e.prototype),Om(s,{el:null,append:!0,data:h,partials:o,magic:p.magic||e.defaults.magic,modifyArrays:p.modifyArrays,adapt:p.adapt},{parent:p,component:t,container:l,mappings:v,inlinePartials:d,cssIds:u.cssIds}),f=!0,t.resolvers=g,s},Rm=di,jm=function(t){var e,n;for(e=t.root;e;)(n=e._liveComponentQueries["_"+t.name])&&n.push(t.instance),e=e.parent},Lm=mi,Dm=vi,Nm=gi,Fm=bi,Im=yi,Bm=new is("teardown"),qm=_i,Um=function(t,e){this.init(t,e)};Um.prototype={detach:bh,find:xh,findAll:_h,findAllComponents:wh,findComponent:kh,findNextNode:Eh,firstNode:Sh,init:Lm,rebind:Dm,render:Nm,toString:Fm,unbind:Im,unrender:qm};var Gm=Um,Vm=function(t){this.type=Op,this.value=t.template.c};Vm.prototype={detach:gc,firstNode:function(){return this.node},render:function(){return this.node||(this.node=document.createComment(this.value)),this.node},toString:function(){return""},unrender:function(t){t&&this.node.parentNode.removeChild(this.node)}};var zm=Vm,Wm=function(t){var e,n;this.type=Rp,this.container=e=t.parentFragment.root,this.component=n=e.component,this.container=e,this.containerFragment=t.parentFragment,this.parentFragment=n.parentFragment;var a=this.name=t.template.n||"",r=e._inlinePartials[a];r||(m('Could not find template for partial "'+a+'"',{ractive:t.root}),r=[]),this.fragment=new rv({owner:this,root:e.parent,template:r,pElement:this.containerFragment.pElement}),i(n.yielders[a])?n.yielders[a].push(this):n.yielders[a]=[this],bs.scheduleTask(function(){if(n.yielders[a].length>1)throw Error("A component template can only have one {{yield"+(a?" "+a:"")+"}} declaration at a time")})};Wm.prototype={detach:function(){return this.fragment.detach()},find:function(t){return this.fragment.find(t)},findAll:function(t,e){return this.fragment.findAll(t,e)},findComponent:function(t){return this.fragment.findComponent(t)},findAllComponents:function(t,e){return this.fragment.findAllComponents(t,e)},findNextNode:function(){return this.containerFragment.findNextNode(this)},firstNode:function(){return this.fragment.firstNode()},getValue:function(t){return this.fragment.getValue(t)},render:function(){return this.fragment.render()},unbind:function(){this.fragment.unbind()},unrender:function(t){this.fragment.unrender(t),N(this.component.yielders[this.name],this)},rebind:function(t,e){this.fragment.rebind(t,e)},toString:function(){return""+this.fragment}};var Hm=Wm,Km=function(t){this.declaration=t.template.a};Km.prototype={init:ko,render:ko,unrender:ko,teardown:ko,toString:function(){return""}};var Qm=Km,$m=wi,Ym=Ei,Jm=Si,Xm=Ci,Zm=Oi,tv=Mi,ev=function(t){this.init(t)};ev.prototype={bubble:cp,detach:lp,find:fp,findAll:dp,findAllComponents:hp,findComponent:mp,findNextNode:vp,firstNode:gp,getArgsList:hc,getNode:mc,getValue:vc,init:$m,rebind:Ym,registerIndexRef:function(t){var e=this.registeredIndexRefs;-1===e.indexOf(t)&&e.push(t)},render:Jm,toString:Xm,unbind:Zm,unregisterIndexRef:function(t){var e=this.registeredIndexRefs;e.splice(e.indexOf(t),1)},unrender:tv};var nv,av,rv=ev,iv=Ri,ov=["template","partials","components","decorators","events"],sv=new is("reset"),uv=function(t,e){function n(e,a,r){r&&r.partials[t]||e.forEach(function(e){e.type===Ap&&e.getPartialName()===t&&a.push(e),e.fragment&&n(e.fragment.items,a,r),i(e.fragments)?n(e.fragments,a,r):i(e.items)?n(e.items,a,r):e.type===Mp&&e.instance&&n(e.instance.fragment.items,a,e.instance),e.type===Pp&&(i(e.attributes)&&n(e.attributes,a,r),i(e.conditionalAttributes)&&n(e.conditionalAttributes,a,r))})}var a,r=[];return n(this.fragment.items,r),this.partials[t]=e,a=bs.start(this,!0),r.forEach(function(e){e.value=void 0,e.setValue(t)}),bs.end(),a},pv=ji,cv=xu("reverse"),lv=Li,fv=xu("shift"),dv=xu("sort"),hv=xu("splice"),mv=Ni,vv=Fi,gv=new is("teardown"),bv=Bi,yv=qi,xv=Ui,_v=new is("unrender"),wv=xu("unshift"),kv=Gi,Ev=new is("update"),Sv=Vi,Cv={add:Zo,animate:Es,detach:Cs,find:As,findAll:Fs,findAllComponents:Is,findComponent:Bs,findContainer:qs,findParent:Us,fire:Ws,get:Hs,insert:Qs,merge:Ys,observe:lu,observeOnce:fu,off:mu,on:vu,once:gu,pop:_u,push:wu,render:Tu,reset:iv,resetPartial:uv,resetTemplate:pv,reverse:cv,set:lv,shift:fv,sort:dv,splice:hv,subtract:mv,teardown:vv,toggle:bv,toHTML:yv,toHtml:yv,unrender:xv,unshift:wv,update:kv,updateModel:Sv},Pv=function(t,e,n){return n||Wi(t,e)?function(){var n,a="_super"in this,r=this._super;return this._super=e,n=t.apply(this,arguments),a&&(this._super=r),n}:t},Av=Hi,Ov=Yi,Tv=function(t){var e,n,a={};return t&&(e=t._ractive)?(a.ractive=e.root,a.keypath=e.keypath.str,a.index={},(n=Oc(e.proxy.parentFragment))&&(a.index=Oc.resolve(n)),a):a};nv=function(t){return this instanceof nv?void Om(this,t):new nv(t)},av={DEBUG:{writable:!0,value:!0},DEBUG_PROMISES:{writable:!0,value:!0},extend:{value:Ov},getNodeInfo:{value:Tv},parse:{value:Hu},Promise:{value:ps},svg:{value:ao},magic:{value:eo},VERSION:{value:"0.7.3"},adaptors:{writable:!0,value:{}},components:{writable:!0,value:{}},decorators:{writable:!0,value:{}},easing:{writable:!0,value:uo},events:{writable:!0,value:{}},interpolators:{writable:!0,value:Go},partials:{writable:!0,value:{}},transitions:{writable:!0,value:{}}},Co(nv,av),nv.prototype=a(Cv,so),nv.prototype.constructor=nv,nv.defaults=nv.prototype;var Mv="function";if(typeof Date.now!==Mv||typeof String.prototype.trim!==Mv||typeof Object.keys!==Mv||typeof Array.prototype.indexOf!==Mv||typeof Array.prototype.forEach!==Mv||typeof Array.prototype.map!==Mv||typeof Array.prototype.filter!==Mv||"undefined"!=typeof window&&typeof window.addEventListener!==Mv)throw Error("It looks like you're attempting to use Ractive.js in an older browser. You'll need to use one of the 'legacy builds' in order to continue - see http://docs.ractivejs.org/latest/legacy-builds for more information.");var Rv=nv;return Rv})},{}],206:[function(t,e,n){var a=t(205),r={exports:{}};!function(t){"use strict";t.exports={oninit:function(){var t=this;this.observe("value",function(e,n,a){var r=t.get(),i=r.min,o=r.max,s=Math.clamp(i,o,e);t.animate("percentage",Math.round((s-i)/(o-i)*100))})}}}(r),r.exports.template={v:3,t:[" ",{p:[13,1,305],t:7,e:"div",a:{"class":"bar"},f:[{p:[14,3,326],t:7,e:"div",a:{"class":["barFill ",{t:2,r:"state",p:[14,23,346]}],style:["width: ",{t:2,r:"percentage",p:[14,48,371]},"%"]}}," ",{p:[15,3,398],t:7,e:"span",a:{"class":"barText"},f:[{t:16,p:[15,25,420]}]}]}]},e.exports=a.extend(r.exports)},{205:205}],207:[function(t,e,n){var a=t(205),r={exports:{}};!function(e){"use strict";var n=t(310),a=t(309);e.exports={computed:{clickable:function(){return!this.get("enabled")||this.get("state")&&"toggle"!=this.get("state")?!1:!0},enabled:function(){return this.get("config.status")===n.UI_INTERACTIVE?!0:!1},styles:function(){var t="";if(this.get("class")&&(t+=" "+this.get("class")),this.get("tooltip-side")&&(t=" tooltip-"+this.get("tooltip-side")),this.get("grid")&&(t+=" gridable"),this.get("enabled")){var e=this.get("state"),n=this.get("style");return e?"inactive "+e+" "+t:"active normal "+n+" "+t}return"inactive disabled "+t}},oninit:function(){var t=this;this.on("press",function(e){var n=t.get(),r=n.action,i=n.params;(0,a.act)(t.get("config.ref"),r,i),e.node.blur()})},data:{iconStackToHTML:function(t){var e="",n=t.split(",");if(n.length){e+='';for(var a=n,r=Array.isArray(a),i=0,a=r?a:a[Symbol.iterator]();;){var o;if(r){if(i>=a.length)break;o=a[i++]}else{if(i=a.next(),i.done)break;o=i.value}var s=o,u=/([\w\-]+)\s*(\dx)/g,p=u.exec(s),c=p[1],l=p[2];e+=''}}return e&&(e+=""),e}}}}(r),r.exports.template={v:3,t:[" ",{p:[70,1,2015],t:7,e:"span",a:{"class":["button ",{t:2,r:"styles",p:[70,21,2035]}],unselectable:"on","data-tooltip":[{t:2,r:"tooltip",p:[73,17,2120]}]},m:[{t:4,f:["tabindex='0'"],r:"clickable",p:[72,3,2071]}],v:{"mouseover-mousemove":"hover",mouseleave:"unhover","click-enter":{n:[{t:4,f:["press"],r:"clickable",p:[76,19,2213]}],d:[]}},f:[{t:4,f:[{p:[78,5,2261],t:7,e:"i",a:{"class":["fa fa-",{t:2,r:"icon",p:[78,21,2277]}]}}],n:50,r:"icon",p:[77,3,2243]}," ",{t:4,f:[{t:3,x:{r:["iconStackToHTML","icon_stack"],s:"_0(_1)"},p:[81,6,2331]}],n:50,r:"icon_stack",p:[80,3,2306]}," ",{t:16,p:[83,3,2379]}]}]},e.exports=a.extend(r.exports)},{205:205,309:309,310:310}],208:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"div",a:{"class":"display"},f:[{t:4,f:[{p:[3,5,44],t:7,e:"header",f:[{p:[4,7,60],t:7,e:"h3",f:[{t:2,r:"title",p:[4,11,64]}]}," ",{t:4,f:[{p:[6,9,110],t:7,e:"div",a:{"class":"buttonRight"},f:[{t:16,n:"button",p:[6,34,135]}]}],n:50,r:"button",p:[5,7,86]}]}],n:50,r:"title",p:[2,3,25]}," ",{p:[10,3,202],t:7,e:"article",f:[{t:16,p:[11,5,217]}]}]}]},e.exports=a.extend(r.exports)},{205:205}],209:[function(t,e,n){var a=t(205),r={exports:{}};!function(t){"use strict";t.exports={oninit:function(){var t=this;this.on("clear",function(){t.set("value",""),t.find("input").focus()})}}}(r),r.exports.template={v:3,t:[" ",{p:[12,1,170],t:7,e:"input",a:{type:"text",value:[{t:2,r:"value",p:[12,27,196]}],placeholder:[{t:2,r:"placeholder",p:[12,51,220]}]}}," ",{p:[13,1,240],t:7,e:"ui-button",a:{icon:"refresh"},v:{press:"clear"}}]},e.exports=a.extend(r.exports)},{205:205}],210:[function(t,e,n){var a=t(205),r={exports:{}};!function(e){"use strict";e.exports={data:{graph:t(201),xaccessor:function(t){return t.x},yaccessor:function(t){return t.y}},computed:{size:function(){var t=this.get("points");return t[0].length},scale:function(){var t=this.get("points");return Math.max.apply(Math,Array.map(t,function(t){return Math.max.apply(Math,Array.map(t,function(t){return t.y}))}))},xaxis:function(){var t=this.get("xinc"),e=this.get("size");return Array.from(Array(e).keys()).filter(function(e){return e&&e%t==0})},yaxis:function(){var t=this.get("yinc"),e=this.get("scale");return Array.from(Array(t).keys()).map(function(t){return Math.round(e*(++t/100)*10)})}},oninit:function(){var t=this;this.on({enter:function(t){this.set("selected",t.index.count)},exit:function(t){this.set("selected")}}),window.addEventListener("resize",function(e){t.set("width",t.el.clientWidth)})},onrender:function(){this.set("width",this.el.clientWidth)}}}(r),r.exports.template={v:3,t:[" ",{p:[47,1,1269],t:7,e:"svg",a:{"class":"linegraph",width:"100%",height:[{t:2,x:{r:["height"],s:"_0+10"},p:[47,45,1313]}]},f:[{p:[48,3,1334],t:7,e:"g",a:{transform:"translate(0, 5)"},f:[{t:4,f:[{t:4,f:[{p:[51,9,1504],t:7,e:"line",a:{x1:[{t:2,x:{r:["xscale","."],s:"_0(_1)"},p:[51,19,1514]}],x2:[{t:2,x:{r:["xscale","."],s:"_0(_1)"},p:[51,38,1533]}],y1:"0",y2:[{t:2,r:"height",p:[51,64,1559]}],stroke:"darkgray"}}," ",{t:4,f:[{p:[53,11,1635],t:7,e:"text",a:{x:[{t:2,x:{r:["xscale","."],s:"_0(_1)"},p:[53,20,1644]}],y:[{t:2,x:{r:["height"],s:"_0-5"},p:[53,38,1662]}],"text-anchor":"middle",fill:"white"},f:[{t:2,x:{r:["size",".","xfactor"],s:"(_0-_1)*_2"},p:[53,88,1712]}," ",{t:2,r:"xunit",p:[53,113,1737]}]}],n:50,x:{r:["@index"],s:"_0%2==0"},p:[52,9,1600]}],n:52,r:"xaxis",p:[50,7,1479]}," ",{t:4,f:[{p:[57,9,1820],t:7,e:"line",a:{x1:"0",x2:[{t:2,r:"width",p:[57,26,1837]}],y1:[{t:2,x:{r:["yscale","."],s:"_0(_1)"},p:[57,41,1852]}],y2:[{t:2,x:{r:["yscale","."],s:"_0(_1)"},p:[57,60,1871]}],stroke:"darkgray"}}," ",{p:[58,9,1915],t:7,e:"text",a:{x:"0",y:[{t:2,x:{r:["yscale","."],s:"_0(_1)-5"},p:[58,24,1930]}],"text-anchor":"begin",fill:"white"},f:[{t:2,x:{r:[".","yfactor"],s:"_0*_1"},p:[58,76,1982]}," ",{t:2,r:"yunit",p:[58,92,1998]}]}],n:52,r:"yaxis",p:[56,7,1795]}," ",{t:4,f:[{p:[61,9,2071],t:7,e:"path",a:{d:[{t:2,x:{r:["area.path"],s:"_0.print()"},p:[61,18,2080]}],fill:[{t:2,rx:{r:"colors",m:[{t:30,n:"curve"}]},p:[61,47,2109]}],opacity:"0.1"}}],n:52,i:"curve",r:"curves",p:[60,7,2039]}," ",{t:4,f:[{p:[64,9,2200],t:7,e:"path",a:{d:[{t:2,x:{r:["line.path"],s:"_0.print()"},p:[64,18,2209]}],stroke:[{t:2,rx:{r:"colors",m:[{t:30,n:"curve"}]},p:[64,49,2240]}],fill:"none"}}],n:52,i:"curve",r:"curves",p:[63,7,2168]}," ",{t:4,f:[{t:4,f:[{p:[68,11,2375],t:7,e:"circle",a:{transform:["translate(",{t:2,r:".",p:[68,40,2404]},")"],r:[{t:2,x:{r:["selected","count"],s:"_0==_1?10:4"},p:[68,51,2415]}],fill:[{t:2,rx:{r:"colors",m:[{t:30,n:"curve"}]},p:[68,89,2453]}]},v:{mouseenter:"enter",mouseleave:"exit"}}],n:52,i:"count",x:{r:["line.path"],s:"_0.points()"},p:[67,9,2329]}],n:52,i:"curve",r:"curves",p:[66,7,2297]}," ",{t:4,f:[{t:4,f:[{t:4,f:[{p:[74,13,2678],t:7,e:"text",a:{transform:["translate(",{t:2,r:".",p:[74,40,2705]},") ",{t:2,x:{r:["count","size"],s:'_0<=_1/2?"translate(15, 4)":"translate(-15, 4)"'},p:[74,47,2712]}],"text-anchor":[{t:2,x:{r:["count","size"],s:'_0<=_1/2?"start":"end"'},p:[74,126,2791]}],fill:"white"},f:[{t:2,x:{r:["count","item","yfactor"],s:"_1[_0].y*_2"},p:[75,15,2861]}," ",{t:2,r:"yunit",p:[75,43,2889]}," @ ",{t:2,x:{r:["size","count","item","xfactor"],s:"(_0-_2[_1].x)*_3"},p:[75,55,2901]}," ",{t:2,r:"xunit",p:[75,92,2938]}]}],n:50,x:{r:["selected","count"],s:"_0==_1"},p:[73,11,2638]}],n:52,i:"count",x:{r:["line.path"],s:"_0.points()"},p:[72,9,2592]}],n:52,i:"curve",r:"curves",p:[71,7,2560]}," ",{t:4,f:[{p:[81,9,3063],t:7,e:"g",a:{transform:["translate(",{t:2,x:{r:["width","curves.length","@index"],s:"(_0/(_1+1))*(_2+1)"},p:[81,33,3087]},", 10)"]},f:[{p:[82,11,3154],t:7,e:"circle",a:{r:"4",fill:[{t:2,rx:{r:"colors",m:[{t:30,n:"curve"}]},p:[82,31,3174]}]}}," ",{p:[83,11,3206],t:7,e:"text",a:{x:"8",y:"4",fill:"white"},f:[{t:2,rx:{r:"legend",m:[{t:30,n:"curve"}]},p:[83,42,3237]}]}]}],n:52,i:"curve",r:"curves",p:[80,7,3031]}],x:{r:["graph","points","xaccessor","yaccessor","width","height"],s:"_0({data:_1,xaccessor:_2,yaccessor:_3,width:_4,height:_5})"},p:[49,5,1371]}]}]}]},e.exports=a.extend(r.exports)},{201:201,205:205}],211:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"div",a:{"class":"notice"},f:[{t:16,p:[2,3,24]}]}]},e.exports=a.extend(r.exports)},{205:205}],212:[function(t,e,n){var a=t(205),r={exports:{}};!function(e){"use strict";var n=t(309),a=t(311);e.exports={oninit:function(){var t=this,e=a.resize.bind(this),r=function(){return t.set({resize:!1,x:null,y:null})};this.observe("config.fancy",function(a,i,o){(0,n.winset)(t.get("config.window"),"can-resize",!a),a?(document.addEventListener("mousemove",e),document.addEventListener("mouseup",r)):(document.removeEventListener("mousemove",e),document.removeEventListener("mouseup",r))}),this.on("resize",function(){return t.toggle("resize")})}}}(r),r.exports.template={v:3,t:[" ",{t:4,f:[{p:[28,3,766],t:7,e:"div",a:{"class":"resize"},v:{mousedown:"resize"}}],n:50,r:"config.fancy",p:[27,1,742]}]},e.exports=a.extend(r.exports)},{205:205,309:309,311:311}],213:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"section",a:{"class":[{t:4,f:["candystripe"],r:"candystripe",p:[1,17,16]}]},f:[{t:4,f:[{p:[3,5,84],t:7,e:"span",a:{"class":"label",style:[{t:4,f:["color:",{t:2,r:"labelcolor",p:[3,53,132]}],r:"labelcolor",p:[3,32,111]}]},f:[{t:2,r:"label",p:[3,84,163]},":"]}],n:50,r:"label",p:[2,3,65]}," ",{t:4,f:[{t:16,p:[6,5,215]}],n:50,r:"nowrap",p:[5,3,195]},{t:4,n:51,f:[{p:[8,5,242],t:7,e:"div",a:{"class":"content",style:[{t:4,f:["float:right;"],r:"right",p:[8,33,270]}]},f:[{t:16,p:[9,7,312]}]}],r:"nowrap"}]}]},e.exports=a.extend(r.exports)},{205:205}],214:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"div",a:{"class":"subdisplay"},f:[{t:4,f:[{p:[3,5,47],t:7,e:"header",f:[{p:[4,7,63],t:7,e:"h4",f:[{t:2,r:"title",p:[4,11,67]}]}," ",{t:4,f:[{t:16,n:"button",p:[5,21,103]}],n:50,r:"button",p:[5,7,89]}]}],n:50,r:"title",p:[2,3,28]}," ",{p:[8,3,156],t:7,e:"article",f:[{t:16,p:[9,5,171]}]}]}]},e.exports=a.extend(r.exports)},{205:205}],215:[function(t,e,n){var a=t(205),r={exports:{}};!function(t){"use strict";t.exports={oninit:function(){var t=this;this.set("active",this.findComponent("tab").get("name")),this.on("switch",function(e){t.set("active",e.node.textContent.trim())}),this.observe("active",function(e,n,a){for(var r=t.findAllComponents("tab"),i=Array.isArray(r),o=0,r=i?r:r[Symbol.iterator]();;){var s;if(i){if(o>=r.length)break;s=r[o++]}else{if(o=r.next(),o.done)break;s=o.value}var u=s;u.set("shown",u.get("name")===e)}})}}}(r),r.exports.template={v:3,t:[" "," ",{p:[20,1,524],t:7,e:"header",f:[{t:4,f:[{p:[22,5,556],t:7,e:"ui-button",a:{pane:[{t:2,r:".",p:[22,22,573]}]},v:{press:"switch"},f:[{t:2,r:".",p:[22,47,598]}]}],n:52,r:"tabs",p:[21,3,536]}]}," ",{p:[25,1,641],t:7,e:"ui-display",f:[{t:8,r:"content",p:[26,3,657]}]}]},r.exports.components=r.exports.components||{};var i={tab:t(216)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{205:205,216:216}],216:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{t:16,p:[2,3,17]}],n:50,r:"shown",p:[1,1,0]}]},e.exports=a.extend(r.exports)},{205:205}],217:[function(t,e,n){var a=t(205),r={exports:{}};!function(e){"use strict";var n=t(310),a=t(309),r=t(311);e.exports={computed:{visualStatus:function(){switch(this.get("config.status")){case n.UI_INTERACTIVE:return"good";case n.UI_UPDATE:return"average";case n.UI_DISABLED:return"bad";default:return"bad"}}},oninit:function(){var t=this,e=r.drag.bind(this),n=function(e){return t.set({drag:!1,x:null,y:null})};this.observe("config.fancy",function(r,i,o){(0,a.winset)(t.get("config.window"),"titlebar",!r&&t.get("config.titlebar")),r?(document.addEventListener("mousemove",e),document.addEventListener("mouseup",n)):(document.removeEventListener("mousemove",e),document.removeEventListener("mouseup",n))}),this.on({drag:function(){this.toggle("drag")},close:function(){(0,a.winset)(this.get("config.window"),"is-visible",!1),window.location.href=(0,a.href)({command:"uiclose "+this.get("config.ref")},"winset")},minimize:function(){(0,a.winset)(this.get("config.window"),"is-minimized",!0)}})}}}(r),r.exports.template={v:3,t:[" ",{t:4,f:[{p:[50,3,1440],t:7,e:"header",a:{"class":"titlebar"},v:{mousedown:"drag"},f:[{p:[51,5,1491],t:7,e:"i",a:{"class":["statusicon fa fa-eye fa-2x ",{t:2,r:"visualStatus",p:[51,42,1528]}]}}," ",{p:[52,5,1556],t:7,e:"span",a:{"class":"title"},f:[{t:16,p:[52,25,1576]}]}," ",{t:4,f:[{p:[54,7,1626],t:7,e:"i",a:{"class":"minimize fa fa-minus fa-2x"},v:{click:"minimize"}}," ",{p:[55,7,1696],t:7,e:"i",a:{"class":"close fa fa-close fa-2x"},v:{click:"close"}}],n:50,r:"config.fancy",p:[53,5,1598]}]}],n:50,r:"config.titlebar",p:[49,1,1413]}]},e.exports=a.extend(r.exports)},{205:205,309:309,310:310,311:311}],218:[function(t,e,n){var a=t(205),r={exports:{}};!function(t){"use strict";var e=[11,10,9,8];t.exports={data:{userAgent:navigator.userAgent},computed:{ie:function(){if(document.documentMode)return document.documentMode;for(var t in e){var n=document.createElement("div");if(n.innerHTML="",n.getElementsByTagName("span").length)return t}}},oninit:function(){var t=this;this.on("debug",function(){return t.toggle("debug")})}}}(r),r.exports.template={v:3,t:[" ",{t:4,f:[{p:[27,3,662],t:7,e:"ui-notice",f:[{p:[28,5,679],t:7,e:"span",f:["You have an old (IE",{t:2,r:"ie",p:[28,30,704]},"), end-of-life (click 'EOL Info' for more information) version of Internet Explorer installed."]},{p:[28,137,811],t:7,e:"br"}," ",{p:[29,5,822],t:7,e:"span",f:["To upgrade, click 'Upgrade IE' to download IE11 from Microsoft."]},{p:[29,81,898],t:7,e:"br"}," ",{p:[30,5,909],t:7,e:"span",f:["If you are unable to upgrade directly, click 'IE VMs' to download a VM with IE11 or Edge from Microsoft."]},{p:[30,122,1026],t:7,e:"br"}," ",{p:[31,5,1037],t:7,e:"span",f:["Otherwise, click 'No Frills' below to disable potentially incompatible features (and this message)."]}," ",{p:[32,5,1155],t:7,e:"hr"}," ",{p:[33,5,1166],t:7,e:"ui-button",a:{icon:"close",action:"tgui:nofrills"},f:["No Frills"]}," ",{p:[34,5,1240],t:7,e:"ui-button",a:{icon:"internet-explorer",action:"tgui:link",params:'{"url": "http://windows.microsoft.com/en-us/internet-explorer/download-ie"}'},f:["Upgrade IE"]}," ",{p:[36,5,1416],t:7,e:"ui-button",a:{icon:"edge",action:"tgui:link",params:'{"url": "https://dev.windows.com/en-us/microsoft-edge/tools/vms"}'},f:["IE VMs"]}," ",{p:[38,5,1565],t:7,e:"ui-button",a:{icon:"info",action:"tgui:link",params:'{"url": "https://support.microsoft.com/en-us/lifecycle#gp/Microsoft-Internet-Explorer"}'},f:["EOL Info"]}," ",{p:[40,5,1738],t:7,e:"ui-button",a:{icon:"bug"},v:{press:"debug"},f:["Debug Info"]}," ",{t:4,f:[{p:[42,7,1826],t:7,e:"hr"}," ",{p:[43,7,1839],t:7,e:"span",f:["Detected: IE",{t:2,r:"ie",p:[43,25,1857]}]},{p:[43,38,1870],t:7,e:"br"}," ",{p:[44,7,1883],t:7,e:"span",f:["User Agent: ",{t:2,r:"userAgent",p:[44,25,1901]}]}],n:50,r:"debug",p:[41,5,1805]}]}],n:50,x:{r:["config.fancy","ie"],s:"_0&&_1&&_1<11"},p:[26,1,621]}]},e.exports=a.extend(r.exports)},{205:205}],219:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[" "," "," "," "," ",{p:[7,1,267],t:7,e:"ui-notice",f:[{t:4,f:[{p:[9,5,312],t:7,e:"ui-section",a:{ - label:"Interface Lock"},f:[{p:[10,7,355],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.locked"],s:'_0?"lock":"unlock"'},p:[10,24,372]}],action:"lock"},f:[{t:2,x:{r:["data.locked"],s:'_0?"Engaged":"Disengaged"'},p:[10,75,423]}]}]}],n:50,r:"data.siliconUser",p:[8,3,282]},{t:4,n:51,f:[{p:[13,5,514],t:7,e:"span",f:["Swipe an ID card to ",{t:2,x:{r:["data.locked"],s:'_0?"unlock":"lock"'},p:[13,31,540]}," this interface."]}],r:"data.siliconUser"}]}," ",{p:[16,1,625],t:7,e:"status"}," ",{t:4,f:[{t:4,f:[{p:[19,7,719],t:7,e:"ui-display",a:{title:"Air Controls"},f:[{p:[20,9,762],t:7,e:"ui-section",f:[{p:[21,11,786],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.atmos_alarm"],s:'_0?"exclamation-triangle":"exclamation"'},p:[21,28,803]}],style:[{t:2,x:{r:["data.atmos_alarm"],s:'_0?"caution":null'},p:[21,98,873]}],action:[{t:2,x:{r:["data.atmos_alarm"],s:'_0?"reset":"alarm"'},p:[22,23,937]}]},f:["Area Atmosphere Alarm"]}]}," ",{p:[24,9,1045],t:7,e:"ui-section",f:[{p:[25,11,1069],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.mode"],s:'_0==3?"exclamation-triangle":"exclamation"'},p:[25,28,1086]}],style:[{t:2,x:{r:["data.mode"],s:'_0==3?"danger":null'},p:[25,96,1154]}],action:"mode",params:['{"mode": ',{t:2,x:{r:["data.mode"],s:"_0==3?1:3"},p:[26,44,1236]},"}"]},f:["Panic Siphon"]}]}," ",{p:[28,9,1322],t:7,e:"br"}," ",{p:[29,9,1337],t:7,e:"ui-section",f:[{p:[30,11,1361],t:7,e:"ui-button",a:{icon:"sign-out",action:"tgui:view",params:'{"screen": "vents"}'},f:["Vent Controls"]}]}," ",{p:[32,9,1494],t:7,e:"ui-section",f:[{p:[33,11,1518],t:7,e:"ui-button",a:{icon:"filter",action:"tgui:view",params:'{"screen": "scrubbers"}'},f:["Scrubber Controls"]}]}," ",{p:[35,9,1657],t:7,e:"ui-section",f:[{p:[36,11,1681],t:7,e:"ui-button",a:{icon:"cog",action:"tgui:view",params:'{"screen": "modes"}'},f:["Operating Mode"]}]}," ",{p:[38,9,1810],t:7,e:"ui-section",f:[{p:[39,11,1834],t:7,e:"ui-button",a:{icon:"bar-chart",action:"tgui:view",params:'{"screen": "thresholds"}'},f:["Alarm Thresholds"]}]}]}],n:50,x:{r:["config.screen"],s:'_0=="home"'},p:[18,3,680]},{t:4,n:51,f:[{t:4,n:50,x:{r:["config.screen"],s:'_0=="vents"'},f:[{p:[43,5,2032],t:7,e:"vents"}]},{t:4,n:50,x:{r:["config.screen"],s:'(!(_0=="vents"))&&(_0=="scrubbers")'},f:[" ",{p:[45,5,2089],t:7,e:"scrubbers"}]},{t:4,n:50,x:{r:["config.screen"],s:'(!(_0=="vents"))&&((!(_0=="scrubbers"))&&(_0=="modes"))'},f:[" ",{p:[47,5,2146],t:7,e:"modes"}]},{t:4,n:50,x:{r:["config.screen"],s:'(!(_0=="vents"))&&((!(_0=="scrubbers"))&&((!(_0=="modes"))&&(_0=="thresholds")))'},f:[" ",{p:[49,5,2204],t:7,e:"thresholds"}]}],x:{r:["config.screen"],s:'_0=="home"'}}],n:50,x:{r:["data.locked","data.siliconUser"],s:"!_0||_1"},p:[17,1,636]}]},r.exports.components=r.exports.components||{};var i={vents:t(225),modes:t(221),thresholds:t(224),status:t(223),scrubbers:t(222)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{205:205,221:221,222:222,223:223,224:224,225:225}],220:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-button",a:{icon:"arrow-left",action:"tgui:view",params:'{"screen": "home"}'},f:["Back"]}]},e.exports=a.extend(r.exports)},{205:205}],221:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[" ",{p:{button:[{p:[5,5,115],t:7,e:"back"}]},t:7,e:"ui-display",a:{title:"Operating Modes",button:0},f:[" ",{t:4,f:[{p:[8,5,168],t:7,e:"ui-section",f:[{p:[9,7,188],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["selected"],s:'_0?"check-square-o":"square-o"'},p:[9,24,205]}],state:[{t:2,x:{r:["selected","danger"],s:'_0?_1?"danger":"selected":null'},p:[10,16,267]}],action:"mode",params:['{"mode": ',{t:2,r:"mode",p:[11,40,361]},"}"]},f:[{t:2,r:"name",p:[11,51,372]}]}]}],n:52,r:"data.modes",p:[7,3,142]}]}]},r.exports.components=r.exports.components||{};var i={back:t(220)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{205:205,220:220}],222:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[" ",{p:{button:[{p:[5,5,117],t:7,e:"back"}]},t:7,e:"ui-display",a:{title:"Scrubber Controls",button:0},f:[" ",{t:4,f:[{p:[8,5,174],t:7,e:"ui-subdisplay",a:{title:[{t:2,r:"long_name",p:[8,27,196]}]},f:[{p:[9,7,219],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[10,9,255],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["power"],s:'_0?"power-off":"close"'},p:[10,26,272]}],style:[{t:2,x:{r:["power"],s:'_0?"selected":null'},p:[10,68,314]}],action:"power",params:['{"id_tag": "',{t:2,r:"id_tag",p:[11,46,391]},'", "val": ',{t:2,x:{r:["power"],s:"+!_0"},p:[11,66,411]},"}"]},f:[{t:2,x:{r:["power"],s:'_0?"On":"Off"'},p:[11,80,425]}]}]}," ",{p:[13,7,490],t:7,e:"ui-section",a:{label:"Mode"},f:[{p:[14,9,525],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["scrubbing"],s:'_0?"filter":"sign-in"'},p:[14,26,542]}],style:[{t:2,x:{r:["scrubbing"],s:'_0?null:"danger"'},p:[14,71,587]}],action:"scrubbing",params:['{"id_tag": "',{t:2,r:"id_tag",p:[15,50,670]},'", "val": ',{t:2,x:{r:["scrubbing"],s:"+!_0"},p:[15,70,690]},"}"]},f:[{t:2,x:{r:["scrubbing"],s:'_0?"Scrubbing":"Siphoning"'},p:[15,88,708]}]}]}," ",{p:[17,7,790],t:7,e:"ui-section",a:{label:"Range"},f:[{p:[18,9,826],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["widenet"],s:'_0?"expand":"compress"'},p:[18,26,843]}],style:[{t:2,x:{r:["widenet"],s:'_0?"selected":null'},p:[18,70,887]}],action:"widenet",params:['{"id_tag": "',{t:2,r:"id_tag",p:[19,48,968]},'", "val": ',{t:2,x:{r:["widenet"],s:"+!_0"},p:[19,68,988]},"}"]},f:[{t:2,x:{r:["widenet"],s:'_0?"Expanded":"Normal"'},p:[19,84,1004]}]}]}," ",{p:[21,7,1080],t:7,e:"ui-section",a:{label:"Filters"},f:[{p:[22,9,1118],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["filter_co2"],s:'_0?"check-square-o":"square-o"'},p:[22,26,1135]}],style:[{t:2,x:{r:["filter_co2"],s:'_0?"selected":null'},p:[22,81,1190]}],action:"co2_scrub",params:['{"id_tag": "',{t:2,r:"id_tag",p:[23,50,1276]},'", "val": ',{t:2,x:{r:["filter_co2"],s:"+!_0"},p:[23,70,1296]},"}"]},f:["CO2"]}," ",{p:[24,9,1340],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["filter_n2o"],s:'_0?"check-square-o":"square-o"'},p:[24,26,1357]}],style:[{t:2,x:{r:["filter_n2o"],s:'_0?"selected":null'},p:[24,81,1412]}],action:"n2o_scrub",params:['{"id_tag": "',{t:2,r:"id_tag",p:[25,50,1498]},'", "val": ',{t:2,x:{r:["filter_n2o"],s:"+!_0"},p:[25,70,1518]},"}"]},f:["N2O"]}," ",{p:[26,9,1562],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["filter_toxins"],s:'_0?"check-square-o":"square-o"'},p:[26,26,1579]}],style:[{t:2,x:{r:["filter_toxins"],s:'_0?"selected":null'},p:[26,84,1637]}],action:"tox_scrub",params:['{"id_tag": "',{t:2,r:"id_tag",p:[27,50,1726]},'", "val": ',{t:2,x:{r:["filter_toxins"],s:"+!_0"},p:[27,70,1746]},"}"]},f:["Plasma"]}," ",{p:[28,3,1790],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["filter_bz"],s:'_0?"check-square-o":"square-o"'},p:[28,20,1807]}],style:[{t:2,x:{r:["filter_bz"],s:'_0?"selected":null'},p:[28,74,1861]}],action:"bz_scrub",params:['{"id_tag": "',{t:2,r:"id_tag",p:[29,43,1939]},'", "val": ',{t:2,x:{r:["filter_bz"],s:"+!_0"},p:[29,63,1959]},"}"]},f:["BZ"]}," ",{p:[30,3,1995],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["filter_freon"],s:'_0?"check-square-o":"square-o"'},p:[30,20,2012]}],style:[{t:2,x:{r:["filter_freon"],s:'_0?"selected":null'},p:[30,77,2069]}],action:"freon_scrub",params:['{"id_tag": "',{t:2,r:"id_tag",p:[31,46,2153]},'", "val": ',{t:2,x:{r:["filter_freon"],s:"+!_0"},p:[31,66,2173]},"}"]},f:["Freon"]}," ",{p:[32,3,2215],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["filter_water_vapor"],s:'_0?"check-square-o":"square-o"'},p:[32,20,2232]}],style:[{t:2,x:{r:["filter_water_vapor"],s:'_0?"selected":null'},p:[32,83,2295]}],action:"water_vapor_scrub",params:['{"id_tag": "',{t:2,r:"id_tag",p:[33,52,2391]},'", "val": ',{t:2,x:{r:["filter_water_vapor"],s:"+!_0"},p:[33,72,2411]},"}"]},f:["Water Vapor"]}]}]}],n:52,r:"data.scrubbers",p:[7,3,144]},{t:4,n:51,f:[{p:[37,5,2522],t:7,e:"span",a:{"class":"bad"},f:["Error: No scrubbers connected."]}],r:"data.scrubbers"}]}]},r.exports.components=r.exports.components||{};var i={back:t(220)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{205:205,220:220}],223:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Air Status"},f:[{t:4,f:[{t:4,f:[{p:[4,7,110],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[4,26,129]}]},f:[{p:[5,6,146],t:7,e:"span",a:{"class":[{t:2,x:{r:["danger_level"],s:'_0==2?"bad":_0==1?"average":"good"'},p:[5,19,159]}]},f:[{t:2,x:{r:["value"],s:"Math.fixed(_0,2)"},p:[6,5,237]},{t:2,r:"unit",p:[6,29,261]}]}]}],n:52,r:"adata.environment_data",p:[3,5,70]}," ",{p:[10,5,322],t:7,e:"ui-section",a:{label:"Local Status"},f:[{p:[11,7,363],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.danger_level"],s:'_0==2?"bad bold":_0==1?"average bold":"good"'},p:[11,20,376]}]},f:[{t:2,x:{r:["data.danger_level"],s:'_0==2?"Danger (Internals Required)":_0==1?"Caution":"Optimal"'},p:[12,6,475]}]}]}," ",{p:[15,5,619],t:7,e:"ui-section",a:{label:"Area Status"},f:[{p:[16,7,659],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.atmos_alarm","data.fire_alarm"],s:'_0||_1?"bad bold":"good"'},p:[16,20,672]}]},f:[{t:2,x:{r:["data.atmos_alarm","fire_alarm"],s:'_0?"Atmosphere Alarm":_1?"Fire Alarm":"Nominal"'},p:[17,8,744]}]}]}],n:50,r:"data.environment_data",p:[2,3,35]},{t:4,n:51,f:[{p:[21,5,876],t:7,e:"ui-section",a:{label:"Warning"},f:[{p:[22,7,912],t:7,e:"span",a:{"class":"bad bold"},f:["Cannot obtain air sample for analysis."]}]}],r:"data.environment_data"}," ",{t:4,f:[{p:[26,5,1040],t:7,e:"ui-section",a:{label:"Warning"},f:[{p:[27,7,1076],t:7,e:"span",a:{"class":"bad bold"},f:["Safety measures offline. Device may exhibit abnormal behavior."]}]}],n:50,r:"data.emagged",p:[25,3,1014]}]}]},e.exports=a.extend(r.exports)},{205:205}],224:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.css=" th, td {\r\n padding-right: 16px;\r\n text-align: left;\r\n }",r.exports.template={v:3,t:[" ",{p:{button:[{p:[5,5,116],t:7,e:"back"}]},t:7,e:"ui-display",a:{title:"Alarm Thresholds",button:0},f:[" ",{p:[7,3,143],t:7,e:"table",f:[{p:[8,5,156],t:7,e:"thead",f:[{p:[8,12,163],t:7,e:"tr",f:[{p:[9,7,175],t:7,e:"th"}," ",{p:[10,7,192],t:7,e:"th",f:[{p:[10,11,196],t:7,e:"span",a:{"class":"bad"},f:["min2"]}]}," ",{p:[11,7,238],t:7,e:"th",f:[{p:[11,11,242],t:7,e:"span",a:{"class":"average"},f:["min1"]}]}," ",{p:[12,7,288],t:7,e:"th",f:[{p:[12,11,292],t:7,e:"span",a:{"class":"average"},f:["max1"]}]}," ",{p:[13,7,338],t:7,e:"th",f:[{p:[13,11,342],t:7,e:"span",a:{"class":"bad"},f:["max2"]}]}]}]}," ",{p:[15,5,401],t:7,e:"tbody",f:[{t:4,f:[{p:[16,32,441],t:7,e:"tr",f:[{p:[17,9,455],t:7,e:"th",f:[{t:3,r:"name",p:[17,13,459]}]}," ",{t:4,f:[{p:[18,27,502],t:7,e:"td",f:[{p:[19,11,518],t:7,e:"ui-button",a:{action:"threshold",params:['{"env": "',{t:2,r:"env",p:[19,58,565]},'", "var": "',{t:2,r:"val",p:[19,76,583]},'"}']},f:[{t:2,x:{r:["selected"],s:"Math.fixed(_0,2)"},p:[19,87,594]}]}]}],n:52,r:"settings",p:[18,9,484]}]}],n:52,r:"data.thresholds",p:[16,7,416]}]}," ",{p:[23,3,697],t:7,e:"table",f:[]}]}]}," "]},r.exports.components=r.exports.components||{};var i={back:t(220)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{205:205,220:220}],225:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[" ",{p:{button:[{p:[5,5,113],t:7,e:"back"}]},t:7,e:"ui-display",a:{title:"Vent Controls",button:0},f:[" ",{t:4,f:[{p:[8,5,166],t:7,e:"ui-subdisplay",a:{title:[{t:2,r:"long_name",p:[8,27,188]}]},f:[{p:[9,7,211],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[10,9,247],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["power"],s:'_0?"power-off":"close"'},p:[10,26,264]}],style:[{t:2,x:{r:["power"],s:'_0?"selected":null'},p:[10,68,306]}],action:"power",params:['{"id_tag": "',{t:2,r:"id_tag",p:[11,46,383]},'", "val": ',{t:2,x:{r:["power"],s:"+!_0"},p:[11,66,403]},"}"]},f:[{t:2,x:{r:["power"],s:'_0?"On":"Off"'},p:[11,80,417]}]}]}," ",{p:[13,7,482],t:7,e:"ui-section",a:{label:"Mode"},f:[{p:[14,9,517],t:7,e:"span",f:[{t:2,x:{r:["direction"],s:'_0=="release"?"Pressurizing":"Siphoning"'},p:[14,15,523]}]}]}," ",{p:[16,7,616],t:7,e:"ui-section",a:{label:"Pressure Regulator"},f:[{p:[17,9,665],t:7,e:"ui-button",a:{icon:"sign-in",style:[{t:2,x:{r:["incheck"],s:'_0?"selected":null'},p:[17,42,698]}],action:"incheck",params:['{"id_tag": "',{t:2,r:"id_tag",p:[18,48,779]},'", "val": ',{t:2,r:"checks",p:[18,68,799]},"}"]},f:["Internal"]}," ",{p:[19,9,842],t:7,e:"ui-button",a:{icon:"sign-out",style:[{t:2,x:{r:["excheck"],s:'_0?"selected":null'},p:[19,43,876]}],action:"excheck",params:['{"id_tag": "',{t:2,r:"id_tag",p:[20,48,957]},'", "val": ',{t:2,r:"checks",p:[20,68,977]},"}"]},f:["External"]}]}," ",{p:[22,7,1039],t:7,e:"ui-section",a:{label:"Target Pressure"},f:[{p:[23,9,1085],t:7,e:"ui-button",a:{icon:"pencil",action:"set_external_pressure",params:['{"id_tag": "',{t:2,r:"id_tag",p:[24,31,1172]},'"}']},f:[{t:2,x:{r:["external"],s:"Math.fixed(_0)"},p:[24,45,1186]}]}," ",{p:[25,9,1232],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["extdefault"],s:'_0?"disabled":null'},p:[25,42,1265]}],action:"reset_external_pressure",params:['{"id_tag": "',{t:2,r:"id_tag",p:[26,31,1365]},'"}']},f:["Reset"]}]}]}],n:52,r:"data.vents",p:[7,3,140]},{t:4,n:51,f:[{p:[30,5,1457],t:7,e:"span",a:{"class":"bad"},f:["Error: No vents connected."]}],r:"data.vents"}]}]},r.exports.components=r.exports.components||{};var i={back:t(220)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{205:205,220:220}],226:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.css=" table {\r\n width: 100%;\r\n border-spacing: 2px;\r\n }\r\n th {\r\n text-align: left;\r\n }\r\n td {\r\n vertical-align: top;\r\n }\r\n td .button {\r\n margin-top: 4px\r\n }",r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{p:[2,3,16],t:7,e:"ui-section",f:[{p:[3,5,34],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.oneAccess"],s:'_0?"unlock":"lock"'},p:[3,22,51]}],action:"one_access"},f:[{t:2,x:{r:["data.oneAccess"],s:'_0?"One":"All"'},p:[3,82,111]}," Required"]}," ",{p:[4,5,172],t:7,e:"ui-button",a:{icon:"refresh",action:"clear"},f:["Clear"]}]}," ",{p:[6,3,251],t:7,e:"hr"}," ",{p:[7,3,260],t:7,e:"table",f:[{p:[8,3,271],t:7,e:"thead",f:[{p:[9,4,283],t:7,e:"tr",f:[{t:4,f:[{p:[10,5,315],t:7,e:"th",f:[{p:[10,9,319],t:7,e:"span",a:{"class":"highlight bold"},f:[{t:2,r:"name",p:[10,38,348]}]}]}],n:52,r:"data.regions",p:[9,8,287]}]}]}," ",{p:[13,3,403],t:7,e:"tbody",f:[{p:[14,4,415],t:7,e:"tr",f:[{t:4,f:[{p:[15,5,447],t:7,e:"td",f:[{t:4,f:[{p:[16,11,481],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["req"],s:'_0?"check-square-o":"square-o"'},p:[16,28,498]}],style:[{t:2,x:{r:["req"],s:'_0?"selected":null'},p:[16,76,546]}],action:"set",params:['{"access": "',{t:2,r:"id",p:[17,46,621]},'"}']},f:[{t:2,r:"name",p:[17,56,631]}]}," ",{p:[18,9,661],t:7,e:"br"}],n:52,r:"accesses",p:[15,9,451]}]}],n:52,r:"data.regions",p:[14,8,419]}]}]}]}]}," "]},e.exports=a.extend(r.exports)},{205:205}],227:[function(t,e,n){var a=t(205),r={exports:{}};!function(t){"use strict";t.exports={data:{powerState:function(t){switch(t){case 2:return"good";case 1:return"average";default:return"bad"}}},computed:{malfAction:function(){switch(this.get("data.malfStatus")){case 1:return"hack";case 2:return"occupy";case 3:return"deoccupy"}},malfButton:function(){switch(this.get("data.malfStatus")){case 1:return"Override Programming";case 2:case 4:return"Shunt Core Process";case 3:return"Return to Main Core"}},malfIcon:function(){switch(this.get("data.malfStatus")){case 1:return"terminal";case 2:case 4:return"caret-square-o-down";case 3:return"caret-square-o-left"}},powerCellStatusState:function(){var t=this.get("data.powerCellStatus");return t>50?"good":t>25?"average":"bad"}}}}(r),r.exports.template={v:3,t:[" ",{t:4,f:[{p:[46,2,1206],t:7,e:"ui-notice",f:[{p:[47,3,1221],t:7,e:"b",f:[{p:[47,6,1224],t:7,e:"h3",f:["SYSTEM FAILURE"]}]}," ",{p:[48,3,1255],t:7,e:"i",f:["I/O regulators malfunction detected! Waiting for system reboot..."]},{p:[48,75,1327],t:7,e:"br"}," Automatic reboot in ",{t:2,r:"data.failTime",p:[49,23,1355]}," seconds... ",{p:[50,3,1387],t:7,e:"ui-button",a:{icon:"refresh",action:"reboot"},f:["Reboot Now"]},{p:[50,67,1451],t:7,e:"br"},{p:[50,71,1455],t:7,e:"br"},{p:[50,75,1459],t:7,e:"br"}]}],n:50,r:"data.failTime",p:[45,1,1182]},{t:4,n:51,f:[{p:[53,2,1491],t:7,e:"ui-notice",f:[{t:4,f:[{p:[55,3,1535],t:7,e:"ui-section",a:{label:"Interface Lock"},f:[{p:[56,5,1576],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.locked"],s:'_0?"lock":"unlock"'},p:[56,22,1593]}],action:"lock"},f:[{t:2,x:{r:["data.locked"],s:'_0?"Engaged":"Disengaged"'},p:[56,73,1644]}]}]}],n:50,r:"data.siliconUser",p:[54,4,1507]},{t:4,n:51,f:[{p:[59,3,1732],t:7,e:"span",f:["Swipe an ID card to ",{t:2,x:{r:["data.locked"],s:'_0?"unlock":"lock"'},p:[59,29,1758]}," this interface."]}],r:"data.siliconUser"}]}," ",{p:[62,2,1846],t:7,e:"ui-display",a:{title:"Power Status"},f:[{p:[63,4,1884],t:7,e:"ui-section",a:{label:"Main Breaker"},f:[{t:4,f:[{p:[65,5,1967],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.isOperating"],s:'_0?"good":"bad"'},p:[65,18,1980]}]},f:[{t:2,x:{r:["data.isOperating"],s:'_0?"On":"Off"'},p:[65,57,2019]}]}],n:50,x:{r:["data.locked","data.siliconUser"],s:"_0&&!_1"},p:[64,3,1921]},{t:4,n:51,f:[{p:[67,5,2079],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.isOperating"],s:'_0?"power-off":"close"'},p:[67,22,2096]}],style:[{t:2,x:{r:["data.isOperating"],s:'_0?"selected":null'},p:[67,75,2149]}],action:"breaker"},f:[{t:2,x:{r:["data.isOperating"],s:'_0?"On":"Off"'},p:[68,21,2212]}]}],x:{r:["data.locked","data.siliconUser"],s:"_0&&!_1"}}]}," ",{p:[71,4,2293],t:7,e:"ui-section",a:{label:"External Power"},f:[{p:[72,3,2332],t:7,e:"span",a:{"class":[{t:2,x:{r:["powerState","data.externalPower"],s:"_0(_1)"},p:[72,16,2345]}]},f:[{t:2,x:{r:["data.externalPower"],s:'_0==2?"Good":_0==1?"Low":"None"'},p:[72,52,2381]}]}]}," ",{p:[74,4,2490],t:7,e:"ui-section",a:{label:"Power Cell"},f:[{t:4,f:[{p:[76,5,2567],t:7,e:"ui-bar",a:{min:"0",max:"100",value:[{t:2,r:"data.powerCellStatus",p:[76,38,2600]}],state:[{t:2,r:"powerCellStatusState",p:[76,71,2633]}]},f:[{t:2,x:{r:["adata.powerCellStatus"],s:"Math.fixed(_0)"},p:[76,97,2659]},"%"]}],n:50,x:{r:["data.powerCellStatus"],s:"_0!=null"},p:[75,3,2525]},{t:4,n:51,f:[{p:[78,5,2724],t:7,e:"span",a:{"class":"bad"},f:["Removed"]}],x:{r:["data.powerCellStatus"],s:"_0!=null"}}]}," ",{t:4,f:[{p:[82,3,2830],t:7,e:"ui-section",a:{label:"Charge Mode"},f:[{t:4,f:[{p:[84,4,2913],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.chargeMode"],s:'_0?"good":"bad"'},p:[84,17,2926]}]},f:[{t:2,x:{r:["data.chargeMode"],s:'_0?"Auto":"Off"'},p:[84,55,2964]}]}],n:50,x:{r:["data.locked","data.siliconUser"],s:"_0&&!_1"},p:[83,5,2868]},{t:4,n:51,f:[{p:[86,4,3026],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.chargeMode"],s:'_0?"refresh":"close"'},p:[86,21,3043]}],style:[{t:2,x:{r:["data.chargeMode"],s:'_0?"selected":null'},p:[86,71,3093]}],action:"charge"},f:[{t:2,x:{r:["data.chargeMode"],s:'_0?"Auto":"Off"'},p:[87,22,3156]}]}],x:{r:["data.locked","data.siliconUser"],s:"_0&&!_1"}}," [",{p:[90,6,3236],t:7,e:"span",a:{"class":[{t:2,x:{r:["powerState","data.chargingStatus"],s:"_0(_1)"},p:[90,19,3249]}]},f:[{t:2,x:{r:["data.chargingStatus"],s:'_0==2?"Fully Charged":_0==1?"Charging":"Not Charging"'},p:[90,56,3286]}]},"]"]}],n:50,x:{r:["data.powerCellStatus"],s:"_0!=null"},p:[81,4,2790]}]}," ",{p:[94,2,3445],t:7,e:"ui-display",a:{title:"Power Channels"},f:[{t:4,f:[{p:[96,3,3517],t:7,e:"ui-section",a:{label:[{t:2,r:"title",p:[96,22,3536]}],nowrap:0},f:[{p:[97,5,3560],t:7,e:"div",a:{"class":"content"},f:[{t:2,x:{r:["@index","adata.powerChannels"],s:"Math.round(_1[_0].powerLoad)"},p:[97,26,3581]}," W"]}," ",{p:[98,5,3648],t:7,e:"div",a:{"class":"content"},f:[{p:[98,26,3669],t:7,e:"span",a:{"class":[{t:2,x:{r:["status"],s:'_0>=2?"good":"bad"'},p:[98,39,3682]}]},f:[{t:2,x:{r:["status"],s:'_0>=2?"On":"Off"'},p:[98,73,3716]}]}]}," ",{p:[99,5,3765],t:7,e:"div",a:{"class":"content"},f:["[",{p:[99,27,3787],t:7,e:"span",f:[{t:2,x:{r:["status"],s:'_0==1||_0==3?"Auto":"Manual"'},p:[99,33,3793]}]},"]"]}," ",{p:[100,5,3863],t:7,e:"div",a:{"class":"content",style:"float:right"},f:[{t:4,f:[{p:[102,6,3956],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["status"],s:'_0==1||_0==3?"selected":null'},p:[102,39,3989]}],action:"channel",params:[{t:2,r:"topicParams.auto",p:[103,30,4071]}]},f:["Auto"]}," ",{p:[104,6,4116],t:7,e:"ui-button",a:{icon:"power-off",state:[{t:2,x:{r:["status"],s:'_0==2?"selected":null'},p:[104,41,4151]}],action:"channel",params:[{t:2,r:"topicParams.on",p:[105,13,4218]}]},f:["On"]}," ",{p:[106,6,4259],t:7,e:"ui-button",a:{icon:"close",state:[{t:2,x:{r:["status"],s:'_0==0?"selected":null'},p:[106,37,4290]}],action:"channel",params:[{t:2,r:"topicParams.off",p:[107,13,4357]}]},f:["Off"]}],n:50,x:{r:["data.locked","data.siliconUser"],s:"!_0||_1"},p:[101,4,3909]}]}]}],n:52,r:"data.powerChannels",p:[95,4,3485]}," ",{p:[112,4,4453],t:7,e:"ui-section",a:{label:"Total Load"},f:[{p:[113,3,4488],t:7,e:"span",a:{"class":"bold"},f:[{t:2,x:{r:["adata.totalLoad"],s:"Math.round(_0)"},p:[113,22,4507]}," W"]}]}]}," ",{t:4,f:[{p:[117,4,4613],t:7,e:"ui-display",a:{title:"System Overrides"},f:[{p:[118,3,4654],t:7,e:"ui-button",a:{icon:"lightbulb-o",action:"overload"},f:["Overload"]}," ",{t:4,f:[{p:[120,5,4755],t:7,e:"ui-button",a:{icon:[{t:2,r:"malfIcon",p:[120,22,4772]}],state:[{t:2,x:{r:["data.malfStatus"],s:'_0==4?"disabled":null'},p:[120,43,4793]}],action:[{t:2,r:"malfAction",p:[120,97,4847]}]},f:[{t:2,r:"malfButton",p:[120,113,4863]}]}],n:50,r:"data.malfStatus",p:[119,3,4726]}]}],n:50,r:"data.siliconUser",p:[116,2,4584]}," ",{p:[124,2,4931],t:7,e:"ui-notice",f:[{p:[125,4,4947],t:7,e:"ui-section",a:{label:"Cover Lock"},f:[{t:4,f:[{p:[127,5,5028],t:7,e:"span",f:[{t:2,x:{r:["data.coverLocked"],s:'_0?"Engaged":"Disengaged"'},p:[127,11,5034]}]}],n:50,x:{r:["data.locked","data.siliconUser"],s:"_0&&!_1"},p:[126,3,4982]},{t:4,n:51,f:[{p:[129,5,5106],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.coverLocked"],s:'_0?"lock":"unlock"'},p:[129,22,5123]}],action:"cover"},f:[{t:2,x:{r:["data.coverLocked"],s:'_0?"Engaged":"Disengaged"'},p:[129,79,5180]}]}],x:{r:["data.locked","data.siliconUser"],s:"_0&&!_1"}}]}]}],r:"data.failTime"}]},e.exports=a.extend(r.exports)},{205:205}],228:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Alarms"},f:[{p:[2,3,31],t:7,e:"ul",f:[{t:4,f:[{p:[4,7,72],t:7,e:"li",f:[{p:[4,11,76],t:7,e:"ui-button",a:{icon:"close",style:"danger",action:"clear",params:['{"zone": "',{t:2,r:".",p:[4,83,148]},'"}']},f:[{t:2,r:".",p:[4,92,157]}]}]}],n:52,r:"data.priority",p:[3,5,41]},{t:4,n:51,f:[{p:[6,7,201],t:7,e:"li",f:[{p:[6,11,205],t:7,e:"span",a:{"class":"good"},f:["No Priority Alerts"]}]}],r:"data.priority"}," ",{t:4,f:[{p:[9,7,303],t:7,e:"li",f:[{p:[9,11,307],t:7,e:"ui-button",a:{icon:"close",style:"caution",action:"clear",params:['{"zone": "',{t:2,r:".",p:[9,84,380]},'"}']},f:[{t:2,r:".",p:[9,93,389]}]}]}],n:52,r:"data.minor",p:[8,5,275]},{t:4,n:51,f:[{p:[11,7,433],t:7,e:"li",f:[{p:[11,11,437],t:7,e:"span",a:{"class":"good"},f:["No Minor Alerts"]}]}],r:"data.minor"}]}]}]},e.exports=a.extend(r.exports)},{205:205}],229:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:[{t:2,x:{r:["data.tank","data.sensors.0.long_name"],s:"_0?_1:null"},p:[1,20,19]}]},f:[{t:4,f:[{p:[3,5,102],t:7,e:"ui-subdisplay",a:{title:[{t:2,x:{r:["data.tank","long_name"],s:"!_0?_1:null"},p:[3,27,124]}]},f:[{p:[4,7,167],t:7,e:"ui-section",a:{label:"Pressure"},f:[{p:[5,3,200],t:7,e:"span",f:[{t:2,x:{r:["pressure"],s:"Math.fixed(_0,2)"},p:[5,9,206]}," kPa"]}]}," ",{t:4,f:[{p:[8,9,302],t:7,e:"ui-section",a:{label:"Temperature"},f:[{p:[9,11,346],t:7,e:"span",f:[{t:2,x:{r:["temperature"],s:"Math.fixed(_0,2)"},p:[9,17,352]}," K"]}]}],n:50,r:"temperature",p:[7,7,273]}," ",{t:4,f:[{p:[13,9,462],t:7,e:"ui-section",a:{label:[{t:2,r:"id",p:[13,28,481]}]},f:[{p:[14,5,495],t:7,e:"span",f:[{t:2,x:{r:["."],s:"Math.fixed(_0,2)"},p:[14,11,501]},"%"]}]}],n:52,i:"id",r:"gases",p:[12,4,434]}]}],n:52,r:"adata.sensors",p:[2,3,73]}]}," ",{t:4,f:[{p:{button:[{p:[23,5,704],t:7,e:"ui-button",a:{icon:"refresh",action:"reconnect"},f:["Reconnect"]}]},t:7,e:"ui-display",a:{title:"Controls",button:0},f:[" ",{p:[25,5,792],t:7,e:"ui-section",a:{label:"Input Injector"},f:[{p:[26,7,835],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.inputting"],s:'_0?"power-off":"close"'},p:[26,24,852]}],style:[{t:2,x:{r:["data.inputting"],s:'_0?"selected":null'},p:[26,75,903]}],action:"input"},f:[{t:2,x:{r:["data.inputting"],s:'_0?"Injecting":"Off"'},p:[27,9,968]}]}]}," ",{p:[29,5,1044],t:7,e:"ui-section",a:{label:"Input Rate"},f:[{p:[30,7,1083],t:7,e:"span",f:[{t:2,x:{r:["adata.inputRate"],s:"Math.fixed(_0)"},p:[30,13,1089]}," L/s"]}]}," ",{p:[32,5,1156],t:7,e:"ui-section",a:{label:"Output Regulator"},f:[{p:[33,7,1201],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.outputting"],s:'_0?"power-off":"close"'},p:[33,24,1218]}],style:[{t:2,x:{r:["data.outputting"],s:'_0?"selected":null'},p:[33,76,1270]}],action:"output"},f:[{t:2,x:{r:["data.outputting"],s:'_0?"Open":"Closed"'},p:[34,9,1337]}]}]}," ",{p:[36,5,1412],t:7,e:"ui-section",a:{label:"Output Pressure"},f:[{p:[37,7,1456],t:7,e:"ui-button",a:{icon:"pencil",action:"pressure"},f:[{t:2,x:{r:["adata.outputPressure"],s:"Math.round(_0)"},p:[37,50,1499]}," kPa"]}]}]}],n:50,r:"data.tank",p:[20,1,618]}]},e.exports=a.extend(r.exports)},{205:205}],230:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{p:[2,3,16],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[3,5,48],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.on"],s:'_0?"power-off":"close"'},p:[3,22,65]}],style:[{t:2,x:{r:["data.on"],s:'_0?"selected":null'},p:[3,66,109]}],action:"power"},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[4,22,164]}]}]}," ",{p:[6,3,223],t:7,e:"ui-section",a:{label:"Output Pressure"},f:[{p:[7,5,265],t:7,e:"ui-button",a:{icon:"pencil",action:"pressure",params:'{"pressure": "input"}'},f:["Set"]}," ",{p:[8,5,360],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.pressure","data.max_pressure"],s:'_0==_1?"disabled":null'},p:[8,35,390]}],action:"pressure",params:'{"pressure": "max"}'},f:["Max"]}," ",{p:[9,5,518],t:7,e:"span",f:[{t:2,x:{r:["adata.pressure"],s:"Math.round(_0)"},p:[9,11,524]}," kPa"]}]}," ",{p:[11,3,586],t:7,e:"ui-section",a:{label:"Filter"},f:[{p:[12,5,619],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.filter_type"],s:'_0==""?"selected":null'},p:[12,23,637]}],action:"filter",params:'{"mode": ""}'},f:["Nothing"]}," ",{p:[14,5,755],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.filter_type"],s:'_0=="plasma"?"selected":null'},p:[14,23,773]}],action:"filter",params:'{"mode": "plasma"}'},f:["Plasma"]}," ",{p:[16,5,902],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.filter_type"],s:'_0=="o2"?"selected":null'},p:[16,23,920]}],action:"filter",params:'{"mode": "o2"}'},f:["O2"]}," ",{p:[18,5,1037],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.filter_type"],s:'_0=="n2"?"selected":null'},p:[18,23,1055]}],action:"filter",params:'{"mode": "n2"}'},f:["N2"]}," ",{p:[20,5,1172],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.filter_type"],s:'_0=="co2"?"selected":null'},p:[20,23,1190]}],action:"filter",params:'{"mode": "co2"}'},f:["CO2"]}," ",{p:[22,5,1310],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.filter_type"],s:'_0=="n2o"?"selected":null'},p:[22,23,1328]}],action:"filter",params:'{"mode": "n2o"}'},f:["N2O"]}," ",{p:[24,2,1445],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.filter_type"],s:'_0=="bz"?"selected":null'},p:[24,20,1463]}],action:"filter",params:'{"mode": "bz"}'},f:["BZ"]}," ",{p:[26,2,1578],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.filter_type"],s:'_0=="freon"?"selected":null'},p:[26,20,1596]}],action:"filter",params:'{"mode": "freon"}'},f:["Freon"]}," ",{p:[28,2,1720],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.filter_type"],s:'_0=="water_vapor"?"selected":null'},p:[28,20,1738]}],action:"filter",params:'{"mode": "water_vapor"}'},f:["Water Vapor"]}]}]}]},e.exports=a.extend(r.exports)},{205:205}],231:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{p:[2,3,16],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[3,5,48],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.on"],s:'_0?"power-off":"close"'},p:[3,22,65]}],style:[{t:2,x:{r:["data.on"],s:'_0?"selected":null'},p:[3,66,109]}],action:"power"},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[4,22,164]}]}]}," ",{p:[6,3,223],t:7,e:"ui-section",a:{label:"Output Pressure"},f:[{p:[7,5,265],t:7,e:"ui-button",a:{icon:"pencil",action:"pressure",params:'{"pressure": "input"}'},f:["Set"]}," ",{p:[8,5,360],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.set_pressure","data.max_pressure"],s:'_0==_1?"disabled":null'},p:[8,35,390]}],action:"pressure",params:'{"pressure": "max"}'},f:["Max"]}," ",{p:[9,5,522],t:7,e:"span",f:[{t:2,x:{r:["adata.set_pressure"],s:"Math.round(_0)"},p:[9,11,528]}," kPa"]}]}," ",{p:[11,3,594],t:7,e:"ui-section",a:{label:"Node 1"},f:[{p:[12,5,627],t:7,e:"ui-button",a:{icon:"fast-backward",state:[{t:2,x:{r:["data.node1_concentration"],s:'_0==0?"disabled":null'},p:[12,44,666]}],action:"node1",params:'{"concentration": -0.1}'}}," ",{p:[14,5,783],t:7,e:"ui-button",a:{icon:"backward",state:[{t:2,x:{r:["data.node1_concentration"],s:'_0==0?"disabled":null'},p:[14,39,817]}],action:"node1",params:'{"concentration": -0.01}'}}," ",{p:[16,5,935],t:7,e:"ui-button",a:{icon:"forward",state:[{t:2,x:{r:["data.node1_concentration"],s:'_0==100?"disabled":null'},p:[16,38,968]}],action:"node1",params:'{"concentration": 0.01}'}}," ",{p:[18,5,1087],t:7,e:"ui-button",a:{icon:"fast-forward",state:[{t:2,x:{r:["data.node1_concentration"],s:'_0==100?"disabled":null'},p:[18,43,1125]}],action:"node1",params:'{"concentration": 0.1}'}}," ",{p:[20,5,1243],t:7,e:"span",f:[{t:2,x:{r:["adata.node1_concentration"],s:"Math.round(_0)"},p:[20,11,1249]},"%"]}]}," ",{p:[22,3,1319],t:7,e:"ui-section",a:{label:"Node 2"},f:[{p:[23,5,1352],t:7,e:"ui-button",a:{icon:"fast-backward",state:[{t:2,x:{r:["data.node2_concentration"],s:'_0==0?"disabled":null'},p:[23,44,1391]}],action:"node2",params:'{"concentration": -0.1}'}}," ",{p:[25,5,1508],t:7,e:"ui-button",a:{icon:"backward",state:[{t:2,x:{r:["data.node2_concentration"],s:'_0==0?"disabled":null'},p:[25,39,1542]}],action:"node2",params:'{"concentration": -0.01}'}}," ",{p:[27,5,1660],t:7,e:"ui-button",a:{icon:"forward",state:[{t:2,x:{r:["data.node2_concentration"],s:'_0==100?"disabled":null'},p:[27,38,1693]}],action:"node2",params:'{"concentration": 0.01}'}}," ",{p:[29,5,1812],t:7,e:"ui-button",a:{icon:"fast-forward",state:[{t:2,x:{r:["data.node2_concentration"],s:'_0==100?"disabled":null'},p:[29,43,1850]}],action:"node2",params:'{"concentration": 0.1}'}}," ",{p:[31,5,1968],t:7,e:"span",f:[{t:2,x:{r:["adata.node2_concentration"],s:"Math.round(_0)"},p:[31,11,1974]},"%"]}]}]}]},e.exports=a.extend(r.exports)},{205:205}],232:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{p:[2,3,16],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[3,5,48],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.on"],s:'_0?"power-off":"close"'},p:[3,22,65]}],style:[{t:2,x:{r:["data.on"],s:'_0?"selected":null'},p:[3,66,109]}],action:"power"},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[4,22,164]}]}]}," ",{t:4,f:[{p:[7,5,250],t:7,e:"ui-section",a:{label:"Transfer Rate"},f:[{p:[8,7,292],t:7,e:"ui-button",a:{icon:"pencil",action:"rate",params:'{"rate": "input"}'},f:["Set"]}," ",{p:[9,7,381],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.rate","data.max_rate"],s:'_0==_1?"disabled":null'},p:[9,37,411]}],action:"rate",params:'{"rate": "max"}'},f:["Max"]}," ",{p:[10,7,525],t:7,e:"span",f:[{t:2,x:{r:["adata.rate"],s:"Math.round(_0)"},p:[10,13,531]}," L/s"]}]}],n:50,r:"data.max_rate",p:[6,3,223]},{t:4,n:51,f:[{ --p:[13,5,605],t:7,e:"ui-section",a:{label:"Output Pressure"},f:[{p:[14,7,649],t:7,e:"ui-button",a:{icon:"pencil",action:"pressure",params:'{"pressure": "input"}'},f:["Set"]}," ",{p:[15,7,746],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.pressure","data.max_pressure"],s:'_0==_1?"disabled":null'},p:[15,37,776]}],action:"pressure",params:'{"pressure": "max"}'},f:["Max"]}," ",{p:[16,7,906],t:7,e:"span",f:[{t:2,x:{r:["adata.pressure"],s:"Math.round(_0)"},p:[16,13,912]}," kPa"]}]}],r:"data.max_rate"}]}]},e.exports=a.extend(r.exports)},{205:205}],233:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:{button:[{p:[3,5,67],t:7,e:"ui-button",a:{icon:"clock-o",style:[{t:2,x:{r:["data.timing"],s:'_0?"selected":null'},p:[3,38,100]}],action:[{t:2,x:{r:["data.timing"],s:'_0?"stop":"start"'},p:[3,83,145]}]},f:[{t:2,x:{r:["data.timing"],s:'_0?"Stop":"Start"'},p:[3,119,181]}]}," ",{p:[4,5,233],t:7,e:"ui-button",a:{icon:"lightbulb-o",action:"flash",style:[{t:2,x:{r:["data.flash_charging"],s:'_0?"disabled":null'},p:[4,57,285]}]},f:[{t:2,x:{r:["data.flash_charging"],s:'_0?"Recharging":"Flash"'},p:[4,102,330]}]}]},t:7,e:"ui-display",a:{title:"Cell Timer",button:0},f:[" ",{p:[6,3,410],t:7,e:"ui-section",f:[{p:[7,5,428],t:7,e:"ui-button",a:{icon:"fast-backward",action:"time",params:'{"adjust": -600}'}}," ",{p:[8,5,518],t:7,e:"ui-button",a:{icon:"backward",action:"time",params:'{"adjust": -100}'}}," ",{p:[9,5,603],t:7,e:"span",f:[{t:2,x:{r:["text","data.minutes"],s:"_0.zeroPad(_1,2)"},p:[9,11,609]},":",{t:2,x:{r:["text","data.seconds"],s:"_0.zeroPad(_1,2)"},p:[9,45,643]}]}," ",{p:[10,5,689],t:7,e:"ui-button",a:{icon:"forward",action:"time",params:'{"adjust": 100}'}}," ",{p:[11,5,772],t:7,e:"ui-button",a:{icon:"fast-forward",action:"time",params:'{"adjust": 600}'}}]}," ",{p:[13,3,875],t:7,e:"ui-section",f:[{p:[14,7,895],t:7,e:"ui-button",a:{icon:"hourglass-start",action:"preset",params:'{"preset": "short"}'},f:["Short"]}," ",{p:[15,7,999],t:7,e:"ui-button",a:{icon:"hourglass-start",action:"preset",params:'{"preset": "medium"}'},f:["Medium"]}," ",{p:[16,7,1105],t:7,e:"ui-button",a:{icon:"hourglass-start",action:"preset",params:'{"preset": "long"}'},f:["Long"]}]}]}]},e.exports=a.extend(r.exports)},{205:205}],234:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,3,23],t:7,e:"ui-notice",f:[{t:2,r:"data.notice",p:[3,5,40]}]}],n:50,r:"data.notice",p:[1,1,0]},{p:[6,1,82],t:7,e:"ui-display",a:{title:"Bluespace Artillery Control",button:0},f:[{t:4,f:[{p:[8,3,167],t:7,e:"ui-section",a:{label:"Target"},f:[{p:[9,5,200],t:7,e:"ui-button",a:{icon:"crosshairs",action:"recalibrate"},f:[{t:2,r:"data.target",p:[9,55,250]}]}]}," ",{p:[11,3,298],t:7,e:"ui-section",a:{label:"Controls"},f:[{t:4,f:[{p:[13,3,356],t:7,e:"ui-notice",f:[{p:[14,4,372],t:7,e:"span",f:["Bluespace Artillery firing protocols must be globally unlocked from two keycard authentication devices first!"]}]}],n:50,x:{r:["data.unlocked"],s:"!_0"},p:[12,2,330]},{t:4,n:51,f:[{p:[17,3,525],t:7,e:"ui-button",a:{icon:"warning",state:[{t:2,x:{r:["data.ready"],s:'_0?null:"disabled"'},p:[17,36,558]}],action:"fire"},f:["FIRE!"]}],x:{r:["data.unlocked"],s:"!_0"}}]}],n:50,r:"data.connected",p:[7,3,141]}," ",{t:4,f:[{p:[22,3,694],t:7,e:"ui-section",a:{label:"Maintenance"},f:[{p:[23,7,734],t:7,e:"ui-button",a:{icon:"wrench",action:"build"},f:["Complete Deployment."]}]}],n:50,x:{r:["data.connected"],s:"!_0"},p:[21,3,667]}]}]},e.exports=a.extend(r.exports)},{205:205}],235:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-notice",f:[{p:[2,3,15],t:7,e:"span",f:["The regulator ",{t:2,x:{r:["data.hasHoldingTank"],s:'_0?"is":"is not"'},p:[2,23,35]}," connected to a tank."]}]}," ",{p:{button:[{p:[6,5,185],t:7,e:"ui-button",a:{icon:"pencil",action:"relabel"},f:["Relabel"]}]},t:7,e:"ui-display",a:{title:"Canister",button:0},f:[" ",{p:[8,3,266],t:7,e:"ui-section",a:{label:"Pressure"},f:[{p:[9,5,301],t:7,e:"span",f:[{t:2,x:{r:["adata.tankPressure"],s:"Math.round(_0)"},p:[9,11,307]}," kPa"]}]}," ",{p:[11,3,373],t:7,e:"ui-section",a:{label:"Port"},f:[{p:[12,5,404],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.portConnected"],s:'_0?"good":"average"'},p:[12,18,417]}]},f:[{t:2,x:{r:["data.portConnected"],s:'_0?"Connected":"Not Connected"'},p:[12,63,462]}]}]}," ",{t:4,f:[{p:[15,3,573],t:7,e:"ui-section",a:{label:"Access"},f:[{p:[16,7,608],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.restricted"],s:'_0?"lock":"unlock"'},p:[16,24,625]}],style:[{t:2,x:{r:[],s:'"caution"'},p:[17,14,680]}],action:"restricted"},f:[{t:2,x:{r:["data.restricted"],s:'_0?"Restricted to Engineering":"Public"'},p:[18,27,722]}]}]}],n:50,r:"data.isPrototype",p:[14,3,544]}]}," ",{p:[22,1,839],t:7,e:"ui-display",a:{title:"Valve"},f:[{p:[23,3,869],t:7,e:"ui-section",a:{label:"Release Pressure"},f:[{p:[24,5,912],t:7,e:"ui-bar",a:{min:[{t:2,r:"data.minReleasePressure",p:[24,18,925]}],max:[{t:2,r:"data.maxReleasePressure",p:[24,52,959]}],value:[{t:2,r:"data.releasePressure",p:[25,14,1002]}]},f:[{t:2,x:{r:["adata.releasePressure"],s:"Math.round(_0)"},p:[25,40,1028]}," kPa"]}]}," ",{p:[27,3,1099],t:7,e:"ui-section",a:{label:"Pressure Regulator"},f:[{p:[28,5,1144],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["data.releasePressure","data.defaultReleasePressure"],s:'_0!=_1?null:"disabled"'},p:[28,38,1177]}],action:"pressure",params:'{"pressure": "reset"}'},f:["Reset"]}," ",{p:[30,5,1333],t:7,e:"ui-button",a:{icon:"minus",state:[{t:2,x:{r:["data.releasePressure","data.minReleasePressure"],s:'_0>_1?null:"disabled"'},p:[30,36,1364]}],action:"pressure",params:'{"pressure": "min"}'},f:["Min"]}," ",{p:[32,5,1511],t:7,e:"ui-button",a:{icon:"pencil",action:"pressure",params:'{"pressure": "input"}'},f:["Set"]}," ",{p:[33,5,1606],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.releasePressure","data.maxReleasePressure"],s:'_0<_1?null:"disabled"'},p:[33,35,1636]}],action:"pressure",params:'{"pressure": "max"}'},f:["Max"]}]}," ",{p:[36,3,1798],t:7,e:"ui-section",a:{label:"Valve"},f:[{p:[37,5,1830],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.valveOpen"],s:'_0?"unlock":"lock"'},p:[37,22,1847]}],style:[{t:2,x:{r:["data.valveOpen","data.hasHoldingTank"],s:'_0?_1?"caution":"danger":null'},p:[38,14,1901]}],action:"valve"},f:[{t:2,x:{r:["data.valveOpen"],s:'_0?"Open":"Closed"'},p:[39,22,1995]}]}]}]}," ",{t:4,f:[{p:[42,1,2090],t:7,e:"ui-display",a:{title:"Valve Toggle Timer"},f:[{t:4,f:[{p:[44,5,2155],t:7,e:"ui-section",a:{label:"Adjust Timer"},f:[{p:[45,7,2196],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["data.timer_is_not_default"],s:'_0?null:"disabled"'},p:[45,40,2229]}],action:"timer",params:'{"change": "reset"}'},f:["Reset"]}," ",{p:[47,7,2358],t:7,e:"ui-button",a:{icon:"minus",state:[{t:2,x:{r:["data.timer_is_not_min"],s:'_0?null:"disabled"'},p:[47,38,2389]}],action:"timer",params:'{"change": "decrease"}'},f:["Decrease"]}," ",{p:[49,7,2520],t:7,e:"ui-button",a:{icon:"pencil",state:[{t:2,x:{r:[],s:'"disabled"'},p:[49,39,2552]}],action:"timer",params:'{"change": "input"}'},f:["Set"]}," ",{p:[51,7,2637],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.timer_is_not_max"],s:'_0?null:"disabled"'},p:[51,37,2667]}],action:"timer",params:'{"change": "increase"}'},f:["Increase"]}]}],n:51,r:"data.timing",p:[43,3,2133]}," ",{p:[55,3,2833],t:7,e:"ui-section",a:{label:"Timer"},f:[{p:[56,6,2866],t:7,e:"ui-button",a:{icon:"clock-o",style:[{t:2,x:{r:["data.timing"],s:'_0?"danger":"caution"'},p:[56,39,2899]}],action:"toggle_timer"},f:[{t:2,x:{r:["data.timing"],s:'_0?"On":"Off"'},p:[57,30,2969]}]}," ",{p:[59,2,3017],t:7,e:"ui-section",a:{label:"Time until Valve Toggle"},f:[{p:[60,2,3064],t:7,e:"span",f:[{t:2,x:{r:["data.timing","data.time_left","data.timer_set"],s:"_0?_1:_2"},p:[60,8,3070]}]}]}]}]}],n:50,r:"data.isPrototype",p:[41,1,2062]},{p:{button:[{t:4,f:[{p:[69,7,3277],t:7,e:"ui-button",a:{icon:"eject",style:[{t:2,x:{r:["data.valveOpen"],s:'_0?"danger":null'},p:[69,38,3308]}],action:"eject"},f:["Eject"]}],n:50,r:"data.hasHoldingTank",p:[68,5,3242]}]},t:7,e:"ui-display",a:{title:"Holding Tank",button:0},f:[" ",{t:4,f:[{p:[73,3,3442],t:7,e:"ui-section",a:{label:"Label"},f:[{t:2,r:"data.holdingTank.name",p:[74,4,3473]}]}," ",{p:[76,3,3519],t:7,e:"ui-section",a:{label:"Pressure"},f:[{t:2,x:{r:["adata.holdingTank.tankPressure"],s:"Math.round(_0)"},p:[77,4,3553]}," kPa"]}],n:50,r:"data.hasHoldingTank",p:[72,3,3411]},{t:4,n:51,f:[{p:[80,3,3635],t:7,e:"ui-section",f:[{p:[81,4,3652],t:7,e:"span",a:{"class":"average"},f:["No Holding Tank"]}]}],r:"data.hasHoldingTank"}]}]},e.exports=a.extend(r.exports)},{205:205}],236:[function(t,e,n){var a=t(205),r={exports:{}};!function(t){"use strict";t.exports={computed:{tabs:function(){return Object.keys(this.get("data.supplies"))}}}}(r),r.exports.template={v:3,t:[" ",{p:[11,1,158],t:7,e:"ui-display",a:{title:"Cargo"},f:[{p:[12,3,188],t:7,e:"ui-section",a:{label:"Shuttle"},f:[{t:4,f:[{p:[14,7,270],t:7,e:"ui-button",a:{action:"send"},f:[{t:2,r:"data.location",p:[14,32,295]}]}],n:50,x:{r:["data.docked","data.requestonly"],s:"_0&&!_1"},p:[13,5,222]},{t:4,n:51,f:[{p:[16,7,346],t:7,e:"span",f:[{t:2,r:"data.location",p:[16,13,352]}]}],x:{r:["data.docked","data.requestonly"],s:"_0&&!_1"}}]}," ",{p:[19,3,410],t:7,e:"ui-section",a:{label:"Credits"},f:[{p:[20,5,444],t:7,e:"span",f:[{t:2,x:{r:["adata.points"],s:"Math.floor(_0)"},p:[20,11,450]}]}]}," ",{p:[22,3,506],t:7,e:"ui-section",a:{label:"Centcom Message"},f:[{p:[23,7,550],t:7,e:"span",f:[{t:2,r:"data.message",p:[23,13,556]}]}]}," ",{t:4,f:[{p:[26,5,644],t:7,e:"ui-section",a:{label:"Loan"},f:[{t:4,f:[{p:[28,9,716],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.away","data.docked"],s:'_0&&_1?null:"disabled"'},p:[29,17,744]}],action:"loan"},f:["Loan Shuttle"]}],n:50,x:{r:["data.loan_dispatched"],s:"!_0"},p:[27,7,677]},{t:4,n:51,f:[{p:[32,9,868],t:7,e:"span",a:{"class":"bad"},f:["Loaned to Centcom"]}],x:{r:["data.loan_dispatched"],s:"!_0"}}]}],n:50,x:{r:["data.loan","data.requestonly"],s:"_0&&!_1"},p:[25,3,600]}]}," ",{t:4,f:[{p:{button:[{p:[40,7,1066],t:7,e:"ui-button",a:{icon:"close",state:[{t:2,x:{r:["data.cart.length"],s:'_0?null:"disabled"'},p:[40,38,1097]}],action:"clear"},f:["Clear"]}]},t:7,e:"ui-display",a:{title:"Cart",button:0},f:[" ",{t:4,f:[{p:[43,7,1222],t:7,e:"ui-section",a:{candystripe:0,nowrap:0},f:[{p:[44,9,1263],t:7,e:"div",a:{"class":"content"},f:["#",{t:2,r:"id",p:[44,31,1285]}]}," ",{p:[45,9,1307],t:7,e:"div",a:{"class":"content"},f:[{t:2,r:"object",p:[45,30,1328]}]}," ",{p:[46,9,1354],t:7,e:"div",a:{"class":"content"},f:[{t:2,r:"cost",p:[46,30,1375]}," Credits"]}," ",{p:[47,9,1407],t:7,e:"div",a:{"class":"content"},f:[{p:[48,11,1440],t:7,e:"ui-button",a:{icon:"minus",action:"remove",params:['{"id": "',{t:2,r:"id",p:[48,67,1496]},'"}']}}]}]}],n:52,r:"data.cart",p:[42,5,1195]},{t:4,n:51,f:[{p:[52,7,1566],t:7,e:"span",f:["Nothing in Cart"]}],r:"data.cart"}]}],n:50,x:{r:["data.requestonly"],s:"!_0"},p:[37,1,972]},{p:{button:[{t:4,f:[{p:[59,7,1735],t:7,e:"ui-button",a:{icon:"close",state:[{t:2,x:{r:["data.requests.length"],s:'_0?null:"disabled"'},p:[59,38,1766]}],action:"denyall"},f:["Clear"]}],n:50,x:{r:["data.requestonly"],s:"!_0"},p:[58,5,1702]}]},t:7,e:"ui-display",a:{title:"Requests",button:0},f:[" ",{t:4,f:[{p:[63,5,1908],t:7,e:"ui-section",a:{candystripe:0,nowrap:0},f:[{p:[64,7,1947],t:7,e:"div",a:{"class":"content"},f:["#",{t:2,r:"id",p:[64,29,1969]}]}," ",{p:[65,7,1989],t:7,e:"div",a:{"class":"content"},f:[{t:2,r:"object",p:[65,28,2010]}]}," ",{p:[66,7,2034],t:7,e:"div",a:{"class":"content"},f:[{t:2,r:"cost",p:[66,28,2055]}," Credits"]}," ",{p:[67,7,2085],t:7,e:"div",a:{"class":"content"},f:["By ",{t:2,r:"orderer",p:[67,31,2109]}]}," ",{p:[68,7,2134],t:7,e:"div",a:{"class":"content"},f:["Comment: ",{t:2,r:"reason",p:[68,37,2164]}]}," ",{t:4,f:[{p:[70,9,2223],t:7,e:"div",a:{"class":"content"},f:[{p:[71,11,2256],t:7,e:"ui-button",a:{icon:"check",action:"approve",params:['{"id": "',{t:2,r:"id",p:[71,68,2313]},'"}']}}," ",{p:[72,11,2336],t:7,e:"ui-button",a:{icon:"close",action:"deny",params:['{"id": "',{t:2,r:"id",p:[72,65,2390]},'"}']}}]}],n:50,x:{r:["data.requestonly"],s:"!_0"},p:[69,7,2188]}]}],n:52,r:"data.requests",p:[62,3,1879]},{t:4,n:51,f:[{p:[77,7,2473],t:7,e:"span",f:["No Requests"]}],r:"data.requests"}]}," ",{p:[80,1,2529],t:7,e:"ui-tabs",a:{tabs:[{t:2,r:"tabs",p:[80,16,2544]}]},f:[{t:4,f:[{p:[82,5,2587],t:7,e:"tab",a:{name:[{t:2,r:"name",p:[82,16,2598]}]},f:[{t:4,f:[{p:[84,9,2641],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[84,28,2660]}],candystripe:0,right:0},f:[{p:[85,11,2700],t:7,e:"ui-button",a:{action:"add",params:['{"id": "',{t:2,r:"id",p:[85,51,2740]},'"}']},f:[{t:2,r:"cost",p:[85,61,2750]}," Credits"]}]}],n:52,r:"packs",p:[83,7,2616]}]}],n:52,r:"data.supplies",p:[81,3,2558]}]}]},e.exports=a.extend(r.exports)},{205:205}],237:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Cellular Emporium",button:0},f:[{p:[2,3,49],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["data.can_readapt"],s:'_0?null:"disabled"'},p:[2,36,82]}],action:"readapt"},f:["Readapt"]}," ",{p:[4,3,169],t:7,e:"ui-section",a:{label:"Genetic Points Remaining",right:0},f:[{t:2,r:"data.genetic_points_remaining",p:[5,5,226]}]}]}," ",{p:[8,1,293],t:7,e:"ui-display",f:[{t:4,f:[{p:[10,3,335],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[10,22,354]}],candystripe:0,right:0},f:[{p:[11,5,388],t:7,e:"span",f:[{t:2,r:"desc",p:[11,11,394]}]}," ",{p:[12,5,415],t:7,e:"span",f:[{t:2,r:"helptext",p:[12,11,421]}]}," ",{p:[13,5,446],t:7,e:"span",f:["Cost: ",{t:2,r:"dna_cost",p:[13,17,458]}]}," ",{p:[14,5,483],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["owned","can_purchase"],s:'_0?"selected":_1?null:"disabled"'},p:[15,14,508]}],action:"evolve",params:['{"name": "',{t:2,r:"name",p:[17,25,615]},'"}']},f:[{t:2,x:{r:["owned"],s:'_0?"Evolved":"Evolve"'},p:[18,7,635]}]}]}],n:52,r:"data.abilities",p:[9,1,307]},{t:4,f:[{p:[23,3,738],t:7,e:"span",a:{"class":"warning"},f:["No abilities availible."]}],n:51,r:"data.abilities",p:[22,1,715]}]}]},e.exports=a.extend(r.exports)},{205:205}],238:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Status"},f:[{p:[2,3,31],t:7,e:"ui-section",a:{label:"Energy"},f:[{p:[3,5,64],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.maxEnergy",p:[3,26,85]}],value:[{t:2,r:"data.energy",p:[3,53,112]}]},f:[{t:2,x:{r:["adata.energy"],s:"Math.fixed(_0)"},p:[3,70,129]}," Units"]}]}]}," ",{p:{button:[{t:4,f:[{p:[9,7,315],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.amount","."],s:'_0==_1?"selected":null'},p:[9,37,345]}],action:"amount",params:['{"target": ',{t:2,r:".",p:[9,114,422]},"}"]},f:[{t:2,r:".",p:[9,122,430]}]}],n:52,r:"data.beakerTransferAmounts",p:[8,5,271]}]},t:7,e:"ui-display",a:{title:"Dispense",button:0},f:[" ",{p:[12,3,482],t:7,e:"ui-section",f:[{t:4,f:[{p:[14,7,532],t:7,e:"ui-button",a:{grid:0,icon:"tint",action:"dispense",params:['{"reagent": "',{t:2,r:"id",p:[14,74,599]},'"}']},f:[{t:2,r:"title",p:[14,84,609]}]}],n:52,r:"data.chemicals",p:[13,5,500]}]}]}," ",{p:{button:[{t:4,f:[{p:[21,7,786],t:7,e:"ui-button",a:{icon:"minus",action:"remove",params:['{"amount": ',{t:2,r:".",p:[21,66,845]},"}"]},f:[{t:2,r:".",p:[21,74,853]}]}],n:52,r:"data.beakerTransferAmounts",p:[20,5,742]}," ",{p:[23,5,891],t:7,e:"ui-button",a:{icon:"eject",state:[{t:2,x:{r:["data.isBeakerLoaded"],s:'_0?null:"disabled"'},p:[23,36,922]}],action:"eject"},f:["Eject"]}]},t:7,e:"ui-display",a:{title:"Beaker",button:0},f:[" ",{p:[25,3,1019],t:7,e:"ui-section",a:{label:"Contents"},f:[{t:4,f:[{p:[27,7,1089],t:7,e:"span",f:[{t:2,x:{r:["adata.beakerCurrentVolume"],s:"Math.round(_0)"},p:[27,13,1095]},"/",{t:2,r:"data.beakerMaxVolume",p:[27,55,1137]}," Units"]}," ",{p:[28,7,1182],t:7,e:"br"}," ",{t:4,f:[{p:[30,9,1235],t:7,e:"span",a:{"class":"highlight"},t0:"fade",f:[{t:2,x:{r:["volume"],s:"Math.fixed(_0,2)"},p:[30,52,1278]}," units of ",{t:2,r:"name",p:[30,87,1313]}]},{p:[30,102,1328],t:7,e:"br"}],n:52,r:"adata.beakerContents",p:[29,7,1195]},{t:4,n:51,f:[{p:[32,9,1359],t:7,e:"span",a:{"class":"bad"},f:["Beaker Empty"]}],r:"adata.beakerContents"}],n:50,r:"data.isBeakerLoaded",p:[26,5,1054]},{t:4,n:51,f:[{p:[35,7,1435],t:7,e:"span",a:{"class":"average"},f:["No Beaker"]}],r:"data.isBeakerLoaded"}]}]}]},e.exports=a.extend(r.exports)},{205:205}],239:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Thermostat"},f:[{p:[2,3,35],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[3,5,67],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.isActive"],s:'_0?"power-off":"close"'},p:[3,22,84]}],style:[{t:2,x:{r:["data.isActive"],s:'_0?"selected":null'},p:[4,10,137]}],state:[{t:2,x:{r:["data.isBeakerLoaded"],s:'_0?null:"disabled"'},p:[5,10,186]}],action:"power"},f:[{t:2,x:{r:["data.isActive"],s:'_0?"On":"Off"'},p:[6,18,249]}]}]}," ",{p:[8,3,314],t:7,e:"ui-section",a:{label:"Target"},f:[{p:[9,4,346],t:7,e:"ui-button",a:{icon:"pencil",action:"temperature",params:'{"target": "input"}'},f:[{t:2,x:{r:["adata.targetTemp"],s:"Math.round(_0)"},p:[9,79,421]}," K"]}]}]}," ",{p:{button:[{p:[14,5,564],t:7,e:"ui-button",a:{icon:"eject",state:[{t:2,x:{r:["data.isBeakerLoaded"],s:'_0?null:"disabled"'},p:[14,36,595]}],action:"eject"},f:["Eject"]}]},t:7,e:"ui-display",a:{title:"Beaker",button:0},f:[" ",{p:[16,3,692],t:7,e:"ui-section",a:{label:"Contents"},f:[{t:4,f:[{p:[18,7,762],t:7,e:"span",f:["Temperature: ",{t:2,x:{r:["adata.currentTemp"],s:"Math.round(_0)"},p:[18,26,781]}," K"]}," ",{p:[19,7,831],t:7,e:"br"}," ",{t:4,f:[{p:[21,9,885],t:7,e:"span",a:{"class":"highlight"},t0:"fade",f:[{t:2,x:{r:["volume"],s:"Math.fixed(_0,2)"},p:[21,52,928]}," units of ",{t:2,r:"name",p:[21,87,963]}]},{p:[21,102,978],t:7,e:"br"}],n:52,r:"adata.beakerContents",p:[20,7,845]},{t:4,n:51,f:[{p:[23,9,1009],t:7,e:"span",a:{"class":"bad"},f:["Beaker Empty"]}],r:"adata.beakerContents"}],n:50,r:"data.isBeakerLoaded",p:[17,5,727]},{t:4,n:51,f:[{p:[26,7,1085],t:7,e:"span",a:{"class":"average"},f:["No Beaker"]}],r:"data.isBeakerLoaded"}]}]}]},e.exports=a.extend(r.exports)},{205:205}],240:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,2,32],t:7,e:"ui-display",a:{title:"Beaker",button:0},f:[{p:[3,3,70],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.isBeakerLoaded"],s:'_0?"Eject":"close"'},p:[3,20,87]}],style:[{t:2,x:{r:["data.isBeakerLoaded"],s:'_0?"selected":null'},p:[4,11,143]}],state:[{t:2,x:{r:["data.isBeakerLoaded"],s:'_0?null:"disabled"'},p:[5,11,199]}],action:"eject"},f:[{t:2,x:{r:["data.isBeakerLoaded"],s:'_0?"Eject and Clear Buffer":"No beaker"'},p:[7,5,268]}]}," ",{p:[10,3,357],t:7,e:"ui-section",f:[{t:4,f:[{t:4,f:[{p:[13,6,443],t:7,e:"ui-section",a:{label:[{t:2,x:{r:["volume"],s:"Math.fixed(_0,2)"},p:[13,25,462]}," units of ",{t:2,r:"name",p:[13,60,497]}],nowrap:0},f:[{p:[14,7,522],t:7,e:"div",a:{"class":"content",style:"float:right"},f:[{p:[15,8,572],t:7,e:"ui-button",a:{action:"transferToBuffer",params:['{"id": "',{t:2,r:"id",p:[15,61,625]},'", "amount": 1}']},f:["1"]}," ",{p:[16,8,670],t:7,e:"ui-button",a:{action:"transferToBuffer",params:['{"id": "',{t:2,r:"id",p:[16,61,723]},'", "amount": 5}']},f:["5"]}," ",{p:[17,8,768],t:7,e:"ui-button",a:{action:"transferToBuffer",params:['{"id": "',{t:2,r:"id",p:[17,61,821]},'", "amount": 10}']},f:["10"]}," ",{p:[18,8,868],t:7,e:"ui-button",a:{action:"transferToBuffer",params:['{"id": "',{t:2,r:"id",p:[18,61,921]},'", "amount": 1000}']},f:["All"]}," ",{p:[19,8,971],t:7,e:"ui-button",a:{action:"transferToBuffer",params:['{"id": "',{t:2,r:"id",p:[19,61,1024]},'", "amount": -1}']},f:["Custom"]}," ",{p:[20,8,1075],t:7,e:"ui-button",a:{action:"analyze",params:['{"id": "',{t:2,r:"id",p:[20,52,1119]},'"}']},f:["Analyze"]}]}]}],n:52,r:"data.beakerContents",p:[12,5,407]},{t:4,n:51,f:[{p:[24,5,1201],t:7,e:"span",a:{"class":"bad"},f:["Beaker Empty"]}],r:"data.beakerContents"}],n:50,r:"data.isBeakerLoaded",p:[11,4,374]},{t:4,n:51,f:[{p:[27,5,1272],t:7,e:"span",a:{"class":"average"},f:["No Beaker"]}],r:"data.isBeakerLoaded"}]}]}," ",{p:[32,2,1360],t:7,e:"ui-display",a:{title:"Buffer"},f:[{p:[33,3,1391],t:7,e:"ui-button",a:{action:"toggleMode",state:[{t:2,x:{r:["data.mode"],s:'_0?null:"selected"'},p:[33,41,1429]}]},f:["Destroy"]}," ",{p:[34,3,1487],t:7,e:"ui-button",a:{action:"toggleMode",state:[{t:2,x:{r:["data.mode"],s:'_0?"selected":null'},p:[34,41,1525]}]},f:["Transfer to Beaker"]}," ",{p:[35,3,1594],t:7,e:"ui-section",f:[{t:4,f:[{p:[37,5,1646],t:7,e:"ui-section",a:{label:[{t:2,x:{r:["volume"],s:"Math.fixed(_0,2)"},p:[37,24,1665]}," units of ",{t:2,r:"name",p:[37,59,1700]}],nowrap:0},f:[{p:[38,6,1724],t:7,e:"div",a:{"class":"content",style:"float:right"},f:[{p:[39,7,1773],t:7,e:"ui-button",a:{action:"transferFromBuffer",params:['{"id": "',{t:2,r:"id",p:[39,62,1828]},'", "amount": 1}']},f:["1"]}," ",{p:[40,7,1872],t:7,e:"ui-button",a:{action:"transferFromBuffer",params:['{"id": "',{t:2,r:"id",p:[40,62,1927]},'", "amount": 5}']},f:["5"]}," ",{p:[41,7,1971],t:7,e:"ui-button",a:{action:"transferFromBuffer",params:['{"id": "',{t:2,r:"id",p:[41,62,2026]},'", "amount": 10}']},f:["10"]}," ",{p:[42,7,2072],t:7,e:"ui-button",a:{action:"transferFromBuffer",params:['{"id": "',{t:2,r:"id",p:[42,62,2127]},'", "amount": 1000}']},f:["All"]}," ",{p:[43,7,2176],t:7,e:"ui-button",a:{action:"transferFromBuffer",params:['{"id": "',{t:2,r:"id",p:[43,62,2231]},'", "amount": -1}']},f:["Custom"]}," ",{p:[44,7,2281],t:7,e:"ui-button",a:{action:"analyze",params:['{"id": "',{t:2,r:"id",p:[44,51,2325]},'"}']},f:["Analyze"]}]}]}],n:52,r:"data.bufferContents",p:[36,4,1611]}]}]}," ",{t:4,f:[{p:[52,3,2461],t:7,e:"ui-display",a:{title:"Pills, Bottles and Patches"},f:[{t:4,f:[{p:[54,5,2551],t:7,e:"ui-button",a:{action:"ejectp",state:[{t:2,x:{r:["data.isPillBottleLoaded"],s:'_0?null:"disabled"'},p:[54,39,2585]}]},f:[{t:2,x:{r:["data.isPillBottleLoaded"],s:'_0?"Eject":"No Pill bottle loaded"'},p:[54,88,2634]}]}," ",{p:[55,5,2715],t:7,e:"span",a:{"class":"content"},f:[{t:2,r:"data.pillBotContent",p:[55,27,2737]},"/",{t:2,r:"data.pillBotMaxContent",p:[55,51,2761]}]}],n:50,r:"data.isPillBottleLoaded",p:[53,4,2514]},{t:4,n:51,f:[{p:[57,5,2813],t:7,e:"span",a:{"class":"average"},f:["No Pillbottle"]}],r:"data.isPillBottleLoaded"}," ",{p:[60,4,2877],t:7,e:"br"}," ",{p:[61,4,2887],t:7,e:"br"}," ",{p:[62,4,2897],t:7,e:"ui-button",a:{action:"createPill",params:'{"many": 0}',state:[{t:2,x:{r:["data.bufferContents"],s:'_0?null:"disabled"'},p:[62,63,2956]}]},f:["Create Pill (max 50µ)"]}," ",{p:[63,4,3040],t:7,e:"br"}," ",{p:[64,4,3050],t:7,e:"ui-button",a:{action:"createPill",params:'{"many": 1}',state:[{t:2,x:{r:["data.bufferContents"],s:'_0?null:"disabled"'},p:[64,63,3109]}]},f:["Create Multiple Pills"]}," ",{p:[65,4,3193],t:7,e:"br"}," ",{p:[66,4,3203],t:7,e:"br"}," ",{p:[67,4,3213],t:7,e:"ui-button",a:{action:"createPatch",params:'{"many": 0}',state:[{t:2,x:{r:["data.bufferContents"],s:'_0?null:"disabled"'},p:[67,64,3273]}]},f:["Create Patch (max 40µ)"]}," ",{p:[68,4,3358],t:7,e:"br"}," ",{p:[69,4,3368],t:7,e:"ui-button",a:{action:"createPatch",params:'{"many": 1}',state:[{t:2,x:{r:["data.bufferContents"],s:'_0?null:"disabled"'},p:[69,64,3428]}]},f:["Create Multiple Patches"]}," ",{p:[70,4,3514],t:7,e:"br"}," ",{p:[71,4,3524],t:7,e:"br"}," ",{p:[72,4,3534],t:7,e:"ui-button",a:{action:"createBottle",params:'{"many": 0}',state:[{t:2,x:{r:["data.bufferContents"],s:'_0?null:"disabled"'},p:[72,65,3595]}]},f:["Create Bottle (max 30µ)"]}," ",{p:[73,4,3681],t:7,e:"br"}," ",{p:[74,4,3691],t:7,e:"ui-button",a:{action:"createBottle",params:'{"many": 1}',state:[{t:2,x:{r:["data.bufferContents"],s:'_0?null:"disabled"'},p:[74,65,3752]}]},f:["Dispense Buffer to Bottles"]}]}],n:50,x:{r:["data.condi"],s:"!_0"},p:[51,2,2438]},{t:4,n:51,f:[{p:[79,3,3874],t:7,e:"ui-display",a:{title:"Condiments bottles and packs"},f:[{p:[80,4,3929],t:7,e:"ui-button",a:{action:"createPill",params:'{"many": 0}',state:[{t:2,x:{r:["data.bufferContents"],s:'_0?null:"disabled"'},p:[80,63,3988]}]},f:["Create Pack (max 10µ)"]}," ",{p:[81,4,4072],t:7,e:"br"}," ",{p:[82,4,4082],t:7,e:"br"}," ",{p:[83,4,4092],t:7,e:"ui-button",a:{action:"createBottle",params:'{"many": 0}',state:[{t:2,x:{r:["data.bufferContents"],s:'_0?null:"disabled"'},p:[83,65,4153]}]},f:["Create Bottle (max 50µ)"]}]}],x:{r:["data.condi"],s:"!_0"}}],n:50,x:{r:["data.screen"],s:'_0=="home"'},p:[1,1,0]},{t:4,n:51,f:[{t:4,n:50,x:{r:["data.screen"],s:'_0=="analyze"'},f:[{p:[87,2,4301],t:7,e:"ui-display",a:{title:[{t:2,r:"data.analyzeVars.name",p:[87,20,4319]}]},f:[{p:[88,3,4350],t:7,e:"span",a:{"class":"highlight"},f:["Description:"]}," ",{p:[89,3,4398],t:7,e:"span",a:{"class":"content",style:"float:center"},f:[{t:2,r:"data.analyzeVars.description",p:[89,46,4441]}]}," ",{p:[90,3,4484],t:7,e:"br"}," ",{p:[91,3,4493],t:7,e:"span",a:{"class":"highlight"},f:["Color:"]}," ",{p:[92,3,4535],t:7,e:"span",a:{style:["color: ",{t:2,r:"data.analyzeVars.color",p:[92,23,4555]},"; background-color: ",{t:2,r:"data.analyzeVars.color",p:[92,69,4601]}]},f:[{t:2,r:"data.analyzeVars.color",p:[92,97,4629]}]}," ",{p:[93,3,4666],t:7,e:"br"}," ",{p:[94,3,4675],t:7,e:"span",a:{"class":"highlight"},f:["State:"]}," ",{p:[95,3,4717],t:7,e:"span",a:{"class":"content"},f:[{t:2,r:"data.analyzeVars.state",p:[95,25,4739]}]}," ",{p:[96,3,4776],t:7,e:"br"}," ",{p:[97,3,4785],t:7,e:"span",a:{"class":"highlight"},f:["Metabolization Rate:"]}," ",{p:[98,3,4841],t:7,e:"span",a:{"class":"content"},f:[{t:2,r:"data.analyzeVars.metaRate",p:[98,25,4863]},"µ/minute"]}," ",{p:[99,3,4911],t:7,e:"br"}," ",{p:[100,3,4920],t:7,e:"span",a:{"class":"highlight"},f:["Overdose Threshold:"]}," ",{p:[101,3,4975],t:7,e:"span",a:{"class":"content"},f:[{t:2,r:"data.analyzeVars.overD",p:[101,25,4997]}]}," ",{p:[102,3,5034],t:7,e:"br"}," ",{p:[103,3,5043],t:7,e:"span",a:{"class":"highlight"},f:["Addiction Threshold:"]}," ",{p:[104,3,5099],t:7,e:"span",a:{"class":"content"},f:[{t:2,r:"data.analyzeVars.addicD",p:[104,25,5121]}]}," ",{p:[105,3,5159],t:7,e:"br"}," ",{p:[106,3,5168],t:7,e:"br"}," ",{p:[107,3,5177],t:7,e:"ui-button",a:{action:"goScreen",params:'{"screen": "home"}'},f:["Back"]}]}]}],x:{r:["data.screen"],s:'_0=="home"'}}]},e.exports=a.extend(r.exports)},{205:205}],241:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{p:[2,3,16],t:7,e:"ui-button",a:{action:"toggle"},f:[{t:2,x:{r:["data.recollection"],s:'_0?"Recital":"Recollection"'},p:[2,30,43]}]}," ",{p:[3,3,107],t:7,e:"ui-button",a:{action:"component"},f:["Target Component: ",{t:3,r:"data.target_comp",p:[3,51,155]}]}]}," ",{t:4,f:[{p:[6,3,235],t:7,e:"ui-display",f:[{t:3,r:"data.rec_text",p:[7,3,251]}," ",{t:4,f:[{p:[9,4,317],t:7,e:"br"},{p:[9,8,321],t:7,e:"ui-button",a:{action:"rec_category",params:['{"category": "',{t:2,r:"name",p:[9,63,376]},'"}']},f:[{t:3,r:"name",p:[9,75,388]}," - ",{t:3,r:"desc",p:[9,88,401]}]}],n:52,r:"data.recollection_categories",p:[8,3,274]}," ",{t:3,r:"data.rec_section",p:[11,3,440]}," ",{t:3,r:"data.rec_binds",p:[12,3,466]}]}],n:50,r:"data.recollection",p:[5,1,206]},{t:4,n:51,f:[{p:[15,2,517],t:7,e:"ui-display",a:{title:"Components (with Global Cache)",button:0},f:[{p:[16,4,580],t:7,e:"ui-section",f:[{t:3,r:"data.components",p:[17,6,599]}]}]}," ",{p:[20,2,657],t:7,e:"ui-display",f:[{p:[21,3,673],t:7,e:"ui-section",f:[{p:[22,4,690],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.selected"],s:'_0=="Driver"?"selected":null'},p:[22,22,708]}],action:"select",params:'{"category": "Driver"}'},f:["Driver"]}," ",{p:[23,4,831],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.selected"],s:'_0=="Script"?"selected":null'},p:[23,22,849]}],action:"select",params:'{"category": "Script"}'},f:["Scripts"]}," ",{p:[24,4,973],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.selected"],s:'_0=="Application"?"selected":null'},p:[24,22,991]}],action:"select",params:'{"category": "Application"}'},f:["Applications"]}," ",{p:[25,4,1130],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.selected"],s:'_0=="Judgement"?"selected":null'},p:[25,22,1148]}],action:"select",params:'{"category": "Judgement"}'},f:["Judgement"]}," ",{p:[26,4,1279],t:7,e:"br"},{t:3,r:"data.tier_info",p:[26,8,1283]}]},{p:[27,16,1320],t:7,e:"hr"}," ",{p:[28,3,1328],t:7,e:"ui-section",f:[{t:4,f:[{p:[30,4,1373],t:7,e:"div",f:[{p:[30,9,1378],t:7,e:"ui-button",a:{tooltip:[{t:3,r:"tip",p:[30,29,1398]}],"tooltip-side":"right",action:"recite",params:['{"category": "',{t:2,r:"type",p:[30,99,1468]},'"}']},f:["Recite",{t:3,r:"required",p:[30,117,1486]}]}," ",{t:4,f:[{t:4,f:[{p:[33,6,1562],t:7,e:"ui-button",a:{action:"bind",params:['{"category": "',{t:2,r:"type",p:[33,53,1609]},'"}']},f:["Unbind ",{t:3,r:"bound",p:[33,72,1628]}]}],n:50,r:"bound",p:[32,5,1542]},{t:4,n:51,f:[{p:[35,6,1672],t:7,e:"ui-button",a:{action:"bind",params:['{"category": "',{t:2,r:"type",p:[35,53,1719]},'"}']},f:["Quickbind"]}],r:"bound"}],n:50,r:"quickbind",p:[31,6,1519]}," ",{t:3,r:"name",p:[38,6,1786]}," ",{t:3,r:"descname",p:[38,17,1797]}," ",{t:3,r:"invokers",p:[38,32,1812]}]}],n:52,r:"data.scripture",p:[29,3,1344]}]}]}],r:"data.recollection"}]},e.exports=a.extend(r.exports)},{205:205}],242:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Codex Gigas"},f:[{p:[2,2,35],t:7,e:"ui-section",f:[{t:2,r:"data.name",p:[3,3,51]}]}," ",{p:[5,5,86],t:7,e:"ui-section",a:{label:"Prefix"},f:[{p:[6,3,117],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0==1?null:"disabled"'},p:[6,22,136]}],action:"Dark "},f:["Dark"]}," ",{p:[7,3,221],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0==1?null:"disabled"'},p:[7,22,240]}],action:"Hellish "},f:["Hellish"]}," ",{p:[8,3,331],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0==1?null:"disabled"'},p:[8,22,350]}],action:"Fallen "},f:["Fallen"]}," ",{p:[9,3,439],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0==1?null:"disabled"'},p:[9,22,458]}],action:"Fiery "},f:["Fiery"]}," ",{p:[10,3,545],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0==1?null:"disabled"'},p:[10,22,564]}],action:"Sinful "},f:["Sinful"]}," ",{p:[11,3,653],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0==1?null:"disabled"'},p:[11,22,672]}],action:"Blood "},f:["Blood"]}," ",{p:[12,3,759],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0==1?null:"disabled"'},p:[12,22,778]}],action:"Fluffy "},f:["Fluffy"]}]}," ",{p:[14,5,888],t:7,e:"ui-section",a:{label:"Title"},f:[{p:[15,3,918],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=2?null:"disabled"'},p:[15,22,937]}],action:"Lord "},f:["Lord"]}," ",{p:[16,3,1022],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=2?null:"disabled"'},p:[16,22,1041]}],action:"Prelate "},f:["Prelate"]}," ",{p:[17,3,1132],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=2?null:"disabled"'},p:[17,22,1151]}],action:"Count "},f:["Count"]}," ",{p:[18,3,1238],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=2?null:"disabled"'},p:[18,22,1257]}],action:"Viscount "},f:["Viscount"]}," ",{p:[19,3,1350],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=2?null:"disabled"'},p:[19,22,1369]}],action:"Vizier "},f:["Vizier"]}," ",{p:[20,3,1458],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=2?null:"disabled"'},p:[20,22,1477]}],action:"Elder "},f:["Elder"]}," ",{p:[21,3,1564],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=2?null:"disabled"'},p:[21,22,1583]}],action:"Adept "},f:["Adept"]}]}," ",{p:[23,5,1691],t:7,e:"ui-section",a:{label:"Name"},f:[{p:[24,3,1720],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=4?null:"disabled"'},p:[24,22,1739]}],action:"hal"},f:["hal"]}," ",{p:[25,3,1821],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=4?null:"disabled"'},p:[25,22,1840]}],action:"ve" -+p:[13,5,605],t:7,e:"ui-section",a:{label:"Output Pressure"},f:[{p:[14,7,649],t:7,e:"ui-button",a:{icon:"pencil",action:"pressure",params:'{"pressure": "input"}'},f:["Set"]}," ",{p:[15,7,746],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.pressure","data.max_pressure"],s:'_0==_1?"disabled":null'},p:[15,37,776]}],action:"pressure",params:'{"pressure": "max"}'},f:["Max"]}," ",{p:[16,7,906],t:7,e:"span",f:[{t:2,x:{r:["adata.pressure"],s:"Math.round(_0)"},p:[16,13,912]}," kPa"]}]}],r:"data.max_rate"}]}]},e.exports=a.extend(r.exports)},{205:205}],233:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:{button:[{p:[3,5,67],t:7,e:"ui-button",a:{icon:"clock-o",style:[{t:2,x:{r:["data.timing"],s:'_0?"selected":null'},p:[3,38,100]}],action:[{t:2,x:{r:["data.timing"],s:'_0?"stop":"start"'},p:[3,83,145]}]},f:[{t:2,x:{r:["data.timing"],s:'_0?"Stop":"Start"'},p:[3,119,181]}]}," ",{p:[4,5,233],t:7,e:"ui-button",a:{icon:"lightbulb-o",action:"flash",style:[{t:2,x:{r:["data.flash_charging"],s:'_0?"disabled":null'},p:[4,57,285]}]},f:[{t:2,x:{r:["data.flash_charging"],s:'_0?"Recharging":"Flash"'},p:[4,102,330]}]}]},t:7,e:"ui-display",a:{title:"Cell Timer",button:0},f:[" ",{p:[6,3,410],t:7,e:"ui-section",f:[{p:[7,5,428],t:7,e:"ui-button",a:{icon:"fast-backward",action:"time",params:'{"adjust": -600}'}}," ",{p:[8,5,518],t:7,e:"ui-button",a:{icon:"backward",action:"time",params:'{"adjust": -100}'}}," ",{p:[9,5,603],t:7,e:"span",f:[{t:2,x:{r:["text","data.minutes"],s:"_0.zeroPad(_1,2)"},p:[9,11,609]},":",{t:2,x:{r:["text","data.seconds"],s:"_0.zeroPad(_1,2)"},p:[9,45,643]}]}," ",{p:[10,5,689],t:7,e:"ui-button",a:{icon:"forward",action:"time",params:'{"adjust": 100}'}}," ",{p:[11,5,772],t:7,e:"ui-button",a:{icon:"fast-forward",action:"time",params:'{"adjust": 600}'}}]}," ",{p:[13,3,875],t:7,e:"ui-section",f:[{p:[14,7,895],t:7,e:"ui-button",a:{icon:"hourglass-start",action:"preset",params:'{"preset": "short"}'},f:["Short"]}," ",{p:[15,7,999],t:7,e:"ui-button",a:{icon:"hourglass-start",action:"preset",params:'{"preset": "medium"}'},f:["Medium"]}," ",{p:[16,7,1105],t:7,e:"ui-button",a:{icon:"hourglass-start",action:"preset",params:'{"preset": "long"}'},f:["Long"]}]}]}]},e.exports=a.extend(r.exports)},{205:205}],234:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,3,23],t:7,e:"ui-notice",f:[{t:2,r:"data.notice",p:[3,5,40]}]}],n:50,r:"data.notice",p:[1,1,0]},{p:[6,1,82],t:7,e:"ui-display",a:{title:"Bluespace Artillery Control",button:0},f:[{t:4,f:[{p:[8,3,167],t:7,e:"ui-section",a:{label:"Target"},f:[{p:[9,5,200],t:7,e:"ui-button",a:{icon:"crosshairs",action:"recalibrate"},f:[{t:2,r:"data.target",p:[9,55,250]}]}]}," ",{p:[11,3,298],t:7,e:"ui-section",a:{label:"Controls"},f:[{t:4,f:[{p:[13,3,356],t:7,e:"ui-notice",f:[{p:[14,4,372],t:7,e:"span",f:["Bluespace Artillery firing protocols must be globally unlocked from two keycard authentication devices first!"]}]}],n:50,x:{r:["data.unlocked"],s:"!_0"},p:[12,2,330]},{t:4,n:51,f:[{p:[17,3,525],t:7,e:"ui-button",a:{icon:"warning",state:[{t:2,x:{r:["data.ready"],s:'_0?null:"disabled"'},p:[17,36,558]}],action:"fire"},f:["FIRE!"]}],x:{r:["data.unlocked"],s:"!_0"}}]}],n:50,r:"data.connected",p:[7,3,141]}," ",{t:4,f:[{p:[22,3,694],t:7,e:"ui-section",a:{label:"Maintenance"},f:[{p:[23,7,734],t:7,e:"ui-button",a:{icon:"wrench",action:"build"},f:["Complete Deployment."]}]}],n:50,x:{r:["data.connected"],s:"!_0"},p:[21,3,667]}]}]},e.exports=a.extend(r.exports)},{205:205}],235:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-notice",f:[{p:[2,3,15],t:7,e:"span",f:["The regulator ",{t:2,x:{r:["data.hasHoldingTank"],s:'_0?"is":"is not"'},p:[2,23,35]}," connected to a tank."]}]}," ",{p:{button:[{p:[6,5,185],t:7,e:"ui-button",a:{icon:"pencil",action:"relabel"},f:["Relabel"]}]},t:7,e:"ui-display",a:{title:"Canister",button:0},f:[" ",{p:[8,3,266],t:7,e:"ui-section",a:{label:"Pressure"},f:[{p:[9,5,301],t:7,e:"span",f:[{t:2,x:{r:["adata.tankPressure"],s:"Math.round(_0)"},p:[9,11,307]}," kPa"]}]}," ",{p:[11,3,373],t:7,e:"ui-section",a:{label:"Port"},f:[{p:[12,5,404],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.portConnected"],s:'_0?"good":"average"'},p:[12,18,417]}]},f:[{t:2,x:{r:["data.portConnected"],s:'_0?"Connected":"Not Connected"'},p:[12,63,462]}]}]}," ",{t:4,f:[{p:[15,3,573],t:7,e:"ui-section",a:{label:"Access"},f:[{p:[16,7,608],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.restricted"],s:'_0?"lock":"unlock"'},p:[16,24,625]}],style:[{t:2,x:{r:[],s:'"caution"'},p:[17,14,680]}],action:"restricted"},f:[{t:2,x:{r:["data.restricted"],s:'_0?"Restricted to Engineering":"Public"'},p:[18,27,722]}]}]}],n:50,r:"data.isPrototype",p:[14,3,544]}]}," ",{p:[22,1,839],t:7,e:"ui-display",a:{title:"Valve"},f:[{p:[23,3,869],t:7,e:"ui-section",a:{label:"Release Pressure"},f:[{p:[24,5,912],t:7,e:"ui-bar",a:{min:[{t:2,r:"data.minReleasePressure",p:[24,18,925]}],max:[{t:2,r:"data.maxReleasePressure",p:[24,52,959]}],value:[{t:2,r:"data.releasePressure",p:[25,14,1002]}]},f:[{t:2,x:{r:["adata.releasePressure"],s:"Math.round(_0)"},p:[25,40,1028]}," kPa"]}]}," ",{p:[27,3,1099],t:7,e:"ui-section",a:{label:"Pressure Regulator"},f:[{p:[28,5,1144],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["data.releasePressure","data.defaultReleasePressure"],s:'_0!=_1?null:"disabled"'},p:[28,38,1177]}],action:"pressure",params:'{"pressure": "reset"}'},f:["Reset"]}," ",{p:[30,5,1333],t:7,e:"ui-button",a:{icon:"minus",state:[{t:2,x:{r:["data.releasePressure","data.minReleasePressure"],s:'_0>_1?null:"disabled"'},p:[30,36,1364]}],action:"pressure",params:'{"pressure": "min"}'},f:["Min"]}," ",{p:[32,5,1511],t:7,e:"ui-button",a:{icon:"pencil",action:"pressure",params:'{"pressure": "input"}'},f:["Set"]}," ",{p:[33,5,1606],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.releasePressure","data.maxReleasePressure"],s:'_0<_1?null:"disabled"'},p:[33,35,1636]}],action:"pressure",params:'{"pressure": "max"}'},f:["Max"]}]}," ",{p:[36,3,1798],t:7,e:"ui-section",a:{label:"Valve"},f:[{p:[37,5,1830],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.valveOpen"],s:'_0?"unlock":"lock"'},p:[37,22,1847]}],style:[{t:2,x:{r:["data.valveOpen","data.hasHoldingTank"],s:'_0?_1?"caution":"danger":null'},p:[38,14,1901]}],action:"valve"},f:[{t:2,x:{r:["data.valveOpen"],s:'_0?"Open":"Closed"'},p:[39,22,1995]}]}]}]}," ",{t:4,f:[{p:[42,1,2090],t:7,e:"ui-display",a:{title:"Valve Toggle Timer"},f:[{t:4,f:[{p:[44,5,2155],t:7,e:"ui-section",a:{label:"Adjust Timer"},f:[{p:[45,7,2196],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["data.timer_is_not_default"],s:'_0?null:"disabled"'},p:[45,40,2229]}],action:"timer",params:'{"change": "reset"}'},f:["Reset"]}," ",{p:[47,7,2358],t:7,e:"ui-button",a:{icon:"minus",state:[{t:2,x:{r:["data.timer_is_not_min"],s:'_0?null:"disabled"'},p:[47,38,2389]}],action:"timer",params:'{"change": "decrease"}'},f:["Decrease"]}," ",{p:[49,7,2520],t:7,e:"ui-button",a:{icon:"pencil",state:[{t:2,x:{r:[],s:'"disabled"'},p:[49,39,2552]}],action:"timer",params:'{"change": "input"}'},f:["Set"]}," ",{p:[51,7,2637],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.timer_is_not_max"],s:'_0?null:"disabled"'},p:[51,37,2667]}],action:"timer",params:'{"change": "increase"}'},f:["Increase"]}]}],n:51,r:"data.timing",p:[43,3,2133]}," ",{p:[55,3,2833],t:7,e:"ui-section",a:{label:"Timer"},f:[{p:[56,6,2866],t:7,e:"ui-button",a:{icon:"clock-o",style:[{t:2,x:{r:["data.timing"],s:'_0?"danger":"caution"'},p:[56,39,2899]}],action:"toggle_timer"},f:[{t:2,x:{r:["data.timing"],s:'_0?"On":"Off"'},p:[57,30,2969]}]}," ",{p:[59,2,3017],t:7,e:"ui-section",a:{label:"Time until Valve Toggle"},f:[{p:[60,2,3064],t:7,e:"span",f:[{t:2,x:{r:["data.timing","data.time_left","data.timer_set"],s:"_0?_1:_2"},p:[60,8,3070]}]}]}]}]}],n:50,r:"data.isPrototype",p:[41,1,2062]},{p:{button:[{t:4,f:[{p:[69,7,3277],t:7,e:"ui-button",a:{icon:"eject",style:[{t:2,x:{r:["data.valveOpen"],s:'_0?"danger":null'},p:[69,38,3308]}],action:"eject"},f:["Eject"]}],n:50,r:"data.hasHoldingTank",p:[68,5,3242]}]},t:7,e:"ui-display",a:{title:"Holding Tank",button:0},f:[" ",{t:4,f:[{p:[73,3,3442],t:7,e:"ui-section",a:{label:"Label"},f:[{t:2,r:"data.holdingTank.name",p:[74,4,3473]}]}," ",{p:[76,3,3519],t:7,e:"ui-section",a:{label:"Pressure"},f:[{t:2,x:{r:["adata.holdingTank.tankPressure"],s:"Math.round(_0)"},p:[77,4,3553]}," kPa"]}],n:50,r:"data.hasHoldingTank",p:[72,3,3411]},{t:4,n:51,f:[{p:[80,3,3635],t:7,e:"ui-section",f:[{p:[81,4,3652],t:7,e:"span",a:{"class":"average"},f:["No Holding Tank"]}]}],r:"data.hasHoldingTank"}]}]},e.exports=a.extend(r.exports)},{205:205}],236:[function(t,e,n){var a=t(205),r={exports:{}};!function(t){"use strict";t.exports={computed:{tabs:function(){return Object.keys(this.get("data.supplies"))}}}}(r),r.exports.template={v:3,t:[" ",{p:[11,1,158],t:7,e:"ui-display",a:{title:"Cargo"},f:[{p:[12,3,188],t:7,e:"ui-section",a:{label:"Shuttle"},f:[{t:4,f:[{p:[14,7,270],t:7,e:"ui-button",a:{action:"send"},f:[{t:2,r:"data.location",p:[14,32,295]}]}],n:50,x:{r:["data.docked","data.requestonly"],s:"_0&&!_1"},p:[13,5,222]},{t:4,n:51,f:[{p:[16,7,346],t:7,e:"span",f:[{t:2,r:"data.location",p:[16,13,352]}]}],x:{r:["data.docked","data.requestonly"],s:"_0&&!_1"}}]}," ",{p:[19,3,410],t:7,e:"ui-section",a:{label:"Credits"},f:[{p:[20,5,444],t:7,e:"span",f:[{t:2,x:{r:["adata.points"],s:"Math.floor(_0)"},p:[20,11,450]}]}]}," ",{p:[22,3,506],t:7,e:"ui-section",a:{label:"CentCom Message"},f:[{p:[23,7,550],t:7,e:"span",f:[{t:2,r:"data.message",p:[23,13,556]}]}]}," ",{t:4,f:[{p:[26,5,644],t:7,e:"ui-section",a:{label:"Loan"},f:[{t:4,f:[{p:[28,9,716],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.away","data.docked"],s:'_0&&_1?null:"disabled"'},p:[29,17,744]}],action:"loan"},f:["Loan Shuttle"]}],n:50,x:{r:["data.loan_dispatched"],s:"!_0"},p:[27,7,677]},{t:4,n:51,f:[{p:[32,9,868],t:7,e:"span",a:{"class":"bad"},f:["Loaned to CentCom"]}],x:{r:["data.loan_dispatched"],s:"!_0"}}]}],n:50,x:{r:["data.loan","data.requestonly"],s:"_0&&!_1"},p:[25,3,600]}]}," ",{t:4,f:[{p:{button:[{p:[40,7,1066],t:7,e:"ui-button",a:{icon:"close",state:[{t:2,x:{r:["data.cart.length"],s:'_0?null:"disabled"'},p:[40,38,1097]}],action:"clear"},f:["Clear"]}]},t:7,e:"ui-display",a:{title:"Cart",button:0},f:[" ",{t:4,f:[{p:[43,7,1222],t:7,e:"ui-section",a:{candystripe:0,nowrap:0},f:[{p:[44,9,1263],t:7,e:"div",a:{"class":"content"},f:["#",{t:2,r:"id",p:[44,31,1285]}]}," ",{p:[45,9,1307],t:7,e:"div",a:{"class":"content"},f:[{t:2,r:"object",p:[45,30,1328]}]}," ",{p:[46,9,1354],t:7,e:"div",a:{"class":"content"},f:[{t:2,r:"cost",p:[46,30,1375]}," Credits"]}," ",{p:[47,9,1407],t:7,e:"div",a:{"class":"content"},f:[{p:[48,11,1440],t:7,e:"ui-button",a:{icon:"minus",action:"remove",params:['{"id": "',{t:2,r:"id",p:[48,67,1496]},'"}']}}]}]}],n:52,r:"data.cart",p:[42,5,1195]},{t:4,n:51,f:[{p:[52,7,1566],t:7,e:"span",f:["Nothing in Cart"]}],r:"data.cart"}]}],n:50,x:{r:["data.requestonly"],s:"!_0"},p:[37,1,972]},{p:{button:[{t:4,f:[{p:[59,7,1735],t:7,e:"ui-button",a:{icon:"close",state:[{t:2,x:{r:["data.requests.length"],s:'_0?null:"disabled"'},p:[59,38,1766]}],action:"denyall"},f:["Clear"]}],n:50,x:{r:["data.requestonly"],s:"!_0"},p:[58,5,1702]}]},t:7,e:"ui-display",a:{title:"Requests",button:0},f:[" ",{t:4,f:[{p:[63,5,1908],t:7,e:"ui-section",a:{candystripe:0,nowrap:0},f:[{p:[64,7,1947],t:7,e:"div",a:{"class":"content"},f:["#",{t:2,r:"id",p:[64,29,1969]}]}," ",{p:[65,7,1989],t:7,e:"div",a:{"class":"content"},f:[{t:2,r:"object",p:[65,28,2010]}]}," ",{p:[66,7,2034],t:7,e:"div",a:{"class":"content"},f:[{t:2,r:"cost",p:[66,28,2055]}," Credits"]}," ",{p:[67,7,2085],t:7,e:"div",a:{"class":"content"},f:["By ",{t:2,r:"orderer",p:[67,31,2109]}]}," ",{p:[68,7,2134],t:7,e:"div",a:{"class":"content"},f:["Comment: ",{t:2,r:"reason",p:[68,37,2164]}]}," ",{t:4,f:[{p:[70,9,2223],t:7,e:"div",a:{"class":"content"},f:[{p:[71,11,2256],t:7,e:"ui-button",a:{icon:"check",action:"approve",params:['{"id": "',{t:2,r:"id",p:[71,68,2313]},'"}']}}," ",{p:[72,11,2336],t:7,e:"ui-button",a:{icon:"close",action:"deny",params:['{"id": "',{t:2,r:"id",p:[72,65,2390]},'"}']}}]}],n:50,x:{r:["data.requestonly"],s:"!_0"},p:[69,7,2188]}]}],n:52,r:"data.requests",p:[62,3,1879]},{t:4,n:51,f:[{p:[77,7,2473],t:7,e:"span",f:["No Requests"]}],r:"data.requests"}]}," ",{p:[80,1,2529],t:7,e:"ui-tabs",a:{tabs:[{t:2,r:"tabs",p:[80,16,2544]}]},f:[{t:4,f:[{p:[82,5,2587],t:7,e:"tab",a:{name:[{t:2,r:"name",p:[82,16,2598]}]},f:[{t:4,f:[{p:[84,9,2641],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[84,28,2660]}],candystripe:0,right:0},f:[{p:[85,11,2700],t:7,e:"ui-button",a:{action:"add",params:['{"id": "',{t:2,r:"id",p:[85,51,2740]},'"}']},f:[{t:2,r:"cost",p:[85,61,2750]}," Credits"]}]}],n:52,r:"packs",p:[83,7,2616]}]}],n:52,r:"data.supplies",p:[81,3,2558]}]}]},e.exports=a.extend(r.exports)},{205:205}],237:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Cellular Emporium",button:0},f:[{p:[2,3,49],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["data.can_readapt"],s:'_0?null:"disabled"'},p:[2,36,82]}],action:"readapt"},f:["Readapt"]}," ",{p:[4,3,169],t:7,e:"ui-section",a:{label:"Genetic Points Remaining",right:0},f:[{t:2,r:"data.genetic_points_remaining",p:[5,5,226]}]}]}," ",{p:[8,1,293],t:7,e:"ui-display",f:[{t:4,f:[{p:[10,3,335],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[10,22,354]}],candystripe:0,right:0},f:[{p:[11,5,388],t:7,e:"span",f:[{t:2,r:"desc",p:[11,11,394]}]}," ",{p:[12,5,415],t:7,e:"span",f:[{t:2,r:"helptext",p:[12,11,421]}]}," ",{p:[13,5,446],t:7,e:"span",f:["Cost: ",{t:2,r:"dna_cost",p:[13,17,458]}]}," ",{p:[14,5,483],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["owned","can_purchase"],s:'_0?"selected":_1?null:"disabled"'},p:[15,14,508]}],action:"evolve",params:['{"name": "',{t:2,r:"name",p:[17,25,615]},'"}']},f:[{t:2,x:{r:["owned"],s:'_0?"Evolved":"Evolve"'},p:[18,7,635]}]}]}],n:52,r:"data.abilities",p:[9,1,307]},{t:4,f:[{p:[23,3,738],t:7,e:"span",a:{"class":"warning"},f:["No abilities availible."]}],n:51,r:"data.abilities",p:[22,1,715]}]}]},e.exports=a.extend(r.exports)},{205:205}],238:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Status"},f:[{p:[2,3,31],t:7,e:"ui-section",a:{label:"Energy"},f:[{p:[3,5,64],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.maxEnergy",p:[3,26,85]}],value:[{t:2,r:"data.energy",p:[3,53,112]}]},f:[{t:2,x:{r:["adata.energy"],s:"Math.fixed(_0)"},p:[3,70,129]}," Units"]}]}]}," ",{p:{button:[{t:4,f:[{p:[9,7,315],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.amount","."],s:'_0==_1?"selected":null'},p:[9,37,345]}],action:"amount",params:['{"target": ',{t:2,r:".",p:[9,114,422]},"}"]},f:[{t:2,r:".",p:[9,122,430]}]}],n:52,r:"data.beakerTransferAmounts",p:[8,5,271]}]},t:7,e:"ui-display",a:{title:"Dispense",button:0},f:[" ",{p:[12,3,482],t:7,e:"ui-section",f:[{t:4,f:[{p:[14,7,532],t:7,e:"ui-button",a:{grid:0,icon:"tint",action:"dispense",params:['{"reagent": "',{t:2,r:"id",p:[14,74,599]},'"}']},f:[{t:2,r:"title",p:[14,84,609]}]}],n:52,r:"data.chemicals",p:[13,5,500]}]}]}," ",{p:{button:[{t:4,f:[{p:[21,7,786],t:7,e:"ui-button",a:{icon:"minus",action:"remove",params:['{"amount": ',{t:2,r:".",p:[21,66,845]},"}"]},f:[{t:2,r:".",p:[21,74,853]}]}],n:52,r:"data.beakerTransferAmounts",p:[20,5,742]}," ",{p:[23,5,891],t:7,e:"ui-button",a:{icon:"eject",state:[{t:2,x:{r:["data.isBeakerLoaded"],s:'_0?null:"disabled"'},p:[23,36,922]}],action:"eject"},f:["Eject"]}]},t:7,e:"ui-display",a:{title:"Beaker",button:0},f:[" ",{p:[25,3,1019],t:7,e:"ui-section",a:{label:"Contents"},f:[{t:4,f:[{p:[27,7,1089],t:7,e:"span",f:[{t:2,x:{r:["adata.beakerCurrentVolume"],s:"Math.round(_0)"},p:[27,13,1095]},"/",{t:2,r:"data.beakerMaxVolume",p:[27,55,1137]}," Units"]}," ",{p:[28,7,1182],t:7,e:"br"}," ",{t:4,f:[{p:[30,9,1235],t:7,e:"span",a:{"class":"highlight"},t0:"fade",f:[{t:2,x:{r:["volume"],s:"Math.fixed(_0,2)"},p:[30,52,1278]}," units of ",{t:2,r:"name",p:[30,87,1313]}]},{p:[30,102,1328],t:7,e:"br"}],n:52,r:"adata.beakerContents",p:[29,7,1195]},{t:4,n:51,f:[{p:[32,9,1359],t:7,e:"span",a:{"class":"bad"},f:["Beaker Empty"]}],r:"adata.beakerContents"}],n:50,r:"data.isBeakerLoaded",p:[26,5,1054]},{t:4,n:51,f:[{p:[35,7,1435],t:7,e:"span",a:{"class":"average"},f:["No Beaker"]}],r:"data.isBeakerLoaded"}]}]}]},e.exports=a.extend(r.exports)},{205:205}],239:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Thermostat"},f:[{p:[2,3,35],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[3,5,67],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.isActive"],s:'_0?"power-off":"close"'},p:[3,22,84]}],style:[{t:2,x:{r:["data.isActive"],s:'_0?"selected":null'},p:[4,10,137]}],state:[{t:2,x:{r:["data.isBeakerLoaded"],s:'_0?null:"disabled"'},p:[5,10,186]}],action:"power"},f:[{t:2,x:{r:["data.isActive"],s:'_0?"On":"Off"'},p:[6,18,249]}]}]}," ",{p:[8,3,314],t:7,e:"ui-section",a:{label:"Target"},f:[{p:[9,4,346],t:7,e:"ui-button",a:{icon:"pencil",action:"temperature",params:'{"target": "input"}'},f:[{t:2,x:{r:["adata.targetTemp"],s:"Math.round(_0)"},p:[9,79,421]}," K"]}]}]}," ",{p:{button:[{p:[14,5,564],t:7,e:"ui-button",a:{icon:"eject",state:[{t:2,x:{r:["data.isBeakerLoaded"],s:'_0?null:"disabled"'},p:[14,36,595]}],action:"eject"},f:["Eject"]}]},t:7,e:"ui-display",a:{title:"Beaker",button:0},f:[" ",{p:[16,3,692],t:7,e:"ui-section",a:{label:"Contents"},f:[{t:4,f:[{p:[18,7,762],t:7,e:"span",f:["Temperature: ",{t:2,x:{r:["adata.currentTemp"],s:"Math.round(_0)"},p:[18,26,781]}," K"]}," ",{p:[19,7,831],t:7,e:"br"}," ",{t:4,f:[{p:[21,9,885],t:7,e:"span",a:{"class":"highlight"},t0:"fade",f:[{t:2,x:{r:["volume"],s:"Math.fixed(_0,2)"},p:[21,52,928]}," units of ",{t:2,r:"name",p:[21,87,963]}]},{p:[21,102,978],t:7,e:"br"}],n:52,r:"adata.beakerContents",p:[20,7,845]},{t:4,n:51,f:[{p:[23,9,1009],t:7,e:"span",a:{"class":"bad"},f:["Beaker Empty"]}],r:"adata.beakerContents"}],n:50,r:"data.isBeakerLoaded",p:[17,5,727]},{t:4,n:51,f:[{p:[26,7,1085],t:7,e:"span",a:{"class":"average"},f:["No Beaker"]}],r:"data.isBeakerLoaded"}]}]}]},e.exports=a.extend(r.exports)},{205:205}],240:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,2,32],t:7,e:"ui-display",a:{title:"Beaker",button:0},f:[{p:[3,3,70],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.isBeakerLoaded"],s:'_0?"Eject":"close"'},p:[3,20,87]}],style:[{t:2,x:{r:["data.isBeakerLoaded"],s:'_0?"selected":null'},p:[4,11,143]}],state:[{t:2,x:{r:["data.isBeakerLoaded"],s:'_0?null:"disabled"'},p:[5,11,199]}],action:"eject"},f:[{t:2,x:{r:["data.isBeakerLoaded"],s:'_0?"Eject and Clear Buffer":"No beaker"'},p:[7,5,268]}]}," ",{p:[10,3,357],t:7,e:"ui-section",f:[{t:4,f:[{t:4,f:[{p:[13,6,443],t:7,e:"ui-section",a:{label:[{t:2,x:{r:["volume"],s:"Math.fixed(_0,2)"},p:[13,25,462]}," units of ",{t:2,r:"name",p:[13,60,497]}],nowrap:0},f:[{p:[14,7,522],t:7,e:"div",a:{"class":"content",style:"float:right"},f:[{p:[15,8,572],t:7,e:"ui-button",a:{action:"transferToBuffer",params:['{"id": "',{t:2,r:"id",p:[15,61,625]},'", "amount": 1}']},f:["1"]}," ",{p:[16,8,670],t:7,e:"ui-button",a:{action:"transferToBuffer",params:['{"id": "',{t:2,r:"id",p:[16,61,723]},'", "amount": 5}']},f:["5"]}," ",{p:[17,8,768],t:7,e:"ui-button",a:{action:"transferToBuffer",params:['{"id": "',{t:2,r:"id",p:[17,61,821]},'", "amount": 10}']},f:["10"]}," ",{p:[18,8,868],t:7,e:"ui-button",a:{action:"transferToBuffer",params:['{"id": "',{t:2,r:"id",p:[18,61,921]},'", "amount": 1000}']},f:["All"]}," ",{p:[19,8,971],t:7,e:"ui-button",a:{action:"transferToBuffer",params:['{"id": "',{t:2,r:"id",p:[19,61,1024]},'", "amount": -1}']},f:["Custom"]}," ",{p:[20,8,1075],t:7,e:"ui-button",a:{action:"analyze",params:['{"id": "',{t:2,r:"id",p:[20,52,1119]},'"}']},f:["Analyze"]}]}]}],n:52,r:"data.beakerContents",p:[12,5,407]},{t:4,n:51,f:[{p:[24,5,1201],t:7,e:"span",a:{"class":"bad"},f:["Beaker Empty"]}],r:"data.beakerContents"}],n:50,r:"data.isBeakerLoaded",p:[11,4,374]},{t:4,n:51,f:[{p:[27,5,1272],t:7,e:"span",a:{"class":"average"},f:["No Beaker"]}],r:"data.isBeakerLoaded"}]}]}," ",{p:[32,2,1360],t:7,e:"ui-display",a:{title:"Buffer"},f:[{p:[33,3,1391],t:7,e:"ui-button",a:{action:"toggleMode",state:[{t:2,x:{r:["data.mode"],s:'_0?null:"selected"'},p:[33,41,1429]}]},f:["Destroy"]}," ",{p:[34,3,1487],t:7,e:"ui-button",a:{action:"toggleMode",state:[{t:2,x:{r:["data.mode"],s:'_0?"selected":null'},p:[34,41,1525]}]},f:["Transfer to Beaker"]}," ",{p:[35,3,1594],t:7,e:"ui-section",f:[{t:4,f:[{p:[37,5,1646],t:7,e:"ui-section",a:{label:[{t:2,x:{r:["volume"],s:"Math.fixed(_0,2)"},p:[37,24,1665]}," units of ",{t:2,r:"name",p:[37,59,1700]}],nowrap:0},f:[{p:[38,6,1724],t:7,e:"div",a:{"class":"content",style:"float:right"},f:[{p:[39,7,1773],t:7,e:"ui-button",a:{action:"transferFromBuffer",params:['{"id": "',{t:2,r:"id",p:[39,62,1828]},'", "amount": 1}']},f:["1"]}," ",{p:[40,7,1872],t:7,e:"ui-button",a:{action:"transferFromBuffer",params:['{"id": "',{t:2,r:"id",p:[40,62,1927]},'", "amount": 5}']},f:["5"]}," ",{p:[41,7,1971],t:7,e:"ui-button",a:{action:"transferFromBuffer",params:['{"id": "',{t:2,r:"id",p:[41,62,2026]},'", "amount": 10}']},f:["10"]}," ",{p:[42,7,2072],t:7,e:"ui-button",a:{action:"transferFromBuffer",params:['{"id": "',{t:2,r:"id",p:[42,62,2127]},'", "amount": 1000}']},f:["All"]}," ",{p:[43,7,2176],t:7,e:"ui-button",a:{action:"transferFromBuffer",params:['{"id": "',{t:2,r:"id",p:[43,62,2231]},'", "amount": -1}']},f:["Custom"]}," ",{p:[44,7,2281],t:7,e:"ui-button",a:{action:"analyze",params:['{"id": "',{t:2,r:"id",p:[44,51,2325]},'"}']},f:["Analyze"]}]}]}],n:52,r:"data.bufferContents",p:[36,4,1611]}]}]}," ",{t:4,f:[{p:[52,3,2461],t:7,e:"ui-display",a:{title:"Pills, Bottles and Patches"},f:[{t:4,f:[{p:[54,5,2551],t:7,e:"ui-button",a:{action:"ejectp",state:[{t:2,x:{r:["data.isPillBottleLoaded"],s:'_0?null:"disabled"'},p:[54,39,2585]}]},f:[{t:2,x:{r:["data.isPillBottleLoaded"],s:'_0?"Eject":"No Pill bottle loaded"'},p:[54,88,2634]}]}," ",{p:[55,5,2715],t:7,e:"span",a:{"class":"content"},f:[{t:2,r:"data.pillBotContent",p:[55,27,2737]},"/",{t:2,r:"data.pillBotMaxContent",p:[55,51,2761]}]}],n:50,r:"data.isPillBottleLoaded",p:[53,4,2514]},{t:4,n:51,f:[{p:[57,5,2813],t:7,e:"span",a:{"class":"average"},f:["No Pillbottle"]}],r:"data.isPillBottleLoaded"}," ",{p:[60,4,2877],t:7,e:"br"}," ",{p:[61,4,2887],t:7,e:"br"}," ",{p:[62,4,2897],t:7,e:"ui-button",a:{action:"createPill",params:'{"many": 0}',state:[{t:2,x:{r:["data.bufferContents"],s:'_0?null:"disabled"'},p:[62,63,2956]}]},f:["Create Pill (max 50µ)"]}," ",{p:[63,4,3040],t:7,e:"br"}," ",{p:[64,4,3050],t:7,e:"ui-button",a:{action:"createPill",params:'{"many": 1}',state:[{t:2,x:{r:["data.bufferContents"],s:'_0?null:"disabled"'},p:[64,63,3109]}]},f:["Create Multiple Pills"]}," ",{p:[65,4,3193],t:7,e:"br"}," ",{p:[66,4,3203],t:7,e:"br"}," ",{p:[67,4,3213],t:7,e:"ui-button",a:{action:"createPatch",params:'{"many": 0}',state:[{t:2,x:{r:["data.bufferContents"],s:'_0?null:"disabled"'},p:[67,64,3273]}]},f:["Create Patch (max 40µ)"]}," ",{p:[68,4,3358],t:7,e:"br"}," ",{p:[69,4,3368],t:7,e:"ui-button",a:{action:"createPatch",params:'{"many": 1}',state:[{t:2,x:{r:["data.bufferContents"],s:'_0?null:"disabled"'},p:[69,64,3428]}]},f:["Create Multiple Patches"]}," ",{p:[70,4,3514],t:7,e:"br"}," ",{p:[71,4,3524],t:7,e:"br"}," ",{p:[72,4,3534],t:7,e:"ui-button",a:{action:"createBottle",params:'{"many": 0}',state:[{t:2,x:{r:["data.bufferContents"],s:'_0?null:"disabled"'},p:[72,65,3595]}]},f:["Create Bottle (max 30µ)"]}," ",{p:[73,4,3681],t:7,e:"br"}," ",{p:[74,4,3691],t:7,e:"ui-button",a:{action:"createBottle",params:'{"many": 1}',state:[{t:2,x:{r:["data.bufferContents"],s:'_0?null:"disabled"'},p:[74,65,3752]}]},f:["Dispense Buffer to Bottles"]}]}],n:50,x:{r:["data.condi"],s:"!_0"},p:[51,2,2438]},{t:4,n:51,f:[{p:[79,3,3874],t:7,e:"ui-display",a:{title:"Condiments bottles and packs"},f:[{p:[80,4,3929],t:7,e:"ui-button",a:{action:"createPill",params:'{"many": 0}',state:[{t:2,x:{r:["data.bufferContents"],s:'_0?null:"disabled"'},p:[80,63,3988]}]},f:["Create Pack (max 10µ)"]}," ",{p:[81,4,4072],t:7,e:"br"}," ",{p:[82,4,4082],t:7,e:"br"}," ",{p:[83,4,4092],t:7,e:"ui-button",a:{action:"createBottle",params:'{"many": 0}',state:[{t:2,x:{r:["data.bufferContents"],s:'_0?null:"disabled"'},p:[83,65,4153]}]},f:["Create Bottle (max 50µ)"]}]}],x:{r:["data.condi"],s:"!_0"}}],n:50,x:{r:["data.screen"],s:'_0=="home"'},p:[1,1,0]},{t:4,n:51,f:[{t:4,n:50,x:{r:["data.screen"],s:'_0=="analyze"'},f:[{p:[87,2,4301],t:7,e:"ui-display",a:{title:[{t:2,r:"data.analyzeVars.name",p:[87,20,4319]}]},f:[{p:[88,3,4350],t:7,e:"span",a:{"class":"highlight"},f:["Description:"]}," ",{p:[89,3,4398],t:7,e:"span",a:{"class":"content",style:"float:center"},f:[{t:2,r:"data.analyzeVars.description",p:[89,46,4441]}]}," ",{p:[90,3,4484],t:7,e:"br"}," ",{p:[91,3,4493],t:7,e:"span",a:{"class":"highlight"},f:["Color:"]}," ",{p:[92,3,4535],t:7,e:"span",a:{style:["color: ",{t:2,r:"data.analyzeVars.color",p:[92,23,4555]},"; background-color: ",{t:2,r:"data.analyzeVars.color",p:[92,69,4601]}]},f:[{t:2,r:"data.analyzeVars.color",p:[92,97,4629]}]}," ",{p:[93,3,4666],t:7,e:"br"}," ",{p:[94,3,4675],t:7,e:"span",a:{"class":"highlight"},f:["State:"]}," ",{p:[95,3,4717],t:7,e:"span",a:{"class":"content"},f:[{t:2,r:"data.analyzeVars.state",p:[95,25,4739]}]}," ",{p:[96,3,4776],t:7,e:"br"}," ",{p:[97,3,4785],t:7,e:"span",a:{"class":"highlight"},f:["Metabolization Rate:"]}," ",{p:[98,3,4841],t:7,e:"span",a:{"class":"content"},f:[{t:2,r:"data.analyzeVars.metaRate",p:[98,25,4863]},"µ/minute"]}," ",{p:[99,3,4911],t:7,e:"br"}," ",{p:[100,3,4920],t:7,e:"span",a:{"class":"highlight"},f:["Overdose Threshold:"]}," ",{p:[101,3,4975],t:7,e:"span",a:{"class":"content"},f:[{t:2,r:"data.analyzeVars.overD",p:[101,25,4997]}]}," ",{p:[102,3,5034],t:7,e:"br"}," ",{p:[103,3,5043],t:7,e:"span",a:{"class":"highlight"},f:["Addiction Threshold:"]}," ",{p:[104,3,5099],t:7,e:"span",a:{"class":"content"},f:[{t:2,r:"data.analyzeVars.addicD",p:[104,25,5121]}]}," ",{p:[105,3,5159],t:7,e:"br"}," ",{p:[106,3,5168],t:7,e:"br"}," ",{p:[107,3,5177],t:7,e:"ui-button",a:{action:"goScreen",params:'{"screen": "home"}'},f:["Back"]}]}]}],x:{r:["data.screen"],s:'_0=="home"'}}]},e.exports=a.extend(r.exports)},{205:205}],241:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{p:[2,3,16],t:7,e:"ui-button",a:{action:"toggle"},f:[{t:2,x:{r:["data.recollection"],s:'_0?"Recital":"Recollection"'},p:[2,30,43]}]}," ",{p:[3,3,107],t:7,e:"ui-button",a:{action:"component"},f:["Target Component: ",{t:3,r:"data.target_comp",p:[3,51,155]}]}]}," ",{t:4,f:[{p:[6,3,235],t:7,e:"ui-display",f:[{t:3,r:"data.rec_text",p:[7,3,251]}," ",{t:4,f:[{p:[9,4,317],t:7,e:"br"},{p:[9,8,321],t:7,e:"ui-button",a:{action:"rec_category",params:['{"category": "',{t:2,r:"name",p:[9,63,376]},'"}']},f:[{t:3,r:"name",p:[9,75,388]}," - ",{t:3,r:"desc",p:[9,88,401]}]}],n:52,r:"data.recollection_categories",p:[8,3,274]}," ",{t:3,r:"data.rec_section",p:[11,3,440]}," ",{t:3,r:"data.rec_binds",p:[12,3,466]}]}],n:50,r:"data.recollection",p:[5,1,206]},{t:4,n:51,f:[{p:[15,2,517],t:7,e:"ui-display",a:{title:"Components (with Global Cache)",button:0},f:[{p:[16,4,580],t:7,e:"ui-section",f:[{t:3,r:"data.components",p:[17,6,599]}]}]}," ",{p:[20,2,657],t:7,e:"ui-display",f:[{p:[21,3,673],t:7,e:"ui-section",f:[{p:[22,4,690],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.selected"],s:'_0=="Driver"?"selected":null'},p:[22,22,708]}],action:"select",params:'{"category": "Driver"}'},f:["Driver"]}," ",{p:[23,4,831],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.selected"],s:'_0=="Script"?"selected":null'},p:[23,22,849]}],action:"select",params:'{"category": "Script"}'},f:["Scripts"]}," ",{p:[24,4,973],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.selected"],s:'_0=="Application"?"selected":null'},p:[24,22,991]}],action:"select",params:'{"category": "Application"}'},f:["Applications"]}," ",{p:[25,4,1130],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.selected"],s:'_0=="Judgement"?"selected":null'},p:[25,22,1148]}],action:"select",params:'{"category": "Judgement"}'},f:["Judgement"]}," ",{p:[26,4,1279],t:7,e:"br"},{t:3,r:"data.tier_info",p:[26,8,1283]}]},{p:[27,16,1320],t:7,e:"hr"}," ",{p:[28,3,1328],t:7,e:"ui-section",f:[{t:4,f:[{p:[30,4,1373],t:7,e:"div",f:[{p:[30,9,1378],t:7,e:"ui-button",a:{tooltip:[{t:3,r:"tip",p:[30,29,1398]}],"tooltip-side":"right",action:"recite",params:['{"category": "',{t:2,r:"type",p:[30,99,1468]},'"}']},f:["Recite",{t:3,r:"required",p:[30,117,1486]}]}," ",{t:4,f:[{t:4,f:[{p:[33,6,1562],t:7,e:"ui-button",a:{action:"bind",params:['{"category": "',{t:2,r:"type",p:[33,53,1609]},'"}']},f:["Unbind ",{t:3,r:"bound",p:[33,72,1628]}]}],n:50,r:"bound",p:[32,5,1542]},{t:4,n:51,f:[{p:[35,6,1672],t:7,e:"ui-button",a:{action:"bind",params:['{"category": "',{t:2,r:"type",p:[35,53,1719]},'"}']},f:["Quickbind"]}],r:"bound"}],n:50,r:"quickbind",p:[31,6,1519]}," ",{t:3,r:"name",p:[38,6,1786]}," ",{t:3,r:"descname",p:[38,17,1797]}," ",{t:3,r:"invokers",p:[38,32,1812]}]}],n:52,r:"data.scripture",p:[29,3,1344]}]}]}],r:"data.recollection"}]},e.exports=a.extend(r.exports)},{205:205}],242:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Codex Gigas"},f:[{p:[2,2,35],t:7,e:"ui-section",f:[{t:2,r:"data.name",p:[3,3,51]}]}," ",{p:[5,5,86],t:7,e:"ui-section",a:{label:"Prefix"},f:[{p:[6,3,117],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0==1?null:"disabled"'},p:[6,22,136]}],action:"Dark "},f:["Dark"]}," ",{p:[7,3,221],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0==1?null:"disabled"'},p:[7,22,240]}],action:"Hellish "},f:["Hellish"]}," ",{p:[8,3,331],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0==1?null:"disabled"'},p:[8,22,350]}],action:"Fallen "},f:["Fallen"]}," ",{p:[9,3,439],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0==1?null:"disabled"'},p:[9,22,458]}],action:"Fiery "},f:["Fiery"]}," ",{p:[10,3,545],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0==1?null:"disabled"'},p:[10,22,564]}],action:"Sinful "},f:["Sinful"]}," ",{p:[11,3,653],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0==1?null:"disabled"'},p:[11,22,672]}],action:"Blood "},f:["Blood"]}," ",{p:[12,3,759],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0==1?null:"disabled"'},p:[12,22,778]}],action:"Fluffy "},f:["Fluffy"]}]}," ",{p:[14,5,888],t:7,e:"ui-section",a:{label:"Title"},f:[{p:[15,3,918],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=2?null:"disabled"'},p:[15,22,937]}],action:"Lord "},f:["Lord"]}," ",{p:[16,3,1022],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=2?null:"disabled"'},p:[16,22,1041]}],action:"Prelate "},f:["Prelate"]}," ",{p:[17,3,1132],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=2?null:"disabled"'},p:[17,22,1151]}],action:"Count "},f:["Count"]}," ",{p:[18,3,1238],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=2?null:"disabled"'},p:[18,22,1257]}],action:"Viscount "},f:["Viscount"]}," ",{p:[19,3,1350],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=2?null:"disabled"'},p:[19,22,1369]}],action:"Vizier "},f:["Vizier"]}," ",{p:[20,3,1458],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=2?null:"disabled"'},p:[20,22,1477]}],action:"Elder "},f:["Elder"]}," ",{p:[21,3,1564],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=2?null:"disabled"'},p:[21,22,1583]}],action:"Adept "},f:["Adept"]}]}," ",{p:[23,5,1691],t:7,e:"ui-section",a:{label:"Name"},f:[{p:[24,3,1720],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=4?null:"disabled"'},p:[24,22,1739]}],action:"hal"},f:["hal"]}," ",{p:[25,3,1821],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=4?null:"disabled"'},p:[25,22,1840]}],action:"ve" - },f:["ve"]}," ",{p:[26,3,1920],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=4?null:"disabled"'},p:[26,22,1939]}],action:"odr"},f:["odr"]}," ",{p:[27,3,2021],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=4?null:"disabled"'},p:[27,22,2040]}],action:"neit"},f:["neit"]}," ",{p:[28,3,2124],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=4?null:"disabled"'},p:[28,22,2143]}],action:"ci"},f:["ci"]}," ",{p:[29,3,2223],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=4?null:"disabled"'},p:[29,22,2242]}],action:"quon"},f:["quon"]}," ",{p:[30,3,2326],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=4?null:"disabled"'},p:[30,22,2345]}],action:"mya"},f:["mya"]}," ",{p:[31,3,2427],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=4?null:"disabled"'},p:[31,22,2446]}],action:"folth"},f:["folth"]}," ",{p:[32,3,2532],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=4?null:"disabled"'},p:[32,22,2551]}],action:"wren"},f:["wren"]}," ",{p:[33,3,2635],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=4?null:"disabled"'},p:[33,22,2654]}],action:"geyr"},f:["geyr"]}," ",{p:[34,3,2738],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=4?null:"disabled"'},p:[34,22,2757]}],action:"hil"},f:["hil"]}," ",{p:[35,3,2839],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=4?null:"disabled"'},p:[35,22,2858]}],action:"niet"},f:["niet"]}," ",{p:[36,3,2942],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=4?null:"disabled"'},p:[36,22,2961]}],action:"twou"},f:["twou"]}," ",{p:[37,3,3045],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=4?null:"disabled"'},p:[37,22,3064]}],action:"phi"},f:["phi"]}," ",{p:[38,3,3146],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0<=4?null:"disabled"'},p:[38,22,3165]}],action:"coa"},f:["coa"]}]}," ",{p:[40,5,3268],t:7,e:"ui-section",a:{label:"suffix"},f:[{p:[41,3,3299],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0==4?null:"disabled"'},p:[41,22,3318]}],action:" the Red"},f:["the Red"]}," ",{p:[42,3,3409],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0==4?null:"disabled"'},p:[42,22,3428]}],action:" the Soulless"},f:["the Soulless"]}," ",{p:[43,3,3529],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0==4?null:"disabled"'},p:[43,22,3548]}],action:" the Master"},f:["the Master"]}," ",{p:[44,3,3645],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0==4?null:"disabled"'},p:[44,22,3664]}],action:", the Lord of all things"},f:["the Lord of all things"]}," ",{p:[45,3,3786],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0==4?null:"disabled"'},p:[45,22,3805]}],action:", Jr."},f:["jr"]}]}," ",{p:[47,5,3909],t:7,e:"ui-section",a:{label:"submit"},f:[{p:[48,3,3941],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.currentSection"],s:'_0>=4?null:"disabled"'},p:[48,21,3959]}],action:"search"},f:["search"]}]}]}]},e.exports=a.extend(r.exports)},{205:205}],243:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[2,1,2],t:7,e:"ui-button",a:{icon:"circle",action:"clean_order"},f:["Clear Order"]},{p:[2,70,71],t:7,e:"br"},{p:[2,74,75],t:7,e:"br"}," ",{p:[3,1,81],t:7,e:"i",f:["Your new computer device you always dreamed of is just four steps away..."]},{p:[3,81,161],t:7,e:"hr"}," ",{t:4,f:[" ",{p:[5,1,223],t:7,e:"div",a:{"class":"item"},f:[{p:[6,2,244],t:7,e:"h2",f:["Step 1: Select your device type"]}," ",{p:[7,2,287],t:7,e:"ui-button",a:{icon:"calc",action:"pick_device",params:'{"pick" : "1"}'},f:["Laptop"]}," ",{p:[8,2,377],t:7,e:"ui-button",a:{icon:"calc",action:"pick_device",params:'{"pick" : "2"}'},f:["LTablet"]}]}],n:50,x:{r:["data.state"],s:"_0==0"},p:[4,1,167]},{t:4,n:51,f:[{t:4,n:50,x:{r:["data.state"],s:"_0==1"},f:[{p:[11,1,502],t:7,e:"div",a:{"class":"item"},f:[{p:[12,2,523],t:7,e:"h2",f:["Step 2: Personalise your device"]}," ",{p:[13,2,566],t:7,e:"table",f:[{p:[14,3,577],t:7,e:"tr",f:[{p:[15,4,586],t:7,e:"td",f:[{p:[15,8,590],t:7,e:"b",f:["Current Price:"]}]},{p:[16,4,616],t:7,e:"td",f:[{t:2,r:"data.totalprice",p:[16,8,620]},"C"]}]}," ",{p:[18,3,653],t:7,e:"tr",f:[{p:[19,4,663],t:7,e:"td",f:[{p:[19,8,667],t:7,e:"b",f:["Battery:"]}]},{p:[20,4,687],t:7,e:"td",f:[{p:[20,8,691],t:7,e:"ui-button",a:{action:"hw_battery",params:'{"battery" : "1"}',state:[{t:2,x:{r:["data.hw_battery"],s:'_0==1?"selected":null'},p:[20,73,756]}]},f:["Standard"]}]},{p:[21,4,827],t:7,e:"td",f:[{p:[21,8,831],t:7,e:"ui-button",a:{action:"hw_battery",params:'{"battery" : "2"}',state:[{t:2,x:{r:["data.hw_battery"],s:'_0==2?"selected":null'},p:[21,73,896]}]},f:["Upgraded"]}]},{p:[22,4,967],t:7,e:"td",f:[{p:[22,8,971],t:7,e:"ui-button",a:{action:"hw_battery",params:'{"battery" : "3"}',state:[{t:2,x:{r:["data.hw_battery"],s:'_0==3?"selected":null'},p:[22,73,1036]}]},f:["Advanced"]}]}]}," ",{p:[24,3,1115],t:7,e:"tr",f:[{p:[25,4,1124],t:7,e:"td",f:[{p:[25,8,1128],t:7,e:"b",f:["Hard Drive:"]}]},{p:[26,4,1151],t:7,e:"td",f:[{p:[26,8,1155],t:7,e:"ui-button",a:{action:"hw_disk",params:'{"disk" : "1"}',state:[{t:2,x:{r:["data.hw_disk"],s:'_0==1?"selected":null'},p:[26,67,1214]}]},f:["Standard"]}]},{p:[27,4,1282],t:7,e:"td",f:[{p:[27,8,1286],t:7,e:"ui-button",a:{action:"hw_disk",params:'{"disk" : "2"}',state:[{t:2,x:{r:["data.hw_disk"],s:'_0==2?"selected":null'},p:[27,67,1345]}]},f:["Upgraded"]}]},{p:[28,4,1413],t:7,e:"td",f:[{p:[28,8,1417],t:7,e:"ui-button",a:{action:"hw_disk",params:'{"disk" : "3"}',state:[{t:2,x:{r:["data.hw_disk"],s:'_0==3?"selected":null'},p:[28,67,1476]}]},f:["Advanced"]}]}]}," ",{p:[30,3,1552],t:7,e:"tr",f:[{p:[31,4,1561],t:7,e:"td",f:[{p:[31,8,1565],t:7,e:"b",f:["Network Card:"]}]},{p:[32,4,1590],t:7,e:"td",f:[{p:[32,8,1594],t:7,e:"ui-button",a:{action:"hw_netcard",params:'{"netcard" : "0"}',state:[{t:2,x:{r:["data.hw_netcard"],s:'_0==0?"selected":null'},p:[32,73,1659]}]},f:["None"]}]},{p:[33,4,1726],t:7,e:"td",f:[{p:[33,8,1730],t:7,e:"ui-button",a:{action:"hw_netcard",params:'{"netcard" : "1"}',state:[{t:2,x:{r:["data.hw_netcard"],s:'_0==1?"selected":null'},p:[33,73,1795]}]},f:["Standard"]}]},{p:[34,4,1866],t:7,e:"td",f:[{p:[34,8,1870],t:7,e:"ui-button",a:{action:"hw_netcard",params:'{"netcard" : "2"}',state:[{t:2,x:{r:["data.hw_netcard"],s:'_0==2?"selected":null'},p:[34,73,1935]}]},f:["Advanced"]}]}]}," ",{p:[36,3,2014],t:7,e:"tr",f:[{p:[37,4,2023],t:7,e:"td",f:[{p:[37,8,2027],t:7,e:"b",f:["Nano Printer:"]}]},{p:[38,4,2052],t:7,e:"td",f:[{p:[38,8,2056],t:7,e:"ui-button",a:{action:"hw_nanoprint",params:'{"print" : "0"}',state:[{t:2,x:{r:["data.hw_nanoprint"],s:'_0==0?"selected":null'},p:[38,73,2121]}]},f:["None"]}]},{p:[39,4,2190],t:7,e:"td",f:[{p:[39,8,2194],t:7,e:"ui-button",a:{action:"hw_nanoprint",params:'{"print" : "1"}',state:[{t:2,x:{r:["data.hw_nanoprint"],s:'_0==1?"selected":null'},p:[39,73,2259]}]},f:["Standard"]}]}]}," ",{p:[41,3,2340],t:7,e:"tr",f:[{p:[42,4,2349],t:7,e:"td",f:[{p:[42,8,2353],t:7,e:"b",f:["Card Reader:"]}]},{p:[43,4,2377],t:7,e:"td",f:[{p:[43,8,2381],t:7,e:"ui-button",a:{action:"hw_card",params:'{"card" : "0"}',state:[{t:2,x:{r:["data.hw_card"],s:'_0==0?"selected":null'},p:[43,67,2440]}]},f:["None"]}]},{p:[44,4,2504],t:7,e:"td",f:[{p:[44,8,2508],t:7,e:"ui-button",a:{action:"hw_card",params:'{"card" : "1"}',state:[{t:2,x:{r:["data.hw_card"],s:'_0==1?"selected":null'},p:[44,67,2567]}]},f:["Standard"]}]}]}]}," ",{t:4,f:[" ",{p:[49,4,2706],t:7,e:"table",f:[{p:[50,5,2719],t:7,e:"tr",f:[{p:[51,6,2730],t:7,e:"td",f:[{p:[51,10,2734],t:7,e:"b",f:["Processor Unit:"]}]},{p:[52,6,2763],t:7,e:"td",f:[{p:[52,10,2767],t:7,e:"ui-button",a:{action:"hw_cpu",params:'{"cpu" : "1"}',state:[{t:2,x:{r:["data.hw_cpu"],s:'_0==1?"selected":null'},p:[52,67,2824]}]},f:["Standard"]}]},{p:[53,6,2893],t:7,e:"td",f:[{p:[53,10,2897],t:7,e:"ui-button",a:{action:"hw_cpu",params:'{"cpu" : "2"}',state:[{t:2,x:{r:["data.hw_cpu"],s:'_0==2?"selected":null'},p:[53,67,2954]}]},f:["Advanced"]}]}]}," ",{p:[55,5,3033],t:7,e:"tr",f:[{p:[56,6,3044],t:7,e:"td",f:[{p:[56,10,3048],t:7,e:"b",f:["Tesla Relay:"]}]},{p:[57,6,3074],t:7,e:"td",f:[{p:[57,10,3078],t:7,e:"ui-button",a:{action:"hw_tesla",params:'{"tesla" : "0"}',state:[{t:2,x:{r:["data.hw_tesla"],s:'_0==0?"selected":null'},p:[57,71,3139]}]},f:["None"]}]},{p:[58,6,3206],t:7,e:"td",f:[{p:[58,10,3210],t:7,e:"ui-button",a:{action:"hw_tesla",params:'{"tesla" : "1"}',state:[{t:2,x:{r:["data.hw_tesla"],s:'_0==1?"selected":null'},p:[58,71,3271]}]},f:["Standard"]}]}]}]}],n:50,x:{r:["data.devtype"],s:"_0!=2"},p:[48,3,2659]}," ",{p:[62,3,3374],t:7,e:"table",f:[{p:[63,4,3386],t:7,e:"tr",f:[{p:[64,5,3396],t:7,e:"td",f:[{p:[64,9,3400],t:7,e:"b",f:["Confirm Order:"]}]},{p:[65,5,3427],t:7,e:"td",f:[{p:[65,9,3431],t:7,e:"ui-button",a:{action:"confirm_order"},f:["CONFIRM"]}]}]}]}," ",{p:[69,2,3512],t:7,e:"hr"}," ",{p:[70,2,3519],t:7,e:"b",f:["Battery"]}," allows your device to operate without external utility power source. Advanced batteries increase battery life.",{p:[70,127,3644],t:7,e:"br"}," ",{p:[71,2,3651],t:7,e:"b",f:["Hard Drive"]}," stores file on your device. Advanced drives can store more files, but use more power, shortening battery life.",{p:[71,130,3779],t:7,e:"br"}," ",{p:[72,2,3786],t:7,e:"b",f:["Network Card"]}," allows your device to wirelessly connect to stationwide NTNet network. Basic cards are limited to on-station use, while advanced cards can operate anywhere near the station, which includes the asteroid outposts.",{p:[72,233,4017],t:7,e:"br"}," ",{p:[73,2,4024],t:7,e:"b",f:["Processor Unit"]}," is critical for your device's functionality. It allows you to run programs from your hard drive. Advanced CPUs use more power, but allow you to run more programs on background at once.",{p:[73,208,4230],t:7,e:"br"}," ",{p:[74,2,4237],t:7,e:"b",f:["Tesla Relay"]}," is an advanced wireless power relay that allows your device to connect to nearby area power controller to provide alternative power source. This component is currently unavailable on tablet computers due to size restrictions.",{p:[74,246,4481],t:7,e:"br"}," ",{p:[75,2,4488],t:7,e:"b",f:["Nano Printer"]}," is device that allows for various paperwork manipulations, such as, scanning of documents or printing new ones. This device was certified EcoFriendlyPlus and is capable of recycling existing paper for printing purposes.",{p:[75,241,4727],t:7,e:"br"}," ",{p:[76,2,4734],t:7,e:"b",f:["Card Reader"]}," adds a slot that allows you to manipulate RFID cards. Please note that this is not necessary to allow the device to read your identification, it is just necessary to manipulate other cards."]}]},{t:4,n:50,x:{r:["data.state"],s:"(!(_0==1))&&(_0==2)"},f:[" ",{p:[79,2,4981],t:7,e:"h2",f:["Step 3: Payment"]}," ",{p:[80,2,5008],t:7,e:"b",f:["Your device is now ready for fabrication.."]},{p:[80,51,5057],t:7,e:"br"}," ",{p:[81,2,5064],t:7,e:"i",f:["Please ensure the required amount of credits are in the machine, then press purchase."]},{p:[81,94,5156],t:7,e:"br"}," ",{p:[82,2,5163],t:7,e:"i",f:["Current credits: ",{p:[82,22,5183],t:7,e:"b",f:[{t:2,r:"data.credits",p:[82,25,5186]},"C"]}]},{p:[82,50,5211],t:7,e:"br"}," ",{p:[83,2,5218],t:7,e:"i",f:["Total price: ",{p:[83,18,5234],t:7,e:"b",f:[{t:2,r:"data.totalprice",p:[83,21,5237]},"C"]}]},{p:[83,49,5265],t:7,e:"br"},{p:[83,53,5269],t:7,e:"br"}," ",{p:[84,2,5276],t:7,e:"ui-button",a:{action:"purchase",state:[{t:2,x:{r:["data.credits","data.totalprice"],s:'_0>=_1?null:"disabled"'},p:[84,38,5312]}]},f:["PURCHASE"]}]},{t:4,n:50,x:{r:["data.state"],s:"(!(_0==1))&&((!(_0==2))&&(_0==3))"},f:[" ",{p:[87,2,5423],t:7,e:"h2",f:["Step 4: Thank you for your purchase"]},{p:[87,46,5467],t:7,e:"br"}," ",{p:[88,2,5474],t:7,e:"b",f:["Should you experience any issues with your new device, contact your local network admin for assistance."]}]}],x:{r:["data.state"],s:"_0==0"}}]},e.exports=a.extend(r.exports)},{205:205}],244:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,1,22],t:7,e:"ui-display",f:[{p:[3,2,37],t:7,e:"ui-section",a:{label:"Cap"},f:[{p:[4,3,65],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.is_capped"],s:'_0?"power-off":"close"'},p:[4,20,82]}],style:[{t:2,x:{r:["data.is_capped"],s:'_0?null:"selected"'},p:[4,71,133]}],action:"toggle_cap"},f:[{t:2,x:{r:["data.is_capped"],s:'_0?"On":"Off"'},p:[6,4,202]}]}]}]}],n:50,r:"data.has_cap",p:[1,1,0]},{p:[10,1,288],t:7,e:"ui-display",f:[{t:4,f:[{p:[14,2,419],t:7,e:"ui-section",f:[{p:[15,3,435],t:7,e:"ui-button",a:{action:"select_colour"},f:["Select New Colour"]}]}],n:50,r:"data.can_change_colour",p:[13,1,386]}]}," ",{p:[19,1,540],t:7,e:"ui-display",a:{title:"Stencil"},f:[{t:4,f:[{p:[21,2,599],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[21,21,618]}]},f:[{t:4,f:[{p:[23,7,655],t:7,e:"ui-button",a:{action:"select_stencil",params:['{"item":"',{t:2,r:"item",p:[23,59,707]},'"}'],style:[{t:2,x:{r:["item","data.selected_stencil"],s:'_0==_1?"selected":null'},p:[24,12,731]}]},f:[{t:2,r:"item",p:[25,4,791]}]}],n:52,r:"items",p:[22,3,632]}]}],n:52,r:"data.drawables",p:[20,3,572]}]}," ",{p:[31,1,874],t:7,e:"ui-display",a:{title:"Text Mode"},f:[{p:[32,2,907],t:7,e:"ui-section",a:{label:"Current Buffer"},f:[{t:2,r:"text_buffer",p:[32,37,942]}]}," ",{p:[34,2,976],t:7,e:"ui-section",f:[{p:[34,14,988],t:7,e:"ui-button",a:{action:"enter_text"},f:["New Text"]}]}]}]},e.exports=a.extend(r.exports)},{205:205}],245:[function(t,e,n){var a=t(205),r={exports:{}};!function(t){"use strict";t.exports={data:{temperatureStatus:function(t){return 225>t?"good":273.15>t?"average":"bad"}},computed:{occupantStatState:function(){switch(this.get("data.occupant.stat")){case 0:return"good";case 1:return"average";default:return"bad"}}}}}(r),r.exports.template={v:3,t:[" ",{p:[22,1,466],t:7,e:"ui-display",a:{title:"Occupant"},f:[{p:[23,3,499],t:7,e:"ui-section",a:{label:"Occupant"},f:[{p:[24,3,532],t:7,e:"span",f:[{t:2,x:{r:["data.occupant.name"],s:'_0?_0:"No Occupant"'},p:[24,9,538]}]}]}," ",{t:4,f:[{p:[27,5,655],t:7,e:"ui-section",a:{label:"State"},f:[{p:[28,7,689],t:7,e:"span",a:{"class":[{t:2,r:"occupantStatState",p:[28,20,702]}]},f:[{t:2,x:{r:["data.occupant.stat"],s:'_0==0?"Conscious":_0==1?"Unconcious":"Dead"'},p:[28,43,725]}]}]}," ",{p:[30,4,846],t:7,e:"ui-section",a:{label:"Temperature"},f:[{p:[31,6,885],t:7,e:"span",a:{"class":[{t:2,x:{r:["temperatureStatus","adata.occupant.bodyTemperature"],s:"_0(_1)"},p:[31,19,898]}]},f:[{t:2,x:{r:["adata.occupant.bodyTemperature"],s:"Math.round(_0)"},p:[31,74,953]}," K"]}]}," ",{p:[33,5,1032],t:7,e:"ui-section",a:{label:"Health"},f:[{p:[34,7,1067],t:7,e:"ui-bar",a:{min:[{t:2,r:"data.occupant.minHealth",p:[34,20,1080]}],max:[{t:2,r:"data.occupant.maxHealth",p:[34,54,1114]}],value:[{t:2,r:"data.occupant.health",p:[34,90,1150]}],state:[{t:2,x:{r:["data.occupant.health"],s:'_0>=0?"good":"average"'},p:[35,16,1192]}]},f:[{t:2,x:{r:["adata.occupant.health"],s:"Math.round(_0)"},p:[35,68,1244]}]}]}," ",{t:4,f:[{p:[38,7,1481],t:7,e:"ui-section",a:{label:[{t:2,r:"label",p:[38,26,1500]}]},f:[{p:[39,9,1521],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.occupant.maxHealth",p:[39,30,1542]}],value:[{t:2,rx:{r:"data.occupant",m:[{t:30,n:"type"}]},p:[39,66,1578]}],state:"bad"},f:[{t:2,x:{r:["type","adata.occupant"],s:"Math.round(_1[_0])"},p:[39,103,1615]}]}]}],n:52,x:{r:[],s:'[{label:"Brute",type:"bruteLoss"},{label:"Respiratory",type:"oxyLoss"},{label:"Toxin",type:"toxLoss"},{label:"Burn",type:"fireLoss"}]'},p:[37,5,1315]}],n:50,r:"data.hasOccupant",p:[26,3,625]}]}," ",{p:[44,1,1724],t:7,e:"ui-display",a:{title:"Cell"},f:[{p:[45,3,1753],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[46,5,1785],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.isOperating"],s:'_0?"power-off":"close"'},p:[46,22,1802]}],style:[{t:2,x:{r:["data.isOperating"],s:'_0?"selected":null'},p:[47,14,1862]}],state:[{t:2,x:{r:["data.isOpen"],s:'_0?"disabled":null'},p:[48,14,1918]}],action:"power"},f:[{t:2,x:{r:["data.isOperating"],s:'_0?"On":"Off"'},p:[49,22,1977]}]}]}," ",{p:[51,3,2045],t:7,e:"ui-section",a:{label:"Temperature"},f:[{p:[52,3,2081],t:7,e:"span",a:{"class":[{t:2,x:{r:["temperatureStatus","adata.cellTemperature"],s:"_0(_1)"},p:[52,16,2094]}]},f:[{t:2,x:{r:["adata.cellTemperature"],s:"Math.round(_0)"},p:[52,62,2140]}," K"]}]}," ",{p:[54,2,2205],t:7,e:"ui-section",a:{label:"Door"},f:[{p:[55,5,2236],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.isOpen"],s:'_0?"unlock":"lock"'},p:[55,22,2253]}],action:"door"},f:[{t:2,x:{r:["data.isOpen"],s:'_0?"Open":"Closed"'},p:[55,73,2304]}]}," ",{p:[56,5,2357],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.autoEject"],s:'_0?"sign-out":"sign-in"'},p:[56,22,2374]}],action:"autoeject"},f:[{t:2,x:{r:["data.autoEject"],s:'_0?"Auto":"Manual"'},p:[56,86,2438]}]}]}]}," ",{p:{button:[{p:[61,5,2584],t:7,e:"ui-button",a:{icon:"eject",state:[{t:2,x:{r:["data.isBeakerLoaded"],s:'_0?null:"disabled"'},p:[61,36,2615]}],action:"ejectbeaker"},f:["Eject"]}]},t:7,e:"ui-display",a:{title:"Beaker",button:0},f:[" ",{p:[63,3,2718],t:7,e:"ui-section",a:{label:"Contents"},f:[{t:4,f:[{t:4,f:[{p:[66,9,2828],t:7,e:"span",a:{"class":"highlight"},t0:"fade",f:[{t:2,x:{r:["volume"],s:"Math.fixed(_0,2)"},p:[66,52,2871]}," units of ",{t:2,r:"name",p:[66,87,2906]}]},{p:[66,102,2921],t:7,e:"br"}],n:52,r:"adata.beakerContents",p:[65,7,2788]},{t:4,n:51,f:[{p:[68,9,2952],t:7,e:"span",a:{"class":"bad"},f:["Beaker Empty"]}],r:"adata.beakerContents"}],n:50,r:"data.isBeakerLoaded",p:[64,5,2753]},{t:4,n:51,f:[{p:[71,7,3028],t:7,e:"span",a:{"class":"average"},f:["No Beaker"]}],r:"data.isBeakerLoaded"}]}]}]},e.exports=a.extend(r.exports)},{205:205}],246:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{p:[2,2,15],t:7,e:"ui-section",a:{label:"State"},f:[{t:4,f:[{p:[4,4,76],t:7,e:"span",a:{"class":"good"},f:["Ready"]}],n:50,r:"data.full_pressure",p:[3,3,45]},{t:4,n:51,f:[{t:4,f:[{p:[7,5,153],t:7,e:"span",a:{"class":"bad"},f:["Power Disabled"]}],n:50,r:"data.panel_open",p:[6,4,124]},{t:4,n:51,f:[{t:4,f:[{p:[10,6,248],t:7,e:"span",a:{"class":"average"},f:["Pressurizing"]}],n:50,r:"data.pressure_charging",p:[9,5,211]},{t:4,n:51,f:[{p:[12,6,310],t:7,e:"span",a:{"class":"bad"},f:["Off"]}],r:"data.pressure_charging"}],r:"data.panel_open"}],r:"data.full_pressure"}]}," ",{p:[17,2,393],t:7,e:"ui-section",a:{label:"Pressure"},f:[{p:[18,3,426],t:7,e:"ui-bar",a:{min:"0",max:"100",value:[{t:2,r:"data.per",p:[18,36,459]}],state:"good"},f:[{t:2,r:"data.per",p:[18,63,486]},"%"]}]}," ",{p:[20,5,530],t:7,e:"ui-section",a:{label:"Handle"},f:[{p:[21,9,567],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.flush"],s:'_0?"toggle-on":"toggle-off"'},p:[22,10,589]}],state:[{t:2,x:{r:["data.isai","data.panel_open"],s:'_0||_1?"disabled":null'},p:[23,11,647]}],action:[{t:2,x:{r:["data.flush"],s:'_0?"handle-0":"handle-1"'},p:[24,12,714]}]},f:[{t:2,x:{r:["data.flush"],s:'_0?"Disengage":"Engage"'},p:[25,5,763]}]}]}," ",{p:[27,2,837],t:7,e:"ui-section",a:{label:"Eject"},f:[{p:[28,3,867],t:7,e:"ui-button",a:{icon:"sign-out",state:[{t:2,x:{r:["data.isai"],s:'_0?"disabled":null'},p:[28,37,901]}],action:"eject"},f:["Eject Contents"]},{p:[28,114,978],t:7,e:"br"}]}," ",{p:[30,2,1002],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[31,3,1032],t:7,e:"ui-button",a:{icon:"power-off",state:[{t:2,x:{r:["data.panel_open"],s:'_0?"disabled":null'},p:[31,38,1067]}],action:[{t:2,x:{r:["data.pressure_charging"],s:'_0?"pump-0":"pump-1"'},p:[31,87,1116]}],style:[{t:2,x:{r:["data.pressure_charging"],s:'_0?"selected":null'},p:[31,145,1174]}]}},{p:[31,206,1235],t:7,e:"br"}]}]}]},e.exports=a.extend(r.exports)},{205:205}],247:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"DNA Vault Database"},f:[{p:[2,3,43],t:7,e:"ui-section",a:{label:"Human DNA"},f:[{p:[3,7,81],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.dna_max",p:[3,28,102]}],value:[{t:2,r:"data.dna",p:[3,53,127]}]},f:[{t:2,r:"data.dna",p:[3,67,141]},"/",{t:2,r:"data.dna_max",p:[3,80,154]}," Samples"]}]}," ",{p:[5,3,208],t:7,e:"ui-section",a:{label:"Plant Data"},f:[{p:[6,5,245],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.plants_max",p:[6,26,266]}],value:[{t:2,r:"data.plants",p:[6,54,294]}]},f:[{t:2,r:"data.plants",p:[6,71,311]},"/",{t:2,r:"data.plants_max",p:[6,87,327]}," Samples"]}]}," ",{p:[8,3,384],t:7,e:"ui-section",a:{label:"Animal Data"},f:[{p:[9,5,422],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.animals_max",p:[9,26,443]}],value:[{t:2,r:"data.animals",p:[9,55,472]}]},f:[{t:2,r:"data.animals",p:[9,73,490]},"/",{t:2,r:"data.animals_max",p:[9,90,507]}," Samples"]}]}]}," ",{t:4,f:[{p:[13,1,616],t:7,e:"ui-display",a:{title:"Personal Gene Therapy"},f:[{p:[14,3,663],t:7,e:"ui-section",f:[{p:[15,2,678],t:7,e:"span",f:["Applicable gene therapy treatments:"]}]}," ",{p:[17,3,747],t:7,e:"ui-section",f:[{p:[18,2,762],t:7,e:"ui-button",a:{action:"gene",params:['{"choice": "',{t:2,r:"data.choiceA",p:[18,47,807]},'"}']},f:[{t:2,r:"data.choiceA",p:[18,67,827]}]}," ",{p:[19,2,858],t:7,e:"ui-button",a:{action:"gene",params:['{"choice": "',{t:2,r:"data.choiceB",p:[19,47,903]},'"}']},f:[{t:2,r:"data.choiceB",p:[19,67,923]}]}]}]}],n:50,x:{r:["data.completed","data.used"],s:"_0&&!_1"},p:[12,1,578]}]},e.exports=a.extend(r.exports)},{205:205}],248:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,3,24],t:7,e:"ui-display",a:{title:[{t:2,r:"data.question",p:[2,21,42]}]},f:[{p:[3,5,66],t:7,e:"ui-section",f:[{t:4,f:[{p:[5,9,118],t:7,e:"ui-button",a:{action:"vote",params:['{"answer": "',{t:2,r:"answer",p:[6,45,174]},'"}'],style:[{t:2,x:{r:["selected"],s:'_0?"selected":null'},p:[7,18,206]}]},f:[{t:2,r:"answer",p:[7,53,241]}," (",{t:2,r:"amount",p:[7,65,253]},")"]}],n:52,r:"data.answers",p:[4,7,86]}]}]}],n:50,r:"data.shaking",p:[1,1,0]},{t:4,n:51,f:[{p:[13,3,353],t:7,e:"ui-notice",f:["The eightball is not currently being shaken."]}],r:"data.shaking"}]},e.exports=a.extend(r.exports)},{205:205}],249:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-notice",f:[{p:[2,5,17],t:7,e:"span",f:["Time Until Launch: ",{t:2,r:"data.timer_str",p:[2,30,42]}]}]}," ",{p:[4,1,83],t:7,e:"ui-notice",f:[{p:[5,3,98],t:7,e:"span",f:["Engines: ",{t:2,x:{r:["data.engines_started"],s:'_0?"Online":"Idle"'},p:[5,18,113]}]}]}," ",{p:[7,1,180],t:7,e:"ui-display",a:{title:"Early Launch"},f:[{p:[8,2,216],t:7,e:"span",f:["Authorizations Remaining: ",{t:2,x:{r:["data.emagged","data.authorizations_remaining"],s:'_0?"ERROR":_1'},p:[9,2,250]}]}," ",{p:[10,2,318],t:7,e:"ui-button",a:{icon:"exclamation-triangle",action:"authorize",style:"danger",state:[{t:2,x:{r:["data.enabled"],s:'_0?null:"disabled"'},p:[12,10,404]}]},f:["AUTHORIZE"]}," ",{p:[15,2,473],t:7,e:"ui-button",a:{icon:"minus",action:"repeal",state:[{t:2,x:{r:["data.enabled"],s:'_0?null:"disabled"'},p:[16,10,523]}]},f:["Repeal"]}," ",{p:[19,2,589],t:7,e:"ui-button",a:{icon:"close",action:"abort",state:[{t:2,x:{r:["data.enabled"],s:'_0?null:"disabled"'},p:[20,10,638]}]},f:["Repeal All"]}]}," ",{p:[24,1,722],t:7,e:"ui-display",a:{title:"Authorizations"},f:[{t:4,f:[{p:[26,3,793],t:7,e:"ui-section",a:{candystripe:0,nowrap:0},f:[{t:2,r:"name",p:[26,34,824]}," (",{t:2,r:"job",p:[26,44,834]},")"]}],n:52,r:"data.authorizations",p:[25,2,760]},{t:4,n:51,f:[{p:[28,3,870],t:7,e:"ui-section",a:{candystripe:0,nowrap:0},f:["No authorizations."]}],r:"data.authorizations"}]}]},e.exports=a.extend(r.exports)},{205:205}],250:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{p:[2,3,16],t:7,e:"ui-section",a:{label:"Message"},f:[{t:2,r:"data.hidden_message",p:[3,5,50]}]}," ",{p:[5,3,94],t:7,e:"ui-section",a:{label:"Created On"},f:[{t:2,r:"data.realdate",p:[6,5,131]}]}," ",{p:[8,3,169],t:7,e:"ui-section",a:{label:"Approval"},f:[{p:[9,5,204],t:7,e:"ui-button",a:{icon:"arrow-up",state:[{t:2,x:{r:["data.is_creator","data.has_liked"],s:'_0?"disabled":_1?"selected":null'},p:[11,14,252]}],action:"like"},f:[{t:2,r:"data.num_likes",p:[12,21,344]}]}," ",{p:[13,5,380],t:7,e:"ui-button",a:{icon:"circle",state:[{t:2,x:{r:["data.is_creator","data.has_liked","data.has_disliked"],s:'_0?"disabled":!_1&&!_2?"selected":null'},p:[15,14,426]}],action:"neutral"}}," ",{p:[17,5,562],t:7,e:"ui-button",a:{icon:"arrow-down",state:[{t:2,x:{r:["data.is_creator","data.has_disliked"],s:'_0?"disabled":_1?"selected":null'},p:[19,14,612]}],action:"dislike"},f:[{t:2,r:"data.num_dislikes",p:[20,24,710]}]}]}]}," ",{t:4,f:[{p:[24,3,805],t:7,e:"ui-display",a:{title:"Admin Panel"},f:[{p:[25,5,843],t:7,e:"ui-section",a:{label:"Creator Ckey"},f:[{t:2,r:"data.creator_key",p:[25,38,876]}]}," ",{p:[26,5,915],t:7,e:"ui-section",a:{label:"Creator Character Name"},f:[{t:2,r:"data.creator_name",p:[26,48,958]}]}," ",{p:[27,5,998],t:7,e:"ui-button",a:{icon:"remove",action:"delete",style:"danger"},f:["Delete"]}]}],n:50,r:"data.admin_mode",p:[23,1,778]}]},e.exports=a.extend(r.exports)},{205:205}],251:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-notice",f:[{p:[2,3,15],t:7,e:"span",f:["The requested interface (",{t:2,r:"config.interface",p:[2,34,46]},") was not found. Does it exist?"]}]}]},e.exports=a.extend(r.exports)},{205:205}],252:[function(t,e,n){var a=t(205),r={exports:{}};!function(t){"use strict";t.exports={computed:{seclevelState:function(){switch(this.get("data.seclevel")){case"blue":return"average";case"red":return"bad";case"delta":return"bad bold";default:return"good"}}}}}(r),r.exports.template={v:3,t:[" ",{p:[16,1,323],t:7,e:"ui-display",f:[{p:[17,5,341],t:7,e:"ui-section",a:{label:"Alert Level"},f:[{p:[18,9,383],t:7,e:"span",a:{"class":[{t:2,r:"seclevelState",p:[18,22,396]}]},f:[{t:2,x:{r:["text","data.seclevel"],s:"_0.titleCase(_1)"},p:[18,41,415]}]}]}," ",{p:[20,5,480],t:7,e:"ui-section",a:{label:"Controls"},f:[{p:[21,9,519],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.alarm"],s:'_0?"close":"bell-o"'},p:[21,26,536]}],action:[{t:2,x:{r:["data.alarm"],s:'_0?"reset":"alarm"'},p:[21,71,581]}]},f:[{t:2,x:{r:["data.alarm"],s:'_0?"Reset":"Activate"'},p:[22,13,631]}]}]}," ",{t:4,f:[{p:[25,7,733],t:7,e:"ui-section",a:{label:"Warning"},f:[{p:[26,9,771],t:7,e:"span",a:{"class":"bad bold"},f:["Safety measures offline. Device may exhibit abnormal behavior."]}]}],n:50,r:"data.emagged",p:[24,5,705]}]}]},e.exports=a.extend(r.exports)},{205:205}],253:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Controls"},f:[{p:[2,1,31],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[3,2,60],t:7,e:"ui-button",a:{icon:"power-off",style:[{t:2,x:{r:["data.power"],s:'_0?"selected":"danger"'},p:[3,37,95]}],action:"power"},f:[{t:2,x:{r:["data.power"],s:'_0?"Enabled":"Disabled"'},p:[3,92,150]}]}]}," ",{p:[5,1,218],t:7,e:"ui-section",a:{label:"Tag"},f:[{p:[6,2,245],t:7,e:"ui-button",a:{icon:"pencil",action:"rename"},f:[{t:2,r:"data.tag",p:[6,43,286]}]}]}," ",{p:[8,1,327],t:7,e:"ui-section",a:{label:"Scanning mode"},f:[{p:[9,2,364],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.updating"],s:'_0?"unlock":"lock"'},p:[9,18,380]}],style:[{t:2,x:{r:["data.updating"],s:'_0?null:"danger"'},p:[9,63,425]}],action:"updating",tooltip:"Toggle between automatic scanning or scan only when a button is pressed.","tooltip-side":"right"},f:[{t:2,x:{r:["data.updating"],s:'_0?"AUTO":"MANUAL"'},p:[9,221,583]}]}]}," ",{p:[11,1,649],t:7,e:"ui-section",a:{label:"Detection range"},f:[{p:[12,2,688],t:7,e:"ui-button",a:{icon:"refresh",style:[{t:2,x:{r:["data.globalmode"],s:'_0?null:"selected"'},p:[12,35,721]}],action:"globalmode",tooltip:"Local sector or whole region scanning.","tooltip-side":"right"},f:[{t:2,x:{r:["data.globalmode"],s:'_0?"MAXIMUM":"LOCAL"'},p:[12,165,851]}]}]}]}," ",{t:4,f:[{p:[16,2,957],t:7,e:"ui-display",a:{title:"Current Location"},f:[{p:[17,3,998],t:7,e:"span",f:[{t:2,r:"data.current",p:[17,9,1004]}]}]}," ",{p:[20,2,1048],t:7,e:"ui-display",a:{title:"Detected Signals"},f:[{t:4,f:[{p:[22,3,1114],t:7,e:"ui-section",a:{label:[{t:2,r:"entrytag",p:[22,21,1132]}]},f:[{p:[23,3,1149],t:7,e:"span",f:[{t:2,r:"area",p:[23,9,1155]}," (",{t:2,r:"coord",p:[23,19,1165]},")"]}," ",{t:4,f:[{p:[25,4,1209],t:7,e:"span",f:["Dist: ",{t:2,r:"dist",p:[25,16,1221]},"m Dir: ",{t:2,r:"degrees",p:[25,31,1236]},"° (",{t:2,r:"direction",p:[25,45,1250]},")"]}],n:50,r:"direction",p:[24,3,1187]}]}],n:52,r:"data.signals",p:[21,2,1088]}]}],n:50,r:"data.power",p:[15,1,936]}]},e.exports=a.extend(r.exports)},{205:205}],254:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Labor Camp Teleporter"},f:[{p:[2,2,45],t:7,e:"ui-section",a:{label:"Teleporter Status"},f:[{p:[3,3,87],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.teleporter"],s:'_0?"good":"bad"'},p:[3,16,100]}]},f:[{t:2,x:{r:["data.teleporter"],s:'_0?"Connected":"Not connected"'},p:[3,54,138]}]}]}," ",{t:4,f:[{p:[6,4,244],t:7,e:"ui-section",a:{label:"Location"},f:[{p:[7,5,279],t:7,e:"span",f:[{t:2,r:"data.teleporter_location",p:[7,11,285]}]}]}," ",{p:[9,4,343],t:7,e:"ui-section",a:{label:"Locked status"},f:[{p:[10,5,383],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.teleporter_lock"],s:'_0?"lock":"unlock"'},p:[10,22,400]}],action:"teleporter_lock"},f:[{t:2,x:{r:["data.teleporter_lock"],s:'_0?"Locked":"Unlocked"'},p:[10,93,471]}]}," ",{p:[11,5,537],t:7,e:"ui-button",a:{action:"toggle_open"},f:[{t:2,x:{r:["data.teleporter_state_open"],s:'_0?"Open":"Closed"'},p:[11,37,569]}]}]}],n:50,r:"data.teleporter",p:[5,3,216]},{t:4,n:51,f:[{p:[14,4,666],t:7,e:"span",f:[{p:[14,10,672],t:7,e:"ui-button",a:{action:"scan_teleporter"},f:["Scan Teleporter"]}]}],r:"data.teleporter"}]}," ",{p:[17,1,770],t:7,e:"ui-display",a:{title:"Labor Camp Beacon"},f:[{p:[18,2,811],t:7,e:"ui-section",a:{label:"Beacon Status"},f:[{p:[19,3,849],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.beacon"],s:'_0?"good":"bad"'},p:[19,16,862]}]},f:[{t:2,x:{r:["data.beacon"],s:'_0?"Connected":"Not connected"'},p:[19,50,896]}]}]}," ",{t:4,f:[{p:[22,3,992],t:7,e:"ui-section",a:{label:"Location"},f:[{p:[23,4,1026],t:7,e:"span",f:[{t:2,r:"data.beacon_location",p:[23,10,1032]}]}]}],n:50,r:"data.beacon",p:[21,2,969]},{t:4,n:51,f:[{p:[26,4,1097],t:7,e:"span",f:[{p:[26,10,1103],t:7,e:"ui-button",a:{action:"scan_beacon"},f:["Scan Beacon"]}]}],r:"data.beacon"}]}," ",{p:[29,1,1193],t:7,e:"ui-display",a:{title:"Prisoner details"},f:[{p:[30,2,1233],t:7,e:"ui-section",a:{label:"Prisoner ID"},f:[{p:[31,3,1269],t:7,e:"ui-button",a:{action:"handle_id"},f:[{t:2,x:{r:["data.id","data.id_name"],s:'_0?_1:"-------------"'},p:[31,33,1299]}]}]}," ",{t:4,f:[{p:[34,2,1392],t:7,e:"ui-section",a:{label:"Set ID goal"},f:[{p:[35,4,1429],t:7,e:"ui-button",a:{action:"set_goal"},f:[{t:2,r:"data.goal",p:[35,33,1458]}]}]}],n:50,r:"data.id",p:[33,2,1374]}," ",{p:[38,2,1512],t:7,e:"ui-section",a:{label:"Occupant"},f:[{p:[39,3,1545],t:7,e:"span",f:[{t:2,x:{r:["data.prisoner.name"],s:'_0?_0:"No Occupant"'},p:[39,9,1551]}]}]}," ",{t:4,f:[{p:[42,3,1661],t:7,e:"ui-section",a:{label:"Criminal Status"},f:[{p:[43,4,1702],t:7,e:"span",f:[{t:2,r:"data.prisoner.crimstat",p:[43,10,1708]}]}]}],n:50,r:"data.prisoner",p:[41,2,1636]}]}," ",{p:[47,1,1785],t:7,e:"ui-display",f:[{p:[48,2,1800],t:7,e:"center",f:[{p:[48,10,1808],t:7,e:"ui-button",a:{action:"teleport",state:[{t:2,x:{r:["data.can_teleport"],s:'_0?null:"disabled"'},p:[48,45,1843]}]},f:["Process Prisoner"]}]}]}]},e.exports=a.extend(r.exports)},{205:205}],255:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{p:[2,2,15],t:7,e:"center",f:[{p:[2,10,23],t:7,e:"ui-button",a:{action:"handle_id"},f:[{t:2,x:{r:["data.id","data.id_name"],s:'_0?_1:"-------------"'},p:[2,40,53]}]}]}]}," ",{p:[4,1,135],t:7,e:"ui-display",a:{title:"Stored Items"},f:[{t:4,f:[{p:[6,3,194],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[6,22,213]}]},f:[{p:[7,4,228],t:7,e:"ui-button",a:{action:"release_items",params:['{"mobref":',{t:2, - r:"mob",p:[7,56,280]},"}"],state:[{t:2,x:{r:["data.can_reclaim"],s:'_0?null:"disabled"'},p:[7,72,296]}]},f:["Drop Items"]}]}],n:52,r:"data.mobs",p:[5,2,171]}]}]},e.exports=a.extend(r.exports)},{205:205}],256:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:{button:[{p:[3,3,70],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.emagged"],s:'_0?"un":null'},p:[3,20,87]},"lock"],state:[{t:2,x:{r:["data.can_toggle_safety"],s:'_0?null:"disabled"'},p:[3,63,130]}],action:"safety"},f:["Safeties: ",{p:[4,14,209],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.emagged"],s:'_0?"bad":"good"'},p:[4,27,222]}]},f:[{t:2,x:{r:["data.emagged"],s:'_0?"OFF":"ON"'},p:[4,62,257]}]}]}]},t:7,e:"ui-display",a:{title:"Default Programs",button:0},f:[" ",{t:4,f:[{p:[8,2,363],t:7,e:"ui-button",a:{action:"load_program",params:['{"type": ',{t:2,r:"type",p:[8,52,413]},"}"],style:[{t:2,x:{r:["data.program","type"],s:'_0==_1?"selected":null'},p:[8,70,431]}]},f:[{t:2,r:"name",p:[9,5,483]}," "]},{p:[10,14,506],t:7,e:"br"}],n:52,r:"data.default_programs",p:[7,2,329]}]}," ",{t:4,f:[{p:[14,2,562],t:7,e:"ui-display",a:{title:"Dangerous Programs"},f:[{t:4,f:[{p:[16,4,638],t:7,e:"ui-button",a:{icon:"warning",action:"load_program",params:['{"type": ',{t:2,r:"type",p:[16,69,703]},"}"],style:[{t:2,x:{r:["data.program","type"],s:'_0==_1?"selected":null'},p:[16,87,721]}]},f:[{t:2,r:"name",p:[17,5,773]}," "]},{p:[18,16,798],t:7,e:"br"}],n:52,r:"data.emag_programs",p:[15,3,605]}]}],n:50,r:"data.emagged",p:[13,1,539]}]},e.exports=a.extend(r.exports)},{205:205}],257:[function(t,e,n){var a=t(205),r={exports:{}};!function(t){"use strict";t.exports={computed:{occupantStatState:function(){switch(this.get("data.occupant.stat")){case 0:return"good";case 1:return"average";default:return"bad"}}}}}(r),r.exports.template={v:3,t:[" ",{p:[15,1,280],t:7,e:"ui-display",a:{title:"Occupant"},f:[{p:[16,3,313],t:7,e:"ui-section",a:{label:"Occupant"},f:[{p:[17,3,346],t:7,e:"span",f:[{t:2,x:{r:["data.occupant.name"],s:'_0?_0:"No Occupant"'},p:[17,9,352]}]}]}," ",{t:4,f:[{p:[20,5,466],t:7,e:"ui-section",a:{label:"State"},f:[{p:[21,7,500],t:7,e:"span",a:{"class":[{t:2,r:"occupantStatState",p:[21,20,513]}]},f:[{t:2,x:{r:["data.occupant.stat"],s:'_0==0?"Conscious":_0==1?"Unconcious":"Dead"'},p:[21,43,536]}]}]}],n:50,r:"data.occupied",p:[19,3,439]}]}," ",{p:[25,1,680],t:7,e:"ui-display",a:{title:"Controls"},f:[{p:[26,2,712],t:7,e:"ui-section",a:{label:"Door"},f:[{p:[27,5,743],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.open"],s:'_0?"unlock":"lock"'},p:[27,22,760]}],action:"door"},f:[{t:2,x:{r:["data.open"],s:'_0?"Open":"Closed"'},p:[27,71,809]}]}]}," ",{p:[29,3,874],t:7,e:"ui-section",a:{label:"Uses"},f:[{t:2,r:"data.ready_implants",p:[30,5,905]}," ",{t:4,f:[{p:[32,7,969],t:7,e:"span",a:{"class":"fa fa-cog fa-spin"}}],n:50,r:"data.replenishing",p:[31,5,936]}]}," ",{p:[35,3,1036],t:7,e:"ui-section",a:{label:"Activate"},f:[{p:[36,7,1073],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.occupied","data.ready_implants","data.ready"],s:'_0&&_1>0&&_2?null:"disabled"'},p:[36,25,1091]}],action:"implant"},f:[{t:2,x:{r:["data.ready","data.special_name"],s:'_0?(_1?_1:"Implant"):"Recharging"'},p:[37,9,1198]}," "]},{p:[38,19,1302],t:7,e:"br"}]}]}]},e.exports=a.extend(r.exports)},{205:205}],258:[function(t,e,n){var a=t(205),r={exports:{}};!function(t){"use strict";t.exports={computed:{healthState:function(){var t=this.get("data.health");return t>70?"good":t>50?"average":"bad"}}}}(r),r.exports.template={v:3,t:[" ",{t:4,f:[{p:[15,3,296],t:7,e:"ui-notice",f:[{p:[16,5,313],t:7,e:"span",f:["Wipe in progress!"]}]}],n:50,r:"data.wiping",p:[14,1,273]},{p:{button:[{t:4,f:[{p:[22,7,479],t:7,e:"ui-button",a:{icon:"trash",state:[{t:2,x:{r:["data.isDead"],s:'_0?"disabled":null'},p:[22,38,510]}],action:"wipe"},f:[{t:2,x:{r:["data.wiping"],s:'_0?"Stop Wiping":"Wipe"'},p:[22,89,561]}," AI"]}],n:50,r:"data.name",p:[21,5,454]}]},t:7,e:"ui-display",a:{title:[{t:2,x:{r:["data.name"],s:'_0||"Empty Card"'},p:[19,19,388]}],button:0},f:[" ",{t:4,f:[{p:[26,5,672],t:7,e:"ui-section",a:{label:"Status"},f:[{p:[27,9,709],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.isDead","data.isBraindead"],s:'_0||_1?"bad":"good"'},p:[27,22,722]}]},f:[{t:2,x:{r:["data.isDead","data.isBraindead"],s:'_0||_1?"Offline":"Operational"'},p:[27,76,776]}]}]}," ",{p:[29,5,871],t:7,e:"ui-section",a:{label:"Software Integrity"},f:[{p:[30,7,918],t:7,e:"ui-bar",a:{min:"0",max:"100",value:[{t:2,r:"data.health",p:[30,40,951]}],state:[{t:2,r:"healthState",p:[30,64,975]}]},f:[{t:2,x:{r:["adata.health"],s:"Math.round(_0)"},p:[30,81,992]},"%"]}]}," ",{p:[32,5,1055],t:7,e:"ui-section",a:{label:"Laws"},f:[{t:4,f:[{p:[34,9,1117],t:7,e:"span",a:{"class":"highlight"},f:[{t:2,r:".",p:[34,33,1141]}]},{p:[34,45,1153],t:7,e:"br"}],n:52,r:"data.laws",p:[33,7,1088]}]}," ",{p:[37,5,1200],t:7,e:"ui-section",a:{label:"Settings"},f:[{p:[38,7,1237],t:7,e:"ui-button",a:{icon:"signal",style:[{t:2,x:{r:["data.wireless"],s:'_0?"selected":null'},p:[38,39,1269]}],action:"wireless"},f:["Wireless Activity"]}," ",{p:[39,7,1363],t:7,e:"ui-button",a:{icon:"microphone",style:[{t:2,x:{r:["data.radio"],s:'_0?"selected":null'},p:[39,43,1399]}],action:"radio"},f:["Subspace Radio"]}]}],n:50,r:"data.name",p:[25,3,649]}]}]},e.exports=a.extend(r.exports)},{205:205}],259:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,2,23],t:7,e:"ui-notice",f:[{p:[3,3,38],t:7,e:"span",f:["Waiting for another device to confirm your request..."]}]}],n:50,r:"data.waiting",p:[1,1,0]},{t:4,n:51,f:[{p:[6,2,132],t:7,e:"ui-display",f:[{p:[7,3,148],t:7,e:"ui-section",f:[{t:4,f:[{p:[9,5,197],t:7,e:"ui-button",a:{icon:"check",action:"auth_swipe"},f:["Authorize ",{t:2,r:"data.auth_required",p:[9,59,251]}]}],n:50,r:"data.auth_required",p:[8,4,165]},{t:4,n:51,f:[{p:[11,5,304],t:7,e:"ui-button",a:{icon:"warning",state:[{t:2,x:{r:["data.red_alert"],s:'_0?"disabled":null'},p:[11,38,337]}],action:"red_alert"},f:["Red Alert"]}," ",{p:[12,5,423],t:7,e:"ui-button",a:{icon:"wrench",state:[{t:2,x:{r:["data.emergency_maint"],s:'_0?"disabled":null'},p:[12,37,455]}],action:"emergency_maint"},f:["Emergency Maintenance Access"]}," ",{p:[13,5,572],t:7,e:"ui-button",a:{icon:"warning",state:"null",action:"bsa_unlock"},f:["Bluespace Artillery Unlock"]}],r:"data.auth_required"}]}]}],r:"data.waiting"}]},e.exports=a.extend(r.exports)},{205:205}],260:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Ore values"},f:[{t:4,f:[{p:[3,3,57],t:7,e:"ui-section",a:{label:[{t:2,r:"ore",p:[3,22,76]}]},f:[{p:[4,4,90],t:7,e:"span",f:[{t:2,r:"value",p:[4,10,96]}]}]}],n:52,r:"data.ores",p:[2,2,34]}]}," ",{p:[8,1,158],t:7,e:"ui-display",a:{title:"Points"},f:[{p:[9,2,188],t:7,e:"ui-section",a:{label:"ID"},f:[{p:[10,3,215],t:7,e:"ui-button",a:{action:"handle_id"},f:[{t:2,x:{r:["data.id","data.id_name"],s:'_0?_1:"-------------"'},p:[10,33,245]}]}]}," ",{t:4,f:[{p:[13,3,339],t:7,e:"ui-section",a:{label:"Points collected"},f:[{p:[14,4,381],t:7,e:"span",f:[{t:2,r:"data.points",p:[14,10,387]}]}]}," ",{p:[16,3,430],t:7,e:"ui-section",a:{label:"Goal"},f:[{p:[17,4,460],t:7,e:"span",f:[{t:2,r:"data.goal",p:[17,10,466]}]}]}," ",{p:[19,3,507],t:7,e:"ui-section",a:{label:"Unclaimed points"},f:[{p:[20,4,549],t:7,e:"span",f:[{t:2,r:"data.unclaimed_points",p:[20,10,555]}]}," ",{p:[21,4,592],t:7,e:"ui-button",a:{action:"claim_points",state:[{t:2,x:{r:["data.unclaimed_points"],s:'_0?null:"disabled"'},p:[21,43,631]}]},f:["Claim points"]}]}],n:50,r:"data.id",p:[12,2,320]}]}," ",{p:[25,1,745],t:7,e:"ui-display",f:[{p:[26,2,760],t:7,e:"center",f:[{p:[27,3,772],t:7,e:"ui-button",a:{action:"move_shuttle",state:[{t:2,x:{r:["data.can_go_home"],s:'_0?null:"disabled"'},p:[27,42,811]}]},f:["Move shuttle"]}]}]}]},e.exports=a.extend(r.exports)},{205:205}],261:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Known Languages"},f:[{t:4,f:[{p:[3,5,70],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[3,23,88]}]},f:[{p:[4,7,105],t:7,e:"span",f:[{t:2,r:"desc",p:[4,13,111]}]}," ",{p:[5,7,134],t:7,e:"span",f:["Key: ,",{t:2,r:"key",p:[5,19,146]}]}," ",{t:4,f:[{p:[7,9,192],t:7,e:"span",f:["(gained from mob)"]}],n:50,r:"shadow",p:[6,7,168]}," ",{p:[9,7,245],t:7,e:"span",f:[{t:2,x:{r:["can_speak"],s:'_0?"Can Speak":"Cannot Speak"'},p:[9,13,251]}]}," ",{t:4,f:[{p:[11,9,342],t:7,e:"ui-button",a:{action:"select_default",params:['{"language_name":"',{t:2,r:"name",p:[13,37,425]},'"}'],style:[{t:2,x:{r:["is_default","can_speak"],s:'_0?"selected":_1?null:"disabled"'},p:[14,18,455]}]},f:[{t:2,x:{r:["is_default"],s:'_0?"Default Language":"Select as Default"'},p:[15,10,526]}]}],n:50,r:"data.is_living",p:[10,7,310]}," ",{t:4,f:[{t:4,f:[{p:[20,11,685],t:7,e:"ui-button",a:{action:"grant_language",params:['{"language_name":"',{t:2,r:"name",p:[20,72,746]},'"}']},f:["Grant"]}],n:50,r:"shadow",p:[19,9,659]},{t:4,n:51,f:[{p:[22,11,805],t:7,e:"ui-button",a:{action:"remove_language",params:['{"language_name":"',{t:2,r:"name",p:[22,73,867]},'"}']},f:["Remove"]}],r:"shadow"}],n:50,r:"data.admin_mode",p:[18,7,626]}]}],n:52,r:"data.languages",p:[2,3,40]}]}," ",{t:4,f:[{t:4,f:[{p:[30,5,1033],t:7,e:"ui-button",a:{action:"toggle_omnitongue",style:[{t:2,x:{r:["data.omnitongue"],s:'_0?"selected":null'},p:[32,14,1092]}]},f:["Omnitongue ",{t:2,x:{r:["data.omnitongue"],s:'_0?"Enabled":"Disabled"'},p:[33,19,1152]}]}],n:50,r:"data.is_living",p:[29,3,1005]}," ",{p:[36,3,1231],t:7,e:"ui-display",a:{title:"Unknown Languages"},f:[{t:4,f:[{p:[38,7,1315],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[38,25,1333]}]},f:[{p:[39,9,1352],t:7,e:"span",f:[{t:2,r:"desc",p:[39,15,1358]}]}," ",{p:[40,9,1383],t:7,e:"span",f:["Key: ,",{t:2,r:"key",p:[40,21,1395]}]}," ",{p:[41,9,1419],t:7,e:"ui-button",a:{action:"grant_language",params:['{"language_name":"',{t:2,r:"name",p:[43,37,1502]},'"}']},f:["Grant"]}]}],n:52,r:"data.unknown_languages",p:[37,5,1275]}]}],n:50,r:"data.admin_mode",p:[28,1,978]}]},e.exports=a.extend(r.exports)},{205:205}],262:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Controls"},f:[{t:4,f:[{t:4,f:[{p:[4,4,84],t:7,e:"ui-section",a:{label:"Warning"},f:[{p:[5,5,118],t:7,e:"span",f:["Launchpad closed."]}]}],n:50,r:"data.pad_closed",p:[3,3,56]},{t:4,n:51,f:[{p:[8,4,183],t:7,e:"ui-section",a:{label:"Launchpad"},f:[{p:[9,4,218],t:7,e:"span",f:[{p:[9,10,224],t:7,e:"b",f:[{t:2,r:"data.pad_name",p:[9,13,227]}]}]},{p:[9,41,255],t:7,e:"br"}," ",{p:[10,4,264],t:7,e:"ui-button",a:{icon:"pencil",action:"rename"},f:["Rename"]}," ",{p:[11,4,328],t:7,e:"ui-button",a:{icon:"remove",style:"danger",action:"remove"},f:["Remove"]}]}," ",{p:[14,4,427],t:7,e:"ui-section",a:{label:"Set Target"},f:[{p:[15,4,463],t:7,e:"table",f:[{p:[16,4,475],t:7,e:"tr",f:[{p:[17,5,485],t:7,e:"td",a:{style:"width:25px!important"},f:[{p:[17,38,518],t:7,e:"ui-button",a:{action:"up-left"},f:["↖"]}]}," ",{p:[18,5,570],t:7,e:"td",a:{style:"width:25px!important; text-align:center"},f:[{p:[18,57,622],t:7,e:"ui-button",a:{action:"up"},f:["↑"]}]}," ",{p:[19,5,669],t:7,e:"td",a:{style:"width:25px!important; text-align:right"},f:[{p:[19,56,720],t:7,e:"ui-button",a:{action:"up-right"},f:["↗"]}]}]}," ",{p:[21,4,782],t:7,e:"tr",f:[{p:[22,5,792],t:7,e:"td",a:{style:"width:25px!important"},f:[{p:[22,38,825],t:7,e:"ui-button",a:{action:"left",style:"width:35px!important"},f:["←"]}]}," ",{p:[23,5,903],t:7,e:"td",a:{style:"width:25px!important; text-align:center"},f:[{p:[23,57,955],t:7,e:"ui-button",a:{action:"reset"},f:["R"]}]}," ",{p:[24,5,1005],t:7,e:"td",a:{style:"width:25px!important; text-align:right"},f:[{p:[24,56,1056],t:7,e:"ui-button",a:{action:"right"},f:["→"]}]}]}," ",{p:[26,4,1115],t:7,e:"tr",f:[{p:[27,5,1125],t:7,e:"td",a:{style:"width:25px!important"},f:[{p:[27,38,1158],t:7,e:"ui-button",a:{action:"down-left"},f:["↙"]}]}," ",{p:[28,5,1212],t:7,e:"td",a:{style:"width:25px!important; text-align:center"},f:[{p:[28,57,1264],t:7,e:"ui-button",a:{action:"down"},f:["↓"]}]}," ",{p:[29,5,1313],t:7,e:"td",a:{style:"width:25px!important; text-align:right"},f:[{p:[29,56,1364],t:7,e:"ui-button",a:{action:"down-right"},f:["↘"]}]}]}]}]}," ",{p:[33,4,1459],t:7,e:"ui-section",a:{label:"Current Target"},f:[{p:[34,5,1500],t:7,e:"span",f:[{t:2,r:"data.abs_y",p:[34,11,1506]}," ",{t:2,r:"data.north_south",p:[34,26,1521]}]},{p:[34,53,1548],t:7,e:"br"}," ",{p:[35,5,1558],t:7,e:"span",f:[{t:2,r:"data.abs_x",p:[35,11,1564]}," ",{t:2,r:"data.east_west",p:[35,26,1579]}]}]}," ",{p:[37,4,1627],t:7,e:"ui-section",a:{label:"Activate"},f:[{p:[38,5,1662],t:7,e:"ui-button",a:{action:"launch",tooltip:"Teleport everything on the pad to the target.","tooltip-side":"down"},f:["Launch"]}," ",{p:[39,5,1789],t:7,e:"ui-button",a:{action:"pull",tooltip:"Teleport everything from the target to the pad.","tooltip-side":"down"},f:["Pull"]}]}],r:"data.pad_closed"}],n:50,r:"data.has_pad",p:[2,2,32]},{t:4,n:51,f:[{p:[45,3,1956],t:7,e:"ui-section",a:{label:"Warning"},f:[{p:[46,4,1989],t:7,e:"span",f:["No launchpad found. Link the remote to a launchpad."]}]}],r:"data.has_pad"}]}]},e.exports=a.extend(r.exports)},{205:205}],263:[function(t,e,n){var a=t(205),r={exports:{}};!function(t){"use strict";t.exports={data:{mechChargeState:function(t){var e=this.get("data.recharge_port.mech.cell.maxcharge");return t>=e/1.5?"good":t>=e/3?"average":"bad"},mechHealthState:function(t){var e=this.get("data.recharge_port.mech.maxhealth");return t>e/1.5?"good":t>e/3?"average":"bad"}}}}(r),r.exports.template={v:3,t:[" ",{p:[20,1,545],t:7,e:"ui-display",a:{title:"Mech Status"},f:[{t:4,f:[{t:4,f:[{p:[23,4,646],t:7,e:"ui-section",a:{label:"Integrity"},f:[{p:[24,6,683],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"adata.recharge_port.mech.maxhealth",p:[24,27,704]}],value:[{t:2,r:"adata.recharge_port.mech.health",p:[24,74,751]}],state:[{t:2,x:{r:["mechHealthState","adata.recharge_port.mech.health"],s:"_0(_1)"},p:[24,117,794]}]},f:[{t:2,x:{r:["adata.recharge_port.mech.health"],s:"Math.round(_0)"},p:[24,171,848]},"/",{t:2,r:"adata.recharge_port.mech.maxhealth",p:[24,219,896]}]}]}," ",{t:4,f:[{t:4,f:[{p:[28,5,1061],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[28,31,1087],t:7,e:"span",a:{"class":"bad"},f:["Cell Critical Failure"]}]}],n:50,r:"data.recharge_port.mech.cell.critfail",p:[27,3,1010]},{t:4,n:51,f:[{p:[30,11,1170],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[31,13,1210],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"adata.recharge_port.mech.cell.maxcharge",p:[31,34,1231]}],value:[{t:2,r:"adata.recharge_port.mech.cell.charge",p:[31,86,1283]}],state:[{t:2,x:{r:["mechChargeState","adata.recharge_port.mech.cell.charge"],s:"_0(_1)"},p:[31,134,1331]}]},f:[{t:2,x:{r:["adata.recharge_port.mech.cell.charge"],s:"Math.round(_0)"},p:[31,193,1390]},"/",{t:2,x:{r:["adata.recharge_port.mech.cell.maxcharge"],s:"Math.round(_0)"},p:[31,246,1443]}]}]}],r:"data.recharge_port.mech.cell.critfail"}],n:50,r:"data.recharge_port.mech.cell",p:[26,4,970]},{t:4,n:51,f:[{p:[35,3,1558],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[35,29,1584],t:7,e:"span",a:{"class":"bad"},f:["Cell Missing"]}]}],r:"data.recharge_port.mech.cell"}],n:50,r:"data.recharge_port.mech",p:[22,2,610]},{t:4,n:51,f:[{p:[38,4,1662],t:7,e:"ui-section",f:["Mech Not Found"]}],r:"data.recharge_port.mech"}],n:50,r:"data.recharge_port",p:[21,3,581]},{t:4,n:51,f:[{p:[41,5,1729],t:7,e:"ui-section",f:["Recharging Port Not Found"]}," ",{p:[42,2,1782],t:7,e:"ui-button",a:{icon:"refresh",action:"reconnect"},f:["Reconnect"]}],r:"data.recharge_port"}]}]},e.exports=a.extend(r.exports)},{205:205}],264:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-notice",f:[{t:4,f:[{p:[3,5,45],t:7,e:"ui-section",a:{label:"Interface Lock"},f:[{p:[4,7,88],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.locked"],s:'_0?"lock":"unlock"'},p:[4,24,105]}],action:"lock"},f:[{t:2,x:{r:["data.locked"],s:'_0?"Engaged":"Disengaged"'},p:[4,75,156]}]}]}],n:50,r:"data.siliconUser",p:[2,3,15]},{t:4,n:51,f:[{p:[7,5,247],t:7,e:"span",f:["Swipe an ID card to ",{t:2,x:{r:["data.locked"],s:'_0?"unlock":"lock"'},p:[7,31,273]}," this interface."]}],r:"data.siliconUser"}]}," ",{p:[10,1,358],t:7,e:"ui-display",a:{title:"Status"},f:[{p:[11,3,389],t:7,e:"ui-section",a:{label:"Power"},f:[{t:4,f:[{p:[13,7,470],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.on"],s:'_0?"power-off":"close"'},p:[13,24,487]}],style:[{t:2,x:{r:["data.on"],s:'_0?"selected":null'},p:[13,68,531]}],action:"power"},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[13,116,579]}]}],n:50,x:{r:["data.locked","data.siliconUser"],s:"!_0||_1"},p:[12,5,421]},{t:4,n:51,f:[{p:[15,7,639],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.on"],s:'_0?"good":"bad"'},p:[15,20,652]}],state:[{t:2,x:{r:["data.cell"],s:'_0?null:"disabled"'},p:[15,57,689]}]},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[15,92,724]}]}],x:{r:["data.locked","data.siliconUser"],s:"!_0||_1"}}]}," ",{p:[18,3,791],t:7,e:"ui-section",a:{label:"Cell"},f:[{p:[19,5,822],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.cell"],s:'_0?null:"bad"'},p:[19,18,835]}]},f:[{t:2,x:{r:["data.cell","data.cellPercent"],s:'_0?_1+"%":"No Cell"'},p:[19,48,865]}]}]}," ",{p:[21,3,943],t:7,e:"ui-section",a:{label:"Mode"},f:[{p:[22,5,974],t:7,e:"span",a:{"class":[{t:2,r:"data.modeStatus",p:[22,18,987]}]},f:[{t:2,r:"data.mode",p:[22,39,1008]}]}]}," ",{p:[24,3,1049],t:7,e:"ui-section",a:{label:"Load"},f:[{p:[25,5,1080],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.load"],s:'_0?"good":"average"'},p:[25,18,1093]}]},f:[{t:2,x:{r:["data.load"],s:'_0?_0:"None"'},p:[25,54,1129]}]}]}," ",{p:[27,3,1191],t:7,e:"ui-section",a:{label:"Destination"},f:[{p:[28,5,1229],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.destination"],s:'_0?"good":"average"'},p:[28,18,1242]}]},f:[{t:2,x:{r:["data.destination"],s:'_0?_0:"None"'},p:[28,60,1284]}]}]}]}," ",{t:4,f:[{p:{button:[{t:4,f:[{p:[35,9,1513],t:7,e:"ui-button",a:{icon:"eject",action:"unload"},f:["Unload"]}],n:50,r:"data.load",p:[34,7,1486]}," ",{t:4,f:[{p:[38,9,1623],t:7,e:"ui-button",a:{icon:"eject",action:"ejectpai"},f:["Eject PAI"]}],n:50,r:"data.haspai",p:[37,7,1594]}," ",{p:[40,7,1709],t:7,e:"ui-button",a:{icon:"pencil",action:"setid"},f:["Set ID"]}]},t:7,e:"ui-display",a:{title:"Controls",button:0},f:[" ",{p:[42,5,1791],t:7,e:"ui-section",a:{label:"Destination"},f:[{p:[43,7,1831],t:7,e:"ui-button",a:{icon:"pencil",action:"destination"},f:["Set Destination"]}," ",{p:[44,7,1912],t:7,e:"ui-button",a:{icon:"stop",action:"stop"},f:["Stop"]}," ",{p:[45,7,1973],t:7,e:"ui-button",a:{icon:"play",action:"go"},f:["Go"]}]}," ",{p:[47,5,2047],t:7,e:"ui-section",a:{label:"Home"},f:[{p:[48,7,2080],t:7,e:"ui-button",a:{icon:"home",action:"home"},f:["Go Home"]}," ",{p:[49,7,2144],t:7,e:"ui-button",a:{icon:"pencil",action:"sethome"},f:["Set Home"]}]}," ",{p:[51,5,2231],t:7,e:"ui-section",a:{label:"Settings"},f:[{p:[52,7,2268],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.autoReturn"],s:'_0?"check-square-o":"square-o"'},p:[52,24,2285]}],style:[{t:2,x:{r:["data.autoReturn"],s:'_0?"selected":null'},p:[52,84,2345]}],action:"autoret"},f:["Auto-Return Home"]}," ",{p:[54,7,2449],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.autoPickup"],s:'_0?"check-square-o":"square-o"'},p:[54,24,2466]}],style:[{t:2,x:{r:["data.autoPickup"],s:'_0?"selected":null'},p:[54,84,2526]}],action:"autopick"},f:["Auto-Pickup Crate"]}," ",{p:[56,7,2632],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.reportDelivery"],s:'_0?"check-square-o":"square-o"'},p:[56,24,2649]}],style:[{t:2,x:{r:["data.reportDelivery"],s:'_0?"selected":null'},p:[56,88,2713]}],action:"report"},f:["Report Deliveries"]}]}]}],n:50,x:{r:["data.locked","data.siliconUser"],s:"!_0||_1"},p:[31,1,1373]}]},e.exports=a.extend(r.exports)},{205:205}],265:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Relay"},f:[{t:4,f:[{p:[3,3,57],t:7,e:"h2",f:["NETWORK BUFFERS OVERLOADED"]}," ",{p:[4,3,96],t:7,e:"h3",f:["Overload Recovery Mode"]}," ",{p:[5,3,131],t:7,e:"i",f:["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."]}," ",{p:[6,3,484],t:7,e:"h3",f:["ADMINISTRATIVE OVERRIDE"]}," ",{p:[7,3,520],t:7,e:"b",f:["CAUTION - Data loss may occur"]}," ",{p:[8,3,562],t:7,e:"ui-button",a:{icon:"signal",action:"restart"},f:["Purge buffered traffic"]}],n:50,r:"data.dos_crashed",p:[2,2,29]},{t:4,n:51,f:[{p:[12,3,663],t:7,e:"ui-section",a:{label:"Relay status"},f:[{p:[13,4,701],t:7,e:"ui-button",a:{icon:"power-off",action:"toggle"},f:[{t:2,x:{r:["data.enabled"],s:'_0?"ENABLED":"DISABLED"'},p:[14,6,752]}]}]}," ",{p:[18,3,836],t:7,e:"ui-section",a:{label:"Network buffer status"},f:[{t:2,r:"data.dos_overload",p:[19,4,883]}," / ",{t:2,r:"data.dos_capacity",p:[19,28,907]}," GQ"]}],r:"data.dos_crashed"}]}]},e.exports=a.extend(r.exports)},{205:205}],266:[function(t,e,n){var a=t(205),r={exports:{}};!function(t){"use strict";t.exports={computed:{healthState:function(){var t=this.get("data.health");return t>70?"good":t>50?"average":"bad"}}}}(r),r.exports.template={v:3,t:[" "," ",{p:[15,1,320],t:7,e:"ntosheader"}," ",{t:4,f:[{p:[18,3,363],t:7,e:"ui-notice",f:[{p:[19,5,380],t:7,e:"span",f:["Reconstruction in progress!"]}]}],n:50,r:"data.restoring",p:[17,1,337]},{p:[24,1,451],t:7,e:"ui-display",f:[{p:[26,1,467],t:7,e:"div",a:{"class":"item"},f:[{p:[27,3,489],t:7,e:"div",a:{"class":"itemLabel"},f:["Inserted AI:"]}," ",{p:[30,3,541],t:7,e:"div",a:{"class":"itemContent"},f:[{p:[31,2,569],t:7,e:"ui-button",a:{icon:"eject",action:"PRG_eject",state:[{t:2,x:{r:["data.nocard"],s:'_0?"disabled":null'},p:[31,52,619]}]},f:[{t:2,x:{r:["data.name"],s:'_0?_0:"---"'},p:[31,89,656]}]}]}]}," ",{t:4,f:[{p:[36,2,744],t:7,e:"b",f:["ERROR: ",{t:2,r:"data.error",p:[36,12,754]}]}],n:50,r:"data.error",p:[35,1,723]},{t:4,n:51,f:[{p:[38,2,785],t:7,e:"h2",f:["System Status"]}," ",{p:[39,2,810],t:7,e:"div",a:{"class":"item"},f:[{p:[40,3,832],t:7,e:"div",a:{"class":"itemLabel"},f:["Current AI:"]}," ",{p:[43,3,885],t:7,e:"div",a:{"class":"itemContent"},f:[{t:2,r:"data.name",p:[44,4,915]}]}," ",{p:[46,3,942],t:7,e:"div",a:{"class":"itemLabel"},f:["Status:"]}," ",{p:[49,3,991],t:7,e:"div",a:{"class":"itemContent"},f:[{t:4,f:["Nonfunctional"],n:50,r:"data.isDead",p:[50,4,1021]},{t:4,n:51,f:["Functional"],r:"data.isDead"}]}," ",{p:[56,3,1114],t:7,e:"div",a:{"class":"itemLabel"},f:["System Integrity:"]}," ",{p:[59,3,1173],t:7,e:"div",a:{"class":"itemContent"},f:[{p:[60,4,1203],t:7,e:"ui-bar",a:{min:"0",max:"100",value:[{t:2,r:"data.health",p:[60,37,1236]}],state:[{t:2,r:"healthState",p:[61,11,1264]}]},f:[{t:2,x:{r:["adata.health"],s:"Math.round(_0)"},p:[61,28,1281]},"%"]}]}," ",{p:[63,3,1336],t:7,e:"div",a:{"class":"itemLabel"},f:["Active Laws:"]}," ",{p:[66,3,1390],t:7,e:"div",a:{"class":"itemContent"},f:[{p:[67,4,1420],t:7,e:"table",f:[{t:4,f:[{p:[69,6,1462],t:7,e:"tr",f:[{p:[69,10,1466],t:7,e:"td",f:[{p:[69,14,1470],t:7,e:"span",a:{"class":"highlight"},f:[{t:2,r:".",p:[69,38,1494]}]}]}]}],n:52,r:"data.ai_laws",p:[68,5,1433]}]}]}," ",{p:[73,2,1547],t:7,e:"ui-section",a:{label:"Operations"},f:[{p:[74,3,1582],t:7,e:"ui-button",a:{icon:"plus",style:[{t:2,x:{r:["data.restoring"],s:'_0?"disabled":null'},p:[74,33,1612]}],action:"PRG_beginReconstruction"},f:["Begin Reconstruction"]}]}]}],r:"data.error"}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(280)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{205:205,280:280}],267:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[" ",{p:[2,1,47],t:7,e:"ntosheader"}," ",{t:4,f:[{p:[5,1,91],t:7,e:"ui-button",a:{action:"PRG_switchm",icon:"home",params:'{"target" : "mod"}',state:[{t:2,x:{r:["data.mmode"],s:'_0==1?"disabled":null'},p:[5,80,170]}]},f:["Access Modification"]}],n:50,r:"data.have_id_slot",p:[4,1,64]},{p:[7,1,253],t:7,e:"ui-button",a:{action:"PRG_switchm",icon:"folder-open",params:'{"target" : "manage"}',state:[{t:2,x:{r:["data.mmode"],s:'_0==2?"disabled":null'},p:[7,90,342]}]},f:["Job Management"]}," ",{p:[8,1,411],t:7,e:"ui-button",a:{action:"PRG_switchm",icon:"folder-open",params:'{"target" : "manifest"}',state:[{t:2,x:{r:["data.mmode"],s:'!_0?"disabled":null'},p:[8,92,502]}]},f:["Crew Manifest"]}," ",{t:4,f:[{p:[10,1,593],t:7,e:"ui-button",a:{action:"PRG_print",icon:"print",state:[{t:2,x:{r:["data.has_id","data.mmode"],s:'!_1||_0&&_1==1?null:"disabled"'},p:[10,51,643]}]},f:["Print"]}],n:50,r:"data.have_printer",p:[9,1,566]},{t:4,f:[{p:[14,1,766],t:7,e:"div",a:{"class":"item"},f:[{p:[15,3,788],t:7,e:"h2",f:["Crew Manifest"]}," ",{p:[16,3,814],t:7,e:"br"},"Please use security record computer to modify entries.",{p:[16,61,872],t:7,e:"br"},{p:[16,65,876],t:7,e:"br"}]}," ",{t:4,f:[{p:[19,2,916],t:7,e:"div",a:{"class":"item"},f:[{t:2,r:"name",p:[20,2,937]}," - ",{t:2,r:"rank",p:[20,13,948]}]}],n:52,r:"data.manifest",p:[18,1,890]}],n:50,x:{r:["data.mmode"],s:"!_0"},p:[13,1,745]},{t:4,n:51,f:[{t:4,n:50,x:{r:["data.mmode"],s:"_0==2"},f:[{p:[25,1,1008],t:7,e:"div",a:{"class":"item"},f:[{p:[26,3,1030],t:7,e:"h2",f:["Job Management"]}]}," ",{p:[28,1,1063],t:7,e:"table",f:[{p:[29,1,1072],t:7,e:"tr",f:[{p:[29,5,1076],t:7,e:"td",a:{style:"width:25%"},f:[{p:[29,27,1098],t:7,e:"b",f:["Job"]}]},{p:[29,42,1113],t:7,e:"td",a:{style:"width:25%"},f:[{p:[29,64,1135],t:7,e:"b",f:["Slots"]}]},{p:[29,81,1152],t:7,e:"td",a:{style:"width:25%"},f:[{p:[29,103,1174],t:7,e:"b",f:["Open job"]}]},{p:[29,123,1194],t:7,e:"td",a:{style:"width:25%"},f:[{p:[29,145,1216],t:7,e:"b",f:["Close job"]}]}]}," ",{t:4,f:[{p:[32,2,1269],t:7,e:"tr",f:[{p:[32,6,1273],t:7,e:"td",f:[{t:2,r:"title",p:[32,10,1277]}]},{p:[32,24,1291],t:7,e:"td",f:[{t:2,r:"current",p:[32,28,1295]},"/",{t:2,r:"total",p:[32,40,1307]}]},{p:[32,54,1321],t:7,e:"td",f:[{p:[32,58,1325],t:7,e:"ui-button",a:{action:"PRG_open_job",params:['{"target" : "',{t:2,r:"title",p:[32,112,1379]},'"}'],state:[{t:2,x:{r:["status_open"],s:'_0?null:"disabled"'},p:[32,132,1399]}]},f:[{t:2,r:"desc_open",p:[32,169,1436]}]},{p:[32,194,1461],t:7,e:"br"}]},{p:[32,203,1470],t:7,e:"td",f:[{p:[32,207,1474],t:7,e:"ui-button",a:{action:"PRG_close_job",params:['{"target" : "',{t:2,r:"title",p:[32,262,1529]},'"}'],state:[{t:2,x:{r:["status_close"],s:'_0?null:"disabled"'},p:[32,282,1549]}]},f:[{t:2,r:"desc_close",p:[32,320,1587]}]}]}]}],n:52,r:"data.slots",p:[30,1,1244]}]}]},{t:4,n:50,x:{r:["data.mmode"],s:"!(_0==2)"},f:[" ",{p:[40,1,1665],t:7,e:"div",a:{"class":"item"},f:[{p:[41,3,1687],t:7,e:"h2",f:["Access Modification"]}]}," ",{t:4,f:[{p:[45,3,1751],t:7,e:"span",a:{"class":"alert"},f:[{p:[45,23,1771],t:7,e:"i",f:["Please insert the ID into the terminal to proceed."]}]},{p:[45,87,1835],t:7,e:"br"}],n:50,x:{r:["data.has_id"],s:"!_0"},p:[44,1,1727]},{p:[48,1,1852],t:7,e:"div",a:{"class":"item"},f:[{p:[49,3,1874],t:7,e:"div",a:{"class":"itemLabel"},f:["Target Identity:"]}," ",{p:[52,3,1930],t:7,e:"div",a:{"class":"itemContent"},f:[{p:[53,2,1958],t:7,e:"ui-button",a:{icon:"eject",action:"PRG_eject",params:'{"target" : "id"}'},f:[{t:2,r:"data.id_name",p:[53,72,2028]}]}]}]}," ",{p:[56,1,2076],t:7,e:"div",a:{"class":"item"},f:[{p:[57,3,2098],t:7,e:"div",a:{"class":"itemLabel"},f:["Auth Identity:"]}," ",{p:[60,3,2152],t:7,e:"div",a:{"class":"itemContent"},f:[{p:[61,2,2180],t:7,e:"ui-button",a:{icon:"eject",action:"PRG_eject",params:'{"target" : "auth"}'},f:[{t:2,r:"data.auth_name",p:[61,74,2252]}]}]}]}," ",{p:[64,1,2302],t:7,e:"hr"}," ",{t:4,f:[{t:4,f:[{p:[68,2,2362],t:7,e:"div",a:{"class":"item"},f:[{p:[69,4,2385],t:7,e:"h2",f:["Details"]}]}," ",{t:4,f:[{p:[73,2,2436],t:7,e:"div",a:{"class":"item"},f:[{p:[74,4,2459],t:7,e:"div",a:{"class":"itemLabel"},f:["Registered Name:"]}," ",{p:[77,4,2518],t:7,e:"div",a:{"class":"itemContent"},f:[{t:2,r:"data.id_owner",p:[78,3,2547]}]}]}," ",{p:[81,2,2587],t:7,e:"div",a:{"class":"item"},f:[{p:[82,4,2610],t:7,e:"div",a:{"class":"itemLabel"},f:["Rank:"]}," ",{p:[85,4,2658],t:7,e:"div",a:{"class":"itemContent"},f:[{t:2,r:"data.id_rank",p:[86,3,2687]}]}]}," ",{p:[89,2,2726],t:7,e:"div",a:{"class":"item"},f:[{p:[90,4,2749],t:7,e:"div",a:{"class":"itemLabel"},f:["Demote:"]}," ",{p:[93,4,2799],t:7,e:"div",a:{"class":"itemContent"},f:[{p:[94,3,2828],t:7,e:"ui-button",a:{action:"PRG_terminate",icon:"gear",state:[{t:2,x:{r:["data.id_rank"],s:'_0=="Unassigned"?"disabled":null'},p:[94,56,2881]}]},f:["Demote ",{t:2,r:"data.id_owner",p:[94,117,2942]}]}]}]}],n:50,r:"data.minor",p:[72,2,2415]},{t:4,n:51,f:[{p:[99,2,3007],t:7,e:"div",a:{"class":"item"},f:[{p:[100,4,3030],t:7,e:"div",a:{"class":"itemLabel"},f:["Registered Name:"]}," ",{p:[103,4,3089],t:7,e:"div",a:{"class":"itemContent"},f:[{p:[104,3,3118],t:7,e:"ui-button",a:{action:"PRG_edit",icon:"pencil",params:'{"name" : "1"}'},f:[{t:2,r:"data.id_owner",p:[104,70,3185]}]}]}]}," ",{p:[108,2,3239],t:7,e:"div",a:{"class":"item"},f:[{p:[109,4,3262],t:7,e:"h2",f:["Assignment"]}]}," ",{p:[111,3,3294],t:7,e:"ui-button",a:{action:"PRG_togglea",icon:"gear"},f:[{t:2,x:{r:["data.assignments"],s:'_0?"Hide assignments":"Show assignments"'},p:[111,47,3338]}]}," ",{p:[112,2,3415],t:7,e:"div",a:{"class":"item"},f:[{p:[113,4,3438],t:7,e:"span",a:{id:"allvalue.jobsslot"},f:[]}]}," ",{p:[117,2,3495],t:7,e:"div",a:{"class":"item"},f:[{t:4,f:[{p:[119,4,3547],t:7,e:"div",a:{id:"all-value.jobs"},f:[{p:[120,3,3576],t:7,e:"table",f:[{p:[121,5,3589],t:7,e:"tr",f:[{p:[122,4,3598],t:7,e:"th",f:["Command"]}," ",{p:[123,4,3619],t:7,e:"td",f:[{p:[124,6,3630],t:7,e:"ui-button",a:{action:"PRG_assign",params:'{"assign_target" : "Captain"}',state:[{t:2,x:{r:["data.id_rank"],s:'_0=="Captain"?"selected":null'},p:[124,83,3707]}]},f:["Captain"]}]}]}," ",{p:[127,5,3804],t:7,e:"tr",f:[{p:[128,4,3813],t:7,e:"th",f:["Special"]}," ",{p:[129,4,3834],t:7,e:"td",f:[{p:[130,6,3845],t:7,e:"ui-button",a:{action:"PRG_assign",params:'{"assign_target" : "Custom"}'},f:["Custom"]}]}]}," ",{p:[133,5,3959],t:7,e:"tr",f:[{p:[134,4,3968],t:7,e:"th",a:{style:"color: '#FFA500';"},f:["Engineering"]}," ",{p:[135,4,4019],t:7,e:"td",f:[{t:4,f:[{p:[137,5,4067],t:7,e:"ui-button",a:{action:"PRG_assign",params:['{"assign_target" : "',{t:2,r:"job",p:[137,64,4126]},'"}'],state:[{t:2,x:{r:["data.id_rank","job"],s:'_0==_1?"selected":null'},p:[137,82,4144]}]},f:[{t:2,r:"display_name",p:[137,127,4189]}]}],n:52,r:"data.engineering_jobs",p:[136,6,4030]}]}]}," ",{p:[141,5,4260],t:7,e:"tr",f:[{p:[142,4,4269],t:7,e:"th",a:{style:"color: '#008000';"},f:["Medical"]}," ",{p:[143,4,4316],t:7,e:"td",f:[{t:4,f:[{p:[145,5,4360],t:7,e:"ui-button",a:{action:"PRG_assign",params:['{"assign_target" : "',{t:2,r:"job",p:[145,64,4419]},'"}'],state:[{t:2,x:{r:["data.id_rank","job"],s:'_0==_1?"selected":null'},p:[145,82,4437]}]},f:[{t:2,r:"display_name",p:[145,127,4482]}]}],n:52,r:"data.medical_jobs",p:[144,6,4327]}]}]}," ",{p:[149,5,4553],t:7,e:"tr",f:[{p:[150,4,4562],t:7,e:"th",a:{style:"color: '#800080';"},f:["Science"]}," ",{p:[151,4,4609],t:7,e:"td",f:[{t:4,f:[{p:[153,5,4653],t:7,e:"ui-button",a:{action:"PRG_assign",params:['{"assign_target" : "',{t:2,r:"job",p:[153,64,4712]},'"}'],state:[{t:2,x:{r:["data.id_rank","job"],s:'_0==_1?"selected":null'},p:[153,82,4730]}]},f:[{t:2,r:"display_name",p:[153,127,4775]}]}],n:52,r:"data.science_jobs",p:[152,6,4620]}]}]}," ",{p:[157,5,4846],t:7,e:"tr",f:[{p:[158,4,4855],t:7,e:"th",a:{style:"color: '#DD0000';"},f:["Security"]}," ",{p:[159,4,4903],t:7,e:"td",f:[{t:4,f:[{p:[161,5,4948],t:7,e:"ui-button",a:{action:"PRG_assign",params:['{"assign_target" : "',{t:2,r:"job",p:[161,64,5007]},'"}'],state:[{t:2,x:{r:["data.id_rank","job"],s:'_0==_1?"selected":null'},p:[161,82,5025]}]},f:[{t:2,r:"display_name",p:[161,127,5070]}]}],n:52,r:"data.security_jobs",p:[160,6,4914]}]}]}," ",{p:[165,5,5141],t:7,e:"tr",f:[{p:[166,4,5150],t:7,e:"th",a:{style:"color: '#cc6600';" --},f:["Cargo"]}," ",{p:[167,4,5195],t:7,e:"td",f:[{t:4,f:[{p:[169,5,5237],t:7,e:"ui-button",a:{action:"PRG_assign",params:['{"assign_target" : "',{t:2,r:"job",p:[169,64,5296]},'"}'],state:[{t:2,x:{r:["data.id_rank","job"],s:'_0==_1?"selected":null'},p:[169,82,5314]}]},f:[{t:2,r:"display_name",p:[169,127,5359]}]}],n:52,r:"data.cargo_jobs",p:[168,6,5206]}]}]}," ",{p:[173,5,5430],t:7,e:"tr",f:[{p:[174,4,5439],t:7,e:"th",a:{style:"color: '#808080';"},f:["Civilian"]}," ",{p:[175,4,5487],t:7,e:"td",f:[{t:4,f:[{p:[177,5,5532],t:7,e:"ui-button",a:{action:"PRG_assign",params:['{"assign_target" : "',{t:2,r:"job",p:[177,64,5591]},'"}'],state:[{t:2,x:{r:["data.id_rank","job"],s:'_0==_1?"selected":null'},p:[177,82,5609]}]},f:[{t:2,r:"display_name",p:[177,127,5654]}]}],n:52,r:"data.civilian_jobs",p:[176,6,5498]}]}]}," ",{t:4,f:[{p:[182,4,5757],t:7,e:"tr",f:[{p:[183,6,5768],t:7,e:"th",a:{style:"color: '#A52A2A';"},f:["Centcom"]}," ",{p:[184,6,5817],t:7,e:"td",f:[{t:4,f:[{p:[186,7,5862],t:7,e:"ui-button",a:{action:"PRG_assign",params:['{"assign_target" : "',{t:2,r:"job",p:[186,66,5921]},'"}'],state:[{t:2,x:{r:["data.id_rank","job"],s:'_0==_1?"selected":null'},p:[186,84,5939]}]},f:[{t:2,r:"display_name",p:[186,129,5984]}]}],n:52,r:"data.centcom_jobs",p:[185,5,5827]}]}]}],n:50,r:"data.centcom_access",p:[181,5,5725]}]}]}],n:50,r:"data.assignments",p:[118,4,3518]}]}],r:"data.minor"}," ",{t:4,f:[{p:[198,4,6153],t:7,e:"div",a:{"class":"item"},f:[{p:[199,3,6175],t:7,e:"h2",f:["Central Command"]}]}," ",{p:[201,4,6215],t:7,e:"div",a:{"class":"item",style:"width: 100%"},f:[{t:4,f:[{p:[203,5,6296],t:7,e:"div",a:{"class":"itemContentWide"},f:[{p:[204,5,6331],t:7,e:"ui-button",a:{action:"PRG_access",params:['{"access_target" : "',{t:2,r:"ref",p:[204,64,6390]},'", "allowed" : "',{t:2,r:"allowed",p:[204,87,6413]},'"}'],state:[{t:2,x:{r:["allowed"],s:'_0?"toggle":null'},p:[204,109,6435]}]},f:[{t:2,r:"desc",p:[204,140,6466]}]}]}],n:52,r:"data.all_centcom_access",p:[202,3,6257]}]}],n:50,r:"data.centcom_access",p:[197,2,6121]},{t:4,n:51,f:[{p:[209,4,6538],t:7,e:"div",a:{"class":"item"},f:[{p:[210,3,6560],t:7,e:"h2",f:[{t:2,r:"data.station_name",p:[210,7,6564]}]}]}," ",{p:[212,4,6606],t:7,e:"div",a:{"class":"item",style:"width: 100%"},f:[{t:4,f:[{p:[214,5,6676],t:7,e:"div",a:{style:"float: left; width: 175px; min-height: 250px"},f:[{p:[215,4,6739],t:7,e:"div",a:{"class":"average"},f:[{p:[215,25,6760],t:7,e:"ui-button",a:{action:"PRG_regsel",state:[{t:2,x:{r:["selected"],s:'_0?"toggle":null'},p:[215,63,6798]}],params:['{"region" : "',{t:2,r:"regid",p:[215,116,6851]},'"}']},f:[{p:[215,129,6864],t:7,e:"b",f:[{t:2,r:"name",p:[215,132,6867]}]}]}]}," ",{p:[216,4,6902],t:7,e:"br"}," ",{t:4,f:[{p:[218,6,6938],t:7,e:"div",a:{"class":"itemContentWide"},f:[{p:[219,5,6973],t:7,e:"ui-button",a:{action:"PRG_access",params:['{"access_target" : "',{t:2,r:"ref",p:[219,64,7032]},'", "allowed" : "',{t:2,r:"allowed",p:[219,87,7055]},'"}'],state:[{t:2,x:{r:["allowed"],s:'_0?"toggle":null'},p:[219,109,7077]}]},f:[{t:2,r:"desc",p:[219,140,7108]}]}]}],n:52,r:"accesses",p:[217,6,6913]}]}],n:52,r:"data.regions",p:[213,3,6648]}]}],r:"data.centcom_access"}],n:50,r:"data.has_id",p:[67,3,2340]}],n:50,r:"data.authenticated",p:[66,1,2310]}]}],x:{r:["data.mmode"],s:"!_0"}}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(280)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{205:205,280:280}],268:[function(t,e,n){var a=t(205),r={exports:{}};!function(t){"use strict";t.exports={data:{chargeState:function(t){var e=this.get("data.battery.max");return t>e/2?"good":t>e/4?"average":"bad"}}}}(r),r.exports.template={v:3,t:[" "," ",{p:[15,1,311],t:7,e:"ntosheader"}," ",{p:[17,1,328],t:7,e:"ui-display",f:[{p:[18,2,343],t:7,e:"i",f:["Welcome to computer configuration utility. Please consult your system administrator if you have any questions about your device."]},{p:[18,137,478],t:7,e:"hr"}," ",{p:[19,2,485],t:7,e:"ui-display",a:{title:"Power Supply"},f:[{p:[20,3,522],t:7,e:"ui-section",a:{label:"Power Usage"},f:[{t:2,r:"data.power_usage",p:[21,4,559]},"W"]}," ",{t:4,f:[{p:[25,4,630],t:7,e:"ui-section",a:{label:"Battery Status"},f:["Active"]}," ",{p:[28,4,701],t:7,e:"ui-section",a:{label:"Battery Rating"},f:[{t:2,r:"data.battery.max",p:[29,5,742]}]}," ",{p:[31,4,785],t:7,e:"ui-section",a:{label:"Battery Charge"},f:[{p:[32,5,826],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"adata.battery.max",p:[32,26,847]}],value:[{t:2,r:"adata.battery.charge",p:[32,56,877]}],state:[{t:2,x:{r:["chargeState","adata.battery.charge"],s:"_0(_1)"},p:[32,89,910]}]},f:[{t:2,x:{r:["adata.battery.charge"],s:"Math.round(_0)"},p:[32,128,949]},"/",{t:2,r:"adata.battery.max",p:[32,165,986]}]}]}],n:50,r:"data.battery",p:[24,3,605]},{t:4,n:51,f:[{p:[35,4,1051],t:7,e:"ui-section",a:{label:"Battery Status"},f:["Not Available"]}],r:"data.battery"}]}," ",{p:[41,2,1156],t:7,e:"ui-display",a:{title:"File System"},f:[{p:[42,3,1192],t:7,e:"ui-section",a:{label:"Used Capacity"},f:[{p:[43,4,1231],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"adata.disk_size",p:[43,25,1252]}],value:[{t:2,r:"adata.disk_used",p:[43,53,1280]}],state:"good"},f:[{t:2,x:{r:["adata.disk_used"],s:"Math.round(_0)"},p:[43,87,1314]},"GQ / ",{t:2,r:"adata.disk_size",p:[43,123,1350]},"GQ"]}]}]}," ",{p:[47,2,1419],t:7,e:"ui-display",a:{title:"Computer Components"},f:[{t:4,f:[{p:[49,4,1491],t:7,e:"ui-subdisplay",a:{title:[{t:2,r:"name",p:[49,26,1513]}]},f:[{p:[50,5,1529],t:7,e:"div",a:{style:"display: table-caption; margin-left: 3px"},f:[{t:2,r:"desc",p:[50,59,1583]}]}," ",{p:[52,5,1605],t:7,e:"ui-section",a:{label:"State"},f:[{p:[53,6,1638],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["critical"],s:'_0?"disabled":null'},p:[53,24,1656]}],action:"PC_toggle_component",params:['{"name": "',{t:2,r:"name",p:[53,105,1737]},'"}']},f:[{t:2,x:{r:["enabled"],s:'_0?"Enabled":"Disabled"'},p:[54,7,1757]}]}]}," ",{t:4,f:[{p:[59,6,1868],t:7,e:"ui-section",a:{label:"Power Usage"},f:[{t:2,r:"powerusage",p:[60,7,1908]},"W"]}],n:50,r:"powerusage",p:[58,5,1843]}]}," ",{p:[64,4,1985],t:7,e:"br"}],n:52,r:"data.hardware",p:[48,3,1463]}]}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(280)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{205:205,280:280}],269:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[" ",{p:[2,1,47],t:7,e:"ntosheader"}," ",{p:[4,1,64],t:7,e:"ui-display",f:[{t:4,f:[{p:[7,3,103],t:7,e:"h2",f:["An error has occurred and this program can not continue."]}," Additional information: ",{t:2,r:"data.error",p:[8,27,196]},{p:[8,41,210],t:7,e:"br"}," ",{p:[9,3,218],t:7,e:"i",f:["Please try again. If the problem persists contact your system administrator for assistance."]}," ",{p:[10,3,320],t:7,e:"ui-button",a:{action:"PRG_closefile"},f:["Restart program"]}],n:50,r:"data.error",p:[6,2,81]},{t:4,n:51,f:[{t:4,f:[{p:[13,4,422],t:7,e:"h2",f:["Viewing file ",{t:2,r:"data.filename",p:[13,21,439]}]}," ",{p:[14,4,466],t:7,e:"div",a:{"class":"item"},f:[{p:[15,4,489],t:7,e:"ui-button",a:{action:"PRG_closefile"},f:["CLOSE"]}," ",{p:[16,4,545],t:7,e:"ui-button",a:{action:"PRG_edit"},f:["EDIT"]}," ",{p:[17,4,595],t:7,e:"ui-button",a:{action:"PRG_printfile"},f:["PRINT"]}," "]},{p:[18,10,657],t:7,e:"hr"}," ",{t:3,r:"data.filedata",p:[19,4,666]}],n:50,r:"data.filename",p:[12,3,396]},{t:4,n:51,f:[{p:[21,4,702],t:7,e:"h2",f:["Available files (local):"]}," ",{p:[22,4,740],t:7,e:"table",f:[{p:[23,5,753],t:7,e:"tr",f:[{p:[24,6,764],t:7,e:"th",f:["File name"]}," ",{p:[25,6,789],t:7,e:"th",f:["File type"]}," ",{p:[26,6,814],t:7,e:"th",f:["File size (GQ)"]}," ",{p:[27,6,844],t:7,e:"th",f:["Operations"]}]}," ",{t:4,f:[{p:[30,6,907],t:7,e:"tr",f:[{p:[31,7,919],t:7,e:"td",f:[{t:2,r:"name",p:[31,11,923]}]}," ",{p:[32,7,944],t:7,e:"td",f:[".",{t:2,r:"type",p:[32,12,949]}]}," ",{p:[33,7,970],t:7,e:"td",f:[{t:2,r:"size",p:[33,11,974]},"GQ"]}," ",{p:[34,7,997],t:7,e:"td",f:[{p:[35,8,1010],t:7,e:"ui-button",a:{action:"PRG_openfile",params:['{"name": "',{t:2,r:"name",p:[35,59,1061]},'"}']},f:["VIEW"]}," ",{p:[36,8,1098],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["undeletable"],s:'_0?"disabled":null'},p:[36,26,1116]}],action:"PRG_deletefile",params:['{"name": "',{t:2,r:"name",p:[36,105,1195]},'"}']},f:["DELETE"]}," ",{p:[37,8,1234],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["undeletable"],s:'_0?"disabled":null'},p:[37,26,1252]}],action:"PRG_rename",params:['{"name": "',{t:2,r:"name",p:[37,101,1327]},'"}']},f:["RENAME"]}," ",{p:[38,8,1366],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["undeletable"],s:'_0?"disabled":null'},p:[38,26,1384]}],action:"PRG_clone",params:['{"name": "',{t:2,r:"name",p:[38,100,1458]},'"}']},f:["CLONE"]}," ",{t:4,f:[{p:[40,9,1531],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["undeletable"],s:'_0?"disabled":null'},p:[40,27,1549]}],action:"PRG_copytousb",params:['{"name": "',{t:2,r:"name",p:[40,105,1627]},'"}']},f:["EXPORT"]}],n:50,r:"data.usbconnected",p:[39,8,1496]}]}]}],n:52,r:"data.files",p:[29,5,880]}]}," ",{t:4,f:[{p:[47,4,1761],t:7,e:"h2",f:["Available files (portable device):"]}," ",{p:[48,4,1809],t:7,e:"table",f:[{p:[49,5,1822],t:7,e:"tr",f:[{p:[50,6,1833],t:7,e:"th",f:["File name"]}," ",{p:[51,6,1858],t:7,e:"th",f:["File type"]}," ",{p:[52,6,1883],t:7,e:"th",f:["File size (GQ)"]}," ",{p:[53,6,1913],t:7,e:"th",f:["Operations"]}]}," ",{t:4,f:[{p:[56,6,1979],t:7,e:"tr",f:[{p:[57,7,1991],t:7,e:"td",f:[{t:2,r:"name",p:[57,11,1995]}]}," ",{p:[58,7,2016],t:7,e:"td",f:[".",{t:2,r:"type",p:[58,12,2021]}]}," ",{p:[59,7,2042],t:7,e:"td",f:[{t:2,r:"size",p:[59,11,2046]},"GQ"]}," ",{p:[60,7,2069],t:7,e:"td",f:[{p:[61,8,2082],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["undeletable"],s:'_0?"disabled":null'},p:[61,26,2100]}],action:"PRG_usbdeletefile",params:['{"name": "',{t:2,r:"name",p:[61,108,2182]},'"}']},f:["DELETE"]}," ",{t:4,f:[{p:[63,9,2256],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["undeletable"],s:'_0?"disabled":null'},p:[63,27,2274]}],action:"PRG_copyfromusb",params:['{"name": "',{t:2,r:"name",p:[63,107,2354]},'"}']},f:["IMPORT"]}],n:50,r:"data.usbconnected",p:[62,8,2221]}]}]}],n:52,r:"data.usbfiles",p:[55,5,1949]}]}],n:50,r:"data.usbconnected",p:[46,4,1731]}," ",{p:[70,4,2470],t:7,e:"ui-button",a:{action:"PRG_newtextfile"},f:["NEW DATA FILE"]}],r:"data.filename"}],r:"data.error"}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(280)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{205:205,280:280}],270:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[" ",{p:[2,1,47],t:7,e:"ntosheader"}," ",{p:[4,1,64],t:7,e:"ui-display",f:[{p:[5,2,79],t:7,e:"i",f:["No program loaded. Please select program from list below."]}," ",{p:[6,2,146],t:7,e:"table",f:[{t:4,f:[{p:[8,4,185],t:7,e:"tr",f:[{p:[8,8,189],t:7,e:"td",f:[{p:[8,12,193],t:7,e:"ui-button",a:{action:"PC_runprogram",params:['{"name": "',{t:2,r:"name",p:[8,64,245]},'"}']},f:[{t:2,r:"desc",p:[9,5,263]}]}]},{p:[11,4,293],t:7,e:"td",f:[{p:[11,8,297],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["running"],s:'_0?null:"disabled"'},p:[11,26,315]}],icon:"close",action:"PC_killprogram",params:['{"name": "',{t:2,r:"name",p:[11,114,403]},'"}']}}]}]}],n:52,r:"data.programs",p:[7,3,157]}]}," ",{p:[14,2,454],t:7,e:"br"},{p:[14,6,458],t:7,e:"br"}," ",{t:4,f:[{p:[16,3,491],t:7,e:"ui-button",a:{action:"PC_toggle_light",style:[{t:2,x:{r:["data.light_on"],s:'_0?"selected":null'},p:[16,46,534]}]},f:["Toggle Flashlight"]},{p:[16,114,602],t:7,e:"br"}," ",{p:[17,3,610],t:7,e:"ui-button",a:{action:"PC_light_color"},f:["Change Flashlight Color ",{p:[17,62,669],t:7,e:"span",a:{style:["border:1px solid #161616; background-color: ",{t:2,r:"data.comp_light_color",p:[17,119,726]},";"]},f:["   "]}]}],n:50,r:"data.has_light",p:[15,2,465]}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(280)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{205:205,280:280}],271:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[" ",{p:[2,1,47],t:7,e:"ntosheader"}," ",{p:[4,1,64],t:7,e:"ui-display",f:[{t:4,f:[{p:[6,3,105],t:7,e:"h1",f:["ADMINISTRATIVE MODE"]}],n:50,r:"data.adminmode",p:[5,2,79]}," ",{t:4,f:[{p:[10,3,170],t:7,e:"div",a:{"class":"itemLabel"},f:["Current channel:"]}," ",{p:[13,3,229],t:7,e:"div",a:{"class":"itemContent"},f:[{t:2,r:"data.title",p:[14,4,259]}]}," ",{p:[16,3,287],t:7,e:"div",a:{"class":"itemLabel"},f:["Operator access:"]}," ",{p:[19,3,346],t:7,e:"div",a:{"class":"itemContent"},f:[{t:4,f:[{p:[21,5,406],t:7,e:"b",f:["Enabled"]}],n:50,r:"data.is_operator",p:[20,4,376]},{t:4,n:51,f:[{p:[23,5,439],t:7,e:"b",f:["Disabled"]}],r:"data.is_operator"}]}," ",{p:[26,3,480],t:7,e:"div",a:{"class":"itemLabel"},f:["Controls:"]}," ",{p:[29,3,532],t:7,e:"div",a:{"class":"itemContent"},f:[{p:[30,4,562],t:7,e:"table",f:[{p:[31,5,575],t:7,e:"tr",f:[{p:[31,9,579],t:7,e:"td",f:[{p:[31,13,583],t:7,e:"ui-button",a:{action:"PRG_speak"},f:["Send message"]}]}]},{p:[32,5,643],t:7,e:"tr",f:[{p:[32,9,647],t:7,e:"td",f:[{p:[32,13,651],t:7,e:"ui-button",a:{action:"PRG_changename"},f:["Change nickname"]}]}]},{p:[33,5,719],t:7,e:"tr",f:[{p:[33,9,723],t:7,e:"td",f:[{p:[33,13,727],t:7,e:"ui-button",a:{action:"PRG_toggleadmin"},f:["Toggle administration mode"]}]}]},{p:[34,5,807],t:7,e:"tr",f:[{p:[34,9,811],t:7,e:"td",f:[{p:[34,13,815],t:7,e:"ui-button",a:{action:"PRG_leavechannel"},f:["Leave channel"]}]}]},{p:[35,5,883],t:7,e:"tr",f:[{p:[35,9,887],t:7,e:"td",f:[{p:[35,13,891],t:7,e:"ui-button",a:{action:"PRG_savelog"},f:["Save log to local drive"]}," ",{t:4,f:[{p:[37,6,995],t:7,e:"tr",f:[{p:[37,10,999],t:7,e:"td",f:[{p:[37,14,1003],t:7,e:"ui-button",a:{action:"PRG_renamechannel"},f:["Rename channel"]}]}]},{p:[38,6,1074],t:7,e:"tr",f:[{p:[38,10,1078],t:7,e:"td",f:[{p:[38,14,1082],t:7,e:"ui-button",a:{action:"PRG_setpassword"},f:["Set password"]}]}]},{p:[39,6,1149],t:7,e:"tr",f:[{p:[39,10,1153],t:7,e:"td",f:[{p:[39,14,1157],t:7,e:"ui-button",a:{action:"PRG_deletechannel"},f:["Delete channel"]}]}]}],n:50,r:"data.is_operator",p:[36,5,964]}]}]}]}]}," ",{p:[43,3,1263],t:7,e:"b",f:["Chat Window"]}," ",{p:[44,4,1286],t:7,e:"div",a:{"class":"statusDisplay",style:"overflow: auto;"},f:[{p:[45,4,1342],t:7,e:"div",a:{"class":"item"},f:[{p:[46,5,1366],t:7,e:"div",a:{"class":"itemContent",style:"width: 100%;"},f:[{t:4,f:[{t:2,r:"msg",p:[48,7,1450]},{p:[48,14,1457],t:7,e:"br"}],n:52,r:"data.messages",p:[47,6,1419]}]}]}]}," ",{p:[53,3,1516],t:7,e:"b",f:["Connected Users"]},{p:[53,25,1538],t:7,e:"br"}," ",{t:4,f:[{t:2,r:"name",p:[55,4,1573]},{p:[55,12,1581],t:7,e:"br"}],n:52,r:"data.clients",p:[54,3,1546]}],n:50,r:"data.title",p:[9,2,148]},{t:4,n:51,f:[{p:[58,3,1613],t:7,e:"b",f:["Controls:"]}," ",{p:[59,3,1633],t:7,e:"table",f:[{p:[60,4,1645],t:7,e:"tr",f:[{p:[60,8,1649],t:7,e:"td",f:[{p:[60,12,1653],t:7,e:"ui-button",a:{action:"PRG_changename"},f:["Change nickname"]}]}]},{p:[61,4,1720],t:7,e:"tr",f:[{p:[61,8,1724],t:7,e:"td",f:[{p:[61,12,1728],t:7,e:"ui-button",a:{action:"PRG_newchannel"},f:["New Channel"]}]}]},{p:[62,4,1791],t:7,e:"tr",f:[{p:[62,8,1795],t:7,e:"td",f:[{p:[62,12,1799],t:7,e:"ui-button",a:{action:"PRG_toggleadmin"},f:["Toggle administration mode"]}]}]}]}," ",{p:[64,3,1889],t:7,e:"b",f:["Available channels:"]}," ",{p:[65,3,1919],t:7,e:"table",f:[{t:4,f:[{p:[67,4,1964],t:7,e:"tr",f:[{p:[67,8,1968],t:7,e:"td",f:[{p:[67,12,1972],t:7,e:"ui-button",a:{action:"PRG_joinchannel",params:['{"id": "',{t:2,r:"id",p:[67,64,2024]},'"}']},f:[{t:2,r:"chan",p:[67,74,2034]}]},{p:[67,94,2054],t:7,e:"br"}]}]}],n:52,r:"data.all_channels",p:[66,3,1930]}]}],r:"data.title"}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(280)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{205:205,280:280}],272:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[" ",{p:[2,1,47],t:7,e:"ntosheader"}," ",{p:[4,1,64],t:7,e:"ui-display",f:[{t:4,f:["##SYSTEM ERROR: ",{t:2,r:"data.error",p:[6,19,117]},{p:[6,33,131],t:7,e:"ui-button",a:{action:"PRG_reset"},f:["RESET"]}],n:50,r:"data.error",p:[5,2,79]},{t:4,n:51,f:[{t:4,n:50,x:{r:["data.target"],s:"_0"},f:["##DoS traffic generator active. Tx: ",{t:2,r:"data.speed",p:[8,39,243]},"GQ/s",{p:[8,57,261],t:7,e:"br"}," ",{t:4,f:[{t:2,r:"nums",p:[10,4,300]},{p:[10,12,308],t:7,e:"br"}],n:52,r:"data.dos_strings",p:[9,3,269]}," ",{p:[12,3,329],t:7,e:"ui-button",a:{action:"PRG_reset"},f:["ABORT"]}]},{t:4,n:50,x:{r:["data.target"],s:"!(_0)"},f:[" ##DoS traffic generator ready. Select target device.",{p:[14,55,443],t:7,e:"br"}," ",{t:4,f:["Targeted device ID: ",{t:2,r:"data.focus",p:[16,24,494]}],n:50,r:"data.focus",p:[15,3,451]},{t:4,n:51,f:["Targeted device ID: None"],r:"data.focus"}," ",{p:[20,3,564],t:7,e:"ui-button",a:{action:"PRG_execute"},f:["EXECUTE"]},{p:[20,54,615],t:7,e:"div",a:{style:"clear:both"}}," Detected devices on network:",{p:[21,31,677],t:7,e:"br"}," ",{t:4,f:[{p:[23,4,711],t:7,e:"ui-button",a:{action:"PRG_target_relay",params:['{"targid": "',{t:2,r:"id",p:[23,61,768]},'"}']},f:[{t:2,r:"id",p:[23,71,778]}]}],n:52,r:"data.relays",p:[22,3,685]}]}],r:"data.error"}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(280)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{205:205,280:280}],273:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[" ",{p:[2,1,47],t:7,e:"ntosheader"}," ",{p:[4,1,64],t:7,e:"ui-display",f:[{p:[5,2,79],t:7,e:"i",f:["Welcome to software download utility. Please select which software you wish to download."]},{p:[5,97,174],t:7,e:"hr"}," ",{t:4,f:[{p:[7,3,203],t:7,e:"ui-display",a:{title:"Download Error"},f:[{p:[8,4,243],t:7,e:"ui-section",a:{label:"Information"},f:[{t:2,r:"data.error",p:[9,5,281]}]}," ",{p:[11,4,318],t:7,e:"ui-section",a:{label:"Reset Program"},f:[{p:[12,5,358],t:7,e:"ui-button",a:{icon:"times",action:"PRG_reseterror"},f:["RESET"]}]}]}],n:50,r:"data.error",p:[6,2,181]},{t:4,n:51,f:[{t:4,f:[{p:[19,4,516],t:7,e:"ui-display",a:{title:"Download Running"},f:[{p:[20,5,559],t:7,e:"i",f:["Please wait..."]}," ",{p:[21,5,586],t:7,e:"ui-section",a:{label:"File name"},f:[{t:2,r:"data.downloadname",p:[22,6,623]}]}," ",{p:[24,5,669],t:7,e:"ui-section",a:{label:"File description"},f:[{t:2,r:"data.downloaddesc",p:[25,6,713]}]}," ",{p:[27,5,759],t:7,e:"ui-section",a:{label:"File size"},f:[{t:2,r:"data.downloadsize",p:[28,6,796]},"GQ"]}," ",{p:[30,5,844],t:7,e:"ui-section",a:{label:"Transfer Rate"},f:[{t:2,r:"data.downloadspeed",p:[31,6,885]}," GQ/s"]}," ",{p:[33,5,937],t:7,e:"ui-section",a:{label:"Download progress"},f:[{p:[34,6,982],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"adata.downloadsize",p:[34,27,1003]}],value:[{t:2,r:"adata.downloadcompletion",p:[34,58,1034]}],state:"good"},f:[{t:2,x:{r:["adata.downloadcompletion"],s:"Math.round(_0)"},p:[34,101,1077]},"GQ / ",{t:2,r:"adata.downloadsize",p:[34,146,1122]},"GQ"]}]}]}],n:50,r:"data.downloadname",p:[18,3,486]}],r:"data.error"}," ",{t:4,f:[{t:4,f:[{p:[41,4,1270],t:7,e:"ui-display",a:{title:"File System"},f:[{p:[42,5,1308],t:7,e:"ui-section",a:{label:"Used Capacity"},f:[{p:[43,6,1349],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"adata.disk_size",p:[43,27,1370]}],value:[{t:2,r:"adata.disk_used",p:[43,55,1398]}],state:"good"},f:[{t:2,x:{r:["adata.disk_used"],s:"Math.round(_0)"},p:[43,89,1432]},"GQ / ",{t:2,r:"adata.disk_size",p:[43,125,1468]},"GQ"]}]}]}," ",{p:[47,4,1545],t:7,e:"ui-display",a:{title:"Primary Software Repository"},f:[{t:4,f:[{p:[49,6,1642],t:7,e:"ui-subdisplay",a:{title:[{t:2,r:"filedesc",p:[49,28,1664]}]},f:[{p:[50,7,1686],t:7,e:"div",a:{style:"display: table-caption; margin-left: 3px"},f:[{t:2,r:"fileinfo",p:[50,61,1740]}]}," ",{p:[52,7,1774],t:7,e:"ui-section",a:{label:"File name"},f:[{t:2,r:"filename",p:[53,8,1813]}," (",{t:2,r:"size",p:[53,22,1827]}," GQ)"]}," ",{p:[55,7,1868],t:7,e:"ui-section",a:{label:"Compatibility"},f:[{t:2,r:"compatibility",p:[56,8,1911]}]}," ",{p:[58,7,1957],t:7,e:"ui-button",a:{icon:"signal",action:"PRG_downloadfile",params:['{"filename": "',{t:2,r:"filename",p:[58,80,2030]},'"}']},f:["DOWNLOAD"]}]}," ",{p:[62,6,2113],t:7,e:"br"}],n:52,r:"data.downloadable_programs",p:[48,5,1599]}]}," ",{t:4,f:[{p:[67,5,2194],t:7,e:"ui-display",a:{title:"UNKNOWN Software Repository"},f:[{p:[68,6,2249],t:7,e:"i",f:["Please note that Nanotrasen does not recommend download of software from non-official servers."]}," ",{t:4,f:[{p:[70,7,2395],t:7,e:"ui-subdisplay",a:{title:[{t:2,r:"filedesc",p:[70,29,2417]}]},f:[{p:[71,8,2440],t:7,e:"div",a:{style:"display: table-caption; margin-left: 3px"},f:[{t:2,r:"fileinfo",p:[71,62,2494]}]}," ",{p:[73,8,2530],t:7,e:"ui-section",a:{label:"File name"},f:[{t:2,r:"filename",p:[74,9,2570]}," (",{t:2,r:"size",p:[74,23,2584]}," GQ)"]}," ",{p:[76,8,2627],t:7,e:"ui-section",a:{label:"Compatibility"},f:[{t:2,r:"compatibility",p:[77,9,2671]}]}," ",{p:[79,8,2719],t:7,e:"ui-button",a:{icon:"signal",action:"PRG_downloadfile",params:['{"filename": "',{t:2,r:"filename",p:[79,81,2792]},'"}']},f:["DOWNLOAD"]}]}," ",{p:[83,7,2879],t:7,e:"br"}],n:52,r:"data.hacked_programs",p:[69,6,2357]}]}],n:50,r:"data.hackedavailable",p:[66,4,2160]}],n:50,x:{r:["data.error"],s:"!_0"},p:[40,3,1246]}],n:50,x:{r:["data.downloadname"],s:"!_0"},p:[39,2,1216]}," ",{p:[89,2,2954],t:7,e:"br"},{p:[89,6,2958],t:7,e:"br"},{p:[89,10,2962],t:7,e:"hr"},{p:[89,14,2966],t:7,e:"i",f:["NTOS v2.0.4b Copyright Nanotrasen 2557 - 2559"]}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(280)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{205:205,280:280}],274:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[" ",{p:[2,1,47],t:7,e:"ntosheader"}," ",{p:[4,1,64],t:7,e:"ui-display",f:[{p:[6,2,81],t:7,e:"ui-display",a:{title:"WIRELESS CONNECTIVITY"},f:[{p:[8,3,129],t:7,e:"ui-section",a:{label:"Active NTNetRelays"},f:[{p:[9,4,173],t:7,e:"b",f:[{t:2,r:"data.ntnetrelays",p:[9,7,176]}]}]}," ",{t:4,f:[{p:[12,4,250],t:7,e:"ui-section",a:{label:"System status"},f:[{p:[13,6,291],t:7,e:"b",f:[{t:2,x:{r:["data.ntnetstatus"],s:'_0?"ENABLED":"DISABLED"'},p:[13,9,294]}]}]}," ",{p:[15,4,366],t:7,e:"ui-section",a:{label:"Control"},f:[{p:[17,4,401],t:7,e:"ui-button",a:{icon:"plus",action:"toggleWireless"},f:["TOGGLE"]}]}," ",{p:[21,4,500],t:7,e:"br"},{p:[21,8,504],t:7,e:"br"}," ",{p:[22,4,513],t:7,e:"i",f:["Caution - Disabling wireless transmitters when using wireless device may prevent you from re-enabling them again!"]}],n:50,r:"data.ntnetrelays",p:[11,3,221]},{t:4,n:51,f:[{p:[24,4,650],t:7,e:"br"},{p:[24,8,654],t:7,e:"p",f:["Wireless coverage unavailable, no relays are connected."]}],r:"data.ntnetrelays"}]}," ",{p:[29,2,750],t:7,e:"ui-display",a:{title:"FIREWALL CONFIGURATION"},f:[{p:[31,2,798],t:7,e:"table",f:[{p:[32,3,809],t:7,e:"tr",f:[{p:[33,4,818],t:7,e:"th",f:["PROTOCOL"]},{p:[34,4,835],t:7,e:"th",f:["STATUS"]},{p:[35,4,850],t:7,e:"th",f:["CONTROL"]}]},{p:[36,3,865],t:7,e:"tr",f:[" ",{p:[37,4,874],t:7,e:"td",f:["Software Downloads"]},{p:[38,4,901],t:7,e:"td",f:[{t:2,x:{r:["data.config_softwaredownload"],s:'_0?"ENABLED":"DISABLED"'},p:[38,8,905]}]},{p:[39,4,967],t:7,e:"td",f:[" ",{p:[39,9,972],t:7,e:"ui-button",a:{action:"toggle_function",params:'{"id": "1"}'},f:["TOGGLE"]}]}]},{p:[40,3,1051],t:7,e:"tr",f:[" ",{p:[41,4,1060],t:7,e:"td",f:["Peer to Peer Traffic"]},{p:[42,4,1089],t:7,e:"td",f:[{t:2,x:{r:["data.config_peertopeer"],s:'_0?"ENABLED":"DISABLED"'},p:[42,8,1093]}]},{p:[43,4,1149],t:7,e:"td",f:[{p:[43,8,1153],t:7,e:"ui-button",a:{action:"toggle_function",params:'{"id": "2"}'},f:["TOGGLE"]}]}]},{p:[44,3,1232],t:7,e:"tr",f:[" ",{p:[45,4,1241],t:7,e:"td",f:["Communication Systems"]},{p:[46,4,1271],t:7,e:"td",f:[{t:2,x:{r:["data.config_communication"],s:'_0?"ENABLED":"DISABLED"'},p:[46,8,1275]}]},{p:[47,4,1334],t:7,e:"td",f:[{p:[47,8,1338],t:7,e:"ui-button",a:{action:"toggle_function",params:'{"id": "3"}'},f:["TOGGLE"]}]}]},{p:[48,3,1417],t:7,e:"tr",f:[" ",{p:[49,4,1426],t:7,e:"td",f:["Remote System Control"]},{p:[50,4,1456],t:7,e:"td",f:[{t:2,x:{r:["data.config_systemcontrol"],s:'_0?"ENABLED":"DISABLED"'},p:[50,8,1460]}]},{p:[51,4,1519],t:7,e:"td",f:[{p:[51,8,1523],t:7,e:"ui-button",a:{action:"toggle_function",params:'{"id": "4"}'},f:["TOGGLE"]}]}]}]}]}," ",{p:[55,2,1630],t:7,e:"ui-display",a:{title:"SECURITY SYSTEMS"},f:[{t:4,f:[{p:[58,4,1699],t:7,e:"ui-notice",f:[{p:[59,5,1716],t:7,e:"h1",f:["NETWORK INCURSION DETECTED"]}]}," ",{p:[61,5,1774],t:7,e:"i",f:["An abnormal activity has been detected in the network. Please verify system logs for more information"]}],n:50,r:"data.idsalarm",p:[57,3,1673]}," ",{p:[64,3,1902],t:7,e:"ui-section",a:{label:"Intrusion Detection System"},f:[{p:[65,4,1954],t:7,e:"b",f:[{t:2,x:{r:["data.idsstatus"],s:'_0?"ENABLED":"DISABLED"'},p:[65,7,1957]}]}]}," ",{p:[68,3,2029],t:7,e:"ui-section",a:{label:"Maximal Log Count"},f:[{p:[69,4,2072],t:7,e:"b",f:[{t:2,r:"data.ntnetmaxlogs",p:[69,7,2075]}]}]}," ",{p:[72,3,2125],t:7,e:"ui-section",a:{label:"Controls"},f:[]}," ",{p:[74,4,2176],t:7,e:"table",f:[{p:[75,4,2188],t:7,e:"tr",f:[{p:[75,8,2192],t:7,e:"td",f:[{p:[75,12,2196],t:7,e:"ui-button",a:{action:"resetIDS"},f:["RESET IDS"]}]}]},{p:[76,4,2251],t:7,e:"tr",f:[{p:[76,8,2255],t:7,e:"td",f:[{p:[76,12,2259],t:7,e:"ui-button",a:{action:"toggleIDS"},f:["TOGGLE IDS"]}]}]},{p:[77,4,2316],t:7,e:"tr",f:[{p:[77,8,2320],t:7,e:"td",f:[{p:[77,12,2324],t:7,e:"ui-button",a:{action:"updatemaxlogs"},f:["SET LOG LIMIT"]}]}]},{p:[78,4,2388],t:7,e:"tr",f:[{p:[78,8,2392],t:7,e:"td",f:[{p:[78,12,2396],t:7,e:"ui-button",a:{action:"purgelogs"},f:["PURGE LOGS"]}]}]}]}," ",{p:[81,3,2467],t:7,e:"ui-subdisplay",a:{title:"System Logs"},f:[{p:[82,3,2506],t:7,e:"div",a:{"class":"statusDisplay",style:"overflow: auto;"},f:[{p:[83,3,2561],t:7,e:"div",a:{"class":"item"},f:[{p:[84,4,2584],t:7,e:"div",a:{"class":"itemContent",style:"width: 100%;"},f:[{t:4,f:[{t:2,r:"entry",p:[86,6,2667]},{p:[86,15,2676],t:7,e:"br"}],n:52,r:"data.ntnetlogs",p:[85,5,2636]}]}]}]}]}]}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(280)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{205:205,280:280}],275:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[" ",{p:[2,1,47],t:7,e:"ntosheader"}," ",{p:[4,1,64],t:7,e:"ui-display",f:[{t:4,f:[{p:[7,2,102],t:7,e:"div",a:{"class":"item"},f:[{p:[8,3,124],t:7,e:"h2",f:["An error has occurred during operation..."]}," ",{p:[9,3,178],t:7,e:"b",f:["Additional information:"]},{t:2,r:"data.error",p:[9,34,209]},{p:[9,48,223],t:7,e:"br"}," ",{p:[10,3,231],t:7,e:"ui-button",a:{action:"PRG_reset"},f:["Clear"]}]}],n:50,r:"data.error",p:[6,2,81]},{t:4,n:51,f:[{t:4,n:50,x:{r:["data.downloading"],s:"_0"},f:[{p:[13,3,321],t:7,e:"h2",f:["Download in progress..."]}," ",{p:[14,3,357],t:7,e:"div",a:{"class":"itemLabel"},f:["Downloaded file:"]}," ",{p:[17,3,416],t:7,e:"div",a:{"class":"itemContent"},f:[{t:2,r:"data.download_name",p:[18,4,446]}]}," ",{p:[20,3,483],t:7,e:"div",a:{"class":"itemLabel"},f:["Download progress:"]}," ",{p:[23,3,544],t:7,e:"div",a:{"class":"itemContent"},f:[{t:2,r:"data.download_progress",p:[24,4,574]}," / ",{t:2,r:"data.download_size",p:[24,33,603]}," GQ"]}," ",{p:[26,3,642],t:7,e:"div",a:{"class":"itemLabel"},f:["Transfer speed:"]}," ",{p:[29,3,700],t:7,e:"div",a:{"class":"itemContent"},f:[{t:2,r:"data.download_netspeed",p:[30,4,730]},"GQ/s"]}," ",{p:[32,3,774],t:7,e:"div",a:{"class":"itemLabel"},f:["Controls:"]}," ",{p:[35,3,826],t:7,e:"div",a:{"class":"itemContent"},f:[{p:[36,4,856],t:7,e:"ui-button",a:{action:"PRG_reset"},f:["Abort download"]}]}]},{t:4,n:50,x:{r:["data.downloading","data.uploading"],s:"(!(_0))&&(_1)"},f:[" ",{p:[39,3,954],t:7,e:"h2",f:["Server enabled"]}," ",{p:[40,3,981],t:7,e:"div",a:{"class":"itemLabel"},f:["Connected clients:"]}," ",{p:[43,3,1042],t:7,e:"div",a:{"class":"itemContent"},f:[{t:2,r:"data.upload_clients",p:[44,4,1072]}]}," ",{p:[46,3,1109],t:7,e:"div",a:{"class":"itemLabel"},f:["Provided file:"]}," ",{p:[49,3,1166],t:7,e:"div",a:{"class":"itemContent"},f:[{t:2,r:"data.upload_filename",p:[50,4,1196]}]}," ",{p:[52,3,1234],t:7,e:"div",a:{"class":"itemLabel"},f:["Server password:"]}," ",{p:[55,3,1293],t:7,e:"div",a:{"class":"itemContent"},f:[{t:4,f:["ENABLED"],n:50,r:"data.upload_haspassword",p:[56,4,1323]},{t:4,n:51,f:["DISABLED"],r:"data.upload_haspassword"}]}," ",{p:[62,3,1420],t:7,e:"div",a:{"class":"itemLabel"},f:["Commands:"]}," ",{p:[65,3,1472],t:7,e:"div",a:{"class":"itemContent"},f:[{p:[66,4,1502],t:7,e:"ui-button",a:{action:"PRG_setpassword"},f:["Set password"]}," ",{p:[67,4,1567],t:7,e:"ui-button",a:{action:"PRG_reset"},f:["Exit server"]}]}]},{t:4,n:50,x:{r:["data.downloading","data.uploading","data.upload_filelist"],s:"(!(_0))&&((!(_1))&&(_2))"},f:[" ",{p:[70,3,1668],t:7,e:"h2",f:["File transfer server ready. Select file to upload:"]}," ",{p:[71,3,1732],t:7,e:"table",f:[{p:[72,3,1743],t:7,e:"tr",f:[{p:[72,7,1747],t:7,e:"th",f:["File name"]},{p:[72,20,1760],t:7,e:"th",f:["File size"]},{p:[72,33,1773],t:7,e:"th",f:["Controls ",{t:4,f:[{p:[74,4,1824],t:7,e:"tr",f:[{p:[74,8,1828],t:7,e:"td",f:[{t:2,r:"filename",p:[74,12,1832]}]},{p:[75,4,1849],t:7,e:"td",f:[{t:2,r:"size",p:[75,8,1853]},"GQ"]},{p:[76,4,1868],t:7,e:"td",f:[{p:[76,8,1872],t:7,e:"ui-button",a:{action:"PRG_uploadfile",params:['{"id": "',{t:2,r:"uid",p:[76,59,1923]},'"}']},f:["Select"]}]}]}],n:52,r:"data.upload_filelist",p:[73,3,1789]}]}]}]}," ",{p:[79,3,1981],t:7,e:"hr"}," ",{p:[80,3,1989],t:7,e:"ui-button",a:{action:"PRG_setpassword"},f:["Set password"]}," ",{p:[81,3,2053],t:7,e:"ui-button",a:{action:"PRG_reset"},f:["Return"]}]},{t:4,n:50,x:{r:["data.downloading","data.uploading","data.upload_filelist"],s:"(!(_0))&&((!(_1))&&(!(_2)))"},f:[" ",{p:[83,3,2116],t:7,e:"h2",f:["Available files:"]}," ",{p:[84,3,2145],t:7,e:"table",a:{border:"1",style:"border-collapse: collapse"},f:[{p:[84,55,2197],t:7,e:"tr",f:[{p:[84,59,2201],t:7,e:"th",f:["Server UID"]},{p:[84,73,2215],t:7,e:"th",f:["File Name"]},{p:[84,86,2228],t:7,e:"th",f:["File Size"]},{p:[84,99,2241],t:7,e:"th",f:["Password Protection"]},{p:[84,122,2264],t:7,e:"th",f:["Operations ",{t:4,f:[{p:[86,5,2311],t:7,e:"tr",f:[{p:[86,9,2315],t:7,e:"td",f:[{t:2,r:"uid",p:[86,13,2319]}]},{p:[87,5,2332],t:7,e:"td",f:[{t:2,r:"filename",p:[87,9,2336]}]},{p:[88,5,2354],t:7,e:"td",f:[{t:2,r:"size",p:[88,9,2358]},"GQ ",{t:4,f:[{p:[90,6,2400],t:7,e:"td",f:["Enabled"]}],n:50,r:"haspassword",p:[89,5,2374]}," ",{t:4,f:[{p:[93,6,2457],t:7,e:"td",f:["Disabled"]}],n:50,x:{r:["haspassword"],s:"!_0"},p:[92,5,2430]}]},{p:[96,5,2494],t:7,e:"td",f:[{p:[96,9,2498],t:7,e:"ui-button",a:{action:"PRG_downloadfile",params:['{"id": "',{t:2,r:"uid",p:[96,62,2551]},'"}']},f:["Download"]}]}]}],n:52,r:"data.servers",p:[85,4,2283]}]}]}]}," ",{p:[99,3,2612],t:7,e:"hr"}," ",{p:[100,3,2620],t:7,e:"ui-button",a:{action:"PRG_uploadmenu"},f:["Send file"]}]}],r:"data.error"}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(280)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{205:205,280:280}],276:[function(t,e,n){var a=t(205),r={exports:{}};!function(t){"use strict";t.exports={data:{chargingState:function(t){switch(t){case 2:return"good";case 1:return"average";default:return"bad"}},chargingMode:function(t){return 2==t?"Full":1==t?"Charging":"Draining"},channelState:function(t){return t>=2?"good":"bad"},channelPower:function(t){return t>=2?"On":"Off"},channelMode:function(t){return 1==t||3==t?"Auto":"Manual"}},computed:{graphData:function(){var t=this.get("data.history");return Object.keys(t).map(function(e){return t[e].map(function(t,e){return{x:e,y:t}})})}}}}(r),r.exports.template={v:3,t:[" "," ",{p:[43,1,1082],t:7,e:"ntosheader"}," ",{p:[45,1,1099],t:7,e:"ui-display",a:{title:"Network"},f:[{t:4,f:[{p:[47,5,1157],t:7,e:"ui-linegraph",a:{points:[{t:2,r:"graphData", -+},f:["Cargo"]}," ",{p:[167,4,5195],t:7,e:"td",f:[{t:4,f:[{p:[169,5,5237],t:7,e:"ui-button",a:{action:"PRG_assign",params:['{"assign_target" : "',{t:2,r:"job",p:[169,64,5296]},'"}'],state:[{t:2,x:{r:["data.id_rank","job"],s:'_0==_1?"selected":null'},p:[169,82,5314]}]},f:[{t:2,r:"display_name",p:[169,127,5359]}]}],n:52,r:"data.cargo_jobs",p:[168,6,5206]}]}]}," ",{p:[173,5,5430],t:7,e:"tr",f:[{p:[174,4,5439],t:7,e:"th",a:{style:"color: '#808080';"},f:["Civilian"]}," ",{p:[175,4,5487],t:7,e:"td",f:[{t:4,f:[{p:[177,5,5532],t:7,e:"ui-button",a:{action:"PRG_assign",params:['{"assign_target" : "',{t:2,r:"job",p:[177,64,5591]},'"}'],state:[{t:2,x:{r:["data.id_rank","job"],s:'_0==_1?"selected":null'},p:[177,82,5609]}]},f:[{t:2,r:"display_name",p:[177,127,5654]}]}],n:52,r:"data.civilian_jobs",p:[176,6,5498]}]}]}," ",{t:4,f:[{p:[182,4,5757],t:7,e:"tr",f:[{p:[183,6,5768],t:7,e:"th",a:{style:"color: '#A52A2A';"},f:["CentCom"]}," ",{p:[184,6,5817],t:7,e:"td",f:[{t:4,f:[{p:[186,7,5862],t:7,e:"ui-button",a:{action:"PRG_assign",params:['{"assign_target" : "',{t:2,r:"job",p:[186,66,5921]},'"}'],state:[{t:2,x:{r:["data.id_rank","job"],s:'_0==_1?"selected":null'},p:[186,84,5939]}]},f:[{t:2,r:"display_name",p:[186,129,5984]}]}],n:52,r:"data.centcom_jobs",p:[185,5,5827]}]}]}],n:50,r:"data.centcom_access",p:[181,5,5725]}]}]}],n:50,r:"data.assignments",p:[118,4,3518]}]}],r:"data.minor"}," ",{t:4,f:[{p:[198,4,6153],t:7,e:"div",a:{"class":"item"},f:[{p:[199,3,6175],t:7,e:"h2",f:["Central Command"]}]}," ",{p:[201,4,6215],t:7,e:"div",a:{"class":"item",style:"width: 100%"},f:[{t:4,f:[{p:[203,5,6296],t:7,e:"div",a:{"class":"itemContentWide"},f:[{p:[204,5,6331],t:7,e:"ui-button",a:{action:"PRG_access",params:['{"access_target" : "',{t:2,r:"ref",p:[204,64,6390]},'", "allowed" : "',{t:2,r:"allowed",p:[204,87,6413]},'"}'],state:[{t:2,x:{r:["allowed"],s:'_0?"toggle":null'},p:[204,109,6435]}]},f:[{t:2,r:"desc",p:[204,140,6466]}]}]}],n:52,r:"data.all_centcom_access",p:[202,3,6257]}]}],n:50,r:"data.centcom_access",p:[197,2,6121]},{t:4,n:51,f:[{p:[209,4,6538],t:7,e:"div",a:{"class":"item"},f:[{p:[210,3,6560],t:7,e:"h2",f:[{t:2,r:"data.station_name",p:[210,7,6564]}]}]}," ",{p:[212,4,6606],t:7,e:"div",a:{"class":"item",style:"width: 100%"},f:[{t:4,f:[{p:[214,5,6676],t:7,e:"div",a:{style:"float: left; width: 175px; min-height: 250px"},f:[{p:[215,4,6739],t:7,e:"div",a:{"class":"average"},f:[{p:[215,25,6760],t:7,e:"ui-button",a:{action:"PRG_regsel",state:[{t:2,x:{r:["selected"],s:'_0?"toggle":null'},p:[215,63,6798]}],params:['{"region" : "',{t:2,r:"regid",p:[215,116,6851]},'"}']},f:[{p:[215,129,6864],t:7,e:"b",f:[{t:2,r:"name",p:[215,132,6867]}]}]}]}," ",{p:[216,4,6902],t:7,e:"br"}," ",{t:4,f:[{p:[218,6,6938],t:7,e:"div",a:{"class":"itemContentWide"},f:[{p:[219,5,6973],t:7,e:"ui-button",a:{action:"PRG_access",params:['{"access_target" : "',{t:2,r:"ref",p:[219,64,7032]},'", "allowed" : "',{t:2,r:"allowed",p:[219,87,7055]},'"}'],state:[{t:2,x:{r:["allowed"],s:'_0?"toggle":null'},p:[219,109,7077]}]},f:[{t:2,r:"desc",p:[219,140,7108]}]}]}],n:52,r:"accesses",p:[217,6,6913]}]}],n:52,r:"data.regions",p:[213,3,6648]}]}],r:"data.centcom_access"}],n:50,r:"data.has_id",p:[67,3,2340]}],n:50,r:"data.authenticated",p:[66,1,2310]}]}],x:{r:["data.mmode"],s:"!_0"}}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(280)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{205:205,280:280}],268:[function(t,e,n){var a=t(205),r={exports:{}};!function(t){"use strict";t.exports={data:{chargeState:function(t){var e=this.get("data.battery.max");return t>e/2?"good":t>e/4?"average":"bad"}}}}(r),r.exports.template={v:3,t:[" "," ",{p:[15,1,311],t:7,e:"ntosheader"}," ",{p:[17,1,328],t:7,e:"ui-display",f:[{p:[18,2,343],t:7,e:"i",f:["Welcome to computer configuration utility. Please consult your system administrator if you have any questions about your device."]},{p:[18,137,478],t:7,e:"hr"}," ",{p:[19,2,485],t:7,e:"ui-display",a:{title:"Power Supply"},f:[{p:[20,3,522],t:7,e:"ui-section",a:{label:"Power Usage"},f:[{t:2,r:"data.power_usage",p:[21,4,559]},"W"]}," ",{t:4,f:[{p:[25,4,630],t:7,e:"ui-section",a:{label:"Battery Status"},f:["Active"]}," ",{p:[28,4,701],t:7,e:"ui-section",a:{label:"Battery Rating"},f:[{t:2,r:"data.battery.max",p:[29,5,742]}]}," ",{p:[31,4,785],t:7,e:"ui-section",a:{label:"Battery Charge"},f:[{p:[32,5,826],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"adata.battery.max",p:[32,26,847]}],value:[{t:2,r:"adata.battery.charge",p:[32,56,877]}],state:[{t:2,x:{r:["chargeState","adata.battery.charge"],s:"_0(_1)"},p:[32,89,910]}]},f:[{t:2,x:{r:["adata.battery.charge"],s:"Math.round(_0)"},p:[32,128,949]},"/",{t:2,r:"adata.battery.max",p:[32,165,986]}]}]}],n:50,r:"data.battery",p:[24,3,605]},{t:4,n:51,f:[{p:[35,4,1051],t:7,e:"ui-section",a:{label:"Battery Status"},f:["Not Available"]}],r:"data.battery"}]}," ",{p:[41,2,1156],t:7,e:"ui-display",a:{title:"File System"},f:[{p:[42,3,1192],t:7,e:"ui-section",a:{label:"Used Capacity"},f:[{p:[43,4,1231],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"adata.disk_size",p:[43,25,1252]}],value:[{t:2,r:"adata.disk_used",p:[43,53,1280]}],state:"good"},f:[{t:2,x:{r:["adata.disk_used"],s:"Math.round(_0)"},p:[43,87,1314]},"GQ / ",{t:2,r:"adata.disk_size",p:[43,123,1350]},"GQ"]}]}]}," ",{p:[47,2,1419],t:7,e:"ui-display",a:{title:"Computer Components"},f:[{t:4,f:[{p:[49,4,1491],t:7,e:"ui-subdisplay",a:{title:[{t:2,r:"name",p:[49,26,1513]}]},f:[{p:[50,5,1529],t:7,e:"div",a:{style:"display: table-caption; margin-left: 3px"},f:[{t:2,r:"desc",p:[50,59,1583]}]}," ",{p:[52,5,1605],t:7,e:"ui-section",a:{label:"State"},f:[{p:[53,6,1638],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["critical"],s:'_0?"disabled":null'},p:[53,24,1656]}],action:"PC_toggle_component",params:['{"name": "',{t:2,r:"name",p:[53,105,1737]},'"}']},f:[{t:2,x:{r:["enabled"],s:'_0?"Enabled":"Disabled"'},p:[54,7,1757]}]}]}," ",{t:4,f:[{p:[59,6,1868],t:7,e:"ui-section",a:{label:"Power Usage"},f:[{t:2,r:"powerusage",p:[60,7,1908]},"W"]}],n:50,r:"powerusage",p:[58,5,1843]}]}," ",{p:[64,4,1985],t:7,e:"br"}],n:52,r:"data.hardware",p:[48,3,1463]}]}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(280)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{205:205,280:280}],269:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[" ",{p:[2,1,47],t:7,e:"ntosheader"}," ",{p:[4,1,64],t:7,e:"ui-display",f:[{t:4,f:[{p:[7,3,103],t:7,e:"h2",f:["An error has occurred and this program can not continue."]}," Additional information: ",{t:2,r:"data.error",p:[8,27,196]},{p:[8,41,210],t:7,e:"br"}," ",{p:[9,3,218],t:7,e:"i",f:["Please try again. If the problem persists contact your system administrator for assistance."]}," ",{p:[10,3,320],t:7,e:"ui-button",a:{action:"PRG_closefile"},f:["Restart program"]}],n:50,r:"data.error",p:[6,2,81]},{t:4,n:51,f:[{t:4,f:[{p:[13,4,422],t:7,e:"h2",f:["Viewing file ",{t:2,r:"data.filename",p:[13,21,439]}]}," ",{p:[14,4,466],t:7,e:"div",a:{"class":"item"},f:[{p:[15,4,489],t:7,e:"ui-button",a:{action:"PRG_closefile"},f:["CLOSE"]}," ",{p:[16,4,545],t:7,e:"ui-button",a:{action:"PRG_edit"},f:["EDIT"]}," ",{p:[17,4,595],t:7,e:"ui-button",a:{action:"PRG_printfile"},f:["PRINT"]}," "]},{p:[18,10,657],t:7,e:"hr"}," ",{t:3,r:"data.filedata",p:[19,4,666]}],n:50,r:"data.filename",p:[12,3,396]},{t:4,n:51,f:[{p:[21,4,702],t:7,e:"h2",f:["Available files (local):"]}," ",{p:[22,4,740],t:7,e:"table",f:[{p:[23,5,753],t:7,e:"tr",f:[{p:[24,6,764],t:7,e:"th",f:["File name"]}," ",{p:[25,6,789],t:7,e:"th",f:["File type"]}," ",{p:[26,6,814],t:7,e:"th",f:["File size (GQ)"]}," ",{p:[27,6,844],t:7,e:"th",f:["Operations"]}]}," ",{t:4,f:[{p:[30,6,907],t:7,e:"tr",f:[{p:[31,7,919],t:7,e:"td",f:[{t:2,r:"name",p:[31,11,923]}]}," ",{p:[32,7,944],t:7,e:"td",f:[".",{t:2,r:"type",p:[32,12,949]}]}," ",{p:[33,7,970],t:7,e:"td",f:[{t:2,r:"size",p:[33,11,974]},"GQ"]}," ",{p:[34,7,997],t:7,e:"td",f:[{p:[35,8,1010],t:7,e:"ui-button",a:{action:"PRG_openfile",params:['{"name": "',{t:2,r:"name",p:[35,59,1061]},'"}']},f:["VIEW"]}," ",{p:[36,8,1098],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["undeletable"],s:'_0?"disabled":null'},p:[36,26,1116]}],action:"PRG_deletefile",params:['{"name": "',{t:2,r:"name",p:[36,105,1195]},'"}']},f:["DELETE"]}," ",{p:[37,8,1234],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["undeletable"],s:'_0?"disabled":null'},p:[37,26,1252]}],action:"PRG_rename",params:['{"name": "',{t:2,r:"name",p:[37,101,1327]},'"}']},f:["RENAME"]}," ",{p:[38,8,1366],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["undeletable"],s:'_0?"disabled":null'},p:[38,26,1384]}],action:"PRG_clone",params:['{"name": "',{t:2,r:"name",p:[38,100,1458]},'"}']},f:["CLONE"]}," ",{t:4,f:[{p:[40,9,1531],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["undeletable"],s:'_0?"disabled":null'},p:[40,27,1549]}],action:"PRG_copytousb",params:['{"name": "',{t:2,r:"name",p:[40,105,1627]},'"}']},f:["EXPORT"]}],n:50,r:"data.usbconnected",p:[39,8,1496]}]}]}],n:52,r:"data.files",p:[29,5,880]}]}," ",{t:4,f:[{p:[47,4,1761],t:7,e:"h2",f:["Available files (portable device):"]}," ",{p:[48,4,1809],t:7,e:"table",f:[{p:[49,5,1822],t:7,e:"tr",f:[{p:[50,6,1833],t:7,e:"th",f:["File name"]}," ",{p:[51,6,1858],t:7,e:"th",f:["File type"]}," ",{p:[52,6,1883],t:7,e:"th",f:["File size (GQ)"]}," ",{p:[53,6,1913],t:7,e:"th",f:["Operations"]}]}," ",{t:4,f:[{p:[56,6,1979],t:7,e:"tr",f:[{p:[57,7,1991],t:7,e:"td",f:[{t:2,r:"name",p:[57,11,1995]}]}," ",{p:[58,7,2016],t:7,e:"td",f:[".",{t:2,r:"type",p:[58,12,2021]}]}," ",{p:[59,7,2042],t:7,e:"td",f:[{t:2,r:"size",p:[59,11,2046]},"GQ"]}," ",{p:[60,7,2069],t:7,e:"td",f:[{p:[61,8,2082],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["undeletable"],s:'_0?"disabled":null'},p:[61,26,2100]}],action:"PRG_usbdeletefile",params:['{"name": "',{t:2,r:"name",p:[61,108,2182]},'"}']},f:["DELETE"]}," ",{t:4,f:[{p:[63,9,2256],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["undeletable"],s:'_0?"disabled":null'},p:[63,27,2274]}],action:"PRG_copyfromusb",params:['{"name": "',{t:2,r:"name",p:[63,107,2354]},'"}']},f:["IMPORT"]}],n:50,r:"data.usbconnected",p:[62,8,2221]}]}]}],n:52,r:"data.usbfiles",p:[55,5,1949]}]}],n:50,r:"data.usbconnected",p:[46,4,1731]}," ",{p:[70,4,2470],t:7,e:"ui-button",a:{action:"PRG_newtextfile"},f:["NEW DATA FILE"]}],r:"data.filename"}],r:"data.error"}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(280)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{205:205,280:280}],270:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[" ",{p:[2,1,47],t:7,e:"ntosheader"}," ",{p:[4,1,64],t:7,e:"ui-display",f:[{p:[5,2,79],t:7,e:"i",f:["No program loaded. Please select program from list below."]}," ",{p:[6,2,146],t:7,e:"table",f:[{t:4,f:[{p:[8,4,185],t:7,e:"tr",f:[{p:[8,8,189],t:7,e:"td",f:[{p:[8,12,193],t:7,e:"ui-button",a:{action:"PC_runprogram",params:['{"name": "',{t:2,r:"name",p:[8,64,245]},'"}']},f:[{t:2,r:"desc",p:[9,5,263]}]}]},{p:[11,4,293],t:7,e:"td",f:[{p:[11,8,297],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["running"],s:'_0?null:"disabled"'},p:[11,26,315]}],icon:"close",action:"PC_killprogram",params:['{"name": "',{t:2,r:"name",p:[11,114,403]},'"}']}}]}]}],n:52,r:"data.programs",p:[7,3,157]}]}," ",{p:[14,2,454],t:7,e:"br"},{p:[14,6,458],t:7,e:"br"}," ",{t:4,f:[{p:[16,3,491],t:7,e:"ui-button",a:{action:"PC_toggle_light",style:[{t:2,x:{r:["data.light_on"],s:'_0?"selected":null'},p:[16,46,534]}]},f:["Toggle Flashlight"]},{p:[16,114,602],t:7,e:"br"}," ",{p:[17,3,610],t:7,e:"ui-button",a:{action:"PC_light_color"},f:["Change Flashlight Color ",{p:[17,62,669],t:7,e:"span",a:{style:["border:1px solid #161616; background-color: ",{t:2,r:"data.comp_light_color",p:[17,119,726]},";"]},f:["   "]}]}],n:50,r:"data.has_light",p:[15,2,465]}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(280)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{205:205,280:280}],271:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[" ",{p:[2,1,47],t:7,e:"ntosheader"}," ",{p:[4,1,64],t:7,e:"ui-display",f:[{t:4,f:[{p:[6,3,105],t:7,e:"h1",f:["ADMINISTRATIVE MODE"]}],n:50,r:"data.adminmode",p:[5,2,79]}," ",{t:4,f:[{p:[10,3,170],t:7,e:"div",a:{"class":"itemLabel"},f:["Current channel:"]}," ",{p:[13,3,229],t:7,e:"div",a:{"class":"itemContent"},f:[{t:2,r:"data.title",p:[14,4,259]}]}," ",{p:[16,3,287],t:7,e:"div",a:{"class":"itemLabel"},f:["Operator access:"]}," ",{p:[19,3,346],t:7,e:"div",a:{"class":"itemContent"},f:[{t:4,f:[{p:[21,5,406],t:7,e:"b",f:["Enabled"]}],n:50,r:"data.is_operator",p:[20,4,376]},{t:4,n:51,f:[{p:[23,5,439],t:7,e:"b",f:["Disabled"]}],r:"data.is_operator"}]}," ",{p:[26,3,480],t:7,e:"div",a:{"class":"itemLabel"},f:["Controls:"]}," ",{p:[29,3,532],t:7,e:"div",a:{"class":"itemContent"},f:[{p:[30,4,562],t:7,e:"table",f:[{p:[31,5,575],t:7,e:"tr",f:[{p:[31,9,579],t:7,e:"td",f:[{p:[31,13,583],t:7,e:"ui-button",a:{action:"PRG_speak"},f:["Send message"]}]}]},{p:[32,5,643],t:7,e:"tr",f:[{p:[32,9,647],t:7,e:"td",f:[{p:[32,13,651],t:7,e:"ui-button",a:{action:"PRG_changename"},f:["Change nickname"]}]}]},{p:[33,5,719],t:7,e:"tr",f:[{p:[33,9,723],t:7,e:"td",f:[{p:[33,13,727],t:7,e:"ui-button",a:{action:"PRG_toggleadmin"},f:["Toggle administration mode"]}]}]},{p:[34,5,807],t:7,e:"tr",f:[{p:[34,9,811],t:7,e:"td",f:[{p:[34,13,815],t:7,e:"ui-button",a:{action:"PRG_leavechannel"},f:["Leave channel"]}]}]},{p:[35,5,883],t:7,e:"tr",f:[{p:[35,9,887],t:7,e:"td",f:[{p:[35,13,891],t:7,e:"ui-button",a:{action:"PRG_savelog"},f:["Save log to local drive"]}," ",{t:4,f:[{p:[37,6,995],t:7,e:"tr",f:[{p:[37,10,999],t:7,e:"td",f:[{p:[37,14,1003],t:7,e:"ui-button",a:{action:"PRG_renamechannel"},f:["Rename channel"]}]}]},{p:[38,6,1074],t:7,e:"tr",f:[{p:[38,10,1078],t:7,e:"td",f:[{p:[38,14,1082],t:7,e:"ui-button",a:{action:"PRG_setpassword"},f:["Set password"]}]}]},{p:[39,6,1149],t:7,e:"tr",f:[{p:[39,10,1153],t:7,e:"td",f:[{p:[39,14,1157],t:7,e:"ui-button",a:{action:"PRG_deletechannel"},f:["Delete channel"]}]}]}],n:50,r:"data.is_operator",p:[36,5,964]}]}]}]}]}," ",{p:[43,3,1263],t:7,e:"b",f:["Chat Window"]}," ",{p:[44,4,1286],t:7,e:"div",a:{"class":"statusDisplay",style:"overflow: auto;"},f:[{p:[45,4,1342],t:7,e:"div",a:{"class":"item"},f:[{p:[46,5,1366],t:7,e:"div",a:{"class":"itemContent",style:"width: 100%;"},f:[{t:4,f:[{t:2,r:"msg",p:[48,7,1450]},{p:[48,14,1457],t:7,e:"br"}],n:52,r:"data.messages",p:[47,6,1419]}]}]}]}," ",{p:[53,3,1516],t:7,e:"b",f:["Connected Users"]},{p:[53,25,1538],t:7,e:"br"}," ",{t:4,f:[{t:2,r:"name",p:[55,4,1573]},{p:[55,12,1581],t:7,e:"br"}],n:52,r:"data.clients",p:[54,3,1546]}],n:50,r:"data.title",p:[9,2,148]},{t:4,n:51,f:[{p:[58,3,1613],t:7,e:"b",f:["Controls:"]}," ",{p:[59,3,1633],t:7,e:"table",f:[{p:[60,4,1645],t:7,e:"tr",f:[{p:[60,8,1649],t:7,e:"td",f:[{p:[60,12,1653],t:7,e:"ui-button",a:{action:"PRG_changename"},f:["Change nickname"]}]}]},{p:[61,4,1720],t:7,e:"tr",f:[{p:[61,8,1724],t:7,e:"td",f:[{p:[61,12,1728],t:7,e:"ui-button",a:{action:"PRG_newchannel"},f:["New Channel"]}]}]},{p:[62,4,1791],t:7,e:"tr",f:[{p:[62,8,1795],t:7,e:"td",f:[{p:[62,12,1799],t:7,e:"ui-button",a:{action:"PRG_toggleadmin"},f:["Toggle administration mode"]}]}]}]}," ",{p:[64,3,1889],t:7,e:"b",f:["Available channels:"]}," ",{p:[65,3,1919],t:7,e:"table",f:[{t:4,f:[{p:[67,4,1964],t:7,e:"tr",f:[{p:[67,8,1968],t:7,e:"td",f:[{p:[67,12,1972],t:7,e:"ui-button",a:{action:"PRG_joinchannel",params:['{"id": "',{t:2,r:"id",p:[67,64,2024]},'"}']},f:[{t:2,r:"chan",p:[67,74,2034]}]},{p:[67,94,2054],t:7,e:"br"}]}]}],n:52,r:"data.all_channels",p:[66,3,1930]}]}],r:"data.title"}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(280)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{205:205,280:280}],272:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[" ",{p:[2,1,47],t:7,e:"ntosheader"}," ",{p:[4,1,64],t:7,e:"ui-display",f:[{t:4,f:["##SYSTEM ERROR: ",{t:2,r:"data.error",p:[6,19,117]},{p:[6,33,131],t:7,e:"ui-button",a:{action:"PRG_reset"},f:["RESET"]}],n:50,r:"data.error",p:[5,2,79]},{t:4,n:51,f:[{t:4,n:50,x:{r:["data.target"],s:"_0"},f:["##DoS traffic generator active. Tx: ",{t:2,r:"data.speed",p:[8,39,243]},"GQ/s",{p:[8,57,261],t:7,e:"br"}," ",{t:4,f:[{t:2,r:"nums",p:[10,4,300]},{p:[10,12,308],t:7,e:"br"}],n:52,r:"data.dos_strings",p:[9,3,269]}," ",{p:[12,3,329],t:7,e:"ui-button",a:{action:"PRG_reset"},f:["ABORT"]}]},{t:4,n:50,x:{r:["data.target"],s:"!(_0)"},f:[" ##DoS traffic generator ready. Select target device.",{p:[14,55,443],t:7,e:"br"}," ",{t:4,f:["Targeted device ID: ",{t:2,r:"data.focus",p:[16,24,494]}],n:50,r:"data.focus",p:[15,3,451]},{t:4,n:51,f:["Targeted device ID: None"],r:"data.focus"}," ",{p:[20,3,564],t:7,e:"ui-button",a:{action:"PRG_execute"},f:["EXECUTE"]},{p:[20,54,615],t:7,e:"div",a:{style:"clear:both"}}," Detected devices on network:",{p:[21,31,677],t:7,e:"br"}," ",{t:4,f:[{p:[23,4,711],t:7,e:"ui-button",a:{action:"PRG_target_relay",params:['{"targid": "',{t:2,r:"id",p:[23,61,768]},'"}']},f:[{t:2,r:"id",p:[23,71,778]}]}],n:52,r:"data.relays",p:[22,3,685]}]}],r:"data.error"}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(280)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{205:205,280:280}],273:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[" ",{p:[2,1,47],t:7,e:"ntosheader"}," ",{p:[4,1,64],t:7,e:"ui-display",f:[{p:[5,2,79],t:7,e:"i",f:["Welcome to software download utility. Please select which software you wish to download."]},{p:[5,97,174],t:7,e:"hr"}," ",{t:4,f:[{p:[7,3,203],t:7,e:"ui-display",a:{title:"Download Error"},f:[{p:[8,4,243],t:7,e:"ui-section",a:{label:"Information"},f:[{t:2,r:"data.error",p:[9,5,281]}]}," ",{p:[11,4,318],t:7,e:"ui-section",a:{label:"Reset Program"},f:[{p:[12,5,358],t:7,e:"ui-button",a:{icon:"times",action:"PRG_reseterror"},f:["RESET"]}]}]}],n:50,r:"data.error",p:[6,2,181]},{t:4,n:51,f:[{t:4,f:[{p:[19,4,516],t:7,e:"ui-display",a:{title:"Download Running"},f:[{p:[20,5,559],t:7,e:"i",f:["Please wait..."]}," ",{p:[21,5,586],t:7,e:"ui-section",a:{label:"File name"},f:[{t:2,r:"data.downloadname",p:[22,6,623]}]}," ",{p:[24,5,669],t:7,e:"ui-section",a:{label:"File description"},f:[{t:2,r:"data.downloaddesc",p:[25,6,713]}]}," ",{p:[27,5,759],t:7,e:"ui-section",a:{label:"File size"},f:[{t:2,r:"data.downloadsize",p:[28,6,796]},"GQ"]}," ",{p:[30,5,844],t:7,e:"ui-section",a:{label:"Transfer Rate"},f:[{t:2,r:"data.downloadspeed",p:[31,6,885]}," GQ/s"]}," ",{p:[33,5,937],t:7,e:"ui-section",a:{label:"Download progress"},f:[{p:[34,6,982],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"adata.downloadsize",p:[34,27,1003]}],value:[{t:2,r:"adata.downloadcompletion",p:[34,58,1034]}],state:"good"},f:[{t:2,x:{r:["adata.downloadcompletion"],s:"Math.round(_0)"},p:[34,101,1077]},"GQ / ",{t:2,r:"adata.downloadsize",p:[34,146,1122]},"GQ"]}]}]}],n:50,r:"data.downloadname",p:[18,3,486]}],r:"data.error"}," ",{t:4,f:[{t:4,f:[{p:[41,4,1270],t:7,e:"ui-display",a:{title:"File System"},f:[{p:[42,5,1308],t:7,e:"ui-section",a:{label:"Used Capacity"},f:[{p:[43,6,1349],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"adata.disk_size",p:[43,27,1370]}],value:[{t:2,r:"adata.disk_used",p:[43,55,1398]}],state:"good"},f:[{t:2,x:{r:["adata.disk_used"],s:"Math.round(_0)"},p:[43,89,1432]},"GQ / ",{t:2,r:"adata.disk_size",p:[43,125,1468]},"GQ"]}]}]}," ",{p:[47,4,1545],t:7,e:"ui-display",a:{title:"Primary Software Repository"},f:[{t:4,f:[{p:[49,6,1642],t:7,e:"ui-subdisplay",a:{title:[{t:2,r:"filedesc",p:[49,28,1664]}]},f:[{p:[50,7,1686],t:7,e:"div",a:{style:"display: table-caption; margin-left: 3px"},f:[{t:2,r:"fileinfo",p:[50,61,1740]}]}," ",{p:[52,7,1774],t:7,e:"ui-section",a:{label:"File name"},f:[{t:2,r:"filename",p:[53,8,1813]}," (",{t:2,r:"size",p:[53,22,1827]}," GQ)"]}," ",{p:[55,7,1868],t:7,e:"ui-section",a:{label:"Compatibility"},f:[{t:2,r:"compatibility",p:[56,8,1911]}]}," ",{p:[58,7,1957],t:7,e:"ui-button",a:{icon:"signal",action:"PRG_downloadfile",params:['{"filename": "',{t:2,r:"filename",p:[58,80,2030]},'"}']},f:["DOWNLOAD"]}]}," ",{p:[62,6,2113],t:7,e:"br"}],n:52,r:"data.downloadable_programs",p:[48,5,1599]}]}," ",{t:4,f:[{p:[67,5,2194],t:7,e:"ui-display",a:{title:"UNKNOWN Software Repository"},f:[{p:[68,6,2249],t:7,e:"i",f:["Please note that Nanotrasen does not recommend download of software from non-official servers."]}," ",{t:4,f:[{p:[70,7,2395],t:7,e:"ui-subdisplay",a:{title:[{t:2,r:"filedesc",p:[70,29,2417]}]},f:[{p:[71,8,2440],t:7,e:"div",a:{style:"display: table-caption; margin-left: 3px"},f:[{t:2,r:"fileinfo",p:[71,62,2494]}]}," ",{p:[73,8,2530],t:7,e:"ui-section",a:{label:"File name"},f:[{t:2,r:"filename",p:[74,9,2570]}," (",{t:2,r:"size",p:[74,23,2584]}," GQ)"]}," ",{p:[76,8,2627],t:7,e:"ui-section",a:{label:"Compatibility"},f:[{t:2,r:"compatibility",p:[77,9,2671]}]}," ",{p:[79,8,2719],t:7,e:"ui-button",a:{icon:"signal",action:"PRG_downloadfile",params:['{"filename": "',{t:2,r:"filename",p:[79,81,2792]},'"}']},f:["DOWNLOAD"]}]}," ",{p:[83,7,2879],t:7,e:"br"}],n:52,r:"data.hacked_programs",p:[69,6,2357]}]}],n:50,r:"data.hackedavailable",p:[66,4,2160]}],n:50,x:{r:["data.error"],s:"!_0"},p:[40,3,1246]}],n:50,x:{r:["data.downloadname"],s:"!_0"},p:[39,2,1216]}," ",{p:[89,2,2954],t:7,e:"br"},{p:[89,6,2958],t:7,e:"br"},{p:[89,10,2962],t:7,e:"hr"},{p:[89,14,2966],t:7,e:"i",f:["NTOS v2.0.4b Copyright Nanotrasen 2557 - 2559"]}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(280)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{205:205,280:280}],274:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[" ",{p:[2,1,47],t:7,e:"ntosheader"}," ",{p:[4,1,64],t:7,e:"ui-display",f:[{p:[6,2,81],t:7,e:"ui-display",a:{title:"WIRELESS CONNECTIVITY"},f:[{p:[8,3,129],t:7,e:"ui-section",a:{label:"Active NTNetRelays"},f:[{p:[9,4,173],t:7,e:"b",f:[{t:2,r:"data.ntnetrelays",p:[9,7,176]}]}]}," ",{t:4,f:[{p:[12,4,250],t:7,e:"ui-section",a:{label:"System status"},f:[{p:[13,6,291],t:7,e:"b",f:[{t:2,x:{r:["data.ntnetstatus"],s:'_0?"ENABLED":"DISABLED"'},p:[13,9,294]}]}]}," ",{p:[15,4,366],t:7,e:"ui-section",a:{label:"Control"},f:[{p:[17,4,401],t:7,e:"ui-button",a:{icon:"plus",action:"toggleWireless"},f:["TOGGLE"]}]}," ",{p:[21,4,500],t:7,e:"br"},{p:[21,8,504],t:7,e:"br"}," ",{p:[22,4,513],t:7,e:"i",f:["Caution - Disabling wireless transmitters when using wireless device may prevent you from re-enabling them again!"]}],n:50,r:"data.ntnetrelays",p:[11,3,221]},{t:4,n:51,f:[{p:[24,4,650],t:7,e:"br"},{p:[24,8,654],t:7,e:"p",f:["Wireless coverage unavailable, no relays are connected."]}],r:"data.ntnetrelays"}]}," ",{p:[29,2,750],t:7,e:"ui-display",a:{title:"FIREWALL CONFIGURATION"},f:[{p:[31,2,798],t:7,e:"table",f:[{p:[32,3,809],t:7,e:"tr",f:[{p:[33,4,818],t:7,e:"th",f:["PROTOCOL"]},{p:[34,4,835],t:7,e:"th",f:["STATUS"]},{p:[35,4,850],t:7,e:"th",f:["CONTROL"]}]},{p:[36,3,865],t:7,e:"tr",f:[" ",{p:[37,4,874],t:7,e:"td",f:["Software Downloads"]},{p:[38,4,901],t:7,e:"td",f:[{t:2,x:{r:["data.config_softwaredownload"],s:'_0?"ENABLED":"DISABLED"'},p:[38,8,905]}]},{p:[39,4,967],t:7,e:"td",f:[" ",{p:[39,9,972],t:7,e:"ui-button",a:{action:"toggle_function",params:'{"id": "1"}'},f:["TOGGLE"]}]}]},{p:[40,3,1051],t:7,e:"tr",f:[" ",{p:[41,4,1060],t:7,e:"td",f:["Peer to Peer Traffic"]},{p:[42,4,1089],t:7,e:"td",f:[{t:2,x:{r:["data.config_peertopeer"],s:'_0?"ENABLED":"DISABLED"'},p:[42,8,1093]}]},{p:[43,4,1149],t:7,e:"td",f:[{p:[43,8,1153],t:7,e:"ui-button",a:{action:"toggle_function",params:'{"id": "2"}'},f:["TOGGLE"]}]}]},{p:[44,3,1232],t:7,e:"tr",f:[" ",{p:[45,4,1241],t:7,e:"td",f:["Communication Systems"]},{p:[46,4,1271],t:7,e:"td",f:[{t:2,x:{r:["data.config_communication"],s:'_0?"ENABLED":"DISABLED"'},p:[46,8,1275]}]},{p:[47,4,1334],t:7,e:"td",f:[{p:[47,8,1338],t:7,e:"ui-button",a:{action:"toggle_function",params:'{"id": "3"}'},f:["TOGGLE"]}]}]},{p:[48,3,1417],t:7,e:"tr",f:[" ",{p:[49,4,1426],t:7,e:"td",f:["Remote System Control"]},{p:[50,4,1456],t:7,e:"td",f:[{t:2,x:{r:["data.config_systemcontrol"],s:'_0?"ENABLED":"DISABLED"'},p:[50,8,1460]}]},{p:[51,4,1519],t:7,e:"td",f:[{p:[51,8,1523],t:7,e:"ui-button",a:{action:"toggle_function",params:'{"id": "4"}'},f:["TOGGLE"]}]}]}]}]}," ",{p:[55,2,1630],t:7,e:"ui-display",a:{title:"SECURITY SYSTEMS"},f:[{t:4,f:[{p:[58,4,1699],t:7,e:"ui-notice",f:[{p:[59,5,1716],t:7,e:"h1",f:["NETWORK INCURSION DETECTED"]}]}," ",{p:[61,5,1774],t:7,e:"i",f:["An abnormal activity has been detected in the network. Please verify system logs for more information"]}],n:50,r:"data.idsalarm",p:[57,3,1673]}," ",{p:[64,3,1902],t:7,e:"ui-section",a:{label:"Intrusion Detection System"},f:[{p:[65,4,1954],t:7,e:"b",f:[{t:2,x:{r:["data.idsstatus"],s:'_0?"ENABLED":"DISABLED"'},p:[65,7,1957]}]}]}," ",{p:[68,3,2029],t:7,e:"ui-section",a:{label:"Maximal Log Count"},f:[{p:[69,4,2072],t:7,e:"b",f:[{t:2,r:"data.ntnetmaxlogs",p:[69,7,2075]}]}]}," ",{p:[72,3,2125],t:7,e:"ui-section",a:{label:"Controls"},f:[]}," ",{p:[74,4,2176],t:7,e:"table",f:[{p:[75,4,2188],t:7,e:"tr",f:[{p:[75,8,2192],t:7,e:"td",f:[{p:[75,12,2196],t:7,e:"ui-button",a:{action:"resetIDS"},f:["RESET IDS"]}]}]},{p:[76,4,2251],t:7,e:"tr",f:[{p:[76,8,2255],t:7,e:"td",f:[{p:[76,12,2259],t:7,e:"ui-button",a:{action:"toggleIDS"},f:["TOGGLE IDS"]}]}]},{p:[77,4,2316],t:7,e:"tr",f:[{p:[77,8,2320],t:7,e:"td",f:[{p:[77,12,2324],t:7,e:"ui-button",a:{action:"updatemaxlogs"},f:["SET LOG LIMIT"]}]}]},{p:[78,4,2388],t:7,e:"tr",f:[{p:[78,8,2392],t:7,e:"td",f:[{p:[78,12,2396],t:7,e:"ui-button",a:{action:"purgelogs"},f:["PURGE LOGS"]}]}]}]}," ",{p:[81,3,2467],t:7,e:"ui-subdisplay",a:{title:"System Logs"},f:[{p:[82,3,2506],t:7,e:"div",a:{"class":"statusDisplay",style:"overflow: auto;"},f:[{p:[83,3,2561],t:7,e:"div",a:{"class":"item"},f:[{p:[84,4,2584],t:7,e:"div",a:{"class":"itemContent",style:"width: 100%;"},f:[{t:4,f:[{t:2,r:"entry",p:[86,6,2667]},{p:[86,15,2676],t:7,e:"br"}],n:52,r:"data.ntnetlogs",p:[85,5,2636]}]}]}]}]}]}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(280)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{205:205,280:280}],275:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[" ",{p:[2,1,47],t:7,e:"ntosheader"}," ",{p:[4,1,64],t:7,e:"ui-display",f:[{t:4,f:[{p:[7,2,102],t:7,e:"div",a:{"class":"item"},f:[{p:[8,3,124],t:7,e:"h2",f:["An error has occurred during operation..."]}," ",{p:[9,3,178],t:7,e:"b",f:["Additional information:"]},{t:2,r:"data.error",p:[9,34,209]},{p:[9,48,223],t:7,e:"br"}," ",{p:[10,3,231],t:7,e:"ui-button",a:{action:"PRG_reset"},f:["Clear"]}]}],n:50,r:"data.error",p:[6,2,81]},{t:4,n:51,f:[{t:4,n:50,x:{r:["data.downloading"],s:"_0"},f:[{p:[13,3,321],t:7,e:"h2",f:["Download in progress..."]}," ",{p:[14,3,357],t:7,e:"div",a:{"class":"itemLabel"},f:["Downloaded file:"]}," ",{p:[17,3,416],t:7,e:"div",a:{"class":"itemContent"},f:[{t:2,r:"data.download_name",p:[18,4,446]}]}," ",{p:[20,3,483],t:7,e:"div",a:{"class":"itemLabel"},f:["Download progress:"]}," ",{p:[23,3,544],t:7,e:"div",a:{"class":"itemContent"},f:[{t:2,r:"data.download_progress",p:[24,4,574]}," / ",{t:2,r:"data.download_size",p:[24,33,603]}," GQ"]}," ",{p:[26,3,642],t:7,e:"div",a:{"class":"itemLabel"},f:["Transfer speed:"]}," ",{p:[29,3,700],t:7,e:"div",a:{"class":"itemContent"},f:[{t:2,r:"data.download_netspeed",p:[30,4,730]},"GQ/s"]}," ",{p:[32,3,774],t:7,e:"div",a:{"class":"itemLabel"},f:["Controls:"]}," ",{p:[35,3,826],t:7,e:"div",a:{"class":"itemContent"},f:[{p:[36,4,856],t:7,e:"ui-button",a:{action:"PRG_reset"},f:["Abort download"]}]}]},{t:4,n:50,x:{r:["data.downloading","data.uploading"],s:"(!(_0))&&(_1)"},f:[" ",{p:[39,3,954],t:7,e:"h2",f:["Server enabled"]}," ",{p:[40,3,981],t:7,e:"div",a:{"class":"itemLabel"},f:["Connected clients:"]}," ",{p:[43,3,1042],t:7,e:"div",a:{"class":"itemContent"},f:[{t:2,r:"data.upload_clients",p:[44,4,1072]}]}," ",{p:[46,3,1109],t:7,e:"div",a:{"class":"itemLabel"},f:["Provided file:"]}," ",{p:[49,3,1166],t:7,e:"div",a:{"class":"itemContent"},f:[{t:2,r:"data.upload_filename",p:[50,4,1196]}]}," ",{p:[52,3,1234],t:7,e:"div",a:{"class":"itemLabel"},f:["Server password:"]}," ",{p:[55,3,1293],t:7,e:"div",a:{"class":"itemContent"},f:[{t:4,f:["ENABLED"],n:50,r:"data.upload_haspassword",p:[56,4,1323]},{t:4,n:51,f:["DISABLED"],r:"data.upload_haspassword"}]}," ",{p:[62,3,1420],t:7,e:"div",a:{"class":"itemLabel"},f:["Commands:"]}," ",{p:[65,3,1472],t:7,e:"div",a:{"class":"itemContent"},f:[{p:[66,4,1502],t:7,e:"ui-button",a:{action:"PRG_setpassword"},f:["Set password"]}," ",{p:[67,4,1567],t:7,e:"ui-button",a:{action:"PRG_reset"},f:["Exit server"]}]}]},{t:4,n:50,x:{r:["data.downloading","data.uploading","data.upload_filelist"],s:"(!(_0))&&((!(_1))&&(_2))"},f:[" ",{p:[70,3,1668],t:7,e:"h2",f:["File transfer server ready. Select file to upload:"]}," ",{p:[71,3,1732],t:7,e:"table",f:[{p:[72,3,1743],t:7,e:"tr",f:[{p:[72,7,1747],t:7,e:"th",f:["File name"]},{p:[72,20,1760],t:7,e:"th",f:["File size"]},{p:[72,33,1773],t:7,e:"th",f:["Controls ",{t:4,f:[{p:[74,4,1824],t:7,e:"tr",f:[{p:[74,8,1828],t:7,e:"td",f:[{t:2,r:"filename",p:[74,12,1832]}]},{p:[75,4,1849],t:7,e:"td",f:[{t:2,r:"size",p:[75,8,1853]},"GQ"]},{p:[76,4,1868],t:7,e:"td",f:[{p:[76,8,1872],t:7,e:"ui-button",a:{action:"PRG_uploadfile",params:['{"id": "',{t:2,r:"uid",p:[76,59,1923]},'"}']},f:["Select"]}]}]}],n:52,r:"data.upload_filelist",p:[73,3,1789]}]}]}]}," ",{p:[79,3,1981],t:7,e:"hr"}," ",{p:[80,3,1989],t:7,e:"ui-button",a:{action:"PRG_setpassword"},f:["Set password"]}," ",{p:[81,3,2053],t:7,e:"ui-button",a:{action:"PRG_reset"},f:["Return"]}]},{t:4,n:50,x:{r:["data.downloading","data.uploading","data.upload_filelist"],s:"(!(_0))&&((!(_1))&&(!(_2)))"},f:[" ",{p:[83,3,2116],t:7,e:"h2",f:["Available files:"]}," ",{p:[84,3,2145],t:7,e:"table",a:{border:"1",style:"border-collapse: collapse"},f:[{p:[84,55,2197],t:7,e:"tr",f:[{p:[84,59,2201],t:7,e:"th",f:["Server UID"]},{p:[84,73,2215],t:7,e:"th",f:["File Name"]},{p:[84,86,2228],t:7,e:"th",f:["File Size"]},{p:[84,99,2241],t:7,e:"th",f:["Password Protection"]},{p:[84,122,2264],t:7,e:"th",f:["Operations ",{t:4,f:[{p:[86,5,2311],t:7,e:"tr",f:[{p:[86,9,2315],t:7,e:"td",f:[{t:2,r:"uid",p:[86,13,2319]}]},{p:[87,5,2332],t:7,e:"td",f:[{t:2,r:"filename",p:[87,9,2336]}]},{p:[88,5,2354],t:7,e:"td",f:[{t:2,r:"size",p:[88,9,2358]},"GQ ",{t:4,f:[{p:[90,6,2400],t:7,e:"td",f:["Enabled"]}],n:50,r:"haspassword",p:[89,5,2374]}," ",{t:4,f:[{p:[93,6,2457],t:7,e:"td",f:["Disabled"]}],n:50,x:{r:["haspassword"],s:"!_0"},p:[92,5,2430]}]},{p:[96,5,2494],t:7,e:"td",f:[{p:[96,9,2498],t:7,e:"ui-button",a:{action:"PRG_downloadfile",params:['{"id": "',{t:2,r:"uid",p:[96,62,2551]},'"}']},f:["Download"]}]}]}],n:52,r:"data.servers",p:[85,4,2283]}]}]}]}," ",{p:[99,3,2612],t:7,e:"hr"}," ",{p:[100,3,2620],t:7,e:"ui-button",a:{action:"PRG_uploadmenu"},f:["Send file"]}]}],r:"data.error"}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(280)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{205:205,280:280}],276:[function(t,e,n){var a=t(205),r={exports:{}};!function(t){"use strict";t.exports={data:{chargingState:function(t){switch(t){case 2:return"good";case 1:return"average";default:return"bad"}},chargingMode:function(t){return 2==t?"Full":1==t?"Charging":"Draining"},channelState:function(t){return t>=2?"good":"bad"},channelPower:function(t){return t>=2?"On":"Off"},channelMode:function(t){return 1==t||3==t?"Auto":"Manual"}},computed:{graphData:function(){var t=this.get("data.history");return Object.keys(t).map(function(e){return t[e].map(function(t,e){return{x:e,y:t}})})}}}}(r),r.exports.template={v:3,t:[" "," ",{p:[43,1,1082],t:7,e:"ntosheader"}," ",{p:[45,1,1099],t:7,e:"ui-display",a:{title:"Network"},f:[{t:4,f:[{p:[47,5,1157],t:7,e:"ui-linegraph",a:{points:[{t:2,r:"graphData", - p:[47,27,1179]}],height:"500",legend:'["Available", "Load"]',colors:'["rgb(0, 102, 0)", "rgb(153, 0, 0)"]',xunit:"seconds ago",xfactor:[{t:2,r:"data.interval",p:[49,38,1331]}],yunit:"W",yfactor:"1",xinc:[{t:2,x:{r:["data.stored"],s:"_0/10"},p:[50,15,1387]}],yinc:"9"}}],n:50,r:"config.fancy",p:[46,3,1131]},{t:4,n:51,f:[{p:[52,5,1437],t:7,e:"ui-section",a:{label:"Available"},f:[{p:[53,7,1475],t:7,e:"span",f:[{t:2,r:"data.supply",p:[53,13,1481]}," W"]}]}," ",{p:[55,5,1530],t:7,e:"ui-section",a:{label:"Load"},f:[{p:[56,9,1565],t:7,e:"span",f:[{t:2,r:"data.demand",p:[56,15,1571]}," W"]}]}],r:"config.fancy"}]}," ",{p:[60,1,1642],t:7,e:"ui-display",a:{title:"Areas"},f:[{p:[61,3,1672],t:7,e:"ui-section",a:{nowrap:0},f:[{p:[62,5,1697],t:7,e:"div",a:{"class":"content"},f:["Area"]}," ",{p:[63,5,1734],t:7,e:"div",a:{"class":"content"},f:["Charge"]}," ",{p:[64,5,1773],t:7,e:"div",a:{"class":"content"},f:["Load"]}," ",{p:[65,5,1810],t:7,e:"div",a:{"class":"content"},f:["Status"]}," ",{p:[66,5,1849],t:7,e:"div",a:{"class":"content"},f:["Equipment"]}," ",{p:[67,5,1891],t:7,e:"div",a:{"class":"content"},f:["Lighting"]}," ",{p:[68,5,1932],t:7,e:"div",a:{"class":"content"},f:["Environment"]}]}," ",{t:4,f:[{p:[71,5,2017],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[71,24,2036]}],nowrap:0},f:[{p:[72,7,2061],t:7,e:"div",a:{"class":"content"},f:[{t:2,x:{r:["@index","adata.areas"],s:"Math.round(_1[_0].charge)"},p:[72,28,2082]}," %"]}," ",{p:[73,7,2140],t:7,e:"div",a:{"class":"content"},f:[{t:2,x:{r:["@index","adata.areas"],s:"Math.round(_1[_0].load)"},p:[73,28,2161]}," W"]}," ",{p:[74,7,2217],t:7,e:"div",a:{"class":"content"},f:[{p:[74,28,2238],t:7,e:"span",a:{"class":[{t:2,x:{r:["chargingState","charging"],s:"_0(_1)"},p:[74,41,2251]}]},f:[{t:2,x:{r:["chargingMode","charging"],s:"_0(_1)"},p:[74,70,2280]}]}]}," ",{p:[75,7,2327],t:7,e:"div",a:{"class":"content"},f:[{p:[75,28,2348],t:7,e:"span",a:{"class":[{t:2,x:{r:["channelState","eqp"],s:"_0(_1)"},p:[75,41,2361]}]},f:[{t:2,x:{r:["channelPower","eqp"],s:"_0(_1)"},p:[75,64,2384]}," [",{p:[75,87,2407],t:7,e:"span",f:[{t:2,x:{r:["channelMode","eqp"],s:"_0(_1)"},p:[75,93,2413]}]},"]"]}]}," ",{p:[76,7,2462],t:7,e:"div",a:{"class":"content"},f:[{p:[76,28,2483],t:7,e:"span",a:{"class":[{t:2,x:{r:["channelState","lgt"],s:"_0(_1)"},p:[76,41,2496]}]},f:[{t:2,x:{r:["channelPower","lgt"],s:"_0(_1)"},p:[76,64,2519]}," [",{p:[76,87,2542],t:7,e:"span",f:[{t:2,x:{r:["channelMode","lgt"],s:"_0(_1)"},p:[76,93,2548]}]},"]"]}]}," ",{p:[77,7,2597],t:7,e:"div",a:{"class":"content"},f:[{p:[77,28,2618],t:7,e:"span",a:{"class":[{t:2,x:{r:["channelState","env"],s:"_0(_1)"},p:[77,41,2631]}]},f:[{t:2,x:{r:["channelPower","env"],s:"_0(_1)"},p:[77,64,2654]}," [",{p:[77,87,2677],t:7,e:"span",f:[{t:2,x:{r:["channelMode","env"],s:"_0(_1)"},p:[77,93,2683]}]},"]"]}]}]}],n:52,r:"data.areas",p:[70,3,1991]}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(280)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{205:205,280:280}],277:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[" ",{p:[2,1,47],t:7,e:"ntosheader"}," ",{p:[4,1,64],t:7,e:"ui-display",f:[{p:[5,2,79],t:7,e:"div",a:{"class":"item"},f:[{p:[6,3,101],t:7,e:"div",a:{"class":"itemLabel"},f:["Payload status:"]}," ",{p:[9,3,158],t:7,e:"div",a:{"class":"itemContent"},f:[{t:4,f:["ARMED"],n:50,r:"data.armed",p:[10,4,188]},{t:4,n:51,f:["DISARMED"],r:"data.armed"}]}," ",{p:[16,3,270],t:7,e:"div",a:{"class":"itemLabel"},f:["Controls:"]}," ",{p:[19,3,321],t:7,e:"div",a:{"class":"itemContent"},f:[{p:[20,4,351],t:7,e:"table",f:[{p:[21,4,363],t:7,e:"tr",f:[{p:[21,8,367],t:7,e:"td",f:[{p:[21,12,371],t:7,e:"ui-button",a:{action:"PRG_obfuscate"},f:["OBFUSCATE PROGRAM NAME"]}]}]},{p:[22,4,444],t:7,e:"tr",f:[{p:[22,8,448],t:7,e:"td",f:[{p:[22,12,452],t:7,e:"ui-button",a:{action:"PRG_arm",state:[{t:2,x:{r:["data.armed"],s:'_0?"danger":null'},p:[22,47,487]}]},f:[{t:2,x:{r:["data.armed"],s:'_0?"DISARM":"ARM"'},p:[22,81,521]}]}," ",{p:[23,4,571],t:7,e:"ui-button",a:{icon:"radiation",state:[{t:2,x:{r:["data.armed"],s:'_0?null:"disabled"'},p:[23,39,606]}],action:"PRG_activate"},f:["ACTIVATE"]}]}]}]}]}]}]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(280)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{205:205,280:280}],278:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[" ",{p:[2,1,47],t:7,e:"ntosheader"}," ",{t:4,f:[{p:[5,3,95],t:7,e:"ui-display",a:{title:[{t:2,r:"class",p:[5,22,114]}," Alarms"]},f:[{p:[6,5,138],t:7,e:"ul",f:[{t:4,f:[{p:[8,9,171],t:7,e:"li",f:[{t:2,r:".",p:[8,13,175]}]}],n:52,r:".",p:[7,7,150]},{t:4,n:51,f:[{p:[10,9,211],t:7,e:"li",f:["System Nominal"]}],r:"."}]}]}],n:52,i:"class",r:"data.alarms",p:[4,1,64]}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(280)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{205:205,280:280}],279:[function(t,e,n){var a=t(205),r={exports:{}};!function(t){"use strict";t.exports={data:{integState:function(t){var e=100;return t==e?"good":t>e/2?"average":"bad"},bigState:function(t,e,n){return charge>n?"bad":t>e?"average":"good"}}}}(r),r.exports.template={v:3,t:[" "," ",{p:[23,1,421],t:7,e:"ntosheader"}," ",{t:4,f:[{p:[27,2,462],t:7,e:"ui-button",a:{action:"PRG_clear"},f:["Back to Menu"]},{p:[27,56,516],t:7,e:"br"}," ",{p:[28,3,524],t:7,e:"ui-display",a:{title:"Supermatter Status:"},f:[{p:[29,3,568],t:7,e:"ui-section",a:{label:"Core Integrity"},f:[{p:[30,5,609],t:7,e:"ui-bar",a:{min:"0",max:"100",value:[{t:2,r:"adata.SM_integrity",p:[30,38,642]}],state:[{t:2,x:{r:["integState","adata.SM_integrity"],s:"_0(_1)"},p:[30,69,673]}]},f:[{t:2,r:"data.SM_integrity",p:[30,105,709]},"%"]}]}," ",{p:[32,3,761],t:7,e:"ui-section",a:{label:"Relative EER"},f:[{p:[33,5,800],t:7,e:"span",a:{"class":[{t:2,x:{r:["bigState","data.SM_power"],s:"_0(_1,150,300)"},p:[33,18,813]}]},f:[{t:2,r:"data.SM_power",p:[33,55,850]}," MeV/cm3"]}]}," ",{p:[35,3,903],t:7,e:"ui-section",a:{label:"Temperature"},f:[{p:[36,5,941],t:7,e:"span",a:{"class":[{t:2,x:{r:["bigState","data.SM_ambienttemp"],s:"_0(_1,4000,5000)"},p:[36,18,954]}]},f:[{t:2,r:"data.SM_ambienttemp",p:[36,63,999]}," K"]}]}," ",{p:[38,3,1052],t:7,e:"ui-section",a:{label:"Pressure"},f:[{p:[39,5,1087],t:7,e:"span",a:{"class":[{t:2,x:{r:["bigState","data.SM_ambientpressure"],s:"_0(_1,5000,10000)"},p:[39,18,1100]}]},f:[{t:2,r:"data.SM_ambientpressure",p:[39,68,1150]}," kPa"]}]}]}," ",{p:[42,3,1227],t:7,e:"hr"},{p:[42,7,1231],t:7,e:"br"}," ",{p:[43,3,1239],t:7,e:"ui-display",a:{title:"Gas Composition:"},f:[{t:4,f:[{p:[45,5,1307],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[45,24,1326]}]},f:[{t:2,r:"amount",p:[46,6,1343]}," %"]}],n:52,r:"data.gases",p:[44,4,1281]}]}],n:50,r:"data.active",p:[26,1,440]},{t:4,n:51,f:[{p:[51,2,1418],t:7,e:"ui-button",a:{action:"PRG_refresh"},f:["Refresh"]},{p:[51,53,1469],t:7,e:"br"}," ",{p:[52,2,1476],t:7,e:"ui-display",a:{title:"Detected Supermatters"},f:[{t:4,f:[{p:[54,3,1552],t:7,e:"ui-section",a:{label:"Area"},f:[{t:2,r:"area_name",p:[55,5,1583]}," - (#",{t:2,r:"uid",p:[55,23,1601]},")"]}," ",{p:[57,3,1630],t:7,e:"ui-section",a:{label:"Integrity"},f:[{t:2,r:"integrity",p:[58,5,1666]}," %"]}," ",{p:[60,3,1702],t:7,e:"ui-section",a:{label:"Options"},f:[{p:[61,5,1736],t:7,e:"ui-button",a:{action:"PRG_set",params:['{"target" : "',{t:2,r:"uid",p:[61,54,1785]},'"}']},f:["View Details"]}]}],n:52,r:"data.supermatters",p:[53,2,1521]}]}],r:"data.active"}]},r.exports.components=r.exports.components||{};var i={ntosheader:t(280)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{205:205,280:280}],280:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"div",a:{"class":"item",style:"float: left"},f:[{p:[2,2,41],t:7,e:"table",f:[{p:[2,9,48],t:7,e:"tr",f:[{t:4,f:[{p:[4,3,113],t:7,e:"td",f:[{p:[4,7,117],t:7,e:"img",a:{src:[{t:2,r:"data.PC_batteryicon",p:[4,17,127]}]}}]}],n:50,x:{r:["data.PC_batteryicon","data.PC_showbatteryicon"],s:"_0&&_1"},p:[3,2,55]}," ",{t:4,f:[{p:[7,3,226],t:7,e:"td",f:[{p:[7,7,230],t:7,e:"b",f:[{t:2,r:"data.PC_batterypercent",p:[7,10,233]}]}]}],n:50,x:{r:["data.PC_batterypercent","data.PC_showbatteryicon"],s:"_0&&_1"},p:[6,2,165]}," ",{t:4,f:[{p:[10,3,305],t:7,e:"td",f:[{p:[10,7,309],t:7,e:"img",a:{src:[{t:2,r:"data.PC_ntneticon",p:[10,17,319]}]}}]}],n:50,r:"data.PC_ntneticon",p:[9,2,276]}," ",{t:4,f:[{p:[13,3,386],t:7,e:"td",f:[{p:[13,7,390],t:7,e:"img",a:{src:[{t:2,r:"data.PC_apclinkicon",p:[13,17,400]}]}}]}],n:50,r:"data.PC_apclinkicon",p:[12,2,355]}," ",{t:4,f:[{p:[16,3,469],t:7,e:"td",f:[{p:[16,7,473],t:7,e:"b",f:[{t:2,r:"data.PC_stationtime",p:[16,10,476]}]}]}],n:50,r:"data.PC_stationtime",p:[15,2,438]}," ",{t:4,f:[{p:[19,3,552],t:7,e:"td",f:[{p:[19,7,556],t:7,e:"img",a:{src:[{t:2,r:"icon",p:[19,17,566]}]}}]}],n:52,r:"data.PC_programheaders",p:[18,2,516]}]}]}]}," ",{p:[23,1,609],t:7,e:"div",a:{style:"float: right; margin-top: 5px"},f:[{p:[24,2,655],t:7,e:"ui-button",a:{action:"PC_shutdown"},f:["Shutdown"]}," ",{t:4,f:[{p:[26,3,745],t:7,e:"ui-button",a:{action:"PC_exit"},f:["EXIT PROGRAM"]}," ",{p:[27,3,801],t:7,e:"ui-button",a:{action:"PC_minimize"},f:["Minimize Program"]}],n:50,r:"data.PC_showexitprogram",p:[25,2,710]}]}," ",{p:[30,1,881],t:7,e:"div",a:{style:"clear: both"}}]},e.exports=a.extend(r.exports)},{205:205}],281:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Auth. Disk:"},f:[{t:4,f:[{p:[3,7,69],t:7,e:"ui-button",a:{icon:"eject",style:"selected",action:"eject_disk"},f:["++++++++++"]}],n:50,r:"data.disk_present",p:[2,3,36]},{t:4,n:51,f:[{p:[5,7,172],t:7,e:"ui-button",a:{icon:"plus",action:"insert_disk"},f:["----------"]}],r:"data.disk_present"}]}," ",{p:[8,1,266],t:7,e:"ui-display",a:{title:"Status"},f:[{p:[9,3,297],t:7,e:"span",f:[{t:2,r:"data.status1",p:[9,9,303]},"-",{t:2,r:"data.status2",p:[9,26,320]}]}]}," ",{p:[11,1,360],t:7,e:"ui-display",a:{title:"Timer"},f:[{p:[12,3,390],t:7,e:"ui-section",a:{label:"Time to Detonation"},f:[{p:[13,5,435],t:7,e:"span",f:[{t:2,x:{r:["data.timing","data.time_left","data.timer_set"],s:"_0?_1:_2"},p:[13,11,441]}]}]}," ",{t:4,f:[{p:[16,5,540],t:7,e:"ui-section",a:{label:"Adjust Timer"},f:[{p:[17,7,581],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["data.disk_present","data.code_approved","data.timer_is_not_default"],s:'_0&&_1&&_2?null:"disabled"'},p:[17,40,614]}],action:"timer",params:'{"change": "reset"}'},f:["Reset"]}," ",{p:[19,7,786],t:7,e:"ui-button",a:{icon:"minus",state:[{t:2,x:{r:["data.disk_present","data.code_approved","data.timer_is_not_min"],s:'_0&&_1&&_2?null:"disabled"'},p:[19,38,817]}],action:"timer",params:'{"change": "decrease"}'},f:["Decrease"]}," ",{p:[21,7,991],t:7,e:"ui-button",a:{icon:"pencil",state:[{t:2,x:{r:["data.disk_present","data.code_approved"],s:'_0&&_1?null:"disabled"'},p:[21,39,1023]}],action:"timer",params:'{"change": "input"}'},f:["Set"]}," ",{p:[22,7,1155],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.disk_present","data.code_approved","data.timer_is_not_max"],s:'_0&&_1&&_2?null:"disabled"'},p:[22,37,1185]}],action:"timer",params:'{"change": "increase"}'},f:["Increase"]}]}],n:51,r:"data.timing",p:[15,3,518]}," ",{p:[26,3,1394],t:7,e:"ui-section",a:{label:"Timer"},f:[{p:[27,5,1426],t:7,e:"ui-button",a:{icon:"clock-o",style:[{t:2,x:{r:["data.timing"],s:'_0?"danger":"caution"'},p:[27,38,1459]}],action:"toggle_timer",state:[{t:2,x:{r:["data.disk_present","data.code_approved","data.safety"],s:'_0&&_1&&!_2?null:"disabled"'},p:[29,14,1542]}]},f:[{t:2,x:{r:["data.timing"],s:'_0?"On":"Off"'},p:[30,7,1631]}]}]}]}," ",{p:[34,1,1713],t:7,e:"ui-display",a:{title:"Anchoring"},f:[{p:[35,3,1747],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.disk_present","data.code_approved"],s:'_0&&_1?null:"disabled"'},p:[36,12,1770]}],icon:[{t:2,x:{r:["data.anchored"],s:'_0?"lock":"unlock"'},p:[37,11,1846]}],style:[{t:2,x:{r:["data.anchored"],s:'_0?null:"caution"'},p:[38,12,1897]}],action:"anchor"},f:[{t:2,x:{r:["data.anchored"],s:'_0?"Engaged":"Off"'},p:[39,21,1956]}]}]}," ",{p:[41,1,2022],t:7,e:"ui-display",a:{title:"Safety"},f:[{p:[42,3,2053],t:7,e:"ui-button",a:{state:[{t:2,x:{r:["data.disk_present","data.code_approved"],s:'_0&&_1?null:"disabled"'},p:[43,12,2076]}],icon:[{t:2,x:{r:["data.safety"],s:'_0?"lock":"unlock"'},p:[44,11,2152]}],action:"safety",style:[{t:2,x:{r:["data.safety"],s:'_0?"caution":"danger"'},p:[45,12,2217]}]},f:[{p:[46,7,2265],t:7,e:"span",f:[{t:2,x:{r:["data.safety"],s:'_0?"On":"Off"'},p:[46,13,2271]}]}]}]}," ",{p:[49,1,2341],t:7,e:"ui-display",a:{title:"Code"},f:[{p:[50,3,2370],t:7,e:"ui-section",a:{label:"Message"},f:[{t:2,r:"data.message",p:[50,31,2398]}]}," ",{p:[51,3,2431],t:7,e:"ui-section",a:{label:"Keypad"},f:[{p:[52,5,2464],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[52,39,2498]}],params:'{"digit":"1"}'},f:["1"]}," ",{p:[53,5,2583],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[53,39,2617]}],params:'{"digit":"2"}'},f:["2"]}," ",{p:[54,5,2702],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[54,39,2736]}],params:'{"digit":"3"}'},f:["3"]}," ",{p:[55,5,2821],t:7,e:"br"}," ",{p:[56,5,2831],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[56,39,2865]}],params:'{"digit":"4"}'},f:["4"]}," ",{p:[57,5,2950],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[57,39,2984]}],params:'{"digit":"5"}'},f:["5"]}," ",{p:[58,5,3069],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[58,39,3103]}],params:'{"digit":"6"}'},f:["6"]}," ",{p:[59,5,3188],t:7,e:"br"}," ",{p:[60,5,3198],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[60,39,3232]}],params:'{"digit":"7"}'},f:["7"]}," ",{p:[61,5,3317],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[61,39,3351]}],params:'{"digit":"8"}'},f:["8"]}," ",{p:[62,5,3436],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[62,39,3470]}],params:'{"digit":"9"}'},f:["9"]}," ",{p:[63,5,3555],t:7,e:"br"}," ",{p:[64,5,3565],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[64,39,3599]}],params:'{"digit":"R"}'},f:["R"]}," ",{p:[65,5,3684],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[65,39,3718]}],params:'{"digit":"0"}'},f:["0"]}," ",{p:[66,5,3803],t:7,e:"ui-button",a:{action:"keypad",state:[{t:2,x:{r:["data.disk_present"],s:'_0?null:"disabled"'},p:[66,39,3837]}],params:'{"digit":"E"}'},f:["E"]}]}]}]},e.exports=a.extend(r.exports)},{205:205}],282:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{p:[2,2,15],t:7,e:"ui-section",f:["This machine only accepts ore. Gibtonite and Slag are not accepted."]}," ",{p:[5,2,117],t:7,e:"ui-section",f:["Current unclaimed points: ",{t:2,r:"data.unclaimedPoints",p:[6,29,159]}," ",{t:4,f:[{p:[8,4,220],t:7,e:"ui-button",a:{action:"Claim"},f:["Claim Points"]}],n:50,r:"data.unclaimedPoints",p:[7,3,187]}]}," ",{p:[13,2,311],t:7,e:"ui-section",f:[{t:4,f:[{p:[15,4,350],t:7,e:"ui-button",a:{action:"Eject"},f:["Eject ID"]}," You have ",{t:2,r:"data.claimedPoints",p:[18,13,421]}," mining points collected."],n:50,r:"data.hasID",p:[14,3,327]},{t:4,n:51,f:[{p:[20,4,485],t:7,e:"ui-button",a:{action:"Insert"},f:["Insert ID"]}],r:"data.hasID"}]}]}," ",{p:[26,1,588],t:7,e:"ui-display",f:[{t:4,f:[{p:[28,3,627],t:7,e:"ui-section",f:[{p:[29,4,644],t:7,e:"ui-button",a:{action:"diskEject",icon:"eject"},f:["Eject Disk"]}]}," ",{t:4,f:[{p:[34,4,772],t:7,e:"ui-section",a:{"class":"candystripe"},f:[{p:[35,5,808],t:7,e:"ui-button",a:{action:"diskUpload",state:[{t:2,x:{r:["canupload"],s:'(_0)?null:"disabled"'},p:[35,42,845]}],icon:"upload",align:"right",params:['{ "design" : "',{t:2,r:"index",p:[35,129,932]},'" }']},f:["Upload"]}," File ",{t:2,r:"index",p:[38,10,988]},": ",{t:2,r:"name",p:[38,21,999]}]}],n:52,r:"data.diskDesigns",p:[33,3,741]}],n:50,r:"data.hasDisk",p:[27,2,603]},{t:4,n:51,f:[{p:[42,3,1053],t:7,e:"ui-section",f:[{p:[43,4,1070],t:7,e:"ui-button",a:{action:"diskInsert",icon:"floppy-o"},f:["Insert Disk"]}]}],r:"data.hasDisk"}]}," ",{p:[49,1,1195],t:7,e:"div",a:{"class":"display tabular"},f:[{p:[50,2,1227],t:7,e:"section",a:{"class":"candystripe"},f:[{p:[51,4,1261],t:7,e:"section",a:{"class":"cell"},f:["Mineral"]}," ",{p:[54,4,1316],t:7,e:"section",a:{"class":"cell"},f:["Sheets"]}," ",{p:[57,4,1370],t:7,e:"section",a:{"class":"cell"},f:[]}," ",{p:[59,4,1412],t:7,e:"section",a:{"class":"cell"},f:[{p:[60,5,1440],t:7,e:"ui-button",a:{"class":"center mineral",grid:0,action:"Release",params:'{"id" : "all"}'},f:["Release All"]}]}," ",{p:[64,4,1576],t:7,e:"section",a:{"class":"cell"},f:["Ore Value"]}]}," ",{t:4,f:[{p:[69,3,1673],t:7,e:"section",a:{"class":"candystripe"},f:[{p:[70,4,1707],t:7,e:"section",a:{"class":"cell"},f:[{t:2,r:"name",p:[71,5,1735]}]}," ",{p:[73,4,1763],t:7,e:"section",a:{"class":"cell",align:"right"},f:[{t:2,r:"amount",p:[74,5,1805]}]}," ",{p:[76,4,1835],t:7,e:"section",a:{"class":"cell"},f:[{p:[77,5,1863],t:7,e:"input",a:{value:[{t:2,r:"sheets",p:[77,18,1876]}],placeholder:"###","class":"number"}}]}," ",{p:[79,4,1941],t:7,e:"section",a:{"class":"cell",align:"right"},f:[{p:[80,5,1983],t:7,e:"ui-button",a:{"class":"center",grid:0,action:"Release",state:[{t:2,x:{r:["amount"],s:'(_0>=1)?null:"disabled"'},p:[80,59,2037]}],params:['{ "id" : ',{t:2,r:"id",p:[80,114,2092]},', "sheets" : ',{t:2,r:"sheets",p:[80,133,2111]}," }"]},f:["Release"]}]}," ",{p:[84,4,2178],t:7,e:"section",a:{"class":"cell",align:"right"},f:[{t:2,r:"value",p:[85,5,2220]}]}]}],n:52,r:"data.materials",p:[68,2,1645]}," ",{t:4,f:[{p:[90,3,2298],t:7,e:"section",a:{"class":"candystripe"},f:[{p:[91,4,2332],t:7,e:"section",a:{"class":"cell"},f:[{t:2,r:"name",p:[92,5,2360]}]}," ",{p:[94,4,2388],t:7,e:"section",a:{"class":"cell",align:"right"},f:[{t:2,r:"amount",p:[95,5,2430]}]}," ",{p:[97,4,2460],t:7,e:"section",a:{"class":"cell"},f:[{p:[98,5,2488],t:7,e:"input",a:{value:[{t:2,r:"sheets",p:[98,18,2501]}],placeholder:"###","class":"number"}}]}," ",{p:[100,4,2566],t:7,e:"section",a:{"class":"cell",align:"right"},f:[{p:[101,5,2608],t:7,e:"ui-button",a:{"class":"center",grid:0,action:"Smelt",state:[{t:2,x:{r:["amount"],s:'(_0>=1)?null:"disabled"'},p:[101,57,2660]}],params:['{ "id" : ',{t:2,r:"id",p:[101,113,2716]},', "sheets" : ',{t:2,r:"sheets",p:[101,132,2735]}," }"]},f:["Smelt"]}]}," ",{p:[105,4,2799],t:7,e:"section",a:{"class":"cell",align:"right"},f:[{p:[106,5,2841],t:7,e:"ui-button",a:{"class":"center",grid:0,action:"SmeltAll",state:[{t:2,x:{r:["amount"],s:'(_0>=1)?null:"disabled"'},p:[106,60,2896]}],params:['{ "id" : ',{t:2,r:"id",p:[106,116,2952]}," }"]},f:["Smelt All"]}]}]}],n:52,r:"data.alloys",p:[89,2,2273]}]}]},e.exports=a.extend(r.exports)},{205:205}],283:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:{button:[{p:[3,3,60],t:7,e:"ui-button",a:{icon:"remove",state:[{t:2,x:{r:["data.has_beaker"],s:'_0?null:"disabled"'},p:[3,35,92]}],action:"empty_eject_beaker"},f:["Empty and eject"]}," ",{p:[6,3,201],t:7,e:"ui-button",a:{icon:"trash",state:[{t:2,x:{r:["data.has_beaker"],s:'_0?null:"disabled"'},p:[6,34,232]}],action:"empty_beaker"},f:["Empty"]}," ",{p:[9,3,325],t:7,e:"ui-button",a:{icon:"eject",state:[{t:2,x:{r:["data.has_beaker"],s:'_0?null:"disabled"'},p:[9,34,356]}],action:"eject_beaker"},f:["Eject"]}]},t:7,e:"ui-display",a:{title:"Beaker",button:0},f:[" ",{t:4,f:[{p:[14,3,490],t:7,e:"ui-section",f:[{t:4,f:[{p:[16,5,538],t:7,e:"span",a:{"class":"bad"},f:["The beaker is empty!"]}],n:50,r:"data.beaker_empty",p:[15,4,507]},{t:4,n:51,f:[{p:[18,5,602],t:7,e:"ui-subdisplay",a:{title:"Blood"},f:[{t:4,f:[{p:[20,7,668],t:7,e:"ui-section",a:{label:"Blood DNA"},f:[{t:2,r:"data.blood.dna",p:[20,37,698]}]}," ",{p:[21,7,737],t:7,e:"ui-section",a:{label:"Blood type"},f:[{t:2,r:"data.blood.type",p:[21,38,768]}]}],n:50,r:"data.has_blood",p:[19,6,638]},{t:4,n:51,f:[{p:[23,7,823],t:7,e:"ui-section",f:[{p:[24,8,844],t:7,e:"span",a:{"class":"average"},f:["No blood sample detected."]}]}],r:"data.has_blood"}]}],r:"data.beaker_empty"}]}],n:50,r:"data.has_beaker",p:[13,2,463]},{t:4,n:51,f:[{p:[31,3,999],t:7,e:"ui-section",f:[{p:[32,4,1016],t:7,e:"span",a:{"class":"bad"},f:["No beaker loaded."]}]}],r:"data.has_beaker"}]}," ",{t:4,f:[{p:[37,2,1127],t:7,e:"ui-display",a:{title:"Diseases"},f:[{t:4,f:[{p:{button:[{t:4,f:[{p:[42,7,1277],t:7,e:"ui-button",a:{icon:"pencil",action:"rename_disease",state:[{t:2,x:{r:["can_rename"],s:'_0?"":"disabled"'},p:[42,63,1333]}],params:['{"index": ',{t:2,r:"index",p:[42,115,1385]},"}"]},f:["Name advanced disease"]}],n:50,r:"is_adv",p:[41,6,1255]}," ",{p:[46,6,1468],t:7,e:"ui-button",a:{icon:"flask",action:"create_culture_bottle",state:[{t:2,x:{r:["data.is_ready"],s:'_0?"":"disabled"'},p:[46,68,1530]}],params:['{"index": ',{t:2,r:"index",p:[46,123,1585]},"}"]},f:["Create virus culture bottle"]}]},t:7,e:"ui-display",a:{title:[{t:2,r:"name",p:[39,23,1206]}],button:0},f:[" ",{p:[50,5,1675],t:7,e:"ui-section",a:{label:"Disease agent"},f:[{t:2,r:"agent",p:[50,39,1709]}]}," ",{p:[51,5,1737],t:7,e:"ui-section",a:{label:"Description"},f:[{t:2,r:"description",p:[51,37,1769]}]}," ",{p:[52,5,1803],t:7,e:"ui-section",a:{label:"Spread"},f:[{t:2,r:"spread",p:[52,32,1830]}]}," ",{p:[53,5,1859],t:7,e:"ui-section",a:{label:"Possible cure"},f:[{t:2,r:"cure",p:[53,39,1893]}]}," ",{t:4,f:[{p:[55,6,1942],t:7,e:"ui-section",a:{label:"Resistance"},f:[{t:2,r:"resistance",p:[55,37,1973]}]}," ",{p:[56,6,2007],t:7,e:"ui-section",a:{label:"Stealth"},f:[{t:2,r:"stealth",p:[56,34,2035]}]}," ",{p:[57,6,2066],t:7,e:"ui-section",a:{label:"Stage speed"},f:[{t:2,r:"stage_speed",p:[57,38,2098]}]}," ",{p:[58,6,2133],t:7,e:"ui-section",a:{label:"Symptoms"},f:[{t:4,f:[{p:[60,8,2197],t:7,e:"span",f:[{t:2,r:"name",p:[60,14,2203]}]},{p:[60,29,2218],t:7,e:"br"}],n:52,r:"symptoms",p:[59,7,2170]}]}],n:50,r:"is_adv",p:[54,5,1921]}]}],n:52,r:"data.viruses",p:[38,3,1160]},{t:4,n:51,f:[{p:[66,4,2309],t:7,e:"ui-section",f:[{p:[67,5,2327],t:7,e:"span",a:{"class":"average"},f:["No detectable virus in the blood sample."]}]}],r:"data.viruses"}]}," ",{p:[71,2,2446],t:7,e:"ui-display",a:{title:"Antibodies"},f:[{t:4,f:[{p:[73,4,2512],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[73,23,2531]}]},f:[{p:[74,6,2548],t:7,e:"ui-button",a:{icon:"eyedropper",state:[{t:2,x:{r:["data.is_ready"],s:'_0?"":"disabled"'},p:[74,42,2584]}],action:"create_vaccine_bottle",params:['{"index": ',{t:2,r:"id",p:[74,128,2670]},"}"]},f:["Create vaccine bottle"]}]}],n:52,r:"data.resistances",p:[72,3,2481]},{t:4,n:51,f:[{p:[79,4,2762],t:7,e:"ui-section",f:[{p:[80,5,2780],t:7,e:"span",a:{"class":"average"},f:["No antibodies detected in the blood sample."]}]}],r:"data.resistances"}]}],n:50,r:"data.has_blood",p:[36,1,1102]}]},e.exports=a.extend(r.exports)},{205:205}],284:[function(t,e,n){var a=t(205),r={exports:{}};!function(e){"use strict";var n=t(312);e.exports={data:{filter:"",tooltiptext:function(t,e,n){var a="";return t&&(a+="REQUIREMENTS: "+t+" "),e&&(a+="CATALYSTS: "+e+" "),n&&(a+="TOOLS: "+n),a}},oninit:function(){var t=this;this.on({hover:function(t){this.set("hovered",t.context.params)},unhover:function(t){this.set("hovered")}}),this.observe("filter",function(e,a,r){var i=null;i=t.get("data.display_compact")?t.findAll(".section"):t.findAll(".display:not(:first-child)"),(0,n.filterMulti)(i,t.get("filter").toLowerCase())},{init:!1})}}}(r),r.exports.template={v:3,t:[" ",{p:[48,1,1342],t:7,e:"ui-display",a:{title:[{t:2,r:"data.category",p:[48,20,1361]},{t:4,f:[" : ",{t:2,r:"data.subcategory",p:[48,64,1405]}],n:50,r:"data.subcategory",p:[48,37,1378]}]},f:[{t:4,f:[{p:[50,3,1459],t:7,e:"ui-section",f:["Crafting... ",{p:[51,16,1488],t:7,e:"i",a:{"class":"fa-spin fa fa-spinner"}}]}],n:50,r:"data.busy",p:[49,2,1438]},{t:4,n:51,f:[{p:[54,3,1557],t:7,e:"ui-section",f:[{p:[55,4,1574],t:7,e:"table",a:{style:"width:100%"},f:[{p:[56,5,1606],t:7,e:"tr",f:[{p:[57,6,1617],t:7,e:"td",a:{style:"width:150px!important"},f:[{p:[58,7,1659],t:7,e:"ui-button",a:{icon:"arrow-left",action:"backwardCat"},f:[{t:2,r:"data.prev_cat",p:[59,8,1718]}]}]}," ",{p:[62,6,1774],t:7,e:"td",a:{style:"width:150px!important"},f:[{p:[63,7,1816],t:7,e:"ui-button",a:{icon:"arrow-right",action:"forwardCat"},f:[{t:2,r:"data.next_cat",p:[64,7,1874]}]}]}," ",{p:[67,6,1930],t:7,e:"td",a:{style:"float:right!important"},f:[{t:4,f:[{p:[69,7,2014],t:7,e:"ui-button",a:{icon:"lock",action:"toggle_recipes"},f:["Showing Craftable Recipes"]}],n:50,r:"data.display_craftable_only",p:[68,6,1971]},{t:4,n:51,f:[{p:[73,7,2138],t:7,e:"ui-button",a:{icon:"unlock",action:"toggle_recipes"},f:["Showing All Recipes"]}],r:"data.display_craftable_only"}]}," ",{p:[78,6,2268],t:7,e:"td",a:{style:"float:right!important"},f:[{p:[79,7,2310],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.display_compact"],s:'_0?"check-square-o":"square-o"'},p:[79,24,2327]}],action:"toggle_compact"},f:["Compact"]}]}]}," ",{p:[84,5,2474],t:7,e:"tr",f:[{t:4,f:[{p:[86,6,2515],t:7,e:"td",a:{style:"width:150px!important"},f:[{p:[87,7,2557],t:7,e:"ui-button",a:{icon:"arrow-left",action:"backwardSubCat"},f:[{t:2,r:"data.prev_subcat",p:[88,8,2619]}]}]}," ",{p:[91,6,2678],t:7,e:"td",a:{style:"width:150px!important"},f:[{p:[92,7,2720],t:7,e:"ui-button",a:{icon:"arrow-right",action:"forwardSubCat"},f:[{t:2,r:"data.next_subcat",p:[93,8,2782]}]}]}],n:50,r:"data.subcategory",p:[85,5,2484]}]}]}," ",{t:4,f:[{t:4,f:[" ",{p:[101,6,2992],t:7,e:"ui-input",a:{value:[{t:2,r:"filter",p:[101,23,3009]}],placeholder:"Filter.."}}],n:51,r:"data.display_compact",p:[100,5,2902]}],n:50,r:"config.fancy",p:[99,4,2876]}]}," ",{t:4,f:[{p:[106,5,3144],t:7,e:"ui-display",f:[{t:4,f:[{p:[108,6,3193],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[108,25,3212]}]},f:[{p:[109,7,3230],t:7,e:"ui-button",a:{tooltip:[{t:2,x:{r:["tooltiptext","req_text","catalyst_text","tool_text"],s:"_0(_1,_2,_3)"},p:[109,27,3250]}],"tooltip-side":"right",action:"make",params:['{"recipe": "',{t:2,r:"ref",p:[109,135,3358]},'"}'],icon:"gears"},v:{hover:"hover",unhover:"unhover"},f:["Craft"]}]}],n:52,r:"data.can_craft",p:[107,5,3162]}," ",{t:4,f:[{t:4,f:[{p:[116,7,3567],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[116,26,3586]}]},f:[{p:[117,8,3605],t:7,e:"ui-button",a:{tooltip:[{t:2,x:{r:["tooltiptext","req_text","catalyst_text","tool_text"],s:"_0(_1,_2,_3)"},p:[117,28,3625]}],"tooltip-side":"right",state:"disabled",icon:"gears"},v:{hover:"hover",unhover:"unhover"},f:["Craft"]}]}],n:52,r:"data.cant_craft",p:[115,6,3534]}],n:51,r:"data.display_craftable_only",p:[114,5,3495]}]}],n:50,r:"data.display_compact",p:[105,4,3110]},{t:4,n:51,f:[{t:4,f:[{p:[126,6,3947],t:7,e:"ui-display",a:{title:[{t:2,r:"name",p:[126,25,3966]}]},f:[{t:4,f:[{p:[128,8,4009],t:7,e:"ui-section",a:{label:"Requirements"},f:[{t:2,r:"req_text",p:[129,9,4052]}]}],n:50,r:"req_text",p:[127,7,3984]}," ",{t:4,f:[{p:[133,8,4139],t:7,e:"ui-section",a:{label:"Catalysts"},f:[{t:2,r:"catalyst_text",p:[134,9,4179]}]}],n:50,r:"catalyst_text",p:[132,7,4109]}," ",{t:4,f:[{p:[138,8,4267],t:7,e:"ui-section",a:{label:"Tools"},f:[{t:2,r:"tool_text",p:[139,9,4303]}]}],n:50,r:"tool_text",p:[137,7,4241]}," ",{p:[142,7,4361],t:7,e:"ui-section",f:[{p:[143,8,4382],t:7,e:"ui-button",a:{icon:"gears",action:"make",params:['{"recipe": "',{t:2,r:"ref",p:[143,66,4440]},'"}']},f:["Craft"]}]}]}],n:52,r:"data.can_craft",p:[125,5,3916]}," ",{t:4,f:[{t:4,f:[{p:[151,7,4621],t:7,e:"ui-display",a:{title:[{t:2,r:"name",p:[151,26,4640]}]},f:[{t:4,f:[{p:[153,9,4685],t:7,e:"ui-section",a:{label:"Requirements"},f:[{t:2,r:"req_text",p:[154,10,4729]}]}],n:50,r:"req_text",p:[152,8,4659]}," ",{t:4,f:[{p:[158,9,4820],t:7,e:"ui-section",a:{label:"Catalysts"},f:[{t:2,r:"catalyst_text",p:[159,10,4861]}]}],n:50,r:"catalyst_text",p:[157,8,4789]}," ",{t:4,f:[{p:[163,9,4953],t:7,e:"ui-section",a:{label:"Tools"},f:[{t:2,r:"tool_text",p:[164,10,4990]}]}],n:50,r:"tool_text",p:[162,8,4926]}]}],n:52,r:"data.cant_craft",p:[150,6,4588]}],n:51,r:"data.display_craftable_only",p:[149,5,4549]}],r:"data.display_compact"}],r:"data.busy"}]}]},e.exports=a.extend(r.exports)},{205:205,312:312}],285:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-notice",f:[{p:[2,3,15],t:7,e:"span",f:["The regulator ",{t:2,x:{r:["data.holding"],s:'_0?"is":"is not"'},p:[2,23,35]}," connected to a tank."]}]}," ",{p:[4,1,113],t:7,e:"ui-display",a:{title:"Status",button:0},f:[{p:[5,3,151],t:7,e:"ui-section",a:{label:"Pressure"},f:[{p:[6,5,186],t:7,e:"span",f:[{t:2,x:{r:["adata.pressure"],s:"Math.round(_0)"},p:[6,11,192]}," kPa"]}]}," ",{p:[8,3,254],t:7,e:"ui-section",a:{label:"Port"},f:[{p:[9,5,285],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.connected"],s:'_0?"good":"average"'},p:[9,18,298]}]},f:[{t:2,x:{r:["data.connected"],s:'_0?"Connected":"Not Connected"'},p:[9,59,339]}]}]}]}," ",{p:[12,1,430],t:7,e:"ui-display",a:{title:"Pump"},f:[{p:[13,3,459],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[14,5,491],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.on"],s:'_0?"power-off":"close"'},p:[14,22,508]}],style:[{t:2,x:{r:["data.on"],s:'_0?"selected":"null"'},p:[15,14,559]}],action:"power"},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[16,22,616]}]}]}," ",{p:[18,3,675],t:7,e:"ui-section",a:{label:"Direction"},f:[{p:[19,5,711],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.direction"],s:'_0=="out"?"sign-out":"sign-in"'},p:[19,22,728]}],action:"direction"},f:[{t:2,x:{r:["data.direction"],s:'_0=="out"?"Out":"In"'},p:[20,26,808]}]}]}," ",{p:[22,3,883],t:7,e:"ui-section",a:{label:"Target Pressure"},f:[{p:[23,5,925],t:7,e:"ui-bar",a:{min:[{t:2,r:"data.min_pressure",p:[23,18,938]}],max:[{t:2,r:"data.max_pressure",p:[23,46,966]}],value:[{t:2,r:"data.target_pressure",p:[24,14,1003]}]},f:[{t:2,x:{r:["adata.target_pressure"],s:"Math.round(_0)"},p:[24,40,1029]}," kPa"]}]}," ",{p:[26,3,1100],t:7,e:"ui-section",a:{label:"Pressure Regulator"},f:[{p:[27,5,1145],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["data.target_pressure","data.default_pressure"],s:'_0!=_1?null:"disabled"'},p:[27,38,1178]}],action:"pressure",params:'{"pressure": "reset"}'},f:["Reset"]}," ",{p:[29,5,1328],t:7,e:"ui-button",a:{icon:"minus",state:[{t:2,x:{r:["data.target_pressure","data.min_pressure"],s:'_0>_1?null:"disabled"'},p:[29,36,1359]}],action:"pressure",params:'{"pressure": "min"}'},f:["Min"]}," ",{p:[31,5,1500],t:7,e:"ui-button",a:{icon:"pencil",action:"pressure",params:'{"pressure": "input"}'},f:["Set"]}," ",{p:[32,5,1595],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.target_pressure","data.max_pressure"],s:'_0<_1?null:"disabled"'},p:[32,35,1625]}],action:"pressure",params:'{"pressure": "max"}'},f:["Max"]}]}]}," ",{p:{button:[{t:4,f:[{p:[39,7,1891],t:7,e:"ui-button",a:{icon:"eject",style:[{t:2,x:{r:["data.on"],s:'_0?"danger":null'},p:[39,38,1922]}],action:"eject"},f:["Eject"]}],n:50,r:"data.holding",p:[38,5,1863]}]},t:7,e:"ui-display",a:{title:"Holding Tank",button:0},f:[" ",{t:4,f:[{p:[43,3,2042],t:7,e:"ui-section",a:{label:"Label"},f:[{t:2,r:"data.holding.name",p:[44,4,2073]}]}," ",{p:[46,3,2115],t:7,e:"ui-section",a:{label:"Pressure"},f:[{t:2,x:{r:["adata.holding.pressure"],s:"Math.round(_0)"},p:[47,4,2149]}," kPa"]}],n:50,r:"data.holding",p:[42,3,2018]},{t:4,n:51,f:[{p:[50,3,2223],t:7,e:"ui-section",f:[{p:[51,4,2240],t:7,e:"span",a:{"class":"average"},f:["No Holding Tank"]}]}],r:"data.holding"}]}]},e.exports=a.extend(r.exports)},{205:205}],286:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0], - t:7,e:"ui-notice",f:[{p:[2,3,15],t:7,e:"span",f:["The regulator ",{t:2,x:{r:["data.holding"],s:'_0?"is":"is not"'},p:[2,23,35]}," connected to a tank."]}]}," ",{p:[4,1,113],t:7,e:"ui-display",a:{title:"Status",button:0},f:[{p:[5,3,151],t:7,e:"ui-section",a:{label:"Pressure"},f:[{p:[6,5,186],t:7,e:"span",f:[{t:2,x:{r:["adata.pressure"],s:"Math.round(_0)"},p:[6,11,192]}," kPa"]}]}," ",{p:[8,3,254],t:7,e:"ui-section",a:{label:"Port"},f:[{p:[9,5,285],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.connected"],s:'_0?"good":"average"'},p:[9,18,298]}]},f:[{t:2,x:{r:["data.connected"],s:'_0?"Connected":"Not Connected"'},p:[9,59,339]}]}]}]}," ",{p:[12,1,430],t:7,e:"ui-display",a:{title:"Filter"},f:[{p:[13,3,461],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[14,5,493],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.on"],s:'_0?"power-off":"close"'},p:[14,22,510]}],style:[{t:2,x:{r:["data.on"],s:'_0?"selected":"null"'},p:[15,14,561]}],action:"power"},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[16,22,618]}]}]}]}," ",{p:{button:[{t:4,f:[{p:[22,7,787],t:7,e:"ui-button",a:{icon:"eject",style:[{t:2,x:{r:["data.on"],s:'_0?"danger":null'},p:[22,38,818]}],action:"eject"},f:["Eject"]}],n:50,r:"data.holding",p:[21,5,759]}]},t:7,e:"ui-display",a:{title:"Holding Tank",button:0},f:[" ",{t:4,f:[{p:[26,3,938],t:7,e:"ui-section",a:{label:"Label"},f:[{t:2,r:"data.holding.name",p:[27,4,969]}]}," ",{p:[29,3,1011],t:7,e:"ui-section",a:{label:"Pressure"},f:[{t:2,x:{r:["adata.holding.pressure"],s:"Math.round(_0)"},p:[30,4,1045]}," kPa"]}],n:50,r:"data.holding",p:[25,3,914]},{t:4,n:51,f:[{p:[33,3,1119],t:7,e:"ui-section",f:[{p:[34,4,1136],t:7,e:"span",a:{"class":"average"},f:["No Holding Tank"]}]}],r:"data.holding"}]}]},e.exports=a.extend(r.exports)},{205:205}],287:[function(t,e,n){var a=t(205),r={exports:{}};!function(t){"use strict";t.exports={data:{chargingState:function(t){switch(t){case 2:return"good";case 1:return"average";default:return"bad"}},chargingMode:function(t){return 2==t?"Full":1==t?"Charging":"Draining"},channelState:function(t){return t>=2?"good":"bad"},channelPower:function(t){return t>=2?"On":"Off"},channelMode:function(t){return 1==t||3==t?"Auto":"Manual"}},computed:{graphData:function(){var t=this.get("data.history");return Object.keys(t).map(function(e){return t[e].map(function(t,e){return{x:e,y:t}})})}}}}(r),r.exports.template={v:3,t:[" ",{p:[42,1,1035],t:7,e:"ui-display",a:{title:"Network"},f:[{t:4,f:[{p:[44,5,1093],t:7,e:"ui-linegraph",a:{points:[{t:2,r:"graphData",p:[44,27,1115]}],height:"500",legend:'["Available", "Load"]',colors:'["rgb(0, 102, 0)", "rgb(153, 0, 0)"]',xunit:"seconds ago",xfactor:[{t:2,r:"data.interval",p:[46,38,1267]}],yunit:"W",yfactor:"1",xinc:[{t:2,x:{r:["data.stored"],s:"_0/10"},p:[47,15,1323]}],yinc:"9"}}],n:50,r:"config.fancy",p:[43,3,1067]},{t:4,n:51,f:[{p:[49,5,1373],t:7,e:"ui-section",a:{label:"Available"},f:[{p:[50,7,1411],t:7,e:"span",f:[{t:2,r:"data.supply",p:[50,13,1417]}," W"]}]}," ",{p:[52,5,1466],t:7,e:"ui-section",a:{label:"Load"},f:[{p:[53,9,1501],t:7,e:"span",f:[{t:2,r:"data.demand",p:[53,15,1507]}," W"]}]}],r:"config.fancy"}]}," ",{p:[57,1,1578],t:7,e:"ui-display",a:{title:"Areas"},f:[{p:[58,3,1608],t:7,e:"ui-section",a:{nowrap:0},f:[{p:[59,5,1633],t:7,e:"div",a:{"class":"content"},f:["Area"]}," ",{p:[60,5,1670],t:7,e:"div",a:{"class":"content"},f:["Charge"]}," ",{p:[61,5,1709],t:7,e:"div",a:{"class":"content"},f:["Load"]}," ",{p:[62,5,1746],t:7,e:"div",a:{"class":"content"},f:["Status"]}," ",{p:[63,5,1785],t:7,e:"div",a:{"class":"content"},f:["Equipment"]}," ",{p:[64,5,1827],t:7,e:"div",a:{"class":"content"},f:["Lighting"]}," ",{p:[65,5,1868],t:7,e:"div",a:{"class":"content"},f:["Environment"]}]}," ",{t:4,f:[{p:[68,5,1953],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[68,24,1972]}],nowrap:0},f:[{p:[69,7,1997],t:7,e:"div",a:{"class":"content"},f:[{t:2,x:{r:["@index","adata.areas"],s:"Math.round(_1[_0].charge)"},p:[69,28,2018]}," %"]}," ",{p:[70,7,2076],t:7,e:"div",a:{"class":"content"},f:[{t:2,x:{r:["@index","adata.areas"],s:"Math.round(_1[_0].load)"},p:[70,28,2097]}," W"]}," ",{p:[71,7,2153],t:7,e:"div",a:{"class":"content"},f:[{p:[71,28,2174],t:7,e:"span",a:{"class":[{t:2,x:{r:["chargingState","charging"],s:"_0(_1)"},p:[71,41,2187]}]},f:[{t:2,x:{r:["chargingMode","charging"],s:"_0(_1)"},p:[71,70,2216]}]}]}," ",{p:[72,7,2263],t:7,e:"div",a:{"class":"content"},f:[{p:[72,28,2284],t:7,e:"span",a:{"class":[{t:2,x:{r:["channelState","eqp"],s:"_0(_1)"},p:[72,41,2297]}]},f:[{t:2,x:{r:["channelPower","eqp"],s:"_0(_1)"},p:[72,64,2320]}," [",{p:[72,87,2343],t:7,e:"span",f:[{t:2,x:{r:["channelMode","eqp"],s:"_0(_1)"},p:[72,93,2349]}]},"]"]}]}," ",{p:[73,7,2398],t:7,e:"div",a:{"class":"content"},f:[{p:[73,28,2419],t:7,e:"span",a:{"class":[{t:2,x:{r:["channelState","lgt"],s:"_0(_1)"},p:[73,41,2432]}]},f:[{t:2,x:{r:["channelPower","lgt"],s:"_0(_1)"},p:[73,64,2455]}," [",{p:[73,87,2478],t:7,e:"span",f:[{t:2,x:{r:["channelMode","lgt"],s:"_0(_1)"},p:[73,93,2484]}]},"]"]}]}," ",{p:[74,7,2533],t:7,e:"div",a:{"class":"content"},f:[{p:[74,28,2554],t:7,e:"span",a:{"class":[{t:2,x:{r:["channelState","env"],s:"_0(_1)"},p:[74,41,2567]}]},f:[{t:2,x:{r:["channelPower","env"],s:"_0(_1)"},p:[74,64,2590]}," [",{p:[74,87,2613],t:7,e:"span",f:[{t:2,x:{r:["channelMode","env"],s:"_0(_1)"},p:[74,93,2619]}]},"]"]}]}]}],n:52,r:"data.areas",p:[67,3,1927]}]}]},e.exports=a.extend(r.exports)},{205:205}],288:[function(t,e,n){var a=t(205),r={exports:{}};!function(t){"use strict";t.exports={computed:{readableFrequency:function(){return Math.round(this.get("adata.frequency"))/10}}}}(r),r.exports.template={v:3,t:[" ",{p:[11,1,177],t:7,e:"ui-display",a:{title:"Settings"},f:[{t:4,f:[{p:[13,5,236],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[14,7,270],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.listening"],s:'_0?"power-off":"close"'},p:[14,24,287]}],style:[{t:2,x:{r:["data.listening"],s:'_0?"selected":null'},p:[14,75,338]}],action:"listen"},f:[{t:2,x:{r:["data.listening"],s:'_0?"On":"Off"'},p:[16,9,413]}]}]}],n:50,r:"data.headset",p:[12,3,210]},{t:4,n:51,f:[{p:[19,5,494],t:7,e:"ui-section",a:{label:"Microphone"},f:[{p:[20,7,533],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.broadcasting"],s:'_0?"power-off":"close"'},p:[20,24,550]}],style:[{t:2,x:{r:["data.broadcasting"],s:'_0?"selected":null'},p:[20,78,604]}],action:"broadcast"},f:[{t:2,x:{r:["data.broadcasting"],s:'_0?"Engaged":"Disengaged"'},p:[22,9,685]}]}]}," ",{p:[24,5,769],t:7,e:"ui-section",a:{label:"Speaker"},f:[{p:[25,7,805],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.listening"],s:'_0?"power-off":"close"'},p:[25,24,822]}],style:[{t:2,x:{r:["data.listening"],s:'_0?"selected":null'},p:[25,75,873]}],action:"listen"},f:[{t:2,x:{r:["data.listening"],s:'_0?"Engaged":"Disengaged"'},p:[27,9,948]}]}]}],r:"data.headset"}," ",{t:4,f:[{p:[31,5,1064],t:7,e:"ui-section",a:{label:"High Volume"},f:[{p:[32,7,1104],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.useCommand"],s:'_0?"power-off":"close"'},p:[32,24,1121]}],style:[{t:2,x:{r:["data.useCommand"],s:'_0?"selected":null'},p:[32,76,1173]}],action:"command"},f:[{t:2,x:{r:["data.useCommand"],s:'_0?"On":"Off"'},p:[34,9,1250]}]}]}],n:50,r:"data.command",p:[30,3,1038]}]}," ",{p:[38,1,1342],t:7,e:"ui-display",a:{title:"Channel"},f:[{p:[39,3,1374],t:7,e:"ui-section",a:{label:"Frequency"},f:[{t:4,f:[{p:[41,7,1439],t:7,e:"span",f:[{t:2,r:"readableFrequency",p:[41,13,1445]}]}],n:50,r:"data.freqlock",p:[40,5,1410]},{t:4,n:51,f:[{p:[43,7,1495],t:7,e:"ui-button",a:{icon:"fast-backward",state:[{t:2,x:{r:["data.frequency","data.minFrequency"],s:'_0==_1?"disabled":null'},p:[43,46,1534]}],action:"frequency",params:'{"adjust": -1}'}}," ",{p:[44,7,1646],t:7,e:"ui-button",a:{icon:"backward",state:[{t:2,x:{r:["data.frequency","data.minFrequency"],s:'_0==_1?"disabled":null'},p:[44,41,1680]}],action:"frequency",params:'{"adjust": -.2}'}}," ",{p:[45,7,1793],t:7,e:"ui-button",a:{icon:"pencil",action:"frequency",params:'{"tune": "input"}'},f:[{t:2,r:"readableFrequency",p:[45,78,1864]}]}," ",{p:[46,7,1905],t:7,e:"ui-button",a:{icon:"forward",state:[{t:2,x:{r:["data.frequency","data.maxFrequency"],s:'_0==_1?"disabled":null'},p:[46,40,1938]}],action:"frequency",params:'{"adjust": .2}'}}," ",{p:[47,7,2050],t:7,e:"ui-button",a:{icon:"fast-forward",state:[{t:2,x:{r:["data.frequency","data.maxFrequency"],s:'_0==_1?"disabled":null'},p:[47,45,2088]}],action:"frequency",params:'{"adjust": 1}'}}],r:"data.freqlock"}]}," ",{t:4,f:[{p:[51,5,2262],t:7,e:"ui-section",a:{label:"Subspace Transmission"},f:[{p:[52,7,2312],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.subspace"],s:'_0?"power-off":"close"'},p:[52,24,2329]}],style:[{t:2,x:{r:["data.subspace"],s:'_0?"selected":null'},p:[52,74,2379]}],action:"subspace"},f:[{t:2,x:{r:["data.subspace"],s:'_0?"Active":"Inactive"'},p:[53,29,2447]}]}]}],n:50,r:"data.subspaceSwitchable",p:[50,3,2225]}," ",{t:4,f:[{p:[57,5,2578],t:7,e:"ui-section",a:{label:"Channels"},f:[{t:4,f:[{p:[59,9,2656],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["."],s:'_0?"check-square-o":"square-o"'},p:[59,26,2673]}],style:[{t:2,x:{r:["."],s:'_0?"selected":null'},p:[60,18,2730]}],action:"channel",params:['{"channel": "',{t:2,r:"channel",p:[61,49,2806]},'"}']},f:[{t:2,r:"channel",p:[62,11,2833]}]},{p:[62,34,2856],t:7,e:"br"}],n:52,i:"channel",r:"data.channels",p:[58,7,2615]}]}],n:50,x:{r:["data.subspace","data.channels"],s:"_0&&_1"},p:[56,3,2534]}]}]},e.exports=a.extend(r.exports)},{205:205}],289:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,3,23],t:7,e:"ui-notice",f:[{t:2,r:"data.notice",p:[3,5,40]}]}],n:50,r:"data.notice",p:[1,1,0]},{p:[6,1,82],t:7,e:"ui-display",a:{title:"Satellite Network Control",button:0},f:[{t:4,f:[{p:[8,4,168],t:7,e:"ui-section",a:{candystripe:0,nowrap:0},f:[{p:[9,9,209],t:7,e:"div",a:{"class":"content"},f:["#",{t:2,r:"id",p:[9,31,231]}]}," ",{p:[10,9,253],t:7,e:"div",a:{"class":"content"},f:[{t:2,r:"mode",p:[10,30,274]}]}," ",{p:[11,9,298],t:7,e:"div",a:{"class":"content"},f:[{p:[12,11,331],t:7,e:"ui-button",a:{action:"toggle",params:['{"id": "',{t:2,r:"id",p:[12,54,374]},'"}']},f:[{t:2,x:{r:["active"],s:'_0?"Deactivate":"Activate"'},p:[12,64,384]}]}]}]}],n:52,r:"data.satellites",p:[7,2,138]}]}," ",{t:4,f:[{p:[18,1,528],t:7,e:"ui-display",a:{title:"Station Shield Coverage"},f:[{p:[19,3,576],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.meteor_shield_coverage_max",p:[19,24,597]}],value:[{t:2,r:"data.meteor_shield_coverage",p:[19,68,641]}]},f:[{t:2,x:{r:["data.meteor_shield_coverage","data.meteor_shield_coverage_max"],s:"100*_0/_1"},p:[19,101,674]}," %"]}," ",{p:[20,1,758],t:7,e:"ui-display",f:[]}]}],n:50,r:"data.meteor_shield",p:[17,1,500]}]},e.exports=a.extend(r.exports)},{205:205}],290:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[" "," "," ",{p:[5,1,200],t:7,e:"ui-tabs",a:{tabs:[{t:2,r:"data.tabs",p:[5,16,215]}]},f:[{p:[6,2,233],t:7,e:"tab",a:{name:"Status"},f:[{p:[7,3,256],t:7,e:"status"}]}," ",{p:[9,2,277],t:7,e:"tab",a:{name:"Templates"},f:[{p:[10,3,303],t:7,e:"templates"}]}," ",{p:[12,2,327],t:7,e:"tab",a:{name:"Modification"},f:[{t:4,f:[{p:[14,3,381],t:7,e:"modification"}],n:50,r:"data.selected",p:[13,3,356]}," ",{t:4,f:[{p:[17,3,437],t:7,e:"span",a:{"class":"bad"},f:["No shuttle selected."]}],n:50,x:{r:["data.selected"],s:"!_0"},p:[16,3,411]}]}]}]},r.exports.components=r.exports.components||{};var i={modification:t(291),templates:t(293),status:t(292)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{205:205,291:291,292:292,293:293}],291:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:["Selected: ",{t:2,r:"data.selected.name",p:[1,30,29]}]},f:[{t:4,f:[{p:[3,5,96],t:7,e:"ui-section",a:{label:"Description"},f:[{t:2,r:"data.selected.description",p:[3,37,128]}]}],n:50,r:"data.selected.description",p:[2,3,57]}," ",{t:4,f:[{p:[6,5,224],t:7,e:"ui-section",a:{label:"Admin Notes"},f:[{t:2,r:"data.selected.admin_notes",p:[6,37,256]}]}],n:50,r:"data.selected.admin_notes",p:[5,3,185]}]}," ",{t:4,f:[{p:[11,3,361],t:7,e:"ui-display",a:{title:["Existing Shuttle: ",{t:2,r:"data.existing_shuttle.name",p:[11,40,398]}]},f:["Status: ",{t:2,r:"data.existing_shuttle.status",p:[12,13,444]}," ",{t:4,f:["(",{t:2,r:"data.existing_shuttle.timeleft",p:[14,8,526]},")"],n:50,r:"data.existing_shuttle.timer",p:[13,5,482]}," ",{p:[16,5,580],t:7,e:"ui-button",a:{action:"jump_to",params:['{"type": "mobile", "id": "',{t:2,r:"data.existing_shuttle.id",p:[17,41,649]},'"}']},f:["Jump To"]}]}],n:50,r:"data.existing_shuttle",p:[10,1,328]},{t:4,f:[{p:[24,3,778],t:7,e:"ui-display",a:{title:"Existing Shuttle: None"}}],n:50,x:{r:["data.existing_shuttle"],s:"!_0"},p:[23,1,744]},{p:[27,1,847],t:7,e:"ui-button",a:{action:"preview",params:['{"shuttle_id": "',{t:2,r:"data.selected.shuttle_id",p:[28,27,902]},'"}']},f:["Preview"]}," ",{p:[31,1,961],t:7,e:"ui-button",a:{action:"load",params:['{"shuttle_id": "',{t:2,r:"data.selected.shuttle_id",p:[32,27,1013]},'"}'],style:"danger"},f:["Load"]}," ",{p:[37,1,1089],t:7,e:"ui-display",a:{title:"Status"},f:[]}]},e.exports=a.extend(r.exports)},{205:205}],292:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,3,27],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[2,22,46]}," (",{t:2,r:"id",p:[2,32,56]},")"]},f:[{t:2,r:"status",p:[3,5,71]}," ",{t:4,f:["(",{t:2,r:"timeleft",p:[5,8,109]},")"],n:50,r:"timer",p:[4,5,87]}," ",{p:[7,5,141],t:7,e:"ui-button",a:{action:"jump_to",params:['{"type": "mobile", "id": "',{t:2,r:"id",p:[7,67,203]},'"}']},f:["Jump To"]}," ",{p:[10,5,252],t:7,e:"ui-button",a:{action:"fast_travel",params:['{"id": "',{t:2,r:"id",p:[10,53,300]},'"}'],state:[{t:2,x:{r:["can_fast_travel"],s:'_0?null:"disabled"'},p:[10,70,317]}]},f:["Fast Travel"]}]}],n:52,r:"data.shuttles",p:[1,1,0]}]},e.exports=a.extend(r.exports)},{205:205}],293:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-tabs",a:{tabs:[{t:2,r:"data.templates_tabs",p:[1,16,15]}]},f:[{t:4,f:[{p:[3,5,74],t:7,e:"tab",a:{name:[{t:2,r:"port_id",p:[3,16,85]}]},f:[{t:4,f:[{p:[5,9,135],t:7,e:"ui-display",a:{title:[{t:2,r:"name",p:[5,28,154]}]},f:[{t:4,f:[{p:[7,13,209],t:7,e:"ui-section",a:{label:"Description"},f:[{t:2,r:"description",p:[7,45,241]}]}],n:50,r:"description",p:[6,11,176]}," ",{t:4,f:[{p:[10,13,333],t:7,e:"ui-section",a:{label:"Admin Notes"},f:[{t:2,r:"admin_notes",p:[10,45,365]}]}],n:50,r:"admin_notes",p:[9,11,300]}," ",{p:[13,11,426],t:7,e:"ui-button",a:{action:"select_template",params:['{"shuttle_id": "',{t:2,r:"shuttle_id",p:[14,37,499]},'"}'],state:[{t:2,x:{r:["data.selected.shuttle_id","shuttle_id"],s:'_0==_1?"selected":null'},p:[15,20,537]}]},f:[{t:2,x:{r:["data.selected.shuttle_id","shuttle_id"],s:'_0==_1?"Selected":"Select"'},p:[17,13,630]}]}]}],n:52,r:"templates",p:[4,7,106]}]}],n:52,r:"data.templates",p:[2,3,44]}]}]},e.exports=a.extend(r.exports)},{205:205}],294:[function(t,e,n){var a=t(205),r={exports:{}};!function(t){"use strict";t.exports={computed:{occupantStatState:function(){switch(this.get("data.occupant.stat")){case 0:return"good";case 1:return"average";default:return"bad"}}}}}(r),r.exports.template={v:3,t:[" ",{p:[15,1,280],t:7,e:"ui-display",a:{title:"Occupant"},f:[{p:[16,3,313],t:7,e:"ui-section",a:{label:"Occupant"},f:[{p:[17,3,346],t:7,e:"span",f:[{t:2,x:{r:["data.occupant.name"],s:'_0?_0:"No Occupant"'},p:[17,9,352]}]}]}," ",{t:4,f:[{p:[20,5,466],t:7,e:"ui-section",a:{label:"State"},f:[{p:[21,7,500],t:7,e:"span",a:{"class":[{t:2,r:"occupantStatState",p:[21,20,513]}]},f:[{t:2,x:{r:["data.occupant.stat"],s:'_0==0?"Conscious":_0==1?"Unconcious":"Dead"'},p:[21,43,536]}]}]}," ",{p:[23,5,658],t:7,e:"ui-section",a:{label:"Health"},f:[{p:[24,7,693],t:7,e:"ui-bar",a:{min:[{t:2,r:"data.occupant.minHealth",p:[24,20,706]}],max:[{t:2,r:"data.occupant.maxHealth",p:[24,54,740]}],value:[{t:2,r:"data.occupant.health",p:[24,90,776]}],state:[{t:2,x:{r:["data.occupant.health"],s:'_0>=0?"good":"average"'},p:[25,16,818]}]},f:[{t:2,x:{r:["adata.occupant.health"],s:"Math.round(_0)"},p:[25,68,870]}]}]}," ",{t:4,f:[{p:[28,7,1107],t:7,e:"ui-section",a:{label:[{t:2,r:"label",p:[28,26,1126]}]},f:[{p:[29,9,1147],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.occupant.maxHealth",p:[29,30,1168]}],value:[{t:2,rx:{r:"data.occupant",m:[{t:30,n:"type"}]},p:[29,66,1204]}],state:"bad"},f:[{t:2,x:{r:["type","adata.occupant"],s:"Math.round(_1[_0])"},p:[29,103,1241]}]}]}],n:52,x:{r:[],s:'[{label:"Brute",type:"bruteLoss"},{label:"Respiratory",type:"oxyLoss"},{label:"Toxin",type:"toxLoss"},{label:"Burn",type:"fireLoss"}]'},p:[27,5,941]}," ",{p:[32,5,1328],t:7,e:"ui-section",a:{label:"Cells"},f:[{p:[33,9,1364],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.occupant.cloneLoss"],s:'_0?"bad":"good"'},p:[33,22,1377]}]},f:[{t:2,x:{r:["data.occupant.cloneLoss"],s:'_0?"Damaged":"Healthy"'},p:[33,68,1423]}]}]}," ",{p:[35,5,1506],t:7,e:"ui-section",a:{label:"Brain"},f:[{p:[36,9,1542],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.occupant.brainLoss"],s:'_0?"bad":"good"'},p:[36,22,1555]}]},f:[{t:2,x:{r:["data.occupant.brainLoss"],s:'_0?"Abnormal":"Healthy"'},p:[36,68,1601]}]}]}," ",{p:[38,5,1685],t:7,e:"ui-section",a:{label:"Bloodstream"},f:[{t:4,f:[{p:[40,11,1772],t:7,e:"span",a:{"class":"highlight"},t0:"fade",f:[{t:2,x:{r:["volume"],s:"Math.fixed(_0,1)"},p:[40,54,1815]}," units of ",{t:2,r:"name",p:[40,89,1850]}]},{p:[40,104,1865],t:7,e:"br"}],n:52,r:"adata.occupant.reagents",p:[39,9,1727]},{t:4,n:51,f:[{p:[42,11,1900],t:7,e:"span",a:{"class":"good"},f:["Pure"]}],r:"adata.occupant.reagents"}]}],n:50,r:"data.occupied",p:[19,3,439]}]}," ",{p:[47,1,1996],t:7,e:"ui-display",a:{title:"Controls"},f:[{p:[48,2,2028],t:7,e:"ui-section",a:{label:"Door"},f:[{p:[49,5,2059],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.open"],s:'_0?"unlock":"lock"'},p:[49,22,2076]}],action:"door"},f:[{t:2,x:{r:["data.open"],s:'_0?"Open":"Closed"'},p:[49,71,2125]}]}]}," ",{p:[51,3,2190],t:7,e:"ui-section",a:{label:"Inject"},f:[{t:4,f:[{p:[53,7,2251],t:7,e:"ui-button",a:{icon:"flask",state:[{t:2,x:{r:["data.occupied","allowed"],s:'_0&&_1?null:"disabled"'},p:[53,38,2282]}],action:"inject",params:['{"chem": "',{t:2,r:"id",p:[53,122,2366]},'"}']},f:[{t:2,r:"name",p:[53,132,2376]}]},{p:[53,152,2396],t:7,e:"br"}],n:52,r:"data.chems",p:[52,5,2223]}]}]}]},e.exports=a.extend(r.exports)},{205:205}],295:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,3,25],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[2,22,44]}],labelcolor:[{t:2,r:"htmlcolor",p:[2,44,66]}],candystripe:0,right:0},f:[{p:[3,5,105],t:7,e:"ui-section",a:{label:"Status"},f:[{p:[3,32,132],t:7,e:"span",a:{"class":[{t:2,x:{r:["status"],s:'_0=="Dead"?"bad bold":_0=="Unconscious"?"average bold":"good"'},p:[3,45,145]}]},f:[{t:2,r:"status",p:[3,132,232]}]}]}," ",{p:[4,5,268],t:7,e:"ui-section",a:{label:"Jelly"},f:[{t:2,r:"exoticblood",p:[4,31,294]}]}," ",{p:[5,5,328],t:7,e:"ui-section",a:{label:"Location"},f:[{t:2,r:"area",p:[5,34,357]}]}," ",{p:[7,5,386],t:7,e:"ui-button",a:{state:[{t:2,r:"swap_button_state",p:[8,14,411]}],action:"swap",params:['{"ref": "',{t:2,r:"ref",p:[9,38,472]},'"}']},f:[{t:2,x:{r:["is_current"],s:'_0?"You Are Here":"Swap"'},p:[10,7,491]}]}]}],n:52,r:"data.bodies",p:[1,1,0]}]},e.exports=a.extend(r.exports)},{205:205}],296:[function(t,e,n){var a=t(205),r={exports:{}};!function(t){"use strict";t.exports={computed:{capacityPercentState:function(){var t=this.get("data.capacityPercent");return t>50?"good":t>15?"average":"bad"},inputState:function(){return this.get("data.capacityPercent")>=100?"good":this.get("data.inputting")?"average":"bad"},outputState:function(){return this.get("data.outputting")?"good":this.get("data.charge")>0?"average":"bad"}}}}(r),r.exports.template={v:3,t:[" ",{p:[24,1,663],t:7,e:"ui-display",a:{title:"Storage"},f:[{p:[25,3,695],t:7,e:"ui-section",a:{label:"Stored Energy"},f:[{p:[26,5,735],t:7,e:"ui-bar",a:{min:"0",max:"100",value:[{t:2,r:"data.capacityPercent",p:[26,38,768]}],state:[{t:2,r:"capacityPercentState",p:[26,71,801]}]},f:[{t:2,x:{r:["adata.capacityPercent"],s:"Math.fixed(_0)"},p:[26,97,827]},"%"]}]}]}," ",{p:[29,1,908],t:7,e:"ui-display",a:{title:"Input"},f:[{p:[30,3,938],t:7,e:"ui-section",a:{label:"Charge Mode"},f:[{p:[31,5,976],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.inputAttempt"],s:'_0?"refresh":"close"'},p:[31,22,993]}],style:[{t:2,x:{r:["data.inputAttempt"],s:'_0?"selected":null'},p:[31,74,1045]}],action:"tryinput"},f:[{t:2,x:{r:["data.inputAttempt"],s:'_0?"Auto":"Off"'},p:[32,25,1113]}]},"   [",{p:[34,6,1182],t:7,e:"span",a:{"class":[{t:2,r:"inputState",p:[34,19,1195]}]},f:[{t:2,x:{r:["data.capacityPercent","data.inputting"],s:'_0>=100?"Fully Charged":_1?"Charging":"Not Charging"'},p:[34,35,1211]}]},"]"]}," ",{p:[36,3,1335],t:7,e:"ui-section",a:{label:"Target Input"},f:[{p:[37,5,1374],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.inputLevelMax",p:[37,26,1395]}],value:[{t:2,r:"data.inputLevel",p:[37,57,1426]}]},f:[{t:2,x:{r:["adata.inputLevel"],s:"Math.round(_0)"},p:[37,78,1447]},"W"]}]}," ",{p:[39,3,1509],t:7,e:"ui-section",a:{label:"Adjust Input"},f:[{p:[40,5,1548],t:7,e:"ui-button",a:{icon:"fast-backward",state:[{t:2,x:{r:["data.inputLevel"],s:'_0==0?"disabled":null'},p:[40,44,1587]}],action:"input",params:'{"target": "min"}'}}," ",{p:[41,5,1682],t:7,e:"ui-button",a:{icon:"backward",state:[{t:2,x:{r:["data.inputLevel"],s:'_0==0?"disabled":null'},p:[41,39,1716]}],action:"input",params:'{"adjust": -10000}'}}," ",{p:[42,5,1812],t:7,e:"ui-button",a:{icon:"pencil",action:"input",params:'{"target": "input"}'},f:["Set"]}," ",{p:[43,5,1902],t:7,e:"ui-button",a:{icon:"forward",state:[{t:2,x:{r:["data.inputLevel","data.inputLevelMax"],s:'_0==_1?"disabled":null'},p:[43,38,1935]}],action:"input",params:'{"adjust": 10000}'}}," ",{p:[44,5,2047],t:7,e:"ui-button",a:{icon:"fast-forward",state:[{t:2,x:{r:["data.inputLevel","data.inputLevelMax"],s:'_0==_1?"disabled":null'},p:[44,43,2085]}],action:"input",params:'{"target": "max"}'}}]}," ",{p:[46,3,2212],t:7,e:"ui-section",a:{label:"Available"},f:[{p:[47,3,2246],t:7,e:"span",f:[{t:2,x:{r:["adata.inputAvailable"],s:"Math.round(_0)"},p:[47,9,2252]},"W"]}]}]}," ",{p:[50,1,2329],t:7,e:"ui-display",a:{title:"Output"},f:[{p:[51,3,2360],t:7,e:"ui-section",a:{label:"Output Mode"},f:[{p:[52,5,2398],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.outputAttempt"],s:'_0?"power-off":"close"'},p:[52,22,2415]}],style:[{t:2,x:{r:["data.outputAttempt"],s:'_0?"selected":null'},p:[52,77,2470]}],action:"tryoutput"},f:[{t:2,x:{r:["data.outputAttempt"],s:'_0?"On":"Off"'},p:[53,26,2540]}]},"   [",{p:[55,6,2608],t:7,e:"span",a:{"class":[{t:2,r:"outputState",p:[55,19,2621]}]},f:[{t:2,x:{r:["data.outputting","data.charge"],s:'_0?"Sending":_1>0?"Not Sending":"No Charge"'},p:[55,36,2638]}]},"]"]}," ",{p:[57,3,2745],t:7,e:"ui-section",a:{label:"Target Output"},f:[{p:[58,5,2785],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"data.outputLevelMax",p:[58,26,2806]}],value:[{t:2,r:"data.outputLevel",p:[58,58,2838]}]},f:[{t:2,x:{r:["adata.outputLevel"],s:"Math.round(_0)"},p:[58,80,2860]},"W"]}]}," ",{p:[60,3,2923],t:7,e:"ui-section",a:{label:"Adjust Output"},f:[{p:[61,5,2963],t:7,e:"ui-button",a:{icon:"fast-backward",state:[{t:2,x:{r:["data.outputLevel"],s:'_0==0?"disabled":null'},p:[61,44,3002]}],action:"output",params:'{"target": "min"}'}}," ",{p:[62,5,3099],t:7,e:"ui-button",a:{icon:"backward",state:[{t:2,x:{r:["data.outputLevel"],s:'_0==0?"disabled":null'},p:[62,39,3133]}],action:"output",params:'{"adjust": -10000}'}}," ",{p:[63,5,3231],t:7,e:"ui-button",a:{icon:"pencil",action:"output",params:'{"target": "input"}'},f:["Set"]}," ",{p:[64,5,3322],t:7,e:"ui-button",a:{icon:"forward",state:[{t:2,x:{r:["data.outputLevel","data.outputLevelMax"],s:'_0==_1?"disabled":null'},p:[64,38,3355]}],action:"output",params:'{"adjust": 10000}'}}," ",{p:[65,5,3470],t:7,e:"ui-button",a:{icon:"fast-forward",state:[{t:2,x:{r:["data.outputLevel","data.outputLevelMax"],s:'_0==_1?"disabled":null'},p:[65,43,3508]}],action:"output",params:'{"target": "max"}'}}]}," ",{p:[67,3,3638],t:7,e:"ui-section",a:{label:"Outputting"},f:[{p:[68,3,3673],t:7,e:"span",f:[{t:2,x:{r:["adata.outputUsed"],s:"Math.round(_0)"},p:[68,9,3679]},"W"]}]}]}]},e.exports=a.extend(r.exports)},{205:205}],297:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Status"},f:[{p:[2,3,31],t:7,e:"ui-section",a:{label:"Generated Power"},f:[{t:2,x:{r:["adata.generated"],s:"Math.round(_0)"},p:[3,5,73]},"W"]}," ",{p:[5,3,126],t:7,e:"ui-section",a:{label:"Orientation"},f:[{p:[6,5,164],t:7,e:"span",f:[{t:2,x:{r:["adata.angle"],s:"Math.round(_0)"},p:[6,11,170]},"° (",{t:2,r:"data.direction",p:[6,45,204]},")"]}]}," ",{p:[8,3,251],t:7,e:"ui-section",a:{label:"Adjust Angle"},f:[{p:[9,5,290],t:7,e:"ui-button",a:{icon:"step-backward",action:"angle",params:'{"adjust": -15}'},f:["15°"]}," ",{p:[10,5,387],t:7,e:"ui-button",a:{icon:"backward",action:"angle",params:'{"adjust": -5}'},f:["5°"]}," ",{p:[11,5,477],t:7,e:"ui-button",a:{icon:"forward",action:"angle",params:'{"adjust": 5}'},f:["5°"]}," ",{p:[12,5,565],t:7,e:"ui-button",a:{icon:"step-forward",action:"angle",params:'{"adjust": 15}'},f:["15°"]}]}]}," ",{p:[15,1,687],t:7,e:"ui-display",a:{title:"Tracking"},f:[{p:[16,3,720],t:7,e:"ui-section",a:{label:"Tracker Mode"},f:[{p:[17,5,759],t:7,e:"ui-button",a:{icon:"close",state:[{t:2,x:{r:["data.tracking_state"],s:'_0==0?"selected":null'},p:[17,36,790]}],action:"tracking",params:'{"mode": 0}'},f:["Off"]}," ",{p:[19,5,907],t:7,e:"ui-button",a:{icon:"clock-o",state:[{t:2,x:{r:["data.tracking_state"],s:'_0==1?"selected":null'},p:[19,38,940]}],action:"tracking",params:'{"mode": 1}'},f:["Timed"]}," ",{p:[21,5,1059],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["data.connected_tracker","data.tracking_state"],s:'_0?_1==2?"selected":null:"disabled"'},p:[21,38,1092]}],action:"tracking",params:'{"mode": 2}'},f:["Auto"]}]}," ",{p:[24,3,1262],t:7,e:"ui-section",a:{label:"Tracking Rate"},f:[{p:[25,3,1300],t:7,e:"span",f:[{t:2,x:{r:["adata.tracking_rate"],s:"Math.round(_0)"},p:[25,9,1306]},"°/h (",{t:2,r:"data.rotating_way",p:[25,53,1350]},")"]}]}," ",{p:[27,3,1399],t:7,e:"ui-section",a:{label:"Adjust Rate"},f:[{p:[28,5,1437],t:7,e:"ui-button",a:{icon:"fast-backward",action:"rate",params:'{"adjust": -180}'},f:["180°"]}," ",{p:[29,5,1535],t:7,e:"ui-button",a:{icon:"step-backward",action:"rate",params:'{"adjust": -30}'},f:["30°"]}," ",{p:[30,5,1631],t:7,e:"ui-button",a:{icon:"backward",action:"rate",params:'{"adjust": -5}'},f:["5°"]}," ",{p:[31,5,1720],t:7,e:"ui-button",a:{icon:"forward",action:"rate",params:'{"adjust": 5}'},f:["5°"]}," ",{p:[32,5,1807],t:7,e:"ui-button",a:{icon:"step-forward",action:"rate",params:'{"adjust": 30}'},f:["30°"]}," ",{p:[33,5,1901],t:7,e:"ui-button",a:{icon:"fast-forward",action:"rate",params:'{"adjust": 180}'},f:["180°"]}]}]}," ",{p:{button:[{p:[38,5,2088],t:7,e:"ui-button",a:{icon:"refresh",action:"refresh"},f:["Refresh"]}]},t:7,e:"ui-display",a:{title:"Devices",button:0},f:[" ",{p:[40,2,2169],t:7,e:"ui-section",a:{label:"Solar Tracker"},f:[{p:[41,5,2209],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.connected_tracker"],s:'_0?"good":"bad"'},p:[41,18,2222]}]},f:[{t:2,x:{r:["data.connected_tracker"],s:'_0?"":"Not "'},p:[41,63,2267]},"Found"]}]}," ",{p:[43,2,2338],t:7,e:"ui-section",a:{label:"Solar Panels"},f:[{p:[44,3,2375],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.connected_panels"],s:'_0?"good":"bad"'},p:[44,16,2388]}]},f:[{t:2,x:{r:["adata.connected_panels"],s:"Math.round(_0)"},p:[44,60,2432]}," Panels Connected"]}]}]}]},e.exports=a.extend(r.exports)},{205:205}],298:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:{button:[{t:4,f:[{p:[4,7,87],t:7,e:"ui-button",a:{icon:"eject",state:[{t:2,x:{r:["data.hasPowercell"],s:'_0?null:"disabled"'},p:[4,38,118]}],action:"eject"},f:["Eject"]}],n:50,r:"data.open",p:[3,5,62]}]},t:7,e:"ui-display",a:{title:"Power",button:0},f:[" ",{p:[7,3,226],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[8,5,258],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.on"],s:'_0?"power-off":"close"'},p:[8,22,275]}],style:[{t:2,x:{r:["data.on"],s:'_0?"selected":null'},p:[9,14,326]}],state:[{t:2,x:{r:["data.hasPowercell"],s:'_0?null:"disabled"'},p:[9,54,366]}],action:"power"},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[10,22,431]}]}]}," ",{p:[12,3,490],t:7,e:"ui-section",a:{label:"Cell"},f:[{t:4,f:[{p:[14,7,554],t:7,e:"ui-bar",a:{min:"0",max:"100",value:[{t:2,r:"data.powerLevel",p:[14,40,587]}]},f:[{t:2,x:{r:["adata.powerLevel"],s:"Math.fixed(_0)"},p:[14,61,608]},"%"]}],n:50,r:"data.hasPowercell",p:[13,5,521]},{t:4,n:51,f:[{p:[16,4,667],t:7,e:"span",a:{"class":"bad"},f:["No Cell"]}],r:"data.hasPowercell"}]}]}," ",{p:[20,1,744],t:7,e:"ui-display",a:{title:"Thermostat"},f:[{p:[21,3,779],t:7,e:"ui-section",a:{label:"Current Temperature"},f:[{p:[22,3,823],t:7,e:"span",f:[{t:2,x:{r:["adata.currentTemp"],s:"Math.round(_0)"},p:[22,9,829]},"°C"]}]}," ",{p:[24,2,894],t:7,e:"ui-section",a:{label:"Target Temperature"},f:[{p:[25,3,937],t:7,e:"span",f:[{t:2,x:{r:["adata.targetTemp"],s:"Math.round(_0)"},p:[25,9,943]},"°C"]}]}," ",{t:4,f:[{p:[28,5,1031],t:7,e:"ui-section",a:{label:"Adjust Target"},f:[{p:[29,7,1073],t:7,e:"ui-button",a:{icon:"fast-backward",state:[{t:2,x:{r:["data.targetTemp","data.minTemp"],s:'_0>_1?null:"disabled"'},p:[29,46,1112]}],action:"target",params:'{"adjust": -20}'}}," ",{p:[30,7,1218],t:7,e:"ui-button",a:{icon:"backward",state:[{t:2,x:{r:["data.targetTemp","data.minTemp"],s:'_0>_1?null:"disabled"'},p:[30,41,1252]}],action:"target",params:'{"adjust": -5}'}}," ",{p:[31,7,1357],t:7,e:"ui-button",a:{icon:"pencil",action:"target",params:'{"target": "input"}'},f:["Set"]}," ",{p:[32,7,1450],t:7,e:"ui-button",a:{icon:"forward",state:[{t:2,x:{r:["data.targetTemp","data.maxTemp"],s:'_0<_1?null:"disabled"'},p:[32,40,1483]}],action:"target",params:'{"adjust": 5}'}}," ",{p:[33,7,1587],t:7,e:"ui-button",a:{icon:"fast-forward",state:[{t:2,x:{r:["data.targetTemp","data.maxTemp"],s:'_0<_1?null:"disabled"'},p:[33,45,1625]}],action:"target",params:'{"adjust": 20}'}}]}],n:50,r:"data.open",p:[27,3,1008]}," ",{p:[36,3,1754],t:7,e:"ui-section",a:{label:"Mode"},f:[{t:4,f:[{p:[38,7,1808],t:7,e:"ui-button",a:{icon:"long-arrow-up",state:[{t:2,x:{r:["data.mode"],s:'_0=="heat"?"selected":null'},p:[38,46,1847]}],action:"mode",params:'{"mode": "heat"}'},f:["Heat"]}," ",{p:[39,7,1956],t:7,e:"ui-button",a:{icon:"long-arrow-down",state:[{t:2,x:{r:["data.mode"],s:'_0=="cool"?"selected":null'},p:[39,48,1997]}],action:"mode",params:'{"mode": "cool"}'},f:["Cool"]}," ",{p:[40,7,2106],t:7,e:"ui-button",a:{icon:"arrows-v",state:[{t:2,x:{r:["data.mode"],s:'_0=="auto"?"selected":null'},p:[40,41,2140]}],action:"mode",params:'{"mode": "auto"}'},f:["Auto"]}],n:50,r:"data.open",p:[37,3,1783]},{t:4,n:51,f:[{p:[42,4,2258],t:7,e:"span",f:[{t:2,x:{r:["text","data.mode"],s:"_0.titleCase(_1)"},p:[42,10,2264]}]}],r:"data.open"}]}]}]},e.exports=a.extend(r.exports)},{205:205}],299:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,3,31],t:7,e:"ui-display",a:{title:[{t:2,r:"class",p:[2,22,50]}," Alarms"]},f:[{p:[3,5,74],t:7,e:"ul",f:[{t:4,f:[{p:[5,9,107],t:7,e:"li",f:[{t:2,r:".",p:[5,13,111]}]}],n:52,r:".",p:[4,7,86]},{t:4,n:51,f:[{p:[7,9,147],t:7,e:"li",f:["System Nominal"]}],r:"."}]}]}],n:52,i:"class",r:"data.alarms",p:[1,1,0]}]},e.exports=a.extend(r.exports)},{205:205}],300:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{t:4,f:[{p:[2,3,42],t:7,e:"ui-notice",f:[{p:[3,5,59],t:7,e:"span",f:["Biological entity detected in contents. Please remove."]}]}],n:50,x:{r:["data.occupied","data.safeties"],s:"_0&&_1"},p:[1,1,0]},{t:4,f:[{p:[7,3,179],t:7,e:"ui-notice",f:[{p:[8,5,196],t:7,e:"span",f:["Contents are being disinfected. Please wait."]}]}],n:50,r:"data.uv_active",p:[6,1,153]},{t:4,n:51,f:[{p:{button:[{t:4,f:[{p:[13,25,369],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.locked"],s:'_0?"unlock":"lock"'},p:[13,42,386] - }],action:"lock"},f:[{t:2,x:{r:["data.locked"],s:'_0?"Unlock":"Lock"'},p:[13,93,437]}]}],n:50,x:{r:["data.open"],s:"!_0"},p:[13,7,351]}," ",{t:4,f:[{p:[14,27,519],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.open"],s:'_0?"sign-out":"sign-in"'},p:[14,44,536]}],action:"door"},f:[{t:2,x:{r:["data.open"],s:'_0?"Close":"Open"'},p:[14,98,590]}]}],n:50,x:{r:["data.locked"],s:"!_0"},p:[14,7,499]}]},t:7,e:"ui-display",a:{title:"Storage",button:0},f:[" ",{t:4,f:[{p:[17,7,692],t:7,e:"ui-notice",f:[{p:[18,9,713],t:7,e:"span",f:["Unit Locked"]}]}],n:50,r:"data.locked",p:[16,5,665]},{t:4,n:51,f:[{t:4,n:50,x:{r:["data.open"],s:"_0"},f:[{p:[21,9,793],t:7,e:"ui-section",a:{label:"Helmet"},f:[{p:[22,11,832],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.helmet"],s:'_0?"square":"square-o"'},p:[22,28,849]}],state:[{t:2,x:{r:["data.helmet"],s:'_0?null:"disabled"'},p:[22,75,896]}],action:"dispense",params:'{"item": "helmet"}'},f:[{t:2,x:{r:["data.helmet"],s:'_0||"Empty"'},p:[23,59,992]}]}]}," ",{p:[25,9,1063],t:7,e:"ui-section",a:{label:"Suit"},f:[{p:[26,11,1100],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.suit"],s:'_0?"square":"square-o"'},p:[26,28,1117]}],state:[{t:2,x:{r:["data.suit"],s:'_0?null:"disabled"'},p:[26,74,1163]}],action:"dispense",params:'{"item": "suit"}'},f:[{t:2,x:{r:["data.suit"],s:'_0||"Empty"'},p:[27,57,1255]}]}]}," ",{p:[29,9,1324],t:7,e:"ui-section",a:{label:"Mask"},f:[{p:[30,11,1361],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.mask"],s:'_0?"square":"square-o"'},p:[30,28,1378]}],state:[{t:2,x:{r:["data.mask"],s:'_0?null:"disabled"'},p:[30,74,1424]}],action:"dispense",params:'{"item": "mask"}'},f:[{t:2,x:{r:["data.mask"],s:'_0||"Empty"'},p:[31,57,1516]}]}]}," ",{p:[33,9,1585],t:7,e:"ui-section",a:{label:"Storage"},f:[{p:[34,11,1625],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.storage"],s:'_0?"square":"square-o"'},p:[34,28,1642]}],state:[{t:2,x:{r:["data.storage"],s:'_0?null:"disabled"'},p:[34,77,1691]}],action:"dispense",params:'{"item": "storage"}'},f:[{t:2,x:{r:["data.storage"],s:'_0||"Empty"'},p:[35,60,1789]}]}]}]},{t:4,n:50,x:{r:["data.open"],s:"!(_0)"},f:[" ",{p:[38,7,1873],t:7,e:"ui-button",a:{icon:"recycle",state:[{t:2,x:{r:["data.occupied","data.safeties"],s:'_0&&_1?"disabled":null'},p:[38,40,1906]}],action:"uv"},f:["Disinfect"]}]}],r:"data.locked"}]}],r:"data.uv_active"}]},e.exports=a.extend(r.exports)},{205:205}],301:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{p:[2,5,18],t:7,e:"ui-section",a:{label:"Dispense"},f:[{p:[3,9,57],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.plasma"],s:'_0?"square":"square-o"'},p:[3,26,74]}],state:[{t:2,x:{r:["data.plasma"],s:'_0?null:"disabled"'},p:[3,74,122]}],action:"plasma"},f:["Plasma (",{t:2,x:{r:["adata.plasma"],s:"Math.round(_0)"},p:[4,37,196]},")"]}," ",{p:[5,9,247],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.oxygen"],s:'_0?"square":"square-o"'},p:[5,26,264]}],state:[{t:2,x:{r:["data.oxygen"],s:'_0?null:"disabled"'},p:[5,74,312]}],action:"oxygen"},f:["Oxygen (",{t:2,x:{r:["adata.oxygen"],s:"Math.round(_0)"},p:[6,37,386]},")"]}]}]}]},e.exports=a.extend(r.exports)},{205:205}],302:[function(t,e,n){var a=t(205),r={exports:{}};!function(t){"use strict";t.exports={computed:{tankPressureState:function(){var t=this.get("data.tankPressure");return t>=200?"good":t>=100?"average":"bad"}}}}(r),r.exports.template={v:3,t:[" ",{p:[14,1,295],t:7,e:"ui-notice",f:[{p:[15,3,310],t:7,e:"span",f:["The regulator ",{t:2,x:{r:["data.connected"],s:'_0?"is":"is not"'},p:[15,23,330]}," connected to a mask."]}]}," ",{p:[17,1,409],t:7,e:"ui-display",f:[{p:[18,3,425],t:7,e:"ui-section",a:{label:"Tank Pressure"},f:[{p:[19,7,467],t:7,e:"ui-bar",a:{min:"0",max:"1013",value:[{t:2,r:"data.tankPressure",p:[19,41,501]}],state:[{t:2,r:"tankPressureState",p:[20,16,540]}]},f:[{t:2,x:{r:["adata.tankPressure"],s:"Math.round(_0)"},p:[20,39,563]}," kPa"]}]}," ",{p:[22,3,631],t:7,e:"ui-section",a:{label:"Release Pressure"},f:[{p:[23,5,674],t:7,e:"ui-bar",a:{min:[{t:2,r:"data.minReleasePressure",p:[23,18,687]}],max:[{t:2,r:"data.maxReleasePressure",p:[23,52,721]}],value:[{t:2,r:"data.releasePressure",p:[24,14,764]}]},f:[{t:2,x:{r:["adata.releasePressure"],s:"Math.round(_0)"},p:[24,40,790]}," kPa"]}]}," ",{p:[26,3,861],t:7,e:"ui-section",a:{label:"Pressure Regulator"},f:[{p:[27,5,906],t:7,e:"ui-button",a:{icon:"refresh",state:[{t:2,x:{r:["data.releasePressure","data.defaultReleasePressure"],s:'_0!=_1?null:"disabled"'},p:[27,38,939]}],action:"pressure",params:'{"pressure": "reset"}'},f:["Reset"]}," ",{p:[29,5,1095],t:7,e:"ui-button",a:{icon:"minus",state:[{t:2,x:{r:["data.releasePressure","data.minReleasePressure"],s:'_0>_1?null:"disabled"'},p:[29,36,1126]}],action:"pressure",params:'{"pressure": "min"}'},f:["Min"]}," ",{p:[31,5,1273],t:7,e:"ui-button",a:{icon:"pencil",action:"pressure",params:'{"pressure": "input"}'},f:["Set"]}," ",{p:[32,5,1368],t:7,e:"ui-button",a:{icon:"plus",state:[{t:2,x:{r:["data.releasePressure","data.maxReleasePressure"],s:'_0<_1?null:"disabled"'},p:[32,35,1398]}],action:"pressure",params:'{"pressure": "max"}'},f:["Max"]}]}]}]},e.exports=a.extend(r.exports)},{205:205}],303:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",a:{title:"Status"},f:[{p:[2,5,33],t:7,e:"ui-section",a:{label:"Temperature"},f:[{p:[3,9,75],t:7,e:"span",f:[{t:2,x:{r:["adata.temperature"],s:"Math.fixed(_0,2)"},p:[3,15,81]}," K"]}]}," ",{p:[5,5,151],t:7,e:"ui-section",a:{label:"Pressure"},f:[{p:[6,9,190],t:7,e:"span",f:[{t:2,x:{r:["adata.pressure"],s:"Math.fixed(_0,2)"},p:[6,15,196]}," kPa"]}]}]}," ",{p:[9,1,276],t:7,e:"ui-display",a:{title:"Controls"},f:[{p:[10,5,311],t:7,e:"ui-section",a:{label:"Power"},f:[{p:[11,9,347],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.on"],s:'_0?"power-off":"close"'},p:[11,26,364]}],style:[{t:2,x:{r:["data.on"],s:'_0?"selected":null'},p:[11,70,408]}],action:"power"},f:[{t:2,x:{r:["data.on"],s:'_0?"On":"Off"'},p:[12,28,469]}]}]}," ",{p:[14,5,531],t:7,e:"ui-section",a:{label:"Target Temperature"},f:[{p:[15,9,580],t:7,e:"ui-button",a:{icon:"fast-backward",style:[{t:2,x:{r:["data.target","data.min"],s:'_0==_1?"disabled":null'},p:[15,48,619]}],action:"target",params:'{"adjust": -20}'}}," ",{p:[17,9,733],t:7,e:"ui-button",a:{icon:"backward",style:[{t:2,x:{r:["data.target","data.min"],s:'_0==_1?"disabled":null'},p:[17,43,767]}],action:"target",params:'{"adjust": -5}'}}," ",{p:[19,9,880],t:7,e:"ui-button",a:{icon:"pencil",action:"target",params:'{"target": "input"}'},f:[{t:2,x:{r:["adata.target"],s:"Math.fixed(_0,2)"},p:[19,79,950]}]}," ",{p:[20,9,1003],t:7,e:"ui-button",a:{icon:"forward",style:[{t:2,x:{r:["data.target","data.max"],s:'_0==_1?"disabled":null'},p:[20,42,1036]}],action:"target",params:'{"adjust": 5}'}}," ",{p:[22,9,1148],t:7,e:"ui-button",a:{icon:"fast-forward",style:[{t:2,x:{r:["data.target","data.max"],s:'_0==_1?"disabled":null'},p:[22,47,1186]}],action:"target",params:'{"adjust": 20}'}}]}]}]},e.exports=a.extend(r.exports)},{205:205}],304:[function(t,e,n){var a=t(205),r={exports:{}};!function(t){"use strict";t.exports={data:{},oninit:function(){this.on({hover:function(t){var e=this.get("data.telecrystals");e>=t.context.params.cost&&this.set("hovered",t.context.params)},unhover:function(t){this.set("hovered")}})}}}(r),r.exports.template={v:3,t:[" ",{p:{button:[{t:4,f:[{p:[23,7,482],t:7,e:"ui-button",a:{icon:"lock",action:"lock"},f:["Lock"]}],n:50,r:"data.lockable",p:[22,5,453]}]},t:7,e:"ui-display",a:{title:"Uplink",button:0},f:[" ",{p:[26,3,568],t:7,e:"ui-section",a:{label:"Telecrystals",right:0},f:[{p:[27,5,613],t:7,e:"span",a:{"class":[{t:2,x:{r:["data.telecrystals"],s:'_0>0?"good":"bad"'},p:[27,18,626]}]},f:[{t:2,r:"data.telecrystals",p:[27,62,670]}," TC"]}]}]}," ",{t:4,f:[{p:[31,3,764],t:7,e:"ui-display",f:[{p:[32,2,779],t:7,e:"ui-button",a:{action:"select",params:['{"category": "',{t:2,r:"name",p:[32,51,828]},'"}']},f:[{t:2,r:"name",p:[32,63,840]}]}," ",{t:4,f:[{p:[34,4,883],t:7,e:"ui-section",a:{label:[{t:2,r:"name",p:[34,23,902]}],candystripe:0,right:0},f:[{p:[35,3,934],t:7,e:"ui-button",a:{tooltip:[{t:2,r:"name",p:[35,23,954]},": ",{t:2,r:"desc",p:[35,33,964]}],"tooltip-side":"left",state:[{t:2,x:{r:["data.telecrystals","hovered.cost","cost","hovered.item","name"],s:'_0<_2||(_0-_1<_2&&_3!=_4)?"disabled":null'},p:[36,12,1006]}],action:"buy",params:['{"category": "',{t:2,r:"category",p:[37,40,1165]},'", "item": ',{t:2,r:"name",p:[37,63,1188]},', "cost": ',{t:2,r:"cost",p:[37,81,1206]},"}"]},v:{hover:"hover",unhover:"unhover"},f:[{t:2,r:"cost",p:[38,43,1260]}," TC"]}]}],n:52,r:"items",p:[33,2,863]}]}],n:52,r:"data.categories",p:[30,1,735]}]},e.exports=a.extend(r.exports)},{205:205}],305:[function(t,e,n){var a=t(205),r={exports:{}};!function(t){"use strict";t.exports={data:{healthState:function(t){var e=this.get("data.vr_avatar.maxhealth");return t>e/1.5?"good":t>e/3?"average":"bad"}}}}(r),r.exports.template={v:3,t:[" ",{p:[14,1,292],t:7,e:"ui-display",f:[{t:4,f:[{p:[16,3,333],t:7,e:"ui-display",a:{title:"Virtual Avatar"},f:[{p:[17,4,373],t:7,e:"ui-section",a:{label:"Name"},f:[{t:2,r:"data.vr_avatar.name",p:[18,5,404]}]}," ",{p:[20,4,450],t:7,e:"ui-section",a:{label:"Status"},f:[{t:2,r:"data.vr_avatar.status",p:[21,5,483]}]}," ",{p:[23,4,531],t:7,e:"ui-section",a:{label:"Health"},f:[{p:[24,5,564],t:7,e:"ui-bar",a:{min:"0",max:[{t:2,r:"adata.vr_avatar.maxhealth",p:[24,26,585]}],value:[{t:2,r:"adata.vr_avatar.health",p:[24,64,623]}],state:[{t:2,x:{r:["healthState","adata.vr_avatar.health"],s:"_0(_1)"},p:[24,99,658]}]},f:[{t:2,x:{r:["adata.vr_avatar.health"],s:"Math.round(_0)"},p:[24,140,699]},"/",{t:2,r:"adata.vr_avatar.maxhealth",p:[24,179,738]}]}]}]}],n:50,r:"data.vr_avatar",p:[15,2,307]},{t:4,n:51,f:[{p:[28,3,826],t:7,e:"ui-display",a:{title:"Virtual Avatar"},f:["No Virtual Avatar detected"]}],r:"data.vr_avatar"}," ",{p:[32,2,922],t:7,e:"ui-display",a:{title:"VR Commands"},f:[{p:[33,3,958],t:7,e:"ui-button",a:{icon:[{t:2,x:{r:["data.toggle_open"],s:'_0?"times":"plus"'},p:[33,20,975]}],action:"toggle_open"},f:[{t:2,x:{r:["data.toggle_open"],s:'_0?"Close":"Open"'},p:[34,4,1042]}," the VR Sleeper"]}," ",{t:4,f:[{p:[37,4,1144],t:7,e:"ui-button",a:{icon:"signal",action:"vr_connect"},f:["Connect to VR"]}],n:50,r:"data.isoccupant",p:[36,3,1116]}," ",{t:4,f:[{p:[42,4,1267],t:7,e:"ui-button",a:{icon:"ban",action:"delete_avatar"},f:["Delete Virtual Avatar"]}],n:50,r:"data.vr_avatar",p:[41,3,1240]}]}]}]},e.exports=a.extend(r.exports)},{205:205}],306:[function(t,e,n){var a=t(205),r={exports:{}};r.exports.template={v:3,t:[{p:[1,1,0],t:7,e:"ui-display",f:[{t:4,f:[{p:[3,5,42],t:7,e:"ui-section",a:{label:[{t:2,r:"color",p:[3,24,61]},{t:2,x:{r:["wire"],s:'_0?" ("+_0+")":""'},p:[3,33,70]}],labelcolor:[{t:2,r:"color",p:[3,80,117]}],candystripe:0,right:0},f:[{p:[4,7,154],t:7,e:"ui-button",a:{action:"cut",params:['{"wire":"',{t:2,r:"color",p:[4,48,195]},'"}']},f:[{t:2,x:{r:["cut"],s:'_0?"Mend":"Cut"'},p:[4,61,208]}]}," ",{p:[5,7,252],t:7,e:"ui-button",a:{action:"pulse",params:['{"wire":"',{t:2,r:"color",p:[5,50,295]},'"}']},f:["Pulse"]}," ",{p:[6,7,333],t:7,e:"ui-button",a:{action:"attach",params:['{"wire":"',{t:2,r:"color",p:[6,51,377]},'"}']},f:[{t:2,x:{r:["attached"],s:'_0?"Detach":"Attach"'},p:[6,64,390]}]}]}],n:52,r:"data.wires",p:[2,3,16]}]}," ",{t:4,f:[{p:[11,3,508],t:7,e:"ui-display",f:[{t:4,f:[{p:[13,7,555],t:7,e:"ui-section",f:[{t:2,r:".",p:[13,19,567]}]}],n:52,r:"data.status",p:[12,5,526]}]}],n:50,r:"data.status",p:[10,1,485]}]},e.exports=a.extend(r.exports)},{205:205}],307:[function(t,e,n){(function(e){"use strict";var n=t(205),a=e.interopRequireDefault(n);t(194),t(1),t(190),t(193);var r=t(308),i=e.interopRequireDefault(r),o=t(309),s=t(191),u=t(192),p=e.interopRequireDefault(u);a["default"].DEBUG=/minified/.test(function(){}),Object.assign(Math,t(313)),window.initialize=function(e){window.tgui||(window.tgui=new i["default"]({el:"#container",data:function(){var n=JSON.parse(e);return{constants:t(310),text:t(314),config:n.config,data:n.data,adata:n.data}}}))};var c=document.getElementById("data"),l=c.textContent,f=c.getAttribute("data-ref");"{}"!==l&&(window.initialize(l),c.remove()),(0,o.act)(f,"tgui:initialize"),(0,s.loadCSS)("font-awesome.min.css");var d=new p["default"]("FontAwesome");d.check("").then(function(){return document.body.classList.add("icons")})["catch"](function(){return document.body.classList.add("no-icons")})}).call(this,t("babel/external-helpers"))},{1:1,190:190,191:191,192:192,193:193,194:194,205:205,308:308,309:309,310:310,313:313,314:314,"babel/external-helpers":"babel/external-helpers"}],308:[function(t,e,n){var a=t(205),r={exports:{}};!function(e){"use strict";var n=t(309),a=t(311);e.exports={components:{"ui-bar":t(206),"ui-button":t(207),"ui-display":t(208),"ui-input":t(209),"ui-linegraph":t(210),"ui-notice":t(211),"ui-section":t(213),"ui-subdisplay":t(214),"ui-tabs":t(215)},events:{enter:t(203).enter,space:t(203).space},transitions:{fade:t(204)},onconfig:function(){var e=this.get("config.interface"),n={airalarm:t(219),"airalarm/back":t(220),"airalarm/modes":t(221),"airalarm/scrubbers":t(222),"airalarm/status":t(223),"airalarm/thresholds":t(224),"airalarm/vents":t(225),airlock_electronics:t(226),apc:t(227),atmos_alert:t(228),atmos_control:t(229),atmos_filter:t(230),atmos_mixer:t(231),atmos_pump:t(232),brig_timer:t(233),bsa:t(234),canister:t(235),cargo:t(236),cellular_emporium:t(237),chem_dispenser:t(238),chem_heater:t(239),chem_master:t(240),clockwork_slab:t(241),codex_gigas:t(242),computer_fabricator:t(243),crayon:t(244),cryo:t(245),disposal_unit:t(246),dna_vault:t(247),eightball:t(248),emergency_shuttle_console:t(249),engraved_message:t(250),error:t(251),firealarm:t(252),gps:t(253),gulag_console:t(254),gulag_item_reclaimer:t(255),holodeck:t(256),implantchair:t(257),intellicard:t(258),keycard_auth:t(259),labor_claim_console:t(260),language_menu:t(261),launchpad_remote:t(262),mech_bay_power_console:t(263),mulebot:t(264),ntnet_relay:t(265),ntos_ai_restorer:t(266),ntos_card:t(267),ntos_configuration:t(268),ntos_file_manager:t(269),ntos_main:t(270),ntos_net_chat:t(271),ntos_net_dos:t(272),ntos_net_downloader:t(273),ntos_net_monitor:t(274),ntos_net_transfer:t(275),ntos_power_monitor:t(276),ntos_revelation:t(277),ntos_station_alert:t(278),ntos_supermatter_monitor:t(279),ntosheader:t(280),nuclear_bomb:t(281),ore_redemption_machine:t(282),pandemic:t(283),personal_crafting:t(284),portable_pump:t(285),portable_scrubber:t(286),power_monitor:t(287),radio:t(288),sat_control:t(289),shuttle_manipulator:t(290),"shuttle_manipulator/modification":t(291),"shuttle_manipulator/status":t(292),"shuttle_manipulator/templates":t(293),sleeper:t(294),slime_swap_body:t(295),smes:t(296),solar_control:t(297),space_heater:t(298),station_alert:t(299),suit_storage_unit:t(300),tank_dispenser:t(301),tanks:t(302),thermomachine:t(303),uplink:t(304),vr_sleeper:t(305),wires:t(306)};e in n?this.components["interface"]=n[e]:this.components["interface"]=n.error},oninit:function(){this.observe("config.style",function(t,e,n){t&&document.body.classList.add(t),e&&document.body.classList.remove(e)})},oncomplete:function(){if(this.get("config.locked")){var t=(0,a.lock)(window.screenLeft,window.screenTop),e=t.x,r=t.y;(0,n.winset)(this.get("config.window"),"pos",e+","+r)}(0,n.winset)("mapwindow.map","focus",!0)}}}(r),r.exports.template={v:3,t:[" "," "," "," ",{p:[56,1,1874],t:7,e:"titlebar",f:[{t:3,r:"config.title",p:[56,11,1884]}]}," ",{p:[57,1,1915],t:7,e:"main",f:[{p:[58,3,1925],t:7,e:"warnings"}," ",{p:[59,3,1940],t:7,e:"interface"}]}," ",{t:4,f:[{p:[62,3,1990],t:7,e:"resize"}],n:50,r:"config.titlebar",p:[61,1,1963]}]},r.exports.components=r.exports.components||{};var i={warnings:t(218),titlebar:t(217),resize:t(212)};for(var o in i)i.hasOwnProperty(o)&&(r.exports.components[o]=i[o]);e.exports=a.extend(r.exports)},{203:203,204:204,205:205,206:206,207:207,208:208,209:209,210:210,211:211,212:212,213:213,214:214,215:215,217:217,218:218,219:219,220:220,221:221,222:222,223:223,224:224,225:225,226:226,227:227,228:228,229:229,230:230,231:231,232:232,233:233,234:234,235:235,236:236,237:237,238:238,239:239,240:240,241:241,242:242,243:243,244:244,245:245,246:246,247:247,248:248,249:249,250:250,251:251,252:252,253:253,254:254,255:255,256:256,257:257,258:258,259:259,260:260,261:261,262:262,263:263,264:264,265:265,266:266,267:267,268:268,269:269,270:270,271:271,272:272,273:273,274:274,275:275,276:276,277:277,278:278,279:279,280:280,281:281,282:282,283:283,284:284,285:285,286:286,287:287,288:288,289:289,290:290,291:291,292:292,293:293,294:294,295:295,296:296,297:297,298:298,299:299,300:300,301:301,302:302,303:303,304:304,305:305,306:306,309:309,311:311}],309:[function(t,e,n){"use strict";function a(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return"byond://"+e+"?"+Object.keys(t).map(function(e){return o(e)+"="+o(t[e])}).join("&")}function r(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};window.location.href=a(Object.assign({src:t,action:e},n))}function i(t,e,n){var r;window.location.href=a((r={},r[t+"."+e]=n,r),"winset")}n.__esModule=!0,n.href=a,n.act=r,n.winset=i;var o=encodeURIComponent},{}],310:[function(t,e,n){"use strict";n.__esModule=!0;n.UI_INTERACTIVE=2,n.UI_UPDATE=1,n.UI_DISABLED=0,n.UI_CLOSE=-1},{}],311:[function(t,e,n){"use strict";function a(t,e){return 0>t?t=0:t+window.innerWidth>window.screen.availWidth&&(t=window.screen.availWidth-window.innerWidth),0>e?e=0:e+window.innerHeight>window.screen.availHeight&&(e=window.screen.availHeight-window.innerHeight),{x:t,y:e}}function r(t){if(t.preventDefault(),this.get("drag")){if(this.get("x")){var e=t.screenX-this.get("x")+window.screenLeft,n=t.screenY-this.get("y")+window.screenTop;if(this.get("config.locked")){var r=a(e,n);e=r.x,n=r.y}(0,s.winset)(this.get("config.window"),"pos",e+","+n)}this.set({x:t.screenX,y:t.screenY})}}function i(t,e){return t=Math.clamp(100,window.screen.width,t),e=Math.clamp(100,window.screen.height,e),{x:t,y:e}}function o(t){if(t.preventDefault(),this.get("resize")){if(this.get("x")){var e=t.screenX-this.get("x")+window.innerWidth,n=t.screenY-this.get("y")+window.innerHeight,a=i(e,n);e=a.x,n=a.y,(0,s.winset)(this.get("config.window"),"size",e+","+n)}this.set({x:t.screenX,y:t.screenY})}}n.__esModule=!0,n.lock=a,n.drag=r,n.sane=i,n.resize=o;var s=t(309)},{309:309}],312:[function(t,e,n){"use strict";function a(t,e){for(var n=t,a=Array.isArray(n),i=0,n=a?n:n[Symbol.iterator]();;){var o;if(a){if(i>=n.length)break;o=n[i++]}else{if(i=n.next(),i.done)break;o=i.value}var s=o;s.textContent.toLowerCase().includes(e)?(s.style.display="",r(s,e)):s.style.display="none"}}function r(t,e){for(var n=t.queryAll("section"),a=t.query("header").textContent.toLowerCase().includes(e),r=n,i=Array.isArray(r),o=0,r=i?r:r[Symbol.iterator]();;){var s;if(i){if(o>=r.length)break;s=r[o++]}else{if(o=r.next(),o.done)break;s=o.value}var u=s;a||u.textContent.toLowerCase().includes(e)?u.style.display="":u.style.display="none"}}n.__esModule=!0,n.filterMulti=a,n.filter=r},{}],313:[function(t,e,n){"use strict";function a(t,e,n){return Math.max(t,Math.min(n,e))}function r(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return+(Math.round(t+"e"+e)+"e-"+e)}n.__esModule=!0,n.clamp=a,n.fixed=r},{}],314:[function(t,e,n){"use strict";function a(t){return t[0].toUpperCase()+t.slice(1).toLowerCase()}function r(t){return t.replace(/\w\S*/g,a)}function i(t,e){for(t=""+t;t.length1){for(var u=Array(o),p=0;o>p;p++)u[p]=arguments[p+3];n.children=u}return{$$typeof:t,type:e,key:void 0===a?null:""+a,ref:null,props:n,_owner:null}}}(),e.asyncIterator=function(t){if("function"==typeof Symbol){if(Symbol.asyncIterator){var e=t[Symbol.asyncIterator];if(null!=e)return e.call(t)}if(Symbol.iterator)return t[Symbol.iterator]()}throw new TypeError("Object is not async iterable")},e.asyncGenerator=function(){function t(t){this.value=t}function e(e){function n(t,e){return new Promise(function(n,r){var s={key:t,arg:e,resolve:n,reject:r,next:null};o?o=o.next=s:(i=o=s,a(t,e))})}function a(n,i){try{var o=e[n](i),s=o.value;s instanceof t?Promise.resolve(s.value).then(function(t){a("next",t)},function(t){a("throw",t)}):r(o.done?"return":"normal",o.value)}catch(u){r("throw",u)}}function r(t,e){switch(t){case"return":i.resolve({value:e,done:!0});break;case"throw":i.reject(e);break;default:i.resolve({value:e,done:!1})}i=i.next,i?a(i.key,i.arg):o=null}var i,o;this._invoke=n,"function"!=typeof e["return"]&&(this["return"]=void 0)}return"function"==typeof Symbol&&Symbol.asyncIterator&&(e.prototype[Symbol.asyncIterator]=function(){return this}),e.prototype.next=function(t){return this._invoke("next",t)},e.prototype["throw"]=function(t){return this._invoke("throw",t)},e.prototype["return"]=function(t){return this._invoke("return",t)},{wrap:function(t){return function(){return new e(t.apply(this,arguments))}},await:function(e){return new t(e)}}}(),e.asyncGeneratorDelegate=function(t,e){function n(n,a){return r=!0,a=new Promise(function(e){e(t[n](a))}),{done:!1,value:e(a)}}var a={},r=!1;return"function"==typeof Symbol&&Symbol.iterator&&(a[Symbol.iterator]=function(){return this}),a.next=function(t){return r?(r=!1,t):n("next",t)},"function"==typeof t["throw"]&&(a["throw"]=function(t){if(r)throw r=!1,t;return n("throw",t)}),"function"==typeof t["return"]&&(a["return"]=function(t){return n("return",t)}),a},e.asyncToGenerator=function(t){return function(){var e=t.apply(this,arguments);return new Promise(function(t,n){function a(r,i){try{var o=e[r](i),s=o.value}catch(u){return void n(u)}return o.done?void t(s):Promise.resolve(s).then(function(t){a("next",t)},function(t){a("throw",t)})}return a("next")})}},e.classCallCheck=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},e.createClass=function(){function t(t,e){for(var n=0;n=0||Object.prototype.hasOwnProperty.call(t,a)&&(n[a]=t[a]);return n},e.possibleConstructorReturn=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e},e.selfGlobal=void 0===t?self:t,e.set=function a(t,e,n,r){var i=Object.getOwnPropertyDescriptor(t,e);if(void 0===i){var o=Object.getPrototypeOf(t);null!==o&&a(o,e,n,r)}else if("value"in i&&i.writable)i.value=n;else{var s=i.set;void 0!==s&&s.call(r,n)}return n},e.slicedToArray=function(){function t(t,e){var n=[],a=!0,r=!1,i=void 0;try{for(var o,s=t[Symbol.iterator]();!(a=(o=s.next()).done)&&(n.push(o.value),!e||n.length!==e);a=!0);}catch(u){r=!0,i=u}finally{try{!a&&s["return"]&&s["return"]()}finally{if(r)throw i}}return n}return function(e,n){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return t(e,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),e.slicedToArrayLoose=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t)){for(var n,a=[],r=t[Symbol.iterator]();!(n=r.next()).done&&(a.push(n.value),!e||a.length!==e););return a}throw new TypeError("Invalid attempt to destructure non-iterable instance")},e.taggedTemplateLiteral=function(t,e){return Object.freeze(Object.defineProperties(t,{raw:{value:Object.freeze(e)}}))},e.taggedTemplateLiteralLoose=function(t,e){return t.raw=e,t},e.temporalRef=function(t,e,n){if(t===n)throw new ReferenceError(e+" is not defined - temporal dead zone");return t},e.temporalUndefined={},e.toArray=function(t){return Array.isArray(t)?t:Array.from(t)},e.toConsumableArray=function(t){if(Array.isArray(t)){for(var e=0,n=Array(t.length);e