예제 #1
0
        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);
        }
예제 #2
0
        internal override string ToTimelineString()
        {
            string timelinestring = base.ToTimelineString();

            if (Site == null)
            {
                if (SlayerHF == null)
                {
                    return(string.Format("{0} {1} died.",
                                         timelinestring, HF != null ? HF.ToString() : HFID.ToString()));
                }
                else
                {
                    return(string.Format("{0} {1} killed by {2}.",
                                         timelinestring, HF != null ? HF.ToString() : HFID.ToString(), SlayerHF.ToString()));
                }
            }
            else
            {
                if (SlayerHF == null)
                {
                    return(string.Format("{0} {1} died at {2}",
                                         timelinestring, HF != null ? HF.ToString() : HFID.ToString(), Site.AltName));
                }
                else
                {
                    return(string.Format("{0} {1} killed at {2} by {3}",
                                         timelinestring, HF != null ? HF.ToString() : HFID.ToString(), Site.AltName, SlayerHF.ToString()));
                }
            }
        }