Name | Type | is_array | initial_value |
BladeMasterShadow | unit | Yes | |
BMVisibility | fogmodifier | No | |
CasterUnit | unit | No | |
CB_casterLoc | location | No | |
DW_Dummy | unit | No | |
DW_Loc | location | No | |
flamethrowerON | boolean | No | |
FT_Art | effect | No | |
FT_caster | unit | No | |
FT_casterLoc | location | No | |
FT_Dummy | unit | No | |
FT_TargetLoc | location | No | |
Gatesopened1 | boolean | No | false |
Gatesopened2 | boolean | No | false |
leverandgates | destructable | Yes | DestructableNull |
lifeofgate | real | Yes | |
loc | location | Yes | |
LocPoint1 | location | No | |
LocPoint2 | location | No | |
LocPoint3 | location | No | |
LocReal | real | No | |
PD_Caster | unit | No | |
PD_Caster_Group | group | No | |
PD_CasterLoc | location | No | |
PD_Invading_Enemies | group | No | |
PlayerGroup | force | Yes | |
playergroup3 | force | No | |
Plyer_Group | force | No | |
PLYer_Group | force | No | |
pointone | location | No | |
pointtwo | location | No | |
Shadow1Timer | timer | No | |
Shadow2Timer | timer | No | |
Shadow3Timer | timer | No | |
Shadow4Timer | timer | No | |
Shadow5Timer | timer | No | |
Soul_Count | integer | No | |
Soul_Player | force | No | |
TargetUnit | unit | No | |
TempUnitGroup1 | group | No | |
TempUnitGroup2 | group | No | |
tmploc1 | location | No | |
tmploc2 | location | No | |
unitgroup1 | group | No | |
Warden | group | No | |
WaveCaster | unit | No | |
WavePoint | location | No | |
WavePoint2 | location | No | |
WaveReal1 | real | No | |
WaveReal2 | real | No | |
WaveSkull | unit | No |
function Trig_Melee_Initialization_Actions takes nothing returns nothing
set udg_loc[1] = GetRectCenter(gg_rct_BottomPoint)
set udg_loc[2] = GetRectCenter(gg_rct_Top_Point)
call MeleeInitVictoryDefeat( )
call MeleeStartingHeroLimit( )
call MeleeStartingVisibility( )
call MeleeGrantHeroItems( )
call MeleeStartingResources( )
call MeleeClearExcessUnits( )
call MeleeStartingUnitsForPlayer( GetPlayerRace(Player(0)), Player(0), GetPlayerStartLocationLoc(Player(0)), false )
call MeleeStartingUnitsForPlayer( GetPlayerRace(Player(1)), Player(1), GetPlayerStartLocationLoc(Player(1)), false )
call MeleeStartingUnitsForPlayer( GetPlayerRace(Player(2)), Player(2), GetPlayerStartLocationLoc(Player(2)), false )
call MeleeStartingUnitsForPlayer( GetPlayerRace(Player(3)), Player(3), GetPlayerStartLocationLoc(Player(3)), false )
call MeleeStartingUnitsForPlayer( GetPlayerRace(Player(4)), Player(4), GetPlayerStartLocationLoc(Player(4)), false )
call MeleeStartingUnitsForPlayer( GetPlayerRace(Player(5)), Player(5), GetPlayerStartLocationLoc(Player(5)), false )
call MeleeStartingUnitsForPlayer( GetPlayerRace(Player(6)), Player(6), GetPlayerStartLocationLoc(Player(6)), false )
call MeleeStartingUnitsForPlayer( GetPlayerRace(Player(7)), Player(7), GetPlayerStartLocationLoc(Player(7)), false )
call SetPlayerAllianceStateBJ( Player(4), Player(PLAYER_NEUTRAL_PASSIVE), bj_ALLIANCE_NEUTRAL )
call SetPlayerAllianceStateBJ( Player(5), Player(PLAYER_NEUTRAL_PASSIVE), bj_ALLIANCE_NEUTRAL )
call SetPlayerAllianceStateBJ( Player(6), Player(PLAYER_NEUTRAL_PASSIVE), bj_ALLIANCE_NEUTRAL )
call SetPlayerAllianceStateBJ( Player(7), Player(PLAYER_NEUTRAL_PASSIVE), bj_ALLIANCE_NEUTRAL )
call SetPlayerAllianceStateBJ( Player(10), Player(PLAYER_NEUTRAL_PASSIVE), bj_ALLIANCE_NEUTRAL )
call SetPlayerStateBJ( Player(9), PLAYER_STATE_RESOURCE_GOLD, 0 )
call SetPlayerStateBJ( Player(9), PLAYER_STATE_RESOURCE_LUMBER, 0 )
call SetPlayerStateBJ( Player(10), PLAYER_STATE_RESOURCE_LUMBER, 0 )
call SetPlayerStateBJ( Player(10), PLAYER_STATE_RESOURCE_GOLD, 0 )
call SetPlayerStateBJ( Player(9), PLAYER_STATE_FOOD_CAP_CEILING, 120 )
call SetPlayerStateBJ( Player(9), PLAYER_STATE_RESOURCE_FOOD_CAP, 120 )
call SetPlayerStateBJ( Player(10), PLAYER_STATE_RESOURCE_FOOD_CAP, 120 )
call SetPlayerStateBJ( Player(10), PLAYER_STATE_FOOD_CAP_CEILING, 120 )
call SetPlayerFlagBJ( PLAYER_STATE_GIVES_BOUNTY, false, Player(9) )
call SetPlayerFlagBJ( PLAYER_STATE_GIVES_BOUNTY, false, Player(10) )
call SetPlayerTechMaxAllowedSwap( 'h00A', 50, Player(10) )
call SetPlayerTechMaxAllowedSwap( 'h00F', 50, Player(10) )
call SetPlayerTechMaxAllowedSwap( 'h00C', 50, Player(10) )
call SetPlayerTechMaxAllowedSwap( 'h00A', 50, Player(9) )
call SetPlayerTechMaxAllowedSwap( 'h00F', 50, Player(9) )
call SetPlayerTechMaxAllowedSwap( 'h00C', 50, Player(9) )
call ShareEverythingWithTeam( Player(10) )
call ShareEverythingWithTeam( Player(9) )
call CreateQuestBJ( bj_QUESTTYPE_REQ_DISCOVERED, "TRIGSTR_429", "TRIGSTR_430", "ReplaceableTextures\\CommandButtons\\BTNRepairOn.blp" )
call CreateQuestItemBJ( GetLastCreatedQuestBJ(), "TRIGSTR_464" )
call CreateQuestBJ( bj_QUESTTYPE_REQ_DISCOVERED, "TRIGSTR_470", "TRIGSTR_471", "ReplaceableTextures\\CommandButtons\\BTNDevotion.blp" )
call QuestSetDescriptionBJ( GetLastCreatedQuestBJ(), "TRIGSTR_685" )
call CreateQuestBJ( bj_QUESTTYPE_OPT_DISCOVERED, "TRIGSTR_456", "TRIGSTR_457", "ReplaceableTextures\\CommandButtons\\BTNWispSplode.blp" )
call CreateQuestItemBJ( GetLastCreatedQuestBJ(), "TRIGSTR_459" )
call CreateQuestBJ( bj_QUESTTYPE_OPT_DISCOVERED, "TRIGSTR_460", "TRIGSTR_462", "ReplaceableTextures\\CommandButtons\\BTNOrbOfCorruption.blp" )
call CreateQuestItemBJ( GetLastCreatedQuestBJ(), "TRIGSTR_461" )
call CreateQuestItemBJ( GetLastCreatedQuestBJ(), "TRIGSTR_481" )
call CreateQuestBJ( bj_QUESTTYPE_OPT_DISCOVERED, "TRIGSTR_465", "TRIGSTR_466", "war3mapImported\\BTNBlueLightning.blp" )
call CreateQuestItemBJ( GetLastCreatedQuestBJ(), "TRIGSTR_467" )
call CreateQuestItemBJ( GetLastCreatedQuestBJ(), "TRIGSTR_480" )
call CreateQuestBJ( bj_QUESTTYPE_OPT_DISCOVERED, "TRIGSTR_472", "TRIGSTR_473", "ReplaceableTextures\\CommandButtons\\BTNImmolationOn.blp" )
call CreateQuestItemBJ( GetLastCreatedQuestBJ(), "TRIGSTR_478" )
call CreateQuestItemBJ( GetLastCreatedQuestBJ(), "TRIGSTR_479" )
call CreateQuestBJ( bj_QUESTTYPE_OPT_DISCOVERED, "TRIGSTR_474", "TRIGSTR_475", "ReplaceableTextures\\CommandButtons\\BTNFireBolt.blp" )
call CreateQuestItemBJ( GetLastCreatedQuestBJ(), "TRIGSTR_483" )
call CreateQuestItemBJ( GetLastCreatedQuestBJ(), "TRIGSTR_482" )
call CreateQuestBJ( bj_QUESTTYPE_OPT_DISCOVERED, "TRIGSTR_476", "TRIGSTR_477", "ReplaceableTextures\\CommandButtons\\BTNHeroBlademaster.blp" )
call CreateQuestItemBJ( GetLastCreatedQuestBJ(), "TRIGSTR_484" )
call CreateQuestItemBJ( GetLastCreatedQuestBJ(), "TRIGSTR_485" )
call CreateQuestBJ( bj_QUESTTYPE_REQ_DISCOVERED, "TRIGSTR_488", "TRIGSTR_489", "ReplaceableTextures\\CommandButtons\\BTNSelectHeroOff.blp" )
call CreateQuestBJ( bj_QUESTTYPE_OPT_DISCOVERED, "TRIGSTR_509", "TRIGSTR_510", "ReplaceableTextures\\CommandButtons\\BTNShade.blp" )
call CreateQuestItemBJ( GetLastCreatedQuestBJ(), "TRIGSTR_511" )
call CreateQuestItemBJ( GetLastCreatedQuestBJ(), "TRIGSTR_512" )
call CreateQuestBJ( bj_QUESTTYPE_OPT_DISCOVERED, "TRIGSTR_518", "TRIGSTR_519", "ReplaceableTextures\\CommandButtons\\BTNDeathPact.blp" )
call CreateQuestItemBJ( GetLastCreatedQuestBJ(), "TRIGSTR_520" )
call CreateQuestItemBJ( GetLastCreatedQuestBJ(), "TRIGSTR_521" )
call CreateQuestBJ( bj_QUESTTYPE_OPT_DISCOVERED, "TRIGSTR_555", "TRIGSTR_556", "ReplaceableTextures\\CommandButtons\\BTNPossession.blp" )
call CreateQuestItemBJ( GetLastCreatedQuestBJ(), "TRIGSTR_557" )
call CreateQuestItemBJ( GetLastCreatedQuestBJ(), "TRIGSTR_558" )
call CreateQuestBJ( bj_QUESTTYPE_OPT_DISCOVERED, "TRIGSTR_679", "TRIGSTR_680", "ReplaceableTextures\\CommandButtons\\BTNArchimonde.blp" )
call CreateQuestItemBJ( GetLastCreatedQuestBJ(), "TRIGSTR_681" )
call CreateQuestBJ( bj_QUESTTYPE_OPT_DISCOVERED, "TRIGSTR_682", "TRIGSTR_683", "war3mapImported\\BTNTrebuchet.blp" )
call CreateQuestItemBJ( GetLastCreatedQuestBJ(), "TRIGSTR_684" )
call CinematicModeBJ( true, GetPlayersAll() )
call CinematicFilterGenericBJ( 2, BLEND_MODE_BLEND, "war3mapImported\\Created by Sephiroth_VII.BLP", 0.00, 0.00, 0.00, 0.00, 100.00, 100.00, 100.00, 0.00 )
call TriggerSleepAction( 10.00 )
call CinematicFilterGenericBJ( 2, BLEND_MODE_BLEND, "ReplaceableTextures\\CameraMasks\\White_mask.blp", 100, 100, 100, 0.00, 0, 0, 0, 100.00 )
call TriggerSleepAction( 1.00 )
call CinematicModeBJ( false, GetPlayersAll() )
call TriggerSleepAction( 1.00 )
call DisplayCineFilterBJ( false )
endfunction
//===========================================================================
function InitTrig_Melee_Initialization takes nothing returns nothing
set gg_trg_Melee_Initialization = CreateTrigger( )
call TriggerAddAction( gg_trg_Melee_Initialization, function Trig_Melee_Initialization_Actions )
endfunction
function Conditions takes nothing returns boolean
if ( IsUnitType(GetFilterUnit(), UNIT_TYPE_TOWNHALL) == true) and ( IsUnitAlly(GetFilterUnit(), Player(0)) == true) then
return true
else
return false
endif
endfunction
function Conditions2 takes nothing returns boolean
if ( IsUnitType(GetFilterUnit(), UNIT_TYPE_TOWNHALL) == true) and ( IsUnitAlly(GetFilterUnit(), Player(4)) == true) then
return true
else
return false
endif
endfunction
function Trig_Win_Lose_Copy_Actions takes nothing returns nothing
set udg_TempUnitGroup1 = GetUnitsInRectMatching(GetPlayableMapRect(), Condition(function Conditions))
if ( CountUnitsInGroup(udg_TempUnitGroup1) == 0) then
call CustomVictoryBJ( Player(4), true, true )
call CustomVictoryBJ( Player(5), true, true )
call CustomVictoryBJ( Player(6), true, true )
call CustomVictoryBJ( Player(7), true, true )
call CustomDefeatBJ( Player(0), "TRIGSTR_591" )
call CustomDefeatBJ( Player(1), "TRIGSTR_592" )
call CustomDefeatBJ( Player(2), "TRIGSTR_593" )
call CustomDefeatBJ( Player(3), "TRIGSTR_594" )
else
endif
call DestroyGroup (udg_TempUnitGroup1)
set udg_TempUnitGroup1 = GetUnitsInRectMatching(GetPlayableMapRect(), Condition(function Conditions2))
if ( CountUnitsInGroup(udg_TempUnitGroup1) == 0) then
call CustomVictoryBJ( Player(0), true, true )
call CustomVictoryBJ( Player(1), true, true )
call CustomVictoryBJ( Player(2), true, true )
call CustomVictoryBJ( Player(3), true, true )
call CustomDefeatBJ( Player(4), "TRIGSTR_595" )
call CustomDefeatBJ( Player(5), "TRIGSTR_596" )
call CustomDefeatBJ( Player(6), "TRIGSTR_597" )
call CustomDefeatBJ( Player(7), "TRIGSTR_598" )
else
endif
call DestroyGroup (udg_TempUnitGroup1)
endfunction
//===========================================================================
function InitTrig_Win_Lose_Copy takes nothing returns nothing
set gg_trg_Win_Lose_Copy = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_Win_Lose_Copy, 1.00 )
call TriggerAddAction( gg_trg_Win_Lose_Copy, function Trig_Win_Lose_Copy_Actions )
endfunction
function Trig_RevivecontrubutionT_Copy_Actions takes nothing returns nothing
call SetUnitLifePercentBJ( GetAttackedUnitBJ(), 100 )
endfunction
//===========================================================================
function InitTrig_RevivecontrubutionT_Copy takes nothing returns nothing
set gg_trg_RevivecontrubutionT_Copy = CreateTrigger( )
call TriggerRegisterUnitEvent( gg_trg_RevivecontrubutionT_Copy, gg_unit_h006_0168, EVENT_UNIT_ATTACKED )
call TriggerRegisterUnitEvent( gg_trg_RevivecontrubutionT_Copy, gg_unit_h006_0169, EVENT_UNIT_ATTACKED )
call TriggerRegisterUnitEvent( gg_trg_RevivecontrubutionT_Copy, gg_unit_h005_0167, EVENT_UNIT_ATTACKED )
call TriggerRegisterUnitEvent( gg_trg_RevivecontrubutionT_Copy, gg_unit_h005_0170, EVENT_UNIT_ATTACKED )
call TriggerRegisterUnitEvent( gg_trg_RevivecontrubutionT_Copy, gg_unit_h004_0166, EVENT_UNIT_ATTACKED )
call TriggerRegisterUnitEvent( gg_trg_RevivecontrubutionT_Copy, gg_unit_h004_0171, EVENT_UNIT_ATTACKED )
call TriggerAddAction( gg_trg_RevivecontrubutionT_Copy, function Trig_RevivecontrubutionT_Copy_Actions )
endfunction
function Trig_Cannontowercontrubution_Copy_Conditions takes nothing returns boolean
if ( ( IsPlayerAlly(GetOwningPlayer(GetAttacker()), GetOwningPlayer(GetAttackedUnitBJ())) == true ) ) then
return true
else
return false
endif
return true
endfunction
function Trig_Cannontowercontrubution_Copy_Func004C takes nothing returns boolean
if ( ( GetPlayerState(GetOwningPlayer(GetAttacker()), PLAYER_STATE_RESOURCE_GOLD) >= 500 ) ) then
return true
else
return false
endif
if ( ( GetPlayerState(GetOwningPlayer(GetAttacker()), PLAYER_STATE_RESOURCE_LUMBER) >= 500 ) ) then
return true
else
return false
endif
return true
endfunction
function Trig_Cannontowercontrubution_Copy_Actions takes nothing returns nothing
if ( Trig_Cannontowercontrubution_Copy_Func004C() ) then
call SetPlayerStateBJ( GetOwningPlayer(GetAttacker()), PLAYER_STATE_RESOURCE_GOLD, ( GetPlayerState(GetOwningPlayer(GetAttacker()), PLAYER_STATE_RESOURCE_GOLD) - 500 ) )
call SetPlayerStateBJ( GetOwningPlayer(GetAttacker()), PLAYER_STATE_RESOURCE_LUMBER, ( GetPlayerState(GetOwningPlayer(GetAttacker()), PLAYER_STATE_RESOURCE_LUMBER) - 500 ) )
call SetPlayerStateBJ( GetOwningPlayer(GetAttackedUnitBJ()), PLAYER_STATE_RESOURCE_GOLD, ( GetPlayerState(GetOwningPlayer(GetAttackedUnitBJ()), PLAYER_STATE_RESOURCE_GOLD) + 500 ) )
call SetPlayerStateBJ( GetOwningPlayer(GetAttackedUnitBJ()), PLAYER_STATE_RESOURCE_LUMBER, ( GetPlayerState(GetOwningPlayer(GetAttackedUnitBJ()), PLAYER_STATE_RESOURCE_LUMBER) + 500 ) )
call SetUnitAnimation( GetAttackedUnitBJ(), "Death" )
call TriggerSleepAction( 1.00 )
call SetUnitAnimation( GetAttackedUnitBJ(), "Reset Unit Animation" )
call SetUnitLifePercentBJ( GetAttackedUnitBJ(), 100 )
else
call SetUnitAnimation( GetAttackedUnitBJ(), "Death" )
call SetUnitAnimation( GetAttackedUnitBJ(), "Reset Unit Animation" )
call SetUnitLifePercentBJ( GetAttackedUnitBJ(), 100 )
set udg_PLYer_Group = GetForceOfPlayer(GetOwningPlayer(GetAttacker()))
call QuestMessageBJ( udg_PLYer_Group, bj_QUESTMESSAGE_WARNING, "TRIGSTR_600" )
call DestroyForce (udg_PLYer_Group)
endif
endfunction
//===========================================================================
function InitTrig_Cannontowercontrubution_Copy takes nothing returns nothing
set gg_trg_Cannontowercontrubution_Copy = CreateTrigger( )
call TriggerRegisterUnitEvent( gg_trg_Cannontowercontrubution_Copy, gg_unit_h005_0167, EVENT_UNIT_ATTACKED )
call TriggerRegisterUnitEvent( gg_trg_Cannontowercontrubution_Copy, gg_unit_h005_0170, EVENT_UNIT_ATTACKED )
call TriggerAddCondition( gg_trg_Cannontowercontrubution_Copy, Condition( function Trig_Cannontowercontrubution_Copy_Conditions ) )
call TriggerAddAction( gg_trg_Cannontowercontrubution_Copy, function Trig_Cannontowercontrubution_Copy_Actions )
endfunction
function conditions takes nothing returns boolean
if ( ( IsPlayerAlly(GetOwningPlayer(GetAttacker()), GetOwningPlayer(GetAttackedUnitBJ())) == true ) ) then
return true
else
return false
endif
return true
endfunction
function conditions2 takes nothing returns boolean
if ( ( GetPlayerState(GetOwningPlayer(GetAttacker()), PLAYER_STATE_RESOURCE_GOLD) >= 100 ) ) then
return true
else
return false
endif
if ( ( GetPlayerState(GetOwningPlayer(GetAttacker()), PLAYER_STATE_RESOURCE_LUMBER) >= 100 ) ) then
return true
else
return false
endif
return true
endfunction
function Trig_Gaurdtowercontrubution_Copy_Actions takes nothing returns nothing
if ( conditions2() ) then
call SetPlayerStateBJ( GetOwningPlayer(GetAttacker()), PLAYER_STATE_RESOURCE_GOLD, ( GetPlayerState(GetOwningPlayer(GetAttacker()), PLAYER_STATE_RESOURCE_GOLD) - 100 ) )
call SetPlayerStateBJ( GetOwningPlayer(GetAttacker()), PLAYER_STATE_RESOURCE_LUMBER, ( GetPlayerState(GetOwningPlayer(GetAttacker()), PLAYER_STATE_RESOURCE_LUMBER) - 100 ) )
call SetPlayerStateBJ( GetOwningPlayer(GetAttackedUnitBJ()), PLAYER_STATE_RESOURCE_GOLD, ( GetPlayerState(GetOwningPlayer(GetAttackedUnitBJ()), PLAYER_STATE_RESOURCE_GOLD) + 100 ) )
call SetPlayerStateBJ( GetOwningPlayer(GetAttackedUnitBJ()), PLAYER_STATE_RESOURCE_LUMBER, ( GetPlayerState(GetOwningPlayer(GetAttackedUnitBJ()), PLAYER_STATE_RESOURCE_LUMBER) + 100 ) )
call SetUnitAnimation( GetAttackedUnitBJ(), "Death" )
call TriggerSleepAction( 1.00 )
call SetUnitAnimation( GetAttackedUnitBJ(), "Reset Unit Animation" )
call SetUnitLifePercentBJ( GetAttackedUnitBJ(), 100 )
else
call SetUnitAnimation( GetAttackedUnitBJ(), "Death" )
call SetUnitAnimation( GetAttackedUnitBJ(), "Reset Unit Animation" )
call SetUnitLifePercentBJ( GetAttackedUnitBJ(), 100 )
set udg_Plyer_Group = GetForceOfPlayer(GetOwningPlayer(GetAttacker()))
call QuestMessageBJ( udg_Plyer_Group, bj_QUESTMESSAGE_WARNING, "TRIGSTR_599" )
call DestroyForce (udg_Plyer_Group)
endif
endfunction
//===========================================================================
function InitTrig_Gaurdtowercontrubution_Copy takes nothing returns nothing
set gg_trg_Gaurdtowercontrubution_Copy = CreateTrigger( )
call TriggerRegisterUnitEvent( gg_trg_Gaurdtowercontrubution_Copy, gg_unit_h006_0168, EVENT_UNIT_ATTACKED )
call TriggerRegisterUnitEvent( gg_trg_Gaurdtowercontrubution_Copy, gg_unit_h006_0169, EVENT_UNIT_ATTACKED )
call TriggerAddCondition( gg_trg_Gaurdtowercontrubution_Copy, Condition( function conditions ) )
call TriggerAddAction( gg_trg_Gaurdtowercontrubution_Copy, function Trig_Gaurdtowercontrubution_Copy_Actions )
endfunction
function Trig_Arcanetowercontrubution_Copy_Conditions takes nothing returns boolean
if ( ( IsPlayerAlly(GetOwningPlayer(GetAttacker()), GetOwningPlayer(GetAttackedUnitBJ())) == true ) ) then
return true
else
return false
endif
return true
endfunction
function Trig_Arcanetowercontrubution_Copy_Func004C takes nothing returns boolean
if ( ( GetPlayerState(GetOwningPlayer(GetAttacker()), PLAYER_STATE_RESOURCE_GOLD) >= 1000 ) ) then
return true
else
return false
endif
if ( ( GetPlayerState(GetOwningPlayer(GetAttacker()), PLAYER_STATE_RESOURCE_LUMBER) >= 1000 ) ) then
return true
else
return false
endif
return true
endfunction
function Trig_Arcanetowercontrubution_Copy_Actions takes nothing returns nothing
if ( Trig_Arcanetowercontrubution_Copy_Func004C() ) then
call SetPlayerStateBJ( GetOwningPlayer(GetAttacker()), PLAYER_STATE_RESOURCE_GOLD, ( GetPlayerState(GetOwningPlayer(GetAttacker()), PLAYER_STATE_RESOURCE_GOLD) - 1000 ) )
call SetPlayerStateBJ( GetOwningPlayer(GetAttacker()), PLAYER_STATE_RESOURCE_LUMBER, ( GetPlayerState(GetOwningPlayer(GetAttacker()), PLAYER_STATE_RESOURCE_LUMBER) - 1000 ) )
call SetPlayerStateBJ( GetOwningPlayer(GetAttackedUnitBJ()), PLAYER_STATE_RESOURCE_GOLD, ( GetPlayerState(GetOwningPlayer(GetAttackedUnitBJ()), PLAYER_STATE_RESOURCE_GOLD) + 1000 ) )
call SetPlayerStateBJ( GetOwningPlayer(GetAttackedUnitBJ()), PLAYER_STATE_RESOURCE_LUMBER, ( GetPlayerState(GetOwningPlayer(GetAttackedUnitBJ()), PLAYER_STATE_RESOURCE_LUMBER) + 1000 ) )
call SetUnitAnimation( GetAttackedUnitBJ(), "Death" )
call TriggerSleepAction( 1.00 )
call SetUnitAnimation( GetAttackedUnitBJ(), "Reset Unit Animation" )
call SetUnitLifePercentBJ( GetAttackedUnitBJ(), 100 )
else
call SetUnitAnimation( GetAttackedUnitBJ(), "Death" )
call SetUnitAnimation( GetAttackedUnitBJ(), "Reset Unit Animation" )
call SetUnitLifePercentBJ( GetAttackedUnitBJ(), 100 )
set udg_playergroup3 = GetForceOfPlayer(GetOwningPlayer(GetAttacker()))
call QuestMessageBJ( udg_playergroup3, bj_QUESTMESSAGE_WARNING, "TRIGSTR_601" )
call DestroyForce (udg_playergroup3)
endif
endfunction
//===========================================================================
function InitTrig_Arcanetowercontrubution_Copy takes nothing returns nothing
set gg_trg_Arcanetowercontrubution_Copy = CreateTrigger( )
call TriggerRegisterUnitEvent( gg_trg_Arcanetowercontrubution_Copy, gg_unit_h004_0166, EVENT_UNIT_ATTACKED )
call TriggerRegisterUnitEvent( gg_trg_Arcanetowercontrubution_Copy, gg_unit_h004_0171, EVENT_UNIT_ATTACKED )
call TriggerAddCondition( gg_trg_Arcanetowercontrubution_Copy, Condition( function Trig_Arcanetowercontrubution_Copy_Conditions ) )
call TriggerAddAction( gg_trg_Arcanetowercontrubution_Copy, function Trig_Arcanetowercontrubution_Copy_Actions )
endfunction
function Trig_Trees_respawn_top_Copy_Actions takes nothing returns nothing
call DestructableRestoreLife( GetDyingDestructable(), GetDestructableMaxLife(GetDyingDestructable()), true )
endfunction
//===========================================================================
function InitTrig_Trees_respawn_top_Copy takes nothing returns nothing
set gg_trg_Trees_respawn_top_Copy = CreateTrigger( )
call TriggerRegisterDestDeathInRegionEvent( gg_trg_Trees_respawn_top_Copy, gg_rct_topsidetrees )
call TriggerAddAction( gg_trg_Trees_respawn_top_Copy, function Trig_Trees_respawn_top_Copy_Actions )
endfunction
function Trig_Trees_respawn_bottom_Copy_Actions takes nothing returns nothing
call DestructableRestoreLife( GetDyingDestructable(), GetDestructableMaxLife(GetDyingDestructable()), true )
endfunction
//===========================================================================
function InitTrig_Trees_respawn_bottom_Copy takes nothing returns nothing
set gg_trg_Trees_respawn_bottom_Copy = CreateTrigger( )
call TriggerRegisterDestDeathInRegionEvent( gg_trg_Trees_respawn_bottom_Copy, gg_rct_bottomsidetrees )
call TriggerAddAction( gg_trg_Trees_respawn_bottom_Copy, function Trig_Trees_respawn_bottom_Copy_Actions )
endfunction
function Trig_Gates_team_1_Func002002003 takes nothing returns boolean
return ( IsUnitAlly(GetFilterUnit(), ConvertedPlayer(4)) == true )
endfunction
function Trig_Gates_team_1_Func003Func001C takes nothing returns boolean
if ( not ( CountUnitsInGroup(udg_TempUnitGroup1) > 0 ) ) then
return false
endif
if ( not ( udg_Gatesopened1 == false ) ) then
return false
endif
return true
endfunction
function Trig_Gates_team_1_Func003C takes nothing returns boolean
if ( not ( CountUnitsInGroup(udg_TempUnitGroup1) > 0 ) ) then
return false
endif
if ( not ( udg_Gatesopened1 == true ) ) then
return false
endif
return true
endfunction
function Trig_Gates_team_1_Actions takes nothing returns nothing
set udg_tmploc1 = GetDestructableLoc(GetDyingDestructable())
set udg_TempUnitGroup1 = GetUnitsInRangeOfLocMatching(150.00, udg_tmploc1, Condition(function Trig_Gates_team_1_Func002002003))
if ( Trig_Gates_team_1_Func003C() ) then
call TriggerSleepAction( 0.50 )
call ModifyGateBJ( bj_GATEOPERATION_CLOSE, gg_dest_LTg1_0000 )
call ModifyGateBJ( bj_GATEOPERATION_CLOSE, gg_dest_LTg1_0001 )
call SetDestructableLife( gg_dest_LTg1_0000, udg_lifeofgate[1] )
call SetDestructableLife( gg_dest_LTg1_0001, udg_lifeofgate[2] )
set udg_Gatesopened1 = false
else
if ( Trig_Gates_team_1_Func003Func001C() ) then
call TriggerSleepAction( 0.50 )
set udg_lifeofgate[1] = GetDestructableLife(gg_dest_LTg1_0000)
set udg_lifeofgate[2] = GetDestructableLife(gg_dest_LTg1_0001)
call ModifyGateBJ( bj_GATEOPERATION_OPEN, gg_dest_LTg1_0000 )
call ModifyGateBJ( bj_GATEOPERATION_OPEN, gg_dest_LTg1_0001 )
set udg_Gatesopened1 = true
else
endif
endif
call DestroyGroup (udg_TempUnitGroup1)
call RemoveLocation( udg_tmploc1 )
call DestructableRestoreLife( GetDyingDestructable(), GetDestructableMaxLife(GetDyingDestructable()), true )
endfunction
//===========================================================================
function InitTrig_Gates_team_1 takes nothing returns nothing
set gg_trg_Gates_team_1 = CreateTrigger( )
call TriggerRegisterDeathEvent( gg_trg_Gates_team_1, gg_dest_DTlv_1583 )
call TriggerAddAction( gg_trg_Gates_team_1, function Trig_Gates_team_1_Actions )
endfunction
function Trig_Gates_team_2_Func002002003 takes nothing returns boolean
return ( IsUnitAlly(GetFilterUnit(), ConvertedPlayer(5)) == true )
endfunction
function Trig_Gates_team_2_Func003Func001C takes nothing returns boolean
if ( not ( CountUnitsInGroup(udg_TempUnitGroup2) > 0 ) ) then
return false
endif
if ( not ( udg_Gatesopened2 == false ) ) then
return false
endif
return true
endfunction
function Trig_Gates_team_2_Func003C takes nothing returns boolean
if ( not ( CountUnitsInGroup(udg_TempUnitGroup2) > 0 ) ) then
return false
endif
if ( not ( udg_Gatesopened2 == true ) ) then
return false
endif
return true
endfunction
function Trig_Gates_team_2_Actions takes nothing returns nothing
set udg_tmploc2 = GetDestructableLoc(GetDyingDestructable())
set udg_TempUnitGroup2 = GetUnitsInRangeOfLocMatching(150.00, udg_tmploc2, Condition(function Trig_Gates_team_2_Func002002003))
if ( Trig_Gates_team_2_Func003C() ) then
call TriggerSleepAction( 0.50 )
call ModifyGateBJ( bj_GATEOPERATION_CLOSE, gg_dest_LTg1_0165 )
call ModifyGateBJ( bj_GATEOPERATION_CLOSE, gg_dest_LTg1_0292 )
call SetDestructableLife( gg_dest_LTg1_0165, udg_lifeofgate[3] )
call SetDestructableLife( gg_dest_LTg1_0292, udg_lifeofgate[4] )
set udg_Gatesopened2 = false
else
if ( Trig_Gates_team_2_Func003Func001C() ) then
call TriggerSleepAction( 0.50 )
set udg_lifeofgate[3] = GetDestructableLife(gg_dest_LTg1_0165)
set udg_lifeofgate[4] = GetDestructableLife(gg_dest_LTg1_0292)
call ModifyGateBJ( bj_GATEOPERATION_OPEN, gg_dest_LTg1_0165 )
call ModifyGateBJ( bj_GATEOPERATION_OPEN, gg_dest_LTg1_0292 )
set udg_Gatesopened2 = true
else
endif
endif
call DestroyGroup (udg_TempUnitGroup2)
call RemoveLocation( udg_tmploc2 )
call DestructableRestoreLife( GetDyingDestructable(), GetDestructableMaxLife(GetDyingDestructable()), true )
endfunction
//===========================================================================
function InitTrig_Gates_team_2 takes nothing returns nothing
set gg_trg_Gates_team_2 = CreateTrigger( )
call TriggerRegisterDeathEvent( gg_trg_Gates_team_2, gg_dest_DTlv_1584 )
call TriggerAddAction( gg_trg_Gates_team_2, function Trig_Gates_team_2_Actions )
endfunction
function Trig_No_frozen_Towers_of_Cd_Copy_Func001001 takes nothing returns boolean
return ( UnitHasBuffBJ(GetAttackedUnitBJ(), 'Bfrz') == true )
endfunction
function Trig_No_frozen_Towers_of_Cd_Copy_Actions takes nothing returns nothing
if ( Trig_No_frozen_Towers_of_Cd_Copy_Func001001() ) then
call UnitRemoveBuffBJ( 'Bfrz', GetAttackedUnitBJ() )
else
call DoNothing( )
endif
endfunction
//===========================================================================
function InitTrig_No_frozen_Towers_of_Cd_Copy takes nothing returns nothing
set gg_trg_No_frozen_Towers_of_Cd_Copy = CreateTrigger( )
call TriggerRegisterPlayerUnitEventSimple( gg_trg_No_frozen_Towers_of_Cd_Copy, Player(9), EVENT_PLAYER_UNIT_ATTACKED )
call TriggerRegisterPlayerUnitEventSimple( gg_trg_No_frozen_Towers_of_Cd_Copy, Player(10), EVENT_PLAYER_UNIT_ATTACKED )
call TriggerAddAction( gg_trg_No_frozen_Towers_of_Cd_Copy, function Trig_No_frozen_Towers_of_Cd_Copy_Actions )
endfunction
function Trig_Music_Copy_Actions takes nothing returns nothing
call PlayMusicBJ( gg_snd_War2IntroMusic )
call TriggerSleepAction( 81.00 )
call PlayMusicBJ( gg_snd_IllidansTheme )
call TriggerSleepAction( 108.00 )
call PlayMusicBJ( gg_snd_ArthasTheme )
call TriggerSleepAction( 122.00 )
call PlayMusicBJ( gg_snd_PursuitTheme )
call TriggerSleepAction( 82.00 )
call PlayMusicBJ( gg_snd_Doom )
call TriggerSleepAction( 66.00 )
call PlayMusicBJ( gg_snd_HumanX1 )
call TriggerSleepAction( 284.00 )
call PlayMusicBJ( gg_snd_Credits )
call TriggerSleepAction( 83.00 )
call TriggerExecute( GetTriggeringTrigger() )
endfunction
//===========================================================================
function InitTrig_Music_Copy takes nothing returns nothing
set gg_trg_Music_Copy = CreateTrigger( )
call TriggerAddAction( gg_trg_Music_Copy, function Trig_Music_Copy_Actions )
endfunction
function Trig_Barraks_units_Copy_Actions takes nothing returns nothing
call IssueTrainOrderByIdBJ( gg_unit_h00O_0082, 'h00A' )
call IssueTrainOrderByIdBJ( gg_unit_h00O_0083, 'h00A' )
call IssueTrainOrderByIdBJ( gg_unit_h00B_0178, 'h00A' )
call IssueTrainOrderByIdBJ( gg_unit_h00B_0179, 'h00A' )
endfunction
//===========================================================================
function InitTrig_Barraks_units_Copy takes nothing returns nothing
set gg_trg_Barraks_units_Copy = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_Barraks_units_Copy, 10.00 )
call TriggerAddAction( gg_trg_Barraks_units_Copy, function Trig_Barraks_units_Copy_Actions )
endfunction
function Trig_BarraksAttackOrder_Copy_Conditions takes nothing returns boolean
if ( GetBooleanOr( GetUnitTypeId(GetTriggerUnit()) == 'h00B', GetUnitTypeId(GetTriggerUnit()) == 'h00O' ) ) then
return true
else
return false
endif
return true
endfunction
function Trig_BarraksAttackOrder_Copy_Func001001 takes nothing returns boolean
return ( GetOwningPlayer(GetTriggerUnit()) == Player(9) )
endfunction
function Trig_BarraksAttackOrder_Copy_Func002001 takes nothing returns boolean
return ( GetOwningPlayer(GetTriggerUnit()) == Player(10) )
endfunction
function Trig_BarraksAttackOrder_Copy_Actions takes nothing returns nothing
if ( Trig_BarraksAttackOrder_Copy_Func001001() ) then
call IssuePointOrderLocBJ( GetTrainedUnit(), "attack", udg_loc[1] )
else
call DoNothing( )
endif
if ( Trig_BarraksAttackOrder_Copy_Func002001() ) then
call IssuePointOrderLocBJ( GetTrainedUnit(), "attack", udg_loc[2] )
else
call DoNothing( )
endif
endfunction
//===========================================================================
function InitTrig_BarraksAttackOrder_Copy takes nothing returns nothing
set gg_trg_BarraksAttackOrder_Copy = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_BarraksAttackOrder_Copy, EVENT_PLAYER_UNIT_TRAIN_FINISH )
call TriggerAddCondition( gg_trg_BarraksAttackOrder_Copy, Condition( function Trig_BarraksAttackOrder_Copy_Conditions ) )
call TriggerAddAction( gg_trg_BarraksAttackOrder_Copy, function Trig_BarraksAttackOrder_Copy_Actions )
endfunction
function Trig_Attack_Gate_Copy_Func003001002 takes nothing returns boolean
return ( RectContainsUnit(gg_rct_Region_005, GetFilterUnit()) == true )
endfunction
function Trig_Attack_Gate_Copy_Func003A takes nothing returns nothing
call IssueTargetDestructableOrder( GetEnumUnit(), "attack", gg_dest_LTg1_0000 )
endfunction
function Trig_Attack_Gate_Copy_Func005001002 takes nothing returns boolean
return ( RectContainsUnit(gg_rct_Region_006, GetFilterUnit()) == true )
endfunction
function Trig_Attack_Gate_Copy_Func005A takes nothing returns nothing
call IssueTargetDestructableOrder( GetEnumUnit(), "attack", gg_dest_LTg1_0001 )
endfunction
function Trig_Attack_Gate_Copy_Func007001002 takes nothing returns boolean
return ( RectContainsUnit(gg_rct_Region_007, GetFilterUnit()) == true )
endfunction
function Trig_Attack_Gate_Copy_Func007A takes nothing returns nothing
call IssueTargetDestructableOrder( GetEnumUnit(), "attack", gg_dest_LTg1_0165 )
endfunction
function Trig_Attack_Gate_Copy_Func009001002 takes nothing returns boolean
return ( RectContainsUnit(gg_rct_Region_008, GetFilterUnit()) == true )
endfunction
function Trig_Attack_Gate_Copy_Func009A takes nothing returns nothing
call IssueTargetDestructableOrder( GetEnumUnit(), "attack", gg_dest_LTg1_0292 )
endfunction
function Trig_Attack_Gate_Copy_Actions takes nothing returns nothing
set bj_wantDestroyGroup = true
call ForGroupBJ( GetUnitsOfPlayerMatching(Player(10), Condition(function Trig_Attack_Gate_Copy_Func003001002)), function Trig_Attack_Gate_Copy_Func003A )
set bj_wantDestroyGroup = true
call ForGroupBJ( GetUnitsOfPlayerMatching(Player(10), Condition(function Trig_Attack_Gate_Copy_Func005001002)), function Trig_Attack_Gate_Copy_Func005A )
set bj_wantDestroyGroup = true
call ForGroupBJ( GetUnitsOfPlayerMatching(Player(9), Condition(function Trig_Attack_Gate_Copy_Func007001002)), function Trig_Attack_Gate_Copy_Func007A )
set bj_wantDestroyGroup = true
call ForGroupBJ( GetUnitsOfPlayerMatching(Player(9), Condition(function Trig_Attack_Gate_Copy_Func009001002)), function Trig_Attack_Gate_Copy_Func009A )
endfunction
//===========================================================================
function InitTrig_Attack_Gate_Copy takes nothing returns nothing
set gg_trg_Attack_Gate_Copy = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_Attack_Gate_Copy, 1.00 )
call TriggerAddAction( gg_trg_Attack_Gate_Copy, function Trig_Attack_Gate_Copy_Actions )
endfunction
function Trig_HugeBuilderBoundrys_Copy_Conditions takes nothing returns boolean
if ( ( GetUnitTypeId(GetTriggerUnit()) == 'h002' ) ) then
return true
else
return false
endif
return true
endfunction
function Trig_HugeBuilderBoundrys_Copy_Func001C takes nothing returns boolean
if ( ( IsUnitAlly(GetTriggerUnit(), Player(0)) == true ) ) then
return true
else
return false
endif
return true
endfunction
function Trig_HugeBuilderBoundrys_Copy_Actions takes nothing returns nothing
if ( Trig_HugeBuilderBoundrys_Copy_Func001C() ) then
call AddSpecialEffectLocBJ( GetUnitLoc(GetTriggerUnit()), "Doodads\\Cinematic\\Lightningbolt\\Lightningbolt.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
call ExplodeUnitBJ( GetTriggerUnit() )
call CreateNUnitsAtLoc( 1, 'h002', Player(9), Location(-875.90, 6179.10), bj_UNIT_FACING )
call PingMinimapLocForForceEx( GetPlayersAllies(GetOwningPlayer(GetTriggerUnit())), Location(-875.90, 6179.10), 5.00, bj_MINIMAPPINGSTYLE_ATTACK, 100, 100.00, 100.00 )
call QuestMessageBJ( GetPlayersAllies(GetOwningPlayer(GetTriggerUnit())), bj_QUESTMESSAGE_WARNING, "TRIGSTR_670" )
else
call AddSpecialEffectLocBJ( GetUnitLoc(GetTriggerUnit()), "Doodads\\Cinematic\\Lightningbolt\\Lightningbolt.mdl" )
call ExplodeUnitBJ( GetTriggerUnit() )
call CreateNUnitsAtLoc( 1, 'h002', Player(10), Location(-883.30, -6793.90), bj_UNIT_FACING )
call PingMinimapLocForForceEx( GetPlayersAllies(GetOwningPlayer(GetTriggerUnit())), Location(-883.30, -6793.90), 5.00, bj_MINIMAPPINGSTYLE_ATTACK, 100, 100.00, 100.00 )
call QuestMessageBJ( GetPlayersAllies(GetOwningPlayer(GetTriggerUnit())), bj_QUESTMESSAGE_WARNING, "TRIGSTR_669" )
endif
endfunction
//===========================================================================
function InitTrig_HugeBuilderBoundrys_Copy takes nothing returns nothing
set gg_trg_HugeBuilderBoundrys_Copy = CreateTrigger( )
call TriggerRegisterEnterRectSimple( gg_trg_HugeBuilderBoundrys_Copy, gg_rct_prevent_tower_builder_passage )
call TriggerRegisterEnterRectSimple( gg_trg_HugeBuilderBoundrys_Copy, gg_rct_prevent_tower_builder_passage2 )
call TriggerAddCondition( gg_trg_HugeBuilderBoundrys_Copy, Condition( function Trig_HugeBuilderBoundrys_Copy_Conditions ) )
call TriggerAddAction( gg_trg_HugeBuilderBoundrys_Copy, function Trig_HugeBuilderBoundrys_Copy_Actions )
endfunction
function Trig_Game_Hints_Copy_Actions takes nothing returns nothing
call TriggerSleepAction( 60.00 )
call QuestMessageBJ( GetPlayersAll(), bj_QUESTMESSAGE_ALWAYSHINT, "TRIGSTR_671" )
call FlashQuestDialogButtonBJ( )
call QuestSetDiscoveredBJ( GetLastCreatedQuestBJ(), true )
call TriggerSleepAction( 5.00 )
call QuestMessageBJ( GetPlayersAll(), bj_QUESTMESSAGE_ALWAYSHINT, "TRIGSTR_672" )
endfunction
//===========================================================================
function InitTrig_Game_Hints_Copy takes nothing returns nothing
set gg_trg_Game_Hints_Copy = CreateTrigger( )
call TriggerAddAction( gg_trg_Game_Hints_Copy, function Trig_Game_Hints_Copy_Actions )
endfunction
function Trig_Death_Wave_Copy_Conditions takes nothing returns boolean
if ( ( GetSpellAbilityId() == 'A00F' ) ) then
return true
else
return false
endif
return true
endfunction
function Trig_Death_Wave_Copy_Func028Func004001 takes nothing returns boolean
return ( GetUnitAbilityLevel(udg_WaveCaster, 'A00F') == 2 )
endfunction
function Trig_Death_Wave_Copy_Func028Func005001 takes nothing returns boolean
return ( GetUnitAbilityLevel(udg_WaveCaster, 'A00F') == 3 )
endfunction
function Trig_Death_Wave_Copy_Actions takes nothing returns nothing
set udg_WaveCaster = GetTriggerUnit()
set udg_WavePoint2 = GetSpellTargetLoc()
call PauseUnit( udg_WaveCaster, true )
call SetUnitFacingToFaceLocTimed( udg_WaveCaster, udg_WavePoint2, 0.10 )
set udg_DW_Loc = GetUnitLoc(udg_WaveCaster)
call TriggerSleepAction( 0.10 )
call PauseUnit( udg_WaveCaster, false )
set udg_WaveReal2 = 370.00
set udg_WaveReal1 = AngleBetweenPoints(udg_DW_Loc, udg_WavePoint2)
call CreateNUnitsAtLoc( 1, 'h00Q', GetOwningPlayer(udg_WaveCaster), PolarProjectionBJ(udg_DW_Loc, 100.00, udg_WaveReal1), udg_WaveReal1 )
call RemoveLocation (udg_DW_Loc)
call SetUnitTurnSpeed( udg_WaveCaster, 0.50 )
set udg_WaveSkull = GetLastCreatedUnit()
call EnableTrigger( gg_trg_WaveMove_Copy_2 )
call EnableTrigger( gg_trg_WaveMove_Copy_Copy )
call TriggerSleepAction( 1.00 )
call DisableTrigger( gg_trg_WaveMove_Copy_2 )
call DisableTrigger( gg_trg_WaveMove_Copy_Copy )
call AddSpecialEffectLoc( "Abilities\\Spells\\Undead\\AnimateDead\\AnimateDeadTarget.mdl", GetUnitLoc(udg_WaveSkull) )
call DestroyEffect( GetLastCreatedEffectBJ() )
call AddSpecialEffectLoc( "Abilities\\Spells\\Undead\\DeathCoil\\DeathCoilSpecialArt.mdl", GetUnitLoc(udg_WaveSkull) )
call DestroyEffect( GetLastCreatedEffectBJ() )
call UnitApplyTimedLife( udg_WaveSkull , 'BTLF' , 2.00 )
set udg_WavePoint = GetUnitLoc(udg_WaveSkull)
call TriggerSleepAction( 0.67 )
call UnitApplyTimedLife( udg_WaveSkull, 'BTLF', 2.00 )
call ShowUnit( udg_WaveSkull , false )
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 18
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set udg_WaveReal2 = ( udg_WaveReal2 - 20.00 )
call CreateNUnitsAtLoc( 1, 'h00Q', GetOwningPlayer(udg_WaveCaster), udg_WavePoint, bj_UNIT_FACING )
set udg_DW_Dummy = GetLastCreatedUnit()
if ( Trig_Death_Wave_Copy_Func028Func004001() ) then
call SetUnitAbilityLevel(udg_DW_Dummy , 'A00E' , 2 )
else
call DoNothing( )
endif
if ( Trig_Death_Wave_Copy_Func028Func005001() ) then
call SetUnitAbilityLevel(udg_DW_Dummy , 'A00E' , 3 )
endif
call UnitApplyTimedLife( GetLastCreatedUnit(), 'BTLF', 2.00 )
call IssuePointOrderLoc( udg_DW_Dummy, "carrionswarm", PolarProjectionBJ(udg_WavePoint, 500.00, udg_WaveReal2) )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
call RemoveLocation (udg_WavePoint)
endfunction
//===========================================================================
function InitTrig_Death_Wave_Copy takes nothing returns nothing
set gg_trg_Death_Wave_Copy = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Death_Wave_Copy, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Death_Wave_Copy, Condition( function Trig_Death_Wave_Copy_Conditions ) )
call TriggerAddAction( gg_trg_Death_Wave_Copy, function Trig_Death_Wave_Copy_Actions )
endfunction
function Trig_WaveMove_Copy_2_Func002002003 takes nothing returns boolean
return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(udg_WaveCaster)) == true )
endfunction
function Trig_WaveMove_Copy_2_Func003A takes nothing returns nothing
call UnitDamageTargetBJ( udg_WaveSkull, GetEnumUnit(), 3.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL )
endfunction
function Trig_WaveMove_Copy_2_Actions takes nothing returns nothing
call SetUnitPositionLoc( udg_WaveSkull, PolarProjectionBJ(GetUnitLoc(udg_WaveSkull), 5.00, udg_WaveReal1) )
set udg_unitgroup1 = GetUnitsInRangeOfLocMatching(200.00, GetUnitLoc(udg_WaveSkull), Condition(function Trig_WaveMove_Copy_2_Func002002003))
call ForGroup( udg_unitgroup1, function Trig_WaveMove_Copy_2_Func003A )
call DestroyGroup (udg_unitgroup1)
endfunction
//===========================================================================
function InitTrig_WaveMove_Copy_2 takes nothing returns nothing
set gg_trg_WaveMove_Copy_2 = CreateTrigger( )
call DisableTrigger( gg_trg_WaveMove_Copy_2 )
call TriggerRegisterTimerEventPeriodic( gg_trg_WaveMove_Copy_2, 0.01 )
call TriggerAddAction( gg_trg_WaveMove_Copy_2, function Trig_WaveMove_Copy_2_Actions )
endfunction
function Trig_WaveMove_Copy_Copy_Actions takes nothing returns nothing
call AddSpecialEffectLoc( "Abilities\\Spells\\Undead\\DeathCoil\\DeathCoilSpecialArt.mdl", GetUnitLoc(udg_WaveSkull) )
call DestroyEffect( GetLastCreatedEffectBJ() )
endfunction
//===========================================================================
function InitTrig_WaveMove_Copy_Copy takes nothing returns nothing
set gg_trg_WaveMove_Copy_Copy = CreateTrigger( )
call DisableTrigger( gg_trg_WaveMove_Copy_Copy )
call TriggerRegisterTimerEventPeriodic( gg_trg_WaveMove_Copy_Copy, 0.08 )
call TriggerAddAction( gg_trg_WaveMove_Copy_Copy, function Trig_WaveMove_Copy_Copy_Actions )
endfunction
function Trig_War_Club_Copy_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A008' ) ) then
return false
endif
return true
endfunction
function Trig_War_Club_Copy_Actions takes nothing returns nothing
local effect treeeffect
call TriggerSleepAction( 1.00 )
call UnitRemoveAbility( GetTriggerUnit(),'A008' )
set treeeffect = AddSpecialEffectTarget("war3mapImported\\TreeClub.mdx", GetTriggerUnit(), "right hand")
call UnitAddAbility( GetTriggerUnit(), 'A00B' )
call TriggerSleepAction( 30.00 )
call DestroyEffect(treeeffect)
call TriggerSleepAction( 2.00 )
call UnitRemoveAbility( GetTriggerUnit(),'A00B' )
call UnitAddAbility( GetTriggerUnit(), 'A008' )
endfunction
//===========================================================================
function InitTrig_War_Club_Copy takes nothing returns nothing
set gg_trg_War_Club_Copy = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_War_Club_Copy, EVENT_PLAYER_UNIT_SPELL_CAST )
call TriggerAddCondition( gg_trg_War_Club_Copy, Condition( function Trig_War_Club_Copy_Conditions ) )
call TriggerAddAction( gg_trg_War_Club_Copy, function Trig_War_Club_Copy_Actions )
endfunction
function Trig_FlamethrowerON_Copy_Conditions takes nothing returns boolean
if ( ( GetSpellAbilityId() == 'A009' ) ) then
return true
else
return false
endif
if ( ( udg_flamethrowerON == false ) ) then
return true
else
return false
endif
return true
endfunction
function Trig_FlamethrowerON_Copy_Actions takes nothing returns nothing
set udg_flamethrowerON = true
set udg_FT_caster = GetSpellAbilityUnit()
call AddSpecialEffectTargetUnitBJ( "left hand", udg_FT_caster, "Abilities\\Spells\\Other\\BreathOfFire\\BreathOfFireDamage.mdl" )
set udg_FT_Art = GetLastCreatedEffectBJ()
call EnableTrigger( gg_trg_FlamethrowerARTandDAMAGE_Copy )
call EnableTrigger( gg_trg_DisableMeleeAttack_Copy )
endfunction
//===========================================================================
function InitTrig_FlamethrowerON_Copy takes nothing returns nothing
set gg_trg_FlamethrowerON_Copy = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_FlamethrowerON_Copy, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_FlamethrowerON_Copy, Condition( function Trig_FlamethrowerON_Copy_Conditions ) )
call TriggerAddAction( gg_trg_FlamethrowerON_Copy, function Trig_FlamethrowerON_Copy_Actions )
endfunction
function Trig_FlamethrowerOFF_Copy_Conditions takes nothing returns boolean
if ( ( UnitHasBuffBJ(udg_FT_caster, 'BEia') == false ) ) then
return true
else
return false
endif
if ( ( udg_flamethrowerON == true ) ) then
return true
else
return false
endif
return true
endfunction
function Trig_FlamethrowerOFF_Copy_Actions takes nothing returns nothing
set udg_flamethrowerON = false
call DestroyEffect( udg_FT_Art )
call DisableTrigger( gg_trg_FlamethrowerARTandDAMAGE_Copy )
call DisableTrigger( gg_trg_DisableMeleeAttack_Copy )
endfunction
//===========================================================================
function InitTrig_FlamethrowerOFF_Copy takes nothing returns nothing
set gg_trg_FlamethrowerOFF_Copy = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_FlamethrowerOFF_Copy, 0.01 )
call TriggerAddCondition( gg_trg_FlamethrowerOFF_Copy, Condition( function Trig_FlamethrowerOFF_Copy_Conditions ) )
call TriggerAddAction( gg_trg_FlamethrowerOFF_Copy, function Trig_FlamethrowerOFF_Copy_Actions )
endfunction
function Trig_FlamethrowerARTandDAMAGE_Copy_Conditions takes nothing returns boolean
if ( ( udg_flamethrowerON == true ) ) then
return true
else
return false
endif
if ( ( GetTriggerUnit() == udg_FT_caster ) ) then
return true
else
return false
endif
if ( ( IsPlayerEnemy(GetTriggerPlayer(), GetOwningPlayer(GetOrderTargetUnit())) == true ) ) then
return true
else
return false
endif
return true
endfunction
function Trig_FlamethrowerARTandDAMAGE_Copy_Func004Func001C takes nothing returns boolean
if ( ( GetIssuedOrderId() == String2OrderIdBJ("smart") ) ) then
return true
endif
if ( ( GetIssuedOrderId() == String2OrderIdBJ("attack") ) ) then
return true
endif
if ( ( GetIssuedOrderId() == String2OrderIdBJ("move") ) ) then
return true
endif
return false
endfunction
function Trig_FlamethrowerARTandDAMAGE_Copy_Func004C takes nothing returns boolean
if ( not Trig_FlamethrowerARTandDAMAGE_Copy_Func004Func001C() ) then
return false
endif
return true
endfunction
function Trig_FlamethrowerARTandDAMAGE_Copy_Actions takes nothing returns nothing
if ( Trig_FlamethrowerARTandDAMAGE_Copy_Func004C() ) then
set udg_FT_casterLoc = GetUnitLoc(udg_FT_caster)
set udg_FT_TargetLoc = GetUnitLoc(GetOrderTargetUnit())
call AddSpecialEffectTargetUnitBJ( "left hand", udg_FT_caster, "Objects\\Spawnmodels\\Other\\FlameThrower\\FlameThrowerSpawnObj.mdl" )
call CreateNUnitsAtLocFacingLocBJ( 1, 'h00M', GetOwningPlayer(udg_FT_caster), udg_FT_casterLoc, udg_FT_TargetLoc )
set udg_FT_Dummy = GetLastCreatedUnit()
call IssueTargetOrder( udg_FT_Dummy, "thunderbolt", GetOrderTargetUnit() )
call UnitDamagePointLoc( udg_FT_caster, 0, 250.00, udg_FT_TargetLoc, 15.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_FIRE )
call DestroyEffect( GetLastCreatedEffectBJ() )
call RemoveLocation(udg_FT_casterLoc)
call RemoveLocation(udg_FT_TargetLoc)
else
endif
endfunction
//===========================================================================
function InitTrig_FlamethrowerARTandDAMAGE_Copy takes nothing returns nothing
set gg_trg_FlamethrowerARTandDAMAGE_Copy = CreateTrigger( )
call DisableTrigger( gg_trg_FlamethrowerARTandDAMAGE_Copy )
call TriggerRegisterAnyUnitEventBJ( gg_trg_FlamethrowerARTandDAMAGE_Copy, EVENT_PLAYER_UNIT_ISSUED_TARGET_ORDER )
call TriggerAddCondition( gg_trg_FlamethrowerARTandDAMAGE_Copy, Condition( function Trig_FlamethrowerARTandDAMAGE_Copy_Conditions ) )
call TriggerAddAction( gg_trg_FlamethrowerARTandDAMAGE_Copy, function Trig_FlamethrowerARTandDAMAGE_Copy_Actions )
endfunction
function Trig_DisableMeleeAttack_Copy_Conditions takes nothing returns boolean
if ( ( GetAttacker() == udg_FT_caster ) ) then
return true
else
return false
endif
return true
endfunction
function Trig_DisableMeleeAttack_Copy_Actions takes nothing returns nothing
call IssueImmediateOrder( udg_FT_caster, "stop" )
endfunction
//===========================================================================
function InitTrig_DisableMeleeAttack_Copy takes nothing returns nothing
set gg_trg_DisableMeleeAttack_Copy = CreateTrigger( )
call DisableTrigger( gg_trg_DisableMeleeAttack_Copy )
call TriggerRegisterAnyUnitEventBJ( gg_trg_DisableMeleeAttack_Copy, EVENT_PLAYER_UNIT_ATTACKED )
call TriggerAddCondition( gg_trg_DisableMeleeAttack_Copy, Condition( function Trig_DisableMeleeAttack_Copy_Conditions ) )
call TriggerAddAction( gg_trg_DisableMeleeAttack_Copy, function Trig_DisableMeleeAttack_Copy_Actions )
endfunction
function Trig_Charged_blast_Copy_Conditions takes nothing returns boolean
if ( ( GetSpellAbilityId() == 'A002' ) ) then
return true
else
return false
endif
return true
endfunction
function Trig_Charged_blast_Copy_Actions takes nothing returns nothing
set udg_CB_casterLoc = GetUnitLoc(GetSpellAbilityUnit())
call CreateNUnitsAtLoc( 1, 'h008', GetOwningPlayer(GetTriggerUnit()), udg_CB_casterLoc, 0.00 )
call PlaySoundAtPointBJ( gg_snd_FlameStrikeTargetWaveNonLoop1, 100, udg_CB_casterLoc, 0 )
call UnitApplyTimedLife(GetLastCreatedUnit() , 'BTLF',3.00 )
call RemoveLocation (udg_CB_casterLoc)
call SetUnitScalePercent( GetLastCreatedUnit(), 120.00, 120.00, 120.00 )
call TriggerSleepAction( 0.90 )
call SetUnitScalePercent( GetLastCreatedUnit(), 135.00, 135.00, 135.00 )
call TriggerSleepAction( 0.90 )
call SetUnitScalePercent( GetLastCreatedUnit(), 150.00, 150.00, 150.00 )
endfunction
//===========================================================================
function InitTrig_Charged_blast_Copy takes nothing returns nothing
set gg_trg_Charged_blast_Copy = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Charged_blast_Copy, EVENT_PLAYER_UNIT_SPELL_CHANNEL )
call TriggerAddCondition( gg_trg_Charged_blast_Copy, Condition( function Trig_Charged_blast_Copy_Conditions ) )
call TriggerAddAction( gg_trg_Charged_blast_Copy, function Trig_Charged_blast_Copy_Actions )
endfunction
function Trig_Darkportal_Copy_Func001C takes nothing returns boolean
if ( ( GetUnitTypeId(GetSummonedUnit()) == 'n004' ) ) then
return true
endif
if ( ( GetUnitTypeId(GetSummonedUnit()) == 'n008' ) ) then
return true
endif
if ( ( GetUnitTypeId(GetSummonedUnit()) == 'n007' ) ) then
return true
endif
if ( ( GetUnitTypeId(GetSummonedUnit()) == 'n006' ) ) then
return true
endif
if ( ( GetUnitTypeId(GetSummonedUnit()) == 'n005' ) ) then
return true
endif
if ( ( GetUnitTypeId(GetSummonedUnit()) == 'n009' ) ) then
return true
endif
return false
endfunction
function Trig_Darkportal_Copy_Conditions takes nothing returns boolean
if ( Trig_Darkportal_Copy_Func001C() ) then
return true
else
return false
endif
return true
endfunction
function Trig_Darkportal_Copy_Actions takes nothing returns nothing
call UnitApplyTimedLife( GetSummonedUnit(), 'BTLF', 60 )
endfunction
//===========================================================================
function InitTrig_Darkportal_Copy takes nothing returns nothing
set gg_trg_Darkportal_Copy = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Darkportal_Copy, EVENT_PLAYER_UNIT_SUMMON )
call TriggerAddCondition( gg_trg_Darkportal_Copy, Condition( function Trig_Darkportal_Copy_Conditions ) )
call TriggerAddAction( gg_trg_Darkportal_Copy, function Trig_Darkportal_Copy_Actions )
endfunction
function Trig_Gernade_explosion_graphic_Copy_Conditions takes nothing returns boolean
if ( ( GetSpellAbilityId() == 'A004' ) ) then
return true
else
return false
endif
return true
endfunction
function Trig_Gernade_explosion_graphic_Copy_Actions takes nothing returns nothing
set udg_pointone = GetUnitLoc(GetTriggerUnit())
set udg_pointtwo = GetSpellTargetLoc()
call TriggerSleepAction( ( DistanceBetweenPoints(udg_pointone, udg_pointtwo) / 500.00 ) )
call AddSpecialEffectLoc( "Abilities\\Spells\\Other\\Incinerate\\FireLordDeathExplode.mdl", udg_pointtwo )
call DestroyEffect( GetLastCreatedEffectBJ() )
call RemoveLocation (udg_pointone)
call RemoveLocation (udg_pointtwo)
endfunction
//===========================================================================
function InitTrig_Gernade_explosion_graphic_Copy takes nothing returns nothing
set gg_trg_Gernade_explosion_graphic_Copy = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Gernade_explosion_graphic_Copy, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Gernade_explosion_graphic_Copy, Condition( function Trig_Gernade_explosion_graphic_Copy_Conditions ) )
call TriggerAddAction( gg_trg_Gernade_explosion_graphic_Copy, function Trig_Gernade_explosion_graphic_Copy_Actions )
endfunction
function Trig_Blade_Massacre_Copy_Conditions takes nothing returns boolean
if ( ( GetSpellAbilityId() == 'A00C' ) ) then
return true
else
return false
endif
return true
endfunction
function Trig_Blade_Massacre_Copy_Func011Func003C takes nothing returns boolean
if ( not ( ModuloInteger(GetForLoopIndexB(), 2) == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Blade_Massacre_Copy_Func012Func003C takes nothing returns boolean
if ( not ( ModuloInteger(GetForLoopIndexB(), 2) == 0 ) ) then
return false
endif
return true
endfunction
function Trig_Blade_Massacre_Copy_Func015Func015001003 takes nothing returns boolean
return ( IsPlayerEnemy(GetOwningPlayer(GetFilterUnit()), GetOwningPlayer(udg_CasterUnit)) == true )
endfunction
function Trig_Blade_Massacre_Copy_Func015Func015A takes nothing returns nothing
call UnitDamageTargetBJ( udg_CasterUnit, GetEnumUnit(), 80.00, ATTACK_TYPE_CHAOS, DAMAGE_TYPE_NORMAL )
endfunction
function Trig_Blade_Massacre_Copy_Func028001 takes nothing returns boolean
return ( IsUnitType(udg_TargetUnit, UNIT_TYPE_HERO) == true )
endfunction
function Trig_Blade_Massacre_Copy_Actions takes nothing returns nothing
set udg_TargetUnit = GetSpellTargetUnit()
set udg_CasterUnit = GetTriggerUnit()
call AttachSoundToUnit( gg_snd_Slash, GetTriggerUnit() )
call AttachSoundToUnit( gg_snd_Slash2, GetTriggerUnit() )
call CreateFogModifierRadiusLocBJ( true ,GetTriggerPlayer(),FOG_OF_WAR_VISIBLE ,GetUnitLoc(GetSpellTargetUnit()) , 1000.00 )
set udg_BMVisibility = GetLastCreatedFogModifier()
call SetUnitInvulnerable( GetSpellTargetUnit(), true )
call PauseUnit( GetSpellTargetUnit(), true )
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 5
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
call CreateNUnitsAtLoc( 1, 'o000', GetTriggerPlayer(), GetUnitLoc(GetTriggerUnit()), GetUnitFacing(GetTriggerUnit()) )
call SetUnitVertexColorBJ( GetLastCreatedUnit(), 100, 100, 100, ( 20.00 * I2R(( GetForLoopIndexA() - 1 )) ) )
call SetUnitTimeScalePercent( GetLastCreatedUnit(), 200.00 )
set udg_BladeMasterShadow[GetForLoopIndexA()] = GetLastCreatedUnit()
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
call ShowUnit( GetTriggerUnit(), false )
set bj_forLoopBIndex = 1
set bj_forLoopBIndexEnd = 8
loop
exitwhen bj_forLoopBIndex > bj_forLoopBIndexEnd
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 5
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
call SetUnitAnimationWithRarity( udg_BladeMasterShadow[GetForLoopIndexA()], "attack", RARITY_FREQUENT )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
call StartTimerBJ( udg_Shadow1Timer, true, 0.07 )
if ( Trig_Blade_Massacre_Copy_Func011Func003C() ) then
call PlaySoundBJ( gg_snd_Slash )
else
call PlaySoundBJ( gg_snd_Slash2 )
endif
call SetUnitAnimation( udg_TargetUnit, "death" )
call AddSpecialEffectTargetUnitBJ( "chest", udg_TargetUnit, "Objects\\Spawnmodels\\Human\\HumanBlood\\HumanBloodKnight.mdl" )
call TriggerSleepAction( 0.35 )
call ResetUnitAnimation( udg_TargetUnit )
call DisableTrigger( gg_trg_Shadow5Movement_Copy )
call DisableTrigger( gg_trg_Shadow4Movement_Copy )
call DisableTrigger( gg_trg_Shadow3Movement_Copy )
call DisableTrigger( gg_trg_Shadow2Movement_Copy )
call PauseTimerBJ( true, udg_Shadow1Timer )
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 5
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
call SetUnitPositionLocFacingLocBJ( udg_BladeMasterShadow[GetForLoopIndexA()], PolarProjectionBJ(GetUnitLoc(udg_TargetUnit), 200.00, ( GetUnitFacing(udg_BladeMasterShadow[GetForLoopIndexA()]) + 45.00 )), GetUnitLoc(udg_TargetUnit) )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
call TriggerSleepAction( 0.25 )
set bj_forLoopBIndex = bj_forLoopBIndex + 1
endloop
set bj_forLoopBIndex = 1
set bj_forLoopBIndexEnd = 8
loop
exitwhen bj_forLoopBIndex > bj_forLoopBIndexEnd
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 5
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
call SetUnitAnimation( udg_BladeMasterShadow[GetForLoopIndexA()], "slam" )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
call StartTimerBJ( udg_Shadow1Timer, true, 0.07 )
if ( Trig_Blade_Massacre_Copy_Func012Func003C() ) then
call PlaySoundBJ( gg_snd_Slash )
else
call PlaySoundBJ( gg_snd_Slash2 )
endif
call SetUnitAnimation( udg_TargetUnit, "death" )
call AddSpecialEffectTargetUnitBJ( "chest", udg_TargetUnit, "Objects\\Spawnmodels\\Human\\HumanBlood\\HumanBloodKnight.mdl" )
call TriggerSleepAction( 0.25 )
call ResetUnitAnimation( udg_TargetUnit )
call DisableTrigger( gg_trg_Shadow5Movement_Copy )
call DisableTrigger( gg_trg_Shadow4Movement_Copy )
call DisableTrigger( gg_trg_Shadow3Movement_Copy )
call DisableTrigger( gg_trg_Shadow2Movement_Copy )
call PauseTimer( udg_Shadow1Timer )
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 5
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
call SetUnitPositionLocFacingLocBJ( udg_BladeMasterShadow[GetForLoopIndexA()], PolarProjectionBJ(GetUnitLoc(udg_TargetUnit), 200.00, I2R(GetRandomInt(1, 360))), GetUnitLoc(udg_TargetUnit) )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
call TriggerSleepAction( 0.10 )
set bj_forLoopBIndex = bj_forLoopBIndex + 1
endloop
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 5
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
call SetUnitPositionLocFacingLocBJ( udg_BladeMasterShadow[GetForLoopIndexA()], PolarProjectionBJ(GetUnitLoc(udg_TargetUnit), 200.00, ( 72.00 * I2R(GetForLoopIndexA()) )), GetUnitLoc(udg_TargetUnit) )
call SetUnitVertexColorBJ( udg_BladeMasterShadow[GetForLoopIndexA()], 100, 100, 100, 0.00 )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
call TriggerSleepAction( 0.20 )
set bj_forLoopBIndex = 1
set bj_forLoopBIndexEnd = 8
loop
exitwhen bj_forLoopBIndex > bj_forLoopBIndexEnd
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 5
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
call SetUnitAnimation( udg_BladeMasterShadow[GetForLoopIndexA()], "spin" )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
call StartTimerBJ( udg_Shadow1Timer,true, 0.07 )
call SetUnitAnimation( udg_TargetUnit, "death" )
call AddSpecialEffectTargetUnitBJ( "origin", udg_TargetUnit, "Objects\\Spawnmodels\\Human\\HumanLargeDeathExplode\\HumanLargeDeathExplode.mdl" )
call TriggerSleepAction( 0.35 )
call SetUnitAnimation( udg_TargetUnit, "death" )
call DisableTrigger( gg_trg_Shadow5Movement_Copy )
call DisableTrigger( gg_trg_Shadow4Movement_Copy )
call DisableTrigger( gg_trg_Shadow3Movement_Copy )
call DisableTrigger( gg_trg_Shadow2Movement_Copy )
call PauseTimer( udg_Shadow1Timer )
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 5
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
call SetUnitPositionLocFacingLocBJ( udg_BladeMasterShadow[GetForLoopIndexA()], PolarProjectionBJ(GetUnitLoc(udg_TargetUnit), 200.00, ( GetUnitFacing(udg_BladeMasterShadow[GetForLoopIndexA()]) + 72.00 )), GetUnitLoc(udg_TargetUnit) )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
call TriggerSleepAction( 0.25 )
set bj_wantDestroyGroup = true
call ForGroupBJ( GetUnitsInRangeOfLocMatching(260.00, GetUnitLoc(udg_CasterUnit), Condition(function Trig_Blade_Massacre_Copy_Func015Func015001003)), function Trig_Blade_Massacre_Copy_Func015Func015A )
set bj_forLoopBIndex = bj_forLoopBIndex + 1
endloop
call ResetUnitAnimation( udg_TargetUnit )
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 5
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
call SetUnitPositionLocFacingLocBJ( udg_BladeMasterShadow[GetForLoopIndexA()], PolarProjectionBJ(GetUnitLoc(udg_TargetUnit), 400.00, GetUnitFacing(udg_TargetUnit)), GetUnitLoc(udg_TargetUnit) )
call SetUnitVertexColorBJ( udg_BladeMasterShadow[GetForLoopIndexA()], 100, 100, 100, ( 20.00 * I2R(( GetForLoopIndexA() - 1 )) ) )
call SetUnitTimeScalePercent( udg_BladeMasterShadow[GetForLoopIndexA()], 70.00 )
call ResetUnitAnimation( udg_BladeMasterShadow[GetForLoopIndexA()] )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 5
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
call SetUnitAnimation( udg_BladeMasterShadow[GetForLoopIndexA()], "ready" )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
call TriggerSleepAction( 0.30 )
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 5
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
call SetUnitAnimation( udg_BladeMasterShadow[GetForLoopIndexA()], "slam" )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
call StartTimerBJ( udg_Shadow1Timer, true, 0.07 )
call PlaySoundBJ( gg_snd_Taunt )
call TriggerSleepAction( 0.30 )
call AddSpecialEffectTargetUnitBJ( "origin", udg_TargetUnit, "Objects\\Spawnmodels\\Human\\HumanBlood\\HumanBloodKnight.mdl" )
call CinematicFadeBJ( bj_CINEFADETYPE_FADEOUTIN, 1.00, "ReplaceableTextures\\CameraMasks\\DiagonalSlash_mask.blp", 100.00, 0, 0, 50.00 )
call SetUnitInvulnerable( udg_TargetUnit, false )
call PauseUnit( udg_TargetUnit, false)
if ( Trig_Blade_Massacre_Copy_Func028001() ) then
call UnitDamageTargetBJ( udg_CasterUnit, udg_TargetUnit, 550.00, ATTACK_TYPE_CHAOS, DAMAGE_TYPE_NORMAL )
else
call UnitDamageTargetBJ( udg_CasterUnit, udg_TargetUnit, 1000000000.00, ATTACK_TYPE_SIEGE, DAMAGE_TYPE_NORMAL )
endif
call PlaySoundBJ( gg_snd_Slash )
call TriggerSleepAction( 0.70 )
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 5
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
call SetUnitAnimation( udg_BladeMasterShadow[GetForLoopIndexA()], "ready" )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
call DisableTrigger( gg_trg_Shadow5Movement_Copy )
call DisableTrigger( gg_trg_Shadow4Movement_Copy )
call DisableTrigger( gg_trg_Shadow3Movement_Copy )
call DisableTrigger( gg_trg_Shadow2Movement_Copy )
call PauseTimer( udg_Shadow1Timer )
call SetUnitPositionLocFacingBJ( udg_CasterUnit, GetUnitLoc(udg_BladeMasterShadow[1]), GetUnitFacing(udg_BladeMasterShadow[1]) )
call TriggerSleepAction( 0.25 )
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 5
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
call RemoveUnit( udg_BladeMasterShadow[GetForLoopIndexA()] )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
call DestroyFogModifier( udg_BMVisibility )
call ShowUnit( udg_CasterUnit, true )
call ResetToGameCameraForPlayer( GetOwningPlayer(udg_CasterUnit), 0 )
endfunction
//===========================================================================
function InitTrig_Blade_Massacre_Copy takes nothing returns nothing
set gg_trg_Blade_Massacre_Copy = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Blade_Massacre_Copy, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Blade_Massacre_Copy, Condition( function Trig_Blade_Massacre_Copy_Conditions ) )
call TriggerAddAction( gg_trg_Blade_Massacre_Copy, function Trig_Blade_Massacre_Copy_Actions )
endfunction
function Trig_Shadow1Movement_Copy_Func002C takes nothing returns boolean
if ( ( IsTriggerEnabled(gg_trg_Shadow2Movement_Copy) == false ) ) then
return true
else
return false
endif
return true
endfunction
function Trig_Shadow1Movement_Copy_Actions takes nothing returns nothing
call SetUnitPositionLocFacingBJ( udg_BladeMasterShadow[1], PolarProjectionBJ(GetUnitLoc(udg_BladeMasterShadow[1]), 50.00, GetUnitFacing(udg_BladeMasterShadow[1])), GetUnitFacing(udg_BladeMasterShadow[1]) )
if ( Trig_Shadow1Movement_Copy_Func002C() ) then
call StartTimerBJ( udg_Shadow2Timer, true, 0.07 )
call EnableTrigger( gg_trg_Shadow2Movement_Copy )
else
endif
endfunction
//===========================================================================
function InitTrig_Shadow1Movement_Copy takes nothing returns nothing
set gg_trg_Shadow1Movement_Copy = CreateTrigger( )
call TriggerRegisterTimerExpireEventBJ( gg_trg_Shadow1Movement_Copy, udg_Shadow1Timer )
call TriggerAddAction( gg_trg_Shadow1Movement_Copy, function Trig_Shadow1Movement_Copy_Actions )
endfunction
function Trig_Shadow2Movement_Copy_Func002C takes nothing returns boolean
if ( ( IsTriggerEnabled(gg_trg_Shadow3Movement_Copy) == false ) ) then
return true
else
return false
endif
return true
endfunction
function Trig_Shadow2Movement_Copy_Actions takes nothing returns nothing
call SetUnitPositionLocFacingBJ( udg_BladeMasterShadow[2], PolarProjectionBJ(GetUnitLoc(udg_BladeMasterShadow[2]), 50.00, GetUnitFacing(udg_BladeMasterShadow[2])), GetUnitFacing(udg_BladeMasterShadow[2]) )
if ( Trig_Shadow2Movement_Copy_Func002C() ) then
call StartTimerBJ( udg_Shadow3Timer, true, 0.07 )
call EnableTrigger( gg_trg_Shadow3Movement_Copy )
else
endif
endfunction
//===========================================================================
function InitTrig_Shadow2Movement_Copy takes nothing returns nothing
set gg_trg_Shadow2Movement_Copy = CreateTrigger( )
call DisableTrigger( gg_trg_Shadow2Movement_Copy )
call TriggerRegisterTimerExpireEventBJ( gg_trg_Shadow2Movement_Copy, udg_Shadow2Timer )
call TriggerAddAction( gg_trg_Shadow2Movement_Copy, function Trig_Shadow2Movement_Copy_Actions )
endfunction
function Trig_Shadow3Movement_Copy_Func002C takes nothing returns boolean
if ( ( IsTriggerEnabled(gg_trg_Shadow4Movement_Copy) == false ) ) then
return true
else
return false
endif
return true
endfunction
function Trig_Shadow3Movement_Copy_Actions takes nothing returns nothing
call SetUnitPositionLocFacingBJ( udg_BladeMasterShadow[3], PolarProjectionBJ(GetUnitLoc(udg_BladeMasterShadow[3]), 50.00, GetUnitFacing(udg_BladeMasterShadow[3])), GetUnitFacing(udg_BladeMasterShadow[3]) )
if ( Trig_Shadow3Movement_Copy_Func002C() ) then
call StartTimerBJ( udg_Shadow4Timer, true, 0.07 )
call EnableTrigger( gg_trg_Shadow4Movement_Copy )
else
endif
endfunction
//===========================================================================
function InitTrig_Shadow3Movement_Copy takes nothing returns nothing
set gg_trg_Shadow3Movement_Copy = CreateTrigger( )
call DisableTrigger( gg_trg_Shadow3Movement_Copy )
call TriggerRegisterTimerExpireEventBJ( gg_trg_Shadow3Movement_Copy, udg_Shadow3Timer )
call TriggerAddAction( gg_trg_Shadow3Movement_Copy, function Trig_Shadow3Movement_Copy_Actions )
endfunction
function Trig_Shadow4Movement_Copy_Func002C takes nothing returns boolean
if ( ( IsTriggerEnabled(gg_trg_Shadow5Movement_Copy) == false ) ) then
return true
else
return false
endif
return true
endfunction
function Trig_Shadow4Movement_Copy_Actions takes nothing returns nothing
call SetUnitPositionLocFacingBJ( udg_BladeMasterShadow[4], PolarProjectionBJ(GetUnitLoc(udg_BladeMasterShadow[4]), 50.00, GetUnitFacing(udg_BladeMasterShadow[4])), GetUnitFacing(udg_BladeMasterShadow[4]) )
if ( Trig_Shadow4Movement_Copy_Func002C() ) then
call StartTimerBJ( udg_Shadow5Timer, true, 0.07 )
call EnableTrigger( gg_trg_Shadow5Movement_Copy )
else
endif
endfunction
//===========================================================================
function InitTrig_Shadow4Movement_Copy takes nothing returns nothing
set gg_trg_Shadow4Movement_Copy = CreateTrigger( )
call DisableTrigger( gg_trg_Shadow4Movement_Copy )
call TriggerRegisterTimerExpireEventBJ( gg_trg_Shadow4Movement_Copy, udg_Shadow4Timer )
call TriggerAddAction( gg_trg_Shadow4Movement_Copy, function Trig_Shadow4Movement_Copy_Actions )
endfunction
function Trig_Shadow5Movement_Copy_Actions takes nothing returns nothing
call SetUnitPositionLocFacingBJ( udg_BladeMasterShadow[5], PolarProjectionBJ(GetUnitLoc(udg_BladeMasterShadow[5]), 50.00, GetUnitFacing(udg_BladeMasterShadow[5])), GetUnitFacing(udg_BladeMasterShadow[5]) )
endfunction
//===========================================================================
function InitTrig_Shadow5Movement_Copy takes nothing returns nothing
set gg_trg_Shadow5Movement_Copy = CreateTrigger( )
call DisableTrigger( gg_trg_Shadow5Movement_Copy )
call TriggerRegisterTimerExpireEventBJ( gg_trg_Shadow5Movement_Copy, udg_Shadow5Timer )
call TriggerAddAction( gg_trg_Shadow5Movement_Copy, function Trig_Shadow5Movement_Copy_Actions )
endfunction
function Trig_Thunder_Call_Copy_Conditions takes nothing returns boolean
if ( ( GetSpellAbilityId() == 'A00D' ) ) then
return true
else
return false
endif
return true
endfunction
function Trig_Thunder_Call_Copy_Func004002003 takes nothing returns boolean
return ( IsUnitType(GetFilterUnit(), UNIT_TYPE_HERO) == true )
endfunction
function Trig_Thunder_Call_Copy_Func005A takes nothing returns nothing
call CameraSetEQNoiseForPlayer( GetOwningPlayer(GetEnumUnit()), I2R(( GetUnitAbilityLevel(GetSpellAbilityUnit(),GetSpellAbilityId() ) * 2 )) )
call CameraSetTargetNoiseForPlayer( GetOwningPlayer(GetEnumUnit()), I2R(( GetUnitAbilityLevel(GetSpellAbilityUnit(), GetSpellAbilityId()) * 3 )), 200.00 )
endfunction
function Trig_Thunder_Call_Copy_Func019Func003002003001 takes nothing returns boolean
return ( IsPlayerAlly(GetOwningPlayer(GetFilterUnit()), GetOwningPlayer(GetTriggerUnit())) == false )
endfunction
function Trig_Thunder_Call_Copy_Func019Func003002003002 takes nothing returns boolean
return ( IsUnitType(GetFilterUnit(), UNIT_TYPE_ANCIENT) == false )
endfunction
function Trig_Thunder_Call_Copy_Func019Func003002003 takes nothing returns boolean
return GetBooleanAnd( Trig_Thunder_Call_Copy_Func019Func003002003001(), Trig_Thunder_Call_Copy_Func019Func003002003002() )
endfunction
function Trig_Thunder_Call_Copy_Func019Func004A takes nothing returns nothing
call UnitDamageTargetBJ( GetLastCreatedUnit(), GetEnumUnit(), udg_LocReal, ATTACK_TYPE_MAGIC, DAMAGE_TYPE_NORMAL )
call UnitAddType( GetEnumUnit(), UNIT_TYPE_ANCIENT )
endfunction
function Trig_Thunder_Call_Copy_Func019Func006Func001Func001C takes nothing returns boolean
if ( not ( IsDestructableAliveBJ(GetEnumDestructable()) == true ) ) then
return false
endif
if ( not ( GetEnumDestructable() != udg_leverandgates[0] ) ) then
return false
endif
if ( not ( GetEnumDestructable() != udg_leverandgates[1] ) ) then
return false
endif
if ( not ( GetEnumDestructable() != udg_leverandgates[2] ) ) then
return false
endif
if ( not ( GetEnumDestructable() != udg_leverandgates[3] ) ) then
return false
endif
if ( not ( GetEnumDestructable() != udg_leverandgates[4] ) ) then
return false
endif
if ( not ( GetEnumDestructable() != udg_leverandgates[5] ) ) then
return false
endif
return true
endfunction
function Trig_Thunder_Call_Copy_Func019Func006Func001C takes nothing returns boolean
if ( not Trig_Thunder_Call_Copy_Func019Func006Func001Func001C() ) then
return false
endif
return true
endfunction
function Trig_Thunder_Call_Copy_Func019Func006A takes nothing returns nothing
if ( Trig_Thunder_Call_Copy_Func019Func006Func001C() ) then
call KillDestructable( GetEnumDestructable() )
else
endif
endfunction
function Trig_Thunder_Call_Copy_Func020Func002002003001 takes nothing returns boolean
return ( IsPlayerAlly(GetOwningPlayer(GetFilterUnit()), GetOwningPlayer(GetTriggerUnit())) == false )
endfunction
function Trig_Thunder_Call_Copy_Func020Func002002003002 takes nothing returns boolean
return ( IsUnitType(GetFilterUnit(), UNIT_TYPE_ANCIENT) == true )
endfunction
function Trig_Thunder_Call_Copy_Func020Func002002003 takes nothing returns boolean
return GetBooleanAnd( Trig_Thunder_Call_Copy_Func020Func002002003001(), Trig_Thunder_Call_Copy_Func020Func002002003002() )
endfunction
function Trig_Thunder_Call_Copy_Func020Func003A takes nothing returns nothing
call UnitRemoveType( GetEnumUnit(), UNIT_TYPE_ANCIENT )
endfunction
function Trig_Thunder_Call_Copy_Func027A takes nothing returns nothing
call CameraClearNoiseForPlayer( GetEnumPlayer() )
endfunction
function Trig_Thunder_Call_Copy_Actions takes nothing returns nothing
set udg_LocPoint1 = GetUnitLoc(GetSpellAbilityUnit())
set udg_LocPoint2 = GetSpellTargetLoc()
set udg_LocPoint3 = PolarProjectionBJ(udg_LocPoint1, 150.00, AngleBetweenPoints(udg_LocPoint1, udg_LocPoint2))
set udg_TempUnitGroup1 = GetUnitsInRangeOfLocMatching(512, udg_LocPoint1, Condition(function Trig_Thunder_Call_Copy_Func004002003))
call ForGroupBJ( udg_TempUnitGroup1, function Trig_Thunder_Call_Copy_Func005A )
call DestroyGroup( udg_TempUnitGroup1 )
call AddSpecialEffectLoc( "Objects\\Spawnmodels\\NightElf\\NEDeathSmall\\NEDeathSmall.mdl", udg_LocPoint3 )
call DestroyEffect( GetLastCreatedEffectBJ() )
call AddSpecialEffectLoc( "Objects\\Spawnmodels\\Other\\NeutralBuildingExplosion\\NeutralBuildingExplosion.mdl", udg_LocPoint3 )
call DestroyEffect( GetLastCreatedEffectBJ() )
call CreateNUnitsAtLoc( 1, 'h00R', GetOwningPlayer(GetSpellAbilityUnit()), udg_LocPoint3, AngleBetweenPoints(udg_LocPoint1, udg_LocPoint2) )
call SetUnitScalePercent( GetLastCreatedUnit(), ( 250.00 + I2R(( GetUnitAbilityLevel(GetSpellAbilityUnit(), GetSpellAbilityId()) * 10 )) ), ( 250.00 + I2R(( GetUnitAbilityLevel(GetSpellAbilityUnit(),GetSpellAbilityId() ) * 10 )) ), ( 250.00 + I2R(( GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetSpellAbilityUnit()) * 10 )) ) )
call CreateNUnitsAtLoc( 1, 'h00T', GetOwningPlayer(GetSpellAbilityUnit()), udg_LocPoint3, AngleBetweenPoints(udg_LocPoint1, udg_LocPoint2) )
call SetUnitScalePercent( GetLastCreatedUnit(), ( 350.00 + I2R(( GetUnitAbilityLevel(GetSpellAbilityUnit(), GetSpellAbilityId()) * 10 )) ), ( 350.00 + I2R(( GetUnitAbilityLevel(GetSpellAbilityUnit(), GetSpellAbilityId()) * 10 )) ), ( 350.00 + I2R(( GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetSpellAbilityUnit()) * 10 )) ) )
call SetUnitTimeScalePercent( GetLastCreatedUnit(), 15.00 )
call KillUnit( GetLastCreatedUnit() )
call RemoveLocation( udg_LocPoint3 )
set udg_LocReal = 350.00
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 5
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set udg_LocPoint3 = PolarProjectionBJ(udg_LocPoint1, ( I2R(GetForLoopIndexA()) * 200.00 ), AngleBetweenPoints(udg_LocPoint1, udg_LocPoint2))
call CreateNUnitsAtLoc( 1, 'h00S', GetOwningPlayer(GetTriggerUnit()), udg_LocPoint3, bj_UNIT_FACING )
set udg_TempUnitGroup1 = GetUnitsInRangeOfLocMatching(300.00, udg_LocPoint3, Condition(function Trig_Thunder_Call_Copy_Func019Func003002003))
call ForGroupBJ( udg_TempUnitGroup1, function Trig_Thunder_Call_Copy_Func019Func004A )
call DestroyGroup( udg_TempUnitGroup1 )
call EnumDestructablesInCircleBJ( 300.00, udg_LocPoint3, function Trig_Thunder_Call_Copy_Func019Func006A )
call RemoveLocation( udg_LocPoint3 )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 5
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set udg_LocPoint3 = PolarProjectionBJ(udg_LocPoint1, ( I2R(GetForLoopIndexA()) * 200.00 ), AngleBetweenPoints(udg_LocPoint1, udg_LocPoint2))
set udg_TempUnitGroup1 = GetUnitsInRangeOfLocMatching(300.00, udg_LocPoint3, Condition(function Trig_Thunder_Call_Copy_Func020Func002002003))
call ForGroupBJ( udg_TempUnitGroup1, function Trig_Thunder_Call_Copy_Func020Func003A )
call DestroyGroup( udg_TempUnitGroup1 )
call RemoveLocation( udg_LocPoint3 )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
set udg_LocPoint3 = PolarProjectionBJ(udg_LocPoint1, ( I2R(GetForLoopIndexA()) * 900.00 ), AngleBetweenPoints(udg_LocPoint1, udg_LocPoint2))
call TerrainDeformationWaveBJ( 3.00, udg_LocPoint1, udg_LocPoint3, 400.00, 100.00, 1.00 )
call RemoveLocation( udg_LocPoint1 )
call RemoveLocation( udg_LocPoint2 )
call RemoveLocation( udg_LocPoint3 )
call TriggerSleepAction( 2 )
call ForForce( GetPlayersAll(), function Trig_Thunder_Call_Copy_Func027A )
endfunction
//===========================================================================
function InitTrig_Thunder_Call_Copy takes nothing returns nothing
set gg_trg_Thunder_Call_Copy = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Thunder_Call_Copy, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Thunder_Call_Copy, Condition( function Trig_Thunder_Call_Copy_Conditions ) )
call TriggerAddAction( gg_trg_Thunder_Call_Copy, function Trig_Thunder_Call_Copy_Actions )
endfunction
function Trig_Soul_Release_Copy_Conditions takes nothing returns boolean
if ( ( GetSpellAbilityId() == 'A00I' ) ) then
return true
else
return false
endif
return true
endfunction
function Trig_Soul_Release_Copy_Func001Func001001 takes nothing returns boolean
return ( IsUnitDeadBJ(GetTriggerUnit()) == true )
endfunction
function Trig_Soul_Release_Copy_Func001Func002001 takes nothing returns boolean
return ( IsUnitDeadBJ(GetTriggerUnit()) == true )
endfunction
function Trig_Soul_Release_Copy_Actions takes nothing returns nothing
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = ( 5 * udg_Soul_Count )
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
if ( Trig_Soul_Release_Copy_Func001Func001001() ) then
return
endif
if ( Trig_Soul_Release_Copy_Func001Func002001() ) then
set udg_Soul_Count = 0
endif
call CreateNUnitsAtLoc( 1, 'u001', GetOwningPlayer(GetTriggerUnit()), PolarProjectionBJ(GetUnitLoc(GetTriggerUnit()), GetRandomReal(-400.00, 400.00), GetRandomDirectionDeg()), bj_UNIT_FACING )
call UnitAddAbility(GetLastCreatedUnit() , 'A00G' )
call ExplodeUnitBJ( GetLastCreatedUnit() )
call AddSpecialEffectLoc( "Abilities\\Spells\\Undead\\AnimateDead\\AnimateDeadTarget.mdl", GetUnitLoc(GetLastCreatedUnit() ))
call DestroyEffect( GetLastCreatedEffectBJ() )
call AddSpecialEffectLoc( "Objects\\Spawnmodels\\Undead\\UndeadDissipate\\UndeadDissipate.mdl", GetUnitLoc(GetLastCreatedUnit()) )
call DestroyEffect( GetLastCreatedEffectBJ() )
call RemoveUnit( GetLastCreatedUnit() )
call TriggerSleepAction( 0.01 )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
set udg_Soul_Count = 0
call DisplayTimedTextToForce( udg_Soul_Player, 5.00, ( "|Cff00ff00Soul Count: " + I2S(0) ) )
endfunction
//===========================================================================
function InitTrig_Soul_Release_Copy takes nothing returns nothing
set gg_trg_Soul_Release_Copy = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Soul_Release_Copy, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Soul_Release_Copy, Condition( function Trig_Soul_Release_Copy_Conditions ) )
call TriggerAddAction( gg_trg_Soul_Release_Copy, function Trig_Soul_Release_Copy_Actions )
endfunction
function Trig_Traping_Souls_Copy_Conditions takes nothing returns boolean
if ( ( GetUnitTypeId(GetTriggerUnit()) == 'u000' ) ) then
return true
else
return false
endif
return true
endfunction
function Trig_Traping_Souls_Copy_Func001C takes nothing returns boolean
if ( ( udg_Soul_Count >= 10 ) ) then
return true
else
return false
endif
return true
endfunction
function Trig_Traping_Souls_Copy_Actions takes nothing returns nothing
if ( Trig_Traping_Souls_Copy_Func001C() ) then
call DisplayTextToForce( udg_Soul_Player, "TRIGSTR_673" )
else
set udg_Soul_Count = ( udg_Soul_Count + 1 )
call ForceAddPlayerSimple( GetOwningPlayer(GetTriggerUnit()), udg_Soul_Player )
call DisplayTimedTextToForce( udg_Soul_Player, 5.00, ( "|Cff00ff00Soul Count: " + I2S(udg_Soul_Count) ) )
endif
endfunction
//===========================================================================
function InitTrig_Traping_Souls_Copy takes nothing returns nothing
set gg_trg_Traping_Souls_Copy = CreateTrigger( )
call TriggerRegisterEnterRectSimple( gg_trg_Traping_Souls_Copy, GetPlayableMapRect() )
call TriggerAddCondition( gg_trg_Traping_Souls_Copy, Condition( function Trig_Traping_Souls_Copy_Conditions ) )
call TriggerAddAction( gg_trg_Traping_Souls_Copy, function Trig_Traping_Souls_Copy_Actions )
endfunction
function Trig_Learn_Soul_trap_Copy_Conditions takes nothing returns boolean
if ( not ( IsUnitType(GetTriggerUnit(), UNIT_TYPE_HERO) == true ) ) then
return false
endif
return true
endfunction
function Trig_Learn_Soul_trap_Copy_Func002001 takes nothing returns boolean
return ( GetUnitTypeId(GetEnteringUnit()) == 'Udre' )
endfunction
function Trig_Learn_Soul_trap_Copy_Actions takes nothing returns nothing
call SetPlayerUnitAvailableBJ( GetUnitTypeId(GetEnteringUnit()), false, GetOwningPlayer(GetEnteringUnit()) )
if ( Trig_Learn_Soul_trap_Copy_Func002001() ) then
call UnitAddAbility( GetEnteringUnit(), 'A00H' )
endif
endfunction
//===========================================================================
function InitTrig_Learn_Soul_trap_Copy takes nothing returns nothing
set gg_trg_Learn_Soul_trap_Copy = CreateTrigger( )
call TriggerRegisterEnterRectSimple( gg_trg_Learn_Soul_trap_Copy, GetPlayableMapRect() )
call TriggerAddCondition( gg_trg_Learn_Soul_trap_Copy, Condition( function Trig_Learn_Soul_trap_Copy_Conditions ) )
call TriggerAddAction( gg_trg_Learn_Soul_trap_Copy, function Trig_Learn_Soul_trap_Copy_Actions )
endfunction
function Trig_Shadow_Walk_Copy_Func003Func001001 takes nothing returns boolean
return ( GetUnitAbilityLevel(GetEnumUnit(),'A00L' ) == 1 )
endfunction
function Trig_Shadow_Walk_Copy_Func003Func002001 takes nothing returns boolean
return ( GetUnitAbilityLevel(GetEnumUnit(), 'A00L') == 2 )
endfunction
function Trig_Shadow_Walk_Copy_Func003Func003001 takes nothing returns boolean
return ( GetUnitAbilityLevel(GetEnumUnit(),'A00L' ) == 3 )
endfunction
function Trig_Shadow_Walk_Copy_Func003A takes nothing returns nothing
if ( Trig_Shadow_Walk_Copy_Func003Func001001() ) then
call SetUnitVertexColor( GetEnumUnit(), 10, 10, 10, 90 )
endif
if ( Trig_Shadow_Walk_Copy_Func003Func002001() ) then
call SetUnitVertexColor( GetEnumUnit(), 40, 40, 40, 60 )
endif
if ( Trig_Shadow_Walk_Copy_Func003Func003001() ) then
call SetUnitVertexColor( GetEnumUnit(), 70, 70, 70, 30 )
endif
call DestroyGroup (udg_Warden)
endfunction
function Trig_Shadow_Walk_Copy_Actions takes nothing returns nothing
set udg_Warden = GetUnitsOfTypeIdAll('Ewar')
call ForGroupBJ( udg_Warden, function Trig_Shadow_Walk_Copy_Func003A )
endfunction
//===========================================================================
function InitTrig_Shadow_Walk_Copy takes nothing returns nothing
set gg_trg_Shadow_Walk_Copy = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_Shadow_Walk_Copy, 2.00 )
call TriggerAddAction( gg_trg_Shadow_Walk_Copy, function Trig_Shadow_Walk_Copy_Actions )
endfunction