Merge remote-tracking branch 'upstream/master' into nanites

This commit is contained in:
Archie
2021-06-16 20:40:14 -03:00
66 changed files with 645 additions and 298 deletions
+3 -6
View File
@@ -3,10 +3,7 @@
"./tgui"
],
"workbench.editorAssociations": [
{
"filenamePattern": "*.dmi",
"viewType": "imagePreview.previewEditor"
}
]
"workbench.editorAssociations": {
"*.dmi": "imagePreview.previewEditor"
}
}
@@ -648,6 +648,7 @@
"bNg" = (/obj/item/twohanded/required/kirbyplants/random,/turf/open/floor/plating/asteroid/layenia/garden,/area/security/prison)
"bNi" = (/obj/machinery/light{dir = 1; pixel_y = 16},/obj/effect/turf_decal/stripes/line{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 8},/obj/effect/turf_decal/stripes/red/line{dir = 8},/turf/open/floor/plating{initial_gas_mix = "o2=22;n2=82;TEMP=180"; planetary_atmos = 1},/area/layenia)
"bNj" = (/obj/effect/turf_decal/stripes/line{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{name = "scrubbers pipe"},/turf/open/floor/plasteel,/area/security/checkpoint/escape)
"bNk" = (/obj/effect/turf_decal/loading_area{dir = 1; icon_state = "drain"; name = "drain"},/obj/effect/turf_decal/tile/neutral,/obj/machinery/computer/lore_terminal,/turf/open/floor/plasteel{dir = 1; icon_state = "floor_plate"},/area/hallway/primary/port/fore)
"bNr" = (/obj/effect/decal/cleanable/dirt,/turf/open/floor/plasteel/freezer,/area/security/prison)
"bNB" = (/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{dir = 4; name = "air scrubber"},/turf/open/floor/plasteel{icon_state = "floor_plate"},/area/crew_quarters/dorms)
"bNG" = (/obj/structure/cable{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{name = "scrubbers pipe"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer3{name = "air supply pipe"},/obj/structure/disposalpipe/junction{dir = 8},/turf/open/floor/plasteel{dir = 8; icon_plating = "floor"; icon_state = "floor_whole"},/area/security/brig)
@@ -839,6 +840,7 @@
"crq" = (/obj/structure/table,/obj/item/surgical_drapes,/obj/item/clothing/suit/apron/surgical{pixel_y = 11},/turf/open/floor/plasteel/freezer,/area/medical/sleeper)
"crP" = (/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 8},/obj/effect/turf_decal/stripes/line,/turf/open/floor/plasteel/dark,/area/security/execution/transfer)
"crV" = (/obj/structure/closet/l3closet/virology,/obj/effect/turf_decal/stripes/line{dir = 10},/obj/machinery/light{dir = 1; pixel_y = 19},/obj/machinery/power/apc/highcap/five_k{areastring = "/area/medical/virology"; dir = 1; name = "Virology APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-8"},/turf/open/floor/plasteel,/area/medical/virology)
"csd" = (/obj/machinery/holopad,/obj/effect/turf_decal/box,/turf/open/floor/plasteel,/area/engine/break_room)
"csu" = (/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/turf/open/floor/plasteel/dark/side{dir = 6},/area/security/main)
"csz" = (/obj/machinery/door/airlock/hatch{name = "MiniSat Foyer"; req_one_access_txt = "65"},/obj/effect/mapping_helpers/airlock/cyclelink_helper{dir = 1},/obj/structure/cable{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/effect/turf_decal/delivery,/obj/machinery/door/firedoor,/turf/open/floor/plasteel/dark,/area/ai_monitored/turret_protected/aisat_interior)
"csF" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 8; name = "air supply pipe"},/turf/open/floor/wood,/area/library)
@@ -893,6 +895,7 @@
"czQ" = (/obj/structure/cable{icon_state = "2-8"},/obj/structure/cable{icon_state = "1-2"},/obj/structure/cable{icon_state = "2-4"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer3{name = "air supply pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 4; name = "scrubbers pipe"},/obj/effect/landmark/event_spawn,/turf/open/floor/plasteel/white,/area/medical/virology)
"czU" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor/preopen{id = "cargoshut1"; name = "shutters"},/obj/effect/turf_decal/loading_area{dir = 1; icon_state = "drain"; name = "drain"},/obj/effect/turf_decal/delivery,/turf/open/floor/plasteel{dir = 8; icon_plating = "floor"; icon_state = "floor_whole"},/area/hallway/primary/aft)
"cAv" = (/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/structure/cable{icon_state = "0-2"},/obj/machinery/power/apc{areastring = "/area/security/range"; dir = 1; name = "Shooting Range APC"; pixel_y = 24},/turf/open/floor/plasteel/dark,/area/security/range)
"cAw" = (/obj/effect/spawner/structure/window/reinforced,/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/plating,/area/security/checkpoint/science)
"cAL" = (/obj/effect/landmark/event_spawn,/turf/open/floor/plasteel,/area/hallway/primary/port)
"cAX" = (/obj/effect/spawner/structure/window/reinforced,/obj/machinery/door/poddoor/preopen{id = "hos"},/obj/machinery/door/firedoor,/obj/structure/cable{icon_state = "0-4"},/turf/open/floor/plating,/area/crew_quarters/heads/hos)
"cBq" = (/obj/effect/turf_decal/stripes/line{dir = 1},/obj/machinery/rnd/production/protolathe/department/science,/turf/open/floor/plasteel,/area/science/lab)
@@ -978,7 +981,7 @@
"cNT" = (/obj/effect/turf_decal/loading_area{dir = 4; icon_state = "drain"; name = "drain"},/obj/machinery/light{dir = 4; pixel_x = 7; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 10; name = "air supply pipe"},/turf/open/floor/plasteel/white/side{dir = 8},/area/science/research)
"cNY" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel,/area/maintenance/disposal/incinerator)
"cOu" = (/obj/effect/turf_decal/loading_area{dir = 4; icon_state = "drain"; name = "drain"},/turf/open/floor/plasteel/white/corner{dir = 1},/area/science/misc_lab)
"cOv" = (/obj/structure/medkit_cabinet{pixel_y = 27},/obj/machinery/camera{c_tag = "Bridge West"; dir = 6},/turf/open/floor/plasteel/dark/side,/area/bridge)
"cOv" = (/obj/machinery/camera{c_tag = "Bridge West"; dir = 6},/obj/machinery/computer/lore_terminal/command,/turf/open/floor/plasteel/dark/side,/area/bridge)
"cOH" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/obj/structure/cable/yellow{icon_state = "2-4"},/turf/open/floor/plasteel,/area/maintenance/disposal/incinerator)
"cOU" = (/obj/effect/turf_decal/stripes/line{dir = 1},/obj/machinery/atmospherics/pipe/simple/cyan/visible{dir = 6},/turf/open/floor/engine,/area/engine/engineering/reactor_core)
"cOZ" = (/mob/living/simple_animal/opossum/Trims,/turf/open/floor/plasteel,/area/quartermaster/storage)
@@ -1132,7 +1135,7 @@
"dkD" = (/obj/machinery/door/airlock/external{name = "Disposal External Airlock"},/obj/effect/mapping_helpers/airlock/cyclelink_helper,/obj/structure/cable{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{name = "air supply pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{name = "scrubbers pipe"},/turf/open/floor/plating,/area/maintenance/aft)
"dkE" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/machinery/door/window/westleft{dir = 1; name = "Mining Desk"; req_access_txt = "48"},/obj/machinery/door/poddoor/preopen{id = "cargoshut1"; name = "shutters"},/turf/open/floor/plating,/area/quartermaster/miningdock)
"dkN" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{name = "air supply pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{name = "scrubbers pipe"},/turf/open/floor/plasteel,/area/hallway/primary/starboard)
"dkS" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer3{dir = 4; name = "air supply pipe"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{dir = 4; name = "scrubbers pipe"},/obj/structure/cable{icon_state = "2-8"},/obj/structure/cable{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/open/floor/plasteel/white,/area/science/research)
"dkS" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer3{dir = 4; name = "air supply pipe"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{dir = 4; name = "scrubbers pipe"},/obj/structure/cable{icon_state = "2-8"},/obj/structure/cable{icon_state = "1-2"},/obj/structure/disposalpipe/junction/flip{dir = 1},/turf/open/floor/plasteel/white,/area/science/research)
"dkW" = (/obj/structure/chair/stool,/turf/open/floor/plasteel,/area/security/prison)
"dkX" = (/obj/effect/turf_decal/stripes/line{dir = 8},/obj/effect/turf_decal/stripes/red/line{dir = 8},/obj/effect/decal/cleanable/ash/large,/turf/open/floor/plating{icon_state = "panelscorched"},/area/layenia)
"dla" = (/turf/open/floor/plasteel/dark,/area/ai_monitored/turret_protected/ai)
@@ -1205,6 +1208,7 @@
"dvs" = (/obj/structure/extinguisher_cabinet{dir = 4; pixel_y = -27},/turf/open/floor/plasteel/dark,/area/chapel/main)
"dvt" = (/turf/open/floor/engine/vacuum,/area/science/mixing)
"dvz" = (/turf/closed/wall,/area/maintenance/port)
"dvA" = (/obj/structure/disposalpipe/segment{dir = 6},/turf/open/floor/plasteel,/area/hallway/primary/aft)
"dvC" = (/obj/machinery/door/firedoor,/obj/effect/turf_decal/delivery,/obj/machinery/door/poddoor/preopen{dir = 8; id = "primaryshut1"; name = "primary blast door"},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 8; name = "air supply pipe"},/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/plasteel{dir = 8; icon_plating = "floor"; icon_state = "floor_whole"},/area/hallway/primary/port)
"dvN" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{name = "air supply pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{name = "scrubbers pipe"},/obj/structure/cable{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/open/floor/plasteel/white,/area/science/research)
"dvO" = (/obj/effect/turf_decal/tile/yellow{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{name = "air supply pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{name = "scrubbers pipe"},/obj/structure/cable{icon_state = "1-2"},/turf/open/floor/plasteel,/area/engine/engineering)
@@ -1294,7 +1298,7 @@
"dJj" = (/obj/machinery/chem_heater,/obj/machinery/firealarm{pixel_y = 24},/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{name = "air scrubber"},/turf/open/floor/plasteel/white,/area/medical/sleeper)
"dJm" = (/turf/open/floor/plasteel/dark,/area/hallway/primary/port)
"dJB" = (/obj/machinery/airalarm{pixel_y = 23},/turf/open/floor/plasteel/dark,/area/storage/tech)
"dJS" = (/obj/machinery/atmospherics/pipe/layer_manifold{dir = 8},/turf/closed/wall/r_wall,/area/engine/engineering/reactor_control)
"dJS" = (/obj/machinery/atmospherics/pipe/layer_manifold{dir = 4},/turf/closed/wall/r_wall,/area/engine/engineering/reactor_control)
"dJY" = (/obj/structure/table,/obj/item/storage/pill_bottle/dice{pixel_x = -9; pixel_y = 10},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/item/toy/figure{pixel_x = 4; pixel_y = 4},/turf/open/floor/plasteel/dark,/area/security/prison)
"dKc" = (/turf/open/floor/plasteel/white,/area/medical/medbay/central)
"dKg" = (/obj/machinery/door/poddoor/shutters/preopen{id = "robotics2"; name = "robotics lab shutters"},/obj/effect/spawner/structure/window,/obj/structure/disposalpipe/segment,/turf/open/floor/plating,/area/science/robotics/lab)
@@ -1661,7 +1665,7 @@
"eMc" = (/obj/machinery/atmospherics/components/unary/outlet_injector/on{dir = 1; frequency = 1441; id = "inc_in"},/obj/structure/sign/warning/vacuum/external{pixel_x = -32},/turf/open/floor/engine/vacuum,/area/science/mixing)
"eMm" = (/turf/closed/wall/r_wall,/area/crew_quarters/toilet/restrooms)
"eMs" = (/obj/structure/reagent_dispensers/water_cooler,/obj/machinery/camera{c_tag = "Courtroom South"; dir = 1},/turf/open/floor/plasteel/dark,/area/security/courtroom)
"eMv" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/machinery/light{dir = 8; pixel_x = -7; pixel_y = 0},/obj/structure/filingcabinet/filingcabinet,/turf/open/floor/plasteel/dark/corner,/area/bridge)
"eMv" = (/obj/effect/turf_decal/tile/blue{dir = 8},/obj/machinery/light{dir = 8; pixel_x = -7; pixel_y = 0},/obj/structure/medkit_cabinet{pixel_y = 27},/turf/open/floor/plasteel/dark/corner,/area/bridge)
"eMG" = (/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/plating,/area/hydroponics)
"eMS" = (/obj/effect/turf_decal/loading_area{dir = 8; icon_state = "drain"; name = "drain"},/turf/open/floor/carpet/red,/area/crew_quarters/bar)
"eMZ" = (/obj/machinery/atmospherics/components/binary/pump{dir = 8; layer = 2.4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 9; name = "scrubbers pipe"},/obj/structure/cable{icon_state = "4-8"},/turf/open/floor/plasteel/dark,/area/security/execution/transfer)
@@ -2109,6 +2113,7 @@
"ghm" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"},/obj/machinery/door/poddoor/preopen{dir = 8; id = "xenobio2"; name = "containment blast door"},/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/engine,/area/science/xenobiology)
"ghv" = (/obj/machinery/button/door{id = "qm_warehouse"; name = "Warehouse Door Control"; pixel_x = -1; pixel_y = -24; req_access_txt = "31"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 9; name = "scrubbers pipe"},/turf/open/floor/plasteel{dir = 8; icon_state = "floor_plate"},/area/quartermaster/warehouse)
"ghB" = (/obj/machinery/atmospherics/pipe/simple/cyan/hidden,/turf/closed/wall/r_wall,/area/engine/atmos)
"ghO" = (/obj/effect/turf_decal/bot,/obj/machinery/computer/lore_terminal,/turf/open/floor/plasteel,/area/hallway/primary/starboard)
"ghX" = (/obj/effect/turf_decal/loading_area{icon_state = "drain"; name = "drain"},/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer3{name = "air supply pipe"},/turf/open/floor/plasteel{icon_state = "floor_plate"},/area/hallway/primary/port)
"ghY" = (/obj/machinery/atmospherics/pipe/simple/general/visible,/obj/effect/turf_decal/stripes/line{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/machinery/portable_atmospherics/scrubber,/obj/machinery/power/apc{areastring = "/area/science/mixing"; dir = 4; name = "Toxins Lab APC"; pixel_x = 26},/obj/structure/cable{icon_state = "0-8"},/turf/open/floor/plasteel/dark,/area/science/mixing)
"gib" = (/obj/item/twohanded/required/kirbyplants/random,/obj/machinery/light{dir = 4; pixel_x = 7; pixel_y = 0},/obj/machinery/camera{c_tag = "Research Division South"; dir = 8; network = list("ss13","rd")},/turf/open/floor/wood,/area/science/research)
@@ -2164,7 +2169,7 @@
"gpE" = (/obj/effect/turf_decal/stripes/line{dir = 6},/turf/open/floor/plasteel,/area/teleporter)
"gpP" = (/obj/machinery/door/airlock/external{name = "External Access"; req_access_txt = "12"},/obj/effect/mapping_helpers/airlock/cyclelink_helper,/turf/open/floor/plating,/area/maintenance/port/aft)
"gpS" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{name = "air supply pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{name = "scrubbers pipe"},/obj/structure/cable{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/open/floor/plating,/area/maintenance/starboard/central)
"gpT" = (/obj/machinery/atmospherics/pipe/layer_manifold{dir = 8},/turf/open/floor/plasteel,/area/science/mixing)
"gpT" = (/obj/machinery/atmospherics/pipe/layer_manifold{dir = 4},/turf/open/floor/plasteel,/area/science/mixing)
"gpX" = (/obj/machinery/atmospherics/components/binary/pump{dir = 2; name = "Incinerator Output Pump"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 6; name = "scrubbers pipe"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer3{dir = 1; name = "air supply pipe"},/turf/open/floor/plasteel,/area/science/mixing)
"gqj" = (/obj/machinery/door/window/westleft{dir = 1; name = "Brig Infirmary"},/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 4},/obj/effect/turf_decal/loading_area{dir = 1; icon_state = "drain"; name = "drain"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 6; name = "scrubbers pipe"},/turf/open/floor/plasteel/white,/area/security/prison)
"gqq" = (/obj/machinery/door/window/westleft{base_state = "right"; dir = 1; icon_state = "right"; name = "Brig Infirmary"},/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 4},/obj/effect/turf_decal/loading_area{dir = 1; icon_state = "drain"; name = "drain"},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{name = "air supply pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 9; name = "scrubbers pipe"},/turf/open/floor/plasteel/white,/area/security/prison)
@@ -2318,7 +2323,7 @@
"gMY" = (/obj/structure/chair,/obj/structure/cable{icon_state = "4-8"},/turf/open/floor/plasteel/dark,/area/hallway/primary/fore)
"gNc" = (/obj/structure/lattice/catwalk,/obj/structure/railing,/obj/structure/railing{dir = 8},/turf/open/floor/plating/asteroid/layenia,/area/layenia)
"gNv" = (/obj/effect/turf_decal/arrows/white{dir = 8},/turf/open/floor/plasteel/dark,/area/crew_quarters/bar)
"gNE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 9; name = "air supply pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 9; name = "scrubbers pipe"},/obj/structure/cable{icon_state = "1-8"},/obj/structure/disposalpipe/segment{dir = 9},/obj/machinery/atmospherics/pipe/simple/cyan/hidden{dir = 1; name = "air supply pipe"},/turf/open/floor/plating,/area/maintenance/aft)
"gNE" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer3{name = "air supply pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 9; name = "scrubbers pipe"},/obj/structure/cable{icon_state = "1-8"},/obj/structure/disposalpipe/segment{dir = 9},/obj/machinery/atmospherics/pipe/simple/cyan/hidden{dir = 1; name = "air supply pipe"},/turf/open/floor/plating,/area/maintenance/aft)
"gNO" = (/obj/structure/table/wood,/obj/item/radio/intercom{dir = 8; name = "Station Intercom (Court)"},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/turf/open/floor/plasteel{icon_state = "floor_plate"},/area/security/courtroom)
"gOn" = (/turf/open/indestructible/layenia/crystal,/area/layenia)
"gOy" = (/obj/machinery/disposal/bin,/obj/machinery/light{dir = 1; pixel_y = 16},/obj/structure/disposalpipe/trunk,/obj/machinery/camera{c_tag = "Starboard Primary Hallway"},/turf/open/floor/plasteel/dark,/area/hallway/primary/starboard)
@@ -2475,11 +2480,12 @@
"hnd" = (/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/turf_decal/tile/green{dir = 1},/obj/structure/cable{icon_state = "1-2"},/obj/structure/cable{icon_state = "2-4"},/turf/open/floor/plasteel/white/side,/area/medical/virology)
"hnv" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 8; name = "air supply pipe"},/obj/structure/disposalpipe/segment{dir = 5},/turf/open/floor/plasteel,/area/hallway/primary/aft)
"hnD" = (/obj/machinery/camera{c_tag = "Chemistry"},/obj/machinery/chem_master,/obj/effect/turf_decal/tile/yellow{dir = 1},/obj/effect/turf_decal/tile/yellow{dir = 4},/obj/effect/turf_decal/tile/yellow{dir = 8},/turf/open/floor/plasteel/white,/area/medical/chemistry)
"hnH" = (/obj/structure/chair/stool,/obj/effect/turf_decal/stripes/line{dir = 9},/turf/open/floor/plating,/area/maintenance/aft)
"hnH" = (/obj/structure/chair/stool,/obj/effect/turf_decal/stripes/line{dir = 9},/obj/machinery/atmospherics/components/binary/pump{dir = 4},/turf/open/floor/plating,/area/maintenance/aft)
"hnT" = (/obj/effect/turf_decal/stripes/line{dir = 9},/obj/effect/turf_decal/stripes/corner,/obj/machinery/conveyor{dir = 5; id = "QMLoad2"},/turf/open/floor/plating,/area/quartermaster/storage)
"hoe" = (/obj/effect/turf_decal/stripes/line{dir = 8},/obj/effect/turf_decal/tile/brown,/obj/effect/turf_decal/tile/neutral{dir = 4},/turf/open/floor/plasteel{dir = 8; icon_state = "floor_plate"},/area/hallway/primary/aft)
"hog" = (/turf/open/floor/plating,/area/security/processing)
"hoj" = (/obj/structure/cable{icon_state = "2-8"},/obj/structure/cable{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{name = "air supply pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{name = "scrubbers pipe"},/obj/structure/disposalpipe/segment,/turf/open/floor/plasteel,/area/security/brig)
"hor" = (/obj/effect/turf_decal/tile/red,/obj/effect/turf_decal/tile/red{dir = 4},/obj/machinery/computer/lore_terminal,/turf/open/floor/plasteel,/area/hallway/primary/port)
"hox" = (/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral,/obj/structure/chair/comfy{dir = 4},/obj/effect/turf_decal/loading_area{icon_state = "drain"; name = "drain"},/obj/structure/cable{icon_state = "0-8"},/obj/machinery/power/apc{areastring = "/area/crew_quarters/fitness/pool"; name = "Pool APC"; pixel_y = -24},/turf/open/floor/plasteel{dir = 1; icon_state = "floor_plate"},/area/crew_quarters/fitness/pool)
"hoA" = (/obj/item/twohanded/required/kirbyplants/random,/turf/open/floor/plasteel,/area/security/prison)
"hpD" = (/obj/structure/cable{icon_state = "1-8"},/turf/open/floor/plasteel,/area/security/brig)
@@ -3002,7 +3008,7 @@
"iJG" = (/obj/effect/decal/cleanable/oil{icon_state = "floor5"},/turf/open/floor/plasteel,/area/security/prison)
"iJM" = (/obj/effect/turf_decal/stripes/box,/obj/structure/railing{dir = 8},/obj/structure/railing,/turf/open/floor/plating{initial_gas_mix = "o2=22;n2=82;TEMP=180"; planetary_atmos = 1},/area/layenia)
"iJN" = (/obj/effect/turf_decal/loading_area{icon_state = "drain"; name = "drain"},/obj/effect/turf_decal/loading_area{dir = 8; icon_state = "drain"; name = "drain"},/turf/open/floor/carpet,/area/crew_quarters/dorms)
"iJO" = (/obj/structure/cable/yellow{icon_state = "2-4"},/turf/open/floor/plasteel/dark,/area/engine/engineering/reactor_control)
"iJO" = (/obj/structure/cable/yellow{icon_state = "2-4"},/obj/machinery/computer/lore_terminal,/turf/open/floor/plasteel/dark,/area/engine/engineering/reactor_control)
"iJV" = (/obj/docking_port/stationary{dir = 2; dwidth = 1; height = 4; name = "escape pod loader"; roundstart_template = /datum/map_template/shuttle/escape_pod/default; width = 3},/turf/open/indestructible/concrete,/area/layenia/cloudlayer)
"iJX" = (/mob/living/simple_animal/pet/cat{name = "Stray Maintenance Cat"},/turf/open/floor/plating,/area/maintenance/port)
"iKj" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer3{name = "air supply pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 4; name = "scrubbers pipe"},/turf/open/floor/plasteel{icon_state = "floor_plate"},/area/quartermaster/storage)
@@ -3328,6 +3334,7 @@
"jKa" = (/obj/structure/closet/firecloset,/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plasteel/dark,/area/science/misc_lab)
"jKd" = (/obj/machinery/door/airlock/maintenance{name = "Law Office Maintenance"; req_access_txt = "38"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{name = "scrubbers pipe"},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{name = "air supply pipe"},/turf/open/floor/plating,/area/lawoffice)
"jKu" = (/obj/structure/table,/obj/item/camera_film,/obj/item/camera,/obj/machinery/light{dir = 1; pixel_y = 16},/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{name = "air scrubber"},/turf/open/floor/plasteel,/area/crew_quarters/fitness)
"jKw" = (/obj/machinery/atmospherics/pipe/layer_manifold{dir = 4},/turf/closed/wall,/area/maintenance/aft)
"jKz" = (/obj/structure/table,/obj/item/paper_bin{pixel_x = -2; pixel_y = 5},/obj/item/pen/red,/obj/effect/turf_decal/tile/green,/obj/effect/turf_decal/tile/green{dir = 4},/turf/open/floor/plasteel/white/side{dir = 8},/area/medical/virology)
"jKB" = (/obj/structure/sign/logo/kinaris{icon_state = "kinaris_sign4"; pixel_y = 32},/obj/structure/flora/crystal/small/pile,/turf/open/indestructible/layenia/crystal/garden,/area/bridge)
"jKG" = (/obj/structure/table/wood,/obj/item/folder/blue,/obj/item/stamp/law,/obj/item/pen/red,/turf/open/floor/carpet,/area/lawoffice)
@@ -3349,7 +3356,7 @@
"jNC" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{name = "scrubbers pipe"},/turf/open/floor/plasteel,/area/science/lab)
"jNJ" = (/obj/structure/cable{icon_state = "4-8"},/obj/effect/turf_decal/loading_area{dir = 1; icon_state = "drain"; name = "drain"},/obj/machinery/light{dir = 1; pixel_y = 16},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 8; name = "air supply pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 4; name = "scrubbers pipe"},/turf/open/floor/plasteel/dark,/area/security/main)
"jNR" = (/obj/machinery/atmospherics/pipe/manifold4w/general/visible,/obj/structure/cable{icon_state = "1-2"},/turf/open/floor/circuit/telecomms,/area/science/xenobiology)
"jNS" = (/obj/machinery/portable_atmospherics/canister/nitrous_oxide,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/engine/break_room)
"jNS" = (/obj/machinery/portable_atmospherics/canister/nitrous_oxide,/obj/effect/turf_decal/bot,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{name = "scrubbers pipe"},/turf/open/floor/plasteel/dark,/area/engine/break_room)
"jNT" = (/obj/structure/chair/stool,/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/machinery/camera{c_tag = "Medbay Break Room"; dir = 4; network = list("ss13","medbay")},/turf/open/floor/plasteel/cafeteria{dir = 5},/area/medical/medbay/central)
"jNV" = (/obj/effect/turf_decal/stripes/line,/obj/effect/turf_decal/stripes/line{dir = 1},/obj/structure/fence{dir = 4},/turf/open/floor/plating{initial_gas_mix = "o2=22;n2=82;TEMP=180"; planetary_atmos = 1},/area/layenia)
"jNY" = (/obj/structure/table/wood,/obj/item/clipboard,/obj/item/clothing/glasses/meson/gar,/obj/machinery/light/small{dir = 1; pixel_y = 16},/turf/open/floor/wood,/area/crew_quarters/heads/chief)
@@ -3423,7 +3430,7 @@
"jYc" = (/obj/effect/turf_decal/tile/red{dir = 1},/obj/machinery/computer/security/telescreen/prison{pixel_y = 30},/turf/open/floor/plasteel{icon_state = "floor_plate"},/area/security/prison)
"jYe" = (/obj/machinery/atmospherics/pipe/simple/green/visible/layer3{dir = 8; name = "visible"},/obj/effect/turf_decal/stripes/line,/turf/open/floor/plating{initial_gas_mix = "o2=22;n2=82;TEMP=180"; planetary_atmos = 1},/area/layenia)
"jYt" = (/obj/effect/turf_decal/loading_area{dir = 1; icon_state = "drain"; name = "drain"},/obj/effect/turf_decal/tile/brown,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/machinery/airalarm{pixel_y = 24},/turf/open/floor/plasteel,/area/hallway/primary/aft)
"jYA" = (/obj/effect/turf_decal/loading_area{dir = 1; icon_state = "drain"; name = "drain"},/obj/machinery/camera{c_tag = "Research Division North"; network = list("ss13","rd")},/turf/open/floor/plasteel/white/side,/area/science/research)
"jYA" = (/obj/effect/turf_decal/loading_area{dir = 1; icon_state = "drain"; name = "drain"},/obj/machinery/camera{c_tag = "Research Division North"; network = list("ss13","rd")},/obj/machinery/computer/lore_terminal,/turf/open/floor/plasteel/white/side,/area/science/research)
"jYC" = (/obj/effect/spawner/lootdrop/maintenance,/obj/structure/closet,/turf/open/floor/plating,/area/maintenance/starboard)
"jYD" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 8; name = "air supply pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 4; name = "scrubbers pipe"},/obj/machinery/airalarm{pixel_y = 22},/obj/structure/cable{icon_state = "4-8"},/turf/open/floor/plasteel/dark,/area/hallway/primary/fore)
"jYF" = (/turf/closed/wall/r_wall,/area/maintenance/starboard/central)
@@ -3569,7 +3576,7 @@
"kui" = (/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{dir = 4; name = "air scrubber"},/turf/open/floor/plasteel,/area/crew_quarters/locker)
"kuk" = (/obj/effect/turf_decal/loading_area{dir = 8; icon_state = "drain"; name = "drain"},/obj/effect/turf_decal/tile/blue,/obj/effect/turf_decal/tile/brown{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{name = "air supply pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{name = "scrubbers pipe"},/obj/machinery/power/apc{areastring = "/area/hallway/primary/aft"; dir = 8; name = "Aft Hall APC"; pixel_x = -25; pixel_y = 1},/obj/structure/cable{icon_state = "0-2"},/turf/open/floor/plasteel{dir = 8; icon_state = "floor_plate"},/area/hallway/primary/aft)
"kup" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/ai_monitored/turret_protected/aisat/atmos)
"kur" = (/obj/machinery/door/airlock/security/glass{dir = 4; name = "Security Office"; req_access_txt = "63"},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 8; name = "air supply pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 4; name = "scrubbers pipe"},/obj/structure/cable{icon_state = "4-8"},/turf/open/floor/plasteel,/area/security/checkpoint/science)
"kur" = (/obj/machinery/door/airlock/security/glass{dir = 4; name = "Security Office"; req_access_txt = "63"},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 8; name = "air supply pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 4; name = "scrubbers pipe"},/obj/structure/cable{icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/plasteel,/area/security/checkpoint/science)
"kuA" = (/obj/effect/spawner/structure/window/reinforced,/obj/structure/cable{icon_state = "0-8"},/obj/structure/cable{icon_state = "0-2"},/turf/open/floor/plating,/area/medical/virology)
"kuB" = (/obj/machinery/atmospherics/components/trinary/filter/atmos/n2,/turf/open/floor/plasteel,/area/engine/atmos)
"kuD" = (/obj/item/twohanded/required/kirbyplants/random,/turf/open/floor/plasteel,/area/tcommsat/computer)
@@ -3606,7 +3613,7 @@
"kzC" = (/obj/effect/turf_decal/stripes/line{dir = 9},/turf/open/indestructible/concrete,/area/layenia/cloudlayer)
"kzI" = (/turf/open/floor/grass,/area/layenia)
"kzL" = (/obj/machinery/cryopod{dir = 4},/obj/machinery/computer/cryopod{pixel_x = -1; pixel_y = 26},/turf/open/floor/plasteel/dark,/area/security/prison)
"kzP" = (/obj/effect/turf_decal/loading_area{dir = 1; icon_state = "drain"; name = "drain"},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/machinery/camera{c_tag = "Aft Primary Hallway 2"},/turf/open/floor/plasteel/white/corner,/area/hallway/primary/aft)
"kzP" = (/obj/effect/turf_decal/loading_area{dir = 1; icon_state = "drain"; name = "drain"},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/machinery/camera{c_tag = "Aft Primary Hallway 2"},/obj/machinery/computer/lore_terminal,/turf/open/floor/plasteel/white/corner,/area/hallway/primary/aft)
"kAb" = (/obj/structure/table,/obj/item/storage/firstaid/fire{pixel_x = 3; pixel_y = 3},/obj/item/storage/firstaid/fire,/obj/item/storage/firstaid/regular{pixel_x = -3; pixel_y = -3},/obj/machinery/door/window/northright{name = "First-Aid Supplies"; red_alert_access = 1; req_access_txt = "5"},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue,/turf/open/floor/plasteel/white,/area/medical/sleeper)
"kAl" = (/obj/effect/baseturf_helper/asteroid/layenia,/turf/closed/wall/r_wall,/area/maintenance/solars/port/aft)
"kAp" = (/turf/open/floor/plasteel/freezer,/area/medical/sleeper)
@@ -3740,6 +3747,7 @@
"kWZ" = (/obj/structure/cable{icon_state = "1-2"},/obj/effect/mapping_helpers/airlock/cyclelink_helper,/obj/machinery/door/airlock/external{name = "Solar Maintenance"; req_access_txt = "10; 13"},/turf/open/floor/plating,/area/maintenance/solars/port/aft)
"kXh" = (/obj/machinery/shower{dir = 4; name = "emergency shower"},/obj/effect/turf_decal/loading_area{dir = 8; icon_state = "drain"; name = "drain"},/obj/machinery/light{dir = 1; pixel_y = 16},/turf/open/floor/plasteel/freezer,/area/crew_quarters/fitness)
"kXq" = (/obj/docking_port/stationary{dir = 2; dwidth = 11; height = 22; id = "whiteship_home"; name = "SS13: Auxiliary Dock, Station-Port"; width = 35},/turf/open/indestructible/concrete/smooth,/area/layenia)
"kXI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{name = "scrubbers pipe"},/turf/closed/wall/r_wall,/area/engine/break_room)
"kXX" = (/obj/effect/turf_decal/loading_area{icon_state = "drain"; name = "drain"},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{name = "air supply pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{name = "scrubbers pipe"},/obj/structure/cable{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/open/floor/plasteel{icon_state = "floor_plate"},/area/hallway/primary/fore)
"kYd" = (/obj/structure/sign/warning/securearea,/turf/closed/wall/r_wall,/area/science/xenobiology)
"kYf" = (/obj/structure/lattice,/turf/open/space/basic,/area/layenia/cloudlayer)
@@ -3792,7 +3800,7 @@
"lgf" = (/obj/effect/baseturf_helper/asteroid/layenia,/turf/closed/wall/r_wall,/area/maintenance/solars/port/fore)
"lgh" = (/obj/machinery/atmospherics/pipe/manifold/green/visible{dir = 1},/turf/open/floor/plasteel,/area/engine/atmos)
"lgj" = (/obj/machinery/atmospherics/pipe/manifold/green/visible{dir = 4},/turf/open/floor/plasteel,/area/engine/atmos)
"lgn" = (/obj/effect/turf_decal/tile/red{dir = 4},/obj/effect/turf_decal/tile/red,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 6; name = "scrubbers pipe"},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 8; name = "air supply pipe"},/obj/structure/cable{icon_state = "4-8"},/turf/open/floor/plasteel/dark,/area/security/checkpoint/science)
"lgn" = (/obj/effect/turf_decal/tile/red{dir = 4},/obj/effect/turf_decal/tile/red,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 6; name = "scrubbers pipe"},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 8; name = "air supply pipe"},/obj/structure/cable{icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/plasteel/dark,/area/security/checkpoint/science)
"lgo" = (/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 8},/obj/structure/sign/poster/official/here_for_your_safety{pixel_y = 32},/turf/open/floor/plasteel,/area/hallway/primary/port)
"lgw" = (/obj/structure/rack,/obj/item/circuitboard/aicore{pixel_x = -2; pixel_y = 4},/obj/effect/turf_decal/stripes/line{dir = 9},/obj/structure/window/reinforced{dir = 8},/turf/open/floor/plasteel/white,/area/crew_quarters/heads/hor)
"lgL" = (/obj/effect/spawner/structure/window/reinforced,/obj/structure/cable,/turf/open/floor/plating,/area/bridge)
@@ -4224,7 +4232,7 @@
"myO" = (/obj/structure/table/reinforced,/obj/machinery/reagentgrinder{pixel_x = -1; pixel_y = 8},/turf/open/floor/plasteel{icon_state = "floor_plate"},/area/science/xenobiology)
"myR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer1{dir = 4},/obj/effect/turf_decal/stripes/line,/obj/structure/cable/white{icon_state = "1-2"},/obj/machinery/atmospherics/components/binary/pump{name = "Atmospherics to Reactor"},/turf/open/floor/plasteel/dark,/area/engine/engineering/reactor_control)
"myS" = (/obj/effect/turf_decal/tile/green{dir = 8},/obj/effect/turf_decal/tile/green{dir = 1},/turf/open/indestructible/concrete/smooth,/area/layenia)
"mze" = (/obj/effect/turf_decal/tile/red{dir = 8},/obj/effect/turf_decal/tile/red{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 5; name = "air supply pipe"},/obj/structure/cable{icon_state = "2-4"},/turf/open/floor/plasteel/dark,/area/security/checkpoint/science)
"mze" = (/obj/effect/turf_decal/tile/red{dir = 8},/obj/effect/turf_decal/tile/red{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 5; name = "air supply pipe"},/obj/structure/cable{icon_state = "2-4"},/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/plasteel/dark,/area/security/checkpoint/science)
"mzg" = (/obj/effect/turf_decal/box,/obj/machinery/holopad,/turf/open/floor/plasteel{dir = 4; icon_plating = "floor"; icon_state = "floor_whole"},/area/quartermaster/office)
"mzw" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 8; name = "air supply pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 4; name = "scrubbers pipe"},/obj/structure/cable{icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/plasteel/cafeteria,/area/science/misc_lab)
"mzJ" = (/obj/machinery/light{dir = 8; pixel_x = -7; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{name = "air supply pipe"},/obj/structure/cable{icon_state = "1-2"},/turf/open/floor/wood,/area/crew_quarters/heads/captain)
@@ -4247,6 +4255,7 @@
"mBF" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{dir = 9},/obj/effect/turf_decal/tile/yellow{dir = 1},/obj/effect/decal/cleanable/dirt,/turf/open/floor/plasteel,/area/engine/engineering)
"mBH" = (/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/plating,/area/storage/tech)
"mCB" = (/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 8},/obj/effect/turf_decal/tile/red,/obj/effect/turf_decal/tile/red{dir = 4},/obj/machinery/door/airlock/glass{dir = 4; id_tag = "checkpointinner"; name = "inner airlock"},/obj/effect/mapping_helpers/airlock/cyclelink_helper{dir = 8},/turf/open/floor/plasteel,/area/hallway/primary/port)
"mCD" = (/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral,/obj/machinery/computer/lore_terminal,/turf/open/floor/plasteel{dir = 1; icon_state = "floor_plate"},/area/engine/break_room)
"mCJ" = (/obj/machinery/atmospherics/components/unary/vent_pump/on/layer3{dir = 1; name = "air vent"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{name = "scrubbers pipe"},/turf/open/floor/plasteel/white,/area/science/research)
"mCL" = (/obj/effect/turf_decal/tile/yellow{dir = 4},/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{dir = 4; name = "air scrubber"},/obj/effect/landmark/start/station_engineer,/turf/open/floor/plasteel{icon_state = "floor_plate"},/area/engine/engineering)
"mCS" = (/obj/machinery/door/poddoor/preopen{id = "medpriv4"; name = "privacy door"},/obj/effect/spawner/structure/window,/obj/machinery/door/firedoor,/turf/open/floor/plating,/area/medical/sleeper)
@@ -4267,7 +4276,7 @@
"mFO" = (/obj/machinery/door/firedoor,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral,/obj/structure/cable{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{name = "air supply pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{name = "scrubbers pipe"},/turf/open/floor/plasteel/dark,/area/security/main)
"mGa" = (/obj/machinery/gateway{dir = 1},/obj/effect/turf_decal/bot_white,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/machinery/light{dir = 1; pixel_y = 16},/turf/open/floor/plasteel/dark,/area/gateway)
"mGd" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor/shutters{id = "Skynet_launch"; name = "mech bay"},/obj/effect/turf_decal/delivery,/turf/open/floor/plasteel{icon_plating = "floor"; icon_state = "floor_whole"},/area/science/robotics/lab)
"mGn" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 8; name = "air supply pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 4; name = "scrubbers pipe"},/obj/structure/cable{icon_state = "4-8"},/obj/machinery/power/apc{areastring = "/area/maintenance/fore"; dir = 1; name = "Fore Maintenance APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-8"},/turf/open/floor/plating,/area/maintenance/fore)
"mGn" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 8; name = "air supply pipe"},/obj/structure/cable{icon_state = "4-8"},/obj/machinery/power/apc{areastring = "/area/maintenance/fore"; dir = 1; name = "Fore Maintenance APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-8"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{dir = 1; name = "scrubbers pipe"},/turf/open/floor/plating,/area/maintenance/fore)
"mGo" = (/obj/effect/turf_decal/tile/yellow{dir = 4},/obj/effect/turf_decal/tile/yellow{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{name = "scrubbers pipe"},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{name = "air supply pipe"},/obj/structure/disposalpipe/segment,/turf/open/floor/plasteel,/area/engine/break_room)
"mGu" = (/obj/machinery/computer/arcade/minesweeper{dir = 8},/turf/open/floor/carpet/black,/area/arcade)
"mGx" = (/obj/structure/closet/secure_closet/engineering_personal,/obj/effect/turf_decal/tile/yellow{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral,/turf/open/floor/plasteel,/area/engine/engineering)
@@ -4836,7 +4845,7 @@
"okO" = (/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/security/range)
"okV" = (/obj/effect/turf_decal/loading_area{dir = 4; icon_state = "drain"; name = "drain"},/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/yellow{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 4; name = "scrubbers pipe"},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 8; name = "air supply pipe"},/obj/structure/cable{icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/plasteel{dir = 4; icon_state = "floor_plate"},/area/hallway/primary/fore)
"okY" = (/obj/effect/turf_decal/stripes/line{dir = 8},/obj/structure/cable{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/cyan/hidden{dir = 4; name = "air supply pipe"},/turf/open/floor/plasteel,/area/medical/virology)
"okZ" = (/obj/effect/turf_decal/stripes/corner{dir = 1},/obj/effect/turf_decal/loading_area{dir = 1; icon_state = "drain"; name = "drain"},/obj/effect/baseturf_helper/asteroid/layenia,/turf/open/floor/plasteel{dir = 8; icon_state = "floor_plate"},/area/hallway/primary/aft)
"okZ" = (/obj/effect/turf_decal/stripes/corner{dir = 1},/obj/effect/turf_decal/loading_area{dir = 1; icon_state = "drain"; name = "drain"},/obj/effect/baseturf_helper/asteroid/layenia,/obj/machinery/computer/lore_terminal,/turf/open/floor/plasteel{dir = 8; icon_state = "floor_plate"},/area/hallway/primary/aft)
"olr" = (/obj/structure/cable{icon_state = "2-8"},/obj/structure/cable{icon_state = "1-8"},/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plating{initial_gas_mix = "o2=22;n2=82;TEMP=180"; planetary_atmos = 1},/area/layenia/cloudlayer)
"olu" = (/obj/structure/cable{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{name = "air supply pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{name = "scrubbers pipe"},/obj/machinery/door/airlock/command/glass{name = "Ferry Docking Airlock"; req_access_txt = "19"},/turf/open/floor/plasteel,/area/bridge)
"oly" = (/obj/structure/weightmachine/weightlifter,/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer3{dir = 4; name = "air supply pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{name = "scrubbers pipe"},/turf/open/floor/wood,/area/crew_quarters/fitness)
@@ -5219,7 +5228,7 @@
"pqe" = (/obj/effect/turf_decal/loading_area{dir = 1; icon_state = "drain"; name = "drain"},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 8; name = "air supply pipe"},/turf/open/floor/plasteel/freezer,/area/crew_quarters/fitness)
"pqI" = (/turf/open/floor/plasteel/white,/area/science/lab)
"pqP" = (/obj/effect/turf_decal/tile/yellow,/obj/effect/turf_decal/tile/yellow{dir = 8},/obj/effect/turf_decal/tile/yellow{dir = 4},/turf/open/floor/plasteel,/area/engine/break_room)
"pqW" = (/obj/item/wrench,/obj/machinery/atmospherics/pipe/simple/cyan/hidden{dir = 6; name = "air supply pipe"},/obj/machinery/light/small{dir = 1; pixel_y = 16},/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plating,/area/maintenance/aft)
"pqW" = (/obj/item/wrench,/obj/machinery/light/small{dir = 1; pixel_y = 16},/obj/effect/turf_decal/stripes/line{dir = 1},/obj/machinery/atmospherics/pipe/manifold/cyan/visible{dir = 1},/turf/open/floor/plating,/area/maintenance/aft)
"pqX" = (/turf/open/indestructible/layenia/crystal/garden,/area/hallway/primary/port/fore)
"pqZ" = (/obj/machinery/door/firedoor,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/effect/turf_decal/tile/neutral,/turf/open/floor/plasteel{dir = 1; icon_state = "floor_plate"},/area/engine/break_room)
"prb" = (/obj/structure/flora/crystal/small/pile,/turf/open/floor/plating/asteroid/layenia/garden,/area/hallway/primary/port/fore)
@@ -5487,7 +5496,7 @@
"qbU" = (/obj/machinery/telecomms/server/presets/engineering,/turf/open/floor/circuit/telecomms/mainframe,/area/tcommsat/server)
"qcd" = (/turf/closed/wall/r_wall,/area/medical/sleeper)
"qcl" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{dir = 4; name = "scrubbers pipe"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer3{dir = 4; name = "air supply pipe"},/obj/structure/cable{icon_state = "4-8"},/turf/open/floor/plasteel,/area/security/prison)
"qcm" = (/obj/effect/turf_decal/loading_area{dir = 8; icon_state = "drain"; name = "drain"},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 8; name = "air supply pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 4; name = "scrubbers pipe"},/obj/structure/cable{icon_state = "4-8"},/turf/open/floor/plasteel/white/side{dir = 4},/area/science/research)
"qcm" = (/obj/effect/turf_decal/loading_area{dir = 8; icon_state = "drain"; name = "drain"},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 8; name = "air supply pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 4; name = "scrubbers pipe"},/obj/structure/cable{icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/plasteel/white/side{dir = 4},/area/science/research)
"qco" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 6; name = "scrubbers pipe"},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 5; name = "air supply pipe"},/turf/open/floor/plasteel,/area/security/main)
"qcp" = (/obj/machinery/light{dir = 8; pixel_x = -7; pixel_y = 0},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{name = "air supply pipe"},/turf/open/floor/plasteel{dir = 4; icon_state = "floor_plate"},/area/quartermaster/warehouse)
"qcr" = (/turf/open/floor/plating,/area/maintenance/fore)
@@ -5981,6 +5990,7 @@
"rqm" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 8; name = "air supply pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 10; name = "scrubbers pipe"},/turf/open/floor/plasteel,/area/hallway/primary/aft)
"rqp" = (/turf/open/floor/engine/o2,/area/engine/atmos)
"rqO" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{name = "air supply pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{name = "scrubbers pipe"},/obj/structure/cable{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/open/floor/plasteel/white/side,/area/science/research)
"rqS" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 4; name = "scrubbers pipe"},/obj/structure/cable{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer3{dir = 1; name = "air supply pipe"},/turf/open/floor/plating,/area/maintenance/fore)
"rre" = (/obj/structure/bed,/obj/item/bedsheet/red,/obj/machinery/atmospherics/components/unary/vent_pump/on/layer3{dir = 8; name = "air vent"},/turf/open/floor/carpet,/area/crew_quarters/bar)
"rrp" = (/turf/closed/wall,/area/security/checkpoint/supply)
"rrw" = (/obj/structure/table,/obj/item/storage/firstaid/regular{pixel_x = -9; pixel_y = 9},/obj/item/multitool{pixel_x = 6},/obj/effect/turf_decal/stripes/corner,/obj/machinery/airalarm{pixel_y = 24},/turf/open/floor/plasteel{dir = 4; icon_state = "floor_plate"},/area/quartermaster/sorting)
@@ -6191,6 +6201,7 @@
"rSj" = (/obj/machinery/power/terminal{dir = 1},/obj/structure/cable{icon_state = "0-2"},/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel/dark/telecomms,/area/tcommsat/server)
"rSp" = (/obj/machinery/door/airlock/maintenance{name = "Maintenance Access"; req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{name = "scrubbers pipe"},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{name = "air supply pipe"},/obj/structure/cable{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/open/floor/plating,/area/maintenance/port)
"rSq" = (/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple{dir = 8},/obj/machinery/light{pixel_y = -1},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 8; name = "air supply pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 4; name = "scrubbers pipe"},/obj/structure/cable{icon_state = "4-8"},/turf/open/floor/plasteel/cafeteria{dir = 5},/area/science/research)
"rSz" = (/obj/effect/turf_decal/tile/red,/obj/effect/turf_decal/tile/red{dir = 4},/obj/machinery/light{dir = 4},/turf/open/floor/plasteel{dir = 8; icon_state = "floor_plate"},/area/security/brig)
"rSC" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 4; name = "scrubbers pipe"},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 8; name = "air supply pipe"},/obj/structure/cable{icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/turf_decal/loading_area{dir = 4; icon_state = "drain"; name = "drain"},/turf/open/floor/plasteel/dark,/area/quartermaster/miningdock)
"rSE" = (/obj/structure/window/reinforced,/obj/machinery/doppler_array/research/science{dir = 2},/obj/effect/turf_decal/bot{dir = 2},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 9; name = "air supply pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 9; name = "scrubbers pipe"},/obj/item/radio/intercom{name = "Station Intercom"; pixel_x = 26},/turf/open/floor/plasteel,/area/science/mixing)
"rSI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 4; name = "scrubbers pipe"},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 8; name = "air supply pipe"},/obj/structure/cable{icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/plating,/area/maintenance/fore/secondary)
@@ -6309,7 +6320,7 @@
"sie" = (/obj/structure/table,/obj/machinery/microwave{pixel_y = 6},/obj/machinery/airalarm{pixel_y = 23},/turf/open/floor/plasteel/white,/area/medical/virology)
"sij" = (/obj/effect/turf_decal/loading_area{icon_state = "drain"; name = "drain"},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/stripes/corner{dir = 1},/obj/structure/sign/warning/securearea{pixel_y = -32},/obj/machinery/light{pixel_y = -1},/obj/machinery/atmospherics/components/unary/vent_pump/on/layer3{dir = 8; name = "air vent"},/turf/open/floor/plasteel{icon_state = "floor_plate"},/area/hallway/primary/starboard)
"sir" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 4; name = "scrubbers pipe"},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 8; name = "air supply pipe"},/obj/structure/cable{icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{icon_state = "0-4"},/obj/machinery/power/apc{areastring = "/area/maintenance/fore/secondary"; dir = 1; name = "Fore Maintenance APC"; pixel_y = 24},/turf/open/floor/plating,/area/maintenance/fore/secondary)
"siu" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/engine/break_room)
"siu" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/effect/turf_decal/bot,/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 1; name = "air supply pipe"},/turf/open/floor/plasteel/dark,/area/engine/break_room)
"siv" = (/obj/machinery/portable_atmospherics/scrubber,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel/dark,/area/science/misc_lab)
"siG" = (/obj/machinery/computer/teleporter{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 4},/obj/machinery/light{dir = 1; pixel_y = 16},/turf/open/floor/plating,/area/ai_monitored/turret_protected/aisat_interior)
"siH" = (/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/green{dir = 4},/obj/effect/turf_decal/stripes/corner{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 4; name = "scrubbers pipe"},/obj/structure/cable{icon_state = "4-8"},/turf/open/floor/plasteel,/area/bridge)
@@ -6609,6 +6620,7 @@
"sZv" = (/turf/open/floor/plasteel/white/corner{dir = 1},/area/hallway/secondary/entry)
"sZF" = (/obj/structure/chair{dir = 4},/turf/open/floor/plasteel,/area/engine/break_room)
"sZQ" = (/obj/machinery/light{pixel_y = -1},/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{dir = 8; name = "air scrubber"},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 8; name = "air supply pipe"},/turf/open/floor/plasteel/white,/area/medical/virology)
"taa" = (/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 8},/obj/machinery/computer/lore_terminal,/turf/open/floor/plasteel,/area/hallway/primary/port)
"tag" = (/obj/machinery/door/airlock/research{dir = 4; name = "Testing Lab"; req_access_txt = "47"},/obj/machinery/door/firedoor,/obj/effect/turf_decal/loading_area{icon_state = "drain"; name = "drain"},/turf/open/floor/plasteel,/area/science/research)
"taj" = (/obj/structure/table,/obj/machinery/microwave{pixel_y = 6},/turf/open/floor/plasteel/cafeteria{dir = 5},/area/maintenance/port/aft)
"taq" = (/obj/machinery/door/airlock/security/glass{dir = 4; name = "Holding Area"; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 8; name = "air supply pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 4; name = "scrubbers pipe"},/turf/open/floor/plasteel,/area/security/checkpoint/escape)
@@ -7234,6 +7246,7 @@
"uGR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{name = "air supply pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{name = "scrubbers pipe"},/obj/structure/cable{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/power/apc{areastring = "/area/janitor"; dir = 4; name = "Custodial Closet APC"; pixel_x = 26},/obj/structure/cable,/turf/open/floor/plating,/area/maintenance/fore/secondary)
"uHf" = (/obj/machinery/door/firedoor,/obj/effect/turf_decal/loading_area{dir = 4; icon_state = "drain"; name = "drain"},/turf/open/floor/plasteel,/area/engine/break_room)
"uHo" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 10; name = "scrubbers pipe"},/turf/open/floor/carpet/red,/area/security/checkpoint/auxiliary)
"uHs" = (/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{dir = 4; name = "air scrubber"},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 1; name = "air supply pipe"},/turf/open/floor/plasteel,/area/engine/break_room)
"uHB" = (/obj/machinery/computer/rdconsole/experiment,/obj/effect/turf_decal/stripes/corner{dir = 4},/turf/open/floor/plasteel/white,/area/science/misc_lab)
"uHO" = (/obj/structure/railing{dir = 8},/obj/structure/railing,/turf/open/floor/plating/asteroid/layenia,/area/layenia)
"uHV" = (/obj/effect/turf_decal/stripes/line{dir = 5},/obj/structure/closet/crate{icon_state = "crateopen"},/obj/item/toy/figure/ninja,/turf/open/floor/plating{initial_gas_mix = "o2=22;n2=82;TEMP=180"; planetary_atmos = 1},/area/layenia)
@@ -7375,7 +7388,7 @@
"vak" = (/obj/structure/chair/comfy/black{dir = 8},/turf/open/floor/plasteel/dark,/area/hallway/primary/port)
"vav" = (/obj/effect/turf_decal/loading_area{dir = 1; icon_state = "drain"; name = "drain"},/obj/effect/turf_decal/loading_area{dir = 4; icon_state = "drain"; name = "drain"},/turf/open/floor/plasteel{dir = 1; icon_state = "floor_plate"},/area/science/misc_lab)
"vaV" = (/obj/machinery/atmospherics/components/binary/circulator/cold{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/circuit/green,/area/engine/engineering)
"vbb" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/effect/turf_decal/bot,/obj/machinery/light{dir = 1; pixel_y = 16},/turf/open/floor/plasteel/dark,/area/engine/break_room)
"vbb" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/effect/turf_decal/bot,/obj/machinery/light{dir = 1; pixel_y = 16},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 1; name = "air supply pipe"},/turf/open/floor/plasteel/dark,/area/engine/break_room)
"vbd" = (/obj/effect/turf_decal/bot,/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/machinery/light{pixel_y = -1},/turf/open/floor/engine,/area/science/storage)
"vbt" = (/obj/effect/turf_decal/stripes/line{dir = 1},/obj/structure/chair,/obj/machinery/camera{c_tag = "Central Hallway North"; dir = 6},/turf/open/floor/plasteel{dir = 1; icon_state = "floor_plate"},/area/hallway/primary/central)
"vby" = (/obj/machinery/light{dir = 1; pixel_y = 16},/obj/machinery/camera{c_tag = "MiniSat Exterior Entrance"; network = list("minisat"); start_active = 1},/turf/open/floor/plating{initial_gas_mix = "o2=22;n2=82;TEMP=180"; planetary_atmos = 1},/area/layenia)
@@ -7498,7 +7511,7 @@
"vtH" = (/obj/structure/flora/junglebush,/obj/structure/flora/ausbushes/brflowers,/obj/structure/window/reinforced{dir = 8},/turf/open/floor/grass,/area/medical/sleeper)
"vtI" = (/obj/effect/spawner/structure/window/reinforced,/obj/structure/cable{icon_state = "0-4"},/obj/structure/cable{icon_state = "0-2"},/turf/open/floor/plating,/area/security/checkpoint/engineering)
"vtV" = (/obj/structure/chair,/turf/open/floor/plasteel/dark,/area/hallway/primary/fore)
"vuc" = (/obj/machinery/holopad,/obj/effect/turf_decal/box,/turf/open/floor/plasteel,/area/engine/break_room)
"vuc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 1; name = "air supply pipe"},/turf/open/floor/plasteel,/area/engine/break_room)
"vui" = (/obj/machinery/door/firedoor,/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel{dir = 1; icon_state = "floor_plate"},/area/engine/break_room)
"vun" = (/obj/effect/turf_decal/loading_area{dir = 10; icon_state = "steel_panel"; name = "steel pannel"},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 8; name = "air supply pipe"},/turf/open/floor/plasteel/dark,/area/crew_quarters/bar)
"vur" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor/preopen{dir = 8; id = "primaryshut1"; name = "primary blast door"},/obj/machinery/door/airlock/public/glass{dir = 4; name = "Central Access"},/obj/effect/turf_decal/delivery,/turf/open/floor/plasteel/dark,/area/hallway/primary/central)
@@ -7602,7 +7615,7 @@
"vHU" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/open/floor/plasteel,/area/engine/engineering)
"vId" = (/obj/effect/turf_decal/loading_area{dir = 8; icon_state = "drain"; name = "drain"},/obj/structure/table,/obj/item/paper_bin{pixel_x = 1; pixel_y = 8},/obj/item/pen,/turf/open/floor/plasteel{dir = 8; icon_state = "floor_trim"},/area/hallway/primary/central)
"vIi" = (/obj/machinery/atmospherics/pipe/simple/yellow/visible/layer1{dir = 6; name = "visible"},/obj/effect/turf_decal/stripes/line{dir = 8},/obj/effect/turf_decal/stripes/red/line{dir = 8},/turf/open/floor/plating{initial_gas_mix = "o2=22;n2=82;TEMP=180"; planetary_atmos = 1},/area/layenia)
"vIp" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 8; name = "air supply pipe"},/turf/open/floor/plasteel,/area/engine/break_room)
"vIp" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer3{name = "air supply pipe"},/turf/open/floor/plasteel,/area/engine/break_room)
"vIq" = (/obj/effect/turf_decal/stripes/corner,/turf/open/floor/plasteel,/area/hallway/primary/central)
"vIB" = (/obj/effect/turf_decal/tile/red{dir = 8},/turf/open/floor/plasteel,/area/hallway/secondary/exit)
"vIG" = (/obj/effect/turf_decal/tile/red,/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 8},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/structure/closet/secure_closet/freezer/cream_pie,/turf/open/floor/plasteel,/area/crew_quarters/theatre)
@@ -7645,7 +7658,7 @@
"vNo" = (/obj/effect/turf_decal/bot,/turf/open/floor/plasteel,/area/hallway/primary/starboard)
"vNs" = (/obj/machinery/door/firedoor,/obj/effect/turf_decal/loading_area{icon_state = "drain"; name = "drain"},/obj/effect/turf_decal/tile/red{dir = 4},/turf/open/floor/plasteel/white/corner{dir = 1},/area/hallway/primary/starboard)
"vNw" = (/obj/effect/turf_decal/tile/red,/obj/effect/turf_decal/tile/neutral{dir = 8},/obj/structure/sign/warning/electricshock{pixel_y = 32},/turf/open/floor/plasteel{dir = 1; icon_state = "floor_plate"},/area/hallway/primary/fore)
"vNz" = (/obj/effect/turf_decal/tile/blue{dir = 1},/turf/open/floor/plasteel/dark/side{dir = 4},/area/bridge)
"vNz" = (/obj/effect/turf_decal/tile/blue{dir = 1},/obj/structure/filingcabinet/filingcabinet,/turf/open/floor/plasteel/dark/side{dir = 4},/area/bridge)
"vNJ" = (/obj/effect/turf_decal/stripes/line,/turf/open/floor/plasteel{dir = 8; icon_state = "floor_trim"},/area/quartermaster/storage)
"vNP" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer3{name = "air supply pipe"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{name = "scrubbers pipe"},/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/plasteel{icon_plating = "floor"; icon_state = "floor_whole"},/area/security/brig)
"vNT" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{dir = 1; name = "scrubbers pipe"},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 6; name = "air supply pipe"},/obj/structure/cable{icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 6},/turf/open/floor/plasteel/white,/area/science/research)
@@ -7798,7 +7811,7 @@
"whd" = (/obj/effect/mapping_helpers/airlock/cyclelink_helper,/obj/machinery/door/airlock/external{name = "Port Docking Bay 1"},/obj/effect/turf_decal/delivery,/obj/structure/fans/tiny,/turf/open/floor/plasteel/dark,/area/hallway/secondary/entry)
"whi" = (/obj/effect/decal/cleanable/oil,/turf/open/floor/plating{initial_gas_mix = "o2=22;n2=82;TEMP=180"; planetary_atmos = 1},/area/layenia)
"whr" = (/obj/effect/turf_decal/tile/red,/obj/effect/turf_decal/tile/red{dir = 4},/obj/structure/medkit_cabinet{pixel_y = 27},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 8; name = "air supply pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 4; name = "scrubbers pipe"},/obj/structure/cable{icon_state = "4-8"},/turf/open/floor/plasteel,/area/hallway/primary/port)
"why" = (/obj/effect/turf_decal/loading_area{icon_state = "drain"; name = "drain"},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/machinery/disposal/bin,/turf/open/floor/plasteel,/area/hallway/primary/aft)
"why" = (/obj/effect/turf_decal/loading_area{icon_state = "drain"; name = "drain"},/obj/effect/turf_decal/tile/blue{dir = 1},/obj/machinery/disposal/bin,/obj/structure/disposalpipe/trunk{dir = 1},/turf/open/floor/plasteel,/area/hallway/primary/aft)
"whF" = (/obj/structure/chair/comfy/black,/obj/machinery/light{dir = 1; pixel_y = 16},/turf/open/floor/wood,/area/library)
"whP" = (/obj/structure/table/wood,/obj/machinery/light/small{dir = 1; pixel_y = 16},/turf/open/floor/wood,/area/crew_quarters/dorms)
"wig" = (/obj/structure/displaycase/trophy,/turf/open/floor/wood,/area/library)
@@ -7840,7 +7853,7 @@
"wnL" = (/obj/machinery/door/poddoor/preopen{id = "Xenolab"; name = "test chamber blast door"},/obj/effect/spawner/structure/window/reinforced,/obj/structure/cable{icon_state = "0-4"},/turf/open/floor/plating,/area/science/xenobiology)
"wnW" = (/obj/effect/turf_decal/loading_area{dir = 1; icon_state = "drain"; name = "drain"},/obj/effect/turf_decal/tile/brown,/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel,/area/hallway/primary/aft)
"woj" = (/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/plating,/area/maintenance/port/aft)
"wom" = (/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{name = "air scrubber"},/turf/open/floor/plasteel,/area/engine/break_room)
"wom" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{dir = 4; name = "scrubbers pipe"},/turf/open/floor/plasteel,/area/engine/break_room)
"woo" = (/obj/machinery/gateway{dir = 8},/obj/effect/turf_decal/bot_white,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/gateway)
"wop" = (/obj/effect/turf_decal/stripes/line{dir = 4},/obj/structure/disposalpipe/segment{dir = 9},/turf/open/floor/plasteel,/area/janitor)
"woy" = (/obj/machinery/door/airlock/research/glass/incinerator/toxmix_exterior,/turf/open/floor/engine,/area/science/mixing)
@@ -8043,6 +8056,7 @@
"wPe" = (/obj/machinery/atmospherics/components/unary/portables_connector{dir = 1},/obj/effect/turf_decal/delivery,/turf/open/floor/plasteel{icon_plating = "floor"; icon_state = "floor_whole"},/area/engine/engineering)
"wPr" = (/turf/open/floor/carpet/purple,/area/crew_quarters/heads/hor)
"wPM" = (/obj/structure/cable{icon_state = "1-2"},/obj/effect/mapping_helpers/airlock/cyclelink_helper{dir = 1},/obj/machinery/door/airlock/external{name = "Solar Maintenance"; req_access_txt = "10; 13"},/turf/open/floor/plating,/area/maintenance/solars/port/aft)
"wPR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 1; name = "air supply pipe"},/turf/closed/wall/r_wall,/area/engine/break_room)
"wPT" = (/obj/machinery/light{dir = 4; pixel_x = 7; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer3{dir = 4; name = "air supply pipe"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{dir = 4; name = "scrubbers pipe"},/turf/open/floor/plasteel/showroomfloor,/area/security/warden)
"wPW" = (/obj/effect/turf_decal/tile/purple{dir = 4},/obj/effect/turf_decal/tile/purple,/obj/effect/turf_decal/tile/purple{dir = 8},/obj/structure/closet/secure_closet/medical1,/turf/open/floor/plasteel/white,/area/medical/genetics)
"wQm" = (/obj/item/twohanded/required/kirbyplants/random,/obj/structure/sign/warning/securearea{pixel_y = 32},/obj/structure/railing{dir = 8},/turf/open/floor/plasteel/dark,/area/hallway/primary/starboard)
@@ -8257,7 +8271,7 @@
"xxg" = (/obj/structure/table/reinforced,/obj/item/multitool,/obj/item/screwdriver,/turf/open/floor/plasteel/white,/area/science/circuit)
"xxr" = (/obj/effect/turf_decal/stripes/line,/obj/docking_port/stationary/random{dir = 2; id = "pod_lavaland4"; name = "lavaland"},/turf/open/indestructible/concrete,/area/layenia/cloudlayer)
"xxF" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{dir = 8; name = "air supply pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{dir = 4; name = "scrubbers pipe"},/turf/open/floor/plasteel,/area/security/main)
"xxL" = (/obj/effect/turf_decal/tile/red{dir = 4},/obj/effect/turf_decal/tile/red{dir = 1},/obj/machinery/light{dir = 1; pixel_y = 16},/turf/open/floor/plasteel{icon_state = "floor_plate"},/area/security/brig)
"xxL" = (/obj/effect/turf_decal/tile/red{dir = 4},/obj/effect/turf_decal/tile/red{dir = 1},/obj/machinery/computer/lore_terminal,/turf/open/floor/plasteel{icon_state = "floor_plate"},/area/security/brig)
"xxU" = (/obj/item/twohanded/required/fuel_rod,/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/pool,/area/engine/engineering/reactor_core)
"xxV" = (/obj/structure/closet/secure_closet/medical1,/obj/effect/turf_decal/stripes/line{dir = 1},/obj/machinery/light{pixel_y = -1},/turf/open/floor/plasteel/dark,/area/gateway)
"xxW" = (/turf/open/floor/plasteel/stairs/medium{dir = 4},/area/security/main)
@@ -8413,7 +8427,7 @@
"xRH" = (/obj/effect/turf_decal/loading_area{icon_state = "drain"; name = "drain"},/obj/effect/turf_decal/loading_area{dir = 4; icon_state = "drain"; name = "drain"},/turf/open/floor/plasteel/white/corner{dir = 1},/area/science/misc_lab)
"xRM" = (/obj/structure/table/wood,/obj/item/pen,/turf/open/floor/carpet,/area/library)
"xSc" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{dir = 6},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{name = "scrubbers pipe"},/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{name = "air supply pipe"},/turf/open/floor/plasteel,/area/engine/atmos)
"xSh" = (/obj/effect/turf_decal/loading_area{dir = 1; icon_state = "drain"; name = "drain"},/obj/effect/turf_decal/tile/neutral,/obj/machinery/camera{c_tag = "Chapel Hallway"},/turf/open/floor/plasteel{dir = 1; icon_state = "floor_plate"},/area/hallway/primary/fore)
"xSh" = (/obj/effect/turf_decal/loading_area{dir = 1; icon_state = "drain"; name = "drain"},/obj/effect/turf_decal/tile/neutral,/obj/machinery/camera{c_tag = "Chapel Hallway"},/obj/machinery/computer/lore_terminal,/turf/open/floor/plasteel{dir = 1; icon_state = "floor_plate"},/area/hallway/primary/fore)
"xSu" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/visible,/turf/open/floor/plasteel,/area/engine/atmos)
"xSC" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{name = "air supply pipe"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{name = "scrubbers pipe"},/turf/open/floor/plasteel/dark,/area/medical/morgue)
"xSK" = (/obj/machinery/power/terminal{dir = 1},/obj/structure/cable{icon_state = "0-8"},/turf/open/floor/plating,/area/maintenance/solars/port/aft)
@@ -8631,7 +8645,7 @@ gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgT
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWtBcnBctBcjTgjTgjTgjTgjTgtyztyztyztyztyzkZatyztyztyztyzjTgjTgjTgjTgjTgtBctBctBctBctBctBcvlJtEkyfmgOnnUzprtvkavkavkavkavkaxspxspxspiOoxITmaOfsxekBazrrKtvXIftqftBfutePeuOPfuTviZiBioBToBToBToBToBTwjwtBbvRPwHkvFNfuWvoitdziygwIofvahKucjPjYcusjjQqfwljYcusjfxtqnQjYcusjfyCwGIrzxuLxuLxuLxmofcuMhHYfyPgqzdoVfyZhHYvmqxJUtqQnYhulbtwLtbwvKfhXYfKSfKWdHKxScxSuxYsybgycpjQYnJCxqDdsUotvtPCweofbOiyDrDurOkoHWwJorDupDFufIhACnhRrDueooarLwOKePNgTWgPqgTWgTWgTWgTWgTWgTWgPqgTWgPqgTWyfmyfmtfkqucdVjkuptROiZnuATunJvRIiZnnUepCYfArnmMtrugPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWtBctBcuKhgTWgTWgTWgTWwsUtBcnBctBcfBVqBhqBhqBhlnmxIYxIYxIYxIYiHXfBpaeDxIYxIYxIYkJEqYxqYxqYxkJQtBctBctBctBctBctBctBcyfmyfmyfmnUzprtvkavkavkavkavkaqrlhogfDXiOowjmjTVeSsekBatkrKtslttQDtQDtQDmUEuOPnYFfElxnwpXJgPGsxDevQsFXwjwtBbvRPfFIfGffIufIGfJkfJrfJSibXaudqnTqnTtKvqnTtCgqnTtKvqnTaMIqnTqclfKiwGIpKwxJUxJUxJUxJUxJUhHYdKXobFqCxqpghHYvmqxJUtqQnYhulbtwLtbwvKffKQfKSfKWdHKwDZwSFqhxwSFwSFvRSdVuoRfbzmidPfNufNRxrurYutMbfFLwJowJoePNpDFufImKywdctMbwZuwOKwOKePNgPqvJJwsiwsivJJfoHfoHfoHdiGgPqdiGgPqtEkyfmtfktfklXcjLAtfktkLtlTpOWtortkLtrusUefQYtrutrugPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWtBctBctBctBctBcgTWgTWgTWgTWtBctBcnBctBcgdigdigdigdigdityztyztyztyztyzlvttyztyztyzlfDgdigdigdigdigditBctBctBctBctBctBcyfmyfmyfmyfmnUzprtvkavkavkavkavkaxspxspxspdTOxITqzmjSGekBfQmnERybdpkTwtTpkTfDnlZZrDHfRkfSlsyRcyFkFgcYYfTywjwtBbvRPvbAfTOwqpfUbfddmqVvbAsvAfUcrOznUanUanUafVjfVkfXCrOzrOzrOzjCJfXUwGIpKwxJUkYfkYfkYfxJUhHYhHYhHYsaMhHYhHYxJUxJUfYggcuvdCuLXuLXvKfgfrgfrfKWwbcrXkguVkuBnJCseSseSuaSjVvtoKvrttPCxwcghBqyObkQePNePNePNePNemgtqkbsmhRVePNePNePNePNePNgTWvJJiYmfqJrOBkAUfuBjdKgDHgTWgPqgTWyfmyfmyfmnGEnGEnGEnGEvsMtZtlgWjaHkGXnGEnGEnGEnGEnGEyfmgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWtBctBctBcylMtBcgTWgTWgTWtBctBctBcnBctBctBctBctBctBctBctBctBctBctBctyzeKvtyztBctBctBctBctBctBctBctBctBctBctBctBctBctBcyfmyfmyfmyfmnUzgabvkavkavkavkavkagiYfhBgjrvZSxspglVxspekBwUDgulgulgulgulgulgulgulgulgulgmerUqbPabCmgmrotXwjwtBbvRPchcgmXgncchcgnqchcchcgoeuAIwGIwGIwGIwGIwGIwGIwGIgoGgoLgqjgqqgqvwGIpKwxJUpSppSppSpxJUxTZbajbgelTWiomoaGoaGxJUnxLdlwnxLnxLgrViOkgtNguFguSdHKhcQtPCluQmYPoWRxdOoWRmYPoWRmYPwgznJCuYSaqmoyGiwBwRVtBctBcqBcbxmbxmtBcdDhgTWgTWgTWgPqgTWvJJxGwntbvJJfOJxMZxMZnusgTWgPqgTWyfmyfmyfmnGEsiGiSflLJbrEaqTtcOmqMmpbnGEpGViJquLnnGEyfmyfmgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWtBctBctBcylMtBcgTWgTWgTWtBctBctBcnBctBctBctBctBctBctBctBctBctBctBctyzeKvtyztBctBctBctBctBctBctBctBctBctBctBctBctBctBcyfmyfmyfmyfmnUzgabvkavkavkavkavkagiYfhBgjrvZSxspglVxspekBwUDgulgulgulgulgulgulgulgulgulgmerUqbPabCmgmrotXwjwtBbrSzchcgmXgncchcgnqchcchcgoeuAIwGIwGIwGIwGIwGIwGIwGIgoGgoLgqjgqqgqvwGIpKwxJUpSppSppSpxJUxTZbajbgelTWiomoaGoaGxJUnxLdlwnxLnxLgrViOkgtNguFguSdHKhcQtPCluQmYPoWRxdOoWRmYPoWRmYPwgznJCuYSaqmoyGiwBwRVtBctBcqBcbxmbxmtBcdDhgTWgTWgTWgPqgTWvJJxGwntbvJJfOJxMZxMZnusgTWgPqgTWyfmyfmyfmnGEsiGiSflLJbrEaqTtcOmqMmpbnGEpGViJquLnnGEyfmyfmgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWuKhtBctBctBcgTWgTWgTWgTWtBctBctBcnBctBctBctBctBctBctBctBctBctBctBctyzeKvtyztBctBctBctBctBctBctBctBctBctBctBctBctBctBcyfmyfmyfmyfmnUzprtvkavkavkavkavkaxspxspxspfxhsCbsIcgwJekBgxnlpZieugyRgzRgAMuoMxwvkWwgBQgmefyvroFroFroFroFgCbtBbvvqxxLneTneTvjQkBLuMWgCvgDmtQShWntRtjUUkxiueSdPkwGIrhAsvPuAhrRHrTCwGIpKwxJUsBigFegFesBigIvxMyxMyjLexKidxEfiAxJUtvDugvxTrixpwcEvKfdZEubCgIDiKZsFnafokIheeIictpkCfuZjWtyktmVJgJVmlRsjFqyOixJbkQeFvtBctBcqBcbxmbxmtBcitUgPqgPqgPqbhTgPqiEgbJhjdKfuBfOJsPQoxRnusgPqwOpgPqtEkyfmyfmnGEppgjzChiWjsahHbyjtjWseYNfEpvtakAznYinGEyfmyfmgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWtBctBctBctBcgTWgTWgTWtBctBctBctBcnBctBctBctBctBctBctBctBctBctBctBctyzeKvtyztBctBctBctBctBctBctBctBctBctBctBctBctBcyfmyfmyfmyfmyfmnUzprtvkavkavkavkagLugLLhoghXSiOowjmgnMeSsekBpYKuoMgMhgNOgOVgOZgPdgPvgPTgulrXDlUksgOtzivMzsgOsgOvNPvMzvMzaoptzitzibNGtzitzimeApgVvRPtRtstIlAhgQwgRSwGIrhAsMnofuofugSqwGIpKwxJUuriuEquJDwKswgixMynpVcPssPBkhesOUxJUxJUxJUxJUizVxJUvKfhGqgWKwUutEPtDWyipwWRqqcoYvmdWwWRjRhoYvmskwWRmskoYvenbbkQbkQtBctBctBcqBcbxmbxmtBccRKgTWgTWgTWgPqgTWiEgxMZxMZxMZkAOxMZxMZnusgTWgPqgTWyfmyfmyfmnGEmnWvyclYignZhRhkxMjWsgGMnGExOClUHaCrnGEyfmyfmyfmgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWtBcylMtBcgTWgTWgTWgTWtBctBcwsUtBcnPgtBctBctBctBctBctBctBctBctBcbgPjmaeKvjmabgPtBctBctBctBctBctBctBctBctBctBctBctBcyfmyfmyfmyfmyfmnUzprtvkavkavkavkavkaxspxspxspgXwgYThaftHNekBpYKuoMgzltEhtchggbpTmuoMqzohbljvakjbhIAhVimlclanhIAlTMmlcagvhIAnjvdWfhbQwngseLvQfavshVQhcDxHtlAhhdEgRSwGIwGIwGIwGIwGIwGIwGIpKwxJUkjYwuthfXwKswgixMyxMyrhaomVxMyxMycHXhgUiOhfxSubxeODvKfhGqgWKwUuxNLwzMpgJnhRpgJbNillCnhRllCmpvieQnhRieQfOmtBctBcfOWtBctBctBcoEilrPoFetBcxizgTWgTWgTWgPqgTWiEgfuBsPQjdKfOJjdKfuBnusgTWgPqgTWgTWyfmyfmnGEnGEnGEnGElzQkmsteSjmPvOenGEnGEnGEnGEnGEyfmyfmyfmgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
@@ -8644,17 +8658,17 @@ gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgT
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWyfmyfmyfmvlJwpFgOnyfmyfmyfmtBctBctBcyfmtBcgOngOnwpFuKhyfmyfmyfmyfmwedtBctBctBctBctyzeKvtyzmewmFGltMfGimufpiDltMejgxejxejxejxejxejyfmyfmyfmyfmyfmyfmyfmyfmylMgOnyfmtBcvqeooYepctWabYDbKpixavjThPdixiixXiyweMskWwpCEizFhPdeoSczLdKZvcofhjrdRrdRrdRrdRrdRqnyrdRiBdamqipGapkbJbsmvuDUoBTuALaELajSsnanxVbWItQTtQTxJUiBjdTZdvOiBPxJUiCJdQsarXxJUxaUqnHxMyxMyxMykoFhCZjennhwdpWvOHsECiDIiFfwrWpTXwrWfNkxGQwrWwrWrFligMiUdsWnafmoRRwlSiymbbgbBTmEncectBctBctBctBctBctBctBctBccRKgTWgTWgTWgTWgTWwOpgPqgPqgPqklggPqgPqwOpgPqwOpgPqgPqgPqgPqgPqqJHwgkrWoipjiNOoZQvbyipjxejxejuCcgPqgTWgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWyfmyfmyfmgOnhhGvlJyfmyfmtBcgTWtBcyfmvlJgOnhhGgOnyfmyfmyfmyfmyfmpSstBctBctBctBctyzeKvtyztBctBxltMltMltMltMltMgTWgTWgTWgTWgTWgTWgTWyfmyfmwcKyfmyfmyfmyfmtBcgOnwpFyfmtqEtqEtqEtqEtqEazfxbCvjTvjTvjTqxDcGAcGAcGAcGAcGAcGAcGAcGAgbIvmOntmntmcbdntmntmkUZkUZkUZecQaBpbrziJclpkiJoiJDoBTsKewLylXpsnaiKOvXXtEKsnapUXeywiLPceXeywsnasnasnasnasnasnasnaioSxMydAdiaLdgevMCiMukATiMvnpGiMTeuOiNPboUkxnpusqDxqYfsqjsqjqBaeCevXmvXmvXmijQpjcbBTbBTmEnjOAxizwWhxhaayBxizwWhxhaayBxizgTWgTWgTWgTWgTWgPqgTWgTWgPqklggPqgTWgPqgTWgPqgTWgTWgTWgTWgPqgPqgPqxPYgPqiEgeOknusgPqgPqgPqgPqgPqgTWgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWyfmyfmyfmvlJwpFgOngOnyfmyfmgTWgTWyfmwpFtBcvlJgOnwpFyfmyfmyfmyfmyfmtBctBctBctBctyzeKvtyztBctBclADgSCyjKiVKpQXgTWgTWgTWgTWgTWgTWgTWyfmyfmgOnvlJyfmyfmyfmgTWtBcgOntBcvqeiSXiVefBshytcXssYgexJsYgaifcGAiWiskbskbrtYdHZoiaiWZcGArnrkUZdfdiZXcPjjaBcPjrPhjaZkUZjdrjdGjdRwtgoBToBToBToBTaELaELajSsnabNctEKtEKpaZnwzfzOemxqEPdsisnacfToPKtzGjfzqAzsnaioSxMykEzjfUhWCsnLjgMjhpnBJvEgxJUvKfsXDrHisXDuPoxJUxJUxJUxJUxJUxJUxJUxJUxJUxJUxJUeAAeAAeAAuEpeAAgPqgPqgPqgPqgPqgPqgPqqurgPqgPqgPqgPqgPqgPqgPqgPqgPqklggPqgTWgPqgTWgPqgTWgTWgTWgTWgPqgPqchFgPqgPqiEgeOknusgPqgTWgTWgPqgTWgTWgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWyfmyfmyfmyfmwpFvlJwpFyfmyfmgTWyfmtBcyfmgOnwpFvlJuKhyfmyfmyfmyfmtBctBctBcbgPjmaeKvjmabgPtBcxQunhRnhRnhRnusgTWgTWgTWgTWgTWgTWgTWyfmyfmylMwHbuKhyfmgTWgTWgTWtBcvqevqevqekdYqmDjjbqmDqmDqmDqmDkmvqTMskbmsfjjHjjViNnwWckOJcGArnrkUZiQLtpatpatpatpaqKwkUZkUZxoadbApdZjYDnkkamWamWamWmGnamWeWysnawwqtEKtEKpaZnwzmPmexOxBWxqusnauZEnPmnPmjkbnPmsnajkuxMykEzjlzvaVfZijmzuWQnBJtSifqBhmFlAUvzBhBqyheizrjqMjstnByqqiqqiqqiqqiqqilJMqqiqqiqqiqqiqqilJMqqiqqiqqiqqiqqiqqiqqiqqiqqiqqiqqiqqiqqiqqiqqiqqichLfaSchLqqichLchLqqichLchLchLchLqqiuodgPqgPqgPqrRMmIrhkmgPqgTWgTWgPqgTWgTWgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWtEkyfmyfmyfmyfmyfmyfmyfmgTWyfmyfmyfmgOngOngOntBcyfmyfmyfmyfmyfmtzMtBctBctyzeKvtyztBcpPVqcTipjxejxejxAUgTWgTWgTWgTWgTWgTWgTWyfmyfmyfmgOnylMyfmgTWgTWgTWuSTiQRjvBiQRuyjqmDqdHqmDqmDqmDqmDkmvqTMskbjwCjyXjzpgdhkDpkOJcGArnrkUZcPCuXqbHrjzYjAiawcntmpXgfCCdtQjArmVdvicsnasnasnasnasnaymipeIhHVhHVhHVhHVhVttQrnoxilSyhusnawdediOiuRiobnPmxCxjBVxMycJxmtZhtLemyjCEaCBhwBbfgvKfjCVlAUvpBeCPjfmofyjGgxeLwOpgJFgJFgJFgJFgJFgJFgJFgJFgJFgJFgJFgJFgJFgJFgJFgJFgJFgJFgJFgJFgJFgJFgJFgJFgJFgJFgJFgJFgJFxejgJFgJFfoHgJFfoHgJFgJFgJFgJFgJFdnsyfmyfmyfmeAAxdeeAAyfmyfmyfmgPqgTWgTWgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWyfmyfmyfmyfmwpFvlJwpFyfmyfmgTWyfmtBcyfmgOnwpFvlJuKhyfmyfmyfmyfmtBctBctBcbgPjmaeKvjmabgPtBcxQunhRnhRnhRnusgTWgTWgTWgTWgTWgTWgTWyfmyfmylMwHbuKhyfmgTWgTWgTWtBcvqevqevqekdYqmDjjbqmDqmDqmDqmDkmvqTMskbmsfjjHjjViNnwWckOJcGArnrkUZiQLtpatpatpatpaqKwkUZkUZxoadbApdZjYDnkkamWamWrqSmGnamWeWysnawwqtEKtEKpaZnwzmPmexOxBWxqusnauZEnPmnPmjkbnPmsnajkuxMykEzjlzvaVfZijmzuWQnBJtSifqBhmFlAUvzBhBqyheizrjqMjstnByqqiqqiqqiqqiqqilJMqqiqqiqqiqqiqqilJMqqiqqiqqiqqiqqiqqiqqiqqiqqiqqiqqiqqiqqiqqiqqiqqichLfaSchLqqichLchLqqichLchLchLchLqqiuodgPqgPqgPqrRMmIrhkmgPqgTWgTWgPqgTWgTWgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWtEkyfmyfmyfmyfmyfmyfmyfmgTWyfmyfmyfmgOngOngOntBcyfmyfmyfmyfmyfmtzMtBctBctyzeKvtyztBcpPVqcTipjxejxejxAUgTWgTWgTWgTWgTWgTWgTWyfmyfmyfmgOnylMyfmgTWgTWgTWuSTiQRjvBiQRuyjqmDqdHqmDqmDqmDqmDkmvqTMskbjwCjyXjzpgdhkDpkOJcGArnrkUZcPCuXqbHrjzYjAiawcntmpXgfCCdtQjArmVdvicsnasnawPRkXIsnaymipeIhHVhHVhHVhHVhVttQrnoxilSyhusnawdediOiuRiobnPmxCxjBVxMycJxmtZhtLemyjCEaCBhwBbfgvKfjCVlAUvpBeCPjfmofyjGgxeLwOpgJFgJFgJFgJFgJFgJFgJFgJFgJFgJFgJFgJFgJFgJFgJFgJFgJFgJFgJFgJFgJFgJFgJFgJFgJFgJFgJFgJFgJFxejgJFgJFfoHgJFfoHgJFgJFgJFgJFgJFdnsyfmyfmyfmeAAxdeeAAyfmyfmyfmgPqgTWgTWgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqgTWgTWgTWyfmyfmyfmyfmgTWyfmyfmwpFtBcwpFhhGgOnyfmyfmyfmyfmyfmyfmtBctBctyzeKvtyzxpHgTWgTWgTWgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWyfmyfmyfmwcKyfmyfmgTWgTWtBcvqevqevqejGZjJsqmDqmDqmDqmDqmDkmvqTMskbskbuBVjJFnrUblujOlcGArnrkUZjKdkUZiMbhzsjKGocwntmapkfCCaqUjArjKVsnaqaajajvbbjNSsnahHVhHVaMvjNYsIJkEWhHVodbnoxnAhjOTsnawdediOslDwYwnPmxCxewcxMybsDxOTbxSraYjQcusumBFtSivKfwmLlAUppMyhuyheipCerAxeLnusgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqklggPqklggPqgPqgPqgPqgPqyfmyfmyfmvlJtyzxdetyzylMyfmyfmtEkyfmyfmdiGyfmgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqgTWgTWgTWgTWgTWgTWgTWgTWyfmuKhtBcuKhtBcvlJwpFyfmyfmyfmyfmyfmyfmtBctBctyzeKvnDpgTWgTWgTWgTWgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWyfmyfmyfmyfmyfmyfmyfmtBctBcwpFvqejYNaUujYQbVaunkunkunkunkmVqcGAqTMqTMqTMqTMcGAuUhcGAcGAuKajXIrnwkUZkaokbmkbKpdQntmhdHfCCaqUjArnHdsnadyvjajsiujNSsnahHVuUdkcbuePmBwkeehHVeksnoxilSqYVsnaqVuvRbcFNkefnPmxCxxQgxMykghdmRvYQdmRkheeuAkhjguWvKfkjklAUppMyhuyhejhUhXwsnawOpfoHfoHfoHfoHfoHfoHfoHfoHfoHfoHfoHfoHfoHfoHfoHfoHfoHfoHfoHfoHfoHfoHfoHfoHfoHfoHfoHfoHfoHfoHfoHfoHwOpfoHwOpfoHfoHfoHfoHbaleAAlfOtyztyzeAAsZfeAAtBcaUbyfmoYSoYSoYSoYSyfmyfmgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqgTWgTWgTWgTWgTWtBcylMgTWyfmyfmtBctBcyfmyfmyfmyfmktDjWUyfmyfmtEktBctyztyzeKvtyzguZgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqnTyobMlVzoYPsaasaasaasaasaasaasaasaatqEtqEtqEkvpeXBkvyepcyiatfhbPSkeFkeFjVutixpFkkvWvjTvjTvjTtVOkUZkUZkUZkUZkUZkUZvAWfCCaqUjArapkkwnkwPfcdfcdwomkxehHVhHVhHVhHVuachHVhHVhHVtAnpmfkBVsnanyUimdcLtpLQmWQkCCrcturfkDntLItYgpIjpIjwFOqoirHlvKfkDvlAUppMyhuyhewgdrHbxMDvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkqoPbCwlLhlLhlLhrjKmTqtyztBcdnVyfmoYSjkzuFfoYSyfmyfmyfmgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWiFlfoHfoHfoHguZgTWgTWgTWgTWtBcgTWgTWyfmyfmyfmyfmyfmyfmyfmtBctBctBctBcalOtyztyzemJrTxikBwOpfoHfoHfoHfoHfoHfoHfoHfoHfoHfoHfoHfoHfoHnJFnJFnJFwZnsaahqVjAYpLVrIEkKfsxpqfwrIEkKwkrLtqExBXqmDkLzepcyiaekQbUjkeFkeFkLKaiMjjzkLbkNskNLvjTprSxXjkNZggrkrBqPVxGapZEfCCaqUjArapktJnkPlfcdvucsazdhMhHVkPqkPTkQdtcKayToJHhHVwcQgGYyhuuHfnvsqKQtJXkQwnPmxCxaYyxMyaNNxMykRVfedwPeoYslAPemivKfwmLlAUppMyhuyhesnasnasnasnaaFMxBmxBmxBmxBmxBmxBmxBmxBmxejxejxejxejwOpxejxejxejxejxejxejxejxejxejxejxejxejxejxejxejxejxejxejxejxejxejxejxejxejvFVmLneAAtyztyztyzeAAefeeAAreBopNoYSoYSmSGojyoYSyfmyfmyfmgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqgTWgTWgTWgTWgTWtBcylMgTWyfmyfmtBctBcyfmyfmyfmyfmktDjWUyfmyfmtEktBctyztyzeKvtyzguZgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqnTyobMlVzoYPsaasaasaasaasaasaasaasaatqEtqEtqEkvpeXBkvyepcyiatfhbPSkeFkeFjVutixpFkkvWvjTvjTvjTtVOkUZkUZkUZkUZkUZkUZvAWfCCaqUjArapkkwnkwPfcduHswomkxehHVhHVhHVhHVuachHVhHVhHVtAnpmfkBVsnanyUimdcLtpLQmWQkCCrcturfkDntLItYgpIjpIjwFOqoirHlvKfkDvlAUppMyhuyhewgdrHbxMDvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkvwkqoPbCwlLhlLhlLhrjKmTqtyztBcdnVyfmoYSjkzuFfoYSyfmyfmyfmgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWiFlfoHfoHfoHguZgTWgTWgTWgTWtBcgTWgTWyfmyfmyfmyfmyfmyfmyfmtBctBctBctBcalOtyztyzemJrTxikBwOpfoHfoHfoHfoHfoHfoHfoHfoHfoHfoHfoHfoHfoHnJFnJFnJFwZnsaahqVjAYpLVrIEkKfsxpqfwrIEkKwkrLtqExBXqmDkLzepcyiaekQbUjkeFkeFkLKaiMjjzkLbkNskNLvjTprSxXjkNZggrkrBqPVxGapZEfCCaqUjArapktJnkPlcsdvucsazdhMhHVkPqkPTkQdtcKayToJHhHVwcQgGYyhuuHfnvsqKQtJXkQwnPmxCxaYyxMyaNNxMykRVfedwPeoYslAPemivKfwmLlAUppMyhuyhesnasnasnasnaaFMxBmxBmxBmxBmxBmxBmxBmxBmxejxejxejxejwOpxejxejxejxejxejxejxejxejxejxejxejxejxejxejxejxejxejxejxejxejxejxejxejxejvFVmLneAAtyztyztyzeAAefeeAAreBopNoYSoYSmSGojyoYSyfmyfmyfmgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWiEgiQcftOkdknusgTWgTWgTWgTWgTWgTWgTWyfmyfmyfmorfyfmtEktBctBctBctBctBclfCjBPjBPqHZtEkeCdqoPqoPqoPqoPqoPqoPqoPqoPqoPqoPqoPqoPqoPqoPeZJgmBaFFqGesaaqJewXCqTLrIEvIGlhCqUOrIElkGadItqEfhEqmDkLzepcyiagRGgRolmOlnblnepomdQAnhrvjTlntvjTrnrksyksyksyksyksyksylnQfCCsZcjArapkloeioblnYvIpaemhAMhHVlpniQBlqqlqKsfvkiTqYvnDQryzsXNbTKhkamsjhMOeTlnPmxCxgkgxMymjUxMysXDsXDsXDoYslAPfIevKfjfelAUqkJyhuyhefWVxMMoNzdVxxBmpvBiOfaaYqdGuMuhdldJBxBmgPqgPqgPqgPqmapgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqyfmyfmwcKvlJuuUlEtxIYxIYxIYpWhdABgKCygjoYSyfmyfmyfmgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgfhgPqiEgorldiGpggnusgPqgPqgPqgPqgPqgPqgPqgPqtEktBctBctBctBcltjltyltNtBctBcalOxejwOpvQaosUqQOwOpxejxejxejxejxejxejxejxejxejxejxejxejxejnJFnJFnJFkgHsaaszVrmCrMcrIEsIglwHsYQrIEkgHwHEtqExBXqmDkLzepcyiagRGqfWqfWqfWqfWpomdaZnhrtpQhsNvjTrnrksylyiaPQqEMpIxrgGapkpvWcbhjArvjMjtybauluVrjZlyHlzihHVlzpoTllzRlAznJWxwylqPnDQdyjxIquHfwdefWagYWoulfZvxCxoInxKiaNNxMyylPxIDxMyoYslAPtjYvKfsXDlAUppMqYVyhesCHnrHnrHfbXxBmtHpvUrpcatEfflDhyclDkxBmxBmlHzlHPlIiklggTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWyfmyfmyfmyfmwuvldJjjNjTBaexoYSoYSgdOpGaoYSyfmyfmyfmgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWiEgrCwwyjtmAnusgTWgTWgTWgPqiFlfoHfoHfoHalOtBctBctBctBclJVlJZbgPyfmyfmtEkgTWmcCxejxejxejpPQgPqgPqgPqgPqgPqgPqgPqgPqgPqnTytBctBctBcylMtBclVzudnsaarIEufCrIErIErIEuwGrIErIEkgHwLctqEvjTvjTvjTnrjwGNlLDepcqmDqmDepctbEhiPtYcvjTvjTvjTrnrksymSwciRlLHaHEksyksyiiZaeYlLWwtgsnasnasnahqkeZGhqkhHVlMuviIlMBlNDlNMlQBlQYnDQdyjyhusnauBGgmQtQVwdetvusnaaNougvuUajAmoScoScjAmjAmlwfxJUvKfxJUeholUMqRQclKwHwakBeQPwHwxBmdfEiaBxNTdPGbQixpjdfElVClXglXKlXRlZMklggTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWyfmyfmyfmyfmyfmyfmyfmyfmyfmoYSoYSoYSoYSyfmyfmgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWmcCxejxejxejpPQgTWgTWgTWgPqiEgwOpwOpwOpmcBtBcyfmyfmmdxcfwlJZyfmyfmwcKylMgTWqITgTWgTWgTWqITgTWgTWgTWqITgTWgTWgTWtBctBctBctBcsGhtBctBcmcSlVzeVhwvTmqFmubmqFmqFjLTmdOgmBhGjuFXuTctqEmeemhdvjTjxhwSGswPmjYqmDqmDmjYvCcmSvnhrvjTtuhfGJuGRksysDlqOdqOdoexmlfksyddqcbhmlFacrhMbhCtpwZgGPmnmmnUvsnmoGmsibxfvsnmtrvsnvsnahEonRpoDpLnpLnpLnpLnpLnpLnpLnmuJlgdlgdmuJlgdlgdmuJlgdlgdmuJmvDhDllAUppMyhurOTejNmwbwyzgBUpsOiHEppEroIaskroIdbqiHEnQBkwxyfGcFHlZMklggTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWyfmyfmyfmyfmyfmyfmyfmyfmyfmyfmyfmyfmgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqgTWgTWgTWgTWgTWgPqiEgsRgdhjwQCwQCwQCwQCwQCwQCwQCwQCxHItccyeAyeAyeAtccyeAyeAyeAtccyeAyeAyeAtcccsUmGZmGZmGZmGZmGZmGZmGZmGZsTFsTFmGZvTTeAUeAUeAUeAUeAUudawLcwLcmAxmxIwLctqEcsNdfhgZZsTLmvdtWhbvjcqQcqQbvjprPaBFokpjRRjXIvSKgphmyLmAcsbigOQfPKwoppvimAOcbhmlFacrmAPmiRoLZvzHsXEpVJksEgWEgWEgWElfzmDAtljvuivzHdyjpSDpqZnSmuyIuyIuyIuyImEKuyIuyIuyImEKuyIuyIqLcuyIvsxkTJuyIuyIbWUppMyhuhtzuxuujhhRMaJvxBmdfEpXDnNwsLzjDLfpKoeWvRzbjlvpEitylZMklggTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqgTWgTWgTWgTWgTWgPqiEgsRgdhjwQCwQCwQCwQCwQCwQCwQCwQCxHItccyeAyeAyeAtccyeAyeAyeAtccyeAyeAyeAtcccsUmGZmGZmGZmGZmGZmGZmGZmGZsTFsTFmGZvTTeAUeAUeAUeAUeAUudawLcwLcmAxmxIwLctqEcsNdfhgZZsTLmvdtWhbvjcqQcqQbvjprPaBFokpjRRjXIvSKgphmyLmAcsbigOQfPKwoppvimAOcbhmlFacrmAPmiRoLZvzHsXEpVJksEgWEgWEgWElfzmDAtljvuivzHdyjpSDpqZnSmmCDuyIuyIuyImEKuyIuyIuyImEKuyIuyIqLcuyIvsxkTJuyIuyIbWUppMyhuhtzuxuujhhRMaJvxBmdfEpXDnNwsLzjDLfpKoeWvRzbjlvpEitylZMklggTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqgTWgTWgTWgTWgTWgPqiEgwOpwQCkXhsqknrEmHDimRnrEmHGrvOuUVwkfsksnLurfRtCKskspdmrfRtCKsksnLurfRmIBhQzxutiCCmISwhPmKceAUxuxuRMmKdklDhIFczNeAUvPxkAGcvpeAUmLjwLcmLomNFmPgmQQtqEmeeuflmQSqYMiBkmiXmjYqmDqmDmjYcSgmiXgRGvjTqPVePPuSJksyksyqOdqOdqOdnQNnYUmAOcbhmlFmQVmRabwrnZvhBnjmipAJpAJpAJpAJievpAJbgcpfEbOZpfEffmxWFjFjxWFxWFxWFxWFxWFxWFxWFxWFxWFksCxWFxWFxWFxWFxWFlRsxWFxWFxWFdIffUCliQrRPmTssfmaJvxBmdfEmuplhWhtJhQObeNrOHxBmxBmovKlHPtByklggTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqgTWgTWgTWgTWgTWgPqiEgwOpwQCmHDthhnrEmTDthhnrEmUbjyQuUVmUrxDBxDBxDBxDBaIpdgIaRwgekgekgekqDcuTiyeEaUQiCCossmUSpelmVWeljkSouXsuXspCWnUjmWgnGGylwfzteAUkgHwLcmWDeZcmXhmXttqEmxNmyFvjTvSAdvsepcepcqmDqmDepcepcepckWqvjTqPVqPVrnrmXLmXYqyLlIqykydBeksypvWcbhmlFmQVmZwxJomjBrjYndzuYxqMxncvuUXsVBuUXndzrJxnehnfuilSsqPvLHurhurhurhurhurhurhurhurhxYUurhurhurhurhurhurhjgwurhurhurhurhmZUiyyotGogZrYRhkBxBmcIbiUgdqFcXxegptXWsOYmBHqtzfoHfoHfoHwOpfoHxizeAAeAAgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgGFfoHfoHfoHguZgTWgTWgTWgPqiEgwOpwQCmTDmuFnrEbgothhnrEdyTiztuUVrbJxDBkMHsXBkOneqNngJwFUkOnsXBqKiaJsuTiaTJcGyiCCvYBlUcngWeAUnhlbPJnhnnilniMaDReAUeAUeAUeAUeAUewvxGaxGaxGaxGaxGavjTvjTvjTvjTvjTvjTvjTvsGnkWsLgvsGvjTvjTvjTvjTxGaxGalsxksyksyksyksyksyksyksygkrmgBnlpwtgsnabnKreWnohreWjuMjuMjuMuOOiayuOOjuMjuMjuMmjHlkWcvQfMpnoQnoQnoQnoQjuMjuMnpMnpMnpMjuMnpMnpMnpMnpMnpMjuMnpMnpMnpMjuMjuMpMyhVJcztdsvsnaxBmxBmxBmxBmxBmxBmxBmxBmxBmuXIuXIuXIuXIuXIuXIeAAnqDeAAgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
@@ -8668,7 +8682,7 @@ gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgT
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqiEgwOpwQCpfacommNqhlThlTrNjhlThXqrPepfIjdVgwHloklbzhoxuKjpjkphhpiSxeCkvNcEyuKReIWkDUgEMkyqskTeAUuQcoUVoUVaSVaBfmLApRhnGGuXlcvpeAUwwlsHStuvbSJqGXutLrNyqyMwMggyuutLdRllxTpjnutLssjklbuYvaoEkppaNIvxcvxcvxcvxcpjuuUitkxaZRpsBpjMvcpvAXdtBpjUesXmYLfmGvxJcSbaMppksaMprSjaMppljplEpmRpmZrlqdRepnFvsJdfWrGthFlbsvtzbvsJgPqgPqgPqvJJgPqgPqgPqgPqgPqvJJgPqgPqgPqjGYgOnlgLdaTvgfoQPmTkyiqwQDprtvkavkavkavkavkavkavkavkavkavkavkaprtkmweAAeAAeLvprtvkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkaprtjeZwOpnusgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqiFlfoHfoHfoHfoHfoHfoHfoHfoHfoHwOpsRgwQCnrEnrEnrEnrEnrEnrEnrEnrEuUVuUVuUVhQojxJuUVuUVuUVuUVuUVuUVuUVuUVuUVrHfhQouUVrPerPerPeeAUbcLeAUvivmPdeAUbcLeAUpoYecgfzteAUpqXprbprdbSJqGXutLutLutLuEZgAeutLutLutLutLutLttittittittipWHpreprrvuZqmqvxcprLpsfbLBmEGuhspsMvARaOuvARptLrWGlqjrWGqypcSbeDIpuLpuLsjkpvYpvYpwHpwNpxEygQpxJiFkvsJpfzuCpnzbtMphKLvsJpyKpziwwXtivwwXwwXwwXwwXwwXtivwwXwwXpzLdsvtBcdsveEkvgfoQPfrwvlJavAprtvkavkavkavkavkavkavkavkavkavkavkaprteAAeAAeAAeLvprtvkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkaprtjeZwOpnusgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqiEgwOpxejxejxejxejwOpwOpwOpwOpwOpwOpwQCpBvbHUuzcnBSnrEmxLjKukiunBppBGpCovOwrWJtPqpDbqCRnoPmzPsODkBawYBpDttbHeiZcCnejjejjtuXspRejjuJKekdbZpcCnejjeAUeAUeAUeAUeAUpEQpEWpFdbHGfmCutLrNygCzqnmjtDutLoZcrmpqHfjXIkxdiptjXIkswrDwvxcpFBrDXhDavxcidHvlipFJpGolARqimpHuphkbnfgrGvgNvrqvrqcvNcSbkWXnYfpJZxNypLdpLzpLLpMlpOhmMQsuhiMVvsJvsJvsJqsqvsJvsJvsJqMMbHCcVxpYgsjAnNtgWcnNtsjApPjxUGpQdpQQdsvgOndsvdaTvgfoQPlgLtBcnUzprtprtprtprtprtprtprtprtprtprtprtprtprteAAnqDeAAeLvprtvkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkaprtjeZwOpnusgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgfhgPqgPqiEgnusgPqgPqgPqgPqfDfadRadRadRadRadRxZCpTgnxDlCtsuleGIbHUpeFkdcsODpUgrChgfNpVcgfNpUGqGqpURpURsODfNzpZvpZvvDWpZvpZvpZvpZvoXmpVspZvpZvpZvvDWdlnpZvpVMvgBvTvmZMhWAhWAhWAhWAvipgqAutLutLutLutLpWtutLdGkhJVhOXpWDcHspWYcHscHsbwppYkxeepYIlSgvxcuSguSguSguSguSguSgpZjpZsdhoqkiqkiqkiqkiqkicSbnnLjWCdUwxNyqaxqbUqcXqdKqdZqeyqgpdaMvsJlrcmknnipnRairevsJiLTvUYuSmqanqanqgAqgAqgAqanqanuSmnNtqhDdsvgOndsvdaTgxlwJjdsvtBchGWxDVwuGkFGkFGkFGkFGkFGkFGkFGkFGkFGkFGkFGeAAnqDeAAeLvprtvkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkaprtjeZwOpnusgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgfhgPqgPqiEgnusgPqgPqgPqgPqfDfadRadRadRadRadRxZCpTgnxDlCtsuleGIbHUpeFkdcsODpUgrChgfNpVcgfNpUGqGqpURpURsODfNzpZvpZvvDWpZvpZvpZvpZvoXmpVspZvpZvpZvvDWdlnpZvpVMvgBvTvmZMbNkhWAhWAhWAvipgqAutLutLutLutLpWtutLdGkhJVhOXpWDcHspWYcHscHsbwppYkxeepYIlSgvxcuSguSguSguSguSguSgpZjpZsdhoqkiqkiqkiqkiqkicSbnnLjWCdUwxNyqaxqbUqcXqdKqdZqeyqgpdaMvsJlrcmknnipnRairevsJiLTvUYuSmqanqanqgAqgAqgAqanqanuSmnNtqhDdsvgOndsvdaTgxlwJjdsvtBchGWxDVwuGkFGkFGkFGkFGkFGkFGkFGkFGkFGkFGkFGeAAnqDeAAeLvprtvkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkaprtjeZwOpnusgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqiEgnusqITgTWgPqgTWqAEkLvoRyoRyoRyoRyxkKqhInxDlCtsuleGInFHvoHqiWsODqiXtijiQsvfrufovnvuLbuLbuLbqjnceuiPDpRdogDtDGtDGxiRtDGtDGpSrtDGeyytDGaCkkABjdikdyhlBhlBhlBhlBhlBhlBhlBuGIqnSlJEjXIjXIjXImdIrSIuxBbSzcHsqjGuExhHJlvDcHsxqkvxcqlSknDtUMlEDqmhqpeqpeqpeqpeiWVqppfogokVsbkmgTmgTmgTebacSbqrQvTYvTYriGvTYvTYapJphxrbxrbxqrZmtzvsJvsJqsqvsJvsJvsJvsJxqMqsshWdhWdqsEtoetoeqtcbnkhWdhWdioMxqMdsvquTdsvdaTvgfoQPdsvdsvnEuptcdsvtBctBctBctBctBctBctBctBctBctBctBceAAnqDeAAeLvprtvkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkaprtjeZwOpnusgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqiEgwOpwQCwQCquPquPxkKoRyoRyoRyoRyoRyxkKqvhnxDbHUwPdnrEeGIqvCeGIsODqvHkuipUuqwgqwCvDzriTriTriTqwNihVihVihVcUljkStewdtLjkSjkSqxjjkSwXcauTjkSjkSjlTqzdjkSjkSjkSjkSjkSjkSjkSnzFrtXtiZgIXhcUhcUhcUhcUmwzhcUhcUqzLhqKtRwjFzcHsvxcvxciWaexZuABqBTgmitohsSdqCqqEwqExazicVVcjwpaxlGmlGmlGmlMZcSbxgrfrkmZgxNyqEHvUJqENyeYqFtvgtfluqFvpYDqFGngyqFZdsveMvcOvqanqGnhWdnOBqsEqGsmGXtoebnkkRqhWdwwHqanxudqGudsvpbWvgfoQPqJlxbRqJWgJvdsvfvApPVipjpPVpPVpPVipjpPVpPVpPVlgSeAAnqDeAAeLvprtvkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkaprtjeZwOpnusgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqiEgwOpwQCbswsJoqKexkKoRyoRyoRyoRyoRyxkKkpRawtuFikpRnrErpLjporpLsODqKOrChqMdqMetUvrDTqOTqOWwpMsODqPtljzfawfawbljuYBkNvuYBuYBspRspRspRspRspRspRxdAspRegkrtUfbbspRtbicRVispirHirHhcUsIyqQfqQxwVDqQzjRwqRAhcUwvReEIodniIBcHsqRWvxcqscopBqSmlEDqSHbJQbJQppJqTmqTyqppekAkialGmqTKqTQlGmeDacSbwdhwdhwdhxNywdhwdhwdhiIZkTVvYdsPGqTWxzkpeQlfosIkmclqUAiwvidLqVxoLrnlLndrfZwfZwfZwndrmcYdAYiwvsjqtjUqVOqWqrBoqWNkOmqXsqXsqXshLLdsvgTWgTWgPqgTWgTWgTWgPqgTWtBctBctBceAAnqDeAAbgqprtvkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkaprtjeZwOpnusgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
@@ -8681,8 +8695,8 @@ gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgT
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqiEgnusdNvgTWgPqgTWjYYoRyoRyoRyoRyoRyipokpRcEslvpkpRwQCftOftOftOtdbvkavkavkatdotdstMwtdHnlQnlQcTDiDEiDEiDEiDEiDEiDExzHxZaxZasgqhcUtfEtfVeyunioaLoeetthbdmNthfdmNhcUexnetgsKKbvHdmNdmNdmNdmNdmNfAYhAVgoStHXtkdxaKafktlttmVtmXtnntnOgMxwmPtBctBcgPqgPqgPqgPqpEZtnYnwhtqohFLgPqgPqgPqgPqtBcwpFjYFjYFgpSouPesKmZDmXJrkYplYxDnmardfMxLeayAapVttHtuctuYvkYbFNdsvugQyjsybYmMosrFcZOugQdsvhWdxmOtwRtxPaAUgRptyntyCncqtzQhXPsHwhXPnolxjqwMkdyYdyYdyYmGBopkuxIhqnhqnhqnhqnhqntzXprtvkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkaprtjeZwOpnusgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgfhgPqgPqiEgnusgPqgPqgPqgPqkHtgdTgdTgdTgdTgdTclHtCbtCbtCbtCbwQCwyjwyjwyjiZUvkavkavkaprtmoQtGxtHabVObVObVObVObVObVObVObVOsnybVObVOtHunPBhcUtHwaZpiQptHQnUmdobtIZtJEdmNdmNprEquggNvsKKkmqmphhpIhpIauCbsGtMctLxtZJtHXtkdfFStMdtMPtMPtMPtNfrkvsNqvlJtBcgPqgPqgTWgTWgTWpEZtnYvjAtqohFLgTWgTWgTWgPqgPqtBcgOnjYFgpSrwDdPnhEIdkNrcGsloeFbxdNtNhkFkkFktObmnsteEplYhWdrwcdsvugQgUAufXtOzufXsGUugQdsvhWdwOCdsvdsvhXPsJxddPtPDtQytRahXPpiihXPtSMnAdnAdnAdnAdvIBiffbyZfdNtUNvTjvTjvTjdfttVdtVKvkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkaprtjeZwOpnusgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqiEgwOpfoHfoHfoHfoHwOpwOpwOpwOpwOpwOpwOpwOpwOpwOpwOpwOpwOpwOpwOpxPRtXfbZftXfqBSbvFhARbvFtYGhTxnmunmunmunmuhTxtYGbvFoeAtYKszdiRjhcUhcUhcUhcUhcUhcUhcUhcUhcUhcUhcUhcUhcUwETifCsIatZitZiujWniofFAriaojiuqUtHXtkdvZPtZluaUuaZubAubOqrCsNqwpFgPqgPqgTWgTWgTWgTWpEZtnYbqNtqohFLgTWgTWgTWgTWgPqgPqtBcjYFrYvacUrjHiKAcTJavKaCaucFucPucXudkidVfEnpSPiIlplYshunPudsvugQoINufXuISfSfqunugQdsvcSeuhAxClhXPuiPnnQriPkcMriPriPtbNrpFhXPuiWuiWuiWuiWujdujeujEukYbXDlzalzalzalzalzalzaprtvkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkaprtjeZwOpnusgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqwTpxejxejxejxejxejxejxejxejxejxejxejxejxejxejxejxejxejxejwOpnusgPqrfyuXnuXnuXnuXnhYBbvFoHohTxoXRoQXeJSeJShTxrHSbvFjBYrWOiIsnPBmoQePguoalHyuozlgorQalHymCBlePpIBblKhcUuKQqvctYbtNyupuupuupDuVOupVykEupYtHXtkdxaKfhPuqEuqVurQubOutlsNqtBcgPqgTWgTWiFlmPwmPwgFRtnYbqNtqoiwmmPwmPwguZgTWgTWgPqtBcjYFkPMxXBdPnuuguwtendplYplYplYuuVplYplYuuVuuWplYplYhWdozXdsvugQugQugQugQugQugQugQdsvnzxxBcuvauvguwAdNRixqtrzqreobRhXPwNMhXPnYDrHtuwVlBGuxkujeujEukYbXDlzancFuxZncFlzaeLvprtvkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkaprtjeZwOpnusgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqiEgnusgPqfNHeBZxpzxpzxpzxpzbvFuyfhTxhTxhTxhTxhTxhTxuyfbvFbvFuyviIsnPBmoQvseroWlHyuozstMgrelHymCBleProWvsehcUiOxftwfvhfvhlDefvhfvhfvhueIvunbXJeJscHsuzsuzyuzTuzTuzTuAYuBMgMxtBcgPqgTWgTWpEZuDpasSvbtliJqQmesWuEKatFuEStKCgTWgTWgPqtBcjYFrVCxPbdPnqXZbhGoHsdPnuEWvNovNovNondkvNowxWblQdsvhWdrwcdsvuFpuFUuFZuIdjKBqlUuqFdsvhWdflYxClhXPuIioEueISuILuqomfWhXPjHRhXPuwHuKSrHtuLlnbCujeujEukYcmjlzauMhgKeuMolzaoDpprtvkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkaprtjeZwOpnusgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqwTpxejxejxejxejxejxejxejxejxejxejxejxejxejxejxejxejxejxejwOpnusgPqrfyuXnuXnuXnuXnhYBbvFoHohTxoXRoQXeJSeJShTxrHSbvFjBYrWOiIsnPBmoQePguoalHyuozlgorQahormCBlePpIBblKhcUuKQqvctYbtNyupuupuupDuVOupVykEupYtHXtkdxaKfhPuqEuqVurQubOutlsNqtBcgPqgTWgTWiFlmPwmPwgFRtnYbqNtqoiwmmPwmPwguZgTWgTWgPqtBcjYFkPMxXBdPnuuguwtendplYplYplYuuVplYplYuuVuuWplYplYhWdozXdsvugQugQugQugQugQugQugQdsvnzxxBcuvauvguwAdNRixqtrzqreobRhXPwNMhXPnYDrHtuwVlBGuxkujeujEukYbXDlzancFuxZncFlzaeLvprtvkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkaprtjeZwOpnusgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqiEgnusgPqfNHeBZxpzxpzxpzxpzbvFuyfhTxhTxhTxhTxhTxhTxuyfbvFbvFuyviIsnPBmoQvseroWlHyuozstMgrelHymCBleProWvsehcUiOxftwfvhfvhlDefvhfvhfvhueIvunbXJeJscHsuzsuzyuzTuzTuzTuAYuBMgMxtBcgPqgTWgTWpEZuDpasSvbtliJqQmesWuEKatFuEStKCgTWgTWgPqtBcjYFrVCxPbdPnqXZbhGoHsdPnuEWvNovNoghOndkvNowxWblQdsvhWdrwcdsvuFpuFUuFZuIdjKBqlUuqFdsvhWdflYxClhXPuIioEueISuILuqomfWhXPjHRhXPuwHuKSrHtuLlnbCujeujEukYcmjlzauMhgKeuMolzaoDpprtvkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkaprtjeZwOpnusgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqiEgnusgPqfNHnUzprtprtprtprtprtprtprtprtprtprtprtprtprtprtprtbvFckexEAmoQenaaAXvVvfwuaonuOwaonaonqDnqGlvsehcUhcUwqTwqTwqThcUtbptbphcUwqTwqTwqThcUcHscHsuPbuQmuQmuQmcHscHsgMxtBcgPqgTWgTWpEZatWliJesWesWuRJesWncotEWauGtKCgTWgTWgPqtBcnFXmrBdPndPndKVlRArcGdPndPnmaboEpuSCuSDuTJuUZdPndsvuVVuXcdsvdsvogqogqogqogqogqdsvdsvuVVuaudsvhXPhXPhXPhXPhXPhXPhXPhXPhXPhXPrHtuXRrHtnYDuxkujeujEukYbXDlzancFuXTncFlzaeLvprtvkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkaprtjeZwOpnusgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgfhgPqgPqiEgnusgPqfNHnUzprtvkavkavkavkavkavkavkavkavkavkavkavkavkaprthTxiIsdHRmoQfwghQWcRFnefuYVtQjtpYaonwViuZpvseaWpgbNdJmraNdJmdbFmwVmwVfzVvaedEwvakftxcUVblKdJmdJmdJmdJmwViwWHrsIvibmPwmPwmPwgFRuQFesWesWvdkvdPvfcesWesWuSjeAcmPwmPwmPwvibnFXuPWgOydPnqXZbhGrcGdPnacVtKZjVgtUitUivfntKZejkbOotKZvftwQmoretUitUitUitUitUislkvfNtKZamNdPnbGZcRPpjvjqUtdrcRPdTEjqUttUdPnvgdvgdvgdvgdvhBujeujEukYkaTlzalzalzalzalzalzaprtvkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkaprtjeZwOpnusgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqiEgwOpfoHkAUnUzprtvkavkavkavkavkavkavkavkavkavkavkavkavkaprthTxiIsjTEpUQfwghQWxWPviDaCQuHovmxaoneKxbBLlPWpcevmZvmZkobddGddGqXOqXOdmQddGddGddGddGxJPcJPcJPhRdxgdxgdxgdxgdyeSfUdrIwrIwrIwrIwliJesWvnlvnKvocvoZfcCesWtEWrIwrIwrIwrIwfUdvpzqWIwDXvpJkTPagxvpZvOWqWIqWIqWIqWIqWIqWIqWIqWIqWIqWIjfZqWIteknydnydpjjqWIqWIqWIqWIqWInrevLywiKwiKwiKwiKwiKwiKwiKwiKgyOvqcdUTdUTdUTdUTdUTnqEiffbyZfdNtUNvTjvTjvTjbHgtVdprtvkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkaprtjeZwOpnusgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
@@ -8690,7 +8704,7 @@ gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgT
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWiEgiQcftOkdknusgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqiEgwOpxejvzTnUzprtvkavkavkavkavkavkavkavkavkavkavkavkavkaprthTxiIsjTEpUQfwghQWxWPggBpjSmDLvzWaonyhlxRdjBGdvCqCOvCurjqoGAghXudPudPoGAoGAoGAoGAoGArvbylUylUylUylUkmlswDswDvCVvDPiGPiGPiGPiGPvBTesWvuXvFbvFEvHbvIdesWvIqiGPiGPiGPiGPvDPvpzkPtfCzvKigLrunDkPtkPtkPtkPtoHcmidoqtmidbxAkPtkPtkPtdoDvKYiXtmizmizsijkPtkPtkPtkPtkPtkPtvLyukWiBDukWukWuSAukWqtDuxPgMWvNsoKkscMscMscMscMvOavHFbyZniYvOuvTjvTjvTjvTjvQNprtvkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkaprtjeZwOpnusgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgfhgPqiEgorldiGpggnusgPqgfhgTWgTWgTWgTWgTWgTWgTWgTWgfhgPqgPqiEgnusgPqfNHnUzprtvkavkavkavkavkavkavkavkavkavkavkavkavkaprthTxiIsnPBmoQfwghQWkJunefvRvcwyotmvSkkalkGyvseaWpocCdJmvSLdJmvSYvWJvWJkjFvaedEwvakhFrcUVfqKdJmdJmoFvdJmdJmfqKrsIdKxkqZkqZkqZiGvuQFesWesWvThvTJvUiesWesWuSjcfikqZkqZkqZdKxnFXjSUosmdPnnoLjSUcRPdfIjqUnoLnFXylLaUcylLdxfbeybeydxfgXNoUJeBlvXSvXSwAowAowAowAowAonFXnoLdPnpwddPntkvflJvYmflJflJxsqpwddPnpsogMywqnhQNvYRvYZirnukYwBDlzalzalzalzalzalzaprtvkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkaprtjeZwOpnusgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWiEgrCwwyjtmAnusgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqiEgnusgPqfNHnUzprtprtprtprtprtprtprtprtprtprtprtprtprtprtprtbvFckenPBmoQfcjnQlpJBaonaoncgWaonaonvjchksvsedvhfNFjiAjiAjiAfNFwavoTMfNFjiAjiAjiAfNFaLgsVcwazwazsVcdiUdiUsVctWGtBcgPqgTWgTWpEZazNvBTesWesWwcfesWesWvIqazVtKCgTWgTWgPqtBcsRXsmSsmSsmSsmSsmSsmSsmSsmSsmSsmSlNuycldxfdxfpyWsfPgdzdNnwAoaxcwcjwcngvlwcAwdzmGaixIhSYpoHpoHpoHpoHmxenIweKudvnwfuxsqpemiOmjBHiOmjCIiOmiKEvYZirnukYwFXwgclzawgjwgDwgDwgKprtvkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkaprtjeZwOpnusgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWmcCxejxejxejpPQgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqiEgnusgPqfNHhGWxDVxDVxDVxDVbvFwhdhTxhTxhTxhTxhTxhTxwhdbvFbvFuyviIsnPBmoQvselrnlHyuozstMxwmwhrpjfrCDoIxvsefNFdFzrBsuERiCQjiAwlgsWNjiArBsuERoCorBssVcwhFkFOkFOwigwigwigkGltWGtBcgPqgTWgTWpEZwjcaAewjRvBTaLNvIqiZKaBCmvftKCgTWgTWgPqtBcsmSulmlgwhVXcdusCdwjTdDKaqCgYUwkvtyvjGIeZMdxfcbSxoHxoHcQvwAopEijPdwdDxfreLGwoowqbwVmpoHwqqdyzwqqpoHwqufykfykfykwjjxsqiOmqaXvYOyiIwrpiOmwsebhqtIUvDrdjAwsGlzawsMwtEwtWwuiprtvkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkaprtjeZwOpnusgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWmcCxejxejxejpPQgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqiEgnusgPqfNHhGWxDVxDVxDVxDVbvFwhdhTxhTxhTxhTxhTxhTxwhdbvFbvFuyviIsnPBmoQvselrnlHyuoztaaxwmwhrpjfrCDoIxvsefNFdFzrBsuERiCQjiAwlgsWNjiArBsuERoCorBssVcwhFkFOkFOwigwigwigkGltWGtBcgPqgTWgTWpEZwjcaAewjRvBTaLNvIqiZKaBCmvftKCgTWgTWgPqtBcsmSulmlgwhVXcdusCdwjTdDKaqCgYUwkvtyvjGIeZMdxfcbSxoHxoHcQvwAopEijPdwdDxfreLGwoowqbwVmpoHwqqdyzwqqpoHwqufykfykfykwjjxsqiOmqaXvYOyiIwrpiOmwsebhqtIUvDrdjAwsGlzawsMwtEwtWwuiprtvkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkaprtjeZwOpnusgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqgTWgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqiEgnusgPqfNHuXnuXnuXnuXnhYBbvFoHohTxoXRoQXeJSeJShTxrHSbvFqAnrWOiIsnPBmoQfqKnCowHLwvfstMtVHlVUmCBxvHeqBfqKfNFfNFjiAjiAjiAfNFuCbwvGfNFjiAjiAjiAfNFsVcwwekFOkFOrwBbHOkFOkFOgpttBcgPqgTWgTWmcCkqZkqZiGvtnYbqNtqocfikqZkqZpPQgTWgTWgPqtBcsmSlZjdPDeUaexQtZNwPrvjCikTeulwxwwxIgmuwyEdxfbtzoKDoKDnGgwAopEiraKwQvdiFvcAhMIwBEaYkpoHgADdgVwDrpoHwDufykfykwEebHSfiSiOmaXusOdhxdkFyiOmwEpvOTirnukYfIQwEPlzawsMwFMwGiwuiprtvkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkaprtjeZwOpfyzgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqgTWgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqiEgwOpgvebbjsncsmBdhHbvFhARbvFwGEhTxucjucjucjucjhTxwGEbvFjIQwGPrrGgttmoQwSixzmcUVcUVcUVcUVcUVcUVajEparcUVfNFglRxbvxbvxbvjERxbvxbvwDNwHfwHnwKoelpsVcwLpkFOkFOkFOfPJrKUwLNgpttBcgPqgPqgTWgTWgTWgTWpEZtnYbqNtqotKCgTWgTWgTWgTWgPqgPqtBcsmSoEawMvjwXogQwNOwPrjQkwPrilRwkvjUhdKsoKPdxfcwPhELiCddxfwAouPzraKwQvkblwAovGNcGRvGNpoHkzdtmUkzdpoHwUhfykfykwUsgRbrdZiOmaXusOdvqnuqaiOmwWjwXfwXSrRzxayxdslzaxeAxgkxgkxgMprtvkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkaprtjeZwOpnusgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqmxggPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqiEgwOpiZUqKPvkavkaprtmoQnqNmoQxKKxKKxKKxKKxKKxKKxKKxKKpOFxKKxKKsZvnPBmoQioGcDxfTcfTcfTcuSBfTcfTcjjJhqYioGfNFlrpthwxbvthwttVsLMthwmSFnlrvLexqTlxFsVcxicxilxiyxkPfPJxkYtDmgpttBctBcgPqgPqgTWgTWgTWpEZtnYvLRtqotKCgTWgTWgTWgPqgPqtBctBcsmSsmSsmSsmSsmSxliikTxlpwPrvAJsmSdxfxmydxfdxfbcbcFJbSgdxfguObrLbFwnBXqySyjVeUUsuzlFBpoHogVoGVxoJpoHwNsfczpuFxoYfczccTiOmaXubqwvqnvbNiOmeHweHwgHLiKEiKEiKEeHwhBftLQtLQfHGprtvkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkavkaprtjeZwOpnusgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
@@ -8709,7 +8723,7 @@ gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgT
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqgTWgPqgTWgTWgTWgTWgTWwTpxejxejxejxAUgTWgTWgTWgPqiEgwOpmGJnlkqKPqKPqKPqKPqKPqKPqKPqKPvkavkavkavkavkavkavkavkaprtfhBlWBxketsPxUrfxnguXbYtbmybmyukfcOZrWhsCLsCLsCLsCLfruqWHcLBmPfplNuvLuzUpPIlhmrixuvLuykxurxurxurxurxurxurxurxurboquSzdvziIfoHXkQMuNLqgRaxBsnjahmdmVoHXyhwegAmatpTlhIOdZWegAjTteQpjTtegArgRqLfhTRirxuoraqluorkqIocHocHocHoNVdvNhxjfufnusgPqgPqgPqgPqgPqiEgsjelzmlzmlzmlzmofliNSbgjtCqbkThsAgxKrBhnadkVZoIjsAntwjkGrmghhHQofloQElOAlOArzqtBcfVcxDVaCcxDVxDVxDVxDVxDVxDVxDVxDVxDVxDVxDVxDVxDVxDVxDVxDVaCcxDVpQYwOpnusgPqgTWgTWgTWgTWgTWgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqgTWgPqgTWgTWgTWgTWgTWgTWgPqgTWgPqgTWgTWgTWgTWgPqiEgwOpmGJnlkqKPqKPqKPqKPqKPqKPqKPqKPvkavkavkavkavkavkavkavkaprtyanlWBlWBlWBlWBlWBjGMuefssDrjFukfpPxrWhnVWhUVlDBxdqbDZfLsbDZchQhJBuvLgZotPegZokmXuvLuvLuvLbxObxObxObxObxObxObxOrtfbxObxObAZpzFaOGxMHqgRaxBsnjhMkaxKqDJaxKegAegAegAegAegAegAroPxIaphCegAdxfoCLdxfirxroPxIaphCjOIxKMhPnocHoNVdvNrrYdxfvJJwjKwjKwjKwjKwjKvJJofldQUsbssbsdQUofloflmBfiGUkGrgdbqHUwCHgdbcUZqHUgdbeBqahyppyfpPofloQEuIpiDkeoNtBchWHeAAghbeAAxbEvpDgyfeAAghbeAAuXnuXneAAghbeAAcUUvpDyeOeAAghbeAAuXnwOpnusgPqgTWgTWgTWgTWgTWgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqgTWgPqgTWgTWgTWgTWgTWgTWgPqgTWgPqgTWgTWgTWgTWgPqiEgwOpmGJbMkqKPqKPqKPqKPqKPqKPqKPqKPqKPvkavkavkavkavkavkavkaprtyantBcnajgOnnazuAAhcguefguXbmyukfqxndTscfCsXSsXSsXSsXScfCsXSrpMfNfybzglLbAyuzflGbfRCrrwuvLokZaITjSPczUtkejYtwnWcpDeuuxDlwnWwnWwnWwnWwdpaxBwdpjUEjUEjUEjUEkzPimcwNSjUEjUEoxwjUEjUEjUEjUEjUEjUEeoDaGnjUEjUEitnrjujvpgZjocHoNVdvNnMHfufnusgPqgPqgPqgPqgPqiEgjbhbqRmfTlHLuHBnLLoflqnqiGUmghrtvofljbhjbhjbhoflpEGhNacQpofloflofloQEuIplOAeoNjXChWHdbTlQwdbTwsTcaKnnIdbTlQwdbTuXnuXndbTlQwdbTmikcaKvxrdbTlQwdbTuXnwOpnusgPqgTWgTWgTWgTWgTWgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgGFfoHfoHfoHikngTWgTWgTWgTWgGFfoHfoHfoHikngTWgTWgTWgPqiEgwOpmGJnlkqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPvkavkavkavkavkavkaprtyantBctBcgOngOnuAAwWzuefguXbYtocxiKjjeldoHneknekneknekdoHnekuPsgyEqwypzEwkLeNyoTudrxwfQybzhoeqiJmojktamojnnTjdxhnvsdYsdYpfXsdYsdYeHMbmUjZQmojmojmojmojmojmojmojmojmojmojktarqmlJbaBTmojmojmojyiBjdxrsrwdpwdprjumzelgnkurqcmdkSpLTfufnusgTWgTWgTWgTWgTWiEgjbhqqWeqZszRadbvMqbyzvCOohxmghxsyoflcYhvEXaEuofljKahNacOuoflirCatBrkBeoNguheoNtBchWHeAAdbTeAAgqGwdSdjBeAAdbTeAAuXnuXneAAdbTeAAjMBnfpxEQeAAdbTeAAuXnwOpnusgPqgTWgTWgTWgGFfoHfoHfoHikngTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgGFfoHfoHfoHikngTWgTWgTWgTWgGFfoHfoHfoHikngTWgTWgTWgPqiEgwOpmGJnlkqKPqKPqKPqKPqKPqKPqKPqKPqKPqKPvkavkavkavkavkavkaprtyantBctBcgOngOnuAAwWzuefguXbYtocxiKjjeldoHneknekneknekdoHnekuPsgyEqwypzEwkLeNyoTudrxwfQybzhoeqiJmojktamojnnTjdxhnvsdYsdYpfXsdYsdYeHMbmUjZQmojmojmojmojmojmojmojmojmojmojktarqmlJbaBTmojmojmojyiBjdxrsrwdpdvAcAwmzelgnkurqcmdkSpLTfufnusgTWgTWgTWgTWgTWiEgjbhqqWeqZszRadbvMqbyzvCOohxmghxsyoflcYhvEXaEuofljKahNacOuoflirCatBrkBeoNguheoNtBchWHeAAdbTeAAgqGwdSdjBeAAdbTeAAuXnuXneAAdbTeAAjMBnfpxEQeAAdbTeAAuXnwOpnusgPqgTWgTWgTWgGFfoHfoHfoHikngTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWiEgiQcftOkdknusgTWgTWgTWgTWiEgiQcftOkdknusgTWgTWgTWgPqiEgwOpmGJnlknlktfonlknlknlknlknlknlknlknlknlkprtprtprtprtprtprtyantBctBcgOndnKuAAwHumVMgQobzcfgVmXnbmymnDhnTmwejjyjjyjjyjjygucpRIuvLuxpiXzeaHeaHsxYwfQybzhoecSZpwUnCSrXbpAEpAEpAEpAEpAEpAEeFYlMXlMXedulMXlMXlMXlMXeFYlMXlMXlMXlMXlMXlMXscTurqrJzrOplMXlMXeFYpGclMXlMXlMXwhyrjudVMwWQrjuoNVdvNnndfufnusgPqgPqgPqgPqgPqiEgoflofloflofloflofloflofliThxlRoflofloflofloflofloflhNacOuoflkwioQEjYCeoNbXVnsHtBcaUKgcfgcfgcfgcfgcfgcfgcfgcfgcfuXnuXngcfgcfgcfuXnuXnuXnuXnuXnuXnuXnwOpnusgPqgTWgTWgTWiEgiQcftOkdknusgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgfhgPqiEgorldiGpggnusgPqgPqgPqgPqiEgorldiGpggnusgPqgPqgPqgPqiEgwOpbRSshZshZshZshZshZshZshZshZshZshZshZshZshZshZxDVxDVxDVxDVpQYtBctBctBctBcuAAuAAflNflNflNcYrvNJkDlkKacJjflNflNflNflNflNuAAbLkuvLfksxTdnPbvoygbYkeTuvLcHdcSZavmhlxobLfFGfPmobLobLobLobLdNreeneenmFzrEmrEmeeneenhLxhLxeUEstcstcstckjMsMJsMJsMJsMJsMJsMJsMJmebrTLrTLrTLrTLjOIocHocHocHmlEqmpevkdxfdxffuffuffuffuffufdxfoflsJPxiJtiitfFxsUofljDSuKnaQEmeatBlmvotBlqEuoflelcvCYylIofleoNmqpeoNjaXwpFgOntBcrhGtBctBctBctBcrhGtBctBctBcxQulatwRVvlJtBcwpFuNasKHtyztyztyzwOpwOpwOpnusgPqgPqgPqgPqiEgorldiGpggnusgPqgfhgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWiEgrCwwyjtmAnusgTWgTWgTWgTWiEgrCwwyjtmAnusgTWgTWgTWgPqiEgwOpwOpwOpwOpwOpwOpwOpwOpwOpwOpwOpwOpwOpwOpwOpwOpwOpwOpwOpwOpwOpwOpwOpwOpwOpmDStBctBcwpFflNnWMfyxuAAfyxiNXflNtBctBcwpFhmHgkvcUSuvLuvLpQoochmETmETmETuvLqkdcSZavmobLhnDmHegxagzbmbieeGobLicGhIyhIylOJumuumuhIyhIywHmiPTqWPdCMqcRxHwsMJdUPebxgMJkEvxzxvCmsMJwNQsJOdAQfHuxMvrtCbKMuDGaGHqRHnXYvGXnDgjsuqqsqqsnNHqqsqqsjsusvVbGOabAbbRbecsbfpJCjDSdCFssPmeaxIgmMsqXRxzioflnYVhNacOuoflctVtJDcxzrZHdLgdLgdLgrZHdLgdLgdLgdLgrZHdLgdLgdLgdLgrZHdLgdLgdLgdLgnTygNcxejxejxejxejxejxejpPQgPqgTWgTWgTWiEgrCwwyjtmAnusgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
@@ -8738,7 +8752,7 @@ gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWtBctB
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWtBctBctBckzIkzIdFkkzIefOjTuprtvkavkavkamySvkarWLvkawPcvkavkavkaprtprtefOtBctBctBcgTWgTWgTWgTWgTWgTWgTWtBctBctBctBctBctBctBctBctBctBctBctBctBctBcnBctBcgPqgPqmcCxejxejxejxejxejxejxejxejxejxejxejxejxejxejwOpwOpsEHwPMsEHtBctBcnUzprtprtprtprtprtprtprtfhBvltgeumDKkowyexjhHsARkowivtpvLkkepnrjxsmVlrFSvltqcdrPZrPZrPZqcdqcdqcdvEdrXHwjVqcdwOpgIOwOpszhqcdqcdohlvZllFKvZlvZldAQvOIvOIdAQdAQlDfqRmfMvbnxbnxbnxbnxbnxbnxnAnlUJbmFwOpglunusgPqgPqgfhgTWgTWgTWgPqgTWgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWrZHpfwpfwpJleBtkOAxzZdmsuJqxtpoSlpfwpfwpfwrZHtBcgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWtBctBcdpJkzIkzIkzIkzIefOjTuprtvkavkavkamySuqPxyLxyLwPcvkavkavkaprtprtefOkzItBctBcgTWgTWgTWgTWgTWgTWgTWgTWgTWtBctBctBcuKhtBctBctBcwsUtBctBctBctBcbphtBcgTWgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqgPqiEgwOpiIYvieiIYtBctBchGWxDVxDVxDVxDVxDVxDVxDVpQYvltvltsUskowkowkowkowkowvGvmVlwxgkhJkhJmzViBMmHSdHEdHEdHEdHEnCfwOpqcdvEdmAkvEdqcdwOpgIOnusgPqgPqgPqaIJaFldSAuIQaIJxejxejxejsRgdAQuKDuLWxCunAnbnxcTAxpvanSumXxtdeiJdAQwOpglunusgPqgTWgTWgTWgTWgTWgPqgTWgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWrZHsHGpfwpfwmmsmUexzZbwYszFgbZwrCpfwpfwrhvrZHtBctBctBcgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWtBctBckzIkzIbSSkzIkzIefOjTuprtvkavkavkamySnfBvkawPcwPcvkavkavkaprtprtefObSSuKhtBcgTWgTWgTWgTWtBctBcgTWgTWgTWgTWgTWtBctBctBcylMtBctBcuKhtBctBctBcnBctBcgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqgTWgPqiEgwOpwOpoSiwOptBctBctBcgXdgXntBctBctBcgXdgXntBcpPVvltbrttBshFNtcRwWCmVlmVlmVlbmtmVlmVlmVlmVlvltejgxejxejwOpmXkwOppcjnlkiJVnlkhxUwOpmXknusgPqgTWgPqaIJxOMilImAUaIJgPqgPqgPqiEgdAQiBnkCSkbPvJOqhkiyQtzWmWNgUxvwDddQdAQlrYglunusgPqgTWgTWgTWgTWgTWgPqgTWgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWrZHstAstAstAiDcmiheWPpXWszFtuthVawAkstAstArZHtBctBctBcgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWtBctBccyYkzIkzIpvIkzIefOjTuprtvkavkavkaqwAevrgyUpnbkeJvkavkavkaprtprtefOkzItBctBcgTWgTWgTWgTWtBctBctBctBcgTWgTWgTWgTWgTWgTWtBctBctBctBctBctBctBcicEgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqgTWgPqwTpxejwOpoSiwOpwOpwOpwOpwOpwOpwOpwOpwOpwOpwOpnushEnvltkhkhUrgHNvnOjHixdxxdxxdxgNEmVlhnHpqWuXyvltgPqgPqgPqiEgmXkwOpiZUqKPqKPqKPegHwOpmXknusgPqgPqgPqaIJjycqmKlAtaIJgTWgTWgPqiEgdAQdAQdAQdAQdAQdAQdAQbmFdAQdAQbmFdAQdAQwOpglunusgPqgTWgTWgTWgTWgTWgPqgPqgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWrZHpfwpfwpJldYFkOAxzZdmsuJqeyJlZzpfwpfwpfwrZHtBctBctBctBcgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWtBctBccyYkzIkzIpvIkzIefOjTuprtvkavkavkaqwAevrgyUpnbkeJvkavkavkaprtprtefOkzItBctBcgTWgTWgTWgTWtBctBctBctBcgTWgTWgTWgTWgTWgTWtBctBctBctBctBctBctBcicEgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqgTWgPqwTpxejwOpoSiwOpwOpwOpwOpwOpwOpwOpwOpwOpwOpwOpnushEnvltkhkhUrgHNvnOjHixdxxdxxdxgNEjKwhnHpqWuXyvltgPqgPqgPqiEgmXkwOpiZUqKPqKPqKPegHwOpmXknusgPqgPqgPqaIJjycqmKlAtaIJgTWgTWgPqiEgdAQdAQdAQdAQdAQdAQdAQbmFdAQdAQbmFdAQdAQwOpglunusgPqgTWgTWgTWgTWgTWgPqgPqgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWrZHpfwpfwpJldYFkOAxzZdmsuJqeyJlZzpfwpfwpfwrZHtBctBctBctBcgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWwsUtBckzIkzIkzIdpJkzIefOjTuprtvkavkavkavkavkavkavkavkavkavkavkaprtprtefOkzIkzItBcgTWgTWgTWgTWtBcylMtBctBctBcgTWgTWgTWgTWgTWgTWgTWtBctBctBctBcgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWwOpgPqgPqgPqgPqiEgoSiwOpxejxejxejxejxejxejxejxejxejwOpnusgPqvltwKddkDwKdvltlngkSqpnrpnrxBsmTisXhsmltTMvltgPqgPqgPqiEgmXkwOpbiGqKPqKPqKPbjewOpmXknusgPqgTWgTWvZlvZlndcvZlvZlgTWgTWgPqiEgwOpgRFwOpwOpwOpwOpgRFwOpwOpwOpwOpgRFwOpwOpwOpnusgPqgTWgTWgTWgTWgTWgPqgTWgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWrZHsHGpfwpfweoRmUexzZbwYszFgbZpefpfwyjFrhvrZHtBcuKhtBctBcgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWtBctBckzIkzIkzIkzIkzIefOprtprtprtprtprtprtprtprtprtprtprtprtprtprtprtefOqMOblztBctBcgTWgTWtBctBctBctBctBctBctBctBcgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWylMgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqgTWgTWgTWgPqiEgoSinusgPqgPqgPqgPqgPqgPqgPqgPqgPqiEgnusgPqvltgZXbkIfrnvltvlttiWtiWvlttiWvltvlttiWvltvltgTWgTWgPqiEgmXkwOpiZUqKPqKPqKPegHwOpmXknusgPqgTWgTWlZfaIJqmKaIJlROgPqgPqgPqiEgglugluglugluglugluglugluglugluglugluglugluglunusgPqgPqxVggTWgTWgTWgPqgTWgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgfhgTWgTWgTWgTWtBcrZHstAstAstAqqbtAFeWPpXWszFtutaEBwAkstAstArZHtBctBctBctBctBcgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
gTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWtBctBckzIluekzIkzIblzefOlfXlfXprtprtprtprtprtprtprtprtprtprtprtprtprtefOduQkzItBctBcgTWgTWtBctBctBcgOntBctBctBctBctBctBcgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqgTWgTWgTWgPqiEgoSinusgPqgTWgTWgTWgPqgTWgTWgTWgPqiEgnusgPqvltwKdgoKwKdvltgTWgPqgTWgTWgTWgPqgTWgTWgTWdNvgTWgTWgPqiEgmXkwOpwsPxKxxxrxKxpKqwOpmXknusgPqgPqgPqiEgaIJqmKaIJnusgTWgTWgPqhzQxejxejxejxejxejxejxejxejxejxejxejxejxejxejxejpPQgPqgTWgTWgTWgTWgTWgPqgTWgPqgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgPqgTWgTWgTWtBctBcrZHpfwpfwpJlqqCkOAxzZdmsuJqyhNfpRpfwpfwpfwrZHgOntBctBctBctBcgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTWgTW
+3 -3
View File
@@ -70,8 +70,8 @@
"br" = (/obj/effect/turf_decal/loading_area{dir = 6; icon_state = "steel_panel"; name = "steel pannel"},/turf/open/floor/plasteel/cafeteria,/area/diner)
"bs" = (/obj/effect/spawner/structure/window/reinforced,/obj/machinery/door/poddoor/shutters/preopen{id = "kitchen"; name = "diner shutters"; tag = dshutters},/turf/open/floor/plating,/area/diner)
"bt" = (/obj/structure/table/plasmaglass,/obj/effect/turf_decal/loading_area{dir = 8; icon_state = "drain"; name = "drain"},/obj/item/reagent_containers/food/drinks/drinkingglass,/turf/open/floor/plasteel/dark,/area/diner)
"bu" = (/obj/structure/table/plasmaglass,/obj/machinery/chem_dispenser/drinks{dir = 8},/obj/machinery/light{dir = 4; pixel_x = 7; pixel_y = 0},/turf/open/floor/plasteel/dark,/area/diner)
"bv" = (/obj/structure/closet/secure_closet/freezer/fridge,/turf/open/floor/plasteel/dark,/area/diner)
"bu" = (/obj/structure/table/plasmaglass,/obj/machinery/chem_dispenser/drinks{dir = 8},/obj/machinery/light{dir = 4; pixel_x = 7; pixel_y = 0},/obj/structure/disposalpipe/segment,/turf/open/floor/plasteel/dark,/area/diner)
"bv" = (/obj/structure/closet/secure_closet/freezer/fridge,/obj/item/reagent_containers/food/condiment/flour,/obj/item/reagent_containers/food/condiment/flour,/obj/item/reagent_containers/food/condiment/flour,/turf/open/floor/plasteel/dark,/area/diner)
"bw" = (/obj/structure/table/plasmaglass,/obj/effect/turf_decal/loading_area{dir = 8; icon_state = "drain"; name = "drain"},/turf/open/floor/plasteel/dark,/area/diner)
"bx" = (/obj/machinery/disposal/bin,/obj/structure/disposalpipe/trunk{dir = 1},/turf/open/floor/plasteel/dark,/area/diner)
"by" = (/obj/structure/closet/secure_closet/freezer/meat,/turf/open/floor/plasteel/dark,/area/diner)
@@ -104,7 +104,7 @@
"kS" = (/turf/open/floor/plasteel{dir = 1; icon_state = "floor_trim"},/area/diner)
"lm" = (/obj/structure/table/plasmaglass,/turf/open/floor/carpet/black,/area/diner)
"mb" = (/obj/structure/lattice/catwalk,/obj/structure/railing{dir = 4},/obj/structure/railing{dir = 1},/turf/open/space/basic,/area/space/nearstation)
"mn" = (/obj/machinery/vending/boozeomat,/turf/closed/wall,/area/diner)
"mn" = (/obj/machinery/vending/boozeomat{req_access = null},/turf/closed/wall,/area/diner)
"mV" = (/turf/open/floor/plasteel{dir = 4; icon_state = "floor_plate"},/area/diner)
"nQ" = (/obj/structure/table/plasmaglass,/obj/item/reagent_containers/food/condiment/saltshaker{pixel_y = 10},/obj/item/reagent_containers/food/condiment/peppermill{pixel_x = 5; pixel_y = 4},/turf/open/floor/carpet/black,/area/diner)
"op" = (/obj/structure/table/plasmaglass,/obj/item/ashtray,/turf/open/floor/carpet/black,/area/diner)
+2
View File
@@ -27,6 +27,8 @@
/proc/radiation_pulse(atom/source, intensity, range_modifier, log=FALSE, can_contaminate=TRUE)
if(!SSradiation.can_fire)
return
if(!source)
return // make sure we have a source. If we don't, just return.
if(istype(get_turf(source), /turf/open/pool))
var/turf/open/pool/PL = get_turf(source)
if(PL.filled == TRUE)
+8 -1
View File
@@ -6,6 +6,7 @@
var/static/list/falling_atoms = list() // Atoms currently falling into chasms
var/static/list/forbidden_types = typecacheof(list(
/mob/camera,
/obj/singularity,
/obj/docking_port,
/obj/structure/lattice,
@@ -115,7 +116,13 @@
L.notransform = TRUE
L.Stun(200)
L.resting = TRUE
if(prob(5))
if(L.client && check_rights_for(L.client, R_FUN))
if(prob(50))
playsound(AM, 'hyperstation/sound/misc/yodadeath.ogg', 100, 0)
else
playsound(AM, 'hyperstation/sound/misc/fallingthroughclouds.ogg', 100, 0)
else if(prob(5))
playsound(AM, 'hyperstation/sound/misc/fallingthroughclouds.ogg', 100, 0)
var/oldtransform = AM.transform
@@ -478,6 +478,7 @@
//property_weights = list("extended" = 1)
//always_max_weight = TRUE
occurances_max = 0
map_blacklist = list("LayeniaStation.dmm")
/datum/dynamic_ruleset/event/major_dust
name = "Major Space Dust"
@@ -493,6 +494,7 @@
repeatable = TRUE
//property_weights = list("extended" = 1)
occurances_max = 3
map_blacklist = list("LayeniaStation.dmm")
/datum/dynamic_ruleset/event/electrical_storm
@@ -770,8 +770,8 @@ datum/dynamic_ruleset/midround/bloodcult/trim_candidates()
name = "Space Ninja"
//config_tag = "ninja"
antag_flag = ROLE_NINJA
enemy_roles = list("Security Officer","Head of Security","Captain","AI","Cyborg")
required_enemies = list(3,2,2,2,2,1,1,1,1,0)
enemy_roles = list("Security Officer","Head of Security","Captain")
required_enemies = list(3,3,2,2,2,2,1,1,1,0)
required_candidates = 1
weight = 4
cost = 10
@@ -98,7 +98,7 @@
. = ..()
if(ismob(O))
radiate()
/obj/effect/decal/cleanable/greenglow/radioactive/proc/radiate()
if(!active)
if(world.time > last_event+15)
@@ -230,19 +230,19 @@
name = "generic glitter pile"
desc = "The herpes of arts and crafts."
icon = 'icons/effects/atmospherics.dmi'
icon_state = "glitter"
gender = NEUTER
/obj/effect/decal/cleanable/glitter/pink
name = "pink glitter"
icon_state = "plasma_old"
color = "#9e0089"
/obj/effect/decal/cleanable/glitter/white
name = "white glitter"
icon_state = "nitrous_oxide_old"
/obj/effect/decal/cleanable/glitter/blue
name = "blue glitter"
icon_state = "freon_old"
color = "#2dd6ff"
/obj/effect/decal/cleanable/plasma
name = "stabilized plasma"
@@ -85,7 +85,7 @@ the new instance inside the host to be updated to the template's stats.
/mob/camera/disease/get_status_tab_items()
. = ..()
if(freemove)
. += "Host Selection Time: [round((freemove_end - world.time)/10)]s"
else
+1
View File
@@ -52,6 +52,7 @@
if(2) //steal
var/datum/objective/steal/special/O = new /datum/objective/steal/special()
O.owner = owner
O.find_target()
objectives += O
if(3) //protect/kill
@@ -1,4 +1,4 @@
#define REVENANT_SPAWN_THRESHOLD 12
#define REVENANT_SPAWN_THRESHOLD 10
/datum/round_event_control/revenant
name = "Spawn Revenant" // Did you mean 'griefghost'?
@@ -23,6 +23,7 @@
if(is_station_level(M.z))
deadMobs++
if(deadMobs < REVENANT_SPAWN_THRESHOLD)
deadchat_broadcast("<span class='deadsay'>Event attempted to spawn a revenant, but there were not enough dead people.</span>") //So people stop assuming admins cancelled it
message_admins("Event attempted to spawn a revenant, but there were only [deadMobs]/[REVENANT_SPAWN_THRESHOLD] dead mobs.")
return WAITING_FOR_SOMETHING
+10 -10
View File
@@ -470,7 +470,7 @@
desc = "You wanted ORANGE. It gave you Lemon Lime."
icon_state = "lemon-lime"
list_reagents = list(/datum/reagent/consumable/lemon_lime = 30)
foodtype = FRUIT
foodtype = SUGAR | FRUIT
/obj/item/reagent_containers/food/drinks/soda_cans/lemon_lime/Initialize()
. = ..()
@@ -481,35 +481,35 @@
desc = "Tastes like a hull breach in your mouth."
icon_state = "space-up"
list_reagents = list(/datum/reagent/consumable/space_up = 30)
foodtype = SUGAR | JUNKFOOD
foodtype = SUGAR
/obj/item/reagent_containers/food/drinks/soda_cans/starkist
name = "Star-kist"
desc = "The taste of a star in liquid form. And, a bit of tuna...?"
icon_state = "starkist"
list_reagents = list(/datum/reagent/consumable/space_cola = 15, /datum/reagent/consumable/orangejuice = 15)
foodtype = SUGAR | FRUIT | JUNKFOOD
foodtype = SUGAR | FRUIT
/obj/item/reagent_containers/food/drinks/soda_cans/space_mountain_wind
name = "Space Mountain Wind"
desc = "Blows right through you like a space wind."
icon_state = "space_mountain_wind"
list_reagents = list(/datum/reagent/consumable/spacemountainwind = 30)
foodtype = SUGAR | JUNKFOOD
foodtype = SUGAR
/obj/item/reagent_containers/food/drinks/soda_cans/thirteenloko
name = "Thirteen Loko"
desc = "The CMO has advised crew members that consumption of Thirteen Loko may result in seizures, blindness, drunkenness, or even death. Please Drink Responsibly."
icon_state = "thirteen_loko"
list_reagents = list(/datum/reagent/consumable/ethanol/thirteenloko = 30)
foodtype = SUGAR | JUNKFOOD
foodtype = SUGAR
/obj/item/reagent_containers/food/drinks/soda_cans/dr_gibb
name = "Dr. Gibb"
desc = "A delicious mixture of 42 different flavors."
icon_state = "dr_gibb"
list_reagents = list(/datum/reagent/consumable/dr_gibb = 30)
foodtype = SUGAR | JUNKFOOD
foodtype = SUGAR
/obj/item/reagent_containers/food/drinks/soda_cans/pwr_game
name = "Pwr Game"
@@ -522,14 +522,14 @@
desc = "~Shake me up some of that Shambler's Juice!~"
icon_state = "shamblers"
list_reagents = list(/datum/reagent/consumable/shamblers = 30)
foodtype = SUGAR | JUNKFOOD
foodtype = SUGAR
/obj/item/reagent_containers/food/drinks/soda_cans/grey_bull
name = "Grey Bull"
desc = "Grey Bull, it gives you gloves!"
icon_state = "energy_drink"
list_reagents = list(/datum/reagent/consumable/grey_bull = 20)
foodtype = SUGAR | JUNKFOOD
list_reagents = list(/datum/reagent/consumable/grey_bull = 30)
foodtype = SUGAR
/obj/item/reagent_containers/food/drinks/soda_cans/air
name = "canned air"
@@ -542,5 +542,5 @@
desc = "Unleash the ape!"
icon_state = "menergy"
list_reagents = list(/datum/reagent/consumable/monkey_energy = 50)
foodtype = SUGAR | JUNKFOOD
foodtype = SUGAR
price = 3
+2 -2
View File
@@ -126,7 +126,7 @@
desc = "A peel from a bluespace banana."
icon_state = "banana_peel_blue"
//Banana Spider
//Banana Spider.
/obj/item/seeds/banana/exotic_banana
name = "pack of exotic banana seeds"
desc = "They're seeds that grow into banana trees. However, those bananas might be alive."
@@ -157,7 +157,7 @@
spawn(30)
if(!QDELETED(src))
var/mob/living/simple_animal/banana_spider/S = new /mob/living/simple_animal/banana_spider(get_turf(src.loc))
S.speed += round(10 / max(seed.potency, 1), 1)
S.speed += round(10 - 10 * (seed.potency/100), 1)
S.visible_message("<span class='notice'>The banana spider chitters as it stretches its legs.</span>")
qdel(src)
@@ -2,10 +2,10 @@
//Engineering
/datum/job/chief_engineer
alt_titles = list("Head Engineer", "Construction Coordinator", "Project Manager")
alt_titles = list("Head Engineer", "Construction Coordinator", "Project Manager", "Power Plant Director")
/datum/job/engineer
alt_titles = list("Maintenance Technician", "Engine Technician", "Electrician", "Structural Engineer", "Mechanic", "Station Architect")
alt_titles = list("Maintenance Technician", "Engine Technician", "Electrician", "Structural Engineer", "Mechanic", "Station Architect", "Nuclear Plant Operator")
/datum/job/atmos
alt_titles = list("Firefighter", "Life Support Specialist", "Disposals Technician")
+3 -5
View File
@@ -300,17 +300,15 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
succumb()
if(stat == DEAD)
ghostize(1)
else
//Low RP, removing.
/*
else if(!(ishuman(src)) && !(issilicon(src)))
var/response = alert(src, "Are you -sure- you want to ghost?\n(You are alive. If you ghost whilst still alive you won't be able to re-enter this round! You can't change your mind so choose wisely!!)","Are you sure you want to ghost?","Ghost","Stay in body")
if(response != "Ghost")
return //didn't want to ghost after-all
ghostize(0) //0 parameter is so we can never re-enter our body, "Charlie, you can never come baaaack~" :3
suicide_log(TRUE)
*/
else
to_chat(usr, "<span class='boldnotice'>You cannot ghost, if you wish to remove yourself from the round, please locate a cryogenic freezer.</span>")
message_admins("[usr] attempted to ghost.")
message_admins("[src] attempted to ghost.")
/mob/camera/verb/ghost()
set category = "OOC"
+1
View File
@@ -75,3 +75,4 @@
user.nextsoundemote = world.time + 7
playsound(user, 'modular_citadel/sound/voice/speen.ogg', 50, 1, -1)
. = ..()
@@ -323,6 +323,132 @@
else
STOP_PROCESSING(SSobj, src)
// Space kiwis, ergo quite a copypasta of chickens.
/mob/living/simple_animal/kiwi
name = "space kiwi"
desc = "Exposure to low gravity made them grow larger."
gender = FEMALE
icon_state = "kiwi"
icon_living = "kiwi"
icon_dead = "kiwi_dead"
speak = list("Chirp!","Cheep cheep chirp!!","Cheep.")
speak_emote = list("chirps","trills")
emote_hear = list("chirps.")
emote_see = list("pecks at the ground.","jumps in place.")
density = FALSE
speak_chance = 2
turns_per_move = 3
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 3)
var/egg_type = /obj/item/reagent_containers/food/snacks/egg/kiwiEgg
var/food_type = /obj/item/reagent_containers/food/snacks/grown/wheat
response_help = "pets"
response_disarm = "gently pushes aside"
response_harm = "kicks"
attacktext = "kicks"
health = 25
maxHealth = 25
ventcrawler = VENTCRAWLER_ALWAYS
var/eggsleft = 0
var/eggsFertile = TRUE
pass_flags = PASSTABLE | PASSMOB
mob_size = MOB_SIZE_SMALL
var/list/feedMessages = list("It chirps happily.","It chirps happily.")
var/list/layMessage = list("lays an egg.","squats down and croons.","begins making a huge racket.","begins chirping raucously.")
gold_core_spawnable = FRIENDLY_SPAWN
var/static/kiwi_count = 0
/mob/living/simple_animal/kiwi/Destroy()
--kiwi_count
return ..()
/mob/living/simple_animal/kiwi/Initialize()
. = ..()
++kiwi_count
/mob/living/simple_animal/kiwi/Life()
. =..()
if(!.)
return
if((!stat && prob(3) && eggsleft > 0) && egg_type)
visible_message("[src] [pick(layMessage)]")
eggsleft--
var/obj/item/E = new egg_type(get_turf(src))
E.pixel_x = rand(-6,6)
E.pixel_y = rand(-6,6)
if(eggsFertile)
if(kiwi_count < MAX_CHICKENS && prob(25))
START_PROCESSING(SSobj, E)
/obj/item/reagent_containers/food/snacks/egg/kiwiEgg/process()
if(isturf(loc))
amount_grown += rand(1,2)
if(amount_grown >= 100)
visible_message("[src] hatches with a quiet cracking sound.")
new /mob/living/simple_animal/babyKiwi(get_turf(src))
STOP_PROCESSING(SSobj, src)
qdel(src)
else
STOP_PROCESSING(SSobj, src)
/mob/living/simple_animal/kiwi/attackby(obj/item/O, mob/user, params)
if(istype(O, food_type)) //feedin' dem kiwis
if(!stat && eggsleft < 8)
var/feedmsg = "[user] feeds [O] to [name]! [pick(feedMessages)]"
user.visible_message(feedmsg)
qdel(O)
eggsleft += rand(1, 4)
else
to_chat(user, "<span class='warning'>[name] doesn't seem hungry!</span>")
else
..()
/mob/living/simple_animal/babyKiwi
name = "baby space kiwi"
desc = "So huggable."
icon_state = "babykiwi"
icon_living = "babykiwi"
icon_dead = "babykiwi_dead"
gender = FEMALE
speak = list("Cherp.","Cherp?","Chirrup.","Cheep!")
speak_emote = list("chirps")
emote_hear = list("chirps.")
emote_see = list("pecks at the ground.","Happily bounces in place.")
density = FALSE
speak_chance = 2
turns_per_move = 2
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 2)
response_help = "pets"
response_disarm = "gently pushes aside"
response_harm = "kicks"
attacktext = "kicks"
health = 10
maxHealth = 10
ventcrawler = VENTCRAWLER_ALWAYS
var/amount_grown = 0
pass_flags = PASSTABLE | PASSGRILLE | PASSMOB
mob_size = MOB_SIZE_TINY
gold_core_spawnable = FRIENDLY_SPAWN
/mob/living/simple_animal/babyKiwi/Initialize()
. = ..()
pixel_x = rand(-6, 6)
pixel_y = rand(0, 10)
/mob/living/simple_animal/babyKiwi/Life()
. =..()
if(!.)
return
if(!stat && !ckey)
amount_grown += rand(1,2)
if(amount_grown >= 100)
new /mob/living/simple_animal/kiwi(src.loc)
qdel(src)
/obj/item/reagent_containers/food/snacks/egg/kiwiEgg
name = "kiwi egg"
desc = "A slightly bigger egg!"
icon_state = "kiwiegg"
/obj/item/udder
name = "udder"
@@ -1,9 +1,8 @@
/mob/living/simple_animal/banana_spider
icon = 'modular_citadel/icons/mob/BananaSpider.dmi'
name = "banana spider"
desc = "What the fuck is this abomination?"
icon_state = "banana"
icon_dead = "banana_peel"
icon_state = "bananaspider"
icon_dead = "bananaspider_peel"
health = 1
maxHealth = 1
turns_per_move = 5 //this isn't player speed =|
@@ -87,8 +86,7 @@
/obj/item/reagent_containers/food/snacks/deadbanana_spider
name = "dead banana spider"
desc = "Thank god it's gone...but it does look slippery."
icon = 'modular_citadel/icons/mob/BananaSpider.dmi'
icon_state = "banana_peel"
icon_state = "bananaspider"
bitesize = 3
eatverb = "devours"
list_reagents = list(/datum/reagent/consumable/nutriment = 3, /datum/reagent/consumable/nutriment/vitamin = 2)
@@ -369,7 +369,7 @@
/mob/living/simple_animal/proc/make_babies() // <3 <3 <3
if(gender != FEMALE || stat || next_scan_time > world.time || !childtype || !animal_species || !SSticker.IsRoundInProgress())
return
next_scan_time = world.time + 2000 //Please stop making it so they multiply like rabbits
next_scan_time = world.time + 6000 //Please stop making it so they multiply like rabbits
var/alone = 1
var/mob/living/simple_animal/partner
var/children = 0
@@ -198,20 +198,19 @@
return 2
/mob/living/simple_animal/slime/get_status_tab_items()
if(..())
if(!docile)
. += "Nutrition: [nutrition]/[get_max_nutrition()]"
if(amount_grown >= SLIME_EVOLUTION_THRESHOLD)
if(is_adult)
. += "You can reproduce!"
else
. += "You can evolve!"
if(stat == UNCONSCIOUS)
. += "You are knocked out by high levels of BZ!"
. = ..()
if(!docile)
. += "Nutrition: [nutrition]/[get_max_nutrition()]"
if(amount_grown >= SLIME_EVOLUTION_THRESHOLD)
if(is_adult)
. += "You can reproduce!"
else
. += "Power Level: [powerlevel]"
. += "You can evolve!"
if(stat == UNCONSCIOUS)
. += "You are knocked out by high levels of BZ!"
else
. += "Power Level: [powerlevel]"
/mob/living/simple_animal/slime/adjustFireLoss(amount, updating_health = TRUE, forced = FALSE)
@@ -0,0 +1,240 @@
GLOBAL_DATUM_INIT(lore_terminal_controller, /datum/lore_controller, new)
/obj/machinery/computer/lore_terminal
name = "Staff Seegson info-link terminal"
desc = "A small CRT display with an inbuilt microcomputer which is loaded with an extensive database. These terminals contain eveyrthing from information about historical events to instruction manuals for common ship appliances."
icon = 'nsv13/icons/obj/computers.dmi'
icon_state = "terminal"
pixel_y = 26 //So they snap to walls correctly
density = FALSE
anchored = TRUE
idle_power_usage = 15
var/access_tag = "ntcommon" //Every subtype of this type will be readable by this console. Use this for away terms as seen here \/
var/list/entries = list() //Every entry that we've got.
var/in_use = FALSE //Stops sound spam
var/datum/looping_sound/computer_click/soundloop
/obj/machinery/computer/lore_terminal/command //Put sensitive information on this one
name = "Command Seegson info-link terminal"
access_tag = "ntcommand"
req_access = list(ACCESS_HEADS)
/obj/machinery/computer/lore_terminal/awaymission //Example for having a terminal preloaded with only a set list of files.
access_tag = "awaymission_default"
/obj/machinery/computer/lore_terminal/Initialize()
. = ..()
get_entries()
soundloop = new(list(src), FALSE)
/datum/looping_sound/computer_click
mid_sounds = list('nsv13/sound/effects/computer/scroll1.ogg','nsv13/sound/effects/computer/scroll2.ogg','nsv13/sound/effects/computer/scroll3.ogg','nsv13/sound/effects/computer/scroll5.ogg')
mid_length = 0.8 SECONDS
volume = 30
/obj/machinery/computer/lore_terminal/proc/get_entries()
for(var/X in GLOB.lore_terminal_controller.entries)
var/datum/lore_entry/instance = X
if(instance.access_tag == access_tag || instance.access_tag == "all")
entries += instance
/obj/machinery/computer/lore_terminal/attack_hand(mob/user)
. = ..()
if(!allowed(user))
var/sound = pick('nsv13/sound/effects/computer/error.ogg','nsv13/sound/effects/computer/error2.ogg','nsv13/sound/effects/computer/error3.ogg')
playsound(src, sound, 100, 1)
to_chat(user, "<span class='warning'>Access denied</span>")
return
playsound(src, 'nsv13/sound/effects/computer/scroll_start.ogg', 100, 1)
user.set_machine(src)
var/dat
if(!entries.len)
get_entries()
for(var/X in entries) //Allows you to remove things individually
var/datum/lore_entry/content = X
dat += "<a href='?src=[REF(src)];selectitem=\ref[content]'>[content.name]</a><br>"
var/datum/browser/popup = new(user, "cd C:/entries/local", name, 300, 500)
popup.set_content(dat)
popup.open()
/obj/machinery/computer/lore_terminal/Topic(href, href_list)
if(!in_range(src, usr))
return
if(in_use)
var/sound = 'nsv13/sound/effects/computer/buzz2.ogg'
playsound(src, sound, 100, 1)
to_chat(usr, "<span class='warning'>ERROR: I/O function busy. A file is still loading...</span>")
return
var/datum/lore_entry/content = locate(href_list["selectitem"])
if(!content || !content?.content)
return
var/clicks = length(content.content) //Split the content into characters. 1 character = 1 click
var/dat = "<!DOCTYPE html>\
<html>\
<body background='https://cdn.discordapp.com/attachments/573966558548721665/612306341612093489/static.png'>\
\
<body onload='typeWriter()'>\
\
<h4>ACCESS FILE: C:/entries/local/[content.name]</h4>\
<h3><i>Classification: [content.classified]</i></h3>\
<h6>- Seegson systems inc, 2257</h6>\
<hr style='border-top: dotted 1px;' />\
<h2>[content.title]</h2>\
\
<p id='demo'></p>\
\
<script>\
var i = 0;\
var txt = \"[content.content]\";\
var speed = 10;\
\
function typeWriter() {\
if (i < txt.length) {\
var char = txt.charAt(i);\
if (char == '`') {\
document.getElementById('demo').innerHTML += '<br>';\
}\
else {\
document.getElementById('demo').innerHTML += txt.charAt(i);\
}\
i++;\
setTimeout(typeWriter, speed);\
}\
}\
</script>\
\
\
<style>\
body {\
background-color: black;\
background-image: radial-gradient(\
rgba(0, 20, 0, 0.75), black 120%\
);\
height: 100vh;\
margin: 0;\
overflow: hidden;\
padding: 2rem;\
color: #36f891;\
font: 1.3rem Lucida Console, monospace;\
text-shadow: 0 0 5px #355732;\
&::after {\
content: '';\
position: absolute;\
top: 0;\
left: 0;\
width: 100vw;\
height: 100vh;\
background: repeating-linear-gradient(\
0deg,\
rgba(black, 0.15),\
rgba(black, 0.15) 1px,\
transparent 1px,\
transparent 2px\
);\
pointer-events: none;\
}\
}\
::selection {\
background: #0080FF;\
text-shadow: none;\
}\
pre {\
margin: 0;\
}\
</style>\
</body>\
</html>"
usr << browse(dat, "window=lore_console[content.name];size=600x600")
playsound(src, pick('nsv13/sound/effects/computer/buzz.ogg','nsv13/sound/effects/computer/buzz2.ogg'), 100, TRUE)
in_use = TRUE //Stops you from crashing the server with infinite sounds
icon_state = "terminal_scroll"
clicks = clicks/3
var/loops = clicks/3 //Each click sound has 4 clicks in it, so we only need to click 1/4th of the time per character yeet.
addtimer(CALLBACK(src, .proc/stop_clicking), loops)
soundloop?.start()
/obj/machinery/computer/lore_terminal/proc/stop_clicking()
soundloop?.stop()
icon_state = "terminal"
in_use = FALSE
/datum/lore_controller
var/name = "Lore archive controller"
var/list/entries = list() //All the lore entries we have.
/datum/lore_controller/New()
. = ..()
instantiate_lore_entries()
/datum/lore_controller/proc/instantiate_lore_entries()
for(var/instance in subtypesof(/datum/lore_entry))
var/datum/lore_entry/S = new instance
entries += S
/datum/lore_entry
var/name = "Loredoc.txt" //"File display name" that the term shows (C://blah/yourfile.bmp)
var/title = null //What it's all about
var/classified = "Declassified" //Fluff, is this a restricted file or not?
var/content = null //You may choose to set this here, or via a .txt. file if it's long. Newlines / Enters will break it!
var/path = null //The location at which we're stored. If you don't have this, you don't get content
var/access_tag = "placeholder" //Set this to match the terminals that you want to be able to access it. EG "ntcommon" for declassified shit.
/datum/lore_entry/New()
. = ..()
if(path)
content = file2text("[path]")
/*
TO GET THE COOL TYPEWRITER EFFECT, I HAD TO STRIP OUT THE HTML FORMATTING STUFF.
SPECIAL KEYS RESPOND AS FOLLOWS:
` = newline (br) (AKA when you press enter)
~ = horizontal line (hr)
= bullet point //Bullet points are not working? - archie
*/
/datum/lore_entry/station
name = "new_employees_memo.mail"
title = "Intercepted message"
path = "lore_entries/welcome.txt"
access_tag = "ntcommon"
/datum/lore_entry/all
name = "nuclear_authdisk_instructions.mail"
title = "Handling the Nuclear Authentication Disk and You!"
content = "SYSADMIN -> allcrew@seegnet.kin. RE: The Nuclear Authentication Disk. ` Greetings staff members! We're aware of the questions you have in regards to the Nuclear Authentication disk. The disk itself contains the codes needed to unlock nuclear devices used in a Nuclear Emergency and trigger a station self-destruction sequence. ` It is the duty of every member of this crew to take responsibility for the disk in the off chance that station command is currently absent. ` Don't leave it lying in the Captain's office. ` Keep it in movement to prevent Syndicate triangulation devices from functioning. ` If the disk location is unknown, look for a red pinpointer, the Head of Security and the Captain should always have one in their offices or lockers. These will help you locate the disk. ` If the disk is in enemy hands, call all hands on deck immediately and order a red alert. ` ` Protect the disk with your life, for the lives of the station's crew depend on it. Stay safe through vigilance."
access_tag = "all"
/datum/lore_entry/all/meltdown_proceedures
name = "meltdown_proceedures.mail"
title = "Emergency proceedures regarding nuclear meltdowns:"
path = "lore_entries/meltdowns.txt"
/datum/lore_entry/command
name = "command_memo.mail"
title = "Intercepted Message"
access_tag = "ntcommand"
classified = "Restricted"
content = "SYSADMIN -> command@seegnet.kin. RE: Orientation. ` Greetings station command staff, congratulations on your placement! It is now company policy to attend all briefings as issued by centcom staff. Please speak to your centcom officer for clarification on the new procedures."
/datum/lore_entry/command/xeno
name = "outpost_27.mail"
title = "Investigation Closed"
classified = "Classified"
content = "SYSADMIN -> command@seegnet.kin. RE: Outpost 27 Investigation. ` Until further notice, all communications, visits and trade with Outpost 27 must be denied. It is recommended that the subject is avoided. Stay safe through vigilance."
/datum/lore_entry/away_example
title = "Intercepted log file"
access_tag = "awayexample"
/datum/lore_entry/away_example/pilot_log
name = "pilot_log.txt"
content = "They're coming in hot! Prepare for flip and bur']###$55%%% -=File Access Terminated=-"
/datum/lore_entry/away_example/weapons_log
name = "weapon_systems_dump2259/11/25.txt"
content = "Life support systems terminated. Railgun system status: A6E3. Torpedo system status: ~@##6#6#^^6 -=File Access Terminated=-"
+3 -2
View File
@@ -39,7 +39,8 @@
/obj/effect/collapse,
/obj/effect/particle_effect/ion_trails,
/obj/effect/dummy/phased_mob,
/obj/effect/immovablerod
/obj/effect/immovablerod,
/obj/effect/crystalline_reentry
)) //Gotta make sure certain things can phase through it otherwise the railings also block them.
/obj/structure/railing/CanPass(atom/movable/mover, turf/target)
@@ -158,4 +159,4 @@
else
usr.forceMove(get_turf(src))
usr.visible_message("<span class='warning'>[user] climbed over \the [src]!</span>")
usr.visible_message("<span class='warning'>[user] climbed over \the [src]!</span>")
+33
View File
@@ -0,0 +1,33 @@
/datum/emote/living/chirp
key = "chirp"
key_third_person = "chirps!"
message = "chirps!"
emote_type = EMOTE_AUDIBLE
muzzle_ignore = FALSE
restraint_check = FALSE
mob_type_allowed_typecache = list(/mob/living/carbon, /mob/living/silicon/pai)
/datum/emote/living/chirp/run_emote(mob/living/user, params)
if(!(. = ..()))
return
if(user.nextsoundemote >= world.time)
return
user.nextsoundemote = world.time + 7
playsound(user, 'sound/voice/chirp.ogg', 50, 1, -1)
/datum/emote/living/caw
key = "caw"
key_third_person = "caws!"
message = "caws!"
emote_type = EMOTE_AUDIBLE
muzzle_ignore = FALSE
restraint_check = FALSE
mob_type_allowed_typecache = list(/mob/living/carbon, /mob/living/silicon/pai)
/datum/emote/living/chirp/run_emote(mob/living/user, params)
if(!(. = ..()))
return
if(user.nextsoundemote >= world.time)
return
user.nextsoundemote = world.time + 7
playsound(user, 'sound/voice/caw.ogg', 50, 1, -1)
+56 -20
View File
@@ -12,7 +12,8 @@
turns_per_move = 5
move_to_delay = 1
speed = 0
see_in_dark = 6
see_in_dark = 8
lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE
pass_flags = PASSTABLE
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab/xeno = 2)
response_help = "prods"
@@ -20,8 +21,8 @@
response_harm = "smacks"
melee_damage_lower = 8
melee_damage_upper = 12
attacktext = "slams"
attack_sound = 'sound/weapons/punch1.ogg'
attacktext = "glomps"
attack_sound = 'sound/effects/blobattack.ogg'
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
ventcrawler = VENTCRAWLER_ALWAYS
blood_volume = 0
@@ -33,12 +34,18 @@
minbodytemp = 250 //weak to cold
maxbodytemp = 1500
pressure_resistance = 600
sight = SEE_MOBS
var/unstealth = FALSE
var/knockdown_people = 1
var/playerTransformCD = 50
var/playerTfTime
var/static/mimic_blacklisted_transform_items = typecacheof(list(
/obj/item/projectile,
/obj/item/radio/intercom))
var/turns_since_notarget
var/playstyle_string = "<span class='boldannounce'>You are a mimic</span></b>, a tricky creature that can take the form of \
almost any item nearby by shift-clicking it. While morphed, you move slowly and do less damage. \
Finally, you can restore yourself to your original form while morphed by shift-clicking yourself. \
Attacking carbon lifeforms will heal you at the cost of destructuring their DNA.</b>"
/mob/living/simple_animal/hostile/hs13mimic/Initialize()
. = ..()
@@ -46,26 +53,33 @@
unstealth = FALSE
trytftorandomobject()
/mob/living/simple_animal/hostile/hs13mimic/Login()
. = ..()
SEND_SOUND(src, sound('sound/ambience/antag/ling_aler.ogg'))
to_chat(src, src.playstyle_string)
/mob/living/simple_animal/hostile/hs13mimic/attack_hand(mob/living/carbon/human/M)
. = ..()
trigger()
/mob/living/simple_animal/hostile/hs13mimic/Life()
. = ..()
turns_since_notarget++
if(turns_since_notarget >= 5)
turns_since_notarget = 0
if(unstealth && (!target || isdead(target)))
target = null
trytftorandomobject()
/mob/living/simple_animal/hostile/hs13mimic/AttackingTarget()
. = ..()
if(knockdown_people && . && prob(15) && iscarbon(target))
if(iscarbon(target))
var/mob/living/carbon/C = target
C.Knockdown(40)
C.visible_message("<span class='danger'>\The [src] knocks down \the [C]!</span>", \
if(unstealth == FALSE && knockdown_people && .) //Guaranteed knockdown if we get the first hit while disguised. Typically, only players can do this since NPC mimics transform first before attacking.
unstealth = TRUE
restore()
C.Knockdown(40)
C.visible_message("<span class='danger'>\The [src] knocks down \the [C]!</span>", \
"<span class='userdanger'>\The [src] knocks you down!</span>")
else if(knockdown_people && . && prob(15))
C.Knockdown(40)
C.visible_message("<span class='danger'>\The [src] knocks down \the [C]!</span>", \
"<span class='userdanger'>\The [src] knocks you down!</span>")
if(C.nutrition >= 15)
C.nutrition -= (rand(7,15)) //They lose 7-15 nutrition
adjustBruteLoss(-3) //We heal 3 damage
C.adjustCloneLoss(rand(2,4)) //They also take a bit of cellular damage.
/mob/living/simple_animal/hostile/hs13mimic/adjustHealth(amount, updating_health = TRUE, forced = FALSE)
trigger()
@@ -175,11 +189,12 @@
icon = 'hyperstation/icons/mobs/mimic.dmi'
icon_state = "mimic"
desc = initial(desc)
speed = initial(speed)
wander = TRUE
vision_range = 9
/mob/living/simple_animal/hostile/hs13mimic/proc/trigger()
if(unstealth == FALSE)
if(unstealth == FALSE && !stat)
unstealth = TRUE
visible_message("<span class='danger'>The [src] Reveals itself to be a Mimic!</span>")
Mimictransform()
@@ -197,7 +212,7 @@
medhudupdate()
var/list/obj/item/listItems = list()
for(var/obj/item/I in oview(9,src.loc))
if(!(is_type_in_typecache(I, mimic_blacklisted_transform_items)))
if(allowed(I))
listItems += I
if(LAZYLEN(listItems))
var/obj/item/changedReference = pick(listItems)
@@ -210,6 +225,26 @@
else
Mimictransform()
/mob/living/simple_animal/hostile/hs13mimic/proc/allowed(atom/movable/A)
return !is_type_in_typecache(A, mimic_blacklisted_transform_items) && (isitem(A))
/mob/living/simple_animal/hostile/hs13mimic/ShiftClickOn(atom/movable/A) //if by any chance a player takes control of them
if(playerTfTime <= world.time && !stat)
if(A == src)
restore()
playerTfTime = world.time + playerTransformCD
return
if(istype(A) && allowed(A))
unstealth = FALSE
name = A.name
icon = A.icon
icon_state = A.icon_state
desc = A.desc
speed = 5
playerTfTime = world.time + playerTransformCD
else
to_chat(src, "<span class='warning'>You need to wait a little longer before you can shift into something else!</span>")
..()
//Event control
@@ -299,11 +334,12 @@
if(!eligible_areas.len)
message_admins("No eligible areas for spawning mimics.")
return FALSE
return WAITING_FOR_SOMETHING
notify_ghosts("A group of mimics has spawned in [pickedArea]!", source=pickedArea, action=NOTIFY_ATTACK, flashwindow = FALSE)
while(spawncount >= 1 && validTurfs.len)
while(spawncount > 0 && validTurfs.len)
var/turf/pickedTurf = pick_n_take(validTurfs)
var/spawn_type = /mob/living/simple_animal/hostile/hs13mimic
spawn_atom_to_turf(spawn_type, pickedTurf, 1, FALSE)
spawncount--
return SUCCESSFUL_SPAWN
@@ -14,6 +14,7 @@
/datum/round_event/crystalline_reentry
announceWhen = 0
startWhen = 10
fakeable = FALSE
/datum/round_event/crystalline_reentry/announce(fake)
@@ -130,11 +131,8 @@
return ..()
/obj/effect/crystalline_reentry/proc/complete_trajectory()
//We hit what we wanted to hit, time to go
special_target = null
destination = get_edge_target_turf(src, dir)
walk(src,0)
walk_towards(src, destination, 1)
//We hit what we wanted to hit, time to go boom!
collision_effect()
/obj/effect/crystalline_reentry/ex_act(severity, target)
return 0
@@ -146,8 +144,9 @@
return
/obj/effect/crystalline_reentry/Bump(atom/clong)
asteroidhealth = asteroidhealth - rand(7,14)
if(!special_target)//If it has a special target, THERE ARE NO BRAKES ON THE ADMINBUS, BABY
asteroidhealth = asteroidhealth - rand(7,14)
if(prob(10))
playsound(src, 'sound/effects/bang.ogg', 50, 1)
audible_message("<span class='danger'>You hear a BONK!</span>")
@@ -176,20 +175,6 @@
qdel(other)
if(asteroidhealth <= 0)
collision_effect()
atmos_spawn_air("water_vapor=1000;TEMP=0") //brr
make_debris()
switch(rand(1,100))
if(1 to 20)
var/obj/structure/spawner/crystalline/M = new(src.loc)
visible_message("<span class='danger'>A [M] emerges from the asteroid's rubble!</span>")
if(prob(50) && tendrilnotify)
priority_announce("Unknown organic entities have been detected in the vincinity of [station_name()]. General caution is advised.", "General Alert")
if(21 to 99)
visible_message("The asteroid collapses into nothing...")
if(100)
var/mob/living/simple_animal/bot/hugbot/M = new(src.loc)
visible_message("<span class='danger'>A [M] emerges from the asteroid's rubble! Wait... What?</span>")
qdel(src)
else
atmos_spawn_air("water_vapor=75;TEMP=0") //brr
@@ -198,6 +183,8 @@
if(ishuman(L))
var/mob/living/carbon/human/H = L
H.adjustBruteLoss(160)
if(special_target && loc == get_turf(special_target)) // just in case. Otherwise the asteroid can stop if it penetrates someone that is standing exactly on that spot and that is bad
complete_trajectory()
/obj/effect/crystalline_reentry/proc/make_debris()
for(var/throws = dropamt, throws > 0, throws--)
@@ -205,6 +192,7 @@
new thing_to_spawn(get_turf(src))
/obj/effect/crystalline_reentry/proc/collision_effect()
make_debris()
explosion(src.loc, 0, 0, 5, 3, 1, 0, 0, 0, 0)
var/sound/meteor_sound = sound(meteorsound)
var/random_frequency = get_rand_frequency()
@@ -217,6 +205,19 @@
var/dist = get_dist(M.loc, src.loc)
shake_camera(M, dist > 20 ? 2 : 4, dist > 20 ? 1 : 3)
M.playsound_local(src.loc, null, 50, 1, random_frequency, 10, S = meteor_sound)
atmos_spawn_air("water_vapor=1250;TEMP=0") //brr
switch(rand(1,100))
if(1 to 30)
var/obj/structure/spawner/crystalline/M = new(src.loc)
visible_message("<span class='danger'>A [M] emerges from the asteroid's rubble!</span>")
if(prob(50) && tendrilnotify)
priority_announce("Unknown organic entities have been detected in the vincinity of [station_name()]. General caution is advised.", "General Alert")
if(31 to 99)
visible_message("The asteroid collapses into nothing...")
if(100)
var/mob/living/simple_animal/bot/hugbot/M = new(src.loc)
visible_message("<span class='danger'>A [M] emerges from the asteroid's rubble! Wait... What?</span>")
qdel(src)
/obj/effect/crystalline_reentry/notendrilalert
tendrilnotify = FALSE
@@ -267,8 +268,8 @@
/obj/structure/spawner/crystalline/proc/delayedInitialize()
//Why is this needed? Simple, because apparently explosion is so slow that it triggers after the spawner spawns and kills it on the spot. This just makes it killable.
resistance_flags = FIRE_PROOF | LAVA_PROOF
max_integrity = 250
obj_integrity = 250
max_integrity = 225
obj_integrity = 225
/obj/effect/light_emitter/crystalline
set_luminosity = 4
+37 -21
View File
@@ -5,16 +5,18 @@
#define COOLANT_OUTPUT_GATE airs[3]
#define RBMK_TEMPERATURE_OPERATING 640 //Celsius
#define RBMK_TEMPERATURE_CRITICAL 800 //At this point the entire ship/station is alerted to a meltdown. This may need altering
#define RBMK_TEMPERATURE_CRITICAL 810 //At this point the entire ship/station is alerted to a meltdown. This may need altering
#define RBMK_TEMPERATURE_MELTDOWN 900
#define RBMK_NO_COOLANT_TOLERANCE 5 //How many process()ing ticks the reactor can sustain without coolant before slowly taking damage
#define RBMK_PRESSURE_OPERATING 1000 //PSI
#define RBMK_PRESSURE_CRITICAL 1469.59 //PSI
#define RBMK_MAX_CRITICALITY 3 //No more criticality than N for now.
//#define RBMK_POWER_FLAVOURISER 1000 //To turn those KWs into something usable
#define RBMK_POWER_FLAVOURISER 5000 //Five times stronger. Previous numbers were baby numbers.
#define RBMK_POWER_FLAVOURISER 8000 //To turn those KWs into something usable
//Math. Lame.
#define KPA_TO_PSI(A) (A/6.895)
@@ -108,6 +110,7 @@ The reactor CHEWS through moderator. It does not do this slowly. Be very careful
var/last_coolant_temperature = 0
var/last_output_temperature = 0
var/last_heat_delta = 0 //For administrative cheating only. Knowing the delta lets you know EXACTLY what to set K at.
var/no_coolant_ticks = 0 //How many times in succession did we not have enough coolant? Decays twice as fast as it accumulates.
var/last_user = null
var/current_desired_k = null
var/datum/powernet/powernet = null
@@ -168,6 +171,9 @@ The reactor CHEWS through moderator. It does not do this slowly. Be very careful
to_chat(user, "<span class='notice'>[src]'s reactor vessel is cracked and worn, you need to repair the cracks with a welder before you can repair the seals.</span>")
return FALSE
if(do_after(user, 5 SECONDS, target=src))
if(vessel_integrity >= 350) //They might've stacked doafters
to_chat(user, "<span class='notice'>[src]'s seals are already in-tact, repairing them further would require a new set of seals.</span>")
return FALSE
playsound(src, 'sound/effects/spray2.ogg', 50, 1, -6)
user.visible_message("<span class='warning'>[user] applies sealant to some of [src]'s worn out seals.</span>", "<span class='notice'>You apply sealant to some of [src]'s worn out seals.</span>")
vessel_integrity += 10
@@ -183,6 +189,9 @@ The reactor CHEWS through moderator. It does not do this slowly. Be very careful
to_chat(user, "<span class='notice'>[src] is free from cracks. Further repairs must be carried out with flexi-seal sealant.</span>")
return FALSE
if(I.use_tool(src, user, 0, volume=40))
if(vessel_integrity > 0.5 * initial(vessel_integrity))
to_chat(user, "<span class='notice'>[src] is free from cracks. Further repairs must be carried out with flexi-seal sealant.</span>")
return FALSE
vessel_integrity += 20
to_chat(user, "<span class='notice'>You weld together some of [src]'s cracks. This'll do for now.</span>")
return TRUE
@@ -190,16 +199,14 @@ The reactor CHEWS through moderator. It does not do this slowly. Be very careful
//Admin procs to mess with the reaction environment.
/obj/machinery/atmospherics/components/trinary/nuclear_reactor/proc/lazy_startup()
for(var/I=0;I<5;I++){
for(var/I=0;I<5;I++)
fuel_rods += new /obj/item/twohanded/required/fuel_rod(src)
}
message_admins("Reactor started up by admins in [ADMIN_VERBOSEJMP(src)]")
start_up()
/obj/machinery/atmospherics/components/trinary/nuclear_reactor/proc/deplete()
for(var/obj/item/twohanded/required/fuel_rod/FR in fuel_rods){
for(var/obj/item/twohanded/required/fuel_rod/FR in fuel_rods)
FR.depletion = 100
}
/obj/machinery/atmospherics/components/trinary/nuclear_reactor/Initialize()
. = ..()
@@ -241,13 +248,16 @@ The reactor CHEWS through moderator. It does not do this slowly. Be very careful
coolant_output.merge(coolant_input) //And now, shove the input into the output.
coolant_input.gases = list() //Clear out anything left in the input gate.
color = null
no_coolant_ticks = max(0, no_coolant_ticks-2) //Needs half as much time to recover the ticks than to acquire them
else
if(has_fuel())
temperature += temperature / 500 //This isn't really harmful early game, but when your reactor is up to full power, this can get out of hand quite quickly.
vessel_integrity -= temperature / 200 //Think fast loser.
take_damage(10) //Just for the sound effect, to let you know you've fucked up.
color = "[COLOR_RED]"
investigate_log("Reactor taking damage from the lack of coolant", INVESTIGATE_SINGULO)
no_coolant_ticks++
if(no_coolant_ticks > RBMK_NO_COOLANT_TOLERANCE)
temperature += temperature / 500 //This isn't really harmful early game, but when your reactor is up to full power, this can get out of hand quite quickly.
vessel_integrity -= temperature / 200 //Think fast chucklenuts!
take_damage(10) //Just for the sound effect, to let you know you've fucked up.
color = "[COLOR_RED]"
investigate_log("Reactor taking damage from the lack of coolant", INVESTIGATE_SINGULO)
//Now, heat up the output and set our pressure.
coolant_output.temperature = CELSIUS_TO_KELVIN(temperature) //Heat the coolant output gas that we just had pass through us.
last_output_temperature = KELVIN_TO_CELSIUS(coolant_output.return_temperature())
@@ -270,7 +280,7 @@ The reactor CHEWS through moderator. It does not do this slowly. Be very careful
if(power >= 20)
coolant_output.gases[/datum/gas/nitryl] += total_fuel_moles/50 //Shove out nitryl into the air when it's fuelled. You need to filter this off, or you're gonna have a bad time.
var/obj/structure/cable/C = T.get_cable_node()
if(!C || !C.powernet)
if(!C?.powernet)
//message_admins("No cable or cable has no powernet!")
return
else
@@ -328,8 +338,8 @@ The reactor CHEWS through moderator. It does not do this slowly. Be very careful
handle_alerts() //Let's check if they're about to die, and let them know.
update_icon()
radiation_pulse(src, temperature*radioactivity_spice_multiplier)
if(power >= 90 && world.time >= next_flicker) //You're overloading the reactor. Give a more subtle warning that power is getting out of control.
next_flicker = world.time + 1.5 MINUTES
if(power >= 93 && world.time >= next_flicker) //You're overloading the reactor. Give a more subtle warning that power is getting out of control.
next_flicker = world.time + 2 MINUTES
for(var/obj/machinery/light/L in GLOB.machines)
if(prob(25) && L.z == z) //If youre running the reactor cold though, no need to flicker the lights.
L.flicker()
@@ -394,8 +404,9 @@ The reactor CHEWS through moderator. It does not do this slowly. Be very careful
investigate_log("Reactor reaching critical temperature at [temperature] C with desired criticality at [desired_k]", INVESTIGATE_SINGULO)
message_admins("Reactor reaching critical temperature at [ADMIN_VERBOSEJMP(src)]")
if(temperature >= RBMK_TEMPERATURE_MELTDOWN)
vessel_integrity -= (temperature / 100)
if(vessel_integrity <= temperature/100) //It wouldn't be able to tank another hit.
var/temp_damage = min(temperature/100, initial(vessel_integrity)/40) //40 seconds to meltdown from full integrity, worst-case. Bit less than blowout since it's harder to spike heat that much.
vessel_integrity -= temp_damage
if(vessel_integrity <= temp_damage)
investigate_log("Reactor melted down at [temperature] C with desired criticality at [desired_k]", INVESTIGATE_SINGULO)
meltdown() //Oops! All meltdown
return
@@ -415,8 +426,9 @@ The reactor CHEWS through moderator. It does not do this slowly. Be very careful
playsound(loc, 'sound/machines/clockcult/steam_whoosh.ogg', 100, TRUE)
var/turf/T = get_turf(src)
T.atmos_spawn_air("water_vapor=[pressure/100];TEMP=[CELSIUS_TO_KELVIN(temperature)]")
vessel_integrity -= (pressure/100)
if(vessel_integrity <= pressure/100) //It wouldn't be able to tank another hit.
var/pressure_damage = min(pressure/100, initial(vessel_integrity)/45) //You get 45 seconds (if you had full integrity), worst-case. But hey, at least it can't be instantly nuked with a pipe-fire.. though it's still very difficult to save.
vessel_integrity -= pressure_damage
if(vessel_integrity <= pressure_damage) //It wouldn't
investigate_log("Reactor blowout at [pressure] PSI with desired criticality at [desired_k]", INVESTIGATE_SINGULO)
blowout()
return
@@ -449,13 +461,13 @@ The reactor CHEWS through moderator. It does not do this slowly. Be very careful
update_icon()
STOP_PROCESSING(SSmachines, src)
icon_state = "reactor_slagged"
AddComponent(/datum/component/radioactive, 15000 , src)
AddComponent(/datum/component/radioactive, 15000 , src, 0)
var/obj/effect/landmark/nuclear_waste_spawner/NSW = new /obj/effect/landmark/nuclear_waste_spawner/strong(get_turf(src))
relay('hyperstation/sound/effects/rbmk/meltdown.ogg', "<span class='userdanger'>You hear a horrible metallic hissing.</span>")
stop_relay(CHANNEL_REACTOR_ALERT)
NSW.fire() //This will take out engineering for a decent amount of time as they have to clean up the sludge.
for(var/obj/machinery/power/apc/apc in GLOB.apcs_list)
if(prob(70))
if((apc.z == z) && prob(70))
apc.overload_lighting()
var/datum/gas_mixture/coolant_input = COOLANT_INPUT_GATE
var/datum/gas_mixture/moderator_input = MODERATOR_INPUT_GATE
@@ -555,6 +567,9 @@ The reactor CHEWS through moderator. It does not do this slowly. Be very careful
/obj/machinery/computer/reactor
name = "Reactor control console"
desc = "Scream"
light_color = "#55BA55"
light_power = 1
light_range = 3
icon = 'hyperstation/icons/obj/rbmk_computer.dmi'
icon_state = "oldcomp"
icon_screen = "library"
@@ -708,7 +723,8 @@ The reactor CHEWS through moderator. It does not do this slowly. Be very careful
var/newPressure = input(user, "Set new output pressure (kPa)", "Remote pump control", null) as num
if(!newPressure)
return
signal(on, newPressure) //Number sanitization is handled on the actual pumps themselves.
newPressure = clamp(newPressure, 0, MAX_OUTPUT_PRESSURE) //Number sanitization is not handled in the pumps themselves, only during their ui_act which this doesn't use.
signal(on, newPressure)
/obj/machinery/computer/reactor/attack_robot(mob/user)
. = ..()
Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 221 KiB

After

Width:  |  Height:  |  Size: 230 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 101 KiB

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 KiB

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 28 KiB

+1
View File
@@ -0,0 +1 @@
SYSADMIN -> Allcrew@seegnet.kin. RE: Emergency Meltdown proceedures. ` The nuclear reactor is an inherently safe engine, however this does not mean it is foolproof. Dilligence will mean the difference between having a safe, reliable power output which can last for decades, and a nuclear hellfire. `What to do during a meltdown: `-A reactor will melt down when the fission inside it produces an uncontrollable amount of heat (in excess of 810 degrees celsius). If this ever happens, a stationwide alarm will sound. If you hear this alarm, you must act quickly and calmly, as you will have approximately 1 - 2 minutes before the reactor explodes. `-To avert meltdown, simply locate the control console, and choose the 'SCRAM' setting (the button labelled AZ-5). This will immediately lower all control rods and attempt to cool the reactor. Injection of carbon dioxide via the moderator line will help this process. `-In the event of damaged control rods, IMMEDIATELY shut off all supply pumps, filters and evacuate the engineering section IMMEDIATELY to prevent unecessary loss of life. `-As a meltdown occurs, nuclear fuel is deposited all over the station, and must be cleaned up with a shovel. This spent fuel is HIGHLY radioactive, and must be handled with extreme care. If the unthinkable comes to pass, instruct crew to seek shelter in maintenance. To avoid complications, it is recommended that engineers equip radiation proof suits and gas masks, and proceed to clear a path to the evacuation arm with shovels. Remember: Stay safe through vigilance!
+1
View File
@@ -0,0 +1 @@
SYSADMIN -> Allcrew@seegnet.kin. RE: Orientation. ` Greetings crew, congratulations on your placement! It is now company policy to attend all briefings as issued by command staff. Please speak to your commanding officer for clarification on the new procedures.
@@ -1795,6 +1795,11 @@ datum/sprite_accessory/mam_tails/insect
name = "Synthetic Lizard - Pecs Light"
icon_state = "synthlizpecslight"
/datum/sprite_accessory/mam_body_markings/protogenlight
name = "Protogen-light"
icon_state = "protogenlight"
icon = 'modular_citadel/icons/mob/markings_notmammals.dmi'
/******************************************
************ Taur Bodies ******************
*******************************************/
@@ -1,134 +0,0 @@
/mob/living/simple_animal/kiwi
name = "space kiwi"
desc = "Exposure to low gravity made them grow larger."
gender = FEMALE
icon = 'modular_citadel/icons/mob/kiwi.dmi'
icon_state = "kiwi"
icon_living = "kiwi"
icon_dead = "dead"
speak = list("Chirp!","Cheep cheep chirp!!","Cheep.")
speak_emote = list("chirps","trills")
emote_hear = list("chirps.")
emote_see = list("pecks at the ground.","jumps in place.")
density = FALSE
speak_chance = 2
turns_per_move = 3
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 3)
var/egg_type = /obj/item/reagent_containers/food/snacks/egg/kiwiEgg
var/food_type = /obj/item/reagent_containers/food/snacks/grown/wheat
response_help = "pets"
response_disarm = "gently pushes aside"
response_harm = "kicks"
attacktext = "kicks"
health = 25
maxHealth = 25
ventcrawler = VENTCRAWLER_ALWAYS
var/eggsleft = 0
var/eggsFertile = TRUE
pass_flags = PASSTABLE | PASSMOB
mob_size = MOB_SIZE_SMALL
var/list/feedMessages = list("It chirps happily.","It chirps happily.")
var/list/layMessage = list("lays an egg.","squats down and croons.","begins making a huge racket.","begins chirping raucously.")
gold_core_spawnable = FRIENDLY_SPAWN
var/static/kiwi_count = 0
/mob/living/simple_animal/kiwi/Destroy()
--kiwi_count
return ..()
/mob/living/simple_animal/kiwi/Initialize()
. = ..()
++kiwi_count
/mob/living/simple_animal/kiwi/Life()
. =..()
if(!.)
return
if((!stat && prob(3) && eggsleft > 0) && egg_type)
visible_message("[src] [pick(layMessage)]")
eggsleft--
var/obj/item/E = new egg_type(get_turf(src))
E.pixel_x = rand(-6,6)
E.pixel_y = rand(-6,6)
if(eggsFertile)
if(kiwi_count < MAX_CHICKENS && prob(25))
START_PROCESSING(SSobj, E)
/obj/item/reagent_containers/food/snacks/egg/kiwiEgg/process()
if(isturf(loc))
amount_grown += rand(1,2)
if(amount_grown >= 100)
visible_message("[src] hatches with a quiet cracking sound.")
new /mob/living/simple_animal/babyKiwi(get_turf(src))
STOP_PROCESSING(SSobj, src)
qdel(src)
else
STOP_PROCESSING(SSobj, src)
/mob/living/simple_animal/kiwi/attackby(obj/item/O, mob/user, params)
if(istype(O, food_type)) //feedin' dem kiwis
if(!stat && eggsleft < 8)
var/feedmsg = "[user] feeds [O] to [name]! [pick(feedMessages)]"
user.visible_message(feedmsg)
qdel(O)
eggsleft += rand(1, 4)
else
to_chat(user, "<span class='warning'>[name] doesn't seem hungry!</span>")
else
..()
/mob/living/simple_animal/babyKiwi
name = "baby space kiwi"
desc = "So huggable."
icon = 'modular_citadel/icons/mob/kiwi.dmi'
icon_state = "babyKiwi"
icon_living = "babyKiwi"
icon_dead = "deadBaby"
icon_gib = "chick_gib"
gender = FEMALE
speak = list("Cherp.","Cherp?","Chirrup.","Cheep!")
speak_emote = list("chirps")
emote_hear = list("chirps.")
emote_see = list("pecks at the ground.","Happily bounces in place.")
density = FALSE
speak_chance = 2
turns_per_move = 2
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 2)
response_help = "pets"
response_disarm = "gently pushes aside"
response_harm = "kicks"
attacktext = "kicks"
health = 10
maxHealth = 10
ventcrawler = VENTCRAWLER_ALWAYS
var/amount_grown = 0
pass_flags = PASSTABLE | PASSGRILLE | PASSMOB
mob_size = MOB_SIZE_TINY
gold_core_spawnable = FRIENDLY_SPAWN
/mob/living/simple_animal/babyKiwi/Initialize()
. = ..()
pixel_x = rand(-6, 6)
pixel_y = rand(0, 10)
/mob/living/simple_animal/babyKiwi/Life()
. =..()
if(!.)
return
if(!stat && !ckey)
amount_grown += rand(1,2)
if(amount_grown >= 100)
new /mob/living/simple_animal/kiwi(src.loc)
qdel(src)
/obj/item/reagent_containers/food/snacks/egg/kiwiEgg
name = "kiwi egg"
icon = 'modular_citadel/icons/mob/kiwi.dmi'
desc = "A slightly bigger egg!"
icon_state = "egg"
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 725 B

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+3 -2
View File
@@ -2302,6 +2302,7 @@
#include "code\modules\mob\living\simple_animal\guardian\types\standard.dm"
#include "code\modules\mob\living\simple_animal\guardian\types\support.dm"
#include "code\modules\mob\living\simple_animal\hostile\alien.dm"
#include "code\modules\mob\living\simple_animal\hostile\banana_spider.dm"
#include "code\modules\mob\living\simple_animal\hostile\bear.dm"
#include "code\modules\mob\living\simple_animal\hostile\bees.dm"
#include "code\modules\mob\living\simple_animal\hostile\bread.dm"
@@ -3057,6 +3058,7 @@
#include "hyperstation\code\datums\traits\good.dm"
#include "hyperstation\code\datums\traits\neutral.dm"
#include "hyperstation\code\datums\weather\oxygen_rain.dm"
#include "hyperstation\code\game\machinery\lore_terminal.dm"
#include "hyperstation\code\game\objects\railings.dm"
#include "hyperstation\code\game\objects\items\cosmetics.dm"
#include "hyperstation\code\game\objects\items\storage\big_bag.dm"
@@ -3067,6 +3069,7 @@
#include "hyperstation\code\hyperbot\hyperbot.dm"
#include "hyperstation\code\mobs\carrion.dm"
#include "hyperstation\code\mobs\dancer.dm"
#include "hyperstation\code\mobs\emote.dm"
#include "hyperstation\code\mobs\hugbot.dm"
#include "hyperstation\code\mobs\mimic.dm"
#include "hyperstation\code\mobs\werewolf.dm"
@@ -3306,8 +3309,6 @@
#include "modular_citadel\code\modules\mob\living\silicon\robot\robot.dm"
#include "modular_citadel\code\modules\mob\living\silicon\robot\robot_modules.dm"
#include "modular_citadel\code\modules\mob\living\silicon\robot\robot_movement.dm"
#include "modular_citadel\code\modules\mob\living\simple_animal\banana_spider.dm"
#include "modular_citadel\code\modules\mob\living\simple_animal\kiwi.dm"
#include "modular_citadel\code\modules\mob\living\simple_animal\simplemob_vore_values.dm"
#include "modular_citadel\code\modules\power\lighting.dm"
#include "modular_citadel\code\modules\projectiles\gun.dm"
+1 -1
View File
@@ -1,3 +1,3 @@
pygit2==0.27.2
bidict==0.13.1
Pillow==8.1.1
Pillow==8.2.0