public void TriggerIncident(DelayedIncident delayedIncident) { Settings.DebugString("Trigger Incident Called"); var omenCycle = Find.Storyteller.storytellerComps.FirstOrDefault(comp => comp.GetType() == typeof(StorytellerComp_OmenThreatCycle)); if (omenCycle != null) { try { Settings.DebugString("Fire event: " + delayedIncident.incident.label); delayedIncident.incident.Worker.TryExecute(delayedIncident.incidentParms); delayedIncident.incidentParms.target.StoryState.Notify_IncidentFired( new FiringIncident(delayedIncident.incident, omenCycle, delayedIncident.incidentParms)); } catch { // ignored } } delayedIncident.didIt = true; Settings.DebugString("Trigger Incident Complete"); }
public DelayedIncident(DelayedIncident copy) { ticksUntilIncident = copy.ticksUntilIncident; incident = copy.incident; incidentParms = copy.incidentParms; map = copy.map; }
public void AddDelayedIncident(DelayedIncident delayedIncident) { ++bigEvents; IncidentParms newParms = delayedIncident.incidentParms; newParms.points += newParms.points * (bigEvents * 0.05f); DelayedIncidents.Add(new DelayedIncident(delayedIncident.map, delayedIncident.incident, newParms, delayedIncident.ticksUntilIncident)); }
public void TriggerIncident(DelayedIncident delayedIncident) { Cthulhu.Utility.DebugReport("Trigger Incident Called"); var omenCycle = Find.Storyteller.storytellerComps.FirstOrDefault((comp) => comp.GetType() == typeof(StorytellerComp_OmenThreatCycle)); if (omenCycle != null) { try { Cthulhu.Utility.DebugReport("Fire event: " + delayedIncident.incident.label); delayedIncident.incident.Worker.TryExecute(delayedIncident.incidentParms); delayedIncident.incidentParms.target.StoryState.Notify_IncidentFired(new FiringIncident(delayedIncident.incident, omenCycle, delayedIncident.incidentParms)); } catch (Exception) { } } delayedIncident.didIt = true; Cthulhu.Utility.DebugReport("Trigger Incident Complete"); }