[Конкурс героев] Заклинатель Маны

» опубликован
» Способ реализации: Lua
» Тип: Наработка
» Версия Warcraft: 1.32+
Герой создан в рамках Конкурса героев
Скачать демонстрационную карту
Напишите -test, чтобы пропустить введение и получить плюшки. Тестировать рекомендую в HD режиме.
Осталось 0 дней (100%) - до завершения конкурса
5 / 5 (100%) - готовность способностей

Концепт персонажа

Изначально концепт героя был придуман 6 лет назад для карты PDArena, которую делал легендарный в узких кругах YellowStar (по крайне мере говорил, что это он) для не менее легендарного сообщества продоты.
Легенды гласят, что темные тролли были неповоротливыми и очень жестокими, бросались в атаку без каких-либо сомнений. Но однажды некоторые племена по наставлению Элуны стали жить у берегов Колодца Вечности. Впоследствии они превратились в Ночных Эльфов, черпая бесконечную и опасную силу из глубин мироздания. Сегодня темных осталось так мало, что их существование считается сомнительным...

Ментальное истощение / Mental Erosion

Герой рассекает физические тела группы противников, оголяя их ментальную оболочку. Цели теряют способность атаковать, но могут применять заклинания. Физические атаки не наносят вреда таким целям, но магические атаки и заклинания наносят больше урона на 30/35/40/45/50%.
» эффект от способности "Пожиратель душ"
После смерти героя на ближайших врагов накладывается эффект "Ментального истощения" текущего уровня.
Радиус: 200/225/250/275/300 (от героя).
(на гифке радиус больше для демонстрации)
» подробное описание
Длительность: 4/6/8/10/12 секунд.
Радиус: 125/150/175/200/225 ед.
Мана: 75/90/105/120/135 ед.
Перезарядка: 16/15/14/13/12 секунд.
Дальность применения: 600 ед.
  • возможность атаковать цели остается для юнитов с любым типом урона
  • нельзя наложить на цели, на которых применены заклинания «Изгнание», «Астральный облик» или «Фазовый сдвиг»
  • увеличение урона не работает для способностей с эффектом лечения
  • эффект не работает на зданиях и механических юнитах

Обжигающие цепи / Burning Chains

Обездвиживает указанного врага магическими цепями и перекачивает вам 25/30/35/40/45 ед. маны в секунду. Перекачка от цели под эффектом "Ментального истощения" дополнительно отнимает у нее 5 ед. маны в секунду.
» эффект от способности "Пожиратель душ"
Одна из душ вселяется во врага, позволяя видеть его глазами. Душа умирает, а эффект продолжается после "Обжигающих цепей".
Продолжительность: 15/20/25/30/35 секунд.
анимация
» подробное описание
Длительность: 4/5/6/7/8 секунд.
Мана: 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 секунд.
  • эффект не работает на зданиях и механических юнитах
  • целью может быть один и тот же юнит несколько раз подряд

Истинная форма / True Shape

Герой отбрасывает физическое тело и принимает свой настоящий облик. Во время действия тип атаки меняется на атаку хаоса, а перезарядка остальных способностей сокращается на 5/6/7 секунд. Захваченные души переходят в материальный мир и не могут уйти в другой.
» эффект от способности "Пожиратель душ"
Души переполняются гневом и атакуют цель, которую атакует ваш герой.
Урон: 2/4/6/8/10 ед.
Радиус: как у героя.
Тип урона: магический.
  • атака происходит в момент нанесения врагу урона
анимация
» подробное описание
Длительность: 18/21/25 секунд.
Мана: 150/200/250 ед.
Перезарядка: 180/195/210 секунд.
  • нельзя отменить
  • в этом режиме способности "Другой мир" и "Материальный мир" недоступны

Пожиратель душ / Soulflayer

Герой высасывает энергию убитых врагов. Каждая поглощенная душа увеличивает интеллект на 1/2/3/4/5 ед. Максимальное количество душ: 5. При смерти героя все души безвозвратно исчезают. Поглощенные души летают над героем и влияют на эффекты его способностей в зависимости от уровня "Пожирателя душ".
» подробное описание
  • эффект не работает на нежити, зданиях, призванных и механических юнитах

Другой мир / Материальный мир

Other World / Другой мир
Порабощенные души переходят в другое измерение и становятся невидимыми для глаз врагов. В этом режиме все дополнительные эффекты способностей не работают.
Material World / Материальный мир
Порабощенные души возвращаются в наш мир и становятся видимыми для глаз врагов. В этом режиме все дополнительные эффекты способностей снова работают.
» подробное описание
Длительность: бесконечно.
Перезарядка: нет.
Мана: нет.

Импорт

  1. Переключить карту в режим Lua
» Если вы уже пишите на Lua и хукнули функцию InitGlobalsOrigin() в нужном вам месте
do
	-- не забудьте закоммментировать хук функции InitGlobalsOrigin() в самом начале кода наработки
	-- вставляйте код героя после вашего хука объявления глобалок карты
	-- local InitGlobalsOrigin = InitGlobals
	-- function InitGlobals()
		-- InitGlobalsOrigin()
		local status, err = pcall(function() -- check errors
			-- code
		end
	-- end
end
  1. Импортировать юнитов, способности и баффы:
  1. Импортировать необходимые модели и иконки. Можно скачать импорт и переместить содержимое в архив вашей карты с помощью MPQ-редактора или в режиме папки.
  1. Скачайте скрипт карты и скопируйте код в любой пустой блок 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.

Использованные материалы

» Список

Dark Troll Shadow Priest
icon by ivanbakavan
original Blizzard Entertainment

Burning Chains
icon by ivanbakavan
art by Dr.Robo


Просмотров: 1 387

» Лучшие комментарии


Proshel_Doty #1 - 2 месяца назад 0
Ууух, жаришка )
Анимаций тут явно не хватает, конеш, ждёмс

Оформление ресурса пожалуй подстырю) сделано грамотно
Bergi_Bear #2 - 2 месяца назад 0
Больше всего хочется посмотреть на реализацию
Поглощенные души летают над героем и влияют на эффекты его способностей
Феникс #3 - 2 месяца назад 0   
Вот это прям огонь! Уже не терпится посмотреть на реализацию
ivanbakavan #4 - 2 месяца назад 1   
Добавил гифки (не все), но пока все выглядит очень сыро.
Proshel_Doty #5 - 2 месяца назад 0
Оформление ресурса пожалуй подстырю) сделано грамотно
хотя так гифки получаются слишком маленькими, ничего не разглядеть
Андреич #6 - 2 месяца назад 0
Proshel_Doty:
Оформление ресурса пожалуй подстырю) сделано грамотно
хотя так гифки получаются слишком маленькими, ничего не разглядеть
Правая кнопка мыши => "Открыть изображение"...
Proshel_Doty #7 - 2 месяца назад (отредактировано ) 0
Правая кнопка мыши => "Открыть изображение".
ну камооон, хочеца же прям в ресурсе всё видеть
к тому же, вот Скорп не любит так много нажимать)0 ему сложно было открыть 6 катов, а тут надо на каждую гифку правой кнопкой нажимать и там ещё нажать открыть изображение левой!! )0
ivanbakavan #8 - 2 месяца назад (отредактировано ) 3   
Новые жирные гифки подъехали
» Обжигающие цепи
» Истинная форма
Aws #10 - 2 месяца назад 0
Неплохой концепт, но пока что скиллы не выглядят эпично (это чисто имхо, так как завышенные ожидания), видимо не хватает эффектов от способности "пожиратель душ" (бтв тема с душами это единственное, что мне нравится в данном персе). Не буду рофлить с "это уже было в доте", а то опять потратите время на то, чтобы расписать, почему это не так.
Единственный вопрос: Почему цепи "обжигающие", если они не поджигают и не наносят урон? Не лучше назвать их "астральными" или типа того?
ivanbakavan #11 - 2 месяца назад (отредактировано ) 0
Единственный вопрос: Почему цепи "обжигающие", если они не поджигают и не наносят урон? Не лучше назвать их "астральными" или типа того?
Тут скорее по аналогии с заклинанием охотника на демонов Mana Burn. Не нашел слова на русском, как лучше описать. Так что это "обжигающие" цепи.
Proshel_Doty #12 - 2 месяца назад 0
ivanbakavan:
ну прально, там то мана выжигается )
Burn = жечь, выжигать
Mana Burn = Выжигать Ману
ivanbakavan #13 - 2 месяца назад (отредактировано ) 0
Proshel_Doty:
ivanbakavan:
ну прально, там то мана выжигается )
Burn = жечь, выжигать
Mana Burn = Выжигать Ману
Мне, кажется, параллель прослеживается:
Обездвиживает указанного врага магическими цепями и перекачивает вам Х ед. маны в секунду.
Aws #14 - 2 месяца назад 1   
ivanbakavan, он к тому, что в ориджинал названии есть слово мана, а у тебя этого слова нет (в названии). Даже логичней будет юзать "перекачивающие", ну или на крайняк "выжигающие".
Proshel_Doty #15 - 2 месяца назад 2   
Aws:
высасывающие xD
ivanbakavan #16 - 2 месяца назад (отредактировано ) 1   
Немного лора:
Изначально концепт героя был придуман 6 лет назад для карты PDArena, которую делал легендарный в узких кругах YellowStar (по крайне мере говорил, что это он) для не менее легендарного сообщества продоты.
Легенды гласят, что темные тролли были неповоротливыми и очень жестокими, бросались в атаку без каких-либо сомнений. Но однажды некоторые племена по наставлению Элуны стали жить у берегов Колодца Вечности. Впоследствии они превратились в Ночных Эльфов, черпая бесконечную и опасную силу из глубин мироздания. Сегодня темных осталось так мало, что их существование считается сомнительным...
» и эффект для "Ментального истощения"
После смерти души накладывают на ближайших врагов эффект "Ментального истощения" текущего уровня.
Радиус: 200 (от героя) + 40 за каждую душу.
(на гифке радиус больше для демонстрации)
ScorpioT1000 #17 - 2 месяца назад (отредактировано ) 0
Прикрепленные файлы
Proshel_Doty #18 - 1 месяц назад (отредактировано ) 0
ScorpioT1000, видно то видно, но мелко
ivanbakavan #19 - 4 недели назад (отредактировано ) 0
Обновил описание. Герой почти готов, но надо еще пару багов исправить. Скоро новые гифки добавлю. Предупреждаю, что код внутри еще страшный.
Если можете потестить, скачайте карту и оставьте тут фидбек, плз: Скачать демо-версию
Напишите -test, чтобы получить плюшки для быстрого теста.
Bergi_Bear #20 - 4 недели назад 2   
Ментальня эрозия баг цветокода, посмотри что там (вообще все цветокоды поломаны в баффах)
Событиие юнит атакован в ультимейте не очень решение, если прерывать атаку то духи атакуют гораздо чаще
Не плохо бы команде тест добавить сброс перезарядки
Дебаги пора бы уже убрать
Вообще я не понял что герой делает, если включить режим левой пятки, но и тройное ВНИМАТЕЛЬНОЕ прочтение описания способности не да также понятности:
Q
После смерти души накладывают ментальное истощение
Но я же и так наложил ментальное истощение... или это доп свойство после смерти героя?
Но в целом это массовый астрал, тут понятно
W
Всё идеально, надо добавить что можно двигаться во время способности, это главная фишка... хорошая способность
Но есть лишний цветокод в конце способности
E
Очень долго ковырял 2 раза подряд у меня случайной целью выпал 1 и тот же юнит, самый полудохлый, в итоге я подумал что поражается 1 цель
Описание ужасное "завоалированное"
Если у героя есть души, то каждая душа также выпускает заряд извержения, который наносит меньший урон (30-50) и исчезает/умирает
Почему так не написать? а то написанно и
и уходит в иной мира
Это куда? как бы есть другой и материальный, что у же третий есть? Хотел в красивые слова в итоге запутал только
R
Всё норм, кроме бага кнопки прерывания атаки, но ничего не подскажу, пусть вообще автономно атакуют + смена приоритета если герой кого-то отдельно атакует
A
Всё норм, кроме опять таки этого самого "иного" мира, оно в целом норм когда я уже врубился.
И того на освоение героя у меня ушло 10 минут, это так к слову
По поводу тестов:
Воскрешение героя
Открытую карту сразу
Больше точек по 5 жрецов по 5 крестьян, по 5 рыцарей
В режиме теста перезарядка ульты 20 сек
и вообще ОГОНЬ, считай готово
ivanbakavan #21 - 4 недели назад (отредактировано ) 2   
цветокоды поломаны в баффах
Поправил, спасибо.
Bergi_Bear:
если прерывать атаку то духи атакуют гораздо чаще
Подумаю, как можно исправить.
Bergi_Bear:
команде тест добавить сброс перезарядки
Ульта "Истинная форма" никак не защищена от нулевой перезарядки: если нажать несколько раз, то кд способностей навсегда в 0 уйдет. Не хочу уже на это время тратить. Можно кд ульты сделать по границе действия в тесте.
Bergi_Bear:
не понял что герой делает, если включить режим левой пятки
Это ты про первую способность с "Пожирателем душ"? Подправил описания спеллов, чтобы понятнее было.
Bergi_Bear:
Но есть лишний цветокод в конце способности
Почему-то у заклинания "Обжигающие цепи" описание не отображается нормально. Во время изучения - ок. И у других способностей все ок, а у них более длинные тексты. Может, из-за того, что это авто-каст. Пока не понял, в чем прикол.
Bergi_Bear:
Очень долго ковырял 2 раза подряд у меня случайной целью выпал 1 и тот же юнит, самый полудохлый, в итоге я подумал что поражается 1 цель
Тут полная случайность. В отличие от "Веера ножей" Варденки целью может быть один и тот же юнит несколько раз. Смотря как выпадет рандом. На самом деле было лень делать проверку на повторение юнита:
for i = 1, max_targets do
	local random_index = math.random(0, size - 1) -- группы в варике начинаются с 0
	local target = BlzGroupUnitAt(group, random_index)
	local dummy = DummyCreate(player, x, y, ability_id_dummy, level)
	DummyCastTarget(target, dummy, order_id, nil)
end
konvan5 #22 - 4 недели назад 2   
Очень приятная работа, от души :)