// Function from file: broadcaster.dm public override void receive_information(Signal signal = null, Obj_Machinery_Telecomms machine_from = null) { dynamic original = null; string signal_message = null; if (Lang13.Bool(signal.data["reject"])) { return; } if (Lang13.Bool(signal.data["message"])) { signal.data["done"] = 1; original = signal.data["original"]; if (Lang13.Bool(original)) { original.data["done"] = 1; original.data["compression"] = signal.data["compression"]; original.data["level"] = signal.data["level"]; } signal_message = "" + signal.frequency + ":" + signal.data["message"] + ":" + signal.data["realname"]; if (GlobalVars.recentmessages.Contains(signal_message)) { return; } GlobalVars.recentmessages.Add(signal_message); if (Convert.ToDouble(signal.data["slow"]) > 0) { Task13.Sleep(Convert.ToInt32(signal.data["slow"])); } signal.data["level"] |= this.listening_level; if (Lang13.Bool(signal.data["type"]) == false) { GlobalFuncs.Broadcast_Message(signal.data["mob"], Lang13.Bool(signal.data["vmask"]), signal.data["radio"], signal.data["message"], signal.data["name"], signal.data["job"], signal.data["realname"], 0, Lang13.Bool(signal.data["compression"]), signal.data["level"], signal.frequency, signal.data["spans"], signal.data["verb_say"], signal.data["verb_ask"], signal.data["verb_exclaim"], signal.data["verb_yell"]); } if (Lang13.Bool(signal.data["type"]) == true) { GlobalFuncs.Broadcast_SimpleMessage(signal.data["name"], signal.frequency, signal.data["message"], null, null, Lang13.Bool(signal.data["compression"]), this.listening_level); } if (Convert.ToInt32(signal.data["type"]) == 2) { GlobalFuncs.Broadcast_Message(signal.data["mob"], Lang13.Bool(signal.data["vmask"]), signal.data["radio"], signal.data["message"], signal.data["name"], signal.data["job"], signal.data["realname"], 4, Lang13.Bool(signal.data["compression"]), signal.data["level"], signal.frequency, signal.data["spans"], signal.data["verb_say"], signal.data["verb_ask"], signal.data["verb_exclaim"], signal.data["verb_yell"]); } if (!GlobalVars.message_delay) { GlobalVars.message_delay = true; Task13.Schedule(10, (Task13.Closure)(() => { GlobalVars.message_delay = false; GlobalVars.recentmessages = new ByTable(); return; })); } Icon13.Flick("broadcaster_send", this); } return; }