Алгоритмы, Наработки и Способности
Способ реализации:
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

`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
22
4 года назад
Отредактирован PROSHELDOTU
0
Феникс:
Bergi_Bear, нетъ.
вот тут поподробнее плз )
просто я тоже думал такое делать, ещё до того, как увидел это тут
точнее оно уже готово, просто обдумывал как это притулить к той концепции, которая сложилась на текущий момент
2
12
4 года назад
2
Новый стресс тест ульты:
gif
Загруженные файлы
0
37
4 года назад
Отредактирован ScorpioT1000
0
У тебя скиттлстрянка?)
0
22
4 года назад
0
DualShock:
а они пролетают выше сферы?)
У тебя файлы моделек снарядов не через БД сделаны же?)
1
12
4 года назад
Отредактирован DualShock
1
Proshel_Doty, для теста там массив снарядов, в остальных случаях используются новые нативки
Обновил
0
12
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
0
23
4 года назад
0
Неплохая идея взаимодействия нестабильного потока и похищения заклинаний. А если еще и замедлить, чтобы меньше дергались, можно причинять большие неудобства армиям противника, круто)
0
29
4 года назад
0
Здесь придраться не к чему. В целом, все подобрано правильным образом для этого персонажа. Пять баллов)
0
1
3 года назад
0
Круто!)
1
8
1 год назад
1
Подскажите, где скачать теперь можно?(ссылка битая)
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.