diff --git a/aurorastation.dme b/aurorastation.dme index ce703c65f2f..eec06ced5f1 100644 --- a/aurorastation.dme +++ b/aurorastation.dme @@ -3412,9 +3412,6 @@ #include "code\modules\power\terminal.dm" #include "code\modules\power\tracker.dm" #include "code\modules\power\turbine.dm" -#include "code\modules\power\antimatter\containment_jar.dm" -#include "code\modules\power\antimatter\control.dm" -#include "code\modules\power\antimatter\shielding.dm" #include "code\modules\power\fusion\fusion_circuits.dm" #include "code\modules\power\fusion\fusion_particle_catcher.dm" #include "code\modules\power\fusion\fusion_reactions.dm" diff --git a/code/game/dna/dna_modifier.dm b/code/game/dna/dna_modifier.dm index 600a5a0587e..fe2b6ab2b3e 100644 --- a/code/game/dna/dna_modifier.dm +++ b/code/game/dna/dna_modifier.dm @@ -325,499 +325,16 @@ if(!ai_can_interact(user)) return src.add_hiddenprint(user) - ui_interact(user) + // DNA Modifier is currently deprecated (old NanoUI code) + to_chat(user, SPAN_WARNING("The firmware on this thing is so hopelessly out of date as to render it unusable. Dang.")) + return + // ui_interact(user) /obj/machinery/computer/scan_consolenew/attack_hand(user as mob) if(!..()) - ui_interact(user) - -/** - * The ui_interact proc is used to open and update Nano UIs - * If ui_interact is not used then the UI will not update correctly - * ui_interact is currently defined for /atom/movable (which is inherited by /obj and /mob) - * - * @param user /mob The mob who is interacting with this ui - * @param ui_key string A string key to use for this ui. Allows for multiple unique uis on one obj/mob (defaut value "main") - * @param ui /datum/nanoui This parameter is passed by the nanoui process() proc when updating an open ui - * - * @return nothing - */ -/obj/machinery/computer/scan_consolenew/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) - if (!connected) + // DNA Modifier is currently deprecated (old NanoUI code) + to_chat(user, SPAN_WARNING("The firmware on this thing is so hopelessly out of date as to render it unusable. Dang.")) return - - if(user == connected.occupant || user.stat) - return - - // this is the data which will be sent to the ui - var/data[0] - data["selectedMenuKey"] = selected_menu_key - data["locked"] = src.connected.locked - data["hasOccupant"] = connected.occupant ? 1 : 0 - - data["isInjectorReady"] = injector_ready - - data["hasDisk"] = disk ? 1 : 0 - - var/diskData[0] - if (!disk || !disk.buf) - diskData["data"] = null - diskData["owner"] = null - diskData["label"] = null - diskData["type"] = null - diskData["ue"] = null - else - diskData = disk.buf.GetData() - data["disk"] = diskData - - var/list/new_buffers = list() - for(var/datum/dna2/record/buf in src.buffers) - new_buffers += list(buf.GetData()) - data["buffers"]=new_buffers - - data["radiationIntensity"] = radiation_intensity - data["radiationDuration"] = radiation_duration - data["irradiating"] = irradiating - - data["dnaBlockSize"] = DNA_BLOCK_SIZE - data["selectedUIBlock"] = selected_ui_block - data["selectedUISubBlock"] = selected_ui_subblock - data["selectedSEBlock"] = selected_se_block - data["selectedSESubBlock"] = selected_se_subblock - data["selectedUITarget"] = selected_ui_target - data["selectedUITargetHex"] = selected_ui_target_hex - - var/occupantData[0] - if (!src.connected.occupant || !src.connected.occupant.dna) - occupantData["name"] = null - occupantData["stat"] = null - occupantData["isViableSubject"] = null - occupantData["health"] = null - occupantData["maxhealth"] = null - occupantData["minHealth"] = null - occupantData["uniqueEnzymes"] = null - occupantData["uniqueIdentity"] = null - occupantData["structuralEnzymes"] = null - occupantData["radiationLevel"] = null - else - occupantData["name"] = connected.occupant.real_name - occupantData["stat"] = connected.occupant.stat - occupantData["isViableSubject"] = 1 - if ((connected.occupant.mutations & NOCLONE) || !src.connected.occupant.dna) - occupantData["isViableSubject"] = 0 - occupantData["health"] = connected.occupant.health - occupantData["maxhealth"] = connected.occupant.maxhealth - occupantData["minHealth"] = connected.occupant.species.total_health - occupantData["uniqueEnzymes"] = connected.occupant.dna.unique_enzymes - occupantData["uniqueIdentity"] = connected.occupant.dna.uni_identity - occupantData["structuralEnzymes"] = connected.occupant.dna.struc_enzymes - occupantData["radiationLevel"] = connected.occupant.total_radiation - data["occupant"] = occupantData; - - data["isBeakerLoaded"] = connected.beaker ? 1 : 0 - data["beakerLabel"] = null - data["beakerVolume"] = 0 - if(connected.beaker) - data["beakerLabel"] = connected.beaker.label_text ? connected.beaker.label_text : null - for(var/_R in connected.beaker.reagents.reagent_volumes) - data["beakerVolume"] += connected.beaker.reagents.reagent_volumes[_R] - - // update the ui if it exists, returns null if no ui is passed/found - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, data, force_open) - if (!ui) - // the ui does not exist, so we'll create a new() one - // for a list of parameters and their descriptions see the code docs in \code\modules\nano\nanoui.dm - ui = new(user, src, ui_key, "dna_modifier.tmpl", "DNA Modifier Console", 660, 700) - // when the ui is first opened this is the data it will use - ui.set_initial_data(data) - // open the new ui window - ui.open() - // auto update every Master Controller tick - ui.set_auto_update(1) - -/obj/machinery/computer/scan_consolenew/Topic(href, href_list) - if(..()) - return 0 // don't update uis - if(!istype(usr.loc, /turf)) - return 0 // don't update uis - if(!src || !src.connected) - return 0 // don't update uis - if(irradiating) // Make sure that it isn't already irradiating someone... - return 0 // don't update uis - - add_fingerprint(usr) - - if (href_list["selectMenuKey"]) - selected_menu_key = href_list["selectMenuKey"] - return 1 // return 1 forces an update to all Nano uis attached to src - - if (href_list["toggleLock"]) - if ((src.connected && src.connected.occupant)) - src.connected.locked = !( src.connected.locked ) - return 1 // return 1 forces an update to all Nano uis attached to src - - if (href_list["pulseRadiation"]) - irradiating = src.radiation_duration - var/lock_state = src.connected.locked - src.connected.locked = 1//lock it - SSnanoui.update_uis(src) // update all UIs attached to src - - sleep(10*src.radiation_duration) // sleep for radiation_duration seconds - - irradiating = 0 - - if (!src.connected.occupant) - return 1 // return 1 forces an update to all Nano uis attached to src - - if (prob(95)) - if(prob(75)) - randmutb(src.connected.occupant) - else - randmuti(src.connected.occupant) - else - if(prob(95)) - randmutg(src.connected.occupant) - else - randmuti(src.connected.occupant) - - src.connected.occupant.apply_damage(((src.radiation_intensity*3)+src.radiation_duration*3), DAMAGE_RADIATION, damage_flags = DAMAGE_FLAG_DISPERSED) - src.connected.locked = lock_state - return 1 // return 1 forces an update to all Nano uis attached to src - - if (href_list["radiationDuration"]) - if (text2num(href_list["radiationDuration"]) > 0) - if (src.radiation_duration < 20) - src.radiation_duration += 2 - else - if (src.radiation_duration > 2) - src.radiation_duration -= 2 - return 1 // return 1 forces an update to all Nano uis attached to src - - if (href_list["radiationIntensity"]) - if (text2num(href_list["radiationIntensity"]) > 0) - if (src.radiation_intensity < 10) - src.radiation_intensity++ - else - if (src.radiation_intensity > 1) - src.radiation_intensity-- - return 1 // return 1 forces an update to all Nano uis attached to src - - //////////////////////////////////////////////////////// - - if (href_list["changeUITarget"] && text2num(href_list["changeUITarget"]) > 0) - if (src.selected_ui_target < 15) - src.selected_ui_target++ - src.selected_ui_target_hex = src.selected_ui_target - switch(selected_ui_target) - if(10) - src.selected_ui_target_hex = "A" - if(11) - src.selected_ui_target_hex = "B" - if(12) - src.selected_ui_target_hex = "C" - if(13) - src.selected_ui_target_hex = "D" - if(14) - src.selected_ui_target_hex = "E" - if(15) - src.selected_ui_target_hex = "F" - else - src.selected_ui_target = 0 - src.selected_ui_target_hex = 0 - return 1 // return 1 forces an update to all Nano uis attached to src - - if (href_list["changeUITarget"] && text2num(href_list["changeUITarget"]) < 1) - if (src.selected_ui_target > 0) - src.selected_ui_target-- - src.selected_ui_target_hex = src.selected_ui_target - switch(selected_ui_target) - if(10) - src.selected_ui_target_hex = "A" - if(11) - src.selected_ui_target_hex = "B" - if(12) - src.selected_ui_target_hex = "C" - if(13) - src.selected_ui_target_hex = "D" - if(14) - src.selected_ui_target_hex = "E" - else - src.selected_ui_target = 15 - src.selected_ui_target_hex = "F" - return 1 // return 1 forces an update to all Nano uis attached to src - - if (href_list["selectUIBlock"] && href_list["selectUISubblock"]) // This chunk of code updates selected block / sub-block based on click - var/select_block = text2num(href_list["selectUIBlock"]) - var/select_subblock = text2num(href_list["selectUISubblock"]) - if ((select_block <= DNA_UI_LENGTH) && (select_block >= 1)) - src.selected_ui_block = select_block - if ((select_subblock <= DNA_BLOCK_SIZE) && (select_subblock >= 1)) - src.selected_ui_subblock = select_subblock - return 1 // return 1 forces an update to all Nano uis attached to src - - if (href_list["pulseUIRadiation"]) - var/block = src.connected.occupant.dna.GetUISubBlock(src.selected_ui_block,src.selected_ui_subblock) - - irradiating = src.radiation_duration - var/lock_state = src.connected.locked - src.connected.locked = 1//lock it - SSnanoui.update_uis(src) // update all UIs attached to src - - sleep(10*src.radiation_duration) // sleep for radiation_duration seconds - - irradiating = 0 - - if (!src.connected.occupant) - return 1 - - if (prob((80 + (src.radiation_duration / 2)))) - block = miniscrambletarget(num2text(selected_ui_target), src.radiation_intensity, src.radiation_duration) - src.connected.occupant.dna.SetUISubBlock(src.selected_ui_block,src.selected_ui_subblock,block) - src.connected.occupant.UpdateAppearance() - src.connected.occupant.apply_damage((src.radiation_intensity+src.radiation_duration), DAMAGE_RADIATION, damage_flags = DAMAGE_FLAG_DISPERSED) - else - if (prob(20+src.radiation_intensity)) - randmutb(src.connected.occupant) - domutcheck(src.connected.occupant,src.connected) - else - randmuti(src.connected.occupant) - src.connected.occupant.UpdateAppearance() - src.connected.occupant.apply_damage(((src.radiation_intensity*2)+src.radiation_duration), DAMAGE_RADIATION, damage_flags = DAMAGE_FLAG_DISPERSED) - src.connected.locked = lock_state - return 1 // return 1 forces an update to all Nano uis attached to src - - //////////////////////////////////////////////////////// - - if (href_list["injectRejuvenators"]) - if (!connected.occupant) - return 0 - var/inject_amount = round(text2num(href_list["injectRejuvenators"]), 5) // round to nearest 5 - if (inject_amount < 0) // Since the user can actually type the commands himself, some sanity checking - inject_amount = 0 - if (inject_amount > 50) - inject_amount = 50 - connected.beaker.reagents.trans_to_mob(connected.occupant, inject_amount, CHEM_BLOOD) - return 1 // return 1 forces an update to all Nano uis attached to src - - //////////////////////////////////////////////////////// - - if (href_list["selectSEBlock"] && href_list["selectSESubblock"]) // This chunk of code updates selected block / sub-block based on click (se stands for strutural enzymes) - var/select_block = text2num(href_list["selectSEBlock"]) - var/select_subblock = text2num(href_list["selectSESubblock"]) - if ((select_block <= DNA_SE_LENGTH) && (select_block >= 1)) - src.selected_se_block = select_block - if ((select_subblock <= DNA_BLOCK_SIZE) && (select_subblock >= 1)) - src.selected_se_subblock = select_subblock - //testing("User selected block [selected_se_block] (sent [select_block]), subblock [selected_se_subblock] (sent [select_block]).") - return 1 // return 1 forces an update to all Nano uis attached to src - - if (href_list["pulseSERadiation"]) - var/block = src.connected.occupant.dna.GetSESubBlock(src.selected_se_block,src.selected_se_subblock) - //var/original_block=block - //testing("Irradiating SE block [src.selected_se_block]:[src.selected_se_subblock] ([block])...") - - irradiating = src.radiation_duration - var/lock_state = src.connected.locked - src.connected.locked = 1 //lock it - SSnanoui.update_uis(src) // update all UIs attached to src - - sleep(10*src.radiation_duration) // sleep for radiation_duration seconds - - irradiating = 0 - - if(src.connected.occupant) - if (prob((80 + (src.radiation_duration / 2)))) - // FIXME: Find out what these corresponded to and change them to the WHATEVERBLOCK they need to be. - //if ((src.selected_se_block != 2 || src.selected_se_block != 12 || src.selected_se_block != 8 || src.selected_se_block || 10) && prob (20)) - var/real_SE_block=selected_se_block - block = miniscramble(block, src.radiation_intensity, src.radiation_duration) - if(prob(20)) - if (src.selected_se_block > 1 && src.selected_se_block < DNA_SE_LENGTH/2) - real_SE_block++ - else if (src.selected_se_block > DNA_SE_LENGTH/2 && src.selected_se_block < DNA_SE_LENGTH) - real_SE_block-- - - //testing("Irradiated SE block [real_SE_block]:[src.selected_se_subblock] ([original_block] now [block]) [(real_SE_block!=selected_se_block) ? "(SHIFTED)":""]!") - connected.occupant.dna.SetSESubBlock(real_SE_block,selected_se_subblock,block) - src.connected.occupant.apply_damage((src.radiation_intensity+src.radiation_duration), DAMAGE_RADIATION, damage_flags = DAMAGE_FLAG_DISPERSED) - domutcheck(src.connected.occupant,src.connected) - else - src.connected.occupant.apply_damage(((src.radiation_intensity*2)+src.radiation_duration), DAMAGE_RADIATION, damage_flags = DAMAGE_FLAG_DISPERSED) - if (prob(80-src.radiation_duration)) - //testing("Random bad mut!") - randmutb(src.connected.occupant) - domutcheck(src.connected.occupant,src.connected) - else - randmuti(src.connected.occupant) - //testing("Random identity mut!") - src.connected.occupant.UpdateAppearance() - src.connected.locked = lock_state - return 1 // return 1 forces an update to all Nano uis attached to src - - if(href_list["ejectBeaker"]) - if(connected.beaker) - var/obj/item/reagent_containers/glass/B = connected.beaker - B.forceMove(connected.loc) - connected.beaker = null - return 1 - - if(href_list["ejectOccupant"]) - connected.eject_occupant() - return 1 - - // Transfer Buffer Management - if(href_list["bufferOption"]) - var/bufferOption = href_list["bufferOption"] - - // These bufferOptions do not require a bufferId - if (bufferOption == "wipeDisk") - if ((isnull(src.disk)) || (src.disk.read_only)) - //src.temphtml = "Invalid disk. Please try again." - return 0 - - src.disk.buf=null - //src.temphtml = "Data saved." - return 1 - - if (bufferOption == "ejectDisk") - if (!src.disk) - return - src.disk.forceMove(get_turf(src)) - src.disk = null - return 1 - - // All bufferOptions from here on require a bufferId - if (!href_list["bufferId"]) - return 0 - - var/bufferId = text2num(href_list["bufferId"]) - - if (bufferId < 1 || bufferId > 3) - return 0 // Not a valid buffer id - - if (bufferOption == "saveUI") - if(src.connected.occupant && src.connected.occupant.dna) - var/datum/dna2/record/databuf=new - databuf.types = DNA2_BUF_UE - databuf.dna = src.connected.occupant.dna.Clone() - if(ishuman(connected.occupant)) - databuf.dna.real_name=connected.occupant.dna.real_name - databuf.name = "Unique Identifier" - src.buffers[bufferId] = databuf - return 1 - - if (bufferOption == "saveUIAndUE") - if(src.connected.occupant && src.connected.occupant.dna) - var/datum/dna2/record/databuf=new - databuf.types = DNA2_BUF_UI|DNA2_BUF_UE - databuf.dna = src.connected.occupant.dna.Clone() - if(ishuman(connected.occupant)) - databuf.dna.real_name=connected.occupant.dna.real_name - databuf.name = "Unique Identifier + Unique Enzymes" - src.buffers[bufferId] = databuf - return 1 - - if (bufferOption == "saveSE") - if(src.connected.occupant && src.connected.occupant.dna) - var/datum/dna2/record/databuf=new - databuf.types = DNA2_BUF_SE - databuf.dna = src.connected.occupant.dna.Clone() - if(ishuman(connected.occupant)) - databuf.dna.real_name=connected.occupant.dna.real_name - databuf.name = "Structural Enzymes" - src.buffers[bufferId] = databuf - return 1 - - if (bufferOption == "clear") - src.buffers[bufferId]=new /datum/dna2/record() - return 1 - - if (bufferOption == "changeLabel") - var/datum/dna2/record/buf = src.buffers[bufferId] - var/text = sanitize(input(usr, "New Label:", "Edit Label", buf.name) as text|null, MAX_NAME_LEN) - buf.name = text - src.buffers[bufferId] = buf - return 1 - - if (bufferOption == "transfer") - if (!src.connected.occupant || (src.connected.occupant.mutations & NOCLONE) || !src.connected.occupant.dna) - return - - irradiating = 2 - var/lock_state = src.connected.locked - src.connected.locked = 1//lock it - SSnanoui.update_uis(src) // update all UIs attached to src - - sleep(10*2) // sleep for 2 seconds - - irradiating = 0 - src.connected.locked = lock_state - - var/datum/dna2/record/buf = src.buffers[bufferId] - - if ((buf.types & DNA2_BUF_UI)) - if ((buf.types & DNA2_BUF_UE)) - src.connected.occupant.real_name = buf.dna.real_name - src.connected.occupant.name = buf.dna.real_name - src.connected.occupant.UpdateAppearance(buf.dna.UI.Copy()) - else if (buf.types & DNA2_BUF_SE) - src.connected.occupant.dna.SE = buf.dna.SE - src.connected.occupant.dna.UpdateSE() - domutcheck(src.connected.occupant,src.connected) - src.connected.occupant.apply_damage(rand(20,50), damage_flags = DAMAGE_FLAG_DISPERSED) - return 1 - - if (bufferOption == "createInjector") - if (src.injector_ready || waiting_for_user_input) - - var/success = 1 - var/obj/item/dnainjector/I = new /obj/item/dnainjector - var/datum/dna2/record/buf = src.buffers[bufferId] - if(href_list["createBlockInjector"]) - waiting_for_user_input=1 - var/list/selectedbuf - if(buf.types & DNA2_BUF_SE) - selectedbuf=buf.dna.SE - else - selectedbuf=buf.dna.UI - var/blk = input(usr,"Select Block","Block") in all_dna_blocks(selectedbuf) - success = setInjectorBlock(I,blk,buf) - else - I.buf = buf - waiting_for_user_input=0 - if(success) - I.forceMove(src.loc) - I.name += " ([buf.name])" - //src.temphtml = "Injector created." - src.injector_ready = 0 - spawn(300) - src.injector_ready = 1 - //else - //src.temphtml = "Error in injector creation." - //else - //src.temphtml = "Replicator not ready yet." - return 1 - - if (bufferOption == "loadDisk") - if ((isnull(src.disk)) || (!src.disk.buf)) - //src.temphtml = "Invalid disk. Please try again." - return 0 - - src.buffers[bufferId]=src.disk.buf - //src.temphtml = "Data loaded." - return 1 - - if (bufferOption == "saveDisk") - if ((isnull(src.disk)) || (src.disk.read_only)) - //src.temphtml = "Invalid disk. Please try again." - return 0 - - var/datum/dna2/record/buf = src.buffers[bufferId] - - src.disk.buf = buf - src.disk.name = "data disk - '[buf.dna.real_name]'" - //src.temphtml = "Data saved." - return 1 - + // ui_interact(user) /////////////////////////// DNA MACHINES diff --git a/code/modules/cargo/cargo_suppliers.dm b/code/modules/cargo/cargo_suppliers.dm index 69075b7569e..b9889ba24b6 100644 --- a/code/modules/cargo/cargo_suppliers.dm +++ b/code/modules/cargo/cargo_suppliers.dm @@ -69,6 +69,7 @@ description = "A janitorial supplies company best known for their highly-effective and mostly-non-toxic 'space cleaner' formula, in wide usage throughout the Spur." tag_line = "Just say BLAM! And it's gone!" +/// Unused with the removal of Antimatter-based energy sources from the codebase. /singleton/cargo_supplier/eckharts short_name = "eckharts" name = "Eckhart's Energy Solutions Limited" diff --git a/code/modules/cargo/items/engineering.dm b/code/modules/cargo/items/engineering.dm index 3357b60ef55..57a8468895a 100644 --- a/code/modules/cargo/items/engineering.dm +++ b/code/modules/cargo/items/engineering.dm @@ -586,20 +586,6 @@ groupable = TRUE spawn_amount = 1 -/singleton/cargo_item/packagedantimatterreactorsection - category = "engineering" - name = "packaged antimatter reactor section" - supplier = "eckharts" - description = "A section of antimatter reactor shielding. Do not eat." - price = 220 - items = list( - /obj/item/am_shielding_container - ) - access = ACCESS_CE - container_type = "crate" - groupable = TRUE - spawn_amount = 1 - /singleton/cargo_item/debugger category = "engineering" name = "debugger" @@ -840,34 +826,6 @@ groupable = TRUE spawn_amount = 1 -/singleton/cargo_item/antimattercontainmentjar - category = "engineering" - name = "antimatter containment jar" - supplier = "eckharts" - description = "Holds antimatter. Warranty void if exposed to matter." - price = 280 - items = list( - /obj/item/am_containment - ) - access = ACCESS_CE - container_type = "crate" - groupable = TRUE - spawn_amount = 1 - -/singleton/cargo_item/antimattercontrolunit - category = "engineering" - name = "antimatter control unit" - supplier = "eckharts" - description = "The control unit for an antimatter reactor. Probably safe." - price = 1950 - items = list( - /obj/machinery/power/am_control_unit - ) - access = ACCESS_CE - container_type = "crate" - groupable = TRUE - spawn_amount = 1 - /singleton/cargo_item/alphaparticlegenerationarray category = "engineering" name = "Alpha Particle Generation Array" diff --git a/code/modules/item_worth/worths_list.dm b/code/modules/item_worth/worths_list.dm index 1f58d1aa3dc..4e35d6986d3 100644 --- a/code/modules/item_worth/worths_list.dm +++ b/code/modules/item_worth/worths_list.dm @@ -160,7 +160,6 @@ var/list/worths = list( /obj/item/mining_scanner = 13, /obj/item/bee_smoker = 5, /obj/item/anomaly_core = 2000, - /obj/item/am_containment = 500, /obj/item/coin/diamond = 50, /obj/item/coin/platinum = 25, /obj/item/coin/phoron = 20, @@ -237,7 +236,6 @@ var/list/worths = list( /obj/item/smes_coil/super_io = 450, /obj/item/smes_coil = 200, /obj/item/tracker_electronics = 15, - /obj/item/am_containment = 500, /obj/item/syringe_cartridge = 2, /obj/item/suppressor = 6, /obj/item/fossil = 10, diff --git a/code/modules/power/antimatter/containment_jar.dm b/code/modules/power/antimatter/containment_jar.dm deleted file mode 100644 index 33c8281fdcf..00000000000 --- a/code/modules/power/antimatter/containment_jar.dm +++ /dev/null @@ -1,48 +0,0 @@ -/obj/item/am_containment - name = "antimatter containment jar" - desc = "Holds antimatter. Warranty void if exposed to matter." - icon = 'icons/obj/machinery/antimatter.dmi' - icon_state = "jar" - force = 18 - throwforce = 10 - throw_speed = 1 - throw_range = 2 - - var/fuel = 1000 - var/stability = 100 //TODO: add all the stability things to this so its not very safe if you keep hitting in on things - var/exploded = FALSE - -/obj/item/am_containment/antagonist_hints(mob/user, distance, is_adjacent) - . += ..() - . += "Antimatter is extremely volatile, and containment jars are not particularly strong. Weak explosions will reduce the container's integrity, and larger ones will cause it to explode immediately." -/obj/item/am_containment/proc/boom() - var/percent = 0 - if(fuel) - percent = (fuel / initial(fuel)) * 100 - if(!exploded && percent >= 10) - explosion(get_turf(src), 1, 2, 3, 5)//Should likely be larger but this works fine for now I guess - exploded = TRUE - if(src) - qdel(src) - -/obj/item/am_containment/ex_act(severity) - switch(severity) - if(1.0) - boom() - if(2.0) - if(prob((fuel / 10) - stability)) - boom() - stability -= 40 - if(3.0) - stability -= 20 - check_stability() - -/obj/item/am_containment/proc/check_stability() - if(stability <= 0) - boom() - -/obj/item/am_containment/proc/usefuel(var/wanted) - if(fuel < wanted) - wanted = fuel - fuel -= wanted - return wanted diff --git a/code/modules/power/antimatter/control.dm b/code/modules/power/antimatter/control.dm deleted file mode 100644 index a0e68791ab1..00000000000 --- a/code/modules/power/antimatter/control.dm +++ /dev/null @@ -1,365 +0,0 @@ -/obj/machinery/power/am_control_unit - name = "antimatter control unit" - desc = "The control unit for an antimatter reactor. Probably safe." - icon = 'icons/obj/machinery/new_ame.dmi' - icon_state = "control" - var/icon_mod = "on" // on, critical, or fuck - anchored = FALSE - density = TRUE - use_power = POWER_USE_IDLE - idle_power_usage = 100 - active_power_usage = 1000 - - var/list/obj/machinery/am_shielding/linked_shielding - var/list/obj/machinery/am_shielding/linked_cores - var/obj/item/am_containment/fueljar - var/update_shield_icons = FALSE - var/stability = 100 - var/exploding = FALSE - var/exploded = FALSE - - var/active = FALSE //On or not - var/fuel_injection = 2 //How much fuel to inject - var/shield_icon_delay = FALSE //delays resetting for a short time - var/reported_core_efficiency = 0 - - var/power_cycle = 0 - var/power_cycle_delay = 4 //How many ticks till produce_power is called - var/stored_core_stability = 0 - var/stored_core_stability_delay = 0 - - var/stored_power = 0 //Power to deploy per tick - -/obj/machinery/power/am_control_unit/assembly_hints(mob/user, distance, is_adjacent) - . += ..() - if(!anchored) - . += "First secure the control unit to the ground with some bolts." - else - . += "Arrange the reactor sections nearby and activate them." - . += "Reactor sections can only be activated if they are near the control unit, but otherwise are not restricted in how they must be placed." - -/obj/machinery/power/am_control_unit/antagonist_hints(mob/user, distance, is_adjacent) - . += ..() - . += "The antimatter engine will quickly destabilize if the fuel injection rate is set too high, causing a large explosion." - -/obj/machinery/power/am_control_unit/Destroy()//Perhaps damage and run stability checks rather than just del on the others - for(var/obj/machinery/am_shielding/AMS in linked_shielding) - AMS.control_unit = null - qdel(AMS) - for(var/obj/machinery/am_shielding/AMS in linked_cores) - AMS.control_unit = null - qdel(AMS) - - QDEL_NULL(fueljar) - return ..() - -/obj/machinery/power/am_control_unit/process() - if(exploding && !exploded) - message_admins("AME explosion at ([x],[y],[z] - JMP) - Last touched by [fingerprintslast]",0,1) - exploded=1 - explosion(get_turf(src),8,10,12,15) - if(src) - qdel(src) - - if(update_shield_icons && !shield_icon_delay) - check_shield_icons() - update_shield_icons = 0 - - if(stat & (NOPOWER|BROKEN) || !active)//can update the icons even without power - return - - if(!fueljar)//No fuel but we are on, shutdown - toggle_power() - //Angry buzz or such here - return - - check_core_stability() - - ADD_TO_POWERNET(src, stored_power) - - power_cycle++ - if(power_cycle >= power_cycle_delay) - produce_power() - power_cycle = 0 - -/obj/machinery/power/am_control_unit/proc/produce_power() - playsound(get_turf(src), 'sound/effects/air_seal.ogg', 25, TRUE) - for(var/thing in linked_cores) - flick("core2", thing) - if(reported_core_efficiency <= 0) - return FALSE //Something is wrong - var/core_damage = 0 - var/fuel = fueljar.usefuel(fuel_injection) - - stored_power = fuel * AM_POWER_FACTOR - // Now check if the cores could deal with it safely, this is done after so you can overload for more power if needed, still a bad idea - if(fuel > (2 * reported_core_efficiency)) //More fuel has been put in than the current cores can deal with - if(prob(50)) - core_damage = 1 //Small chance of damage - if((fuel - reported_core_efficiency) > 5) - core_damage = 5 //Now its really starting to overload the cores - if((fuel - reported_core_efficiency) > 10) - core_damage = 20 //Welp now you did it, they wont stand much of this - if(core_damage == 0) - return - for(var/obj/machinery/am_shielding/AMS in linked_cores) - AMS.stability -= core_damage - AMS.check_stability(TRUE) - playsound(get_turf(src), 'sound/effects/bang.ogg', 50, 1) - -/obj/machinery/power/am_control_unit/emp_act(severity) - . = ..() - - switch(severity) - if(EMP_HEAVY) - if(active) - toggle_power() - stability -= rand(15, 30) - if(EMP_LIGHT) - if(active) - toggle_power() - stability -= rand(10, 20) - check_stability() - -/obj/machinery/power/am_control_unit/ex_act(severity) - switch(severity) - if(1.0) - stability -= 60 - if(2.0) - stability -= 40 - if(3.0) - stability -= 20 - check_stability() - -/obj/machinery/power/am_control_unit/power_change() - ..() - if(stat & NOPOWER && active) - toggle_power() - -/obj/machinery/power/am_control_unit/update_icon() - if(active) - icon_state = "control_[icon_mod]" - else - icon_state = "control" - -/obj/machinery/power/am_control_unit/attackby(obj/item/attacking_item, mob/user) - if(attacking_item.tool_behaviour == TOOL_WRENCH) - if(!anchored) - attacking_item.play_tool_sound(get_turf(src), 75) - user.visible_message("[user.name] secures \the [src] to the floor.", \ - SPAN_NOTICE("You secure the anchor bolts to the floor."), \ - SPAN_NOTICE("You hear a ratcheting noise.")) - anchored = TRUE - update_shield_icons = 2 - check_shield_icons() - connect_to_network() - else if(!LAZYLEN(linked_shielding)) - attacking_item.play_tool_sound(get_turf(src), 75) - user.visible_message("[user] unsecures \the [src].", \ - SPAN_NOTICE("You remove the anchor bolts."), \ - SPAN_NOTICE("You hear a ratcheting noise.")) - anchored = FALSE - disconnect_from_network() - else - to_chat(user, SPAN_WARNING("Once bolted and linked to a shielding unit it \the [src] is unable to be moved!")) - return - - if(istype(attacking_item, /obj/item/am_containment)) - if(fueljar) - to_chat(user, SPAN_WARNING("There is already \a [fueljar] loaded!")) - return - fueljar = attacking_item - user.drop_from_inventory(attacking_item, src) - message_admins("AME loaded with fuel by [user.real_name] ([user.key]) at ([x],[y],[z] - JMP)",0,1) - user.visible_message("[user] loads \the [attacking_item] into \the [src].", - SPAN_NOTICE("You load \the [attacking_item] into \the [src]."), - SPAN_NOTICE("You hear a thunk.")) - return - - if(attacking_item.force >= 20) - user.do_attack_animation(src, attacking_item) - stability -= attacking_item.force / 2 - check_stability() - return ..() - -/obj/machinery/power/am_control_unit/attack_hand(mob/user) - if(anchored) - interact(user) - -/obj/machinery/power/am_control_unit/proc/add_shielding(var/obj/machinery/am_shielding/AMS, var/AMS_linking = 0) - if(!istype(AMS)) - return FALSE - if(!anchored) - return FALSE - if(!AMS_linking && !AMS.link_control(src)) - return FALSE - LAZYDISTINCTADD(linked_shielding, AMS) - update_shield_icons = 1 - return TRUE - -/obj/machinery/power/am_control_unit/proc/remove_shielding(var/obj/machinery/am_shielding/AMS) - if(!istype(AMS)) - return FALSE - LAZYREMOVE(linked_shielding, AMS) - update_shield_icons = 2 - if(active) - toggle_power() - return TRUE - -/obj/machinery/power/am_control_unit/proc/check_stability()//TODO: make it break when low also might want to add a way to fix it like a part or such that can be replaced - if(stability <= 0) - qdel(src) - -/obj/machinery/power/am_control_unit/toggle_power() - active = !active - if(active) - update_use_power(POWER_USE_ACTIVE) - visible_message(SPAN_NOTICE("\The [src] starts up.")) - else - update_use_power(POWER_USE_IDLE) - visible_message(SPAN_NOTICE("\The [src] shuts down.")) - for(var/obj/machinery/am_shielding/AMS in linked_cores) - AMS.update_icon() - update_icon() - -/obj/machinery/power/am_control_unit/proc/check_shield_icons()//Forces icon_update for all shields - if(shield_icon_delay) - return - shield_icon_delay = TRUE - if(update_shield_icons == 2)//2 means to clear everything and rebuild - for(var/obj/machinery/am_shielding/neighbor in cardinalrange(loc)) - if(!neighbor.control_unit) - LAZYADD(linked_shielding, neighbor) - for(var/obj/machinery/am_shielding/AMS in linked_shielding) - if(AMS.processing) - AMS.shutdown_core() - AMS.control_unit = null - addtimer(CALLBACK(src, PROC_REF(ams_do_scan), AMS), 1 SECOND) - LAZYCLEARLIST(linked_shielding) - else - for(var/obj/machinery/am_shielding/AMS in linked_shielding) - AMS.update_icon() - addtimer(CALLBACK(src, PROC_REF(clear_shield_icon_delay)), 2 SECONDS) - -/obj/machinery/power/am_control_unit/proc/ams_do_scan(var/obj/machinery/am_shielding/AMS) - AMS.controllerscan() - AMS.assimilate() - -/obj/machinery/power/am_control_unit/proc/clear_shield_icon_delay() - shield_icon_delay = FALSE - -/obj/machinery/power/am_control_unit/proc/check_core_stability() - if(!LAZYLEN(linked_cores)) - return - stored_core_stability = 0 - for(var/thing in linked_cores) - var/obj/machinery/am_shielding/AMS = thing - if(QDELETED(AMS)) - continue - stored_core_stability += AMS.stability - stored_core_stability /= LAZYLEN(linked_cores) - switch(stored_core_stability) - if(0 to 24) - icon_mod = "fuck" - if(25 to 49) - icon_mod = "critical" - if(50 to INFINITY) - icon_mod = "on" - update_icon() - -/obj/machinery/power/am_control_unit/interact(mob/user) - if((get_dist(src, user) > 1) || (stat & (BROKEN|NOPOWER))) - if(!issilicon(user)) - user.unset_machine() - user << browse(null, "window=AMcontrol") - return - return ui_interact(user) - -/obj/machinery/power/am_control_unit/ui_interact(mob/user, ui_key = "main") - if(!user) - return - - var/list/fueljar_data = null - if(fueljar) - fueljar_data = list( - "fuel" = fueljar.fuel, - "fuel_max" = initial(fueljar.fuel), - "injecting" = fuel_injection - ) - - var/list/data = list( - "active" = active, - "linked_shields" = LAZYLEN(linked_shielding), - "linked_cores" = LAZYLEN(linked_cores), - "efficiency" = reported_core_efficiency, - "stability" = stored_core_stability, - "stored_power" = stored_power, - "fueljar" = fueljar_data, - "siliconUser" = issilicon(user) - ) - - var/datum/nanoui/ui = SSnanoui.get_open_ui(user, src, ui_key) - if (!ui) - // the ui does not exist, so we'll create a new one - ui = new(user, src, ui_key, "ame.tmpl", "Antimatter Control Unit", 500, data["siliconUser"] ? 465 : 390) - // When the UI is first opened this is the data it will use - ui.set_initial_data(data) - ui.open() - // Auto update every Master Controller tick - ui.set_auto_update(TRUE) - else - // The UI is already open so push the new data to it - ui.push_data(data) - - -/obj/machinery/power/am_control_unit/Topic(href, href_list) - if(..()) - return TRUE - if(href_list["close"]) - if(usr.machine == src) - usr.unset_machine() - return TRUE - //Ignore input if we are broken or guy is not touching us, AI can control from a ways away - if(stat & (BROKEN|NOPOWER)) - usr.unset_machine() - usr << browse(null, "window=AMcontrol") - return - - if(href_list["close"]) - usr << browse(null, "window=AMcontrol") - usr.unset_machine() - return - - if(href_list["togglestatus"]) - toggle_power() - message_admins("AME toggled [active?"on":"off"] by [usr.real_name] ([usr.key]) at ([x],[y],[z] - JMP)",0,1) - return TRUE - - if(href_list["refreshicons"]) - update_shield_icons = 2 // Fuck it - return TRUE - - if(href_list["ejectjar"]) - if(fueljar) - message_admins("AME fuel jar ejected by [usr.real_name] ([usr.key]) at ([x],[y],[z] - JMP)",0,1) - fueljar.forceMove(src.loc) - fueljar = null - //fueljar.control_unit = null currently it does not care where it is - //update_icon() when we have the icon for it - return TRUE - - if(href_list["set_strength"]) - var/newval = input("Enter new injection strength") as num|null - if(isnull(newval)) - return - fuel_injection = newval - fuel_injection = max(1, fuel_injection) - message_admins("AME injection strength set to [fuel_injection] by [usr.real_name] ([usr.key]) at ([x],[y],[z] - JMP)",0,1) - return TRUE - - if(href_list["refreshstability"]) - check_core_stability() - return TRUE - - updateDialog() - return TRUE diff --git a/code/modules/power/antimatter/shielding.dm b/code/modules/power/antimatter/shielding.dm deleted file mode 100644 index 4083d140520..00000000000 --- a/code/modules/power/antimatter/shielding.dm +++ /dev/null @@ -1,258 +0,0 @@ -//like orange but only checks north/south/east/west for one step -/proc/cardinalrange(var/center) - var/list/things = list() - for(var/direction in GLOB.cardinals) - var/turf/T = get_step(center, direction) - if(!T) - continue - things += T.contents - return things - -/obj/machinery/am_shielding - name = "antimatter reactor section" - desc = "A shielding component for an antimatter reactor. Looks delicate." - icon = 'icons/obj/machinery/new_ame.dmi' - icon_state = "shield" - anchored = TRUE - density = TRUE - dir = NORTH - use_power = POWER_USE_OFF - idle_power_usage = 0 - active_power_usage = 0 - - var/obj/machinery/power/am_control_unit/control_unit = null - var/processing = FALSE //To track if we are in the update list or not, we need to be when we are damaged and if we ever - var/stability = 100 //If this gets low bad things tend to happen - var/efficiency = 1 //How many cores this core counts for when doing power processing, phoron in the air and stability could affect this - var/coredirs = 0 - var/dirs = 0 - var/mapped = FALSE //Set to 1 to ignore usual suicide if it doesn't immediately find a control_unit - -/obj/machinery/am_shielding/mechanics_hints(mob/user, distance, is_adjacent) - . += ..() - . += "Antimatter shielding sections must be beside an anchored control unit or another shielding section. If either are destroyed, the section will disappear." - -/obj/machinery/am_shielding/antagonist_hints(mob/user, distance, is_adjacent) - . += ..() - . += "Antimatter shielding sections are delicate. Attacking the shielding unit with a damaging object will reduce its stability, as will explosions. If the stability hits zero, the reactor may explode." - -// Stupidly easy way to use it in maps -/obj/machinery/am_shielding/map - mapped = TRUE - -/obj/machinery/am_shielding/Initialize(mapload, var/obj/machinery/power/am_control_unit/AMC) - . = ..() - if(!AMC) - if (!mapped) - WARNING("AME sector somehow created without a parent control unit!") - controllerscan() - return - link_control(AMC) - return INITIALIZE_HINT_LATELOAD - -/obj/machinery/am_shielding/LateInitialize() - . = ..() - update_icon() - -/obj/machinery/am_shielding/proc/link_control(var/obj/machinery/power/am_control_unit/AMC) - if(!istype(AMC)) - return FALSE - if(control_unit && control_unit != AMC) - return FALSE // already have one - control_unit = AMC - return control_unit.add_shielding(src, TRUE) - -/obj/machinery/am_shielding/Destroy() - if(control_unit) - control_unit.remove_shielding(src) - if(processing) - shutdown_core() - visible_message(SPAN_WARNING("\The [src] melts!")) - // Might want to have it leave a mess on the floor but no sprites for now - return ..() - -/obj/machinery/am_shielding/proc/controllerscan(var/priorscan = FALSE) - //Make sure we are the only one here - if(!isturf(loc)) - qdel(src) - return - for(var/obj/machinery/am_shielding/AMS in loc.contents - src) - qdel(src) - return - - //Search for shielding first - for(var/obj/machinery/am_shielding/AMS in cardinalrange(src)) - if(AMS && AMS.control_unit && link_control(AMS.control_unit)) - break - - if(!control_unit)//No other guys nearby, look for a control unit - for(var/obj/machinery/power/am_control_unit/AMC in cardinalrange(src)) - if(AMC.add_shielding(src)) - break - if(!mapped) // Prevent rescanning and suicide if it's part of the map - if(!priorscan) - addtimer(CALLBACK(src, PROC_REF(controllerscan), TRUE), 20) - return - qdel(src) - -// Find surrounding unconnected shielding and add them to our controller -/obj/machinery/am_shielding/proc/assimilate() - if(!control_unit) - return // nothing to share :'^[ - for(var/obj/machinery/am_shielding/neighbor in cardinalrange(src)) - if(neighbor && !neighbor.control_unit) - neighbor.link_control(control_unit) - neighbor.assimilate() // recursion is fun, right? - -/obj/machinery/am_shielding/Cross(atom/movable/mover, turf/target, height=1.5, air_group = 0) - if(air_group || (height==0)) - return TRUE - return FALSE - -/obj/machinery/am_shielding/process() - if(!processing) - . = PROCESS_KILL - //TODO: core functions and stability - //TODO: think about checking the airmix for phoron and increasing power output - - -/obj/machinery/am_shielding/emp_act()//Immune due to not really much in the way of electronics. - . = ..() - - return - -/obj/machinery/am_shielding/ex_act(severity) - switch(severity) - if(1.0) - stability -= 80 - if(2.0) - stability -= 40 - if(3.0) - stability -= 20 - check_stability() - -/obj/machinery/am_shielding/update_icon() - ClearOverlays() - coredirs = 0 - dirs = 0 - for(var/direction in GLOB.alldirs) - var/turf/T = get_step(loc, direction) - for(var/obj/machinery/machine in T) - // Detect cores - if(istype(machine, /obj/machinery/am_shielding)) - var/obj/machinery/am_shielding/AMS = machine - if(AMS.control_unit == control_unit && AMS.processing) - coredirs |= direction - - // Detect cores, shielding, and control boxen. - if(direction in GLOB.cardinals) - if(istype(machine, /obj/machinery/am_shielding)) - var/obj/machinery/am_shielding/AMS = machine - if(AMS.control_unit == control_unit) - dirs |= direction - else if(istype(machine, /obj/machinery/power/am_control_unit)) - var/obj/machinery/power/am_control_unit/AMCU = machine - if(AMCU == control_unit) - dirs |= direction - - var/is_core = core_check() - - // Set our overlay - if(!is_core) - icon_state = "shield_[dirs]" - if(is_core) - icon_state = "core[control_unit && control_unit.active]" - if(!processing) - setup_core() - else if(processing) - shutdown_core() - -/obj/machinery/am_shielding/attackby(obj/item/attacking_item, mob/user) - if(!istype(attacking_item) || !user) - return - if(attacking_item.force > 10) - user.do_attack_animation(src, attacking_item) - stability -= attacking_item.force / 2 - check_stability() - return ..() - -//Scans cards for shields or the control unit and if all there it -/obj/machinery/am_shielding/proc/core_check() - for(var/direction in GLOB.alldirs) - var/found_am_device = FALSE - for(var/obj/machinery/machine in get_step(loc, direction)) - if(!machine) - continue - if(istype(machine, /obj/machinery/am_shielding) || istype(machine, /obj/machinery/power/am_control_unit)) - found_am_device = TRUE - break - if(!found_am_device) - return FALSE - return TRUE - -/obj/machinery/am_shielding/proc/setup_core() - processing = TRUE - if(!control_unit) - return - LAZYADD(control_unit.linked_cores, src) - control_unit.reported_core_efficiency += efficiency - -/obj/machinery/am_shielding/proc/shutdown_core() - processing = 0 - if(!control_unit) - return - LAZYREMOVE(control_unit.linked_cores, src) - control_unit.reported_core_efficiency -= efficiency - -/obj/machinery/am_shielding/proc/check_stability(var/injecting_fuel = FALSE) - if(stability > 0) - return - if(injecting_fuel && control_unit) - control_unit.exploding = TRUE - qdel(src) - -/obj/machinery/am_shielding/proc/recalc_efficiency(var/new_efficiency)//tbh still not 100% sure how I want to deal with efficiency so this is likely temp - if(!control_unit || !processing) - return - if(stability < 50) - new_efficiency /= 2 - control_unit.reported_core_efficiency += (new_efficiency - efficiency) - efficiency = new_efficiency - -/obj/item/am_shielding_container - name = "packaged antimatter reactor section" - desc = "A section of antimatter reactor shielding. Do not eat." - icon = 'icons/obj/machinery/antimatter.dmi' - icon_state = "box" - item_state = "electronic" - throwforce = 5 - throw_speed = 1 - throw_range = 2 - -/obj/item/am_shielding_container/mechanics_hints(mob/user, distance, is_adjacent) - . += ..() - . += "To deploy, drop near an antimatter control unit or an existing deployed section and use your multitool on it." - -/obj/item/am_shielding_container/attackby(obj/item/attacking_item, mob/user) - if(attacking_item.tool_behaviour == TOOL_MULTITOOL && isturf(loc)) - if(locate(/obj/machinery/am_shielding) in loc) - to_chat(user, SPAN_WARNING("There is already an antimatter reactor section there.")) - return - - //Search for shielding first - for(var/obj/machinery/am_shielding/AMS in cardinalrange(src)) - if(AMS.control_unit) - new /obj/machinery/am_shielding(loc, AMS.control_unit) - qdel(src) - return - - //No other guys nearby, look for a control unit - var/obj/machinery/power/am_control_unit/AMC = locate() in cardinalrange(src) - if(AMC?.anchored) - new /obj/machinery/am_shielding(loc, AMC) - qdel(src) - else //Stranded & Alone - to_chat(user, SPAN_WARNING("\The [src] couldn't connect to an Antimatter Control Unit.")) - return - - ..() diff --git a/html/changelogs/Bat-Deprecation.yml b/html/changelogs/Bat-Deprecation.yml new file mode 100644 index 00000000000..c40da2596b2 --- /dev/null +++ b/html/changelogs/Bat-Deprecation.yml @@ -0,0 +1,7 @@ +# Your name. +author: Batrachophrenoboocosmomachia +delete-after: True +changes: + - rscdel: "Removes deprecated AME code and associated power spritefiles." + - rscdel: "Removes DNA Modifier NanoUI, replacing interaction behavior with a feedback message." + - rscdel: "Removes old NanoUI templates for objects whose UIs have already been converted to TGUI, or which had already been removed from the server." diff --git a/icons/obj/machinery/antimatter.dmi b/icons/obj/machinery/antimatter.dmi deleted file mode 100644 index 4e20f20e7b0..00000000000 Binary files a/icons/obj/machinery/antimatter.dmi and /dev/null differ diff --git a/icons/obj/machinery/new_ame.dmi b/icons/obj/machinery/new_ame.dmi deleted file mode 100644 index 2c7f6c4ea8a..00000000000 Binary files a/icons/obj/machinery/new_ame.dmi and /dev/null differ diff --git a/icons/obj/machinery/particle_accelerator_old.dmi b/icons/obj/machinery/particle_accelerator_old.dmi deleted file mode 100644 index db412286c08..00000000000 Binary files a/icons/obj/machinery/particle_accelerator_old.dmi and /dev/null differ diff --git a/icons/rust.dmi b/icons/rust.dmi deleted file mode 100644 index fd2ea5a0aae..00000000000 Binary files a/icons/rust.dmi and /dev/null differ diff --git a/icons/rust_old.dmi b/icons/rust_old.dmi deleted file mode 100644 index 7fd6ad57d03..00000000000 Binary files a/icons/rust_old.dmi and /dev/null differ diff --git a/nano/templates/air_alarm.tmpl b/nano/templates/air_alarm.tmpl deleted file mode 100644 index 3dde73a1c9e..00000000000 --- a/nano/templates/air_alarm.tmpl +++ /dev/null @@ -1,216 +0,0 @@ - -
| - | |
- Remote Control- |
-
- Thermostat- |
- - |
|
-
-
-
- {{:helper.link('Off', null, { 'rcon' : 1}, data.remote_connection && !data.remote_access ? (data.rcon == 1 ? 'yellowButton' : 'disabled') : null, data.rcon == 1 ? 'selected' : null)}}
- {{:helper.link('Auto', null, { 'rcon' : 2}, data.remote_connection && !data.remote_access ? (data.rcon == 2 ? 'yellowButton' : 'disabled') : null, data.rcon == 2 ? 'selected' : null)}}
- {{:helper.link('On', null, { 'rcon' : 3}, data.remote_connection && !data.remote_access ? (data.rcon == 3 ? 'yellowButton' : 'disabled') : null, data.rcon == 3 ? 'selected' : null)}}
-
- |
- - {{:helper.link(data.target_temperature, null, { 'temperature' : 1})}} - | -
| min2 | min1 | max1 | max2 | -||
| {{:value.name}} | - {{for value.settings :settingsValue:settingsIndex}} -- {{:helper.link(settingsValue.selected >= 0 ? helper.fixed(settingsValue.selected, 2) : "Off", null, { 'command' : 'set_threshold', 'env' : settingsValue.env, 'var' : settingsValue.val })}} - | - {{/for}} -||||
|
-
-
- Primary Circulator ({{:data.primaryDir}})
-
-
- Turbine Output:
-
-
- {{:helper.fixed(data.primaryOutput, 1)}} kW
-
-
-
-
- Flow Capacity:
-
-
- {{:helper.fixed(data.primaryFlowCapacity, 1)}} %
-
- -
-
-
- Inlet Pressure:
-
-
- {{:helper.fixed(data.primaryInletPressure, 1)}} kPa
-
-
-
-
- Inlet Temperature:
-
-
- {{:helper.fixed(data.primaryInletTemperature, 1)}} K
-
- -
-
-
- Outlet Pressure:
-
-
- {{:helper.fixed(data.primaryOutletPressure, 1)}} kPa
-
-
-
-
- Outlet Temperature:
-
-
- {{:helper.fixed(data.primaryOutletTemperature, 1)}} K
-
- |
-
-
-
-
- Secondary Circulator ({{:data.secondaryDir}})
-
-
- Turbine Output:
-
-
- {{:helper.fixed(data.secondaryOutput, 1)}} kW
-
-
-
-
- Flow Capacity:
-
-
- {{:helper.fixed(data.secondaryFlowCapacity, 1)}} %
-
- -
-
-
- Inlet Pressure:
-
-
- {{:helper.fixed(data.secondaryInletPressure, 1)}} kPa
-
-
-
-
- Inlet Temperature:
-
-
- {{:helper.fixed(data.secondaryInletTemperature, 1)}} K
-
- -
-
-
- Outlet Pressure:
-
-
- {{:helper.fixed(data.secondaryOutletPressure, 1)}} kPa
-
-
-
-
- Outlet Temperature:
-
-
- {{:helper.fixed(data.secondaryOutletTemperature, 1)}} K
-
- |
-
| {{:data.temp }} | -
| {{:helper.link('Continue', null, {'PRG_continue' : 1})}} | -
| {{:value}} | -{{:helper.link('Trade', null, {'PRG_offer_item' : index})}} | -{{:helper.link('Money', null, {'PRG_offer_money_for_item' : index})}} | -{{:helper.link('Bulk', null, {'PRG_bulk_money_for_item' : index})}} | -{{:helper.link('Ask Cost', null, {'PRG_how_much_do_you_want' : index})}} | - {{/for}} -
| {{:helper.link('Open Communications', null, {'PRG_merchant_list' : 1})}} | -
| {{:helper.link('Test Fire Transporter', null, {'PRG_test_fire': 1 })}} | -
| {{:helper.link('Connect Pad', null, {'PRG_connect_pad' : 1})}} - {{if data.pad}} - Connected - {{else}} - DISCONNECTED - {{/if}} - | -
| {{:helper.link('Deposit Money', null, {'PRG_transfer_to_bank' : 1})}} | -
| {{:helper.link('Retrieve Money', null, {'PRG_get_money' : 1})}} | -
| File name | File size | Controls - {{for data.upload_filelist}} - |
|---|---|---|
| {{:value.filename}} - | {{:value.size}}GQ - | {{:helper.link('Select', null, {'PRG_uploadfile' : value.uid})}} - {{/for}} - |
| Server UID | File Name | File Size | Password Protection | Operations - {{for data.servers}} - | |
|---|---|---|---|---|---|
| {{:value.uid}} - | {{:value.filename}} - | {{:value.size}}GQ - {{if value.haspassword}} - | Enabled - {{else}} - | Disabled - {{/if}} - | {{:helper.link('Download', null, { "PRG_downloadfile" : value.uid })}} - {{/for}} - |
- Thank you for your patience! -
-{{else}} - {{if data.state =="home"}} -| Command | ||
|---|---|---|
| {{:value.name}} | {{:value.rank}} | {{:value.active}} |
| {{:value.name}} | {{:value.rank}} | {{:value.active}} |
| Security | ||
| {{:value.name}} | {{:value.rank}} | {{:value.active}} |
| {{:value.name}} | {{:value.rank}} | {{:value.active}} |
| Engineering | ||
| {{:value.name}} | {{:value.rank}} | {{:value.active}} |
| {{:value.name}} | {{:value.rank}} | {{:value.active}} |
| Medical | ||
| {{:value.name}} | {{:value.rank}} | {{:value.active}} |
| {{:value.name}} | {{:value.rank}} | {{:value.active}} |
| Science | ||
| {{:value.name}} | {{:value.rank}} | {{:value.active}} |
| {{:value.name}} | {{:value.rank}} | {{:value.active}} |
| Cargo | ||
| {{:value.name}} | {{:value.rank}} | {{:value.active}} |
| {{:value.name}} | {{:value.rank}} | {{:value.active}} |
| Civilian | ||
| {{:value.name}} | {{:value.rank}} | {{:value.active}} |
| {{:value.name}} | {{:value.rank}} | {{:value.active}} |
| Misc | ||
| {{:value.name}} | {{:value.rank}} | {{:value.active}} |
| APC Name | Cell Status | Power Usage | -||
|---|---|---|---|---|
| {{:value.name}} | - {{if value.cell_status == "N"}} -{{:helper.link(value.cell_charge + '%', 'batt_disc', null,'disabled', 'width75btn')}} | - {{else value.cell_status == "C"}} -{{:helper.link(value.cell_charge + '%', 'batt_chrg', null,'disabled', 'width75btn')}} | - {{else}} -{{:helper.link(value.cell_charge + '%', 'batt_full', null,'disabled', 'width75btn')}} | - {{/if}} -{{:value.total_load}} | -
{{:data.records.medical.notes}}
- {{else}}
-
- Medical Record Lost!
- {{:data.records.security.notes}}
- {{else}}
-
- Security Record Lost!- {{:value.body}}-
- {{if value.has_image}} -
- {{if value.caption}} - {{:value.caption}}
- {{/if}} - {{/if}} -
- -
| {{:helper.link('OBFUSCATE PROGRAM NAME', null, { 'PRG_obfuscate' : 1 })}} - |
| {{:helper.link(data.armed ? 'DISARM' : 'ARM', null, { 'PRG_arm' : 1 })}} - {{:helper.link('ACTIVATE', 'radiation', { 'PRG_activate' : 1 }, data.armed ? null : 'disabled', data.armed ? 'redButton' : null)}} - |
| - - | - {{if data.collapse == 0}} -
-
-
-Coordinates:
-
- {{:helper.link('X: ' + data.coordx, 'gear', {'setx': 1})}}
- {{:helper.link('Y: ' + data.coordy, 'gear', {'sety': 1})}}
- {{:helper.link('Z: ' + data.coordz, 'gear', {'setz': 1})}}
-
-
-
diff --git a/nano/templates/transfer_valve.tmpl b/nano/templates/transfer_valve.tmpl
deleted file mode 100644
index f8395839994..00000000000
--- a/nano/templates/transfer_valve.tmpl
+++ /dev/null
@@ -1,56 +0,0 @@
-Controls:
-
- {{:helper.link('Send', 'gear', {'send': 1}, null, (data.coordx != null && data.coordy != null && data.coordz != null) ? '' : 'disabled')}}
- {{:helper.link('Receive', 'gear', {'receive': 1}, null, (data.coordx != null && data.coordy != null && data.coordz != null) ? '' : 'disabled')}}
- {{:helper.link('Recalibrate', 'gear', {'recal': 1})}}
-
-
-
-
-
- Attachment One:
-
-
- {{if data.attachmentOne}}
- {{:data.attachmentOne}}
- {{else}}
- None
- {{/if}}
- {{:helper.link('Remove', 'eject', {'tankone' : 1}, data.attachmentOne ? null : 'disabled')}}
-
-
-
-
-
- Attachment Two:
-
-
- {{if data.attachmentTwo}}
- {{:data.attachmentTwo}}
- {{else}}
- None
- {{/if}}
- {{:helper.link('Remove', 'eject', {'tanktwo' : 1}, data.attachmentTwo ? null : 'disabled')}}
-
-
-
-
-
- Valve Attachment:
-
-
- {{if data.valveAttachment}}
- {{:data.valveAttachment}}
- {{else}}
- None
- {{/if}}
- {{:helper.link('Remove', 'eject', {'rem_device' : 1}, data.valveAttachment ? null : 'disabled')}}
- {{if data.valveAttachment}}
- {{:helper.link('View', 'wrench', {'device' : 1})}}
- {{/if}}
-
-
-
-
- Valve Status:
-
-
- {{:helper.link('Open', 'unlocked', {'open' : 1}, (!data.attachmentOne || !data.attachmentTwo) ? 'disabled' : (data.valveOpen ? 'selected' : null))}}{{:helper.link('Close', 'locked', {'open' : 1}, (!data.attachmentOne || !data.attachmentTwo) ? 'disabled' : (data.valveOpen ? null : 'selected'))}}
-
- |