public override string Print(bool link = true, DwarfObject pov = null) { string eventString = GetYearTime(); eventString += HistoricalFigure.ToLink(link, pov); if (RaisedBefore) { eventString += " came back from the dead once more, this time as a " + _ghost; } else { eventString += " came back from the dead as a " + _ghost; } eventString += " in "; if (Site != null) { eventString += Site.ToLink(link, pov); } else if (Region != null) { eventString += Region.ToLink(link, pov); } else if (UndergroundRegion != null) { eventString += UndergroundRegion.ToLink(link, pov); } else { eventString += "UNKNOWN LOCATION"; } eventString += PrintParentCollection(link, pov); eventString += "."; return(eventString); }
public override string Print(bool link = true, DwarfObject pov = null) { string eventString = GetYearTime(); eventString += Artifact != null?Artifact.ToLink(link, pov, this) : "UNKNOWN ARTIFACT"; eventString += " was lost"; if (SiteProperty != null) { eventString += " in "; eventString += SiteProperty.Print(link, pov); } if (Site != null) { eventString += " in "; eventString += Site.ToLink(link, pov, this); } else if (Region != null) { eventString += " in "; eventString += Region.ToLink(link, pov, this); } else if (UndergroundRegion != null) { eventString += " in "; eventString += UndergroundRegion.ToLink(link, pov, this); } eventString += PrintParentCollection(link, pov); eventString += "."; return(eventString); }
public override string Print(bool link = true, DwarfObject pov = null) { string eventString = GetYearTime(); eventString += GroupHistoricalFigure.ToLink(link, pov, this); eventString += " performed horrible experiments"; if (Structure != null) { eventString += " in "; eventString += Structure.ToLink(link, pov, this); } if (Site != null) { eventString += " in "; eventString += Site.ToLink(link, pov, this); } else if (Region != null) { eventString += " in "; eventString += Region.ToLink(link, pov, this); } else if (UndergroundRegion != null) { eventString += " in "; eventString += UndergroundRegion.ToLink(link, pov, this); } eventString += PrintParentCollection(link, pov); eventString += "."; return(eventString); }
public override string Print(bool link = true, DwarfObject pov = null) { string eventString = GetYearTime(); eventString += HistoricalFigure != null?HistoricalFigure.ToLink(link, pov, this) : "UNKNOWN HISTORICAL FIGURE"; eventString += " reached the summit"; if (Region != null) { eventString += ", which rises above "; eventString += Region.ToLink(link, pov, this); } else if (UndergroundRegion != null) { eventString += ", in the depths of "; eventString += UndergroundRegion.ToLink(link, pov, this); } if (Site != null) { eventString += " in "; eventString += Site.ToLink(link, pov, this); } eventString += "."; return(eventString); }
public override string Print(bool link = true, DwarfObject pov = null) { string eventString = GetYearTime() + HistoricalFigure.ToLink(link, pov) + " tamed the creatures named "; if (!string.IsNullOrWhiteSpace(Pet)) { eventString += Pet; } else { eventString += "UNKNOWN"; } if (Site != null) { eventString += " in " + Site.ToLink(link, pov); } else if (Region != null) { eventString += " in " + Region.ToLink(link, pov); } else if (UndergroundRegion != null) { eventString += " in " + UndergroundRegion.ToLink(link, pov); } if (!(ParentCollection is Journey)) { eventString += PrintParentCollection(link, pov); } eventString += "."; return(eventString); }
public override string Print(bool link = true, DwarfObject pov = null) { string eventString = GetYearTime() + Artifact.ToLink(link, pov, this); switch (ArtifactReason) { case ArtifactReason.ArtifactIsHeirloomOfFamilyHfid: eventString += " was acquired"; break; case ArtifactReason.ArtifactIsSymbolOfEntityPosition: eventString += " was acquired"; break; default: eventString += " was claimed"; break; } if (Site != null) { eventString += " in "; eventString += Site.ToLink(link, pov, this); } else if (Region != null) { eventString += " in "; eventString += Region.ToLink(link, pov, this); } else if (UndergroundRegion != null) { eventString += " in "; eventString += UndergroundRegion.ToLink(link, pov, this); } eventString += " by " + HistoricalFigure.ToLink(link, pov, this); switch (ArtifactReason) { case ArtifactReason.ArtifactIsHeirloomOfFamilyHfid: eventString += " as an heirloom of the "; eventString += FamilyFigure?.ToLink(link, pov, this); eventString += " family"; break; case ArtifactReason.ArtifactIsSymbolOfEntityPosition: eventString += " as a symbol of authority within "; eventString += SymbolEntity?.ToLink(link, pov, this); break; } switch (Circumstance) { case Circumstance.HfIsDead: eventString += " after the death of "; eventString += FormerHolder?.ToLink(link, pov, this); break; } eventString += PrintParentCollection(link, pov); eventString += "."; return(eventString); }
public override string Print(bool link = true, DwarfObject pov = null) { string eventString = GetYearTime(); eventString += HistoricalFigure.ToLink(link, pov, this); if (Disturbance) { eventString += " was disturbed from eternal rest"; } else { eventString += Actor != null ? " was brought" : " came"; eventString += " back from the dead"; } if (RaisedBefore) { eventString += " once more"; } if (Actor != null) { eventString += " by "; eventString += Actor.ToLink(link, pov, this); } if (!string.IsNullOrWhiteSpace(_ghost)) { if (RaisedBefore) { eventString += ", this time"; } eventString += " as a " + _ghost; } if (Site != null) { eventString += " in "; eventString += Site.ToLink(link, pov, this); } else if (Region != null) { eventString += " in "; eventString += Region.ToLink(link, pov, this); } else if (UndergroundRegion != null) { eventString += " in "; eventString += UndergroundRegion.ToLink(link, pov, this); } eventString += PrintParentCollection(link, pov); eventString += "."; return(eventString); }
public override string Print(bool link = true, DwarfObject pov = null) { string eventString = GetYearTime(); eventString += Gambler.ToLink(link, pov, this); // same ranges like in "trade" event var balance = NewAccount - OldAccount; if (balance >= 5000) { eventString += " made a fortune"; } else if (balance >= 1000) { eventString += " did well"; } else if (balance <= -1000) { eventString += " did poorly"; } else if (balance <= -5000) { eventString += " lost a fortune"; } else { eventString += " broke even"; } eventString += " gambling"; if (Site != null) { eventString += " in "; eventString += Site.ToLink(link, pov, this); } else if (Region != null) { eventString += " in "; eventString += Region.ToLink(link, pov, this); } else if (UndergroundRegion != null) { eventString += " in "; eventString += UndergroundRegion.ToLink(link, pov, this); } if (Structure != null) { eventString += " at "; eventString += Structure.ToLink(link, pov, this); } eventString += PrintParentCollection(link, pov); eventString += "."; return(eventString); }
public override string Print(bool link = true, DwarfObject pov = null) { string eventString = GetYearTime(); eventString += GroupHistoricalFigure.ToLink(link, pov, this); eventString += " purchased "; if (Quality == 1) { eventString += "well-crafted "; } else if (Quality == 2) { eventString += "finely-crafted "; } else if (Quality == 3) { eventString += "superior quality "; } else if (Quality == 4) { eventString += "exceptional "; } else if (Quality == 5) { eventString += "masterwork "; } eventString += "equipment"; if (Site != null) { eventString += " in "; eventString += Site.ToLink(link, pov, this); } else if (Region != null) { eventString += " in "; eventString += Region.ToLink(link, pov, this); } else if (UndergroundRegion != null) { eventString += " in "; eventString += UndergroundRegion.ToLink(link, pov, this); } if (Structure != null) { eventString += " at "; eventString += Structure.ToLink(link, pov, this); } eventString += PrintParentCollection(link, pov); eventString += "."; return(eventString); }
public override string Print(bool link = true, DwarfObject pov = null) { string eventString = GetYearTime(); if (Eater != null) { eventString += Eater.ToLink(link, pov); } else { eventString += "UNKNOWN HISTORICAL FIGURE"; } eventString += " devoured "; if (Victim != null) { eventString += Victim.ToLink(link, pov); } else if (!string.IsNullOrWhiteSpace(Race)) { eventString += " a "; if (!string.IsNullOrWhiteSpace(Caste)) { eventString += Caste + " "; } eventString += Race; } else { eventString += "UNKNOWN HISTORICAL FIGURE"; } eventString += " in "; if (Site != null) { eventString += Site.ToLink(link, pov); } else if (Region != null) { eventString += Region.ToLink(link, pov); } else if (UndergroundRegion != null) { eventString += UndergroundRegion.ToLink(link, pov); } eventString += PrintParentCollection(link, pov); eventString += "."; return(eventString); }
public override string Print(bool link = true, DwarfObject pov = null) { string eventString = GetYearTime(); if (Woundee != null) { eventString += Woundee.ToLink(link, pov, this); } else { eventString += "UNKNOWN HISTORICAL FIGURE"; } eventString += " was wounded by "; if (Wounder != null) { eventString += Wounder.ToLink(link, pov, this); } else { eventString += "UNKNOWN HISTORICAL FIGURE"; } if (Site != null) { eventString += " in " + Site.ToLink(link, pov, this); } else if (Region != null) { eventString += " in " + Region.ToLink(link, pov, this); } else if (UndergroundRegion != null) { eventString += " in " + UndergroundRegion.ToLink(link, pov, this); } if (WasTorture) { eventString += " as a means of torture"; } eventString += PrintParentCollection(link, pov); eventString += "."; return(eventString); }
public override string Print(bool link = true, DwarfObject pov = null) { string eventString = GetYearTime(); eventString += Artifact.ToLink(link, pov, this); eventString += " was found"; if (HistoricalFigure != null) { eventString += " by "; eventString += HistoricalFigure.ToLink(link, pov, this); } if (SiteProperty != null) { eventString += " in "; eventString += SiteProperty.Print(link, pov); } else if (Structure != null) { eventString += " inside "; eventString += Structure.ToLink(link, pov, this); } if (Site != null) { eventString += " in "; eventString += Site.ToLink(link, pov, this); } else if (Region != null) { eventString += " in "; eventString += Region.ToLink(link, pov, this); } else if (UndergroundRegion != null) { eventString += " in "; eventString += UndergroundRegion.ToLink(link, pov, this); } eventString += PrintParentCollection(link, pov); eventString += "."; return(eventString); }
public override string Print(bool link = true, DwarfObject pov = null) { string eventString = GetYearTime(); eventString += JoinerEntity.ToLink(link, pov, this); if (PartialIncorporation) { eventString += " began operating at the direction of "; } else { eventString += " fully incorporated into "; } eventString += JoinedEntity.ToLink(link, pov, this); if (Leader != null) { eventString += " under the leadership of "; eventString += Leader.ToLink(link, pov, this); } if (Site != null) { eventString += " in "; eventString += Site.ToLink(link, pov, this); } else if (Region != null) { eventString += " in "; eventString += Region.ToLink(link, pov, this); } else if (UndergroundRegion != null) { eventString += " in "; eventString += UndergroundRegion.ToLink(link, pov, this); } eventString += PrintParentCollection(link, pov); eventString += "."; return(eventString); }
public override string Print(bool link = true, DwarfObject pov = null) { string eventString = GetYearTime() + HistoricalFigure.ToLink(link, pov, this); if (Escaped) { return(GetYearTime() + HistoricalFigure.ToLink(link, pov, this) + " escaped from the " + UndergroundRegion.ToLink(link, pov, this)); } if (Returned) { eventString += " returned to "; } else { eventString += " made a journey to "; } if (UndergroundRegion != null) { eventString += UndergroundRegion.ToLink(link, pov, this); } else if (Site != null) { eventString += Site.ToLink(link, pov, this); } else if (Region != null) { eventString += Region.ToLink(link, pov, this); } if (!(ParentCollection is Journey)) { eventString += PrintParentCollection(link, pov); } eventString += "."; return(eventString); }
public override string Print(bool link = true, DwarfObject pov = null) { string eventString = GetYearTime(); eventString += HistoricalFigure.ToLink(link, pov, this); if (WasHired) { eventString += " was hired"; if (AsScout) { eventString += " as a scout"; } eventString += " to fight in "; } else { eventString += " fought in "; } eventString += Battle.ToLink(link, pov, this); if (Site != null) { eventString += " an assault on "; eventString += Site.ToLink(link, pov, this); } else if (Region != null) { eventString += " in "; eventString += Region.ToLink(link, pov, this); } else if (UndergroundRegion != null) { eventString += " in "; eventString += UndergroundRegion.ToLink(link, pov, this); } eventString += "."; return(eventString); }
public override string Print(bool link = true, DwarfObject pov = null) { string eventString = GetYearTime(); if (Bodies.Count > 1) { eventString += "the bodies of "; for (int i = 0; i < Bodies.Count; i++) { eventString += Bodies[i].ToLink(link, pov, this) ?? "UNKNOWN HISTORICAL FIGURE"; if (i != Bodies.Count - 1) { if (i == Bodies.Count - 2) { eventString += " and "; } else { eventString += ", "; } } } eventString += " were "; } else { eventString += "the body of "; eventString += Bodies.FirstOrDefault()?.ToLink(link, pov, this) ?? "UNKNOWN HISTORICAL FIGURE"; eventString += " was "; } switch (AbuseType) { case AbuseType.Impaled: eventString += "impaled on a "; eventString += !string.IsNullOrWhiteSpace(Material) ? Material + " " : ""; if (!string.IsNullOrWhiteSpace(ItemSubType) && ItemSubType != "-1") { eventString += ItemSubType; } else { eventString += !string.IsNullOrWhiteSpace(ItemType) ? ItemType : "UNKNOWN ITEM"; } break; case AbuseType.Piled: eventString += "added to a " + PileType.GetDescription(); break; case AbuseType.Flayed: eventString += "flayed"; break; case AbuseType.Hung: eventString += "hung"; break; case AbuseType.Mutilated: eventString += "horribly mutilated"; break; case AbuseType.Animated: eventString += "animated"; break; default: eventString += "abused"; break; } eventString += " by "; if (HistoricalFigure != null) { eventString += HistoricalFigure.ToLink(link, pov, this); if (Abuser != null) { eventString += " of "; } } if (Abuser != null) { eventString += Abuser.ToLink(link, pov, this); } if (Structure != null) { eventString += " in "; eventString += Structure.ToLink(link, pov, this); } if (Site != null) { eventString += " in "; eventString += Site.ToLink(link, pov, this); } else if (Region != null) { eventString += " in "; eventString += Region.ToLink(link, pov, this); } else if (UndergroundRegion != null) { eventString += " in "; eventString += UndergroundRegion.ToLink(link, pov, this); } eventString += PrintParentCollection(link, pov); eventString += "."; return(eventString); }
public override string Print(bool link = true, DwarfObject pov = null) { string eventString = GetYearTime() + HistoricalFigure.ToLink(link, pov); if (State == HfState.Visiting) { eventString += " visited "; } else if (State == HfState.Settled) { switch (SubState) { case 45: eventString += " fled to "; break; case 46: case 47: eventString += " moved to study in "; break; default: eventString += " settled in "; break; } } else if (State == HfState.Wandering) { eventString += " began wandering "; } else if (State == HfState.Refugee || State == HfState.Snatcher || State == HfState.Thief) { eventString += " became a " + State.ToString().ToLower() + " in "; } else if (State == HfState.Scouting) { eventString += " began scouting the area around "; } else if (State == HfState.Hunting) { eventString += " began hunting great beasts in "; } else if (Mood != Mood.Unknown) { switch (Mood) { case Mood.Macabre: eventString += " began to skulk and brood in "; break; case Mood.Secretive: eventString += " withdrew from society in "; break; case Mood.Insane: eventString += " became crazed in "; break; case Mood.Possessed: eventString += " was possessed in "; break; case Mood.Berserk: eventString += " went berserk in "; break; case Mood.Fey: eventString += " was taken by a fey mood in "; break; case Mood.Melancholy: eventString += " was striken by melancholy in "; break; case Mood.Fell: eventString += " was taken by a fell mood in "; break; case Mood.Catatonic: eventString += " stopped responding to the outside world in "; break; } } else { eventString += " changed state in "; } if (Site != null) { eventString += Site.ToLink(link, pov); } else if (Region != null) { eventString += Region.ToLink(link, pov); } else if (UndergroundRegion != null) { eventString += UndergroundRegion.ToLink(link, pov); } else { eventString += "the wilds"; } if (Reason != ChangeHfStateReason.Unknown) { switch (Reason) { case ChangeHfStateReason.FailedMood: eventString += " after failing to create an artifact"; break; case ChangeHfStateReason.GatherInformation: eventString += " to gather information"; break; case ChangeHfStateReason.BeWithMaster: eventString += " in order to be with the master"; break; case ChangeHfStateReason.Flight: eventString += " in order to flee"; break; case ChangeHfStateReason.Scholarship: eventString += " in order to pursue scholarship"; break; case ChangeHfStateReason.Pilgrimage: eventString += " on a pilgrimage"; break; case ChangeHfStateReason.LackOfSleep: eventString += " due to lack of sleep"; break; } } eventString += PrintParentCollection(link, pov); eventString += "."; return(eventString); }
public override string Print(bool link = true, DwarfObject pov = null) { string eventString = GetYearTime(); eventString += CorruptorHf.ToLink(link, pov, this); eventString += " attempted to corrupt "; eventString += TargetHf.ToLink(link, pov, this); switch (Action) { case IntrigueAction.BribeOfficial: eventString += " in order to have law enforcement look the other way"; break; case IntrigueAction.InduceToEmbezzle: eventString += " in order to secure embezzled funds"; break; case IntrigueAction.CorruptInPlace: eventString += " in order to have an agent"; break; case IntrigueAction.BringIntoNetwork: eventString += " in order to have someone to act on plots and schemes"; break; } if (Site != null) { eventString += " in "; eventString += Site.ToLink(link, pov, this); } else if (Region != null) { eventString += " in "; eventString += Region.ToLink(link, pov, this); } else if (UndergroundRegion != null) { eventString += " in "; eventString += UndergroundRegion.ToLink(link, pov, this); } else { eventString += " in the wilds"; } eventString += PrintParentCollection(link, pov); eventString += ". "; if (LureHf != null) { eventString += LureHf.ToLink(link, pov, this).ToUpperFirstLetter(); eventString += " lured "; eventString += TargetHf.ToLink(link, pov, this); eventString += " into a meeting"; } else { eventString += CorruptorHf.ToLink(link, pov, this).ToUpperFirstLetter(); eventString += " met with "; eventString += TargetHf.ToLink(link, pov, this); } eventString += " and, while completely misreading the situation, "; switch (Method) { case IntrigueMethod.Intimidate: eventString += "made a threat. "; //eventString += TargetHf.ToLink(link, pov, this).ToUpperFirstLetter(); //eventString += " was unfraid and refused."; break; case IntrigueMethod.Flatter: eventString += "made flattering remarks. "; //eventString += TargetHf.ToLink(link, pov, this).ToUpperFirstLetter(); //eventString += " hated "; //eventString += CorruptorHf.ToLink(link, pov, this); //eventString += " and refused."; break; case IntrigueMethod.Bribe: eventString += "offered a bribe. "; break; case IntrigueMethod.Precedence: eventString += "pulled rank. "; break; case IntrigueMethod.OfferImmortality: eventString += "offered immortality. "; break; case IntrigueMethod.ReligiousSympathy: eventString += $"played on sympathy by appealing to a shared worship of {World.GetHistoricalFigure(RelevantIdForMethod)?.ToLink(link, pov, this)}. "; break; case IntrigueMethod.BlackmailOverEmbezzlement: var position = RelevantEntity?.EntityPositions.FirstOrDefault(p => p.Id == RelevantPositionProfileId); eventString += $"made a blackmail threat, due to embezzlement using the position {position?.Name} of {RelevantEntity?.ToLink(link, pov, this)}. "; break; case IntrigueMethod.RevengeOnGrudge: eventString += $"offered revenge upon {World.GetHistoricalFigure(RelevantIdForMethod)?.ToLink(link, pov, this)}. "; break; } eventString += "The plan failed."; // TODO create the right sentences for facet, value and relationship factors //eventString += "<br/>"; //if (TopFacet != null) //{ // eventString += $" TopFacet: {TopFacet} ({TopFacetRating}/{TopFacetModifier}) "; //} //if (TopValue != null) //{ // eventString += $" TopValue: {TopValue} ({TopValueRating}/{TopValueModifier}) "; //} //if (TopRelationshipFactor != null) //{ // eventString += $" TopRelationshipFactor: {TopRelationshipFactor} ({TopRelationshipRating}/{TopRelationshipModifier}) "; //} //if (FailedJudgmentTest) //{ // eventString += " FailedJudgmentTest "; //} //if (AllyDefenseBonus != 0) //{ // eventString += $" AllyDefenseBonus: {AllyDefenseBonus}"; //} //if (CoConspiratorBonus != 0) //{ // eventString += $" CoConspiratorBonus: {CoConspiratorBonus}"; //} return(eventString); }
private string GetDeathString(bool link = true, DwarfObject pov = null) { string eventString = ""; eventString += HistoricalFigure.ToLink(link, pov, this) + " "; string deathString = ""; if (Slayer != null || SlayerRace != "UNKNOWN" && SlayerRace != "-1") { string slayerString; if (Slayer == null) { slayerString = " a " + SlayerRace.ToLower(); } else { slayerString = Slayer.ToLink(link, pov, this); } switch (Cause) { case DeathCause.DragonsFire: deathString = "burned up in " + slayerString + "'s dragon fire"; break; case DeathCause.Burned: deathString = "was burned to death by " + slayerString + "'s fire"; break; case DeathCause.Murdered: deathString = "was murdered by " + slayerString; break; case DeathCause.Shot: deathString = "was shot and killed by " + slayerString; break; case DeathCause.Struck: deathString = "was struck down by " + slayerString; break; case DeathCause.ExecutedGeneric: deathString = "was executed by " + slayerString; break; case DeathCause.ExecutedBuriedAlive: deathString = "was buried alive by " + slayerString; break; case DeathCause.ExecutedBurnedAlive: deathString = "was burned alive by " + slayerString; break; case DeathCause.ExecutedCrucified: deathString = "was crucified by " + slayerString; break; case DeathCause.ExecutedDrowned: deathString = "was drowned by " + slayerString; break; case DeathCause.ExecutedFedToBeasts: deathString = "was fed to beasts by " + slayerString; break; case DeathCause.ExecutedHackedToPieces: deathString = "was hacked to pieces by " + slayerString; break; case DeathCause.ExecutedBeheaded: deathString = "was beheaded by " + slayerString; break; case DeathCause.DrainedBlood: deathString = "was drained of blood by " + slayerString; break; case DeathCause.Collapsed: deathString = "collapsed, struck down by " + slayerString; break; case DeathCause.ScaredToDeath: deathString = " was scared to death by " + slayerString; break; case DeathCause.Bled: deathString = " bled to death, slain by " + slayerString; break; case DeathCause.Spikes: deathString = " was impaled by " + slayerString; break; default: deathString += ", slain by " + slayerString; break; } } else { switch (Cause) { case DeathCause.Thirst: deathString = "died of thirst"; break; case DeathCause.OldAge: deathString = "died of old age"; break; case DeathCause.Suffocated: deathString = "suffocated"; break; case DeathCause.Bled: deathString = "bled to death"; break; case DeathCause.Cold: deathString = "froze to death"; break; case DeathCause.CrushedByABridge: deathString = "was crushed by a drawbridge"; break; case DeathCause.Drowned: deathString = "drowned"; break; case DeathCause.Starved: deathString = "starved to death"; break; case DeathCause.Infection: deathString = "succumbed to infection"; break; case DeathCause.CollidedWithAnObstacle: deathString = "died after colliding with an obstacle"; break; case DeathCause.PutToRest: deathString = "was put to rest"; break; case DeathCause.StarvedQuit: deathString = "starved"; break; case DeathCause.Trap: deathString = "was killed by a trap"; break; case DeathCause.CaveIn: deathString = "was crushed under a collapsing ceiling"; break; case DeathCause.InACage: deathString = "died in a cage"; break; case DeathCause.FrozenInWater: deathString = "was incased in ice"; break; case DeathCause.Scuttled: deathString = "was scuttled"; break; case DeathCause.Slaughtered: deathString = "was slaughtered"; break; case DeathCause.FlyingObject: deathString = "was killed by a flying object"; break; case DeathCause.ExecutedGeneric: deathString = "was executed"; break; case DeathCause.ExecutedBuriedAlive: deathString = "was buried alive"; break; case DeathCause.ExecutedBurnedAlive: deathString = "was burned alive"; break; case DeathCause.ExecutedCrucified: deathString = "was crucified"; break; case DeathCause.ExecutedDrowned: deathString = "was drowned"; break; case DeathCause.ExecutedFedToBeasts: deathString = "was fed to beasts"; break; case DeathCause.ExecutedHackedToPieces: deathString = "was hacked to pieces"; break; case DeathCause.ExecutedBeheaded: deathString = "was beheaded"; break; case DeathCause.Melted: deathString = "melted"; break; case DeathCause.Spikes: deathString = "was impaled"; break; case DeathCause.Heat: deathString = "died in the heat"; break; case DeathCause.Vanish: deathString = "vanished"; break; case DeathCause.CoolingMagma: deathString = "was encased in cooling magma"; break; case DeathCause.Vehicle: deathString = "was killed by a vehicle"; break; case DeathCause.SuicideDrowned: deathString = "drowned "; switch (HistoricalFigure.Caste) { case "Female": deathString += "herself "; break; case "Male": deathString += "himself "; break; default: deathString += "itself "; break; } break; case DeathCause.SuicideLeaping: deathString = "leapt from a great height"; break; case DeathCause.Chasm: deathString = "fell into a deep chasm"; break; case DeathCause.Unknown: deathString = "died (" + UnknownCause + ")"; break; } } eventString += deathString; if (ItemId >= 0) { if (Artifact != null) { eventString += " with " + Artifact.ToLink(link, pov, this); } else if (!string.IsNullOrWhiteSpace(ItemType) || !string.IsNullOrWhiteSpace(ItemSubType)) { eventString += " with a "; eventString += !string.IsNullOrWhiteSpace(ItemMaterial) ? ItemMaterial + " " : " "; eventString += !string.IsNullOrWhiteSpace(ItemSubType) ? ItemSubType : ItemType; } } else if (ShooterItemId >= 0) { if (ShooterArtifact != null) { eventString += " (shot) with " + ShooterArtifact.ToLink(link, pov, this); } else if (!string.IsNullOrWhiteSpace(ShooterItemType) || !string.IsNullOrWhiteSpace(ShooterItemSubType)) { eventString += " (shot) with a "; eventString += !string.IsNullOrWhiteSpace(ShooterItemMaterial) ? ShooterItemMaterial + " " : " "; eventString += !string.IsNullOrWhiteSpace(ShooterItemSubType) ? ShooterItemSubType : ShooterItemType; } } else if (SlayerItemId >= 0) { eventString += " with a (" + SlayerItemId + ")"; } else if (SlayerShooterItemId >= 0) { eventString += " (shot) with a (" + SlayerShooterItemId + ")"; } if (Site != null) { eventString += " in " + Site.ToLink(link, pov, this); } else if (Region != null) { eventString += " in " + Region.ToLink(link, pov, this); } else if (UndergroundRegion != null) { eventString += " in " + UndergroundRegion.ToLink(link, pov, this); } return(eventString); }