public Character shoot(Matrix matrix, Player player, int ns, int shootX, int shootY) {
		int nx = Math.round(shootX/ns);
		int ny = Math.round(shootY/ns);
		Node node = matrix.getNode(nx, ny);
		System.out.println("testing node at " + "(" + node.getX() + ":" + node.getY() + ")");
		if (!(node instanceof Square)) {
			return null;
		}
		double length = Math.sqrt((nx - player.getX())*(nx - player.getX()) + (ny - player.getY())*(ny - player.getY()));
		System.out.println("length: " + (int)length + "(player's position: " + player.getX() + ":" + player.getY() + ") " + ", range: " + range);
		if ((int)length <= range) {
			System.out.println("shot at node at " + "(" + node.getX() + ":" + node.getY() + ") was within range!");
			if (validBulletPath(matrix, (Square)matrix.getNode(player.getX(), player.getY()), (Square)node, 10)) {
				System.out.println("BULLETPATH VALID");
				Character target = ((Square)node).getCharacter();
				if (target != null) {
					if(target instanceof Mob) {
						System.out.println("HIT");
						return target;
					}
				}
			}
		}
		return null;
	}