Name | Type | is_array | initial_value |
Starfall_Effect | effect | No | |
Starfall_Group | group | No | |
Starfall_Loc | location | Yes | |
Starfall_Unit | unit | Yes |
function Trig_Starfall_scripted_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A003' ) ) then
return false
endif
return true
endfunction
function Trig_Starfall_scripted_Func008002003001 takes nothing returns boolean
return ( IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction
function Trig_Starfall_scripted_Func008002003002 takes nothing returns boolean
return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(udg_Starfall_Unit[1])) == true )
endfunction
function Trig_Starfall_scripted_Func008002003 takes nothing returns boolean
return GetBooleanAnd( Trig_Starfall_scripted_Func008002003001(), Trig_Starfall_scripted_Func008002003002() )
endfunction
function Trig_Starfall_scripted_Func009A takes nothing returns nothing
set udg_Starfall_Unit[2] = GetEnumUnit()
call UnitDamageTargetBJ( udg_Starfall_Unit[1], udg_Starfall_Unit[2], 300.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL )
set udg_Starfall_Loc[3] = GetUnitLoc(udg_Starfall_Unit[2])
call AddSpecialEffectLocBJ( udg_Starfall_Loc[3], "Abilities\\Spells\\Human\\Thunderclap\\ThunderClapCaster.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call CreateNUnitsAtLoc( 1, 'h000', GetOwningPlayer(udg_Starfall_Unit[1]), udg_Starfall_Loc[3], bj_UNIT_FACING )
set udg_Starfall_Unit[3] = GetLastCreatedUnit()
call UnitAddAbilityBJ( 'Aslo', udg_Starfall_Unit[3] )
call IssueTargetOrderBJ( udg_Starfall_Unit[3], "curse", udg_Starfall_Unit[2] )
call UnitApplyTimedLifeBJ( 1.50, 'BTLF', udg_Starfall_Unit[3] )
endfunction
function Trig_Starfall_scripted_Actions takes nothing returns nothing
set udg_Starfall_Unit[1] = GetTriggerUnit()
set udg_Starfall_Loc[1] = GetUnitLoc(udg_Starfall_Unit[1])
set udg_Starfall_Loc[2] = GetSpellTargetLoc()
call AddSpecialEffectLocBJ( udg_Starfall_Loc[2], "Abilities\\Spells\\NightElf\\Starfall\\StarfallTarget.mdl" )
set udg_Starfall_Effect = GetLastCreatedEffectBJ()
call TriggerSleepAction( 0.60 )
call DestroyEffectBJ( udg_Starfall_Effect )
set udg_Starfall_Group = GetUnitsInRangeOfLocMatching(400.00, udg_Starfall_Loc[2], Condition(function Trig_Starfall_scripted_Func008002003))
call ForGroupBJ( udg_Starfall_Group, function Trig_Starfall_scripted_Func009A )
call EnableTrigger( gg_trg_Starfall_pull_scripted )
call TriggerSleepAction( 1.00 )
call DisableTrigger( gg_trg_Starfall_pull_scripted )
call SetUnitPathing( udg_Starfall_Unit[2], true )
call RemoveLocation(udg_Starfall_Loc[1])
call RemoveLocation(udg_Starfall_Loc[2])
call RemoveLocation(udg_Starfall_Loc[3])
call RemoveLocation(udg_Starfall_Loc[4])
call DestroyGroup(udg_Starfall_Group)
endfunction
//===========================================================================
function InitTrig_Starfall_scripted takes nothing returns nothing
set gg_trg_Starfall_scripted = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Starfall_scripted, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Starfall_scripted, Condition( function Trig_Starfall_scripted_Conditions ) )
call TriggerAddAction( gg_trg_Starfall_scripted, function Trig_Starfall_scripted_Actions )
endfunction
function Trig_Starfall_pull_scripted_Func001A takes nothing returns nothing
set udg_Starfall_Unit[2] = GetEnumUnit()
call SetUnitPathing( udg_Starfall_Unit[2], false )
set udg_Starfall_Loc[3] = GetUnitLoc(udg_Starfall_Unit[2])
set udg_Starfall_Loc[4] = PolarProjectionBJ(udg_Starfall_Loc[3], -10.00, AngleBetweenPoints(udg_Starfall_Loc[3], udg_Starfall_Loc[2]))
call SetUnitPositionLocFacingLocBJ( udg_Starfall_Unit[2], udg_Starfall_Loc[4], udg_Starfall_Loc[2] )
call AddSpecialEffectLocBJ( udg_Starfall_Loc[3], "Objects\\Spawnmodels\\Undead\\ImpaleTargetDust\\ImpaleTargetDust.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
set udg_Starfall_Loc[3] = udg_Starfall_Loc[4]
call TriggerSleepAction( 1.50 )
call SetUnitPathing( udg_Starfall_Unit[2], true )
endfunction
function Trig_Starfall_pull_scripted_Actions takes nothing returns nothing
call ForGroupBJ( udg_Starfall_Group, function Trig_Starfall_pull_scripted_Func001A )
endfunction
//===========================================================================
function InitTrig_Starfall_pull_scripted takes nothing returns nothing
set gg_trg_Starfall_pull_scripted = CreateTrigger( )
call DisableTrigger( gg_trg_Starfall_pull_scripted )
call TriggerRegisterTimerEventPeriodic( gg_trg_Starfall_pull_scripted, 0.03 )
call TriggerAddAction( gg_trg_Starfall_pull_scripted, function Trig_Starfall_pull_scripted_Actions )
endfunction
function Trig_Starfall_Reverse_scripted_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A002' ) ) then
return false
endif
return true
endfunction
function Trig_Starfall_Reverse_scripted_Func008002003001 takes nothing returns boolean
return ( IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction
function Trig_Starfall_Reverse_scripted_Func008002003002 takes nothing returns boolean
return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(udg_Starfall_Unit[1])) == true )
endfunction
function Trig_Starfall_Reverse_scripted_Func008002003 takes nothing returns boolean
return GetBooleanAnd( Trig_Starfall_Reverse_scripted_Func008002003001(), Trig_Starfall_Reverse_scripted_Func008002003002() )
endfunction
function Trig_Starfall_Reverse_scripted_Func009A takes nothing returns nothing
set udg_Starfall_Unit[2] = GetEnumUnit()
call UnitDamageTargetBJ( udg_Starfall_Unit[1], udg_Starfall_Unit[2], 300.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL )
set udg_Starfall_Loc[3] = GetUnitLoc(udg_Starfall_Unit[2])
call AddSpecialEffectLocBJ( udg_Starfall_Loc[3], "Abilities\\Spells\\Human\\Thunderclap\\ThunderClapCaster.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call CreateNUnitsAtLoc( 1, 'h000', GetOwningPlayer(udg_Starfall_Unit[1]), udg_Starfall_Loc[3], bj_UNIT_FACING )
set udg_Starfall_Unit[3] = GetLastCreatedUnit()
call UnitAddAbilityBJ( 'Aslo', udg_Starfall_Unit[3] )
call IssueTargetOrderBJ( udg_Starfall_Unit[3], "curse", udg_Starfall_Unit[2] )
call UnitApplyTimedLifeBJ( 1.50, 'BTLF', udg_Starfall_Unit[3] )
endfunction
function Trig_Starfall_Reverse_scripted_Actions takes nothing returns nothing
set udg_Starfall_Unit[1] = GetTriggerUnit()
set udg_Starfall_Loc[1] = GetUnitLoc(udg_Starfall_Unit[1])
set udg_Starfall_Loc[2] = GetSpellTargetLoc()
call AddSpecialEffectLocBJ( udg_Starfall_Loc[2], "Abilities\\Spells\\NightElf\\Starfall\\StarfallTarget.mdl" )
set udg_Starfall_Effect = GetLastCreatedEffectBJ()
call TriggerSleepAction( 0.60 )
call DestroyEffectBJ( udg_Starfall_Effect )
set udg_Starfall_Group = GetUnitsInRangeOfLocMatching(400.00, udg_Starfall_Loc[2], Condition(function Trig_Starfall_Reverse_scripted_Func008002003))
call ForGroupBJ( udg_Starfall_Group, function Trig_Starfall_Reverse_scripted_Func009A )
call EnableTrigger( gg_trg_Starfall_Suck_scripted )
call TriggerSleepAction( 1.00 )
call DisableTrigger( gg_trg_Starfall_Suck_scripted )
call SetUnitPathing( udg_Starfall_Unit[2], true )
call RemoveLocation(udg_Starfall_Loc[1])
call RemoveLocation(udg_Starfall_Loc[2])
call RemoveLocation(udg_Starfall_Loc[3])
call RemoveLocation(udg_Starfall_Loc[4])
call DestroyGroup(udg_Starfall_Group)
endfunction
//===========================================================================
function InitTrig_Starfall_Reverse_scripted takes nothing returns nothing
set gg_trg_Starfall_Reverse_scripted = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Starfall_Reverse_scripted, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Starfall_Reverse_scripted, Condition( function Trig_Starfall_Reverse_scripted_Conditions ) )
call TriggerAddAction( gg_trg_Starfall_Reverse_scripted, function Trig_Starfall_Reverse_scripted_Actions )
endfunction
function Trig_Starfall_Suck_scripted_Func001A takes nothing returns nothing
set udg_Starfall_Unit[2] = GetEnumUnit()
call SetUnitPathing( udg_Starfall_Unit[2], false )
set udg_Starfall_Loc[3] = GetUnitLoc(udg_Starfall_Unit[2])
set udg_Starfall_Loc[4] = PolarProjectionBJ(udg_Starfall_Loc[3], 10.00, AngleBetweenPoints(udg_Starfall_Loc[3], udg_Starfall_Loc[2]))
call SetUnitPositionLocFacingLocBJ( udg_Starfall_Unit[2], udg_Starfall_Loc[4], udg_Starfall_Loc[2] )
call AddSpecialEffectLocBJ( udg_Starfall_Loc[3], "Objects\\Spawnmodels\\Undead\\ImpaleTargetDust\\ImpaleTargetDust.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
set udg_Starfall_Loc[3] = udg_Starfall_Loc[4]
call TriggerSleepAction( 1.50 )
call SetUnitPathing( udg_Starfall_Unit[2], true )
endfunction
function Trig_Starfall_Suck_scripted_Actions takes nothing returns nothing
call ForGroupBJ( udg_Starfall_Group, function Trig_Starfall_Suck_scripted_Func001A )
endfunction
//===========================================================================
function InitTrig_Starfall_Suck_scripted takes nothing returns nothing
set gg_trg_Starfall_Suck_scripted = CreateTrigger( )
call DisableTrigger( gg_trg_Starfall_Suck_scripted )
call TriggerRegisterTimerEventPeriodic( gg_trg_Starfall_Suck_scripted, 0.03 )
call TriggerAddAction( gg_trg_Starfall_Suck_scripted, function Trig_Starfall_Suck_scripted_Actions )
endfunction