Exemple #1
0
 private void PrintSiteHistory()
 {
     if (Entity.SiteHistory.Count > 0)
     {
         HTML.AppendLine(Bold("Site History") + " " + MakeLink("[Load]", LinkOption.LoadEntitySites) + LineBreak);
         TableMaker siteTable = new TableMaker(true);
         foreach (OwnerPeriod ownedSite in Entity.SiteHistory)
         {
             siteTable.StartRow();
             siteTable.AddData(ownedSite.Owner.ToLink(true, Entity));
             siteTable.AddData(ownedSite.StartCause);
             siteTable.AddData(ownedSite.Site.ToLink());
             siteTable.AddData(ownedSite.StartYear.ToString());
             if (ownedSite.EndYear >= 0)
             {
                 siteTable.AddData(ownedSite.EndCause);
                 siteTable.AddData(ownedSite.EndYear.ToString());
             }
             if (ownedSite.Ender != null)
             {
                 if (ownedSite.Ender is Entity)
                 {
                     siteTable.AddData(" by " + ((Entity)ownedSite.Ender).PrintEntity(), 0, TableDataAlign.Right);
                 }
                 else
                 {
                     siteTable.AddData(" by " + ownedSite.Ender.ToLink(true, Entity), 0, TableDataAlign.Right);
                 }
             }
             siteTable.EndRow();
         }
         HTML.AppendLine(siteTable.GetTable() + LineBreak);
     }
 }
Exemple #2
0
 private void PrintReputations()
 {
     if (HistoricalFigure.Reputations.Count > 0)
     {
         HTML.AppendLine(Bold("Entity Reputations") + LineBreak);
         StartList(ListType.Unordered);
         foreach (EntityReputation reputation in HistoricalFigure.Reputations)
         {
             HTML.AppendLine(ListItem + reputation.Entity.PrintEntity() + ": ");
             StartList(ListType.Unordered);
             if (reputation.UnsolvedMurders > 0)
             {
                 HTML.AppendLine(ListItem + "Unsolved Murders: " + reputation.UnsolvedMurders);
             }
             if (reputation.FirstSuspectedAgelessYear > 0)
             {
                 HTML.AppendLine(ListItem + "First Suspected Ageless Year: " + reputation.FirstSuspectedAgelessYear + ", " + reputation.FirstSuspectedAgelessSeason);
             }
             foreach (var item in reputation.Reputations)
             {
                 HTML.AppendLine(ListItem + item.Key.GetDescription() + ": " + item.Value + "%");
             }
             EndList(ListType.Unordered);
         }
         EndList(ListType.Unordered);
     }
 }
Exemple #3
0
 private void PrintRelatedEntities()
 {
     if (HistoricalFigure.RelatedEntities.Count > 0)
     {
         HTML.AppendLine(Bold("Related Entities") + LineBreak);
         StartList(ListType.Unordered);
         foreach (EntityLink link in HistoricalFigure.RelatedEntities)
         {
             string linkString = link.Entity.PrintEntity() + " (" + link.Type.GetDescription();
             if (link.Strength > 0)
             {
                 linkString += " " + link.Strength + "%";
             }
             if (link.StartYear > -1)
             {
                 linkString += " " + link.PositionID + ", " + link.StartYear + "-";
                 if (link.EndYear > -1)
                 {
                     linkString += link.EndYear;
                 }
                 else
                 {
                     linkString += "Present";
                 }
             }
             linkString += ")";
             HTML.AppendLine(ListItem + linkString);
         }
         EndList(ListType.Unordered);
     }
 }
Exemple #4
0
 private void PrintEvents()
 {
     HTML.AppendLine("<b>Event Log</b> " + LineBreak);
     foreach (WorldEvent eraEvent in Artifact.Events)
     {
         if (!Artifact.Filters.Contains(eraEvent.Type))
         {
             HTML.AppendLine(eraEvent.Print() + "</br></br>");
         }
     }
 }
 private void PrintEvents()
 {
     HTML.AppendLine(Bold("Event Log") + " " + MakeLink(Font("[Chart]", "Maroon"), LinkOption.LoadChart) + LineBreak);
     foreach (var e in HistoricalFigure.Events)
     {
         if (!HistoricalFigure.Filters.Contains(e.Type))
         {
             HTML.AppendLine(e.Print(true, HistoricalFigure) + LineBreak + LineBreak);
         }
     }
 }
 private void PrintSkills()
 {
     if (HistoricalFigure.Skills.Count > 0)
     {
         HTML.AppendLine(Bold("Skills") + LineBreak);
         StartList(ListType.Unordered);
         foreach (Skill skill in HistoricalFigure.Skills)
         {
             HTML.AppendLine(ListItem + skill.Name + " - " + skill.Rank + " (" + skill.Points + ")");
         }
         EndList(ListType.Unordered);
     }
 }
Exemple #7
0
 private void PrintPopulations()
 {
     if (Entity.Populations.Count > 0)
     {
         HTML.AppendLine(Bold("Populations") + LineBreak);
         StartList(ListType.Unordered);
         foreach (Population population in Entity.Populations)
         {
             HTML.AppendLine(ListItem + population.Count + " " + population.Race);
         }
         EndList(ListType.Unordered);
     }
 }
Exemple #8
0
 private void PrintBreedInfo()
 {
     if (!string.IsNullOrWhiteSpace(HistoricalFigure.BreedID))
     {
         HTML.AppendLine(Bold("Breed") + LineBreak);
         HTML.AppendLine("<ol>");
         foreach (HistoricalFigure hfOfSameBreed in World.Breeds[HistoricalFigure.BreedID])
         {
             HTML.AppendLine("<li>" + hfOfSameBreed.ToLink() + "</li>");
         }
         HTML.AppendLine("</ol>");
     }
 }
Exemple #9
0
 private void PrintKills()
 {
     if (HistoricalFigure.NotableKills.Count > 0)
     {
         HTML.AppendLine(Bold("Kills") + " " + MakeLink("[Load]", LinkOption.LoadHFKills));
         StartList(ListType.Ordered);
         foreach (HFDied kill in HistoricalFigure.NotableKills)
         {
             HTML.AppendLine(ListItem + kill.HistoricalFigure.ToLink() + ", in " + kill.Year + " (" + kill.Cause.GetDescription() + ")" + LineBreak);
         }
         EndList(ListType.Ordered);
     }
 }
Exemple #10
0
 private void PrintRelatedSites()
 {
     if (HistoricalFigure.RelatedSites.Count > 0)
     {
         HTML.AppendLine(Bold("Related Sites") + LineBreak);
         StartList(ListType.Unordered);
         foreach (SiteLink link in HistoricalFigure.RelatedSites)
         {
             string linkString = link.Site.ToLink() + ", " + link.Type.GetDescription() + " (" + (link.Type == SiteLinkType.Occupation ? link.OccupationID : link.SubID) + ") ";
             if (link.Entity != null)
             {
                 linkString += "" + link.Entity.ToLink();
             }
             HTML.AppendLine(ListItem + linkString);
         }
         EndList(ListType.Unordered);
     }
 }
Exemple #11
0
 private void PrintBeastAttacks()
 {
     if (HistoricalFigure.BeastAttacks != null && HistoricalFigure.BeastAttacks.Count > 0)
     {
         HTML.AppendLine(Bold("Beast Attacks"));
         StartList(ListType.Ordered);
         foreach (BeastAttack attack in HistoricalFigure.BeastAttacks)
         {
             HTML.AppendLine(ListItem + attack.StartYear + ", " + MakeLink(attack.GetOrdinal(attack.Ordinal) + "rampage in ", attack) + attack.Site.ToLink());
             if (attack.GetSubEvents().OfType <HFDied>().Any())
             {
                 HTML.Append(" (Kills: " + attack.GetSubEvents().OfType <HFDied>().Count() + ")");
             }
         }
         EndList(ListType.Ordered);
         HTML.AppendLine(LineBreak);
     }
 }
Exemple #12
0
 private void PrintLeaders()
 {
     if (Entity.Leaders != null && Entity.Leaders.Count > 0)
     {
         HTML.AppendLine(Bold("Leaders") + " " + MakeLink("[Load]", LinkOption.LoadEntityLeaders) + LineBreak);
         foreach (string leaderType in Entity.LeaderTypes)
         {
             HTML.AppendLine(leaderType + "s" + LineBreak);
             TableMaker leaderTable = new TableMaker(true);
             foreach (HistoricalFigure leader in Entity.Leaders[Entity.LeaderTypes.IndexOf(leaderType)])
             {
                 leaderTable.StartRow();
                 leaderTable.AddData(leader.Positions.Last(position => position.Title == leaderType).Began.ToString());
                 leaderTable.AddData(leader.ToLink());
                 leaderTable.EndRow();
             }
             HTML.AppendLine(leaderTable.GetTable() + LineBreak);
         }
     }
 }
Exemple #13
0
        private void PrintTitle()
        {
            string title = Entity.ToLink(false);

            if (Entity.IsCiv)
            {
                title += " is a civilization of ";
            }
            else
            {
                title += " is a group of ";
            }
            title += Entity.Race.ToLower();
            if (Entity.Parent != null)
            {
                title += " of " + Entity.Parent.ToLink(true, Entity);
            }
            HTML.AppendLine(Bold(title) + LineBreak + LineBreak);

            if (Entity.IsCiv)
            {
                HTML.AppendLine(Entity.PrintIdenticon(true) + LineBreak + LineBreak);
            }

            if (Entity.SiteHistory.Count > 0)
            {
                if (Entity.SiteHistory.Count(sitePeriod => sitePeriod.EndYear == -1) == 0)
                {
                    HTML.AppendLine(Font("Last Known Sites. Year: " + (Entity.SiteHistory.Max(sitePeriod => sitePeriod.EndYear) - 1), "red"));
                }
                List <Bitmap> maps     = MapPanel.CreateBitmaps(World, Entity);
                TableMaker    mapTable = new TableMaker(false, maps[0].Width + maps[1].Width + 10);
                mapTable.StartRow();
                mapTable.AddData(MakeLink(BitmapToHTML(maps[0]), LinkOption.LoadMap));
                mapTable.AddData(MakeLink(BitmapToHTML(maps[1]), LinkOption.LoadMap));
                mapTable.EndRow();
                HTML.AppendLine(mapTable.GetTable());
                maps[0].Dispose();
                maps[1].Dispose();
            }
        }
Exemple #14
0
 private void PrintPositions()
 {
     if (HistoricalFigure.Positions.Count > 0)
     {
         HTML.AppendLine(Bold("Positions") + LineBreak);
         StartList(ListType.Ordered);
         foreach (HistoricalFigure.Position position in HistoricalFigure.Positions)
         {
             HTML.AppendLine(ListItem + position.Title + " of " + position.Entity.PrintEntity() + " (" + position.Began + " - ");
             if (position.Ended == -1)
             {
                 HTML.Append("Present)");
             }
             else
             {
                 HTML.Append(position.Ended + ")");
             }
         }
         EndList(ListType.Ordered);
     }
 }
Exemple #15
0
 private void PrintWorships()
 {
     if (Entity.Worshipped != null && Entity.Worshipped.Count > 0)
     {
         HTML.AppendLine(Bold("Worships") + LineBreak);
         StartList(ListType.Unordered);
         foreach (HistoricalFigure worship in Entity.Worshipped)
         {
             string associations = "";
             foreach (string association in worship.Spheres)
             {
                 if (associations.Length > 0)
                 {
                     associations += ", ";
                 }
                 associations += association;
             }
             HTML.AppendLine(ListItem + worship.ToLink() + " (" + associations + ")");
         }
         EndList(ListType.Unordered);
     }
 }
Exemple #16
0
        private void PrintSkills()
        {
            if (HistoricalFigure.Skills.Count > 0)
            {
                var described = HistoricalFigure.Skills.ConvertAll(s => SkillDictionary.lookupSkill(s));

                HTML.AppendLine(Bold("Skills") + LineBreak);

                foreach (var group in described.Where(d => d.Category != "non").GroupBy(d => d.Category).OrderByDescending(g => g.Count()))
                {
                    HTML.AppendLine("<ol class='skills'>");

                    foreach (var desc in group.OrderByDescending(d => d.Points))
                    {
                        HTML.AppendLine(SkillToString(desc));
                    }

                    HTML.AppendLine("</ol>");
                }

                HTML.AppendLine(LineBreak);
            }
        }
Exemple #17
0
 private void PrintRelatedHistoricalFigures()
 {
     if (HistoricalFigure.RelatedHistoricalFigures.Count > 0)
     {
         HTML.AppendLine(Bold("Related Historical Figures") + LineBreak);
         StartList(ListType.Unordered);
         foreach (HistoricalFigureLink relation in HistoricalFigure.RelatedHistoricalFigures)
         {
             string hf = "UNKNOWN";
             if (relation.HistoricalFigure != null)
             {
                 hf = relation.HistoricalFigure.ToLink();
             }
             string relationString = hf + ", " + relation.Type.GetDescription();
             if (relation.Type == HistoricalFigureLinkType.Deity)
             {
                 relationString += " (" + relation.Strength + "%)";
             }
             HTML.AppendLine(ListItem + relationString);
         }
         EndList(ListType.Unordered);
     }
 }
Exemple #18
0
 private void PrintMiscInfo()
 {
     //if (HistoricalFigure.CurrentIdentity != null)
     //{
     //    HTML.AppendLine(Bold("Current Identity: ") + HistoricalFigure.CurrentIdentity.ToLink() + LineBreak);
     //}
     //if (HistoricalFigure.UsedIdentity != null)
     //{
     //    HTML.AppendLine(Bold("Used Identity: ") + HistoricalFigure.UsedIdentity.ToLink() + LineBreak);
     //}
     if (HistoricalFigure.Spheres.Count > 0)
     {
         string spheres = "";
         foreach (string sphere in HistoricalFigure.Spheres)
         {
             if (HistoricalFigure.Spheres.Last() == sphere && HistoricalFigure.Spheres.Count > 1)
             {
                 spheres += " and ";
             }
             else if (spheres.Length > 0)
             {
                 spheres += ", ";
             }
             spheres += sphere;
         }
         HTML.Append(Bold("Associated Spheres: ") + spheres + LineBreak);
     }
     if (HistoricalFigure.Goal != "")
     {
         HTML.AppendLine(Bold("Goal: ") + HistoricalFigure.Goal + LineBreak);
     }
     if (HistoricalFigure.ActiveInteractions.Count > 0)
     {
         string interactions = "";
         foreach (string interaction in HistoricalFigure.ActiveInteractions)
         {
             if (HistoricalFigure.ActiveInteractions.Last() == interaction && HistoricalFigure.ActiveInteractions.Count > 1)
             {
                 interactions += " and ";
             }
             else if (interactions.Length > 0)
             {
                 interactions += ", ";
             }
             interactions += interaction;
         }
         HTML.AppendLine(Bold("Active Interactions: ") + interactions + LineBreak);
     }
     if (HistoricalFigure.InteractionKnowledge.Count > 0)
     {
         string interactions = "";
         foreach (string interaction in HistoricalFigure.InteractionKnowledge)
         {
             if (HistoricalFigure.InteractionKnowledge.Last() == interaction && HistoricalFigure.InteractionKnowledge.Count > 1)
             {
                 interactions += " and ";
             }
             else if (interactions.Length > 0)
             {
                 interactions += ", ";
             }
             interactions += interaction;
         }
         HTML.AppendLine(Bold("Interaction Knowledge: ") + interactions + LineBreak);
     }
     if (HistoricalFigure.HoldingArtifacts.Count > 0)
     {
         string artifacts = "";
         foreach (Artifact artifact in HistoricalFigure.HoldingArtifacts)
         {
             if (HistoricalFigure.HoldingArtifacts.Last() == artifact && HistoricalFigure.HoldingArtifacts.Count > 1)
             {
                 artifacts += " and ";
             }
             else if (artifacts.Length > 0)
             {
                 artifacts += ", ";
             }
             artifacts += artifact.ToLink();
         }
         HTML.AppendLine(Bold("Holding Artifacts: ") + artifacts + LineBreak);
     }
     if (HistoricalFigure.Animated)
     {
         HTML.AppendLine(Bold("Animated as: ") + HistoricalFigure.AnimatedType + LineBreak);
     }
     if (HistoricalFigure.JourneyPets.Count > 0)
     {
         string pets = "";
         foreach (string pet in HistoricalFigure.JourneyPets)
         {
             if (HistoricalFigure.JourneyPets.Last() == pet && HistoricalFigure.JourneyPets.Count > 1)
             {
                 pets += " and ";
             }
             else if (pets.Length > 0)
             {
                 pets += ", ";
             }
             pets += pet;
         }
         HTML.AppendLine(Bold("Journey Pets: ") + pets + LineBreak);
     }
     HTML.AppendLine(LineBreak);
 }
Exemple #19
0
        private void PrintBattles()
        {
            Battle unnotableDeathBattle = null; //Temporarily make the battle that the HF died in Notable so it shows up.

            if (HistoricalFigure.Battles.Count > 0 && HistoricalFigure.Battles.Last().Collection.OfType <HFDied>().Count(death => death.HistoricalFigure == HistoricalFigure) == 1 && !HistoricalFigure.Battles.Last().Notable)
            {
                unnotableDeathBattle         = HistoricalFigure.Battles.Last();
                unnotableDeathBattle.Notable = true;
            }

            if (HistoricalFigure.Battles.Count(battle => !World.FilterBattles || battle.Notable) > 0)
            {
                HTML.AppendLine(Bold("Battles") + MakeLink("[Load]", LinkOption.LoadHFBattles));
                if (World.FilterBattles)
                {
                    HTML.Append(" (Notable)");
                }
                HTML.Append(LineBreak);
                TableMaker battleTable = new TableMaker(true);
                foreach (Battle battle in HistoricalFigure.Battles.Where(battle => (!World.FilterBattles || battle.Notable) || battle.Collection.OfType <HFDied>().Count(death => death.HistoricalFigure == HistoricalFigure) > 0))
                {
                    battleTable.StartRow();
                    battleTable.AddData(battle.StartYear.ToString());
                    battleTable.AddData(battle.ToLink());
                    if (battle.ParentCollection != null)
                    {
                        battleTable.AddData("as part of");
                        battleTable.AddData(battle.ParentCollection.ToLink());
                    }
                    string involvement = "";
                    if (battle.NotableAttackers.Count > 0 && battle.NotableAttackers.Contains(HistoricalFigure))
                    {
                        if (battle.Collection.OfType <FieldBattle>().Any(fieldBattle => fieldBattle.AttackerGeneral == HistoricalFigure) ||
                            battle.Collection.OfType <AttackedSite>().Any(attack => attack.AttackerGeneral == HistoricalFigure))
                        {
                            involvement += "Led the attack";
                        }
                        else
                        {
                            involvement += "Fought in the attack";
                        }
                    }
                    else if (battle.NotableDefenders.Count > 0 && battle.NotableDefenders.Contains(HistoricalFigure))
                    {
                        if (battle.Collection.OfType <FieldBattle>().Any(fieldBattle => fieldBattle.DefenderGeneral == HistoricalFigure) ||
                            battle.Collection.OfType <AttackedSite>().Any(attack => attack.DefenderGeneral == HistoricalFigure))
                        {
                            involvement += "Led the defense";
                        }
                        else
                        {
                            involvement += "Aided in the defense";
                        }
                    }
                    else
                    {
                        involvement += "A non combatant";
                    }

                    if (battle.GetSubEvents().OfType <HFDied>().Any(death => death.HistoricalFigure == HistoricalFigure))
                    {
                        involvement += " and died";
                    }
                    battleTable.AddData(involvement);
                    if (battle.NotableAttackers.Contains(HistoricalFigure))
                    {
                        battleTable.AddData("against");
                        battleTable.AddData(battle.Defender.PrintEntity(), 0, TableDataAlign.Right);
                        if (battle.Victor == battle.Attacker)
                        {
                            battleTable.AddData("and won");
                        }
                        else
                        {
                            battleTable.AddData("and lost");
                        }
                    }
                    else if (battle.NotableDefenders.Contains(HistoricalFigure))
                    {
                        battleTable.AddData("against");
                        battleTable.AddData(battle.Attacker.PrintEntity(), 0, TableDataAlign.Right);
                        if (battle.Victor == battle.Defender)
                        {
                            battleTable.AddData("and won");
                        }
                        else
                        {
                            battleTable.AddData("and lost");
                        }
                    }

                    battleTable.AddData("Deaths: " + (battle.AttackerDeathCount + battle.DefenderDeathCount) + ")");

                    battleTable.EndRow();
                }
                HTML.AppendLine(battleTable.GetTable() + LineBreak);
            }

            if (World.FilterBattles && HistoricalFigure.Battles.Count(battle => !battle.Notable) > 0)
            {
                HTML.AppendLine(Bold("Battles") + " (Unnotable): " + HistoricalFigure.Battles.Where(battle => !battle.Notable).Count() + LineBreak + LineBreak);
            }

            if (unnotableDeathBattle != null)
            {
                unnotableDeathBattle.Notable = false;
            }
        }
Exemple #20
0
        private void PrintWars()
        {
            if (Entity.Wars.Count(war => !World.FilterBattles || war.Notable) > 0)
            {
                HTML.AppendLine(Bold("Wars") + " " + MakeLink("[Load]", LinkOption.LoadEntityWars) + LineBreak);
                TableMaker warTable = new TableMaker(true);
                foreach (War war in Entity.Wars.Where(war => !World.FilterBattles || war.Notable))
                {
                    warTable.StartRow();
                    string endString;
                    if (war.EndYear == -1)
                    {
                        endString = "Present";
                    }
                    else
                    {
                        endString = war.EndYear.ToString();
                    }

                    warTable.AddData(war.StartYear + " - " + endString);
                    warTable.AddData(war.ToLink());

                    if (war.Attacker == Entity)
                    {
                        warTable.AddData("waged against");
                        warTable.AddData(war.Defender.PrintEntity(), 0, TableDataAlign.Right);
                        warTable.AddData("");
                    }
                    else if (war.Attacker.Parent == Entity)
                    {
                        warTable.AddData("waged against");
                        warTable.AddData(war.Defender.PrintEntity(), 0, TableDataAlign.Right);
                        warTable.AddData("by " + war.Attacker.ToLink());
                    }
                    else if (war.Defender == Entity)
                    {
                        warTable.AddData("defended against");
                        warTable.AddData(war.Attacker.PrintEntity(), 0, TableDataAlign.Right);
                        warTable.AddData("");
                    }
                    else if (war.Defender.Parent == Entity)
                    {
                        warTable.AddData("defended against");
                        warTable.AddData(war.Attacker.PrintEntity(), 0, TableDataAlign.Right);
                        warTable.AddData("by " + war.Defender.ToLink());
                    }

                    int battleVictories = 0, battleLossses = 0, sitesDestroyed = 0, sitesLost = 0, kills, losses;
                    if (war.Attacker == Entity || war.Attacker.Parent == Entity)
                    {
                        battleVictories = war.AttackerVictories.OfType <Battle>().Count();
                        battleLossses   = war.DefenderVictories.OfType <Battle>().Count();
                        sitesDestroyed  = war.AttackerVictories.OfType <SiteConquered>().Count(conquering => conquering.ConquerType != SiteConqueredType.Pillaging);
                        sitesLost       = war.DefenderVictories.OfType <SiteConquered>().Count(conquering => conquering.ConquerType != SiteConqueredType.Pillaging);
                    }
                    else if (war.Defender == Entity || war.Defender.Parent == Entity)
                    {
                        battleVictories = war.DefenderVictories.OfType <Battle>().Count();
                        battleLossses   = war.AttackerVictories.OfType <Battle>().Count();
                        sitesDestroyed  = war.DefenderVictories.OfType <SiteConquered>().Count(conquering => conquering.ConquerType != SiteConqueredType.Pillaging);
                        sitesLost       = war.AttackerVictories.OfType <SiteConquered>().Count(conquering => conquering.ConquerType != SiteConqueredType.Pillaging);
                    }

                    kills  = war.Collections.OfType <Battle>().Where(battle => battle.Attacker == Entity || battle.Attacker.Parent == Entity).Sum(battle => battle.DefenderDeathCount) + war.Collections.OfType <Battle>().Where(battle => battle.Defender == Entity || battle.Defender.Parent == Entity).Sum(battle => battle.AttackerDeathCount);
                    losses = war.Collections.OfType <Battle>().Where(battle => battle.Attacker == Entity || battle.Attacker.Parent == Entity).Sum(battle => battle.AttackerDeathCount) + war.Collections.OfType <Battle>().Where(battle => battle.Defender == Entity || battle.Defender.Parent == Entity).Sum(battle => battle.DefenderDeathCount);

                    warTable.AddData("(V/L)");
                    warTable.AddData("Battles:");
                    warTable.AddData(battleVictories.ToString(), 0, TableDataAlign.Right);
                    warTable.AddData("/");
                    warTable.AddData(battleLossses.ToString());
                    warTable.AddData("Sites:");
                    warTable.AddData(sitesDestroyed.ToString(), 0, TableDataAlign.Right);
                    warTable.AddData("/");
                    warTable.AddData(sitesLost.ToString());
                    warTable.AddData("Deaths:");
                    warTable.AddData(kills.ToString(), 0, TableDataAlign.Right);
                    warTable.AddData("/");
                    warTable.AddData(losses.ToString());
                    warTable.EndRow();
                }
                HTML.AppendLine(warTable.GetTable() + LineBreak);
            }
        }
Exemple #21
0
        private void PrintTitle()
        {
            HTML.AppendLine("<h1>" + HistoricalFigure.Name + "</h1>");
            string title = string.Empty;

            if (HistoricalFigure.Deity)
            {
                title = "Is a deity";
                if (HistoricalFigure.WorshippedBy != null)
                {
                    title += " that occurs in the myths of " + HistoricalFigure.WorshippedBy.ToLink() + ". ";
                }
                else
                {
                    title += ". ";
                }
                title += HistoricalFigure.ToLink(false, HistoricalFigure) + " is most often depicted as a " + HistoricalFigure.GetRaceTitleString() + ". ";
            }
            else if (HistoricalFigure.Force)
            {
                title = "Is a force said to permeate nature. ";
                if (HistoricalFigure.WorshippedBy != null)
                {
                    title += "Worshipped by " + HistoricalFigure.WorshippedBy.ToLink();
                }
            }
            else
            {
                if (HistoricalFigure.DeathYear >= 0)
                {
                    title += "Was a " + HistoricalFigure.GetRaceTitleString();
                }
                else
                {
                    title += "Is a " + HistoricalFigure.GetRaceTitleString();
                }
                title += " born in " + HistoricalFigure.BirthYear;

                if (HistoricalFigure.DeathYear > 0)
                {
                    HFDied death = HistoricalFigure.Events.OfType <HFDied>().First(hfDeath => hfDeath.HistoricalFigure == HistoricalFigure);
                    title += " and died in " + HistoricalFigure.DeathYear + " (" + death.Cause.GetDescription() + ")";
                    if (death.Slayer != null)
                    {
                        title += " by " + death.Slayer.ToLink();
                    }
                    else if (death.SlayerRace != "UNKNOWN" && death.SlayerRace != "-1")
                    {
                        title += " by a " + death.SlayerRace.ToLower();
                    }
                    if (death.PrintParentCollection().Length > 0)
                    {
                        title += ", " + death.PrintParentCollection().Replace("In ", "in ");
                    }
                }
                if (!title.EndsWith(". "))
                {
                    title += ". ";
                }
                title += LineBreak + "Caste: " + HistoricalFigure.Caste + LineBreak + "Type: " + HistoricalFigure.AssociatedType;
            }
            HTML.AppendLine("<b>" + title + "</b></br>");
        }
        private void PrintTitle()
        {
            string title = Entity.ToLink(false);

            if (Entity.IsCiv)
            {
                title += " is a civilization";
            }
            else
            {
                title += " is a ";
                switch (Entity.Type)
                {
                case EntityType.Civilization:
                    title += "civilization";
                    break;

                case EntityType.NomadicGroup:
                    title += "nomadic group";
                    break;

                case EntityType.MigratingGroup:
                    title += "migrating group";
                    break;

                case EntityType.Outcast:
                    title += "collection of outcasts";
                    break;

                case EntityType.Religion:
                    title += "religion";
                    break;

                case EntityType.SiteGovernment:
                    title += "site government";
                    break;

                case EntityType.PerformanceTroupe:
                    title += "performance troupe";
                    break;

                default:
                    title += "group";
                    break;
                }
            }
            if (!string.IsNullOrWhiteSpace(Entity.Race) && Entity.Race != "Unknown")
            {
                title += " of ";
                title += Entity.Race.ToLower();
            }
            if (Entity.Parent != null)
            {
                title += " of " + Entity.Parent.ToLink(true, Entity);
            }
            title += ".";
            HTML.AppendLine("<h1>" + title + "</h1></br>");

            if (Entity.IsCiv)
            {
                HTML.AppendLine(Entity.PrintIdenticon(true) + LineBreak + LineBreak);
            }

            if (Entity.SiteHistory.Count > 0)
            {
                if (Entity.SiteHistory.Count(sitePeriod => sitePeriod.EndYear == -1) == 0)
                {
                    HTML.AppendLine(Font("Last Known Sites. Year: " + (Entity.SiteHistory.Max(sitePeriod => sitePeriod.EndYear) - 1), "red"));
                }
                List <Bitmap> maps     = MapPanel.CreateBitmaps(World, Entity);
                TableMaker    mapTable = new TableMaker();
                mapTable.StartRow();
                mapTable.AddData(MakeLink(BitmapToHTML(maps[0]), LinkOption.LoadMap));
                mapTable.AddData(MakeLink(BitmapToHTML(maps[1]), LinkOption.LoadMap));
                mapTable.EndRow();
                HTML.AppendLine(mapTable.GetTable() + "</br>");
                maps[0].Dispose();
                maps[1].Dispose();
            }
        }