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); }
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(); }