Пример #1
0
 protected override void WriteDataOnParent(MainForm frm, Control parent, ref Point location)
 {
     //TODO: Incorporate new data
     EventLabel(frm, parent, ref location, "HF:", Hf);
     EventLabel(frm, parent, ref location, "Cause:", Causes[Cause]);
     if (Artifact_SlayerItem != null)
     {
         EventLabel(frm, parent, ref location, "Weapon:", Artifact_SlayerItem);
     }
     if (Artifact_SlayerShooterItem != null)
     {
         EventLabel(frm, parent, ref location, "Bow:", Artifact_SlayerShooterItem);
     }
     if (Hf_Slayer != null)
     {
         EventLabel(frm, parent, ref location, "Slayer:", Hf_Slayer);
     }
     else if (HfId_Slayer.HasValue)
     {
         EventLabel(frm, parent, ref location, "Slayer:", HfId_Slayer.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());
     }
 }
Пример #2
0
        protected override string LegendsDescription()
        {
            var timestring = base.LegendsDescription();

            var locationText = "";

            if (Site != null)
            {
                locationText = Site.AltName;
            }
            else if (Subregion != null)
            {
                locationText = Subregion.ToString();
            }

            var hfText = Hf != null ? $"{Hf.Race} {Hf}" : "UNKNOWN";

            switch (Causes[Cause])
            {
            case "struck":
                if (ItemID == null)
                {
                    return
                        ($"{timestring} the {hfText} was struck down by \nthe {SlayerRace?.ToString() ?? ""} {Hf_Slayer?.ToString() ?? HfId_Slayer.ToString()} in {locationText}.");
                }
                if (Artifact_SlayerItem != null)
                {
                    return
                        ($"{timestring} the {hfText} was struck down by \n the {SlayerRace?.ToString() ?? ""} {Hf_Slayer?.ToString() ?? HfId_Slayer.ToString()} with {Artifact_SlayerItem} in {locationText}.");
                }
                if (ItemType != null && Item.ItemTypes[ItemType.Value] == "corpsepiece")
                {
                    return
                        ($"{timestring} the {hfText} was struck down by \nthe {SlayerRace?.ToString() ?? ""} {Hf_Slayer?.ToString() ?? HfId_Slayer.ToString()} {"with a body part"} in {locationText}.");
                }
                if (ItemType != null && Item.ItemTypes[ItemType.Value] == "corpse")
                {
                    return
                        ($"{timestring} the {hfText} was struck down by \nthe {SlayerRace?.ToString() ?? ""} {Hf_Slayer?.ToString() ?? HfId_Slayer.ToString()} {"with a corpse"} in {locationText}.");
                }
                if (Mat != null && ItemType != null && ItemSubType == null)     //Test
                {
                    return
                        ($"{timestring} the {hfText} was struck down by \nthe {SlayerRace?.ToString() ?? ""} {Hf_Slayer?.ToString() ?? HfId_Slayer.ToString()} {"with a " + Item.Materials[Mat.Value] + " " + Item.ItemTypes[ItemType.Value]} in {locationText}.");
                }
                if (Mat != null && ItemType != null && ItemSubType != null)
                {
                    return
                        ($"{timestring} the {hfText} was struck down by \nthe {SlayerRace?.ToString() ?? ""} {Hf_Slayer?.ToString() ?? HfId_Slayer.ToString()} {"with a " + Item.Materials[Mat.Value] + " " + Item.ItemSubTypes[ItemSubType.Value]} in {locationText}.");
                }
                return
                    ($"{timestring} the {hfText} was struck down by \nthe {SlayerRace?.ToString() ?? ""} {Hf_Slayer?.ToString() ?? HfId_Slayer.ToString()} {"with "} in {locationText}.");

            case "shot":
                if (BowItem == null)
                {
                    if (Mat != null && ItemType != null && ItemSubType != null)
                    {
                        return
                            ($"{timestring} the {hfText} was shot and killed by \nthe {SlayerRace?.ToString() ?? ""} {Hf_Slayer?.ToString() ?? HfId_Slayer.ToString()} {"with a " + Item.Materials[Mat.Value] + " " + Item.ItemSubTypes[ItemSubType.Value]} in {locationText}.");
                    }
                    return
                        ($"{timestring} the {hfText} was shot and killed by \nthe {SlayerRace?.ToString() ?? ""} {Hf_Slayer?.ToString() ?? HfId_Slayer.ToString()} in {locationText} " +
                         $"with a {(Mat.HasValue ? Item.Materials[Mat.Value] : "UNKNOWN")}  {(ItemSubType.HasValue ? Item.ItemSubTypes[ItemSubType.Value] : "UNKNOWN")}");
                }
                if (Artifact_SlayerShooterItem != null)
                {
                    return
                        ($"{timestring} the {hfText} was shot and killed by \n the {SlayerRace?.ToString() ?? ""} {Hf_Slayer?.ToString() ?? HfId_Slayer.ToString()} with {Artifact_SlayerShooterItem} in {locationText}.");
                }
                if (BowMat != null && BowItemType != null && BowItemSubType == null && ItemType != null && Mat != null)     //Test
                {
                    return
                        ($"{timestring} the {hfText} was shot and killed by \nthe {SlayerRace?.ToString() ?? ""} {Hf_Slayer?.ToString() ?? HfId_Slayer.ToString()} {"with a " + Item.Materials[Mat.Value] + " " + Item.ItemTypes[ItemType.Value]} in {locationText}.");
                }
                if (BowMat != null && BowItemType != null && BowItemSubType != null && Mat != null && ItemType != null && ItemSubType != null)
                {
                    return
                        ($"{timestring} the {hfText} was shot and killed by \nthe {SlayerRace?.ToString() ?? ""} {Hf_Slayer?.ToString() ?? HfId_Slayer.ToString()} {"with a " + Item.Materials[Mat.Value] + " " + Item.ItemSubTypes[ItemSubType.Value] + " from a " + Item.Materials[BowMat.Value] + " " + Item.ItemSubTypes[BowItemSubType.Value]} in {locationText}.");
                }
                return
                    ($"{timestring} the {hfText} was shot and killed by \nthe {SlayerRace?.ToString() ?? ""} {Hf_Slayer?.ToString() ?? HfId_Slayer.ToString()} {"with "} in {locationText}.");

            case "murdered":
                return
                    ($"{timestring} the {hfText} was murdered by \nthe {SlayerRace?.ToString() ?? ""} {Hf_Slayer?.ToString() ?? HfId_Slayer.ToString()} in {locationText}.");

            case "old age":
                return($"{timestring} the {hfText} died of old age.");

            case "infection":
                return
                    ($"{timestring} the {hfText} succumbed to infection, slain by \nthe {SlayerRace?.ToString() ?? ""} {Hf_Slayer?.ToString() ?? HfId_Slayer.ToString()} in {locationText}.");

            case "blood":
                return(Hf_Slayer == null ?
                       $"{timestring} the {hfText} bled to death in {locationText}." :
                       $"{timestring} the {hfText} bled to death, slain by the {SlayerRace?.ToString() ?? ""} {Hf_Slayer} with ITEM: {ArtifiactId_SlayerItem} in {locationText}.");

            case "thirst":
                return($"{timestring} the {hfText} died of thirst in {locationText}.");

            case "collapsed":
                return
                    ($"{timestring} the {hfText} collapsed, struck down by \nthe {SlayerRace?.ToString() ?? ""} {Hf_Slayer?.ToString() ?? HfId_Slayer.ToString()} in {locationText}.");

            case "vanish":
                return($"{timestring} the {hfText} vanished in {locationText}.");

            case "drown":
                return($"{timestring} the {hfText} drowned in {locationText}.");

            case "crushed bridge":
                return($"{timestring} the {hfText} was crushed by a drawbridge in {locationText}.");

            case "put to rest":
                return($"{timestring} the {hfText} was put to rest in {locationText}.");

            case "quitdead":
                return($"{timestring} the {hfText} starved to death in {locationText}.");

            case "exec beheaded":
                return
                    ($"{timestring} the {hfText} was beheaded by \nthe {SlayerRace?.ToString() ?? ""} {Hf_Slayer?.ToString() ?? HfId_Slayer.ToString()} in {locationText}.");

            case "exec burned alive":
                return
                    ($"{timestring} the {hfText} burned \nthe {(SlayerRace?.ToString() ?? "")} {(Hf_Slayer?.ToString() ?? HfId_Slayer.ToString())} alive in {locationText}.");

            case "exec fed to beasts":
                return
                    ($"{timestring} the {hfText} fed \nthe {(SlayerRace?.ToString() ?? "")} {(Hf_Slayer?.ToString() ?? HfId_Slayer.ToString())} to beasts in {locationText}.");

            case "exec hacked to pieces":
                return
                    ($"{timestring} the {hfText} hacked \nthe {(SlayerRace?.ToString() ?? "")} {(Hf_Slayer?.ToString() ?? HfId_Slayer.ToString())} to pieces in {locationText}.");

            case "exec drowned":
                return
                    ($"{timestring} the {hfText} drowned \nthe {(SlayerRace?.ToString() ?? "")} {(Hf_Slayer?.ToString() ?? HfId_Slayer.ToString())} in {locationText}.");

            case "exec buried alive":
                return
                    ($"{timestring} the {hfText} buried \nthe {(SlayerRace?.ToString() ?? "")} {(Hf_Slayer?.ToString() ?? HfId_Slayer.ToString())} alive in {locationText}.");

            case "exec crucified":
                return
                    ($"{timestring} the {hfText} was crucified by \nthe {(SlayerRace?.ToString() ?? "")} {(Hf_Slayer?.ToString() ?? HfId_Slayer.ToString())} alive in {locationText}.");

            case "air":
                return
                    ($"{timestring} the {hfText} suffocated, slain by {(SlayerRace?.ToString() ?? "")} {(Hf_Slayer?.ToString() ?? HfId_Slayer.ToString())} alive in {locationText}.");

            case "obstacle":
                return
                    ($"{timestring} the {hfText} died after colliding with an obstacle, slain by {(SlayerRace?.ToString() ?? "")} {(Hf_Slayer?.ToString() ?? HfId_Slayer.ToString())} in {locationText}.");

            case "hunger":
                return($"{timestring} the {hfText} starved to death in {locationText}.");

            case "scuttled":
                return($"{timestring} {hfText} was scuttled in {locationText}.");

            case "spikes":
                return($"{timestring} the {hfText} was impaled on spikes in {locationText}.");

            case "scared to death":
                return
                    ($"{timestring} the {hfText} was scared to death by \nthe {(SlayerRace?.ToString() ?? "")} {(Hf_Slayer?.ToString() ?? HfId_Slayer.ToString())} in {locationText}.");

            case "slaughtered":
                return($"{timestring} the {hfText} was slaughtered in {locationText} by {Hf_Slayer?.ToString() ?? HfId_Slayer.ToString()} a {SlayerRace?.ToString() ?? ""}.");

            case "trap":
                return($"{timestring} the {hfText} was killed by a trap in {locationText}.");

            case "blood drained":
                return
                    ($"{timestring} the {hfText} was drained of blood by \nthe {(SlayerRace?.ToString() ?? "")} {(Hf_Slayer?.ToString() ?? HfId_Slayer.ToString())} in {locationText}.");
            }

            return(timestring);
        }