[Конкурс героев] Кайригар - Великий маг

» опубликован
» Способ реализации: Jass
» Тип: Способность
» Тип карты: Melee/AoS
» Поддержка патча: 1.32 (SD)
» Версия карты: 1.11
» Метод исполнения: vjass

Предыстория

Кайригар - один из самых могущественных магов за все времена, когда-то начавший обучение у Кирин-Тора, как обычный молодой человек. Он быстро показал свой талант к магии и острый ум, за что и был приглашен в состав Ордена, хотя тогда его положение в иерархии было самым низким. Всего за несколько лет Кайригар достиг звания Архимага и получил огромное уважение за свою плодотворную работу.

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

» Характеристики персонажа
Анимация атаки: 0.4 / 0.77
Урон: 44 - 54
Анимация каста: 0.1 / 1.17
Защита: 0.96
Базовое время перезарядки атаки: 1.7
Скорость передвижения: 290
Скорость снаряда (атака, missle speed): 1125
Дальность атаки: 600
Обзор днем/ночью: 1800 / 800
Сила - 19 + 1.5
Ловкость - 14 + 1.6
Интеллект - 27 + 2.4
Плюсы: Мощная поддержка союзников.
Минусы: Уязвим, если враг имеет иммунитет к магии.

Нестабильный поток [D]
Цепная молния, со случайным эффектом, учитывается высота целей и их перемещение.
Герой создаёт мощный поток магической энергии, который перемещается между целями, нанося им урон и применяя одно из следующих заклинаний: Духовный огонь, Ледяная броня, Омоложение, Кровожадность, Невидимость, Полиморф, Замедление, Волшебный огонь, Проклятие, Увечье. (Вероятность применения положительного/отрицательного заклинания - 50%)
Уровень 1 - Наносит 0.75 x INT урона.
Уровень 2 - Наносит 1.25 x INT урона.
Уровень 3 - Наносит 1.75 x INT урона.
Уровень 4 - Наносит 2.25 x INT урона.
[!] Задача: Поразить 45 героев этой способностью.
[?] Награда: Убирает лимит на количество целей.
Дальность применения: 650
Затраты маны: 135/155/185/225
Перезарядка: 15/13/10/6 сек.

Похитить заклинание [B]
Похищение всех полезных заклинаний, наложенных на противников в области, и передача его ближайшим союзникам (и наоборот). Замедляет всех в области на 200% в течении 1 сек.
Уровень 1 - максимум 5 заклинаний.
Уровень 2 - максимум 7 заклинаний.
Уровень 3 - максимум 9 заклинаний.
Уровень 4 - максимум 11 заклинаний.
Не может похитить ауру или мощное заклинание.
Дальность применения: 600
Затраты маны: 60/70/85/105
Область эффекта: 450
Перезарядка: 35/25/15/8 сек.

Чародейская аура [N]
Вражеские войска, находящиеся под действием Brilliance Aura, получают дополнительный урон от способностей.
Уровень 1 - Вражеские войска получают на 7% больше урона от способностей.
Уровень 2 - Вражеские войска получают на 14% больше урона от способностей.
Уровень 3 - Вражеские войска получают на 21% больше урона от способностей.
Уровень 4 - Вражеские войска получают на 28% больше урона от способностей.

Замедление времени [F]
После задержки в 0.7 сек, создает искривление во времени и пространстве в указанной области. Искривление снижает скорость атаки и передвижения на 50%. Оно также снижает получаемый урон в дальнем бою на 50%.
Уровень 1 - длительность 5 сек.
Уровень 2 - длительность 7 сек.
Уровень 3 - длительность 9 сек.
Перезарядка: 60/50/35
Затраты маны: 100/120/150
Дальность применения: 850
Область эффектаt: 400

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

Выполняем следующие действия по очереди:
[ ] Импортировать текстуры/модели и прописать пути
[ ] Скопировать все нестандартные юниты (2)
[ ] Скопировать все нестандартные способности (35)
[ ] Скопировать все нестандартные баффы (4)
[ ] Скопировать триггеры, кроме необязательных
[ ] Конфигурация xebasic: XE_DUMMY_UNITID
[ ] Конфигурация AutoIndex: LeaveDetectAbilityID
[ ] Конфигурация MagicStream, BuffSwap, BrillianceAura, SlowTime
[ ] Отключить DEBUG_MODE

Используемые ресурсы

Особая благодарность ребятам из HiveWorkShop.com и wc3c.net
Vexorian - XE, TimerUtils
Magtheridon96 - RegisterPlayerUnitEvent
grim001 - AutoIndex

Загрузить (тестовая версия, рабочий фолдер)



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

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


Bergi_Bear #1 - 2 месяца назад 0
Ооо пошли герои

Только у меня много вопросов, почему английский, зачем umswe в рефордже, где я мог видеть эту карту как и гифки из этого же сеттинга?
Komkozavr #2 - 2 месяца назад 0
Bergi_Bear, может просто скопировано откуда-то? А описание лень было перевести
Proshel_Doty #3 - 2 месяца назад (отредактировано ) 0
может просто скопировано откуда-то?
Null field точно )

И зачем героя для конкурса называть Медив и брать стандартную модельку Медива? =/
Прикрепленные файлы
ScopteRectuS #4 - 2 месяца назад 0
пеонов бьют.
Bergi_Bear #5 - 2 месяца назад 0
ScopteRectuS:
пеонов бьют.
ага и они куда то трусливо бегут =(
quq_CCCP #6 - 2 месяца назад 0
Мне очень напоминает наработку с библиотеки спеллов, которой лет 10.
pro100master #7 - 2 месяца назад 0
ну автор ты решил нарушать правила?
Proshel_Doty #8 - 2 месяца назад 0
pro100master:
ну автор ты решил нарушать правила?
Правила нужны чтобы их нарушать :D
Андреич #9 - 2 месяца назад (отредактировано ) 0
» Версия Warcraft: 1.26a
там же вроде как рефордж обязательно...

а не, просто поддержка рефорджа обязательна...
Bergi_Bear #10 - 2 месяца назад 0
Ну надо чтобы карта могла сейвануться в редакторе рефорджа, поэтому надо быть очень аккуратным с фишками JNGP
quq_CCCP #11 - 2 месяца назад (отредактировано ) 0
Bergi_Bear, ну вот так всегда, я уже хотел на с++ попробовать сделать...
Daro #12 - 2 месяца назад (отредактировано ) 2   
Используемые ресурсы
Особая благодарность ребятам из HiveWorkShop.com и wc3c.net
Vexorian - XE, TimerUtils
Rising_Dusk - TerrainPathability, GroupUtils
Magtheridon96 - RegisterPlayerUnitEvent
Maker - Arcing Text Tag
Captain_Griffen - LightLeaklessDamageDetect
grim001 - AutoIndex
Вот как раз чего мне именно не хотелось увидить в конкурсных наработках , так это использование кучи нестандартных громоздких библиотек, без которых спеллы не самостоятельны.
Так это вызовет затрудения у новичков , если вдруг кто-то захочет использовать
Komkozavr #13 - 2 месяца назад 0
Daro, да и с обычным Jass вызовет затруднения если что-то поменять, с чем взаимодействует код
Bergi_Bear #14 - 2 месяца назад 0
если это все переносится методом копирования папки с триггерами из одной карты в другую и не нуждается в настройке, тогда что в этом плохого?

Например библиотка текстагов, кочует из проекта в проект и не нуждается в какой либо настройка, а просто создаёт плавающий текст для урона, пример, от некоторых заклинаний
Undert4ker #15 - 2 месяца назад 0
Ужас...
Maxlaid #16 - 2 месяца назад 1   
Undert4ker:
Ужас...
А что там такого ужасного?
RvzerBro #17 - 2 месяца назад 0
Скажите пожалуйста, а как будет работать второе умение героя?
Оно направляется и действует только на союзные цели?
Например: при наведении на самого героя или же на вражеские цели, эффекта ни какого не произойдёт? А так же, хотелось узнать, а если на каждую цель, будут наложены по 2-5 эффектов, то те цели в указанной области , что не имеют баффоф, будут получать по одному баффу на цель, или от цели к цели, будут полностью переданы все 2-5 эффектов? (Как отображено на гиф'ке, с передачей эффектов, от умения: "Рёв")

P.S. А почему, вы всё же решили использовать импорт иконку для ульты, но вот остальные абилки, не заменяли на импорт?)
"Герой очень понравился, спасибо за ваше участие, так держать!)
DualShock #18 - 2 месяца назад 0
RvzerBro, все положительные заклинания на врагах передаются случайным союзникам в пределах указанной области (400 АОЕ), и наооборот - все отрицательные заклинания на союзных войсках передаются случайным врагам в пределах этой же области. Это еще не конечный вариант, есть несколько вариаций 2 способности и несколько вариаций ульты, спасибо =)
Bergi_Bear #19 - 2 месяца назад 1   
В любом случае это лишь сгодиться для дефолт рошных баффов, перекидывать бафы посерьёзней, нужна и система серьёзней
Alexander122 #20 - 2 месяца назад 0
Вторая способность на стандартной способности ведьмака что ль сделана?
Proshel_Doty #21 - 2 месяца назад (отредактировано ) 0
Замедление времени [E]
После задержки в 0.7 сек, создает искривление во времени и пространстве в указанной области. Искривление снижает скорость атаки и передвижения на 50%. Оно также снижает скорость полета вражеских снарядов на 50%.
Кастомные снаряды еее
Вылетают когда "Юнит - Атакован" ?)
DualShock #22 - 2 месяца назад 1   
Proshel_Doty, на старых скинах - да :) , в новой версии это исправлено.
Proshel_Doty #23 - 2 месяца назад 0
DualShock:
Найс)
Способности, по отдельности конечно классные, но как они связаны между собой?
Какая-то сборная солянка получилась )
pro100master #24 - 2 месяца назад 0
снаряды это не дефолотный варкрафт или триггерный? ибо замедлять снаряд нельзя
Proshel_Doty #25 - 2 месяца назад 3   
ибо замедлять снаряд нельзя
это магия )
Прикрепленные файлы
Bergi_Bear #26 - 2 месяца назад 0
ну магия это удачно встроенная своя система снарядов в дефолтную, выглядит это просто потрясающе
Proshel_Doty #28 - 2 месяца назад (отредактировано ) 0
Феникс:
Bergi_Bear, нетъ.
вот тут поподробнее плз )
просто я тоже думал такое делать, ещё до того, как увидел это тут
точнее оно уже готово, просто обдумывал как это притулить к той концепции, которая сложилась на текущий момент
DualShock #29 - 1 месяц назад 2   
Новый стресс тест ульты:
Прикрепленные файлы
ScorpioT1000 #30 - 1 месяц назад (отредактировано ) 0
У тебя скиттлстрянка?)
Proshel_Doty #31 - 1 месяц назад 0
DualShock:
а они пролетают выше сферы?)
У тебя файлы моделек снарядов не через БД сделаны же?)
DualShock #32 - 1 месяц назад (отредактировано ) 1   
Proshel_Doty, для теста там массив снарядов, в остальных случаях используются новые нативки
Обновил
DualShock #33 - 4 недели назад 0
Новая версия!
В качестве примера сделан кастомный Thunder Bolt (в дополнение к ульте), с полным контролем снарядов. Реализация может быть любая, просто пользуемся функцией
SlowTime.isPointInSphere(x, y)
scope ThunderBolt

    globals
    
        private constant integer    SPELL_ID            = 'A000'
        private constant integer    DUMMY_STUN_ID       = 'AHtb'        
        private constant string     DUMMY_STUN_ORDER_ID = "thunderbolt"
        private constant string     MISSILE_PATH        = "Abilities\\Spells\\Human\\StormBolt\\StormBoltMissile.mdl"
        private constant real       MISSLE_SPEED        = 1000.00
        private constant real       MISSLE_ARC          = 0.10
        private constant real       UNIT_ORIGIN_Z       = 45.00
        private constant boolean    PRELOAD             = true
    endglobals
    
    struct ThunderBolt extends xehomingmissile

        unit source
        integer abilityLevel
        
        private boolean inSphere
        
        private method onHit takes nothing returns nothing
            local xecast xc = xecast.createA()
            set xc.abilityid = DUMMY_STUN_ID                          
            set xc.orderstring = DUMMY_STUN_ORDER_ID
            set xc.level = this.abilityLevel
            set xc.owningplayer = GetOwningPlayer(this.source)
            call xc.castOnTarget(this.targetUnit)
        endmethod
        
        private method loopControl takes nothing returns nothing
        
            if SlowTime.isPointInSphere(.x, .y) then
                set .speed = MISSLE_SPEED * SLOW_TIME_MISSILE_SPEED_REDUCTION
                set .inSphere = true
            else
                set .speed = MISSLE_SPEED
                set .inSphere = false
            endif
           
        endmethod
        
        private static method cast takes unit caster, unit target returns nothing
            local thistype missile = thistype.create(GetUnitX(caster), GetUnitY(caster), GetUnitFlyHeight(caster) + UNIT_ORIGIN_Z, target, UNIT_ORIGIN_Z)
            set missile.source = caster
            set missile.abilityLevel = GetUnitAbilityLevel(caster,SPELL_ID)
            set missile.fxpath = MISSILE_PATH
            call missile.launch(MISSLE_SPEED, MISSLE_ARC)
        endmethod
        
        private static method spellEffect takes nothing returns nothing
            if GetSpellAbilityId()==SPELL_ID then
                call thistype.cast(GetTriggerUnit(),GetSpellTargetUnit())
            endif
        endmethod
            
        private static method onInit takes nothing returns nothing
        
            if PRELOAD then
                call XE_PreloadAbility(SPELL_ID)
                call XE_PreloadAbility(DUMMY_STUN_ID)
            endif
                
            call RegisterPlayerUnitEvent(EVENT_PLAYER_UNIT_SPELL_EFFECT, function thistype.spellEffect)
        endmethod

    endstruct
    
endscope
konvan5 #34 - 4 недели назад 0
Неплохая идея взаимодействия нестабильного потока и похищения заклинаний. А если еще и замедлить, чтобы меньше дергались, можно причинять большие неудобства армиям противника, круто)
Msey #35 - 3 недели назад 0
Здесь придраться не к чему. В целом, все подобрано правильным образом для этого персонажа. Пять баллов)