public override void DoAction(Transition trans)
        {
            LordToil_DefendPoint lordToil_DefendPoint = (LordToil_DefendPoint)trans.target;
            Pawn pawn = TraderCaravanUtility.FindTrader(lordToil_DefendPoint.lord);

            if (pawn != null)
            {
                lordToil_DefendPoint.SetDefendPoint(pawn.Position);
                return;
            }
            IEnumerable <Pawn> source = lordToil_DefendPoint.lord.ownedPawns.Where((Pawn x) => x.GetTraderCaravanRole() == TraderCaravanRole.Carrier);

            if (source.Any())
            {
                lordToil_DefendPoint.SetDefendPoint(source.RandomElement().Position);
            }
            else
            {
                lordToil_DefendPoint.SetDefendPoint(lordToil_DefendPoint.lord.ownedPawns.RandomElement().Position);
            }
        }
        public override void DoAction(Transition trans)
        {
            LordToil_DefendPoint lordToil_DefendPoint = (LordToil_DefendPoint)trans.target;
            Pawn pawn = TraderCaravanUtility.FindTrader(lordToil_DefendPoint.lord);

            if (pawn != null)
            {
                lordToil_DefendPoint.SetDefendPoint(pawn.Position);
            }
            else
            {
                IEnumerable <Pawn> source = from x in lordToil_DefendPoint.lord.ownedPawns
                                            where x.GetTraderCaravanRole() == TraderCaravanRole.Carrier
                                            select x;
                if (source.Any <Pawn>())
                {
                    lordToil_DefendPoint.SetDefendPoint(source.RandomElement <Pawn>().Position);
                }
                else
                {
                    lordToil_DefendPoint.SetDefendPoint(lordToil_DefendPoint.lord.ownedPawns.RandomElement <Pawn>().Position);
                }
            }
        }
        public override void DoAction(Transition trans)
        {
            LordToil_DefendPoint lordToil_DefendPoint = (LordToil_DefendPoint)trans.target;

            lordToil_DefendPoint.SetDefendPoint(lordToil_DefendPoint.lord.ownedPawns.RandomElement <Pawn>().Position);
        }