Added language argument to broadcast()

Can be any of HUMAN, MONKEY, ALIEN, ROBOT, SLIME or DRONE.
This commit is contained in:
Daniel
2014-09-26 18:46:12 +02:00
parent 7be2bdff8b
commit 34a3d63f9b

View File

@@ -97,6 +97,14 @@
interpreter.SetVar("$sign" , signal)
interpreter.SetVar("$pass" , !(signal.data["reject"])) // if the signal isn't rejected, pass = 1; if the signal IS rejected, pass = 0
//Language bitflags
interpreter.SetVar("HUMAN" , HUMAN)
interpreter.SetVar("MONKEY" , MONKEY)
interpreter.SetVar("ALIEN" , ALIEN)
interpreter.SetVar("ROBOT" , ROBOT)
interpreter.SetVar("SLIME" , SLIME)
interpreter.SetVar("DRONE" , DRONE)
/*
Telecomms procs
@@ -104,14 +112,15 @@
/*
-> Send another signal to a server
@format: broadcast(content, frequency, source, job)
@format: broadcast(content, frequency, source, job, lang)
@param content: Message to broadcast
@param frequency: Frequency to broadcast to
@param source: The name of the source you wish to imitate. Must be stored in stored_names list.
@param job: The name of the job.
@param job: The name of the job.
@param lang: Target language.
*/
interpreter.SetProc("broadcast", "tcombroadcast", signal, list("message", "freq", "source", "job"))
interpreter.SetProc("broadcast", "tcombroadcast", signal, list("message", "freq", "source", "job", "lang"))
/*
-> Send a code signal.
@@ -251,7 +260,7 @@ datum/signal
lastsignalers.Add("[time] <B>:</B> [S.id] sent a signal command, which was triggered by NTSL.<B>:</B> [format_frequency(freq)]/[code]")
proc/tcombroadcast(var/message, var/freq, var/source, var/job)
proc/tcombroadcast(var/message, var/freq, var/source, var/job, var/lang)
var/datum/signal/newsign = new
var/obj/machinery/telecomms/server/S = data["server"]
@@ -274,13 +283,16 @@ datum/signal
if(!job)
job = "Unknown"
if(!lang || lang <= 0)// || !(lang && !(lang & (lang - 1)))) //This last piece of code checks to make sure only one bit is set.
lang = HUMAN
//SAY REWRITE RELATED CODE.
//This code is a little hacky, but it *should* work. Even though it'll result in a virtual speaker referencing another virtual speaker. vOv
var/atom/movable/virtualspeaker/virt = PoolOrNew(/atom/movable/virtualspeaker,null)
virt.name = source
virt.job = job
virt.faketrack = 1
virt.languages = HUMAN
virt.languages = lang
//END SAY REWRITE RELATED CODE.
newsign.data["mob"] = virt