Вопрос связан с моим предыдущим вопросом про луч феникса
Захотелось прикрутить урон и замедление, чем ближе объект к кастеру - тем больше урона получает и тем сильнее замедляется
С уроном проблем нет, а вот насчет замедления есть вопрос - как лучше реализовать?
Дальность луча - 1200, поэтому я сделал 12 уровней способности Slow
Далее, отнимаем от 1201 текущее расстояния от кастера до цели, перегоняем это в Integer и делим на 100 - получаем необходимый уровень замедла
Тик рейт моего loop тригга составляет 0.05 сек, поэтому я добавил фильтр на бафф от этого замедла, если бафф висит - дамми не создаем, замедло не вешаем
Длительность баффа составляет 1 сек.
Есть способ получше?
Вариант с системой скорости пропускаем

Extremator, уже предлагали
darkowlom, всеравно нужна бд на все возможные эффекты
короче все возможные ответы даны
тему закрываю
если кто то придумает чтото новое пишите автору в пм
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
16
ssbbssc:
накопал на хайве одну штуку, попробую её использовать
завтра-послезавтра отпишусь
Ну и как? Мне вот тоже стало интересно, хотя оптимальный вариант (естественно, по моему личному мнению) - аура торнадо на замедление и цепь из дамми-юнитов.
24
взять расстояние до юнита от героя и относительно этого изменять скорость, плавно снижая до нужного предела
20
взять расстояние до юнита от героя и относительно этого изменять скорость, плавно снижая до нужного предела
Прокатит только с системой отлова белого мса
28
darkowlom, вот только восстанавливать её потом как
было бы всё так просто я бы уже давно закрыл вопрос
или удалил его
20
nvc123:
darkowlom, вот только восстанавливать её потом как
было бы всё так просто я бы уже давно закрыл вопрос
или удалил его
Вообще - все что нужно, так это переменная с белым мсом юнита и переменная на которую этот мс будет умножаться (1 - процент замедления). В UnitUserData хранить номер юнита в массиве и норм.
28
Diaboliko, ну удачи тогда
предоставишь пруф(с 2 переменными) и я с радостью соглашусь с тем что я нуб
и опыта накину
только не забывай что мс может даваться как в единицах (сапог например) так и в % (всякие баффы)
и может меняться в тот момент когда юнит находится под замедлением
в качестве пруфа сойдёт небольшой пример замедляющий юнита на 5 секунд на 20% сделанный триггерно без спелла замедления
32
nvc123:
Diaboliko, ну удачи тогда
предоставишь пруф(с 2 переменными) и я с радостью соглашусь с тем что я нуб
и опыта накину
только не забывай что мс может даваться как в единицах (сапог например) так и в % (всякие баффы)
и может меняться в тот момент когда юнит находится под замедлением
в качестве пруфа сойдёт небольшой пример замедляющий юнита на 5 секунд на 20% сделанный триггерно без спелла замедления
Реализуймо только через ретурн баг, найти ячейку белой скорости в структуре юнита, ну а потом делать что хочется, так же подсмотреть есть ли стандартные модификаторы скорости, но вот пока наработок сего чуда не видел.
24
Если поставить юниту несколько аур торнадо с удалённым баффом - все ауры будут замедлять противников, причём в несколько шагов, за пару секунд усиливая замедление до 300% (в 3 раза больше чем то что стоит в редакторе), правда отчего то до 300% оно усиливается не постоянно, чаще оставаясь 200%.
Если поставить несколько таких юнитов с одной и той же аурой - эффект будет набираться значительно быстрее и, конечно, суммироваться.
28
Melissa, мы уже писали что ауры не подходят по некоторым причинам
quq_CCCP, что ты имеешь ввиду под белым мс?
если мс по умолчанию то есть функция
GetUnitDefaultMoveSpeed
всё проблема в модификаторах мс которые могут динамически добавляться/удаляться
24
Дефолтспид даёт скорость юнита в РО
Кюррентспид даёт текущую (скорость со всеми модификаторами)
Завести переменную NormalSpeed, которая будет меняться от приобретения сапога (еула и т.п.). Учитывать только предметы, для удобства можно учитывать лишь предметы дающие количественную, а не процентную скорость (сапог, еул).
Действием Б.е. - set movement speed - мы меняем базовую скорость юнита, поэтому замедление таким путём будет сильно резать и текущие ускорения, наложенные на юнита. Но сильных неудобств это не доставит, просто побаланснее подбери коэффициенты.
Реализовать можно через юзердату как уже выше упомянули. В суровооформительном случае завести массив CurrentRaySpeedReduction[]
который будет меняться в зависимости от расстояния до ближайшего луча, и от которого будет зависеть NormalSpeed[] юнита.
32
nvc123:
Melissa, мы уже писали что ауры не подходят по некоторым причинам
quq_CCCP, что ты имеешь ввиду под белым мс?
если мс по умолчанию то есть функция
GetUnitDefaultMoveSpeed
всё проблема в модификаторах мс которые могут динамически добавляться/удаляться
То что сейчас у юнита, а что сьели замедления.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.