/// <summary> Checks if a zone name makes it a special zone, and if so, whether the player can manage the special zone. </summary> public static bool CanManage(string name, Player player, string action) { if (name == null) { return(false); } Rank rank = RankManager.GetMinRankWithAnyPermission(Permission.ManageSpecialZones); if (name.CaselessStarts(Command) || name.CaselessStarts(ConsoleCommand)) { if (player.Info.Rank == RankManager.HighestRank && player.Can(Permission.ManageSpecialZones)) { return(true); } if (rank != null) { player.Message("You must be {0}&S to {1} command zone.", RankManager.HighestRank.ClassyName, action); } else { player.Message("No rank has permission to {0} command zone.", action); } return(false); } else if (IsSpecialAffect(name) || IsSpecialMove(name)) { if (player.Can(Permission.ManageSpecialZones)) { return(true); } if (rank != null) { player.Message("You must be {0}&S to {1} special zone.", rank.ClassyName, action); } else { player.Message("No rank has permission to {0} special zone.", action); } return(false); } return(true); }