adds: gm tool for creating prop pdas convo for events

* Creates new proc in pda/messenger.dm to handle fake conversation creation
* Creates new eventkit datum and holder var on client for remembering identitities
* Creates new proc as eventkit R_FUN verb for managing prop identities
* Creates new proc on pda to create a fake event prop conversation in new eventkit
* Creates new topic in admin/view_variables/topic.dm and helper.dm to call new proc on pda
This commit is contained in:
Runa Dacino
2024-02-08 16:08:18 +01:00
parent 6237d0a6a2
commit e3f3e416b8
7 changed files with 128 additions and 3 deletions
+14 -1
View File
@@ -12,6 +12,7 @@
var/m_hidden = 0 // Is the PDA hidden from the PDA list?
var/active_conversation = null // New variable that allows us to only view a single conversation.
var/list/conversations = list() // For keeping up with who we have PDA messsages from.
var/list/fakepdas = list() //So that fake PDAs show up in conversations for props. Namedlist of "fakeName" = fakeRef
/datum/data/pda/app/messenger/start()
. = ..()
@@ -42,6 +43,8 @@
convopdas.Add(list(list("Name" = "[P]", "Reference" = "\ref[P]", "Detonate" = "[P.detonate]", "inconvo" = "1")))
else
pdas.Add(list(list("Name" = "[P]", "Reference" = "\ref[P]", "Detonate" = "[P.detonate]", "inconvo" = "0")))
for(var/fakeRef in fakepdas)
convopdas.Add(list(list("Name" = "[fakepdas[fakeRef]]", "Reference" = "[fakeRef]", "Detonate" = "0", "inconvo" = "1")))
data["convopdas"] = convopdas
data["pdas"] = pdas
@@ -241,4 +244,14 @@
for(var/obj/item/device/pda/target in targets)
var/datum/data/pda/app/messenger/P = target.find_program(/datum/data/pda/app/messenger)
if(P)
P.receive_message(modified_message, "\ref[M]")
P.receive_message(modified_message, "\ref[M]")
/*
Generalized proc to handle GM fake prop messages, or future fake prop messages from mapping landmarks.
We need a separate proc for this due to the "target" component and creation of a fake conversation entry.
Invoked by /obj/item/device/pda/proc/createPropFakeConversation_admin(var/mob/M)
*/
/datum/data/pda/app/messenger/proc/createFakeMessage(fakeName, fakeRef, fakeJob, sent, message)
receive_message(list("sent" = sent, "owner" = "[fakeName]", "job" = "[fakeJob]", "message" = "[message]", "target" = "[fakeRef]"), fakeRef)
if(!fakepdas[fakeRef])
fakepdas[fakeRef] = fakeName