From 9e04910ce680a6772c49cf213a23f1d3f7df5df5 Mon Sep 17 00:00:00 2001 From: Henri215 <77684085+Henri215@users.noreply.github.com> Date: Tue, 14 May 2024 09:53:00 -0300 Subject: [PATCH] Adds the Nuclear training bomb, second try (#25352) * Adds the Nuclear training bomb * boxstation * other maps * moved camera * missing cable * last fixes * delta, last fix * Update code/datums/wires/nuclearbomb_wires.dm Co-authored-by: Charlie Nolan Signed-off-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> Signed-off-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> Signed-off-by: Henri215 <77684085+Henri215@users.noreply.github.com> * cyberiad missing floor --------- Signed-off-by: Henri215 <77684085+Henri215@users.noreply.github.com> Co-authored-by: Charlie Nolan Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> --- _maps/map_files/stations/boxstation.dmm | 53 ++- _maps/map_files/stations/cerestation.dmm | 441 ++++++++++++------ _maps/map_files/stations/deltastation.dmm | 149 +++--- _maps/map_files/stations/metastation.dmm | 199 ++++++-- code/__DEFINES/wires_defines.dm | 8 +- code/_globalvars/lists/objects.dm | 3 + code/datums/wires/nuclearbomb_wires.dm | 74 ++- code/datums/wires/wires.dm | 4 + code/game/area/ss13_areas/security_areas.dm | 4 + code/game/gamemodes/nuclear/nuclearbomb.dm | 215 ++++++--- code/game/gamemodes/nuclear/pinpointer.dm | 6 +- code/game/gamemodes/steal_items.dm | 5 + code/modules/paperwork/paper.dm | 36 ++ code/modules/research/designs/misc_designs.dm | 10 + icons/obj/module.dmi | Bin 21834 -> 21730 bytes icons/obj/nuclearbomb.dmi | Bin 1477 -> 2090 bytes icons/turf/areas.dmi | Bin 30883 -> 30909 bytes 17 files changed, 854 insertions(+), 353 deletions(-) diff --git a/_maps/map_files/stations/boxstation.dmm b/_maps/map_files/stations/boxstation.dmm index e04d48bfe0a..9111c52665f 100644 --- a/_maps/map_files/stations/boxstation.dmm +++ b/_maps/map_files/stations/boxstation.dmm @@ -258,6 +258,10 @@ /obj/item/target, /obj/item/target, /obj/item/target, +/obj/item/target/syndicate, +/obj/item/target/syndicate, +/obj/item/target/syndicate, +/obj/item/target/syndicate, /turf/simulated/floor/plasteel, /area/station/security/range) "acD" = ( @@ -453,7 +457,6 @@ /obj/machinery/camera{ c_tag = "Firing Range" }, -/obj/machinery/syndicatebomb/training, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel, /area/station/security/range) @@ -466,7 +469,7 @@ name = "east bump"; pixel_x = 24 }, -/turf/simulated/floor/plating, +/turf/simulated/floor/plasteel, /area/station/security/range) "adn" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, @@ -522,9 +525,8 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/item/radio/intercom/department/security{ - pixel_y = -28 - }, +/obj/machinery/nuclearbomb/training, +/obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel, /area/station/security/range) "adE" = ( @@ -537,13 +539,34 @@ dir = 4 }, /obj/effect/decal/cleanable/dirt, +/obj/machinery/syndicatebomb/training, /turf/simulated/floor/plasteel, /area/station/security/range) "adG" = ( +/obj/item/disk/nuclear/training{ + pixel_y = -2; + pixel_x = -7 + }, /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 9 }, /obj/effect/decal/cleanable/dirt, +/obj/structure/table/reinforced, +/obj/item/paper/nuclear_guide_spacing{ + pixel_x = 10; + pixel_y = 7 + }, +/obj/item/paper/nuclear_guide_defusing{ + pixel_x = 9; + pixel_y = 4 + }, +/obj/item/disk/nuclear/training{ + pixel_x = -5 + }, +/obj/item/paper/nuclear_guide_operating{ + pixel_x = 8; + pixel_y = 1 + }, /turf/simulated/floor/plasteel, /area/station/security/range) "adH" = ( @@ -1696,10 +1719,22 @@ /area/station/command/office/hos) "aij" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/rack, -/obj/item/target/syndicate, -/obj/item/target/syndicate, -/obj/item/target/syndicate, +/obj/item/storage/toolbox/mechanical{ + pixel_x = 3; + pixel_y = 6 + }, +/obj/item/multitool{ + pixel_y = -5; + pixel_x = 5 + }, +/obj/item/clothing/head/welding{ + pixel_y = -2; + pixel_x = -6 + }, +/obj/structure/table/reinforced, +/obj/item/radio/intercom/department/security{ + pixel_x = 28 + }, /turf/simulated/floor/plasteel, /area/station/security/range) "aio" = ( diff --git a/_maps/map_files/stations/cerestation.dmm b/_maps/map_files/stations/cerestation.dmm index 0eba8dd99f6..5ec69548777 100644 --- a/_maps/map_files/stations/cerestation.dmm +++ b/_maps/map_files/stations/cerestation.dmm @@ -2486,13 +2486,6 @@ /obj/machinery/ai_status_display, /turf/simulated/wall/r_wall, /area/station/turret_protected/aisat/interior) -"apu" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/lootdrop/maintenance, -/turf/simulated/floor/plating{ - icon_state = "asteroidplating" - }, -/area/station/maintenance/fore2) "apw" = ( /obj/structure/table, /obj/item/storage/toolbox/emergency, @@ -2752,37 +2745,41 @@ /turf/simulated/floor/plating/asteroid/ancient, /area/station/maintenance/fpmaint) "ard" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small, -/turf/simulated/floor/plating{ - icon_state = "asteroidplating" +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 9 }, -/area/station/security/permabrig) +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/machinery/syndicatebomb/training, +/obj/machinery/light, +/turf/simulated/floor/plasteel, +/area/station/security/defusal) "arh" = ( -/obj/item/vending_refill/cola, -/obj/item/multitool, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/grouped_spawner{ - group_id = "tunnelbats"; - max_per_spawner = 1; - name = "bat spawner"; - path_to_spawn = /mob/living/simple_animal/hostile/scarybat; - total_amount = 20 +/obj/item/disk/nuclear/training{ + pixel_y = -2; + pixel_x = -7 }, -/turf/simulated/floor/plating{ - icon_state = "asteroidplating" +/obj/structure/table/reinforced, +/obj/item/paper/nuclear_guide_spacing{ + pixel_x = 10; + pixel_y = 7 }, -/area/station/maintenance/fore2) -"ark" = ( -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plating{ - icon_state = "asteroidplating" +/obj/item/paper/nuclear_guide_defusing{ + pixel_x = 9; + pixel_y = 4 }, -/area/station/maintenance/fore2) -"arl" = ( -/obj/structure/closet/emcloset, -/turf/simulated/floor/plating, -/area/station/maintenance/fore2) +/obj/item/disk/nuclear/training{ + pixel_x = -5 + }, +/obj/item/paper/nuclear_guide_operating{ + pixel_x = 8; + pixel_y = 1 + }, +/turf/simulated/floor/plasteel{ + icon_state = "redcorner" + }, +/area/station/security/defusal) "arm" = ( /obj/machinery/door/airlock/maintenance{ name = "Fore Asteroid Maintenance Access" @@ -5829,6 +5826,13 @@ "aMC" = ( /turf/simulated/mineral/ancient, /area/station/medical/break_room) +"aME" = ( +/obj/machinery/door/airlock/maintenance, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plating{ + icon_state = "asteroidplating" + }, +/area/station/security/permabrig) "aMJ" = ( /obj/machinery/firealarm{ dir = 1; @@ -12062,19 +12066,21 @@ pixel_x = -3; pixel_y = -2 }, -/obj/item/clothing/glasses/sunglasses, +/turf/simulated/floor/plasteel, +/area/station/security/range) +"bsP" = ( +/obj/item/radio/intercom{ + pixel_y = -28; + name = "custom placement" + }, +/obj/structure/table/reinforced, /obj/item/clothing/glasses/sunglasses{ pixel_x = 3; pixel_y = 3 }, -/turf/simulated/floor/plasteel, -/area/station/security/range) -"bsP" = ( -/obj/machinery/syndicatebomb/training, -/obj/structure/closet/bombclosetsecurity, -/obj/item/radio/intercom{ - pixel_y = -28; - name = "custom placement" +/obj/item/clothing/glasses/sunglasses, +/obj/item/storage/box/flashbangs{ + pixel_x = -16 }, /turf/simulated/floor/plasteel, /area/station/security/range) @@ -25812,13 +25818,16 @@ /turf/simulated/floor/wood, /area/station/legal/magistrate) "cKZ" = ( -/obj/machinery/door/airlock/maintenance, -/obj/effect/mapping_helpers/airlock/access/all/security/general, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plating{ - icon_state = "asteroidplating" +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/obj/item/radio/intercom{ + name = "custom placement"; + pixel_y = 28 }, -/area/station/maintenance/fore2) +/obj/machinery/camera{ + c_tag = "Defusal Workshop" + }, +/turf/simulated/floor/plasteel, +/area/station/security/defusal) "cLa" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -28999,6 +29008,23 @@ icon_state = "darkyellow" }, /area/station/engineering/atmos) +"cZi" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 6 + }, +/obj/structure/cable/orange{ + d2 = 2; + icon_state = "0-2" + }, +/obj/machinery/power/apc/directional/west, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "redcorner" + }, +/area/station/security/defusal) "cZr" = ( /obj/structure/chair{ dir = 8 @@ -29371,13 +29397,11 @@ /area/station/security/prison/cell_block/A) "ddl" = ( /obj/effect/spawner/window/reinforced/grilled, -/obj/structure/cable/orange{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable/orange, /obj/machinery/door/firedoor, +/obj/structure/cable/orange{ + d2 = 4; + icon_state = "0-4" + }, /turf/simulated/floor/plating, /area/station/security/permabrig) "ddn" = ( @@ -33955,6 +33979,17 @@ icon_state = "yellowcorner" }, /area/station/hallway/primary/central/east) +"dEa" = ( +/obj/machinery/light_switch{ + name = "north bump"; + pixel_y = 24 + }, +/obj/machinery/alarm/directional/west, +/turf/simulated/floor/plasteel{ + dir = 1; + icon_state = "redcorner" + }, +/area/station/security/defusal) "dEi" = ( /obj/structure/table/wood, /obj/item/ammo_box/shotgun/beanbag, @@ -34819,6 +34854,24 @@ icon_state = "bluered" }, /area/station/hallway/secondary/entry/west) +"dQG" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Defusal Workshop" + }, +/obj/effect/mapping_helpers/airlock/access/all/security/general, +/obj/machinery/door/firedoor, +/obj/structure/cable/orange{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "red" + }, +/area/station/security/defusal) "dQR" = ( /obj/machinery/door/airlock/maintenance{ name = "Aft Asteroid Maintenance" @@ -36720,15 +36773,6 @@ /obj/machinery/hologram/holopad, /turf/simulated/floor/plasteel, /area/station/hallway/secondary/exit) -"eAn" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/firecloset, -/obj/item/crowbar/red, -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/floor/plating, -/area/station/maintenance/fore2) "eAu" = ( /obj/effect/turf_decal/delivery, /obj/machinery/recharge_station, @@ -41487,6 +41531,25 @@ /obj/effect/spawner/random_spawners/dirt_often, /turf/simulated/floor/transparent/glass/reinforced, /area/station/maintenance/apmaint) +"gmV" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/obj/structure/table/reinforced, +/obj/item/clothing/head/welding{ + pixel_x = 12; + pixel_y = 6 + }, +/obj/item/multitool{ + pixel_x = -4; + pixel_y = 6 + }, +/obj/item/storage/toolbox/mechanical{ + pixel_x = -3; + pixel_y = -2 + }, +/turf/simulated/floor/plasteel, +/area/station/security/defusal) "gmZ" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 5 @@ -42842,6 +42905,21 @@ icon_state = "whitebluecorner" }, /area/station/medical/surgery/secondary) +"gLb" = ( +/obj/item/vending_refill/cola, +/obj/item/multitool, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/grouped_spawner{ + group_id = "tunnelbats"; + max_per_spawner = 1; + name = "bat spawner"; + path_to_spawn = /mob/living/simple_animal/hostile/scarybat; + total_amount = 20 + }, +/turf/simulated/floor/plating{ + icon_state = "asteroidplating" + }, +/area/station/security/permabrig) "gLj" = ( /obj/structure/table/wood, /obj/effect/spawner/lootdrop/maintenance/eight, @@ -43849,6 +43927,15 @@ icon_state = "red" }, /area/station/security/storage) +"hcm" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/firecloset, +/obj/item/crowbar/red, +/obj/machinery/light{ + dir = 1 + }, +/turf/simulated/floor/plating, +/area/station/security/permabrig) "hco" = ( /obj/structure/cable/orange{ d1 = 4; @@ -44431,6 +44518,14 @@ /obj/effect/spawner/window/reinforced/grilled, /turf/simulated/floor/plating, /area/station/turret_protected/aisat/interior/secondary) +"hnL" = ( +/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/machinery/firealarm{ + name = "north bump"; + pixel_y = 24 + }, +/turf/simulated/floor/plasteel, +/area/station/security/defusal) "hoa" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 6 @@ -50739,12 +50834,12 @@ /turf/simulated/floor/plating, /area/station/hallway/primary/central/west) "jjh" = ( -/obj/structure/cable/orange{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, /obj/effect/decal/cleanable/dirt, +/obj/structure/cable/orange{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, /turf/simulated/floor/plasteel, /area/station/security/permabrig) "jjp" = ( @@ -53865,20 +53960,6 @@ temperature = 80 }, /area/station/science/xenobiology) -"khV" = ( -/obj/effect/spawner/window/reinforced/grilled, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/obj/machinery/door/firedoor, -/turf/simulated/floor/plating, -/area/station/security/brig) "kic" = ( /obj/structure/closet/wardrobe/grey, /turf/simulated/floor/mineral/titanium/blue, @@ -59525,6 +59606,15 @@ icon_state = "cafeteria" }, /area/station/service/kitchen) +"lQa" = ( +/obj/effect/spawner/window/reinforced/grilled, +/obj/machinery/door/firedoor, +/obj/structure/cable/orange{ + d2 = 8; + icon_state = "0-8" + }, +/turf/simulated/floor/plating, +/area/station/security/permabrig) "lQy" = ( /obj/machinery/optable, /obj/machinery/light{ @@ -60954,11 +61044,6 @@ /obj/effect/spawner/random_spawners/dirt_often, /turf/simulated/floor/plating, /area/station/maintenance/disposal/external/southwest) -"moQ" = ( -/obj/effect/spawner/lootdrop/maintenance, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plating, -/area/station/maintenance/fore2) "moY" = ( /obj/structure/closet/secure_closet/medical3, /obj/machinery/light, @@ -62522,15 +62607,6 @@ }, /turf/simulated/floor/plating, /area/station/security/brig) -"mSf" = ( -/obj/effect/spawner/window/reinforced/grilled, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/obj/machinery/door/firedoor, -/turf/simulated/floor/plating, -/area/station/security/permabrig) "mSh" = ( /obj/structure/girder, /turf/simulated/floor/plating, @@ -62825,13 +62901,12 @@ /turf/simulated/floor/plating, /area/station/maintenance/maintcentral) "mVr" = ( -/obj/item/clothing/shoes/orange, -/obj/item/clothing/under/color/orange/prison, -/obj/effect/decal/cleanable/dirt, -/turf/simulated/floor/plating{ - icon_state = "asteroidplating" +/obj/machinery/nuclearbomb/training, +/turf/simulated/floor/plasteel{ + dir = 4; + icon_state = "redcorner" }, -/area/station/maintenance/fore2) +/area/station/security/defusal) "mVs" = ( /obj/structure/disposalpipe/segment/corner{ dir = 8; @@ -63272,6 +63347,16 @@ /obj/structure/sign/securearea, /turf/simulated/wall, /area/station/engineering/tech_storage) +"nde" = ( +/obj/structure/cable/orange{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/turf/simulated/floor/plasteel{ + icon_state = "floorgrime" + }, +/area/station/security/permabrig) "ndl" = ( /obj/effect/spawner/window/reinforced/polarized/grilled{ id = "rd" @@ -65368,6 +65453,11 @@ icon_state = "neutralcorner" }, /area/station/hallway/primary/fore/east) +"nNB" = ( +/obj/effect/spawner/lootdrop/maintenance, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plating, +/area/station/security/permabrig) "nNF" = ( /obj/machinery/door/airlock/maintenance{ name = "Service SMES Access" @@ -65403,6 +65493,10 @@ }, /turf/simulated/floor/plating, /area/station/hallway/primary/port/north) +"nOr" = ( +/obj/structure/closet/emcloset, +/turf/simulated/floor/plating, +/area/station/security/permabrig) "nOu" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/structure/disposalpipe/segment, @@ -69524,6 +69618,9 @@ icon_state = "dark" }, /area/station/turret_protected/ai) +"peU" = ( +/turf/simulated/wall/r_wall, +/area/station/security/defusal) "pfe" = ( /obj/structure/chair/wood{ dir = 1 @@ -77318,6 +77415,30 @@ }, /turf/simulated/floor/plasteel, /area/station/public/locker) +"rGv" = ( +/obj/structure/cable/orange{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable/orange{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/turf/simulated/floor/plasteel{ + icon_state = "dark" + }, +/area/station/security/brig) "rGw" = ( /obj/structure/disposalpipe/segment/corner, /obj/machinery/atmospherics/pipe/simple/hidden/cyan{ @@ -83573,16 +83694,18 @@ /area/station/maintenance/port) "tFL" = ( /obj/effect/spawner/window/reinforced/grilled, -/obj/structure/cable/orange{ - d2 = 8; - icon_state = "0-8" - }, -/obj/structure/cable/orange{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, /obj/machinery/door/firedoor, +/obj/structure/cable/orange{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable/orange{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/structure/cable/orange, /turf/simulated/floor/plating, /area/station/security/permabrig) "tFY" = ( @@ -91618,6 +91741,14 @@ icon_state = "darkyellow" }, /area/station/engineering/control) +"weh" = ( +/obj/item/clothing/shoes/orange, +/obj/item/clothing/under/color/orange/prison, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plating{ + icon_state = "asteroidplating" + }, +/area/station/security/permabrig) "weN" = ( /obj/structure/cable{ d1 = 4; @@ -92002,6 +92133,13 @@ }, /turf/simulated/floor/plasteel, /area/station/hallway/primary/aft/west) +"wiU" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/lootdrop/maintenance, +/turf/simulated/floor/plating{ + icon_state = "asteroidplating" + }, +/area/station/security/permabrig) "wiV" = ( /obj/structure/mirror{ pixel_x = -28 @@ -98575,6 +98713,7 @@ /obj/machinery/light/small{ dir = 4 }, +/obj/structure/closet/bombclosetsecurity, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -118888,7 +119027,7 @@ rHj cDb rHj aQL -aQL +nde tFL rNK rNK @@ -119146,10 +119285,10 @@ gLk cVR amO myY -tFL +lQa rNK rNK -khV +lPn yfX fOj awv @@ -119403,11 +119542,11 @@ dpC rHj adc rHj -mSf -rNK -rNK -lPn -yfX +peU +peU +peU +peU +wGz uaJ awB uqz @@ -119660,12 +119799,12 @@ rHj rHj vNP sFU -afd -afd -afd -afd -wGz -uaJ +peU +dEa +cZi +dQG +dsy +rGv dtr uqz aLp @@ -119917,10 +120056,10 @@ rHj cgX tkn dqz -tkn -rHj +peU +hnL ard -afd +peU daG sVX daG @@ -120170,13 +120309,13 @@ aTz afd aTz aTz -rHj -aTz -aTz afd afd -cKZ +aME mYJ +peU +cKZ +gmV fqh eBm krP @@ -120427,11 +120566,11 @@ afd afd aTz aTz -aTz -aTz -aTz afd -vXM +tkn +weh +gLb +peU mVr arh fqh @@ -120684,13 +120823,13 @@ abW abW afd aTz -aTz -aTz -aTz afd -eAn -moQ -ark +hcm +nNB +adc +peU +peU +peU fqh xax pZs @@ -120939,15 +121078,15 @@ rNK cRv abW abW -abW +afd +aTz +afd +vNP +wiU +nOr afd aTz aTz -aTz -afd -vrQ -apu -arl asu atc eZh @@ -121196,15 +121335,15 @@ rNK cRv cRv cRv -abW afd aTz aTz -aTz -aTz afd afd aTz +afd +aTz +aTz fqh bOR gyQ diff --git a/_maps/map_files/stations/deltastation.dmm b/_maps/map_files/stations/deltastation.dmm index b9bbeef06f0..2c1a42832b3 100644 --- a/_maps/map_files/stations/deltastation.dmm +++ b/_maps/map_files/stations/deltastation.dmm @@ -28019,6 +28019,34 @@ icon_state = "neutralfull" }, /area/station/hallway/primary/port/north) +"bDD" = ( +/obj/item/disk/nuclear/training{ + pixel_y = -2; + pixel_x = -7 + }, +/obj/structure/table/reinforced, +/obj/item/paper/nuclear_guide_spacing{ + pixel_x = 10; + pixel_y = 7 + }, +/obj/item/paper/nuclear_guide_defusing{ + pixel_x = 9; + pixel_y = 4 + }, +/obj/item/disk/nuclear/training{ + pixel_x = -5 + }, +/obj/item/paper/nuclear_guide_operating{ + pixel_x = 8; + pixel_y = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/unary/vent_scrubber/on{ + dir = 1 + }, +/obj/machinery/alarm/directional/south, +/turf/simulated/floor/plasteel, +/area/station/security/range) "bDE" = ( /obj/item/kirbyplants, /obj/machinery/status_display{ @@ -35212,7 +35240,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/structure/table, -/obj/machinery/syndicatebomb/training, +/obj/item/toy/figure/crew/secofficer, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -40235,6 +40263,16 @@ /turf/simulated/floor/plasteel, /area/station/security/range) "cju" = ( +/obj/machinery/syndicatebomb/training, +/turf/simulated/floor/plasteel, +/area/station/security/range) +"cjv" = ( +/obj/structure/window/reinforced{ + dir = 8 + }, +/turf/simulated/floor/plating, +/area/station/security/range) +"cjw" = ( /obj/structure/table/reinforced, /obj/machinery/recharger{ pixel_x = -6; @@ -40247,27 +40285,8 @@ pixel_x = 7; pixel_y = 3 }, -/obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/plasteel, /area/station/security/range) -"cjv" = ( -/obj/structure/window/reinforced{ - dir = 8 - }, -/turf/simulated/floor/plating, -/area/station/security/range) -"cjw" = ( -/obj/structure/sign/securearea{ - pixel_y = 32 - }, -/turf/simulated/floor/plating, -/area/station/security/range) -"cjx" = ( -/obj/machinery/light{ - dir = 1 - }, -/turf/simulated/floor/plating, -/area/station/security/range) "cjy" = ( /obj/machinery/atmospherics/unary/vent_pump/on, /turf/simulated/floor/plating, @@ -40863,9 +40882,6 @@ icon_state = "4-8" }, /obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 }, @@ -40901,10 +40917,13 @@ d2 = 8; icon_state = "4-8" }, -/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ - dir = 1 +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 }, -/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel, /area/station/security/range) "clf" = ( @@ -41413,7 +41432,6 @@ icon_state = "1-2" }, /obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/line, /turf/simulated/floor/plasteel, /area/station/security/range) "cmC" = ( @@ -41437,18 +41455,8 @@ /turf/simulated/floor/plating, /area/station/security/range) "cmF" = ( -/obj/structure/table/reinforced, -/obj/machinery/alarm/directional/south, -/obj/item/gun/energy/laser/practice, -/obj/item/gun/energy/laser/practice, -/obj/item/clothing/ears/earmuffs, -/obj/item/clothing/ears/earmuffs, -/obj/machinery/atmospherics/unary/vent_scrubber/on{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, +/obj/machinery/nuclearbomb/training, +/obj/effect/decal/cleanable/dirt, /turf/simulated/floor/plasteel, /area/station/security/range) "cmG" = ( @@ -44275,13 +44283,6 @@ icon_state = "neutralfull" }, /area/station/hallway/primary/starboard/south) -"cut" = ( -/obj/machinery/light, -/obj/structure/sign/securearea{ - pixel_y = -32 - }, -/turf/simulated/floor/plating, -/area/station/security/range) "cuu" = ( /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 4 @@ -59862,6 +59863,14 @@ icon_state = "whitebluefull" }, /area/station/maintenance/starboard) +"dxV" = ( +/obj/structure/table/reinforced, +/obj/item/gun/energy/laser/practice, +/obj/item/gun/energy/laser/practice, +/obj/item/clothing/ears/earmuffs, +/obj/item/clothing/ears/earmuffs, +/turf/simulated/floor/plasteel, +/area/station/security/range) "dyb" = ( /turf/simulated/floor/plating, /area/station/maintenance/theatre) @@ -67079,6 +67088,23 @@ /obj/structure/cable, /turf/simulated/floor/plasteel/white, /area/station/science/explab) +"eOg" = ( +/obj/structure/table/reinforced, +/obj/machinery/atmospherics/unary/vent_pump/on, +/obj/item/clothing/head/welding{ + pixel_x = 9; + pixel_y = 10 + }, +/obj/item/multitool{ + pixel_x = -6; + pixel_y = 8 + }, +/obj/item/storage/toolbox/mechanical{ + pixel_y = -2; + pixel_x = -3 + }, +/turf/simulated/floor/plasteel, +/area/station/security/range) "eOt" = ( /obj/structure/table/glass, /obj/structure/cable{ @@ -69896,6 +69922,19 @@ dir = 5 }, /area/space/nearstation) +"gAP" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/obj/machinery/atmospherics/pipe/manifold/hidden/supply, +/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, +/area/station/security/range) "gAR" = ( /obj/structure/closet/wardrobe/pjs, /obj/structure/cable{ @@ -80599,7 +80638,6 @@ "ngl" = ( /obj/structure/table, /obj/item/storage/fancy/donut_box, -/obj/item/toy/figure/crew/secofficer, /turf/simulated/floor/plasteel{ icon_state = "dark" }, @@ -92501,7 +92539,8 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/turf/simulated/floor/plating, +/obj/effect/decal/cleanable/dirt, +/turf/simulated/floor/plasteel, /area/station/security/range) "tVV" = ( /turf/simulated/floor/plasteel{ @@ -152270,9 +152309,9 @@ cgr hFc cgr jIs -cjv -iCU -cjv +eOg +gAP +bDD cjr brS bHF @@ -152529,7 +152568,7 @@ ccL jIs cjw tVO -cjz +dxV cjr eeN lnU @@ -152784,9 +152823,9 @@ ccM ceC cgo jIs -cjx -tVO -cut +cjv +iCU +cjv cjr cpa cqI diff --git a/_maps/map_files/stations/metastation.dmm b/_maps/map_files/stations/metastation.dmm index 82aac31c65a..a33e90f850e 100644 --- a/_maps/map_files/stations/metastation.dmm +++ b/_maps/map_files/stations/metastation.dmm @@ -47039,13 +47039,25 @@ /turf/simulated/floor/wood, /area/station/service/bar) "exm" = ( -/obj/effect/spawner/window/reinforced/grilled, -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" +/obj/machinery/door/airlock/security/glass, +/obj/effect/mapping_helpers/airlock/autoname, +/obj/effect/mapping_helpers/airlock/access/any/security/general, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 4 }, -/turf/simulated/floor/plating, -/area/station/security/main) +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/plasteel{ + icon_state = "redfull" + }, +/area/station/security/defusal) "exI" = ( /obj/structure/table/glass, /obj/item/hand_labeler, @@ -48601,6 +48613,37 @@ }, /turf/simulated/floor/carpet, /area/station/legal/lawoffice) +"ffH" = ( +/obj/item/disk/nuclear/training{ + pixel_y = -2; + pixel_x = -7 + }, +/obj/item/paper/nuclear_guide_spacing{ + pixel_x = 10; + pixel_y = 7 + }, +/obj/item/paper/nuclear_guide_defusing{ + pixel_x = 9; + pixel_y = 4 + }, +/obj/item/disk/nuclear/training{ + pixel_x = -5 + }, +/obj/item/paper/nuclear_guide_operating{ + pixel_x = 8; + pixel_y = 1 + }, +/obj/structure/table, +/obj/machinery/camera{ + c_tag = "Defusal Workshop" + }, +/obj/machinery/firealarm{ + dir = 4; + pixel_x = 24; + name = "east bump" + }, +/turf/simulated/floor/plasteel, +/area/station/security/defusal) "fga" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment{ @@ -49971,6 +50014,24 @@ /obj/effect/decal/cleanable/blood, /turf/simulated/floor/bluegrid, /area/station/maintenance/starboard) +"fFo" = ( +/obj/structure/table, +/obj/item/radio/intercom{ + name = "south bump"; + pixel_y = -28 + }, +/obj/item/clothing/head/welding{ + pixel_x = -4; + pixel_y = 19 + }, +/obj/item/multitool{ + pixel_x = 7; + pixel_y = 13 + }, +/obj/item/storage/toolbox/mechanical, +/obj/machinery/alarm/directional/east, +/turf/simulated/floor/plasteel, +/area/station/security/defusal) "fFL" = ( /obj/machinery/atmospherics/meter, /obj/machinery/atmospherics/pipe/simple/visible/yellow, @@ -50216,12 +50277,12 @@ /area/station/hallway/primary/central/north) "fJr" = ( /obj/machinery/disposal, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8" - }, /obj/structure/disposalpipe/trunk, +/obj/structure/cable{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, /turf/simulated/floor/plasteel{ icon_state = "darkred" }, @@ -59769,6 +59830,23 @@ "jKj" = ( /turf/simulated/wall/r_wall, /area/station/engineering/ai_transit_tube) +"jKG" = ( +/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/simple/hidden/supply{ + dir = 10 + }, +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8" + }, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "red" + }, +/area/station/security/defusal) "jKP" = ( /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 @@ -60570,6 +60648,14 @@ }, /turf/simulated/floor/plating, /area/station/medical/virology) +"jXY" = ( +/obj/machinery/nuclearbomb/training, +/obj/machinery/atmospherics/unary/vent_scrubber/on, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "red" + }, +/area/station/security/defusal) "jYj" = ( /obj/machinery/atmospherics/pipe/manifold/visible/cyan{ dir = 8; @@ -69542,6 +69628,9 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/external, /turf/simulated/floor/plating, /area/station/engineering/control) +"nEV" = ( +/turf/simulated/wall/r_wall, +/area/station/security/defusal) "nFf" = ( /obj/structure/table/glass, /obj/item/reagent_containers/dropper, @@ -79380,6 +79469,21 @@ icon_state = "dark" }, /area/station/security/permabrig) +"rOj" = ( +/obj/machinery/syndicatebomb/training, +/obj/machinery/light_switch{ + dir = 4; + name = "west bump"; + pixel_x = -24 + }, +/obj/machinery/atmospherics/unary/vent_pump/on{ + dir = 1 + }, +/turf/simulated/floor/plasteel{ + dir = 8; + icon_state = "red" + }, +/area/station/security/defusal) "rOp" = ( /obj/machinery/door/airlock/tranquillite{ name = "Old Mime's Storage" @@ -79608,6 +79712,22 @@ icon_state = "whitebluefull" }, /area/station/medical/exam_room) +"rUg" = ( +/obj/structure/table, +/obj/machinery/light{ + dir = 4 + }, +/obj/item/book/manual/wiki/hacking{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/machinery/power/apc/directional/east, +/obj/structure/cable{ + d2 = 8; + icon_state = "0-8" + }, +/turf/simulated/floor/plasteel, +/area/station/security/defusal) "rUl" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/simple/heat_exchanging{ @@ -83827,10 +83947,6 @@ icon_state = "cafeteria" }, /area/station/service/kitchen) -"tNe" = ( -/obj/effect/spawner/random_spawners/wall_rusted_probably, -/turf/simulated/wall/r_wall, -/area/station/maintenance/fore) "tNg" = ( /obj/machinery/door/firedoor, /turf/simulated/floor/plasteel{ @@ -88699,15 +88815,6 @@ }, /area/station/medical/surgery/observation) "vVR" = ( -/obj/structure/table, -/obj/item/screwdriver{ - pixel_x = -2; - pixel_y = 18 - }, -/obj/item/wirecutters{ - pixel_y = 5 - }, -/obj/machinery/syndicatebomb/training, /turf/simulated/floor/plasteel{ dir = 8; icon_state = "red" @@ -124916,7 +125023,7 @@ aaa aaa laH aaa -apO +sRw fJr hwP vgv @@ -125174,11 +125281,11 @@ aaa laH abq apO -jSU -apO +nEV +nEV exm -apO -apO +nEV +nEV xyP apO apO @@ -125431,11 +125538,11 @@ aaa aaa aaa laH -aaa -aaa -aaa -aaa -tNe +nEV +jXY +jKG +rOj +nEV oQV ajg jiR @@ -125688,11 +125795,11 @@ aaa aaa aaa laH -aaa -aaa -aaa -aaa -ahH +nEV +ffH +rUg +fFo +nEV alW akR aDY @@ -125945,11 +126052,11 @@ aaa aaa aaa laH -aaa -aaa -aaa -aaa -ahH +nEV +nEV +nEV +nEV +nEV aDY wLB cnV @@ -126207,8 +126314,8 @@ abq abq abq ajg -ajg -aVY +ahH +ahH ajg aWv cXu diff --git a/code/__DEFINES/wires_defines.dm b/code/__DEFINES/wires_defines.dm index ef149154212..c1d1160bbb0 100644 --- a/code/__DEFINES/wires_defines.dm +++ b/code/__DEFINES/wires_defines.dm @@ -46,9 +46,11 @@ #define WIRE_BOMB_ACTIVATE "Activate" // Will start a bombs timer if pulsed, will hint if pulsed while already active, will stop a timer a bomb on cut. // Nuclear bomb -#define WIRE_BOMB_LIGHT "Bomb Light" -#define WIRE_BOMB_TIMING "Bomb Timing" -#define WIRE_BOMB_SAFETY "Bomb Safety" +#define WIRE_NUKE_SAFETY "Safety" +#define WIRE_NUKE_DETONATOR "Detonator" +#define WIRE_NUKE_DISARM "Disarm" +#define WIRE_NUKE_LIGHT "Lights" +#define WIRE_NUKE_CONTROL "Control Panel" // Particle accelerator #define WIRE_PARTICLE_POWER "Power Toggle" // Toggles whether the PA is on or not. diff --git a/code/_globalvars/lists/objects.dm b/code/_globalvars/lists/objects.dm index 7d9cf49c61f..f918fe47277 100644 --- a/code/_globalvars/lists/objects.dm +++ b/code/_globalvars/lists/objects.dm @@ -35,6 +35,9 @@ GLOBAL_LIST_EMPTY(beacons) GLOBAL_LIST_EMPTY(shuttle_caller_list) //list of all communication consoles, comms consoles circuit and AIs, for automatic shuttle calls when there are none. GLOBAL_LIST_EMPTY(tracked_implants) //list of all current implants that are tracked to work out what sort of trek everyone is on. Sadly not on lavaworld not implemented... GLOBAL_LIST_EMPTY(pinpointer_list) //list of all pinpointers. Used to change stuff they are pointing to all at once. +GLOBAL_LIST_EMPTY(nuke_list) //list of (real) nukes +GLOBAL_LIST_EMPTY(syndi_nuke_list) //list of syndicate nukes +GLOBAL_LIST_EMPTY(nad_list) //list of (real) nuclear authentication disks GLOBAL_LIST_EMPTY(nuclear_uplink_list) //list of all existing nuke ops uplinks GLOBAL_LIST_EMPTY(abductor_equipment) //list of all abductor equipment GLOBAL_LIST_EMPTY(global_intercoms) //list of all intercomms, across all z-levels diff --git a/code/datums/wires/nuclearbomb_wires.dm b/code/datums/wires/nuclearbomb_wires.dm index c997e183d7c..0fe19c82952 100644 --- a/code/datums/wires/nuclearbomb_wires.dm +++ b/code/datums/wires/nuclearbomb_wires.dm @@ -1,11 +1,12 @@ /datum/wires/nuclearbomb holder_type = /obj/machinery/nuclearbomb + labelled = TRUE randomize = TRUE - wire_count = 7 // 3 actual, 4 duds. + wire_count = 5 proper_name = "Nuclear bomb" /datum/wires/nuclearbomb/New(atom/_holder) - wires = list(WIRE_BOMB_LIGHT, WIRE_BOMB_TIMING, WIRE_BOMB_SAFETY) + wires = list(WIRE_NUKE_SAFETY, WIRE_NUKE_DETONATOR, WIRE_NUKE_DISARM, WIRE_NUKE_LIGHT, WIRE_NUKE_CONTROL) return ..() /datum/wires/nuclearbomb/interactable(mob/user) @@ -18,39 +19,64 @@ . = ..() var/obj/machinery/nuclearbomb/N = holder . += "The device is [N.timing ? "shaking!" : "still."]" - . += "The device is [N.safety ? "quiet" : "whirring"]." - . += "The lights are [N.lighthack ? "static" : "functional"]." + . += "The control panel is [is_cut(WIRE_NUKE_CONTROL) ? "turned off" : "functional"]." + . += "The disarm controls are [is_cut(WIRE_NUKE_DISARM) || is_cut(WIRE_NUKE_CONTROL) ? "disabled" : "functional"]." + . += "The safety controls are [is_cut(WIRE_NUKE_SAFETY) || is_cut(WIRE_NUKE_CONTROL) ? "disabled" : "functional"]." + . += "The lights are [is_cut(WIRE_NUKE_LIGHT) ? "static" : "functional"]." /datum/wires/nuclearbomb/on_pulse(wire) var/obj/machinery/nuclearbomb/N = holder switch(wire) - if(WIRE_BOMB_LIGHT) - N.lighthack = !N.lighthack - addtimer(CALLBACK(N, TYPE_PROC_REF(/obj/machinery/nuclearbomb, reset_lighthack_callback)), 10 SECONDS) + if(WIRE_NUKE_SAFETY) + if(!is_cut(WIRE_NUKE_CONTROL)) + N.audible_message("The safety controls flicker.", hearing_distance = 1) - if(WIRE_BOMB_TIMING) + if(WIRE_NUKE_DETONATOR) if(N.timing) - message_admins("[key_name_admin(usr)] pulsed a nuclear bomb's detonation wire, causing it to explode (JMP)") + if(!N.training) + message_admins("[key_name_admin(usr)] pulsed a nuclear bomb's detonator wire, causing it to explode (JMP)") N.explode() + else + N.audible_message("[N] whirrs ominously.", hearing_distance = 1) - if(WIRE_BOMB_SAFETY) - N.safety = !N.safety - addtimer(CALLBACK(N, TYPE_PROC_REF(/obj/machinery/nuclearbomb, reset_safety_callback)), 10 SECONDS) + if(WIRE_NUKE_DISARM) + if(N.timing && is_cut(WIRE_NUKE_CONTROL)) + if(!is_cut(WIRE_NUKE_LIGHT)) + N.icon_state = N.sprite_prefix + "nuclearbomb1" + N.timing = FALSE + N.audible_message("The timer on [N] stops!", hearing_distance = 1) + N.update_icon(UPDATE_OVERLAYS) + if(!N.training) + GLOB.bomb_set = FALSE + if(!N.is_syndicate && !N.training) + SSsecurity_level.set_level(N.previous_level) + else if(N.timing && !is_cut(WIRE_NUKE_CONTROL)) + N.audible_message("The disarm controls flash with an error. You need to disable the control panel first!", hearing_distance = 1) + else if(!is_cut(WIRE_NUKE_CONTROL)) + N.audible_message("The disarm controls flicker.", hearing_distance = 1) + + if(WIRE_NUKE_LIGHT) + N.audible_message("The lights on [N] flicker.", hearing_distance = 1) + flick(N.sprite_prefix + "nuclearbombc", N) + + if(WIRE_NUKE_CONTROL) + N.audible_message("[N]'s control panel flickers.", hearing_distance = 1) /datum/wires/nuclearbomb/on_cut(wire, mend) var/obj/machinery/nuclearbomb/N = holder switch(wire) - if(WIRE_BOMB_SAFETY) - if(N.timing) - message_admins("[key_name_admin(usr)] cut a nuclear bomb's timing wire, causing it to explode (JMP)") + if(WIRE_NUKE_DETONATOR) + if(N.timing && !mend) + if(!N.training) + message_admins("[key_name_admin(usr)] cut a nuclear bomb's detonator wire, causing it to explode (JMP)") N.explode() - if(WIRE_BOMB_TIMING) - if(!N.lighthack) - if(N.icon_state == "nuclearbomb2") - N.icon_state = "nuclearbomb1" - N.timing = FALSE - GLOB.bomb_set = FALSE - - if(WIRE_BOMB_LIGHT) - N.lighthack = !N.lighthack + if(WIRE_NUKE_LIGHT) + if(!mend) + N.icon_state = N.sprite_prefix + "nuclearbomb0" + if(mend) + if(N.timing) + N.icon_state = N.sprite_prefix + "nuclearbomb2" + else + N.icon_state = N.sprite_prefix + "nuclearbomb1" + N.update_icon(UPDATE_OVERLAYS) diff --git a/code/datums/wires/wires.dm b/code/datums/wires/wires.dm index 58fc524c8c0..3584e408978 100644 --- a/code/datums/wires/wires.dm +++ b/code/datums/wires/wires.dm @@ -2,6 +2,8 @@ /datum/wires /// TRUE if the wires will be different every time a new wire datum is created. var/randomize = FALSE + /// TRUE if the wires are labelled for every user + var/labelled = FALSE /// The atom the wires belong too. For example: an airlock. var/atom/holder /// The holder type; used to make sure that the holder is the correct type. @@ -281,6 +283,8 @@ var/can_probably_see_wires = FALSE var/obj/item/held_item = user.get_active_hand() var/obj/item/offhand = user.get_inactive_hand() + if(labelled) + can_probably_see_wires = TRUE if(istype(held_item) && HAS_TRAIT(held_item, TRAIT_SHOW_WIRE_INFO)) can_probably_see_wires = TRUE if(istype(offhand) && HAS_TRAIT(offhand, TRAIT_SHOW_WIRE_INFO)) diff --git a/code/game/area/ss13_areas/security_areas.dm b/code/game/area/ss13_areas/security_areas.dm index 4729423116c..fc465472ee6 100644 --- a/code/game/area/ss13_areas/security_areas.dm +++ b/code/game/area/ss13_areas/security_areas.dm @@ -106,6 +106,10 @@ name = "\improper Firing Range" icon_state = "firingrange" +/area/station/security/defusal + name = "\improper Defusal Workshop" + icon_state = "defusal" + // Checkpoints /area/station/security/checkpoint diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm index 8d4b34139fa..921040d015d 100644 --- a/code/game/gamemodes/nuclear/nuclearbomb.dm +++ b/code/game/gamemodes/nuclear/nuclearbomb.dm @@ -15,7 +15,7 @@ GLOBAL_VAR(bomb_set) name = "\improper Nuclear Fission Explosive" desc = "Uh oh. RUN!!!!" icon = 'icons/obj/nuclearbomb.dmi' - icon_state = "nuclearbomb0" + icon_state = "nuclearbomb1" density = TRUE resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF flags_2 = NO_MALF_EFFECT_2 | CRITICAL_ATOM_2 @@ -25,8 +25,6 @@ GLOBAL_VAR(bomb_set) /// Are our bolts *supposed* to be in the floor, may not actually cause anchoring if the bolts are cut var/extended = TRUE - /// If true, prevents the lights on the nuke - var/lighthack = FALSE /// Countdown to boom var/timeleft = 120 /// Are we counting down? @@ -55,6 +53,10 @@ GLOBAL_VAR(bomb_set) var/core_stage = NUKE_CORE_EVERYTHING_FINE ///How many sheets of various metals we need to fix it var/sheets_to_fix = 5 + /// Is this a training bomb? + var/training = FALSE + /// Prefix to add, if any, on icon states for this bomb + var/sprite_prefix = "" ///Bombs Internal Radio var/obj/item/radio/radio @@ -70,9 +72,10 @@ GLOBAL_VAR(bomb_set) . = ..() r_code = rand(10000, 99999) // Creates a random code upon object spawn. wires = new/datum/wires/nuclearbomb(src) - ADD_TRAIT(src, TRAIT_OBSCURED_WIRES, ROUNDSTART_TRAIT) previous_level = SSsecurity_level.get_current_level_as_text() - GLOB.poi_list |= src + if(!training) + GLOB.poi_list |= src + GLOB.nuke_list |= src core = new /obj/item/nuke_core/plutonium(src) STOP_PROCESSING(SSobj, core) //Let us not irradiate the vault by default. update_icon(UPDATE_OVERLAYS) @@ -81,14 +84,26 @@ GLOBAL_VAR(bomb_set) radio.follow_target = src radio.config(list("Special Ops" = 0)) +/obj/machinery/nuclearbomb/syndicate/Initialize() + . = ..() + wires.labelled = FALSE + ADD_TRAIT(src, TRAIT_OBSCURED_WIRES, ROUNDSTART_TRAIT) + GLOB.syndi_nuke_list |= src + /obj/machinery/nuclearbomb/Destroy() SStgui.close_uis(wires) QDEL_NULL(wires) QDEL_NULL(core) QDEL_NULL(radio) - GLOB.poi_list.Remove(src) + if(!training) + GLOB.poi_list.Remove(src) + GLOB.nuke_list.Remove(src) return ..() +/obj/machinery/nuclearbomb/syndicate/Destroy() + GLOB.syndi_nuke_list.Remove(src) + . = ..() + /obj/machinery/nuclearbomb/process() if(timing) GLOB.bomb_set = TRUE // So long as there is one nuke timing, it means one nuke is armed. @@ -99,6 +114,8 @@ GLOBAL_VAR(bomb_set) /obj/machinery/nuclearbomb/examine(mob/user) . = ..() + if(training) + . += "Alt-Click to reset the bomb." if(!panel_open) . += "The outer panel is screwed shut." switch(removal_stage) @@ -126,15 +143,15 @@ GLOBAL_VAR(bomb_set) underlays.Cut() set_light(0) - if(!lighthack) - underlays += emissive_appearance(icon, "nuclearbomb_lightmask") + if(!wires.is_cut(WIRE_NUKE_LIGHT)) + underlays += emissive_appearance(icon, sprite_prefix + "nukelights_lightmask") set_light(1, LIGHTING_MINIMUM_POWER) if(panel_open) - . += "hackpanel_open" + . += sprite_prefix + "hackpanel_open" if(anchored) // Using anchored due to removal_stage deanchoring having multiple steps - . += "nukebolts" + . += sprite_prefix + "nukebolts" // Selected stage lets us show the open core, even if the front panel is closed var/selected_stage = removal_stage @@ -151,6 +168,12 @@ GLOBAL_VAR(bomb_set) /obj/machinery/nuclearbomb/attackby(obj/item/O as obj, mob/user as mob, params) if(istype(O, /obj/item/disk/nuclear)) if(extended) + if(auth) + to_chat(user, "There's already a disk in the slot!") + return + if((istype(O, /obj/item/disk/nuclear/training) && !training) || (training && !istype(O, /obj/item/disk/nuclear/training))) + to_chat(user, "[O] doesn't fit into [src]!") + return if(!user.drop_item()) to_chat(user, "[O] is stuck to your hand!") return @@ -212,12 +235,15 @@ GLOBAL_VAR(bomb_set) if(!I.tool_use_check(user, 0)) return if(removal_stage == NUKE_COVER_OFF) - user.visible_message("[user] starts forcing open the bolt covers on [src].", "You start forcing open the anchoring bolt covers with [I]...") + user.visible_message("[user] starts forcing open the bolt covers on [src].", "You start forcing open the anchoring bolt covers with [I]...") if(!I.use_tool(src, user, 15, volume = I.tool_volume) || removal_stage != NUKE_COVER_OFF) return - user.visible_message("[user] forces open the bolt covers on [src].", "You force open the bolt covers.") + user.visible_message("[user] forces open the bolt covers on [src].", "You force open the bolt covers.") removal_stage = NUKE_COVER_OPEN if(removal_stage == NUKE_CORE_EVERYTHING_FINE) + if(training) + to_chat(user, "This is where you'd take off the plate to access the internal core, but this training bomb doesn't have one.") + return user.visible_message("[user] starts removing [src]'s outer core plate...", "You start removing [src]'s outer core plate...") if(!I.use_tool(src, user, 4 SECONDS, volume = I.tool_volume) || removal_stage != NUKE_CORE_EVERYTHING_FINE) return @@ -235,10 +261,10 @@ GLOBAL_VAR(bomb_set) if(core) START_PROCESSING(SSobj, core) if(removal_stage == NUKE_UNWRENCHED) - user.visible_message("[user] begins lifting [src] off of the anchors.", "You begin lifting the device off the anchors...") + user.visible_message("[user] begins lifting [src] off of the anchors.", "You begin lifting the device off the anchors...") if(!I.use_tool(src, user, 8 SECONDS, volume = I.tool_volume) || removal_stage != NUKE_UNWRENCHED) return - user.visible_message("[user] crowbars [src] off of the anchors. It can now be moved.", "You jam the crowbar under the nuclear device and lift it off its anchors. You can now move it!") + user.visible_message("[user] crowbars [src] off of the anchors. It can now be moved.", "You jam the crowbar under the nuclear device and lift it off its anchors. You can now move it!") anchored = FALSE removal_stage = NUKE_MOBILE update_icon(UPDATE_OVERLAYS) @@ -251,10 +277,10 @@ GLOBAL_VAR(bomb_set) . = TRUE if(!I.tool_use_check(user, 0)) return - user.visible_message("[user] begins unwrenching the anchoring bolts on [src].", "You begin unwrenching the anchoring bolts...") + user.visible_message("[user] begins unwrenching the anchoring bolts on [src].", "You begin unwrenching the anchoring bolts...") if(!I.use_tool(src, user, 50, volume = I.tool_volume) || removal_stage != NUKE_SEALANT_OPEN) return - user.visible_message("[user] unwrenches the anchoring bolts on [src].", "You unwrench the anchoring bolts.") + user.visible_message("[user] unwrenches the anchoring bolts on [src].", "You unwrench the anchoring bolts.") removal_stage = NUKE_UNWRENCHED update_icon(UPDATE_OVERLAYS) @@ -273,23 +299,23 @@ GLOBAL_VAR(bomb_set) if(auth || (istype(I, /obj/item/screwdriver/nuke) && !is_syndicate)) if(!panel_open) panel_open = TRUE - to_chat(user, "You unscrew the control panel of [src].") + to_chat(user, "You unscrew the control panel of [src].") anchor_stage = removal_stage removal_stage = core_stage else panel_open = FALSE - to_chat(user, "You screw the control panel of [src] back on.") + to_chat(user, "You screw the control panel of [src] back on.") core_stage = removal_stage removal_stage = anchor_stage else if(!panel_open) - to_chat(user, "[src] emits a buzzing noise, the panel staying locked in.") + to_chat(user, "[src] emits a buzzing noise, the panel staying locked in.") if(panel_open) panel_open = FALSE - to_chat(user, "You screw the control panel of [src] back on.") + to_chat(user, "You screw the control panel of [src] back on.") core_stage = removal_stage removal_stage = anchor_stage - flick("nuclearbombc", src) + flick(sprite_prefix + "nuclearbombc", src) update_icon(UPDATE_OVERLAYS) /obj/machinery/nuclearbomb/wirecutter_act(mob/user, obj/item/I) @@ -397,6 +423,8 @@ GLOBAL_VAR(bomb_set) /obj/machinery/nuclearbomb/proc/is_auth(mob/user) if(auth) + if(istype(auth, /obj/item/disk/nuclear/training) && !training) + return FALSE return TRUE else if(user.can_admin_interact()) return TRUE @@ -409,6 +437,9 @@ GLOBAL_VAR(bomb_set) . = TRUE if(exploded) return + if(wires.is_cut(WIRE_NUKE_CONTROL)) + to_chat(usr, "The control panel isn't responding! Something must be wrong with its wiring!") + return FALSE switch(action) if("deploy") if(removal_stage != NUKE_MOBILE) @@ -416,9 +447,9 @@ GLOBAL_VAR(bomb_set) visible_message("With a steely snap, bolts slide out of [src] and anchor it to the flooring!") else visible_message("[src] makes a highly unpleasant crunching noise. It looks like the anchoring bolts have been cut.") - if(!lighthack) - flick("nuclearbombc", src) - icon_state = "nuclearbomb1" + if(!wires.is_cut(WIRE_NUKE_LIGHT)) + flick(sprite_prefix + "nuclearbombc", src) + icon_state = sprite_prefix + "nuclearbomb1" update_icon(UPDATE_OVERLAYS) extended = TRUE return @@ -433,6 +464,8 @@ GLOBAL_VAR(bomb_set) else var/obj/item/I = usr.get_active_hand() if(istype(I, /obj/item/disk/nuclear)) + if((istype(I, /obj/item/disk/nuclear/training) && !training) || (training && !istype(I, /obj/item/disk/nuclear/training))) + return usr.drop_item() I.forceMove(src) auth = I @@ -491,43 +524,57 @@ GLOBAL_VAR(bomb_set) return timeleft = time if("toggle_safety") + if(wires.is_cut(WIRE_NUKE_SAFETY)) + to_chat(usr, "The safety isn't responding! Something must be wrong with its wiring!") + return FALSE safety = !(safety) if(safety) - if(!is_syndicate) + if(!is_syndicate && !training) SSsecurity_level.set_level(previous_level) timing = FALSE - GLOB.bomb_set = FALSE + if(!training) + GLOB.bomb_set = FALSE if("toggle_armed") if(safety) to_chat(usr, "The safety is still on.") return - if(!core) + if(!core && !training) to_chat(usr, "[src]'s screen blinks red! There is no plutonium core in [src]!") return - timing = !(timing) - if(timing) - if(!lighthack) - icon_state = "nuclearbomb2" + if(!timing) + if(wires.is_cut(WIRE_NUKE_DETONATOR)) + to_chat(usr, "[src] isn't arming! Something must be wrong with its wiring!") + return FALSE + timing = TRUE + if(!wires.is_cut(WIRE_NUKE_LIGHT)) + icon_state = sprite_prefix + "nuclearbomb2" update_icon(UPDATE_OVERLAYS) - if(!safety) + if(!safety && !training) message_admins("[key_name_admin(usr)] engaged a nuclear bomb [ADMIN_JMP(src)]") if(!is_syndicate && SSsecurity_level.get_current_level_as_number() != SEC_LEVEL_EPSILON) SSsecurity_level.set_level(SEC_LEVEL_DELTA) GLOB.bomb_set = TRUE // There can still be issues with this resetting when there are multiple bombs. Not a big deal though for Nuke if(SSsecurity_level.get_current_level_as_number() == SEC_LEVEL_EPSILON) radio.autosay("The Nuclear Bomb has been armed, retreat from the station immediately!", name, "Special Ops") - else + else if(!training) GLOB.bomb_set = TRUE else - if(!is_syndicate) + if(wires.is_cut(WIRE_NUKE_DISARM)) + to_chat(usr, "[src] isn't disarming! Something must be wrong with its wiring!") + return FALSE + timing = FALSE + if(!is_syndicate && !training) SSsecurity_level.set_level(previous_level) - GLOB.bomb_set = FALSE - if(!lighthack) - icon_state = "nuclearbomb1" + if(!training) + GLOB.bomb_set = FALSE + if(!wires.is_cut(WIRE_NUKE_LIGHT)) + icon_state = sprite_prefix + "nuclearbomb1" update_icon(UPDATE_OVERLAYS) - /obj/machinery/nuclearbomb/blob_act(obj/structure/blob/B) + if(training) + qdel(src) + return if(exploded) return if(timing) //boom @@ -567,16 +614,19 @@ GLOBAL_VAR(bomb_set) /obj/machinery/nuclearbomb/proc/explode() + if(training) + atom_say("You've triggered the detonate wire. You are dead.") + return if(safety) timing = FALSE return exploded = TRUE yes_code = FALSE safety = TRUE - if(!lighthack) - icon_state = "nuclearbomb3" + if(!wires.is_cut(WIRE_NUKE_LIGHT)) + icon_state = sprite_prefix + "nuclearbomb3" update_icon(UPDATE_OVERLAYS) - playsound(src,'sound/machines/alarm.ogg',100,0,5) + playsound(src, 'sound/machines/alarm.ogg', 100, FALSE, 5) if(SSticker && SSticker.mode) SSticker.mode.explosion_in_progress = TRUE SSticker.event_blackbox(outcome = ROUND_END_NUCLEAR) @@ -618,23 +668,6 @@ GLOBAL_VAR(bomb_set) return return -/obj/machinery/nuclearbomb/proc/reset_lighthack_callback() - lighthack = !lighthack - -/obj/machinery/nuclearbomb/proc/reset_safety_callback() - safety = !safety - if(safety == 1) - if(!is_syndicate) - SSsecurity_level.set_level(previous_level) - visible_message("[src] quiets down.") - if(!lighthack) - if(icon_state == "nuclearbomb2") - icon_state = "nuclearbomb1" - update_icon(UPDATE_OVERLAYS) - - else - visible_message("[src] emits a quiet whirling noise!") - //==========DAT FUKKEN DISK=============== /obj/item/disk/nuclear name = "nuclear authentication disk" @@ -645,6 +678,8 @@ GLOBAL_VAR(bomb_set) resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF /// Is the disk restricted to the station? If true, also respawns the disk when deleted var/restricted_to_station = TRUE + /// Is this a training disk? + var/training = FALSE /obj/item/disk/nuclear/unrestricted name = "unrestricted nuclear authentication disk" @@ -655,7 +690,9 @@ GLOBAL_VAR(bomb_set) ..() if(restricted_to_station) START_PROCESSING(SSobj, src) - GLOB.poi_list |= src + if(!training) + GLOB.poi_list |= src + GLOB.nad_list |= src /obj/item/disk/nuclear/process() if(!restricted_to_station) @@ -682,26 +719,32 @@ GLOBAL_VAR(bomb_set) /obj/item/disk/nuclear/Destroy(force) var/turf/diskturf = get_turf(src) + if(training) + return ..() + if(force) - message_admins("[src] has been !!force deleted!! in ([diskturf ? "[diskturf.x], [diskturf.y] ,[diskturf.z] - JMP":"nonexistent location"]).") + message_admins("[src] has been !!force deleted!! in ([diskturf ? "[diskturf.x], [diskturf.y] ,[diskturf.z] - JMP":"nonexistent location"]).") log_game("[src] has been !!force deleted!! in ([diskturf ? "[diskturf.x], [diskturf.y] ,[diskturf.z]":"nonexistent location"]).") GLOB.poi_list.Remove(src) + GLOB.nad_list.Remove(src) STOP_PROCESSING(SSobj, src) return ..() if(!restricted_to_station) // Non-restricted NADs should be allowed to be deleted, otherwise it becomes a restricted NAD when teleported - message_admins("[src] (unrestricted) has been deleted in ([diskturf ? "[diskturf.x], [diskturf.y] ,[diskturf.z] - JMP":"nonexistent location"]). It will not respawn.") + message_admins("[src] (unrestricted) has been deleted in ([diskturf ? "[diskturf.x], [diskturf.y] ,[diskturf.z] - JMP":"nonexistent location"]). It will not respawn.") log_game("[src] (unrestricted) has been deleted in ([diskturf ? "[diskturf.x], [diskturf.y] ,[diskturf.z]":"nonexistent location"]). It will not respawn.") GLOB.poi_list.Remove(src) + GLOB.nad_list.Remove(src) STOP_PROCESSING(SSobj, src) return ..() var/turf/new_spawn = find_respawn() if(new_spawn) GLOB.poi_list.Remove(src) + GLOB.nad_list.Remove(src) var/obj/item/disk/nuclear/NEWDISK = new(new_spawn) transfer_fingerprints_to(NEWDISK) - message_admins("[src] has been destroyed at ([diskturf.x], [diskturf.y], [diskturf.z] - JMP). Moving it to ([NEWDISK.x], [NEWDISK.y], [NEWDISK.z] - JMP).") + message_admins("[src] has been destroyed at ([diskturf.x], [diskturf.y], [diskturf.z] - JMP). Moving it to ([NEWDISK.x], [NEWDISK.y], [NEWDISK.z] - JMP).") log_game("[src] has been destroyed in ([diskturf.x], [diskturf.y], [diskturf.z]). Moving it to ([NEWDISK.x], [NEWDISK.y], [NEWDISK.z]).") ..() return QDEL_HINT_HARDDEL_NOW // We want this to be deleted ASAP, but we want refs properly cleared too @@ -720,6 +763,54 @@ GLOBAL_VAR(bomb_set) if(length(open_turfs)) return pick(open_turfs) +/// MARK: TRAINING NUKE + +/obj/machinery/nuclearbomb/training + name = "training nuclear bomb" + desc = "A fake nuke used to practice nuclear device operations. \ + The '1' key on the keypad appears to be significantly more worn than the other keys." + icon_state = "t_nuclearbomb1" + resistance_flags = null + training = TRUE + sprite_prefix = "t_" + +/obj/machinery/nuclearbomb/training/Initialize() + . = ..() + r_code = 11111 //Uuh.. one! + qdel(core) + +/obj/machinery/nuclearbomb/training/process() + if(timing) + timeleft = max(timeleft - 2, 0) // 2 seconds per process() + if(timeleft <= 0) + INVOKE_ASYNC(src, PROC_REF(training_detonation)) + +/obj/machinery/nuclearbomb/training/blob_act(obj/structure/blob/B) + qdel(src) + +/obj/machinery/nuclearbomb/training/AltClick(mob/user) + . = ..() + to_chat(user, "You hit the reset button on [src].") + training_reset() + +/obj/machinery/nuclearbomb/training/proc/training_detonation() + atom_say("Nuclear device detonated. Resetting...") + training_reset() + +/obj/machinery/nuclearbomb/training/proc/training_reset() + if(auth) + auth.forceMove(get_turf(src)) + new /obj/machinery/nuclearbomb/training(get_turf(src)) + qdel(src) + +/obj/item/disk/nuclear/training + name = "training authentication disk" + desc = "The code is 11111." + icon_state = "trainingdisk" + resistance_flags = null + restricted_to_station = FALSE + training = TRUE + #undef NUKE_INTACT #undef NUKE_COVER_OFF #undef NUKE_COVER_OPEN diff --git a/code/game/gamemodes/nuclear/pinpointer.dm b/code/game/gamemodes/nuclear/pinpointer.dm index c988d1709eb..f5f8487e1b2 100644 --- a/code/game/gamemodes/nuclear/pinpointer.dm +++ b/code/game/gamemodes/nuclear/pinpointer.dm @@ -96,15 +96,15 @@ /obj/item/pinpointer/proc/scandisk() if(!the_disk) - the_disk = locate() in GLOB.poi_list + the_disk = locate() in GLOB.nad_list /obj/item/pinpointer/proc/scanbomb() if(!syndicate) if(!the_bomb) - the_bomb = locate() in GLOB.poi_list + the_bomb = locate() in GLOB.nuke_list else if(!the_s_bomb) - the_s_bomb = locate() in GLOB.poi_list + the_s_bomb = locate() in GLOB.syndi_nuke_list /obj/item/pinpointer/proc/point_at_target(atom/target) if(!target) diff --git a/code/game/gamemodes/steal_items.dm b/code/game/gamemodes/steal_items.dm index ca40f18d0bc..daf72168235 100644 --- a/code/game/gamemodes/steal_items.dm +++ b/code/game/gamemodes/steal_items.dm @@ -106,6 +106,11 @@ protected_jobs = list("Captain") location_override = "the Captain's Office" +/datum/theft_objective/nukedisc/check_special_completion(obj/item/I) + if(istype(I, /obj/item/disk/nuclear/training)) //Haha no + return FALSE + return TRUE + /datum/theft_objective/reactive name = "any type of reactive armor" typepath = /obj/item/clothing/suit/armor/reactive diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 7035e9cf2d6..3e6fa6919be 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -660,6 +660,42 @@ header = "


" info = "" +/obj/item/paper/nuclear_guide_operating + name = "nuclear guide : 'Operating the Nuclear Device'" + info = "ARMING THE NUCLEAR DEVICE
\ + 1. Insert the NAD.
\ + 2. Enter the code provided by Central Command. For this training device, the code is 11111.
\ + 3. (Optional) Set a specific timer for detonation. Default and minimum is 2 minutes.
\ + 4. Disable the safety.
\ + 5. Arm the nuclear device.
\ + 6. Take out the NAD to ensure the device stays armed.
\ + DISARMING THE NUCLEAR DEVICE
\ + Follow step 1 and 2, then hit the disarm. If you have the NAD but don't know the code, refer to the Defusing guide. If you have neither, refer to the Spacing guide." + +/obj/item/paper/nuclear_guide_defusing + name = "nuclear guide : 'Defusing the Nuclear Device'" + info = "DEFUSING THE NUCLEAR DEVICE
\ + IF YOU DON'T HAVE THE NAD : Refer to the Spacing guide, you cannot defuse the nuclear device.
\ + 1. Insert the NAD.
\ + 2. Use a SCREWDRIVER and open the device's panel.
\ + 3. CUT the CONTROL wire using WIRECUTTERS to short out the control panel and bypass it.
\ + 4. PULSE the DISARM wire using a MULTITOOL to stop the bomb's timer.
\ + WARNING : Nuclear devices deployed by hostile operatives will likely have unlabelled wires.
\ + PULSING or CUTTING the DETONATOR wire will prematurely detonate the bomb if the timer is active.
\ + Depending on the timer left on the bomb, try your luck or refer to the Spacing guide." + +/obj/item/paper/nuclear_guide_spacing + name = "nuclear guide : 'Spacing the Nuclear Device'" + info = "SPACING THE NUCLEAR DEVICE
\ + To be used on assets of hostile operatives only. Any loss of NT nuclear devices following this guide will be charged as Grand Theft per Space Law.
\ + 1. Ensure the device's access panel is closed. Use a screwdriver to close it if it isn't.
\ + 2. Use a WELDING TOOL to cut the anchoring bolt covers.
\ + 3. Use a CROWBAR to pry the bolts open.
\ + 4. Use a WELDING TOOL to cut the anchoring system sealant.
\ + 5. Use a WRENCH to unwrench the anchoring bolts.
\ + 6. Use a CROWBAR to pry the nuclear device off its anchors.
\ + 7. DRAG the nuclear device to the closest opening to SPACE, and PUSH it away from the station." + /obj/item/paper/central_command name = "paper" header ="


Nanotrasen Central Command

Official Expedited Memorandum


" diff --git a/code/modules/research/designs/misc_designs.dm b/code/modules/research/designs/misc_designs.dm index 45ced9b2403..46189864ab0 100644 --- a/code/modules/research/designs/misc_designs.dm +++ b/code/modules/research/designs/misc_designs.dm @@ -51,6 +51,16 @@ build_path = /obj/item/disk/tech_disk category = list("Miscellaneous") +/datum/design/training_disk + name = "Training Authentification Disk" + desc = "Replacement authentication disk for the nuclear training bomb." + id = "training_nad" + req_tech = list("programming" = 1) + build_type = PROTOLATHE | AUTOLATHE + materials = list(MAT_METAL = 300, MAT_GLASS = 100) + build_path = /obj/item/disk/nuclear/training + category = list("Miscellaneous") + /datum/design/digital_camera name = "Digital Camera" desc = "Produce an enhanced version of the standard issue camera." diff --git a/icons/obj/module.dmi b/icons/obj/module.dmi index fe9c40361f117757816c4f712c8814c33c0c52bb..2bcc8d2e6045915edeeda055acb14a74e93d4d96 100644 GIT binary patch literal 21730 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 V8ctgPydxF3V0y`<{H)ufe*ye@0)YSk diff --git a/icons/obj/nuclearbomb.dmi b/icons/obj/nuclearbomb.dmi index bb86ae4a6180b028ef74af160a133cff052b8dae..ad6bc4d7efc225709fca29556550bfe6e48f518d 100644 GIT binary patch delta 1933 zcmb7_`#;l*AIE2AMv;=v60IT&*o?+@?y`}ux7Uhl{I{oA{F%|kupU&jasb+iq& zK_HM0-UH{Qs(e+H!qincbSXDnRR*(>v;qesrMhyfJ#{#3 z5l5e*Yxxa%=%v;LJGKlYmexeB`{d?U5eT=-$cTbSR+X3wRk^f){m!ACCuB!>Yh8@d z-hk&lWSdW(WuDEZv}EH=^``dl-2~D|Q)`d+$f1+R9^@UeTOt=Y5sbq!avzAN#zdOe zr7K&8SaY*(la`f}d*hVAs0C_+Bh}bXdYq!y1s)@Y(DPwCK6(y zb&QO|Cf7THpYCY#r?+gwx7E< zA58#z`G;z3z zvd5w>(H!LB-ko+nwT@ua^Z|W6RnN9wjxPJHfLH)VB&1slIBfQdWOx0`@U&2$Ul-y> zFW*V_STEd}vya%9@>s(d;Hr;I6bb`3n50Z?t-CT^b@^_HE5@bm!^lFs(YOS9ZJ`a~ z&j5+lUoiKT3GU4(#s+7inZcRkmn`LqnYRUjyr25QP{`HKrtusPC^o$B2GKT4t(J;o z`Pt-4be{4uYt}tl77H94m8569cglh(=5dnmqAQT6OEL{x6dev_kWp_tdHLVFqFE7Y5?2rHBuRDUlFrk zcu=7EHz23PP-tI%@_*Q>lI4_yA8Ny*TH1*0Ks82)J*VKzwyjhk3GHJZ z)p>>?<@JJ|`?G{s_|ee@8~Wqry~9mS!}7QGYz)bO z44zrJMu$u@w<4JNJ^-kf$)t%@c&VD8joQA%>%BLG-No6d+<;Es{ z1;k9D5FsSZn&g4vT-sRxU0lC#CcW;2@6Ugi*+y*9#B>X0N zu>7!M2ZmZ0fP#D8Z#>u?cNN`iO#y64yni|b-m{%Ho_d6q1m}@q*qyW1D^NfmCOzje z>hfi46N=&5zJyDEM*VY;kv;BQkeO9KqK4XS{ zq}1=d$F}{JiKvYhDd&>N5CA%Ai>=Inn!}nQxt$?;uONX5wEa6@Ubs&ZWbv86CFSVg z_~}P%Dn(xl8*|6)$hQ1qKsnEnA&#Jae*vmyr$V4umzOp@tZ);xx>~&mdpIuqIs6kN z*&9eXi delta 1333 zcmb7^X;jh)6vaVDNYpffRtlZ8P)^09rQ;-vl9c6Ak(6el(`uPkWG3q0!HTrRbgW~m zjpkn3MCF()n%Qb@p-3e?zx{|g+r5#OGZc#%?_~$ z0f9j5Hf^MCGy84xq|LH4vrd@nYBphxOA)Zf!@It|-eo!77CH-sv++qmG#fdKgYE9m zkS=_(^vX)~H8-KGZ9&^1*>B?e3_GHdEhjwCx zSXXtrE_5WT^A@HmSG1OUOGSeXv_IMBOOk1isz^>h5-v#JCA}r3z5$M;d7zIq?G4 zwJN;u*UhbuU5=>bE$Y^w3&soDXi^c;O>uDT^^SSBRxls%u00&9Ijq_Ioy1+hvEVsK zrPA5vc00Pv*n!WV7vjzrKZT*6+)P+PtSG5+^t3v%8ciQjA|%9;zOe%kM0Z8ndks^f zNcf;5E^Uhqa5)L&$dvua7>-5BnBnG9VK!XyV)N;t*E*$Cd-gY#!6!+)g}kG1DwLdR zFb(+I85635Rg7?oD?GiSHBt=P!nQrGS>gD#@}47VK}@-YFqN!g?4syxWXNeo{oH$@ z)g;7-5efBV$aaW(V<^86Y!}<%+Em#`Et9bJBkLXlAIXZ?a|BUfFnM$U8g~j6dwJYS zM|9IiO^$Q=#*cb%HZWE%s5Fv))TIvlDE-Te#+^KA0=6qx-YTH=;7&e!RovYYJ6ViL z!b%g@Lz@N+hU_BmRczl|UXhMIMUF6dM zUFy{{w~xus%U9<(t6`L1XhCQ~yQd zx9o4YC%3&EA#{EKYq)Njx^x3L5#o|cYX`Y-=V3M%zIPmKv_xu!eoZ|fH$w>8+r2a| zu)%QqU?*?28&#t4LZVEm_+nM@@77Xc1<)(Zk$t3egWFDyH#vz`VC3q=R^ev|I1$M%{* zelk#X%XN6l^d`D?w_w=tCk8cM&>DcP%jL{<=I;%S=SVw`*MnDBL3$G)y<7fXV*zEGXnO_-X6MRDuwaS;t`3t_ZthWFF diff --git a/icons/turf/areas.dmi b/icons/turf/areas.dmi index 9c265a8f5e284b5da412c8a93827da1c0fec90d1..a41f594dfaf37c7afcaa99a09e9a5bdbfff55eb8 100755 GIT binary patch delta 26104 zcmY(q1z1#1)IYv}NQtB%qI61khqQDFNQacLAl+OVs+9- zRZV}0&G`6<)`!OK>91l4qt?QOPp}S`+xrs?$2zk3LO^KdL>k&#b~bFJF5&&jWxGgM zfacRqDdx72=99O}hT0G(-UF$dP~&IuvJnLQf|?VV_?CFW^(~Lz3UTwX$=_i6$=uvK z4Y}lsgNqQNlbaQ$b3G=Tdw9KuuSL=T-Pt$MCZH4MDfB z{7|M=9!qZR-REM={F$ESykZhW)?uH&hCP08;c21FeHogddvdh;?k6|of=h0`pl@&O*hZi(j=+unj6(4daq^1SPgh>s_^v^UnKW_N%k3$NP4qwvdnT4%iq${k$(u_pmuq%1G^30yv*jU0a$(A+{| zJ5R@rugd{v{OE&?imj?5igUsTz14Sf9BuDs1U$PNS=%Yeye7M@p6BTInn*ytM3jHZ zp|;01A>(YI|JUIB$@b-V&k=y8EKtY%yJ|NN0-=FCmwTq`oweH$@Y(o9{DB!3I<^w2 z4-s8oX?RTJH-b^EpF91-_vARyaGw6gr$M9VGJSFmp!s^p+2|(SyB8xJ9(Rv{FXUM; zgE%4oz3qFVxV`dPcZsw{(d5u@V0l3sXIQ#AZLJeCji>#F^BewB!)`hC`g?|LzFucr zH+!F6T&WTo7+j*Mx}_xD3*2=;EmH0;ASvW6hg&yjXKb&2(AB2ric4zoBb%wcKigeX zOTjEgfpY-mB}NvF^710Z*WfY>R2n^J+c(zaN4nd-8zX=OCCqi)@YzjB5Lm~G?c{`& zCLN+dg0vv$cU1jcqX@$Zz;S12U7`gcR!(P~QAyT|J{#F6js2dn2kbJJWOoUvA&|p6 zy+J_?GRuWdi^3ybOm~(sAdnn%3c}y-F%7Xc4 z1nn6ui8kgkMo?KlpRI`wKT@yFRF@x_ksd3U6Lk;!;cue*rY=NBlwtRt>!;uHQY<-~ z<$-^5x!+6{1^-n=K6)cWZOndKVQlV%l5tq}?wueAl#dqVN)`I*v`~%-kh76eekB8@ zpEKQ|h$B-~SEqU=$Irv#g47KkPLJ^0Z`t@JCpYU1zbP|$JgEbtc#&ZvLn8@EySxUw zxgQail^%EHEa|NjvN{klU;-bF!+!oFL^?CRejbyEu;R5e!OF%<;ab;$ zQXE3MPo@SH&h;SYp9;OdCz!s>x%)FhVzlFMk|J zymXhtVy43&xDjd_R#7$@8ISow*n7ZFhI`@IgtLrej= zpKy3FPj)7&%@db!vH;tmED_-5@`SCS7kj$xI~)595!t$%>fPbT!uAE-}PZ@vP* zp0p4f>(HVRp?~>_wOrV8P9uYJw}EEkiMh&%o^;-0j4wYGaASbE<#(k|gvZ{`pkQSmEpd3!{90x&bKO^vtc;F$en5y_JG~PN*uxE3* zcJ<@V7)~D#MAd{wG9!Y3?v-?RN?h+|E5n$Aw6woCCNC`nqKQcn$HSPkwYehsc!h-_ zW5g>3J)IB&@x}$P<9NQd-uMjMzg{K23w8!BXhIq*g{rZBce-YpAZ#=Uqyi0XJWE>! z;vfTojAuu@6q7i6KSof%Fk6X|-3rr8GJ`v279hL=XV@aUfol;s>myX?nN*40wI37G zfFDVgnH+7FrPvoaq9`<1VRv1*4~N@bZw=iTL0|AckmRL-fWO}Rcd*|eK3OeFSBswF zClcJ_09sV0uPBmYP+^l$F^(145U`Y;vMoj27+s#be>liJ-oT1maV z@ZAm@((Zmbyh+u*mY?q$PIfmy8xTb@nZcb)9~Xpn>c$MWZ%+x0;M?9Po_^K|?MmgK za-?oVX~}vvaljm1-WXjyU*%Cue!!-8uW4gASBifkkS8;%JU~$Z>Atb+v2%B}XCOz- zwi*PBfgFh`^7mj+`o=Y`KoQ25Oa*ep-rx0l?v*!E#$WIVO`@{vHJ^J6)zddn`{ zBRUSQO?F&yK@qRV%Nky*p^XvMFqWMtf#q1TXJ}(DC<@DN8z|>h&>;dL!-z(vRo<32 z+>S<_-EulnOTp%G`}F$}7fZKWZWIF(H=>HI$34GOYXmz;{~d5{F+UNB2LiQjLR~rU zL;@sMFA5z4<4H`G1)Rtz*jd=jo*<%)##*g+rkt~&QQw50KSi*gvnNGusJ~h9kv(7&@3Xbl_Iix# zbtez3=DnW3h1yRWXnm{zJSK_@_W4gCG^P6S&P_gG)g8AuSH!V8D=;nsJMn$LKr)dv z;v!RhMT0SR_I0pTRZjUD?lY;lb$~n}dAB%L+}weboyA3T4h#- ze-JR}{ScmvX78#x7~?OfiVP@8_51T+{(#%whoh8<(1h7 z39i=`Q zv?^yS`tkS3venZ9z9-sm>=0VPnbj!xF|c_8xA(X=q^tC-0GeXvSf%)ZJFBclPBuHv zyfa?eB;}joB+<DFdcNmm=GRzhkyPcnL&^2|(S)mPqi6l(I}OhtU%e|8dKytKpz!NV|7^>!0(XdUzD zxr}-5J*5wGUu7*L?m6F;Bfb?+ReJFmETauf-W{rFyy zo#Q84u2?eimDZNhG4Xu1lG?Ok`Yy*~*XlN@g$dao=5BM;&0k3vVn~(d5BFU6iKi`H3AC#UEqeOAlmOFm$=ZM%U3L(TO zqe-$!keW#o{kqTtY?E`9@6B~jc%(*RM4xHVVI-`0Pxyp>SJLNk8&8L@1|YbeP%mRF z7ix5GnNo>hdt@DB?ytqCj&yLfyT|*)xmBJ#9HWXF1z*nw|CTESz<3Liu=D1KMR^>X ztS-e_VpSu=TVmA!oMMgc{5yO_&v1%C99Q2WR^0&AYJaq3yd(zNsS~xfWjmXzY-H$XL(sl8KDv$tBs(Q1WPv*k)UZ`E}Mx;f;tfd z5~pBGK}gB%v4nb!_qPsP_bJdB)LwHdjUcTMibNVIGQei{>b*&%WRRJoF2Fn_IlWz5 z=e68syYfH#Q))B<1dU)vC*bdYQYP(nfBv|5-+ z9*s(@>|ek+vj_Ye?5_7Fq_p{wH)qb;{DIa)+YBB@J>1V?y<8uIT|-pWYzRG=#UDyi zg#b!ts;cS=XBz6NuY4K6XVPvq?i`W~gmm+o%%Ujfpp<0c z9z)>^F)$gt`R-rza1>Ukq;A2@BN9Po0#=ugu#qO?GLnr-tt|U+5*S;Z)AQ5%nQ%F+ z1;PU7{+`(Vuk_s+Zc-W!LpT1`6=#0_C*pLuzhAly>Hcb1&njoL>R4PU-|!LH*k;?z zDz7g6*T#nRS^{H(>yLy!gM+j4Z68xk!^RMhKJrdnNx*z_Qv3Beia@ITuXxvmgFQ%z z`;Q+2T&CCZm&;vd760?F=y(TM>+9d_OHO^!?F;YGA3myk{p&#kNVgLK&O>`vhtren z4kwfU;gD-*!bAxq1B#s+Dl-WUVp1A#eEEgBv1Bl_4jCHCG@<9pTYD2X6<()NfV0ndSGhs0c4!M7GZinYS@-_69 zZfAS4U%otLr1OYu45SI%a8fg_)M`UztoExnqQB?ECQYTa{W~gz0ggc_%ljayR|Y8| zPU>F$dTJ=_OvRBURIMld@!a4^#ejyn5i-xsbAIp;Z)KNn7PWk zaln*|tWJGVUX|x_bea!R+22w_rp+-i=@OYBwf$}CW%IsFhQyU7NF${|N+-YMRJdt* zI)mxg*}B3{PiQa|l-vzYT?T?f>WKbNJ~1&#;yp4N+W(W~x&>$F+q)eOh^>St^Ue#w zon1t%io9}&ooCI*0k!&2$mno&vHm{<(m0o1_W;X z@2mQM<;o5p4gkF6S`ny^iEY$eRP~GPn6l&qu=7pl))eP)Jc4g8@o}OERNmMv7Jq%0 z7)$*K1DuS+W@>Ieo~2F(ug;oMJ37u8a~$mQqfn?QTfz+O(M6H|h#&c`?14#*#_b$K z@uDJ|mJ3|2nG;oLC;+afP%ch23$0N-WByQic_WumQnCloE_ofWVfLppkx|89n{1pJ zUkeHW8%;pV+UL`65b434Hpx5kj$#}aJ^|LBsS zluAr}B!%uXn>h6-3h@42d+qf*Nqnca4r)h2>1fQ4w2DPm*&HsH452ud2@*yBB@I!^m>BM# zIno~iN%wzH#&x=nZL2O>U++KE*-j{G0O`N>DkL{v8wL#h`tLrg%^N?v&0Fn16k_9q zhv*pxKL6kQRQCL2l@#4>;2(;)UNEw4{!!8UufIC?lh=l=z8?RT@8>j807>sZ_Ix%t zN{)t%O#izt>gOy{Ni{M2@4k;se+;DmVb`r^`0$LJl!lxO9(iAU73%(**17y2SO7+_ ztQhfCLeW2QvakOF3L|+%L1@@uAxQtqOyt0W*B|rbf&~8yC@qd_$qlGye&a~2Jrg#X zTRdxh#X9J>fu3&W>zjq=M`wPv|De$I2eGK#k_<>+|6wjTFC&2mSsGUzZh`-b+|EwT0j$A%G2kBx zTBmXrej^ahx-a$n@L#3&qm=P@MJgFZDj%i4m0Y*#RJMY?5#(Xqm&*GGj6Q41WTJKl z?>6%~2>!CTf1Zv+76{SdC8ANYCu)-2OT?olW8zvNqNTmMipiinNw$=`^2Le3A$!bY z#;VXzojMXm0sQXrUkl4m#3Ex%d_YD{|Nj8fO5?IiUXX#r1qX^{{Ppbz_H?%`nG8HhfX(9i-syukA~uo z&be%5A}tL)@E5$g5n{-zOz+8S5g~WikMA9y8KvISpmaP0m-0bI?aR^gOyucXaLrOJ zf-7CI8F^3ut)10yGUgT?bw2Ph96gVf@ar!?0I1&wk=={i1UpgPxpQ{q1qh+JKeZqn z__y!wz(=_RpFYai^sP{n_hy~n^oO6KbF3o*5EOf6Z7XEdYa=f_qY>U+d3=V}uL7tM{rRVu5?<0FP~ zlJQX*Ylei-9lVxv-73t{CRkjQMrCMe06lqb-=6W>!@t=-Uc}TQk*kYFBxqya_)2zj zLiwS^BHyt_4`*Vtmf!W7UgaO40b|T5Q@!aoHQyD6b`|aR!hTVVV@=5D3w0Yk{u_t%|+ z&r30dCJS^q_+OPnV|YK1QP15Zuu&FtVR^ybeF)+n>U9_H_yx(Wc(F)^KVp|jW+b1F znPs3%XvKb!VlK1yne`*5OfsFUjnt}e=ui1l-f^PWqiVDsM4w104Bh!zyZ%0YS5FJw zKa0Pu^U}b*frzFo3eYU-jVmG-QNJxa;J)cO2kz~xi9Y?hWZqMgyrV;w-@Sj*xuUE6 zH$e+!{m3rUXy{zj@%--JV!q{PCAjfP@};$Y0f)lLU_x)FvO(x+7X!OY^v#Vm3604+ z&WG-uNq0=RH-lMmTFpl=b&_0mgKswk5IYRu4rtbaKA$k*`sxF1D{% z1U@=2VAbNVrEC1^I<*33X_$-JfN7qdBr>G} zTFn)bfc8VSWCTj`c<@0RRhZ+Lq`KKYdFN~*1+ zqNDLD^olkMu`MI;^QEMjnVD023CtH_rdwaN<^rtSLzzoahq|I(bXii605mk-f)LIO zy?G;NuaiMdU`GXUG=$GHKWvuZ8WUiRdED%0zjGBVHb1-=nM{vS2-N#|@L0Wk24OEi zfAs^iJUrZP$>Qj))xyL|T6NCG8fZid58q6iuE+Y{tjHG{S>uvN>-gR6l|4LW62r2a zl>S4Uga=`YW)zSBCy#6blaei!9284CGJ%*pb*vixakZ;a?rt||13zD=$V;7ac%5ui z*;1t9X#%*7*j6#o6(lq73A{@5>=*32gQ*l5v?=3gr+r6`+)_4?j%Fq@n(#7qa29h+ zUnuChyZtr06Zon8^$e{H;(GgYRP<1bayi?o8o7e6cC!O1LeVt|XK3N$R$JIH3D`RH zgm(>)3&T)022kX;HHU3;*QvJB9zJ6sgy z^|Q5ebjc4){!w|Bs_$(S8I@MOmMW9U8Q1jlhG=a!xJ;}X23tz1db@IxyHE{0*B;8> z5zvI14!4ed^bl7u2{|Ceq@vvf2 z;uv<|TB%Rjxyl;b7@d!(LfO&DwIgeZ37y04+~Y$m$ezJzw?;h%KA=p^c*W-h+-yeA zhk;8B`4zzFLjPS~PID!Jj*r$@;EYf=xKPJOsGZfdhjRA-5BnDf&CCS|QPkG)B}piJ z+Uw$S@(Hv1+|-JrHag1#;HN1nZR*rUdD|4QZ~MD^;oWSO+TYbxgBWb3D?FY+Cw)Jf zSMJ!gP0(XHm?+LRQe|kp#N2DK>}ZuRvD*!Jy5aZ4vbZNNuahqJvZO?dk z+h!2O+Kb;NB}5zwYu75jz9_C;a~xjw1Z2XHf15TksJ2!n*TpqS&aC)jVDf`KG-*Fo zFiKOWPi$=B6_F#@YKQ{)Jf|spe!Lrp5>WB0sa$}zNbjvf#Zdzz<_4nuRgRCw4RVRu_KIGMF5`3U_U0{0WCl1$)>pv~etU z@mK4zGi`KdPu~>$5!f6N`F-tzWc{#mk;;jd6l11X##!nj6BWlg`o4TgHEh6pbpQye z`4Z)c$cq(YQ?nm2h#1gi?<@NlX8>L^#} z6h<)Lai+~U`+1aqSu+T9OX#V$B#a(<>YXJul*@v;(C|`NJK^do_2^u^i~8Uc@}m(q z%Z}gSi!hKSHF_)oK#D~PY3P-QUO4_PG{ES-Sh+4ay1?Lm5(J^ZxHQF-j1(}(8KT~x zw)&JS1<^^ySC)ck#{M#7iC?^5LI*Yid?>p`U4s%Mixt5;{<9gM`cPf68=zGsQJMOLA;oGtjNyf4{nngzA8vELWD z3yv*oDMi#WT2vR`H2S-N-|?XSHgCQI>R~?aVPM+NPH*&lR&r$@+#Py%*GF|L-c3{& zev&9{{Sdh3YlY~Wc)YN_ZffqRw47XtQ=92wMV1nYIX9j8EEKI^K)&c=pfd!+f{ZF6@NzU;7B*({({m%KoXy+>I{sAp;YY&*27f(}f+o5_u$Rba z^l)b`-w!q1Xu`INGoP-^d(Qq3cRGk1*{XX=`{xN$M?l815GuV3==uRm(blh#0kmSjuCi^Ac7oS(w;f!;(TciYPLV)v1$L~&MqtQk)>V9@L~=Z5=ce=g?Tez7pJ_puDC@-D6(PoBE1>Zo9t_gTg2FD!3ldF(fO|4TyJ zg(%wlY~__xX=I90jYEdS$n(ckbd1p% zk}hKd&QB3)npJ#WyX|7hMXoA``8qMxDNY)xK6d{=V)fX zA&mUfOC4w^h{T8m^}K_-M&!}(ABAF{17xRT1kqPvVKxF8lMnvy8ua3lvDO|3mRL72 zKlmc(wF1cBbM`cB4IJjknvrMD;Q@$iAu%U?1cwVrAN%PjQK8C1-%eJo_Wmxzyo@n? z9nnB#Kd6bHlil0b?DWJ&=8yVZx$`;GlVZ{|`#GFR@KX&RwrIW>I&mNRIHHg9b=wIC z8g{*EkYZO+7oBBg?YVmK3x|UZxFTYE(e>T1w7hFOaCCOU*uK7we&49J|EJ*Sn^v*a zR9v%~)zBy|8$F!&d%lt+e;m+r^<$hHANP>-|8ck!MqEohE88$b20Wi_KigF~TBtvW zBV2+DN#x>Og#N~BYJamcL{?D3x#~E1lpeQO+HKou-Z*LKAU;*K!AA=xq-^#7I_n3w z_Nt%z>iM^ld1qdmiRr~e$J0awE?#WVmo@@YT4E5_Q;f@!Ux}4m&oM4O71dvG8Kaq- zp_&{i$LM2Ipt5a#f70bw7Mo$a7gE4Qi zK|e%~&;ksE&jHlZiTq0S?DB^E3fyz24%$mXFlPojp(#^4@X>h_W1li55}Gmt^d4V@ zV4jlTGDmdNKec+lmnY!`-0*_HcG7zDP7qYSeFJd`7TZ(8!<(i&)JM8O93945=_jbV zLGL){I4E^Q{hr~{_4fwI=X~dN4hmCYfkR)qXU8-SQr*`4xikFt{1z!4;fOV^>JQUQ zH>(EDJ62mODq<`u36P6!j>(~Fa1}3j-}&3W=LkO7dtGE+8rZuUB@zB~gEI*g%m*s3 z=~%n-II)t~jH$BOSVc~bYkrO6*({hAYd{sXwKLkK_Kft{IGOs5n)^+PV6`Rk^3mg; zL1(tssvkdEM07aoCtC6`0i(IdB+1&9m~}xS{O+;hJ&%tz?5#sV73bUfAo3wI7j!8c zD4lm)w*6Z=uG^YNXsf5Je{=Qp!~O7xMn{CZx;+DoDRkUUTRqd3>?<_bwdkO%1`dMkZON=S)*9N&AtBFHg_YjM^Gb!rnJYDh z#=Hz8C26mOf(~~RV7mHdM~Rq5+xXDa%t31V&O1_O(YE|OU$Hy3EEVkU^@V>v;al@I z6tKx?+xHlYzAqz^tqv{;SXmm> zBC*J*4MV=iuwq7dsCE-$i6+uQJ!HQASy2tg8nU!=$%nEY2|Poy2$FBQe{klI1*yC7anh!XNl?>JB_rJ z1JpBY0NIKjE&T#JVnti__IVE4%wHVz0U2?87+-r3?XUn_Y4_=_l~g*JihVMshC^L0 zWwrF`*ko;Agbkm}OCpueHRm% zH&`n_)N3?MY-Dj`r&fcZs+crR_;d+PJuSO9yU`>V zSd;Z&%h%+?i~ZUd+Y6t=Dg<@}UUi;beQ`*s=?9OSb`{G59|sAgNd%)_Q{mQSY#jGt z(@gQe!MoOh_gF6l5jHFgdQIPmIas}UAMVlz6djh5u#!~YP~$n(cp99YVNcJzk`BE2 z0%UW-VN>2=dy(C6=NtOY6r*CNC41E%rA&ddr9~ucc>@Y>k;C-Lb45BQ=5SJ(#p}qeK1PY zZyplpKrNAbrZRifw9uMM;>L^kawC6d#Tl`ih$-ZU#+vw6$Xa6tIW2z>av7Xjgi4hh zd154WZa$60UG8{3yMJyndd@X%UtfSwIVxXte#wu_-RJUS?t==kTtBHfTr}I7g!79X z)X0vW6U-$bbG_Q`P$X(PFoMb-Az+gf2r&g+K~6OR1H047JhLCEV@s6%xo?E62czZW z-2cqYvstaLwzQ42IygPvO+9LWJ_Z%SVnHifX|UQ*d!9q)G2S3W&$;;}E!VQE*kovj zyFcX1Pg{0n?kty)mstHw8>-3Y=Dze?mn9V~E-WNGzit~~vWiEer33it3EO(Tvfpm< z!CnlN)o&%lp4L-U3oL$P6_WJm6!AHm4|8;EcFdC~;v+0tAxY+X%L!_Oou^uDdwLZ0 zYL^J_$8o`9Pn)}x-*~|E$e@o^+*=j_>hludkt1*_ao_^tj$(W*Ax%DBNmIX&LMpYi z$g%^#!O%c`fOlaJ7#Tfd3dM4Ec-u*L=WC%vJ1n?4orye(iTbo?MMXJPntahc@pkE5 zhOU2jTI)(VTOlCj;Skhq;!T+BhkDM_IXiPYeb!!5XLc1U3eJf*S73I)&lSJWsL5gN zE!HE6H{BS)h1ADkjVDWcjnP*AObokL2Wy;CSg*QeBO?KWCaWyaGWe#O?$vlm$m{F_ zVXf_(o|pGHI2$;uk)=F@G!6$aFY_!u2QfpxvkqDK2~rSA+g`?@0`=`D^WcwO%XU}_ zaAd`uJ<4jxXItXA&-xqaIGN}?Z8Nq~=<#rBki40ZXo=R_%N`=rKD7r5h0^f`W) zQ&7IkpbHHBe5vR>U0?O;_04>D$gBCCls}h(M6@178^yUttV!M|pMNX2TLvz)dZmW4 z$sK7=;)(AI`X2JO(F_mIAva6M%fHzEb-z(lczl9_iceOVvl8;%r+x$Po0*gnP`8^8 zGsG>-LPt&-ISXKhHa&-rJSNELamd!+HP!)!ZpzNyq@QPuF&cCr>0c38D{o^bb2f6U z+Tunk{b;aHPYQiUnx0~=_9N08fgJ=RL#FzIJpEg`hc;5}2Us^$_mY>ate(pUDRqLL zJqa5rt_lCBDk-^EgVcD#Atf*>gfyq2OZW2{`JWTQtDvKqori0rH3QyCT11I-FT8E6(6 z#f>u+{UhYQ&Yv`fPb5!88%^|Q5LFWs-^UyrHMaZ_kE?m9mPomY($k~UdN;)|w8MrN zJhIWY_+TXqrut-!NUCEVMo~8lj~2iiy0GGN7#?R#5vNrMD$bj3q70tmO-c8}=~dW$ zGg(X{?d!0ACEAx~lGCN|Q1k^6hK2?&RQGe`yM8!3S7m8r1dO&goki#rlpk?0V&0-M zf!;9XOq-#R)vwG5|8#<#!3@`SQsttc6A%z3l31U2jR#m}TkW>%$OR<>Xg?lEF|cd* z7kHRhCUgnS%i-nD!9UtWhc(q=j~1mT3DC21XK-#i8RAN;buW#*vlYjE2-=H@WndbDhJlshy;UE zZg-yZ@tZS!%-&WH*>rriC?ev=6T*UCv-r4+c&;hHlNSSe%@a=>%;3nP=RPPNk7-1j z=8R9+lYt(K`9=Cy4vAh z^DICirb~NeLrUfIHqHgMAPNz*qg}YyCt$%1fQ0@sptVfoP zSV8Mgg{+r$%;Z$6t}NtrH*1?-0#})?U&R)bqhN2;{^eYi5NjLrKX^n&Yhi&yfVWq& z@eZ*P;=zm`fn&e2CtojRb=kC*kPBEVsVY%A-!h#EgT|BV^>@!+2G2d{S@d0wON$d+ zxMepTW@4G0DY+5HQu`2_Fq;Q^nx7qa`?{gJ*!|k&oji{72Jrs&dVA4O6vnWeZX;w+ zlY5sefwqE=hqusldWQ4wFXH;t*+jLC?C~QqvUcd+LB@!PkszDcvUSbf5WaiF=^o)r zCsvD7Jjz{CpemAlkq;GF7pe7`fK|zjP&h9((#g5jAD(c1!j7NII*e)73sKVF4ZK+D z1Q7eF)K2@Uo+1-4lREcBi~P=IdIojvku?$m-kni_jk&=6-^?~U@A$ZGc7H3*vQyhT z_lqowdmYk4eP{pd;HEE)7&KMIQ{0cX-gyMx93%W4UcHyKnw}}B7ri&juO>hB!8f&J zgj_RVG_{DtS3Ipt{h0v!jy#+~>u*{2NCrnNvZfXGHx@hp=Kgxkyl%_lAlH`))Anv^D37 zO*J{1xULuF77`Q&gCTNpk`sJ_{uS^< z*TZ*a$R@k%^w|S2;;oHJ!n?P)E0j?oymzhyQ~AkadVBf1db^=Y__fyPIUMzC-N`I{ ztwv6f1g#DMunD?cxG2a*-S6j;54uKd0Hr5596>*+k69bN)-R027jF!%e!oYxwt|7( zUfwRC@@kB_UB~=K;5I$6)qIMo?O|99$s?8aY%W@OYfo~*pk3t2d8=^MkfQ;fy6ikJ zv_{n25>I>9M!F(~+`+}Z0z+Z=mmpV4P#n7KEHIm7R1rfKkvxh$-QE*r;nASf)-2oo zs5$?@Q87I2aFcC^76&Iv@Z{{Fo}x-=zr3wd>-PIv-p9VP+y0|?TC<$0_z^7zVS$mcs zwgFw+?pwakJ~0Z*xQ}95d9;W8p0pgzpk%XtxRVw@)EC&h=#d_$sTjpb+z>6VRC?32 z@697V&z*mtqFkVvOPFsgl_q{i#K7)Ni~Njt#h%F4(;Mn-y9keOKL^!1i79C-0%+fk zJ=pL+G8P4+ra`Y)Eg?$^#{(7a?~bafjt#7PF$ni-{vTf&_k(NKLpWD+9D~kW3%-DMuHA5j*eo-Vx;A)iCpqBz{wMjC%h(k^%RdB2EztIju~ah%$kJl9F7bP9E7!@ zm)_9HckUfkp`hBK)P6P`Zq24Guay0;)X&iarV~99{1aw@h%d(|-e0#W;-v`yx0ydj zt?x2CXjoR4u!MdNn8OGu%|NSl5+&=4S+yHx{FFkkY$M%}+iETnBdV)C zVQCODQK(9;-D>0-5wE$S^26^PVb?*-Q)pp`asQ~CdGF#}24#N^e}pW*;XHTVz1kD1 zL@tGgd@%*XSO59c#u15QH(x<3I_UDH=-^Dt%ERkk#2m+3;7o%Zx_2J`^8ynmayclO zj{~TfvDkbTslf9dFiz=sx6aG5-L_yi`!Mii5I?FLwH;UwN~-S3Dwap6s<6I=h!gAT z8E{e5ouM%mJn4InqPhWtKh?~R8bFl=zO@a8N!Z-TkDgOX9=;hp?@dHA6-cCU#7;0J z0EX_-6@Vf_mxnXsh9Ut(CeX~*uhC;M%ko`nBXdJ9#^u;yLBF=YcA;tAFi`aVYUjIcz7W6ZNqs+C;O;k1k*20+X_Ua_Ugzn)7_5%B$+7L= zysuNdV=vpmWvR#kYZeHj;_k7wx(ZFLda`Rv-Q-|KkpFO^c8arS;`H;f2)t=y?o^<0 zf%)?D3R3jA6KnX&*V=zQzPgYg=gdR&sCN?ov>&>+k?wFoB*7|uET7p6n=&$Rs}w2g z>7_7>x=Ux|=)Ga+X4x}R@V1wXa-n4+Yl=r9UUW47=2-BMUS2+g!3J+|%d*OYXk2h- znc+<6!4uz@2lS*m&KeI~b8epgvH8tKR>EvEmPD> zccnjZM#&PW^m&f{Ju}&yo#=PASR|t3B~dpq?LrILLIt)}1mVG)01ELFu+P4FAMk$H z@#s<@U;UNctGjZkw%X??$>vG(tAjYv#57_H)e>_zNxxB zRAe*3`WE!SI3hWlB^#~QF~_;V<7*yAtyO59ASEVQUCMMa!tLQ{7j z$F;5J>s+zWWPce4+T&YCgh@_4!FQ~P%e|IFNcvedNYbGM;SI>ElEt#0C3Jf9(^^L>gzCy!22Uz=V3xK=en;H)Za z|BB42YQpRhecziE(s(iRkn!bw$7oj zGOu_v)&OMDieGO$nuTBKz_N%9pych1Z7r6j8PR1J^vF^v$Y2NbBIsH+k;=?-c+7Lw zwyA?WJNvLd>tmVOiO)j|q-6ZscD;WH4t6Xhl;&ISLsy^& zGem0Jmjn)gW3DamL2}{^5MtNXl&6L@So-~JrV_7l!71SxI7f^tllhnmX43@rc+ipo zwZTB8ZMjhJ#ZteCdPkG4mmETau?T-qP?ND~q)bANLMXOwoB}oFPF~qZEFi181$@4Du zPHvvjxC9@iJ?ZBndip)5?q%L$R;`~mu(W)`RI(R8&*RBiT1!g<24{E6+RVZm{0=Vi zDME?mew-KmeX;MDYeY@858Zze=HuNp;eN}RX8ggBT-E6_UNPxrFxq%}5@(uZTG|OY zxEtLM?vyITNX!?KGvO3<87}aW$-W5I2czY74%%v@&w;P-O4g4FSAp5TGM@*63 zx$O>hcGu*v&0$cSG^5VJzyhFYo)0uB?u|-;hio^v*!`F{$Fh7kIziuqh2CuhY@(Jm zRidUfHAn=2?OmeL+sF?~W1lfocQD+f7z{R%Z~q@0iJkUaTGTr=X<4;uIQt4OVoUXR z{10Pd{|(ThHBhZPe#+JH$$fys9n86ZS|58ld9~&bN$Zqau37ka`R&^!_bBkt14jFi#{6U4 ze}IuB3BH|9ZWB1uirgl`=&R>kmjbqmu+ox6v`>z;2IJY423|yBtX~wX@M<6{XT`;Y zF(mCRWOUKe+o*giuDUyeGP8#QmzB6;K)zSsYA_lYWV>B|@BWU0h^>vbXRKQl6HVb* z7c?2;uze%?167GQ%N_C#iCd-w-%^Wz8ILajPpiS{4A}Az$wRotP~mp|S&O ziHV~Vo_2%;AQpg}w}-i1`dpG5qs4`%uVKX^ z6;`!=*FL;;Qx3e|6rjzi0F>AjwvMVJyeV zwV=nY_J(^0DXoqx>{!oL7yIK z*zEHUb0b@9_F9gf{6*iGz~RZIi&>lq+=Im@Zrj;dlaf>_N=gWeoBM;~?G}312WF83 zH<`6^VfsOLq;7WfjC)}Ao`}8iZO>Y=kMCQJ#3_;qfrS@q`OZ|dnGLZ|b9O;Tj`-=o zo)`w*jdmY*{+WYghwP>^{c#||Kl9`_sP_&!C*V5G1pIm*7ZevvZ{rZ0d{SEf@>H|= z12ZM>(_E>An1>=Z@Zuc_b_2R)Dcx_1M;e;#uHleCB4At&S{o}%OL}?#B;+-%@=o}c zjJNyS6Csj5!uN;Bz3-MDCtf|hyeiqhl>h`(g$0kU$K#F)w+FePJ!nJ2Nj9%&q~ay9 zj3COU9TmhYze94lZghsGd4|t$Vp+b^<~!@gQ{l$}^O&@%>iJ2YL#(>^vm=ZHjqWD= zs|l^g0S0Gh(pR0}(Sw62KM9XLrP4czcqYO231|`4^4k+{4H(n1a;5T#Rh3i?&H#u- z1~$>l;Pe=8W$plN{ot+4&1_Bm9R7CP*}4-nuZo}6Vjrt*VOWwqO!K4@b44z;Uy%c?9eIj=g z`^K3AcvP9E0L1o=np`mb^&3g7W@y|yl1?fzeM=rq9!-PGm&{UEBsDi@o?S}e72voS z>^*?BRf3WZ_jg;VFXy1-;L4Dt93V=p_t`PUpHFClgQOsQ1464M$S(f~RSakf!s z-fMSGkvU%DdEglPOMKONsq3NF*_b;JgF2D659Q7X?4DL~XT@1CfM_bqC4O>rQrPLj z6rXqv;EoFZo0w1{WdU{)?b4ztmtK9ypSb+3-aOSWb01*dChQ?!pHeltPPgQ5fgVYe z9J*y?5597jv;ljm?V|FxNkg)x#kO`#PW`3h$BHBMF2`Oj2bpI zPWo?lFU5i+Zhrap44-r}Bj%rzKFOML&)R7~toM>{U zehPXv`1d`jhI@V4;o+}YpXGCLYZbXOU`zC(Dn?fv#u7MMD>;>b&UyT&bRLxNXlkb} zr@nfq{m%)$cf=>~!k-h54afbrYG1VjTir2vm`)}8>Z87GbMgt~^Ntj(1)w83X|+E= za-7{iK5))sJ?=em@BtE?S;rL^UqOwF>Yk2Y-*cCNaoGg+{~qfkd?b0i^}Rsr>QxaF z@nmchG=|pD*LAcwqWeLs)eaWJG53GJB-`#9{d3fi8{)1$I{f~2bTrNNiRx#U3geN2 zjMc^ydl0Tj^uD{bIpo2z_jNp?Y-7NI2PJ4Eo;Q$9YsT7Ifr?&W$aGA8bBPM*SrQ7( zBI4@Rl(U2qak=WG-_O6qMKRN>_PwRUYlY#IWcmI*s2=g^Vs8fBzq}-E*EkL330_zU z4o#*P2igBo4^>R)MT!~U{E?4FfyKM?arw9NuSK@g)1$>BxvZZTz`h1t*T1VZmhhzw zXGu-NMr>X4Zk|pcxL+>c8*o>5z(~&4a0T@00hvp~uy*-T)L5O+8^W?mH+FfCYgplA z7cD6Ol(mCwLdGeUw+Gelv3)q+QaAxbV2M8%1~ao_1b2}Z+R_r{UaOt1}IpS&s4Vn`?}BQ9J|AjPW%yU5M626j@*Pd>^Z5 zAw)f(`R!IzFa9K)jaDp>7p8ndR~eBobY(a*QL>T`CmAdg-}IYS*>7bVyP;f^=bu2~ zPWROHeo8+?jPl5h``xJtaV_Ptr5Mt$>ttm!MdQ(`|6yky`{AoaSL>cMDk`#aR`epm zK-oy22hkQKk2C+t8$(H(u~#u1*y>TK>KJc60K9zk9ye^(=n6GJ5`Zg2SIhSXwI;#7 zDX|pFR7xl=IXuwCEbNQ?(`Fv0dLt-s#8Bphe10qxC_R$<_H4s{4(Spp15))ACHtcq zEY4OgmVbwlnVlJ?V+S2>sk&$}YWx$mNJe2eA4=!4S7ZeWmHQ$1&uvCreX90^+88J? z&tD=E6IjU&55d#-c%Ddp6z6m1z3<{!Pb4guNA|N35wKKfLK%S-Cka&-5FHh21B?I2 zKdtL}rSEsz!G>Hsz2m)A@PfMcB>c}@S!AyLGe zinhvv^ZPQCwb&xkDL*oh7`JL=_2@pbr2CxBhm5pkIBKZvGV?iEAu1>Z!{W>!3MHk56O7jQ&r1RB#L`#M(zoU@B&+4y3<4%>#4I zOxd9gIGh4GWfQo$C#}2^P&x3Zj04N0s8#|a$ zXl|-;C0_Rwn;<_qwQd4*<>Xmwfc?^Xb3LH%EJK<5hp8rnWM~9!G)tY3(b1hI{?NEleR@)9`e5IXTg{*2XeqHN@@z!-%*~b9&mC;q zW;*dFTcPv}mpIULev+a+KXiVW{7?LXeFeh#3XEG7<{C7VA#6dcHtut4!JjmRR0Q|^ zUHu1LyQG2K8S4f_78~jn$P2<--h$Yv1JWjl5DrjBep_R%jUza=tAgIo+ua{{hQO%pbqy}Gu z&WFDD%}0C)`S!oZH24YxS;`6{DEdRX&i)`ebyh`j&g>_}$6J_PF{JUmQ2oc)iBt*H zh!;oHzah{~`#+(P-JwAHhk}GnCXY_L(&ut^Vk(AF<6i$v(0*miv%`AOn%8*L&A%)v zwsEoL!4-TQG(p{|#qm)EA?W#dzSQ&qEiK?Smg;eE=@AxhLe^iGqd0>gLnBw-{9yA_ z@jR^bH5KXn2-LpuUR996yeKxVKGc=^Vp?)`RJg%LFBtrNPMbRB;x+T$|49Kv(03Ov zIud+0jiYg6HKp551UV(=1cJ6ol$L78%>3;BQr>IzCxM%uj@e?Ezs+m5#Ez>n5{!y? zyQjZp?TuF+A#!{rixMx{#rBSrQ73pcdFCi#7WM0M3xjuw$`?_!k^_#aK`Hb!8ISN z5Uf6JX2@BWT@XP&Q9Y{P>upoL&+HR~AGa3O7*`xJJ$b4+$3HZ(P2Ia^Lo^STXdamS zxuy1>UB;az2w>MQ@eVfbChtw_vyNbR2yd7mtK_#$zYble@}ml(!(`Bu^7!6fRV3;M z@=JN1T6G!B+m6##12mio!Yt4V{hzNr5u;$i``&@y--`t>|rclDJWP6;zN=;>1{D##36?Ybt@HsH@vcdl)12K!%hc5-%L zHm@<$poc#^unW|EmZSBtL6gxgj!h+Zm!I!=u-pr-F`TrFtOyAl`<)>LKiS6~cpVu4 z-Q1&6TPMg>nvR}M{DB!!d}3Wn{N&)^w7xKy(meN3^C2+k&+HC%0;uea^Sl)|GlOy# zZv^>9%H=kG&4So_84#8@=Rs=IM(X?KRjkT8`8v8Otodz)%2jmTA+FXb5hdQek<&sk zQVOtol7~na1+7?9IEFu!4(}&5JWd1kB$Dr5i6QVCmUJ3V!ejm5#30yhvPn z|7E_-%4ysQ>t^7mN#&!0keJr5- z_0(ccDT`XeF1}w$p%pSb9_3=S5b#3z2Wp{TY)JkCMI9G;GoqGHnYcbDFWqbnTu1+n zZ*rQ2_htLq|ReobQ>@fv!YxsedUrTDCFQ%|J`aMA66Nx_%I2= zDH-hF*b%44Fl*lntCs|0h7IU`4mGN)vWzokIh$s%hwDV1l^yuMTngcVS7(StPqCxi z>O#P=m$A0u>7E$KmVz=@}UMbX{*FOq;57CN|S%N6XT88tUXGXR1{6*tN7 zj0>H%mt7gremY|KNK0T?=chnnQWhk-U3+bs%e&rv_I@h2H778wKao%Fr8HCqbU=*2I378m*n z|4RN}aV8Kx0e>`>9vT{*`9kVq@#V0R4L}JDEY|5k=b+Tn4|YvHR@r{F?A+Xaons65 z7Q+04YA=x2^9g`Da$fmJy&NccRGlsYJQ1Ss0TaN#7jo`zmIKWkR02tJ)9DG2G*|U1 z3@V?UoVl{L3NRZyMSynv`XXbA;9ohocFpBr#&&Ai1zSE!?CjT9d5o2 zC(N5n)jJG2uDFb8W>ZUk4ULMTQCX|#N>^H|_%W%lu|)z%O5fe$MbGZVj=4mK&}9GW+V}K7TVKZ z#eHMQ_%2#&M~kKGzUEbmoK65n@=?DmYav>WkCS`}{ z-c@$KH@Y?It<`zR>hii$F6{GAj2+|~L-IyIiK%_^;xab4(1O3@Qd)i7)TR4Y#kN~M}e z5}#vg-ggo?xZKgKjt7LkK6$xP0O@7nt!eiBbl?V*EfVSB(Y)OyMsYHxm(X~@76vZC zEMX-#sy>Ti045t%#EX)g@S>EZAD-a^q;Uw$!N||Z0~}>c2ci$U& zU1EFf>VT|_Wqydd?B$-du#_VPd;OB6gn^#-4@brpCFdg-T`jrOLMo_DV~L?|%ykLz zhNcDr6W@(h=|D+kIBv)3O=hc?!;bgfxEI5H`6?_%xf$cTm+ia7s@fuD5m2K2KMmQa z1*X2Ngc*jn4hP6}Mpe_{L^7J+^yd$xAyK0kdC#jZ(guZ9Y+URUjX-)oaes-S@7XYR8BfaxPSj~o?wUR|uTly%D0p=wmbXN9j&?H;j zkAue235x8FsahmpSO~+6y^2~p@$=2Ngm&mSeE;>lIrfzvyCjLd+)6>cv*;vytC;fW zu-?A^r+JA)fNrXf_Owx$dP#DLgz>#G%eDTL9c|oa_bJYY$C47J{-xr&S$*jP(%4%! z0Y#uW;~V=fnX3T87#BcQ>~$|p#QL%bXR|LAAX=nJF}=+JaN&fXWNf)45+J*mCQt3h zROmwHshu}k4@Z6c0TY=CfYK0u{z3)zNbYPO831@WygyoRE(3^n^@I!juu-E97+ux& zM+;qp0-lU*%5sYZ3jfjYINk*$HHTyV!1C6S=J~mf68V2K5A%KXNz+PVb=67|L!vYR z{9p{g5+%K=K!q@iQdSn5O5cj$Q5BYJW22s9?HRItc0m7Lk78Jk+hM^!*UP>&DqK6J zw^7v&&pufBkc;Ejs1EHr*)>z%)}{_q{|UH>;z&X)N+EZ^;GL!Z^0{g1FUg z>&agfg9-9uTn2;5?U%q%@nEc9fskgfY~#?cz4q^2?WB`PFh zl|7-vV)O?F!$%<*%pALq{*k)aX2DhWAO9h~jzf{4DXFLp5fDd1C)8p#$WfxUMReRdu@}C2iR|;l5H0|_x^Q-t8U`Vwl z45Gh(dv)#`ek=hKBGR#@8+|w!opgJ^l3Go8(ZyL!HyL0@<~98ei`mkS6$2nVZ4~ zVfAX~lP9I0M_Kr+3{(wzcmwsC)Z4YfMzHjjGCaa=4(+Oq#e zC+dKB+!u;Ct?N@jBu?lM2Q~bq>F7Am&qyie2mE64_J8mGHv)Y#3*srT(gVs*$jG7xdL#;joh*Aph)7W`F@B zX0s(>m{HCK2K2V9MXg~EP=IeVv<-$?UQ-gPl%@6nMPCskbvSyJ@Od7$sPJNKrV*z0 z)~TL=0nC_yCI6w^WF6WplOCb2{>?uv)Z-?`?&sv zx$;`Bq=|D9m(e`|sCM40_17y5ed%%wK>xWOA|BZDgkZYRU@FB)gdi_KF*^zuS@EnU zgtZ_O$Rh67VccGN18#?>8M{gtXiAr0%2*kg$Pbpb7Jc7u_k?HH&(*F+L2?V80j6f? zZr@jC?;p~7g&&J{G*wk_9lYG8ocfkP>8zRhh3Ng>rp3|iLPq3Hng;#r0ViudtJI8o zYpmsCHjHWos8&dnvZI#7H#h_;Zs8xx(G4@9#??8icEH&Itk(mk-;)|+OX>h`Xtnam z`f};D%) z;fvjMVp16C_%@dC;M<$E<-a`H3?&eS?vpBjp zqDB^#Jag=Fn%@p>sumZAIWFH;^UXpni`CD*FJF6=)>O$}$U4(yu?#COTSqWk6l;5p zjA`MnB74hz1ac>_!WOL{e1*nTPl_gDFh9bhL%7EWQ z!kaAE-b*-X<$!VL@w?rl50f4qqV0L>7gHf1eyoHiGxKEr>Pr_ws92lH2twiAZ`%JN zsNmS$m+-`-Hz%(`Lq67P9zZ{RWVjie_SE2R9&)8VIW<9Jy?Vtn+5HY8WEtU2zJ+|MuCH=$Hugw(UF&Tsvss zH*B9dm!C+xW|!S>gP8qnpg~SjEOtSUyM<&GQx6%YSeZXZ1}<$_>(RAtQ56(x-lx?H zQ}9gY)4A8mRJ|!0rS*q=QdPv_D&va0r+9=u5C1o`8?dO81HJ!MmYx%-X`{{5d4A~% zqmyLTR?qs{)EPqRC`3RkaL3Qf#BKfaM&B9%Cg=!E^;6j?X)9zrHemSupo8;f7G#)q ztnuvjkjn{?CHDEGmDiNHb(P1YhAPLIlXyew{4*%);Bc$AwIc!W@#qDSxZ)-nxk*B$ zJ^KBjXbwrcU<@(@gDHXTG^3S8$cuf{^W`zbaUm7PB^P&OmNfqR_>y7^(~{XL%dV3ZkR;tblZ@G`o&F$;ZeHO6sZ62U$-qf=C@sZgIMIHWKLMijjymOJM;>t47^6Z_E5Ogze5as@1Aq=lGm16#x8X98zRjxLc9 zSS2*&Y6~%>^abBIYdDi=dkG&2p(s~RJs5=m*hj@cna4s+@8+!*7^^$X6B;E%k&4XIE)VS^`52jGihHXZ$cdUt1E4B<(N}3#JT~PS z>bSk9A@^H6$r+S6EX2jNh8(8(9{R~d*~VO5@$7&xm$5$V+qo^U=0KZlX(PJiy4rHI zeWuj*Y3=DPblBjH9BHe@NPo|jzH|#$IJ^09yXx)Q;^3iY^r;xYeObF!XcHG$wHic~lzv)1+^J7WKgFhzd zKGyQV$5e6jE&RhnuLE=V7M=nUiW(dGGDBUnD);yPz|UOC#`>1XeRQBVPQE|(pcG^( zUaJfCQ5DFa=Y=vDqFOsj=6|2BKFej!dL52N{#7e__nUY_FxD)3cb%n-3*7FWBqn1) zRTd~Pv}aa1UvzQFU_kr7;PFPCqNtj*05%VCEeKmKh^oMtJIM1%^Uh6iWtfrj)jl^v zw1rQ`P>JB#9N{$`koW-5YM@l5b1h>@s#QXSPmMC2QmVUz*_9mdKGxRaQH+9@C31(9 zWc=~fq>?EKD_93(^>M=M>a{1yu5b?Xdh6=IMf$5TZ>Z_bKFjKwojiC@5G$N7Q==~W zp{DC8I(@Wa@de&?ay)kGct0j?A*Ar1>a!QnM17bSY@o6B!M$D$K{-k=*GGb{CT=Qw z)DJBp=29!rWMOfEQ;9YdI{bpjTi)$8o4E{TuS;sUYVb6?-7x%hyHUp`A(a}Q>WjLw zZ%Qjy>>_gFQ}?)U~CQzasa?=8-=zhvx{90*w>;=C*8+QxW##MWLLzv!? z5K*q)w=A!ceqW<_rTKRt;M>~=B1vz5U;c%7=+aMdxLcJNSp32NEU@X9{5ki=*|7Y% z-ns2Y=6N3I>~AJgedheV%b97@;pRl{k;}-;Mn;p0hH4O^>_C=evv}KLMUv3Pe|;9;DgA4w=z0NY0H4eq?#dkYr>!NvsTak&Iws&RTJ~Z84-tyP Ar~m)} delta 26200 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