public override Job TryGiveJob(Pawn pawn)
        {
            if (!JoyUtility.EnjoyableOutsideNow(pawn.Map))
            {
                return(null);
            }

            IntVec3 position = AIUtility.FindRandomSpotOutsideColony(pawn, def.searchDistance, canReach: false, canReserve: false);

            if (!position.IsValid)
            {
                return(null);
            }

            IntVec3 standPosition = IntVec3.Invalid;

            if (!AIUtility.FindAroundSpotFromTarget(pawn, position, 4.0f, 3.0f, canSee: true, canReach: true, canReserve: true).TryRandomElement(out standPosition))
            {
                return(null);
            }

            return(new Job(IdleJobDefOf.IdleJob_ThrowingStone, position, standPosition)
            {
                locomotionUrgency = modSettings.wanderMovePolicy
            });
        }