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) { public override void Help(Player p) {
Player.Message(p, "%T/awards [player] %H- Gives a list of awards that player has."); 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."); Player.Message(p, "%HSpecify 1/2/3/... after to get an ordered list.");
} }
} }

View File

@ -14,12 +14,10 @@
BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
or implied. See the Licenses for the specific language governing or implied. See the Licenses for the specific language governing
permissions and limitations under the Licenses. permissions and limitations under the Licenses.
*/ */
using System; using System;
namespace MCGalaxy.Commands namespace MCGalaxy.Commands {
{ public sealed class CmdInvincible : Command {
public sealed class CmdInvincible : Command
{
public override string name { get { return "invincible"; } } public override string name { get { return "invincible"; } }
public override string shortcut { get { return "inv"; } } public override string shortcut { get { return "inv"; } }
public override string type { get { return CommandTypes.Other; } } public override string type { get { return CommandTypes.Other; } }
@ -27,50 +25,32 @@ namespace MCGalaxy.Commands
public override LevelPermission defaultRank { get { return LevelPermission.Operator; } } public override LevelPermission defaultRank { get { return LevelPermission.Operator; } }
public CmdInvincible() { } 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); Player who = message == "" ? p : PlayerInfo.FindOrShowMatches(p, message);
if (who == null) return; if (who == null) return;
if (p != null && who.group.Permission > p.group.Permission) { if (p != null && who.group.Permission > p.group.Permission) {
MessageTooHighRank(p, "toggle invinciblity", true); return; MessageTooHighRank(p, "toggle invinciblity", true); return;
} }
who.invincible = !who.invincible;
if (who.invincible) ShowPlayerMessage(p, who);
{
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.");
} }
if (Server.cheapMessage && !who.hidden) static void ShowPlayerMessage(Player p, Player who) {
Player.SendChatFrom(who, who.ColoredName + " %Shas stopped being immortal", false); string msg = who.invincible ? "now invincible" : "no longer invincible";
} if (p != null && who == p)
Player.Message(p, "You are {0}", msg);
else else
{ Player.Message(p, "{0} %Sis {1}.", who.ColoredName, msg);
if(p != null && who == p)
{ string globalMsg = who.invincible ? Server.cheapMessageGiven : "has stopped being immortal";
Player.Message( p, "You are now invincible.");
}
else
{
Player.Message( p, who.ColoredName + " %Sis now invincible.");
}
who.invincible = true;
if (Server.cheapMessage && !who.hidden) 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, "/invincible [name] - Turns invincible mode on/off.");
Player.Message(p, "If [name] is given, that player's invincibility is toggled"); Player.Message(p, "If [name] is given, that player's invincibility is toggled");
Player.Message(p, "/inv = Shortcut.");
} }
} }
} }