diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index 66cf3d1c128..5e5f044ac24 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -515,7 +515,7 @@ if("Show Crew Manifest") if(isAI(usr)) var/mob/living/silicon/ai/AI = usr - AI.ai_roster() + AI.subsystem_crew_manifest() if("Show Alerts") if(isAI(usr)) @@ -540,12 +540,14 @@ if("PDA - Send Message") if(isAI(usr)) var/mob/living/silicon/ai/AI = usr - AI.aiPDA.cmd_send_pdamesg(usr) + AI.aiPDA.start_program(AI.aiPDA.find_program(/datum/data/pda/app/messenger)) + AI.aiPDA.cmd_pda_open_ui(usr) if("PDA - Show Message Log") if(isAI(usr)) var/mob/living/silicon/ai/AI = usr - AI.aiPDA.cmd_show_message_log(usr) + AI.aiPDA.start_program(AI.aiPDA.find_program(/datum/data/pda/app/messenger)) + AI.aiPDA.cmd_pda_open_ui(usr) if("Take Image") if(isAI(usr)) diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 4ee1d8935c5..c81d7ddb0d2 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -20,7 +20,6 @@ var/list/ai_verbs_default = list( /mob/living/silicon/ai/proc/ai_call_shuttle, /mob/living/silicon/ai/proc/ai_camera_track, /mob/living/silicon/ai/proc/ai_camera_list, - /mob/living/silicon/ai/proc/ai_roster, /mob/living/silicon/ai/proc/ai_checklaws, /mob/living/silicon/ai/proc/toggle_camera_light, /mob/living/silicon/ai/proc/take_image, @@ -355,12 +354,6 @@ var/list/ai_verbs_default = list( if(new_sprite) selected_sprite = new_sprite updateicon() -// this verb lets the ai see the stations manifest -/mob/living/silicon/ai/proc/ai_roster() - set category = "AI Commands" - set name = "Show Crew Manifest" - show_station_manifest() - /mob/living/silicon/ai/var/message_cooldown = 0 /mob/living/silicon/ai/proc/ai_announcement() set category = "AI Commands" diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index ad1e767acab..7d67ca3cc32 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -349,12 +349,6 @@ updatename() updateicon() -// this verb lets cyborgs see the stations manifest -/mob/living/silicon/robot/verb/cmd_station_manifest() - set category = "Robot Commands" - set name = "Show Crew Manifest" - show_station_manifest() - /mob/living/silicon/robot/proc/self_diagnosis() if(!is_component_functioning("diagnosis unit")) return null diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm index b6cf748fb82..b9c2c60c471 100644 --- a/code/modules/mob/living/silicon/silicon.dm +++ b/code/modules/mob/living/silicon/silicon.dm @@ -153,18 +153,6 @@ show_malf_ai() ..() -// this function displays the stations manifest in a separate window -/mob/living/silicon/proc/show_station_manifest() - var/dat = "
" - if(!data_core) - to_chat(src, "There is no data to form a manifest with. Contact your Nanotrasen administrator.") - return - dat += data_core.get_manifest(1) //The 1 makes it monochrome. - - var/datum/browser/popup = new(src, "Crew Manifest", "Crew Manifest", 370, 420, src) - popup.set_content(dat) - popup.open() - //can't inject synths /mob/living/silicon/can_inject(var/mob/user, var/error_msg) if(error_msg) diff --git a/code/modules/mob/living/silicon/subystems.dm b/code/modules/mob/living/silicon/subystems.dm index be6a68591d8..890f1a8b370 100644 --- a/code/modules/mob/living/silicon/subystems.dm +++ b/code/modules/mob/living/silicon/subystems.dm @@ -2,6 +2,7 @@ var/register_alarms = 1 var/datum/tgui_module/alarm_monitor/all/robot/alarm_monitor var/datum/tgui_module/atmos_control/robot/atmos_control + var/datum/tgui_module/crew_manifest/robot/crew_manifest var/datum/tgui_module/crew_monitor/robot/crew_monitor var/datum/tgui_module/law_manager/robot/law_manager var/datum/tgui_module/power_monitor/robot/power_monitor @@ -10,6 +11,7 @@ /mob/living/silicon var/list/silicon_subsystems = list( /mob/living/silicon/proc/subsystem_alarm_monitor, + /mob/living/silicon/proc/subsystem_crew_manifest, /mob/living/silicon/proc/subsystem_law_manager ) @@ -17,6 +19,7 @@ silicon_subsystems = list( /mob/living/silicon/proc/subsystem_alarm_monitor, /mob/living/silicon/proc/subsystem_atmos_control, + /mob/living/silicon/proc/subsystem_crew_manifest, /mob/living/silicon/proc/subsystem_crew_monitor, /mob/living/silicon/proc/subsystem_law_manager, /mob/living/silicon/proc/subsystem_power_monitor, @@ -30,6 +33,7 @@ /mob/living/silicon/proc/init_subsystems() alarm_monitor = new(src) atmos_control = new(src) + crew_manifest = new(src) crew_monitor = new(src) law_manager = new(src) power_monitor = new(src) @@ -60,6 +64,15 @@ atmos_control.tgui_interact(usr) +/******************** +* Crew Manifest * +********************/ +/mob/living/silicon/proc/subsystem_crew_manifest() + set category = "Subystems" + set name = "Crew Manifest" + + crew_manifest.tgui_interact(usr) + /******************** * Crew Monitor * ********************/ diff --git a/code/modules/pda/ai.dm b/code/modules/pda/ai.dm index b8a0d99a390..9072eef96ee 100644 --- a/code/modules/pda/ai.dm +++ b/code/modules/pda/ai.dm @@ -4,7 +4,12 @@ icon_state = "NONE" ttone = "data" detonate = 0 - + touch_silent = TRUE + programs = list( + new/datum/data/pda/app/main_menu, + new/datum/data/pda/app/notekeeper, + new/datum/data/pda/app/news, + new/datum/data/pda/app/messenger) /obj/item/device/pda/ai/proc/set_name_and_job(newname as text, newjob as text, newrank as null|text) owner = newname @@ -16,70 +21,18 @@ name = newname + " (" + ownjob + ")" //AI verb and proc for sending PDA messages. -/obj/item/device/pda/ai/verb/cmd_send_pdamesg() +/obj/item/device/pda/ai/verb/cmd_pda_open_ui() set category = "AI IM" - set name = "Send PDA Message" + set name = "Use PDA" set src in usr if(!can_use()) return - var/datum/data/pda/app/messenger/M = find_program(/datum/data/pda/app/messenger) - if(!M) - to_chat(usr, "Cannot use messenger!") - var/list/plist = M.available_pdas() - if(plist) - var/c = input(usr, "Please select a PDA") as null|anything in sortList(plist) - if(!c) // if the user hasn't selected a PDA file we can't send a message - return - var/selected = plist[c] - M.create_message(usr, selected) - -/obj/item/device/pda/ai/verb/cmd_toggle_pda_receiver() - set category = "AI IM" - set name = "Toggle Sender/Receiver" - set src in usr - - if(!can_use()) - return - var/datum/data/pda/app/messenger/M = find_program(/datum/data/pda/app/messenger) - M.toff = !M.toff - to_chat(usr, "PDA sender/receiver toggled [(M.toff ? "Off" : "On")]!") - -/obj/item/device/pda/ai/verb/cmd_toggle_pda_silent() - set category = "AI IM" - set name = "Toggle Ringer" - set src in usr - - if(!can_use()) - return - var/datum/data/pda/app/messenger/M = find_program(/datum/data/pda/app/messenger) - M.notify_silent = !M.notify_silent - to_chat(usr, "PDA ringer toggled [(M.notify_silent ? "Off" : "On")]!") - -/obj/item/device/pda/ai/verb/cmd_show_message_log() - set category = "AI IM" - set name = "Show Message Log" - set src in usr - - if(!can_use()) - return - var/datum/data/pda/app/messenger/M = find_program(/datum/data/pda/app/messenger) - if(!M) - to_chat(usr, "Cannot use messenger!") - var/HTML = "AI PDA Message Log" - for(var/index in M.tnote) - if(index["sent"]) - HTML += addtext("→ To ", index["owner"],":
", index["message"], "
") - else - HTML += addtext("← From ", index["owner"],":
", index["message"], "
") - HTML +="" - usr << browse(HTML, "window=log;size=400x444;border=1;can_resize=1;can_close=1;can_minimize=0") - + tgui_interact(usr) /obj/item/device/pda/ai/can_use() return 1 - /obj/item/device/pda/ai/attack_self(mob/user as mob) if ((honkamt > 0) && (prob(60)))//For clown virus. honkamt-- @@ -90,11 +43,6 @@ /obj/item/device/pda/ai/pai ttone = "assist" var/our_owner = null // Ref to a pAI - touch_silent = TRUE - programs = list( - new/datum/data/pda/app/main_menu, - new/datum/data/pda/app/notekeeper, - new/datum/data/pda/app/messenger) /obj/item/device/pda/ai/pai/New(mob/living/silicon/pai/P) if(istype(P)) diff --git a/code/modules/tgui/modules/crew_manifest.dm b/code/modules/tgui/modules/crew_manifest.dm new file mode 100644 index 00000000000..7c4daf7f2a5 --- /dev/null +++ b/code/modules/tgui/modules/crew_manifest.dm @@ -0,0 +1,14 @@ +/datum/tgui_module/crew_manifest + name = "Crew Manifest" + tgui_id = "CrewManifest" + +/datum/tgui_module/crew_manifest/tgui_data(mob/user, datum/tgui/ui, datum/tgui_state/state) + var/list/data = ..() + if(data_core) + data_core.get_manifest_list() + data["manifest"] = PDA_Manifest + return data + +/datum/tgui_module/crew_manifest/robot +/datum/tgui_module/crew_manifest/robot/tgui_state(mob/user) + return GLOB.tgui_self_state \ No newline at end of file diff --git a/nano/templates/manifest.tmpl b/nano/templates/manifest.tmpl deleted file mode 100644 index 00c45a1d5ff..00000000000 --- a/nano/templates/manifest.tmpl +++ /dev/null @@ -1,27 +0,0 @@ - - -

Crew Manifest

- -
-
{{:helper.link('Home', 'home', {'switch_tab' : 1})}}

- -
-
- {{for data.manifest}} - {{if value.elems.length}} - - {{for value.elems :itemValue:itemIndex}} - - - - - - {{/for}} - {{/if}} - {{/for}} -
{{:value.cat}}
{{:itemValue.name}}{{:itemValue.rank}}{{:itemValue.active}}
-
diff --git a/vorestation.dme b/vorestation.dme index 9ef30323bc8..a767b836288 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -3535,6 +3535,7 @@ #include "code\modules\tgui\modules\atmos_control.dm" #include "code\modules\tgui\modules\camera.dm" #include "code\modules\tgui\modules\communications.dm" +#include "code\modules\tgui\modules\crew_manifest.dm" #include "code\modules\tgui\modules\crew_monitor.dm" #include "code\modules\tgui\modules\law_manager.dm" #include "code\modules\tgui\modules\overmap.dm"