Добавлен SсRealm
Каким образом реализована третья способность у Бристала в доте?
Когда бъют со спины то получают от него 250 урона.
Когда бъют со спины то получают от него 250 урона.
Вообще, впервые слышу, чтобы у персонажа в варкрфте можно было определить удары в определенные части тела. Есть мысль это даммик, который постоянно располагается за спиной герой в позиции угла сзади и при атаке вражеским юнитом, если расстояние между даммиком и атакующим меньше или равно то наносится урон. Но опять же, а если атакует дальник или например снайпер, то это точно не работает.
В общем, если кто -то знает, пишите.
В общем, если кто -то знает, пишите.
Принятый ответ
Ну мы же можем сравнить угол поворота атакующего и атакованного
Пример:
У атакующего угол 90 градусов, у атакованного 70 градусов, получаем, что он стоит спиной и ему нанесём бонусом 250 урона
Пример:
У атакующего угол 90 градусов, у атакованного 70 градусов, получаем, что он стоит спиной и ему нанесём бонусом 250 урона
А вот пример функции на определения сзади ли юнит
function IsUnitBack takes unit uF, unit uWhichBack returns boolean
real r1 = bj_RADTODEG * Atan2(GetUnitY(uWhichBack) - GetUnitY(uF), GetUnitX(uWhichBack) - GetUnitX(uF)) + 360.
real r2 = GetUnitFacing(uWhichBack) + 360.
if GetUnitY(uWhichBack) < GetUnitY(uF) then
set r1 = r1 + 360.
endif
return (r1<=(r2+45.) and r1>=(r2-45.))
endfunction
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Ред. Smeto
Пример:
У атакующего угол 90 градусов, у атакованного 70 градусов, получаем, что он стоит спиной и ему нанесём бонусом 250 урона