add colours to /w, /wallow, and /r

and various minor improvements
This commit is contained in:
stacey 2021-08-06 16:09:36 -04:00
parent 9389be1611
commit 45e1e4288a

View file

@ -582,11 +582,11 @@ namespace TShockAPI
{ {
HelpText = "Teleports you to a warp point or manages warps." HelpText = "Teleports you to a warp point or manages warps."
}); });
add(new Command(Permissions.whisper, Whisper, "whisper", "w", "tell") add(new Command(Permissions.whisper, Whisper, "whisper", "w", "tell", "pm", "dm")
{ {
HelpText = "Sends a PM to a player." HelpText = "Sends a PM to a player."
}); });
add(new Command(Permissions.whisper, Wallow, "wallow") add(new Command(Permissions.whisper, Wallow, "wallow", "wa")
{ {
AllowServer = false, AllowServer = false,
HelpText = "Toggles to either ignore or recieve whispers from other players." HelpText = "Toggles to either ignore or recieve whispers from other players."
@ -5364,13 +5364,15 @@ namespace TShockAPI
{ {
if (args.Parameters.Count < 2) if (args.Parameters.Count < 2)
{ {
args.Player.SendErrorMessage("Invalid syntax! Proper usage: /whisper <player> <text>"); args.Player.SendMessage("Whisper Syntax", Color.White);
args.Player.SendMessage($"{"whisper".Color(Utils.BoldHighlight)} <{"player".Color(Utils.RedHighlight)}> <{"message".Color(Utils.PinkHighlight)}>", Color.White);
args.Player.SendMessage($"Example usage: {"w".Color(Utils.BoldHighlight)} {args.Player.Name.Color(Utils.RedHighlight)} {"We're no strangers to love, you know the rules, and so do I.".Color(Utils.PinkHighlight)}", Color.White);
return; return;
} }
var players = TSPlayer.FindByNameOrID(args.Parameters[0]); var players = TSPlayer.FindByNameOrID(args.Parameters[0]);
if (players.Count == 0) if (players.Count == 0)
{ {
args.Player.SendErrorMessage("Invalid player!"); args.Player.SendErrorMessage($"Could not find any player named \"{args.Parameters[0]}\"");
} }
else if (players.Count > 1) else if (players.Count > 1)
{ {
@ -5383,14 +5385,19 @@ namespace TShockAPI
else else
{ {
var plr = players[0]; var plr = players[0];
if (plr == args.Player)
{
args.Player.SendErrorMessage("You cannot whisper to yourself.");
return;
}
if (!plr.AcceptingWhispers) if (!plr.AcceptingWhispers)
{ {
args.Player.SendErrorMessage("This player is not accepting whispers."); args.Player.SendErrorMessage($"{plr.Name} is not accepting whispers.");
return; return;
} }
var msg = string.Join(" ", args.Parameters.ToArray(), 1, args.Parameters.Count - 1); var msg = string.Join(" ", args.Parameters.ToArray(), 1, args.Parameters.Count - 1);
plr.SendMessage(String.Format("<From {0}> {1}", args.Player.Name, msg), Color.MediumPurple); plr.SendMessage($"<From {args.Player.Name}> {msg}", Color.MediumPurple);
args.Player.SendMessage(String.Format("<To {0}> {1}", plr.Name, msg), Color.MediumPurple); args.Player.SendMessage($"<To {plr.Name}> {msg}", Color.MediumPurple);
plr.LastWhisper = args.Player; plr.LastWhisper = args.Player;
args.Player.LastWhisper = plr; args.Player.LastWhisper = plr;
} }
@ -5400,7 +5407,7 @@ namespace TShockAPI
{ {
args.Player.AcceptingWhispers = !args.Player.AcceptingWhispers; args.Player.AcceptingWhispers = !args.Player.AcceptingWhispers;
args.Player.SendSuccessMessage($"You {(args.Player.AcceptingWhispers ? "may now" : "will no longer")} receive whispers from other players."); args.Player.SendSuccessMessage($"You {(args.Player.AcceptingWhispers ? "may now" : "will no longer")} receive whispers from other players.");
args.Player.SendSuccessMessage($"You can toggle this with the '{Specifier}wallow' command."); args.Player.SendMessage($"You can use {Specifier.Color(Utils.GreenHighlight)}{"wa".Color(Utils.GreenHighlight)} to toggle this setting.", Color.White);
} }
private static void Reply(CommandArgs args) private static void Reply(CommandArgs args)
@ -5413,20 +5420,21 @@ namespace TShockAPI
{ {
if (!args.Player.LastWhisper.AcceptingWhispers) if (!args.Player.LastWhisper.AcceptingWhispers)
{ {
args.Player.SendErrorMessage("This player is not accepting whispers."); args.Player.SendErrorMessage($"{args.Player.LastWhisper.Name} is not accepting whispers.");
return; return;
} }
var msg = string.Join(" ", args.Parameters); var msg = string.Join(" ", args.Parameters);
args.Player.LastWhisper.SendMessage(String.Format("<From {0}> {1}", args.Player.Name, msg), Color.MediumPurple); args.Player.LastWhisper.SendMessage($"<From {args.Player.Name}> {msg}", Color.MediumPurple);
args.Player.SendMessage(String.Format("<To {0}> {1}", args.Player.LastWhisper.Name, msg), Color.MediumPurple); args.Player.SendMessage($"<To {args.Player.LastWhisper.Name}> {msg}", Color.MediumPurple);
} }
else if (args.Player.LastWhisper != null) else if (args.Player.LastWhisper != null)
{ {
args.Player.SendErrorMessage("The player you're attempting to reply to is no longer online."); args.Player.SendErrorMessage($"{args.Player.LastWhisper.Name} is offline and cannot receive your reply.");
} }
else else
{ {
args.Player.SendErrorMessage("You haven't previously received any whispers. Please use {0}whisper to whisper to other people.", Specifier); args.Player.SendErrorMessage("You haven't previously received any whispers.");
args.Player.SendMessage($"You can use {Specifier.Color(Utils.GreenHighlight)}{"w".Color(Utils.GreenHighlight)} to whisper to other players.", Color.White);
} }
} }