public override StateGraph CreateGraph()
        {
            StateGraph          stateGraph           = new StateGraph();
            LordToil_DefendBase lordToil_DefendBase  = (LordToil_DefendBase)(stateGraph.StartingToil = new LordToil_DefendBase(baseCenter));
            LordToil_DefendBase lordToil_DefendBase2 = new LordToil_DefendBase(baseCenter);

            stateGraph.AddToil(lordToil_DefendBase2);
            LordToil_AssaultColony lordToil_AssaultColony = new LordToil_AssaultColony(attackDownedIfStarving: true);

            lordToil_AssaultColony.useAvoidGrid = true;
            stateGraph.AddToil(lordToil_AssaultColony);
            Transition transition = new Transition(lordToil_DefendBase, lordToil_DefendBase2);

            transition.AddSource(lordToil_AssaultColony);
            transition.AddTrigger(new Trigger_BecameNonHostileToPlayer());
            stateGraph.AddTransition(transition);
            Transition transition2 = new Transition(lordToil_DefendBase2, lordToil_DefendBase);

            transition2.AddTrigger(new Trigger_BecamePlayerEnemy());
            stateGraph.AddTransition(transition2);
            //Transition transition3 = new Transition(lordToil_DefendBase, lordToil_AssaultColony);
            //transition3.AddTrigger(new Trigger_FractionPawnsLost(0.2f));
            //transition3.AddTrigger(new Trigger_PawnHarmed(0.4f));
            //transition3.AddTrigger(new Trigger_ChanceOnTickInteval(2500, 0.03f));
            //transition3.AddTrigger(new Trigger_TicksPassed(251999));
            //transition3.AddTrigger(new Trigger_UrgentlyHungry());
            //transition3.AddTrigger(new Trigger_ChanceOnPlayerHarmNPCBuilding(0.4f));
            //transition3.AddPostAction(new TransitionAction_WakeAll());
            //string message = "MessageDefendersAttacking".Translate(faction.def.pawnsPlural, faction.Name, Faction.OfPlayer.def.pawnsPlural).CapitalizeFirst();
            //transition3.AddPreAction(new TransitionAction_Message(message, MessageTypeDefOf.ThreatBig));
            //stateGraph.AddTransition(transition3);
            return(stateGraph);
        }
        public override StateGraph CreateGraph()
        {
            StateGraph stateGraph = new StateGraph();

            LordToil_DefendBase lordToilDefendBase1 = new LordToil_DefendBase(this.baseCenter);

            stateGraph.StartingToil = lordToilDefendBase1;

            LordToil_DefendBase lordToilDefendBase2 = new LordToil_DefendBase(this.baseCenter);

            stateGraph.AddToil(lordToilDefendBase2);

            LordToil_AssaultColony toilAssaultColony = new LordToil_AssaultColony(true)
            {
                useAvoidGrid = true
            };

            stateGraph.AddToil(toilAssaultColony);

            Transition transition1 = new Transition(lordToilDefendBase1, lordToilDefendBase2);

            transition1.AddSource(toilAssaultColony);
            transition1.AddTrigger(new Trigger_BecameNonHostileToPlayer());
            stateGraph.AddTransition(transition1);

            Transition transition3 = new Transition(lordToilDefendBase1, toilAssaultColony);

            transition3.AddTrigger(new Trigger_FractionPawnsLost(0.2f));
            transition3.AddTrigger(new Trigger_PawnHarmed(0.4f));
            transition3.AddTrigger(new Trigger_ChanceOnTickInterval(2500, 0.03f));
            transition3.AddTrigger(new Trigger_TicksPassed(251999));
            transition3.AddTrigger(new Trigger_ChanceOnPlayerHarmNPCBuilding(0.4f));
            transition3.AddTrigger(new Trigger_OnClamor(ClamorDefOf.Ability));
            transition3.AddPostAction(new TransitionAction_WakeAll());
            TaggedString taggedString = "MessageDefendersAttacking".Translate(this.faction.def.pawnsPlural, this.faction.Name, Faction.OfPlayer.def.pawnsPlural).CapitalizeFirst();

            transition3.AddPreAction(new TransitionAction_Message(taggedString, MessageTypeDefOf.ThreatBig));
            stateGraph.AddTransition(transition3);

            return(stateGraph);
        }
        public override StateGraph CreateGraph()
        {
            StateGraph          stateGraph           = new StateGraph();
            LordToil_DefendBase lordToil_DefendBase  = (LordToil_DefendBase)(stateGraph.StartingToil = new LordToil_DefendBase(baseCenter));
            LordToil_DefendBase lordToil_DefendBase2 = new LordToil_DefendBase(baseCenter);

            stateGraph.AddToil(lordToil_DefendBase2);
            LordToil_AssaultColony lordToil_AssaultColony = new LordToil_AssaultColony(attackDownedIfStarving: true);

            lordToil_AssaultColony.useAvoidGrid = true;
            stateGraph.AddToil(lordToil_AssaultColony);
            Transition transition = new Transition(lordToil_DefendBase, lordToil_DefendBase2);

            transition.AddSource(lordToil_AssaultColony);
            transition.AddTrigger(new Trigger_BecameNonHostileToPlayer());
            stateGraph.AddTransition(transition);
            Transition transition2 = new Transition(lordToil_DefendBase2, lordToil_DefendBase);

            transition2.AddTrigger(new Trigger_BecamePlayerEnemy());
            stateGraph.AddTransition(transition2);
            return(stateGraph);
        }