я делаю карту где будут массовые побоищя, пехота будет держа щит блокировать атаки, копейщики наносить доп урон коннице и т.д., как сделать что когда одна боевая единица бьет другую в спину наносился дополнительный урон, и если ещё знаете как сделать так что бы если пехотинец держит щит шанс на блок атаки был только если его бьют спереди, заранее спасибо.

Принятый ответ

на определение сзади ли юнит есть функция
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

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
18
7 лет назад
0
Сравнивать углы поворота атакующего юнита и атакованного, +- 30. Для второго вопроса тоже самое, только +-60.
15
26
7 лет назад
15
на определение сзади ли юнит есть функция
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
Принятый ответ
0
16
7 лет назад
Отредактирован Naadir
0
Hate:
Полезная штука.
0
7
7 лет назад
0
Hate:
на определение сзади ли юнит есть функция
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
ну выглядит конечно хорошо, но что то он у меня не пошел, ты мог скинуть карту с данным тригером, а то я в триггер вставил и он не работает(возможно ктрл с ктр в тут не канает?)
0
26
7 лет назад
0
но что то он у меня не пошел
всмысле не пошел?
а то я в триггер вставил и он не работает
всмысле вставил.
а ты как ожидал вообще?
0
22
4 года назад
0
Naadir:
Hate:
Полезная штука.
а вот и нет, угол вычисляется не верно при определённом ракурсе. И чем больше угол работы абилки, в данном случае 45 + 45 т.е. 90, тем больше будет заметен косяк
0
26
4 года назад
0
Proshel_Doty:
Naadir:
Hate:
Полезная штука.
а вот и нет, угол вычисляется не верно при определённом ракурсе. И чем больше угол работы абилки, в данном случае 45 + 45 т.е. 90, тем больше будет заметен косяк
сколько ни тестил, все вычислялось нормально
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.