From b0ff071c664d75b095ad25d9d893dd0bb8b8670c Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sat, 27 Jun 2015 19:01:11 +0200 Subject: [PATCH 1/7] Enforces Crescent area restrictions. Installs several blast door, controlled by the central Crescent checkpoint, to enforce access restriction to the Thunderdome, shuttle, and post-security check areas. --- maps/exodus-2.dmm | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/maps/exodus-2.dmm b/maps/exodus-2.dmm index 173ca58f97..e327290919 100644 --- a/maps/exodus-2.dmm +++ b/maps/exodus-2.dmm @@ -1302,7 +1302,7 @@ "zb" = (/obj/structure/table/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/weapon/melee/energy/axe,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome) "zc" = (/obj/structure/table/reinforced,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/obj/item/device/megaphone,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom/specops) "zd" = (/obj/machinery/telecomms/relay/preset/centcom,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed) -"ze" = (/obj/machinery/door/airlock/centcom{name = "Holding Cell"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"ze" = (/obj/machinery/door/airlock/external{name = "Arrivals Bar Airlock"},/obj/machinery/door/blast/regular{id = "crescent_vip_shuttle"; name = "Crescent VIP Shuttle"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/ferry) "zf" = (/obj/structure/table,/obj/item/device/assembly/signaler,/obj/item/weapon/handcuffs,/obj/item/weapon/melee/classic_baton,/turf/unsimulated/floor{icon_state = "white"},/area/centcom/control) "zg" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/box/bodybags,/obj/item/weapon/storage/firstaid/o2,/obj/item/weapon/storage/firstaid/regular,/obj/item/device/flash,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/item/device/flash,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/firstaid/regular,/obj/item/weapon/storage/pill_bottle/antitox,/obj/item/weapon/storage/pill_bottle/kelotane,/obj/item/weapon/storage/pill_bottle/kelotane,/obj/item/weapon/storage/pill_bottle/antitox,/obj/item/weapon/storage/pill_bottle/kelotane,/obj/item/weapon/storage/firstaid/adv,/obj/item/weapon/storage/firstaid/adv,/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/fire,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) "zh" = (/obj/machinery/iv_drip,/turf/unsimulated/floor{icon_state = "vault"; dir = 1},/area/centcom) @@ -1321,7 +1321,7 @@ "zu" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor,/area/centcom/control) "zv" = (/obj/machinery/computer/secure_data,/turf/unsimulated/floor{dir = 8; icon_state = "red"},/area/centcom/control) "zw" = (/obj/item/weapon/stool{pixel_y = 8},/turf/unsimulated/floor{tag = "icon-red (EAST)"; icon_state = "red"; dir = 4},/area/centcom/control) -"zx" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) +"zx" = (/obj/machinery/door/airlock/centcom{name = "Holding Cell"; opacity = 1; req_access_txt = "101"},/obj/machinery/door/blast/regular{id = "crescent_checkpoint_access"; name = "Crescent Checkpoint"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) "zy" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/obj/structure/window/reinforced{dir = 1},/turf/unsimulated/floor,/area/centcom/control) "zz" = (/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/thrower{affect_ghosts = 1; direction = 2; name = "thrower_throwdown"; tiles = 0},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space,/area/space) "zA" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/specops) @@ -1442,7 +1442,7 @@ "BL" = (/obj/machinery/door/unpowered/shuttle,/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) "BM" = (/obj/machinery/door/airlock/external{frequency = 1380; icon_state = "door_locked"; id_tag = "centcom_shuttle_hatch"; locked = 1; name = "Shuttle Hatch"; req_access_txt = "13"},/turf/simulated/shuttle/floor,/area/shuttle/transport1/centcom) "BN" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/turf/unsimulated/wall,/area/centcom/ferry) -"BO" = (/obj/machinery/door/airlock/external{name = "Arrivals Bar Airlock"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/centcom/ferry) +"BO" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access_txt = "101"},/obj/machinery/door/blast/regular{id = "crescent_checkpoint_access"; name = "Crescent Checkpoint"},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) "BP" = (/obj/structure/bed/chair{dir = 8},/turf/unsimulated/floor{icon_state = "greencorner"; dir = 4},/area/centcom/control) "BQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/control) "BR" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/centcom/evac) @@ -1594,7 +1594,7 @@ "EH" = (/turf/unsimulated/wall,/area/tdome) "EI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) "EJ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) -"EK" = (/obj/machinery/door/airlock/centcom{name = "Thunderdome"; opacity = 1; req_access_txt = "101"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) +"EK" = (/obj/machinery/door_control{id = "crescent_checkpoint_access"; name = "Crescent Checkpoint Access"; pixel_x = -6; pixel_y = -24},/obj/machinery/door_control{id = "crescent_thunderdome"; name = "Thunderdome Access"; pixel_x = 6; pixel_y = -24},/obj/machinery/door_control{id = "crescent_vip_shuttle"; name = "VIP Shuttle Access"; pixel_x = 6; pixel_y = -34},/turf/unsimulated/floor{icon_state = "floor"},/area/centcom/control) "EL" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) "EM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 5; health = 1e+007},/turf/unsimulated/floor{name = "plating"},/area/tdome) "EN" = (/obj/structure/table/woodentable/holotable,/turf/simulated/floor/holofloor{icon_state = "carpet13-5"; dir = 4},/area/holodeck/source_courtroom) @@ -1665,7 +1665,7 @@ "Ga" = (/obj/structure/closet/secure_closet/bar,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) "Gb" = (/turf/unsimulated/floor{icon_state = "white"},/area/tdome) "Gc" = (/obj/machinery/gibber,/turf/unsimulated/floor{icon_state = "white"},/area/tdome) -"Gd" = (/obj/machinery/door/airlock/command{name = "Thunderdome"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) +"Gd" = (/obj/machinery/door/airlock/command{name = "Thunderdome"},/obj/machinery/door/blast/regular{id = "crescent_thunderdome"; name = "Thunderdome"},/turf/unsimulated/floor{icon_state = "vault"; dir = 5},/area/tdome) "Ge" = (/obj/machinery/vending/cigarette,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) "Gf" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/flame/lighter/zippo,/obj/item/weapon/storage/fancy/cigarettes,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) "Gg" = (/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/obj/structure/table,/turf/unsimulated/floor{icon_state = "redbluefull"; dir = 8},/area/tdome/tdomeobserve) @@ -1975,6 +1975,8 @@ "LY" = (/obj/structure/closet,/obj/item/weapon/reagent_containers/food/snacks/liquidfood,/obj/item/weapon/reagent_containers/food/snacks/liquidfood,/obj/item/weapon/reagent_containers/food/snacks/liquidfood,/obj/item/weapon/reagent_containers/food/snacks/liquidfood,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "LZ" = (/obj/structure/closet,/obj/item/weapon/reagent_containers/food/snacks/tastybread,/obj/item/weapon/reagent_containers/food/snacks/tastybread,/obj/item/weapon/reagent_containers/food/snacks/tastybread,/obj/item/weapon/reagent_containers/food/snacks/tastybread,/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) "Ma" = (/obj/machinery/vending/cigarette{name = "hacked cigarette machine"; prices = list(); products = list(/obj/item/weapon/storage/fancy/cigarettes = 10, /obj/item/weapon/storage/box/matches = 10, /obj/item/weapon/flame/lighter/zippo = 4, /obj/item/clothing/mask/smokable/cigarette/cigar/havana = 2)},/turf/simulated/shuttle/floor{icon_state = "floor6"},/area/syndicate_station/start) +"Mb" = (/obj/machinery/door/airlock/centcom{name = "Thunderdome"; opacity = 1; req_access_txt = "101"},/obj/machinery/door/blast/regular{id = "crescent_thunderdome"; name = "Thunderdome"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) +"Mc" = (/obj/machinery/door/airlock/centcom{name = "General Access"; opacity = 1; req_access_txt = "101"},/obj/machinery/door/blast/regular{id = "crescent_thunderdome"; name = "Thunderdome"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome) "MA" = (/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/obj/effect/step_trigger/teleporter/random{affect_ghosts = 1; name = "escapeshuttle_leave"; teleport_x = 25; teleport_x_offset = 245; teleport_y = 25; teleport_y_offset = 245; teleport_z = 6; teleport_z_offset = 6},/turf/space/transit/north/shuttlespace_ns12,/area/space) "MP" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom) "MQ" = (/obj/structure/bed/chair{dir = 4},/turf/simulated/shuttle/floor4,/area/shuttle/escape/centcom) @@ -2182,12 +2184,12 @@ aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMustvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvtvutwxvbwyoNwzwAwBoNtZoNvNvKtZtZwEoNwmvMtvwFwGwGwGwHwGwItvwJwJwJtvufufwKwLwMwNwOwPwQwRwSwLwTufuftxwUwUwUwUwUtxtxuOtxtxtxuOtxtxuNuNuNuNuNvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMwVoVoVoVoVoVoVoVoVoVoVoVoVoVwhoUoVoVoVqVwhwXwYvMwZoNyQtZxboNxcoNoNoNxdoNoNoNwmwnuWxfxfxfxfxfxfxfxgxfxfxfxgufufufxhufufxiufxiufufxhufufufxjurururururxjurururururururxjwwwwwwwwwwvvvwvwtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMmu aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMxkoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNxlxmvMxnoNvPuhLgoNtZxqtZxrtZxsxtxttZxutvxvxwxwxxxyxzxAtvxBxBxBtvufufvBxCxDwNxEufxFwRxGxCvDufufxjurururururxjurururururururxjwwwwwwwwwwtxuOuOtxtxtxtxtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMwVoVoVoVoVoVoVoVoVoVoVoVoVoVxHoUoVoVoVqVxHxIxJvMwnxKuhtZtZxLtZxMtZwmwmxNxNwmwmxutvxOxOxOxPxQxPxRtvtvtvtvtvufufvVwLxSufxiufxiufxSwLueufuftxxTxUxUxUxVtxtxxWtxtxtxuOtxtxtxxXxXxXtxtxurururxYurxZtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMxkoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNLWyaoNoNoNoNoNyboNycwmydyeyWygwmxutvtvyhyiyjykylymyhaMaMaMtxufufvVtxtxynyoufypyqtxtxueufuftxaMaMaMaMaMtxyrystxuNytuNuNyuyvywywywObtxururuQuQururyyaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMwVoVoVoVoVoVoVoVoVoVoVoVoVoVxHoUoVoVoVqVxHxIxJvMwnxKuhtZtZxLtZxMtZwmwmxNxNwmwmxutvxOxOxOxPxQxPxRtvtvtvtvtvufufvVwLxSufxiufxiEKyqwLueufuftxxTxUxUxUxVtxtxxWtxtxtxuOtxtxtxxXxXxXtxtxurururxYurxZtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMxkoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNoNLWyaoNoNoNoNoNyboNycwmydyeyWygwmxutvtvyhyiyjykylymyhaMaMaMtxufufvVtxtxynyoufypxStxtxueufuftxaMaMaMaMaMtxyrystxuNytuNuNyuyvywywywObtxururuQuQururyyaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmumumumumuaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNoNoNoNyzyAxowDtZoNxewmydyfLXygwmxpyEyFyhyGyHyIyByKyhaMaMaMtxufufvVtxtxvlvmvmvmvotxtxueufuftxaMaMaMaMaMtxysystxyLyLyLuNyuywywywywyMtxuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNzitZtZtZtZtZtZoNxetZtZwqwqwmwmwmwmyRyhySyIyIyIyIyhaMaMaMtxufufwKyTyTyTyTyTyTyTyTyTwTufuftxaMaMaMaMaMtxyUystxyLyVyLuNyuyuyuyuyuyutxuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNzltZtZtZtZtZLfoNyXtZtZyYtZtZwCvdyJzcyhyIyIyIyIzdyhtxtxtxtxtxtxzetxtxufufufufuftxtxtxtxtxtxaMaMaMaMaMtxzfystxvFuNuNuNyuaMaMaMaMaMtxuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNzgzgzhyDyZxazkoNyXzmzmoNznznoNoNoNoNyhyINbzpzqzryhzsztztzszuzvufzwtxtxtxzxtxtxtxaMaMaMaMaMaMaMaMaMaMtxtxtxtxtxtxtxtxyuaMaMaMaMaMzyuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzzmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtwgmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmt +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNzltZtZtZtZtZLfoNyXtZtZyYtZtZwCvdyJzcyhyIyIyIyIzdyhtxtxtxtxtxtxzxtxtxufufufufuftxtxtxtxtxtxaMaMaMaMaMtxzfystxvFuNuNuNyuaMaMaMaMaMtxuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMmtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNzgzgzhyDyZxazkoNyXzmzmoNznznoNoNoNoNyhyINbzpzqzryhzsztztzszuzvufzwtxtxtxBOtxtxtxaMaMaMaMaMaMaMaMaMaMtxtxtxtxtxtxtxtxyuaMaMaMaMaMzyuryNuPuPyOuryPaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzzmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtwgmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmtmt aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMoNoNoNoNoNoNoNoNoNoNoNoNzAzBzBzAaMaMaMyhyIzCzDzEzDyhzszFzFzszGzHufzwtxzIwTufwKzJtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzKururzLzLururzKaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzMzNzNzNzNzOzOzNzNzPaMyhyIyIyIyIyIyhzsztztzszQzHufzwtxueufufufvVtxaMaMaMaMaMaMaMaMaMaMaMaMzRzSNaNaNazTzUaMaMaMaMaMtxzVururururzWtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMzXzYzZAaAbAcAcAdAdzNzPyhyhyhyhyhyhyhzszszszsAezHufzwtxAfuxAfAhAftxaMaMaMaMaMaMaMaMaMaMaMzRAiNiNjNkNlNmAlzUaMaMaMaMtxtxtxtxtxtxtxtxaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM @@ -2198,7 +2200,7 @@ aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAVAWAWAWAWAWAWAWAWAWAWAWAWAWAXAYAZBaBbBcBcBcBcBcAHBdxCBeufufBfvVxCBdyuaMaMaMaMaMaMaMaMAtADCrAtMSMTMUAtBuADAtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAVAWAWBlBmBnBlBmBmBoBpBqBmBrBsAYAWAWBtBcBcBcBcBcAHBdwrBeufufufvVwrBdyuyuyuyuyuyuaMaMaMACADCrCCMQMRMPCCBuADACaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAVAWBlByBzBABBBCBCBCBCBCBCBDBEAYAWAWBbBcBcBcBcBcAHBdwrBeufufufBFwrBdBGBGBGBGBGyuaMaMzRAiADCrDfMQBwMPDfBuADAlzUaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAVAWBIBJBKBJBLBJBJBJBJBJBJBJBMAWAWAWAHAHAHAHBNBOAHBdwrBeufufufBPBQvmBRBRBRBRBRBRBRBSAtBgADCrAlACBvACAiBuADBgAtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAVAWBIBJBKBJBLBJBJBJBJBJBJBJBMAWAWAWAHAHAHAHBNzeAHBdwrBeufufufBPBQvmBRBRBRBRBRBRBRBSAtBgADCrAlACBvACAiBuADBgAtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAVAWBWBXBYBZBBCaCaCaCaCaCaCbCcAYAWAWAHCdCeCfCgCgAHChCiCjufufufufCkClClMZClClCmCnCoCnCpADADADMYMXADADMYADADCrACaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAVAWAWBWBmCsBWBmBmBoBpBqBmCtBsAYAWAWAHCuCvCwCgCgCxCyCzufufufufufCkClClClClClCmCABRBSAtMVADCrCCBuADCrCCBuADMWAtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAVAWAWAWAWAWAWAWAWAWAWAWAWAWAXAYAWAWAHCECFCGCgCgCxCyCzufufufufCHCIBRCJClClCKCLyuaMaMCCBuADCrCMBuADCrCMBuADCrCCaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM @@ -2210,13 +2212,13 @@ aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHDgDgDLDgDMDsDiDNDODlCPDmDPDQDlCPDGDRDSDSDSDSDSCNDTDTDTNDDVDVDWDXDXCNBGBGBGBGyuaMaMAtNENFAtNHNIEaNKNJAtNLNGAtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHEcDgDgEdDgDsDiEeEfDlCPDmEgEhDlCPDGDSDSDSDSDSDSCNEiEjEjElDVDVDVDXDXCNyuyuyuyuyuaMaMAtNXNYAtNWNVEaEaNUAtNTNSAtaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHNODgDgDgDgEoDaCPCPCPCPCPCPCPCPCPDGDSDSEpEqErEsCNEtDVDVDVEwExDVDVEyCNaMaMaMaMaMaMaMEAEBEBAtNQEaNREbNPAtEBEBBVaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHDgECNuDrEDEEEFEGEGEGEHEHEHEIEJEKELEMEHEHEHCNCNCNNvDVDVEwEPEQExERESCNaMaMaMaMaMaMaMETEVEVBVDYDZEaNtNsEAEVEVEWaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHDgECNuDrEDEEEFEGEGEGEHEHEHEIEJMbELEMEHEHEHCNCNCNNvDVDVEwEPEQExERESCNaMaMaMaMaMaMaMETEVEVBVDYDZEaNtNsEAEVEVEWaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHDgDgDgEDEXEYEZEZEZEZEHFaFbFcFdFeFfFgFbFaEHCNCNCNCNCNCNNrFiNqFkERESCNaMaMaMaMaMaMaMaMaMaMETATEUEUEUATEWaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHFlDgEDEXEYEYEZEZEZEZEHFbFmFnFdFeFfFnFoFbEHFpFqFrFsFtCNDVFhFkDVDVEwFuaMaMaMaMaMaMaMaMaMaMaMETEVEVEVEWaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHDgEDEXEYEYEYEZEZEZEZEHFvFbFvFdFeFfFvFbFvEHFwDVDVDVDVFxDVDVDVDVDVFyFzaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHEDEXEYEYEYEYEYEYEYEYEHFAFbFbFdFeFfFbFbFBEHFCFDFEFFFGCNDVDVDVDVDVFHFIaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMAHAHAHAHAHAHAHAHAHAHAHAHEHFJFKFKFdFeFfFLFLFMEHFNFOFPFQFRCNFSFTFUFVFWFXCNaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM -aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHFeFeFeFeFeFeFeFeFeFeFeEHEHFYEHEHFeEHEHFYEHEHEHEHEHEHEHCNCNCNCNCNCNCNCNaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM +aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHFeFeFeFeFeFeFeFeFeFeFeEHEHMcEHEHFeEHEHMcEHEHEHEHEHEHEHCNCNCNCNCNCNCNCNaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHFeEHEHEHEHFZEHEHEHFeFeFeFeFeFeEHFeEHFeFeFeFeFeFeFeFeEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHFeEHGaGbGbGbGbGcEHEHEHEHEHEHEHEHGdEHEHEHEHEHEHEHEHFeEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM aMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMEHFeEHGaGbGbGbGbGcEHGeGfGgGfGhGiGiGiGiGiGhGiGhGiGjEHFeEHaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaMaM From 6c8d5903e585f4f8d61efcc57401942b968fc9c3 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sat, 27 Jun 2015 19:05:37 +0200 Subject: [PATCH 2/7] Changelog entries. --- .../PsiOmegaDelta-CrescentRestrictions.yml | 5 +++ html/changelogs/example.yml | 37 +++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 html/changelogs/PsiOmegaDelta-CrescentRestrictions.yml create mode 100644 html/changelogs/example.yml diff --git a/html/changelogs/PsiOmegaDelta-CrescentRestrictions.yml b/html/changelogs/PsiOmegaDelta-CrescentRestrictions.yml new file mode 100644 index 0000000000..7cec02cdbe --- /dev/null +++ b/html/changelogs/PsiOmegaDelta-CrescentRestrictions.yml @@ -0,0 +1,5 @@ +author: PsiOmegaDelta +delete-after: True + +changes: + - maptweak: "Non-general areas on Crescent are now protected by blast doors to enforce area restrictions. Admins can operate these from the central checkpoint." diff --git a/html/changelogs/example.yml b/html/changelogs/example.yml new file mode 100644 index 0000000000..c34ccdd0a0 --- /dev/null +++ b/html/changelogs/example.yml @@ -0,0 +1,37 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +################################# + +# Your name. +author: N3X15 + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Added a changelog editing system that should cause fewer conflicts and more accurate timestamps." + - rscdel: "Killed innocent kittens." From cecf48ce2434e74049e4e6a3559e62cf22aa654b Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Sat, 27 Jun 2015 19:06:58 +0200 Subject: [PATCH 3/7] Enforces the continued existence of example.yml. --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 1c6b3ecedc..ee7b92770c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,5 +20,6 @@ script: - shopt -s globstar - (! grep 'step_[xy]' maps/**/*.dmm) - (! find nano/templates/ -type f -exec md5sum {} + | sort | uniq -D -w 32 | grep nano) - - ( md5sum -c - <<< "0af969f671fba6cf9696c78cd175a14a *baystation12.int") + - md5sum -c - <<< "0af969f671fba6cf9696c78cd175a14a *baystation12.int" + - md5sum -c - <<< "88490b460c26947f5ec1ab1bb9fa9f17 *html/changelogs/example.yml" - DreamMaker baystation12.dme From 9a9f8e55632def1c3fcb534777dba68db3f221cc Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Sun, 28 Jun 2015 11:43:53 +0100 Subject: [PATCH 4/7] (probably) fixes an issue where the server hangs at roundstart if the IRC bot doesn't respond properly --- code/modules/ext_scripts/irc.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/ext_scripts/irc.dm b/code/modules/ext_scripts/irc.dm index 19df691757..7975316508 100644 --- a/code/modules/ext_scripts/irc.dm +++ b/code/modules/ext_scripts/irc.dm @@ -1,7 +1,8 @@ /proc/send2irc(var/channel, var/msg) if(config.use_irc_bot && config.irc_bot_host) if(config.irc_bot_export) - world.Export("http://[config.irc_bot_host]:45678?[list2params(list(pwd=config.comms_password, chan=channel, mesg=msg))]") + spawn(-1) // spawn here prevents hanging in the case that the bot isn't reachable + world.Export("http://[config.irc_bot_host]:45678?[list2params(list(pwd=config.comms_password, chan=channel, mesg=msg))]") else if(config.use_lib_nudge) var/nudge_lib From 4062f81f20b88387cbea88fe6c41974e50c8daea Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 27 Jun 2015 14:19:44 -0400 Subject: [PATCH 5/7] Fixes #7910 Partial port from vgstation. Notable differences: handle_regular_hud_updates() is called anytime view is reset, instead of just from the cancel camera verb. check_eye() now returns the vision flags to be set on the viewer. Moved cameraFollow to silicon. Camera consoles now call reset_view explicitly when they want to change a mob's view, instead of leaving it as a side effect of check_eye() --- code/game/atoms.dm | 6 +- code/game/machinery/camera/camera.dm | 5 ++ code/game/machinery/computer/camera.dm | 16 +++-- .../game/machinery/computer/camera_monitor.dm | 67 ------------------- code/game/machinery/computer3/bios.dm | 6 +- code/game/objects/items/devices/spy_bug.dm | 2 +- code/modules/mob/living/carbon/alien/life.dm | 2 +- code/modules/mob/living/carbon/brain/life.dm | 2 +- code/modules/mob/living/carbon/human/human.dm | 5 ++ code/modules/mob/living/carbon/human/life.dm | 9 ++- code/modules/mob/living/carbon/monkey/life.dm | 2 +- code/modules/mob/living/living_defines.dm | 2 - code/modules/mob/living/silicon/ai/ai.dm | 2 +- code/modules/mob/living/silicon/pai/pai.dm | 7 +- code/modules/mob/living/silicon/robot/life.dm | 2 +- code/modules/mob/living/silicon/silicon.dm | 6 ++ code/modules/mob/mob.dm | 6 +- 17 files changed, 48 insertions(+), 99 deletions(-) delete mode 100644 code/game/machinery/computer/camera_monitor.dm diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 63c309bb0b..fca6effc22 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -34,10 +34,12 @@ else return null +//return flags that should be added to the viewer's sight var. +//Otherwise return a negative number to indicate that the view should be cancelled. /atom/proc/check_eye(user as mob) if (istype(user, /mob/living/silicon/ai)) // WHYYYY - return 1 - return + return 0 + return -1 /atom/proc/on_reagent_change() return diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index bb99773362..ad8a53676f 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -236,6 +236,11 @@ //I guess that doesn't matter since they couldn't use it anyway? kick_viewers() +/obj/machinery/camera/check_eye(mob/user) + if(!can_use()) return -1 + if(isXRay()) return SEE_TURFS|SEE_MOBS|SEE_OBJS + return 0 + //This might be redundant, because of check_eye() /obj/machinery/camera/proc/kick_viewers() for(var/mob/O in player_list) diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm index 8cb58a14cb..a37d247331 100644 --- a/code/game/machinery/computer/camera.dm +++ b/code/game/machinery/computer/camera.dm @@ -22,11 +22,13 @@ check_eye(var/mob/user as mob) if (user.stat || ((get_dist(user, src) > 1 || !( user.canmove ) || user.blinded) && !istype(user, /mob/living/silicon))) //user can't see - not sure why canmove is here. - return null - if ( !current || !current.can_use() ) //camera doesn't work + return -1 + if(!current) + return 0 + var/viewflag = current.check_eye(user) + if ( viewflag < 0 ) //camera doesn't work reset_current() - user.reset_view(current) - return 1 + return viewflag ui_interact(mob/user, ui_key = "main", datum/nanoui/ui = null, force_open = 1) if(src.z > 6) return @@ -88,7 +90,7 @@ if(src.z>6 || stat&(NOPOWER|BROKEN)) return if(usr.stat || ((get_dist(usr, src) > 1 || !( usr.canmove ) || usr.blinded) && !istype(usr, /mob/living/silicon))) return reset_current() - usr.check_eye(current) + usr.reset_view(current) return 1 else . = ..() @@ -124,8 +126,8 @@ if (!C.can_use() || user.stat || (get_dist(user, src) > 1 || user.machine != src || user.blinded || !( user.canmove ) && !istype(user, /mob/living/silicon))) return 0 set_current(C) + user.reset_view(current) check_eye(user) - use_power(50) return 1 //Camera control: moving. @@ -167,6 +169,7 @@ src.current = C if(current) + use_power = 2 var/mob/living/L = current.loc if(istype(L)) L.tracking_initiated() @@ -177,6 +180,7 @@ if(istype(L)) L.tracking_cancelled() current = null + use_power = 1 //Camera control: mouse. /atom/DblClick() diff --git a/code/game/machinery/computer/camera_monitor.dm b/code/game/machinery/computer/camera_monitor.dm deleted file mode 100644 index 11e8ddd43c..0000000000 --- a/code/game/machinery/computer/camera_monitor.dm +++ /dev/null @@ -1,67 +0,0 @@ - -/obj/machinery/computer/security - New() - if(network) - networks = list(network) - else - switch(department) - if("Security") - networks = list("Arrivals","SS13","Engineering","Research","Medbay","Tcomsat","Mess Hall","Security","Prison Wing","Atmospherics","Cargo","Command","Solars","Robotics","Chapel","Hydroponics", "Dormitory","Theatre","Library") - if("Engineering") - networks = list("Engineering","Tcomsat","Singularity","Atmospherics","Solars","Robotics") - if("Research") - networks = list("Research","Bomb Testing","Outpost") - if("Medbay") - networks = list("Medbay") - if("Cargo") - networks = list("Mine","Cargo") - if("Mining") - networks = list("Mine") - if("Thunderdome") - networks = list("thunder") - if("CREED") - networks = list("CREED") - -/obj/machinery/computer/security/attack_hand(var/mob/user as mob) - if (stat & (NOPOWER|BROKEN)) - return - - user.machine = src - if(src.current) - user.reset_view(src.current) - - var/list/L = new/list - for (var/obj/machinery/camera/C in world) - L.Add(C) - - camera_network_sort(L) - - var/list/D = new() - D["Cancel"] = "Cancel" - for (var/obj/machinery/camera/C in L) - if ( C.network in src.networks ) - D[text("[]: [][]", C.network, C.c_tag, (C.can_use() ? null : " (Deactivated)"))] = C - - var/t = input(user, "Which camera should you change to?") as null|anything in D - - if(!t) - user.machine = null - user.reset_view(null) - return 0 - - var/obj/machinery/camera/C = D[t] - - if (t == "Cancel") - user.cancel_camera() - return 0 - - if (C) - if ((get_dist(user, src) > 1 || user.machine != src || user.blinded || !( user.canmove ) || !( C.status )) && (!istype(user, /mob/living/silicon/ai))) - return 0 - else - src.current = C - use_power(50) - user.reset_view(C) - - spawn( 5 ) - attack_hand(user) diff --git a/code/game/machinery/computer3/bios.dm b/code/game/machinery/computer3/bios.dm index 17ed0c4789..e5be05b56e 100644 --- a/code/game/machinery/computer3/bios.dm +++ b/code/game/machinery/computer3/bios.dm @@ -69,16 +69,16 @@ if(!interactable(user) || user.machine != src) if(user.machine == src) user.unset_machine() - return null + return -1 var/datum/file/program/security/S = program if( !istype(S) || !S.current || !S.current.status || !camnet ) if( user.machine == src ) user.unset_machine() - return null + return -1 user.reset_view(S.current) - return 1 + return 0 /* List all files, including removable disks and data cards diff --git a/code/game/objects/items/devices/spy_bug.dm b/code/game/objects/items/devices/spy_bug.dm index 2ad3df7ae5..2561494e96 100644 --- a/code/game/objects/items/devices/spy_bug.dm +++ b/code/game/objects/items/devices/spy_bug.dm @@ -142,7 +142,7 @@ c_tag = name /obj/machinery/camera/spy/check_eye(var/mob/user as mob) - return 1 + return 0 /obj/item/device/radio/spy listening = 0 diff --git a/code/modules/mob/living/carbon/alien/life.dm b/code/modules/mob/living/carbon/alien/life.dm index 13bc1a4686..6e206ff10e 100644 --- a/code/modules/mob/living/carbon/alien/life.dm +++ b/code/modules/mob/living/carbon/alien/life.dm @@ -166,7 +166,7 @@ if (stat != 2) if (machine) - if (!( machine.check_eye(src) )) + if ( machine.check_eye(src) < 0) reset_view(null) else if(client && !client.adminobs) diff --git a/code/modules/mob/living/carbon/brain/life.dm b/code/modules/mob/living/carbon/brain/life.dm index 8e8a26d883..9b74d2b0e6 100644 --- a/code/modules/mob/living/carbon/brain/life.dm +++ b/code/modules/mob/living/carbon/brain/life.dm @@ -245,7 +245,7 @@ if (stat != 2) if (machine) - if (!( machine.check_eye(src) )) + if (machine.check_eye(src) < 0) reset_view(null) else if(client && !client.adminobs) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 1cd30fe9ba..1dad3cb800 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1308,3 +1308,8 @@ if((species.flags & NO_SLIP) || (shoes && (shoes.flags & NOSLIP))) return 0 ..(slipped_on,stun_duration) + +/mob/living/carbon/human/reset_view(atom/A, update_hud = 1) + ..() + if(update_hud) + handle_regular_hud_updates() diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index f7e23fc3c4..fed5b3dba4 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -1407,8 +1407,11 @@ client.screen |= global_hud.darkMask if(machine) - if(!machine.check_eye(src)) - reset_view(null) + var/viewflags = machine.check_eye(src) + if(viewflags < 0) + reset_view(null, 0) + else if(viewflags) + sight |= viewflags else var/isRemoteObserve = 0 if((mRemote in mutations) && remoteview_target) @@ -1416,7 +1419,7 @@ isRemoteObserve = 1 if(!isRemoteObserve && client && !client.adminobs) remoteview_target = null - reset_view(null) + reset_view(null, 0) return 1 proc/process_glasses(var/obj/item/clothing/glasses/G) diff --git a/code/modules/mob/living/carbon/monkey/life.dm b/code/modules/mob/living/carbon/monkey/life.dm index d2785826c8..9ba0be0847 100644 --- a/code/modules/mob/living/carbon/monkey/life.dm +++ b/code/modules/mob/living/carbon/monkey/life.dm @@ -567,7 +567,7 @@ if (stat != 2) if (machine) - if (!( machine.check_eye(src) )) + if (machine.check_eye(src) < 0) reset_view(null) else if(client && !client.adminobs) diff --git a/code/modules/mob/living/living_defines.dm b/code/modules/mob/living/living_defines.dm index 9998a08feb..50b21aecdf 100644 --- a/code/modules/mob/living/living_defines.dm +++ b/code/modules/mob/living/living_defines.dm @@ -33,8 +33,6 @@ var/now_pushing = null - var/mob/living/cameraFollow = null - var/tod = null // Time of death var/update_slimes = 1 var/silent = null // Can't talk. Value goes down every life proc. diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 7edbbac68d..32c2b643b0 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -390,7 +390,7 @@ var/list/ai_verbs_default = list( if (!camera) return null user.reset_view(camera) - return 1 + return 0 /mob/living/silicon/ai/restrained() return 0 diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index a347ba45be..e575c2d7c4 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -123,9 +123,9 @@ /mob/living/silicon/pai/check_eye(var/mob/user as mob) if (!src.current) - return null + return -1 user.reset_view(src.current) - return 1 + return 0 /mob/living/silicon/pai/blob_act() if (src.stat != 2) @@ -185,9 +185,6 @@ return /mob/living/silicon/pai/proc/switchCamera(var/obj/machinery/camera/C) - if(istype(usr, /mob/living)) - var/mob/living/U = usr - U.cameraFollow = null if (!C) src.unset_machine() src.reset_view(null) diff --git a/code/modules/mob/living/silicon/robot/life.dm b/code/modules/mob/living/silicon/robot/life.dm index 8aaba03cb1..680b2aa0bd 100644 --- a/code/modules/mob/living/silicon/robot/life.dm +++ b/code/modules/mob/living/silicon/robot/life.dm @@ -285,7 +285,7 @@ if (src.stat != 2) if (src.machine) - if (!( src.machine.check_eye(src) )) + if (src.machine.check_eye(src) < 0) src.reset_view(null) else if(client && !client.adminobs) diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index b504166697..fd52fd00de 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -26,6 +26,7 @@ var/obj/nano_module/alarm_monitor = null var/sensor_mode = 0 //Determines the current HUD. + var/mob/living/cameraFollow = null var/next_alarm_notice var/list/datum/alarm/queued_alarms = new() @@ -360,3 +361,8 @@ for(var/obj/machinery/camera/C in A.cameras()) cameratext += "[(cameratext == "")? "" : "|"][C.c_tag]" src << "[A.alarm_name()]! ([(cameratext)? cameratext : "No Camera"])" + +/mob/living/silicon/reset_view() + ..() + if(cameraFollow) + cameraFollow = null diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 637bc64303..e5949f3985 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -566,12 +566,8 @@ var/list/slot_equipment_priority = list( \ /mob/verb/cancel_camera() set name = "Cancel Camera View" set category = "OOC" - reset_view(null) unset_machine() - if(istype(src, /mob/living)) - var/mob/living/M = src - if(M.cameraFollow) - M.cameraFollow = null + reset_view(null) /mob/Topic(href, href_list) if(href_list["mach_close"]) From 7bd6b7888a85a3ed1a4472f1b3e8b9117723686b Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Mon, 29 Jun 2015 13:56:22 +0100 Subject: [PATCH 6/7] Fixes apple seed packets being (?) icons --- icons/obj/seeds.dmi | Bin 7330 -> 7410 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/seeds.dmi b/icons/obj/seeds.dmi index 530683ef9bf7afda4d4943f53c9e1950892c6abb..617b5e1f07e98fb753e2e50843fa127b2a5f18c8 100644 GIT binary patch literal 7410 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 From ebf037af5e5ae0857d4646936cce0ab8c3762dff Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Tue, 30 Jun 2015 06:26:51 +0100 Subject: [PATCH 7/7] Fixes an infinite loop issue Title. reset_view() called handle_regular_hud_updates() called check_eye() called reset_view() [...] --- code/game/machinery/computer3/bios.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/computer3/bios.dm b/code/game/machinery/computer3/bios.dm index e5be05b56e..9b590bf3af 100644 --- a/code/game/machinery/computer3/bios.dm +++ b/code/game/machinery/computer3/bios.dm @@ -77,7 +77,7 @@ user.unset_machine() return -1 - user.reset_view(S.current) + user.reset_view(S.current, 0) return 0 /*