сделал способность чтобы герой мог копировать чье то умение, но хочу чтобы его еффективность была на 60% слабее оригинала. что посоветуете? неужтоли нужно 120+ спеллов их копии делать только с дамагом послабее или есть какой то другой способ чтобы не грузить карту лишними спеллами?
Принятый ответ
Frozen_Cat, если все сделать как положено, а не как делает айсфрог в доте то не будет проблем с лечением.
Ты сначала отслеживаешь урон от спелла (для этого проще всего кастовать спелл от лица дамми юнита), и при получении урона юнитами от этого даммика ты вручаешь ему пассивку на 150000 хп, ставишь ему макс хп, запоминаешь сколько унего до этого было хп и сколько прилетело урона, запускаешь таймер на 0.00 сек, по его истечению ты удаляешь у юнита пассивку на макс хп (если он жив) ставишь ему хп сколько было - урон * 0.6, при этом проверяешь будет ли сниженный урон больше хп, если больше то ставишь юниту 1 хп и бьешь его уроном от лица источника урона.
Ты сначала отслеживаешь урон от спелла (для этого проще всего кастовать спелл от лица дамми юнита), и при получении урона юнитами от этого даммика ты вручаешь ему пассивку на 150000 хп, ставишь ему макс хп, запоминаешь сколько унего до этого было хп и сколько прилетело урона, запускаешь таймер на 0.00 сек, по его истечению ты удаляешь у юнита пассивку на макс хп (если он жив) ставишь ему хп сколько было - урон * 0.6, при этом проверяешь будет ли сниженный урон больше хп, если больше то ставишь юниту 1 хп и бьешь его уроном от лица источника урона.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
2-он умирает,
3- происходит лечение.
Ты сначала отслеживаешь урон от спелла (для этого проще всего кастовать спелл от лица дамми юнита), и при получении урона юнитами от этого даммика ты вручаешь ему пассивку на 150000 хп, ставишь ему макс хп, запоминаешь сколько унего до этого было хп и сколько прилетело урона, запускаешь таймер на 0.00 сек, по его истечению ты удаляешь у юнита пассивку на макс хп (если он жив) ставишь ему хп сколько было - урон * 0.6, при этом проверяешь будет ли сниженный урон больше хп, если больше то ставишь юниту 1 хп и бьешь его уроном от лица источника урона.
В принципе систему понял, но некоторых штук не знаю,
допустим как сохранить текущее количество здоровья и потом его вернуть обратно?
тут используется переменная или кеш? с таким еще не сталкивался просто..
2 - "сколько прилетело урона", тут имеется ввиду фиксированный с спелла сохраняем? мм..в переменную?опять тот же вопрос :D
Ёпта, какие мемхаки, ору -_-
сет дмг = 100
Если юнит равно твой юнит, или как ты там проверять будешь, то сет дмг = дмг * 0.6 и всё
Наносишь урон дмг
Лучше вообще отказаться от урона стандартных скилов, и наносить только триггерно, так как это открывает просто огромные возможности.
Это,конечно, если карта с всякими фишками, теми же резистами дамага и т.д.
Отредактирован Clamp
если ты имеешь ввиду за перегруз ф-ции что каждый входящий урон от переменной фиксированного урона спелла будет считыватся формулой и выравниватся по дамагу на 40% от 100 будет напряжно? или как.. сори, просто логику выражения двояко понял ))