public static Report CompileFactionLeaderboard() { Report report = new Report("Faction Leaderboard", "60%"); report.Columns.Add("28%", "center", "Name"); report.Columns.Add("28%", "center", "Faction"); report.Columns.Add("28%", "center", "Office"); report.Columns.Add("16%", "center", "Kill Points"); ArrayList list = new ArrayList(); List<Faction> factions = Faction.Factions; for (int i = 0; i < factions.Count; ++i) { Faction faction = factions[i]; list.AddRange(faction.Members); } list.Sort(); list.Reverse(); for (int i = 0; i < list.Count && i < 15; ++i) { PlayerState pl = (PlayerState)list[i]; string office; if (pl.Faction.Commander == pl.Mobile) office = "Commanding Lord"; else if (pl.Finance != null) office = String.Format("{0} Finance Minister", pl.Finance.Definition.FriendlyName); else if (pl.Sheriff != null) office = String.Format("{0} Sheriff", pl.Sheriff.Definition.FriendlyName); else office = ""; ReportItem item = new ReportItem(); item.Values.Add(pl.Mobile.Name); item.Values.Add(pl.Faction.Definition.FriendlyName); item.Values.Add(office); item.Values.Add(pl.KillPoints.ToString(), "N0"); report.Items.Add(item); } return report; }
private void RenderReport(Report report, HtmlTextWriter html) { html.AddAttribute(HtmlAttr.Width, report.Width); html.AddAttribute(HtmlAttr.Cellpadding, "0"); html.AddAttribute(HtmlAttr.Cellspacing, "0"); html.AddAttribute(HtmlAttr.Border, "0"); html.RenderBeginTag(HtmlTag.Table); html.RenderBeginTag(HtmlTag.Tr); html.AddAttribute(HtmlAttr.Class, "tbl-border"); html.RenderBeginTag(HtmlTag.Td); html.AddAttribute(HtmlAttr.Width, "100%"); html.AddAttribute(HtmlAttr.Cellpadding, "4"); html.AddAttribute(HtmlAttr.Cellspacing, "1"); html.RenderBeginTag(HtmlTag.Table); html.RenderBeginTag(HtmlTag.Tr); html.AddAttribute(HtmlAttr.Colspan, "10"); html.AddAttribute(HtmlAttr.Width, "100%"); html.AddAttribute(HtmlAttr.Align, "center"); html.AddAttribute(HtmlAttr.Class, "header"); html.RenderBeginTag(HtmlTag.Td); html.Write(report.Name); html.RenderEndTag(); html.RenderEndTag(); bool isNamed = false; for (int i = 0; i < report.Columns.Count && !isNamed; ++i) isNamed = (report.Columns[i].Name != null); if (isNamed) { html.RenderBeginTag(HtmlTag.Tr); for (int i = 0; i < report.Columns.Count; ++i) { ReportColumn column = report.Columns[i]; html.AddAttribute(HtmlAttr.Class, "header"); html.AddAttribute(HtmlAttr.Width, column.Width); html.AddAttribute(HtmlAttr.Align, column.Align); html.RenderBeginTag(HtmlTag.Td); html.Write(column.Name); html.RenderEndTag(); } html.RenderEndTag(); } for (int i = 0; i < report.Items.Count; ++i) { ReportItem item = report.Items[i]; html.RenderBeginTag(HtmlTag.Tr); for (int j = 0; j < item.Values.Count; ++j) { if (!isNamed && j == 0) html.AddAttribute(HtmlAttr.Width, report.Columns[j].Width); html.AddAttribute(HtmlAttr.Align, report.Columns[j].Align); html.AddAttribute(HtmlAttr.Class, "entry"); html.RenderBeginTag(HtmlTag.Td); if (item.Values[j].Format == null) html.Write(item.Values[j].Value); else html.Write(int.Parse(item.Values[j].Value).ToString(item.Values[j].Format)); html.RenderEndTag(); } html.RenderEndTag(); } html.RenderEndTag(); html.RenderEndTag(); html.RenderEndTag(); html.RenderEndTag(); }
private Report ReportTotalPages( StaffInfo[] staff, TimeSpan ts, string title ) { DateTime max = DateTime.UtcNow; DateTime min = max - ts; Report report = new Report( title + " Staff Report", "400" ); report.Columns.Add( "65%", "left", "Staff Name" ); report.Columns.Add( "35%", "center", "Page Count" ); for ( int i = 0; i < staff.Length; ++i ) report.Items.Add( staff[i].Display, GetPageCount( staff[i], min, max ) ); return report; }
public static Report CompileGeneralStats() { Report report = new Report( "General Stats", "200" ); report.Columns.Add( "50%", "left" ); report.Columns.Add( "50%", "left" ); int npcs = 0, players = 0; foreach ( Mobile mob in World.Mobiles.Values ) { if ( mob.Player ) ++players; else ++npcs; } report.Items.Add( "NPCs", npcs, "N0" ); report.Items.Add( "Players", players, "N0" ); report.Items.Add( "Clients", NetState.Instances.Count, "N0" ); report.Items.Add( "Accounts", Accounts.Count, "N0" ); report.Items.Add( "Items", World.Items.Count, "N0" ); return report; }
public static Report CompileSkillReport( SkillDistribution[] distribs ) { Report report = new Report( "Skill Report", "300" ); report.Columns.Add( "70%", "left", "Name" ); report.Columns.Add( "30%", "center", "GMs" ); for ( int i = 0; i < distribs.Length; ++i ) report.Items.Add( distribs[i].m_Skill.Name, distribs[i].m_NumberOfGMs, "N0" ); return report; }
public static Report CompileFactionTownReport() { Report report = new Report("Faction Towns", "80%"); report.Columns.Add("20%", "center", "Name"); report.Columns.Add("20%", "center", "Owner"); report.Columns.Add("17%", "center", "Sheriff"); report.Columns.Add("17%", "center", "Finance Minister"); report.Columns.Add("13%", "center", "Silver"); report.Columns.Add("13%", "center", "Prices"); List<Town> towns = Town.Towns; for (int i = 0; i < towns.Count; ++i) { Town town = towns[i]; string prices = "Normal"; if (town.Tax < 0) prices = town.Tax + "%"; else if (town.Tax > 0) prices = "+" + town.Tax + "%"; ReportItem item = new ReportItem(); item.Values.Add(town.Definition.FriendlyName); item.Values.Add(town.Owner == null ? "Neutral" : town.Owner.Definition.FriendlyName); item.Values.Add(town.Sheriff == null ? "" : town.Sheriff.Name); item.Values.Add(town.Finance == null ? "" : town.Finance.Name); item.Values.Add(town.Silver.ToString(), "N0"); item.Values.Add(prices); report.Items.Add(item); } return report; }
public static Report CompileSigilReport() { Report report = new Report("Faction Town Sigils", "50%"); report.Columns.Add("35%", "center", "Town"); report.Columns.Add("35%", "center", "Controller"); report.Columns.Add("30%", "center", "Capturable"); List<Sigil> sigils = Sigil.Sigils; for (int i = 0; i < sigils.Count; ++i) { Sigil sigil = sigils[i]; string controller = "Unknown"; Mobile mob = sigil.RootParent as Mobile; if (mob != null) { Faction faction = Faction.Find(mob); if (faction != null) controller = faction.Definition.FriendlyName; } else if (sigil.LastMonolith != null && sigil.LastMonolith.Faction != null) { controller = sigil.LastMonolith.Faction.Definition.FriendlyName; } ReportItem item = new ReportItem(); item.Values.Add(sigil.Town == null ? "" : sigil.Town.Definition.FriendlyName); item.Values.Add(controller); item.Values.Add(sigil.IsPurifying ? "No" : "Yes"); report.Items.Add(item); } return report; }
public static Report CompileFactionReport() { Report report = new Report("Faction Statistics", "80%"); report.Columns.Add("20%", "center", "Name"); report.Columns.Add("20%", "center", "Commander"); report.Columns.Add("15%", "center", "Members"); report.Columns.Add("15%", "center", "Merchants"); report.Columns.Add("15%", "center", "Kill Points"); report.Columns.Add("15%", "center", "Silver"); List<Faction> factions = Faction.Factions; for (int i = 0; i < factions.Count; ++i) { Faction faction = factions[i]; List<PlayerState> members = faction.Members; int totalKillPoints = 0; int totalMerchants = 0; for (int j = 0; j < members.Count; ++j) { totalKillPoints += members[j].KillPoints; if (members[j].MerchantTitle != MerchantTitle.None) ++totalMerchants; } ReportItem item = new ReportItem(); item.Values.Add(faction.Definition.FriendlyName); item.Values.Add(faction.Commander == null ? "" : faction.Commander.Name); item.Values.Add(faction.Members.Count.ToString(), "N0"); item.Values.Add(totalMerchants.ToString(), "N0"); item.Values.Add(totalKillPoints.ToString(), "N0"); item.Values.Add(faction.Silver.ToString(), "N0"); report.Items.Add(item); } return report; }
private static Report CompileTop15() { Report report = new Report("Top 15 Duelists", "80%"); report.Columns.Add("6%", "center", "Rank"); report.Columns.Add("6%", "center", "Level"); report.Columns.Add("6%", "center", "Guild"); report.Columns.Add("70%", "left", "Name"); report.Columns.Add("6%", "center", "Wins"); report.Columns.Add("6%", "center", "Losses"); Ladder ladder = Ladder.Instance; if (ladder != null) { ArrayList entries = ladder.ToArrayList(); for (int i = 0; i < entries.Count && i < 15; ++i) { LadderEntry entry = (LadderEntry)entries[i]; int level = Ladder.GetLevel(entry.Experience); string guild = ""; if (entry.Mobile.Guild != null) guild = entry.Mobile.Guild.Abbreviation; ReportItem item = new ReportItem(); item.Values.Add(LadderGump.Rank(entry.Index + 1)); item.Values.Add(level.ToString(), "N0"); item.Values.Add(guild); item.Values.Add(entry.Mobile.Name); item.Values.Add(entry.Wins.ToString(), "N0"); item.Values.Add(entry.Losses.ToString(), "N0"); report.Items.Add(item); } } return report; }
private void RenderReport(Report report, HtmlTextWriter html) { html.AddAttribute(HtmlAttr.Width, report.Width); html.AddAttribute(HtmlAttr.Cellpadding, "0"); html.AddAttribute(HtmlAttr.Cellspacing, "0"); html.AddAttribute(HtmlAttr.Border, "0"); html.RenderBeginTag(HtmlTag.Table); html.RenderBeginTag(HtmlTag.Tr); html.AddAttribute(HtmlAttr.Class, "tbl-border"); html.RenderBeginTag(HtmlTag.Td); html.AddAttribute(HtmlAttr.Width, "100%"); html.AddAttribute(HtmlAttr.Cellpadding, "4"); html.AddAttribute(HtmlAttr.Cellspacing, "1"); html.RenderBeginTag(HtmlTag.Table); html.RenderBeginTag(HtmlTag.Tr); html.AddAttribute(HtmlAttr.Colspan, "10"); html.AddAttribute(HtmlAttr.Width, "100%"); html.AddAttribute(HtmlAttr.Align, "center"); html.AddAttribute(HtmlAttr.Class, "header"); html.RenderBeginTag(HtmlTag.Td); html.Write(report.Name); html.RenderEndTag(); html.RenderEndTag(); bool isNamed = false; for (int i = 0; i < report.Columns.Count && !isNamed; ++i) { isNamed = (report.Columns[i].Name != null); } if (isNamed) { html.RenderBeginTag(HtmlTag.Tr); for (int i = 0; i < report.Columns.Count; ++i) { ReportColumn column = report.Columns[i]; html.AddAttribute(HtmlAttr.Class, "header"); html.AddAttribute(HtmlAttr.Width, column.Width); html.AddAttribute(HtmlAttr.Align, column.Align); html.RenderBeginTag(HtmlTag.Td); html.Write(column.Name); html.RenderEndTag(); } html.RenderEndTag(); } for (int i = 0; i < report.Items.Count; ++i) { ReportItem item = report.Items[i]; html.RenderBeginTag(HtmlTag.Tr); for (int j = 0; j < item.Values.Count; ++j) { if (!isNamed && j == 0) { html.AddAttribute(HtmlAttr.Width, report.Columns[j].Width); } html.AddAttribute(HtmlAttr.Align, report.Columns[j].Align); html.AddAttribute(HtmlAttr.Class, "entry"); html.RenderBeginTag(HtmlTag.Td); if (item.Values[j].Format == null) { html.Write(item.Values[j].Value); } else { html.Write(int.Parse(item.Values[j].Value).ToString(item.Values[j].Format)); } html.RenderEndTag(); } html.RenderEndTag(); } html.RenderEndTag(); html.RenderEndTag(); html.RenderEndTag(); html.RenderEndTag(); }