From 629b5975ca1169e2166fbe01fcdd49724ec21fec Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Sat, 21 Dec 2019 16:48:56 +0100 Subject: [PATCH 1/4] Merge pull request #10096 from Citadel-Station-13/kevinz000-patch-123 nanites can no longer spread through atmospherics-blocking objects --- code/datums/components/crafting/craft.dm | 7 ------- code/modules/research/nanites/nanite_programs/utility.dm | 8 ++++++-- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/code/datums/components/crafting/craft.dm b/code/datums/components/crafting/craft.dm index 047c8c74..35966e18 100644 --- a/code/datums/components/crafting/craft.dm +++ b/code/datums/components/crafting/craft.dm @@ -127,10 +127,6 @@ for(var/datum/reagent/A in RC.reagents.reagent_list) .["other"][A.type] += A.volume .["other"][I.type] += 1 - if(istype(I, /obj/item/reagent_containers/food/snacks/grown) && !.["color"]) //First we find has priority - var/obj/item/reagent_containers/food/snacks/grown/G = I - if(G.modified_colors) - .["color"] = G.color /datum/component/personal_crafting/proc/check_tools(mob/user, datum/crafting_recipe/R, list/contents) if(!R.tools.len) @@ -166,9 +162,6 @@ /datum/component/personal_crafting/proc/construct_item(mob/user, datum/crafting_recipe/R) var/list/contents = get_surroundings(user) var/send_feedback = 1 - var/cached_color = null //Do not remove this. - if(contents["color"]) //From plants - cached_color = contents["color"] if(check_contents(R, contents)) if(check_tools(user, R, contents)) if(do_after(user, R.time, target = user)) diff --git a/code/modules/research/nanites/nanite_programs/utility.dm b/code/modules/research/nanites/nanite_programs/utility.dm index b33841a2..a269d01a 100644 --- a/code/modules/research/nanites/nanite_programs/utility.dm +++ b/code/modules/research/nanites/nanite_programs/utility.dm @@ -236,10 +236,14 @@ /datum/nanite_program/spreading/active_effect() if(prob(10)) var/list/mob/living/target_hosts = list() - for(var/mob/living/L in oview(5, host_mob)) - if((MOB_SILICON & L.mob_biotypes)) + var/turf/T = get_turf(host_mob) + for(var/mob/living/L in range(5, host_mob)) + if(!(MOB_ORGANIC in L.mob_biotypes) && !(MOB_UNDEAD in L.mob_biotypes)) + continue + if(!disease_air_spread_walk(T, get_turf(L))) continue target_hosts += L + target_hosts -= host_mob if(!target_hosts.len) return var/mob/living/infectee = pick(target_hosts) From dd45aece5b9cb4f86839211ba028f02b9ce7b332 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Tue, 31 Dec 2019 19:32:05 -0800 Subject: [PATCH 2/4] Merge pull request #10330 from keronshb/keronnanite More nanites from /tg/station --- .../subsystem/processing/nanites.dm | 1 + code/datums/components/nanites.dm | 9 +- .../research/designs/nanite_designs.dm | 30 ++++ .../nanites/nanite_programs/utility.dm | 153 +++++++++++++++++- .../modules/research/nanites/program_disks.dm | 14 +- code/modules/research/techweb/all_nodes.dm | 8 +- 6 files changed, 205 insertions(+), 10 deletions(-) diff --git a/code/controllers/subsystem/processing/nanites.dm b/code/controllers/subsystem/processing/nanites.dm index 69bd5781..5b53f9f8 100644 --- a/code/controllers/subsystem/processing/nanites.dm +++ b/code/controllers/subsystem/processing/nanites.dm @@ -6,6 +6,7 @@ PROCESSING_SUBSYSTEM_DEF(nanites) var/list/datum/nanite_cloud_backup/cloud_backups = list() var/list/mob/living/nanite_monitored_mobs = list() var/list/datum/nanite_program/relay/nanite_relays = list() + var/neural_network_count = 0 /datum/controller/subsystem/processing/nanites/proc/check_hardware(datum/nanite_cloud_backup/backup) if(QDELETED(backup.storage) || (backup.storage.stat & (NOPOWER|BROKEN))) diff --git a/code/datums/components/nanites.dm b/code/datums/components/nanites.dm index 85e67698..a2566aef 100644 --- a/code/datums/components/nanites.dm +++ b/code/datums/components/nanites.dm @@ -11,8 +11,9 @@ var/list/datum/nanite_program/programs = list() var/max_programs = NANITE_PROGRAM_LIMIT - var/stealth = FALSE //if TRUE, does not appear on HUDs and health scans, and does not display the program list on nanite scans - + var/stealth = FALSE //if TRUE, does not appear on HUDs and health scans + var/diagnostics = TRUE //if TRUE, displays program list when scanned by nanite scanners + /datum/component/nanites/Initialize(amount = 100, cloud = 0) if(!isliving(parent) && !istype(parent, /datum/nanite_cloud_backup)) return COMPONENT_INCOMPATIBLE @@ -250,8 +251,8 @@ to_chat(user, "Cloud ID: [cloud_id ? cloud_id : "Disabled"]") to_chat(user, "================") to_chat(user, "Program List:") - if(stealth) - to_chat(user, "%#$ENCRYPTED&^@") + if(!diagnostics) + to_chat(user, "Diagnostics Disabled") else for(var/X in programs) var/datum/nanite_program/NP = X diff --git a/code/modules/research/designs/nanite_designs.dm b/code/modules/research/designs/nanite_designs.dm index 177d7073..09fe1d9c 100644 --- a/code/modules/research/designs/nanite_designs.dm +++ b/code/modules/research/designs/nanite_designs.dm @@ -25,6 +25,20 @@ program_type = /datum/nanite_program/viral category = list("Utility Nanites") +/datum/design/nanites/research + name = "Distributed Computing" + desc = "The nanites aid the research servers by performing a portion of its calculations, increasing research point generation." + id = "research_nanites" + program_type = /datum/nanite_program/research + category = list("Utility Nanites") + +/datum/design/nanites/researchplus + name = "Neural Network" + desc = "The nanites link the host's brains together forming a neural research network, that becomes more efficient with the amount of total hosts. Can be overloaded to increase research output." + id = "researchplus_nanites" + program_type = /datum/nanite_program/researchplus + category = list("Utility Nanites") + /datum/design/nanites/monitoring name = "Monitoring" desc = "The nanites monitor the host's vitals and location, sending them to the suit sensor network." @@ -39,6 +53,13 @@ program_type = /datum/nanite_program/triggered/self_scan category = list("Utility Nanites") +/datum/design/nanites/dermal_button + name = "Dermal Button" + desc = "Displays a button on the host's skin, which can be used to send a signal to the nanites." + id = "dermal_button_nanites" + program_type = /datum/nanite_program/dermal_button + category = list("Utility Nanites") + /datum/design/nanites/stealth name = "Stealth" desc = "The nanites hide their activity and programming from superficial scans." @@ -46,6 +67,15 @@ program_type = /datum/nanite_program/stealth category = list("Utility Nanites") + +/datum/design/nanites/reduced_diagnostics + name = "Reduced Diagnostics" + desc = "Disables some high-cost diagnostics in the nanites, making them unable to communicate their program list to portable scanners. \ + Doing so saves some power, slightly increasing their replication speed." + id = "red_diag_nanites" + program_type = /datum/nanite_program/reduced_diagnostics + category = list("Utility Nanites") + /datum/design/nanites/access name = "Subdermal ID" desc = "The nanites store the host's ID access rights in a subdermal magnetic strip. Updates when triggered, copying the host's current access." diff --git a/code/modules/research/nanites/nanite_programs/utility.dm b/code/modules/research/nanites/nanite_programs/utility.dm index a269d01a..3db482d9 100644 --- a/code/modules/research/nanites/nanite_programs/utility.dm +++ b/code/modules/research/nanites/nanite_programs/utility.dm @@ -130,7 +130,7 @@ /datum/nanite_program/stealth name = "Stealth" - desc = "The nanites hide their activity and programming from superficial scans." + desc = "The nanites mask their activity from superficial scans, becoming undetectable by HUDs and non-specialized scanners." rogue_types = list(/datum/nanite_program/toxic) use_rate = 0.2 @@ -142,6 +142,22 @@ . = ..() nanites.stealth = FALSE +/datum/nanite_program/reduced_diagnostics + name = "Reduced Diagnostics" + desc = "Disables some high-cost diagnostics in the nanites, making them unable to communicate their program list to portable scanners. \ + Doing so saves some power, slightly increasing their replication speed." + rogue_types = list(/datum/nanite_program/toxic) + use_rate = -0.1 + +/datum/nanite_program/reduced_diagnostics/enable_passive_effect() + . = ..() + nanites.diagnostics = FALSE + +/datum/nanite_program/reduced_diagnostics/disable_passive_effect() + . = ..() + nanites.diagnostics = TRUE + + /datum/nanite_program/relay name = "Relay" desc = "The nanites receive and relay long-range nanite signals." @@ -271,3 +287,138 @@ if(fault == src) return fault.software_error() + +/datum/nanite_program/dermal_button + name = "Dermal Button" + desc = "Displays a button on the host's skin, which can be used to send a signal to the nanites." + extra_settings = list("Sent Code","Button Name","Icon","Color") + unique = FALSE + var/datum/action/innate/nanite_button/button + var/button_name = "Button" + var/icon = "power" + var/color = "green" + var/sent_code = 0 + +/datum/nanite_program/dermal_button/set_extra_setting(user, setting) + if(setting == "Sent Code") + var/new_code = input(user, "Set the sent code (1-9999):", name, null) as null|num + if(isnull(new_code)) + return + sent_code = CLAMP(round(new_code, 1), 1, 9999) + if(setting == "Button Name") + var/new_button_name = stripped_input(user, "Choose the name for the button.", "Button Name", button_name, MAX_NAME_LEN) + if(!new_button_name) + return + button_name = new_button_name + if(setting == "Icon") + var/new_icon = input("Select the icon to display on the button:", name) as null|anything in list("one","two","three","four","five","plus","minus","power") + if(!new_icon) + return + icon = new_icon + if(setting == "Color") + var/new_color = input("Select the color of the button's icon:", name) as null|anything in list("green","red","yellow","blue") + if(!new_color) + return + color = new_color + +/datum/nanite_program/dermal_button/get_extra_setting(setting) + if(setting == "Sent Code") + return sent_code + if(setting == "Button Name") + return button_name + if(setting == "Icon") + return capitalize(icon) + if(setting == "Color") + return capitalize(color) + +/datum/nanite_program/dermal_button/copy_extra_settings_to(datum/nanite_program/dermal_button/target) + target.sent_code = sent_code + target.button_name = button_name + target.icon = icon + target.color = color + +/datum/nanite_program/dermal_button/enable_passive_effect() + . = ..() + if(!button) + button = new(src, button_name, icon, color) + button.target = host_mob + button.Grant(host_mob) + +/datum/nanite_program/dermal_button/disable_passive_effect() + . = ..() + if(button) + button.Remove(host_mob) + +/datum/nanite_program/dermal_button/on_mob_remove() + . = ..() + qdel(button) + +/datum/nanite_program/dermal_button/proc/press() + if(activated) + host_mob.visible_message("[host_mob] presses a button on [host_mob.p_their()] forearm.", + "You press the nanite button on your forearm.", null, 2) + SEND_SIGNAL(host_mob, COMSIG_NANITE_SIGNAL, sent_code, "a [name] program") + +/datum/action/innate/nanite_button + name = "Button" + icon_icon = 'icons/mob/actions/actions_items.dmi' + check_flags = AB_CHECK_RESTRAINED|AB_CHECK_STUN|AB_CHECK_CONSCIOUS + button_icon_state = "power_green" + var/datum/nanite_program/dermal_button/program + +/datum/action/innate/nanite_button/New(datum/nanite_program/dermal_button/_program, _name, _icon, _color) + ..() + program = _program + name = _name + button_icon_state = "[_icon]_[_color]" + +/datum/action/innate/nanite_button/Activate() + program.press() + +/datum/nanite_program/research + name = "Distributed Computing" + desc = "The nanites aid the research servers by performing a portion of its calculations, increasing research point generation." + use_rate = 0.2 + rogue_types = list(/datum/nanite_program/toxic) + +/datum/nanite_program/research/active_effect() + if(!iscarbon(host_mob)) + return + var/points = 1 + if(!host_mob.client) //less brainpower + points *= 0.25 + SSresearch.science_tech.add_point_list(list(TECHWEB_POINT_TYPE_GENERIC = points)) + +/datum/nanite_program/researchplus + name = "Neural Network" + desc = "The nanites link the host's brains together forming a neural research network, that becomes more efficient with the amount of total hosts." + use_rate = 0.3 + rogue_types = list(/datum/nanite_program/brain_decay) + +/datum/nanite_program/researchplus/enable_passive_effect() + . = ..() + if(!iscarbon(host_mob)) + return + if(host_mob.client) + SSnanites.neural_network_count++ + else + SSnanites.neural_network_count += 0.25 + +/datum/nanite_program/researchplus/disable_passive_effect() + . = ..() + if(!iscarbon(host_mob)) + return + if(host_mob.client) + SSnanites.neural_network_count-- + else + SSnanites.neural_network_count -= 0.25 + +/datum/nanite_program/researchplus/active_effect() + if(!iscarbon(host_mob)) + return + var/mob/living/carbon/C = host_mob + var/points = round(SSnanites.neural_network_count / 12, 0.1) + if(!C.client) //less brainpower + points *= 0.25 + SSresearch.science_tech.add_point_list(list(TECHWEB_POINT_TYPE_GENERIC = points)) + diff --git a/code/modules/research/nanites/program_disks.dm b/code/modules/research/nanites/program_disks.dm index 86b7803f..f780f409 100644 --- a/code/modules/research/nanites/program_disks.dm +++ b/code/modules/research/nanites/program_disks.dm @@ -130,4 +130,16 @@ program_type = /datum/nanite_program/pacifying /obj/item/disk/nanite_program/stun - program_type = /datum/nanite_program/triggered/stun \ No newline at end of file + program_type = /datum/nanite_program/triggered/stun + +/obj/item/disk/nanite_program/dermal_button + program_type = /datum/nanite_program/dermal_button + +/obj/item/disk/nanite_program/research + program_type = /datum/nanite_program/research + +/obj/item/disk/nanite_program/researchplus + program_type = /datum/nanite_program/researchplus + +/obj/item/disk/nanite_program/reduced_diagnostics + program_type = /datum/nanite_program/reduced_diagnostics \ No newline at end of file diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index 2d364d9f..c8685849 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -961,7 +961,7 @@ prereq_ids = list("datatheory","robotics") design_ids = list("nanite_disk","nanite_remote","nanite_scanner",\ "nanite_chamber","public_nanite_chamber","nanite_chamber_control","nanite_programmer","nanite_program_hub","nanite_cloud_control",\ - "relay_nanites", "monitoring_nanites", "access_nanites", "repairing_nanites","sensor_nanite_volume", "repeater_nanites", "relay_repeater_nanites") + "relay_nanites", "monitoring_nanites", "access_nanites", "repairing_nanites","sensor_nanite_volume", "repeater_nanites", "relay_repeater_nanites","red_diag_nanites") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 @@ -970,7 +970,7 @@ display_name = "Smart Nanite Programming" description = "Nanite programs that require nanites to perform complex actions, act independently, roam or seek targets." prereq_ids = list("nanite_base","adv_robotics") - design_ids = list("purging_nanites", "metabolic_nanites", "stealth_nanites", "memleak_nanites","sensor_voice_nanites", "voice_nanites") + design_ids = list("purging_nanites", "research_nanites", "metabolic_nanites", "stealth_nanites", "memleak_nanites","sensor_voice_nanites", "voice_nanites") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2000) export_price = 4000 @@ -979,7 +979,7 @@ display_name = "Mesh Nanite Programming" description = "Nanite programs that require static structures and membranes." prereq_ids = list("nanite_base","engineering") - design_ids = list("hardening_nanites", "refractive_nanites", "cryo_nanites", "conductive_nanites", "shock_nanites", "emp_nanites", "temperature_nanites") + design_ids = list("hardening_nanites", "dermal_button_nanites", "refractive_nanites", "cryo_nanites", "conductive_nanites", "shock_nanites", "emp_nanites", "temperature_nanites") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 @@ -1016,7 +1016,7 @@ display_name = "Harmonic Nanite Programming" description = "Nanite programs that require seamless integration between nanites and biology." prereq_ids = list("nanite_bio","nanite_smart","nanite_mesh") - design_ids = list("fakedeath_nanites","aggressive_nanites","defib_nanites","regenerative_plus_nanites","brainheal_plus_nanites","purging_plus_nanites","adrenaline_nanites") + design_ids = list("fakedeath_nanites","researchplus_nanites","aggressive_nanites","defib_nanites","regenerative_plus_nanites","brainheal_plus_nanites","purging_plus_nanites","adrenaline_nanites") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 4000) export_price = 8000 From 89a56e8f357646e5efd7617c499ba2b713d05552 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Fri, 17 Jan 2020 14:24:13 -0700 Subject: [PATCH 3/4] Merge pull request #10569 from keronshb/RemoteMoodResearch Ports the Nanite Remote, Nanite Mood Programs + Rebalance, and the Research Generating Nanites --- code/datums/components/nanites.dm | 15 +- .../mood_events/generic_negative_events.dm | 7 + .../mood_events/generic_positive_events.dm | 11 ++ .../research/designs/electronics_designs.dm | 10 ++ .../research/designs/nanite_designs.dm | 22 ++- .../nanites/nanite_programs/healing.dm | 16 +- .../nanites/nanite_programs/suppression.dm | 154 +++++++++++++++--- .../nanites/nanite_programs/utility.dm | 61 ++++--- .../nanites/nanite_programs/weapon.dm | 45 +++-- .../modules/research/nanites/nanite_remote.dm | 103 ++++++++++++ .../modules/research/nanites/program_disks.dm | 8 +- code/modules/research/techweb/all_nodes.dm | 4 +- icons/obj/device.dmi | Bin 54198 -> 57100 bytes tgstation.dme | 2 +- tgui/assets/tgui.js | 2 +- tgui/src/interfaces/nanite_comm_remote.ract | 41 +++++ 16 files changed, 423 insertions(+), 78 deletions(-) create mode 100644 tgui/src/interfaces/nanite_comm_remote.ract diff --git a/code/datums/components/nanites.dm b/code/datums/components/nanites.dm index a2566aef..0eb80647 100644 --- a/code/datums/components/nanites.dm +++ b/code/datums/components/nanites.dm @@ -36,6 +36,7 @@ /datum/component/nanites/RegisterWithParent() RegisterSignal(parent, COMSIG_HAS_NANITES, .proc/confirm_nanites) + RegisterSignal(parent, COMSIG_NANITE_IS_STEALTHY, .proc/check_stealth) RegisterSignal(parent, COMSIG_NANITE_UI_DATA, .proc/nanite_ui_data) RegisterSignal(parent, COMSIG_NANITE_GET_PROGRAMS, .proc/get_programs) RegisterSignal(parent, COMSIG_NANITE_SET_VOLUME, .proc/set_volume) @@ -56,9 +57,11 @@ RegisterSignal(parent, COMSIG_LIVING_MINOR_SHOCK, .proc/on_minor_shock) RegisterSignal(parent, COMSIG_SPECIES_GAIN, .proc/check_viable_biotype) RegisterSignal(parent, COMSIG_NANITE_SIGNAL, .proc/receive_signal) + RegisterSignal(parent, COMSIG_NANITE_COMM_SIGNAL, .proc/receive_comm_signal) /datum/component/nanites/UnregisterFromParent() UnregisterSignal(parent, list(COMSIG_HAS_NANITES, + COMSIG_NANITE_IS_STEALTHY, COMSIG_NANITE_UI_DATA, COMSIG_NANITE_GET_PROGRAMS, COMSIG_NANITE_SET_VOLUME, @@ -77,7 +80,8 @@ COMSIG_LIVING_MINOR_SHOCK, COMSIG_MOVABLE_HEAR, COMSIG_SPECIES_GAIN, - COMSIG_NANITE_SIGNAL)) + COMSIG_NANITE_SIGNAL, + COMSIG_NANITE_COMM_SIGNAL)) /datum/component/nanites/Destroy() STOP_PROCESSING(SSnanites, src) @@ -186,6 +190,9 @@ var/datum/nanite_program/NP = X NP.on_minor_shock() +/datum/component/nanites/proc/check_stealth(datum/source) + return stealth + /datum/component/nanites/proc/on_death(datum/source, gibbed) for(var/X in programs) var/datum/nanite_program/NP = X @@ -196,6 +203,12 @@ var/datum/nanite_program/NP = X NP.receive_signal(code, source) +/datum/component/nanites/proc/receive_comm_signal(datum/source, comm_code, comm_message, comm_source = "an unidentified source") + for(var/X in programs) + if(istype(X, /datum/nanite_program/triggered/comm)) + var/datum/nanite_program/triggered/comm/NP = X + NP.receive_comm_signal(comm_code, comm_message, comm_source) + /datum/component/nanites/proc/check_viable_biotype() if((MOB_SILICON & host_mob.mob_biotypes)) qdel(src) //bodytype no longer sustains nanites diff --git a/code/datums/mood_events/generic_negative_events.dm b/code/datums/mood_events/generic_negative_events.dm index 2e783adf..1e1c4c54 100644 --- a/code/datums/mood_events/generic_negative_events.dm +++ b/code/datums/mood_events/generic_negative_events.dm @@ -217,7 +217,14 @@ mood_change = -3 timeout = 10 MINUTES +/datum/mood_event/nanite_sadness + description = "+++++++HAPPINESS SUPPRESSION+++++++\n" + mood_change = -7 /datum/mood_event/daylight_2 description = "I have been scorched by the unforgiving rays of the sun.\n" mood_change = -6 timeout = 15 MINUTES + +/datum/mood_event/nanite_sadness/add_effects(message) + description = "+++++++[message]+++++++\n" + diff --git a/code/datums/mood_events/generic_positive_events.dm b/code/datums/mood_events/generic_positive_events.dm index 0de5cd26..2027a99f 100644 --- a/code/datums/mood_events/generic_positive_events.dm +++ b/code/datums/mood_events/generic_positive_events.dm @@ -131,6 +131,17 @@ description = "Whatever I ate was a-nya-zing!\n" mood_change = 8 //Felinids become pacified from catnip, so give a bigger mood boost +/datum/mood_event/nanite_happiness + description = "+++++++HAPPINESS ENHANCEMENT+++++++\n" + mood_change = 7 + +/datum/mood_event/nanite_happiness/add_effects(message) + description = "+++++++[message]+++++++\n" + +/datum/mood_event/area + description = "" //Fill this out in the area + mood_change = 0 + //Bloodsucker stuff below. /datum/mood_event/drankblood description = "I have fed greedly from that which nourishes me.\n" diff --git a/code/modules/research/designs/electronics_designs.dm b/code/modules/research/designs/electronics_designs.dm index 26266f75..1d91175f 100644 --- a/code/modules/research/designs/electronics_designs.dm +++ b/code/modules/research/designs/electronics_designs.dm @@ -36,6 +36,16 @@ category = list("Electronics") departmental_flags = DEPARTMENTAL_FLAG_SCIENCE +/datum/design/nanite_comm_remote + name = "Nanite Communication Remote" + desc = "Allows for the construction of a nanite communication remote." + id = "nanite_comm_remote" + build_type = PROTOLATHE + materials = list(MAT_GLASS = 500, MAT_METAL = 500) + build_path = /obj/item/nanite_remote/comm + category = list("Electronics") + departmental_flags = DEPARTMENTAL_FLAG_SCIENCE + /datum/design/nanite_scanner name = "Nanite Scanner" desc = "Allows for the construction of a nanite scanner." diff --git a/code/modules/research/designs/nanite_designs.dm b/code/modules/research/designs/nanite_designs.dm index 09fe1d9c..13668ba5 100644 --- a/code/modules/research/designs/nanite_designs.dm +++ b/code/modules/research/designs/nanite_designs.dm @@ -380,7 +380,7 @@ name = "Mind Control" desc = "The nanites imprint an absolute directive onto the host's brain while they're active." id = "mindcontrol_nanites" - program_type = /datum/nanite_program/mind_control + program_type = /datum/nanite_program/triggered/comm/mind_control category = list("Weaponized Nanites") ////////////////////SUPPRESSION NANITES////////////////////////////////////// @@ -445,21 +445,35 @@ name = "Skull Echo" desc = "The nanites echo a synthesized message inside the host's skull." id = "voice_nanites" - program_type = /datum/nanite_program/triggered/voice + program_type = /datum/nanite_program/triggered/comm/voice category = list("Suppression Nanites") /datum/design/nanites/speech name = "Forced Speech" desc = "The nanites force the host to say a pre-programmed sentence when triggered." id = "speech_nanites" - program_type = /datum/nanite_program/triggered/speech + program_type = /datum/nanite_program/triggered/comm/speech category = list("Suppression Nanites") /datum/design/nanites/hallucination name = "Hallucination" desc = "The nanites make the host see and hear things that aren't real." id = "hallucination_nanites" - program_type = /datum/nanite_program/triggered/hallucination + program_type = /datum/nanite_program/triggered/comm/hallucination + category = list("Suppression Nanites") + +/datum/design/nanites/good_mood + name = "Happiness Enhancer" + desc = "The nanites synthesize serotonin inside the host's brain, creating an artificial sense of happiness." + id = "good_mood_nanites" + program_type = /datum/nanite_program/good_mood + category = list("Suppression Nanites") + +/datum/design/nanites/bad_mood + name = "Happiness Suppressor" + desc = "The nanites suppress the production of serotonin inside the host's brain, creating an artificial state of depression." + id = "bad_mood_nanites" + program_type = /datum/nanite_program/bad_mood category = list("Suppression Nanites") ////////////////////SENSOR NANITES////////////////////////////////////// diff --git a/code/modules/research/nanites/nanite_programs/healing.dm b/code/modules/research/nanites/nanite_programs/healing.dm index ef7e767b..049a6d01 100644 --- a/code/modules/research/nanites/nanite_programs/healing.dm +++ b/code/modules/research/nanites/nanite_programs/healing.dm @@ -3,7 +3,7 @@ /datum/nanite_program/regenerative name = "Accelerated Regeneration" desc = "The nanites boost the host's natural regeneration, increasing their healing speed. Does not consume nanites if the host is unharmed." - use_rate = 2.5 + use_rate = 0.5 rogue_types = list(/datum/nanite_program/necrotic) /datum/nanite_program/regenerative/check_conditions() @@ -23,11 +23,11 @@ if(!parts.len) return for(var/obj/item/bodypart/L in parts) - if(L.heal_damage(1/parts.len, 1/parts.len)) + if(L.heal_damage(0.5/parts.len, 0.5/parts.len, null, BODYPART_ORGANIC)) host_mob.update_damage_overlays() else - host_mob.adjustBruteLoss(-1, TRUE) - host_mob.adjustFireLoss(-1, TRUE) + host_mob.adjustBruteLoss(-0.5, TRUE) + host_mob.adjustFireLoss(-0.5, TRUE) /datum/nanite_program/temperature name = "Temperature Adjustment" @@ -112,7 +112,7 @@ /datum/nanite_program/repairing name = "Mechanical Repair" desc = "The nanites fix damage in the host's mechanical limbs." - use_rate = 0.5 //much more efficient than organic healing + use_rate = 0.5 rogue_types = list(/datum/nanite_program/necrotic) /datum/nanite_program/repairing/check_conditions() @@ -137,13 +137,13 @@ return var/update = FALSE for(var/obj/item/bodypart/L in parts) - if(L.heal_damage(1/parts.len, 1/parts.len, only_robotic = TRUE, only_organic = FALSE)) + if(L.heal_damage(1.5/parts.len, 1.5/parts.len, null, BODYPART_ROBOTIC)) //much faster than organic healing update = TRUE if(update) host_mob.update_damage_overlays() else - host_mob.adjustBruteLoss(-1, TRUE) - host_mob.adjustFireLoss(-1, TRUE) + host_mob.adjustBruteLoss(-1.5, TRUE) + host_mob.adjustFireLoss(-1.5, TRUE) /datum/nanite_program/purging_advanced name = "Selective Blood Purification" diff --git a/code/modules/research/nanites/nanite_programs/suppression.dm b/code/modules/research/nanites/nanite_programs/suppression.dm index a0df4dc6..e4b250ad 100644 --- a/code/modules/research/nanites/nanite_programs/suppression.dm +++ b/code/modules/research/nanites/nanite_programs/suppression.dm @@ -114,7 +114,19 @@ . = ..() host_mob.cure_fakedeath("nanites") -/datum/nanite_program/triggered/speech +//Can receive transmissions from a nanite communication remote for customized messages +/datum/nanite_program/triggered/comm + var/comm_code = 0 + var/comm_message = "" + +/datum/nanite_program/triggered/comm/proc/receive_comm_signal(signal_comm_code, comm_message, comm_source) + if(!activated || !comm_code) + return + if(signal_comm_code == comm_code) + host_mob.investigate_log("'s [name] nanite program was messaged by [comm_source] with comm code [signal_comm_code] and message '[comm_message]'.", INVESTIGATE_NANITES) + trigger(comm_message) + +/datum/nanite_program/triggered/comm/speech name = "Forced Speech" desc = "The nanites force the host to say a pre-programmed sentence when triggered." unique = FALSE @@ -122,10 +134,10 @@ trigger_cooldown = 20 rogue_types = list(/datum/nanite_program/brain_misfire, /datum/nanite_program/brain_decay) - extra_settings = list("Sentence") + extra_settings = list("Sentence","Comm Code") var/sentence = "" -/datum/nanite_program/triggered/speech/set_extra_setting(user, setting) +/datum/nanite_program/triggered/comm/speech/set_extra_setting(user, setting) if(setting == "Sentence") var/new_sentence = stripped_input(user, "Choose the sentence that the host will be forced to say.", "Sentence", sentence, MAX_MESSAGE_LEN) if(!new_sentence) @@ -133,23 +145,34 @@ if(new_sentence[1] == "*") //emotes are abusable, like surrender return sentence = new_sentence + if(setting == "Comm Code") + var/new_code = input(user, "Set the communication code (1-9999) or set to 0 to disable external signals.", name, null) as null|num + if(isnull(new_code)) + return + comm_code = CLAMP(round(new_code, 1), 0, 9999) -/datum/nanite_program/triggered/speech/get_extra_setting(setting) +/datum/nanite_program/triggered/comm/speech/get_extra_setting(setting) if(setting == "Sentence") return sentence + if(setting == "Comm Code") + return comm_code -/datum/nanite_program/triggered/speech/copy_extra_settings_to(datum/nanite_program/triggered/speech/target) +/datum/nanite_program/triggered/comm/speech/copy_extra_settings_to(datum/nanite_program/triggered/comm/speech/target) target.sentence = sentence + target.comm_code = comm_code -/datum/nanite_program/triggered/speech/trigger() +/datum/nanite_program/triggered/comm/speech/trigger(comm_message) if(!..()) return + var/sent_message = comm_message + if(!comm_message) + sent_message = sentence if(host_mob.stat == DEAD) return to_chat(host_mob, "You feel compelled to speak...") - host_mob.say(sentence, forced = "nanite speech") + host_mob.say(sent_message, forced = "nanite speech") -/datum/nanite_program/triggered/voice +/datum/nanite_program/triggered/comm/voice name = "Skull Echo" desc = "The nanites echo a synthesized message inside the host's skull." unique = FALSE @@ -157,44 +180,62 @@ trigger_cooldown = 20 rogue_types = list(/datum/nanite_program/brain_misfire, /datum/nanite_program/brain_decay) - extra_settings = list("Message") + extra_settings = list("Message","Comm Code") var/message = "" -/datum/nanite_program/triggered/voice/set_extra_setting(user, setting) +/datum/nanite_program/triggered/comm/voice/set_extra_setting(user, setting) if(setting == "Message") var/new_message = stripped_input(user, "Choose the message sent to the host.", "Message", message, MAX_MESSAGE_LEN) if(!new_message) return message = new_message + if(setting == "Comm Code") + var/new_code = input(user, "Set the communication code (1-9999) or set to 0 to disable external signals.", name, null) as null|num + if(isnull(new_code)) + return + comm_code = CLAMP(round(new_code, 1), 0, 9999) -/datum/nanite_program/triggered/voice/get_extra_setting(setting) +/datum/nanite_program/triggered/comm/voice/get_extra_setting(setting) if(setting == "Message") return message + if(setting == "Comm Code") + return comm_code -/datum/nanite_program/triggered/voice/copy_extra_settings_to(datum/nanite_program/triggered/voice/target) +/datum/nanite_program/triggered/comm/voice/copy_extra_settings_to(datum/nanite_program/triggered/comm/voice/target) target.message = message + target.comm_code = comm_code -/datum/nanite_program/triggered/voice/trigger() +/datum/nanite_program/triggered/comm/voice/trigger(comm_message) if(!..()) return + var/sent_message = comm_message + if(!comm_message) + sent_message = message if(host_mob.stat == DEAD) return - to_chat(host_mob, "You hear a strange, robotic voice in your head... \"[message]\"") + to_chat(host_mob, "You hear a strange, robotic voice in your head... \"[sent_message]\"") -/datum/nanite_program/triggered/hallucination +/datum/nanite_program/triggered/comm/hallucination name = "Hallucination" desc = "The nanites make the host hallucinate something when triggered." trigger_cost = 4 trigger_cooldown = 80 unique = FALSE rogue_types = list(/datum/nanite_program/brain_misfire) - extra_settings = list("Hallucination Type") + extra_settings = list("Hallucination Type", "Comm Code") var/hal_type var/hal_details -/datum/nanite_program/triggered/hallucination/trigger() +/datum/nanite_program/triggered/comm/hallucination/trigger(comm_message) if(!..()) return + + if(comm_message && (hal_type != "Message")) //Triggered via comm remote, but not set to a message hallucination + return + var/sent_message = comm_message //Comm remotes can send custom hallucination messages for the chat hallucination + if(!sent_message) + sent_message = hal_details + if(!iscarbon(host_mob)) return var/mob/living/carbon/C = host_mob @@ -203,7 +244,7 @@ else switch(hal_type) if("Message") - new /datum/hallucination/chat(C, TRUE, null, hal_details) + new /datum/hallucination/chat(C, TRUE, null, sent_message) if("Battle") new /datum/hallucination/battle(C, TRUE, hal_details) if("Sound") @@ -223,7 +264,13 @@ if("Plasma Flood") new /datum/hallucination/fake_flood(C, TRUE) -/datum/nanite_program/triggered/hallucination/set_extra_setting(user, setting) +/datum/nanite_program/triggered/comm/hallucination/set_extra_setting(user, setting) + if(setting == "Comm Code") + var/new_code = input(user, "(Only for Message) Set the communication code (1-9999) or set to 0 to disable external signals.", name, null) as null|num + if(isnull(new_code)) + return + comm_code = CLAMP(round(new_code, 1), 0, 9999) + if(setting == "Hallucination Type") var/list/possible_hallucinations = list("Random","Message","Battle","Sound","Weird Sound","Station Message","Health","Alert","Fire","Shock","Plasma Flood") var/hal_type_choice = input("Choose the hallucination type", name) as null|anything in possible_hallucinations @@ -299,13 +346,76 @@ if("Plasma Flood") hal_type = "Plasma Flood" -/datum/nanite_program/triggered/hallucination/get_extra_setting(setting) +/datum/nanite_program/triggered/comm/hallucination/get_extra_setting(setting) if(setting == "Hallucination Type") if(!hal_type) return "Random" else return hal_type + if(setting == "Comm Code") + return comm_code -/datum/nanite_program/triggered/hallucination/copy_extra_settings_to(datum/nanite_program/triggered/hallucination/target) +/datum/nanite_program/triggered/comm/hallucination/copy_extra_settings_to(datum/nanite_program/triggered/comm/hallucination/target) target.hal_type = hal_type - target.hal_details = hal_details \ No newline at end of file + target.hal_details = hal_details + target.comm_code = comm_code + +/datum/nanite_program/good_mood + name = "Happiness Enhancer" + desc = "The nanites synthesize serotonin inside the host's brain, creating an artificial sense of happiness." + use_rate = 0.1 + rogue_types = list(/datum/nanite_program/brain_decay) + extra_settings = list("Mood Message") + var/message = "HAPPINESS ENHANCEMENT" + +/datum/nanite_program/good_mood/set_extra_setting(user, setting) + if(setting == "Mood Message") + var/new_message = stripped_input(user, "Choose the message visible on the mood effect.", "Message", message, MAX_NAME_LEN) + if(!new_message) + return + message = new_message + +/datum/nanite_program/good_mood/get_extra_setting(setting) + if(setting == "Mood Message") + return message + +/datum/nanite_program/good_mood/copy_extra_settings_to(datum/nanite_program/good_mood/target) + target.message = message + +/datum/nanite_program/good_mood/enable_passive_effect() + . = ..() + SEND_SIGNAL(host_mob, COMSIG_ADD_MOOD_EVENT, "nanite_happy", /datum/mood_event/nanite_happiness, message) + +/datum/nanite_program/good_mood/disable_passive_effect() + . = ..() + SEND_SIGNAL(host_mob, COMSIG_CLEAR_MOOD_EVENT, "nanite_happy") + +/datum/nanite_program/bad_mood + name = "Happiness Suppressor" + desc = "The nanites suppress the production of serotonin inside the host's brain, creating an artificial state of depression." + use_rate = 0.1 + rogue_types = list(/datum/nanite_program/brain_decay) + extra_settings = list("Mood Message") + var/message = "HAPPINESS SUPPRESSION" + +/datum/nanite_program/bad_mood/set_extra_setting(user, setting) + if(setting == "Mood Message") + var/new_message = stripped_input(user, "Choose the message visible on the mood effect.", "Message", message, MAX_NAME_LEN) + if(!new_message) + return + message = new_message + +/datum/nanite_program/bad_mood/get_extra_setting(setting) + if(setting == "Mood Message") + return message + +/datum/nanite_program/bad_mood/copy_extra_settings_to(datum/nanite_program/bad_mood/target) + target.message = message + +/datum/nanite_program/bad_mood/enable_passive_effect() + . = ..() + SEND_SIGNAL(host_mob, COMSIG_ADD_MOOD_EVENT, "nanite_sadness", /datum/mood_event/nanite_sadness, message) + +/datum/nanite_program/bad_mood/disable_passive_effect() + . = ..() + SEND_SIGNAL(host_mob, COMSIG_CLEAR_MOOD_EVENT, "nanite_sadness") diff --git a/code/modules/research/nanites/nanite_programs/utility.dm b/code/modules/research/nanites/nanite_programs/utility.dm index 3db482d9..46f5de16 100644 --- a/code/modules/research/nanites/nanite_programs/utility.dm +++ b/code/modules/research/nanites/nanite_programs/utility.dm @@ -6,6 +6,7 @@ rogue_types = list(/datum/nanite_program/toxic) extra_settings = list("Program Overwrite","Cloud Overwrite") + var/pulse_cooldown = 0 var/sync_programs = TRUE var/sync_overwrite = FALSE var/overwrite_cloud = FALSE @@ -67,12 +68,16 @@ target.sync_overwrite = sync_overwrite /datum/nanite_program/viral/active_effect() + if(world.time < pulse_cooldown) + return for(var/mob/M in orange(host_mob, 5)) - if(prob(5)) - if(sync_programs) - SEND_SIGNAL(M, COMSIG_NANITE_SYNC, nanites, sync_overwrite) - if(overwrite_cloud) - SEND_SIGNAL(M, COMSIG_NANITE_SET_CLOUD, set_cloud) + if(SEND_SIGNAL(M, COMSIG_NANITE_IS_STEALTHY)) + continue + if(sync_programs) + SEND_SIGNAL(M, COMSIG_NANITE_SYNC, nanites, sync_overwrite) + if(overwrite_cloud) + SEND_SIGNAL(M, COMSIG_NANITE_SET_CLOUD, set_cloud) + pulse_cooldown = world.time + 75 /datum/nanite_program/monitoring name = "Monitoring" @@ -197,6 +202,15 @@ return SEND_SIGNAL(host_mob, COMSIG_NANITE_SIGNAL, code, source) +/datum/nanite_program/relay/proc/relay_comm_signal(comm_code, relay_code, comm_message) + if(!activated) + return + if(!host_mob) + return + if(relay_code != relay_channel) + return + SEND_SIGNAL(host_mob, COMSIG_NANITE_COMM_SIGNAL, comm_code, comm_message) + /datum/nanite_program/metabolic_synthesis name = "Metabolic Synthesis" desc = "The nanites use the metabolic cycle of the host to speed up their replication rate, using their extra nutrition as fuel." @@ -248,26 +262,27 @@ resulting in an extremely infective strain of nanites." use_rate = 1.50 rogue_types = list(/datum/nanite_program/aggressive_replication, /datum/nanite_program/necrotic) + var/spread_cooldown = 0 /datum/nanite_program/spreading/active_effect() - if(prob(10)) - var/list/mob/living/target_hosts = list() - var/turf/T = get_turf(host_mob) - for(var/mob/living/L in range(5, host_mob)) - if(!(MOB_ORGANIC in L.mob_biotypes) && !(MOB_UNDEAD in L.mob_biotypes)) - continue - if(!disease_air_spread_walk(T, get_turf(L))) - continue - target_hosts += L - target_hosts -= host_mob - if(!target_hosts.len) - return - var/mob/living/infectee = pick(target_hosts) - if(prob(100 - (infectee.get_permeability_protection() * 100))) - //this will potentially take over existing nanites! - infectee.AddComponent(/datum/component/nanites, 10) - SEND_SIGNAL(infectee, COMSIG_NANITE_SYNC, nanites) - infectee.investigate_log("[key_name(infectee)] was infected by spreading nanites by [key_name(host_mob)]", INVESTIGATE_NANITES) + if(spread_cooldown < world.time) + return + spread_cooldown = world.time + 50 + var/list/mob/living/target_hosts = list() + for(var/mob/living/L in oview(5, host_mob)) + if(!prob(25)) + continue + if(!(L.mob_biotypes & (MOB_ORGANIC|MOB_UNDEAD))) + continue + target_hosts += L + if(!target_hosts.len) + return + var/mob/living/infectee = pick(target_hosts) + if(prob(100 - (infectee.get_permeability_protection() * 100))) + //this will potentially take over existing nanites! + infectee.AddComponent(/datum/component/nanites, 10) + SEND_SIGNAL(infectee, COMSIG_NANITE_SYNC, nanites) + infectee.investigate_log("was infected by spreading nanites by [key_name(host_mob)] at [AREACOORD(infectee)].", INVESTIGATE_NANITES) /datum/nanite_program/mitosis name = "Mitosis" diff --git a/code/modules/research/nanites/nanite_programs/weapon.dm b/code/modules/research/nanites/nanite_programs/weapon.dm index 4f29398e..f634b208 100644 --- a/code/modules/research/nanites/nanite_programs/weapon.dm +++ b/code/modules/research/nanites/nanite_programs/weapon.dm @@ -160,40 +160,55 @@ /datum/nanite_program/cryo/active_effect() host_mob.adjust_bodytemperature(-rand(15,25), 50) -/datum/nanite_program/mind_control +/datum/nanite_program/triggered/comm/mind_control name = "Mind Control" - desc = "The nanites imprint an absolute directive onto the host's brain while they're active." - use_rate = 3 + desc = "The nanites imprint an absolute directive onto the host's brain for one minute when triggered." + trigger_cost = 30 + trigger_cooldown = 1800 rogue_types = list(/datum/nanite_program/brain_decay, /datum/nanite_program/brain_misfire) - extra_settings = list("Directive") - var/cooldown = 0 //avoids spam when nanites are running low + extra_settings = list("Directive","Comm Code") var/directive = "..." -/datum/nanite_program/mind_control/set_extra_setting(user, setting) +/datum/nanite_program/triggered/comm/mind_control/set_extra_setting(user, setting) if(setting == "Directive") var/new_directive = stripped_input(user, "Choose the directive to imprint with mind control.", "Directive", directive, MAX_MESSAGE_LEN) if(!new_directive) return directive = new_directive + if(setting == "Comm Code") + var/new_code = input(user, "Set the communication code (1-9999) or set to 0 to disable external signals.", name, null) as null|num + if(isnull(new_code)) + return + comm_code = CLAMP(round(new_code, 1), 0, 9999) -/datum/nanite_program/mind_control/get_extra_setting(setting) +/datum/nanite_program/triggered/comm/mind_control/get_extra_setting(setting) if(setting == "Directive") return directive + if(setting == "Comm Code") + return comm_code -/datum/nanite_program/mind_control/copy_extra_settings_to(datum/nanite_program/mind_control/target) +/datum/nanite_program/triggered/comm/mind_control/copy_extra_settings_to(datum/nanite_program/triggered/comm/mind_control/target) target.directive = directive + target.comm_code = comm_code -/datum/nanite_program/mind_control/enable_passive_effect() - if(world.time < cooldown) +/datum/nanite_program/triggered/comm/mind_control/trigger(comm_message) + if(!..()) return - . = ..() - brainwash(host_mob, directive) + if(host_mob.stat == DEAD) + return + var/sent_directive = comm_message + if(!comm_message) + sent_directive = directive + brainwash(host_mob, sent_directive) log_game("A mind control nanite program brainwashed [key_name(host_mob)] with the objective '[directive]'.") + addtimer(CALLBACK(src, .proc/end_brainwashing), 600) -/datum/nanite_program/mind_control/disable_passive_effect() - . = ..() +/datum/nanite_program/triggered/comm/mind_control/proc/end_brainwashing() if(host_mob.mind && host_mob.mind.has_antag_datum(/datum/antagonist/brainwashed)) host_mob.mind.remove_antag_datum(/datum/antagonist/brainwashed) log_game("[key_name(host_mob)] is no longer brainwashed by nanites.") - cooldown = world.time + 450 + +/datum/nanite_program/triggered/comm/mind_control/disable_passive_effect() + . = ..() + end_brainwashing() diff --git a/code/modules/research/nanites/nanite_remote.dm b/code/modules/research/nanites/nanite_remote.dm index dcfd3b95..3dbf4934 100644 --- a/code/modules/research/nanites/nanite_remote.dm +++ b/code/modules/research/nanites/nanite_remote.dm @@ -166,6 +166,109 @@ . = TRUE +/obj/item/nanite_remote/comm + name = "nanite communication remote" + desc = "A device that can send text messages to specific programs." + icon_state = "nanite_comm_remote" + var/comm_code = 0 + var/comm_message = "" + +/obj/item/nanite_remote/comm/afterattack(atom/target, mob/user, etc) + switch(mode) + if(REMOTE_MODE_OFF) + return + if(REMOTE_MODE_SELF) + to_chat(user, "You activate [src], signaling the nanites in your bloodstream.") + signal_mob(user, comm_code, comm_message) + if(REMOTE_MODE_TARGET) + if(isliving(target) && (get_dist(target, get_turf(src)) <= 7)) + to_chat(user, "You activate [src], signaling the nanites inside [target].") + signal_mob(target, code, comm_message, key_name(user)) + if(REMOTE_MODE_AOE) + to_chat(user, "You activate [src], signaling the nanites inside every host around you.") + for(var/mob/living/L in view(user, 7)) + signal_mob(L, code, comm_message, key_name(user)) + if(REMOTE_MODE_RELAY) + to_chat(user, "You activate [src], signaling all connected relay nanites.") + signal_relay(code, relay_code, comm_message, key_name(user)) + +/obj/item/nanite_remote/comm/signal_mob(mob/living/M, code, source) + SEND_SIGNAL(M, COMSIG_NANITE_COMM_SIGNAL, comm_code, comm_message) + +/obj/item/nanite_remote/comm/signal_relay(code, relay_code, source) + for(var/X in SSnanites.nanite_relays) + var/datum/nanite_program/relay/N = X + N.relay_comm_signal(comm_code, relay_code, comm_message) + +/obj/item/nanite_remote/comm/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.hands_state) + SStgui.try_update_ui(user, src, ui_key, ui, force_open) + if(!ui) + ui = new(user, src, ui_key, "nanite_comm_remote", name, 420, 800, master_ui, state) + ui.open() + +/obj/item/nanite_remote/comm/ui_data() + var/list/data = list() + data["comm_code"] = comm_code + data["relay_code"] = relay_code + data["comm_message"] = comm_message + data["mode"] = mode + data["locked"] = locked + data["saved_settings"] = saved_settings + + return data + +/obj/item/nanite_remote/comm/ui_act(action, params) + if(..()) + return + switch(action) + if("set_comm_code") + if(locked) + return + var/new_code = input("Set comm code (0000-9999):", name, code) as null|num + if(!isnull(new_code)) + new_code = CLAMP(round(new_code, 1),0,9999) + comm_code = new_code + . = TRUE + if("set_message") + if(locked) + return + var/new_message = stripped_input(usr, "Set the message (Max 300 characters):", "Set Message", null , 300) + if(!new_message) + return + comm_message = new_message + . = TRUE + if("comm_save") + if(locked) + return + var/code_name = stripped_input(usr, "Set the setting name", "Set Name", null , 15) + if(!code_name) + return + var/new_save = list() + new_save["id"] = last_id + 1 + last_id++ + new_save["name"] = code_name + new_save["code"] = comm_code + new_save["mode"] = mode + new_save["relay_code"] = relay_code + new_save["message"] = comm_message + + saved_settings += list(new_save) + . = TRUE + if("comm_load") + var/code_id = params["save_id"] + var/list/setting + for(var/list/X in saved_settings) + if(X["id"] == text2num(code_id)) + setting = X + break + if(setting) + comm_code = setting["code"] + mode = setting["mode"] + relay_code = setting["relay_code"] + comm_message = setting["message"] + . = TRUE + + #undef REMOTE_MODE_OFF #undef REMOTE_MODE_SELF #undef REMOTE_MODE_TARGET diff --git a/code/modules/research/nanites/program_disks.dm b/code/modules/research/nanites/program_disks.dm index f780f409..6444ebc0 100644 --- a/code/modules/research/nanites/program_disks.dm +++ b/code/modules/research/nanites/program_disks.dm @@ -142,4 +142,10 @@ program_type = /datum/nanite_program/researchplus /obj/item/disk/nanite_program/reduced_diagnostics - program_type = /datum/nanite_program/reduced_diagnostics \ No newline at end of file + program_type = /datum/nanite_program/reduced_diagnostics + +/obj/item/disk/nanite_program/good_mood + program_type = /datum/nanite_program/good_mood + +/obj/item/disk/nanite_program/bad_mood + program_type = /datum/nanite_program/bad_mood diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index c8685849..28e4be9a 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -959,7 +959,7 @@ display_name = "Basic Nanite Programming" description = "The basics of nanite construction and programming." prereq_ids = list("datatheory","robotics") - design_ids = list("nanite_disk","nanite_remote","nanite_scanner",\ + design_ids = list("nanite_disk","nanite_remote","nanite_comm_remote","nanite_scanner",\ "nanite_chamber","public_nanite_chamber","nanite_chamber_control","nanite_programmer","nanite_program_hub","nanite_cloud_control",\ "relay_nanites", "monitoring_nanites", "access_nanites", "repairing_nanites","sensor_nanite_volume", "repeater_nanites", "relay_repeater_nanites","red_diag_nanites") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) @@ -998,7 +998,7 @@ display_name = "Neural Nanite Programming" description = "Nanite programs affecting nerves and brain matter." prereq_ids = list("nanite_bio") - design_ids = list("nervous_nanites", "brainheal_nanites", "paralyzing_nanites", "stun_nanites", "selfscan_nanites") + design_ids = list("nervous_nanites", "brainheal_nanites", "paralyzing_nanites", "stun_nanites", "selfscan_nanites","good_mood_nanites","bad_mood_nanites") research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500) export_price = 5000 diff --git a/icons/obj/device.dmi b/icons/obj/device.dmi index 37a1a0877b3e289289169ac2467e273f039a0272..331dc911804306bb760a177d2115fc333402a16b 100644 GIT binary patch literal 57100 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�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 U^bFtpeIIjr<gH{C*=`#-RKezhKd;4V< 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 literal 54198 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%0DFB$G*5zF`rgeLC+{6Y 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 CjLso;)i.call(t,a=r[o++])&&e.push(a);return e}},{78:78,81:81,82:82}],34:[function(t,e,n){var m=t(41),g=t(24),b=t(43),v=t(92),y=t(26),_="prototype",x=function(t,e,n){var a,r,i,o,s=t&x.F,p=t&x.G,u=t&x.S,c=t&x.P,l=t&x.B,d=p?m:u?m[e]||(m[e]={}):(m[e]||{})[_],f=p?g:g[e]||(g[e]={}),h=f[_]||(f[_]={});for(a in p&&(n=e),n)i=((r=!s&&d&&d[a]!==undefined)?d:n)[a],o=l&&r?y(i,m):c&&"function"==typeof i?y(Function.call,i):i,d&&v(d,a,i,t&x.U),f[a]!=i&&b(f,a,o),c&&h[a]!=i&&(h[a]=i)};m.core=g,x.F=1,x.G=2,x.S=4,x.P=8,x.B=16,x.W=32,x.U=64,x.R=128,e.exports=x},{24:24,26:26,41:41,43:43,92:92}],35:[function(t,e,n){var r=t(127)("match");e.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[r]=!1,!"/./"[t](e)}catch(a){}}return!0}},{127:127}],36:[function(t,e,n){e.exports=function(t){try{return!!t()}catch(e){return!0}}},{}],37:[function(t,e,n){"use strict";var s=t(43),p=t(92),u=t(36),c=t(29),l=t(127);e.exports=function(e,t,n){var a=l(e),r=n(c,a,""[e]),i=r[0],o=r[1];u(function(){var t={};return t[a]=function(){return 7},7!=""[e](t)})&&(p(String.prototype,e,i),s(RegExp.prototype,a,2==t?function(t,e){return o.call(t,this,e)}:function(t){return o.call(t,this)}))}},{127:127,29:29,36:36,43:43,92:92}],38:[function(t,e,n){"use strict";var a=t(8);e.exports=function(){var t=a(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},{8:8}],39:[function(t,e,n){"use strict";var f=t(50),h=t(52),m=t(116),g=t(26),b=t(127)("isConcatSpreadable");e.exports=function v(t,e,n,a,r,i,o,s){for(var p,u,c=r,l=0,d=!!o&&g(o,s,3);ldocument.F=Object<\/script>"),t.close(),c=t.F;n--;)delete c[u][s[n]];return c()};t.exports=Object.create||function(t,e){var n;return null!==t?(r[u]=i(t),n=new r,r[u]=null,n[p]=t):n=c(),e===undefined?n:o(n,e)}},{100:100,31:31,32:32,44:44,73:73,8:8}],72:[function(t,e,n){var r=t(8),i=t(45),o=t(118),s=Object.defineProperty;n.f=t(30)?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return s(t,e,n)}catch(a){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},{118:118,30:30,45:45,8:8}],73:[function(t,e,n){var o=t(72),s=t(8),p=t(81);e.exports=t(30)?Object.defineProperties:function(t,e){s(t);for(var n,a=p(e),r=a.length,i=0;ir;)o(a,n=e[r++])&&(~p(i,n)||i.push(n));return i}},{100:100,115:115,12:12,42:42}],81:[function(t,e,n){var a=t(80),r=t(32);e.exports=Object.keys||function(t){return a(t,r)}},{32:32,80:80}],82:[function(t,e,n){n.f={}.propertyIsEnumerable},{}],83:[function(t,e,n){var r=t(34),i=t(24),o=t(36);e.exports=function(t,e){var n=(i.Object||{})[t]||Object[t],a={};a[t]=e(n),r(r.S+r.F*o(function(){n(1)}),"Object",a)}},{24:24,34:34,36:36}],84:[function(t,e,n){var p=t(81),u=t(115),c=t(82).f;e.exports=function(s){return function(t){for(var e,n=u(t),a=p(n),r=a.length,i=0,o=[];i>>0||(o.test(n)?16:10))}:a},{109:109,110:110,41:41}],88:[function(t,e,n){e.exports=function(t){try{return{e:!1,v:t()}}catch(e){return{e:!0,v:e}}}},{}],89:[function(t,e,n){var a=t(8),r=t(52),i=t(69);e.exports=function(t,e){if(a(t),r(e)&&e.constructor===t)return e;var n=i.f(t);return(0,n.resolve)(e),n.promise}},{52:52,69:69,8:8}],90:[function(t,e,n){e.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},{}],91:[function(t,e,n){var r=t(92);e.exports=function(t,e,n){for(var a in e)r(t,a,e[a],n);return t}},{92:92}],92:[function(t,e,n){var i=t(41),o=t(43),s=t(42),p=t(122)("src"),a="toString",r=Function[a],u=(""+r).split(a);t(24).inspectSource=function(t){return r.call(t)},(e.exports=function(t,e,n,a){var r="function"==typeof n;r&&(s(n,"name")||o(n,"name",e)),t[e]!==n&&(r&&(s(n,p)||o(n,p,t[e]?""+t[e]:u.join(String(e)))),t===i?t[e]=n:a?t[e]?t[e]=n:o(t,e,n):(delete t[e],o(t,e,n)))})(Function.prototype,a,function(){return"function"==typeof this&&this[p]||r.call(this)})},{122:122,24:24,41:41,42:42,43:43}],93:[function(t,e,n){e.exports=function(e,n){var a=n===Object(n)?function(t){return n[t]}:n;return function(t){return String(t).replace(e,a)}}},{}],94:[function(t,e,n){e.exports=Object.is||function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e}},{}],95:[function(t,e,n){"use strict";var a=t(34),o=t(4),s=t(26),p=t(40);e.exports=function(t){a(a.S,t,{from:function(t){var e,n,a,r,i=arguments[1];return o(this),(e=i!==undefined)&&o(i),t==undefined?new this:(n=[],e?(a=0,r=s(i,arguments[2],2),p(t,!1,function(t){n.push(r(t,a++))})):p(t,!1,n.push,n),new this(n))}})}},{26:26,34:34,4:4,40:40}],96:[function(t,e,n){"use strict";var a=t(34);e.exports=function(t){a(a.S,t,{of:function(){for(var t=arguments.length,e=new Array(t);t--;)e[t]=arguments[t];return new this(e)}})}},{34:34}],97:[function(r,t,e){function i(t,e){if(a(t),!n(e)&&null!==e)throw TypeError(e+": can't set as prototype!")}var n=r(52),a=r(8);t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,n,a){try{(a=r(26)(Function.call,r(75).f(Object.prototype,"__proto__").set,2))(t,[]),n=!(t instanceof Array)}catch(e){n=!0}return function(t,e){return i(t,e),n?t.__proto__=e:a(t,e),t}}({},!1):undefined),check:i}},{26:26,52:52,75:75,8:8}],98:[function(t,e,n){"use strict";var a=t(41),r=t(72),i=t(30),o=t(127)("species");e.exports=function(t){var e=a[t];i&&e&&!e[o]&&r.f(e,o,{configurable:!0,get:function(){return this}})}},{127:127,30:30,41:41,72:72}],99:[function(t,e,n){var a=t(72).f,r=t(42),i=t(127)("toStringTag");e.exports=function(t,e,n){t&&!r(t=n?t:t.prototype,i)&&a(t,i,{configurable:!0,value:e})}},{127:127,42:42,72:72}],100:[function(t,e,n){var a=t(101)("keys"),r=t(122);e.exports=function(t){return a[t]||(a[t]=r(t))}},{101:101,122:122}],101:[function(t,e,n){var a=t(24),r=t(41),i="__core-js_shared__",o=r[i]||(r[i]={});(e.exports=function(t,e){return o[t]||(o[t]=e!==undefined?e:{})})("versions",[]).push({version:a.version,mode:t(60)?"pure":"global",copyright:"© 2018 Denis Pushkarev (zloirock.ru)"})},{24:24,41:41,60:60}],102:[function(t,e,n){var r=t(8),i=t(4),o=t(127)("species");e.exports=function(t,e){var n,a=r(t).constructor;return a===undefined||(n=r(a)[o])==undefined?e:i(n)}},{127:127,4:4,8:8}],103:[function(t,e,n){"use strict";var a=t(36);e.exports=function(t,e){return!!t&&a(function(){e?t.call(null,function(){},1):t.call(null)})}},{36:36}],104:[function(t,e,n){var p=t(114),u=t(29);e.exports=function(s){return function(t,e){var n,a,r=String(u(t)),i=p(e),o=r.length;return i<0||o<=i?s?"":undefined:(n=r.charCodeAt(i))<55296||56319"+r+""}var r=t(34),i=t(36),o=t(29),s=/"/g;e.exports=function(e,t){var n={};n[e]=t(a),r(r.P+r.F*i(function(){var t=""[e]('"');return t!==t.toLowerCase()||3p&&(u=u.slice(0,p)),a?u+r:r+u}},{108:108,116:116,29:29}],108:[function(t,e,n){"use strict";var r=t(114),i=t(29);e.exports=function(t){var e=String(i(this)),n="",a=r(t);if(a<0||a==Infinity)throw RangeError("Count can't be negative");for(;0>>=1)&&(e+=e))1&a&&(n+=e);return n}},{114:114,29:29}],109:[function(t,e,n){function a(t,e,n){var a={},r=s(function(){return!!p[t]()||"​…"!="​…"[t]()}),i=a[t]=r?e(l):p[t];n&&(a[n]=i),o(o.P+o.F*r,"String",a)}var o=t(34),r=t(29),s=t(36),p=t(110),i="["+p+"]",u=RegExp("^"+i+i+"*"),c=RegExp(i+i+"*$"),l=a.trim=function(t,e){return t=String(r(t)),1&e&&(t=t.replace(u,"")),2&e&&(t=t.replace(c,"")),t};e.exports=a},{110:110,29:29,34:34,36:36}],110:[function(t,e,n){e.exports="\t\n\x0B\f\r   ᠎              \u2028\u2029\ufeff"},{}],111:[function(t,e,n){function a(){var t=+this;if(y.hasOwnProperty(t)){var e=y[t];delete y[t],e()}}function r(t){a.call(t.data)}var i,o,s,p=t(26),u=t(47),c=t(44),l=t(31),d=t(41),f=d.process,h=d.setImmediate,m=d.clearImmediate,g=d.MessageChannel,b=d.Dispatch,v=0,y={},_="onreadystatechange";h&&m||(h=function(t){for(var e=[],n=1;n>1,c=23===e?O(2,-24)-O(2,-77):0,l=0,d=t<0||0===t&&1/t<0?1:0;for((t=A(t))!=t||t===C?(r=t!=t?1:0,a=p):(a=T(R(t)/M),t*(i=O(2,-a))<1&&(a--,i*=2),2<=(t+=1<=a+u?c/i:c*O(2,1-u))*i&&(a++,i/=2),p<=a+u?(r=0,a=p):1<=a+u?(r=(t*i-1)*O(2,e),a+=u):(r=t*O(2,u-1)*O(2,e),a=0));8<=e;o[l++]=255&r,r/=256,e-=8);for(a=a<>1,s=r-7,p=n-1,u=t[p--],c=127&u;for(u>>=7;0>=-s,s+=e;0>8&255]}function G(t){return[255&t,t>>8&255,t>>16&255,t>>24&255]}function z(t){return I(t,52,8)}function W(t){return I(t,23,4)}function H(t,e,n){m(t[_],e,{get:function(){return this[n]}})}function K(t,e,n,a){var r=f(+n);if(r+e>t[N])throw E(x);var i=t[D]._b,o=r+t[F],s=i.slice(o,o+e);return a?s:s.reverse()}function Q(t,e,n,a,r,i){var o=f(+n);if(o+e>t[N])throw E(x);for(var s=t[D]._b,p=o+t[F],u=a(+r),c=0;cJ;)(Y=X[J++])in w||s(w,Y,P[Y]);i||($.constructor=w)}var Z=new k(new w(2)),tt=k[_].setInt8;Z.setInt8(0,2147483648),Z.setInt8(1,2147483649),!Z.getInt8(0)&&Z.getInt8(1)||p(k[_],{setInt8:function(t,e){tt.call(this,t,e<<24>>24)},setUint8:function(t,e){tt.call(this,t,e<<24>>24)}},!0)}else w=function(t){c(this,w,v);var e=f(t);this._b=g.call(new Array(e),0),this[N]=e},k=function(t,e,n){c(this,k,y),c(t,w,y);var a=t[N],r=l(e);if(r<0||a>24},getUint8:function(t){return K(this,1,t)[0]},getInt16:function(t){var e=K(this,2,t,arguments[1]);return(e[1]<<8|e[0])<<16>>16},getUint16:function(t){var e=K(this,2,t,arguments[1]);return e[1]<<8|e[0]},getInt32:function(t){return U(K(this,4,t,arguments[1]))},getUint32:function(t){return U(K(this,4,t,arguments[1]))>>>0},getFloat32:function(t){return B(K(this,4,t,arguments[1]),23,4)},getFloat64:function(t){return B(K(this,8,t,arguments[1]),52,8)},setInt8:function(t,e){Q(this,1,t,V,e)},setUint8:function(t,e){Q(this,1,t,V,e)},setInt16:function(t,e){Q(this,2,t,q,e,arguments[2])},setUint16:function(t,e){Q(this,2,t,q,e,arguments[2])},setInt32:function(t,e){Q(this,4,t,G,e,arguments[2])},setUint32:function(t,e){Q(this,4,t,G,e,arguments[2])},setFloat32:function(t,e){Q(this,4,t,W,e,arguments[2])},setFloat64:function(t,e){Q(this,8,t,z,e,arguments[2])}});b(w,v),b(k,y),s(k[_],o.VIEW,!0),n[v]=w,n[y]=k},{10:10,113:113,114:114,116:116,121:121,30:30,36:36,41:41,43:43,60:60,7:7,72:72,77:77,91:91,99:99}],121:[function(t,e,n){for(var a,r=t(41),i=t(43),o=t(122),s=o("typed_array"),p=o("view"),u=!(!r.ArrayBuffer||!r.DataView),c=u,l=0,d="Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(",");l<9;)(a=r[d[l++]])?(i(a.prototype,s,!0),i(a.prototype,p,!0)):c=!1;e.exports={ABV:u,CONSTR:c,TYPED:s,VIEW:p}},{122:122,41:41,43:43}],122:[function(t,e,n){var a=0,r=Math.random();e.exports=function(t){return"Symbol(".concat(t===undefined?"":t,")_",(++a+r).toString(36))}},{}],123:[function(t,e,n){var a=t(41).navigator;e.exports=a&&a.userAgent||""},{41:41}],124:[function(t,e,n){var a=t(52);e.exports=function(t,e){if(!a(t)||t._t!==e)throw TypeError("Incompatible receiver, "+e+" required!");return t}},{52:52}],125:[function(t,e,n){var a=t(41),r=t(24),i=t(60),o=t(126),s=t(72).f;e.exports=function(t){var e=r.Symbol||(r.Symbol=i?{}:a.Symbol||{});"_"==t.charAt(0)||t in e||s(e,t,{value:o.f(t)})}},{126:126,24:24,41:41,60:60,72:72}],126:[function(t,e,n){n.f=t(127)},{127:127}],127:[function(t,e,n){var a=t(101)("wks"),r=t(122),i=t(41).Symbol,o="function"==typeof i;(e.exports=function(t){return a[t]||(a[t]=o&&i[t]||(o?i:r)("Symbol."+t))}).store=a},{101:101,122:122,41:41}],128:[function(t,e,n){var a=t(18),r=t(127)("iterator"),i=t(59);e.exports=t(24).getIteratorMethod=function(t){if(t!=undefined)return t[r]||t["@@iterator"]||i[a(t)]}},{127:127,18:18,24:24,59:59}],129:[function(t,e,n){var a=t(34),r=t(93)(/[\\^$*+?.()|[\]{}]/g,"\\$&");a(a.S,"RegExp",{escape:function(t){return r(t)}})},{34:34,93:93}],130:[function(t,e,n){var a=t(34);a(a.P,"Array",{copyWithin:t(9)}),t(6)("copyWithin")},{34:34,6:6,9:9}],131:[function(t,e,n){"use strict";var a=t(34),r=t(13)(4);a(a.P+a.F*!t(103)([].every,!0),"Array",{every:function(t){return r(this,t,arguments[1])}})},{103:103,13:13,34:34}],132:[function(t,e,n){var a=t(34);a(a.P,"Array",{fill:t(10)}),t(6)("fill")},{10:10,34:34,6:6}],133:[function(t,e,n){"use strict";var a=t(34),r=t(13)(2);a(a.P+a.F*!t(103)([].filter,!0),"Array",{filter:function(t){return r(this,t,arguments[1])}})},{103:103,13:13,34:34}],134:[function(t,e,n){"use strict";var a=t(34),r=t(13)(6),i="findIndex",o=!0;i in[]&&Array(1)[i](function(){o=!1}),a(a.P+a.F*o,"Array",{findIndex:function(t){return r(this,t,1=t.length?(this._t=undefined,r(1)):r(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])},"values"),i.Arguments=i.Array,a("keys"),a("values"),a("entries")},{115:115,56:56,58:58,59:59,6:6}],141:[function(t,e,n){"use strict";var a=t(34),r=t(115),i=[].join;a(a.P+a.F*(t(48)!=Object||!t(103)(i)),"Array",{join:function(t){return i.call(r(this),t===undefined?",":t)}})},{103:103,115:115,34:34,48:48}],142:[function(t,e,n){"use strict";var a=t(34),r=t(115),i=t(114),o=t(116),s=[].lastIndexOf,p=!!s&&1/[1].lastIndexOf(1,-0)<0;a(a.P+a.F*(p||!t(103)(s)),"Array",{lastIndexOf:function(t){if(p)return s.apply(this,arguments)||0;var e=r(this),n=o(e.length),a=n-1;for(1>>=0)?31-Math.floor(Math.log(t+.5)*Math.LOG2E):32}})},{34:34}],165:[function(t,e,n){var a=t(34),r=Math.exp;a(a.S,"Math",{cosh:function(t){return(r(t=+t)+r(-t))/2}})},{34:34}],166:[function(t,e,n){var a=t(34),r=t(61);a(a.S+a.F*(r!=Math.expm1),"Math",{expm1:r})},{34:34,61:61}],167:[function(t,e,n){var a=t(34);a(a.S,"Math",{fround:t(62)})},{34:34,62:62}],168:[function(t,e,n){var a=t(34),p=Math.abs;a(a.S,"Math",{hypot:function(t,e){for(var n,a,r=0,i=0,o=arguments.length,s=0;i>>16)*o+i*(n&r>>>16)<<16>>>0)}})},{34:34,36:36}],170:[function(t,e,n){var a=t(34);a(a.S,"Math",{log10:function(t){return Math.log(t)*Math.LOG10E}})},{34:34}],171:[function(t,e,n){var a=t(34);a(a.S,"Math",{log1p:t(63)})},{34:34,63:63}],172:[function(t,e,n){var a=t(34);a(a.S,"Math",{log2:function(t){return Math.log(t)/Math.LN2}})},{34:34}],173:[function(t,e,n){var a=t(34);a(a.S,"Math",{sign:t(65)})},{34:34,65:65}],174:[function(t,e,n){var a=t(34),r=t(61),i=Math.exp;a(a.S+a.F*t(36)(function(){return-2e-17!=!Math.sinh(-2e-17)}),"Math",{sinh:function(t){return Math.abs(t=+t)<1?(r(t)-r(-t))/2:(i(t-1)-i(-t-1))*(Math.E/2)}})},{34:34,36:36,61:61}],175:[function(t,e,n){var a=t(34),r=t(61),i=Math.exp;a(a.S,"Math",{tanh:function(t){var e=r(t=+t),n=r(-t);return e==Infinity?1:n==Infinity?-1:(e-n)/(i(t)+i(-t))}})},{34:34,61:61}],176:[function(t,e,n){var a=t(34);a(a.S,"Math",{trunc:function(t){return(0w;w++)i(g,_=x[w])&&!i(m,_)&&d(m,_,l(g,_));(m.prototype=b).constructor=m,t(92)(r,h,m)}},{109:109,118:118,19:19,30:30,36:36,41:41,42:42,46:46,71:71,72:72,75:75,77:77,92:92}],178:[function(t,e,n){var a=t(34);a(a.S,"Number",{EPSILON:Math.pow(2,-52)})},{34:34}],179:[function(t,e,n){var a=t(34),r=t(41).isFinite;a(a.S,"Number",{isFinite:function(t){return"number"==typeof t&&r(t)}})},{34:34,41:41}],180:[function(t,e,n){var a=t(34);a(a.S,"Number",{isInteger:t(51)})},{34:34,51:51}],181:[function(t,e,n){var a=t(34);a(a.S,"Number",{isNaN:function(t){return t!=t}})},{34:34}],182:[function(t,e,n){var a=t(34),r=t(51),i=Math.abs;a(a.S,"Number",{isSafeInteger:function(t){return r(t)&&i(t)<=9007199254740991}})},{34:34,51:51}],183:[function(t,e,n){var a=t(34);a(a.S,"Number",{MAX_SAFE_INTEGER:9007199254740991})},{34:34}],184:[function(t,e,n){var a=t(34);a(a.S,"Number",{MIN_SAFE_INTEGER:-9007199254740991})},{34:34}],185:[function(t,e,n){var a=t(34),r=t(86);a(a.S+a.F*(Number.parseFloat!=r),"Number",{parseFloat:r})},{34:34,86:86}],186:[function(t,e,n){var a=t(34),r=t(87);a(a.S+a.F*(Number.parseInt!=r),"Number",{parseInt:r})},{34:34,87:87}],187:[function(t,e,n){"use strict";function u(t,e){for(var n=-1,a=e;++n<6;)a+=t*o[n],o[n]=a%1e7,a=i(a/1e7)}function c(t){for(var e=6,n=0;0<=--e;)n+=o[e],o[e]=i(n/t),n=n%t*1e7}function l(){for(var t=6,e="";0<=--t;)if(""!==e||0===t||0!==o[t]){var n=String(o[t]);e=""===e?n:e+h.call("0",7-n.length)+n}return e}var a=t(34),d=t(114),f=t(5),h=t(108),r=1..toFixed,i=Math.floor,o=[0,0,0,0,0,0],m="Number.toFixed: incorrect invocation!",g=function(t,e,n){return 0===e?n:e%2==1?g(t,e-1,n*t):g(t*t,e/2,n)};a(a.P+a.F*(!!r&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!t(36)(function(){r.call({})})),"Number",{toFixed:function(t){var e,n,a,r,i=f(this,m),o=d(t),s="",p="0";if(o<0||20t;)e(a[t++]);l._c=[],l._n=!1,n&&!l._h&&N(l)})}}function o(t){var e=this;e._d||(e._d=!0,(e=e._w||e)._v=t,e._s=2,e._a||(e._a=e._c.slice()),i(e,!0))}var n,s,p,u,c=a(60),l=a(41),f=a(26),h=a(18),m=a(34),g=a(52),b=a(4),v=a(7),y=a(40),_=a(102),x=a(111).set,w=a(68)(),k=a(69),S=a(88),E=a(123),C=a(89),P="Promise",A=l.TypeError,O=l.process,T=O&&O.versions,R=T&&T.v8||"",M=l[P],L="process"==h(O),j=s=k.f,D=!!function(){try{var t=M.resolve(1),e=(t.constructor={})[a(127)("species")]=function(t){t(r,r)};return(L||"function"==typeof PromiseRejectionEvent)&&t.then(r)instanceof e&&0!==R.indexOf("6.6")&&-1===E.indexOf("Chrome/66")}catch(n){}}(),N=function(i){x.call(l,function(){var t,e,n,a=i._v,r=F(i);if(r&&(t=S(function(){L?O.emit("unhandledRejection",a,i):(e=l.onunhandledrejection)?e({promise:i,reason:a}):(n=l.console)&&n.error&&n.error("Unhandled promise rejection",a)}),i._h=L||F(i)?2:1),i._a=undefined,r&&t.e)throw t.v})},F=function(t){return 1!==t._h&&0===(t._a||t._c).length},I=function(e){x.call(l,function(){var t;L?O.emit("rejectionHandled",e):(t=l.onrejectionhandled)&&t({promise:e,reason:e._v})})},B=function(n){var a,r=this;if(!r._d){r._d=!0,r=r._w||r;try{if(r===n)throw A("Promise can't be resolved itself");(a=d(n))?w(function(){var t={_w:r,_d:!1};try{a.call(n,f(B,t,1),f(o,t,1))}catch(e){o.call(t,e)}}):(r._v=n,r._s=1,i(r,!1))}catch(t){o.call({_w:r,_d:!1},t)}}};D||(M=function(t){v(this,M,P,"_h"),b(t),n.call(this);try{t(f(B,this,1),f(o,this,1))}catch(e){o.call(this,e)}},(n=function(t){this._c=[],this._a=undefined,this._s=0,this._d=!1,this._v=undefined,this._h=0,this._n=!1}).prototype=a(91)(M.prototype,{then:function(t,e){var n=j(_(this,M));return n.ok="function"!=typeof t||t,n.fail="function"==typeof e&&e,n.domain=L?O.domain:undefined,this._c.push(n),this._a&&this._a.push(n),this._s&&i(this,!1),n.promise},"catch":function(t){return this.then(undefined,t)}}),p=function(){var t=new n;this.promise=t,this.resolve=f(B,t,1),this.reject=f(o,t,1)},k.f=j=function(t){return t===M||t===u?new p(t):s(t)}),m(m.G+m.W+m.F*!D,{Promise:M}),a(99)(M,P),a(98)(P),u=a(24)[P],m(m.S+m.F*!D,P,{reject:function(t){var e=j(this);return(0,e.reject)(t),e.promise}}),m(m.S+m.F*(c||!D),P,{resolve:function(t){return C(c&&this===u?M:this,t)}}),m(m.S+m.F*!(D&&a(57)(function(t){M.all(t)["catch"](r)})),P,{all:function(t){var o=this,e=j(o),s=e.resolve,p=e.reject,n=S(function(){var a=[],r=0,i=1;y(t,!1,function(t){var e=r++,n=!1;a.push(undefined),i++,o.resolve(t).then(function(t){n||(n=!0,a[e]=t,--i||s(a))},p)}),--i||s(a)});return n.e&&p(n.v),e.promise},race:function(t){var e=this,n=j(e),a=n.reject,r=S(function(){y(t,!1,function(t){e.resolve(t).then(n.resolve,a)})});return r.e&&a(r.v),n.promise}})},{102:102,111:111,123:123,127:127,18:18,24:24,26:26,34:34,4:4,40:40,41:41,52:52,57:57,60:60,68:68,69:69,7:7,88:88,89:89,91:91,98:98,99:99}],209:[function(t,e,n){var a=t(34),i=t(4),o=t(8),s=(t(41).Reflect||{}).apply,p=Function.apply;a(a.S+a.F*!t(36)(function(){s(function(){})}),"Reflect",{apply:function(t,e,n){var a=i(t),r=o(n);return s?s(a,e,r):p.call(a,e,r)}})},{34:34,36:36,4:4,41:41,8:8}],210:[function(t,e,n){var a=t(34),s=t(71),p=t(4),u=t(8),c=t(52),r=t(36),l=t(17),d=(t(41).Reflect||{}).construct,f=r(function(){function t(){}return!(d(function(){},[],t)instanceof t)}),h=!r(function(){d(function(){})});a(a.S+a.F*(f||h),"Reflect",{construct:function(t,e){p(t),u(e);var n=arguments.length<3?t:p(arguments[2]);if(h&&!f)return d(t,e,n);if(t==n){switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3])}var a=[null];return a.push.apply(a,e),new(l.apply(t,a))}var r=n.prototype,i=s(c(r)?r:Object.prototype),o=Function.apply.call(t,i,e);return c(o)?o:i}})},{17:17,34:34,36:36,4:4,41:41,52:52,71:71,8:8}],211:[function(t,e,n){var r=t(72),a=t(34),i=t(8),o=t(118);a(a.S+a.F*t(36)(function(){Reflect.defineProperty(r.f({},1,{value:1}),1,{value:2})}),"Reflect",{defineProperty:function(t,e,n){i(t),e=o(e,!0),i(n);try{return r.f(t,e,n),!0}catch(a){return!1}}})},{118:118,34:34,36:36,72:72,8:8}],212:[function(t,e,n){var a=t(34),r=t(75).f,i=t(8);a(a.S,"Reflect",{deleteProperty:function(t,e){var n=r(i(t),e);return!(n&&!n.configurable)&&delete t[e]}})},{34:34,75:75,8:8}],213:[function(t,e,n){"use strict";function a(t){this._t=i(t),this._i=0;var e,n=this._k=[];for(e in t)n.push(e)}var r=t(34),i=t(8);t(55)(a,"Object",function(){var t,e=this._k;do{if(this._i>=e.length)return{value:undefined,done:!0}}while(!((t=e[this._i++])in this._t));return{value:t,done:!1}}),r(r.S,"Reflect",{enumerate:function(t){return new a(t)}})},{34:34,55:55,8:8}],214:[function(t,e,n){var a=t(75),r=t(34),i=t(8);r(r.S,"Reflect",{getOwnPropertyDescriptor:function(t,e){return a.f(i(t),e)}})},{34:34,75:75,8:8}],215:[function(t,e,n){var a=t(34),r=t(79),i=t(8);a(a.S,"Reflect",{getPrototypeOf:function(t){return r(i(t))}})},{34:34,79:79,8:8}],216:[function(t,e,n){var i=t(75),o=t(79),s=t(42),a=t(34),p=t(52),u=t(8);a(a.S,"Reflect",{get:function c(t,e){var n,a,r=arguments.length<3?t:arguments[2];return u(t)===r?t[e]:(n=i.f(t,e))?s(n,"value")?n.value:n.get!==undefined?n.get.call(r):undefined:p(a=o(t))?c(a,e,r):void 0}})},{34:34,42:42,52:52,75:75,79:79,8:8}],217:[function(t,e,n){var a=t(34);a(a.S,"Reflect",{has:function(t,e){return e in t}})},{34:34}],218:[function(t,e,n){var a=t(34),r=t(8),i=Object.isExtensible;a(a.S,"Reflect",{isExtensible:function(t){return r(t),!i||i(t)}})},{34:34,8:8}],219:[function(t,e,n){var a=t(34);a(a.S,"Reflect",{ownKeys:t(85)})},{34:34,85:85}],220:[function(t,e,n){var a=t(34),r=t(8),i=Object.preventExtensions;a(a.S,"Reflect",{preventExtensions:function(t){r(t);try{return i&&i(t),!0}catch(e){return!1}}})},{34:34,8:8}],221:[function(t,e,n){var a=t(34),r=t(97);r&&a(a.S,"Reflect",{setPrototypeOf:function(t,e){r.check(t,e);try{return r.set(t,e),!0}catch(n){return!1}}})},{34:34,97:97}],222:[function(t,e,n){var s=t(72),p=t(75),u=t(79),c=t(42),a=t(34),l=t(90),d=t(8),f=t(52);a(a.S,"Reflect",{set:function h(t,e,n){var a,r,i=arguments.length<4?t:arguments[3],o=p.f(d(t),e);if(!o){if(f(r=u(t)))return h(r,e,n,i);o=l(0)}if(c(o,"value")){if(!1===o.writable||!f(i))return!1;if(a=p.f(i,e)){if(a.get||a.set||!1===a.writable)return!1;a.value=n,s.f(i,e,a)}else s.f(i,e,l(0,n));return!0}return o.set!==undefined&&(o.set.call(i,n),!0)}})},{34:34,42:42,52:52,72:72,75:75,79:79,8:8,90:90}],223:[function(t,e,n){var a=t(41),i=t(46),r=t(72).f,o=t(77).f,s=t(53),p=t(38),u=a.RegExp,c=u,l=u.prototype,d=/a/g,f=/a/g,h=new u(d)!==d;if(t(30)&&(!h||t(36)(function(){return f[t(127)("match")]=!1,u(d)!=d||u(f)==f||"/a/i"!=u(d,"i")}))){u=function(t,e){var n=this instanceof u,a=s(t),r=e===undefined;return!n&&a&&t.constructor===u&&r?t:i(h?new c(a&&!r?t.source:t,e):c((a=t instanceof u)?t.source:t,a&&r?p.call(t):e),n?this:l,u)};function m(e){e in u||r(u,e,{configurable:!0,get:function(){return c[e]},set:function(t){c[e]=t}})}for(var g=o(c),b=0;g.length>b;)m(g[b++]);(l.constructor=u).prototype=l,t(92)(a,"RegExp",u)}t(98)("RegExp")},{127:127,30:30,36:36,38:38,41:41,46:46,53:53,72:72,77:77,92:92,98:98}],224:[function(t,e,n){t(30)&&"g"!=/./g.flags&&t(72).f(RegExp.prototype,"flags",{configurable:!0,get:t(38)})},{30:30,38:38,72:72}],225:[function(t,e,n){t(37)("match",1,function(a,r,t){return[function(t){"use strict";var e=a(this),n=t==undefined?undefined:t[r];return n!==undefined?n.call(t,e):new RegExp(t)[r](String(e))},t]})},{37:37}],226:[function(t,e,n){t(37)("replace",2,function(r,i,o){return[function(t,e){"use strict";var n=r(this),a=t==undefined?undefined:t[i];return a!==undefined?a.call(t,n,e):o.call(String(n),t,e)},o]})},{37:37}],227:[function(t,e,n){t(37)("search",1,function(a,r,t){return[function(t){"use strict";var e=a(this),n=t==undefined?undefined:t[r];return n!==undefined?n.call(t,e):new RegExp(t)[r](String(e))},t]})},{37:37}],228:[function(e,t,n){e(37)("split",2,function(r,i,o){"use strict";var f=e(53),h=o,m=[].push,t="split",g="length",b="lastIndex";if("c"=="abbc"[t](/(b)*/)[1]||4!="test"[t](/(?:)/,-1)[g]||2!="ab"[t](/(?:ab)*/)[g]||4!="."[t](/(.?)(.?)/)[g]||1<"."[t](/()()/)[g]||""[t](/.?/)[g]){var v=/()??/.exec("")[1]===undefined;o=function(t,e){var n=String(this);if(t===undefined&&0===e)return[];if(!f(t))return h.call(n,t,e);var a,r,i,o,s,p=[],u=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),c=0,l=e===undefined?4294967295:e>>>0,d=new RegExp(t.source,u+"g");for(v||(a=new RegExp("^"+d.source+"$(?!\\s)",u));(r=d.exec(n))&&!(c<(i=r.index+r[0][g])&&(p.push(n.slice(c,r.index)),!v&&1=l));)d[b]===r.index&&d[b]++;return c===n[g]?!o&&d.test("")||p.push(""):p.push(n.slice(c)),p[g]>l?p.slice(0,l):p}}else"0"[t](undefined,0)[g]&&(o=function(t,e){return t===undefined&&0===e?[]:h.call(this,t,e)});return[function(t,e){var n=r(this),a=t==undefined?undefined:t[i];return a!==undefined?a.call(t,n,e):o.call(String(n),t,e)},o]})},{37:37,53:53}],229:[function(e,t,n){"use strict";e(224);function a(t){e(92)(RegExp.prototype,s,t,!0)}var r=e(8),i=e(38),o=e(30),s="toString",p=/./[s];e(36)(function(){return"/a/b"!=p.call({source:"a",flags:"b"})})?a(function(){var t=r(this);return"/".concat(t.source,"/","flags"in t?t.flags:!o&&t instanceof RegExp?i.call(t):undefined)}):p.name!=s&&a(function(){return p.call(this)})},{224:224,30:30,36:36,38:38,8:8,92:92}],230:[function(t,e,n){"use strict";var a=t(20),r=t(124);e.exports=t(23)("Set",function(t){return function(){return t(this,0>10),e%1024+56320))}return n.join("")}})},{112:112,34:34}],241:[function(t,e,n){"use strict";var a=t(34),r=t(105),i="includes";a(a.P+a.F*t(35)(i),"String",{includes:function(t){return!!~r(this,t,i).indexOf(t,1=e.length?{value:undefined,done:!0}:(t=a(e,n),this._i+=t.length,{value:t,done:!1})})},{104:104,56:56}],244:[function(t,e,n){"use strict";t(106)("link",function(e){return function(t){return e(this,"a","href",t)}})},{106:106}],245:[function(t,e,n){var a=t(34),o=t(115),s=t(116);a(a.S,"String",{raw:function(t){for(var e=o(t.raw),n=s(e.length),a=arguments.length,r=[],i=0;ir;)c(W,e=n[r++])||e==V||e==h||a.push(e);return a}function p(t){for(var e,n=t===K,a=N(n?H:C(t)),r=[],i=0;a.length>i;)!c(W,e=a[i++])||n&&!c(K,e)||r.push(W[e]);return r}var u=t(41),c=t(42),l=t(30),d=t(34),f=t(92),h=t(66).KEY,m=t(36),g=t(101),b=t(99),v=t(122),y=t(127),_=t(126),x=t(125),w=t(33),k=t(50),S=t(8),E=t(52),C=t(115),P=t(118),A=t(90),O=t(71),T=t(76),R=t(75),M=t(72),L=t(81),j=R.f,D=M.f,N=T.f,F=u.Symbol,I=u.JSON,B=I&&I.stringify,U="prototype",V=y("_hidden"),q=y("toPrimitive"),G={}.propertyIsEnumerable,z=g("symbol-registry"),W=g("symbols"),H=g("op-symbols"),K=Object[U],Q="function"==typeof F,Y=u.QObject,$=!Y||!Y[U]||!Y[U].findChild,X=l&&m(function(){return 7!=O(D({},"a",{get:function(){return D(this,"a",{value:7}).a}})).a})?function(t,e,n){var a=j(K,e);a&&delete K[e],D(t,e,n),a&&t!==K&&D(K,e,a)}:D,J=Q&&"symbol"==typeof F.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof F},Z=function(t,e,n){return t===K&&Z(H,e,n),S(t),e=P(e,!0),S(n),c(W,e)?(n.enumerable?(c(t,V)&&t[V][e]&&(t[V][e]=!1),n=O(n,{enumerable:A(0,!1)})):(c(t,V)||D(t,V,A(1,{})),t[V][e]=!0),X(t,e,n)):D(t,e,n)};Q||(f((F=function(){if(this instanceof F)throw TypeError("Symbol is not a constructor!");var e=v(0et;)y(tt[et++]);for(var nt=L(y.store),at=0;nt.length>at;)x(nt[at++]);d(d.S+d.F*!Q,"Symbol",{"for":function(t){return c(z,t+="")?z[t]:z[t]=F(t)},keyFor:function(t){if(!J(t))throw TypeError(t+" is not a symbol!");for(var e in z)if(z[e]===t)return e},useSetter:function(){$=!0},useSimple:function(){$=!1}}),d(d.S+d.F*!Q,"Object",{create:function(t,e){return e===undefined?O(t):r(O(t),e)},defineProperty:Z,defineProperties:r,getOwnPropertyDescriptor:o,getOwnPropertyNames:s,getOwnPropertySymbols:p}),I&&d(d.S+d.F*(!Q||m(function(){var t=F();return"[null]"!=B([t])||"{}"!=B({a:t})||"{}"!=B(Object(t))})),"JSON",{stringify:function(t){for(var e,n,a=[t],r=1;r>>0,i=n>>>0;return(e>>>0)+(a>>>0)+((r&i|(r|i)&~(r+i>>>0))>>>31)|0}})},{34:34}],281:[function(t,e,n){var a=t(34);a(a.S,"Math",{imulh:function(t,e){var n=+t,a=+e,r=65535&n,i=65535&a,o=n>>16,s=a>>16,p=(o*i>>>0)+(r*i>>>16);return o*s+(p>>16)+((r*s>>>0)+(65535&p)>>16)}})},{34:34}],282:[function(t,e,n){var a=t(34);a(a.S,"Math",{isubh:function(t,e,n,a){var r=t>>>0,i=n>>>0;return(e>>>0)-(a>>>0)-((~r&i|~(r^i)&r-i>>>0)>>>31)|0}})},{34:34}],283:[function(t,e,n){var a=t(34);a(a.S,"Math",{RAD_PER_DEG:180/Math.PI})},{34:34}],284:[function(t,e,n){var a=t(34),r=Math.PI/180;a(a.S,"Math",{radians:function(t){return t*r}})},{34:34}],285:[function(t,e,n){var a=t(34);a(a.S,"Math",{scale:t(64)})},{34:34,64:64}],286:[function(t,e,n){var a=t(34);a(a.S,"Math",{signbit:function(t){return(t=+t)!=t?t:0==t?1/t==Infinity:0>>16,s=a>>>16,p=(o*i>>>0)+(r*i>>>16);return o*s+(p>>>16)+((r*s>>>0)+(65535&p)>>>16)}})},{34:34}],288:[function(t,e,n){"use strict";var a=t(34),r=t(117),i=t(4),o=t(72);t(30)&&a(a.P+t(74),"Object",{__defineGetter__:function(t,e){o.f(r(this),t,{get:i(e),enumerable:!0,configurable:!0})}})},{117:117,30:30,34:34,4:4,72:72,74:74}],289:[function(t,e,n){"use strict";var a=t(34),r=t(117),i=t(4),o=t(72);t(30)&&a(a.P+t(74),"Object",{__defineSetter__:function(t,e){o.f(r(this),t,{set:i(e),enumerable:!0,configurable:!0})}})},{117:117,30:30,34:34,4:4,72:72,74:74}],290:[function(t,e,n){var a=t(34),r=t(84)(!0);a(a.S,"Object",{entries:function(t){return r(t)}})},{34:34,84:84}],291:[function(t,e,n){var a=t(34),p=t(85),u=t(115),c=t(75),l=t(25);a(a.S,"Object",{getOwnPropertyDescriptors:function(t){for(var e,n,a=u(t),r=c.f,i=p(a),o={},s=0;i.length>s;)(n=r(a,e=i[s++]))!==undefined&&l(o,e,n);return o}})},{115:115,25:25,34:34,75:75,85:85}],292:[function(t,e,n){"use strict";var a=t(34),r=t(117),i=t(118),o=t(79),s=t(75).f;t(30)&&a(a.P+t(74),"Object",{__lookupGetter__:function(t){var e,n=r(this),a=i(t,!0);do{if(e=s(n,a))return e.get}while(n=o(n))}})},{117:117,118:118,30:30,34:34,74:74,75:75,79:79}],293:[function(t,e,n){"use strict";var a=t(34),r=t(117),i=t(118),o=t(79),s=t(75).f;t(30)&&a(a.P+t(74),"Object",{__lookupSetter__:function(t){var e,n=r(this),a=i(t,!0);do{if(e=s(n,a))return e.set}while(n=o(n))}})},{117:117,118:118,30:30,34:34,74:74,75:75,79:79}],294:[function(t,e,n){var a=t(34),r=t(84)(!1);a(a.S,"Object",{values:function(t){return r(t)}})},{34:34,84:84}],295:[function(t,e,n){"use strict";function i(t){return null==t?undefined:f(t)}function o(t){var e=t._c;e&&(t._c=undefined,e())}function s(t){return t._o===undefined}function p(t){s(t)||(t._o=undefined,o(t))}function a(t,e){h(t),this._c=undefined,this._o=t,t=new _(this);try{var n=e(t),a=n;null!=n&&("function"==typeof n.unsubscribe?n=function(){a.unsubscribe()}:f(n),this._c=n)}catch(r){return void t.error(r)}s(this)&&o(this)}var r=t(34),u=t(41),c=t(24),l=t(68)(),d=t(127)("observable"),f=t(4),h=t(8),m=t(7),g=t(91),b=t(43),v=t(40),y=v.RETURN;a.prototype=g({},{unsubscribe:function(){p(this)}});var _=function(t){this._s=t};_.prototype=g({},{next:function(t){var e=this._s;if(!s(e)){var n=e._o;try{var a=i(n.next);if(a)return a.call(n,t)}catch(r){try{p(e)}finally{throw r}}}},error:function(t){var e=this._s;if(s(e))throw t;var n=e._o;e._o=undefined;try{var a=i(n.error);if(!a)throw t;t=a.call(n,t)}catch(r){try{o(e)}finally{throw r}}return o(e),t},complete:function(t){var e=this._s;if(!s(e)){var n=e._o;e._o=undefined;try{var a=i(n.complete);t=a?a.call(n,t):undefined}catch(r){try{o(e)}finally{throw r}}return o(e),t}}});var x=function(t){m(this,x,"Observable","_f")._f=f(t)};g(x.prototype,{subscribe:function(t){return new a(t,this._f)},forEach:function(r){var e=this;return new(c.Promise||u.Promise)(function(t,n){f(r);var a=e.subscribe({next:function(t){try{return r(t)}catch(e){n(e),a.unsubscribe()}},error:n,complete:t})})}}),g(x,{from:function(a){var t="function"==typeof this?this:x,e=i(h(a)[d]);if(e){var n=h(e.call(a));return n.constructor===t?n:new t(function(t){return n.subscribe(t)})}return new t(function(e){var n=!1;return l(function(){if(!n){try{if(v(a,!1,function(t){if(e.next(t),n)return y})===y)return}catch(t){if(n)throw t;return void e.error(t)}e.complete()}}),function(){n=!0}})},of:function(){for(var t=0,e=arguments.length,a=new Array(e);t",a.insertBefore(n.lastChild,a.firstChild)}(t,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),s||function a(e,n){n.cache||(n.cache={},n.createElem=e.createElement,n.createFrag=e.createDocumentFragment,n.frag=n.createFrag()),e.createElement=function(t){return h.shivMethods?d(t,e,n):n.createElem(t)},e.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+c().join().replace(/[\w\-:]+/g,function(t){return n.createElem(t),n.frag.createElement(t),'c("'+t+'")'})+");return n}")(h,n.frag)}(t,e),t}!function(){try{var t=o.createElement("a");t.innerHTML="",n="hidden"in t,s=1==t.childNodes.length||function(){o.createElement("a");var t=o.createDocumentFragment();return"undefined"==typeof t.cloneNode||"undefined"==typeof t.createDocumentFragment||"undefined"==typeof t.createElement}()}catch(e){s=n=!0}}();var h={elements:e.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:"3.7.3-pre",shivCSS:!1!==e.shivCSS,supportsUnknownElements:s,shivMethods:!1!==e.shivMethods,type:"default",shivDocument:f,createElement:d,createDocumentFragment:function m(t,e){if(t=t||o,s)return t.createDocumentFragment();for(var n=(e=e||l(t)).frag.cloneNode(),a=0,r=c(),i=r.length;a>>0,"function"!=typeof t)throw new TypeError;for(r=0;r "+t);var i=undefined;(i=n.node||a.fragment&&a.fragment.rendered&&a.find("*"))&&e.push(i)}}console.warn.apply(console,["%cRactive.js: %c"+t,"color: rgb(114, 157, 52);","color: rgb(85, 85, 85);"].concat(e))},nt=function(){console.log.apply(console,arguments)}):at=nt=rt=B;var ft='A function was specified for "%s" %s, but no %s was returned',ht=function(t,e){return'Missing "'+t+'" '+e+" plugin. You may need to download a plugin via http://docs.ractivejs.org/latest/plugins#"+e+"s"};function mt(t,e,n){var a=gt(t,e,n);return a?a[t][n]:null}function gt(t,e,n){for(;e;){if(n in e[t])return e;if(e.isolated)return null;e=e.parent}}var bt=function(t,e,n,a){if(t===e)return vt(e);if(a){var r=mt("interpolators",n,a);if(r)return r(t,e)||vt(e);pt(ht(a,"interpolator"))}return yt.number(t,e)||yt.array(t,e)||yt.object(t,e)||vt(e)};function vt(t){return function(){return t}}var yt={number:function(e,t){var n;return tt(e)&&tt(t)?(n=(t=+t)-(e=+e))?function(t){return e+t*n}:function(){return e}:null},array:function(t,e){var n,a,r,i;if(!X(t)||!X(e))return null;for(n=[],a=[],i=r=Math.min(t.length,e.length);i--;)a[i]=bt(t[i],e[i]);for(i=r;i=this.duration?(null!==r&&(ge.start(this.root),this.root.viewmodel.set(r,this.to),ge.end()),this.step&&this.step(1,this.to),this.complete(this.to),-1===(a=this.root._animations.indexOf(this))&<("Animation was not found"),this.root._animations.splice(a,1),this.running=!1):(e=this.easing?this.easing(t/this.duration):t/this.duration,null!==r&&(n=this.interpolator(e),ge.start(this.root),this.root.viewmodel.set(r,n),ge.end()),this.step&&this.step(e,n),!0))},stop:function(){var t;this.running=!1,-1===(t=this.root._animations.indexOf(this))&<("Animation was not found"),this.root._animations.splice(t,1)}};function ke(t,e,n){var a,r,i,o,s,p,u,c,l,d,f,h,m,g;if(a=new Xt(function(t){return r=t}),"object"!=typeof t)return(n=n||{}).complete&&a.then(n.complete),n.complete=r,o=Ce(this,t,e,n),a.stop=function(){return o.stop()},a;for(i in p=(n=e||{}).easing,u=n.duration,s=[],c=n.step,l=n.complete,(c||l)&&(f={},n.step=null,n.complete=null,d=function(n){return function(t,e){f[n]=e}}),t)t.hasOwnProperty(i)&&((c||l)&&(h=d(i),n={easing:p,duration:u},c&&(n.step=h)),n.complete=l?h:B,s.push(Ce(this,i,t[i],n)));return g={easing:p,duration:u},c&&(g.step=function(t){return c(t,f)}),l&&a.then(function(t){return l(t,f)}),g.complete=r,m=Ce(this,null,null,g),s.push(m),a.stop=function(){for(var t;t=s.pop();)t.stop();m&&m.stop()},a}var Se=ye,Ee={stop:B};function Ce(t,e,n,a){var r,i,o,s;return null!==(e=e&&Pt(Tt(e)))&&(s=t.viewmodel.get(e)),we.abort(e,t),Z(s,n)?(a.complete&&a.complete(a.to),Ee):(a.easing&&"function"!=typeof(r="function"==typeof a.easing?a.easing:t.easing[a.easing])&&(r=null),i=a.duration===undefined?400:a.duration,o=new Se({keypath:e,from:s,to:n,root:t,duration:i,easing:r,interpolator:a.interpolator,step:a.step,complete:a.complete}),we.add(o),t._animations.push(o),o)}function Pe(){return this.detached||(this.el&&Wt(this.el.__ractive_instances__,this),this.detached=this.fragment.detach(),Ae.fire(this)),this.detached}var Ae=new Bt("detach");function Oe(t){return this.el?this.fragment.find(t):null}function Te(t,e){if(this._isComponentQuery?!this.selector||t.name===this.selector:t.node?p(t.node,this.selector):null)return this.push(t.node||t.instance),e||this._makeDirty(),!0}function Re(){var t,e,n;t=this._root[this._isComponentQuery?"liveComponentQueries":"liveQueries"],e=this.selector,-1!==(n=t.indexOf(e))&&(t.splice(n,1),t[e]=null)}function Me(t,e){var n,a,r,i,o,s,p,u;for(n=je(t.component||t._ractive.proxy),a=je(e.component||e._ractive.proxy),r=zt(n),i=zt(a);r&&r===i;)n.pop(),a.pop(),o=r,r=zt(n),i=zt(a);if(r=r.component||r,i=i.component||i,(p=r.parentFragment)===(u=i.parentFragment))return p.items.indexOf(r)-u.items.indexOf(i)||n.length-a.length;if(s=o.fragments)return s.indexOf(p)-s.indexOf(u)||n.length-a.length;throw new Error("An unexpected condition was met while comparing the position of two components. Please file an issue at https://github.com/RactiveJS/Ractive/issues - thanks!")}function Le(t){var e;return(e=t.parentFragment)?e.owner:t.component&&(e=t.component.parentFragment)?e.owner:void 0}function je(t){var e,n;for(e=[t],n=Le(t);n;)e.push(n),n=Le(n);return e}function De(t,e){return t.compareDocumentPosition?2&t.compareDocumentPosition(e)?1:-1:Me(t,e)}function Ne(){this.sort(this._isComponentQuery?Me:De),this._dirty=!1}function Fe(){var t=this;this._dirty||(this._dirty=!0,ge.scheduleTask(function(){t._sort()}))}function Ie(t){var e=this.indexOf(this._isComponentQuery?t.instance:t);-1!==e&&this.splice(e,1)}var Be=function Cc(t,e,n,a){var r=[];return W(r,{selector:{value:e},live:{value:n},_isComponentQuery:{value:a},_test:{value:Te}}),n&&W(r,{cancel:{value:Re},_root:{value:t},_sort:{value:Ne},_makeDirty:{value:Fe},_remove:{value:Ie},_dirty:{value:!1,writable:!0}}),r};function Ue(t,e){var n,a;return this.el?(e=e||{},n=this._liveQueries,(a=n[t])?e&&e.live?a:a.slice():((a=Be(this,t,!!e.live,!1)).live&&(n.push(t),n["_"+t]=a),this.fragment.findAll(t,a),a)):[]}function Ve(t,e){var n,a;return e=e||{},n=this._liveComponentQueries,(a=n[t])?e&&e.live?a:a.slice():((a=Be(this,t,!!e.live,!0)).live&&(n.push(t),n["_"+t]=a),this.fragment.findAllComponents(t,a),a)}function qe(t){return this.fragment.findComponent(t)}function Ge(t){return this.container?this.container.component&&this.container.component.name===t?this.container:this.container.findContainer(t):null}function ze(t){return this.parent?this.parent.component&&this.parent.component.name===t?this.parent:this.parent.findParent(t):null}var We={enqueue:function(t,e){t.event&&(t._eventQueue=t._eventQueue||[],t._eventQueue.push(t.event)),t.event=e},dequeue:function(t){t._eventQueue&&t._eventQueue.length?t.event=t._eventQueue.pop():delete t.event}},He=function Pc(t,e){var n=arguments[2]===undefined?{}:arguments[2];if(!e)return;n.event?n.event.name=e:n.event={name:e,_noArg:!0};var a=Pt(e).wildcardMatches();!function u(t,e,n,a){var r=arguments[4]!==undefined&&arguments[4];var i,o,s=!0;We.enqueue(t,n);for(o=e.length;0<=o;o--)(i=t._subs[e[o]])&&(s=Ke(t,i,n,a)&&s);We.dequeue(t);if(t.parent&&s){if(r&&t.component){var p=t.component.name+"."+e[e.length-1];e=Pt(p).wildcardMatches(),n&&(n.component=t)}u(t.parent,e,n,a)}}(t,a,n.event,n.args,!0)};function Ke(t,e,n,a){var r=null,i=!1;n&&!n._noArg&&(a=[n].concat(a));for(var o=0,s=(e=e.slice()).length;o\~:]))+)((?::[^\s\+\>\~\(]+(?:\([^\)]+\))?)?\s*[\s\+\>\~]?)\s*/g,Fn=/^@media/,In=/\[data-ractive-css~="\{[a-z0-9-]+\}"]/g;function Bn(t){return t.trim?t.trim():t.replace(/^\s+/,"").replace(/\s+$/,"")}function Un(t){return t.str}var Vn=1,qn={name:"css",extend:function(t,e,n){if(n.css){var a=Vn++,r=n.noCssTransform?n.css:Ln(n.css,a);e.cssId=a,On.add({id:a,styles:r})}},init:function(){}};var Gn={name:"data",extend:function(t,e,n){var a=undefined,r=undefined;if(n.data&&et(n.data))for(a in n.data)(r=n.data[a])&&"object"==typeof r&&(et(r)||X(r))&<("Passing a `data` option with object and array properties to Ractive.extend() is discouraged, as mutating them is likely to cause bugs. Consider using a data function instead:\n\n // this...\n data: function () {\n return {\n myObject: {}\n };\n })\n\n // instead of this:\n data: {\n myObject: {}\n }");e.data=zn(e.data,n.data)},init:function(t,e,n){var a=zn(t.prototype.data,n.data);return"function"==typeof a&&(a=a.call(e)),a||{}},reset:function(t){var e=this.init(t.constructor,t,t.viewmodel);return t.viewmodel.reset(e),!0}};function zn(t,e){!function r(t){t&&t.constructor!==Object&&("function"==typeof t||("object"!=typeof t?pt("data option must be an object or a function, `"+t+"` is not valid"):lt("If supplied, options.data should be a plain JavaScript object - using a non-POJO as the root object may work, but is discouraged")))}(e);var n="function"==typeof t,a="function"==typeof e;return e||n||(e={}),n||a?function(){return Hn(a?Wn(e,this):e,n?Wn(t,this):t)}:Hn(e,t)}function Wn(t,e){var n=t.call(e);if(n)return"object"!=typeof n&&pt("Data function must return an object"),n.constructor!==Object&&dt("Data function returned something other than a plain JavaScript object. This might work, but is strongly discouraged"),n}function Hn(t,e){if(t&&e){for(var n in e)n in t||(t[n]=e[n]);return t}return t||e}var Kn=null,Qn=["preserveWhitespace","sanitize","stripComments","delimiters","tripleDelimiters","interpolate"],Yn={fromId:function Mc(t,e){var n;if(!a){if(e&&e.noThrow)return;throw new Error("Cannot retrieve template #"+t+" as Ractive is not running in a browser.")}Xn(t)&&(t=t.substring(1));if(!(n=document.getElementById(t))){if(e&&e.noThrow)return;throw new Error("Could not find template element with id #"+t)}if("SCRIPT"===n.tagName.toUpperCase())return"textContent"in n?n.textContent:n.innerHTML;if(e&&e.noThrow)return;throw new Error("Template element with id #"+t+", must be a