Добавлен scopterectus
Создал способность на основе Волшебного Огня/Замедления. Триггер отлавливает момент применения данной способности, а дальше всё как обычно. Но с жертвы нужно снять бафф, но бафф почему то хочет удаляться. Почему так происходит? Впервые такое вижу.
struct ensnare
static unit caster = null
static unit target = null
public static method onUnitSpellEffect takes nothing returns nothing
if ( GetSpellAbilityId() == 'A005' ) then
set thistype.caster = GetSpellAbilityUnit( )
set thistype.target = GetSpellTargetUnit( )
call CastAbilityTargetUnit( GetOwningPlayer( thistype.caster ), GetUnitX( thistype.caster ), GetUnitY( thistype.caster ), GetUnitFlyHeight( thistype.caster ), 'A004', GetUnitAbilityLevel( thistype.caster, GetSpellAbilityId( ) ), OrderId( "ensnare" ), thistype.target, true )
call UnitRemoveAbility( thistype.target, 'Bfae' )
endif
endmethod
public static method onInit takes nothing returns nothing
call RegisterAnyUnitEvent( EVENT_PLAYER_UNIT_SPELL_EFFECT, function thistype.onUnitSpellEffect )
endmethod
endstruct
Принятый ответ
В момент получения урона бафф есть? Скиллы всегда наносят урон (равный нулю, если не указано иное)
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
если его нет - значит его нет, и ты не сможешь удалять его в этот момент... логично?
либо просто дай скиллу 0.01 сек длительности что на много проще
но всё же не проффитно, т.к. это целых 0.01 сек действия эффекта... или пофиг?
юнит получает урон
Условия:
урон равен 0
являет ли баф замедление
Действия:
удалить баф и шамани что зотите
а не надо проверять при каста
А чтобы определить чей владелец бафа то заносим в массив очереди владельца бафа и потом уже лови урон 0 и берем из массива начальный если есть то его владелец и удаляем чтобы сократить массив для MUI