Добавлен ivanbakavan,
опубликован
Алгоритмы, Наработки и Способности
Способ реализации:
Lua
Тип:
Наработка
Версия Warcraft:
1.32+
Герой создан в рамках Конкурса героев
Скачать демонстрационную карту
Напишите -test, чтобы пропустить введение и получить плюшки. Тестировать рекомендую в HD режиме.
Напишите -test, чтобы пропустить введение и получить плюшки. Тестировать рекомендую в HD режиме.
Концепт персонажа
Изначально концепт героя был придуман 6 лет назад для карты PDArena, которую делал легендарный в узких кругах YellowStar (по крайне мере говорил, что это он) для не менее легендарного сообщества продоты.
Легенды гласят, что темные тролли были неповоротливыми и очень жестокими, бросались в атаку без каких-либо сомнений. Но однажды некоторые племена по наставлению Элуны стали жить у берегов Колодца Вечности. Впоследствии они превратились в Ночных Эльфов, черпая бесконечную и опасную силу из глубин мироздания. Сегодня темных осталось так мало, что их существование считается сомнительным...
Герой рассекает физические тела группы противников, оголяя их ментальную оболочку. Цели теряют способность атаковать, но могут применять заклинания. Физические атаки не наносят вреда таким целям, но магические атаки и заклинания наносят больше урона на 30/35/40/45/50%.
эффект от способности "Пожиратель душ"
подробное описание
Длительность: 4/6/8/10/12 секунд.
Радиус: 125/150/175/200/225 ед.
Мана: 75/90/105/120/135 ед.
Перезарядка: 16/15/14/13/12 секунд.
Дальность применения: 600 ед.
Радиус: 125/150/175/200/225 ед.
Мана: 75/90/105/120/135 ед.
Перезарядка: 16/15/14/13/12 секунд.
Дальность применения: 600 ед.
- возможность атаковать цели остается для юнитов с любым типом урона
- нельзя наложить на цели, на которых применены заклинания «Изгнание», «Астральный облик» или «Фазовый сдвиг»
- увеличение урона не работает для способностей с эффектом лечения
- эффект не работает на зданиях и механических юнитах
Обездвиживает указанного врага магическими цепями и перекачивает вам 25/30/35/40/45 ед. маны в секунду. Перекачка от цели под эффектом "Ментального истощения" дополнительно отнимает у нее 5 ед. маны в секунду.
эффект от способности "Пожиратель душ"
Одна из душ вселяется во врага, позволяя видеть его глазами. Душа умирает, а эффект продолжается после "Обжигающих цепей".
Продолжительность: 15/20/25/30/35 секунд.
анимация
Продолжительность: 15/20/25/30/35 секунд.
анимация
подробное описание
Длительность: 4/5/6/7/8 секунд.
Мана: 25/50/75/100/125 ед.
Перезарядка: 12/11/10/9/8 секунд.
Дальность применения: 600 ед.
Мана: 25/50/75/100/125 ед.
Перезарядка: 12/11/10/9/8 секунд.
Дальность применения: 600 ед.
- эффект не работает на зданиях и механических юнитах
- перекачка маны прерывается, если отойти от цели на расстояние более 650 ед.
- воздушные юниты становятся доступными для атаки наземными
Герой извергает потоки энергии, каждый из которых наносит одному случайному врагу 45/60/75/90/105 урона. Максимальное число целей: 3.
эффект от способности "Пожиратель душ"
Каждая душа выпускает один снаряд "Извержения" в случайную цель с уроном 30/35/40/45/50. После этого душа умирает.
Радиус: как у способности (от героя).
Тип урона: магический.
анимация
Радиус: как у способности (от героя).
Тип урона: магический.
анимация
подробное описание
Радиус: 400/450/500/550/600 (от героя).
Мана: 100/125/150/175/200 ед.
Перезарядка: 20/18/16/14/12 секунд.
Мана: 100/125/150/175/200 ед.
Перезарядка: 20/18/16/14/12 секунд.
- эффект не работает на зданиях и механических юнитах
- целью может быть один и тот же юнит несколько раз подряд
Герой отбрасывает физическое тело и принимает свой настоящий облик. Во время действия тип атаки меняется на атаку хаоса, а перезарядка остальных способностей сокращается на 5/6/7 секунд. Захваченные души переходят в материальный мир и не могут уйти в другой.
эффект от способности "Пожиратель душ"
Души переполняются гневом и атакуют цель, которую атакует ваш герой.
Урон: 2/4/6/8/10 ед.
Радиус: как у героя.
Тип урона: магический.
Урон: 2/4/6/8/10 ед.
Радиус: как у героя.
Тип урона: магический.
- атака происходит в момент нанесения врагу урона
подробное описание
Длительность: 18/21/25 секунд.
Мана: 150/200/250 ед.
Перезарядка: 180/195/210 секунд.
Мана: 150/200/250 ед.
Перезарядка: 180/195/210 секунд.
- нельзя отменить
- в этом режиме способности "Другой мир" и "Материальный мир" недоступны
Герой высасывает энергию убитых врагов. Каждая поглощенная душа увеличивает интеллект на 1/2/3/4/5 ед. Максимальное количество душ: 5. При смерти героя все души безвозвратно исчезают. Поглощенные души летают над героем и влияют на эффекты его способностей в зависимости от уровня "Пожирателя душ".
подробное описание
- эффект не работает на нежити, зданиях, призванных и механических юнитах
Other World / Другой мир
Порабощенные души переходят в другое измерение и становятся невидимыми для глаз врагов. В этом режиме все дополнительные эффекты способностей не работают.
Порабощенные души переходят в другое измерение и становятся невидимыми для глаз врагов. В этом режиме все дополнительные эффекты способностей не работают.
Material World / Материальный мир
Порабощенные души возвращаются в наш мир и становятся видимыми для глаз врагов. В этом режиме все дополнительные эффекты способностей снова работают.
Порабощенные души возвращаются в наш мир и становятся видимыми для глаз врагов. В этом режиме все дополнительные эффекты способностей снова работают.
подробное описание
Длительность: бесконечно.
Перезарядка: нет.
Мана: нет.
Перезарядка: нет.
Мана: нет.
Импорт
- Переключить карту в режим Lua
Если вы уже пишите на Lua и хукнули функцию InitGlobalsOrigin() в нужном вам месте
do
-- не забудьте закоммментировать хук функции InitGlobalsOrigin() в самом начале кода наработки
-- вставляйте код героя после вашего хука объявления глобалок карты
-- local InitGlobalsOrigin = InitGlobals
-- function InitGlobals()
-- InitGlobalsOrigin()
local status, err = pcall(function() -- check errors
-- code
end
-- end
end
- Импортировать юнитов, способности и баффы:
- Импортировать необходимые модели и иконки. Можно скачать импорт и переместить содержимое в архив вашей карты с помощью MPQ-редактора или в режиме папки.
- Скачайте скрипт карты и скопируйте код в любой пустой блок custom scripts или в нестандартный код карты.
Кастомизация и особенности
- Если нужно больше одного Заклинателя Маны:
Инструкция
-- найдите это место в коде карты
-- Caster of Mana Heroes
local hero_1 = FourCC('Tcom')
-- раскомментируйте эту строку и измените Abcd на id вашего героя (посмотреть id можно в редакторе, если нажать Ctrl + D)
-- раскомментировать - это убрать два дефиса перед строкой
-- аналогично можно добавить сколько угодно героев
-- local hero_2 = FourCC('Abcd') -- your hero id
-- Spell Stats
-- Mental Erosion
local dmg_inc = {
[1] = 1.30,
[2] = 1.35,
[3] = 1.40,
[4] = 1.45,
[5] = 1.50
}
local hero_table = {
-- это герой с id Tcom
-- скопируйте переменные внутри массива [hero_1] и вставьте их в массив вашего героя, например, в [hero_2]
[hero_1] = {
-- копировать от этого места
-- Mental Erosion
...
-- Burning Chains
...
-- Ejection
...
-- True Shape
...
-- Soulflayer
...
-- до этого
}
-- [hero_2] = {
-- вставьте сюда аналогичные переменные, как в массиве [hero_1]
-- можно изменить значение переменных для другого героя по вашему желанию
--},
-- [hero_3] = {
-- не забудьте раскомментировать строки, если добавляете еще одного героя
-- и поставить запятые после закрытия массивов, если после переменной идет еще одна
--}
}
end
Пример, где добавлен один дополнительный герой
local hero_1 = FourCC('Tcom')
local hero_2 = FourCC('Qwer')
-- Spell Stats
-- Mental Erosion
local dmg_inc = {
[1] = 1.30,
[2] = 1.35,
[3] = 1.40,
[4] = 1.45,
[5] = 1.50
}
local hero_table = {
[hero_1] = {
-- Mental Erosion
me_lvl = 0,
me_range = {
[1] = 200.0,
[2] = 25.0
},
-- Burning Chains
bc_timeout_drain = 1.0,
bc_mana_drain = {
[1] = 25.0,
[2] = 30.0,
[3] = 35.0,
[4] = 40.0,
[5] = 45.0
},
bc_lightnings = {},
bc_timers_drain = {},
bc_add_mana = {
[1] = 5.0,
[2] = 5.0,
[3] = 5.0,
[4] = 5.0,
[5] = 5.0
},
-- Ejection
ej_max_targets = {
[1] = 3,
[2] = 3,
[3] = 3,
[4] = 3,
[5] = 3
},
-- True Shape
-- ts_lvl = 0,
ts_cooldown_dec = {
[1] = 5.0,
[2] = 6.0,
[3] = 7.0
},
-- Soulflayer
sf_lvl = 0,
sf_max_souls = {
[1] = 5,
[2] = 5,
[3] = 5,
[4] = 5,
[5] = 5
},
sf_int_inc = {
[1] = 1,
[2] = 2,
[3] = 3,
[4] = 4,
[5] = 5
},
sf_state = 0,
sf_units = {},
sf_move_timers = {},
sf_trigger_attack = nil
},
[hero_2] = {
-- Mental Erosion
me_lvl = 0,
me_range = {
[1] = 100.0,
[2] = 50.0
},
-- Burning Chains
bc_timeout_drain = 1.0,
bc_mana_drain = {
[1] = 99.0,
[2] = 999.0,
[3] = 9999.0,
[4] = 99999.0,
[5] = 999999.0
},
bc_lightnings = {},
bc_timers_drain = {},
bc_add_mana = {
[1] = 10.0,
[2] = 50.0,
[3] = 100.0,
[4] = 500.0,
[5] = 1000.0
},
-- Ejection
ej_max_targets = {
[1] = 1,
[2] = 5,
[3] = 8,
[4] = 10,
[5] = 33
},
-- True Shape
-- ts_lvl = 0,
ts_cooldown_dec = {
[1] = 5.0,
[2] = 15.0,
[3] = 20.0
},
-- Soulflayer
sf_lvl = 0,
sf_max_souls = {
[1] = 5,
[2] = 9,
[3] = 10,
[4] = 15,
[5] = 25
},
sf_int_inc = {
[1] = 21,
[2] = 22,
[3] = 23,
[4] = 24,
[5] = 25
},
sf_state = 0,
sf_units = {},
sf_move_timers = {},
sf_trigger_attack = nil
}
}
- В наработке используются только локальные переменные и функции. Если вам нужно использовать какую-то функцию из разных областей видимости: как один из вариантов - это переместить ее в нестандартный код карты и сделать глобальной.
Известные недоработки
- Не полностью отображается описание изученной способности "Обжигающие цепи". Триггерно это не затрагивается. Пока не могу понять, почему конкретно. У других способностей описание длиннее. Возможно, это из-за того, что спелл сделан на основе авто-кастовой "Ледяной брони".
- В SD режиме модель героя в Истинной форме не отображается. Так что тестируйте в HD.
Использованные материалы
Список
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Анимаций тут явно не хватает, конеш, ждёмс
Отредактирован PROSHELDOTU
к тому же, вот Скорп не любит так много нажимать)0 ему сложно было открыть 6 катов, а тут надо на каждую гифку правой кнопкой нажимать и там ещё нажать открыть изображение левой!! )0
Отредактирован ivanbakavan