예제 #1
0
        static string FormatNick(Player p, Player pl)
        {
            string flags  = OnlineListEntry.GetFlags(pl);
            string format = flags.Length > 0 ? "**{0}**_{2}_ (`{1}`)" : "**{0}** (`{1}`)";

            return(string.Format(format, p.FormatNick(pl), pl.level.name, flags));
        }
예제 #2
0
        static void Append(Player target, StringBuilder data, Player p, Group group)
        {
            data.Append(' ');
            if (p.voice)
            {
                data.Append("&f+").Append(group.Color);
            }
            data.Append(Colors.StripUsed(target.FormatNick(p)));
            data.Append(OnlineListEntry.GetFlags(p));

            string lvl = Colors.Strip(p.level.name); // for museums

            data.Append(" (").Append(lvl).Append("),");
        }
예제 #3
0
        static void Output(OnlineListEntry e, Player p, bool showWhenEmpty)
        {
            if (e.players.Count == 0 && !showWhenEmpty)
            {
                return;
            }
            StringBuilder data = new StringBuilder();

            foreach (Player pl in e.players)
            {
                Append(p, data, pl, e.group);
            }

            // remove , from end
            data.Remove(data.Length - 1, 1);
            p.Message(":{0}:{1}", e.group.GetFormattedName(), data);
        }
예제 #4
0
        static string FormatNick(Player p, Player pl)
        {
            string flags = OnlineListEntry.GetFlags(pl);
            string format;

            if (flags.Length > 0)
            {
                format = BOLD + "{0}" + BOLD + ITALIC + "{2}" + ITALIC + " (" + CODE + "{1}" + CODE + ")";
            }
            else
            {
                format = BOLD + "{0}" + BOLD + " (" + CODE + "{1}" + CODE + ")";
            }
            return(string.Format(format, p.FormatNick(pl),
                                 // level name must not have _ escaped as the level name is in a code block -
                                 //  otherwise the escaped "\_" actually shows as "\_" instead of "_"
                                 pl.level.name.Replace('_', UNDERSCORE),
                                 flags));
        }
예제 #5
0
        static void ListOfRank(Player p, string name, List <OnlineListEntry> all)
        {
            Group grp = Matcher.FindRanks(p, name);

            if (grp == null)
            {
                return;
            }
            OnlineListEntry rank = all.Find(e => e.group == grp);

            if (rank == null || rank.players.Count == 0)
            {
                p.Message("There are no {0} &Sonline.",
                          rank.group.GetFormattedName());
            }
            else
            {
                Output(rank, p, false);
            }
            return;
        }
예제 #6
0
 static string FormatPlayers(Player p, OnlineListEntry e)
 {
     return(e.players.Join(pl => FormatNick(p, pl), ", "));
 }
예제 #7
0
 static string FormatRank(OnlineListEntry e)
 {
     return(string.Format(UNDERLINE + "{0}" + UNDERLINE + " (" + CODE + "{1}" + CODE + ")",
                          e.group.GetFormattedName(), e.players.Count));
 }
예제 #8
0
 static string FormatRank(OnlineListEntry e)
 {
     return(string.Format("__{0}__ (`{1}`)",
                          e.group.GetFormattedName(), e.players.Count));
 }