Cleanup /invincible.

This commit is contained in:
UnknownShadow200 2016-06-05 00:16:40 +10:00
parent e95cd2acac
commit d34db5c7ac
2 changed files with 38 additions and 58 deletions

View File

@ -102,7 +102,7 @@ namespace MCGalaxy.Commands {
public override void Help(Player p) {
Player.Message(p, "%T/awards [player] %H- Gives a list of awards that player has.");
Player.Message(p, "$HIf [player] is not given, lists all awards the server has.");
Player.Message(p, "%HIf [player] is not given, lists all awards the server has.");
Player.Message(p, "%HSpecify 1/2/3/... after to get an ordered list.");
}
}

View File

@ -16,10 +16,8 @@
permissions and limitations under the Licenses.
*/
using System;
namespace MCGalaxy.Commands
{
public sealed class CmdInvincible : Command
{
namespace MCGalaxy.Commands {
public sealed class CmdInvincible : Command {
public override string name { get { return "invincible"; } }
public override string shortcut { get { return "inv"; } }
public override string type { get { return CommandTypes.Other; } }
@ -27,50 +25,32 @@ namespace MCGalaxy.Commands
public override LevelPermission defaultRank { get { return LevelPermission.Operator; } }
public CmdInvincible() { }
public override void Use(Player p, string message)
{
public override void Use(Player p, string message) {
Player who = message == "" ? p : PlayerInfo.FindOrShowMatches(p, message);
if (who == null) return;
if (p != null && who.group.Permission > p.group.Permission) {
MessageTooHighRank(p, "toggle invinciblity", true); return;
}
if (who.invincible)
{
who.invincible = false;
if(p != null && who == p)
{
Player.Message( p, "You are no longer invincible.");
}
else
{
Player.Message(p, who.ColoredName + " %Sis no longer invincible.");
who.invincible = !who.invincible;
ShowPlayerMessage(p, who);
}
if (Server.cheapMessage && !who.hidden)
Player.SendChatFrom(who, who.ColoredName + " %Shas stopped being immortal", false);
}
else
{
static void ShowPlayerMessage(Player p, Player who) {
string msg = who.invincible ? "now invincible" : "no longer invincible";
if (p != null && who == p)
{
Player.Message( p, "You are now invincible.");
}
Player.Message(p, "You are {0}", msg);
else
{
Player.Message( p, who.ColoredName + " %Sis now invincible.");
}
who.invincible = true;
Player.Message(p, "{0} %Sis {1}.", who.ColoredName, msg);
string globalMsg = who.invincible ? Server.cheapMessageGiven : "has stopped being immortal";
if (Server.cheapMessage && !who.hidden)
Player.SendChatFrom(who, who.ColoredName + " %S" + Server.cheapMessageGiven, false);
Player.SendChatFrom(who, who.ColoredName + " %S" + globalMsg, false);
}
}
public override void Help(Player p)
{
public override void Help(Player p) {
Player.Message(p, "/invincible [name] - Turns invincible mode on/off.");
Player.Message(p, "If [name] is given, that player's invincibility is toggled");
Player.Message(p, "/inv = Shortcut.");
}
}
}