function Holy_Light_Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'AHhb'
endfunction
function Holy_Light_Actions takes nothing returns nothing
local unit Holy_Light_Target
local unit Holy_Light_C = GetTriggerUnit()
local unit Holy_Light_T = GetSpellTargetUnit()
local location Holy_Light_TP = GetUnitLoc(Holy_Light_T)
local player p = GetOwningPlayer(Holy_Light_C)
local unit Holy_Light_Dummy = CreateUnitAtLoc( p, 'n000', Holy_Light_TP , 270)
local group Holy_Light_UnitGroup = GetUnitsInRangeOfLocAll(200.00, Holy_Light_TP)
local integer i = 1
loop
[COLOR=#0000ff] exitwhen i > 4[/COLOR]
[COLOR=#0000ff] call AddSpecialEffectLocBJ( PolarProjectionBJ(Holy_Light_TP, 100.00, I2R(( i * 90 ))), "Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl" )[/COLOR]
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
[COLOR=#0000ff] set i = i + 1[/COLOR]
endloop
loop
set Holy_Light_Target = FirstOfGroup(Holy_Light_UnitGroup)
exitwhen Holy_Light_Target == null
if IsUnitEnemy(Holy_Light_Target, p ) == true then
[COLOR=#0000ff]call UnitDamageTarget(Holy_Light_C, Holy_Light_Target, I2R(GetUnitAbilityLevel( Holy_Light_C, 'AHhb')) * 30.00 ) + 85.00 ),, true, false, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_UNIVERSAL, WEAPON_TYPE_WHOKNOWS)[/COLOR]
call GroupRemoveUnit(Holy_Light_UnitGroup,Holy_Light_Target)
endif
endloop
[COLOR=#0000ff]call UnitAddAbility( Holy_Light_Dummy, [/COLOR][COLOR=#0000ff]'A000'[/COLOR][COLOR=#0000ff] )[/COLOR]
[COLOR=#0000ff] call IssueTargetOrder( Holy_Light_Dummy, "drunkenhaze", Holy_Light_T )[/COLOR]
[COLOR=#0000ff]call UnitApplyTimedLife( [/COLOR][COLOR=#0000ff]Holy_Light_Dummy [/COLOR][COLOR=#0000ff], 'BTLF', 1.00 )[/COLOR]
call RemoveLocation(Holy_Light_TP)
[COLOR=#0000ff]set Holy_Light_TP = null[/COLOR]
set Holy_Light_Target = null
set Holy_Light_T = null
set Holy_Light_C = null
set Holy_Light_Dummy = null
set Holy_Light_UnitGroup = null
endfunction
//===========================================================================
function InitTrig_Holy_Light takes nothing returns nothing
local trigger Holy_Light = CreateTrigger()
call TriggerRegisterAnyUnitEventBJ( Holy_Light, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( Holy_Light, Condition( function Holy_Light_Conditions ) )
call TriggerAddAction( Holy_Light, function Holy_Light_Actions )
endfunction