From dc442a88149ab95ea5fe9e74d2b2c96d893d493b Mon Sep 17 00:00:00 2001 From: Markolie Date: Tue, 18 Aug 2015 23:25:15 +0200 Subject: [PATCH 1/7] Pod tracking console NanoUI --- .../computer/pod_tracking_console.dm | 49 ++--- code/game/mecha/mecha_control_console.dm | 179 +++++++++--------- nano/templates/exosuit_control.tmpl | 1 + nano/templates/pod_tracking.tmpl | 32 ++++ 4 files changed, 149 insertions(+), 112 deletions(-) create mode 100644 nano/templates/exosuit_control.tmpl create mode 100644 nano/templates/pod_tracking.tmpl diff --git a/code/game/machinery/computer/pod_tracking_console.dm b/code/game/machinery/computer/pod_tracking_console.dm index 5c40d9a11f8..4ef7e046215 100644 --- a/code/game/machinery/computer/pod_tracking_console.dm +++ b/code/game/machinery/computer/pod_tracking_console.dm @@ -5,39 +5,42 @@ icon_screen = "rdcomp" light_color = LIGHT_COLOR_PURPLE req_access = list(access_robotics) - circuit = "/obj/item/weapon/circuitboard/pod_locater" + circuit = /obj/item/weapon/circuitboard/pod_locater /obj/machinery/computer/podtracker/attack_ai(var/mob/user as mob) - return src.attack_hand(user) - -/obj/machinery/computer/podtracker/attack_hand(var/mob/user as mob) - if(..()) - return - user.set_machine(src) - var/dat = "[src.name]" - dat += "

Pod beacons data

" + return attack_hand(user) + +/obj/machinery/computer/podtracker/attack_hand(user as mob) + ui_interact(user) + +/obj/machinery/computer/podtracker/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) + var/data[0] + var/list/pods[0] for(var/obj/item/device/spacepod_equipment/misc/tracker/TR in world) var/obj/spacepod/myPod = TR.my_atom var/enabled = TR.enabled if(myPod && enabled) - dat += {"
[capitalize(myPod.name)]
-  Pod SPS X: [myPod.x]
-  Pod SPS Y: [myPod.y]
-  Pod SPS Z: [myPod.z]
"} + var/podname = sanitize(capitalize(myPod.name)) + var/occupant = "None" + var/occupant2 = "None" if(myPod.occupant) - dat += {" Pod Pilot: [myPod.occupant.name]
"} + occupant = myPod.occupant.name if(myPod.occupant2) - dat += {" Pod Passenger: [myPod.occupant2.name]
"} + occupant2 = myPod.occupant2.name + pods.Add(list(list("pod" = "\ref[myPod]", "name" = podname, "occupant" = occupant, "occupant2" = occupant2, "x" = myPod.x, "y" = myPod.y, "z" = myPod.z))) + + data["pods"] = pods - dat += "(Refresh)
" - dat += "" + ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) - user << browse(dat, "window=computer;size=400x500") - onclose(user, "computer") - return + if (!ui) + ui = new(user, src, ui_key, "pod_tracking.tmpl", "Pod Tracking Console", 400, 500) + ui.set_initial_data(data) + ui.open() /obj/machinery/computer/podtracker/Topic(href, href_list) if(..()) - return - src.updateUsrDialog() - return + return 1 + + if(href_list["refresh"]) + nanomanager.update_uis(src) diff --git a/code/game/mecha/mecha_control_console.dm b/code/game/mecha/mecha_control_console.dm index 036872780b2..fb29242fd70 100644 --- a/code/game/mecha/mecha_control_console.dm +++ b/code/game/mecha/mecha_control_console.dm @@ -5,64 +5,64 @@ icon_screen = "mecha" light_color = LIGHT_COLOR_FADEDPURPLE req_access = list(access_robotics) - circuit = "/obj/item/weapon/circuitboard/mecha_control" + circuit = /obj/item/weapon/circuitboard/mecha_control var/list/located = list() var/screen = 0 var/stored_data - attack_ai(var/mob/user as mob) - return src.attack_hand(user) +/obj/machinery/computer/mecha/attack_ai(var/mob/user as mob) + return attack_hand(user) - attack_hand(var/mob/user as mob) - if(..()) - return - user.set_machine(src) - var/dat = "[src.name]" - if(screen == 0) - dat += "

Tracking beacons data

" - for(var/obj/item/mecha_parts/mecha_tracking/TR in world) - var/answer = TR.get_mecha_info() - if(answer) - dat += {"
[answer]
- Send message
- Show exosuit log | (EMP pulse)
"} +/obj/machinery/computer/mecha/attack_hand(var/mob/user as mob) + ui_interact(user) + +/obj/machinery/computer/mecha/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) + var/data[0] + + if(screen == 0) + var/list/mechas[0] + for(var/obj/item/mecha_parts/mecha_tracking/TR in world) + var/answer = TR.get_mecha_info() + mechas.Add(list(answer)) + data["mechas"] = mechas + if(screen == 1) + data["log"] = stored_data - if(screen==1) - dat += "

Log contents

" - dat += "Return
" - dat += "[stored_data]" - - dat += "(Refresh)
" - dat += "" - - user << browse(dat, "window=computer;size=400x500") - onclose(user, "computer") - return - - Topic(href, href_list) - if(..()) - return - var/datum/topic_input/filter = new /datum/topic_input(href,href_list) - if(href_list["send_message"]) - var/obj/item/mecha_parts/mecha_tracking/MT = filter.getObj("send_message") - var/message = strip_html_simple(input(usr,"Input message","Transmit message") as text) - var/obj/mecha/M = MT.in_mecha() - if(trim(message) && M) - M.occupant_message(message) - return - if(href_list["shock"]) - var/obj/item/mecha_parts/mecha_tracking/MT = filter.getObj("shock") - MT.shock() - if(href_list["get_log"]) - var/obj/item/mecha_parts/mecha_tracking/MT = filter.getObj("get_log") - stored_data = MT.get_mecha_log() - screen = 1 - if(href_list["return"]) - screen = 0 - src.updateUsrDialog() - return + ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) + if (!ui) + ui = new(user, src, ui_key, "exosuit_control.tmpl", "Exosuit Control Console", 400, 500) + ui.set_initial_data(data) + ui.open() +/obj/machinery/computer/mecha/Topic(href, href_list) + if(..()) + return 1 + + var/datum/topic_input/filter = new /datum/topic_input(href,href_list) + if(href_list["send_message"]) + var/obj/item/mecha_parts/mecha_tracking/MT = filter.getObj("send_message") + var/message = strip_html_simple(input(usr,"Input message","Transmit message") as text) + if(!trim(message) || ..()) + return 1 + var/obj/mecha/M = MT.in_mecha() + if(M) + M.occupant_message(message) + + if(href_list["shock"]) + var/obj/item/mecha_parts/mecha_tracking/MT = filter.getObj("shock") + MT.shock() + + if(href_list["get_log"]) + var/obj/item/mecha_parts/mecha_tracking/MT = filter.getObj("get_log") + stored_data = MT.get_mecha_log() + screen = 1 + + if(href_list["return"]) + screen = 0 + + nanomanager.update_uis(src) + return /obj/item/mecha_parts/mecha_tracking name = "Exosuit tracking beacon" @@ -73,49 +73,50 @@ construction_time = 50 construction_cost = list("metal"=500) - proc/get_mecha_info() - if(!in_mecha()) - return 0 - var/obj/mecha/M = src.loc - var/cell_charge = M.get_charge() - var/answer = {"Name: [M.name]
- Integrity: [M.health/initial(M.health)*100]%
- Cell charge: [isnull(cell_charge)?"Not found":"[M.cell.percent()]%"]
- Airtank: [M.return_pressure()]kPa
- Pilot: [M.occupant||"None"]
- Location: [get_area(M)||"Unknown"]
- Active equipment: [M.selected||"None"]"} - if(istype(M, /obj/mecha/working/ripley)) - var/obj/mecha/working/ripley/RM = M - answer += "Used cargo space: [RM.cargo.len/RM.cargo_capacity*100]%
" - - return answer - - emp_act() - qdel(src) - return - - ex_act() - qdel(src) - return - - proc/in_mecha() - if(istype(src.loc, /obj/mecha)) - return src.loc +/obj/item/mecha_parts/mecha_tracking/proc/get_mecha_info() + if(!in_mecha()) return 0 + var/obj/mecha/M = src.loc + var/list/answer[0] + answer["reference"] = "\ref[src]" + answer["name"] = sanitize(M.name) + answer["charge"] = M.get_charge() + answer["integrity"] = "[M.health/initial(M.health)*100]%" + answer["airtank"] = "[M.return_pressure()]kPa" + answer["pilot"] = "[M.occupant||"None"]" + answer["location"] = "[sanitize(get_area(M))||"Unknown"]" + answer["equipment"] = "[M.selected||"None"]" + + if(istype(M, /obj/mecha/working/ripley)) + var/obj/mecha/working/ripley/RM = M + answer["cargo"] = "[RM.cargo.len/RM.cargo_capacity*100]%" + + return answer - proc/shock() - var/obj/mecha/M = in_mecha() - if(M) - M.emp_act(2) - qdel(src) +/obj/item/mecha_parts/mecha_tracking/emp_act() + qdel(src) + return - proc/get_mecha_log() - if(!src.in_mecha()) - return 0 - var/obj/mecha/M = src.loc - return M.get_log_html() +/obj/item/mecha_parts/mecha_tracking/ex_act() + qdel(src) + return +/obj/item/mecha_parts/mecha_tracking/proc/in_mecha() + if(istype(src.loc, /obj/mecha)) + return src.loc + return 0 + +/obj/item/mecha_parts/mecha_tracking/proc/shock() + var/obj/mecha/M = in_mecha() + if(M) + M.emp_act(2) + qdel(src) + +/obj/item/mecha_parts/mecha_tracking/proc/get_mecha_log() + if(!src.in_mecha()) + return 0 + var/obj/mecha/M = src.loc + return M.get_log_html() /obj/item/weapon/storage/box/mechabeacons name = "Exosuit Tracking Beacons" diff --git a/nano/templates/exosuit_control.tmpl b/nano/templates/exosuit_control.tmpl new file mode 100644 index 00000000000..30d74d25844 --- /dev/null +++ b/nano/templates/exosuit_control.tmpl @@ -0,0 +1 @@ +test \ No newline at end of file diff --git a/nano/templates/pod_tracking.tmpl b/nano/templates/pod_tracking.tmpl new file mode 100644 index 00000000000..71d96c312cb --- /dev/null +++ b/nano/templates/pod_tracking.tmpl @@ -0,0 +1,32 @@ + + +
{{:helper.link('Refresh', 'refresh', {'refresh' : 1})}}
+

Pods

+{{for data.pods}} +
+
+

{{:value.name}}

+
Pilot
+
{{:value.occupant}}
+
Passenger
+
{{:value.occupant2}}
+
Coordinates
+
{{:value.x}}, {{:value.y}}, {{:value.z}}
+
+
+{{empty}} +
No pod trackers detected!
+{{/for}} \ No newline at end of file From 6e036916ce380468796e3906c0ca216751502071 Mon Sep 17 00:00:00 2001 From: Markolie Date: Wed, 19 Aug 2015 01:25:32 +0200 Subject: [PATCH 2/7] Exosuit console NanoUI --- .../computer/pod_tracking_console.dm | 2 +- code/game/mecha/mecha_control_console.dm | 25 ++++-- nano/templates/exosuit_control.tmpl | 88 ++++++++++++++++++- nano/templates/pod_tracking.tmpl | 23 ++--- nano/templates/robot_control.tmpl | 3 +- 5 files changed, 117 insertions(+), 24 deletions(-) diff --git a/code/game/machinery/computer/pod_tracking_console.dm b/code/game/machinery/computer/pod_tracking_console.dm index 4ef7e046215..033a77801b4 100644 --- a/code/game/machinery/computer/pod_tracking_console.dm +++ b/code/game/machinery/computer/pod_tracking_console.dm @@ -20,7 +20,7 @@ var/obj/spacepod/myPod = TR.my_atom var/enabled = TR.enabled if(myPod && enabled) - var/podname = sanitize(capitalize(myPod.name)) + var/podname = capitalize(sanitize(myPod.name)) var/occupant = "None" var/occupant2 = "None" if(myPod.occupant) diff --git a/code/game/mecha/mecha_control_console.dm b/code/game/mecha/mecha_control_console.dm index fb29242fd70..0d0c6b255f3 100644 --- a/code/game/mecha/mecha_control_console.dm +++ b/code/game/mecha/mecha_control_console.dm @@ -18,12 +18,13 @@ /obj/machinery/computer/mecha/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) var/data[0] - + data["screen"] = screen if(screen == 0) var/list/mechas[0] for(var/obj/item/mecha_parts/mecha_tracking/TR in world) var/answer = TR.get_mecha_info() - mechas.Add(list(answer)) + if(answer) + mechas[++mechas.len] = answer data["mechas"] = mechas if(screen == 1) data["log"] = stored_data @@ -31,7 +32,7 @@ ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open) if (!ui) - ui = new(user, src, ui_key, "exosuit_control.tmpl", "Exosuit Control Console", 400, 500) + ui = new(user, src, ui_key, "exosuit_control.tmpl", "Exosuit Control Console", 420, 500) ui.set_initial_data(data) ui.open() @@ -79,17 +80,23 @@ var/obj/mecha/M = src.loc var/list/answer[0] answer["reference"] = "\ref[src]" - answer["name"] = sanitize(M.name) - answer["charge"] = M.get_charge() - answer["integrity"] = "[M.health/initial(M.health)*100]%" - answer["airtank"] = "[M.return_pressure()]kPa" + answer["name"] = html_encode(sanitize(M.name)) // Has to be encoded to prevent NanoUI from blanking - JavaScript decodes it in the .tmpl + if(M.cell) + answer["cell"] = 1 + answer["cell_capacity"] = M.cell.maxcharge + answer["cell_current"] = M.get_charge() + answer["cell_percentage"] = round(M.cell.percent()) + else + answer["cell"] = 0 + answer["integrity"] = M.health/initial(M.health)*100 + answer["airtank"] = M.return_pressure() answer["pilot"] = "[M.occupant||"None"]" answer["location"] = "[sanitize(get_area(M))||"Unknown"]" answer["equipment"] = "[M.selected||"None"]" - if(istype(M, /obj/mecha/working/ripley)) var/obj/mecha/working/ripley/RM = M - answer["cargo"] = "[RM.cargo.len/RM.cargo_capacity*100]%" + answer["hascargo"] = 1 + answer["cargo"] = RM.cargo.len/RM.cargo_capacity*100 return answer diff --git a/nano/templates/exosuit_control.tmpl b/nano/templates/exosuit_control.tmpl index 30d74d25844..98588c89e9a 100644 --- a/nano/templates/exosuit_control.tmpl +++ b/nano/templates/exosuit_control.tmpl @@ -1 +1,87 @@ -test \ No newline at end of file + + +{{if data.screen == 0}} + {{for data.mechas}} +
+
+

{{:value.name}}

+

Information

+
+ Pilot: +
+
+ {{:value.pilot}} +
+
+ Integrity: +
+
+ {{:value.integrity}}% +
+
+ Location: +
+
+ {{:value.location}} +
+
+ Airtank: +
+
+ {{:value.airtank}}kPa +
+
+ Active Equipment: +
+
+ {{:value.equipment}} +
+ {{if value.hascargo}} +
+ Cargo Used: +
+
+ {{:value.cargo}}% +
+ {{/if}} + +

Power Cell

+ {{if value.cell}} + + Rating: + + + {{:value.cell_capacity}} + + {{:helper.displayBar(value.cell_percentage, 0, 100, (value.cell_percentage >= 50) ? 'good' : (value.cell_percentage >= 25) ? 'average' : 'bad')}} + {{:value.cell_percentage}}% + {{else}} + Not Installed + {{:helper.displayBar(100, 0, 100, 'bad')}} + {{/if}} + + +

Actions

+ {{:helper.link('Send Message', 'mail-closed', {'send_message' : value.reference})}} + {{:helper.link('Exosuit Log', 'search', {'get_log' : value.reference})}} + {{:helper.link('EMP Pulse', 'alert', {'shock' : value.reference}, null, 'redButton')}} +
+ {{empty}} +
+

No mecha trackers were found.

+
+ {{/for}} +{{else}} +
+ {{:helper.link('Return', 'close', {'return' : 1})}} +
+ {{:data.log}} +{{/if}} \ No newline at end of file diff --git a/nano/templates/pod_tracking.tmpl b/nano/templates/pod_tracking.tmpl index 71d96c312cb..4fd68df82f9 100644 --- a/nano/templates/pod_tracking.tmpl +++ b/nano/templates/pod_tracking.tmpl @@ -16,17 +16,18 @@ h3 {
{{:helper.link('Refresh', 'refresh', {'refresh' : 1})}}

Pods

{{for data.pods}} -
-
-

{{:value.name}}

-
Pilot
-
{{:value.occupant}}
-
Passenger
-
{{:value.occupant2}}
-
Coordinates
-
{{:value.x}}, {{:value.y}}, {{:value.z}}
-
+
+
+

{{:value.name}}

+
Pilot
+
{{:value.occupant}}
+
Passenger
+
{{:value.occupant2}}
+
Coordinates
+
{{:value.x}}, {{:value.y}}, {{:value.z}}
{{empty}} -
No pod trackers detected!
+
+

No pod trackers were found.

+
{{/for}} \ No newline at end of file diff --git a/nano/templates/robot_control.tmpl b/nano/templates/robot_control.tmpl index 61c5464ad2f..2e5e892e0e8 100644 --- a/nano/templates/robot_control.tmpl +++ b/nano/templates/robot_control.tmpl @@ -64,11 +64,10 @@ {{:value.cell_capacity}} {{:helper.displayBar(value.cell_percentage, 0, 100, (value.cell_percentage >= 50) ? 'good' : (value.cell_percentage >= 25) ? 'average' : 'bad')}} - {{:value.cell_percentage}} % + {{:value.cell_percentage}}% {{else}} Not Installed {{:helper.displayBar(100, 0, 100, 'bad')}} - N/A % {{/if}}

Actions

{{if value.status == "Operational"}} From 9bab32fec4ee0d618f18347ff151879d795c509d Mon Sep 17 00:00:00 2001 From: Markolie Date: Wed, 19 Aug 2015 21:58:56 +0200 Subject: [PATCH 3/7] Better escape solution --- code/game/machinery/computer/pod_tracking_console.dm | 1 + code/game/mecha/mecha_control_console.dm | 8 +++++--- nano/templates/exosuit_control.tmpl | 8 +------- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/code/game/machinery/computer/pod_tracking_console.dm b/code/game/machinery/computer/pod_tracking_console.dm index 033a77801b4..060b58eda90 100644 --- a/code/game/machinery/computer/pod_tracking_console.dm +++ b/code/game/machinery/computer/pod_tracking_console.dm @@ -37,6 +37,7 @@ ui = new(user, src, ui_key, "pod_tracking.tmpl", "Pod Tracking Console", 400, 500) ui.set_initial_data(data) ui.open() + ui.set_auto_update(1) /obj/machinery/computer/podtracker/Topic(href, href_list) if(..()) diff --git a/code/game/mecha/mecha_control_console.dm b/code/game/mecha/mecha_control_console.dm index 0d0c6b255f3..84c896a0ab3 100644 --- a/code/game/mecha/mecha_control_console.dm +++ b/code/game/mecha/mecha_control_console.dm @@ -35,6 +35,7 @@ ui = new(user, src, ui_key, "exosuit_control.tmpl", "Exosuit Control Console", 420, 500) ui.set_initial_data(data) ui.open() + ui.set_auto_update(1) /obj/machinery/computer/mecha/Topic(href, href_list) if(..()) @@ -80,7 +81,7 @@ var/obj/mecha/M = src.loc var/list/answer[0] answer["reference"] = "\ref[src]" - answer["name"] = html_encode(sanitize(M.name)) // Has to be encoded to prevent NanoUI from blanking - JavaScript decodes it in the .tmpl + answer["name"] = sanitize(replacetext(M.name,"\"","")) // Apostrophes break JSON if(M.cell) answer["cell"] = 1 answer["cell_capacity"] = M.cell.maxcharge @@ -90,8 +91,9 @@ answer["cell"] = 0 answer["integrity"] = M.health/initial(M.health)*100 answer["airtank"] = M.return_pressure() - answer["pilot"] = "[M.occupant||"None"]" - answer["location"] = "[sanitize(get_area(M))||"Unknown"]" + answer["pilot"] = "[M.occupant||"None"]" + var/area/area = get_area(M) + answer["location"] = "[sanitize(area.name)||"Unknown"]" answer["equipment"] = "[M.selected||"None"]" if(istype(M, /obj/mecha/working/ripley)) var/obj/mecha/working/ripley/RM = M diff --git a/nano/templates/exosuit_control.tmpl b/nano/templates/exosuit_control.tmpl index 98588c89e9a..c3b88d50f54 100644 --- a/nano/templates/exosuit_control.tmpl +++ b/nano/templates/exosuit_control.tmpl @@ -2,17 +2,11 @@ Title: Exosuit Control Console Used In File(s): \code\game\mecha\mecha_control_console.dm --> - {{if data.screen == 0}} {{for data.mechas}}
-

{{:value.name}}

+

{{:value.name}}

Information

Pilot: From 2b5f86e062f71c8f52a8fc36173eb491101cbeee Mon Sep 17 00:00:00 2001 From: Markolie Date: Wed, 19 Aug 2015 22:06:55 +0200 Subject: [PATCH 4/7] Single apostrophe instead of double --- code/game/mecha/mecha_control_console.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/mecha/mecha_control_console.dm b/code/game/mecha/mecha_control_console.dm index 84c896a0ab3..ce44f2e59b1 100644 --- a/code/game/mecha/mecha_control_console.dm +++ b/code/game/mecha/mecha_control_console.dm @@ -81,7 +81,7 @@ var/obj/mecha/M = src.loc var/list/answer[0] answer["reference"] = "\ref[src]" - answer["name"] = sanitize(replacetext(M.name,"\"","")) // Apostrophes break JSON + answer["name"] = sanitize(replacetext(M.name,"\"","'")) // Double apostrophes break JSON if(M.cell) answer["cell"] = 1 answer["cell_capacity"] = M.cell.maxcharge From b6a1e52e08e62e93d854d3056e24d009e36a51a4 Mon Sep 17 00:00:00 2001 From: Markolie Date: Wed, 19 Aug 2015 22:22:51 +0200 Subject: [PATCH 5/7] Hopefully fix uplink crashing --- code/datums/uplink_item.dm | 42 +++++++++++----------- code/game/objects/items/devices/uplinks.dm | 8 ++--- nano/templates/uplink.tmpl | 5 +-- 3 files changed, 23 insertions(+), 32 deletions(-) diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index 7df1764a2a9..2a4a3d3a14b 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -141,7 +141,7 @@ var/list/uplink_items = list() /datum/uplink_item/jobspecific/syndidonk name = "Syndicate Donk Pockets" - desc = "A box of highly specialized donk pockets with a number of regenerative and stimulating chemicals inside of them; the box comes equipped with a self-heating mechanism." + desc = "A box of highly specialized Donk pockets with a number of regenerative and stimulating chemicals inside of them; the box comes equipped with a self-heating mechanism." reference = "SDP" item = /obj/item/weapon/storage/box/syndidonkpockets cost = 2 @@ -162,7 +162,7 @@ var/list/uplink_items = list() /datum/uplink_item/jobspecific/rad_laser name = "Radiation Laser" - desc = "A radiation laser concealed inside of a Health Analyser, After a moderate delay, causes temporary collapse and radiation. Has adjustable controls, but will not function as a regular health analyser, only appears like one. May not function correctly on radiation resistant humanoids!" + desc = "A radiation laser concealed inside of a Health Analyser. After a moderate delay, causes temporary collapse and radiation. Has adjustable controls, but will not function as a regular health analyser, only appears like one. May not function correctly on radiation resistant humanoids!" reference = "RL" item = /obj/item/device/rad_laser cost = 6 @@ -270,7 +270,7 @@ var/list/uplink_items = list() /datum/uplink_item/dangerous/car name = "C-90gl Compact Assault Rifle" - desc = "A fully-loaded Zashchita Industriya toploading bullpup assault rifle that uses 30-round 5.45x39mm magazines with a togglable underslung 40mm grenade launcher." + desc = "A fully-loaded Zashchita Industriya toploading bullpup assault rifle that uses 30-round 5.45x39mm magazines with a toggleable underslung 40mm grenade launcher." reference = "AR" item = /obj/item/weapon/gun/projectile/automatic/c90gl cost = 18 @@ -297,7 +297,7 @@ var/list/uplink_items = list() /datum/uplink_item/dangerous/flamethrower name = "Flamethrower" - desc = "A flamethrower, fueled by a portion of highly flammable biotoxins stolen previously from Nanotrasen stations. Make a statement by roasting the filth in their own greed. Use with caution." + desc = "A flamethrower, fuelled by a portion of highly flammable bio-toxins stolen previously from Nanotrasen stations. Make a statement by roasting the filth in their own greed. Use with caution." reference = "FT" item = /obj/item/weapon/flamethrower/full/tank cost = 11 @@ -306,7 +306,7 @@ var/list/uplink_items = list() /datum/uplink_item/dangerous/sword name = "Energy Sword" - desc = "The esword is an edged weapon with a blade of pure energy. The sword is small enough to be pocketed when inactive. Activating it produces a loud, distinctive noise." + desc = "The energy sword is an edged weapon with a blade of pure energy. The sword is small enough to be pocketed when inactive. Activating it produces a loud, distinctive noise." reference = "ES" item = /obj/item/weapon/melee/energy/sword cost = 8 @@ -329,7 +329,7 @@ var/list/uplink_items = list() /datum/uplink_item/dangerous/tabungrenades name = "Tabun Gas Grenades" - desc = "A box of four (4) grenades filled with tabun, a deadly neurotoxin. Use extreme caution when handling and be sure to vacate the premise after using; ensure communication is maintaind with team to avoid accidental gassings." + desc = "A box of four (4) grenades filled with Tabun, a deadly neurotoxin. Use extreme caution when handling and be sure to vacate the premise after using; ensure communication is maintained with team to avoid accidental gassings." reference = "TGG" item = /obj/item/weapon/storage/box/syndie_kit/tabun cost = 15 @@ -345,7 +345,7 @@ var/list/uplink_items = list() /datum/uplink_item/dangerous/syndicate_minibomb name = "Syndicate Minibomb" - desc = "The Minibomb is a grenade with a five-second fuse." + desc = "The minibomb is a grenade with a five-second fuse." reference = "SMB" item = /obj/item/weapon/grenade/syndieminibomb cost = 6 @@ -362,7 +362,7 @@ var/list/uplink_items = list() /datum/uplink_item/dangerous/mauler name = "Mauler Exosuit" - desc = "A massive and incredibly deadly Syndicate exosuit. Features long-range targetting, thrust vectoring, and deployable smoke." + desc = "A massive and incredibly deadly Syndicate exosuit. Features long-range targeting, thrust vectoring, and deployable smoke." reference = "ME" item = /obj/mecha/combat/marauder/mauler/loaded cost = 140 @@ -453,8 +453,8 @@ var/list/uplink_items = list() gamemodes = list("nuclear emergency") /datum/uplink_item/ammo/machinegun - name = "Box Magazine - 7.62×51mm" - desc = "A 50-round magazine of 7.62x51mm ammunition for use in the L6 SAW machinegun. By the time you need to use this, you'll already be on a pile of corpses." + name = "Box Magazine - 7.62x51mm" + desc = "A 50-round magazine of 7.62x51mm ammunition for use in the L6 SAW machine gun. By the time you need to use this, you'll already be on a pile of corpses." reference = "762" item = /obj/item/ammo_box/magazine/m762 cost = 12 @@ -489,8 +489,6 @@ var/list/uplink_items = list() item = /obj/item/weapon/cartridge/syndicate cost = 6 -// Commented out until a fix can be found, currently doesn't work with the PDA NanoUI and people keep wasting Telecrystals on it. -- Dave - /datum/uplink_item/stealthy_weapons/silencer name = "Universal Suppressor" desc = "Fitted for use on any small caliber weapon with a threaded barrel, this suppressor will silence the shots of the weapon for increased stealth and superior ambushing capability." @@ -528,7 +526,7 @@ var/list/uplink_items = list() /datum/uplink_item/stealthy_tools/chameleon_stamp name = "Chameleon Stamp" - desc = "A stamp that can be activated to imitate an official Nanotrasen Stamp™. The disguised stamp will work exactly like the real stamp and will allow you to forge false documents to gain access or equipment; \ + desc = "A stamp that can be activated to imitate an official Nanotrasen Stamp. The disguised stamp will work exactly like the real stamp and will allow you to forge false documents to gain access or equipment; \ it can also be used in a washing machine to forge clothing." reference = "CHST" item = /obj/item/weapon/stamp/chameleon @@ -551,14 +549,14 @@ var/list/uplink_items = list() /datum/uplink_item/stealthy_tools/voice_changer name = "Voice Changer" - desc = "A conspicuous gas mask that mimics the voice named on your identification card. When no identification is worn, the mask will render your voice unrecognizable." + desc = "A conspicuous gas mask that mimics the voice named on your identification card. When no identification is worn, the mask will render your voice unrecognisable." reference = "VC" item = /obj/item/clothing/mask/gas/voice cost = 5 /datum/uplink_item/stealthy_tools/chameleon_proj name = "Chameleon-Projector" - desc = "Projects an image across a user, disguising them as an object scanned with it, as long as they don't move the projector from their hand. The disguised user cannot run and rojectiles pass over them." + desc = "Projects an image across a user, disguising them as an object scanned with it, as long as they don't move the projector from their hand. The disguised user cannot run and projectiles pass over them." reference = "CP" item = /obj/item/device/chameleon cost = 7 @@ -594,7 +592,7 @@ var/list/uplink_items = list() /datum/uplink_item/device_tools/emag name = "Cryptographic Sequencer" - desc = "The emag is a small card that unlocks hidden functions in electronic devices, subverts intended functions and characteristically breaks security mechanisms." + desc = "The cryptographic sequencer, also known as an emag, is a small card that unlocks hidden functions in electronic devices, subverts intended functions and characteristically breaks security mechanisms." reference = "EMAG" item = /obj/item/weapon/card/emag cost = 6 @@ -609,7 +607,7 @@ var/list/uplink_items = list() /datum/uplink_item/device_tools/medkit name = "Syndicate Combat Medic Kit" - desc = "The syndicate medkit is a suspicious black and red. Included is a combat stimulant injector for rapid healing, a medical hud for quick identification of injured comrades, \ + desc = "The syndicate medkit is a suspicious black and red. Included is a combat stimulant injector for rapid healing, a medical HUD for quick identification of injured comrades, \ and other medical supplies helpful for a medical field operative." reference = "SCMK" item = /obj/item/weapon/storage/firstaid/tactical @@ -632,8 +630,8 @@ var/list/uplink_items = list() /datum/uplink_item/device_tools/hardsuit name = "Blood-red Hardsuit" - desc = "The feared suit of a syndicate nuclear agent. Features slightly better armoring. When the helmet is deployed your identity will be protected. Toggling the suit into combat mode \ - will allow you all the mobility of a loose fitting uniform without sacrificing armoring. Additionally the suit is collapsible, small enough to fit within a backpack. \ + desc = "The feared suit of a syndicate nuclear agent. Features slightly better armor. When the helmet is deployed your identity will be protected. Toggling the suit into combat mode \ + will allow you all the mobility of a loose fitting uniform without sacrificing armor. Additionally the suit is collapsible, small enough to fit within a backpack. \ Nanotrasen crewmembers are trained to report red space suit sightings, these suits in particular are known to drive employees into a panic." reference = "BRHS" item = /obj/item/weapon/storage/box/syndie_kit/hardsuit @@ -641,7 +639,7 @@ var/list/uplink_items = list() /datum/uplink_item/device_tools/thermal name = "Thermal Imaging Glasses" - desc = "These glasses are thermals disguised as engineers' optical meson scanners. They allow you to see organisms through walls by capturing the upper portion of the infrared light spectrum, emitted as heat and light by objects. Hotter objects, such as warm bodies, cybernetic organisms and artificial intelligence cores emit more of this light than cooler objects like walls and airlocks." + desc = "These glasses are thermals disguised as engineers' optical meson scanners. They allow you to see organisms through walls by capturing the upper portion of the infra-red light spectrum, emitted as heat and light by objects. Hotter objects, such as warm bodies, cybernetic organisms and artificial intelligence cores emit more of this light than cooler objects like walls and airlocks." reference = "THIG" item = /obj/item/clothing/glasses/thermal/syndi cost = 6 @@ -680,7 +678,7 @@ var/list/uplink_items = list() /datum/uplink_item/device_tools/plastic_explosives name = "Composition C-4" - desc = "C-4 is plastic explosive of the common variety Composition C. You can use it to breach walls or connect a signaler to its wiring to make it remotely detonable. It has a modifiable timer with a minimum setting of 10 seconds." + desc = "C-4 is plastic explosive of the common variety Composition C. You can use it to breach walls or connect a signaller to its wiring to make it remotely detonable. It has a modifiable timer with a minimum setting of 10 seconds." reference = "C4" item = /obj/item/weapon/c4 cost = 1 @@ -762,7 +760,7 @@ var/list/uplink_items = list() /datum/uplink_item/implants/uplink name = "Uplink Implant" - desc = "An implant injected into the body, and later activated using a bodily gesture to open an uplink with 5 telecrystals. The ability for an agent to open an uplink after their posessions have been stripped from them makes this implant excellent for escaping confinement." + desc = "An implant injected into the body, and later activated using a bodily gesture to open an uplink with 5 telecrystals. The ability for an agent to open an uplink after their possessions have been stripped from them makes this implant excellent for escaping confinement." reference = "UI" item = /obj/item/weapon/implanter/uplink cost = 14 diff --git a/code/game/objects/items/devices/uplinks.dm b/code/game/objects/items/devices/uplinks.dm index 4efc8bdc2ee..28c573be0bb 100644 --- a/code/game/objects/items/devices/uplinks.dm +++ b/code/game/objects/items/devices/uplinks.dm @@ -50,10 +50,10 @@ var/list/world_uplinks = list() job = user.mind.assigned_role var/dat = "[src.welcome]
" - dat += "Tele-Crystals left: [src.uses]
" + dat += "Telecrystals left: [src.uses]
" dat += "
" dat += "Request item:
" - dat += "Each item costs a number of tele-crystals as indicated by the number following their name.
" + dat += "Each item costs a number of telecrystals as indicated by the number following their name.
" var/category_items = 1 for(var/category in ItemsCategory) @@ -262,10 +262,6 @@ var/list/world_uplinks = list() for(var/datum/data/record/L in data_core.general) if(L.fields["id"] == id) nanoui_data["exploit"] = list() // Setting this to equal L.fields passes it's variables that are lists as reference instead of value. - // We trade off being able to automatically add shit for more control over what gets passed to json - // and if it's sanitized for html. - nanoui_data["exploit"]["nanoui_exploit_record"] = html_encode(L.fields["exploit_record"]) // Change stuff into html - nanoui_data["exploit"]["nanoui_exploit_record"] = replacetext(nanoui_data["exploit"]["nanoui_exploit_record"], "\n", "
") // change line breaks into
nanoui_data["exploit"]["name"] = html_encode(L.fields["name"]) nanoui_data["exploit"]["sex"] = html_encode(L.fields["sex"]) nanoui_data["exploit"]["age"] = html_encode(L.fields["age"]) diff --git a/nano/templates/uplink.tmpl b/nano/templates/uplink.tmpl index a5080f05f36..77550917993 100644 --- a/nano/templates/uplink.tmpl +++ b/nano/templates/uplink.tmpl @@ -12,7 +12,7 @@ Used In File(s): \code\game\objects\items\devices\uplinks.dm
{{:helper.link('Request Items', 'gear', {'menu' : 0}, null, 'fixedLeftWider')}} - {{:helper.link(data.descriptions ? 'Hide Descriptions' : 'Show Descriptions', 'gear', {'descriptions' : 1}, null, 'fixedLeftWider')}} + {{:helper.link(data.descriptions ? 'Hide Descriptions' : 'Show Descriptions', 'gear', {'descriptions' : 1}, data.menu == 0 ? '' : 'disabled', 'fixedLeftWider')}} {{:helper.link('Exploitable Information', 'gear', {'menu' : 1}, null, 'fixedLeftWider')}} {{:helper.link('Return', 'arrowreturn-1-w', {'return' : 1}, null, 'fixedLeft')}} {{:helper.link('Close', 'gear', {'lock' : "1"}, null, 'fixedLeft')}} @@ -80,9 +80,6 @@ Used In File(s): \code\game\objects\items\devices\uplinks.dm Age: {{:data.exploit.age}}
Rank: {{:data.exploit.rank}}
Fingerprint: {{:data.exploit.fingerprint}}
- -
Acquired Information:
- Notes:
{{:data.exploit.nanoui_exploit_record}}

{{else}} No exploitative information acquired! From 4d21896e9809bb1ed13381e49ba11df458260591 Mon Sep 17 00:00:00 2001 From: Markolie Date: Wed, 19 Aug 2015 22:32:52 +0200 Subject: [PATCH 6/7] Fix cargo computer invalid request bug --- code/game/supplyshuttle.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/game/supplyshuttle.dm b/code/game/supplyshuttle.dm index d40539cdbf7..847c4179d8f 100644 --- a/code/game/supplyshuttle.dm +++ b/code/game/supplyshuttle.dm @@ -676,11 +676,10 @@ var/list/mechtoys = list( supply_controller.points -= P.cost supply_controller.shoppinglist += O temp = "Thanks for your order.
" - temp += "
Back Main Menu" else temp = "Not enough supply points.
" - temp += "
Back Main Menu" break + temp += "
Back Main Menu" else if (href_list["vieworders"]) temp = "Current approved orders:

" From 52a99468f124a0ed30bffd76602c5581f57e2540 Mon Sep 17 00:00:00 2001 From: Markolie Date: Thu, 20 Aug 2015 00:59:53 +0200 Subject: [PATCH 7/7] Remove stray light switch in mime's office --- _maps/map_files/cyberiad/cyberiad.dmm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm index e24dc3825bc..62d2c9ec126 100644 --- a/_maps/map_files/cyberiad/cyberiad.dmm +++ b/_maps/map_files/cyberiad/cyberiad.dmm @@ -1337,7 +1337,7 @@ "azK" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/crew_quarters/fitness) "azL" = (/turf/simulated/wall,/area/mimeoffice) "azM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/spray/waterflower,/turf/simulated/floor/wood,/area/mimeoffice) -"azN" = (/obj/structure/table/woodentable,/obj/item/weapon/pen/red{pixel_x = 2; pixel_y = 6},/obj/item/weapon/paper_bin,/obj/item/toy/crayon/mime,/obj/machinery/light_switch{name = "light switch "; dir = 2; pixel_x = 0; pixel_y = -22},/turf/simulated/floor/wood,/area/mimeoffice) +"azN" = (/obj/structure/table/woodentable,/obj/item/weapon/pen/red{pixel_x = 2; pixel_y = 6},/obj/item/weapon/paper_bin,/obj/item/toy/crayon/mime,/turf/simulated/floor/wood,/area/mimeoffice) "azO" = (/obj/machinery/camera{c_tag = "Magistrate's Office"; dir = 4; network = list("SS13")},/turf/simulated/floor/carpet,/area/magistrateoffice) "azP" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/carpet,/area/magistrateoffice) "azQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/magistrateoffice)