Adds announce command for admins, latejoin announcer is now "station"
This commit is contained in:
41
Content.Server/Commands/AnnounceCommand.cs
Normal file
41
Content.Server/Commands/AnnounceCommand.cs
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
using System;
|
||||||
|
using System.Text;
|
||||||
|
using Content.Server.Administration;
|
||||||
|
using Content.Server.Interfaces.Chat;
|
||||||
|
using Content.Shared.Administration;
|
||||||
|
using Robust.Shared.Console;
|
||||||
|
using Robust.Shared.IoC;
|
||||||
|
|
||||||
|
namespace Content.Server.Commands
|
||||||
|
{
|
||||||
|
[AdminCommand(AdminFlags.Fun)]
|
||||||
|
public class AnnounceCommand : IConsoleCommand
|
||||||
|
{
|
||||||
|
public string Command => "announce";
|
||||||
|
public string Description => "Send an in-game announcement.";
|
||||||
|
public string Help => $"{Command} <sender> <message> or {Command} <message> to send announcement as centcomm.";
|
||||||
|
public void Execute(IConsoleShell shell, string argStr, string[] args)
|
||||||
|
{
|
||||||
|
var chat = IoCManager.Resolve<IChatManager>();
|
||||||
|
|
||||||
|
if (args.Length == 0)
|
||||||
|
{
|
||||||
|
shell.WriteError("Not enough arguments! Need at least 1.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (args.Length == 1)
|
||||||
|
{
|
||||||
|
chat.DispatchStationAnnouncement(args[0]);
|
||||||
|
shell.WriteLine("Sent!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (args.Length < 2) return;
|
||||||
|
|
||||||
|
var message = string.Join(' ', new ArraySegment<string>(args, 1, args.Length-1));
|
||||||
|
chat.DispatchStationAnnouncement(message, args[0]);
|
||||||
|
shell.WriteLine("Sent!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -945,7 +945,7 @@ namespace Content.Server.GameTicking
|
|||||||
"latejoin-arrival-announcement",
|
"latejoin-arrival-announcement",
|
||||||
("character", character.Name),
|
("character", character.Name),
|
||||||
("job", CultureInfo.CurrentCulture.TextInfo.ToTitleCase(job.Name))
|
("job", CultureInfo.CurrentCulture.TextInfo.ToTitleCase(job.Name))
|
||||||
));
|
), Loc.GetString("latejoin-arrival-sender"));
|
||||||
}
|
}
|
||||||
|
|
||||||
var mob = _spawnPlayerMob(job, character, lateJoin);
|
var mob = _spawnPlayerMob(job, character, lateJoin);
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
### Automated Centcomm announcements
|
### Automated Centcomm announcements
|
||||||
|
|
||||||
latejoin-arrival-announcement = {$character} ({$job}) has arrived at the station!
|
latejoin-arrival-announcement = {$character} ({$job}) has arrived at the station!
|
||||||
|
|
||||||
|
latejoin-arrival-sender = Station
|
||||||
|
|||||||
@@ -82,6 +82,7 @@
|
|||||||
<s:String x:Key="/Default/FilterSettingsManager/AttributeFilterXml/@EntryValue"><data /></s:String>
|
<s:String x:Key="/Default/FilterSettingsManager/AttributeFilterXml/@EntryValue"><data /></s:String>
|
||||||
<s:String x:Key="/Default/FilterSettingsManager/CoverageFilterXml/@EntryValue"><data><IncludeFilters /><ExcludeFilters><Filter ModuleMask="Lidgren.Network" ModuleVersionMask="*" ClassMask="*" FunctionMask="*" IsEnabled="True" /></ExcludeFilters></data></s:String>
|
<s:String x:Key="/Default/FilterSettingsManager/CoverageFilterXml/@EntryValue"><data><IncludeFilters /><ExcludeFilters><Filter ModuleMask="Lidgren.Network" ModuleVersionMask="*" ClassMask="*" FunctionMask="*" IsEnabled="True" /></ExcludeFilters></data></s:String>
|
||||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=cellslot/@EntryIndexedValue">True</s:Boolean>
|
<s:Boolean x:Key="/Default/UserDictionary/Words/=cellslot/@EntryIndexedValue">True</s:Boolean>
|
||||||
|
<s:Boolean x:Key="/Default/UserDictionary/Words/=centcomm/@EntryIndexedValue">True</s:Boolean>
|
||||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Charlieson/@EntryIndexedValue">True</s:Boolean>
|
<s:Boolean x:Key="/Default/UserDictionary/Words/=Charlieson/@EntryIndexedValue">True</s:Boolean>
|
||||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Clonexadone/@EntryIndexedValue">True</s:Boolean>
|
<s:Boolean x:Key="/Default/UserDictionary/Words/=Clonexadone/@EntryIndexedValue">True</s:Boolean>
|
||||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Collidable/@EntryIndexedValue">True</s:Boolean>
|
<s:Boolean x:Key="/Default/UserDictionary/Words/=Collidable/@EntryIndexedValue">True</s:Boolean>
|
||||||
|
|||||||
Reference in New Issue
Block a user