protected override bool TryExecuteWorker(IncidentParms parms) { Log.Message(parms.ToString()); if (!base.TryResolveParms(parms) || !CanFireNowSub(parms) || parms.faction.HostileTo(Faction.OfPlayer)) { Log.Warning("Can't fire: CanFireNow " + CanFireNowSub(parms).ToString() + " Try Resolve: " + TryResolveParms(parms).ToString() + " " + parms.faction.HostileTo(Faction.OfPlayer).ToString()); return(false); } Map map = (Map)parms.target; List <Pawn> guests = base.SpawnPawns(parms); if (guests.Count == 0) { return(false); } Log.Message(parms.spawnCenter.ToString()); if (parms.spawnCenter == IntVec3.Invalid) { parms.spawnCenter = DropCellFinder.TradeDropSpot(map); } for (int i = 0; i < guests.Count; i++) { if (guests[i].needs?.food != null) { guests[i].needs.food.CurLevel = guests[i].needs.food.MaxLevel; } } //Find.LetterStack.ReceiveLetter(def.letterLabel, "Wedding guests arrived", LetterDefOf.PositiveEvent, guests[0], parms.faction, null); RCellFinder.TryFindRandomSpotJustOutsideColony(guests[0], out IntVec3 chillSpot); Lord lord = map.lordManager.lords.Find(x => x.LordJob is LordJob_NonVoluntaryJoinable_MarriageCeremony); foreach (Pawn guest in guests) { if (lord != null) { lord.AddPawn(guest); } else { Log.Warning("no lord"); break; } } //LordJob_TradeWithColony lordJob = new LordJob_TradeWithColony(parms.faction, chillSpot); //LordMaker.MakeNewLord(parms.faction, lordJob, map, guests); return(true); }
public override bool IsPossible() { ToolkitPatchLogger.Log(incidentDef.defName, "Checking if possible.."); worker = Activator.CreateInstance <T>(); worker.def = incidentDef; parms = StorytellerUtility.DefaultParmsNow(category, target); parms.forced = shouldForceFire; bool success = worker.CanFireNow(parms); if (!success) { WorkerCanFireCheck.CheckDefaultFireNowConditions(worker, parms, incidentDef); } ToolkitPatchLogger.Log(incidentDef.defName, $"Can fire with params '{parms.ToString()}' on worker {worker.ToString()}? {success}"); return(success); }
/// <summary> /// Lt.Bob - Unifies debug information to central command (__instance) /// </summary> /// <param name="parms"></param> /// <param name="IncDef"></param> public static void DebugParms(IncidentParms parms, IncidentDef IncDef = null) { Log.Message(" PS=- parms= " + parms.ToString(), false); if (parms.quest != null) { Log.Message(" PS=- parms.quest= " + parms.quest.ToString(), false); Log.Message(" PS=- parms.quest.PartsListForReading= " + parms.quest.PartsListForReading, false); } else { Log.Message(" PS=- parms.quest= NULL", false); } if (parms.questTag != null) { Log.Message(" PS=- parms.questTag= " + parms.questTag.ToString(), false); } else { Log.Message(" PS=- parms.questTag= NULL", false); } if (parms.questScriptDef != null) { Log.Message(" PS=- parms.questScriptDef= " + parms.questScriptDef.ToString(), false); } else { Log.Message(" PS=- parms.questScriptDef= NULL", false); } if (IncDef == null) { Log.Message(" PS=- IncidentDef= NULL", false); return; } Log.Message(" PS=- IncidentDef= " + IncDef.ToString(), false); if (IncDef.defName != null) { Log.Message(" PS=- IncidentDef.defName= " + IncDef.defName, false); return; } Log.Message(" PS=- IncidentDef.defName= NULL", false); }
public override bool IsPossible() { ToolkitPatchLogger.Log(incidentDef.defName, "Checking if possible.."); worker = GetWorker(); worker.def = incidentDef; if (target != null) { parms = StorytellerUtility.DefaultParmsNow(incidentCategoryDef, target); parms.forced = shouldForceFire; bool success = worker.CanFireNow(parms); if (!success) { WorkerCanFireCheck.CheckDefaultFireNowConditions(worker, parms, incidentDef); } ToolkitPatchLogger.Log(incidentDef.defName, $"Can fire with params '{parms.ToString()}' on worker {worker.ToString()}? {success}"); return(success); } ToolkitPatchLogger.ErrorLog(incidentDef.defName, $"Failed to get target. Cannot fire"); return(false); }