public override void TakeQuestByQuester(QuestPawn quester, bool notify = true) { TileFinder.TryFindPassableTileWithTraversalDistance(Find.AnyPlayerHomeMap.Tile, 6, 24, out int result); QuestSite questPlace = (QuestSite)WorldObjectMaker.MakeWorldObject(QuestRim.WorldObjectDefOfLocal.QuestPlace); questPlace.Tile = result; questPlace.SetFaction(Faction); questPlace.Init(this); questPlace.RemoveAfterLeave = false; Target = questPlace; Site = questPlace; Find.WorldObjects.Add(questPlace); base.TakeQuestByQuester(quester, notify); }
public override void TakeQuestByQuester(QuestPawn quester, bool notify = true) { IncidentWorker_Quest_MissingPeople.TryGetNewTile(quester.Pawn.Tile, out int newTile); LookTargets target = new LookTargets(newTile); Target = target; QuestSite questPlace = (QuestSite)WorldObjectMaker.MakeWorldObject(QuestRim.WorldObjectDefOfLocal.QuestPlace); questPlace.Tile = newTile; questPlace.SetFaction(Faction); questPlace.Init(this); questPlace.RemoveAfterLeave = false; Site = questPlace; Find.WorldObjects.Add(questPlace); base.TakeQuestByQuester(quester, notify); }
public override void TakeQuestByQuester(QuestPawn quester, bool notify = true) { TileFinder.TryFindPassableTileWithTraversalDistance(Find.AnyPlayerHomeMap.Tile, 5, 12, out int newTile, (int i) => !Find.WorldObjects.AnyWorldObjectAt(i)); LookTargets target = new LookTargets(newTile); Target = target; QuestSite questPlace = QuestsHandler.CreateSiteFor(this, newTile, Faction); Site = questPlace; Find.WorldObjects.Add(questPlace); ShowInConsole = true; TicksToPass = DaysRange.RandomInRange * 60000; if (notify) { Find.LetterStack.ReceiveLetter(QuestsManager.Communications.MakeQuestLetter(this, "TakeQuestFromPawnLetter".Translate(CardLabel), "TakeQuestFromPawnLetterDesc".Translate(CardLabel, Description))); } }