public boolean canBeAt(int tx, int ty){
        if (tx < 0 || tx >= world.width
         || ty < 0 || ty >= world.height)
            return false;

        if (likesIndoors && world.tiles[tx][ty] != World.insideFloor)
            return false;
        
        if (world.isImpassable(world.tiles[tx][ty], canFly, canWalkThroughWalls, canNotGoIndoors))
            return false;

        return true;
    }