Идея такая - рассчитать урон с триггерного наношения урона, по данному юниту, с учётом всякого
Маг урон ещё понятно, но вот физ будет сложновато просчитать...
Примерная штуковина:
раскрыть
function DamageCalculatorMagic2 takes unit c, unit t returns real
    local unit t1 = GetAttackedUnitBJ()
    local unit c1 = GetEventDamageSource()
    local real r = GetEventDamage()
    if c == c1 then
    if t == t1 then
    return r
    endif
    endif
endfunction
Как заставить его выполняться через EVENT_UNIT_DAMAGED?

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

quq_CCCP,
ПодEлитесь секретом отлова физ урона через маг резист? xD
...
Решил проблему наитупейшим из возможных способов:
раскрыть
function MDWC takes unit c, unit t, real dmg,real sd, real cc, real cm, string color returns nothing
    local real hp1 
    local real hp2 = GetUnitState(t,UNIT_STATE_LIFE) // <---
    local real dt
	....
	...
	set dmg = DamageCalculatorMagic(dmg,t)
    call UnitDamageTarget(c,t,dmg,true,false,ATTACK_TYPE_MAGIC,DAMAGE_TYPE_MAGIC,WEAPON_TYPE_WHOKNOWS)
    set hp1 = GetUnitState(t,UNIT_STATE_LIFE) // <----
    set dt = hp2-hp1 // <--- Вот урон
    call SetTextTagText(ttc,color+I2S(R2I(dt)),16*.0023)
endfunction
Лучшее, что мог придумать мой невыспавшийся мозг, но однако, оно сработало.
Прогресс :3
`
ОЖИДАНИЕ РЕКЛАМЫ...
1
18
6 лет назад
Отредактирован Hodor
1
Если нужен детект физ. урона, то вот
В твоем коде:
Вместо двух if можно and написать
И не забудь две локальные unit обнулить
1
32
6 лет назад
1
Еще детект физического урона делается через маг резист в 200% либо мемхаком.
0
17
6 лет назад
Отредактирован N1ghtSiren
0
quq_CCCP,
ПодEлитесь секретом отлова физ урона через маг резист? xD
...
Решил проблему наитупейшим из возможных способов:
раскрыть
function MDWC takes unit c, unit t, real dmg,real sd, real cc, real cm, string color returns nothing
    local real hp1 
    local real hp2 = GetUnitState(t,UNIT_STATE_LIFE) // <---
    local real dt
	....
	...
	set dmg = DamageCalculatorMagic(dmg,t)
    call UnitDamageTarget(c,t,dmg,true,false,ATTACK_TYPE_MAGIC,DAMAGE_TYPE_MAGIC,WEAPON_TYPE_WHOKNOWS)
    set hp1 = GetUnitState(t,UNIT_STATE_LIFE) // <----
    set dt = hp2-hp1 // <--- Вот урон
    call SetTextTagText(ttc,color+I2S(R2I(dt)),16*.0023)
endfunction
Лучшее, что мог придумать мой невыспавшийся мозг, но однако, оно сработало.
Прогресс :3
Принятый ответ
1
32
6 лет назад
1
PyCCKuu_4eJl, как как, пассивка рунных браслетов, с фактором снижения урона 2, весь маг урон становится отрецательным, ну а дальше все просто.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.