Exemple #1
0
        public HfAttackedSite(List <Property> properties, World world) : base(properties, world)
        {
            foreach (Property property in properties)
            {
                switch (property.Name)
                {
                case "attacker_hfid":
                    Attacker = world.GetHistoricalFigure(Convert.ToInt32(property.Value));
                    break;

                case "defender_civ_id":
                    DefenderCiv = world.GetEntity(Convert.ToInt32(property.Value));
                    break;

                case "site_civ_id":
                    SiteCiv = world.GetEntity(Convert.ToInt32(property.Value));
                    break;

                case "site_id":
                    Site = world.GetSite(Convert.ToInt32(property.Value));
                    break;
                }
            }

            Attacker.AddEvent(this);
            DefenderCiv.AddEvent(this);
            SiteCiv.AddEvent(this);
            Site.AddEvent(this);
        }
Exemple #2
0
        public override string LegendsDescription()
        {
            string timestring = base.LegendsDescription();

            return(string.Format("{0} {1} defeated {2} and pillaged {3}.",
                                 timestring, AttackerCiv.ToString(), DefenderCiv.ToString(),
                                 Site.AltName));
        }
Exemple #3
0
        internal override string ToTimelineString()
        {
            string timelinestring = base.ToTimelineString();

            return(string.Format("{0} {1} defeated {2} and pillaged {3}.",
                                 timelinestring, AttackerCiv.ToString(), DefenderCiv.ToString(),
                                 Site.AltName));
        }
Exemple #4
0
        internal override string ToTimelineString()
        {
            string timelinestring = base.ToTimelineString();

            return(string.Format("{0} {1} attacked {2} in {3}.",
                                 timelinestring, AttackerCiv.ToString(), DefenderCiv.ToString(),
                                 Subregion.ToString()));
        }
Exemple #5
0
        public override string LegendsDescription()
        {
            string timestring = base.LegendsDescription();

            return(string.Format("{0} {1} attacked {2} in {3}. \nThe {4} {5} led the attack, \nand the defenders were led by the {6} {7}.",
                                 timestring, AttackerCiv.ToString(), DefenderCiv.ToString(),
                                 Subregion.ToString(), AttackerGeneralHF.Race.ToString(), AttackerGeneralHF.ToString(),
                                 DefenderGeneralHF.Race.ToString(), DefenderGeneralHF.ToString()));
        }
        public HfDestroyedSite(List <Property> properties, World world) : base(properties, world)
        {
            foreach (Property property in properties)
            {
                switch (property.Name)
                {
                case "attacker_hfid":
                    Attacker = world.GetHistoricalFigure(Convert.ToInt32(property.Value));
                    break;

                case "defender_civ_id":
                    DefenderCiv = world.GetEntity(Convert.ToInt32(property.Value));
                    break;

                case "site_civ_id":
                    SiteCiv = world.GetEntity(Convert.ToInt32(property.Value));
                    break;

                case "site_id":
                    Site = world.GetSite(Convert.ToInt32(property.Value));
                    break;
                }
            }

            Attacker.AddEvent(this);
            DefenderCiv.AddEvent(this);
            SiteCiv.AddEvent(this);
            Site.AddEvent(this);

            OwnerPeriod lastSiteOwnerPeriod = Site.OwnerHistory.LastOrDefault();

            if (lastSiteOwnerPeriod != null)
            {
                lastSiteOwnerPeriod.EndYear  = Year;
                lastSiteOwnerPeriod.EndCause = "destroyed";
                lastSiteOwnerPeriod.Ender    = Attacker;
            }
            if (DefenderCiv != null)
            {
                OwnerPeriod lastDefenderCivOwnerPeriod = DefenderCiv.SiteHistory.LastOrDefault(s => s.Site == Site);
                if (lastDefenderCivOwnerPeriod != null)
                {
                    lastDefenderCivOwnerPeriod.EndYear  = Year;
                    lastDefenderCivOwnerPeriod.EndCause = "destroyed";
                    lastDefenderCivOwnerPeriod.Ender    = Attacker;
                }
            }
            OwnerPeriod lastSiteCiveOwnerPeriod = SiteCiv.SiteHistory.LastOrDefault(s => s.Site == Site);

            if (lastSiteCiveOwnerPeriod != null)
            {
                lastSiteCiveOwnerPeriod.EndYear  = Year;
                lastSiteCiveOwnerPeriod.EndCause = "destroyed";
                lastSiteCiveOwnerPeriod.Ender    = Attacker;
            }
        }
Exemple #7
0
        public override string Print(bool link = true, DwarfObject pov = null)
        {
            string eventString = GetYearTime() + Attacker.ToLink(link, pov) + " attacked " + SiteCiv.ToLink(link, pov);

            if (DefenderCiv != null && DefenderCiv != SiteCiv)
            {
                eventString += " of " + DefenderCiv.ToLink(link, pov);
            }
            eventString += " at " + Site.ToLink(link, pov);
            eventString += PrintParentCollection(link, pov);
            eventString += ".";
            return(eventString);
        }
Exemple #8
0
        internal override string ToTimelineString()
        {
            string timelinestring = base.ToTimelineString();

            return(string.Format("{0} {1} captured {2} from {3}.",
                                 timelinestring, AttackerCiv.ToString(), Site.AltName, DefenderCiv.ToString()));
        }
Exemple #9
0
        public override string LegendsDescription()
        {
            string timestring = base.LegendsDescription();

            if (DefenderGeneralHF == null)
            {
                return(string.Format("{0} {1} attacked {2} of {3} at {4}. \n" +
                                     "The {5} {6} led the attack.",
                                     timestring, AttackerCiv.ToString(), SiteCiv.ToString(), DefenderCiv.ToString(),
                                     Site.AltName, AttackerGeneralHF.Race.ToString(), AttackerGeneralHF.ToString()));
            }
            else
            {
                return(string.Format("{0} {1} attacked {2} of {3} at {4}. \n" +
                                     "The {5} {6} led the attack, \nand the defenders were led by the {7} {8}.",
                                     timestring, AttackerCiv.ToString(), SiteCiv.ToString(), DefenderCiv.ToString(),
                                     Site.AltName, AttackerGeneralHF.Race.ToString(), AttackerGeneralHF.ToString(),
                                     DefenderGeneralHF.Race.ToString(), DefenderGeneralHF.ToString()));
            }
        }