/datum/pda_app/ringer
name = "Ringer"
desc = "Set the frequency to that of a desk bell to be notified anytime someone presses it."
price = 10
icon = "pda_bell"
var/frequency = 1457 // 1200 < frequency < 1600 , always end with an odd number.
var/status = 1 // 0=off 1=on
/datum/pda_app/ringer/get_dat(var/mob/user)
return {"
Ringer Application
Status: [status ? "On" : "Off"]
Frequency:
-
-
[format_frequency(frequency)]
+
+
"}
/datum/pda_app/ringer/Topic(href, href_list)
if(..())
return
if(href_list["toggleDeskRinger"])
status = !status
if(href_list["ringerFrequency"])
var/i = frequency + text2num(href_list["ringerFrequency"])
if(i < MINIMUM_FREQUENCY)
i = 1201
if(i > MAXIMUM_FREQUENCY)
i = 1599
frequency = i
refresh_pda()
/datum/pda_app/light_upgrade
name = "PDA Flashlight Enhancer"
desc = "Slightly increases the luminosity of your PDA's flashlight."
price = 60
menu = FALSE
icon = "pda_flashlight"
/datum/pda_app/light_upgrade/onInstall()
..()
var/datum/pda_app/light/app = locate(/datum/pda_app/light) in pda_device.applications
if(app)
app.f_lum = 3
if(app.fon)
pda_device.set_light(app.f_lum)
/datum/pda_app/spam_filter
name = "Spam Filter"
desc = "Spam messages won't ring your PDA anymore. Enjoy the quiet."
price = 30
icon = "pda_mail"
var/function = 1 //0=do nothing 1=conceal the spam 2=block the spam
/datum/pda_app/spam_filter/get_dat(var/mob/user)
return {"
Spam Filtering Application
"}
/datum/pda_app/spam_filter/Topic(href, href_list)
if(..())
return
if(href_list["setFilter"])
function = text2num(href_list["filter"])
refresh_pda()
/datum/pda_app/station_map
name = "Station Holo-Map ver. 2.0"
desc = "Displays a holo-map of the station. Useful for finding your way."
price = 50
has_screen = FALSE
icon = "pda_map"
var/obj/item/device/station_map/holomap = null
/datum/pda_app/station_map/onInstall(var/obj/item/device/pda/device)
..()
if (istype(device))
holomap = new(device)
/datum/pda_app/station_map/on_select(var/mob/user)
if (holomap)
holomap.prevent_close = 1
spawn(2)
holomap.prevent_close = 0
if(!holomap.watching_mob)
holomap.attack_self(user)
no_refresh = TRUE
var/turf/T = get_turf(pda_device)
if(!holomap.bogus)
to_chat(user,"[bicon(pda_device)] Current Location: [T.loc.name] ([T.x-WORLD_X_OFFSET[map.zMainStation]],[T.y-WORLD_Y_OFFSET[map.zMainStation]],1)")
/datum/pda_app/station_map/Destroy()
if (holomap)
QDEL_NULL(holomap)
..()
/datum/pda_app/newsreader
name = "Newsreader"
desc = "Access to the latest news from the comfort of your pocket."
price = 40
icon = "pda_news"
var/datum/feed_channel/viewing_channel
var/screen = NEWSREADER_CHANNEL_LIST
/datum/pda_app/newsreader/get_dat(var/mob/user)
var/dat = ""
switch(screen)
if (NEWSREADER_CHANNEL_LIST)
dat += {"Station Feed Channels
"}
if(news_network.wanted_issue)
dat+= "
Read Wanted Issue
"
if(isemptylist(news_network.network_channels))
dat+="
No active channels found..."
else
for(var/datum/feed_channel/channel in news_network.network_channels)
if(channel.is_admin_channel)
dat+="[channel.channel_name]
"
else
dat+="[channel.channel_name] [(channel.censored) ? ("***") : ""]
"
if (NEWSREADER_VIEW_CHANNEL)
dat+="[viewing_channel.channel_name]: \[created by: [viewing_channel.author]\]
"
if(viewing_channel.censored)
dat += {"ATTENTION: This channel has been deemed as threatening to the welfare of the station, and marked with a Nanotrasen D-Notice.
No further feed story additions are allowed while the D-Notice is in effect.
"}
else
if( isemptylist(viewing_channel.messages) )
dat+="No feed messages found in channel...
"
else
var/i = 0
for(var/datum/feed_message/message in viewing_channel.messages)
i++
dat+="[message.headline]
[message.body]
"
if(message.img)
usr << browse_rsc(message.img_pda, "tmp_photo_pda[i].png")
dat+="
"
dat+="\[Story by [message.author]\]
"
dat += {"
Back"}
if (NEWSREADER_WANTED_SHOW)
dat += {"-- STATIONWIDE WANTED ISSUE --
\[Submitted by: [news_network.wanted_issue.backup_author]\]
Criminal: [news_network.wanted_issue.author]
Description: [news_network.wanted_issue.body]
Photo:: "}
if(news_network.wanted_issue.img_pda)
usr << browse_rsc(news_network.wanted_issue.img_pda, "tmp_photow_pda.png")
dat+="
"
else
dat+="None"
dat += {"
Back"}
return dat
/datum/pda_app/newsreader/Topic(href, href_list)
if(..())
return
if(href_list["readChannel"])
var/datum/feed_channel/channel = locate(href_list["readChannel"])
if (channel)
viewing_channel = channel
screen = NEWSREADER_VIEW_CHANNEL
if(href_list["viewChannels"])
screen = NEWSREADER_CHANNEL_LIST
if(href_list["viewWanted"])
screen = NEWSREADER_WANTED_SHOW
if(href_list["showPhotoInfo"])
var/datum/feed_message/FM = locate(href_list["showPhotoInfo"])
if(istype(FM) && FM.img_info)
usr.show_message("[FM.img_info]", MESSAGE_SEE)
refresh_pda()
/datum/pda_app/newsreader/proc/newsAlert(var/channel_name)
var/datum/pda_app/messenger/app = locate(/datum/pda_app/messenger) in pda_device.applications
if(app.silent)
return
var/turf/T = get_turf(pda_device)
playsound(T, 'sound/machines/twobeep.ogg', 50, 1)
for (var/mob/O in hearers(3, T))
O.show_message(text("[bicon(pda_device)] [channel_name ? "Breaking news from [channel_name]" : "Attention! Wanted issue distributed!"]!"))