Name | Type | is_array | initial_value |
AbilityOrderString | string | Yes | |
Position | location | No | |
Position_Front | location | No |
function Trig_Arcane_Sheald_Conditions takes nothing returns boolean
if ( not ( UnitHasBuffBJ(GetSpellTargetUnit(), 'Bprg') == true ) ) then
return false
endif
if ( not ( UnitHasBuffBJ(GetSpellTargetUnit(), 'B007') == true ) ) then
return false
endif
if ( not ( GetSpellAbilityId() == 'A005' ) ) then
return false
endif
return true
endfunction
function Trig_Arcane_Sheald_Actions takes nothing returns nothing
set udg_Position = GetUnitLoc(GetSpellTargetUnit())
call UnitRemoveBuffsBJ( bj_REMOVEBUFFS_ALL, GetSpellTargetUnit() )
call CreateNUnitsAtLoc( 1, 'h001', GetOwningPlayer(GetSpellTargetUnit()), udg_Position, bj_UNIT_FACING )
call UnitApplyTimedLifeBJ( 2.00, 'BTLF', GetLastCreatedUnit() )
call UnitAddAbilityBJ( 'A007', GetLastCreatedUnit() )
call IssueTargetOrderBJ( GetLastCreatedUnit(), "bloodlust" , GetSpellTargetUnit() )
set udg_Position = null
endfunction
//===========================================================================
function InitTrig_Arcane_Sheald takes nothing returns nothing
set gg_trg_Arcane_Sheald = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Arcane_Sheald, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Arcane_Sheald, Condition( function Trig_Arcane_Sheald_Conditions ) )
call TriggerAddAction( gg_trg_Arcane_Sheald, function Trig_Arcane_Sheald_Actions )
endfunction
function Trig_Arcane_Sheald_Activate_Conditions takes nothing returns boolean
if ( not ( UnitHasBuffBJ(GetSpellTargetUnit(), 'B002') == true ) ) then
return false
endif
return true
endfunction
function Trig_Arcane_Sheald_Activate_Actions takes nothing returns nothing
set udg_Position = GetUnitLoc(GetSpellAbilityUnit())
call CreateNUnitsAtLoc( 1, 'h001', GetOwningPlayer(GetSpellTargetUnit()), udg_Position, bj_UNIT_FACING )
call UnitApplyTimedLifeBJ( 2.00, 'BTLF', GetLastCreatedUnit() )
call UnitAddAbilityBJ( GetSpellAbilityId(), GetLastCreatedUnit() )
call SetUnitAbilityLevelSwapped( GetSpellAbilityId(), GetLastCreatedUnit(), GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetSpellAbilityUnit()) )
call AddSpecialEffectLocBJ( udg_Position, "Units\\NightElf\\Wisp\\WispExplode.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
set udg_Position = null
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 83
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
call IssueTargetOrderBJ( GetLastCreatedUnit(), udg_AbilityOrderString [GetForLoopIndexA()] , GetSpellAbilityUnit() )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
call UnitRemoveBuffsBJ( bj_REMOVEBUFFS_ALL, GetSpellTargetUnit() )
endfunction
//===========================================================================
function InitTrig_Arcane_Sheald_Activate takes nothing returns nothing
set gg_trg_Arcane_Sheald_Activate = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Arcane_Sheald_Activate, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Arcane_Sheald_Activate, Condition( function Trig_Arcane_Sheald_Activate_Conditions ) )
call TriggerAddAction( gg_trg_Arcane_Sheald_Activate, function Trig_Arcane_Sheald_Activate_Actions )
endfunction