示例#1
0
        static void DoRank(ModAction e)
        {
            Player who     = PlayerInfo.FindExact(e.Target);
            Group  newRank = (Group)e.Metadata;
            string action  = newRank.Permission >= e.TargetGroup.Permission ? "promoted to " : "demoted to ";

            LogAction(e, who, action + newRank.ColoredName);

            if (who != null && e.Announce)
            {
                who.Message("You are now ranked " + newRank.ColoredName + "&S, type /Help for your new set of commands.");
            }
            if (Server.tempRanks.Remove(e.Target))
            {
                ModerationTasks.TemprankCalcNextRun();
                Server.tempRanks.Save();
            }

            WriteRankInfo(e, newRank);
            if (e.Duration != TimeSpan.Zero)
            {
                AddTempRank(e, newRank);
            }
            ModActionCmd.ChangeRank(e.Target, e.TargetGroup, newRank, who);
        }
示例#2
0
        static void AddTempRank(ModAction e, Group newRank)
        {
            string data = FormatModTaskData(e) + " " + e.TargetGroup.Name + " " + newRank.Name;

            Server.tempRanks.Update(e.Target, data);
            ModerationTasks.TemprankCalcNextRun();
            Server.tempRanks.Save();
        }