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); }
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)); }
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)); }
internal override string ToTimelineString() { string timelinestring = base.ToTimelineString(); return(string.Format("{0} {1} attacked {2} in {3}.", timelinestring, AttackerCiv.ToString(), DefenderCiv.ToString(), Subregion.ToString())); }
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; } }
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); }
internal override string ToTimelineString() { string timelinestring = base.ToTimelineString(); return(string.Format("{0} {1} captured {2} from {3}.", timelinestring, AttackerCiv.ToString(), Site.AltName, DefenderCiv.ToString())); }
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())); } }