Merge pull request #14306 from MrStonedOne/patch-114

Makes pda cartridges use proper type safety.
This commit is contained in:
tkdrg
2016-01-05 05:21:51 -03:00

View File

@@ -241,11 +241,12 @@
/obj/item/weapon/cartridge/proc/print_to_host(text) /obj/item/weapon/cartridge/proc/print_to_host(text)
if (!istype(loc, /obj/item/device/pda)) if (!istype(loc, /obj/item/device/pda))
return return
loc:cart = text var/obj/item/device/pda/P = loc
P.cart = text
for (var/mob/M in viewers(1, loc.loc)) for (var/mob/M in viewers(1, loc.loc))
if (M.client && M.machine == loc) if (M.client && M.machine == loc)
loc:attack_self(M) P.attack_self(M)
return return
@@ -273,6 +274,7 @@
/obj/item/weapon/cartridge/proc/generate_menu(mob/user) /obj/item/weapon/cartridge/proc/generate_menu(mob/user)
switch(mode) switch(mode)
if(40) //signaller if(40) //signaller
var/obj/item/radio/integrated/signal/S = radio
menu = "<h4><img src=pda_signaler.png> Remote Signaling System</h4>" menu = "<h4><img src=pda_signaler.png> Remote Signaling System</h4>"
menu += {" menu += {"
@@ -280,14 +282,14 @@
Frequency: Frequency:
<a href='byond://?src=\ref[src];choice=Signal Frequency;sfreq=-10'>-</a> <a href='byond://?src=\ref[src];choice=Signal Frequency;sfreq=-10'>-</a>
<a href='byond://?src=\ref[src];choice=Signal Frequency;sfreq=-2'>-</a> <a href='byond://?src=\ref[src];choice=Signal Frequency;sfreq=-2'>-</a>
[format_frequency(radio:frequency)] [format_frequency(S.frequency)]
<a href='byond://?src=\ref[src];choice=Signal Frequency;sfreq=2'>+</a> <a href='byond://?src=\ref[src];choice=Signal Frequency;sfreq=2'>+</a>
<a href='byond://?src=\ref[src];choice=Signal Frequency;sfreq=10'>+</a><br> <a href='byond://?src=\ref[src];choice=Signal Frequency;sfreq=10'>+</a><br>
<br> <br>
Code: Code:
<a href='byond://?src=\ref[src];choice=Signal Code;scode=-5'>-</a> <a href='byond://?src=\ref[src];choice=Signal Code;scode=-5'>-</a>
<a href='byond://?src=\ref[src];choice=Signal Code;scode=-1'>-</a> <a href='byond://?src=\ref[src];choice=Signal Code;scode=-1'>-</a>
[radio:code] [S.code]
<a href='byond://?src=\ref[src];choice=Signal Code;scode=1'>+</a> <a href='byond://?src=\ref[src];choice=Signal Code;scode=1'>+</a>
<a href='byond://?src=\ref[src];choice=Signal Code;scode=5'>+</a><br>"} <a href='byond://?src=\ref[src];choice=Signal Code;scode=5'>+</a><br>"}
if (41) //crew manifest if (41) //crew manifest
@@ -611,7 +613,7 @@ Code:
active1 = find_record("id", href_list["target"], data_core.general) active1 = find_record("id", href_list["target"], data_core.general)
if(active1) if(active1)
active2 = find_record("id", href_list["target"], data_core.medical) active2 = find_record("id", href_list["target"], data_core.medical)
loc:mode = 441 pda.mode = 441
mode = 441 mode = 441
if(!active2) if(!active2)
active1 = null active1 = null
@@ -620,25 +622,28 @@ Code:
active1 = find_record("id", href_list["target"], data_core.general) active1 = find_record("id", href_list["target"], data_core.general)
if(active1) if(active1)
active3 = find_record("id", href_list["target"], data_core.security) active3 = find_record("id", href_list["target"], data_core.security)
loc:mode = 451 pda.mode = 451
mode = 451 mode = 451
if(!active3) if(!active3)
active1 = null active1 = null
if("Send Signal") if("Send Signal")
spawn( 0 ) spawn( 0 )
radio:send_signal("ACTIVATE") var/obj/item/radio/integrated/signal/S = radio
S.send_signal("ACTIVATE")
return return
if("Signal Frequency") if("Signal Frequency")
var/new_frequency = sanitize_frequency(radio:frequency + text2num(href_list["sfreq"])) var/obj/item/radio/integrated/signal/S = radio
radio:set_frequency(new_frequency) var/new_frequency = sanitize_frequency(S.frequency + text2num(href_list["sfreq"]))
S.set_frequency(new_frequency)
if("Signal Code") if("Signal Code")
radio:code += text2num(href_list["scode"]) var/obj/item/radio/integrated/signal/S = radio
radio:code = round(radio:code) S.code += text2num(href_list["scode"])
radio:code = min(100, radio:code) S.code = round(S.code)
radio:code = max(1, radio:code) S.code = min(100, S.code)
S.code = max(1, S.code)
if("Status") if("Status")
switch(href_list["statdisp"]) switch(href_list["statdisp"])
@@ -657,7 +662,7 @@ Code:
if("Power Select") if("Power Select")
var/pnum = text2num(href_list["target"]) var/pnum = text2num(href_list["target"])
powmonitor = powermonitors[pnum] powmonitor = powermonitors[pnum]
loc:mode = 433 pda.mode = 433
mode = 433 mode = 433
if("Supply Orders") if("Supply Orders")