Добавлен , опубликован
Название: Похититель душ
Имя: Анашин
Описание/лор:
Лор
Анашин - один из семи Рыцарей Смерти, служащих повелителю Мёртвых Земель. Благодаря особенностям своих способностей он является лучшим охотником на врагов Повелителя. Даже могущественный противник не сможет скрыться от него. "Ты можешь тренировать тело сколько угодно, но твоя душа останется слабой и жалкой" - последние слова, которые слышат жертвы Анашина.

Способности:

Базовые способности

Нет - [[Похищение душ]]]
Описание
Анашин похищает души убитых живых противников (не больше 20). (!) Задача: после убийства 50 противников Анашин получит способность "Блуждающая душа"
. . .
F - Блуждающая душа
Описание
Душа Анашина отделяется от тела на 5 секунд. При окончании действия способности тело Анашина переносится к его душе. Душа и сам Анашин неуязвимы в этот момент.
Перезарядка 15 секунд

Героические способности

Q - Притягивание Души
Описание
В течении 10 секунд Анашин притягивает к себе указанного врага. Если ему удалось притянуть противника, он уничтожает часть его души и замедляет. Противник восстанавливает целостность души в течении 30 секунд. Чем выше уровень у цели, тем сложнее её притянуть, души усиливают притяжение.
Уровень 1 - 20% замедления. 75 маны, перезарядка 30 секунд
Уровень 2 - 40% замедления. 100 маны, перезарядка 30 секунд
Уровень 3 - 60% замедления. 125 маны, перезарядка 30 секунд
Нельзя повторно применить к воину пока он не восстановил душу.
. . .
W - Обнажение Душ
Описание
Анашин стирает грань между миром мертвых и миром живых в указанной области, отправляя врагов в мир мёртвых, а их души в мир живых на 10 секунд (+1 секунда за душу). Душа, находящаяся в мире живых получает на 50% урона больше. Если уничтожить душу, то воин погибнет.
Уровень 1 - Небольшая область (150 АОЕ). 75 маны, перезарядка 30 секунд
Уровень 2 - Средняя область (225 АОЕ). 100 маны, перезарядка 30 секунд
Уровень 3 - Большая область (300 АОЕ). 125 маны, перезарядка 30 секунд
На душу, находящуюся в мире живых, нельзя использовать способность "Тюрьма душ".
. . .
E - Атака банши
Описание
Анашин создаёт из похищенных душ Банши и отправляет их в атаку на указанного противника. Банши атакуют цель в течении 10 секунд, после чего исчезают.
Уровень 1 - до 2 Банши. 75 маны, перезарядка 30 секунд
Уровень 2 - до 4 Банши. 75 маны, перезарядка 30секунд
Уровень 3 - до 6 Банши. 75 маны, перезарядка 30секунд
. . .
R - Тюрьма Душ
Описание
Анашин создаёт вокруг указаного противника тюрьму, из которой он не может выйти. Тюрьма существует 8 секунд и наносит 400 ед. магического урона (+20 урона за душу), при попытке её покинуть противник возвращается в её центр и получает 100 магического урона (+5 урона за душу).
Пока противник находится в тюрьме к нему нельзя применить способность "Притягивание души".
150 маны, перезарядка 60 секунд

Как импортировать

Выполняем следующие действия по очереди:
[ ] Импортировать модели/иконки и прописать пути
[ ] Скопировать всех нестандартных юнитов
[ ] Скопировать все нестандартные способности
[ ] Скопировать все нестандартные баффы
[ ] Скопировать триггеры, также скопировать код из самого верха.

Послесловие

Способность поддержки союзников
Способность, ослабляющая врага
Пассивная способность
Способность, наносящая урон
Способности "Атака банши" и "Тюрьма душ" не подходят для MUI, чтобы это исправить в верхнем коде карты удаляем глобальные переменные SoulGroup и PrisonGroup и сохраняем на ID юнита группы с такими же названиями.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
11
N7 Molot:
Bergi_Bear:
к старому, он думал ещё идет
Я подумал, что это постоянная рубрика, типо делиться тем, что сделал
28
Я посмотрел карту, мне кажется то, что нельзя притягивать юнита во время тюрьмы душ было лишним, хорошая убийственная комбинация могла бы получится, да и потом, молнии порой криво спавнятся

Если у кого-то будут советы по оптимизации кода, буду рад выслушать.
--->

Если делаешь спеллпак, соизволь закинуть счётчик хэндлов в карту, чтобы проверить свои триггеры на наличие утечек. Я понимаю, он не точен, это само собой, но если что-то без конца растёт он даст понять. Например при касте тюрьмы душ у тебя из 300- хэндлов растёт до 1500+

Да и потом, способ реализации у тебя Jass/vJass, мемхак, объявление нативных функций, глобальные переменные объявляемые в коде и т.д. - это всё фишки вджасса

Если ты закинул мемхак в карту только ради щита, то мог воспользоваться библиотекой Negate Damage library от PT153 (сорян за антирекламу мемхака)
10
Плюсы:
  • в целом визуал у скиллов выполнен хорошо
  • проработка героя хорошая
Нейтрально
  • я еще никогда не видел настолько противоречивого кода. Вроде код выполнен нормально, но местами выглядит так как будто сделано на гуи, а потом нажата кнопка - конвертировать в текст и брошено за недостатком времени.
Минусы
  • глобалки можно было бы объявлять в самом триггере через global, и если ты их объявляешь, то не делай имена P и R, серьезно? Такие скилы практически невозможно новичку скопировать себе на карту. Если делаешь скилы для всех, то сделай так что бы это можно было ctr+c ctr+v и изменять только в 2-х строках вначале. К примеру:
  • зачем было приплетать мемхак ради 1ой строчки, не понятно. Да еще тааакой старый, который только на 1.26 работает. Сейчас есть 1.5 от айнрайза, который почти весь работает вплоть до версии 1.28
Вывод:
  • Скилы не рекомендуются для копирования новичками к себе на карту. Нуждаются в сильной доработке
28
Перейди с точек на координаты, они быстрее работают и их не нужно обнулять в конце кода, раскрывай BJ функции, зажми ctrl и кликни по ним левой кнопкой мыши, вытащи с них ту функцию, что тебе нужна
к примеру ты юзаешь
function CreateNUnitsAtLoc takes integer count, integer unitId, player whichPlayer, location loc, real face returns group
    call GroupClear(bj_lastCreatedGroup)
    loop
        set count = count - 1
        exitwhen count < 0
        call CreateUnitAtLocSaveLast(whichPlayer, unitId, loc, face)
        call GroupAddUnit(bj_lastCreatedGroup, bj_lastCreatedUnit)
    endloop
    return bj_lastCreatedGroup
endfunction
всё что тебе нужно в данном случае оттуда это
set bj_lastCreatedUnit = CreateUnitAtLoc(id, unitid, loc, face)
которую лучше заменить на
native CreateUnit takes player id, integer unitid, real x, real y, real face returns unit

Ну и дальше, твои спеллы не пригодны для муи, их может юзать лишь один юнит на карте по сути, иначе возможна похожая несостыковка

а, сорян, это не в муи дело, это недоработка автора, что если цель в тюрьме то её можно сделать душой и тюрьма поломается и на юнита в тюрьме можно будет юзануть притягивание души

обнулять локальные целочисленные конечно мощно

в таком предложении
можно обойтись без else

В общем дальше мне лень осматривать, ошибки одни и те же по сути, автору советую почитать больше статей по джассу или обучающих гайдов на ютубе и переделать/доработать скиллы, лайк конечно ставлю за труды, но всё же надеюсь что ты накопаешь больше информации о хорошем коде, с Konstantin19 согласен, спеллы пока что не пригодны к импорту в свою карту, однозначно нужно дорабатывать

Справедливости ради, сопровождение и движение у зелёных огоньков прикольное.
11
Буду исправлять

зачем было приплетать мемхак ради 1ой строчки, не понятно. Да еще тааакой старый, который только на 1.26 работает. Сейчас есть 1.5 от айнрайза
Можно на него, пожалуйста, ссылку, я добавил тот МемХак который нашёл из-за того, что я планировал на эту карту в дальнейшем добавлять героев, которых придумаю, и заранее к ним добавил его. Да и интересно, что с ним можно сделать.

Если делаешь спеллпак, соизволь закинуть счётчик хэндлов в карту, чтобы проверить свои триггеры на наличие утечек. Я понимаю, он не точен, это само собой, но если что-то без конца растёт он даст понять. Например при касте тюрьмы душ у тебя из 300- хэндлов растёт до 1500+
Я не понял что имеется ввиду, можно поподробнее, пожалуйста?

Перейди с точек на координаты
Имеется ввиду Х и У позиция?
28
Я не понял что имеется ввиду, можно поподробнее, пожалуйста?
видишь у меня на скрине в правом верхнем углу счётчик? это он (кэп)
Имеется ввиду Х и У позиция?
да

тут есть счётчик хэндлов, если не пользуешься сджассом оберни глобалку в globals..endglobals и можешь закидывать к себе в карту либу

счётчик хэндлов поможет определить норм ли всё со скиллами, а именно смотрит растёт ли кол-во хэндлов, если после каста их кол-во не уменьшается - значит это утечки, чем больше утечек тем хуже спелл, если их кол-во достигнет критической отметки - вар крашнет
хэндлы это группы, таймера, юниты, точки, эффекты, молнии, деревья те же на карте, короче вот: xgm.guru/p/wc3/optimisations
18
Ребята, такая обширная оценка именно по коду мне кажется немного не справедлива по отношению к другим участникам конкурса
33
Прошу оценит работы победителей, особенно 2 место
шучу, не надо, это всё уже устарело, но согласен с Влодом
11
Bergi_Bear:
Прошу оценит работы победителей, особенно 2 место
шучу, не надо, это всё уже устарело, но согласен с Влодом
А подобные конкурсы ещё планируются в ближайшее время?
28
Vlod, это ради какого-то конкурса? Тю, я даже не знал, сам бы хотел поучаствовать
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.