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

@ -1,25 +1,23 @@
/*
Copyright 2011 MCForge
Copyright 2011 MCForge
Dual-licensed under the Educational Community License, Version 2.0 and
the GNU General Public License, Version 3 (the "Licenses"); you may
not use this file except in compliance with the Licenses. You may
obtain a copy of the Licenses at
Dual-licensed under the Educational Community License, Version 2.0 and
the GNU General Public License, Version 3 (the "Licenses"); you may
not use this file except in compliance with the Licenses. You may
obtain a copy of the Licenses at
http://www.opensource.org/licenses/ecl2.php
http://www.gnu.org/licenses/gpl-3.0.html
http://www.opensource.org/licenses/ecl2.php
http://www.gnu.org/licenses/gpl-3.0.html
Unless required by applicable law or agreed to in writing,
software distributed under the Licenses are distributed on an "AS IS"
BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
or implied. See the Licenses for the specific language governing
permissions and limitations under the Licenses.
*/
Unless required by applicable law or agreed to in writing,
software distributed under the Licenses are distributed on an "AS IS"
BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
or implied. See the Licenses for the specific language governing
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)
{
Player who = message == "" ? p : PlayerInfo.FindOrShowMatches(p, message);
if (who == null) return;
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.");
}
if (Server.cheapMessage && !who.hidden)
Player.SendChatFrom(who, who.ColoredName + " %Shas stopped being immortal", false);
}
else
{
if(p != null && who == p)
{
Player.Message( p, "You are now invincible.");
}
else
{
Player.Message( p, who.ColoredName + " %Sis now invincible.");
}
who.invincible = true;
if (Server.cheapMessage && !who.hidden)
Player.SendChatFrom(who, who.ColoredName + " %S" + Server.cheapMessageGiven, false);
}
who.invincible = !who.invincible;
ShowPlayerMessage(p, who);
}
public override void Help(Player p)
{
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 {0}", msg);
else
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" + globalMsg, false);
}
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.");
}
}
}