public HistoricalEventRelationShip(List <Property> properties, World world) : base(properties, world) { Type = "historical event relationship"; Seconds72 = -1; foreach (Property property in properties) { switch (property.Name) { case "event": Id = Convert.ToInt32(property.Value); break; case "source_hf": SourceHf = world.GetHistoricalFigure(Convert.ToInt32(property.Value)); break; case "target_hf": TargetHf = world.GetHistoricalFigure(Convert.ToInt32(property.Value)); break; case "year": Year = Convert.ToInt32(property.Value); break; case "relationship": RelationshipType = VagueRelationship.GetVagueRelationshipTypeByProperty(property, property.Value); break; } } SourceHf.AddEvent(this); TargetHf.AddEvent(this); }
public Sabotage(List <Property> properties, World world) : base(properties, world) { foreach (Property property in properties) { switch (property.Name) { case "saboteur_hfid": SaboteurHf = world.GetHistoricalFigure(Convert.ToInt32(property.Value)); break; case "target_hfid": TargetHf = world.GetHistoricalFigure(Convert.ToInt32(property.Value)); break; case "site_id": Site = world.GetSite(Convert.ToInt32(property.Value)); break; } } SaboteurHf.AddEvent(this); TargetHf.AddEvent(this); Site.AddEvent(this); }
public HfInterrogated(List <Property> properties, World world) : base(properties, world) { foreach (Property property in properties) { switch (property.Name) { case "target_hfid": TargetHf = world.GetHistoricalFigure(Convert.ToInt32(property.Value)); break; case "interrogator_hfid": InterrogatorHf = world.GetHistoricalFigure(Convert.ToInt32(property.Value)); break; case "arresting_enid": ArrestingEntity = world.GetEntity(Convert.ToInt32(property.Value)); break; case "held_firm_in_interrogation": property.Known = true; HeldFirmInInterrogation = true; break; case "wanted_and_recognized": property.Known = true; WantedAndRecognized = true; break; } } TargetHf.AddEvent(this); if (InterrogatorHf != TargetHf) { InterrogatorHf.AddEvent(this); } ArrestingEntity.AddEvent(this); }
public override string Print(bool link = true, DwarfObject pov = null) { string eventString = GetYearTime(); eventString += FramerHf.ToLink(link, pov, this); eventString += " attempted to frame "; eventString += TargetHf.ToLink(link, pov, this); eventString += $" for {Crime}"; if (PlotterHf != null) { eventString += " at the behest of "; eventString += PlotterHf.ToLink(link, pov, this); } eventString += " by fooling "; eventString += FooledHf.ToLink(link, pov, this); if (ConvicterEntity != null) { eventString += " and "; eventString += ConvicterEntity.ToLink(link, pov, this); } eventString += " with fabricated evidence, but nothing came from it"; eventString += PrintParentCollection(link, pov); eventString += "."; return(eventString); }
public FailedFrameAttempt(List <Property> properties, World world) : base(properties, world) { foreach (Property property in properties) { switch (property.Name) { case "target_hfid": TargetHf = world.GetHistoricalFigure(Convert.ToInt32(property.Value)); break; case "convicter_enid": ConvicterEntity = world.GetEntity(Convert.ToInt32(property.Value)); break; case "fooled_hfid": FooledHf = world.GetHistoricalFigure(Convert.ToInt32(property.Value)); break; case "framer_hfid": FramerHf = world.GetHistoricalFigure(Convert.ToInt32(property.Value)); break; case "plotter_hfid": PlotterHf = world.GetHistoricalFigure(Convert.ToInt32(property.Value)); break; case "crime": Crime = property.Value; break; } } TargetHf.AddEvent(this); ConvicterEntity.AddEvent(this); if (FooledHf != TargetHf) { FooledHf.AddEvent(this); } if (FramerHf != FooledHf) { FramerHf.AddEvent(this); } PlotterHf.AddEvent(this); }
public override string Print(bool link = true, DwarfObject pov = null) { string eventString = GetYearTime(); switch (RelationshipType) { case VagueRelationshipType.JealousObsession: eventString += SourceHf != null?SourceHf.ToLink(link, pov, this) : "UNKNOWN HISTORICAL FIGURE"; eventString += " became infatuated with "; eventString += TargetHf != null?TargetHf.ToLink(link, pov, this) : "UNKNOWN HISTORICAL FIGURE"; break; case VagueRelationshipType.Lieutenant: eventString += SourceHf != null?SourceHf.ToLink(link, pov, this) : "UNKNOWN HISTORICAL FIGURE"; eventString += " recognized "; eventString += TargetHf != null?TargetHf.ToLink(link, pov, this) : "UNKNOWN HISTORICAL FIGURE"; eventString += " as a capable "; eventString += RelationshipType.GetDescription().ToLower(); break; case VagueRelationshipType.FormerLover: eventString += SourceHf != null?SourceHf.ToLink(link, pov, this) : "UNKNOWN HISTORICAL FIGURE"; eventString += " and "; eventString += TargetHf != null?TargetHf.ToLink(link, pov, this) : "UNKNOWN HISTORICAL FIGURE"; eventString += " broke up"; break; default: eventString += SourceHf != null?SourceHf.ToLink(link, pov, this) : "UNKNOWN HISTORICAL FIGURE"; eventString += " and "; eventString += TargetHf != null?TargetHf.ToLink(link, pov, this) : "UNKNOWN HISTORICAL FIGURE"; eventString += " became "; eventString += RelationshipType.GetDescription().ToLower() + "s"; break; } 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(); eventString += SaboteurHf.ToLink(link, pov, this); eventString += " sabotaged the activities of "; eventString += TargetHf.ToLink(link, pov, this); if (Site != null) { eventString += " at "; eventString += Site.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 (WantedAndRecognized && HeldFirmInInterrogation) { eventString += TargetHf.ToLink(link, pov, this); eventString += " was recognized and arrested by "; eventString += ArrestingEntity.ToLink(link, pov, this); eventString += ". Despite the interrogation by "; eventString += InterrogatorHf.ToLink(link, pov, this); eventString += ", "; eventString += TargetHf.ToLink(link, pov, this); eventString += " refused to reveal anything and was released"; } else { eventString += TargetHf.ToLink(link, pov, this); eventString += " was interrogated"; } eventString += PrintParentCollection(link, pov); eventString += "."; return(eventString); }
// Similar to hfs formed intrigue relationship public FailedIntrigueCorruption(List <Property> properties, World world) : base(properties, world) { foreach (Property property in properties) { switch (property.Name) { case "corruptor_hfid": CorruptorHf = world.GetHistoricalFigure(Convert.ToInt32(property.Value)); break; case "target_hfid": TargetHf = world.GetHistoricalFigure(Convert.ToInt32(property.Value)); break; case "site_id": Site = world.GetSite(Convert.ToInt32(property.Value)); break; case "subregion_id": Region = world.GetRegion(Convert.ToInt32(property.Value)); break; case "feature_layer_id": UndergroundRegion = world.GetUndergroundRegion(Convert.ToInt32(property.Value)); break; case "failed_judgment_test": property.Known = true; FailedJudgmentTest = true; break; case "action": switch (property.Value.Replace("_", " ")) { case "bribe official": Action = IntrigueAction.BribeOfficial; break; case "induce to embezzle": Action = IntrigueAction.InduceToEmbezzle; break; case "corrupt in place": Action = IntrigueAction.CorruptInPlace; break; case "bring into network": Action = IntrigueAction.BringIntoNetwork; break; default: property.Known = false; break; } break; case "method": switch (property.Value.Replace("_", " ")) { case "intimidate": Method = IntrigueMethod.Intimidate; break; case "flatter": Method = IntrigueMethod.Flatter; break; case "bribe": Method = IntrigueMethod.Bribe; break; case "precedence": Method = IntrigueMethod.Precedence; break; case "offer immortality": Method = IntrigueMethod.OfferImmortality; break; case "religious sympathy": Method = IntrigueMethod.ReligiousSympathy; break; case "blackmail over embezzlement": Method = IntrigueMethod.BlackmailOverEmbezzlement; break; case "revenge on grudge": Method = IntrigueMethod.RevengeOnGrudge; break; default: property.Known = false; break; } break; case "top_facet": TopFacet = property.Value; break; case "top_facet_rating": TopFacetRating = Convert.ToInt32(property.Value); break; case "top_facet_modifier": TopFacetModifier = Convert.ToInt32(property.Value); break; case "top_value": TopValue = property.Value; break; case "top_value_rating": TopValueRating = Convert.ToInt32(property.Value); break; case "top_value_modifier": TopValueModifier = Convert.ToInt32(property.Value); break; case "top_relationship_factor": TopRelationshipFactor = property.Value; break; case "top_relationship_rating": TopRelationshipRating = Convert.ToInt32(property.Value); break; case "top_relationship_modifier": TopRelationshipModifier = Convert.ToInt32(property.Value); break; case "ally_defense_bonus": AllyDefenseBonus = Convert.ToInt32(property.Value); break; case "coconspirator_bonus": CoConspiratorBonus = Convert.ToInt32(property.Value); break; case "lure_hfid": LureHf = world.GetHistoricalFigure(Convert.ToInt32(property.Value)); break; case "corruptor_identity": CorruptorIdentityId = Convert.ToInt32(property.Value); break; case "target_identity": TargetIdentityId = Convert.ToInt32(property.Value); break; case "relevant_entity_id": RelevantEntity = world.GetEntity(Convert.ToInt32(property.Value)); break; case "relevant_position_profile_id": RelevantPositionProfileId = Convert.ToInt32(property.Value); break; case "relevant_id_for_method": RelevantIdForMethod = Convert.ToInt32(property.Value); break; } } CorruptorHf.AddEvent(this); TargetHf.AddEvent(this); Site.AddEvent(this); Region.AddEvent(this); UndergroundRegion.AddEvent(this); LureHf.AddEvent(this); }
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); }
public HfConvicted(List <Property> properties, World world) : base(properties, world) { foreach (Property property in properties) { switch (property.Name) { case "target_hfid": TargetHf = world.GetHistoricalFigure(Convert.ToInt32(property.Value)); break; case "convicted_hfid": ConvictedHf = world.GetHistoricalFigure(Convert.ToInt32(property.Value)); break; case "convicter_enid": ConvicterEntity = world.GetEntity(Convert.ToInt32(property.Value)); break; case "crime": Crime = property.Value; break; case "prison_months": PrisonMonth = Convert.ToInt32(property.Value); break; case "fooled_hfid": FooledHf = world.GetHistoricalFigure(Convert.ToInt32(property.Value)); break; case "framer_hfid": FramerHf = world.GetHistoricalFigure(Convert.ToInt32(property.Value)); break; case "death_penalty": property.Known = true; DeathPenalty = true; break; case "beating": property.Known = true; Beating = true; break; case "hammerstrokes": Hammerstrokes = Convert.ToInt32(property.Value); break; case "wrongful_conviction": property.Known = true; WrongfulConviction = true; break; case "corrupt_convicter_hfid": CorruptConvictorHf = world.GetHistoricalFigure(Convert.ToInt32(property.Value)); break; case "plotter_hfid": PlotterHf = world.GetHistoricalFigure(Convert.ToInt32(property.Value)); break; case "exiled": property.Known = true; Exiled = true; break; case "held_firm_in_interrogation": property.Known = true; HeldFirmInInterrogation = true; break; case "convict_is_contact": property.Known = true; ConvictIsContact = true; break; case "surveiled_convicted": property.Known = true; SurveiledConvicted = true; break; case "surveiled_coconspirator": property.Known = true; SurveiledCoConspirator = true; break; case "surveiled_contact": property.Known = true; SurveiledContact = true; break; case "surveiled_target": property.Known = true; SurveiledContact = true; break; case "confessed_after_apb_arrest_enid": ConfessedAfterApbArrestEntity = world.GetEntity(Convert.ToInt32(property.Value)); break; case "coconspirator_hfid": CoConspiratorHf = world.GetHistoricalFigure(Convert.ToInt32(property.Value)); break; case "implicated_hfid": ImplicatedHf = world.GetHistoricalFigure(Convert.ToInt32(property.Value)); break; case "interrogator_hfid": InterrogatorHf = world.GetHistoricalFigure(Convert.ToInt32(property.Value)); break; case "contact_hfid": ContactHf = world.GetHistoricalFigure(Convert.ToInt32(property.Value)); break; } } TargetHf.AddEvent(this); ConvictedHf.AddEvent(this); ConvicterEntity.AddEvent(this); if (FooledHf != ConvictedHf) { FooledHf.AddEvent(this); } FramerHf.AddEvent(this); CorruptConvictorHf.AddEvent(this); if (PlotterHf != CorruptConvictorHf) { PlotterHf.AddEvent(this); } if (ConvicterEntity != ConfessedAfterApbArrestEntity) { ConfessedAfterApbArrestEntity.AddEvent(this); } CoConspiratorHf.AddEvent(this); ImplicatedHf.AddEvent(this); InterrogatorHf.AddEvent(this); if (ImplicatedHf != ContactHf) { ContactHf.AddEvent(this); } }
public override string Print(bool link = true, DwarfObject pov = null) { string eventString = GetYearTime(); if (HeldFirmInInterrogation) { eventString += "due to ongoing surveillance"; if (SurveiledContact & ContactHf != null) { eventString += " on the contact "; eventString += ContactHf.ToLink(link, pov, this); } if (SurveiledCoConspirator & CoConspiratorHf != null) { eventString += " on a coconspirator "; eventString += CoConspiratorHf.ToLink(link, pov, this); } if (SurveiledTarget & TargetHf != null) { eventString += " on a target "; eventString += TargetHf.ToLink(link, pov, this); } eventString += " as the plot unfolded, "; } eventString += ConvictedHf.ToLink(link, pov, this); eventString += $" was {(WrongfulConviction ? "wrongfully " : "")}convicted "; if (ConvictIsContact) { eventString += $"as a go-between in a conspiracy to commit {Crime} "; } else { eventString += $"of {Crime} "; } if (ConvicterEntity != null) { eventString += "by "; eventString += ConvicterEntity.ToLink(link, pov, this); } if (CorruptConvictorHf != null) { eventString += " and "; eventString += CorruptConvictorHf.ToLink(link, pov, this); } if (PlotterHf != null && PlotterHf != CorruptConvictorHf) { eventString += " plotted by "; eventString += PlotterHf.ToLink(link, pov, this); } if (FooledHf != null && FramerHf != null) { eventString += " after "; eventString += FramerHf.ToLink(link, pov, this); eventString += " fooled "; eventString += FooledHf.ToLink(link, pov, this); eventString += " with fabricated evidence"; } if (Beating) { eventString += ", beaten"; } else if (Hammerstrokes > 0) { eventString += $", sentenced to {Hammerstrokes} hammerstrokes"; } if (PrisonMonth > 0) { eventString += $" and imprisoned for a term of {(PrisonMonth > 12 ? (PrisonMonth / 12) + " years" : PrisonMonth + " month")}"; } else if (DeathPenalty) { eventString += " and sentenced to death"; } if (Exiled) { eventString += " and exiled"; } eventString += PrintParentCollection(link, pov); eventString += ". "; if (ImplicatedHf != null) { eventString += ConvictedHf.ToLink(link, pov, this); eventString += " implicated "; eventString += ImplicatedHf.ToLink(link, pov, this); eventString += " during interrogation. "; } if (InterrogatorHf != null) { eventString += "Interrogation was led by "; eventString += InterrogatorHf.ToLink(link, pov, this); eventString += ". "; } return(eventString); }