private string GetLetterText(Faction alliedFaction, string tradeShipKind, int days, Site site, SitePart sitePart) { string text = string.Format(this.def.letterText, new object[] { alliedFaction.leader.LabelShort, alliedFaction.def.leaderTitle, alliedFaction.Name, tradeShipKind, days.ToString(), SitePartUtility.GetDescriptionDialogue(site, sitePart) }).CapitalizeFirst(); return(text); }
protected override bool TryExecuteWorker(IncidentParms parms) { Faction faction = parms.faction ?? Find.FactionManager.RandomAlliedFaction(allowHidden: false, allowDefeated: false, allowNonHumanlike: false); if (faction == null) { faction = Find.FactionManager.RandomNonHostileFaction(false, false, false); Log.ErrorOnce("MFI: No allied faction found, but event was forced. Using random faction.", 40830425); } if (!TryFindTile(tile: out int tile)) { return(false); } Site site = SiteMaker.MakeSite(core: MFI_DefOf.MFI_HuntersLodgeCore, sitePart: MFI_DefOf.MFI_HuntersLodgePart, tile: tile, faction: faction, ifHostileThenMustRemainHostile: false); if (site == null) { return(false); } int randomInRange = TimeoutDaysRange.RandomInRange; site.Tile = tile; site.GetComponent <TimeoutComp>().StartTimeout(ticks: randomInRange * GenDate.TicksPerDay); site.SetFaction(newFaction: faction); site.customLabel = site.def.LabelCap + site.parts.First(predicate: x => x.def == MFI_DefOf.MFI_HuntersLodgePart).def.Worker .GetPostProcessedThreatLabel(site, site.parts.FirstOrDefault()); Find.WorldObjects.Add(o: site); string text = string.Format(format: this.def.letterText, faction, faction.def.leaderTitle, SitePartUtility.GetDescriptionDialogue(site, site.parts.FirstOrDefault()), randomInRange) .CapitalizeFirst(); Find.LetterStack.ReceiveLetter(label: this.def.letterLabel, text: text, textLetterDef: this.def.letterDef, lookTargets: site); return(true); }
private void GetLetterText(Pawn prisoner, Site site, SitePart sitePart, int days, out string letter, out string label) { letter = this.def.letterText.Formatted(site.Faction.Name, prisoner.ageTracker.AgeBiologicalYears, prisoner.story.Title, SitePartUtility.GetDescriptionDialogue(site, sitePart), prisoner.Named("PAWN")).AdjustedFor(prisoner, "PAWN").CapitalizeFirst(); if (PawnUtility.EverBeenColonistOrTameAnimal(prisoner)) { letter = letter + "\n\n" + "PawnWasFormerlyColonist".Translate(prisoner.LabelShort, prisoner); } Helper.Log("Was Formally a colonist"); string text; PawnRelationUtility.Notify_PawnsSeenByPlayer(Gen.YieldSingle <Pawn>(prisoner), out text, true, false); label = this.def.letterLabel; if (!text.NullOrEmpty()) { string text2 = letter; letter = string.Concat(new string[] { text2, "\n\n", "PawnHasTheseRelationshipsWithColonists".Translate(prisoner.LabelShort, prisoner), "\n\n", text }); label = label + " " + "RelationshipAppendedLetterSuffix".Translate(); } letter = letter + "\n\n" + "PrisonerRescueTimeout".Translate(days, prisoner.LabelShort, prisoner.Named("PRISONER")); }
// Token: 0x06000075 RID: 117 RVA: 0x00004B08 File Offset: 0x00002D08 private string GetLetterText(Faction alliedFaction, List <Thing> items, int days, Site site, SitePart sitePart) { string result = GrammarResolverSimpleStringExtensions.Formatted(this.def.letterText, alliedFaction.leader.LabelShort, alliedFaction.def.leaderTitle, alliedFaction.Name, GenLabel.ThingsLabel(items, " - "), days.ToString(), SitePartUtility.GetDescriptionDialogue(site, sitePart), GenThing.GetMarketValue(items).ToStringMoney(null)).CapitalizeFirst(); GenThing.TryAppendSingleRewardInfo(ref result, items); return(result); }