 
 		found = @raytraceUntilBlocked endPos, range: 15
 
-		endPos = found if found.type is 'creature'
+		if found.type is 'creature'
+			endPos = found
+
+		else if found.type is 'wall'
+			endPos = found.checked[1]
 
 		game.renderer.effectLine @, endPos,
 			delay: 50

		if _.isFunction opts then [opts, cb] = [{}, opts]
		opts.range ?= Infinity

		found = { type: 'none' }

		bresenhamLine @, to, (x, y) =>
			return no if (@distanceSqTo {x, y}) > (opts.range * opts.range)

			return if x is @x and y is @y

			if @map.collidable x, y

				}
				return no

		found.checked = checked

		found

	collidable: (x, y) ->
