/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!"]!"))