public override StateGraph CreateGraph() { StateGraph stateGraph = new StateGraph(); LordToil_Stage firstSource = (LordToil_Stage)(stateGraph.StartingToil = new LordToil_Stage(this.stageLoc)); LordToil startingToil = stateGraph.AttachSubgraph(new LordJob_AssaultColony(this.faction, true, true, false, false, true).CreateGraph()).StartingToil; Transition transition = new Transition(firstSource, startingToil); transition.AddTrigger(new Trigger_TicksPassed(Rand.Range(5000, 15000))); transition.AddTrigger(new Trigger_FractionPawnsLost(0.3f)); transition.AddPreAction(new TransitionAction_Message("MessageRaidersBeginningAssault".Translate(this.faction.def.pawnsPlural.CapitalizeFirst(), this.faction.Name), MessageTypeDefOf.ThreatBig)); transition.AddPostAction(new TransitionAction_WakeAll()); stateGraph.AddTransition(transition); return(stateGraph); }
public override StateGraph CreateGraph() { StateGraph stateGraph = new StateGraph(); LordToil_Stage lordToil_Stage = new LordToil_Stage(this.stageLoc); stateGraph.StartingToil = lordToil_Stage; LordToil startingToil = stateGraph.AttachSubgraph(new LordJob_AssaultColony(this.faction, true, true, false, false, true).CreateGraph()).StartingToil; Transition transition = new Transition(lordToil_Stage, startingToil); transition.AddTrigger(new Trigger_TicksPassed(this.ticksUntilAssault)); transition.AddTrigger(new Trigger_FractionPawnsLost(0.3f)); transition.AddPreAction(new TransitionAction_WakeAll()); stateGraph.AddTransition(transition); return(stateGraph); }
public override StateGraph CreateGraph() { StateGraph stateGraph = new StateGraph(); LordToil_Stage lordToil_Stage = (LordToil_Stage)(stateGraph.StartingToil = new LordToil_Stage(stageLoc)); LordToil startingToil = stateGraph.AttachSubgraph(new LordJob_AssaultColony(faction).CreateGraph()).StartingToil; int tickLimit = Rand.RangeSeeded(5000, 15000, raidSeed); Transition transition = new Transition(lordToil_Stage, startingToil); transition.AddTrigger(new Trigger_TicksPassed(tickLimit)); transition.AddTrigger(new Trigger_FractionPawnsLost(0.3f)); transition.AddPreAction(new TransitionAction_Message("MessageRaidersBeginningAssault".Translate(faction.def.pawnsPlural.CapitalizeFirst(), faction.Name), MessageTypeDefOf.ThreatBig, "MessageRaidersBeginningAssault-" + raidSeed)); transition.AddPostAction(new TransitionAction_WakeAll()); stateGraph.AddTransition(transition); stateGraph.transitions.Find((Transition x) => x.triggers.Any((Trigger y) => y is Trigger_BecameNonHostileToPlayer)).AddSource(lordToil_Stage); return(stateGraph); }
public override StateGraph CreateGraph() { StateGraph stateGraph = new StateGraph(); LordToil_Stage lordToil_Stage = new LordToil_Stage(this.stageLoc); stateGraph.StartingToil = lordToil_Stage; LordToil startingToil = stateGraph.AttachSubgraph(new LordJob_AssaultColony(this.faction, true, true, false, false, true).CreateGraph()).StartingToil; int tickLimit = Rand.RangeSeeded(5000, 15000, this.raidSeed); Transition transition = new Transition(lordToil_Stage, startingToil, false, true); transition.AddTrigger(new Trigger_TicksPassed(tickLimit)); transition.AddTrigger(new Trigger_FractionPawnsLost(0.3f)); transition.AddPreAction(new TransitionAction_Message("MessageRaidersBeginningAssault".Translate(new object[] { this.faction.def.pawnsPlural.CapitalizeFirst(), this.faction.Name }), MessageTypeDefOf.ThreatBig, "MessageRaidersBeginningAssault-" + this.raidSeed, 1f)); transition.AddPostAction(new TransitionAction_WakeAll()); stateGraph.AddTransition(transition); return(stateGraph); }