Добавлен
function Trig_paldin_1skils_Conditions takes nothing returns boolean
    if ( not ( GetSpellAbilityId() == 'A001' ) ) then
        return false
    endif
    return true
endfunction

function nahogdenie takes nothing returns boolean             
    return ( IsPlayerAlly(GetOwningPlayer(GetFilterUnit()), udg_pl[1]) == true )
endfunction

function nahogdenie2 takes nothing returns boolean
    return ( IsPlayerEnemy(GetOwningPlayer(GetFilterUnit()), udg_pl[1]) == true )
endfunction

function Trig_paldin_1skils_Actions takes nothing returns nothing
    local location p
    local location p1
    local unit u
    local effect e
    local integer i =0
    local integer j =0
    local group array g
    set p = GetSpellTargetLoc()
    set u = GetSpellAbilityUnit()
    set udg_pl[1] = GetOwningPlayer(u) 
    
    set g[1] = GetUnitsInRangeOfLocMatching(256.00, p, Condition(function nahogdenie))
    set g[2] = GetUnitsInRangeOfLocMatching(256.00, p, Condition(function nahogdenie2))
endfunction

function InitTrig_paldin_1skils takes nothing returns nothing
    set gg_trg_paldin_1skils = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_paldin_1skils, EVENT_PLAYER_UNIT_SPELL_CAST )
    call TriggerAddCondition( gg_trg_paldin_1skils, Condition( function Trig_paldin_1skils_Conditions ) )
    call TriggerAddAction( gg_trg_paldin_1skils, function Trig_paldin_1skils_Actions )
endfunction
возможно обойтись без глобальных переменных в функциях nahogdenie nahogdenie2

Принятый ответ

Можно, если перебором делать.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.