Можно ли захватить или внести в переменную минимальный и/или максимальный текущий урон от простой атаки юнита, включая бонусы? Средний урон с бонусами тоже подойдет.
DamageTaken не подходит, так как он захватывает урон после модификаторов типа и количества брони, а также хватает любой урон юнитом (огненный плащ и т.д.).
Текущий вариант от мейнстата+базовый, но он не включает бонусы на чисто урон, типа аур, когтей и т.д.

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

бд
иначе никак

added by Clamp: пример базы данных по броне, по урону логика абсолютно такая же, только надо ещё основную характеристику учитывать (она тоже в базе данных хранится).
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
1
28
9 лет назад
Отредактирован Clamp
1
бд
иначе никак

added by Clamp: пример базы данных по броне, по урону логика абсолютно такая же, только надо ещё основную характеристику учитывать (она тоже в базе данных хранится).
Принятый ответ
0
11
9 лет назад
Отредактирован Impertus
0
И отследить, чем юнит наносит урон (атака, предмет, спелл, если он не прописан триггерно) тоже нельзя?(
0
28
9 лет назад
0
Impertus, можно определить урон нанесённый атакой но тогда перестанут работать орбы
придётся писать их триггерную замену
0
11
9 лет назад
0
С помощью какой строки? И не переводить ли весь урон атак на триггерную основу?
(Можно из DamageTaken + Attacking unit мб?)
0
28
9 лет назад
0
Impertus, с помощью нескольких строк
создаём в ро способность на основе отравляющей атаки/сферы льда/любого другого орба с бафом со временем действия 0,01 сек
пихаем её в спелбук
запрещаем этот спелбук и даём его всем юнитам
если при получении урона на юните есть баф нашего орба значит урон нанесён рукой
иначе не рукой
0
11
9 лет назад
0
А, не, не критично.
Хотел сделать триггерные криты, а откуда цифири базового дамага для них брать - хз. Будет значит рандом между мин.дмг+стат и макс.дмг+стат * множитель.
А по дамагтайпу не отследить? У обычной атаки вроде тип Физ-обычный, у других такого нет вроде.
0
28
9 лет назад
0
Impertus, а как ты дамагтайп узнаешь?
Хотел сделать триггерные криты, а откуда цифири базового дамага для них брать - хз
зачем базовый?
цифры у крита идут с учётом резиста брони и прочего
то есть просто урон выводи
GetEventDamage()
в статьях даже пример на гуи есть вроде
0
11
9 лет назад
0
Делал с DamageTaken*X, только при таком расчете крит сильно занижается.
Допустим, крит х3, дамаг 100. У цели снижение получаемого урона на 50%. Т.е. крит будет считаться от 50 дмг = 150 дамага всего будет наноситься триггерно, а получать - 150*0.5=75 урона всего. Вместо (100*3)/50=150. И цифирь крита будет отображаться не 300!, а 150!. Хотя базовые криты отображаются как раз в виде 300!.
0
29
9 лет назад
0
if GetUnitAbilityLevel(dc,'B00P') > 0 and IsCritTarget(t,dc) and Dm > 0. and GetRandomInt(1,100) <= 50 and cl == false and (GetUnitAbilityLevel(t,'A086') > 0 or GetUnitTypeId(s) == 'h00B') then
call Crit(dc,Dm*1.8) texttag
call UnitDamageTarget(udg_NDCD[q+1],t,Dm*.8,true,false,ATTACK_TYPE_HERO,DAMAGE_TYPE_DEMOLITION,WEAPON_TYPE_WHOKNOWS)
endif
ну вот допустим это 1.8-х крит из моей карты. Думаю тут ясно, что где
0
11
9 лет назад
0
Суть критов была каждый 5й удар 100% крит.
Делал через AttackingUnit, но там настроить убирание спелбука с критом тяжело, так как для юнита с долгим замахом (тот же блейдмастер, у него от события Attacking до нанесения урона 1.15 сек) спелбук убирается до собственно нанесения урона и крита нет. Ставить вейты можно, но ненужно+влияет скорость атаки, будет успевать сделать по 2 крита при статичном вейте.
16GB:
ну вот допустим это 1.8-х крит из моей карты. Думаю тут ясно, что где
А Dm чему равен? Вне куска кода, сама суть вопроса)
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.