Refactor some commands...

This commit is contained in:
MarioE 2013-10-05 10:46:40 -04:00
parent b0997536d3
commit aa28b84d8c
2 changed files with 514 additions and 503 deletions

View file

@ -800,7 +800,7 @@ namespace TShockAPI
string encrPass = TShock.Utils.HashPassword(args.Parameters[0]); string encrPass = TShock.Utils.HashPassword(args.Parameters[0]);
if (user.Password.ToUpper() == encrPass.ToUpper()) if (user.Password.ToUpper() == encrPass.ToUpper())
{ {
args.Player.SendSuccessMessage("You changed your password to " + args.Parameters[1] + "!"); args.Player.SendSuccessMessage("You changed your password!");
TShock.Users.SetUserPassword(user, args.Parameters[1]); // SetUserPassword will hash it for you. TShock.Users.SetUserPassword(user, args.Parameters[1]); // SetUserPassword will hash it for you.
Log.ConsoleInfo(args.Player.IP + " named " + args.Player.Name + " changed the password of account " + user.Name + "."); Log.ConsoleInfo(args.Player.IP + " named " + args.Player.Name + " changed the password of account " + user.Name + ".");
} }
@ -850,11 +850,11 @@ namespace TShockAPI
if (TShock.Users.GetUserByName(user.Name) == null && user.Name != TSServerPlayer.AccountName) // Cheap way of checking for existance of a user if (TShock.Users.GetUserByName(user.Name) == null && user.Name != TSServerPlayer.AccountName) // Cheap way of checking for existance of a user
{ {
args.Player.SendSuccessMessage("Account " + user.Name + " has been registered."); args.Player.SendSuccessMessage("Account \"{0}\" has been registered.", user.Name);
args.Player.SendSuccessMessage("Your password is " + user.Password); args.Player.SendSuccessMessage("Your password is {0}.", user.Password);
TShock.Users.AddUser(user); TShock.Users.AddUser(user);
TShock.CharacterDB.SeedInitialData(TShock.Users.GetUser(user)); TShock.CharacterDB.SeedInitialData(TShock.Users.GetUser(user));
Log.ConsoleInfo(args.Player.Name + " registered an account: " + user.Name + "."); Log.ConsoleInfo("{0} registered an account: \"{1}\".", args.Player.Name, user.Name);
} }
else else
{ {
@ -2731,27 +2731,27 @@ namespace TShockAPI
return; return;
} }
switch (args.Parameters[0]) switch (args.Parameters[0].ToLower())
{ {
case "day": case "day":
TSPlayer.Server.SetTime(true, 150.0); TSPlayer.Server.SetTime(true, 150.0);
TSPlayer.All.SendInfoMessage(string.Format("{0} set the time to day.", args.Player.Name)); TSPlayer.All.SendInfoMessage("{0} set the time to day.", args.Player.Name);
break; break;
case "night": case "night":
TSPlayer.Server.SetTime(false, 0.0); TSPlayer.Server.SetTime(false, 0.0);
TSPlayer.All.SendInfoMessage(string.Format("{0} set the time to night.", args.Player.Name)); TSPlayer.All.SendInfoMessage("{0} set the time to night.", args.Player.Name);
break; break;
case "dusk": case "dusk":
TSPlayer.Server.SetTime(false, 0.0); TSPlayer.Server.SetTime(false, 0.0);
TSPlayer.All.SendInfoMessage(string.Format("{0} set the time to dusk.", args.Player.Name)); TSPlayer.All.SendInfoMessage("{0} set the time to dusk.", args.Player.Name);
break; break;
case "noon": case "noon":
TSPlayer.Server.SetTime(true, 27000.0); TSPlayer.Server.SetTime(true, 27000.0);
TSPlayer.All.SendInfoMessage(string.Format("{0} set the time to noon.", args.Player.Name)); TSPlayer.All.SendInfoMessage("{0} set the time to noon.", args.Player.Name);
break; break;
case "midnight": case "midnight":
TSPlayer.Server.SetTime(false, 16200.0); TSPlayer.Server.SetTime(false, 16200.0);
TSPlayer.All.SendInfoMessage(string.Format("{0} set the time to midnight.", args.Player.Name)); TSPlayer.All.SendInfoMessage("{0} set the time to midnight.", args.Player.Name);
break; break;
default: default:
args.Player.SendErrorMessage("Invalid syntax! Proper syntax: /time <day/night/dusk/noon/midnight>"); args.Player.SendErrorMessage("Invalid syntax! Proper syntax: /time <day/night/dusk/noon/midnight>");
@ -2767,30 +2767,29 @@ namespace TShockAPI
return; return;
} }
switch (args.Parameters[0]) switch (args.Parameters[0].ToLower())
{ {
case "start": case "start":
Main.StartRain(); Main.StartRain();
TSPlayer.All.SendInfoMessage(string.Format("{0} caused it to rain.", args.Player.Name)); TSPlayer.All.SendInfoMessage("{0} caused it to rain.", args.Player.Name);
break; break;
case "stop": case "stop":
Main.StopRain(); Main.StopRain();
TSPlayer.All.SendInfoMessage(string.Format("{0} ended the downpour.", args.Player.Name)); TSPlayer.All.SendInfoMessage("{0} ended the downpour.", args.Player.Name);
break; break;
} }
} }
private static void Slap(CommandArgs args) private static void Slap(CommandArgs args)
{ {
if (args.Parameters.Count < 1 || args.Parameters.Count > 2) if (args.Parameters.Count < 1 || args.Parameters.Count > 2)
{ {
args.Player.SendErrorMessage("Invalid syntax! Proper syntax: /slap <player> [dmg]"); args.Player.SendErrorMessage("Invalid syntax! Proper syntax: /slap <player> [damage]");
return; return;
} }
if (args.Parameters[0].Length == 0) if (args.Parameters[0].Length == 0)
{ {
args.Player.SendErrorMessage("Missing player name."); args.Player.SendErrorMessage("Invalid player!");
return; return;
} }
@ -2817,9 +2816,8 @@ namespace TShockAPI
damage = TShock.Utils.Clamp(damage, 15, 0); damage = TShock.Utils.Clamp(damage, 15, 0);
} }
plr.DamagePlayer(damage); plr.DamagePlayer(damage);
TSPlayer.All.SendSuccessMessage(string.Format("{0} slapped {1} for {2} damage.", TSPlayer.All.SendInfoMessage("{0} slapped {1} for {2} damage.", args.Player.Name, plr.Name, damage);
args.Player.Name, plr.Name, damage)); Log.Info("{0} slapped {1} for {2} damage.", args.Player.Name, plr.Name, damage);
Log.Info(args.Player.Name + " slapped " + plr.Name + " for " + damage + " damage.");
} }
} }
@ -3185,16 +3183,20 @@ namespace TShockAPI
bool oldWireState = tile.wire(); bool oldWireState = tile.wire();
tile.wire(true); tile.wire(true);
try { try
{
args.Player.SendTileSquare(boundaryPoint.X, boundaryPoint.Y, 1); args.Player.SendTileSquare(boundaryPoint.X, boundaryPoint.Y, 1);
} finally { }
finally
{
tile.wire(oldWireState); tile.wire(oldWireState);
} }
} }
} }
Timer boundaryHideTimer = null; Timer boundaryHideTimer = null;
boundaryHideTimer = new Timer((state) => { boundaryHideTimer = new Timer((state) =>
{
foreach (Point boundaryPoint in Utils.Instance.EnumerateRegionBoundaries(regionArea)) foreach (Point boundaryPoint in Utils.Instance.EnumerateRegionBoundaries(regionArea))
if ((boundaryPoint.X + boundaryPoint.Y & 1) == 0) if ((boundaryPoint.X + boundaryPoint.Y & 1) == 0)
args.Player.SendTileSquare(boundaryPoint.X, boundaryPoint.Y, 1); args.Player.SendTileSquare(boundaryPoint.X, boundaryPoint.Y, 1);
@ -3572,9 +3574,13 @@ namespace TShockAPI
var players = TShock.Utils.FindPlayer(args.Parameters[0]); var players = TShock.Utils.FindPlayer(args.Parameters[0]);
if (players.Count == 0) if (players.Count == 0)
{
args.Player.SendErrorMessage("Invalid player!"); args.Player.SendErrorMessage("Invalid player!");
}
else if (players.Count > 1) else if (players.Count > 1)
{
TShock.Utils.SendMultipleMatchError(args.Player, players.Select(p => p.Name)); TShock.Utils.SendMultipleMatchError(args.Player, players.Select(p => p.Name));
}
else if (players[0].Group.HasPermission(Permissions.mute)) else if (players[0].Group.HasPermission(Permissions.mute))
{ {
args.Player.SendErrorMessage("You cannot mute this player."); args.Player.SendErrorMessage("You cannot mute this player.");
@ -3583,7 +3589,7 @@ namespace TShockAPI
{ {
var plr = players[0]; var plr = players[0];
plr.mute = false; plr.mute = false;
TSPlayer.All.SendInfoMessage(String.Format("{0} has been unmuted by {1}.", plr.Name, args.Player.Name)); TSPlayer.All.SendInfoMessage("{0} has been unmuted by {1}.", plr.Name, args.Player.Name);
} }
else else
{ {
@ -3592,7 +3598,7 @@ namespace TShockAPI
reason = String.Join(" ", args.Parameters.ToArray(), 1, args.Parameters.Count - 1); reason = String.Join(" ", args.Parameters.ToArray(), 1, args.Parameters.Count - 1);
var plr = players[0]; var plr = players[0];
plr.mute = true; plr.mute = true;
TSPlayer.All.SendInfoMessage(String.Format("{0} has been muted by {1} for {2}.", plr.Name, args.Player.Name, reason)); TSPlayer.All.SendInfoMessage("{0} has been muted by {1} for {2}.", plr.Name, args.Player.Name, reason);
} }
} }
@ -3624,13 +3630,15 @@ namespace TShockAPI
TShock.Utils.SendMultipleMatchError(args.Player, players.Select(p => p.Name)); TShock.Utils.SendMultipleMatchError(args.Player, players.Select(p => p.Name));
} }
else if (args.Player.mute) else if (args.Player.mute)
{
args.Player.SendErrorMessage("You are muted."); args.Player.SendErrorMessage("You are muted.");
}
else else
{ {
var plr = players[0]; var plr = players[0];
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("(Whisper From)" + "<" + args.Player.Name + ">" + msg, Color.MediumPurple); plr.SendMessage(String.Format("(Whisper From) <{0}> {1}", args.Player.Name, msg), Color.MediumPurple);
args.Player.SendMessage("(Whisper To)" + "<" + plr.Name + ">" + msg, Color.MediumPurple); args.Player.SendMessage(String.Format("(Whisper To) <{0}> {1}", plr.Name, msg), Color.MediumPurple);
plr.LastWhisper = args.Player; plr.LastWhisper = args.Player;
args.Player.LastWhisper = plr; args.Player.LastWhisper = plr;
} }
@ -3639,16 +3647,19 @@ namespace TShockAPI
private static void Reply(CommandArgs args) private static void Reply(CommandArgs args)
{ {
if (args.Player.mute) if (args.Player.mute)
{
args.Player.SendErrorMessage("You are muted."); args.Player.SendErrorMessage("You are muted.");
}
else if (args.Player.LastWhisper != null) else if (args.Player.LastWhisper != null)
{ {
var msg = string.Join(" ", args.Parameters); var msg = string.Join(" ", args.Parameters);
args.Player.LastWhisper.SendMessage("(Whisper From)" + "<" + args.Player.Name + ">" + msg, Color.MediumPurple); args.Player.LastWhisper.SendMessage(String.Format("(Whisper From) <{0}> {1}", args.Player.Name, msg), Color.MediumPurple);
args.Player.SendMessage("(Whisper To)" + "<" + args.Player.LastWhisper.Name + ">" + msg, Color.MediumPurple); args.Player.SendMessage(String.Format("(Whisper To) <{0}> {1}", args.Player.LastWhisper.Name, msg) Color.MediumPurple);
} }
else else
args.Player.SendErrorMessage( {
"You haven't previously received any whispers. Please use /whisper to whisper to other people."); args.Player.SendErrorMessage("You haven't previously received any whispers. Please use /whisper to whisper to other people.");
}
} }
private static void Annoy(CommandArgs args) private static void Annoy(CommandArgs args)

View file

@ -78,7 +78,7 @@ namespace TShockAPI
/// </summary> /// </summary>
/// <param name="format">The format of the message to be written.</param> /// <param name="format">The format of the message to be written.</param>
/// <param name="args">The format arguments.</param> /// <param name="args">The format arguments.</param>
public static void Data(String format, params String[] args) public static void Data(string format, params object[] args)
{ {
Data(String.Format(format, args)); Data(String.Format(format, args));
} }
@ -97,7 +97,7 @@ namespace TShockAPI
/// </summary> /// </summary>
/// <param name="format">The format of the message to be written.</param> /// <param name="format">The format of the message to be written.</param>
/// <param name="args">The format arguments.</param> /// <param name="args">The format arguments.</param>
public static void Error(String format, params String[] args) public static void Error(string format, params object[] args)
{ {
Error(String.Format(format, args)); Error(String.Format(format, args));
} }
@ -119,7 +119,7 @@ namespace TShockAPI
/// </summary> /// </summary>
/// <param name="format">The format of the message to be written.</param> /// <param name="format">The format of the message to be written.</param>
/// <param name="args">The format arguments.</param> /// <param name="args">The format arguments.</param>
public static void ConsoleError(String format, params String[] args) public static void ConsoleError(string format, params object[] args)
{ {
ConsoleError(String.Format(format, args)); ConsoleError(String.Format(format, args));
} }
@ -138,7 +138,7 @@ namespace TShockAPI
/// </summary> /// </summary>
/// <param name="format">The format of the message to be written.</param> /// <param name="format">The format of the message to be written.</param>
/// <param name="args">The format arguments.</param> /// <param name="args">The format arguments.</param>
public static void Warn(String format, params String[] args) public static void Warn(string format, params object[] args)
{ {
Warn(String.Format(format, args)); Warn(String.Format(format, args));
} }
@ -157,7 +157,7 @@ namespace TShockAPI
/// </summary> /// </summary>
/// <param name="format">The format of the message to be written.</param> /// <param name="format">The format of the message to be written.</param>
/// <param name="args">The format arguments.</param> /// <param name="args">The format arguments.</param>
public static void Info(String format, params String[] args) public static void Info(string format, params object[] args)
{ {
Info(String.Format(format, args)); Info(String.Format(format, args));
} }
@ -179,7 +179,7 @@ namespace TShockAPI
/// </summary> /// </summary>
/// <param name="format">The format of the message to be written.</param> /// <param name="format">The format of the message to be written.</param>
/// <param name="args">The format arguments.</param> /// <param name="args">The format arguments.</param>
public static void ConsoleInfo(String format, params String[] args) public static void ConsoleInfo(string format, params object[] args)
{ {
ConsoleInfo(String.Format(format, args)); ConsoleInfo(String.Format(format, args));
} }
@ -198,7 +198,7 @@ namespace TShockAPI
/// </summary> /// </summary>
/// <param name="format">The format of the message to be written.</param> /// <param name="format">The format of the message to be written.</param>
/// <param name="args">The format arguments.</param> /// <param name="args">The format arguments.</param>
public static void Debug(String format, params String[] args) public static void Debug(string format, params object[] args)
{ {
Debug(String.Format(format, args)); Debug(String.Format(format, args));
} }