public override bool IsPossible(string message, Viewer viewer, bool separateChannel = false) { this.separateChannel = separateChannel; this.viewer = viewer; string[] command = message.Split(' '); if (command.Length < 3) { Toolkit.client.SendMessage($"@{viewer.username} syntax is {this.storeIncident.syntax}", separateChannel); return(false); } if (!VariablesHelpers.PointsWagerIsValid( command[2], viewer, ref pointsWager, ref storeIncident, separateChannel )) { return(false); } Log.Warning("Finding target"); target = Current.Game.AnyPlayerHomeMap; if (target == null) { return(false); } parms = StorytellerUtility.DefaultParmsNow(IncidentCategoryDefOf.RaidBeacon, target); parms.points = IncidentHelper_PointsHelper.RollProportionalGamePoints(storeIncident, pointsWager, parms.points); parms.raidStrategy = RaidStrategyDefOf.ImmediateAttack; parms.raidArrivalMode = PawnsArrivalModeDefOf.CenterDrop; parms.faction = Find.FactionManager.RandomEnemyFaction(false, false, false, TechLevel.Industrial); worker = new Incidents.IncidentWorker_RaidEnemy(); worker.def = IncidentDefOf.RaidEnemy; return(worker.CanFireNow(parms)); }
public override bool IsPossible(string message, Viewer viewer, bool separateChannel = false) { this.separateChannel = separateChannel; this.Viewer = viewer; string[] command = message.Split(' '); if (command.Length < 3) { TwitchWrapper.SendChatMessage($"@{viewer.username} syntax is {this.storeIncident.syntax}"); return(false); } if (!VariablesHelpers.PointsWagerIsValid( command[2], viewer, ref pointsWager, ref storeIncident, separateChannel )) { return(false); } target = Current.Game.AnyPlayerHomeMap; if (target == null) { return(false); } parms = StorytellerUtility.DefaultParmsNow(IncidentCategoryDefOf.ThreatSmall, target); parms.points = IncidentHelper_PointsHelper.RollProportionalGamePoints(storeIncident, pointsWager, parms.points); parms.raidStrategy = DefDatabase <RaidStrategyDef> .GetNamed("Siege"); //parms.raidArrivalMode = PawnsArrivalModeDefOf.EdgeDrop; parms.faction = Find.FactionManager.RandomEnemyFaction(false, false, false, TechLevel.Industrial); worker = new Incidents.IncidentWorker_RaidEnemy(); worker.def = IncidentDefOf.RaidEnemy; return(worker.CanFireNow(parms)); }