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

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

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