Fix multitools being unable to set IDs on some devices (github #468)

This commit is contained in:
Rob Nelson
2014-01-30 17:22:08 -08:00
parent 4ca166ea4b
commit a4f2cbc660
6 changed files with 20 additions and 7 deletions

View File

@@ -151,11 +151,10 @@
update_multitool_menu(user)
multitool_menu(var/mob/user,var/obj/item/device/multitool/P)
return {"
<ul>
<li><b>Frequency:</b> <a href="?src=\ref[src];set_freq=-1">[format_frequency(frequency)] GHz</a> (<a href="?src=\ref[src];set_freq=[1439]">Reset</a>)</li>
<li><b>ID Tag:</b> <a href="?src=\ref[src];set_id=1">[id]</a></li>
<li>[format_tag("ID Tag","id","set_id")]</a></li>
</ul>
"}
Topic(href, href_list)

View File

@@ -307,7 +307,7 @@
return {"
<ul>
<li><b>Frequency:</b> <a href="?src=\ref[src];set_freq=-1">[format_frequency(frequency)] GHz</a> (<a href="?src=\ref[src];set_freq=[1439]">Reset</a>)</li>
<li><b>ID Tag:</b> <a href="?src=\ref[src];set_tag=1">[id_tag]</a></li>
<li>[format_tag("ID Tag","id_tag","set_id")]</li>
</ul>
"}

View File

@@ -307,7 +307,7 @@
return {"
<ul>
<li><b>Frequency:</b> <a href="?src=\ref[src];set_freq=-1">[format_frequency(frequency)] GHz</a> (<a href="?src=\ref[src];set_freq=[1439]">Reset</a>)</li>
<li><b>ID Tag:</b> <a href="?src=\ref[src];set_tag=1">[format_tag(id_tag)]</a></li>
<li>[format_tag("ID Tag","id_tag")]</li>
</ul>
"}

View File

@@ -267,7 +267,7 @@ obj/machinery/atmospherics/valve
return {"
<ul>
<li><b>Frequency:</b> <a href="?src=\ref[src];set_freq=-1">[format_frequency(frequency)] GHz</a> (<a href="?src=\ref[src];set_freq=[1439]">Reset</a>)</li>
<li><b>ID Tag:</b> <a href="?src=\ref[src];set_tag=1">[id]</a></li>
<li>[format_tag("ID Tag","id","set_id")]</a></li>
</ul>
"}

View File

@@ -198,6 +198,19 @@ Class Procs:
log_adminghost("[key_name(usr)] screwed with [src] ([href])!")
src.add_fingerprint(usr)
var/obj/item/device/multitool/P = get_multitool(usr)
if(P && istype(P))
if("set_tag" in href_list)
if(!(href_list["set_tag"] in vars))
usr << "\red Something went wrong: Unable to find [href_list["set_tag"]] in vars!"
return 1
var/current_tag = src.vars[href_list["set_tag"]]
var/newid = copytext(reject_bad_text(input(usr, "Specify the new ID tag", src, current_tag) as null|text),1,MAX_MESSAGE_LEN)
if(newid)
vars[href_list["set_tag"]] = newid
initialize()
return 1
return 0
/obj/machinery/attack_ai(mob/user as mob)

View File

@@ -109,11 +109,12 @@
/obj/proc/multitool_menu(var/mob/user,var/obj/item/device/multitool/P)
return "<b>NO MULTITOOL_MENU!</b>"
/obj/proc/format_tag(var/label,var/varname)
/obj/proc/format_tag(var/label,var/varname, var/act="set_tag")
var/value = vars[varname]
if(!value || value=="")
value="-----"
return "<b>[label]:</b> <a href=\"?src=\ref[src];set_tag=[varname]\">[value]</a>"
return "<b>[label]:</b> <a href=\"?src=\ref[src];[act]=[varname]\">[value]</a>"
/obj/proc/update_multitool_menu(mob/user as mob)
var/obj/item/device/multitool/P = get_multitool(user)