From 3c5e6d620a1afbbe32ec6c885f021a84e4486a5f Mon Sep 17 00:00:00 2001 From: Arokha Sieyes Date: Fri, 2 Feb 2018 16:13:31 -0500 Subject: [PATCH 01/13] Adds generic can_telecomm proc --- .../machinery/telecomms/telecomunications.dm | 49 +++++++++++++++++++ .../devices/communicator/communicator.dm | 4 +- 2 files changed, 51 insertions(+), 2 deletions(-) diff --git a/code/game/machinery/telecomms/telecomunications.dm b/code/game/machinery/telecomms/telecomunications.dm index 1951ba7c47..7621b1f548 100644 --- a/code/game/machinery/telecomms/telecomunications.dm +++ b/code/game/machinery/telecomms/telecomunications.dm @@ -314,7 +314,25 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list() circuitboard = "/obj/item/weapon/circuitboard/telecomms/hub" long_range_link = 1 netspeed = 40 + var/list/telecomms_map +/obj/machinery/telecomms/hub/initialize() + . = ..() + LAZYINITLIST(telecomms_map) + +/obj/machinery/telecomms/hub/process() + . = ..() + telecomms_map.Cut() + + if(!on) + return + + for(var/M in links) + if(istype(M,/obj/machinery/telecomms/receiver) || istype(M,/obj/machinery/telecomms/relay)) + var/obj/machinery/telecomms/R = M + if(!R.on) + continue + telecomms_map |= R.listening_level /obj/machinery/telecomms/hub/receive_information(datum/signal/signal, obj/machinery/telecomms/machine_from) if(is_freq_listening(signal)) @@ -633,9 +651,40 @@ var/global/list/obj/machinery/telecomms/telecomms_list = list() var/garbage_collector = 1 // if set to 0, will not be garbage collected var/input_type = "Speech File" +//Generic telecomm connectivity test proc +/proc/can_telecomm(var/atom/A, var/atom/B, var/ad_hoc = FALSE) + if(!A || !B) + log_debug("can_telecomm(): Undefined endpoints!") + return FALSE + //Can't in this case, obviously! + if(is_jammed(A) || is_jammed(B)) + return FALSE + //Items don't have a Z when inside an object or mob + var/turf/src_turf = get_turf(A) + var/turf/dst_turf = get_turf(B) + //Nullspace, probably. + if(!src_turf || !dst_turf) + return FALSE + var/src_z = src_turf.z + var/dst_z = dst_turf.z + //Mysterious! + if(!src_z || !dst_z) + return FALSE + //We can do the simple check first, if you have ad_hoc radios. + if(ad_hoc && src_z == dst_z) + return TRUE + + //Let's look at hubs and see what we got. + var/can_comm = FALSE + for(var/obj/machinery/telecomms/hub/H in telecomms_list) + if((src_z in H.telecomms_map) && (dst_z in H.telecomms_map)) + can_comm = TRUE + break + + return can_comm diff --git a/code/game/objects/items/devices/communicator/communicator.dm b/code/game/objects/items/devices/communicator/communicator.dm index ad3ad9522f..cac80c84d0 100644 --- a/code/game/objects/items/devices/communicator/communicator.dm +++ b/code/game/objects/items/devices/communicator/communicator.dm @@ -173,8 +173,8 @@ var/global/list/obj/item/device/communicator/all_communicators = list() // Parameters: None // Description: Simple check to see if the exonet node is active. /obj/item/device/communicator/proc/get_connection_to_tcomms() - if(node && node.on && node.allow_external_communicators && !is_jammed(src)) - return 1 + if(node && node.on && node.allow_external_communicators) + return can_telecomm(src,node) return 0 // Proc: process() From 0e8c2cba7de87d9dc6c0bd9b39a7d3c6d57a31ed Mon Sep 17 00:00:00 2001 From: Cyantime Date: Fri, 2 Feb 2018 19:28:46 -0500 Subject: [PATCH 02/13] Changes sleeper UI to be centered on the console --- code/game/machinery/Sleeper.dm | 177 +++++++++++++++++---------------- 1 file changed, 90 insertions(+), 87 deletions(-) diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm index 3ef80aa27b..3de2943265 100644 --- a/code/game/machinery/Sleeper.dm +++ b/code/game/machinery/Sleeper.dm @@ -39,10 +39,8 @@ if(!sleeper) findsleeper() - if(sleeper) - return sleeper.ui_interact(user) - else if(sleeper) - return sleeper.ui_interact(user) + if(sleeper) + return ui_interact(user) else to_chat(user, "Sleeper not found!") @@ -59,6 +57,94 @@ else icon_state = initial(icon_state) +/obj/machinery/sleep_console/ui_interact(var/mob/user, var/ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1, var/datum/topic_state/state = outside_state) + var/data[0] + + var/obj/machinery/sleeper/S = sleeper + var/mob/living/carbon/human/occupant = sleeper.occupant + + data["power"] = S.stat & (NOPOWER|BROKEN) ? 0 : 1 + + var/list/reagents = list() + for(var/T in S.available_chemicals) + var/list/reagent = list() + reagent["id"] = T + reagent["name"] = S.available_chemicals[T] + if(occupant) + reagent["amount"] = occupant.reagents.get_reagent_amount(T) + reagents += list(reagent) + data["reagents"] = reagents.Copy() + + if(occupant) + data["occupant"] = 1 + switch(occupant.stat) + if(CONSCIOUS) + data["stat"] = "Conscious" + if(UNCONSCIOUS) + data["stat"] = "Unconscious" + if(DEAD) + data["stat"] = "Dead" + data["health"] = occupant.health + data["maxHealth"] = occupant.getMaxHealth() + if(iscarbon(occupant)) + var/mob/living/carbon/C = occupant + data["pulse"] = C.get_pulse(GETPULSE_TOOL) + data["brute"] = occupant.getBruteLoss() + data["burn"] = occupant.getFireLoss() + data["oxy"] = occupant.getOxyLoss() + data["tox"] = occupant.getToxLoss() + else + data["occupant"] = 0 + if(S.beaker) + data["beaker"] = S.beaker.reagents.get_free_space() + else + data["beaker"] = -1 + data["filtering"] = S.filtering + + var/stasis_level_name = "Error!" + for(var/N in S.stasis_choices) + if(S.stasis_choices[N] == S.stasis_level) + stasis_level_name = N + break + data["stasis"] = stasis_level_name + + ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) + if(!ui) + ui = new(user, src, ui_key, "sleeper.tmpl", "Sleeper UI", 600, 600, state = state) + ui.set_initial_data(data) + ui.open() + ui.set_auto_update(1) + +/obj/machinery/sleep_console/Topic(href, href_list) + if(..()) + return 1 + + var/obj/machinery/sleeper/S = sleeper + + if(usr == S.occupant) + to_chat(usr, "You can't reach the controls from the inside.") + return + + add_fingerprint(usr) + + if(href_list["eject"]) + S.go_out() + if(href_list["beaker"]) + S.remove_beaker() + if(href_list["sleeper_filter"]) + if(S.filtering != text2num(href_list["sleeper_filter"])) + S.toggle_filter() + if(href_list["chemical"] && href_list["amount"]) + if(S.occupant && S.occupant.stat != DEAD) + if(href_list["chemical"] in S.available_chemicals) // Your hacks are bad and you should feel bad + S.inject_chemical(usr, href_list["chemical"], text2num(href_list["amount"])) + if(href_list["change_stasis"]) + var/new_stasis = input("Levels deeper than 50% stasis level will render the patient unconscious.","Stasis Level") as null|anything in S.stasis_choices + if(new_stasis && CanUseTopic(usr, default_state) == STATUS_INTERACTIVE) + S.stasis_level = S.stasis_choices[new_stasis] + + return 1 + /obj/machinery/sleeper name = "sleeper" desc = "A stasis pod with built-in injectors, a dialysis machine, and a limited health scanner." @@ -121,89 +207,6 @@ /obj/machinery/sleeper/update_icon() icon_state = "sleeper_[occupant ? "1" : "0"]" -/obj/machinery/sleeper/ui_interact(var/mob/user, var/ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1, var/datum/topic_state/state = outside_state) - var/data[0] - - data["power"] = stat & (NOPOWER|BROKEN) ? 0 : 1 - - var/list/reagents = list() - for(var/T in available_chemicals) - var/list/reagent = list() - reagent["id"] = T - reagent["name"] = available_chemicals[T] - if(occupant) - reagent["amount"] = occupant.reagents.get_reagent_amount(T) - reagents += list(reagent) - data["reagents"] = reagents.Copy() - - if(occupant) - data["occupant"] = 1 - switch(occupant.stat) - if(CONSCIOUS) - data["stat"] = "Conscious" - if(UNCONSCIOUS) - data["stat"] = "Unconscious" - if(DEAD) - data["stat"] = "Dead" - data["health"] = occupant.health - data["maxHealth"] = occupant.getMaxHealth() - if(iscarbon(occupant)) - var/mob/living/carbon/C = occupant - data["pulse"] = C.get_pulse(GETPULSE_TOOL) - data["brute"] = occupant.getBruteLoss() - data["burn"] = occupant.getFireLoss() - data["oxy"] = occupant.getOxyLoss() - data["tox"] = occupant.getToxLoss() - else - data["occupant"] = 0 - if(beaker) - data["beaker"] = beaker.reagents.get_free_space() - else - data["beaker"] = -1 - data["filtering"] = filtering - - var/stasis_level_name = "Error!" - for(var/N in stasis_choices) - if(stasis_choices[N] == stasis_level) - stasis_level_name = N - break - data["stasis"] = stasis_level_name - - ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) - if(!ui) - ui = new(user, src, ui_key, "sleeper.tmpl", "Sleeper UI", 600, 600, state = state) - ui.set_initial_data(data) - ui.open() - ui.set_auto_update(1) - -/obj/machinery/sleeper/Topic(href, href_list) - if(..()) - return 1 - - if(usr == occupant) - to_chat(usr, "You can't reach the controls from the inside.") - return - - add_fingerprint(usr) - - if(href_list["eject"]) - go_out() - if(href_list["beaker"]) - remove_beaker() - if(href_list["sleeper_filter"]) - if(filtering != text2num(href_list["sleeper_filter"])) - toggle_filter() - if(href_list["chemical"] && href_list["amount"]) - if(occupant && occupant.stat != DEAD) - if(href_list["chemical"] in available_chemicals) // Your hacks are bad and you should feel bad - inject_chemical(usr, href_list["chemical"], text2num(href_list["amount"])) - if(href_list["change_stasis"]) - var/new_stasis = input("Levels deeper than 50% stasis level will render the patient unconscious.","Stasis Level") as null|anything in stasis_choices - if(new_stasis && CanUseTopic(usr, default_state) == STATUS_INTERACTIVE) - stasis_level = stasis_choices[new_stasis] - - return 1 - /obj/machinery/sleeper/attackby(var/obj/item/I, var/mob/user) add_fingerprint(user) if(istype(I, /obj/item/weapon/grab)) From d71a2be3469e1e5f8b10edea61fd0a369a4167f4 Mon Sep 17 00:00:00 2001 From: Arokha Sieyes Date: Sat, 3 Feb 2018 19:19:26 -0500 Subject: [PATCH 03/13] POLARIS: Add shuttle door/environment sensors --- code/modules/shuttles/shuttles_web.dm | 88 +++++++++++++++++++++++- nano/templates/flight.tmpl | 97 +++++++++++++++++++++++++-- 2 files changed, 179 insertions(+), 6 deletions(-) diff --git a/code/modules/shuttles/shuttles_web.dm b/code/modules/shuttles/shuttles_web.dm index 5034d249ac..c55aba9c39 100644 --- a/code/modules/shuttles/shuttles_web.dm +++ b/code/modules/shuttles/shuttles_web.dm @@ -128,6 +128,31 @@ icon_state = "flightcomp_center" icon_keyboard = "flight_center_key" icon_screen = "flight_center" + var/list/my_doors //Should be list("id_tag" = "Pretty Door Name", ...) + var/list/my_sensors //Should be list("id_tag" = "Pretty Sensor Name", ...) + +/obj/machinery/computer/shuttle_control/web/initialize() + . = ..() + var/area/my_area = get_area(src) + if(my_doors) + var/list/find_doors = my_doors + my_doors = list() + for(var/obj/machinery/door/airlock/A in my_area) + if(A.id_tag in find_doors) + my_doors[find_doors[A.id_tag]] = A + find_doors -= A.id_tag + for(var/lost in find_doors) + log_debug("[my_area] shuttle computer couldn't find [lost] door!") + + if(my_sensors) + var/list/find_sensors = my_sensors + my_sensors = list() + for(var/obj/machinery/shuttle_sensor/S in my_area) + if(S.id_tag in find_sensors) + my_sensors[find_sensors[S.id_tag]] = S + find_sensors -= S.id_tag + for(var/lost in find_sensors) + log_debug("[my_area] shuttle computer couldn't find [lost] sensor!") // Fairly copypasta-y. /obj/machinery/computer/shuttle_control/web/attack_hand(mob/user) @@ -244,6 +269,21 @@ if(total_time) // Need to check or we might divide by zero. percent_finished = (elapsed_time / total_time) * 100 + + var/list/doors = list() + if(my_doors) + for(var/doorname in my_doors) + var/obj/machinery/door/airlock/A = my_doors[doorname] + if(A) + doors[doorname] = list("bolted" = A.locked, "open" = !A.density) + + var/list/sensors = list() + if(my_sensors) + for(var/sensorname in my_sensors) + var/obj/machinery/shuttle_sensor/S = my_sensors[sensorname] + if(S) + sensors[sensorname] = S.air_list() + data = list( "shuttle_location" = shuttle_location, "future_location" = future_location, @@ -261,13 +301,15 @@ "cloaked" = shuttle.cloaked ? 1 : 0, "can_autopilot" = shuttle.can_autopilot ? 1 : 0, "autopilot" = shuttle.autopilot ? 1 : 0, - "can_rename" = shuttle.can_rename ? 1 : 0 + "can_rename" = shuttle.can_rename ? 1 : 0, + "doors" = doors, + "sensors" = sensors ) ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if(!ui) - ui = new(user, src, ui_key, "flight.tmpl", "[shuttle.visible_name] Flight Computer", 470, 500) + ui = new(user, src, ui_key, "flight.tmpl", "[shuttle.visible_name] Flight Computer", 500, 500) ui.set_initial_data(data) ui.open() ui.set_auto_update(1) @@ -411,3 +453,45 @@ processing_objects -= src qdel(src) + +//A sensor for detecting air outside shuttles! Handy, that. +/obj/machinery/shuttle_sensor + name = "environment sensor" + icon = 'icons/obj/airlock_machines.dmi' + icon_state = "airlock_sensor_standby" + var/id_tag + +/obj/machinery/shuttle_sensor/process() + return PROCESS_KILL //nty + +/obj/machinery/shuttle_sensor/proc/air_list() + . = list("reading" = FALSE) + var/turf/T = get_step(src,dir) + + if(isnull(T)) + return + + var/list/aircontents + var/datum/gas_mixture/environment = T.return_air() + var/pressure = environment.return_pressure() + var/total_moles = environment.total_moles + + if(total_moles) + var/o2_level = environment.gas["oxygen"]/total_moles + var/n2_level = environment.gas["nitrogen"]/total_moles + var/co2_level = environment.gas["carbon_dioxide"]/total_moles + var/phoron_level = environment.gas["phoron"]/total_moles + var/unknown_level = 1-(o2_level+n2_level+co2_level+phoron_level) + aircontents = list(\ + "pressure" = "[round(pressure,0.1)]",\ + "nitrogen" = "[round(n2_level*100,0.1)]",\ + "oxygen" = "[round(o2_level*100,0.1)]",\ + "carbon_dioxide" = "[round(co2_level*100,0.1)]",\ + "phoron" = "[round(phoron_level*100,0.01)]",\ + "other" = "[round(unknown_level, 0.01)]",\ + "temp" = "[round(environment.temperature-T0C,0.1)]",\ + "reading" = TRUE\ + ) + + if(aircontents) + return aircontents diff --git a/nano/templates/flight.tmpl b/nano/templates/flight.tmpl index 2ffec337ba..60d4cd605a 100644 --- a/nano/templates/flight.tmpl +++ b/nano/templates/flight.tmpl @@ -116,7 +116,6 @@ {{if data.is_moving == 0}}

Available Destinations

-

{{for data.routes}} @@ -127,9 +126,7 @@
{{:helper.link(value.travel_time, 'clock', {"traverse" : value.index})}} - -
- +
{{/for}} @@ -150,3 +147,95 @@ {{/if}} + +{{if data.doors}} +

Hatch Status

+
+
+ {{props data.doors}} +
+
{{:key}}
+
+ {{if value.open}} + OPN + {{else}} + CLS + {{/if}} + - + {{if value.bolted}} + BLT + {{else}} + UBLT + {{/if}} +
+
+ {{/props}} +
+{{/if}} + +{{if data.sensors}} +

Air Readout

+
+ {{props data.sensors}} +
+
+ {{:key}} +
+
+ {{if value.reading == 1}} +
+ Pressure: +
+
+ {{:helper.string('{1} kPa', value.pressure < 80 || value.pressure > 120 ? 'bad' : value.pressure < 95 || value.pressure > 110 ? 'average' : 'good' , value.pressure)}} +
+
+ Temperature: +
+
+ {{:helper.string('{1} °C', value.temp < 5 || value.temp > 35 ? 'bad' : value.temp < 15 || value.temp > 25 ? 'average' : 'good' , value.temp)}} +
+
+
+ Oxygen: +
+
+ {{:helper.string('{1}%', value.oxygen < 17 ? 'bad' : value.oxygen < 19 ? 'average' : 'good' , value.oxygen)}} +
+
+ Nitrogen: +
+
+ {{:helper.string('{1}%', value.nitrogen > 82 ? 'bad' : value.nitrogen > 80 ? 'average' : 'good' , value.nitrogen)}} +
+
+ Carbon Dioxide: +
+
+ {{:helper.string('{1}%', value.carbon_dioxide > 5 ? 'bad' : 'good' , value.carbon_dioxide)}} +
+
+ Phoron: +
+
+ {{:helper.string('{1}%', value.phoron > 0 ? 'bad' : 'good' , value.phoron)}} + +
+ {{if value.other > 0}} +
+ Unknown: +
+
+ {{:value.other}}% +
+ {{/if}} + {{else}} +
+ Unable to get air reading +
+ {{/if}} +
+
+ {{/props}} +{{/if}} + From c928ecb34c53c8debad7cd3334846a27f9884cba Mon Sep 17 00:00:00 2001 From: Woodratt Date: Sat, 3 Feb 2018 19:02:00 -0800 Subject: [PATCH 04/13] Planetside bugfixes - Mining now has the key to their locks - Bridges are no longer covered (wilderness bridges still have their roofs) --- maps/southern_cross/southern_cross-3.dmm | 56 ++++++++++++------------ 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/maps/southern_cross/southern_cross-3.dmm b/maps/southern_cross/southern_cross-3.dmm index fda165c81f..fb27f43910 100644 --- a/maps/southern_cross/southern_cross-3.dmm +++ b/maps/southern_cross/southern_cross-3.dmm @@ -80,10 +80,10 @@ "bB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) "bC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) "bD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "mining_airlock_control2"; name = "Mining Access Console"; pixel_x = 26; pixel_y = 26; tag_exterior_door = "mining_airlock_exterior2"; tag_interior_door = "mining_airlock_interior2"},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) -"bE" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "mining_airlock_control2"; name = "Mining Access Button"; pixel_x = 6; pixel_y = 26; req_access = null; req_one_access = list(12,47)},/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "mining_airlock_interior2"; locked = 1; name = "Mining Interior Outpost"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/mining_main) +"bE" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "mining_airlock_control2"; name = "Mining Access Button"; pixel_x = 6; pixel_y = 26; req_access = null; req_one_access = list(12,47,48)},/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "mining_airlock_interior2"; locked = 1; name = "Mining Interior Outpost"},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/mining_main) "bF" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) "bG" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) -"bH" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "mining_airlock_exterior2"; locked = 1; name = "Mining Exterior Outpost"},/obj/effect/decal/cleanable/dirt,/obj/machinery/access_button/airlock_exterior{master_tag = "mining_airlock_control2"; pixel_y = 24; req_one_access = list(12,47)},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/mining_main) +"bH" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "mining_airlock_exterior2"; locked = 1; name = "Mining Exterior Outpost"},/obj/effect/decal/cleanable/dirt,/obj/machinery/access_button/airlock_exterior{master_tag = "mining_airlock_control2"; pixel_y = 24; req_one_access = list(12,47,48)},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/mining_main) "bI" = (/turf/simulated/wall/r_wall,/area/surface/outpost/main/security) "bJ" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/security) "bK" = (/obj/machinery/door/firedoor/glass,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/security) @@ -264,10 +264,10 @@ "fd" = (/obj/structure/table/glass,/obj/item/weapon/storage/firstaid/toxin{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/firstaid/fire{pixel_x = 0; pixel_y = 0},/obj/effect/floor_decal/borderfloorwhite,/obj/effect/floor_decal/corner/paleblue/border,/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 4},/turf/simulated/floor/tiled/white,/area/surface/outpost/main/first_aid) "fe" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/portable_atmospherics/canister/oxygen/prechilled,/obj/machinery/alarm{dir = 1; pixel_y = -22},/turf/simulated/floor/tiled,/area/surface/outpost/main/first_aid) "ff" = (/obj/effect/decal/cleanable/dirt,/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel/sif/planetuse,/area/surface/outside/plains/outpost) -"fg" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "mining1_airlock_exterior"; locked = 1; name = "Mining Exterior Outpost"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "mining1_airlock_control"; name = "Mining Access Button"; pixel_x = 0; pixel_y = -24; req_access = null; req_one_access = list(12,47)},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/mining_main) +"fg" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "mining1_airlock_exterior"; locked = 1; name = "Mining Exterior Outpost"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "mining1_airlock_control"; name = "Mining Access Button"; pixel_x = 0; pixel_y = -24; req_access = null; req_one_access = list(12,47,48)},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/mining_main) "fh" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) "fi" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/mining_main) -"fj" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "mining1_airlock_interior"; locked = 1; name = "Mining Interior Outpost"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "mining1_airlock_control"; name = "Mining Access Button"; pixel_x = -6; pixel_y = -26; req_access = null; req_one_access = list(12,47)},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/mining_main) +"fj" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "mining1_airlock_interior"; locked = 1; name = "Mining Interior Outpost"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "mining1_airlock_control"; name = "Mining Access Button"; pixel_x = -6; pixel_y = -26; req_access = null; req_one_access = list(12,47,48)},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/mining_main) "fk" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 8},/obj/machinery/embedded_controller/radio/airlock/access_controller{id_tag = "mining1_airlock_control"; name = "Mining Access Console"; pixel_x = -26; pixel_y = -26; tag_exterior_door = "mining1_airlock_exterior"; tag_interior_door = "mining1_airlock_interior"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) "fl" = (/obj/structure/cable/blue{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) "fm" = (/obj/structure/cable/blue{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/surface/outpost/mining_main) @@ -700,6 +700,7 @@ "nx" = (/obj/structure/table/standard,/obj/item/device/paicard,/obj/item/weapon/book/codex/lore/vir,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) "ny" = (/obj/machinery/door/firedoor/glass,/obj/machinery/door/airlock/glass{name = "Bar"},/obj/structure/cable/blue{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/plating,/area/surface/outpost/main/bar) "nz" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/green/border{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"nA" = (/obj/effect/decal/cleanable/dirt,/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel_dirty{outdoors = 1},/area/surface/outpost/main/dorms) "nB" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) "nC" = (/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) "nD" = (/obj/effect/floor_decal/industrial/warning{dir = 6},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/corridor) @@ -708,6 +709,7 @@ "nG" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/effect/floor_decal/industrial/outline/grey,/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) "nH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) "nI" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) +"nJ" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel_dirty{outdoors = 1},/area/surface/outpost/main/dorms) "nK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/firedoor/glass,/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/main) "nL" = (/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -21},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) "nM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) @@ -721,6 +723,8 @@ "nU" = (/turf/simulated/wall,/area/surface/outpost/main/construction_area) "nV" = (/obj/structure/closet/emcloset,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) "nW" = (/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) +"nX" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{dir = 4},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel_dirty{outdoors = 1},/area/surface/outpost/main/dorms) +"nY" = (/turf/simulated/floor/wood{outdoors = 1},/area/surface/outside/path/plains) "ob" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main4_airlock_interior"; locked = 1; name = "Main Outpost Interior"},/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "main4_airlock_control"; name = "Main Access Button"; pixel_x = 32; pixel_y = 6; req_access = null},/turf/simulated/floor/tiled/steel_grid,/area/surface/outpost/main/corridor) "oc" = (/obj/structure/closet/athletic_mixed,/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = -27},/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) "od" = (/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled,/area/surface/outpost/main/gym) @@ -751,7 +755,6 @@ "oD" = (/obj/structure/table/bench/marble,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) "oE" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) "oF" = (/obj/machinery/recharge_station,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"oG" = (/obj/effect/decal/cleanable/dirt,/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/dorms) "oH" = (/obj/machinery/door/firedoor/border_only,/obj/effect/wingrille_spawn/reinforced,/turf/simulated/floor/plating,/area/surface/outpost/main/dorms) "oI" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/dorms) "oJ" = (/obj/effect/floor_decal/industrial/warning{icon_state = "warning"; dir = 5},/obj/machinery/camera/network/main_outpost{c_tag = "MO - Dorms Access"; dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/dorms) @@ -793,7 +796,6 @@ "pt" = (/obj/structure/disposalpipe/junction/yjunction{dir = 8},/turf/simulated/floor/tiled,/area/surface/outpost/main) "pu" = (/obj/structure/closet/secure_closet/personal,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) "pv" = (/obj/structure/mirror{pixel_x = 28},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"pw" = (/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/dirt,/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/dorms) "px" = (/obj/machinery/door/airlock/mining{autoclose = 0; frequency = 1379; icon_state = "door_locked"; id_tag = "main1_airlock_exterior"; locked = 1; name = "Main Outpost Exterior"},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "main1_airlock_control"; name = "Main Access Button"; pixel_x = 0; pixel_y = -24; req_access = null},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/dorms) "py" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/dorms) "pz" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) @@ -829,7 +831,6 @@ "qd" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; pixel_y = 0},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) "qe" = (/obj/machinery/atmospherics/unary/vent_pump/on,/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) "qf" = (/obj/machinery/shower{dir = 8; icon_state = "shower"; pixel_x = -5; pixel_y = 0},/obj/structure/curtain/open/shower,/turf/simulated/floor/tiled/freezer,/area/surface/outpost/main/restroom) -"qg" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{dir = 4},/obj/effect/overlay/snow/floor,/turf/simulated/floor/tiled/steel_dirty,/area/surface/outpost/main/dorms) "qh" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/light,/turf/simulated/floor/tiled/steel,/area/surface/outpost/main/dorms) "qi" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/effect/floor_decal/industrial/warning{dir = 6},/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) "qj" = (/obj/structure/closet/wardrobe/mixed,/obj/item/clothing/shoes/boots/winter,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/item/clothing/suit/storage/hooded/wintercoat,/obj/machinery/light,/obj/effect/floor_decal/industrial/warning/corner{icon_state = "warningcorner"; dir = 1},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/green/border,/turf/simulated/floor/tiled,/area/surface/outpost/main/dorms) @@ -1463,7 +1464,6 @@ "Cn" = (/turf/simulated/floor/tiled,/area/surface/outpost/research/xenoresearch/xenoflora) "Co" = (/turf/simulated/floor/water/deep,/area/surface/outside/river/indalsalven) "Cp" = (/turf/simulated/wall,/area/surface/outside/path/plains) -"Cq" = (/turf/simulated/floor/wood,/area/surface/outside/path/plains) "Cr" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -21},/obj/structure/reagent_dispensers/watertank,/obj/item/weapon/extinguisher,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/tiled/white,/area/surface/outpost/research/xenoresearch/xenobiology) "Cs" = (/obj/structure/disposalpipe/segment,/obj/effect/wingrille_spawn/reinforced,/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio1"; name = "Containment Blast Doors"; opacity = 0},/obj/structure/window/reinforced/full,/turf/simulated/floor/plating,/area/surface/outpost/research/xenoresearch/xenobiology) "Ct" = (/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "xenobio1"; name = "Containment Blast Doors"; opacity = 0},/obj/effect/floor_decal/industrial/hatch/yellow,/obj/machinery/door/window/brigdoor/southright{name = "Containment Pen"; req_access = list(47)},/turf/simulated/floor/reinforced,/area/surface/outpost/research/xenoresearch/xenobiology) @@ -1608,9 +1608,9 @@ aaaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaj aaaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiajajkVnmlynnnonpnqlAnrnslDlHmVmUmXmWmXmXntmYkZajajajajajajajajmZnBnCnDmwajajajajajajajajkNnEnFnGnHnIndnukNkCjJnKkEnjnjnLnMnNnOnPnjajajajazajajjNajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa aaaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiazajkVnQnRlylynSnTnUnVnWlDlHlHlHlHnvlHlHlHnwkZajajajajajajajmymvmwobmymymyajajajajajajajkNocodoeofogndohkOoifXiAojokolnNomonnknknjajajajajajajjNajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa aaaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiajookVkVkVkWkWopoqnUnxoslDlalalalDnylDlalaotkZmymymwmwmymwmwmyovowoxoyozmymwmwmymwmwmymykNkOmzoAmzkOmzmzkOoBfXnhkSnkoCnNoDnNoEoFnjajajajajajajjNajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajajajajajajajajajajajajajajajajajaiaioGoHoIoJoKoLoMoNoOoPoQoRoSnzoUoUoVoWoXoUoYoToUoZpapbpbpcpbpdpbpepfpgphpipjpbpbpkpdpbpboZplpmlipnpopmpppmpqprprpsptnkpunNoDpvnknknjnjnjajajajajjNajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajajajajajajajajajajajajajajajajajaiaipwpxpypzpApBorpCpDpEpFpGpHpEpEpIpEpJpEpEpKpEpLpMpNpOpPpPpPpQpPpRpSpTpUpPpPpPpOpPpQpPpVpWgwlXlXpXpYpYpZpYpYpYkbqaqbnkqcnNoDpvnkqdqeqfnjajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa -aaaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiqgooqhqiooqjqkqlorqmqnqoqpqqqrqsorqlqtquqvqwqxqyqzqAqzqBqzqzqCqDqEqFqGqHqzqzqAqIqzqzqzqyqJqKqKqLqKqKqKqKqMfXqNqOqPnkqQqRqSqTqUqVqWqXnjajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa +aaaeaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajajajajajajajajajajajajajajajajajaiainAoHoIoJoKoLoMoNoOoPoQoRoSnzoUoUoVoWoXoUoYoToUoZpapbpbpcpbpdpbpepfpgphpipjpbpbpkpdpbpboZplpmlipnpopmpppmpqprprpsptnkpunNoDpvnknknjnjnjajajajajjNajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa +aaaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajajajajajajajajajajajajajajajajajaiainJpxpypzpApBorpCpDpEpFpGpHpEpEpIpEpJpEpEpKpEpLpMpNpOpPpPpPpQpPpRpSpTpUpPpPpPpOpPpQpPpVpWgwlXlXpXpYpYpZpYpYpYkbqaqbnkqcnNoDpvnkqdqeqfnjajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa +aaaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajajajajajajajajajajajajajajajajajaiainXooqhqiooqjqkqlorqmqnqoqpqqqrqsorqlqtquqvqwqxqyqzqAqzqBqzqzqCqDqEqFqGqHqzqzqAqIqzqzqzqyqJqKqKqLqKqKqKqKqMfXqNqOqPnkqQqRqSqTqUqVqWqXnjajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa aaaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiajooooooooqYqYqlorqYqYqYqYqYqYqYorqlqYqYoooooomymymwmwmymwmwmyqZranCrbrcmymwmwmymwmwmymykCrdrerfrgrhrirjrkfXrlrmrnrorpnNrqrrnkqdrsqfnjajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa aaaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiazajoortrurvrwrxryrzrArBqYrCrDrEryrxrFrGrHrIooajajajajajajajmyrJmyrKmwmymyajajajajajajajkCrLrMrMrMrMrMrMrMrMrNrOrPnknknkrQnknknkrRnjnjajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa aaaeajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajayajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiajajoHrSrTrUqYqlrVqYrWrXqYrYrZqYsaqlqYsbscsdoHajajajajajajajajsesfnbncmwajajajajajajajajajrLsgshsisisjskslsmsnsospsqsrssstsusvswsxrLajajajajajajajajajaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaa @@ -1655,15 +1655,15 @@ AOAPaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtR AOAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiaiaiaiajajajajajajajajajajajajajwYBoBpyXBqBryjzaykykykykykzazUBsBtyXBpBuxiBvBwyCAqyCBxByBzAJyCxGBABBBCyCxCxGBDBExCususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvJutututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu AOAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiaiaiajajajajajajajajajajajajajajajwYwYwYwYwYEaykyjykyjyjyjykyjAYEcwYwYwYwYxixixiBHBIyCBJAsBKBLBMyPBNyNBOBPytBQxixixiususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvJutututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu AOAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajaiaiaiajajajajajajajajajajajajajajajajajajwYBRyjykBSBTBUBVEdBXBUBYBZCaCbCcCdCeCfCfxiCgChCiCjyCyyAJCkxGyzyCyCClCmCnxiususususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlBmBnutututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -AOCoCoAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajCpCqCqCpajajajajajajajajajajajajajajajajajajwYwYCryjwYCsCtCuAeCvCwCxwYyjCywYwYCfCfbpxixiCzCAytxCxCCBytCCxCxCytCmCDxixiususususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvJututututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -AOAPCoCoAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajCECqCqCFAPAPAPajajajajajajajajajajajajajajajajwYwYCGwYCHzrzrAezrzrCHwYCIwYwYCJbhbhbpCKxixiCLytCMxGCNCOCPCQxGBQCnxixiusususususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvJututututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -AOAPAPAPAPCoAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajAPAPCECqCqCRCoAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPajwYwYwYCSzrzrAezrAQCTwYwYwYajCKCKCKCKCKajxixixiCUxGCVAzCWxGCXxixixiususususususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlBmBnututututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeAPAPAPCoCoCoAPAPAPAPAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajAPAPAPCYCqCqCRCoCoCoCoAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPajajwYCZzrzrAezrzrDawYajajajajajajajajajajajxixGzQzQDbzQzQDcxiususususususususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvJututututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeAPAPAPAPCoCoAPAPAPAPAPAPAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajAPAPAPAPAPCoCYCqCqCRAPAPCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoAPAPAPwYDdDdDdwYwYwYwYwYajajajajajajajajajajusxixCxDxCxixCxDxCxiususususususususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvJututututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaetRAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajAPAPAPAPCoCoCoCoCECqCqCFAPAPAPAPAPAPAPAPAPCoCoCoAPCoCoCoCoCoCoCoAPAPAPajajajajajajajajajajajajajusususususususususususususususususususususususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvJututututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaetRtRtRtRAPAPAPAPAPAPAPAPAPCoCoAPAPAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajAPAPAPAPAPCoCoAPAPAPCECqCqCFAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPCoCoCoCoAPAPAPAPAPAPajajajajajajajususususususususususususususususususususususususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvmvnututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaetRtRtRtRtRtRtRtRAPAPAPAPAPAPCoCoCoAPAPAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajAPAPAPAPAPAPAPAPAPAPAPAPCECqCqCFAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRAPAPAPAPCoCoCoCoCoAPAPAPAPAPAPAPAPusususususususususususususususususususususususususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvJututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaetRtRtRtRtRtRtRtRtRtRtRAPAPAPAPAPCoCoCoAPAPAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajAPAPAPAPAPAPAPAPAPAPAPAPtRCpCqCqCptRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRAPAPAPAPAPCoCoCoCoAPAPAPAPAPAPAPAPAPAPAPususususususususususususususususususususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvmvnutututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu +AOCoCoAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajCpnYnYCpajajajajajajajajajajajajajajajajajajwYwYCryjwYCsCtCuAeCvCwCxwYyjCywYwYCfCfbpxixiCzCAytxCxCCBytCCxCxCytCmCDxixiususususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvJututututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu +AOAPCoCoAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajCEnYnYCFAPAPAPajajajajajajajajajajajajajajajajwYwYCGwYCHzrzrAezrzrCHwYCIwYwYCJbhbhbpCKxixiCLytCMxGCNCOCPCQxGBQCnxixiusususususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvJututututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu +AOAPAPAPAPCoAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajAPAPCEnYnYCRCoAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPajwYwYwYCSzrzrAezrAQCTwYwYwYajCKCKCKCKCKajxixixiCUxGCVAzCWxGCXxixixiususususususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlBmBnututututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu +aaaeAPAPAPCoCoCoAPAPAPAPAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajAPAPAPCYnYnYCRCoCoCoCoAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPajajwYCZzrzrAezrzrDawYajajajajajajajajajajajxixGzQzQDbzQzQDcxiususususususususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvJututututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu +aaaeaeAPAPAPAPCoCoAPAPAPAPAPAPAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajAPAPAPAPAPCoCYnYnYCRAPAPCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoCoAPAPAPwYDdDdDdwYwYwYwYwYajajajajajajajajajajusxixCxDxCxixCxDxCxiususususususususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvJututututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu +aaaeaetRAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajAPAPAPAPCoCoCoCoCEnYnYCFAPAPAPAPAPAPAPAPAPCoCoCoAPCoCoCoCoCoCoCoAPAPAPajajajajajajajajajajajajajusususususususususususususususususususususususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvJututututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu +aaaeaetRtRtRtRAPAPAPAPAPAPAPAPAPCoCoAPAPAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajAPAPAPAPAPCoCoAPAPAPCEnYnYCFAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPCoCoCoCoAPAPAPAPAPAPajajajajajajajususususususususususususususususususususususususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvmvnututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu +aaaeaetRtRtRtRtRtRtRtRAPAPAPAPAPAPCoCoCoAPAPAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajAPAPAPAPAPAPAPAPAPAPAPAPCEnYnYCFAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRAPAPAPAPCoCoCoCoCoAPAPAPAPAPAPAPAPusususususususususususususususususususususususususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvJututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu +aaaeaetRtRtRtRtRtRtRtRtRtRtRAPAPAPAPAPCoCoCoAPAPAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajajajAPAPAPAPAPAPAPAPAPAPAPAPtRCpnYnYCptRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRAPAPAPAPAPCoCoCoCoAPAPAPAPAPAPAPAPAPAPAPususususususususususususususususususususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvmvnutututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu aaaeaeaetRtRtRtRtRtRtRtRtRtRtRtRAPAPAPAPAPAPAPAPAPAPAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajajAPAPAPAPAPAPAPAPAPAPAPtRtRtRtRtRaiaitRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRAPAPAPAPAPAPCoCoCoCoCoCoAPAPAPAPAPAPAPAPusususususususususususususususususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJutututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu aaaeaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRAPAPAPAPAPAPCoCoCoAPAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajajajAPAPAPCoCoAPAPAPAPAPtRtRtRtRtRtRtRaiaiaitRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRvkvkvkvkAPAPAPAPAPAPAPCoCoCoCoCoCoCoAPAPAPAPAPAPusususususususususususususususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvJututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu aaaeaeaetRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRAPAPAPAPAPAPCoCoAPAPAPAPAPAPtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRayajajajajajajajajajajajajajajajajajajajajajajajajajAPAPAPAPCoCoAPAPAPAPtRtRtRtRtRtRtRtRtRtRaiaitRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRvkvkvkvkvkvkvkvkvkvkvkAPAPAPAPAPAPAPAPCoCoCoCoAPAPAPAPAPAPususususususususususususususususususususususususususususususususususvjvkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvlvlvmvnutututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu @@ -1689,8 +1689,8 @@ aaaeaevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvktRtRtRtRtR aaaeaevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvktRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRDgtRtRtRtRtRtRtRtRtRtRtRtRtRtRtRvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaivkvkvkvkvkvkvkvkvkvkvkvkAPAPAPCoCoAPAPAPvkvkvkvkvkvkaiaiaiaiaiaiaiaiaitCaiaiaivkvkvkvkvkvkvkvkvkvkaiaivIvIvIvIvlvlvlvlvlvlvlvlvlvlvJututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu aaaeaevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvktRtRtRtRtRtRtRtRtRtRtRtRtRDgtRtRtRtRtRtRtRtRtRtRtRtRtRvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaiaivkvkvkvkaiaiaiaiaiaiaiaiaivkvkvkvkvkvkvkvkvkvkAPAPCoCoCoAPAPvkvkvkvkaiaiaiaiaiaivkvkvkvkvkDevIDhDhDhDhDhDhDhDhDhDhDhvkaiaivIvIvIvIvlvlvlvlvlvlvlvlvlvlvJututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu aaaeaevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvktRtRtRDgtRtRtRtRtRtRtRtRtRvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaiaiaiaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaiaiaiaivkvkvkvkvkvkCpDiDiDjDjDjDiDiDkCpaiaiaiaivkvkvkvkvkvkvkvkDevIDhDhDhDhDhDhDhDhDhDhDhDhaiaivIvIvIvIvlvlvlvlvlvlvlvlvlvlvJututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaiaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaiaivkvkaiaiaiCqCqCqCqCqCqCqCqCqCqaiaivkvkvkvkvkvkvkvkvkvkDevIDhDhDhDhDhDhDhDhDhDhDhDhvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvmvnututututwUwUwUwUwUwUututututututututwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaiaiaiaiCqCqCqCqCqCqCqCqCqCqaivkvkvkvkvkvkvkvkvkvkvkDevkDhDhDhDhDhDhDhDhDhDhDhDhvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvJututututwUwUwUwUwUututututututututututwUwUwUwUwUwUwUwUwUwUuu +aaaeaeaevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaiaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaiaivkvkaiaiainYnYnYnYnYnYnYnYnYnYaiaivkvkvkvkvkvkvkvkvkvkDevIDhDhDhDhDhDhDhDhDhDhDhDhvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvmvnututututwUwUwUwUwUwUututututututututwUwUwUwUwUwUwUwUwUwUwUuu +aaaeaeaevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaiaiaiainYnYnYnYnYnYnYnYnYnYaivkvkvkvkvkvkvkvkvkvkvkDevkDhDhDhDhDhDhDhDhDhDhDhDhvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvJututututwUwUwUwUwUututututututututututwUwUwUwUwUwUwUwUwUwUuu aaaeaeaevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaiaivkvkvkCpDlDmDmDnDnDnDmDmCpvkvkvkvkvkvkvkvkvkvkvkvkDevkDhDhDhDhDhDhDhDhDhDhDhvIvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvJututututwUwUwUwUwUutututDoDpDpDpvnututututwUwUwUwUwUwUwUwUuu aaaeaeaevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaiaivkvkvkvkvkvkvkAPAPAPCoCoAPAPvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvIvIvIvIvIvkvkvkvIvIvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvmvnututututwUwUwUwUututDoDqvlvlvlvmDpvnututututwUwUwUwUwUwUuu aaaeaeaevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaiaivkvkvkvkvkvkvkvkvkvkAPAPAPCoAPAPvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvJututututwUwUwUwUututDrvlvIvIvlvlvlvmDpvnututututwUwUwUwUuu @@ -1718,12 +1718,12 @@ aaaeaevIvIvIvIvIvIvIvIvIvIvIvIvIvIvIDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDx aaaeaevIvIvIvIvIvIvIvIvIvIvIvIvIDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIAPAPAPAPAPAPDsDuvlvlvlvlvlvlvJututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu aaaeaevIvIvIvIvIvIvIvIvIvIvIvIDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIAPAPAPAPutDtDuvlvlvlvlBmBnututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu aaaeaeDyDyvIvIvIvIvIvIvIvIvIvIDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlAPAPAPututDtDsDsDuvlvJututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaeDyDyDyDyvIvIvIvIvIvIvIDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDzvkDzvkCpCqCqCpvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlAPAPutututututDtDsBnutututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaeDyDyDyDyDyDyvIvIvIvIvIDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvDvDvDvDACqCqDBDvDvDvDvDvDvDvvkvkvkvkvkvkvkDvDvDvDvDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvmDpDpvnutututututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaeDyDyDyDyDyDyDyDyvIvIvIDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvDvDvDvDvDvDACqCqDBDvDvDvDvDvDvDvDvvkvkvkvkDvDvDvDvDvDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvmvnututututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaeDyDyDyDyDyDyDyDyDyvIvIDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvDvDvDvDvDvDvDvDACqCqDBDvDvDvDvDvDvDvDvDvDvDvDvDvDvDvDvDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvmDpvnututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaeDyDyDyDyDyDyDyDyDyDyvIDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvDvDvDvDvDvDvDvDvDACqCqDBDvDvDvDvDvDvDvDvDvDvDvDvDvDvDvDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvJututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu -aaaeaeaeDyDyDyDyDyDyDyDyDyDyDyvIDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvDvDvDvDvDvDvDzvkDzvkCpCqCqCpvkvkvkDvDvDvDvDvDvDvDvDvDvDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvmvnutututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu +aaaeaeaeDyDyDyDyvIvIvIvIvIvIvIDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxvIvIvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDzvkDzvkCpnYnYCpvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlAPAPutututututDtDsBnutututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu +aaaeaeaeDyDyDyDyDyDyvIvIvIvIvIDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxvIvIvIvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvDvDvDvDAnYnYDBDvDvDvDvDvDvDvvkvkvkvkvkvkvkDvDvDvDvDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvlvlvlvlvmDpDpvnutututututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu +aaaeaeaeDyDyDyDyDyDyDyDyvIvIvIDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvDvDvDvDvDvDAnYnYDBDvDvDvDvDvDvDvDvvkvkvkvkDvDvDvDvDvDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvmvnututututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu +aaaeaeaeDyDyDyDyDyDyDyDyDyvIvIDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvDvDvDvDvDvDvDvDAnYnYDBDvDvDvDvDvDvDvDvDvDvDvDvDvDvDvDvDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvmDpvnututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu +aaaeaeaeDyDyDyDyDyDyDyDyDyDyvIDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvDvDvDvDvDvDvDvDvDAnYnYDBDvDvDvDvDvDvDvDvDvDvDvDvDvDvDvDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvJututututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu +aaaeaeaeDyDyDyDyDyDyDyDyDyDyDyvIDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvDvDvDvDvDvDvDzvkDzvkCpnYnYCpvkvkvkDvDvDvDvDvDvDvDvDvDvDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvmvnutututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu aaaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyvIDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvDvDvDvvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkDvDvDvDvDvDvDvvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvmvnututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu aaaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxvIvIvIvIvIvIvIvIvIvIvIvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvDvDvDvDvvkvkvkvkvkvkvkvkvkaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvJututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu aaaeaeaeDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyDyvIvIDxDxDxDxvIvIvIDxDxDxDxDxDxDxDxDxDxDxDxDxDxDxvIvIvIvIvIvIvIvIvIvIvIvIDyvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDvDvDvDvDvDvDvDvvkvkvkvkvkvkvkvkvkvkaiaiaivkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkvkDevkvkvkvkvkvkvkvkvkvkvkvkvIvIvIvIvIvIvIvlvlvlvlvlvlvlvlvlvlvlvlvJututututututwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUwUuu From 9d0ffb96ee2755f30c584e48f1a8ca599f92741c Mon Sep 17 00:00:00 2001 From: Arokha Sieyes Date: Thu, 25 Jan 2018 16:33:36 -0500 Subject: [PATCH 05/13] POLARIS: Tweak map-loading in some ways Fixes loading of map templates, now loads it acutally in the center instead of to the upper-left of center. Warns you if you try to load a submap which is larger than the current world size. --- code/modules/admin/verbs/map_template_loadverb.dm | 7 ++++++- code/modules/maps/tg/map_template.dm | 15 ++++++++++----- maps/~map_system/maps.dm | 6 ++++++ 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/code/modules/admin/verbs/map_template_loadverb.dm b/code/modules/admin/verbs/map_template_loadverb.dm index 25fda4bfb3..7fde6c58e1 100644 --- a/code/modules/admin/verbs/map_template_loadverb.dm +++ b/code/modules/admin/verbs/map_template_loadverb.dm @@ -41,7 +41,12 @@ if(!map) return template = map_templates[map] - + + if(template.width > world.maxx || template.height > world.maxy) + if(alert(usr,"This template is larger than the existing z-levels. It will EXPAND ALL Z-LEVELS to match the size of the template. This may cause chaos. Are you sure you want to do this?","DANGER!!!","Cancel","Yes") == "Cancel") + to_chat(usr,"Template placement aborted.") + return + if(alert(usr,"Confirm map load.", "Template Confirm","No","Yes") == "Yes") if(template.load_new_z()) message_admins("[key_name_admin(usr)] has placed a map template ([template.name]) on Z level [world.maxz].") diff --git a/code/modules/maps/tg/map_template.dm b/code/modules/maps/tg/map_template.dm index f8b9667095..096b5a7197 100644 --- a/code/modules/maps/tg/map_template.dm +++ b/code/modules/maps/tg/map_template.dm @@ -103,18 +103,23 @@ var/list/global/map_templates = list() admin_notice("Submap initializations finished.", R_DEBUG) -/datum/map_template/proc/load_new_z() - var/x = round(world.maxx/2) - var/y = round(world.maxy/2) +/datum/map_template/proc/load_new_z(var/centered = FALSE, var/dont_init = FALSE) + var/x = 1 + var/y = 1 - var/list/bounds = maploader.load_map(file(mappath), x, y) + if(centered) + x = round((world.maxx - width)/2) + y = round((world.maxy - height)/2) + + var/list/bounds = maploader.load_map(file(mappath), x, y, no_changeturf = TRUE) if(!bounds) return FALSE // repopulate_sorted_areas() //initialize things that are normally initialized after map load - initTemplateBounds(bounds) + if(!dont_init) + initTemplateBounds(bounds) log_game("Z-level [name] loaded at at [x],[y],[world.maxz]") return TRUE diff --git a/maps/~map_system/maps.dm b/maps/~map_system/maps.dm index ae40bc129c..986ade2162 100644 --- a/maps/~map_system/maps.dm +++ b/maps/~map_system/maps.dm @@ -38,6 +38,12 @@ var/list/all_maps = list() //This list contains the z-level numbers which can be accessed via space travel and the percentile chances to get there. var/list/accessible_z_levels = list() + //List of additional z-levels to load above the existing .dmm file z-levels using the maploader. Must be map template >>> NAMES <<<. + var/list/lateload_z_levels = list() + + //Similar to above, but only pick ONE to load, useful for random away missions and whatnot + var/list/lateload_single_pick = list() + var/list/allowed_jobs = list() //Job datums to use. //Works a lot better so if we get to a point where three-ish maps are used //We don't have to C&P ones that are only common between two of them From 1999fc2a2a9a5868db13d29b828877b0a41efb2f Mon Sep 17 00:00:00 2001 From: Cameron653 Date: Sat, 3 Feb 2018 23:45:50 -0500 Subject: [PATCH 06/13] Changes 'undislocate' to 'relocate' (#4650) * Chaning undislocate to relocate. Have to use web browser for this one at the moment. * Changes undislocate -> relocate * Last file to change to relocate * Changes it to the best medical term for the action. * Reduce -> Relocate --- code/game/gamemodes/changeling/powers/revive.dm | 4 ++-- code/modules/mob/living/carbon/human/human.dm | 6 +++--- code/modules/organs/organ_external.dm | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/code/game/gamemodes/changeling/powers/revive.dm b/code/game/gamemodes/changeling/powers/revive.dm index 98b091abaa..ab8111000d 100644 --- a/code/game/gamemodes/changeling/powers/revive.dm +++ b/code/game/gamemodes/changeling/powers/revive.dm @@ -38,7 +38,7 @@ for(var/limb in H.organs_by_name) var/obj/item/organ/external/current_limb = H.organs_by_name[limb] if(current_limb) - current_limb.undislocate() + current_limb.relocate() current_limb.open = 0 BITSET(H.hud_updateflag, HEALTH_HUD) @@ -60,4 +60,4 @@ - return 1 \ No newline at end of file + return 1 diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 19aaecf712..68ea9b8e72 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1347,9 +1347,9 @@ if(..(slipped_on,stun_duration)) return 1 -/mob/living/carbon/human/proc/undislocate() +/mob/living/carbon/human/proc/relocate() set category = "Object" - set name = "Undislocate Joint" + set name = "Relocate Joint" set desc = "Pop a joint back into place. Extremely painful." set src in view(1) @@ -1397,7 +1397,7 @@ else U << "You pop [S]'s [current_limb.joint] back in!" S << "[U] pops your [current_limb.joint] back in!" - current_limb.undislocate() + current_limb.relocate() /mob/living/carbon/human/drop_from_inventory(var/obj/item/W, var/atom/Target = null) if(W in organs) diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index 0bfd3dfd0e..5b855d584c 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -193,9 +193,9 @@ dislocated = 1 if(owner) - owner.verbs |= /mob/living/carbon/human/proc/undislocate + owner.verbs |= /mob/living/carbon/human/proc/relocate -/obj/item/organ/external/proc/undislocate() +/obj/item/organ/external/proc/relocate() if(dislocated == -1) return @@ -207,7 +207,7 @@ for(var/obj/item/organ/external/limb in owner.organs) if(limb.dislocated == 1) return - owner.verbs -= /mob/living/carbon/human/proc/undislocate + owner.verbs -= /mob/living/carbon/human/proc/relocate /obj/item/organ/external/update_health() damage = min(max_damage, (brute_dam + burn_dam)) From 9e52040d5ae957d41a4bfd70ea48c49ec1eb6707 Mon Sep 17 00:00:00 2001 From: Cameron653 Date: Sat, 3 Feb 2018 23:47:01 -0500 Subject: [PATCH 07/13] Loadout Text-To-Speech device. (#4697) * TTS Device * Makes it a proper /device * boop * to_chat and message change --- .../objects/items/devices/text_to_speech.dm | 28 +++++++++++++++++++ .../loadout/loadout_utility.dm | 7 ++++- polaris.dme | 1 + 3 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 code/game/objects/items/devices/text_to_speech.dm diff --git a/code/game/objects/items/devices/text_to_speech.dm b/code/game/objects/items/devices/text_to_speech.dm new file mode 100644 index 0000000000..bc0c9d5304 --- /dev/null +++ b/code/game/objects/items/devices/text_to_speech.dm @@ -0,0 +1,28 @@ +/obj/item/device/text_to_speech + name = "TTS device" + desc = "A device that speaks an inputted message. Given to crew which can not speak properly or at all." + icon = 'icons/obj/electronic_assemblies.dmi' + icon_state = "setup_small" + w_class = ITEMSIZE_SMALL + var/named + +/obj/item/device/text_to_speech/attack_self(mob/user as mob) + if(user.incapacitated(INCAPACITATION_ALL)) //Are you in a state to actual use the device? + to_chat(user, "You cannot activate the device in your state.") + return + + if(!named) + to_chat(user, "You input your name into the device.") + name = "[initial(name)] ([user.real_name])" + desc = "[initial(desc)] This one is assigned to [user.real_name]." + named = 1 + /* //Another way of naming the device. Gives more freedom, but could lead to issues. + device_name = copytext(sanitize(input(user, "What would you like to name your device? You must input a name before the device can be used.", "Name your device", "") as null|text),1,MAX_NAME_LEN) + name = "[initial(name)] - [device_name]" + named = 1 + */ + + var/message = sanitize(input(user,"Choose a message to relay to those around you.") as text|null) + if(message) + var/obj/item/device/text_to_speech/O = src + audible_message("\icon[O] \The [O.name] states, \"[message]\"") diff --git a/code/modules/client/preference_setup/loadout/loadout_utility.dm b/code/modules/client/preference_setup/loadout/loadout_utility.dm index 91f1ebf634..cacd0451a4 100644 --- a/code/modules/client/preference_setup/loadout/loadout_utility.dm +++ b/code/modules/client/preference_setup/loadout/loadout_utility.dm @@ -8,6 +8,11 @@ display_name = "clipboard" path = /obj/item/weapon/clipboard +/datum/gear/utility/tts_device + display_name = "text to speech device" + path = /obj/item/device/text_to_speech + cost = 3 //Not extremely expensive, but it's useful for mute chracters. + /datum/gear/utility/communicator display_name = "communicator selection" path = /obj/item/device/communicator @@ -29,7 +34,7 @@ display_name = "the traveler's guide to vir" path = /obj/item/weapon/book/codex/lore/vir cost = 0 - + /datum/gear/utility/news display_name = "daedalus pocket newscaster" path = /obj/item/weapon/book/codex/lore/news diff --git a/polaris.dme b/polaris.dme index f013228fd6..5cc6b381fb 100644 --- a/polaris.dme +++ b/polaris.dme @@ -851,6 +851,7 @@ #include "code\game\objects\items\devices\suit_cooling.dm" #include "code\game\objects\items\devices\t_scanner.dm" #include "code\game\objects\items\devices\taperecorder.dm" +#include "code\game\objects\items\devices\text_to_speech.dm" #include "code\game\objects\items\devices\traitordevices.dm" #include "code\game\objects\items\devices\transfer_valve.dm" #include "code\game\objects\items\devices\translator.dm" From 13bfcf6bd3efffebdfbf1b6a01a2d60f421c1572 Mon Sep 17 00:00:00 2001 From: Arokha Sieyes Date: Sun, 4 Feb 2018 01:00:25 -0500 Subject: [PATCH 08/13] Improve admin idlekick capability/awareness --- code/controllers/Processes/inactivity.dm | 30 ++++++++++-- code/game/machinery/cryopod.dm | 4 +- code/modules/admin/admin_verbs.dm | 3 +- code/modules/admin/topic.dm | 11 +++++ code/modules/admin/verbs/randomverbs.dm | 60 ++++++++++++++++++++++++ 5 files changed, 101 insertions(+), 7 deletions(-) diff --git a/code/controllers/Processes/inactivity.dm b/code/controllers/Processes/inactivity.dm index b1029e0391..2a6cd44d2c 100644 --- a/code/controllers/Processes/inactivity.dm +++ b/code/controllers/Processes/inactivity.dm @@ -7,8 +7,30 @@ for(last_object in clients) var/client/C = last_object if(C.is_afk(config.kick_inactive MINUTES)) - if(!istype(C.mob, /mob/observer/dead)) - log_access("AFK: [key_name(C)]") - C << "You have been inactive for more than [config.kick_inactive] minute\s and have been disconnected." - del(C) // Don't qdel, cannot override finalize_qdel behaviour for clients. + if(!istype(C.mob, /mob/observer/dead) && !istype(C.mob, /mob/new_player)) + to_chat(C,"You have been inactive for more than [config.kick_inactive] minute\s and have been disconnected.") + var/information + + if(ishuman(C.mob)) + var/job + var/mob/living/carbon/human/H = C.mob + var/datum/data/record/R = find_general_record("name", H.real_name) + if(R) + job = R.fields["real_rank"] + if(!job && H.mind) + job = H.mind.assigned_role + if(!job && H.job) + job = H.job + if(job) + information = " while [job]." + + else if(issilicon(C.mob)) + information = " while a silicon." + + var/adminlinks + adminlinks = " (JMP|CRYO)" + + log_and_message_admins("being kicked for AFK[information][adminlinks]", C.mob) + + qdel(C) SCHECK diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index d3936ca7c0..d254228795 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -346,8 +346,8 @@ // This function can not be undone; do not call this unless you are sure // Also make sure there is a valid control computer -/obj/machinery/cryopod/robot/despawn_occupant() - var/mob/living/silicon/robot/R = occupant +/obj/machinery/cryopod/robot/despawn_occupant(var/mob/to_despawn) + var/mob/living/silicon/robot/R = to_despawn if(!istype(R)) return ..() qdel(R.mmi) diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 2532554193..721a959c35 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -101,7 +101,8 @@ var/list/admin_verbs_admin = list( /client/proc/toggle_attack_logs, /datum/admins/proc/paralyze_mob, /client/proc/fixatmos, - /datum/admins/proc/sendFax + /datum/admins/proc/sendFax, + /client/proc/despawn_player ) var/list/admin_verbs_ban = list( diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index c2cf55ab00..81c709f6d8 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1864,6 +1864,17 @@ show_player_panel(M) + else if(href_list["cryoplayer"]) + if(!check_rights(R_ADMIN)) return + + var/mob/M = locate(href_list["cryoplayer"]) + if(!istype(M)) + to_chat(usr,"Mob doesn't exist!") + return + + var/client/C = usr.client + C.despawn_player(M) + // player info stuff if(href_list["add_player_info"]) diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index 961dbdcdfb..9536f830fb 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -935,3 +935,63 @@ Traitors and the like can also be revived with the previous role mostly intact. usr << "Random events disabled" message_admins("Admin [key_name_admin(usr)] has disabled random events.", 1) feedback_add_details("admin_verb","TRE") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + +/client/proc/despawn_player(var/mob/M in living_mob_list) + set name = "Cryo Player" + set category = "Admin" + set desc = "Removes a player from the round as if they'd cryo'd." + set popup_menu = FALSE + + if(!check_rights(R_ADMIN)) + return + + if(!M) + return + + var/confirm = alert("Are you sure you want to cryo [M]?","Confirmation","No","Yes") + if(confirm == "No") + return + + var/list/human_cryopods = list() + var/list/robot_cryopods = list() + + for(var/obj/machinery/cryopod/CP in machines) + if(!CP.control_computer) + continue //Broken pod w/o computer, move on. + + var/listname = "[CP.name] ([CP.x],[CP.y],[CP.z])" + if(istype(CP,/obj/machinery/cryopod/robot)) + robot_cryopods[listname] = CP + else + human_cryopods[listname] = CP + + //Gotta log this up here before they get ghostized and lose their key or anything. + log_and_message_admins("[key_name(src)] admin cryo'd [key_name(M)].") + feedback_add_details("admin_verb","ACRYO") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + + if(ishuman(M)) + var/obj/machinery/cryopod/CP = human_cryopods[input(usr,"Select a cryopod to use","Cryopod Choice") as null|anything in human_cryopods] + if(!CP) + return + M.ghostize() + CP.despawn_occupant(M) + return + + else if(issilicon(M)) + if(isAI(M)) + var/mob/living/silicon/ai/ai = M + empty_playable_ai_cores += new /obj/structure/AIcore/deactivated(ai.loc) + global_announcer.autosay("[ai] has been moved to intelligence storage.", "Artificial Intelligence Oversight") + ai.clear_client() + return + else + var/obj/machinery/cryopod/robot/CP = robot_cryopods[input(usr,"Select a cryopod to use","Cryopod Choice") as null|anything in robot_cryopods] + if(!CP) + return + M.ghostize() + CP.despawn_occupant(M) + return + + else if(isliving(M)) + M.ghostize() + qdel(M) //Bye From 8b6c76af814c93607dc8197fa08389f1a328cc00 Mon Sep 17 00:00:00 2001 From: Arokha Sieyes Date: Sun, 4 Feb 2018 01:32:04 -0500 Subject: [PATCH 09/13] POLARIS: Cut down ghosting admin spam --- code/modules/mob/dead/observer/observer.dm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index cc7fe00711..e7f0db6b30 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -204,8 +204,11 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp return resting = 1 var/turf/location = get_turf(src) - message_admins("[key_name_admin(usr)] has ghosted. (JMP)") - log_game("[key_name_admin(usr)] has ghosted.") + var/special_role = check_special_role() + if(!istype(loc,/obj/machinery/cryopod)) + log_and_message_admins("has ghosted outside cryo[special_role ? " as [special_role]" : ""]. (JMP)",usr) + else if(special_role) + log_and_message_admins("has ghosted in cryo as [special_role]. (JMP)",usr) var/mob/observer/dead/ghost = ghostize(0) // 0 parameter is so we can never re-enter our body, "Charlie, you can never come baaaack~" :3 if(ghost) ghost.timeofdeath = world.time // Because the living mob won't have a time of death and we want the respawn timer to work properly. From 2cf7149607cb0cf29d0d36c405b5cc68ce68dc98 Mon Sep 17 00:00:00 2001 From: Cyantime Date: Sun, 4 Feb 2018 02:22:35 -0500 Subject: [PATCH 10/13] Makes containment fields and tesla bolts bypass gloves --- code/modules/power/singularity/containment_field.dm | 3 +-- code/modules/power/tesla/energy_ball.dm | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/code/modules/power/singularity/containment_field.dm b/code/modules/power/singularity/containment_field.dm index d57c133cd1..d8712a0e4c 100644 --- a/code/modules/power/singularity/containment_field.dm +++ b/code/modules/power/singularity/containment_field.dm @@ -53,7 +53,7 @@ if(isliving(user)) hasShocked = 1 var/shock_damage = min(rand(30,40),rand(30,40)) - user.electrocute_act(shock_damage, src) + user.electrocute_act(shock_damage, src, 1, BP_TORSO) var/atom/target = get_edge_target_turf(user, get_dir(src, get_step_away(user, src))) user.throw_at(target, 200, 4) @@ -61,7 +61,6 @@ sleep(20) hasShocked = 0 - return /obj/machinery/containment_field/proc/set_master(var/master1,var/master2) if(!master1 || !master2) diff --git a/code/modules/power/tesla/energy_ball.dm b/code/modules/power/tesla/energy_ball.dm index 71cb8a35e7..4327bbf42d 100644 --- a/code/modules/power/tesla/energy_ball.dm +++ b/code/modules/power/tesla/energy_ball.dm @@ -285,7 +285,7 @@ else if(closest_mob) var/shock_damage = Clamp(round(power/400), 10, 90) + rand(-5, 5) - closest_mob.electrocute_act(shock_damage, source, 1/*, tesla_shock = 1, stun = stun_mobs*/) + closest_mob.electrocute_act(shock_damage, source, 1, ran_zone()) if(issilicon(closest_mob)) var/mob/living/silicon/S = closest_mob if(stun_mobs) From cee3066a415b04ba969503e5bbb730e8d544ba76 Mon Sep 17 00:00:00 2001 From: Andromeda-K22 Date: Sun, 4 Feb 2018 19:04:28 -0500 Subject: [PATCH 11/13] RUST additions and updates, Modular guns, and Lead. (#4667) * expanding rupture procs adds hydromagnetic traps for power production. * Minor tweaks. * Adds modular guns using research components. * Updates materials to have a radiation_resistance variable, used in calculating radiation. Adds Lead as a material. * Un-zeros stock material radiation resistance. * Adds, and enables four 'end-events' for the RUST in place of the old Rupture() proc. * Map muckery? * absolute pathing i guess? * getting angry, travis. * TRAVIS STAHP * I... Comments? Lists? Who the hell knows. --- code/datums/repositories/radiation.dm | 2 +- code/modules/materials/material_sheets.dm | 7 + code/modules/materials/materials.dm | 31 ++- code/modules/power/fusion/core/_core.dm | 2 +- code/modules/power/fusion/core/core_field.dm | 193 +++++++++++++++--- code/modules/power/fusion/fusion_reactions.dm | 3 +- code/modules/power/fusion/fusion_reagents.dm | 12 +- code/modules/power/fusion/magpower.dm | 54 +++++ code/modules/projectiles/guns/modular_guns.dm | 174 ++++++++++++++++ icons/obj/gun.dmi | Bin 80403 -> 84173 bytes icons/obj/machines/power/fusion.dmi | Bin 41882 -> 43629 bytes polaris.dme | 2 + 12 files changed, 440 insertions(+), 40 deletions(-) create mode 100644 code/modules/power/fusion/magpower.dm create mode 100644 code/modules/projectiles/guns/modular_guns.dm diff --git a/code/datums/repositories/radiation.dm b/code/datums/repositories/radiation.dm index 4755b982ec..5d06eccc77 100644 --- a/code/datums/repositories/radiation.dm +++ b/code/datums/repositories/radiation.dm @@ -116,7 +116,7 @@ var/global/repository/radiation/radiation_repository = new() else if(O.density) //So open doors don't get counted var/material/M = O.get_material() if(!M) continue - cached_rad_resistance += M.weight + cached_rad_resistance += M.radiation_resistance // Looks like storing the contents length is meant to be a basic check if the cache is stale due to items enter/exiting. Better than nothing so I'm leaving it as is. ~Leshana radiation_repository.resistance_cache[src] = (length(contents) + 1) diff --git a/code/modules/materials/material_sheets.dm b/code/modules/materials/material_sheets.dm index 0f76f6172e..d212851071 100644 --- a/code/modules/materials/material_sheets.dm +++ b/code/modules/materials/material_sheets.dm @@ -94,6 +94,13 @@ apply_colour = 1 no_variants = FALSE +/obj/item/stack/material/lead + name = "lead" + icon_state = "sheet-adamantine" + default_type = "lead" + apply_colour = 1 + no_variants = TRUE + /obj/item/stack/material/sandstone name = "sandstone brick" icon_state = "sheet-sandstone" diff --git a/code/modules/materials/materials.dm b/code/modules/materials/materials.dm index af5e1b7475..2fa2b1dbbe 100644 --- a/code/modules/materials/materials.dm +++ b/code/modules/materials/materials.dm @@ -99,6 +99,7 @@ var/list/name_to_material var/conductivity = null // How conductive the material is. Iron acts as the baseline, at 10. var/list/composite_material // If set, object matter var will be a list containing these values. var/luminescence + var/radiation_resistance = 20 // Radiation resistance, used in calculating how much radiation a material absorbs. Equivlent to weight, but does not affect weaponry. // Placeholder vars for the time being, todo properly integrate windows/light tiles/rods. var/created_window @@ -236,6 +237,7 @@ var/list/name_to_material weight = 22 stack_origin_tech = list(TECH_MATERIAL = 5) door_icon_base = "stone" + radiation_resistance = 80 //dense, so it's okay-ish as rad shielding. /material/diamond name = "diamond" @@ -261,6 +263,7 @@ var/list/name_to_material stack_origin_tech = list(TECH_MATERIAL = 4) sheet_singular_name = "ingot" sheet_plural_name = "ingots" + radiation_resistance = 120 //gold is dense. /material/gold/bronze //placeholder for ashtrays name = "bronze" @@ -276,7 +279,7 @@ var/list/name_to_material stack_origin_tech = list(TECH_MATERIAL = 3) sheet_singular_name = "ingot" sheet_plural_name = "ingots" - + radiation_resistance = 22 //R-UST port /material/supermatter name = "supermatter" @@ -337,6 +340,7 @@ var/list/name_to_material door_icon_base = "stone" sheet_singular_name = "brick" sheet_plural_name = "bricks" + radiation_resistance = 22 /material/stone/marble name = "marble" @@ -345,6 +349,7 @@ var/list/name_to_material hardness = 100 integrity = 201 //hack to stop kitchen benches being flippable, todo: refactor into weight system stack_type = /obj/item/stack/material/marble + radiation_resistance = 26 /material/steel name = DEFAULT_WALL_MATERIAL @@ -391,6 +396,7 @@ var/list/name_to_material conductivity = 13 // For the purposes of balance. stack_origin_tech = list(TECH_MATERIAL = 2) composite_material = list(DEFAULT_WALL_MATERIAL = SHEET_MATERIAL_AMOUNT, "platinum" = SHEET_MATERIAL_AMOUNT) //todo + radiation_resistance = 60 //Plasteel is presumably dense and is the dominant material used in the engine. Still not great. // Very rare alloy that is reflective, should be used sparingly. /material/durasteel @@ -408,6 +414,7 @@ var/list/name_to_material reflectivity = 0.7 // Not a perfect mirror, but close. stack_origin_tech = list(TECH_MATERIAL = 8) composite_material = list("plasteel" = SHEET_MATERIAL_AMOUNT, "diamond" = SHEET_MATERIAL_AMOUNT) //shrug + radiation_resistance = 120 //it reflects XRAY LASERS. /material/plasteel/titanium name = "titanium" @@ -436,6 +443,7 @@ var/list/name_to_material window_options = list("One Direction" = 1, "Full Window" = 4, "Windoor" = 2) created_window = /obj/structure/window/basic rod_product = /obj/item/stack/material/glass/reinforced + radiation_resistance = 15 /material/glass/build_windows(var/mob/living/user, var/obj/item/stack/used_stack) @@ -527,6 +535,7 @@ var/list/name_to_material created_window = /obj/structure/window/reinforced wire_product = null rod_product = null + radiation_resistance = 30 /material/glass/phoron name = "borosilicate glass" @@ -554,6 +563,7 @@ var/list/name_to_material stack_origin_tech = list(TECH_MATERIAL = 2) composite_material = list() //todo rod_product = null + radiation_resistance = 30 /material/plastic name = "plastic" @@ -568,6 +578,7 @@ var/list/name_to_material conductivity = 2 // For the sake of material armor diversity, we're gonna pretend this plastic is a good insulator. melting_point = T0C+371 //assuming heat resistant plastic stack_origin_tech = list(TECH_MATERIAL = 3) + radiation_resistance = 12 /material/plastic/holographic name = "holoplastic" @@ -618,6 +629,7 @@ var/list/name_to_material stack_origin_tech = list(TECH_MATERIAL = 2) sheet_singular_name = "ingot" sheet_plural_name = "ingots" + radiation_resistance = 27 /material/iron name = "iron" @@ -627,6 +639,17 @@ var/list/name_to_material conductivity = 10 sheet_singular_name = "ingot" sheet_plural_name = "ingots" + radiation_resistance = 22 + +/material/lead + name = "lead" + stack_type = /obj/item/stack/material/lead + icon_colour = "#273956" + weight = 35 + conductivity = 10 + sheet_singular_name = "ingot" + sheet_plural_name = "ingots" + radiation_resistance = 350 //actual radiation shielding, yay... // Adminspawn only, do not let anyone get this. /material/alienalloy @@ -640,6 +663,7 @@ var/list/name_to_material hardness = 500 weight = 500 protectiveness = 80 // 80% + radiation_resistance = 500 // Likewise. /material/alienalloy/elevatorium @@ -697,6 +721,7 @@ var/list/name_to_material destruction_desc = "splinters" sheet_singular_name = "plank" sheet_plural_name = "planks" + radiation_resistance = 18 /material/wood/log name = MAT_LOG @@ -739,7 +764,7 @@ var/list/name_to_material stack_origin_tech = list(TECH_MATERIAL = 1) door_icon_base = "wood" destruction_desc = "crumples" - + radiation_resistance = 1 /material/snow name = MAT_SNOW stack_type = /obj/item/stack/material/snow @@ -756,7 +781,7 @@ var/list/name_to_material destruction_desc = "crumples" sheet_singular_name = "pile" sheet_plural_name = "pile" //Just a bigger pile - + radiation_resistance = 1 /material/cloth //todo name = "cloth" stack_origin_tech = list(TECH_MATERIAL = 2) diff --git a/code/modules/power/fusion/core/_core.dm b/code/modules/power/fusion/core/_core.dm index 760c46ea93..7f81b70ffd 100644 --- a/code/modules/power/fusion/core/_core.dm +++ b/code/modules/power/fusion/core/_core.dm @@ -77,7 +77,7 @@ var/list/fusion_cores = list() if(owned_field) icon_state = "core0" if(force_rupture || owned_field.plasma_temperature > 1000) - owned_field.Rupture() + owned_field.MRC() else owned_field.RadiateAll() qdel(owned_field) diff --git a/code/modules/power/fusion/core/core_field.dm b/code/modules/power/fusion/core/core_field.dm index 37351c53af..ef1c3716fa 100644 --- a/code/modules/power/fusion/core/core_field.dm +++ b/code/modules/power/fusion/core/core_field.dm @@ -1,6 +1,7 @@ #define FUSION_ENERGY_PER_K 20 #define FUSION_MAX_ENVIRO_HEAT 5000 //raise this if you want the reactor to dump more energy into the atmosphere -#define PLASMA_TEMP_RADIATION_DIVISIOR 15 //radiation divisior. plasma temp / divisor = radiation. +#define PLASMA_TEMP_RADIATION_DIVISIOR 20 //radiation divisior. plasma temp / divisor = radiation. + /obj/effect/fusion_em_field name = "electromagnetic field" @@ -19,6 +20,8 @@ var/tick_instability = 0 var/percent_unstable = 0 var/stable = 1 + var/id_tag + var/critical = 0 var/obj/machinery/power/fusion_core/owned_core var/list/dormant_reactant_quantities = list() @@ -31,7 +34,8 @@ /obj/structure/cable, /obj/machinery/atmospherics, /obj/machinery/air_sensor, - /mob/observer/dead + /mob/observer/dead, + /obj/machinery/power/hydromagnetic_trap ) var/light_min_range = 2 @@ -52,7 +56,7 @@ owned_core = new_owned_core if(!owned_core) qdel(src) - + id_tag = owned_core.id_tag //create the gimmicky things to handle field collisions var/obj/effect/fusion_particle_catcher/catcher @@ -194,37 +198,46 @@ if(percent_unstable >= 1) owned_core.Shutdown(force_rupture=1) else - if(percent_unstable > 0.5 && prob(percent_unstable*100)) + if(percent_unstable > 0.1 && prob(percent_unstable*100)) if(plasma_temperature < 2000) visible_message("\The [src] ripples uneasily, like a disturbed pond.") else var/flare var/fuel_loss var/rupture - if(percent_unstable < 0.2) + if(percent_unstable > 0.2) visible_message("\The [src] ripples uneasily, like a disturbed pond.") - fuel_loss = prob(5) - flare = prob(50) - else if(percent_unstable < 0.9) + flare = prob(25) + else if(percent_unstable > 0.5) visible_message("\The [src] undulates violently, shedding plumes of plasma!") flare = prob(50) fuel_loss = prob(20) rupture = prob(5) - else + else if(percent_unstable > 0.8) visible_message("\The [src] is wracked by a series of horrendous distortions, buckling and twisting like a living thing!") flare = 1 fuel_loss = prob(50) rupture = prob(25) if(rupture) - owned_core.Shutdown(force_rupture=1) + if(prob(80)) + MagneticQuench() + return + else if(prob(15)) + MRC() + return + else if(prob(5)) + QuantumFluxCascade() + return + else if(prob(5)) + BluespaceQuenchEvent() + return else var/lost_plasma = (plasma_temperature*percent_unstable) radiation += lost_plasma if(flare) - radiation += plasma_temperature/2 - plasma_temperature -= lost_plasma - + spawn(1) + emflare() if(fuel_loss) for(var/particle in dormant_reactant_quantities) var/lost_fuel = dormant_reactant_quantities[particle]*percent_unstable @@ -234,17 +247,19 @@ dormant_reactant_quantities.Remove(particle) Radiate() return - -/obj/effect/fusion_em_field/proc/Rupture() - visible_message("\The [src] shudders like a dying animal before flaring to eye-searing brightness and rupturing!") - set_light(15, 15, "#CCCCFF") - empulse(get_turf(src), ceil(plasma_temperature/1000), ceil(plasma_temperature/300)) - sleep(5) - global_announcer.autosay("WARNING: FIELD RUPTURE IMMINENT!", "Containment Monitor") - RadiateAll() - explosion(get_turf(owned_core),-1,-1,8,10) // Blow out all the windows. - return - +/*/obj/effect/fusion_em_field/proc/CheckCriticality() + if (plasma_temperature > 70000) + critical += 0.2 + else if (instability > 0.45) + critical += 0.6 + if(critical >= 25 && prob(percent_unstable*100)) + if (critical >= 90) + visible_message("\The [src] rumbles and quivers violently, threatening to break free!") + else if(critical >= 50) + visible_message("\The [src] rumbles and quivers energetically, the walls distorting slightly.") + else if(critical >= 25) + visible_message("\The [src] rumbles and quivers slightly, vibrating the deck.") +*/ /obj/effect/fusion_em_field/proc/ChangeFieldStrength(var/new_strength) var/calc_size = 1 if(new_strength <= 50) @@ -490,19 +505,19 @@ //All procs below this point are called in _core.dm, starting at line 41. //Stability monitoring. Gives radio annoucements if field stability is below 80% /obj/effect/fusion_em_field/proc/stability_monitor() - var/warnpoint = 0.10 + var/warnpoint = 0.10 //start warning at 10% instability var/warnmessage = "Warning! Field unstable! Instability at [percent_unstable * 100]%, plasma temperature at [plasma_temperature + 295]k." var/stablemessage = "Containment field returning to stable conditions." - if(percent_unstable >= warnpoint) + if(percent_unstable >= warnpoint) //we're unstable, start warning engineering global_announcer.autosay(warnmessage, "Field Stability Monitor", "Engineering") - stable = 0 - sleep(20 SECONDS) - return - if(percent_unstable < warnpoint && stable == 0) + stable = 0 //we know we're not stable, so let's not state the safe message. + sleep(20) + return + if(percent_unstable < warnpoint && stable == 0) //The field is stable again. Let's set our safe variable and state the safe message. global_announcer.autosay(stablemessage, "Field Stability Monitor", "Engineering") stable = 1 - return + return //Reaction radiation is fairly buggy and there's at least three procs dealing with radiation here, this is to ensure constant radiation output. /obj/effect/fusion_em_field/proc/radiation_scale() @@ -513,7 +528,8 @@ if(owned_core && owned_core.loc) var/datum/gas_mixture/environment = owned_core.loc.return_air() if(environment && environment.temperature < (T0C+FUSION_MAX_ENVIRO_HEAT)) - environment.add_thermal_energy(plasma_temperature*20000) + environment.add_thermal_energy(plasma_temperature*5000) + check_instability() //Temperature changes depending on color. /obj/effect/fusion_em_field/proc/temp_color() @@ -538,8 +554,121 @@ light_max_range = 5 light_max_power = 5 return +//moved the flare to a proc for various reasons. Called on line 225. +/obj/effect/fusion_em_field/proc/emflare() + radiation += plasma_temperature/2 + light_color = "#ff0000" + light_max_power = 30 + light_min_power = 30 + light_min_range = 30 + light_max_range = 30 + visible_message("\The [src] flares to eye-searing brightness!") + sleep(60) + temp_color() + //plasma_temperature -= lost_plasma + return +//Rupture() is no longer the end all be all. Fear the magnetic resonance cascade and quantum flux cascade +/obj/effect/fusion_em_field/proc/Rupture() + visible_message("\The [src] shudders like a dying animal before flaring to eye-searing brightness and rupturing!") + set_light(15, 15, "#CCCCFF") + empulse(get_turf(src), ceil(plasma_temperature/1000), ceil(plasma_temperature/300)) + global_announcer.autosay("WARNING: FIELD RUPTURE IMMINENT!", "Containment Monitor") + RadiateAll() + var/list/things_in_range = range(10, owned_core) + var/list/turfs_in_range = list() + var/turf/T + for (T in things_in_range) + turfs_in_range.Add(T) + + explosion(pick(things_in_range), -1, 5, 5, 5) + empulse(pick(things_in_range), ceil(plasma_temperature/1000), ceil(plasma_temperature/300)) + spawn(25) + explosion(pick(things_in_range), -1, 5, 5, 5) + spawn(25) + explosion(pick(things_in_range), -1, 5, 5, 5) + spawn(25) + explosion(pick(things_in_range), -1, 5, 5, 5) + spawn(10) + explosion(pick(things_in_range), -1, 5, 5, 5) + spawn(10) + explosion(pick(things_in_range), -1, 5, 5, 5) + spawn(10) + explosion(pick(things_in_range), -1, 5, 5, 5) + return + +/obj/effect/fusion_em_field/proc/MRC() //spews electromagnetic pulses in an area around the core. + visible_message("\The [src] glows an extremely bright pink and flares out of existance!") + global_announcer.autosay("Warning! Magnetic Resonance Cascade detected! Brace for electronic system distruption.", "Field Stability Monitor") + set_light(15, 15, "#ff00d8") + var/list/things_in_range = range(15, owned_core) + var/list/turfs_in_range = list() + var/turf/T + for (T in things_in_range) + turfs_in_range.Add(T) + for(var/loopcount = 1 to 10) + spawn(200) + empulse(pick(things_in_range), 10, 15) + Destroy() + return + +/obj/effect/fusion_em_field/proc/QuantumFluxCascade() //spews hot phoron and oxygen in a radius around the RUST. Will probably set fire to things + global_announcer.autosay("Warning! Quantum fluxuation detected! Flammable gas release expected.", "Field Stability Monitor") + var/list/things_in_range = range(15, owned_core) + var/list/turfs_in_range = list() + var/turf/T + for (T in things_in_range) + turfs_in_range.Add(T) + for(var/loopcount = 1 to 10) + var/turf/TT = get_turf(pick(turfs_in_range)) + if(istype(TT)) + var/datum/gas_mixture/plasma = new + plasma.adjust_gas("oxygen", (size*100), 0) + plasma.adjust_gas("phoron", (size*100), 0) + plasma.temperature = (plasma_temperature/2) + plasma.update_values() + TT.assume_air(plasma) + TT.hotspot_expose(plasma_temperature) + plasma = null + Destroy() + return + +/obj/effect/fusion_em_field/proc/MagneticQuench() //standard hard shutdown. dumps hot oxygen/phoron into the core's area and releases an EMP in the area around the core. + global_announcer.autosay("Warning! Magnetic Quench event detected, engaging hard shutdown.", "Field Stability Monitor") + empulse(owned_core, 10, 15) + var/turf/TT = get_turf(owned_core) + if(istype(TT)) + var/datum/gas_mixture/plasma = new + plasma.adjust_gas("oxygen", (size*100), 0) + plasma.adjust_gas("phoron", (size*100), 0) + plasma.temperature = (plasma_temperature/2) + plasma.update_values() + TT.assume_air(plasma) + TT.hotspot_expose(plasma_temperature) + plasma = null + Destroy() + owned_core.Shutdown() + return + +/obj/effect/fusion_em_field/proc/BluespaceQuenchEvent() //!!FUN!! causes a number of explosions in an area around the core. Will likely destory or heavily damage the reactor. + visible_message("\The [src] shudders like a dying animal before flaring to eye-searing brightness and rupturing!") + set_light(15, 15, "#CCCCFF") + empulse(get_turf(src), ceil(plasma_temperature/1000), ceil(plasma_temperature/300)) + global_announcer.autosay("WARNING: FIELD RUPTURE IMMINENT!", "Containment Monitor") + RadiateAll() + var/list/things_in_range = range(10, owned_core) + var/list/turfs_in_range = list() + var/turf/T + for (T in things_in_range) + turfs_in_range.Add(T) + for(var/loopcount = 1 to 10) + explosion(pick(things_in_range), -1, 5, 5, 5) + empulse(pick(things_in_range), ceil(plasma_temperature/1000), ceil(plasma_temperature/300)) + Destroy() + owned_core.Shutdown() + return + #undef FUSION_HEAT_CAP #undef FUSION_MAX_ENVIRO_HEAT #undef PLASMA_TEMP_RADIATION_DIVISIOR \ No newline at end of file diff --git a/code/modules/power/fusion/fusion_reactions.dm b/code/modules/power/fusion/fusion_reactions.dm index 38f73812f9..623f70bd6b 100644 --- a/code/modules/power/fusion/fusion_reactions.dm +++ b/code/modules/power/fusion/fusion_reactions.dm @@ -117,7 +117,7 @@ proc/get_fusion_reaction(var/p_react, var/s_react, var/m_energy) var/turf/origin = get_turf(holder) holder.Rupture() qdel(holder) - var/radiation_level = rand(100, 200) + var/radiation_level = 200 // Copied from the SM for proof of concept. //Not any more --Cirra //Use the whole z proc --Leshana radiation_repository.z_radiate(locate(1, 1, holder.z), radiation_level, 1) @@ -141,7 +141,6 @@ proc/get_fusion_reaction(var/p_react, var/s_react, var/m_energy) return 1 - // High end reactions. /decl/fusion_reaction/boron_hydrogen p_react = "boron" diff --git a/code/modules/power/fusion/fusion_reagents.dm b/code/modules/power/fusion/fusion_reagents.dm index 875bf63fee..80b1cbb336 100644 --- a/code/modules/power/fusion/fusion_reagents.dm +++ b/code/modules/power/fusion/fusion_reagents.dm @@ -5,4 +5,14 @@ description = "A colorless, odorless, tasteless and generally inert gas used in fusion reactors. Non-radioactive." id = "helium-3" reagent_state = GAS - color = "#808080" \ No newline at end of file + color = "#808080" + +/obj/structure/reagent_dispensers/he3 + name = "fueltank" + desc = "A fueltank." + icon = 'icons/obj/objects.dmi' + icon_state = "weldtank" + amount_per_transfer_from_this = 10 + New() + ..() + reagents.add_reagent("helium-3",1000) \ No newline at end of file diff --git a/code/modules/power/fusion/magpower.dm b/code/modules/power/fusion/magpower.dm new file mode 100644 index 0000000000..c6882c6eb3 --- /dev/null +++ b/code/modules/power/fusion/magpower.dm @@ -0,0 +1,54 @@ +#define ENERGY_PER_K 20 +#define MINIMUM_PLASMA_TEMPERATURE 10000 + +/obj/machinery/power/hydromagnetic_trap + name = "\improper hydromagnetic trap" + desc = "A device for extracting power from high-energy plasma in toroidal fields." + icon = 'icons/obj/machines/power/fusion.dmi' + icon_state = "mag_trap0" + anchored = 1 + var/list/things_in_range = list()//what is in a radius of us? + var/list/fields_in_range = list()//What EM fields are in that radius? + var/list/active_field = list()//Our active field. + var/active = 0 //are we even on? + var/id_tag //needed for !!rasins!! + +/obj/machinery/power/hydromagnetic_trap/process() + if(!powernet && anchored == 1) + return + spawn(1) + Active() + Search() + +/obj/machinery/power/hydromagnetic_trap/proc/Search()//let's not have +100 instances of the same field in active_field. + things_in_range = range(7, src) + var/obj/effect/fusion_em_field/FFF + for (FFF in things_in_range) + fields_in_range.Add(FFF) + for (FFF in fields_in_range) + if (active_field.len > 0) + return + else if (active_field.len == 0) + Link() + return + +/obj/machinery/power/hydromagnetic_trap/proc/Link() //discover our EM field + var/obj/effect/fusion_em_field/FFF + for(FFF in fields_in_range) + if (FFF.id_tag != id_tag) + return + active_field += FFF + active = 1 + return + +/obj/machinery/power/hydromagnetic_trap/proc/Active()//POWERRRRR + var/obj/effect/fusion_em_field/FF + if (active == 0) + return + for (FF in active_field) + if (FF.plasma_temperature >= MINIMUM_PLASMA_TEMPERATURE) + icon_state = "mag_trap1" + add_avail(ENERGY_PER_K * FF.plasma_temperature) + if (FF.plasma_temperature <= MINIMUM_PLASMA_TEMPERATURE) + icon_state = "mag_trap0" + return diff --git a/code/modules/projectiles/guns/modular_guns.dm b/code/modules/projectiles/guns/modular_guns.dm new file mode 100644 index 0000000000..8f81e971c4 --- /dev/null +++ b/code/modules/projectiles/guns/modular_guns.dm @@ -0,0 +1,174 @@ +//This will likely drive me insane, but fuck it. Let's give it a shot. -k22 +//This was heavily assisted by MoondancerPony +/obj/item/weapon/gun/energy/modular + name = "modular weapon" + desc = "You shouldn't be seeing this. Contact your local time-police station." + icon_state = "mod_pistol" + cell_type = /obj/item/weapon/cell/device/weapon + charge_cost = 120 + + var/max_components = 3 //How many components we can hold. + var/capacitor_rating = 0 //How good are the capacitors inside us? + var/laser_rating = 0 //How good are the lasers inside of us? + var/manipulator_rating = 0 //How good are the manipulators inside us? + var/assembled = 1 //Are we closed up? + var/max_burst_size = 5 //Don't let our maximum burst size get too high. + var/list/guncomponents = list() //Generate our list of components. + var/accepted_components = list( + /obj/item/weapon/stock_parts/capacitor/, + /obj/item/weapon/stock_parts/capacitor/adv, + /obj/item/weapon/stock_parts/capacitor/super, + /obj/item/weapon/stock_parts/micro_laser/, + /obj/item/weapon/stock_parts/micro_laser/high, + /obj/item/weapon/stock_parts/micro_laser/ultra, + /obj/item/weapon/stock_parts/manipulator/, + /obj/item/weapon/stock_parts/manipulator/nano, + /obj/item/weapon/stock_parts/manipulator/pico, + ) + //Excessively long because it won't accept subtypes for some reason! + + +/obj/item/weapon/gun/energy/modular/New() //Initialize our components. + ..() + guncomponents = list() + guncomponents += new /obj/item/weapon/stock_parts/capacitor + guncomponents += new /obj/item/weapon/stock_parts/micro_laser + guncomponents += new /obj/item/weapon/stock_parts/manipulator + CheckParts() + FireModeModify() + +/obj/item/weapon/gun/energy/modular/proc/CheckParts() //What parts do we have inside us, and how good are they? + capacitor_rating = 0 + laser_rating = 0 + manipulator_rating = 0 + for(var/obj/item/weapon/stock_parts/capacitor/CA in guncomponents) + capacitor_rating += CA.rating + for(var/obj/item/weapon/stock_parts/micro_laser/ML in guncomponents) + laser_rating += ML.rating + for(var/obj/item/weapon/stock_parts/manipulator/MA in guncomponents) + manipulator_rating += MA.rating + FireModeModify() + +/obj/item/weapon/gun/energy/modular/attackby(obj/item/O, mob/user) + if(istype(O, /obj/item/weapon/screwdriver)) + to_chat(user, "You [assembled ? "disassemble" : "assemble"] the gun.") + assembled = !assembled + playsound(src, O.usesound, 50, 1) + return + if(istype(O, /obj/item/weapon/crowbar)) + if(assembled == 1) + to_chat(user, "Disassemble the [src] first!") + return + for(var/obj/item/I in guncomponents) + to_chat(user, "You remove the gun's components.") + playsound(src, O.usesound, 50, 1) + I.forceMove(get_turf(src)) + guncomponents.Remove(I) + CheckParts() + return + //Someone's attacking us, and it's not anything we have a special case for (i.e. a tool) + ..() + if(assembled) // can't put anything in + return + if(!(O.type in accepted_components))//check if we can accept it + to_chat(user, "You can't add this to [src]!") + return + if(guncomponents.len >= max_components) //We have too many componenets and can't fit more. + to_chat(user, "You can't add any more components!") + return + if(istype(O, /obj/item/weapon/stock_parts/capacitor) && capacitor_rating == 5) + to_chat(user, "You can't add any more capacitors!") + return + user.drop_item() + guncomponents += O + O.forceMove(src) + to_chat(user, "You add a component to the [src]") + CheckParts() + + +/obj/item/weapon/gun/energy/modular/proc/FireModeModify() //Check our laser, manipulator, and capacitor ratings, adjust stun and lethal firemodes depending on laser / manipulator rating and burst size depending on capacitors. + //check our lethal and stun ratings depending on laser and manipulator rating. + var/burstmode = capacitor_rating + var/beammode + var/beammode_lethal + var/chargecost + var/chargecost_lethal + + if(laser_rating >= 15) + beammode_lethal = /obj/item/projectile/beam/sniper + beammode = /obj/item/projectile/beam/stun + chargecost = 300 + chargecost_lethal = 600 + else if(laser_rating >= 10) + beammode_lethal = /obj/item/projectile/beam/xray + beammode = /obj/item/projectile/beam/stun + chargecost = 300 + chargecost_lethal = 200 + else if(laser_rating == 8 && manipulator_rating == 5) //very specific set of combinations. No, you can't make a pulse rifle. Sorry research. + beammode_lethal = /obj/item/projectile/beam/heavylaser + beammode = /obj/item/projectile/beam/stun + chargecost = 300 + chargecost_lethal = 600 + else if(laser_rating >= 5) + beammode_lethal = /obj/item/projectile/beam/midlaser + beammode = /obj/item/projectile/beam/stun/med + chargecost = 180 + chargecost_lethal = 240 + else if(laser_rating < 5) + beammode_lethal = /obj/item/projectile/beam/weaklaser + beammode = /obj/item/projectile/beam/stun/weak + chargecost = 100 + chargecost_lethal = 200 + + firemodes = list( + new /datum/firemode(src, list(mode_name="stun", projectile_type=beammode, fire_sound='sound/weapons/Taser.ogg', charge_cost = chargecost)), + new /datum/firemode(src, list(mode_name="lethal", projectile_type=beammode_lethal, fire_sound='sound/weapons/Laser.ogg', charge_cost = chargecost_lethal)), + new /datum/firemode(src, list(mode_name="[burstmode] shot stun", projectile_type=beammode, fire_sound='sound/weapons/Taser.ogg', charge_cost = chargecost, burst = burstmode)), + new /datum/firemode(src, list(mode_name="[burstmode] shot lethal", projectile_type=beammode_lethal, fire_sound='sound/weapons/Laser.ogg', charge_cost = chargecost_lethal, burst = burstmode)), + ) + +/obj/item/weapon/gun/energy/modular/load_ammo(var/obj/item/C, mob/user) + if(istype(C, cell_type)) + if(self_recharge || battery_lock) + user << "[src] does not have a battery port." + return + var/obj/item/weapon/cell/P = C + if(power_supply) + user << "[src] already has a power cell." + else + user.visible_message("[user] is reloading [src].", "You start to insert [P] into [src].") + if(do_after(user, 10)) + user.remove_from_mob(P) + power_supply = P + P.loc = src + user.visible_message("[user] inserts [P] into [src].", "You insert [P] into [src].") + playsound(src.loc, 'sound/weapons/flipblade.ogg', 50, 1) + update_icon() + update_held_icon() + return + +/obj/item/weapon/gun/energy/modular/pistol + name = "modular pistol" + icon_state = "mod_pistol" + max_components = 6 + desc = "A bulky modular pistol frame. This only only accepts six parts." + origin_tech = list(TECH_COMBAT = 3, TECH_MAGNET = 3) + burst_delay = 2 + +/obj/item/weapon/gun/energy/modular/carbine + name = "modular carbine" + icon_state = "mod_carbine" + max_components = 8 + desc = "A modular version of the standard laser carbine. This one can hold 8 components." + origin_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 3, TECH_MATERIAL = 3) + burst_delay = 2 + +/obj/item/weapon/gun/energy/modular/cannon + name = "modular cannon" + icon_state = "mod_cannon" + max_components = 14 + desc = "Say hello, to my little friend!" + one_handed_penalty = 4 //dual wielding = no. + cell_type = /obj/item/weapon/cell //We're bigger. We can use much larger power cells. + origin_tech = list(TECH_COMBAT = 6, TECH_MAGNET = 6, TECH_MATERIAL = 5, TECH_BLUESPACE = 4) //its a damn cannon capable of holding a huge amount of parts. + burst_delay = 4 //preventing extreme silliness. \ No newline at end of file diff --git a/icons/obj/gun.dmi b/icons/obj/gun.dmi index d7a107da9409dea8225d7fac0c65ca8490279dd0..a9c1789bf4eede81136696a9307a0fecb85a87e9 100644 GIT binary patch delta 25619 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∿sNnS)ex-&dKYoZ35EX732 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 diff --git a/icons/obj/machines/power/fusion.dmi b/icons/obj/machines/power/fusion.dmi index be236a145e92ccaeff823cf155eb368bcdad8873..4d20f04fcdae319fcf48993d06e7f4f208402a02 100644 GIT binary patch delta 3695 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 GJ^dfV45VHF delta 1943 zcmYk6eLU0a8^^yRp@hy+RG!j29F;k>oKDtuN{-gyD5*J3n#4Q~rD$wlhv@uD7E38i z+4NxIi0)~-2dFy^?H9kpX<6`_f)sm9j?}OC>TNX z^@}?Yd@ks0SWH}4Gywn-@{4b@5nebOyZ5$W{Qf=9Y&sweKKi%g`svkKv37$la;XQ=>%$`U)X{0WZP5)?n z9g5qP7neA;X(Yo#uQBk~mdfKnAa2)IS*cqXZZ}2$%0nQ-PAe()WPBi#TYC298~L?c z>*wR}MlRu`^sXb14q91XiCECTLLj?e+D2`u8t8Huo(yg0ofsSWUr(ucboBJF zg-;S~U~_ZOkVW=CKCPRZwmM#RKK>-(eHSSjw`UDWaA_@lqH~m`Mzw9d{03ApTpxct zwP*g>y7Gi(reMvr-m$r$O)l(-M}xtQZ9_JzR~4iEi0mGhz$)!q|KvO(&mGOOc79?8 ztJl;#6w|zV1N;HN8bBY|=bKPj0a4|FZ14^1?e2_W%Dt|26{ByA32+PI(^Tz_0tf#Z zzI)7u+G56v+LP&-^;7AkYv6C{bOQ`w9_**+-z?4hTl#$s9j6JQ4^kB?mB*mUQw%7% z;OhcJcH&AY_r=Etz2yOd3B|&F&$YD0eHoQ>nZRVcCXcnZk3{{;Y07KjlZ^`BeqXcnRWF@?Y6@<5YM3+d z7ZebWSuffMcFufxd$nDfN|$lh&+GW~Dvf-mZfvf@l2l9@XQG@lL}OT7z9wL|i2gME zG9ex;W6g2Kg=`cx_QNbliaIzR`#$d`s%>C^Ha9otR83Lt#R)n$Q2M6cz3OaYbx@89 zui7krUUFIb5mqK+KVrE?yu=c}v6s^8UduNhTfqsBSYkqL72bx(v1Q|vRf;GHT=Gf` zYiQ;s7e4`0R9N%GR|Rmp(4NWj=l57FS{AevDn1_v_o76Tt?T~Af*PPiDi>X6r9`&~ z$cc@U;z9P)_-9M!yEpBcc{<6I-PW_$^`=HeN2*ga`E~4#zFdeX=^io_yCh#*69q&DxPehSSboSw~H zjkpjdGj%wc>{^gH`;tPO<|%rq7y7e9RD1`em@07*QK6FH=R=%Zn2lBz9)A=__J6YJ zzXi+MNI9{?3LB0HM{~DdEKKCn!MFHIkErKmwxq~w)dQonxc=79_8&y%8s&O{YLrK3 zTq`;#C+>abe&ognI})lc$|P73Bnalk7YPY%GDJ{@C;c8H=L~|kGu(_`NP}uvfoIzN zCNI*mDi+WZn4Z?~McNF4S0#wr1$9Fz#V|ZseRDvA;t0LkU?9;Ifq>Tq@ccB#+|u%9 zAEsGD1-S#Quv6VtT=ydkYrP%kroXsn1yl=i@H|?UH&SURo0Qky>G<@1*b+r9t*)*< zbCK_oZIUtY&gimR9k@iEaB0g$#SZ^EzgVw%x7~{i3R`p`lH_BSUX094;v%0-hHz55 z$ipOXez3*9FezSXN-~tO{=#DOYC9@M*=Id!`@AoE{^*{io+i=t@uAY?E{xJiczd>E zx?YlJt=AptLKXd6gU>7yK??^k_zsat!AI0Fbif-vpo5mTxQNW5Sp{;UOZ852Uh8 zda`9US=NOtlTMThF%P; z$C%uHiDIGTI5XR~#0!OlkB_?6x^{kXnSLF)B}0QtF#^n4&W!VR(#@Nj4V2K98zK*0PSpq;$M1P8=0X5m#K zmA94RL&huq*!gS&KuGb~I~Y=IwF_LpQIQ7xsPKYtmb%Uvrs(V!`0Pwqrpm( zK)~T)w{a8B`LOYdoSJCS#-A+7cfV@=_H$Zd!}yZ{YduHh2$Ogkh!Om}TI>IU#jqE} z+$4MOu{O~DyOG)VHoD<(SEGb?dw_;W|4Z6{hm$-n#>5|RDAy=kxpo@;;(0_`a! Q0Qvyh{m%ns`*A7%0aRo8`Tzg` diff --git a/polaris.dme b/polaris.dme index 5cc6b381fb..da4169efe1 100644 --- a/polaris.dme +++ b/polaris.dme @@ -2016,6 +2016,7 @@ #include "code\modules\power\fusion\fusion_particle_catcher.dm" #include "code\modules\power\fusion\fusion_reactions.dm" #include "code\modules\power\fusion\fusion_reagents.dm" +#include "code\modules\power\fusion\magpower.dm" #include "code\modules\power\fusion\core\_core.dm" #include "code\modules\power\fusion\core\core_control.dm" #include "code\modules\power\fusion\core\core_field.dm" @@ -2058,6 +2059,7 @@ #include "code\modules\projectiles\ammunition\rounds.dm" #include "code\modules\projectiles\guns\energy.dm" #include "code\modules\projectiles\guns\launcher.dm" +#include "code\modules\projectiles\guns\modular_guns.dm" #include "code\modules\projectiles\guns\projectile.dm" #include "code\modules\projectiles\guns\vox.dm" #include "code\modules\projectiles\guns\energy\laser.dm" From 00ed88764f9145ed6c38306527b2de1db51e7ad2 Mon Sep 17 00:00:00 2001 From: elgeonmb Date: Sun, 4 Feb 2018 16:15:42 -0800 Subject: [PATCH 12/13] 2/3/18 news update (#4713) * adds an e-reader full of news to the loadout * Political Almanac -> Pocket Newscaster * news update --- code/modules/lore_codex/news_data/main.dm | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/code/modules/lore_codex/news_data/main.dm b/code/modules/lore_codex/news_data/main.dm index 52ff382199..fec4ae7c3e 100644 --- a/code/modules/lore_codex/news_data/main.dm +++ b/code/modules/lore_codex/news_data/main.dm @@ -5,6 +5,7 @@ articles. You are encouraged to check back frequently." children = list( /datum/lore/codex/page/article1, + /datum/lore/codex/page/article2, /datum/lore/codex/page/about_news, ) @@ -31,4 +32,17 @@

\ The bill passed fairly quietly this afternoon, owing to the closed nature of the Bicamarial. A post-facto Occulum poll of voting-age\ VGA citizens suggest that fully 80% of them did not even know what a Promethean was prior to the most recent general election. A\ - follow-up poll indicates that an appreciable number of Sivians do not support the framework's current implementation." \ No newline at end of file + follow-up poll indicates that an appreciable number of Sivians do not support the framework's current implementation." + +/datum/lore/codex/page/article2 + name = "2/3/62-- Corporate Coup on Aetolus" + data = "A recent incident aboard the NRS Prometheus issued in a major change in the leadership of the Promethean homeworld. During \ + a late-night meeting of the Nanotrasen Board of Trustees, several high-ranking personnel, including Head of Research Naomi Harper,\ + announced their intention to assume direct control of Nanotrasen facilities in the system. It is known that several dissenting \ + members of the board were shot to death by Promethean test subjects. Our information comes from a survivor of the coup, who for \ + reasons of security has chosen to remain annonymous. All outbound shipments affiliated with Nanotrasen have ceased.\ +

\ + While neither Grayson Manufacturies nor Nanotrasen have made an official statement, Nanotrasen CEO Albary Moravec has called the \ + incident \"shocking, if the allegations are to be believed\" and has assured shareholders that Nanotrasen will respond to the \ + incident with as much force as it warrents.

Requests for a statement directed to the Board of Trustees or Dr. Harper were \ + not responded to. Free Traders are recommended to stay clear of the region until the situation resolves itself." From da4bd82a5d2af51f2987151266f7674f6768d960 Mon Sep 17 00:00:00 2001 From: mistyLuminescence <32139558+mistyLuminescence@users.noreply.github.com> Date: Mon, 5 Feb 2018 04:18:36 +0000 Subject: [PATCH 13/13] Adds more med gear to R&D and Cargo (#4691) * Adds more med gear to R&D and Cargo * standardises + adds sprites * Removes cargo crate --- code/datums/supplypacks/medical.dm | 4 ++-- code/game/objects/items/devices/scanners.dm | 18 +++++++++++------- .../objects/items/weapons/storage/firstaid.dm | 3 ++- code/modules/research/designs.dm | 9 +++++++++ icons/obj/device.dmi | Bin 63215 -> 61418 bytes 5 files changed, 24 insertions(+), 10 deletions(-) diff --git a/code/datums/supplypacks/medical.dm b/code/datums/supplypacks/medical.dm index bfaf2658bf..2c2e26d97d 100644 --- a/code/datums/supplypacks/medical.dm +++ b/code/datums/supplypacks/medical.dm @@ -330,8 +330,8 @@ access = access_cmo /datum/supply_packs/med/defib - name = "Defibrilator crate" + name = "Defibrillator crate" contains = list(/obj/item/device/defib_kit = 2) cost = 30 containertype = /obj/structure/closet/crate/medical - containername = "Defibrilator crate" \ No newline at end of file + containername = "Defibrillator crate" \ No newline at end of file diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 4187cfc422..ae255d2f7b 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -266,22 +266,26 @@ REAGENT SCANNER if(0) to_chat(usr, "The scanner will now perform a basic analysis.") -/obj/item/device/healthanalyzer/improved //reports bone fractures, IB, quantity of beneficial reagents in stomach; also regular health analyzer stuff +/obj/item/device/healthanalyzer/advanced //reports bone fractures, IB, quantity of beneficial reagents in stomach; also regular health analyzer stuff name = "advanced health analyzer" desc = "A miracle of medical technology, this handheld scanner can produce an accurate and specific report of a patient's biosigns." advscan = 1 origin_tech = list(TECH_MAGNET = 5, TECH_BIO = 6) - icon_state = "advhealth" + icon_state = "health1" -/obj/item/device/healthanalyzer/advanced //reports all of the above, as well as radiation severity and minor brain damage - name = "advanced health analyzer" +/obj/item/device/healthanalyzer/enhanced //reports all of the above, as well as radiation severity and minor brain damage + name = "enhanced health analyzer" + desc = "An even more advanced handheld health scanner, complete with a full biosign monitor and on-board radiation and neurological analysis suites." advscan = 2 - icon_state = "advhealth" + origin_tech = list(TECH_MAGNET = 6, TECH_BIO = 7) + icon_state = "health2" -/obj/item/device/healthanalyzer/enhanced //reports all of the above, as well as name and quantity of nonmed reagents in stomach +/obj/item/device/healthanalyzer/phasic //reports all of the above, as well as name and quantity of nonmed reagents in stomach name = "phasic health analyzer" + desc = "Possibly the most advanced health analyzer to ever have existed, utilising bluespace technology to determine almost everything worth knowing about a patient." advscan = 3 - icon_state = "advhealth" + origin_tech = list(TECH_MAGNET = 7, TECH_BIO = 8) + icon_state = "health3" /obj/item/device/analyzer name = "analyzer" diff --git a/code/game/objects/items/weapons/storage/firstaid.dm b/code/game/objects/items/weapons/storage/firstaid.dm index 24ba099e8f..43b7c9e22b 100644 --- a/code/game/objects/items/weapons/storage/firstaid.dm +++ b/code/game/objects/items/weapons/storage/firstaid.dm @@ -128,6 +128,7 @@ new /obj/item/weapon/storage/pill_bottle/spaceacillin(src) new /obj/item/weapon/reagent_containers/hypospray/autoinjector/biginjector/clotting(src) new /obj/item/stack/medical/splint(src) + new /obj/item/device/healthanalyzer/advanced(src) return /obj/item/weapon/storage/firstaid/surgery @@ -149,7 +150,7 @@ new /obj/item/weapon/surgical/bonegel(src) new /obj/item/weapon/surgical/FixOVein(src) new /obj/item/stack/medical/advanced/bruise_pack(src) - new /obj/item/device/healthanalyzer/advanced(src) + new /obj/item/device/healthanalyzer/enhanced(src) return /obj/item/weapon/storage/firstaid/clotting diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index dc4401f0bc..a6e158befa 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -491,6 +491,15 @@ other types of metals and chemistry for reagents). build_path = /obj/item/roller/adv sort_string = "MBBAF" +/datum/design/item/medical/enhanced_analyzer + name = "enhanced health analyzer" + desc = "A prototype version of the regular health analyzer, able to distinguish the location of more serious injuries as well as accurately determine radiation levels." + id = "advanced_analyzer" + req_tech = list(TECH_MAGNET = 5, TECH_BIO = 6) + materials = list(DEFAULT_WALL_MATERIAL = 2000, "glass" = 1000, "silver" = 1000, "gold" = 1500) + build_path = /obj/item/device/healthanalyzer/advanced + sort_string = "MBBAG" + /datum/design/item/implant materials = list(DEFAULT_WALL_MATERIAL = 50, "glass" = 50) diff --git a/icons/obj/device.dmi b/icons/obj/device.dmi index c6d991962720a72500be2ffacc21d9774f410aa4..e0e3305d44fb5473fb183c1024eb1d1db40a055f 100644 GIT binary patch literal 61418 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
IE$R< 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 AdjJ3c