я делаю карту где будут массовые побоищя, пехота будет держа щит блокировать атаки, копейщики наносить доп урон коннице и т.д., как сделать что когда одна боевая единица бьет другую в спину наносился дополнительный урон, и если ещё знаете как сделать так что бы если пехотинец держит щит шанс на блок атаки был только если его бьют спереди, заранее спасибо.
Принятый ответ
на определение сзади ли юнит есть функция
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
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован Naadir
Полезная штука.