Как мне нанести урон по конусу? Например относительно угла поворота юнита на 45 градусов.

Реализацию можешь глянуть тут, но качество кода очень низкое, но как видишь ничего сложного.
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...
32
Уже было 100500 раз, выбираем всех в радиусе относительно точки, и увеличиваем радиус если не нужна высокая точность (разумеется точку двигаем), либо высчитываем угол, про угол наглядно с картинками есть тут
Ну а код можно позыркать в опендоте (хотя там спотреть нечего 2 условия).
11
quq_CCCP, мне говрили что есть функция варкрафте, которая проверяет входит ли угол в диапозон, но я её не нашёл, такая вообще есть?

Меня, собственно, и интересует, как правильно посчитать угол.
18
Меня, собственно, и интересует, как правильно посчитать угол.
real angle = Atan2(ty-y, tx-x) // x,y - custer; tx,ty - target
32
Реализацию можешь глянуть тут, но качество кода очень низкое, но как видишь ничего сложного.
Загруженные файлы
Принятый ответ
38
Тебе проще всего будет увеличивать радиус по линии, запоминая и исключая уже задействованных.
33
Есть на луа, украл из скрытого блога Райзеда 2 года назад
-- функция принадлежности точки сектора
-- x1, x2 - координаты проверяемой точки
-- x2, y2 - координаты вершины сектора
-- orientation - ориентация сектора в мировых координатах
-- width - уголовой размер сектора в градусах
-- radius - окружности которой принадлежит сектор
function IsPointInSector(x1,y1,x2,y2,orientation,width,radius)
	local lenght=DistanceBetweenXY(x1,y1,x2,y2)
	local angle=Acos(Cos(orientation*bj_DEGTORAD)*(x1-x2)/lenght+Sin(orientation*bj_DEGTORAD)*(y1-y2)/lenght )*bj_RADTODEG
	return angle<=width and lenght<=radius
end
38
Кстати, только прочитал, что речь про конус. Там точно нужна матрица трансформации. Тут проще дописать wGeometry под свои нужды.
11
Bergi_Bear, из всего этого я понял только radius и width и то не факт, можешь для тугодумов разъяснить, пожалуйста.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.