protected override void WriteDataOnParent(MainForm frm, Control parent, ref Point location) { EventLabel(frm, parent, ref location, "HF:", HF); EventLabel(frm, parent, ref location, "Cause:", Causes[Cause]); if (SlayerHF != null) { EventLabel(frm, parent, ref location, "Slayer:", SlayerHF); } else if (SlayerHFID.HasValue) { EventLabel(frm, parent, ref location, "Slayer:", SlayerHFID.ToString()); } if (SlayerRace != null) { EventLabel(frm, parent, ref location, " Race:", SlayerRace); } else if (SlayerRace_ != null) { EventLabel(frm, parent, ref location, " Race:", SlayerRace_); } EventLabel(frm, parent, ref location, " Caste:", HistoricalFigure.Castes[SlayerCaste]); if (Site != null) { EventLabel(frm, parent, ref location, "Site:", Site); } else if (SiteID.HasValue) { EventLabel(frm, parent, ref location, "Site:", SiteID.ToString()); } if (Subregion != null) { EventLabel(frm, parent, ref location, "Region:", Subregion); } else if (SubregionID.HasValue) { EventLabel(frm, parent, ref location, "Region:", SubregionID.ToString()); } }
protected override string LegendsDescription() { var timestring = base.LegendsDescription(); switch (Causes[Cause]) { case "struck": return(string.Format("{0} the {1} {2} was struck down by \nthe {3} {4} in {5}.", timestring, HF.Race, HF, SlayerRace == null ? "" : SlayerRace.ToString(), SlayerHF == null ? SlayerHFID.ToString() : SlayerHF.ToString(), Site == null ? SiteID.ToString() : Site.AltName)); case "shot": return(string.Format("{0} the {1} {2} was shot and killed by \nthe {3} {4} in {5}.", timestring, HF.Race, HF, SlayerRace == null ? "" : SlayerRace.ToString(), SlayerHF == null ? SlayerHFID.ToString() : SlayerHF.ToString(), Site == null ? SiteID.ToString() : Site.AltName)); case "murdered": return(string.Format("{0} the {1} {2} was murdered by \nthe {3} {4} in {5}.", timestring, HF.Race, HF, SlayerRace == null ? "" : SlayerRace.ToString(), SlayerHF == null ? SlayerHFID.ToString() : SlayerHF.ToString(), Site == null ? SiteID.ToString() : Site.AltName)); case "old age": return(string.Format("{0} the {1} {2} died of old age.", timestring, HF.Race, HF)); case "infection": return(string.Format("{0} the {1} {2} succumbed to infection, slain by \nthe {3} {4} in {5}.", timestring, HF.Race, HF, SlayerRace == null ? "" : SlayerRace.ToString(), SlayerHF == null ? SlayerHFID.ToString() : SlayerHF.ToString(), Site == null ? SiteID.ToString() : Site.AltName)); case "blood": if (SlayerHF == null) { return(string.Format("{0} the {1} {2} bled to death in {3}.", timestring, HF.Race, HF, Site == null ? SiteID.ToString() : Site.AltName)); } return(string.Format("{0} the {1} {2} bled to death, slain by the {3} {4} with ITEM: {5} in {6}.", timestring, HF.Race, HF, SlayerRace == null ? "" : SlayerRace.ToString(), SlayerHF == null ? SlayerHFID.ToString() : SlayerHF.ToString(), SlayerItemID, Site == null ? SiteID.ToString() : Site.AltName)); case "thirst": return(string.Format("{0} the {1} {2} died of thirst in {3}.", timestring, HF.Race, HF, Site == null ? SiteID.ToString() : Site.AltName)); case "collapsed": return(string.Format("{0} the {1} {2} collapsed, struck down by \nthe {3} {4} in {5}.", timestring, HF.Race, HF, SlayerRace == null ? "" : SlayerRace.ToString(), SlayerHF == null ? SlayerHFID.ToString() : SlayerHF.ToString(), Site == null ? SiteID.ToString() : Site.AltName)); case "vanish": return(string.Format("{0} the {1} {2} vanished in {3}.", timestring, HF.Race, HF, Site == null ? SiteID.ToString() : Site.AltName)); case "drown": return(string.Format("{0} the {1} {2} drowned in {3}.", timestring, HF.Race, HF, Site == null ? SiteID.ToString() : Site.AltName)); case "crushed bridge": return(string.Format("{0} the {1} {2} was crushed by a drawbridge in {3}.", timestring, HF.Race, HF, Site == null ? SiteID.ToString() : Site.AltName)); case "put to rest": return(string.Format("{0} the {1} {2} was put to rest in {3}.", timestring, HF.Race, HF, Site == null ? SiteID.ToString() : Site.AltName)); case "quitdead": return(string.Format("{0} the {1} {2} starved to death in {3}.", timestring, HF.Race, HF, Site == null ? SiteID.ToString() : Site.AltName)); case "exec beheaded": return(string.Format("{0} the {1} {2} was beheaded by \nthe {3} {4} in {5}.", timestring, HF.Race, HF, SlayerRace == null ? "" : SlayerRace.ToString(), SlayerHF == null ? SlayerHFID.ToString() : SlayerHF.ToString(), Site == null ? SiteID.ToString() : Site.AltName)); case "exec burned alive": return(string.Format("{0} the {1} {2} burned \nthe {3} {4} alive in {5}.", timestring, HF.Race, HF, SlayerRace == null ? "" : SlayerRace.ToString(), SlayerHF == null ? SlayerHFID.ToString() : SlayerHF.ToString(), Site == null ? SiteID.ToString() : Site.AltName)); case "exec fed to beasts": return(string.Format("{0} the {1} {2} fed \nthe {3} {4} to beasts in {5}.", timestring, HF.Race, HF, SlayerRace == null ? "" : SlayerRace.ToString(), SlayerHF == null ? SlayerHFID.ToString() : SlayerHF.ToString(), Site == null ? SiteID.ToString() : Site.AltName)); case "exec hacked to pieces": return(string.Format("{0} the {1} {2} hacked \nthe {3} {4} to pieces in {5}.", timestring, HF.Race, HF, SlayerRace == null ? "" : SlayerRace.ToString(), SlayerHF == null ? SlayerHFID.ToString() : SlayerHF.ToString(), Site == null ? SiteID.ToString() : Site.AltName)); case "exec drowned": return(string.Format("{0} the {1} {2} drowned \nthe {3} {4} in {5}.", timestring, HF.Race, HF, SlayerRace == null ? "" : SlayerRace.ToString(), SlayerHF == null ? SlayerHFID.ToString() : SlayerHF.ToString(), Site == null ? SiteID.ToString() : Site.AltName)); case "exec buried alive": return(string.Format("{0} the {1} {2} buried \nthe {3} {4} alive in {5}.", timestring, HF.Race, HF, SlayerRace == null ? "" : SlayerRace.ToString(), SlayerHF == null ? SlayerHFID.ToString() : SlayerHF.ToString(), Site == null ? SiteID.ToString() : Site.AltName)); case "exec crucified": return(string.Format("{0} the {1} {2} was crucified by \nthe {3} {4} alive in {5}.", timestring, HF.Race, HF, SlayerRace == null ? "" : SlayerRace.ToString(), SlayerHF == null ? SlayerHFID.ToString() : SlayerHF.ToString(), Site == null ? SiteID.ToString() : Site.AltName)); case "air": return(string.Format("{0} the {1} {2} suffocated, slain by {3} {4} alive in {5}.", timestring, HF.Race, HF, SlayerRace == null ? "" : SlayerRace.ToString(), SlayerHF == null ? SlayerHFID.ToString() : SlayerHF.ToString(), Site == null ? SiteID.ToString() : Site.AltName)); case "obstacle": return(string.Format("{0} the {1} {2} died after colliding with an obstacle, slain by {3} {4} in {5}.", timestring, HF.Race, HF, SlayerRace == null ? "" : SlayerRace.ToString(), SlayerHF == null ? SlayerHFID.ToString() : SlayerHF.ToString(), Site != null ? Site.AltName : (SiteID != null ? SiteID.ToString() : Subregion.ToString()))); case "hunger": return(string.Format("{0} the {1} {2} starved to death in {3}.", timestring, HF.Race, HF, Site == null ? SiteID.ToString() : Site.AltName)); case "scuttled": return(string.Format("{0} {2} a {1} was scuttled in {3}.", timestring, HF.Race, HF, Site == null ? SiteID.ToString() : Site.AltName)); case "spikes": return(string.Format("{0} the {1} {2} was impaled on spikes in {3}.", timestring, HF.Race, HF, Site == null ? SiteID.ToString() : Site.AltName)); case "scared to death": return(string.Format("{0} the {1} {2} was scared to death by \nthe {3} {4} in {5}.", timestring, HF.Race, HF, SlayerRace == null ? "" : SlayerRace.ToString(), SlayerHF == null ? SlayerHFID.ToString() : SlayerHF.ToString(), Site == null ? SiteID.ToString() : Site.AltName)); case "slaughtered": return(string.Format("{0} {2} a {1} was slaughtered in {5} by {4} a {3}.", timestring, HF.Race, HF, SlayerRace == null ? "" : SlayerRace.ToString(), SlayerHF == null ? SlayerHFID.ToString() : SlayerHF.ToString(), Site == null ? SiteID.ToString() : Site.AltName)); case "trap": return(string.Format("{0} the {1} {2} was killed by a trap in {3}.", timestring, HF.Race, HF, Site.AltName)); case "blood drained": return(string.Format("{0} the {1} {2} was drained of blood by \nthe {3} {4} in {5}.", timestring, HF.Race, HF, SlayerRace == null ? "" : SlayerRace.ToString(), SlayerHF == null ? SlayerHFID.ToString() : SlayerHF.ToString(), Site != null ? Site.AltName : (SiteID != null ? SiteID.ToString() : Subregion.ToString()))); } return(timestring); }