Name | Type | is_array | initial_value |
Aa1 | group | No | |
ability | abilcode | No | |
Ac | boolean | No | false |
Aggressors | group | No | |
AllHeroArray | unitcode | Yes | |
Anarchy | integer | Yes | 1 |
AngleVar04 | real | No | |
AnimusCopies | group | No | |
AnimusCopiesControlled | group | Yes | |
AnimusMax | integer | Yes | 0 |
Arena | integer | No | |
ArenaKills | integer | Yes | |
asg | integer | No | |
BarracksCount | integer | Yes | |
BaseExpGain | integer | No | 100 |
BeastMaster | unit | Yes | |
BlackHoles | group | No | |
BookAgi | integer | Yes | |
BookHeroes | group | No | |
BookInt | integer | Yes | |
BookPower | integer | Yes | |
Burrow1 | unit | Yes | |
Burrow2 | unit | Yes | |
Button | button | Yes | |
CanRunes | boolean | Yes | true |
Circle | unit | Yes | |
CKCondition | boolean | No | |
CKDark | integer | No | |
CKDenied | integer | Yes | |
CKKilled | integer | Yes | |
CKLight | integer | No | |
colorofplayer | playercolor | No | |
ColorsPlayers | string | Yes | |
Connected | group | Yes | |
Corridors | string | No | Все |
Cowardice | boolean | No | true |
Creeps1 | timer | No | |
Creeps2 | timer | No | |
Creeps3 | timer | No | |
Creeps4 | timer | No | |
Creeps5 | timer | No | |
Creeps6 | timer | No | |
Creeps7 | timer | No | |
Creeps8 | timer | No | |
Creeps9 | timer | No | |
CreepsAll | timer | No | |
CreepsJewelsandIc | string | No | Hire Creeps, Jewels, Weak Towers: All |
CurrentlyinDMGGroup | group | No | |
Dark | force | No | Force06 |
de | destructable | No | |
DeadHeroes | integer | No | |
DeadHeroesInstant | integer | No | |
DeathMatch | integer | No | |
DeathSound | integer | Yes | |
DeathTime | integer | No | 2 |
DEFAULT | timer | No | |
Distance | integer | Yes | 1000 |
DistanceVar | real | No | |
DoCount | integer | Yes | |
DoKill | timer | Yes | |
Duplicate | boolean | No | false |
Ecosphere | unit | Yes | |
Effect | effect | No | |
Evil | real | Yes | |
Experience | string | No | Experience: 100 |
Extreme | integer | No | 0 |
FatCorpse | real | Yes | |
FireMagmars | group | No | |
FiveSec | timer | No | |
Flag | unit | No | |
FlagController | integer | No | |
FlagIsHere | boolean | No | |
FloatingTextVar | texttag | Yes | |
ForestKings | group | No | |
ForestKings2 | group | No | |
FragConditions | string | No | Frag Victory Conditions: No |
Frags | integer | No | |
FragsDark | integer | No | |
FragsLight | integer | No | |
Freezed | group | No | |
g | group | No | |
g2 | group | No | |
GoalDarkness | integer | No | |
GoalLight | integer | No | |
GoldAttackers | group | No | |
GoldBonus | string | No | Gold Bonus: 0 |
GoldDark | integer | No | |
GoldLight | integer | No | |
GoldToCollect | integer | No | |
GroupVar11 | group | No | |
HalfSec | timer | No | |
HarpyWinds | group | No | |
Hash | hashtable | No | |
Hash2 | hashtable | No | |
Hash3 | hashtable | No | |
Hash4 | hashtable | No | |
Hash5 | hashtable | No | |
HeroPick | string | No | Hero Pick: All Pick |
Hide | group | No | |
host | player | No | Player00 |
HuntressJumpers1 | group | No | |
HuntressJumpers2 | group | No | |
Ic | boolean | No | |
ICanRepick | boolean | Yes | true |
ICanTakeCredit | boolean | Yes | true |
IcIdAndNIRevive | string | No | Item: No Creation, No Drop. No Instantly Revive |
Id | integer | No | |
integer | integer | No | |
integer2 | integer | No | |
integer3 | integer | No | |
Iskatels | group | No | |
Item | item | Yes | |
ItemDrop | boolean | No | |
Javelins | group | No | |
Knights | group | No | |
LadyPustota | group | No | |
LastDiedUnit | integer | Yes | |
LevelofMyFirstHero | integer | Yes | |
Light | force | No | Force00 |
LimitHeroTraining | integer | Yes | 1 |
Line1 | boolean | No | true |
Line2 | boolean | No | true |
Line3 | boolean | No | true |
Lines | string | No | Lines: All |
LinkedsWithIce | group | No | |
localplayer | player | No | |
LOOP1 | timer | No | |
LvlChange | integer | No | |
MarkedforCasting | group | No | |
MarkedforDamage | group | No | |
MaxDistance | integer | Yes | 1000 |
Metabolizm | real | Yes | |
MexKill | boolean | No | true |
Mhl | integer | No | |
MiniSec | timer | No | |
Minute | timer | No | |
Minutes | integer | No | |
MoneySec | timer | No | |
MultiboardTitle | string | No | |
MyDeaths | integer | Yes | |
MyFirstHero | unit | Yes | |
MyFirstHeroType | unitcode | Yes | |
MyFrags | integer | Yes | |
MyInterfaceIsBlocked | boolean | Yes | |
MyItem1 | itemcode | Yes | |
MyItem2 | itemcode | Yes | |
MyItem3 | itemcode | Yes | |
MyItem4 | itemcode | Yes | |
MyItem5 | itemcode | Yes | |
MyItem6 | itemcode | Yes | |
MyNewSide | string | Yes | Light |
NeutralCreeps | timer | No | |
nhl | boolean | No | |
NIC | boolean | No | |
Nighthunters | group | No | |
NoModes | boolean | No | true |
NonSpellVar_Creep_Group | group | No | |
NonSpellVar_Creep_Position | location | Yes | |
NonSpellVar_Creep_Type | unitcode | Yes | |
NonSpellVar_Loop | integer | No | |
NowAttack | boolean | No | true |
NowICanSwitch | boolean | No | true |
nto | boolean | No | |
NumberofHeroes | integer | No | 127 |
NumberofPlayersDark | integer | No | |
NumberofPlayersLight | integer | No | |
OBELISK | timer | No | |
OBELISK_A | timer | No | |
OverloadCounters | integer | Yes | |
PhoenixDamageGroup | group | No | |
player | player | No | |
player2 | player | No | |
point | location | No | |
point2 | location | No | |
point3 | location | No | |
point4 | location | No | |
Pokemons | group | No | |
position | location | No | |
PowerGain | real | Yes | |
QuartSec | timer | No | |
Rank | integer | Yes | |
Rc | boolean | No | false |
ReadytoBards | group | No | |
real | real | No | |
real2 | real | No | |
Rebound | location | Yes | |
REpa | timer | No | |
RUNE_1 | integer | No | |
RUNE_2 | integer | No | |
RunesBooksandWtf | string | No | Runes, Books, Cooldown: All |
Runners | group | No | |
SacredHand | integer | Yes | |
se | effect | No | |
SeaAdd | real | Yes | |
SeaProtected | group | No | |
Sec | timer | No | |
Seconds | integer | No | |
settime | integer | No | |
Shadows | group | No | |
Shocks | group | No | |
SinestroSkull | unit | Yes | |
Sled | group | No | |
soundswhenherodies | boolean | No | true |
SpaceOrcs | real | No | |
SpaceOrcsConditions | string | No | Space Orcs: No |
SpaceOrcsTimer | timer | No | |
SpawnController | integer | Yes | |
StartDialog | dialog | No | |
Stoikie | group | No | |
Stones | boolean | No | true |
StopHarpy | boolean | Yes | true |
string | string | No | |
stupidbots | group | No | |
Swapper1 | integer | No | |
Swapper2 | integer | No | |
SwitchOK | boolean | No | true |
TempLoc36 | location | No | |
TempLoc37 | location | No | |
TempLoc46 | location | No | |
TempLoc47 | location | No | |
TentacleType | unitcode | No | |
Timer2 | timer | No | |
Timer3 | timer | No | |
TIMER44 | timer | No | |
TimestRing | timer | No | |
tl | integer | No | |
TossJumpers | group | No | |
TossJumpers2 | group | No | |
TowerD | integer | No | |
TowerDs | string | No | |
TowerL | integer | No | |
TowerLevel | string | No | Tower Level : 0 |
TowerLs | string | No | |
tpoint | location | No | |
tpoint2 | location | No | |
Tra | boolean | No | false |
Traders | group | No | |
TraWolvesandGc | string | No | Transform, Wolves, Collect Gold: No |
Tree | destructable | Yes | DestructableNull |
Trees | integer | Yes | |
Turnlittle | texttag | No | |
TwoMinites | timer | No | |
TwoSec | timer | No | |
u_DTAX_temp | unit | No | |
UnderGravity | group | No | |
unit | unit | No | |
unit2 | unit | No | |
UnitsForLizardsLifers | group | No | |
UnitVarCaster7 | unit | No | |
UnitVarCaster8 | unit | No | |
UnitVarTarget6 | unit | No | |
Villains | force | No | |
Volcanos | group | No | |
weather | weathereffect | No | |
WeatherIsHere | boolean | Yes | |
WenstarDamage | real | Yes | |
WF_Angle | real | No | |
WF_Caster | unit | No | |
WF_Caster_Loc | location | No | |
WF_Check | boolean | No | |
WF_Distance | real | No | |
WF_Group | group | No | |
WF_Offset | location | No | |
WF_Point | location | No | |
WF_VIS | fogmodifier | No | |
WhichBurrowIMustChange | integer | Yes | 1 |
wm | boolean | No | |
YouCanHireCreeps | boolean | No | true |
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_Initialization_JASS_Func121A takes nothing returns nothing
call SetUnitOwner( GetEnumUnit(), Player(bj_PLAYER_NEUTRAL_VICTIM), false )
endfunction
function Trig_Initialization_JASS_Func123A takes nothing returns nothing
call SetUnitOwner( GetEnumUnit(), Player(bj_PLAYER_NEUTRAL_EXTRA), false )
endfunction
function Trig_Initialization_JASS_Func146A takes nothing returns nothing
call TriggerRegisterDeathEvent( gg_trg_RegrowTrees, GetEnumDestructable() )
endfunction
function Trig_Initialization_JASS_Func147A takes nothing returns nothing
call SetPlayerAbilityAvailableBJ( false, 'A11V', GetEnumPlayer() )
call SetPlayerFlagBJ( PLAYER_STATE_GIVES_BOUNTY, true, GetEnumPlayer() )
call SetPlayerStateBJ( GetEnumPlayer(), PLAYER_STATE_RESOURCE_GOLD, 700 )
endfunction
function Trig_Initialization_JASS_Func173A takes nothing returns nothing
call SetItemInvulnerable( GetEnumItem(), true )
endfunction
function InitializationEnd takes nothing returns nothing
local timer t2=GetExpiredTimer()
set udg_point = GetRectCenter(gg_rct_Shop_of_Light)
call PingMinimapLocForForce( GetPlayersAll(), udg_point, 5.00 )
set udg_point = GetRectCenter(gg_rct_Shop_of_Darkness)
call PingMinimapLocForForce( GetPlayersAll(), udg_point, 5.00 )
set udg_point = GetRectCenter(GetPlayableMapRect())
call SetItemPositionLoc( gg_item_I06M_0016, udg_WF_Point )
set udg_point = GetRandomLocInRect(GetPlayableMapRect())
call SetItemPositionLoc( gg_item_I06I_0015, udg_point )
set udg_point = GetRandomLocInRect(GetPlayableMapRect())
call SetItemPositionLoc( gg_item_I06J_0017, udg_point )
set udg_point = GetRandomLocInRect(GetPlayableMapRect())
call SetItemPositionLoc( gg_item_I06K_0018, udg_point )
set udg_point = GetRandomLocInRect(GetPlayableMapRect())
call SetItemPositionLoc( gg_item_I06L_0019, udg_point )
call EnumItemsInRectBJ( GetPlayableMapRect(), function Trig_Initialization_JASS_Func173A )
call ShowUnitHide( gg_unit_n01J_0014 )
call StartTimerBJ( udg_CreepsAll, false, 25.00 )
call DestroyTimer(t2)
set t2=null
call DestroyTrigger( gg_trg_Initialization_JASS_FULL )
endfunction
function Initialization takes nothing returns nothing
local timer t=GetExpiredTimer()
local timer t2=CreateTimer()
call DestroyTimer(t)
set udg_Circle[1] = gg_unit_n002_0092
set udg_Circle[2] = gg_unit_n002_0094
set udg_Circle[3] = gg_unit_n002_0096
set udg_Circle[4] = gg_unit_n002_0098
set udg_Circle[5] = gg_unit_n002_0100
set udg_Circle[6] = gg_unit_n002_0102
set udg_Circle[7] = gg_unit_n002_0091
set udg_Circle[8] = gg_unit_n002_0093
set udg_Circle[9] = gg_unit_n002_0095
set udg_Circle[10] = gg_unit_n002_0097
set udg_Circle[11] = gg_unit_n002_0099
set udg_Circle[12] = gg_unit_n002_0101
call EnumDestructablesInRectAll( GetEntireMapRect(), function Trig_Initialization_JASS_Func146A )
call ForForce( GetPlayersAll(), function Trig_Initialization_JASS_Func147A )
call SetPlayerFlagBJ( PLAYER_STATE_GIVES_BOUNTY, true, Player(bj_PLAYER_NEUTRAL_VICTIM) )
call SetPlayerFlagBJ( PLAYER_STATE_GIVES_BOUNTY, true, Player(bj_PLAYER_NEUTRAL_EXTRA) )
call StartTimerBJ( udg_TIMER44, false, 5.00 )
call StartTimerBJ( udg_Timer3, false, 4.00 )
call SetUnitUserData( gg_unit_h016_0022, 0 )
call StartTimerBJ( udg_LOOP1, false, 400.00 )
call StartTimerBJ( udg_TimestRing, false, 600.00 )
call TriggerExecute( gg_trg_Unholy_INVULNERABLE )
call TriggerExecute( gg_trg_Holy_INVULNERABLE )
call TriggerExecute( gg_trg_Var )
call TimerStart(t2,2,false,function InitializationEnd)
set t=null
endfunction
function Trig_Initialization_JASS_Actions takes nothing returns nothing
local timer t = CreateTimer()
set udg_AllHeroArray[1] = 'H005'
set udg_AllHeroArray[2] = 'H00W'
set udg_AllHeroArray[3] = 'H00T'
set udg_AllHeroArray[4] = 'Hblm'
set udg_AllHeroArray[5] = 'H00U'
set udg_AllHeroArray[6] = 'Oshd'
set udg_AllHeroArray[7] = 'H00V'
set udg_AllHeroArray[8] = 'Hamg'
set udg_AllHeroArray[9] = 'Hpal'
set udg_AllHeroArray[10] = 'Hmkg'
set udg_AllHeroArray[11] = 'Ntin'
set udg_AllHeroArray[12] = 'Nalc'
set udg_AllHeroArray[13] = 'Nbst'
set udg_AllHeroArray[14] = 'Npbm'
set udg_AllHeroArray[15] = 'H025'
set udg_AllHeroArray[16] = 'Emoo'
set udg_AllHeroArray[17] = 'H02U'
set udg_AllHeroArray[18] = 'O001'
set udg_AllHeroArray[19] = 'Ewar'
set udg_AllHeroArray[20] = 'H00Y'
set udg_AllHeroArray[21] = 'H012'
set udg_AllHeroArray[22] = 'H01G'
set udg_AllHeroArray[23] = 'H01F'
set udg_AllHeroArray[24] = 'H004'
set udg_AllHeroArray[25] = 'H00Z'
set udg_AllHeroArray[26] = 'H013'
set udg_AllHeroArray[27] = 'Edem'
set udg_AllHeroArray[28] = 'U00B'
set udg_AllHeroArray[29] = 'Nfir'
set udg_AllHeroArray[30] = 'Nplh'
set udg_AllHeroArray[31] = 'Udea'
set udg_AllHeroArray[32] = 'N00N'
set udg_AllHeroArray[33] = 'Obla'
set udg_AllHeroArray[34] = 'Ucrl'
set udg_AllHeroArray[35] = 'H00B'
set udg_AllHeroArray[36] = 'H01H'
set udg_AllHeroArray[37] = 'H003'
set udg_AllHeroArray[38] = 'Otch'
set udg_AllHeroArray[39] = 'H006'
set udg_AllHeroArray[40] = 'H00C'
set udg_AllHeroArray[41] = 'Udre'
set udg_AllHeroArray[42] = 'N00A'
set udg_AllHeroArray[43] = 'Nngs'
set udg_AllHeroArray[44] = 'Ulic'
set udg_AllHeroArray[45] = 'Nbrn'
set udg_AllHeroArray[46] = 'H00X'
set udg_AllHeroArray[47] = 'H01D'
set udg_AllHeroArray[48] = 'Ofar'
set udg_AllHeroArray[49] = 'U00D'
set udg_AllHeroArray[50] = 'U00H'
set udg_AllHeroArray[51] = 'U00L'
set udg_AllHeroArray[52] = 'U00M'
set udg_AllHeroArray[53] = 'U00N'
set udg_AllHeroArray[54] = 'U00O'
set udg_AllHeroArray[55] = 'U00P'
set udg_AllHeroArray[56] = 'U00R'
set udg_AllHeroArray[57] = 'U00Q'
set udg_AllHeroArray[58] = 'O012'
set udg_AllHeroArray[59] = 'U00T'
set udg_AllHeroArray[60] = 'U002'
set udg_AllHeroArray[61] = 'U00U'
set udg_AllHeroArray[62] = 'U00V'
set udg_AllHeroArray[63] = 'H010'
set udg_AllHeroArray[64] = 'H011'
set udg_AllHeroArray[65] = 'U00W'
set udg_AllHeroArray[66] = 'H01I'
set udg_AllHeroArray[67] = 'H01J'
set udg_AllHeroArray[68] = 'H026'
set udg_AllHeroArray[69] = 'H027'
set udg_AllHeroArray[70] = 'H028'
set udg_AllHeroArray[71] = 'U00X'
set udg_AllHeroArray[72] = 'H029'
set udg_AllHeroArray[73] = 'U012'
set udg_AllHeroArray[74] = 'O000'
set udg_AllHeroArray[75] = 'U00Z'
set udg_AllHeroArray[76] = 'H02B'
set udg_AllHeroArray[77] = 'O00V'
set udg_AllHeroArray[78] = 'H02D'
set udg_AllHeroArray[79] = 'U011'
set udg_AllHeroArray[80] = 'H02A'
set udg_AllHeroArray[81] = 'O00U'
set udg_AllHeroArray[82] = 'U013'
set udg_AllHeroArray[83] = 'H02E'
set udg_AllHeroArray[84] = 'U010'
set udg_AllHeroArray[85] = 'H02H'
set udg_AllHeroArray[86] = 'U00Y'
set udg_AllHeroArray[87] = 'H02G'
set udg_AllHeroArray[88] = 'H02F'
set udg_AllHeroArray[89] = 'H02I'
set udg_AllHeroArray[90] = 'Ekee'
set udg_AllHeroArray[91] = 'U015'
set udg_AllHeroArray[92] = 'H02J'
set udg_AllHeroArray[93] = 'H02K'
set udg_AllHeroArray[94] = 'O00W'
set udg_AllHeroArray[95] = 'U017'
set udg_AllHeroArray[96] = 'H02L'
set udg_AllHeroArray[97] = 'O00Y'
set udg_AllHeroArray[98] = 'H02M'
set udg_AllHeroArray[99] = 'H02N'
set udg_AllHeroArray[100] = 'O00Z'
set udg_AllHeroArray[101] = 'U01A'
set udg_AllHeroArray[102] = 'O010'
set udg_AllHeroArray[103] = 'H02P'
set udg_AllHeroArray[104] = 'U01B'
set udg_AllHeroArray[105] = 'H02Q'
set udg_AllHeroArray[106] = 'H02W'
set udg_AllHeroArray[107] = 'O011'
set udg_AllHeroArray[108] = 'H02X'
set udg_AllHeroArray[109] = 'H02Y'
set udg_AllHeroArray[110] = 'H02Z'
set udg_AllHeroArray[111] = 'U00S'
set udg_AllHeroArray[112] = 'H030'
set udg_AllHeroArray[113] = 'U01C'
set udg_AllHeroArray[114] = 'H032'
set udg_AllHeroArray[115] = 'H033'
set udg_AllHeroArray[116] = 'U01E'
set udg_AllHeroArray[117] = 'U01F'
set udg_AllHeroArray[118] = 'U01G'
set udg_AllHeroArray[119] = 'U01J'
set udg_AllHeroArray[120] = 'U01K'
set udg_AllHeroArray[121] = 'U01L'
set udg_AllHeroArray[122] = 'U01M'
set udg_AllHeroArray[123] = 'U01N'
set udg_AllHeroArray[124] = 'U01P'
set udg_AllHeroArray[125] = 'U01Q'
set udg_AllHeroArray[126] = 'H03L'
set udg_AllHeroArray[127] = 'U01T'
set udg_MyNewSide[7] = "Dark"
set udg_Trees[13] = 10
set udg_Trees[14] = 10
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 14
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
call SetPlayerAbilityAvailableBJ( false, 'A15C', ConvertedPlayer(GetForLoopIndexA()) )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
set udg_Flag = gg_unit_n03I_0110
call ShowUnitHide( gg_unit_n03I_0110 )
call SetPlayerStateBJ( Player(0), PLAYER_STATE_RESOURCE_FOOD_USED, 0 )
set udg_g = GetUnitsInRectOfPlayer(GetPlayableMapRect(), Player(0))
call ForGroupBJ( udg_g, function Trig_Initialization_JASS_Func121A )
set udg_g = GetUnitsInRectOfPlayer(GetPlayableMapRect(), Player(6))
call ForGroupBJ( udg_g, function Trig_Initialization_JASS_Func123A )
call SetUnitOwner( gg_unit_n002_0092, Player(0), true )
call SetUnitOwner( gg_unit_n002_0091, Player(6), true )
call SetPlayerColorBJ( Player(bj_PLAYER_NEUTRAL_VICTIM), PLAYER_COLOR_RED, true )
call SetPlayerColorBJ( Player(bj_PLAYER_NEUTRAL_EXTRA), PLAYER_COLOR_GREEN, true )
call TimerStart(t,1,false,function Initialization)
set t=null
endfunction
//===========================================================================
function InitTrig_Initialization_JASS_FULL takes nothing returns nothing
set gg_trg_Initialization_JASS_FULL = CreateTrigger( )
call TriggerRegisterTimerEventSingle( gg_trg_Initialization_JASS_FULL, 0.50 )
call TriggerAddAction( gg_trg_Initialization_JASS_FULL, function Trig_Initialization_JASS_Actions )
endfunction
//TESH.scrollpos=31
//TESH.alwaysfold=0
//***************************************************************************
//* *
//* charges connect system v 1.0b *
//* made by Warden | 22.08.2007 *
//* www.xgm.ru | www.mdmaking.ru *
//* *
//***************************************************************************
function ccs_conditions takes nothing returns boolean
local integer id=GetIssuedOrderId()
return id>852001 and id<852008
endfunction
function ccs_o2slot takes integer o returns integer
if o==852002 then
return 0
elseif o==852003 then
return 1
elseif o==852004 then
return 2
elseif o==852005 then
return 3
elseif o==852006 then
return 4
else
return 5
endif
endfunction
function ccs_actions takes nothing returns nothing
local unit u=GetTriggerUnit()
local integer o=GetIssuedOrderId()
local integer slot=ccs_o2slot(o)
local item it1=GetOrderTargetItem()
local item it2=UnitItemInSlot(u,slot)
local integer it1c=GetItemCharges(it1)
local integer it2c=GetItemCharges(it2)
if GetItemTypeId(it1)==GetItemTypeId(it2) and it2c!=0 and it1!=it2 then
call RemoveItem(it1)
call SetItemCharges(it2,it1c+it2c)
endif
set u=null
set it1=null
set it2=null
endfunction
//===========================================================================
function InitTrig_ccs takes nothing returns nothing
set gg_trg_ccs=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(gg_trg_ccs,EVENT_PLAYER_UNIT_ISSUED_TARGET_ORDER)
call TriggerAddCondition(gg_trg_ccs,Condition(function ccs_conditions))
call TriggerAddAction(gg_trg_ccs,function ccs_actions)
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function DestroyEffect2 takes nothing returns nothing
local timer t=GetExpiredTimer()
local effect e=LoadEffectHandle(udg_Hash,GetHandleId(t),4)
set udg_se = e
call DestroyEffect( udg_se )
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
set e=null
endfunction
function Trig_destroyspeceffect_Actions takes nothing returns nothing
local timer t = CreateTimer()
local effect e = GetLastCreatedEffectBJ()
call SaveEffectHandle(udg_Hash,GetHandleId(t),4,e)
call TimerStart(t,2,false,function DestroyEffect2)
set t=null
set e=null
endfunction
//===========================================================================
function InitTrig_destroyspeceffect takes nothing returns nothing
set gg_trg_destroyspeceffect = CreateTrigger( )
set udg_Hash=InitHashtable()
call TriggerAddAction( gg_trg_destroyspeceffect, function Trig_destroyspeceffect_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function DestroyDestructible2 takes nothing returns nothing
local timer t=GetExpiredTimer()
local destructable d=LoadDestructableHandle(udg_Hash,GetHandleId(t),5)
set udg_de = d
call RemoveDestructable( udg_de )
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
set d=null
endfunction
function Trig_destroydestructible_Actions takes nothing returns nothing
local timer t = CreateTimer()
local destructable d = GetLastCreatedDestructable()
set udg_de = d
call SetDestructableLife( udg_de, 0.00 )
call SaveDestructableHandle(udg_Hash,GetHandleId(t),5,d)
call TimerStart(t,1,false,function DestroyDestructible2)
set t=null
set d=null
endfunction
//===========================================================================
function InitTrig_destroydestructible takes nothing returns nothing
set gg_trg_destroydestructible = CreateTrigger( )
set udg_Hash=InitHashtable()
call TriggerAddAction( gg_trg_destroydestructible, function Trig_destroydestructible_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_FLAG_Conditions takes nothing returns boolean
if ( not ( GetTriggerUnit() == udg_Flag ) ) then
return false
endif
if ( not ( GetOwningPlayer(GetKillingUnitBJ()) != Player(PLAYER_NEUTRAL_AGGRESSIVE) ) ) then
return false
endif
return true
endfunction
function NEWFLAG takes nothing returns nothing
local timer t=GetExpiredTimer()
call UnitRemoveAbilityBJ( 'Avul', udg_Flag )
call EnableTrigger( gg_trg_FLAG )
call DestroyTimer(t)
set t=null
endfunction
function Trig_FLAG_Func007C takes nothing returns boolean
if ( not ( IsPlayerAlly(GetOwningPlayer(GetKillingUnitBJ()), Player(bj_PLAYER_NEUTRAL_VICTIM)) == true ) ) then
return false
endif
return true
endfunction
function Trig_FLAG_Actions takes nothing returns nothing
local timer t = CreateTimer()
set udg_tpoint = GetUnitLoc(GetTriggerUnit())
call CreateNUnitsAtLoc( 1, 'n03I', GetOwningPlayer(GetKillingUnitBJ()), udg_tpoint, 50.00 )
set udg_Flag = GetLastCreatedUnit()
call UnitAddAbilityBJ( 'Avul', udg_Flag )
if ( Trig_FLAG_Func007C() ) then
set udg_FlagController = 1
call DisplayTextToForce( GetPlayersAll(), ( ( ( udg_ColorsPlayers[GetConvertedPlayerId(GetOwningPlayer(GetKillingUnitBJ()))] + GetPlayerName(GetOwningPlayer(GetKillingUnitBJ())) ) + "|r" ) + " has received control over the Flag!" ) )
else
set udg_FlagController = 2
call DisplayTextToForce( GetPlayersAll(), ( ( ( udg_ColorsPlayers[GetConvertedPlayerId(GetOwningPlayer(GetKillingUnitBJ()))] + GetPlayerName(GetOwningPlayer(GetKillingUnitBJ())) ) + "|r" ) + " has received control over the Flag!" ) )
endif
call RemoveLocation (udg_tpoint)
call DisableTrigger( GetTriggeringTrigger() )
call TimerStart(t,10,false,function NEWFLAG)
set t=null
endfunction
//===========================================================================
function InitTrig_FLAG takes nothing returns nothing
set gg_trg_FLAG = CreateTrigger( )
call DisableTrigger( gg_trg_FLAG )
call TriggerRegisterAnyUnitEventBJ( gg_trg_FLAG, EVENT_PLAYER_UNIT_DEATH )
call TriggerAddCondition( gg_trg_FLAG, Condition( function Trig_FLAG_Conditions ) )
call TriggerAddAction( gg_trg_FLAG, function Trig_FLAG_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_Vorpal_Conditions takes nothing returns boolean
if ( not ( GetItemTypeId(GetManipulatedItem()) == 'I02J' ) ) then
return false
endif
return true
endfunction
function VorpalOn takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
set udg_unit = u
call ModifyHeroStat( bj_HEROSTAT_AGI, udg_unit, bj_MODIFYMETHOD_ADD, 16 )
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
set u=null
endfunction
function Trig_Vorpal_Actions takes nothing returns nothing
local timer t = CreateTimer()
local unit u = GetTriggerUnit()
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u)
call TimerStart(t,0.1,false,function VorpalOn)
set t = null
set u = null
endfunction
//===========================================================================
function InitTrig_Vorpal takes nothing returns nothing
set gg_trg_Vorpal = CreateTrigger( )
set udg_Hash=InitHashtable()
call TriggerRegisterAnyUnitEventBJ( gg_trg_Vorpal, EVENT_PLAYER_UNIT_PICKUP_ITEM )
call TriggerAddCondition( gg_trg_Vorpal, Condition( function Trig_Vorpal_Conditions ) )
call TriggerAddAction( gg_trg_Vorpal, function Trig_Vorpal_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_Vorpal_off_Conditions takes nothing returns boolean
if ( not ( GetItemTypeId(GetManipulatedItem()) == 'I02J' ) ) then
return false
endif
return true
endfunction
function VorpalOff takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
set udg_unit = u
call ModifyHeroStat( bj_HEROSTAT_AGI, udg_unit, bj_MODIFYMETHOD_SUB, 16 )
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
endfunction
function Trig_Vorpal_off_Actions takes nothing returns nothing
local timer t = CreateTimer()
local unit u = GetTriggerUnit()
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u)
call TimerStart(t,0.1,false,function VorpalOff)
set t = null
set u=null
endfunction
//===========================================================================
function InitTrig_Vorpal_off takes nothing returns nothing
set gg_trg_Vorpal_off = CreateTrigger( )
set udg_Hash=InitHashtable()
call TriggerRegisterAnyUnitEventBJ( gg_trg_Vorpal_off, EVENT_PLAYER_UNIT_DROP_ITEM )
call TriggerAddCondition( gg_trg_Vorpal_off, Condition( function Trig_Vorpal_off_Conditions ) )
call TriggerAddAction( gg_trg_Vorpal_off, function Trig_Vorpal_off_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_Dalaran_Conditions takes nothing returns boolean
if ( not ( GetItemTypeId(GetManipulatedItem()) == 'I05O' ) ) then
return false
endif
return true
endfunction
function DalaranOn takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
set udg_unit = u
call ModifyHeroStat( bj_HEROSTAT_INT, udg_unit, bj_MODIFYMETHOD_ADD, 10 )
call ModifyHeroStat( bj_HEROSTAT_AGI, udg_unit, bj_MODIFYMETHOD_ADD, 10 )
call ModifyHeroStat( bj_HEROSTAT_STR, udg_unit, bj_MODIFYMETHOD_ADD, 10 )
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
endfunction
function Trig_Dalaran_Actions takes nothing returns nothing
local timer t = CreateTimer()
local unit u = GetTriggerUnit()
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u)
call TimerStart(t,0.1,false,function DalaranOn)
set t = null
set u=null
endfunction
//===========================================================================
function InitTrig_Dalaran takes nothing returns nothing
set gg_trg_Dalaran = CreateTrigger( )
set udg_Hash=InitHashtable()
call TriggerRegisterAnyUnitEventBJ( gg_trg_Dalaran, EVENT_PLAYER_UNIT_PICKUP_ITEM )
call TriggerAddCondition( gg_trg_Dalaran, Condition( function Trig_Dalaran_Conditions ) )
call TriggerAddAction( gg_trg_Dalaran, function Trig_Dalaran_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_Dalaran_off_Conditions takes nothing returns boolean
if ( not ( GetItemTypeId(GetManipulatedItem()) == 'I05O' ) ) then
return false
endif
return true
endfunction
function DalaranOff takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
set udg_unit = u
call ModifyHeroStat( bj_HEROSTAT_INT, udg_unit, bj_MODIFYMETHOD_SUB, 10 )
call ModifyHeroStat( bj_HEROSTAT_AGI, udg_unit, bj_MODIFYMETHOD_SUB, 10 )
call ModifyHeroStat( bj_HEROSTAT_STR, udg_unit, bj_MODIFYMETHOD_SUB, 10 )
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
endfunction
function Trig_Dalaran_off_Actions takes nothing returns nothing
local timer t = CreateTimer()
local unit u = GetTriggerUnit()
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u)
call TimerStart(t,0.1,false,function DalaranOff)
set u=null
set t = null
endfunction
//===========================================================================
function InitTrig_Dalaran_off takes nothing returns nothing
set gg_trg_Dalaran_off = CreateTrigger( )
set udg_Hash=InitHashtable()
call TriggerRegisterAnyUnitEventBJ( gg_trg_Dalaran_off, EVENT_PLAYER_UNIT_DROP_ITEM )
call TriggerAddCondition( gg_trg_Dalaran_off, Condition( function Trig_Dalaran_off_Conditions ) )
call TriggerAddAction( gg_trg_Dalaran_off, function Trig_Dalaran_off_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_MOON_guard_Conditions takes nothing returns boolean
if ( not ( GetItemTypeId(GetManipulatedItem()) == 'I05K' ) ) then
return false
endif
return true
endfunction
function MoonGuardOn takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
set udg_unit = u
call ModifyHeroStat( bj_HEROSTAT_AGI, udg_unit, bj_MODIFYMETHOD_ADD, 40 )
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
endfunction
function Trig_MOON_guard_Actions takes nothing returns nothing
local timer t = CreateTimer()
local unit u = GetTriggerUnit()
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u)
call TimerStart(t,0.1,false,function MoonGuardOn)
set u=null
set t = null
endfunction
//===========================================================================
function InitTrig_MOON_guard takes nothing returns nothing
set gg_trg_MOON_guard = CreateTrigger( )
set udg_Hash=InitHashtable()
call TriggerRegisterAnyUnitEventBJ( gg_trg_MOON_guard, EVENT_PLAYER_UNIT_PICKUP_ITEM )
call TriggerAddCondition( gg_trg_MOON_guard, Condition( function Trig_MOON_guard_Conditions ) )
call TriggerAddAction( gg_trg_MOON_guard, function Trig_MOON_guard_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_MOON_guard_off_Conditions takes nothing returns boolean
if ( not ( GetItemTypeId(GetManipulatedItem()) == 'I05K' ) ) then
return false
endif
return true
endfunction
function MoonGuardOff takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
set udg_unit = u
call ModifyHeroStat( bj_HEROSTAT_AGI, udg_unit, bj_MODIFYMETHOD_SUB, 40 )
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
endfunction
function Trig_MOON_guard_off_Actions takes nothing returns nothing
local timer t = CreateTimer()
local unit u = GetTriggerUnit()
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u)
call TimerStart(t,0.1,false,function MoonGuardOff)
set t = null
set u=null
endfunction
//===========================================================================
function InitTrig_MOON_guard_off takes nothing returns nothing
set gg_trg_MOON_guard_off = CreateTrigger( )
set udg_Hash=InitHashtable()
call TriggerRegisterAnyUnitEventBJ( gg_trg_MOON_guard_off, EVENT_PLAYER_UNIT_DROP_ITEM )
call TriggerAddCondition( gg_trg_MOON_guard_off, Condition( function Trig_MOON_guard_off_Conditions ) )
call TriggerAddAction( gg_trg_MOON_guard_off, function Trig_MOON_guard_off_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_MAGIC_GUARD_Conditions takes nothing returns boolean
if ( not ( GetItemTypeId(GetManipulatedItem()) == 'I021' ) ) then
return false
endif
return true
endfunction
function MagicGuardOn takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
set udg_unit = u
call ModifyHeroStat( bj_HEROSTAT_INT, udg_unit, bj_MODIFYMETHOD_ADD, 40 )
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
endfunction
function Trig_MAGIC_GUARD_Actions takes nothing returns nothing
local timer t = CreateTimer()
local unit u = GetTriggerUnit()
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u)
call TimerStart(t,0.1,false,function MagicGuardOn)
set t = null
set u=null
endfunction
//===========================================================================
function InitTrig_MAGIC_GUARD takes nothing returns nothing
set gg_trg_MAGIC_GUARD = CreateTrigger( )
set udg_Hash=InitHashtable()
call TriggerRegisterAnyUnitEventBJ( gg_trg_MAGIC_GUARD, EVENT_PLAYER_UNIT_PICKUP_ITEM )
call TriggerAddCondition( gg_trg_MAGIC_GUARD, Condition( function Trig_MAGIC_GUARD_Conditions ) )
call TriggerAddAction( gg_trg_MAGIC_GUARD, function Trig_MAGIC_GUARD_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_MAGIC_GUARD_off_Conditions takes nothing returns boolean
if ( not ( GetItemTypeId(GetManipulatedItem()) == 'I021' ) ) then
return false
endif
return true
endfunction
function MagicGuardOff takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
set udg_unit = u
call ModifyHeroStat( bj_HEROSTAT_INT, udg_unit, bj_MODIFYMETHOD_SUB, 40 )
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
endfunction
function Trig_MAGIC_GUARD_off_Actions takes nothing returns nothing
local timer t = CreateTimer()
local unit u = GetTriggerUnit()
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u)
call TimerStart(t,0.1,false,function MagicGuardOff)
set t = null
set u=null
endfunction
//===========================================================================
function InitTrig_MAGIC_GUARD_off takes nothing returns nothing
set gg_trg_MAGIC_GUARD_off = CreateTrigger( )
set udg_Hash=InitHashtable()
call TriggerRegisterAnyUnitEventBJ( gg_trg_MAGIC_GUARD_off, EVENT_PLAYER_UNIT_DROP_ITEM )
call TriggerAddCondition( gg_trg_MAGIC_GUARD_off, Condition( function Trig_MAGIC_GUARD_off_Conditions ) )
call TriggerAddAction( gg_trg_MAGIC_GUARD_off, function Trig_MAGIC_GUARD_off_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_reCOOL_Conditions takes nothing returns boolean
if ( not ( GetUnitTypeId(GetSpellAbilityUnit()) != 'n021' ) ) then
return false
endif
return true
endfunction
function WTFWTF takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u5=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
set udg_unit = u5
call UnitResetCooldown( udg_unit )
call SetUnitManaPercentBJ( udg_unit, 100 )
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
set u5=null
endfunction
function Trig_reCOOL_Actions takes nothing returns nothing
local timer t = CreateTimer()
local unit u5 = GetTriggerUnit()
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u5)
call TimerStart(t,0.02,false,function WTFWTF)
set t=null
set u5=null
endfunction
//===========================================================================
function InitTrig_reCOOL takes nothing returns nothing
set gg_trg_reCOOL = CreateTrigger( )
call DisableTrigger( gg_trg_reCOOL )
set udg_Hash=InitHashtable()
call TriggerRegisterAnyUnitEventBJ( gg_trg_reCOOL, EVENT_PLAYER_UNIT_SPELL_CAST )
call TriggerRegisterAnyUnitEventBJ( gg_trg_reCOOL, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_reCOOL, Condition( function Trig_reCOOL_Conditions ) )
call TriggerAddAction( gg_trg_reCOOL, function Trig_reCOOL_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_BLADE_fury_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'AOww' ) ) then
return false
endif
return true
endfunction
function BladeFury2 takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u5=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
set udg_unit = u5
call SetUnitMoveSpeed( udg_unit, GetUnitDefaultMoveSpeed(udg_unit) )
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
set u5=null
endfunction
function Trig_BLADE_fury_Actions takes nothing returns nothing
local unit u5 = GetTriggerUnit()
local timer t = CreateTimer()
set udg_unit = u5
call SetUnitMoveSpeed( GetTriggerUnit(), 522.00 )
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u5)
call TimerStart(t,4,false,function BladeFury2)
set t=null
set u5=null
endfunction
//===========================================================================
function InitTrig_BLADE_fury_JASS takes nothing returns nothing
set gg_trg_BLADE_fury_JASS = CreateTrigger( )
set udg_Hash=InitHashtable()
call TriggerRegisterAnyUnitEventBJ( gg_trg_BLADE_fury_JASS, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_BLADE_fury_JASS, Condition( function Trig_BLADE_fury_Conditions ) )
call TriggerAddAction( gg_trg_BLADE_fury_JASS, function Trig_BLADE_fury_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_steal_corpse_JASS_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A0F9' ) ) then
return false
endif
return true
endfunction
function StealCorpse2 takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u5=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
local integer i=LoadInteger(udg_Hash,GetHandleId(t),3)
set udg_unit = u5
set i=i+1
call SaveInteger(udg_Hash,GetHandleId(t),3,i)
if(i<3)then
set udg_tpoint = GetUnitLoc(udg_unit)
call AddSpecialEffectLocBJ( udg_tpoint, "Objects\\Spawnmodels\\Undead\\UndeadDissipate\\UndeadDissipate.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call RemoveLocation (udg_tpoint)
else
call PauseTimer(t)
call DestroyTimer(t)
call FlushChildHashtable(udg_Hash,GetHandleId(t))
endif
set t=null
set u5=null
endfunction
function Trig_steal_corpse_JASS_Actions takes nothing returns nothing
local timer t = CreateTimer()
local unit u5 = GetTriggerUnit()
local integer i=0
set udg_tpoint = GetUnitLoc(udg_unit)
call AddSpecialEffectLocBJ( udg_tpoint, "Objects\\Spawnmodels\\Undead\\UndeadDissipate\\UndeadDissipate.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call RemoveLocation (udg_tpoint)
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u5)
call SaveInteger(udg_Hash,GetHandleId(t),3,i)
call TimerStart(t,3,true,function StealCorpse2)
set t=null
set u5=null
endfunction
//===========================================================================
function InitTrig_steal_corpse_JASS takes nothing returns nothing
set gg_trg_steal_corpse_JASS = CreateTrigger( )
set udg_Hash=InitHashtable()
call TriggerRegisterAnyUnitEventBJ( gg_trg_steal_corpse_JASS, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_steal_corpse_JASS, Condition( function Trig_steal_corpse_JASS_Conditions ) )
call TriggerAddAction( gg_trg_steal_corpse_JASS, function Trig_steal_corpse_JASS_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_FireVictim_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A0JB' ) ) then
return false
endif
return true
endfunction
function FireVictim2 takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u5=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
set udg_unit = u5
call UnitRemoveAbilityBJ( 'A0K6', udg_unit )
call UnitRemoveAbilityBJ( 'A0K7', udg_unit )
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
set u5=null
endfunction
function Trig_FireVictim_Actions takes nothing returns nothing
local unit u5 = GetSpellTargetUnit()
local timer t = CreateTimer()
local real r
set udg_unit = u5
call UnitAddAbilityBJ( 'A0K6', udg_unit )
call UnitAddAbilityBJ( 'A0K7', udg_unit )
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u5)
set r = ( 3.00 + I2R(GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetTriggerUnit())) )
call TimerStart(t,r,false,function FireVictim2)
set t=null
set u5=null
endfunction
//===========================================================================
function InitTrig_FireVictim_JASS takes nothing returns nothing
set gg_trg_FireVictim_JASS = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_FireVictim_JASS, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_FireVictim_JASS, Condition( function Trig_FireVictim_Conditions ) )
call TriggerAddAction( gg_trg_FireVictim_JASS, function Trig_FireVictim_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_IncomingRanes_Conditions takes nothing returns boolean
if ( not ( UnitHasItemOfTypeBJ(GetAttacker(), 'I06H') == true ) ) then
return false
endif
if ( not ( IsUnitType(GetAttackedUnitBJ(), UNIT_TYPE_HERO) == true ) ) then
return false
endif
return true
endfunction
function IncomingRanes2 takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u5=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
set udg_unit = u5
call ModifyHeroStat( bj_HEROSTAT_STR, udg_unit, bj_MODIFYMETHOD_ADD, 1 )
set u5 = null
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
set u5=null
endfunction
function Trig_IncomingRanes_Actions takes nothing returns nothing
local unit u5 = GetAttackedUnitBJ()
local timer t = CreateTimer()
set udg_unit = u5
call AddSpecialEffectTargetUnitBJ( "origin", udg_unit, "Abilities\\Spells\\Human\\slow\\slowtarget.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call ModifyHeroStat( bj_HEROSTAT_STR, udg_unit, bj_MODIFYMETHOD_SUB, 1 )
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u5)
call TimerStart(t,5,false,function IncomingRanes2)
set t=null
set u5=null
endfunction
//===========================================================================
function InitTrig_IncomingRanes_JASS takes nothing returns nothing
set gg_trg_IncomingRanes_JASS = CreateTrigger( )
set udg_Hash=InitHashtable()
call TriggerRegisterAnyUnitEventBJ( gg_trg_IncomingRanes_JASS, EVENT_PLAYER_UNIT_ATTACKED )
call TriggerAddCondition( gg_trg_IncomingRanes_JASS, Condition( function Trig_IncomingRanes_Conditions ) )
call TriggerAddAction( gg_trg_IncomingRanes_JASS, function Trig_IncomingRanes_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_ManaStop_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A0WH' ) ) then
return false
endif
if ( not ( UnitHasBuffBJ(GetSpellTargetUnit(), 'B05K') == false ) ) then
return false
endif
return true
endfunction
function ManaStop2 takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u5=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
set udg_unit = u5
call UnitRemoveAbilityBJ( 'A0WN', udg_unit )
call UnitRemoveAbilityBJ( 'A0WI', udg_unit )
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
set u5=null
endfunction
function Trig_ManaStop_Actions takes nothing returns nothing
local unit u5 = GetSpellTargetUnit()
local timer t = CreateTimer()
local real r
set udg_unit = u5
call UnitAddAbilityBJ( 'A0WI', udg_unit )
call UnitAddAbilityBJ( 'A0WN', udg_unit )
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u5)
set r = ( 1.00 + I2R(GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetTriggerUnit())) )
call TimerStart(t,r,false,function ManaStop2)
set t=null
set u5=null
endfunction
//===========================================================================
function InitTrig_ManaStop_JASS takes nothing returns nothing
set gg_trg_ManaStop_JASS = CreateTrigger( )
set udg_Hash=InitHashtable()
call TriggerRegisterAnyUnitEventBJ( gg_trg_ManaStop_JASS, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_ManaStop_JASS, Condition( function Trig_ManaStop_Conditions ) )
call TriggerAddAction( gg_trg_ManaStop_JASS, function Trig_ManaStop_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_Ancient_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A0KS' ) ) then
return false
endif
return true
endfunction
function Ancient2 takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u5=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
set udg_unit = u5
call UnitRemoveAbilityBJ( 'A0PE', udg_unit )
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
set u5=null
endfunction
function Trig_Ancient_Actions takes nothing returns nothing
local timer t = CreateTimer()
local unit u5 = GetTriggerUnit()
local real r
call UnitAddAbilityBJ( 'A0PE', GetTriggerUnit() )
set r = ( 40.00 * I2R(GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetTriggerUnit())) )
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u5)
call TimerStart(t,r,false,function Ancient2)
set t=null
set u5=null
endfunction
//===========================================================================
function InitTrig_Ancient_JASS takes nothing returns nothing
set gg_trg_Ancient_JASS = CreateTrigger( )
set udg_Hash=InitHashtable()
call TriggerRegisterAnyUnitEventBJ( gg_trg_Ancient_JASS, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Ancient_JASS, Condition( function Trig_Ancient_Conditions ) )
call TriggerAddAction( gg_trg_Ancient_JASS, function Trig_Ancient_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_IceBraves_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A0ON' ) ) then
return false
endif
if ( not ( UnitHasBuffBJ(GetTriggerUnit(), 'B053') == false ) ) then
return false
endif
return true
endfunction
function IceBraves2 takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u5=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
set udg_unit = u5
call UnitRemoveAbilityBJ( 'A0NY', udg_unit )
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
set u5=null
endfunction
function Trig_IceBraves_Actions takes nothing returns nothing
local timer t = CreateTimer()
local unit u5 = GetTriggerUnit()
call UnitAddAbilityBJ( 'A0NY', GetTriggerUnit() )
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u5)
call TimerStart(t,27,false,function IceBraves2)
set t=null
set u5=null
endfunction
//===========================================================================
function InitTrig_IceBraves_JASS takes nothing returns nothing
set gg_trg_IceBraves_JASS = CreateTrigger( )
set udg_Hash=InitHashtable()
call TriggerRegisterAnyUnitEventBJ( gg_trg_IceBraves_JASS, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_IceBraves_JASS, Condition( function Trig_IceBraves_Conditions ) )
call TriggerAddAction( gg_trg_IceBraves_JASS, function Trig_IceBraves_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_KillHimself_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A0JG' ) ) then
return false
endif
return true
endfunction
function KillHimself2 takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u5=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
set udg_unit = u5
call KillUnit( udg_unit )
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
set u5=null
endfunction
function Trig_KillHimself_Func002002003 takes nothing returns boolean
return ( IsUnitAlly(GetFilterUnit(), GetOwningPlayer(GetTriggerUnit())) == false )
endfunction
function Trig_KillHimself_Func003A takes nothing returns nothing
call UnitDamageTargetBJ( GetTriggerUnit(), GetEnumUnit(), ( ( I2R(GetHeroStatBJ(bj_HEROSTAT_STR, GetTriggerUnit(), false)) + ( I2R(GetHeroStatBJ(bj_HEROSTAT_AGI, GetTriggerUnit(), false)) + I2R(GetHeroStatBJ(bj_HEROSTAT_INT, GetTriggerUnit(), false)) ) ) * ( 1 + I2R(GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetTriggerUnit())) ) ), ATTACK_TYPE_CHAOS, DAMAGE_TYPE_UNIVERSAL )
call AddSpecialEffectTargetUnitBJ( "overhead", GetEnumUnit(), "Objects\\Spawnmodels\\Undead\\UCancelDeath\\UCancelDeath.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
endfunction
function Trig_KillHimself_Actions takes nothing returns nothing
local timer t = CreateTimer()
local unit u5 = GetTriggerUnit()
set udg_point = GetUnitLoc(GetTriggerUnit())
set udg_g = GetUnitsInRangeOfLocMatching(( 400.00 + ( 200.00 * I2R(GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetTriggerUnit())) ) ), udg_point, Condition(function Trig_KillHimself_Func002002003))
call ForGroupBJ( udg_g, function Trig_KillHimself_Func003A )
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u5)
call TimerStart(t,0.1,false,function KillHimself2)
set u5 = null
set t = null
endfunction
//===========================================================================
function InitTrig_KillHimself_JASS takes nothing returns nothing
set gg_trg_KillHimself_JASS = CreateTrigger( )
set udg_Hash=InitHashtable()
call TriggerRegisterAnyUnitEventBJ( gg_trg_KillHimself_JASS, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_KillHimself_JASS, Condition( function Trig_KillHimself_Conditions ) )
call TriggerAddAction( gg_trg_KillHimself_JASS, function Trig_KillHimself_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_Feast_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A16V' ) ) then
return false
endif
return true
endfunction
function Trig_FeastCond_Func001Func002001 takes nothing returns boolean
return ( GetTimeOfDay() >= 6.00 )
endfunction
function Trig_FeastCond_Func001Func002002 takes nothing returns boolean
return ( GetTimeOfDay() <= 17.59 )
endfunction
function Trig_FeastCond_Func001C takes nothing returns boolean
if ( not GetBooleanAnd( Trig_FeastCond_Func001Func002001(), Trig_FeastCond_Func001Func002002() ) ) then
return false
endif
return true
endfunction
function Feast2 takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u5=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
local integer i=LoadInteger(udg_Hash,GetHandleId(t),3)
set udg_unit = u5
set i=i+1
call SaveInteger(udg_Hash,GetHandleId(t),3,i)
if ( Trig_FeastCond_Func001C() ) then
else
call SetUnitManaBJ( udg_unit, ( GetUnitStateSwap(UNIT_STATE_MANA, udg_unit) + 4.00 ) )
endif
if(i<25)then
call SetUnitAbilityLevelSwapped( 'A13T', udg_unit, ( GetUnitAbilityLevelSwapped('A13T', udg_unit) + 1 ) )
else
call SetUnitAbilityLevelSwapped( 'A13T', udg_unit, 1 )
call PauseTimer(t)
call DestroyTimer(t)
call FlushChildHashtable(udg_Hash,GetHandleId(t))
endif
set t=null
set u5=null
endfunction
function Trig_Feast_Actions takes nothing returns nothing
local timer t = CreateTimer()
local unit u5 = GetTriggerUnit()
local integer i=0
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u5)
call SaveInteger(udg_Hash,GetHandleId(t),3,i)
call TimerStart(t,0.2,true,function Feast2)
set t=null
set u5=null
endfunction
//===========================================================================
function InitTrig_Feast_JASS takes nothing returns nothing
set gg_trg_Feast_JASS = CreateTrigger( )
set udg_Hash=InitHashtable()
call TriggerRegisterAnyUnitEventBJ( gg_trg_Feast_JASS, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Feast_JASS, Condition( function Trig_Feast_Conditions ) )
call TriggerAddAction( gg_trg_Feast_JASS, function Trig_Feast_Actions )
endfunction
function Trig_Diabolic_Edict_Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'A0NV'
endfunction
function Diabolic_Edict_Group takes nothing returns boolean
return GetBooleanAnd( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(GetTriggerUnit())) == true, IsUnitAliveBJ(GetFilterUnit()) == true )
endfunction
function Trig_Diabolic_Edict_Actions takes nothing returns nothing
local unit u = GetTriggerUnit()
local integer i = GetUnitAbilityLevelSwapped('A0NV', u)
local location l
local timer t = CreateTimer()
local unit v
call StartTimerBJ(t,false, 8)
loop
exitwhen TimerGetRemaining(t) <= 0.00
set l = GetUnitLoc(u)
set v = GroupPickRandomUnit(GetUnitsInRangeOfLocMatching(600.00, l, Condition(function Diabolic_Edict_Group)))
call DestroyEffect( AddSpecialEffectTarget( "Abilities\\Spells\\Undead\\FrostNova\\FrostNovaTarget.mdl", v, "origin" ))
call UnitDamageTarget( u, v, 14*i, false, true, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL, WEAPON_TYPE_AXE_MEDIUM_CHOP )
call RemoveLocation(l)
call TriggerSleepAction(.2)
endloop
call DestroyTimer(t)
set t = null
set u = null
set l = null
set v = null
endfunction
//===========================================================================
function InitTrig_IceWeather takes nothing returns nothing
set gg_trg_IceWeather = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_IceWeather, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_IceWeather, Condition( function Trig_Diabolic_Edict_Conditions ) )
call TriggerAddAction( gg_trg_IceWeather, function Trig_Diabolic_Edict_Actions )
endfunction
//TESH.scrollpos=32
//TESH.alwaysfold=0
// Map deprotected by DimonT, NETRAT and TheBloodiest
// http://dimon.xgm.ru/opendota/
// Visit our modmaking community at http://xgm.ru/
// A00Q = Nature's Attendants
function Trig_Enchantress_Spell_NatureAttendants_Conditions takes nothing returns boolean
if(not (GetSpellAbilityId()=='A00Q'))then
return false
endif
return true
endfunction
// A089 = Marker
function KUKU takes nothing returns boolean
if(IsUnitType(GetFilterUnit(),UNIT_TYPE_STRUCTURE))then
return false
endif
if(GetUnitLifePercent(GetFilterUnit())==100)then
return false
endif
if(IsUnitAliveBJ(GetFilterUnit())==false)then
return false
endif
if(GetUnitAbilityLevelSwapped('A089',GetFilterUnit())>0)then
return false
endif
if(IsUnitAlly(GetFilterUnit(),GetOwningPlayer(GetTriggerUnit()))==false)then
return false
endif
return true
endfunction
// A00Q = Nature's Attendants
function Trig_Enchantress_Spell_NatureAttendants_Actions takes nothing returns nothing
local location fww
local group fAA
local integer e88=1
local integer e99=10
local integer KVV
local integer Kww=1+2*GetUnitAbilityLevel(GetTriggerUnit(),'A00Q')
local unit KWW
loop
exitwhen e88>e99
set fww=GetUnitLoc(GetTriggerUnit())
set fAA=GetUnitsInRangeOfLocMatching(550.,fww,Condition(function KUKU))
set KVV=1
loop
exitwhen KVV>Kww
set KWW=GroupPickRandomUnit(fAA)
if(KWW!=null)then
call SetWidgetLife(KWW,GetUnitState(KWW,UNIT_STATE_LIFE)+90)
endif
set KVV=KVV+1
endloop
call PolledWait(1.)
call DestroyGroup(fAA)
call RemoveLocation(fww)
set e88=e88+1
endloop
endfunction
function StartTrigger_Enchantress_Spell_NatureAttendants takes nothing returns nothing
endfunction
function InitTrig_SpiritsofForest takes nothing returns nothing
set gg_trg_SpiritsofForest=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(gg_trg_SpiritsofForest,EVENT_PLAYER_UNIT_SPELL_EFFECT)
call TriggerAddCondition(gg_trg_SpiritsofForest,Condition(function Trig_Enchantress_Spell_NatureAttendants_Conditions))
call TriggerAddAction(gg_trg_SpiritsofForest,function Trig_Enchantress_Spell_NatureAttendants_Actions)
endfunction
//TESH.scrollpos=26
//TESH.alwaysfold=0
// OpenDota 6.41 deprotected by NETRAT and DioD
// inspired by everyone who posted on forum threads and feedback page
// based on OpenDota 6.32b, deprotected by DimonT, NETRAT and TheBloodiest
// http://dimon.xgm.ru/opendota/
// Visit our modmaking community at http://xgm.ru/
// Objects used:
// 'A089' = Marker (Nether Ward 4,Lightning Bolter,Nether Ward 3,Nether Ward 2,Vengeance Death caster,...)
// 'n021' = Spellcaster
// 'A0A0' = Dispersion (Spectre : Mercurial)
// DEBUG Trigger Number : 102
function DispersionFilter takes nothing returns boolean
return IsUnitType(GetFilterUnit(),UNIT_TYPE_STRUCTURE)==false and GetUnitAbilityLevel(GetFilterUnit(),'A089')==0 and IsUnitEnemy(GetFilterUnit(),GetOwningPlayer(GetTriggerUnit()))
endfunction
function DispersionDamage takes nothing returns nothing
local unit lfU=GetTriggerUnit()
local unit lFB=GetEnumUnit()
local real lf7=GetEventDamage()
call UnitDamageTarget(lfU,lFB,lf7,true,false,ATTACK_TYPE_HERO,DAMAGE_TYPE_MAGIC,WEAPON_TYPE_WHOKNOWS)
endfunction
function DispersionMain takes nothing returns nothing
local unit lfU=GetTriggerUnit()
local unit lJV
local group lEw=CreateGroup()
local real lf7=GetEventDamage()
local boolexpr lEW=Condition(function DispersionFilter)
local real lFa=GetUnitState(lfU,UNIT_STATE_LIFE)
call GroupEnumUnitsInRange(lEw,GetUnitX(lfU),GetUnitY(lfU),600,lEW)
call ForGroup(lEw,function DispersionDamage)
call DestroyGroup(lEw)
call DestroyBoolExpr(lEW)
endfunction
function DispersionRoll takes nothing returns boolean
return GetRandomInt(1,100)<=GetUnitAbilityLevel(GetTriggerUnit(),'A0A0')*4 and GetEventDamage()>5 and GetUnitTypeId(GetEventDamageSource())!='nfoh'and GetUnitTypeId(GetEventDamageSource())!='ndfl'
endfunction
function DispersionSet takes nothing returns nothing
local trigger ltt=CreateTrigger()
local unit lfU=GetTriggerUnit()
call TriggerRegisterUnitEvent(ltt,lfU,EVENT_UNIT_DAMAGED)
call TriggerAddCondition(ltt,Condition(function DispersionRoll))
call TriggerAddAction(ltt,function DispersionMain)
endfunction
function DispersionSpell takes nothing returns boolean
return GetLearnedSkill()=='A0A0'and GetUnitAbilityLevel(GetTriggerUnit(),'A0A0')==1 and IsUnitIllusion(GetTriggerUnit())==false
endfunction
function InitTrig_SumerecArmor takes nothing returns nothing
local trigger ltt=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(ltt,EVENT_PLAYER_HERO_SKILL)
call TriggerAddCondition(ltt,Condition(function DispersionSpell))
call TriggerAddAction(ltt,function DispersionSet)
endfunction
//TESH.scrollpos=19
//TESH.alwaysfold=0
// B020 = Бафф абилки "Морской прилив"
function Trig_FacelessVoid_Skill_Backtrack_Conditions takes nothing returns boolean
if ( not ( UnitHasBuffBJ(GetTriggerUnit(), 'B020') == true ) ) then
return false
endif
return true
endfunction
function OgOg takes nothing returns nothing
local trigger ltt=GetTriggeringTrigger()
local unit Emm=GetTriggerUnit()
local unit Err=GetEventDamageSource()
local real JHH=GetEventDamage()
if(JHH>0)then
call DisableTrigger(ltt)
call UnitDamageTargetBJ( Err, Emm, JHH*0.33, ATTACK_TYPE_CHAOS, DAMAGE_TYPE_DIVINE )
call DestroyEffect(AddSpecialEffectTarget("Abilities\\Spells\\Other\\GeneralAuraTarget\\GeneralAuraTarget.mdl",Emm,"origin"))
call EnableTrigger(ltt)
endif
endfunction
// A0A6 = Абилка "Морской прилив"
function Trig_FacelessVoid_Skill_Backtrack_Actions takes nothing returns nothing
local trigger t
if GetUnitAbilityLevel(GetTriggerUnit(),'A0A6')==1 then
set t=CreateTrigger()
call TriggerRegisterUnitEvent(t,GetTriggerUnit(),EVENT_UNIT_DAMAGED)
call TriggerAddAction(t,function OgOg)
//Очень важно! Через 20 сек. отрубаем триггер, а иначе
//будут лаги ввиду того, что юниты постоянно будут проверяться.
call PolledWait(20.)
call DisableTrigger(t)
endif
endfunction
function InitTrig_WaterWaveDamage takes nothing returns nothing
set gg_trg_WaterWaveDamage=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(gg_trg_WaterWaveDamage,EVENT_PLAYER_UNIT_CHANGE_OWNER)
call TriggerAddCondition(gg_trg_WaterWaveDamage,Condition(function Trig_FacelessVoid_Skill_Backtrack_Conditions))
call TriggerAddAction(gg_trg_WaterWaveDamage,function Trig_FacelessVoid_Skill_Backtrack_Actions)
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_Waveform_Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'A08A'
endfunction
function Trig_Waveform_Actions takes nothing returns nothing
local unit u=GetTriggerUnit()
local location l=GetSpellTargetLoc()
local location m=GetUnitLoc(u)
call SetUnitInvulnerable( u, true )
call TriggerSleepAction( ( DistanceBetweenPoints(l, m) / 900.00 ) )
call SetUnitPositionLoc(u,l)
call SetUnitInvulnerable( u, false )
call RemoveLocation(l)
call RemoveLocation(m)
set l=null
set m=null
set u = null
endfunction
//===========================================================================
function InitTrig_Waveform takes nothing returns nothing
set gg_trg_Waveform = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Waveform, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Waveform, Condition( function Trig_Waveform_Conditions ) )
call TriggerAddAction( gg_trg_Waveform, function Trig_Waveform_Actions )
endfunction
//TESH.scrollpos=17
//TESH.alwaysfold=0
// OpenDota 6.41 deprotected by NETRAT and DioD
// inspired by everyone who posted on forum threads and feedback page
// based on OpenDota 6.32b, deprotected by DimonT, NETRAT and TheBloodiest
// http://dimon.xgm.ru/opendota/
// Visit our modmaking community at http://xgm.ru/
// Objects used:
// 'A0YR' = Backtrack (Faceless Void : Darkterror)
// DEBUG Trigger Number : 299
function Trig_Backtrack_Conditions takes nothing returns boolean
return GetLearnedSkill()=='A0RY'and IsUnitIllusion(GetTriggerUnit())==false
endfunction
function Backtrack_Main takes nothing returns nothing
local unit lfo=GetTriggerUnit()
local real lf7=GetEventDamage()
if(lf7>0)then
if(GetRandomInt(1,100)<=(105+(5*GetUnitAbilityLevel(lfo,'A0RY'))))then
call SetUnitState(lfo,UNIT_STATE_LIFE,GetUnitState(lfo,UNIT_STATE_LIFE)+(lf7*(0.07*GetUnitAbilityLevel(lfo,'A0RY'))))
endif
endif
endfunction
function Trig_Backtrack_Actions takes nothing returns nothing
local trigger ltt
if GetUnitAbilityLevel(GetTriggerUnit(),'A0RY')==1 then
set ltt=CreateTrigger()
call TriggerRegisterUnitEvent(ltt,GetTriggerUnit(),EVENT_UNIT_DAMAGED)
call TriggerAddAction(ltt,function Backtrack_Main)
endif
endfunction
function InitTrig_Backtrack takes nothing returns nothing
set gg_trg_Backtrack=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(gg_trg_Backtrack,EVENT_PLAYER_HERO_SKILL)
call TriggerAddCondition(gg_trg_Backtrack,Condition(function Trig_Backtrack_Conditions))
call TriggerAddAction(gg_trg_Backtrack,function Trig_Backtrack_Actions)
endfunction
//TESH.scrollpos=26
//TESH.alwaysfold=0
// OpenDota 6.41 deprotected by NETRAT and DioD
// inspired by everyone who posted on forum threads and feedback page
// based on OpenDota 6.32b, deprotected by DimonT, NETRAT and TheBloodiest
// http://dimon.xgm.ru/opendota/
// Visit our modmaking community at http://xgm.ru/
// Objects used:
// 'A0SH' = Gravekeeper's Cloak (Necro'lic : Visage)
// DEBUG Trigger Number : 115
function GravekeeperSpell takes nothing returns boolean
return GetLearnedSkill()=='A0SH'and IsUnitIllusion(GetTriggerUnit())==false
endfunction
function GravekeeperDoDamage takes nothing returns nothing
if GetEventDamage()>10 and IsUnitAlly(GetEnumUnit(),GetOwningPlayer(GetTriggerUnit()))then
call SetUnitLifeBJ( GetEnumUnit(), ( GetUnitStateSwap(UNIT_STATE_LIFE, GetEnumUnit()) + .04*(GetUnitAbilityLevel(GetTriggerUnit(),'A0SH'))*GetEventDamage() ) )
endif
endfunction
function GravekeeperMain takes nothing returns nothing
local group lEw
local unit lfo=GetTriggerUnit()
local real lf7=.04*(GetUnitAbilityLevel(lfo,'A0SH'))*GetEventDamage()
if(GetEventDamage()<1400)then
set lEw=CreateGroup()
call GroupEnumUnitsInRange(lEw,GetUnitX(lfo),GetUnitY(lfo),600,null)
call ForGroup(lEw,function GravekeeperDoDamage)
call DestroyGroup(lEw)
endif
endfunction
function GravekeeperInitII takes nothing returns nothing
local trigger ltt
if GetUnitAbilityLevel(GetTriggerUnit(),'A0SH')==1 then
set ltt=CreateTrigger()
call TriggerRegisterUnitEvent(ltt,GetTriggerUnit(),EVENT_UNIT_DAMAGED)
call TriggerAddAction(ltt,function GravekeeperMain)
endif
endfunction
function InitTrig_Gravekeeper_Cloak takes nothing returns nothing
local trigger ltt=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(ltt,EVENT_PLAYER_HERO_SKILL)
call TriggerAddCondition(ltt,Condition(function GravekeeperSpell))
call TriggerAddAction(ltt,function GravekeeperInitII)
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_DeathofACoward_Conditions takes nothing returns boolean
if ( not ( IsUnitAlly(GetTriggerUnit(), GetOwningPlayer(GetAttacker())) == false ) ) then
return false
endif
if ( not ( GetUnitAbilityLevelSwapped('A0T8', GetAttacker()) > 0 ) ) then
return false
endif
return true
endfunction
function DeathofACoward2 takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u5=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
local unit u6=LoadUnitHandle(udg_Hash,GetHandleId(t),1)
local integer i=LoadInteger(udg_Hash,GetHandleId(t),3)
set udg_unit = u5
set udg_unit2 = u6
set udg_integer = i
call UnitDamageTargetBJ( udg_unit2, udg_unit, I2R(udg_integer), ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
call CreateTextTagUnitBJ( I2S(udg_integer), udg_unit, 0, 10, 50.00, 100, 50.00, 0 )
call ConditionalTriggerExecute( gg_trg_floatingtext )
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
set u5=null
set u6=null
endfunction
function Trig_DeathofACoward_Actions takes nothing returns nothing
local unit u5 = GetAttackedUnitBJ()
local unit u6 = GetAttacker()
local timer t = CreateTimer()
local real r
local integer i
set udg_unit = u5
set udg_unit2 = u6
set udg_integer = R2I(( DistanceBetweenPoints(GetUnitLoc(GetAttacker()), GetUnitLoc(GetAttackedUnitBJ())) / 100.00 )) * R2I(( ( I2R(GetUnitAbilityLevelSwapped('A0T8', GetAttacker())) * 2.00 ) + 0.00 ))
set i = udg_integer
set udg_real = ( DistanceBetweenPoints(GetUnitLoc(GetAttacker()), GetUnitLoc(GetAttackedUnitBJ())) / 500.00 )
set r = udg_real
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u5)
call SaveUnitHandle(udg_Hash,GetHandleId(t),1,u6)
call SaveInteger(udg_Hash,GetHandleId(t),3,i)
call TimerStart(t,r,false,function DeathofACoward2)
set t=null
set u5=null
set u6=null
endfunction
//===========================================================================
function InitTrig_DeathofACowardJASS takes nothing returns nothing
set gg_trg_DeathofACowardJASS = CreateTrigger( )
set udg_Hash=InitHashtable()
call TriggerRegisterAnyUnitEventBJ( gg_trg_DeathofACowardJASS, EVENT_PLAYER_UNIT_ATTACKED )
call TriggerAddCondition( gg_trg_DeathofACowardJASS, Condition( function Trig_DeathofACoward_Conditions ) )
call TriggerAddAction( gg_trg_DeathofACowardJASS, function Trig_DeathofACoward_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_Ravage_Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'A0KO'
endfunction
function Trig_Ravage_Actions takes nothing returns nothing
local location l = GetUnitLoc(GetTriggerUnit())
local integer i = 1
local unit u
local player p = GetOwningPlayer(GetTriggerUnit())
loop
exitwhen i > 16
set u = CreateUnit( p, 'n01Z', GetLocationX(l), GetLocationY(l), bj_UNIT_FACING )
call SetUnitAbilityLevelSwapped( 'A0KP', u, GetUnitAbilityLevelSwapped('A0KO', GetTriggerUnit()) )
call IssuePointOrderLoc( u, "impale", PolarProjectionBJ(l, 100.00, ( 22.50 * i )) )
call UnitApplyTimedLife( u, 'BTLF', 1.00 )
set i = i + 1
endloop
call RemoveLocation(l)
set l = null
set p = null
set u = null
endfunction
//===========================================================================
function InitTrig_Ravage takes nothing returns nothing
set gg_trg_Ravage = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Ravage, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Ravage, Condition( function Trig_Ravage_Conditions ) )
call TriggerAddAction( gg_trg_Ravage, function Trig_Ravage_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_CastBloodHeal_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A0WQ' ) ) then
return false
endif
return true
endfunction
function StillBloodHealEnd takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
call UnitRemoveAbility( u,'A0WR' )
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
set u=null
endfunction
function Trig_CastBloodHeal_Actions takes nothing returns nothing
local unit u = GetTriggerUnit()
local timer t = CreateTimer()
set udg_real = ( 0.50 + I2R(GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetTriggerUnit())) )
call UnitAddAbilityBJ( 'A0WR', GetTriggerUnit() )
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u)
call TimerStart(t,udg_real,false,function StillBloodHealEnd)
set t=null
set u=null
endfunction
//===========================================================================
function InitTrig_CastBloodHeal_JASS takes nothing returns nothing
set gg_trg_CastBloodHeal_JASS = CreateTrigger( )
set udg_Hash=InitHashtable()
call TriggerRegisterAnyUnitEventBJ( gg_trg_CastBloodHeal_JASS, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_CastBloodHeal_JASS, Condition( function Trig_CastBloodHeal_Conditions ) )
call TriggerAddAction( gg_trg_CastBloodHeal_JASS, function Trig_CastBloodHeal_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_Sun_Soul_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A0X9' ) ) then
return false
endif
return true
endfunction
function SunSoul2 takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u5=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
set udg_unit = u5
set udg_point = GetUnitLoc(udg_unit)
set udg_point2 = PolarProjectionBJ(GetUnitLoc(udg_unit), I2R(udg_Distance[GetConvertedPlayerId(GetOwningPlayer(udg_unit))]), GetUnitFacing(udg_unit))
call AddSpecialEffectLocBJ( udg_point, "Abilities\\Spells\\Items\\StaffOfPurification\\PurificationTarget.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call AddSpecialEffectLocBJ( udg_point2, "Abilities\\Spells\\Items\\StaffOfPurification\\PurificationTarget.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call SetUnitPositionLoc( udg_unit, udg_point2 )
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
set u5=null
endfunction
function Trig_Sun_Soul_Actions takes nothing returns nothing
local timer t = CreateTimer()
local unit u5 = GetTriggerUnit()
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u5)
call TimerStart(t,0.1,false,function SunSoul2)
set t=null
set u5=null
endfunction
//===========================================================================
function InitTrig_Sun_Soul_JASS takes nothing returns nothing
set gg_trg_Sun_Soul_JASS = CreateTrigger( )
set udg_Hash=InitHashtable()
call TriggerRegisterAnyUnitEventBJ( gg_trg_Sun_Soul_JASS, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Sun_Soul_JASS, Condition( function Trig_Sun_Soul_Conditions ) )
call TriggerAddAction( gg_trg_Sun_Soul_JASS, function Trig_Sun_Soul_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_Euphoria_JASS_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A0X7' ) ) then
return false
endif
return true
endfunction
function EuphoriaTicks takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u5=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
local unit u6=LoadUnitHandle(udg_Hash2,GetHandleId(t),4)
local integer i=LoadInteger(udg_Hash,GetHandleId(t),3)
set udg_unit = u5
set udg_unit2 = u6
set i=i+1
call SaveInteger(udg_Hash,GetHandleId(t),3,i)
if(i<8)then
call SetUnitLifeBJ( udg_unit, ( GetUnitStateSwap(UNIT_STATE_LIFE, udg_unit) + ( 20.00 * I2R(GetUnitAbilityLevelSwapped('A0X7', udg_unit2)) ) ) )
else
call PauseTimer(t)
call DestroyTimer(t)
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call FlushChildHashtable(udg_Hash2,GetHandleId(t))
endif
set t=null
set u5=null
set u6=null
endfunction
function Trig_Euphoria_JASS_Actions takes nothing returns nothing
local timer t = CreateTimer()
local unit u5 = GetSpellTargetUnit()
local unit u6 = GetTriggerUnit()
local integer i=0
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u5)
call SaveUnitHandle(udg_Hash2,GetHandleId(t),4,u6)
call SaveInteger(udg_Hash,GetHandleId(t),3,i)
call TimerStart(t,1,true,function EuphoriaTicks)
set t=null
set u5=null
set u6=null
endfunction
//===========================================================================
function InitTrig_Euphoria_JASS takes nothing returns nothing
set gg_trg_Euphoria_JASS = CreateTrigger( )
set udg_Hash=InitHashtable()
set udg_Hash2=InitHashtable()
call TriggerRegisterAnyUnitEventBJ( gg_trg_Euphoria_JASS, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Euphoria_JASS, Condition( function Trig_Euphoria_JASS_Conditions ) )
call TriggerAddAction( gg_trg_Euphoria_JASS, function Trig_Euphoria_JASS_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_Brainbombs_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A0XO' ) ) then
return false
endif
return true
endfunction
function BrainbombsTicks takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u5=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
local unit u6=LoadUnitHandle(udg_Hash2,GetHandleId(t),2)
local integer i=LoadInteger(udg_Hash,GetHandleId(t),3)
set udg_unit = u5
set udg_unit2 = u6
set i=i+1
call SaveInteger(udg_Hash,GetHandleId(t),3,i)
if(i<11)then
call SetUnitLifeBJ( udg_unit2, ( GetUnitStateSwap(UNIT_STATE_LIFE, udg_unit2) + ( ( 5.00 + ( 5.00 * I2R(GetUnitAbilityLevelSwapped('A0XO', udg_unit2)) ) ) + 0.00 ) ) )
call SetUnitManaBJ( udg_unit2, ( GetUnitStateSwap(UNIT_STATE_MANA, udg_unit2) + ( 5.00 + ( 5.00 * I2R(GetUnitAbilityLevelSwapped('A0XO', udg_unit2)) ) ) ) )
call SetUnitManaBJ( udg_unit, ( GetUnitStateSwap(UNIT_STATE_MANA, udg_unit) - ( 5.00 + ( 5.00 * I2R(GetUnitAbilityLevelSwapped('A0XO', udg_unit2)) ) ) ) )
call UnitDamageTargetBJ( udg_unit2, udg_unit, ( 5.00 + ( 5.00 * I2R(GetUnitAbilityLevelSwapped('A0XO', udg_unit2)) ) ), ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL )
call AddSpecialEffectTargetUnitBJ( "overhead", udg_unit, "Abilities\\Spells\\Human\\FlakCannons\\FlakTarget.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call AddSpecialEffectTargetUnitBJ( "overhead", udg_unit2, "Abilities\\Spells\\Human\\FlakCannons\\FlakTarget.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
else
call PauseTimer(t)
call DestroyTimer(t)
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call FlushChildHashtable(udg_Hash2,GetHandleId(t))
endif
set t=null
set u5=null
set u6=null
endfunction
function Trig_Brainbombs_Actions takes nothing returns nothing
local timer t = CreateTimer()
local unit u5 = GetSpellTargetUnit()
local unit u6 = GetTriggerUnit()
local integer i=0
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u5)
call SaveUnitHandle(udg_Hash2,GetHandleId(t),2,u6)
call SaveInteger(udg_Hash,GetHandleId(t),3,i)
call TimerStart(t,1,true,function BrainbombsTicks)
set t=null
set u5=null
set u6=null
endfunction
//===========================================================================
function InitTrig_Brainbombs_JASS takes nothing returns nothing
set gg_trg_Brainbombs_JASS = CreateTrigger( )
set udg_Hash=InitHashtable()
set udg_Hash2=InitHashtable()
call TriggerRegisterAnyUnitEventBJ( gg_trg_Brainbombs_JASS, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Brainbombs_JASS, Condition( function Trig_Brainbombs_Conditions ) )
call TriggerAddAction( gg_trg_Brainbombs_JASS, function Trig_Brainbombs_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_TripleBum_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A0B5' ) ) then
return false
endif
if ( not ( IsUnitType(GetSpellAbilityUnit(), UNIT_TYPE_HERO) == true ) ) then
return false
endif
return true
endfunction
function TripleBumTicks takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u5=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
local integer i=LoadInteger(udg_Hash,GetHandleId(t),3)
set udg_unit = u5
set i=i+1
call SaveInteger(udg_Hash,GetHandleId(t),3,i)
if(i<3)then
set udg_tpoint = GetUnitLoc(udg_unit)
call CreateNUnitsAtLoc( 1, 'n021', GetOwningPlayer(udg_unit), udg_tpoint, bj_UNIT_FACING )
call UnitAddAbilityBJ( 'A0B5', GetLastCreatedUnit() )
call SetUnitAbilityLevelSwapped( 'A0B5', GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A0B5', udg_unit) )
call UnitApplyTimedLifeBJ( 1.00, 'BTLF', GetLastCreatedUnit() )
call IssueImmediateOrder( GetLastCreatedUnit(), "thunderclap" )
call RemoveLocation (udg_tpoint)
else
call PauseTimer(t)
call DestroyTimer(t)
call FlushChildHashtable(udg_Hash,GetHandleId(t))
endif
set t=null
set u5=null
endfunction
function Trig_TripleBum_Actions takes nothing returns nothing
local timer t = CreateTimer()
local unit u5 = GetTriggerUnit()
set udg_unit = u5
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u5)
call TimerStart(t,1.6,true,function TripleBumTicks)
set t=null
set u5=null
endfunction
//===========================================================================
function InitTrig_TripleBum_JASS takes nothing returns nothing
set gg_trg_TripleBum_JASS = CreateTrigger( )
set udg_Hash=InitHashtable()
call TriggerRegisterAnyUnitEventBJ( gg_trg_TripleBum_JASS, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_TripleBum_JASS, Condition( function Trig_TripleBum_Conditions ) )
call TriggerAddAction( gg_trg_TripleBum_JASS, function Trig_TripleBum_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_EaterFury_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A0LH' ) ) then
return false
endif
return true
endfunction
function Trig_EaterFury_Func003C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A0LH', udg_unit) > 1 ) ) then
return false
endif
return true
endfunction
function Trig_EaterFury_Func004C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A0KX', udg_unit) > 1 ) ) then
return false
endif
return true
endfunction
function EaterFury2 takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u5=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
set udg_unit = u5
call UnitRemoveAbilityBJ( 'A0LK', udg_unit )
call UnitRemoveAbilityBJ( 'A0LL', udg_unit )
call UnitRemoveAbilityBJ( 'A0LF', udg_unit )
call SetPlayerAbilityAvailableBJ( true, 'A0KX', GetOwningPlayer(udg_unit) )
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
set u5=null
endfunction
function Trig_EaterFury_Actions takes nothing returns nothing
local timer t = CreateTimer()
local unit u5 = GetTriggerUnit()
set udg_unit = u5
if ( Trig_EaterFury_Func003C() ) then
call UnitAddAbilityBJ( 'A0LK', udg_unit )
else
call UnitAddAbilityBJ( 'A0LL', udg_unit )
endif
if ( Trig_EaterFury_Func004C() ) then
call SetPlayerAbilityAvailableBJ( false, 'A0KX', GetOwningPlayer(udg_unit) )
call UnitAddAbilityBJ( 'A0LF', udg_unit )
call SetUnitAbilityLevelSwapped( 'A0LF', udg_unit, GetUnitAbilityLevelSwapped('A0KX', udg_unit) )
else
endif
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u5)
call TimerStart(t,30,false,function EaterFury2)
set t=null
set u5=null
endfunction
//===========================================================================
function InitTrig_EaterFury_JASS takes nothing returns nothing
set gg_trg_EaterFury_JASS = CreateTrigger( )
set udg_Hash=InitHashtable()
call TriggerRegisterAnyUnitEventBJ( gg_trg_EaterFury_JASS, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_EaterFury_JASS, Condition( function Trig_EaterFury_Conditions ) )
call TriggerAddAction( gg_trg_EaterFury_JASS, function Trig_EaterFury_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_Cowardice_JASS_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A0NJ' ) ) then
return false
endif
if ( not ( IsUnitType(GetTriggerUnit(), UNIT_TYPE_HERO) == true ) ) then
return false
endif
return true
endfunction
function CowardiceEffect takes nothing returns nothing
local timer t=GetExpiredTimer()
local location p=LoadLocationHandle(udg_Hash,GetHandleId(t),2)
local unit u5=LoadUnitHandle(udg_Hash,GetHandleId(t),3)
set udg_unit = u5
set udg_point = p
set udg_point2 = GetUnitLoc(udg_unit)
call AddSpecialEffectLocBJ( udg_point2, "Abilities\\Spells\\NightElf\\Blink\\BlinkTarget.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call AddSpecialEffectLocBJ( udg_point, "Abilities\\Spells\\NightElf\\Blink\\BlinkTarget.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call SetUnitPositionLoc( udg_unit, udg_point )
call UnitAddAbilityBJ( 'A0NL', udg_unit )
call SetUnitAbilityLevelSwapped( 'A0NL', udg_unit, ( GetUnitAbilityLevelSwapped('A0NL', udg_unit) + 1 ) )
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set p=null
set t=null
set u5=null
endfunction
function Trig_Cowardice_JASS_Actions takes nothing returns nothing
local location p
local timer t = CreateTimer()
local unit u5
set udg_unit = GetTriggerUnit()
set udg_point = GetSpellTargetLoc()
set p = udg_point
set u5 = udg_unit
set udg_real = 1.00
call SaveLocationHandle(udg_Hash,GetHandleId(t),2,p)
call SaveUnitHandle(udg_Hash,GetHandleId(t),3,u5)
call TimerStart(t,1,false,function CowardiceEffect)
set t=null
set p=null
set u5=null
endfunction
//===========================================================================
function InitTrig_Cowardice_JASS takes nothing returns nothing
set gg_trg_Cowardice_JASS = CreateTrigger( )
set udg_Hash=InitHashtable()
call TriggerRegisterAnyUnitEventBJ( gg_trg_Cowardice_JASS, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Cowardice_JASS, Condition( function Trig_Cowardice_JASS_Conditions ) )
call TriggerAddAction( gg_trg_Cowardice_JASS, function Trig_Cowardice_JASS_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_Bloodshackles_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A11I' ) ) then
return false
endif
if ( not ( GetUnitAbilityLevelSwapped('A11B', GetSpellTargetUnit()) == 0 ) ) then
return false
endif
return true
endfunction
function Bloodshackles2 takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u5=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
set udg_unit = u5
call UnitRemoveAbilityBJ( 'A11B', udg_unit )
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
set u5=null
endfunction
function Bloodshackles3 takes nothing returns nothing
local timer t2=GetExpiredTimer()
local unit u6=LoadUnitHandle(udg_Hash,GetHandleId(t2),2)
set udg_unit = u6
call UnitRemoveAbilityBJ( 'A11B', udg_unit )
call FlushChildHashtable(udg_Hash,GetHandleId(t2))
call DestroyTimer(t2)
set t2=null
set u6=null
endfunction
function Trig_Bloodshackles_Actions takes nothing returns nothing
local timer t = CreateTimer()
local timer t2 = CreateTimer()
local unit u5 = GetSpellTargetUnit()
local unit u6 = GetTriggerUnit()
local real r
set udg_unit = u5
call AddSpecialEffectTargetUnitBJ( "chest", GetTriggerUnit(), "Abilities\\Spells\\Other\\ANsa\\ANsaTarget.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call UnitAddAbilityBJ( 'A11B', GetTriggerUnit() )
call AddSpecialEffectTargetUnitBJ( "chest", udg_unit, "Abilities\\Spells\\Other\\ANsa\\ANsaTarget.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call UnitAddAbilityBJ( 'A11B', udg_unit )
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u5)
call SaveUnitHandle(udg_Hash,GetHandleId(t2),2,u6)
set udg_real = I2R(GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetTriggerUnit()))
set r = udg_real
call TimerStart(t2,r,false,function Bloodshackles3)
set udg_real = ( udg_real + 1 )
set r = udg_real
call TimerStart(t,r,false,function Bloodshackles2)
set t=null
set t2 = null
set u5=null
set u6 = null
endfunction
//===========================================================================
function InitTrig_Bloodshackles_JASS takes nothing returns nothing
set gg_trg_Bloodshackles_JASS = CreateTrigger( )
set udg_Hash=InitHashtable()
call TriggerRegisterAnyUnitEventBJ( gg_trg_Bloodshackles_JASS, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Bloodshackles_JASS, Condition( function Trig_Bloodshackles_Conditions ) )
call TriggerAddAction( gg_trg_Bloodshackles_JASS, function Trig_Bloodshackles_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_Mark_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A11F' ) ) then
return false
endif
if ( not ( UnitHasBuffBJ(GetSpellTargetUnit(), 'B06B') == false ) ) then
return false
endif
return true
endfunction
function Trig_Mark_Func005C takes nothing returns boolean
if ( not ( IsUnitInGroup(udg_unit, udg_MarkedforDamage) == false ) ) then
return false
endif
return true
endfunction
function Trig_Mark_Func006C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetTriggerUnit()) == 1 ) ) then
return false
endif
return true
endfunction
function Mark2 takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u5=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
set udg_unit = u5
call UnitRemoveAbilityBJ( 'A11C', udg_unit )
call UnitRemoveAbilityBJ( 'A11D', udg_unit )
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
set u5=null
endfunction
function Trig_Mark_Actions takes nothing returns nothing
local timer t = CreateTimer()
local unit u5 = GetSpellTargetUnit()
set udg_unit = u5
call AddSpecialEffectTargetUnitBJ( "chest", udg_unit, "Abilities\\Spells\\Demon\\ReviveDemon\\ReviveDemon.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
if ( Trig_Mark_Func005C() ) then
call GroupAddUnitSimple( udg_unit, udg_MarkedforDamage )
call TriggerRegisterUnitEvent( gg_trg_UnitTakesDamage, udg_unit, EVENT_UNIT_DAMAGED )
else
endif
if ( Trig_Mark_Func006C() ) then
call UnitAddAbilityBJ( 'A11C', udg_unit )
else
call UnitAddAbilityBJ( 'A11D', udg_unit )
endif
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u5)
call TimerStart(t,30,false,function Mark2)
set t=null
set u5=null
endfunction
//===========================================================================
function InitTrig_Mark_JASS takes nothing returns nothing
set gg_trg_Mark_JASS = CreateTrigger( )
set udg_Hash=InitHashtable()
call TriggerRegisterAnyUnitEventBJ( gg_trg_Mark_JASS, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Mark_JASS, Condition( function Trig_Mark_Conditions ) )
call TriggerAddAction( gg_trg_Mark_JASS, function Trig_Mark_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_Bombardment_JASS_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A11R' ) ) then
return false
endif
return true
endfunction
function StillFrenzyEffect takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u5=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
call UnitRemoveAbility( u5,'A11Q' )
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
set u5=null
endfunction
function Trig_Bombardment_JASS_Actions takes nothing returns nothing
local unit u5 = GetTriggerUnit()
local timer t = CreateTimer()
set udg_real = ( 3.00 + I2R(GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetTriggerUnit())) )
call UnitAddAbilityBJ( 'A11Q', GetTriggerUnit() )
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u5)
call TimerStart(t,udg_real,false,function StillFrenzyEffect)
set t=null
set u5=null
endfunction
//===========================================================================
function InitTrig_Bombardment_JASS takes nothing returns nothing
set gg_trg_Bombardment_JASS = CreateTrigger( )
set udg_Hash=InitHashtable()
call TriggerRegisterAnyUnitEventBJ( gg_trg_Bombardment_JASS, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Bombardment_JASS, Condition( function Trig_Bombardment_JASS_Conditions ) )
call TriggerAddAction( gg_trg_Bombardment_JASS, function Trig_Bombardment_JASS_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_Cowardice2_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A15C' ) ) then
return false
endif
return true
endfunction
function Trig_Cowardice2_Func002C takes nothing returns boolean
if ( not ( IsPlayerAlly(GetOwningPlayer(udg_unit), Player(bj_PLAYER_NEUTRAL_VICTIM)) == true ) ) then
return false
endif
return true
endfunction
function Cowardice2Effect takes nothing returns nothing
local timer t=GetExpiredTimer()
local location p=LoadLocationHandle(udg_Hash,GetHandleId(t),2)
local unit u5=LoadUnitHandle(udg_Hash,GetHandleId(t),3)
set udg_unit = u5
set udg_point = p
call AddSpecialEffectLocBJ( udg_point, "Abilities\\Spells\\NightElf\\Blink\\BlinkTarget.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call SetUnitPositionLoc( udg_unit, udg_point )
call SetUnitAbilityLevelSwapped( 'A0NL', udg_unit, ( GetUnitAbilityLevelSwapped('A0NL', udg_unit) + 1 ) )
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set p=null
set t=null
set u5=null
endfunction
function Trig_Cowardice2_Actions takes nothing returns nothing
local location p
local timer t = CreateTimer()
local unit u5 = GetTriggerUnit()
set udg_unit = u5
if ( Trig_Cowardice2_Func002C() ) then
set udg_point = GetRectCenter(gg_rct_LightHeroSpawn)
else
set udg_point = GetRectCenter(gg_rct_DarkHeroSpawn)
endif
set udg_tpoint = GetUnitLoc(udg_unit)
call AddSpecialEffectLocBJ( udg_tpoint, "Abilities\\Spells\\NightElf\\Blink\\BlinkTarget.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call RemoveLocation (udg_tpoint)
set p = udg_point
call SaveLocationHandle(udg_Hash,GetHandleId(t),2,p)
call SaveUnitHandle(udg_Hash,GetHandleId(t),3,u5)
call TimerStart(t,0.1,false,function Cowardice2Effect)
set t=null
set p=null
set u5=null
endfunction
//===========================================================================
function InitTrig_Cowardice2_JASS takes nothing returns nothing
set gg_trg_Cowardice2_JASS = CreateTrigger( )
set udg_Hash=InitHashtable()
call TriggerRegisterAnyUnitEventBJ( gg_trg_Cowardice2_JASS, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Cowardice2_JASS, Condition( function Trig_Cowardice2_Conditions ) )
call TriggerAddAction( gg_trg_Cowardice2_JASS, function Trig_Cowardice2_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_SkyJudgment_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A167' ) ) then
return false
endif
return true
endfunction
function Trig_SkyJudgment_Func003002003 takes nothing returns boolean
return ( IsUnitAlly(GetFilterUnit(), GetOwningPlayer(GetTriggerUnit())) == false )
endfunction
function Trig_SkyJudgment_Func005A takes nothing returns nothing
call UnitDamageTargetBJ( GetTriggerUnit(), GetEnumUnit(), ( 25.00 + ( 50.00 * I2R(GetUnitAbilityLevelSwapped('A167', GetTriggerUnit())) ) ), ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
endfunction
function Trig_SkyJudgment_Func006002003 takes nothing returns boolean
return ( IsUnitAlly(GetFilterUnit(), GetOwningPlayer(GetTriggerUnit())) == true )
endfunction
function Trig_SkyJudgment_Func008A takes nothing returns nothing
call SetUnitLifeBJ( GetEnumUnit(), ( GetUnitStateSwap(UNIT_STATE_LIFE, GetEnumUnit()) + ( 25.00 + ( 50.00 * I2R(GetUnitAbilityLevelSwapped('A167', GetTriggerUnit())) ) ) ) )
endfunction
function Trig_SkyJudgment_Actions takes nothing returns nothing
set udg_tpoint = GetUnitLoc(GetSpellTargetUnit())
set udg_g = GetUnitsInRangeOfLocMatching(400.00, udg_tpoint, Condition(function Trig_SkyJudgment_Func003002003))
call ConditionalTriggerExecute( gg_trg_CleanG )
call ForGroupBJ( udg_g, function Trig_SkyJudgment_Func005A )
set udg_g = GetUnitsInRangeOfLocMatching(400.00, udg_tpoint, Condition(function Trig_SkyJudgment_Func006002003))
call ConditionalTriggerExecute( gg_trg_CleanG )
call ForGroupBJ( udg_g, function Trig_SkyJudgment_Func008A )
call RemoveLocation (udg_tpoint)
endfunction
//===========================================================================
function InitTrig_SkyJudgment takes nothing returns nothing
set gg_trg_SkyJudgment = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_SkyJudgment, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_SkyJudgment, Condition( function Trig_SkyJudgment_Conditions ) )
call TriggerAddAction( gg_trg_SkyJudgment, function Trig_SkyJudgment_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_Stil_Franzy_Cast_Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'Ahea'
endfunction
function StillFrenzyEffect takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
call UnitRemoveAbility( u,'Afbt' )
call UnitRemoveAbility( u,'Agyv' )
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
set u=null
endfunction
function Trig_Stil_Franzy_Cast_Actions takes nothing returns nothing
local unit u = GetSpellTargetUnit()
local timer t = CreateTimer()
call UnitAddAbility( u, 'Afbt' )
call UnitAddAbility( u, 'Agyv' )
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u)
call TimerStart(t,5,false,function StillFrenzyEffect)
set t=null
set u=null
endfunction
//===========================================================================
function InitTrig_Stil_Franzy_Cast takes nothing returns nothing
set gg_trg_Stil_Franzy_Cast = CreateTrigger( )
set udg_Hash=InitHashtable()
call TriggerRegisterAnyUnitEventBJ( gg_trg_Stil_Franzy_Cast, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Stil_Franzy_Cast, Condition( function Trig_Stil_Franzy_Cast_Conditions ) )
call TriggerAddAction( gg_trg_Stil_Franzy_Cast, function Trig_Stil_Franzy_Cast_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_Sweetness_Aura_Conditions takes nothing returns boolean
if ( not ( UnitHasBuffBJ(GetTriggerUnit(), 'B09F') == true ) ) then
return false
endif
return true
endfunction
function StillFrenzyEffectSugar takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
call UnitRemoveAbility( u,'A12I' )
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
set u=null
endfunction
function Trig_Sweetness_Aura_Actions takes nothing returns nothing
local unit u = GetTriggerUnit()
local timer t = CreateTimer()
call UnitAddAbility( u, 'A12I' )
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u)
call TimerStart(t,4,false,function StillFrenzyEffectSugar)
set t=null
set u=null
endfunction
//===========================================================================
function InitTrig_Sweetness_Aura takes nothing returns nothing
set gg_trg_Sweetness_Aura = CreateTrigger( )
set udg_Hash=InitHashtable()
call TriggerRegisterAnyUnitEventBJ( gg_trg_Sweetness_Aura, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Sweetness_Aura, Condition( function Trig_Sweetness_Aura_Conditions ) )
call TriggerAddAction( gg_trg_Sweetness_Aura, function Trig_Sweetness_Aura_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_SelfDestructor_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A12X' ) ) then
return false
endif
return true
endfunction
function Trig_SelfDestructor_Func007002003 takes nothing returns boolean
return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(udg_unit)) == true )
endfunction
function Trig_SelfDestructor_Func009A takes nothing returns nothing
call UnitDamageTargetBJ( udg_unit, GetEnumUnit(), ( 150.00 + ( 100.00 * I2R(GetUnitAbilityLevelSwapped('A12X', udg_unit)) ) ), ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
endfunction
function SelfDestructor2 takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u5=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
set udg_unit = u5
call SetUnitLifeBJ( udg_unit, ( GetUnitStateSwap(UNIT_STATE_LIFE, udg_unit) + ( GetUnitStateSwap(UNIT_STATE_MAX_LIFE, udg_unit) * ( 0.15 + ( 0.05 * I2R(GetUnitAbilityLevelSwapped('A12X', udg_unit)) ) ) ) ) )
set udg_tpoint = GetUnitLoc(udg_unit)
call AddSpecialEffectLocBJ( udg_tpoint, "Abilities\\Spells\\Human\\ThunderClap\\ThunderClapCaster.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
set udg_g = GetUnitsInRangeOfLocMatching(400.00, udg_tpoint, Condition(function Trig_SelfDestructor_Func007002003))
call ConditionalTriggerExecute( gg_trg_CleanG )
call ForGroupBJ( udg_g, function Trig_SelfDestructor_Func009A )
call RemoveLocation (udg_tpoint)
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
set u5=null
endfunction
function Trig_SelfDestructor_Actions takes nothing returns nothing
local timer t = CreateTimer()
local unit u5 = GetTriggerUnit()
set udg_unit = u5
call SetUnitLifeBJ( udg_unit, ( GetUnitStateSwap(UNIT_STATE_LIFE, udg_unit) - ( GetUnitStateSwap(UNIT_STATE_MAX_LIFE, udg_unit) * ( 0.10 + ( 0.05 * I2R(GetUnitAbilityLevelSwapped('A12X', udg_unit)) ) ) ) ) )
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u5)
call TimerStart(t,5,false,function SelfDestructor2)
set t=null
set u5=null
endfunction
//===========================================================================
function InitTrig_SelfDestructor_JASS takes nothing returns nothing
set gg_trg_SelfDestructor_JASS = CreateTrigger( )
set udg_Hash=InitHashtable()
call TriggerRegisterAnyUnitEventBJ( gg_trg_SelfDestructor_JASS, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_SelfDestructor_JASS, Condition( function Trig_SelfDestructor_Conditions ) )
call TriggerAddAction( gg_trg_SelfDestructor_JASS, function Trig_SelfDestructor_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_Launch_New_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A12W' ) ) then
return false
endif
return true
endfunction
function Launch1 takes nothing returns boolean
return ( IsUnitAlly(GetEnumUnit(), GetOwningPlayer(udg_unit)) == false )
endfunction
function Launch2 takes nothing returns nothing
call UnitDamageTargetBJ( udg_unit, GetEnumUnit(), ( 60.00 + ( 40.00 * I2R(GetUnitAbilityLevelSwapped('A12W', udg_unit)) ) ), ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
endfunction
function StillFrenzyEffectLaunch takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
local unit u2=LoadUnitHandle(udg_Hash,GetHandleId(t),3)
set udg_unit = u
set udg_unit2 = u2
set udg_tpoint = GetUnitLoc(udg_unit2)
call AddSpecialEffectLocBJ( udg_tpoint, "Abilities\\Weapons\\Mortar\\ScatterShotTarget.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
set udg_g = GetUnitsInRangeOfLocMatching(300.00, udg_tpoint, Condition(function Launch1))
call ForGroupBJ( udg_g, function Launch2 )
call RemoveLocation (udg_tpoint)
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
set u=null
set u2=null
endfunction
function Trig_Launch_New_Actions takes nothing returns nothing
local unit u = GetTriggerUnit ()
local unit u2 = GetSpellTargetUnit()
local timer t = CreateTimer()
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u)
call SaveUnitHandle(udg_Hash,GetHandleId(t),3,u2)
call TimerStart(t,1,false,function StillFrenzyEffectLaunch)
set t=null
set u=null
endfunction
//===========================================================================
function InitTrig_Launch_New takes nothing returns nothing
set gg_trg_Launch_New = CreateTrigger( )
set udg_Hash=InitHashtable()
call TriggerRegisterAnyUnitEventBJ( gg_trg_Launch_New, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Launch_New, Condition( function Trig_Launch_New_Conditions ) )
call TriggerAddAction( gg_trg_Launch_New, function Trig_Launch_New_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_HotMachine_New_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A12V' ) ) then
return false
endif
return true
endfunction
function StillFrenzyEffectHot takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
set udg_unit = u
call SetUnitVertexColorBJ( udg_unit, 100, 100.00, 100.00, 0 )
call UnitRemoveAbilityBJ( 'A12R', udg_unit )
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
set u=null
endfunction
function Trig_HotMachine_New_Actions takes nothing returns nothing
local unit u = GetTriggerUnit ()
local timer t = CreateTimer()
set udg_unit = u
call UnitAddAbilityBJ( 'A12R', udg_unit )
call SetUnitVertexColorBJ( udg_unit, 100, 0.00, 0.00, 0 )
set u = udg_unit
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u)
call TimerStart(t,GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetTriggerUnit()) * 7,false,function StillFrenzyEffectHot)
set t=null
set u=null
endfunction
//===========================================================================
function InitTrig_HotMachine_New takes nothing returns nothing
set gg_trg_HotMachine_New = CreateTrigger( )
set udg_Hash=InitHashtable()
call TriggerRegisterAnyUnitEventBJ( gg_trg_HotMachine_New, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_HotMachine_New, Condition( function Trig_HotMachine_New_Conditions ) )
call TriggerAddAction( gg_trg_HotMachine_New, function Trig_HotMachine_New_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_Ruinmaster_New_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A137' ) ) then
return false
endif
return true
endfunction
function RuinmasterEnd takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
set udg_unit = u
call UnitRemoveAbilityBJ( 'A133', udg_unit )
call UnitRemoveAbilityBJ( 'A134', udg_unit )
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
set u=null
endfunction
function Trig_Ruinmaster_New_Actions takes nothing returns nothing
local unit u = GetTriggerUnit ()
local timer t = CreateTimer()
set udg_unit = u
call AddSpecialEffectTargetUnitBJ( "chest", GetTriggerUnit(), "Abilities\\Spells\\Orc\\Voodoo\\VoodooAuraTarget.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call UnitAddAbilityBJ( 'A133', udg_unit )
call UnitAddAbilityBJ( 'A134', udg_unit )
set u = udg_unit
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u)
call TimerStart(t,GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetTriggerUnit()) * 10,false,function RuinmasterEnd)
set t=null
set u=null
endfunction
//===========================================================================
function InitTrig_Ruinmaster_New takes nothing returns nothing
set gg_trg_Ruinmaster_New = CreateTrigger( )
set udg_Hash=InitHashtable()
call TriggerRegisterAnyUnitEventBJ( gg_trg_Ruinmaster_New, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Ruinmaster_New, Condition( function Trig_Ruinmaster_New_Conditions ) )
call TriggerAddAction( gg_trg_Ruinmaster_New, function Trig_Ruinmaster_New_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_AttackwithGrandStrike_Conditions takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A130', GetAttacker()) == 1 ) ) then
return false
endif
return true
endfunction
function Trig_AttackwithGrandStrike_Func004C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A135', udg_unit) == 0 ) ) then
return false
endif
return true
endfunction
function Trig_AttackwithGrandStrike_Func009Func001002003 takes nothing returns boolean
return ( IsUnitAlly(GetFilterUnit(), GetOwningPlayer(GetAttacker())) == false )
endfunction
function Trig_AttackwithGrandStrike_Func009Func002002003 takes nothing returns boolean
return ( IsUnitAlly(GetFilterUnit(), GetOwningPlayer(GetAttacker())) == false )
endfunction
function Trig_AttackwithGrandStrike_Func009C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A138', GetAttacker()) == 1 ) ) then
return false
endif
return true
endfunction
function Trig_AttackwithGrandStrike_Func011A takes nothing returns nothing
call UnitDamageTargetBJ( GetAttacker(), GetEnumUnit(), ( 40.00 * I2R(GetUnitAbilityLevelSwapped('A135', GetAttacker())) ), ATTACK_TYPE_CHAOS, DAMAGE_TYPE_DIVINE )
set udg_point = GetUnitLoc(GetEnumUnit())
call CreateNUnitsAtLoc( 1, 'n021', GetOwningPlayer(GetAttacker()), udg_point, bj_UNIT_FACING )
call UnitAddAbilityBJ( 'A0ZL', GetLastCreatedUnit() )
call UnitApplyTimedLifeBJ( 0.50, 'BTLF', GetLastCreatedUnit() )
call IssueTargetOrder( GetLastCreatedUnit(), "thunderbolt", GetEnumUnit() )
endfunction
function Trig_AttackwithGrandStrike_Func018C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A135', udg_unit) == 0 ) ) then
return false
endif
return true
endfunction
function AttackWithGrandStrike2 takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u5=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
set udg_unit = u5
call UnitAddAbilityBJ( 'A130', udg_unit )
call UnitRemoveAbilityBJ( 'A12Y', udg_unit )
if ( Trig_AttackwithGrandStrike_Func018C() ) then
call UnitRemoveAbilityBJ( 'A130', udg_unit )
call UnitRemoveAbilityBJ( 'A12Y', udg_unit )
else
endif
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
set u5=null
endfunction
function Trig_AttackwithGrandStrike_Actions takes nothing returns nothing
local timer t = CreateTimer()
local unit u5 = GetAttacker()
set udg_unit = u5
call UnitAddAbilityBJ( 'A12Y', udg_unit )
if ( Trig_AttackwithGrandStrike_Func004C() ) then
call UnitRemoveAbilityBJ( 'A130', udg_unit )
call UnitRemoveAbilityBJ( 'A12Y', udg_unit )
else
endif
call UnitRemoveAbilityBJ( 'A130', udg_unit )
call IssueImmediateOrder( udg_unit, "berserk" )
call IssueTargetOrder( udg_unit, "attack", GetAttackedUnitBJ() )
set udg_tpoint = GetUnitLoc(GetAttackedUnitBJ())
if ( Trig_AttackwithGrandStrike_Func009C() ) then
set udg_g = GetUnitsInRangeOfLocMatching(400.00, udg_tpoint, Condition(function Trig_AttackwithGrandStrike_Func009Func002002003))
else
set udg_g = GetUnitsInRangeOfLocMatching(50.00, udg_tpoint, Condition(function Trig_AttackwithGrandStrike_Func009Func001002003))
endif
call ConditionalTriggerExecute( gg_trg_CleanG )
call ForGroupBJ( udg_g, function Trig_AttackwithGrandStrike_Func011A )
call RemoveLocation (udg_tpoint)
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u5)
call TimerStart(t,10,false,function AttackWithGrandStrike2)
set t=null
set u5=null
endfunction
//===========================================================================
function InitTrig_AttackwithGrandStrike takes nothing returns nothing
set gg_trg_AttackwithGrandStrike = CreateTrigger( )
set udg_Hash=InitHashtable()
call DisableTrigger( gg_trg_AttackwithGrandStrike )
call TriggerRegisterAnyUnitEventBJ( gg_trg_AttackwithGrandStrike, EVENT_PLAYER_UNIT_ATTACKED )
call TriggerAddCondition( gg_trg_AttackwithGrandStrike, Condition( function Trig_AttackwithGrandStrike_Conditions ) )
call TriggerAddAction( gg_trg_AttackwithGrandStrike, function Trig_AttackwithGrandStrike_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_NaturesChoose_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A141' ) ) then
return false
endif
return true
endfunction
function Trig_NaturesChoose_Func003C takes nothing returns boolean
if ( not ( IsUnitEnemy(GetTriggerUnit(), GetOwningPlayer(udg_unit)) == true ) ) then
return false
endif
return true
endfunction
function NaturesChoose2 takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u5=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
set udg_unit = u5
call UnitRemoveAbilityBJ( 'A13X', udg_unit )
call UnitRemoveAbilityBJ( 'A13Y', udg_unit )
call UnitRemoveAbilityBJ( 'A13V', udg_unit )
call UnitRemoveAbilityBJ( 'A13U', udg_unit )
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
set u5=null
endfunction
function Trig_NaturesChoose_Actions takes nothing returns nothing
local timer t = CreateTimer()
local unit u5 = GetSpellTargetUnit()
local real r
set udg_unit = u5
if ( Trig_NaturesChoose_Func003C() ) then
call UnitAddAbilityBJ( 'A13Y', udg_unit )
call UnitAddAbilityBJ( 'A13U', udg_unit )
else
call UnitAddAbilityBJ( 'A13X', udg_unit )
call UnitAddAbilityBJ( 'A13V', udg_unit )
endif
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u5)
set udg_real = ( 2.00 + I2R(GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetTriggerUnit())) )
set r = udg_real
call TimerStart(t,r,false,function NaturesChoose2)
set t=null
set u5=null
endfunction
//===========================================================================
function InitTrig_NaturesChoose_JASS takes nothing returns nothing
set gg_trg_NaturesChoose_JASS = CreateTrigger( )
set udg_Hash=InitHashtable()
call TriggerRegisterAnyUnitEventBJ( gg_trg_NaturesChoose_JASS, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_NaturesChoose_JASS, Condition( function Trig_NaturesChoose_Conditions ) )
call TriggerAddAction( gg_trg_NaturesChoose_JASS, function Trig_NaturesChoose_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_DamageDrain_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A14Q' ) ) then
return false
endif
return true
endfunction
function Trig_DamageDrain_Func002C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A14L', GetTriggerUnit()) == 1 ) ) then
return false
endif
return true
endfunction
function Trig_DamageDrain_Func003C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A14N', GetTriggerUnit()) >= 1 ) ) then
return false
endif
return true
endfunction
function Trig_DamageDrain_Actions takes nothing returns nothing
local unit u
if ( Trig_DamageDrain_Func002C() ) then
call IssueImmediateOrder( GetTriggerUnit(), "stop" )
set u = null
return
else
endif
if ( Trig_DamageDrain_Func003C() ) then
call AddSpecialEffectTargetUnitBJ( "chest", GetTriggerUnit(), "Abilities\\Spells\\Undead\\VampiricAura\\VampiricAuraTarget.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call SetUnitLifeBJ( GetTriggerUnit(), ( GetUnitStateSwap(UNIT_STATE_LIFE, GetTriggerUnit()) + ( ( 1 + I2R(GetUnitAbilityLevelSwapped('A14N', GetTriggerUnit())) ) * 5.00 ) ) )
else
endif
set udg_unit = GetSpellTargetUnit()
call UnitAddAbilityBJ( 'A14L', GetTriggerUnit() )
call UnitAddAbilityBJ( 'A14J', GetTriggerUnit() )
call UnitAddAbilityBJ( 'A14K', udg_unit )
call UnitAddAbilityBJ( 'A14M', udg_unit )
set u = udg_unit
call PolledWait( ( 4.00 * I2R(GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetTriggerUnit())) ) )
set udg_unit = u
call UnitRemoveAbilityBJ( 'A14L', GetTriggerUnit() )
call UnitRemoveAbilityBJ( 'A14J', GetTriggerUnit() )
call UnitRemoveAbilityBJ( 'A14K', udg_unit )
call UnitRemoveAbilityBJ( 'A14M', udg_unit )
set u = null
endfunction
//===========================================================================
function InitTrig_DamageDrain takes nothing returns nothing
set gg_trg_DamageDrain = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_DamageDrain, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_DamageDrain, Condition( function Trig_DamageDrain_Conditions ) )
call TriggerAddAction( gg_trg_DamageDrain, function Trig_DamageDrain_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_Snowball_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A14P' ) ) then
return false
endif
return true
endfunction
function Trig_Snowball_Func008002003 takes nothing returns boolean
return ( IsUnitType(GetFilterUnit(), UNIT_TYPE_HERO) == false )
endfunction
function Trig_Snowball_Func010C takes nothing returns boolean
if ( not ( CountUnitsInGroup(udg_g) >= 1 ) ) then
return false
endif
return true
endfunction
function Trig_Snowball_Func011C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A14N', GetTriggerUnit()) >= 1 ) ) then
return false
endif
return true
endfunction
function Trig_Snowball_Func059002003 takes nothing returns boolean
return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(udg_unit)) == true )
endfunction
function Trig_Snowball_Func061A takes nothing returns nothing
call UnitDamageTargetBJ( GetTriggerUnit(), GetEnumUnit(), ( ( ( 0.05 * I2R(GetUnitAbilityLevelSwapped('A14P', GetTriggerUnit())) ) + 0.25 ) * GetUnitStateSwap(UNIT_STATE_MAX_LIFE, udg_unit2) ), ATTACK_TYPE_CHAOS, DAMAGE_TYPE_DIVINE )
endfunction
function Trig_Snowball_Actions takes nothing returns nothing
local unit u
local unit u2
local location p
local integer i
local integer i2
set udg_real = GetUnitStateSwap(UNIT_STATE_MANA, GetTriggerUnit())
set udg_point = GetUnitLoc(GetTriggerUnit())
set udg_g = GetUnitsInRangeOfLocMatching(400.00, udg_point, Condition(function Trig_Snowball_Func008002003))
call ConditionalTriggerExecute( gg_trg_CleanG )
if ( Trig_Snowball_Func010C() ) then
set udg_unit2 = GroupPickRandomUnit(udg_g)
call ShowUnitHide( udg_unit2 )
else
call IssueImmediateOrder( GetTriggerUnit(), "stop" )
set i = 0
set i2 = 0
set p = null
set u = null
set u2 = null
call PolledWait( 0.20 )
call SetUnitManaBJ( GetTriggerUnit(), ( GetUnitStateSwap(UNIT_STATE_MANA, GetTriggerUnit()) + 150.00 ) )
return
endif
if ( Trig_Snowball_Func011C() ) then
call AddSpecialEffectTargetUnitBJ( "chest", GetTriggerUnit(), "Abilities\\Spells\\Undead\\VampiricAura\\VampiricAuraTarget.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call SetUnitLifeBJ( GetTriggerUnit(), ( GetUnitStateSwap(UNIT_STATE_LIFE, GetTriggerUnit()) + ( ( 1 + I2R(GetUnitAbilityLevelSwapped('A14N', GetTriggerUnit())) ) * 15.00 ) ) )
else
endif
call CreateNUnitsAtLoc( 1, 'n03H', GetOwningPlayer(GetTriggerUnit()), udg_point, bj_UNIT_FACING )
set udg_unit = GetLastCreatedUnit()
call UnitAddAbilityBJ( 'Arav', udg_unit )
call SetUnitPathing( udg_unit, false )
call PauseUnitBJ( true, udg_unit )
set udg_point = GetUnitLoc(GetTriggerUnit())
set udg_point2 = GetSpellTargetLoc()
set udg_integer = R2I(DistanceBetweenPoints(udg_point, udg_point2))
set udg_integer2 = R2I(I2R(GetUnitUserData(udg_unit)))
call CreateNUnitsAtLocFacingLocBJ( 1, 'n021', GetOwningPlayer(GetTriggerUnit()), udg_point, udg_point2 )
call UnitApplyTimedLifeBJ( 0.20, 'BTLF', GetLastCreatedUnit() )
call SetUnitUserData( udg_unit, R2I(GetUnitFacing(GetLastCreatedUnit())) )
call GroupAddUnitSimple( udg_unit, udg_TossJumpers )
set u = udg_unit
set u2 = udg_unit2
set i = udg_integer
set i2 = udg_integer2
set p = udg_point2
call PolledWait( ( I2R(udg_integer) / 2000.00 ) )
set udg_unit = u
set udg_integer = i
call GroupRemoveUnitSimple( udg_unit, udg_TossJumpers )
call GroupAddUnitSimple( udg_unit, udg_TossJumpers2 )
set u = udg_unit
set i = udg_integer
call PolledWait( ( I2R(udg_integer) / 2000.00 ) )
set udg_unit = u
set udg_integer = i
set udg_integer2 = i2
set udg_point2 = p
set udg_unit2 = u2
call GroupRemoveUnitSimple( udg_unit, udg_TossJumpers2 )
call UnitRemoveAbilityBJ( 'Arav', udg_unit )
call SetUnitFlyHeightBJ( udg_unit, GetUnitDefaultFlyHeight(udg_unit), 10000.00 )
call PauseUnitBJ( false, udg_unit )
call SetUnitUserData( udg_unit, udg_integer2 )
call SetUnitPositionLoc( udg_unit, udg_point2 )
set udg_tpoint = GetUnitLoc(udg_unit)
call RemoveUnit( udg_unit )
call CreateNUnitsAtLoc( 1, 'n03H', GetOwningPlayer(GetTriggerUnit()), udg_point, bj_UNIT_FACING )
call KillUnit( GetLastCreatedUnit() )
set udg_unit = GetLastCreatedUnit()
call RemoveUnit( udg_unit )
call SetUnitPositionLoc( udg_unit2, udg_tpoint )
call ShowUnitShow( udg_unit2 )
call AddSpecialEffectLocBJ( udg_tpoint, "war3mapImported\\frost warp.mdx" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
set udg_g = GetUnitsInRangeOfLocMatching(350.00, udg_tpoint, Condition(function Trig_Snowball_Func059002003))
call ConditionalTriggerExecute( gg_trg_CleanG )
call ForGroupBJ( udg_g, function Trig_Snowball_Func061A )
call KillUnit( udg_unit2 )
call RemoveLocation (udg_tpoint)
set i = 0
set i2 = 0
set p = null
set u = null
set u2 = null
endfunction
//===========================================================================
function InitTrig_Snowball takes nothing returns nothing
set gg_trg_Snowball = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Snowball, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Snowball, Condition( function Trig_Snowball_Conditions ) )
call TriggerAddAction( gg_trg_Snowball, function Trig_Snowball_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_SelfImmolation_Func001C takes nothing returns boolean
if ( not ( GetEventDamageSource() == GetTriggerUnit() ) ) then
return false
endif
return true
endfunction
function Trig_SelfImmolation_Actions takes nothing returns nothing
if ( Trig_SelfImmolation_Func001C() ) then
call SetUnitAbilityLevelSwapped( 'A154', GetTriggerUnit(), ( GetUnitAbilityLevelSwapped('A154', GetTriggerUnit()) + 1 ) )
call PolledWait( 20.00 )
call SetUnitAbilityLevelSwapped( 'A154', GetTriggerUnit(), ( GetUnitAbilityLevelSwapped('A154', GetTriggerUnit()) - 1 ) )
else
endif
endfunction
//===========================================================================
function InitTrig_SelfImmolation takes nothing returns nothing
set gg_trg_SelfImmolation = CreateTrigger( )
call TriggerAddAction( gg_trg_SelfImmolation, function Trig_SelfImmolation_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_FireDive_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A153' ) ) then
return false
endif
return true
endfunction
function Trig_FireDive_Func030002003 takes nothing returns boolean
return ( IsUnitEnemy(GetFilterUnit(), GetOwningPlayer(udg_unit)) == true )
endfunction
function Trig_FireDive_Func032A takes nothing returns nothing
call AddSpecialEffectTargetUnitBJ( "chest", GetEnumUnit(), "Abilities\\Spells\\Other\\Volcano\\VolcanoDeath.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call UnitDamageTargetBJ( GetTriggerUnit(), GetEnumUnit(), ( ( GetUnitStateSwap(UNIT_STATE_MAX_LIFE, GetTriggerUnit()) / 25.00 ) * I2R(GetUnitAbilityLevelSwapped('A153', GetTriggerUnit())) ), ATTACK_TYPE_CHAOS, DAMAGE_TYPE_DIVINE )
endfunction
function Trig_FireDive_Func041C takes nothing returns boolean
if ( not ( CountUnitsInGroup(udg_g) > 3 ) ) then
return false
endif
return true
endfunction
function Trig_FireDive_Actions takes nothing returns nothing
local unit u
local location p
local integer i
local integer i2
set udg_unit = GetTriggerUnit()
set udg_point = GetUnitLoc(GetTriggerUnit())
set udg_point2 = GetSpellTargetLoc()
call SetUnitPathing( udg_unit, false )
call PauseUnitBJ( true, udg_unit )
set udg_integer = R2I(DistanceBetweenPoints(udg_point, udg_point2))
set udg_integer2 = R2I(I2R(GetUnitUserData(udg_unit)))
call CreateNUnitsAtLocFacingLocBJ( 1, 'n021', GetOwningPlayer(GetTriggerUnit()), udg_point, udg_point2 )
call UnitApplyTimedLifeBJ( 0.20, 'BTLF', GetLastCreatedUnit() )
call SetUnitUserData( udg_unit, R2I(GetUnitFacing(GetLastCreatedUnit())) )
call GroupAddUnitSimple( udg_unit, udg_Aggressors )
set u = udg_unit
set i = udg_integer
set i2 = udg_integer2
set p = udg_point2
call PolledWait( ( I2R(udg_integer) / 1200.00 ) )
set udg_unit = u
set udg_integer = i
set udg_integer2 = i2
set udg_point2 = p
call GroupRemoveUnitSimple( udg_unit, udg_Aggressors )
call PauseUnitBJ( false, udg_unit )
call SetUnitUserData( udg_unit, udg_integer2 )
call SetUnitPositionLoc( udg_unit, udg_point2 )
set udg_tpoint = GetUnitLoc(udg_unit)
set udg_g = GetUnitsInRangeOfLocMatching(400.00, udg_tpoint, Condition(function Trig_FireDive_Func030002003))
call ConditionalTriggerExecute( gg_trg_CleanG )
call ForGroupBJ( udg_g, function Trig_FireDive_Func032A )
call AddSpecialEffectTargetUnitBJ( "chest", GetTriggerUnit(), "Abilities\\Spells\\Other\\Volcano\\VolcanoDeath.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call UnitDamageTargetBJ( GetTriggerUnit(), GetTriggerUnit(), ( ( GetUnitStateSwap(UNIT_STATE_MAX_LIFE, GetTriggerUnit()) / 25.00 ) * I2R(GetUnitAbilityLevelSwapped('A153', GetTriggerUnit())) ), ATTACK_TYPE_CHAOS, DAMAGE_TYPE_DIVINE )
call RemoveLocation (udg_tpoint)
set i = 0
set i2 = 0
set p = null
set u = null
if ( Trig_FireDive_Func041C() ) then
call UnitAddAbilityBJ( 'A155', GetTriggerUnit() )
else
endif
call PolledWait( 5.00 )
call UnitRemoveAbilityBJ( 'A155', GetTriggerUnit() )
call SetUnitPathing( GetTriggerUnit(), true )
endfunction
//===========================================================================
function InitTrig_FireDive takes nothing returns nothing
set gg_trg_FireDive = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_FireDive, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_FireDive, Condition( function Trig_FireDive_Conditions ) )
call TriggerAddAction( gg_trg_FireDive, function Trig_FireDive_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_SunTears_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A14Y' ) ) then
return false
endif
return true
endfunction
function Trig_SunTears_Func003002003 takes nothing returns boolean
return ( UnitHasBuffBJ(GetFilterUnit(), 'B09X') == false )
endfunction
function Trig_SunTears_Func006A takes nothing returns nothing
call UnitAddAbilityBJ( 'A152', GetEnumUnit() )
call UnitAddAbilityBJ( 'A151', GetEnumUnit() )
call UnitAddAbilityBJ( 'A14Z', GetEnumUnit() )
endfunction
function Trig_SunTears_Func010A takes nothing returns nothing
call UnitRemoveAbilityBJ( 'A14Z', GetEnumUnit() )
endfunction
function Trig_SunTears_Func014A takes nothing returns nothing
call UnitRemoveAbilityBJ( 'A152', GetEnumUnit() )
call UnitRemoveAbilityBJ( 'A151', GetEnumUnit() )
endfunction
function Trig_SunTears_Actions takes nothing returns nothing
local group pickunits
set udg_tpoint = GetUnitLoc(GetTriggerUnit())
set udg_g = GetUnitsInRangeOfLocMatching(300.00, udg_tpoint, Condition(function Trig_SunTears_Func003002003))
call RemoveLocation (udg_tpoint)
call ConditionalTriggerExecute( gg_trg_CleanG )
call ForGroupBJ( udg_g, function Trig_SunTears_Func006A )
set pickunits = udg_g
call PolledWait( 5.00 )
set udg_g = pickunits
call ForGroupBJ( udg_g, function Trig_SunTears_Func010A )
set pickunits = udg_g
call PolledWait( 1.00 )
set udg_g = pickunits
call ForGroupBJ( udg_g, function Trig_SunTears_Func014A )
set pickunits = null
endfunction
//===========================================================================
function InitTrig_SunTears takes nothing returns nothing
set gg_trg_SunTears = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_SunTears, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_SunTears, Condition( function Trig_SunTears_Conditions ) )
call TriggerAddAction( gg_trg_SunTears, function Trig_SunTears_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_AshesWhirlwind_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A15H' ) ) then
return false
endif
return true
endfunction
function Trig_AshesWhirlwind_Func003002003 takes nothing returns boolean
return ( IsUnitAlly(GetFilterUnit(), GetOwningPlayer(GetTriggerUnit())) == false )
endfunction
function Trig_AshesWhirlwind_Func006A takes nothing returns nothing
set udg_tpoint = GetUnitLoc(GetEnumUnit())
call AddSpecialEffectLocBJ( udg_tpoint, "war3mapImported\\EvilMissileofShadowyDOOMV2.mdx" )
call DestroyEffect( GetLastCreatedEffectBJ() )
call RemoveLocation (udg_tpoint)
call UnitDamageTargetBJ( GetTriggerUnit(), GetEnumUnit(), ( ( ( 1 + I2R(GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetTriggerUnit())) ) * 25.00 ) + ( ( ( I2R(GetHeroStatBJ(bj_HEROSTAT_INT, GetTriggerUnit(), true)) - ( I2R(GetHeroStatBJ(bj_HEROSTAT_STR, GetTriggerUnit(), true)) + I2R(GetHeroStatBJ(bj_HEROSTAT_AGI, GetTriggerUnit(), true)) ) ) * I2R(GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetTriggerUnit())) ) + 1 ) ), ATTACK_TYPE_CHAOS, DAMAGE_TYPE_DIVINE )
endfunction
function Trig_AshesWhirlwind_Func007Func001Func001C takes nothing returns boolean
if ( ( UnitHasBuffBJ(GetEnumUnit(), 'B002') == true ) ) then
return true
endif
return false
endfunction
function Trig_AshesWhirlwind_Func007Func001C takes nothing returns boolean
if ( not Trig_AshesWhirlwind_Func007Func001Func001C() ) then
return false
endif
return true
endfunction
function Trig_AshesWhirlwind_Func007A takes nothing returns nothing
if ( Trig_AshesWhirlwind_Func007Func001C() ) then
call GroupRemoveUnitSimple( GetEnumUnit(), udg_g )
else
endif
endfunction
function Trig_AshesWhirlwind_Func008Func003Func001Func001Func001C takes nothing returns boolean
if ( ( GetHeroLevel(GetEnumUnit()) >= 10 ) ) then
return true
endif
if ( ( GetUnitLevel(GetEnumUnit()) >= 10 ) ) then
return true
endif
return false
endfunction
function Trig_AshesWhirlwind_Func008Func003Func001Func001Func002Func001C takes nothing returns boolean
if ( ( GetHeroLevel(GetEnumUnit()) >= 5 ) ) then
return true
endif
if ( ( GetUnitLevel(GetEnumUnit()) >= 5 ) ) then
return true
endif
return false
endfunction
function Trig_AshesWhirlwind_Func008Func003Func001Func001Func002C takes nothing returns boolean
if ( not Trig_AshesWhirlwind_Func008Func003Func001Func001Func002Func001C() ) then
return false
endif
return true
endfunction
function Trig_AshesWhirlwind_Func008Func003Func001Func001C takes nothing returns boolean
if ( not Trig_AshesWhirlwind_Func008Func003Func001Func001Func001C() ) then
return false
endif
return true
endfunction
function Trig_AshesWhirlwind_Func008Func003Func001C takes nothing returns boolean
if ( not ( GetHeroLevel(GetEnumUnit()) >= 15 ) ) then
return false
endif
return true
endfunction
function Trig_AshesWhirlwind_Func008Func003C takes nothing returns boolean
if ( not ( GetHeroLevel(GetEnumUnit()) >= 20 ) ) then
return false
endif
return true
endfunction
function Trig_AshesWhirlwind_Func008Func004Func001Func001Func001Func001Func001Func001Func001Func001C takes nothing returns boolean
if ( not ( udg_integer == 9 ) ) then
return false
endif
return true
endfunction
function Trig_AshesWhirlwind_Func008Func004Func001Func001Func001Func001Func001Func001Func001C takes nothing returns boolean
if ( not ( udg_integer == 8 ) ) then
return false
endif
return true
endfunction
function Trig_AshesWhirlwind_Func008Func004Func001Func001Func001Func001Func001Func001C takes nothing returns boolean
if ( not ( udg_integer == 7 ) ) then
return false
endif
return true
endfunction
function Trig_AshesWhirlwind_Func008Func004Func001Func001Func001Func001Func001C takes nothing returns boolean
if ( not ( udg_integer == 6 ) ) then
return false
endif
return true
endfunction
function Trig_AshesWhirlwind_Func008Func004Func001Func001Func001Func001C takes nothing returns boolean
if ( not ( udg_integer == 5 ) ) then
return false
endif
return true
endfunction
function Trig_AshesWhirlwind_Func008Func004Func001Func001Func001C takes nothing returns boolean
if ( not ( udg_integer == 4 ) ) then
return false
endif
return true
endfunction
function Trig_AshesWhirlwind_Func008Func004Func001Func001C takes nothing returns boolean
if ( not ( udg_integer == 3 ) ) then
return false
endif
return true
endfunction
function Trig_AshesWhirlwind_Func008Func004Func001C takes nothing returns boolean
if ( not ( udg_integer == 2 ) ) then
return false
endif
return true
endfunction
function Trig_AshesWhirlwind_Func008Func004C takes nothing returns boolean
if ( not ( udg_integer == 1 ) ) then
return false
endif
return true
endfunction
function Trig_AshesWhirlwind_Func008A takes nothing returns nothing
call UnitAddAbilityBJ( 'A15G', GetEnumUnit() )
set udg_integer = GetUnitAbilityLevelSwapped('A15S', GetTriggerUnit())
if ( Trig_AshesWhirlwind_Func008Func003C() ) then
set udg_integer = ( udg_integer + 4 )
else
if ( Trig_AshesWhirlwind_Func008Func003Func001C() ) then
set udg_integer = ( udg_integer + 3 )
else
if ( Trig_AshesWhirlwind_Func008Func003Func001Func001C() ) then
set udg_integer = ( udg_integer + 2 )
else
if ( Trig_AshesWhirlwind_Func008Func003Func001Func001Func002C() ) then
set udg_integer = ( udg_integer + 1 )
else
endif
endif
endif
endif
if ( Trig_AshesWhirlwind_Func008Func004C() ) then
call UnitAddAbilityBJ( 'A15U', GetEnumUnit() )
else
if ( Trig_AshesWhirlwind_Func008Func004Func001C() ) then
call UnitAddAbilityBJ( 'A15K', GetEnumUnit() )
else
if ( Trig_AshesWhirlwind_Func008Func004Func001Func001C() ) then
call UnitAddAbilityBJ( 'A15O', GetEnumUnit() )
else
if ( Trig_AshesWhirlwind_Func008Func004Func001Func001Func001C() ) then
call UnitAddAbilityBJ( 'A15M', GetEnumUnit() )
else
if ( Trig_AshesWhirlwind_Func008Func004Func001Func001Func001Func001C() ) then
call UnitAddAbilityBJ( 'A15N', GetEnumUnit() )
else
if ( Trig_AshesWhirlwind_Func008Func004Func001Func001Func001Func001Func001C() ) then
call UnitAddAbilityBJ( 'A15Q', GetEnumUnit() )
else
if ( Trig_AshesWhirlwind_Func008Func004Func001Func001Func001Func001Func001Func001C() ) then
call UnitAddAbilityBJ( 'A15R', GetEnumUnit() )
else
if ( Trig_AshesWhirlwind_Func008Func004Func001Func001Func001Func001Func001Func001Func001C() ) then
call UnitAddAbilityBJ( 'A15P', GetEnumUnit() )
else
if ( Trig_AshesWhirlwind_Func008Func004Func001Func001Func001Func001Func001Func001Func001Func001C() ) then
call UnitAddAbilityBJ( 'A15L', GetEnumUnit() )
else
endif
endif
endif
endif
endif
endif
endif
endif
endif
endfunction
function Trig_AshesWhirlwind_Func012A takes nothing returns nothing
call UnitRemoveAbilityBJ( 'A15G', GetEnumUnit() )
endfunction
function Trig_AshesWhirlwind_Func016A takes nothing returns nothing
call UnitRemoveAbilityBJ( 'A15U', GetEnumUnit() )
call UnitRemoveAbilityBJ( 'A15K', GetEnumUnit() )
call UnitRemoveAbilityBJ( 'A15O', GetEnumUnit() )
call UnitRemoveAbilityBJ( 'A15M', GetEnumUnit() )
call UnitRemoveAbilityBJ( 'A15N', GetEnumUnit() )
call UnitRemoveAbilityBJ( 'A15Q', GetEnumUnit() )
call UnitRemoveAbilityBJ( 'A15R', GetEnumUnit() )
call UnitRemoveAbilityBJ( 'A15P', GetEnumUnit() )
call UnitRemoveAbilityBJ( 'A15L', GetEnumUnit() )
endfunction
function Trig_AshesWhirlwind_Actions takes nothing returns nothing
local group pickunits
set udg_tpoint = GetUnitLoc(GetTriggerUnit())
set udg_g = GetUnitsInRangeOfLocMatching(600.00, udg_tpoint, Condition(function Trig_AshesWhirlwind_Func003002003))
call RemoveLocation (udg_tpoint)
call ConditionalTriggerExecute( gg_trg_CleanG )
call ForGroupBJ( udg_g, function Trig_AshesWhirlwind_Func006A )
call ForGroupBJ( udg_g, function Trig_AshesWhirlwind_Func007A )
call ForGroupBJ( udg_g, function Trig_AshesWhirlwind_Func008A )
set pickunits = udg_g
call PolledWait( 3.00 )
set udg_g = pickunits
call ForGroupBJ( udg_g, function Trig_AshesWhirlwind_Func012A )
set pickunits = udg_g
call PolledWait( 1.00 )
set udg_g = pickunits
call ForGroupBJ( udg_g, function Trig_AshesWhirlwind_Func016A )
set pickunits = null
endfunction
//===========================================================================
function InitTrig_AshesWhirlwind takes nothing returns nothing
set gg_trg_AshesWhirlwind = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_AshesWhirlwind, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_AshesWhirlwind, Condition( function Trig_AshesWhirlwind_Conditions ) )
call TriggerAddAction( gg_trg_AshesWhirlwind, function Trig_AshesWhirlwind_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_Skullcircle_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A15J' ) ) then
return false
endif
return true
endfunction
function Trig_Skullcircle_Func074002003 takes nothing returns boolean
return ( IsUnitAlly(GetFilterUnit(), GetOwningPlayer(GetTriggerUnit())) == false )
endfunction
function Trig_Skullcircle_Func077Func001Func001C takes nothing returns boolean
if ( ( UnitHasBuffBJ(GetEnumUnit(), 'B002') == true ) ) then
return true
endif
return false
endfunction
function Trig_Skullcircle_Func077Func001C takes nothing returns boolean
if ( not Trig_Skullcircle_Func077Func001Func001C() ) then
return false
endif
return true
endfunction
function Trig_Skullcircle_Func077A takes nothing returns nothing
if ( Trig_Skullcircle_Func077Func001C() ) then
call GroupRemoveUnitSimple( GetEnumUnit(), udg_g )
else
endif
endfunction
function Trig_Skullcircle_Func078Func003Func001Func001Func001C takes nothing returns boolean
if ( ( GetHeroLevel(GetEnumUnit()) >= 10 ) ) then
return true
endif
if ( ( GetUnitLevel(GetEnumUnit()) >= 10 ) ) then
return true
endif
return false
endfunction
function Trig_Skullcircle_Func078Func003Func001Func001Func002Func001C takes nothing returns boolean
if ( ( GetHeroLevel(GetEnumUnit()) >= 5 ) ) then
return true
endif
if ( ( GetUnitLevel(GetEnumUnit()) >= 5 ) ) then
return true
endif
return false
endfunction
function Trig_Skullcircle_Func078Func003Func001Func001Func002C takes nothing returns boolean
if ( not Trig_Skullcircle_Func078Func003Func001Func001Func002Func001C() ) then
return false
endif
return true
endfunction
function Trig_Skullcircle_Func078Func003Func001Func001C takes nothing returns boolean
if ( not Trig_Skullcircle_Func078Func003Func001Func001Func001C() ) then
return false
endif
return true
endfunction
function Trig_Skullcircle_Func078Func003Func001C takes nothing returns boolean
if ( not ( GetHeroLevel(GetEnumUnit()) >= 15 ) ) then
return false
endif
return true
endfunction
function Trig_Skullcircle_Func078Func003C takes nothing returns boolean
if ( not ( GetHeroLevel(GetEnumUnit()) >= 20 ) ) then
return false
endif
return true
endfunction
function Trig_Skullcircle_Func078Func004Func001Func001Func001Func001Func001Func001Func001Func001C takes nothing returns boolean
if ( not ( udg_integer == 9 ) ) then
return false
endif
return true
endfunction
function Trig_Skullcircle_Func078Func004Func001Func001Func001Func001Func001Func001Func001C takes nothing returns boolean
if ( not ( udg_integer == 8 ) ) then
return false
endif
return true
endfunction
function Trig_Skullcircle_Func078Func004Func001Func001Func001Func001Func001Func001C takes nothing returns boolean
if ( not ( udg_integer == 7 ) ) then
return false
endif
return true
endfunction
function Trig_Skullcircle_Func078Func004Func001Func001Func001Func001Func001C takes nothing returns boolean
if ( not ( udg_integer == 6 ) ) then
return false
endif
return true
endfunction
function Trig_Skullcircle_Func078Func004Func001Func001Func001Func001C takes nothing returns boolean
if ( not ( udg_integer == 5 ) ) then
return false
endif
return true
endfunction
function Trig_Skullcircle_Func078Func004Func001Func001Func001C takes nothing returns boolean
if ( not ( udg_integer == 4 ) ) then
return false
endif
return true
endfunction
function Trig_Skullcircle_Func078Func004Func001Func001C takes nothing returns boolean
if ( not ( udg_integer == 3 ) ) then
return false
endif
return true
endfunction
function Trig_Skullcircle_Func078Func004Func001C takes nothing returns boolean
if ( not ( udg_integer == 2 ) ) then
return false
endif
return true
endfunction
function Trig_Skullcircle_Func078Func004C takes nothing returns boolean
if ( not ( udg_integer == 1 ) ) then
return false
endif
return true
endfunction
function Trig_Skullcircle_Func078A takes nothing returns nothing
call UnitAddAbilityBJ( 'A15G', GetEnumUnit() )
set udg_integer = GetUnitAbilityLevelSwapped('A15S', GetTriggerUnit())
if ( Trig_Skullcircle_Func078Func003C() ) then
set udg_integer = ( udg_integer + 4 )
else
if ( Trig_Skullcircle_Func078Func003Func001C() ) then
set udg_integer = ( udg_integer + 3 )
else
if ( Trig_Skullcircle_Func078Func003Func001Func001C() ) then
set udg_integer = ( udg_integer + 2 )
else
if ( Trig_Skullcircle_Func078Func003Func001Func001Func002C() ) then
set udg_integer = ( udg_integer + 1 )
else
endif
endif
endif
endif
if ( Trig_Skullcircle_Func078Func004C() ) then
call UnitAddAbilityBJ( 'A15U', GetEnumUnit() )
else
if ( Trig_Skullcircle_Func078Func004Func001C() ) then
call UnitAddAbilityBJ( 'A15K', GetEnumUnit() )
else
if ( Trig_Skullcircle_Func078Func004Func001Func001C() ) then
call UnitAddAbilityBJ( 'A15O', GetEnumUnit() )
else
if ( Trig_Skullcircle_Func078Func004Func001Func001Func001C() ) then
call UnitAddAbilityBJ( 'A15M', GetEnumUnit() )
else
if ( Trig_Skullcircle_Func078Func004Func001Func001Func001Func001C() ) then
call UnitAddAbilityBJ( 'A15N', GetEnumUnit() )
else
if ( Trig_Skullcircle_Func078Func004Func001Func001Func001Func001Func001C() ) then
call UnitAddAbilityBJ( 'A15Q', GetEnumUnit() )
else
if ( Trig_Skullcircle_Func078Func004Func001Func001Func001Func001Func001Func001C() ) then
call UnitAddAbilityBJ( 'A15R', GetEnumUnit() )
else
if ( Trig_Skullcircle_Func078Func004Func001Func001Func001Func001Func001Func001Func001C() ) then
call UnitAddAbilityBJ( 'A15P', GetEnumUnit() )
else
if ( Trig_Skullcircle_Func078Func004Func001Func001Func001Func001Func001Func001Func001Func001C() ) then
call UnitAddAbilityBJ( 'A15L', GetEnumUnit() )
else
endif
endif
endif
endif
endif
endif
endif
endif
endif
endfunction
function Trig_Skullcircle_Func082A takes nothing returns nothing
call UnitRemoveAbilityBJ( 'A15G', GetEnumUnit() )
endfunction
function Trig_Skullcircle_Func086A takes nothing returns nothing
call UnitRemoveAbilityBJ( 'A15U', GetEnumUnit() )
call UnitRemoveAbilityBJ( 'A15K', GetEnumUnit() )
call UnitRemoveAbilityBJ( 'A15O', GetEnumUnit() )
call UnitRemoveAbilityBJ( 'A15M', GetEnumUnit() )
call UnitRemoveAbilityBJ( 'A15N', GetEnumUnit() )
call UnitRemoveAbilityBJ( 'A15Q', GetEnumUnit() )
call UnitRemoveAbilityBJ( 'A15R', GetEnumUnit() )
call UnitRemoveAbilityBJ( 'A15P', GetEnumUnit() )
call UnitRemoveAbilityBJ( 'A15L', GetEnumUnit() )
endfunction
function Trig_Skullcircle_Actions takes nothing returns nothing
local group pickunits
set udg_tpoint = GetUnitLoc(GetTriggerUnit())
set udg_tpoint2 = OffsetLocation(udg_tpoint, -300.00, 80.00)
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call CreateNUnitsAtLocFacingLocBJ( 1, 'n03J', GetOwningPlayer(GetTriggerUnit()), udg_tpoint2, udg_tpoint )
call UnitApplyTimedLifeBJ( ( 2.00 + I2R(GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetTriggerUnit())) ), 'BTLF', GetLastCreatedUnit() )
call RemoveLocation (udg_tpoint2)
set udg_tpoint2 = OffsetLocation(udg_tpoint, -200.00, 160.00)
call AddSpecialEffectLocBJ( udg_tpoint2, "war3mapImported\\Fireworksgreen.mdx" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call CreateNUnitsAtLocFacingLocBJ( 1, 'n03J', GetOwningPlayer(GetTriggerUnit()), udg_tpoint2, udg_tpoint )
call UnitApplyTimedLifeBJ( ( 2.00 + I2R(GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetTriggerUnit())) ), 'BTLF', GetLastCreatedUnit() )
call RemoveLocation (udg_tpoint2)
set udg_tpoint2 = OffsetLocation(udg_tpoint, -100.00, 240.00)
call AddSpecialEffectLocBJ( udg_tpoint2, "war3mapImported\\Fireworksgreen.mdx" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call CreateNUnitsAtLocFacingLocBJ( 1, 'n03J', GetOwningPlayer(GetTriggerUnit()), udg_tpoint2, udg_tpoint )
call UnitApplyTimedLifeBJ( ( 2.00 + I2R(GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetTriggerUnit())) ), 'BTLF', GetLastCreatedUnit() )
call RemoveLocation (udg_tpoint2)
set udg_tpoint2 = OffsetLocation(udg_tpoint, -300.00, -80.00)
call AddSpecialEffectLocBJ( udg_tpoint2, "war3mapImported\\Fireworksgreen.mdx" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call CreateNUnitsAtLocFacingLocBJ( 1, 'n03J', GetOwningPlayer(GetTriggerUnit()), udg_tpoint2, udg_tpoint )
call UnitApplyTimedLifeBJ( ( 2.00 + I2R(GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetTriggerUnit())) ), 'BTLF', GetLastCreatedUnit() )
call RemoveLocation (udg_tpoint2)
set udg_tpoint2 = OffsetLocation(udg_tpoint, -200.00, -160.00)
call AddSpecialEffectLocBJ( udg_tpoint2, "war3mapImported\\Fireworksgreen.mdx" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call CreateNUnitsAtLocFacingLocBJ( 1, 'n03J', GetOwningPlayer(GetTriggerUnit()), udg_tpoint2, udg_tpoint )
call UnitApplyTimedLifeBJ( ( 2.00 + I2R(GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetTriggerUnit())) ), 'BTLF', GetLastCreatedUnit() )
call RemoveLocation (udg_tpoint2)
set udg_tpoint2 = OffsetLocation(udg_tpoint, -100.00, -240.00)
call AddSpecialEffectLocBJ( udg_tpoint2, "war3mapImported\\Fireworksgreen.mdx" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call CreateNUnitsAtLocFacingLocBJ( 1, 'n03J', GetOwningPlayer(GetTriggerUnit()), udg_tpoint2, udg_tpoint )
call UnitApplyTimedLifeBJ( ( 2.00 + I2R(GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetTriggerUnit())) ), 'BTLF', GetLastCreatedUnit() )
call RemoveLocation (udg_tpoint2)
set udg_tpoint2 = OffsetLocation(udg_tpoint, 300.00, 80.00)
call AddSpecialEffectLocBJ( udg_tpoint2, "war3mapImported\\Fireworksgreen.mdx" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call CreateNUnitsAtLocFacingLocBJ( 1, 'n03J', GetOwningPlayer(GetTriggerUnit()), udg_tpoint2, udg_tpoint )
call UnitApplyTimedLifeBJ( ( 2.00 + I2R(GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetTriggerUnit())) ), 'BTLF', GetLastCreatedUnit() )
call RemoveLocation (udg_tpoint2)
set udg_tpoint2 = OffsetLocation(udg_tpoint, 200.00, 160.00)
call AddSpecialEffectLocBJ( udg_tpoint2, "war3mapImported\\Fireworksgreen.mdx" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call CreateNUnitsAtLocFacingLocBJ( 1, 'n03J', GetOwningPlayer(GetTriggerUnit()), udg_tpoint2, udg_tpoint )
call UnitApplyTimedLifeBJ( ( 2.00 + I2R(GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetTriggerUnit())) ), 'BTLF', GetLastCreatedUnit() )
call RemoveLocation (udg_tpoint2)
set udg_tpoint2 = OffsetLocation(udg_tpoint, 100.00, 240.00)
call AddSpecialEffectLocBJ( udg_tpoint2, "war3mapImported\\Fireworksgreen.mdx" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call CreateNUnitsAtLocFacingLocBJ( 1, 'n03J', GetOwningPlayer(GetTriggerUnit()), udg_tpoint2, udg_tpoint )
call UnitApplyTimedLifeBJ( ( 2.00 + I2R(GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetTriggerUnit())) ), 'BTLF', GetLastCreatedUnit() )
call RemoveLocation (udg_tpoint2)
set udg_tpoint2 = OffsetLocation(udg_tpoint, 300.00, -80.00)
call AddSpecialEffectLocBJ( udg_tpoint2, "war3mapImported\\Fireworksgreen.mdx" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call CreateNUnitsAtLocFacingLocBJ( 1, 'n03J', GetOwningPlayer(GetTriggerUnit()), udg_tpoint2, udg_tpoint )
call UnitApplyTimedLifeBJ( ( 2.00 + I2R(GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetTriggerUnit())) ), 'BTLF', GetLastCreatedUnit() )
call RemoveLocation (udg_tpoint2)
set udg_tpoint2 = OffsetLocation(udg_tpoint, 200.00, -160.00)
call AddSpecialEffectLocBJ( udg_tpoint2, "war3mapImported\\Fireworksgreen.mdx" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call CreateNUnitsAtLocFacingLocBJ( 1, 'n03J', GetOwningPlayer(GetTriggerUnit()), udg_tpoint2, udg_tpoint )
call UnitApplyTimedLifeBJ( ( 2.00 + I2R(GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetTriggerUnit())) ), 'BTLF', GetLastCreatedUnit() )
call RemoveLocation (udg_tpoint2)
set udg_tpoint2 = OffsetLocation(udg_tpoint, 100.00, -240.00)
call AddSpecialEffectLocBJ( udg_tpoint2, "war3mapImported\\Fireworksgreen.mdx" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call CreateNUnitsAtLocFacingLocBJ( 1, 'n03J', GetOwningPlayer(GetTriggerUnit()), udg_tpoint2, udg_tpoint )
call UnitApplyTimedLifeBJ( ( 2.00 + I2R(GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetTriggerUnit())) ), 'BTLF', GetLastCreatedUnit() )
call RemoveLocation (udg_tpoint2)
set udg_g = GetUnitsInRangeOfLocMatching(600.00, udg_tpoint, Condition(function Trig_Skullcircle_Func074002003))
call RemoveLocation (udg_tpoint)
call ConditionalTriggerExecute( gg_trg_CleanG )
call ForGroupBJ( udg_g, function Trig_Skullcircle_Func077A )
call ForGroupBJ( udg_g, function Trig_Skullcircle_Func078A )
set pickunits = udg_g
call PolledWait( 3.00 )
set udg_g = pickunits
call ForGroupBJ( udg_g, function Trig_Skullcircle_Func082A )
set pickunits = udg_g
call PolledWait( 1.00 )
set udg_g = pickunits
call ForGroupBJ( udg_g, function Trig_Skullcircle_Func086A )
set pickunits = null
endfunction
//===========================================================================
function InitTrig_Skullcircle takes nothing returns nothing
set gg_trg_Skullcircle = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Skullcircle, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Skullcircle, Condition( function Trig_Skullcircle_Conditions ) )
call TriggerAddAction( gg_trg_Skullcircle, function Trig_Skullcircle_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_FlyingSpirit_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A15T' ) ) then
return false
endif
return true
endfunction
function Trig_FlyingSpirit_Func012002003 takes nothing returns boolean
return ( IsUnitAlly(GetFilterUnit(), GetOwningPlayer(GetTriggerUnit())) == false )
endfunction
function Trig_FlyingSpirit_Func015Func001Func001C takes nothing returns boolean
if ( ( UnitHasBuffBJ(GetEnumUnit(), 'B002') == true ) ) then
return true
endif
return false
endfunction
function Trig_FlyingSpirit_Func015Func001C takes nothing returns boolean
if ( not Trig_FlyingSpirit_Func015Func001Func001C() ) then
return false
endif
return true
endfunction
function Trig_FlyingSpirit_Func015A takes nothing returns nothing
if ( Trig_FlyingSpirit_Func015Func001C() ) then
call GroupRemoveUnitSimple( GetEnumUnit(), udg_g )
else
endif
endfunction
function Trig_FlyingSpirit_Func016Func003Func001Func001Func001C takes nothing returns boolean
if ( ( GetHeroLevel(GetEnumUnit()) >= 10 ) ) then
return true
endif
if ( ( GetUnitLevel(GetEnumUnit()) >= 10 ) ) then
return true
endif
return false
endfunction
function Trig_FlyingSpirit_Func016Func003Func001Func001Func002Func001C takes nothing returns boolean
if ( ( GetHeroLevel(GetEnumUnit()) >= 5 ) ) then
return true
endif
if ( ( GetUnitLevel(GetEnumUnit()) >= 5 ) ) then
return true
endif
return false
endfunction
function Trig_FlyingSpirit_Func016Func003Func001Func001Func002C takes nothing returns boolean
if ( not Trig_FlyingSpirit_Func016Func003Func001Func001Func002Func001C() ) then
return false
endif
return true
endfunction
function Trig_FlyingSpirit_Func016Func003Func001Func001C takes nothing returns boolean
if ( not Trig_FlyingSpirit_Func016Func003Func001Func001Func001C() ) then
return false
endif
return true
endfunction
function Trig_FlyingSpirit_Func016Func003Func001C takes nothing returns boolean
if ( not ( GetHeroLevel(GetEnumUnit()) >= 15 ) ) then
return false
endif
return true
endfunction
function Trig_FlyingSpirit_Func016Func003C takes nothing returns boolean
if ( not ( GetHeroLevel(GetEnumUnit()) >= 20 ) ) then
return false
endif
return true
endfunction
function Trig_FlyingSpirit_Func016Func004Func001Func001Func001Func001Func001Func001Func001Func001C takes nothing returns boolean
if ( not ( udg_integer == 9 ) ) then
return false
endif
return true
endfunction
function Trig_FlyingSpirit_Func016Func004Func001Func001Func001Func001Func001Func001Func001C takes nothing returns boolean
if ( not ( udg_integer == 8 ) ) then
return false
endif
return true
endfunction
function Trig_FlyingSpirit_Func016Func004Func001Func001Func001Func001Func001Func001C takes nothing returns boolean
if ( not ( udg_integer == 7 ) ) then
return false
endif
return true
endfunction
function Trig_FlyingSpirit_Func016Func004Func001Func001Func001Func001Func001C takes nothing returns boolean
if ( not ( udg_integer == 6 ) ) then
return false
endif
return true
endfunction
function Trig_FlyingSpirit_Func016Func004Func001Func001Func001Func001C takes nothing returns boolean
if ( not ( udg_integer == 5 ) ) then
return false
endif
return true
endfunction
function Trig_FlyingSpirit_Func016Func004Func001Func001Func001C takes nothing returns boolean
if ( not ( udg_integer == 4 ) ) then
return false
endif
return true
endfunction
function Trig_FlyingSpirit_Func016Func004Func001Func001C takes nothing returns boolean
if ( not ( udg_integer == 3 ) ) then
return false
endif
return true
endfunction
function Trig_FlyingSpirit_Func016Func004Func001C takes nothing returns boolean
if ( not ( udg_integer == 2 ) ) then
return false
endif
return true
endfunction
function Trig_FlyingSpirit_Func016Func004C takes nothing returns boolean
if ( not ( udg_integer == 1 ) ) then
return false
endif
return true
endfunction
function Trig_FlyingSpirit_Func016A takes nothing returns nothing
call UnitAddAbilityBJ( 'A15G', GetEnumUnit() )
set udg_integer = GetUnitAbilityLevelSwapped('A15S', GetTriggerUnit())
if ( Trig_FlyingSpirit_Func016Func003C() ) then
set udg_integer = ( udg_integer + 4 )
else
if ( Trig_FlyingSpirit_Func016Func003Func001C() ) then
set udg_integer = ( udg_integer + 3 )
else
if ( Trig_FlyingSpirit_Func016Func003Func001Func001C() ) then
set udg_integer = ( udg_integer + 2 )
else
if ( Trig_FlyingSpirit_Func016Func003Func001Func001Func002C() ) then
set udg_integer = ( udg_integer + 1 )
else
endif
endif
endif
endif
if ( Trig_FlyingSpirit_Func016Func004C() ) then
call UnitAddAbilityBJ( 'A15U', GetEnumUnit() )
else
if ( Trig_FlyingSpirit_Func016Func004Func001C() ) then
call UnitAddAbilityBJ( 'A15K', GetEnumUnit() )
else
if ( Trig_FlyingSpirit_Func016Func004Func001Func001C() ) then
call UnitAddAbilityBJ( 'A15O', GetEnumUnit() )
else
if ( Trig_FlyingSpirit_Func016Func004Func001Func001Func001C() ) then
call UnitAddAbilityBJ( 'A15M', GetEnumUnit() )
else
if ( Trig_FlyingSpirit_Func016Func004Func001Func001Func001Func001C() ) then
call UnitAddAbilityBJ( 'A15N', GetEnumUnit() )
else
if ( Trig_FlyingSpirit_Func016Func004Func001Func001Func001Func001Func001C() ) then
call UnitAddAbilityBJ( 'A15Q', GetEnumUnit() )
else
if ( Trig_FlyingSpirit_Func016Func004Func001Func001Func001Func001Func001Func001C() ) then
call UnitAddAbilityBJ( 'A15R', GetEnumUnit() )
else
if ( Trig_FlyingSpirit_Func016Func004Func001Func001Func001Func001Func001Func001Func001C() ) then
call UnitAddAbilityBJ( 'A15P', GetEnumUnit() )
else
if ( Trig_FlyingSpirit_Func016Func004Func001Func001Func001Func001Func001Func001Func001Func001C() ) then
call UnitAddAbilityBJ( 'A15L', GetEnumUnit() )
else
endif
endif
endif
endif
endif
endif
endif
endif
endif
endfunction
function Trig_FlyingSpirit_Func020A takes nothing returns nothing
call UnitRemoveAbilityBJ( 'A15G', GetEnumUnit() )
endfunction
function Trig_FlyingSpirit_Func024A takes nothing returns nothing
call UnitRemoveAbilityBJ( 'A15U', GetEnumUnit() )
call UnitRemoveAbilityBJ( 'A15K', GetEnumUnit() )
call UnitRemoveAbilityBJ( 'A15O', GetEnumUnit() )
call UnitRemoveAbilityBJ( 'A15M', GetEnumUnit() )
call UnitRemoveAbilityBJ( 'A15N', GetEnumUnit() )
call UnitRemoveAbilityBJ( 'A15Q', GetEnumUnit() )
call UnitRemoveAbilityBJ( 'A15R', GetEnumUnit() )
call UnitRemoveAbilityBJ( 'A15P', GetEnumUnit() )
call UnitRemoveAbilityBJ( 'A15L', GetEnumUnit() )
endfunction
function Trig_FlyingSpirit_Actions takes nothing returns nothing
local group pickunits
set udg_tpoint = GetSpellTargetLoc()
set udg_tpoint2 = GetUnitLoc(GetTriggerUnit())
call CreateNUnitsAtLocFacingLocBJ( 1, 'n03K', GetOwningPlayer(GetTriggerUnit()), udg_tpoint2, udg_tpoint )
call UnitApplyTimedLifeBJ( 10.00, 'BTLF', GetLastCreatedUnit() )
set udg_SinestroSkull[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = GetLastCreatedUnit()
call SetUnitUserData( GetLastCreatedUnit(), R2I(GetUnitFacing(GetLastCreatedUnit())) )
call GroupAddUnitSimple( GetLastCreatedUnit(), udg_Aggressors )
call RemoveLocation (udg_tpoint)
call RemoveLocation (udg_tpoint2)
set udg_tpoint = GetUnitLoc(GetTriggerUnit())
set udg_g = GetUnitsInRangeOfLocMatching(600.00, udg_tpoint, Condition(function Trig_FlyingSpirit_Func012002003))
call RemoveLocation (udg_tpoint)
call ConditionalTriggerExecute( gg_trg_CleanG )
call ForGroupBJ( udg_g, function Trig_FlyingSpirit_Func015A )
call ForGroupBJ( udg_g, function Trig_FlyingSpirit_Func016A )
set pickunits = udg_g
call PolledWait( 3.00 )
set udg_g = pickunits
call ForGroupBJ( udg_g, function Trig_FlyingSpirit_Func020A )
set pickunits = udg_g
call PolledWait( 1.00 )
set udg_g = pickunits
call ForGroupBJ( udg_g, function Trig_FlyingSpirit_Func024A )
set pickunits = null
endfunction
//===========================================================================
function InitTrig_FlyingSpirit takes nothing returns nothing
set gg_trg_FlyingSpirit = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_FlyingSpirit, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_FlyingSpirit, Condition( function Trig_FlyingSpirit_Conditions ) )
call TriggerAddAction( gg_trg_FlyingSpirit, function Trig_FlyingSpirit_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_FlyingSpirit2_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A15I' ) ) then
return false
endif
return true
endfunction
function Trig_FlyingSpirit2_Func002Func002002003 takes nothing returns boolean
return ( IsUnitAlly(GetFilterUnit(), GetOwningPlayer(GetTriggerUnit())) == false )
endfunction
function Trig_FlyingSpirit2_Func002Func005A takes nothing returns nothing
set udg_tpoint = GetUnitLoc(GetEnumUnit())
call AddSpecialEffectLocBJ( udg_tpoint, "Abilities\\Spells\\Undead\\DeathCoil\\DeathCoilSpecialArt.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call UnitDamageTargetBJ( GetTriggerUnit(), GetEnumUnit(), ( 300.00 * I2R(GetUnitAbilityLevelSwapped('A15I', GetTriggerUnit())) ), ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
set udg_tpoint2 = GetUnitLoc(GetTriggerUnit())
call CreateNUnitsAtLocFacingLocBJ( 1, 'n021', GetOwningPlayer(GetTriggerUnit()), udg_tpoint, udg_tpoint2 )
call UnitApplyTimedLifeBJ( 0.20, 'BTLF', GetLastCreatedUnit() )
call SetUnitAcquireRangeBJ( GetEnumUnit(), I2R(GetUnitUserData(GetEnumUnit())) )
call SetUnitUserData( GetEnumUnit(), R2I(GetUnitFacing(GetLastCreatedUnit())) )
call RemoveLocation (udg_tpoint)
call RemoveLocation (udg_tpoint2)
call PauseUnitBJ( true, GetEnumUnit() )
call SetUnitInvulnerable( GetEnumUnit(), true )
call GroupAddUnitSimple( GetEnumUnit(), udg_Aggressors )
call SetUnitPathing( GetEnumUnit(), false )
endfunction
function Trig_FlyingSpirit2_Func002Func010A takes nothing returns nothing
call SetUnitUserData( GetEnumUnit(), R2I(GetUnitAcquireRange(GetEnumUnit())) )
call SetUnitAcquireRangeBJ( GetEnumUnit(), GetUnitDefaultAcquireRange(GetEnumUnit()) )
call GroupRemoveUnitSimple( GetEnumUnit(), udg_Aggressors )
call PauseUnitBJ( false, GetEnumUnit() )
call SetUnitInvulnerable( GetEnumUnit(), false )
endfunction
function Trig_FlyingSpirit2_Func002Func014A takes nothing returns nothing
call SetUnitPathing( GetEnumUnit(), true )
endfunction
function Trig_FlyingSpirit2_Func002C takes nothing returns boolean
if ( not ( udg_SinestroSkull[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] != null ) ) then
return false
endif
if ( not ( IsUnitAliveBJ(udg_SinestroSkull[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))]) == true ) ) then
return false
endif
return true
endfunction
function Trig_FlyingSpirit2_Actions takes nothing returns nothing
local group pickunits
if ( Trig_FlyingSpirit2_Func002C() ) then
set udg_tpoint = GetUnitLoc(udg_SinestroSkull[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))])
set udg_g = GetUnitsInRangeOfLocMatching(400.00, udg_tpoint, Condition(function Trig_FlyingSpirit2_Func002Func002002003))
call RemoveLocation (udg_tpoint)
call ConditionalTriggerExecute( gg_trg_CleanG )
call ForGroupBJ( udg_g, function Trig_FlyingSpirit2_Func002Func005A )
call KillUnit( udg_SinestroSkull[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] )
set pickunits = udg_g
call PolledWait( 0.60 )
set udg_g = pickunits
call ForGroupBJ( udg_g, function Trig_FlyingSpirit2_Func002Func010A )
set pickunits = udg_g
call PolledWait( 3.00 )
set udg_g = pickunits
call ForGroupBJ( udg_g, function Trig_FlyingSpirit2_Func002Func014A )
else
endif
set pickunits = null
endfunction
//===========================================================================
function InitTrig_FlyingSpirit2 takes nothing returns nothing
set gg_trg_FlyingSpirit2 = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_FlyingSpirit2, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_FlyingSpirit2, Condition( function Trig_FlyingSpirit2_Conditions ) )
call TriggerAddAction( gg_trg_FlyingSpirit2, function Trig_FlyingSpirit2_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_Damaging_Blink_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A15X' ) ) then
return false
endif
return true
endfunction
function Trig_Damaging_Blink_Func001002002001 takes nothing returns boolean
return ( IsUnitType(GetFilterUnit(), UNIT_TYPE_HERO) == true )
endfunction
function Trig_Damaging_Blink_Func001002002002 takes nothing returns boolean
return ( IsUnitAlly(GetFilterUnit(), GetOwningPlayer(GetTriggerUnit())) == false )
endfunction
function Trig_Damaging_Blink_Func001002002 takes nothing returns boolean
return GetBooleanAnd( Trig_Damaging_Blink_Func001002002001(), Trig_Damaging_Blink_Func001002002002() )
endfunction
function Trig_Damaging_Blink_Func004A takes nothing returns nothing
call UnitShareVisionBJ( true, GetEnumUnit(), GetOwningPlayer(GetTriggerUnit()) )
call AddSpecialEffectTargetUnitBJ( "origin", GetEnumUnit(), "war3mapImported\\WindAura_Blue.mdx" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call UnitDamageTargetBJ( GetTriggerUnit(), GetEnumUnit(), ( GetUnitStateSwap(UNIT_STATE_LIFE, GetEnumUnit()) * 0.20 ), ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
set udg_real = ( udg_real + ( GetUnitStateSwap(UNIT_STATE_LIFE, GetEnumUnit()) * 0.20 ) )
endfunction
function Trig_Damaging_Blink_Func007002002001 takes nothing returns boolean
return ( IsUnitType(GetFilterUnit(), UNIT_TYPE_HERO) == true )
endfunction
function Trig_Damaging_Blink_Func007002002002 takes nothing returns boolean
return ( IsUnitAlly(GetFilterUnit(), GetOwningPlayer(GetTriggerUnit())) == true )
endfunction
function Trig_Damaging_Blink_Func007002002 takes nothing returns boolean
return GetBooleanAnd( Trig_Damaging_Blink_Func007002002001(), Trig_Damaging_Blink_Func007002002002() )
endfunction
function Trig_Damaging_Blink_Func009A takes nothing returns nothing
call AddSpecialEffectTargetUnitBJ( "origin", GetEnumUnit(), "war3mapImported\\WindAura_Blue.mdx" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call SetUnitLifeBJ( GetEnumUnit(), ( GetUnitStateSwap(UNIT_STATE_LIFE, GetEnumUnit()) + udg_real ) )
endfunction
function Trig_Damaging_Blink_Func011002002001 takes nothing returns boolean
return ( IsUnitType(GetFilterUnit(), UNIT_TYPE_HERO) == true )
endfunction
function Trig_Damaging_Blink_Func011002002002 takes nothing returns boolean
return ( IsUnitAlly(GetFilterUnit(), GetOwningPlayer(GetTriggerUnit())) == false )
endfunction
function Trig_Damaging_Blink_Func011002002 takes nothing returns boolean
return GetBooleanAnd( Trig_Damaging_Blink_Func011002002001(), Trig_Damaging_Blink_Func011002002002() )
endfunction
function Trig_Damaging_Blink_Func012A takes nothing returns nothing
call UnitShareVisionBJ( false, GetEnumUnit(), GetOwningPlayer(GetTriggerUnit()) )
endfunction
function Trig_Damaging_Blink_Actions takes nothing returns nothing
set udg_g = GetUnitsInRectMatching(GetPlayableMapRect(), Condition(function Trig_Damaging_Blink_Func001002002))
call ConditionalTriggerExecute( gg_trg_CleanG )
set udg_real = 0.00
call ForGroupBJ( udg_g, function Trig_Damaging_Blink_Func004A )
set udg_integer = CountUnitsInGroup(udg_g)
set udg_real = ( udg_real / I2R(udg_integer) )
set udg_g = GetUnitsInRectMatching(GetPlayableMapRect(), Condition(function Trig_Damaging_Blink_Func007002002))
call ConditionalTriggerExecute( gg_trg_CleanG )
call ForGroupBJ( udg_g, function Trig_Damaging_Blink_Func009A )
call PolledWait( 4.00 )
set udg_g = GetUnitsInRectMatching(GetPlayableMapRect(), Condition(function Trig_Damaging_Blink_Func011002002))
call ForGroupBJ( udg_g, function Trig_Damaging_Blink_Func012A )
endfunction
//===========================================================================
function InitTrig_Damaging_Blink takes nothing returns nothing
set gg_trg_Damaging_Blink = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Damaging_Blink, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Damaging_Blink, Condition( function Trig_Damaging_Blink_Conditions ) )
call TriggerAddAction( gg_trg_Damaging_Blink, function Trig_Damaging_Blink_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_Strangeness_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A15W' ) ) then
return false
endif
return true
endfunction
function Trig_Strangeness_Func007002003 takes nothing returns boolean
return ( IsUnitAlly(GetFilterUnit(), GetOwningPlayer(GetTriggerUnit())) == false )
endfunction
function Trig_Strangeness_Func009Func001C takes nothing returns boolean
if ( ( IsUnitAlly(udg_unit, GetOwningPlayer(GetTriggerUnit())) == true ) ) then
return true
endif
if ( ( IsUnitAliveBJ(udg_unit) == false ) ) then
return true
endif
return false
endfunction
function Trig_Strangeness_Func009C takes nothing returns boolean
if ( not Trig_Strangeness_Func009Func001C() ) then
return false
endif
return true
endfunction
function Trig_Strangeness_Func012Func001Func001Func001Func001C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A15W', GetTriggerUnit()) == 1 ) ) then
return false
endif
return true
endfunction
function Trig_Strangeness_Func012Func001Func001Func001C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A15W', GetTriggerUnit()) == 2 ) ) then
return false
endif
return true
endfunction
function Trig_Strangeness_Func012Func001Func001C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A15W', GetTriggerUnit()) == 3 ) ) then
return false
endif
return true
endfunction
function Trig_Strangeness_Func012Func001C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A15W', GetTriggerUnit()) == 4 ) ) then
return false
endif
return true
endfunction
function Trig_Strangeness_Func012C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A15W', GetTriggerUnit()) == 5 ) ) then
return false
endif
return true
endfunction
function Trig_Strangeness_Func021002003 takes nothing returns boolean
return ( IsUnitAlly(GetFilterUnit(), GetOwningPlayer(GetTriggerUnit())) == false )
endfunction
function Trig_Strangeness_Func023Func001C takes nothing returns boolean
if ( ( IsUnitAlly(udg_unit, GetOwningPlayer(GetTriggerUnit())) == true ) ) then
return true
endif
if ( ( IsUnitAliveBJ(udg_unit) == false ) ) then
return true
endif
return false
endfunction
function Trig_Strangeness_Func023C takes nothing returns boolean
if ( not Trig_Strangeness_Func023Func001C() ) then
return false
endif
return true
endfunction
function Trig_Strangeness_Func028Func001Func001Func001Func001C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A15W', GetTriggerUnit()) == 1 ) ) then
return false
endif
return true
endfunction
function Trig_Strangeness_Func028Func001Func001Func001C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A15W', GetTriggerUnit()) == 2 ) ) then
return false
endif
return true
endfunction
function Trig_Strangeness_Func028Func001Func001C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A15W', GetTriggerUnit()) == 3 ) ) then
return false
endif
return true
endfunction
function Trig_Strangeness_Func028Func001C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A15W', GetTriggerUnit()) == 4 ) ) then
return false
endif
return true
endfunction
function Trig_Strangeness_Func028C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A15W', GetTriggerUnit()) == 5 ) ) then
return false
endif
return true
endfunction
function Trig_Strangeness_Func035002003 takes nothing returns boolean
return ( IsUnitAlly(GetFilterUnit(), GetOwningPlayer(GetTriggerUnit())) == false )
endfunction
function Trig_Strangeness_Func037Func001C takes nothing returns boolean
if ( ( IsUnitAlly(udg_unit, GetOwningPlayer(GetTriggerUnit())) == true ) ) then
return true
endif
if ( ( IsUnitAliveBJ(udg_unit) == false ) ) then
return true
endif
return false
endfunction
function Trig_Strangeness_Func037C takes nothing returns boolean
if ( not Trig_Strangeness_Func037Func001C() ) then
return false
endif
return true
endfunction
function Trig_Strangeness_Func042Func001Func001Func001Func001C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A15W', GetTriggerUnit()) == 1 ) ) then
return false
endif
return true
endfunction
function Trig_Strangeness_Func042Func001Func001Func001C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A15W', GetTriggerUnit()) == 2 ) ) then
return false
endif
return true
endfunction
function Trig_Strangeness_Func042Func001Func001C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A15W', GetTriggerUnit()) == 3 ) ) then
return false
endif
return true
endfunction
function Trig_Strangeness_Func042Func001C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A15W', GetTriggerUnit()) == 4 ) ) then
return false
endif
return true
endfunction
function Trig_Strangeness_Func042C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A15W', GetTriggerUnit()) == 5 ) ) then
return false
endif
return true
endfunction
function Trig_Strangeness_Actions takes nothing returns nothing
local unit u
set udg_unit = GetSpellTargetUnit()
set u = udg_unit
call PolledWait( 2 )
set udg_unit = u
set udg_tpoint = GetUnitLoc(udg_unit)
set udg_g = GetUnitsInRangeOfLocMatching(800.00, udg_tpoint, Condition(function Trig_Strangeness_Func007002003))
call ConditionalTriggerExecute( gg_trg_CleanG )
if ( Trig_Strangeness_Func009C() ) then
set udg_unit2 = GroupPickRandomUnit(udg_g)
else
set udg_unit2 = udg_unit
endif
call CreateNUnitsAtLoc( 1, 'n021', GetOwningPlayer(GetTriggerUnit()), udg_tpoint, bj_UNIT_FACING )
call UnitApplyTimedLifeBJ( 1.50, 'BTLF', GetLastCreatedUnit() )
if ( Trig_Strangeness_Func012C() ) then
call UnitAddAbilityBJ( 'A161', GetLastCreatedUnit() )
else
if ( Trig_Strangeness_Func012Func001C() ) then
call UnitAddAbilityBJ( 'A160', GetLastCreatedUnit() )
else
if ( Trig_Strangeness_Func012Func001Func001C() ) then
call UnitAddAbilityBJ( 'A15Z', GetLastCreatedUnit() )
else
if ( Trig_Strangeness_Func012Func001Func001Func001C() ) then
call UnitAddAbilityBJ( 'A162', GetLastCreatedUnit() )
else
if ( Trig_Strangeness_Func012Func001Func001Func001Func001C() ) then
call UnitAddAbilityBJ( 'A15Y', GetLastCreatedUnit() )
else
endif
endif
endif
endif
endif
call AddSpecialEffectLocBJ( udg_tpoint, "Objects\\Spawnmodels\\NightElf\\NECancelDeath\\NECancelDeath.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call IssueTargetOrder( GetLastCreatedUnit(), "chainlightning", udg_unit2 )
call RemoveLocation (udg_tpoint)
set u = udg_unit
call PolledWait( 2 )
set udg_unit = u
set udg_tpoint = GetUnitLoc(udg_unit)
set udg_g = GetUnitsInRangeOfLocMatching(800.00, udg_tpoint, Condition(function Trig_Strangeness_Func021002003))
call ConditionalTriggerExecute( gg_trg_CleanG )
if ( Trig_Strangeness_Func023C() ) then
set udg_unit2 = GroupPickRandomUnit(udg_g)
else
set udg_unit2 = udg_unit
endif
call AddSpecialEffectLocBJ( udg_tpoint, "Objects\\Spawnmodels\\NightElf\\NECancelDeath\\NECancelDeath.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call CreateNUnitsAtLoc( 1, 'n021', GetOwningPlayer(GetTriggerUnit()), udg_tpoint, bj_UNIT_FACING )
call UnitApplyTimedLifeBJ( 1.50, 'BTLF', GetLastCreatedUnit() )
if ( Trig_Strangeness_Func028C() ) then
call UnitAddAbilityBJ( 'A161', GetLastCreatedUnit() )
else
if ( Trig_Strangeness_Func028Func001C() ) then
call UnitAddAbilityBJ( 'A160', GetLastCreatedUnit() )
else
if ( Trig_Strangeness_Func028Func001Func001C() ) then
call UnitAddAbilityBJ( 'A15Z', GetLastCreatedUnit() )
else
if ( Trig_Strangeness_Func028Func001Func001Func001C() ) then
call UnitAddAbilityBJ( 'A162', GetLastCreatedUnit() )
else
if ( Trig_Strangeness_Func028Func001Func001Func001Func001C() ) then
call UnitAddAbilityBJ( 'A15Y', GetLastCreatedUnit() )
else
endif
endif
endif
endif
endif
call IssueTargetOrder( GetLastCreatedUnit(), "chainlightning", udg_unit2 )
call RemoveLocation (udg_tpoint)
set u = udg_unit
call PolledWait( 2 )
set udg_unit = u
set udg_tpoint = GetUnitLoc(udg_unit)
set udg_g = GetUnitsInRangeOfLocMatching(800.00, udg_tpoint, Condition(function Trig_Strangeness_Func035002003))
call ConditionalTriggerExecute( gg_trg_CleanG )
if ( Trig_Strangeness_Func037C() ) then
set udg_unit2 = GroupPickRandomUnit(udg_g)
else
set udg_unit2 = udg_unit
endif
call AddSpecialEffectLocBJ( udg_tpoint, "Objects\\Spawnmodels\\NightElf\\NECancelDeath\\NECancelDeath.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call CreateNUnitsAtLoc( 1, 'n021', GetOwningPlayer(GetTriggerUnit()), udg_tpoint, bj_UNIT_FACING )
call UnitApplyTimedLifeBJ( 1.50, 'BTLF', GetLastCreatedUnit() )
if ( Trig_Strangeness_Func042C() ) then
call UnitAddAbilityBJ( 'A161', GetLastCreatedUnit() )
else
if ( Trig_Strangeness_Func042Func001C() ) then
call UnitAddAbilityBJ( 'A160', GetLastCreatedUnit() )
else
if ( Trig_Strangeness_Func042Func001Func001C() ) then
call UnitAddAbilityBJ( 'A15Z', GetLastCreatedUnit() )
else
if ( Trig_Strangeness_Func042Func001Func001Func001C() ) then
call UnitAddAbilityBJ( 'A162', GetLastCreatedUnit() )
else
if ( Trig_Strangeness_Func042Func001Func001Func001Func001C() ) then
call UnitAddAbilityBJ( 'A15Y', GetLastCreatedUnit() )
else
endif
endif
endif
endif
endif
call IssueTargetOrder( GetLastCreatedUnit(), "chainlightning", udg_unit2 )
call RemoveLocation (udg_tpoint)
set u = null
endfunction
//===========================================================================
function InitTrig_Strangeness takes nothing returns nothing
set gg_trg_Strangeness = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Strangeness, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Strangeness, Condition( function Trig_Strangeness_Conditions ) )
call TriggerAddAction( gg_trg_Strangeness, function Trig_Strangeness_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_PodobratTrup_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A16D' ) ) then
return false
endif
return true
endfunction
function Trig_PodobratTrup_Actions takes nothing returns nothing
local unit u=GetTriggerUnit()
local unit u2
local unit u3
local group g=CreateGroup()
local group g2=CreateGroup()
local real x=GetUnitX(u)
local real y=GetUnitY(u)
local real x2
local real y2
local integer i=GetUnitAbilityLevelSwapped('A16D', u)
call GroupEnumUnitsInRange(g,x,y,200.,null)
loop
set u2=FirstOfGroup(g)
if GetUnitState(u2, UNIT_STATE_LIFE) <= 0 and u2!=u and IsUnitType(u2, UNIT_TYPE_HERO) == false and IsUnitType(u2, UNIT_TYPE_STRUCTURE) == false then
call GroupAddUnitSimple( u2, g2 )
endif
exitwhen u2==null
call GroupRemoveUnit(g,u2)
endloop
set u3=GroupPickRandomUnit(g2)
set x2=GetUnitX(u3)
set y2=GetUnitY(u3)
call RemoveUnit(u3)
if u3 != null then
call DestroyEffect(AddSpecialEffect( "Abilities\\Spells\\Orc\\FeralSpirit\\feralspiritdone.mdl" , x2, y2 ))
call UnitRemoveAbilityBJ( 'A16D', u )
call UnitAddAbilityBJ( 'A16C', u )
call UnitAddAbilityBJ( 'A16A', u )
call SetPlayerAbilityAvailableBJ( false, 'A16D', GetOwningPlayer(u) )
call SetUnitAbilityLevelSwapped( 'A169', u, i )
else
call SetUnitState(u, UNIT_STATE_MANA, GetUnitState(u, UNIT_STATE_MANA) + 65.00+10*i )
endif
call DestroyGroup(g)
call DestroyGroup(g2)
set u=null
set u2=null
set u3=null
set g=null
set g2=null
endfunction
//===========================================================================
function InitTrig_PodobratTrup takes nothing returns nothing
set gg_trg_PodobratTrup = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_PodobratTrup, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_PodobratTrup, Condition( function Trig_PodobratTrup_Conditions ) )
call TriggerAddAction( gg_trg_PodobratTrup, function Trig_PodobratTrup_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_SiestTrup_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A16C' ) ) then
return false
endif
return true
endfunction
function Trig_SiestTrup_Actions takes nothing returns nothing
local unit u=GetTriggerUnit()
local real x=GetUnitX(u)
local real y=GetUnitY(u)
local integer i=GetUnitAbilityLevelSwapped('A169', u)
call UnitAddAbilityBJ( 'A16D', u )
call SetUnitAbilityLevelSwapped( 'A16D', u, i )
call SetPlayerAbilityAvailableBJ( true, 'A16D', GetOwningPlayer(u) )
set udg_integer = i
call SetUnitLifeBJ( u, ( GetUnitStateSwap(UNIT_STATE_LIFE, u) + ( 50.00 * i ) ) )
call DestroyEffect(AddSpecialEffect( "Objects\\Spawnmodels\\NightElf\\NightElfBlood\\MALFurion_Blood.mdl" , x, y ))
call UnitRemoveAbilityBJ( 'A16C', u )
call UnitRemoveAbilityBJ( 'A16A', u )
set u=null
endfunction
//===========================================================================
function InitTrig_SiestTrup takes nothing returns nothing
set gg_trg_SiestTrup = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_SiestTrup, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_SiestTrup, Condition( function Trig_SiestTrup_Conditions ) )
call TriggerAddAction( gg_trg_SiestTrup, function Trig_SiestTrup_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_KinutTrup_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A16A' ) ) then
return false
endif
return true
endfunction
function Trig_____________________________________001_Func001Func001Func001C takes nothing returns boolean
if ( not ( udg_integer <= 2 ) ) then
return false
endif
return true
endfunction
function Trig_____________________________________001_Func001Func001C takes nothing returns boolean
if ( not ( udg_integer <= 4 ) ) then
return false
endif
return true
endfunction
function Trig_____________________________________001_Func001C takes nothing returns boolean
if ( not ( udg_integer == 5 ) ) then
return false
endif
return true
endfunction
function Trig_KinutTrup_DeleteSpell takes nothing returns nothing
local timer t2=GetExpiredTimer()
local unit u=LoadUnitHandle(udg_Hash, GetHandleId(t2), 1)
local integer i=GetUnitAbilityLevelSwapped('A169', u)
call FlushChildHashtable(udg_Hash, GetHandleId(t2))
call UnitRemoveAbilityBJ( 'A16C', u )
call UnitRemoveAbilityBJ( 'A16A', u )
call SetPlayerAbilityAvailableBJ( true, 'A16D', GetOwningPlayer(u) )
call UnitAddAbilityBJ( 'A16D', u )
call SetUnitAbilityLevelSwapped( 'A16D', u, i )
call PauseTimer(t2)
call DestroyTimer(t2)
set t2=null
set u=null
endfunction
function Trig_KinutTrup_Actions2 takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit m=LoadUnitHandle(udg_Hash, GetHandleId(t), 1)
call FlushChildHashtable(udg_Hash, GetHandleId(t))
call FlushChildHashtable(udg_Hash, GetHandleId(m))
if GetUnitState(m, UNIT_STATE_LIFE) > 0 then
call SetUnitAnimation( m, "stand" )
endif
call UnitRemoveAbilityBJ( 'A16J', m )
call UnitRemoveAbilityBJ( 'A16I', m )
call UnitRemoveAbilityBJ( 'A16H', m )
call UnitRemoveAbilityBJ( 'A16G', m )
call PauseTimer(t)
call DestroyTimer(t)
set t=null
set m=null
endfunction
function Trig_KinutTrup_Actions takes nothing returns nothing
local unit u=GetTriggerUnit()
local unit m=GetSpellTargetUnit()
local integer i=GetUnitAbilityLevelSwapped('A16E', u)
local timer t=CreateTimer()
local timer t2=CreateTimer()
local timer t3
local boolean b=false
if HaveSavedBoolean(udg_Hash, GetHandleId(m), 2) == true then
set t3=LoadTimerHandle(udg_Hash, GetHandleId(m), 1)
call FlushChildHashtable(udg_Hash, GetHandleId(t3))
call PauseTimer(t3)
call DestroyTimer(t3)
endif
set b=true
set udg_integer = i
set udg_unit = m
call SetUnitAnimation( m, "stand work" )
if ( Trig_____________________________________001_Func001C() ) then
call UnitAddAbilityBJ( 'A16J', udg_unit )
else
if ( Trig_____________________________________001_Func001Func001C() ) then
call UnitAddAbilityBJ( 'A16I', udg_unit )
else
if ( Trig_____________________________________001_Func001Func001Func001C() ) then
call UnitAddAbilityBJ( 'A16H', udg_unit )
else
endif
endif
endif
call UnitAddAbilityBJ( 'A16G', m )
call SaveUnitHandle(udg_Hash, GetHandleId(t), 1, m)
call SaveTimerHandle(udg_Hash, GetHandleId(m), 1, t)
call SaveBoolean(udg_Hash, GetHandleId(m), 2, b)
call TimerStart(t, i+4, false, function Trig_KinutTrup_Actions2)
call SaveUnitHandle(udg_Hash, GetHandleId(t2), 1, u)
call TimerStart(t2, 0.5, false, function Trig_KinutTrup_DeleteSpell)
set u=null
set m=null
set t=null
set t2=null
set t3=null
endfunction
//===========================================================================
function InitTrig_KinutTrup takes nothing returns nothing
set gg_trg_KinutTrup = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_KinutTrup, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_KinutTrup, Condition( function Trig_KinutTrup_Conditions ) )
call TriggerAddAction( gg_trg_KinutTrup, function Trig_KinutTrup_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_Myasorybka_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A16E' ) ) then
return false
endif
return true
endfunction
function Trig_Myasorybka_Actions2 takes nothing returns nothing
local timer t=GetExpiredTimer()
local real x=LoadReal(udg_Hash, GetHandleId(t), 1)
local real y=LoadReal(udg_Hash, GetHandleId(t), 2)
local group g=CreateGroup()
local unit u
local integer i
call FlushChildHashtable(udg_Hash, GetHandleId(t))
call GroupEnumUnitsInRange(g,x,y,500.,null)
loop
set u=FirstOfGroup(g)
set i=GetUnitAbilityLevelSwapped('A16E', u)
if GetUnitTypeId(u) == 'u01R' and GetWidgetLife(u)>.0 and HaveSavedBoolean(udg_Hash, GetHandleId(u), 2) != true then
call SetUnitAnimation( u, "Stand" )
endif
exitwhen u==null
call GroupRemoveUnit(g,u)
endloop
call DestroyGroup(g)
call PauseTimer(t)
call DestroyTimer(t)
set u=null
set g=null
set t=null
endfunction
function Trig_Myasorybka_Actions takes nothing returns nothing
local real x=GetSpellTargetX()
local real y=GetSpellTargetY()
local timer t=CreateTimer()
call SaveReal(udg_Hash, GetHandleId(t), 1, x)
call SaveReal(udg_Hash, GetHandleId(t), 2, y)
call TimerStart(t, 12, false, function Trig_Myasorybka_Actions2)
set t=null
endfunction
//===========================================================================
function InitTrig_Myasorybka takes nothing returns nothing
set gg_trg_Myasorybka = CreateTrigger()
call TriggerRegisterAnyUnitEventBJ( gg_trg_Myasorybka, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Myasorybka, Condition( function Trig_Myasorybka_Conditions ) )
call TriggerAddAction( gg_trg_Myasorybka, function Trig_Myasorybka_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_KrovavoeBezumie_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A16B' ) ) then
return false
endif
return true
endfunction
function Trig_KrovavoeBezumie_Actions2 takes unit u, player pl, integer i, unit tr returns nothing
local real x
local real y
local unit u2
local group g=CreateGroup()
set x=GetUnitX(u)
set y=GetUnitY(u)
call GroupEnumUnitsInRange(g,x,y,275.,null)
call DestroyEffect(AddSpecialEffect( "VampiricAuraTarget.mdx" , x, y ))
call RemoveUnit(u)
loop
set u2=FirstOfGroup(g)
if IsUnitEnemy(u2,pl)==true and GetWidgetLife(u2)>.0 and IsUnitType(u2, UNIT_TYPE_STRUCTURE) == false then
call UnitDamageTargetBJ( tr, u2, i*40, ATTACK_TYPE_MAGIC, DAMAGE_TYPE_MAGIC )
endif
exitwhen u2==null
call GroupRemoveUnit(g,u2)
endloop
call DestroyGroup(g)
set u2=null
set g=null
endfunction
function Trig_KrovavoeBezumie_Actions takes nothing returns nothing
local real x=GetSpellTargetX()
local real y=GetSpellTargetY()
local group g=CreateGroup()
local unit tr=GetTriggerUnit()
local unit u
local player pl=GetOwningPlayer(tr)
local integer i=GetUnitAbilityLevelSwapped('A16B', tr)
call GroupEnumUnitsInRange(g,x,y,300.,null)
loop
set u=FirstOfGroup(g)
if IsUnitType(u,UNIT_TYPE_DEAD)==true and IsUnitType(u, UNIT_TYPE_HERO) == false then
call Trig_KrovavoeBezumie_Actions2(u, pl, i, tr)
endif
exitwhen u==null
call GroupRemoveUnit(g,u)
endloop
call DestroyGroup(g)
set u=null
set g=null
set tr=null
endfunction
//===========================================================================
function InitTrig_KrovavoeBezumie takes nothing returns nothing
set gg_trg_KrovavoeBezumie = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_KrovavoeBezumie, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_KrovavoeBezumie, Condition( function Trig_KrovavoeBezumie_Conditions ) )
call TriggerAddAction( gg_trg_KrovavoeBezumie, function Trig_KrovavoeBezumie_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_Meat_Hook_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A16F' ) ) then
return false
endif
return true
endfunction
function MeetHookFilter takes nothing returns boolean
if(IsUnitType(GetFilterUnit(),UNIT_TYPE_STRUCTURE) or GetUnitAbilityLevel(GetFilterUnit(),'A00H')==1) or GetFilterUnit()==udg_u_DTAX_temp then
return false
endif
if GetUnitState(GetFilterUnit(),UNIT_STATE_LIFE)<=0 or GetUnitTypeId(GetFilterUnit())=='u01S' or GetUnitTypeId(GetFilterUnit())=='u01S' or IsUnitType(GetFilterUnit(),UNIT_TYPE_ANCIENT) then
return false
endif
if ( not ( IsUnitType(GetFilterUnit(), UNIT_TYPE_ANCIENT) == false ) ) then
return false
endif
if ( ( GetUnitAbilityLevelSwapped('Avul', GetFilterUnit()) == 1 ) ) then
return false
endif
return true
endfunction
function MeetHookTargets takes real x, real y, unit Target, player pl returns nothing
local group g=CreateGroup()
local unit targets
local real ugl
local real x2
local real y2
local real S
local real gox
local real goy
call GroupEnumUnitsInRange(g,x,y,200.,null)
loop
set targets=FirstOfGroup(g)
if GetWidgetLife(targets)>.0 and IsUnitEnemy(targets,pl)==true and IsUnitType(targets, UNIT_TYPE_STRUCTURE) and IsUnitType(targets, UNIT_TYPE_ANCIENT) == false and targets != Target then
set x2=GetUnitX(targets)
set y2=GetUnitY(targets)
set ugl=bj_RADTODEG * Atan2(y - y2, x - x2)
set S=SquareRoot((x-x2)*(x-x2)+(y-y2)*(y-y2))
set gox = x + S * Cos(ugl * bj_DEGTORAD)
set goy = y + S * Sin(ugl * bj_DEGTORAD)
call DestroyEffect(AddSpecialEffectTarget("Objects\\Spawnmodels\\Human\\HumanBlood\\BloodElfSpellThiefBlood.mdl",targets,"origin"))
call SetUnitX(targets,gox)
call SetUnitY(targets,goy)
endif
exitwhen targets==null
call GroupRemoveUnit(g,targets)
endloop
call DestroyGroup(g)
set g=null
set targets=null
endfunction
function MeetHookTimer takes nothing returns nothing
local timer t2=GetExpiredTimer()
local timer t=LoadTimerHandle(udg_Hash,GetHandleId(t2),1)
local integer i=LoadInteger(udg_Hash,GetHandleId(t),3)
local unit Target=LoadUnitHandle(udg_Hash,GetHandleId(t),4)
local unit u=LoadUnitHandle(udg_Hash,GetHandleId(t),1)
local unit d=LoadUnitHandle(udg_Hash2,GetHandleId(t),i)
local integer level=GetUnitAbilityLevel(u,'A16F')
local player pl=GetOwningPlayer(u)
local real x
local real y
local unit boom
local group g=CreateGroup()
if(Target!=null)then
call SetUnitX(Target,GetUnitX(d))
call SetUnitY(Target,GetUnitY(d))
set x=GetUnitX(Target)
set y=GetUnitY(Target)
call MeetHookTargets(x, y, Target, pl)
endif
call RemoveUnit(d)
call SaveInteger(udg_Hash,GetHandleId(t),3,i-1)
if(i==1)then
call PauseTimer(t)
call PauseTimer(t2)
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call FlushChildHashtable(udg_Hash2,GetHandleId(t))
call FlushChildHashtable(udg_Hash,GetHandleId(t2))
call DestroyTimer(t)
call DestroyTimer(t2)
call SetUnitLifePercentBJ( u, 10.00 )
call GroupEnumUnitsInRange(g,x,y,200.,null)
loop
set boom=FirstOfGroup(g)
if GetWidgetLife(boom)>.0 and IsUnitEnemy(boom,pl)==true and IsUnitType(boom, UNIT_TYPE_STRUCTURE) == false then
call UnitDamageTargetBJ(u,boom,level*300,ATTACK_TYPE_NORMAL,DAMAGE_TYPE_ENHANCED)
call DestroyEffect(AddSpecialEffectTarget("Objects\\Spawnmodels\\Human\\HumanBlood\\BloodElfSpellThiefBlood.mdl",boom,"origin"))
endif
exitwhen boom==null
call GroupRemoveUnit(g,boom)
endloop
endif
call DestroyGroup(g)
set t=null
set t2=null
set d=null
set u=null
set Target=null
set boom=null
set g=null
endfunction
function MeetHookMain takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u=LoadUnitHandle(udg_Hash,GetHandleId(t),1)
local real degress=LoadReal(udg_Hash,GetHandleId(t),2)
local integer i=LoadInteger(udg_Hash,GetHandleId(t),3)
local integer level=GetUnitAbilityLevel(u,'A16F')
local unit d
local group g
local real x
local real y
local boolexpr C
local timer t2
if(i<14+6*level)then
set i=i+1
set x=GetUnitX(u)+i*40*Cos(degress*bj_DEGTORAD)
set y=GetUnitY(u)+i*40*Sin(degress*bj_DEGTORAD)
set d=CreateUnit(GetOwningPlayer(u),'u01S',x,y,degress)
call SaveUnitHandle(udg_Hash2,GetHandleId(t),i,d)
call SaveInteger(udg_Hash,GetHandleId(t),3,i)
set g=CreateGroup()
set udg_u_DTAX_temp=u
set C=Condition(function MeetHookFilter)
call GroupEnumUnitsInRange(g,x,y,'}',C)
call DestroyBoolExpr(C)
set d=FirstOfGroup(g)
call DestroyGroup(g)
if(d!=null)then
call SaveUnitHandle(udg_Hash,GetHandleId(t),4,d)
if IsUnitEnemy(d,GetOwningPlayer(u))then
call UnitDamageTargetBJ(u,d,level*75,ATTACK_TYPE_NORMAL,DAMAGE_TYPE_ENHANCED)
call DestroyEffect(AddSpecialEffectTarget("Objects\\Spawnmodels\\Human\\HumanBlood\\BloodElfSpellThiefBlood.mdl",d,"origin"))
endif
call PauseTimer(t)
set t2=CreateTimer()
call SaveTimerHandle(udg_Hash,GetHandleId(t2),1,t)
call TimerStart(t2,.03,true,function MeetHookTimer)
endif
else
call PauseTimer(t)
set t2=CreateTimer()
call SaveTimerHandle(udg_Hash,GetHandleId(t2),1,t)
call TimerStart(t2,.03,true,function MeetHookTimer)
endif
set t=null
set t2=null
set d=null
set u=null
set g=null
endfunction
function Trig_Meat_Hook_Actions takes nothing returns nothing
local unit u=GetTriggerUnit()
local real x1=GetSpellTargetX()
local real y1=GetSpellTargetY()
local real x2=GetUnitX(u)
local real y2=GetUnitY(u)
local timer t=CreateTimer()
local real degress=bj_RADTODEG * Atan2(y1 - y2, x1 - x2)
local integer i=0
call SaveInteger(udg_Hash,GetHandleId(t),3,i)
call SaveUnitHandle(udg_Hash,GetHandleId(t),1,u)
call SaveReal(udg_Hash,GetHandleId(t),2,degress)
call TimerStart(t,.03,true,function MeetHookMain)
set u=null
set t=null
endfunction
function InitTrig_MeatHook takes nothing returns nothing
local integer i=0
set gg_trg_MeatHook=CreateTrigger()
set udg_Hash=InitHashtable()
set udg_Hash2=InitHashtable()
loop
exitwhen i > 15
call TriggerRegisterPlayerUnitEvent(gg_trg_MeatHook, Player(i), EVENT_PLAYER_UNIT_SPELL_EFFECT, null)
set i = i + 1
endloop
call TriggerAddCondition(gg_trg_MeatHook,Condition(function Trig_Meat_Hook_Conditions))
call TriggerAddAction(gg_trg_MeatHook,function Trig_Meat_Hook_Actions)
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_SledNewJASS_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A0TG' ) ) then
return false
endif
return true
endfunction
function S1 takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
local integer i=LoadInteger(udg_Hash,GetHandleId(t),3)
set udg_unit = u
set i=i+1
call SaveInteger(udg_Hash,GetHandleId(t),3,i)
if(i<20)then
set udg_tpoint = GetUnitLoc(udg_unit)
call CreateNUnitsAtLoc( 1, 'n02L', GetOwningPlayer(udg_unit), udg_tpoint, bj_UNIT_FACING )
call SetUnitUserData( GetLastCreatedUnit(), GetUnitAbilityLevelSwapped('A0TG', udg_unit) )
call UnitApplyTimedLifeBJ( ( 1 + I2R(GetUnitAbilityLevelSwapped('A0TG', udg_unit)) ), 'BTLF', GetLastCreatedUnit() )
call GroupAddUnitSimple( GetLastCreatedUnit(), udg_Sled )
call RemoveLocation (udg_tpoint)
else
call DestroyTimer(t)
call FlushChildHashtable(udg_Hash,GetHandleId(t))
endif
set t=null
set u=null
endfunction
function Trig_SledNewJASS_Actions takes nothing returns nothing
local timer t = CreateTimer()
local unit u = GetTriggerUnit()
local integer i=0
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u)
call SaveInteger(udg_Hash,GetHandleId(t),3,i)
call TimerStart(t,0.5,true,function S1)
set t=null
set u=null
endfunction
//===========================================================================
function InitTrig_SledNewJASSTest takes nothing returns nothing
set gg_trg_SledNewJASSTest = CreateTrigger( )
set udg_Hash=InitHashtable()
call TriggerRegisterAnyUnitEventBJ( gg_trg_SledNewJASSTest, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_SledNewJASSTest, Condition( function Trig_SledNewJASS_Conditions ) )
call TriggerAddAction( gg_trg_SledNewJASSTest, function Trig_SledNewJASS_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_CometFireNewJASS_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A16K' ) ) then
return false
endif
return true
endfunction
function Trig_CometFireNewJASS_Func003002003 takes nothing returns boolean
return ( IsUnitAlly(GetFilterUnit(), GetOwningPlayer(GetTriggerUnit())) == false )
endfunction
function Trig_CometFireNewJASS_Func009Func001Func001Func001Func001C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A16K', GetTriggerUnit()) == 1 ) ) then
return false
endif
return true
endfunction
function Trig_CometFireNewJASS_Func009Func001Func001Func001C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A16K', GetTriggerUnit()) == 2 ) ) then
return false
endif
return true
endfunction
function Trig_CometFireNewJASS_Func009Func001Func001C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A16K', GetTriggerUnit()) == 3 ) ) then
return false
endif
return true
endfunction
function Trig_CometFireNewJASS_Func009Func001C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A16K', GetTriggerUnit()) == 4 ) ) then
return false
endif
return true
endfunction
function Trig_CometFireNewJASS_Func009C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A16K', GetTriggerUnit()) == 5 ) ) then
return false
endif
return true
endfunction
function Trig_CometFireNewJASS_Func014002003 takes nothing returns boolean
return ( IsUnitAlly(GetFilterUnit(), GetOwningPlayer(udg_unit2)) == false )
endfunction
function Trig_CometFireNewJASS_Func019Func001Func001Func001Func001C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A16K', udg_unit2) == 1 ) ) then
return false
endif
return true
endfunction
function Trig_CometFireNewJASS_Func019Func001Func001Func001C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A16K', udg_unit2) == 2 ) ) then
return false
endif
return true
endfunction
function Trig_CometFireNewJASS_Func019Func001Func001C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A16K', udg_unit2) == 3 ) ) then
return false
endif
return true
endfunction
function Trig_CometFireNewJASS_Func019Func001C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A16K', udg_unit2) == 4 ) ) then
return false
endif
return true
endfunction
function Trig_CometFireNewJASS_Func019C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A16K', udg_unit2) == 5 ) ) then
return false
endif
return true
endfunction
function Trig_CometFireNewJASS_Func024002003 takes nothing returns boolean
return ( IsUnitAlly(GetFilterUnit(), GetOwningPlayer(udg_unit2)) == false )
endfunction
function Trig_CometFireNewJASS_Func029Func001Func001Func001Func001C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A16K', udg_unit2) == 1 ) ) then
return false
endif
return true
endfunction
function Trig_CometFireNewJASS_Func029Func001Func001Func001C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A16K', udg_unit2) == 2 ) ) then
return false
endif
return true
endfunction
function Trig_CometFireNewJASS_Func029Func001Func001C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A16K', udg_unit2) == 3 ) ) then
return false
endif
return true
endfunction
function Trig_CometFireNewJASS_Func029Func001C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A16K', udg_unit2) == 4 ) ) then
return false
endif
return true
endfunction
function Trig_CometFireNewJASS_Func029C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A16K', udg_unit2) == 5 ) ) then
return false
endif
return true
endfunction
function CF1 takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
set udg_unit2 = u
set udg_tpoint = GetUnitLoc(udg_unit2)
set udg_g = GetUnitsInRangeOfLocMatching(700.00, udg_tpoint, Condition(function Trig_CometFireNewJASS_Func014002003))
call ConditionalTriggerExecute( gg_trg_CleanG )
set udg_unit = GroupPickRandomUnit(udg_g)
call CreateNUnitsAtLoc( 1, 'n021', GetOwningPlayer(udg_unit2), udg_tpoint, bj_UNIT_FACING )
call UnitApplyTimedLifeBJ( 2.00, 'BTLF', GetLastCreatedUnit() )
if ( Trig_CometFireNewJASS_Func019C() ) then
call UnitAddAbilityBJ( 'A16R', GetLastCreatedUnit() )
else
if ( Trig_CometFireNewJASS_Func019Func001C() ) then
call UnitAddAbilityBJ( 'A16P', GetLastCreatedUnit() )
else
if ( Trig_CometFireNewJASS_Func019Func001Func001C() ) then
call UnitAddAbilityBJ( 'A16S', GetLastCreatedUnit() )
else
if ( Trig_CometFireNewJASS_Func019Func001Func001Func001C() ) then
call UnitAddAbilityBJ( 'A16T', GetLastCreatedUnit() )
else
if ( Trig_CometFireNewJASS_Func019Func001Func001Func001Func001C() ) then
call UnitAddAbilityBJ( 'A16Q', GetLastCreatedUnit() )
else
endif
endif
endif
endif
endif
call IssueTargetOrder( GetLastCreatedUnit(), "thunderbolt", udg_unit )
call RemoveLocation (udg_tpoint)
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
set u=null
endfunction
function CF2 takes nothing returns nothing
local timer t2=GetExpiredTimer()
local unit u2=LoadUnitHandle(udg_Hash,GetHandleId(t2),2)
set udg_unit2 = u2
set udg_tpoint = GetUnitLoc(udg_unit2)
set udg_g = GetUnitsInRangeOfLocMatching(700.00, udg_tpoint, Condition(function Trig_CometFireNewJASS_Func014002003))
call ConditionalTriggerExecute( gg_trg_CleanG )
set udg_unit = GroupPickRandomUnit(udg_g)
call CreateNUnitsAtLoc( 1, 'n021', GetOwningPlayer(udg_unit2), udg_tpoint, bj_UNIT_FACING )
call UnitApplyTimedLifeBJ( 2.00, 'BTLF', GetLastCreatedUnit() )
if ( Trig_CometFireNewJASS_Func029C() ) then
call UnitAddAbilityBJ( 'A16R', GetLastCreatedUnit() )
else
if ( Trig_CometFireNewJASS_Func029Func001C() ) then
call UnitAddAbilityBJ( 'A16P', GetLastCreatedUnit() )
else
if ( Trig_CometFireNewJASS_Func029Func001Func001C() ) then
call UnitAddAbilityBJ( 'A16S', GetLastCreatedUnit() )
else
if ( Trig_CometFireNewJASS_Func029Func001Func001Func001C() ) then
call UnitAddAbilityBJ( 'A16T', GetLastCreatedUnit() )
else
if ( Trig_CometFireNewJASS_Func029Func001Func001Func001Func001C() ) then
call UnitAddAbilityBJ( 'A16Q', GetLastCreatedUnit() )
else
endif
endif
endif
endif
endif
call IssueTargetOrder( GetLastCreatedUnit(), "thunderbolt", udg_unit )
call RemoveLocation (udg_tpoint)
call FlushChildHashtable(udg_Hash,GetHandleId(t2))
call DestroyTimer(t2)
set t2=null
set u2=null
endfunction
function Trig_CometFireNewJASS_Actions takes nothing returns nothing
local timer t = CreateTimer()
local timer t2 = CreateTimer()
local unit u = GetTriggerUnit()
local unit u2 = GetTriggerUnit()
call SetUnitVertexColorBJ( GetTriggerUnit(), 100, 100, 100, 0 )
set udg_tpoint = GetUnitLoc(GetTriggerUnit())
set udg_g = GetUnitsInRangeOfLocMatching(700.00, udg_tpoint, Condition(function Trig_CometFireNewJASS_Func003002003))
call ConditionalTriggerExecute( gg_trg_CleanG )
set udg_unit = GroupPickRandomUnit(udg_g)
set udg_integer = GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetTriggerUnit())
call CreateNUnitsAtLoc( 1, 'n021', GetOwningPlayer(GetTriggerUnit()), udg_tpoint, bj_UNIT_FACING )
call UnitApplyTimedLifeBJ( 2.00, 'BTLF', GetLastCreatedUnit() )
if ( Trig_CometFireNewJASS_Func009C() ) then
call UnitAddAbilityBJ( 'A16R', GetLastCreatedUnit() )
else
if ( Trig_CometFireNewJASS_Func009Func001C() ) then
call UnitAddAbilityBJ( 'A16P', GetLastCreatedUnit() )
else
if ( Trig_CometFireNewJASS_Func009Func001Func001C() ) then
call UnitAddAbilityBJ( 'A16S', GetLastCreatedUnit() )
else
if ( Trig_CometFireNewJASS_Func009Func001Func001Func001C() ) then
call UnitAddAbilityBJ( 'A16T', GetLastCreatedUnit() )
else
if ( Trig_CometFireNewJASS_Func009Func001Func001Func001Func001C() ) then
call UnitAddAbilityBJ( 'A16Q', GetLastCreatedUnit() )
else
endif
endif
endif
endif
endif
call IssueTargetOrder( GetLastCreatedUnit(), "thunderbolt", udg_unit )
call RemoveLocation (udg_tpoint)
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u)
call SaveUnitHandle(udg_Hash,GetHandleId(t2),2,u2)
call TimerStart(t,0.3,false,function CF1)
call TimerStart(t2,0.6,false,function CF2)
set t=null
set t2=null
set u=null
set u2=null
endfunction
//===========================================================================
function InitTrig_CometFireNewJASS takes nothing returns nothing
set gg_trg_CometFireNewJASS = CreateTrigger( )
set udg_Hash=InitHashtable()
call TriggerRegisterAnyUnitEventBJ( gg_trg_CometFireNewJASS, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_CometFireNewJASS, Condition( function Trig_CometFireNewJASS_Conditions ) )
call TriggerAddAction( gg_trg_CometFireNewJASS, function Trig_CometFireNewJASS_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_Destruction_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A16N' ) ) then
return false
endif
return true
endfunction
function Trig_Destruction_Func006002003 takes nothing returns boolean
return ( IsUnitAlly(GetFilterUnit(), GetOwningPlayer(GetTriggerUnit())) == false )
endfunction
function Trig_Destruction_Func008A takes nothing returns nothing
call UnitDamageTargetBJ( GetTriggerUnit(), GetEnumUnit(), ( 50.00 + ( 25.00 * I2R(GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetTriggerUnit())) ) ), ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
endfunction
function Trig_Destruction_Func009002003 takes nothing returns boolean
return ( IsUnitAlly(GetFilterUnit(), GetOwningPlayer(GetTriggerUnit())) == false )
endfunction
function Trig_Destruction_Func011A takes nothing returns nothing
call UnitDamageTargetBJ( GetTriggerUnit(), GetEnumUnit(), ( 50.00 + ( 25.00 * I2R(GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetTriggerUnit())) ) ), ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
endfunction
function Trig_Destruction_Actions takes nothing returns nothing
call AddSpecialEffectTargetUnitBJ( "origin", GetTriggerUnit(), "war3mapImported\\NewSparksEX.mdx" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call SetUnitVertexColorBJ( GetTriggerUnit(), 100, 50.00, 30.00, 0 )
call SetUnitLifeBJ( GetTriggerUnit(), ( GetUnitStateSwap(UNIT_STATE_LIFE, GetTriggerUnit()) + ( 50.00 + ( 25.00 * I2R(GetUnitAbilityLevelSwapped(GetSpellAbilityId(), GetTriggerUnit())) ) ) ) )
set udg_tpoint = GetUnitLoc(GetTriggerUnit())
set udg_g = GetUnitsInRangeOfLocMatching(300.00, udg_tpoint, Condition(function Trig_Destruction_Func006002003))
call ConditionalTriggerExecute( gg_trg_CleanG )
call ForGroupBJ( udg_g, function Trig_Destruction_Func008A )
set udg_g = GetUnitsInRangeOfLocMatching(500.00, udg_tpoint, Condition(function Trig_Destruction_Func009002003))
call ConditionalTriggerExecute( gg_trg_CleanG )
call ForGroupBJ( udg_g, function Trig_Destruction_Func011A )
call RemoveLocation (udg_tpoint)
endfunction
//===========================================================================
function InitTrig_DestructionJASS takes nothing returns nothing
set gg_trg_DestructionJASS = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_DestructionJASS, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_DestructionJASS, Condition( function Trig_Destruction_Conditions ) )
call TriggerAddAction( gg_trg_DestructionJASS, function Trig_Destruction_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_ParadoxJASS_Cast_Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'A16L'
endfunction
function Trig_Paradox_____________________u_Func002C takes nothing returns boolean
if ( not ( UnitHasBuffBJ(GetSpellTargetUnit(), 'B0A6') == true ) ) then
return false
endif
return true
endfunction
function Trig_Paradox_____________________u_Func003C takes nothing returns boolean
if ( not ( IsUnitInGroup(GetSpellTargetUnit(), udg_MarkedforCasting) == true ) ) then
return false
endif
return true
endfunction
function ParadoxEndEffect takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
call UnitRemoveAbility( u,'A16M' )
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
set u=null
endfunction
function Trig_ParadoxJASS_Cast_Actions takes nothing returns nothing
local unit u = GetSpellTargetUnit()
local timer t = CreateTimer()
if ( Trig_Paradox_____________________u_Func002C() ) then
set u = null
set t = null
return
else
endif
if ( Trig_Paradox_____________________u_Func003C() ) then
else
call GroupAddUnitSimple( GetSpellTargetUnit(), udg_MarkedforCasting )
call TriggerRegisterUnitEvent( gg_trg_CastedSpellsJASS, GetSpellTargetUnit(), EVENT_UNIT_SPELL_EFFECT )
endif
call UnitAddAbility( u, 'A16M' )
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u)
call TimerStart(t,9,false,function ParadoxEndEffect)
set t=null
set u=null
endfunction
//===========================================================================
function InitTrig_ParadoxJASS takes nothing returns nothing
set gg_trg_ParadoxJASS = CreateTrigger( )
set udg_Hash=InitHashtable()
call TriggerRegisterAnyUnitEventBJ( gg_trg_ParadoxJASS, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_ParadoxJASS, Condition( function Trig_ParadoxJASS_Cast_Conditions ) )
call TriggerAddAction( gg_trg_ParadoxJASS, function Trig_ParadoxJASS_Cast_Actions )
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_CastedSpellsJASS_Conditions takes nothing returns boolean
if ( not ( UnitHasBuffBJ(GetTriggerUnit(), 'B0A6') == true ) ) then
return false
endif
return true
endfunction
function CastedSpellsJASSEnd takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
local real r=LoadReal(udg_Hash,GetHandleId(t),3)
set udg_real = r
call UnitDamageTargetBJ( u, u, ( udg_real - GetUnitStateSwap(UNIT_STATE_MANA, u) ), ATTACK_TYPE_CHAOS, DAMAGE_TYPE_DIVINE )
call SetUnitManaBJ( u, udg_real )
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
set u=null
endfunction
function Trig_CastedSpellsJASS_Actions takes nothing returns nothing
local unit u = GetTriggerUnit()
local real r = GetUnitStateSwap(UNIT_STATE_MANA, GetTriggerUnit())
local timer t = CreateTimer()
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u)
call SaveReal(udg_Hash,GetHandleId(t),3,r)
call TimerStart(t,0.01,false,function CastedSpellsJASSEnd)
set t=null
set u=null
endfunction
//===========================================================================
function InitTrig_CastedSpellsJASS takes nothing returns nothing
set gg_trg_CastedSpellsJASS = CreateTrigger( )
set udg_Hash=InitHashtable()
call TriggerAddCondition( gg_trg_CastedSpellsJASS, Condition( function Trig_CastedSpellsJASS_Conditions ) )
call TriggerAddAction( gg_trg_CastedSpellsJASS, function Trig_CastedSpellsJASS_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_BotsLearningSkills_Actions takes nothing returns nothing
call SelectHeroSkill( GetTriggerUnit(), 'A163' )
call SelectHeroSkill( GetTriggerUnit(), 'A15V' )
call SelectHeroSkill( GetTriggerUnit(), 'A15X' )
call SelectHeroSkill( GetTriggerUnit(), 'A15W' )
call SelectHeroSkill( GetTriggerUnit(), 'A15T' )
call SelectHeroSkill( GetTriggerUnit(), 'A15J' )
call SelectHeroSkill( GetTriggerUnit(), 'A15H' )
call SelectHeroSkill( GetTriggerUnit(), 'A15S' )
call SelectHeroSkill( GetTriggerUnit(), 'A150' )
call SelectHeroSkill( GetTriggerUnit(), 'A153' )
call SelectHeroSkill( GetTriggerUnit(), 'A14Y' )
call SelectHeroSkill( GetTriggerUnit(), 'A16O' )
call SelectHeroSkill( GetTriggerUnit(), 'A14O' )
call SelectHeroSkill( GetTriggerUnit(), 'A16K' )
call SelectHeroSkill( GetTriggerUnit(), 'A14Q' )
call SelectHeroSkill( GetTriggerUnit(), 'A14N' )
call SelectHeroSkill( GetTriggerUnit(), 'A14P' )
call SelectHeroSkill( GetTriggerUnit(), 'A14A' )
call SelectHeroSkill( GetTriggerUnit(), 'A0NN' )
call SelectHeroSkill( GetTriggerUnit(), 'A148' )
call SelectHeroSkill( GetTriggerUnit(), 'A149' )
call SelectHeroSkill( GetTriggerUnit(), 'A14B' )
call SelectHeroSkill( GetTriggerUnit(), 'A140' )
call SelectHeroSkill( GetTriggerUnit(), 'A13S' )
call SelectHeroSkill( GetTriggerUnit(), 'A141' )
call SelectHeroSkill( GetTriggerUnit(), 'A13Z' )
call SelectHeroSkill( GetTriggerUnit(), 'A13I' )
call SelectHeroSkill( GetTriggerUnit(), 'A13F' )
call SelectHeroSkill( GetTriggerUnit(), 'A13H' )
call SelectHeroSkill( GetTriggerUnit(), 'A13G' )
call SelectHeroSkill( GetTriggerUnit(), 'A137' )
call SelectHeroSkill( GetTriggerUnit(), 'A135' )
call SelectHeroSkill( GetTriggerUnit(), 'A136' )
call SelectHeroSkill( GetTriggerUnit(), 'A132' )
call SelectHeroSkill( GetTriggerUnit(), 'A12V' )
call SelectHeroSkill( GetTriggerUnit(), 'A12X' )
call SelectHeroSkill( GetTriggerUnit(), 'A12S' )
call SelectHeroSkill( GetTriggerUnit(), 'A12W' )
call SelectHeroSkill( GetTriggerUnit(), 'A12O' )
call SelectHeroSkill( GetTriggerUnit(), 'A12P' )
call SelectHeroSkill( GetTriggerUnit(), 'A12N' )
call SelectHeroSkill( GetTriggerUnit(), 'A12Q' )
call SelectHeroSkill( GetTriggerUnit(), 'A16F' )
call SelectHeroSkill( GetTriggerUnit(), 'A16E' )
call SelectHeroSkill( GetTriggerUnit(), 'A16B' )
call SelectHeroSkill( GetTriggerUnit(), 'A11S' )
call SelectHeroSkill( GetTriggerUnit(), 'A11T' )
call SelectHeroSkill( GetTriggerUnit(), 'A11R' )
call SelectHeroSkill( GetTriggerUnit(), 'A11J' )
call SelectHeroSkill( GetTriggerUnit(), 'A11F' )
call SelectHeroSkill( GetTriggerUnit(), 'A11H' )
call SelectHeroSkill( GetTriggerUnit(), 'A11G' )
call SelectHeroSkill( GetTriggerUnit(), 'A11I' )
call SelectHeroSkill( GetTriggerUnit(), 'A119' )
call SelectHeroSkill( GetTriggerUnit(), 'A10W' )
call SelectHeroSkill( GetTriggerUnit(), 'A10X' )
call SelectHeroSkill( GetTriggerUnit(), 'A10V' )
call SelectHeroSkill( GetTriggerUnit(), 'A0XI' )
call SelectHeroSkill( GetTriggerUnit(), 'A10T' )
call SelectHeroSkill( GetTriggerUnit(), 'A10S' )
call SelectHeroSkill( GetTriggerUnit(), 'A10F' )
call SelectHeroSkill( GetTriggerUnit(), 'A10G' )
call SelectHeroSkill( GetTriggerUnit(), 'A10L' )
call SelectHeroSkill( GetTriggerUnit(), 'A10K' )
call SelectHeroSkill( GetTriggerUnit(), 'A101' )
call SelectHeroSkill( GetTriggerUnit(), 'A0ZZ' )
call SelectHeroSkill( GetTriggerUnit(), 'A106' )
call SelectHeroSkill( GetTriggerUnit(), 'A100' )
call SelectHeroSkill( GetTriggerUnit(), 'A0ZV' )
call SelectHeroSkill( GetTriggerUnit(), 'A0ZY' )
call SelectHeroSkill( GetTriggerUnit(), 'A0ZW' )
call SelectHeroSkill( GetTriggerUnit(), 'A0ZX' )
call SelectHeroSkill( GetTriggerUnit(), 'A0ZO' )
call SelectHeroSkill( GetTriggerUnit(), 'A0ZT' )
call SelectHeroSkill( GetTriggerUnit(), 'A0ZP' )
call SelectHeroSkill( GetTriggerUnit(), 'A0ZU' )
call SelectHeroSkill( GetTriggerUnit(), 'A0ZK' )
call SelectHeroSkill( GetTriggerUnit(), 'A0ZB' )
call SelectHeroSkill( GetTriggerUnit(), 'A0ZI' )
call SelectHeroSkill( GetTriggerUnit(), 'A0ZH' )
call SelectHeroSkill( GetTriggerUnit(), 'A0Z6' )
call SelectHeroSkill( GetTriggerUnit(), 'A0Z4' )
call SelectHeroSkill( GetTriggerUnit(), 'A0Z1' )
call SelectHeroSkill( GetTriggerUnit(), 'A0Z3' )
call SelectHeroSkill( GetTriggerUnit(), 'A0Z0' )
call SelectHeroSkill( GetTriggerUnit(), 'A0Z2' )
call SelectHeroSkill( GetTriggerUnit(), 'A0YZ' )
call SelectHeroSkill( GetTriggerUnit(), 'A0VJ' )
call SelectHeroSkill( GetTriggerUnit(), 'A0YK' )
call SelectHeroSkill( GetTriggerUnit(), 'A0YJ' )
call SelectHeroSkill( GetTriggerUnit(), 'A0YI' )
call SelectHeroSkill( GetTriggerUnit(), 'A0YH' )
call SelectHeroSkill( GetTriggerUnit(), 'A0YD' )
call SelectHeroSkill( GetTriggerUnit(), 'A0YC' )
call SelectHeroSkill( GetTriggerUnit(), 'A0YE' )
call SelectHeroSkill( GetTriggerUnit(), 'A0YB' )
call SelectHeroSkill( GetTriggerUnit(), 'A0Y7' )
call SelectHeroSkill( GetTriggerUnit(), 'A0Y9' )
call SelectHeroSkill( GetTriggerUnit(), 'A0Y8' )
call SelectHeroSkill( GetTriggerUnit(), 'A0YA' )
call SelectHeroSkill( GetTriggerUnit(), 'A00Q' )
call SelectHeroSkill( GetTriggerUnit(), 'A0BW' )
call SelectHeroSkill( GetTriggerUnit(), 'A015' )
call SelectHeroSkill( GetTriggerUnit(), 'ANfa' )
call SelectHeroSkill( GetTriggerUnit(), 'A0IB' )
call SelectHeroSkill( GetTriggerUnit(), 'A08J' )
call SelectHeroSkill( GetTriggerUnit(), 'A08I' )
call SelectHeroSkill( GetTriggerUnit(), 'AEev' )
call SelectHeroSkill( GetTriggerUnit(), 'A0IE' )
call SelectHeroSkill( GetTriggerUnit(), 'A084' )
call SelectHeroSkill( GetTriggerUnit(), 'A0D9' )
call SelectHeroSkill( GetTriggerUnit(), 'A0L8' )
call SelectHeroSkill( GetTriggerUnit(), 'A0C2' )
call SelectHeroSkill( GetTriggerUnit(), 'A06R' )
call SelectHeroSkill( GetTriggerUnit(), 'A0JB' )
call SelectHeroSkill( GetTriggerUnit(), 'A0NI' )
call SelectHeroSkill( GetTriggerUnit(), 'A0XR' )
call SelectHeroSkill( GetTriggerUnit(), 'A0NV' )
call SelectHeroSkill( GetTriggerUnit(), 'AHab' )
call SelectHeroSkill( GetTriggerUnit(), 'A00S' )
call SelectHeroSkill( GetTriggerUnit(), 'A0XK' )
call SelectHeroSkill( GetTriggerUnit(), 'A00O' )
call SelectHeroSkill( GetTriggerUnit(), 'A002' )
call SelectHeroSkill( GetTriggerUnit(), 'AOhx' )
call SelectHeroSkill( GetTriggerUnit(), 'AEtq' )
call SelectHeroSkill( GetTriggerUnit(), 'A083' )
call SelectHeroSkill( GetTriggerUnit(), 'ANms' )
call SelectHeroSkill( GetTriggerUnit(), 'A0NM' )
call SelectHeroSkill( GetTriggerUnit(), 'A08R' )
call SelectHeroSkill( GetTriggerUnit(), 'A001' )
call SelectHeroSkill( GetTriggerUnit(), 'A09X' )
call SelectHeroSkill( GetTriggerUnit(), 'A0J6' )
call SelectHeroSkill( GetTriggerUnit(), 'A0LH' )
call SelectHeroSkill( GetTriggerUnit(), 'A0KX' )
call SelectHeroSkill( GetTriggerUnit(), 'A0B5' )
call SelectHeroSkill( GetTriggerUnit(), 'A0LJ' )
call SelectHeroSkill( GetTriggerUnit(), 'A0JG' )
call SelectHeroSkill( GetTriggerUnit(), 'A0JH' )
call SelectHeroSkill( GetTriggerUnit(), 'A0JE' )
call SelectHeroSkill( GetTriggerUnit(), 'A085' )
call SelectHeroSkill( GetTriggerUnit(), 'A0CK' )
call SelectHeroSkill( GetTriggerUnit(), 'A0Q6' )
call SelectHeroSkill( GetTriggerUnit(), 'A0I8' )
call SelectHeroSkill( GetTriggerUnit(), 'A09D' )
call SelectHeroSkill( GetTriggerUnit(), 'A0SK' )
call SelectHeroSkill( GetTriggerUnit(), 'A08Y' )
call SelectHeroSkill( GetTriggerUnit(), 'A156' )
call SelectHeroSkill( GetTriggerUnit(), 'ANab' )
call SelectHeroSkill( GetTriggerUnit(), 'ANcr' )
call SelectHeroSkill( GetTriggerUnit(), 'A086' )
call SelectHeroSkill( GetTriggerUnit(), 'A0DY' )
call SelectHeroSkill( GetTriggerUnit(), 'A08P' )
call SelectHeroSkill( GetTriggerUnit(), 'ANsq' )
call SelectHeroSkill( GetTriggerUnit(), 'A0IV' )
call SelectHeroSkill( GetTriggerUnit(), 'A0SJ' )
call SelectHeroSkill( GetTriggerUnit(), 'A0M6' )
call SelectHeroSkill( GetTriggerUnit(), 'ANbf' )
call SelectHeroSkill( GetTriggerUnit(), 'ANdb' )
call SelectHeroSkill( GetTriggerUnit(), 'ANdh' )
call SelectHeroSkill( GetTriggerUnit(), 'A0SZ' )
call SelectHeroSkill( GetTriggerUnit(), 'AOcl' )
call SelectHeroSkill( GetTriggerUnit(), 'AHtc' )
call SelectHeroSkill( GetTriggerUnit(), 'ANmo' )
call SelectHeroSkill( GetTriggerUnit(), 'A08R' )
call SelectHeroSkill( GetTriggerUnit(), 'AEer' )
call SelectHeroSkill( GetTriggerUnit(), 'A031' )
call SelectHeroSkill( GetTriggerUnit(), 'A0BV' )
call SelectHeroSkill( GetTriggerUnit(), 'A09D' )
call SelectHeroSkill( GetTriggerUnit(), 'A09E' )
call SelectHeroSkill( GetTriggerUnit(), 'A10E' )
call SelectHeroSkill( GetTriggerUnit(), 'ANcs' )
call SelectHeroSkill( GetTriggerUnit(), 'AEsf' )
call SelectHeroSkill( GetTriggerUnit(), 'A0IA' )
call SelectHeroSkill( GetTriggerUnit(), 'AEar' )
call SelectHeroSkill( GetTriggerUnit(), 'A06W' )
call SelectHeroSkill( GetTriggerUnit(), 'A0FJ' )
call SelectHeroSkill( GetTriggerUnit(), 'A0EN' )
call SelectHeroSkill( GetTriggerUnit(), 'A0YT' )
call SelectHeroSkill( GetTriggerUnit(), 'A0YO' )
call SelectHeroSkill( GetTriggerUnit(), 'A0HS' )
call SelectHeroSkill( GetTriggerUnit(), 'A0BJ' )
call SelectHeroSkill( GetTriggerUnit(), 'A0IH' )
call SelectHeroSkill( GetTriggerUnit(), 'A0BK' )
call SelectHeroSkill( GetTriggerUnit(), 'AEsh' )
call SelectHeroSkill( GetTriggerUnit(), 'A00X' )
call SelectHeroSkill( GetTriggerUnit(), 'A0A0' )
call SelectHeroSkill( GetTriggerUnit(), 'AEah' )
call SelectHeroSkill( GetTriggerUnit(), 'A0CP' )
call SelectHeroSkill( GetTriggerUnit(), 'A08A' )
call SelectHeroSkill( GetTriggerUnit(), 'A09J' )
call SelectHeroSkill( GetTriggerUnit(), 'A0K9' )
call SelectHeroSkill( GetTriggerUnit(), 'A0B1' )
call SelectHeroSkill( GetTriggerUnit(), 'A0EL' )
call SelectHeroSkill( GetTriggerUnit(), 'A08U' )
call SelectHeroSkill( GetTriggerUnit(), 'A0J4' )
call SelectHeroSkill( GetTriggerUnit(), 'A08E' )
call SelectHeroSkill( GetTriggerUnit(), 'A0B0' )
call SelectHeroSkill( GetTriggerUnit(), 'A0B7' )
call SelectHeroSkill( GetTriggerUnit(), 'A0ID' )
call SelectHeroSkill( GetTriggerUnit(), 'A0DV' )
call SelectHeroSkill( GetTriggerUnit(), 'A0ZA' )
call SelectHeroSkill( GetTriggerUnit(), 'A0Q8' )
call SelectHeroSkill( GetTriggerUnit(), 'A0GR' )
call SelectHeroSkill( GetTriggerUnit(), 'AEfn' )
call SelectHeroSkill( GetTriggerUnit(), 'A0J0' )
call SelectHeroSkill( GetTriggerUnit(), 'A0J1' )
call SelectHeroSkill( GetTriggerUnit(), 'A0LI' )
call SelectHeroSkill( GetTriggerUnit(), 'A167' )
call SelectHeroSkill( GetTriggerUnit(), 'A0L3' )
call SelectHeroSkill( GetTriggerUnit(), 'A0L1' )
call SelectHeroSkill( GetTriggerUnit(), 'A0A8' )
call SelectHeroSkill( GetTriggerUnit(), 'A0A1' )
call SelectHeroSkill( GetTriggerUnit(), 'A0UG' )
call SelectHeroSkill( GetTriggerUnit(), 'A0B8' )
call SelectHeroSkill( GetTriggerUnit(), 'A0BG' )
call SelectHeroSkill( GetTriggerUnit(), 'A00D' )
call SelectHeroSkill( GetTriggerUnit(), 'A0KF' )
call SelectHeroSkill( GetTriggerUnit(), 'A0MJ' )
call SelectHeroSkill( GetTriggerUnit(), 'A0MA' )
call SelectHeroSkill( GetTriggerUnit(), 'A00J' )
call SelectHeroSkill( GetTriggerUnit(), 'A0BM' )
call SelectHeroSkill( GetTriggerUnit(), 'A09N' )
call SelectHeroSkill( GetTriggerUnit(), 'A09P' )
call SelectHeroSkill( GetTriggerUnit(), 'A0YM' )
call SelectHeroSkill( GetTriggerUnit(), 'A09M' )
call SelectHeroSkill( GetTriggerUnit(), 'A0KM' )
call SelectHeroSkill( GetTriggerUnit(), 'A0KY' )
call SelectHeroSkill( GetTriggerUnit(), 'ANso' )
call SelectHeroSkill( GetTriggerUnit(), 'A14H' )
call SelectHeroSkill( GetTriggerUnit(), 'A08Q' )
call SelectHeroSkill( GetTriggerUnit(), 'A0B3' )
call SelectHeroSkill( GetTriggerUnit(), 'ANca' )
call SelectHeroSkill( GetTriggerUnit(), 'A0HF' )
call SelectHeroSkill( GetTriggerUnit(), 'A0XD' )
call SelectHeroSkill( GetTriggerUnit(), 'A0L5' )
call SelectHeroSkill( GetTriggerUnit(), 'A08X' )
call SelectHeroSkill( GetTriggerUnit(), 'A09U' )
call SelectHeroSkill( GetTriggerUnit(), 'A06P' )
call SelectHeroSkill( GetTriggerUnit(), 'AOcr' )
call SelectHeroSkill( GetTriggerUnit(), 'AOww' )
call SelectHeroSkill( GetTriggerUnit(), 'AOwk' )
call SelectHeroSkill( GetTriggerUnit(), 'A0KO' )
call SelectHeroSkill( GetTriggerUnit(), 'AUts' )
call SelectHeroSkill( GetTriggerUnit(), 'AEmb' )
call SelectHeroSkill( GetTriggerUnit(), 'AUim' )
call SelectHeroSkill( GetTriggerUnit(), 'A0Q4' )
call SelectHeroSkill( GetTriggerUnit(), 'A00Y' )
call SelectHeroSkill( GetTriggerUnit(), 'AHfa' )
call SelectHeroSkill( GetTriggerUnit(), 'A074' )
call SelectHeroSkill( GetTriggerUnit(), 'A0JC' )
call SelectHeroSkill( GetTriggerUnit(), 'A0JJ' )
call SelectHeroSkill( GetTriggerUnit(), 'A0J5' )
call SelectHeroSkill( GetTriggerUnit(), 'A0JA' )
call SelectHeroSkill( GetTriggerUnit(), 'A01A' )
call SelectHeroSkill( GetTriggerUnit(), 'A08D' )
call SelectHeroSkill( GetTriggerUnit(), 'A00R' )
call SelectHeroSkill( GetTriggerUnit(), 'A09H' )
call SelectHeroSkill( GetTriggerUnit(), 'A014' )
call SelectHeroSkill( GetTriggerUnit(), 'AOsh' )
call SelectHeroSkill( GetTriggerUnit(), 'A08M' )
call SelectHeroSkill( GetTriggerUnit(), 'A0Q3' )
call SelectHeroSkill( GetTriggerUnit(), 'A0BO' )
call SelectHeroSkill( GetTriggerUnit(), 'A092' )
call SelectHeroSkill( GetTriggerUnit(), 'A093' )
call SelectHeroSkill( GetTriggerUnit(), 'A0I9' )
call SelectHeroSkill( GetTriggerUnit(), 'A0CO' )
call SelectHeroSkill( GetTriggerUnit(), 'A0N3' )
call SelectHeroSkill( GetTriggerUnit(), 'A0JW' )
call SelectHeroSkill( GetTriggerUnit(), 'A0BF' )
call SelectHeroSkill( GetTriggerUnit(), 'AUav' )
call SelectHeroSkill( GetTriggerUnit(), 'A0K5' )
call SelectHeroSkill( GetTriggerUnit(), 'A16V' )
call SelectHeroSkill( GetTriggerUnit(), 'A0KE' )
call SelectHeroSkill( GetTriggerUnit(), 'A094' )
call SelectHeroSkill( GetTriggerUnit(), 'A095' )
call SelectHeroSkill( GetTriggerUnit(), 'A06F' )
call SelectHeroSkill( GetTriggerUnit(), 'A12A' )
call SelectHeroSkill( GetTriggerUnit(), 'AUfn' )
call SelectHeroSkill( GetTriggerUnit(), 'A0J7' )
call SelectHeroSkill( GetTriggerUnit(), 'AUfu' )
call SelectHeroSkill( GetTriggerUnit(), 'A0HQ' )
call SelectHeroSkill( GetTriggerUnit(), 'ANfl' )
call SelectHeroSkill( GetTriggerUnit(), 'A0LN' )
call SelectHeroSkill( GetTriggerUnit(), 'A0IF' )
call SelectHeroSkill( GetTriggerUnit(), 'ANdo' )
call SelectHeroSkill( GetTriggerUnit(), 'A0MN' )
call SelectHeroSkill( GetTriggerUnit(), 'A09F' )
call SelectHeroSkill( GetTriggerUnit(), 'A13A' )
call SelectHeroSkill( GetTriggerUnit(), 'A0M7' )
call SelectHeroSkill( GetTriggerUnit(), 'ANsi' )
call SelectHeroSkill( GetTriggerUnit(), 'A0C4' )
call SelectHeroSkill( GetTriggerUnit(), 'A0YY' )
call SelectHeroSkill( GetTriggerUnit(), 'A0AK' )
call SelectHeroSkill( GetTriggerUnit(), 'A0G4' )
call SelectHeroSkill( GetTriggerUnit(), 'A0T1' )
call SelectHeroSkill( GetTriggerUnit(), 'AEbl' )
call SelectHeroSkill( GetTriggerUnit(), 'A0FU' )
call SelectHeroSkill( GetTriggerUnit(), 'A0YN' )
call SelectHeroSkill( GetTriggerUnit(), 'A0AW' )
call SelectHeroSkill( GetTriggerUnit(), 'A00C' )
call SelectHeroSkill( GetTriggerUnit(), 'A0F9' )
call SelectHeroSkill( GetTriggerUnit(), 'A08V' )
call SelectHeroSkill( GetTriggerUnit(), 'A00Z' )
call SelectHeroSkill( GetTriggerUnit(), 'A09G' )
call SelectHeroSkill( GetTriggerUnit(), 'A09L' )
call SelectHeroSkill( GetTriggerUnit(), 'A0JR' )
call SelectHeroSkill( GetTriggerUnit(), 'A0JT' )
call SelectHeroSkill( GetTriggerUnit(), 'A0JU' )
call SelectHeroSkill( GetTriggerUnit(), 'A0LR' )
call SelectHeroSkill( GetTriggerUnit(), 'A0BI' )
call SelectHeroSkill( GetTriggerUnit(), 'A0LT' )
call SelectHeroSkill( GetTriggerUnit(), 'A0LX' )
call SelectHeroSkill( GetTriggerUnit(), 'A0LZ' )
call SelectHeroSkill( GetTriggerUnit(), 'A0M0' )
call SelectHeroSkill( GetTriggerUnit(), 'A0LY' )
call SelectHeroSkill( GetTriggerUnit(), 'A0MR' )
call SelectHeroSkill( GetTriggerUnit(), 'A0MO' )
call SelectHeroSkill( GetTriggerUnit(), 'A0MP' )
call SelectHeroSkill( GetTriggerUnit(), 'A0MU' )
call SelectHeroSkill( GetTriggerUnit(), 'A0MW' )
call SelectHeroSkill( GetTriggerUnit(), 'A0MV' )
call SelectHeroSkill( GetTriggerUnit(), 'A0MX' )
call SelectHeroSkill( GetTriggerUnit(), 'A0N3' )
call SelectHeroSkill( GetTriggerUnit(), 'A0N4' )
call SelectHeroSkill( GetTriggerUnit(), 'A0N5' )
call SelectHeroSkill( GetTriggerUnit(), 'A0N6' )
call SelectHeroSkill( GetTriggerUnit(), 'A0NF' )
call SelectHeroSkill( GetTriggerUnit(), 'A0NH' )
call SelectHeroSkill( GetTriggerUnit(), 'A0NE' )
call SelectHeroSkill( GetTriggerUnit(), 'A0NU' )
call SelectHeroSkill( GetTriggerUnit(), 'A0NT' )
call SelectHeroSkill( GetTriggerUnit(), 'A0NO' )
call SelectHeroSkill( GetTriggerUnit(), 'A0NS' )
call SelectHeroSkill( GetTriggerUnit(), 'A0KS' )
call SelectHeroSkill( GetTriggerUnit(), 'A0KN' )
call SelectHeroSkill( GetTriggerUnit(), 'A0JI' )
call SelectHeroSkill( GetTriggerUnit(), 'A0H2' )
call SelectHeroSkill( GetTriggerUnit(), 'A0O1' )
call SelectHeroSkill( GetTriggerUnit(), 'A0NZ' )
call SelectHeroSkill( GetTriggerUnit(), 'A0O3' )
call SelectHeroSkill( GetTriggerUnit(), 'A0O2' )
call SelectHeroSkill( GetTriggerUnit(), 'A0O9' )
call SelectHeroSkill( GetTriggerUnit(), 'A0O7' )
call SelectHeroSkill( GetTriggerUnit(), 'A0OA' )
call SelectHeroSkill( GetTriggerUnit(), 'A0O8' )
call SelectHeroSkill( GetTriggerUnit(), 'A0OB' )
call SelectHeroSkill( GetTriggerUnit(), 'A0OC' )
call SelectHeroSkill( GetTriggerUnit(), 'A0OE' )
call SelectHeroSkill( GetTriggerUnit(), 'A0OD' )
call SelectHeroSkill( GetTriggerUnit(), 'A0ON' )
call SelectHeroSkill( GetTriggerUnit(), 'A0OO' )
call SelectHeroSkill( GetTriggerUnit(), 'A0OK' )
call SelectHeroSkill( GetTriggerUnit(), 'A0OL' )
call SelectHeroSkill( GetTriggerUnit(), 'A0P0' )
call SelectHeroSkill( GetTriggerUnit(), 'A0OX' )
call SelectHeroSkill( GetTriggerUnit(), 'A0OZ' )
call SelectHeroSkill( GetTriggerUnit(), 'A0OY' )
call SelectHeroSkill( GetTriggerUnit(), 'A0P2' )
call SelectHeroSkill( GetTriggerUnit(), 'A0PD' )
call SelectHeroSkill( GetTriggerUnit(), 'A0P3' )
call SelectHeroSkill( GetTriggerUnit(), 'A0PM' )
call SelectHeroSkill( GetTriggerUnit(), 'A0PO' )
call SelectHeroSkill( GetTriggerUnit(), 'A0PG' )
call SelectHeroSkill( GetTriggerUnit(), 'A0PT' )
call SelectHeroSkill( GetTriggerUnit(), 'A0Q1' )
call SelectHeroSkill( GetTriggerUnit(), 'A0PS' )
call SelectHeroSkill( GetTriggerUnit(), 'A0PU' )
call SelectHeroSkill( GetTriggerUnit(), 'A0QP' )
call SelectHeroSkill( GetTriggerUnit(), 'A0QJ' )
call SelectHeroSkill( GetTriggerUnit(), 'A0QI' )
call SelectHeroSkill( GetTriggerUnit(), 'A0R2' )
call SelectHeroSkill( GetTriggerUnit(), 'A0R0' )
call SelectHeroSkill( GetTriggerUnit(), 'A0QZ' )
call SelectHeroSkill( GetTriggerUnit(), 'A0R1' )
call SelectHeroSkill( GetTriggerUnit(), 'A0R7' )
call SelectHeroSkill( GetTriggerUnit(), 'A0R5' )
call SelectHeroSkill( GetTriggerUnit(), 'A0PC' )
call SelectHeroSkill( GetTriggerUnit(), 'A0RB' )
call SelectHeroSkill( GetTriggerUnit(), 'A0R8' )
call SelectHeroSkill( GetTriggerUnit(), 'A0RD' )
call SelectHeroSkill( GetTriggerUnit(), 'A0RG' )
call SelectHeroSkill( GetTriggerUnit(), 'A0RF' )
call SelectHeroSkill( GetTriggerUnit(), 'A0RE' )
call SelectHeroSkill( GetTriggerUnit(), 'A0RU' )
call SelectHeroSkill( GetTriggerUnit(), 'A0RR' )
call SelectHeroSkill( GetTriggerUnit(), 'A0RS' )
call SelectHeroSkill( GetTriggerUnit(), 'A0RT' )
call SelectHeroSkill( GetTriggerUnit(), 'A0Y0' )
call SelectHeroSkill( GetTriggerUnit(), 'A0RX' )
call SelectHeroSkill( GetTriggerUnit(), 'A0RY' )
call SelectHeroSkill( GetTriggerUnit(), 'A0RV' )
call SelectHeroSkill( GetTriggerUnit(), 'A0S7' )
call SelectHeroSkill( GetTriggerUnit(), 'A0SA' )
call SelectHeroSkill( GetTriggerUnit(), 'A0S6' )
call SelectHeroSkill( GetTriggerUnit(), 'A0S3' )
call SelectHeroSkill( GetTriggerUnit(), 'A0S5' )
call SelectHeroSkill( GetTriggerUnit(), 'A0SD' )
call SelectHeroSkill( GetTriggerUnit(), 'A0SC' )
call SelectHeroSkill( GetTriggerUnit(), 'A0SB' )
call SelectHeroSkill( GetTriggerUnit(), 'A0SG' )
call SelectHeroSkill( GetTriggerUnit(), 'A0SH' )
call SelectHeroSkill( GetTriggerUnit(), 'A0SF' )
call SelectHeroSkill( GetTriggerUnit(), 'A0SO' )
call SelectHeroSkill( GetTriggerUnit(), 'A0SL' )
call SelectHeroSkill( GetTriggerUnit(), 'A0SP' )
call SelectHeroSkill( GetTriggerUnit(), 'A16N' )
call SelectHeroSkill( GetTriggerUnit(), 'A0SM' )
call SelectHeroSkill( GetTriggerUnit(), 'A0SQ' )
call SelectHeroSkill( GetTriggerUnit(), 'A0SR' )
call SelectHeroSkill( GetTriggerUnit(), 'A0XZ' )
call SelectHeroSkill( GetTriggerUnit(), 'A0SW' )
call SelectHeroSkill( GetTriggerUnit(), 'A0SX' )
call SelectHeroSkill( GetTriggerUnit(), 'A0SU' )
call SelectHeroSkill( GetTriggerUnit(), 'A0TB' )
call SelectHeroSkill( GetTriggerUnit(), 'A0T8' )
call SelectHeroSkill( GetTriggerUnit(), 'A0T9' )
call SelectHeroSkill( GetTriggerUnit(), 'A0TJ' )
call SelectHeroSkill( GetTriggerUnit(), 'A0TI' )
call SelectHeroSkill( GetTriggerUnit(), 'A0TH' )
call SelectHeroSkill( GetTriggerUnit(), 'A0UA' )
call SelectHeroSkill( GetTriggerUnit(), 'A0TM' )
call SelectHeroSkill( GetTriggerUnit(), 'A0TW' )
call SelectHeroSkill( GetTriggerUnit(), 'A0TO' )
call SelectHeroSkill( GetTriggerUnit(), 'A0TN' )
call SelectHeroSkill( GetTriggerUnit(), 'A0U0' )
call SelectHeroSkill( GetTriggerUnit(), 'A0U4' )
call SelectHeroSkill( GetTriggerUnit(), 'A0TZ' )
call SelectHeroSkill( GetTriggerUnit(), 'A0TY' )
call SelectHeroSkill( GetTriggerUnit(), 'A0U8' )
call SelectHeroSkill( GetTriggerUnit(), 'A0U5' )
call SelectHeroSkill( GetTriggerUnit(), 'A0TG' )
call SelectHeroSkill( GetTriggerUnit(), 'A0UB' )
call SelectHeroSkill( GetTriggerUnit(), 'A0UD' )
call SelectHeroSkill( GetTriggerUnit(), 'A0UE' )
call SelectHeroSkill( GetTriggerUnit(), 'A0UR' )
call SelectHeroSkill( GetTriggerUnit(), 'A0UC' )
call SelectHeroSkill( GetTriggerUnit(), 'A0UQ' )
call SelectHeroSkill( GetTriggerUnit(), 'A0UP' )
call SelectHeroSkill( GetTriggerUnit(), 'A0UN' )
call SelectHeroSkill( GetTriggerUnit(), 'A0UO' )
call SelectHeroSkill( GetTriggerUnit(), 'A0UT' )
call SelectHeroSkill( GetTriggerUnit(), 'A0UV' )
call SelectHeroSkill( GetTriggerUnit(), 'A0UX' )
call SelectHeroSkill( GetTriggerUnit(), 'A08C' )
call SelectHeroSkill( GetTriggerUnit(), 'A0V9' )
call SelectHeroSkill( GetTriggerUnit(), 'A0V8' )
call SelectHeroSkill( GetTriggerUnit(), 'A0V4' )
call SelectHeroSkill( GetTriggerUnit(), 'A0YW' )
call SelectHeroSkill( GetTriggerUnit(), 'A0VM' )
call SelectHeroSkill( GetTriggerUnit(), 'A0XC' )
call SelectHeroSkill( GetTriggerUnit(), 'A0VL' )
call SelectHeroSkill( GetTriggerUnit(), 'A0WV' )
call SelectHeroSkill( GetTriggerUnit(), 'A0VU' )
call SelectHeroSkill( GetTriggerUnit(), 'A0VT' )
call SelectHeroSkill( GetTriggerUnit(), 'A0VR' )
call SelectHeroSkill( GetTriggerUnit(), 'A0VN' )
call SelectHeroSkill( GetTriggerUnit(), 'A0W6' )
call SelectHeroSkill( GetTriggerUnit(), 'A0VY' )
call SelectHeroSkill( GetTriggerUnit(), 'A0W5' )
call SelectHeroSkill( GetTriggerUnit(), 'A0LQ' )
call SelectHeroSkill( GetTriggerUnit(), 'A0WK' )
call SelectHeroSkill( GetTriggerUnit(), 'A0WL' )
call SelectHeroSkill( GetTriggerUnit(), 'A0WJ' )
call SelectHeroSkill( GetTriggerUnit(), 'A0WH' )
call SelectHeroSkill( GetTriggerUnit(), 'A0H3' )
call SelectHeroSkill( GetTriggerUnit(), 'A0WQ' )
call SelectHeroSkill( GetTriggerUnit(), 'A14R' )
call SelectHeroSkill( GetTriggerUnit(), 'A0WO' )
call SelectHeroSkill( GetTriggerUnit(), 'A0WT' )
call SelectHeroSkill( GetTriggerUnit(), 'A0WY' )
call SelectHeroSkill( GetTriggerUnit(), 'A0WW' )
call SelectHeroSkill( GetTriggerUnit(), 'A0X2' )
call SelectHeroSkill( GetTriggerUnit(), 'A0X1' )
call SelectHeroSkill( GetTriggerUnit(), 'A0X0' )
call SelectHeroSkill( GetTriggerUnit(), 'A0WZ' )
call SelectHeroSkill( GetTriggerUnit(), 'A0XA' )
call SelectHeroSkill( GetTriggerUnit(), 'A0X8' )
call SelectHeroSkill( GetTriggerUnit(), 'A0X9' )
call SelectHeroSkill( GetTriggerUnit(), 'A0X7' )
call SelectHeroSkill( GetTriggerUnit(), 'A0XG' )
call SelectHeroSkill( GetTriggerUnit(), 'A0XF' )
call SelectHeroSkill( GetTriggerUnit(), 'A0XH' )
call SelectHeroSkill( GetTriggerUnit(), 'A0XN' )
call SelectHeroSkill( GetTriggerUnit(), 'A0XP' )
call SelectHeroSkill( GetTriggerUnit(), 'A0XO' )
call SelectHeroSkill( GetTriggerUnit(), 'A0XQ' )
call SelectHeroSkill( GetTriggerUnit(), 'A0XV' )
call SelectHeroSkill( GetTriggerUnit(), 'A0XX' )
call SelectHeroSkill( GetTriggerUnit(), 'A0XU' )
call SelectHeroSkill( GetTriggerUnit(), 'A0XW' )
call SelectHeroSkill( GetTriggerUnit(), 'A0NN' )
call SelectHeroSkill( GetTriggerUnit(), 'A0TA' )
call SelectHeroSkill( GetTriggerUnit(), 'A0MQ' )
call SelectHeroSkill( GetTriggerUnit(), 'A0LU' )
call SelectHeroSkill( GetTriggerUnit(), 'A0MT' )
call SelectHeroSkill( GetTriggerUnit(), 'A0NG' )
call SelectHeroSkill( GetTriggerUnit(), 'A14C' )
call SelectHeroSkill( GetTriggerUnit(), 'A0P6' )
call SelectHeroSkill( GetTriggerUnit(), 'A0P1' )
call SelectHeroSkill( GetTriggerUnit(), 'A0RC' )
call SelectHeroSkill( GetTriggerUnit(), 'A0R9' )
call SelectHeroSkill( GetTriggerUnit(), 'A0SI' )
call SelectHeroSkill( GetTriggerUnit(), 'A0SN' )
call SelectHeroSkill( GetTriggerUnit(), 'A0NN' )
endfunction
//===========================================================================
function InitTrig_BotsLearningSkills takes nothing returns nothing
set gg_trg_BotsLearningSkills = CreateTrigger( )
call TriggerRegisterPlayerUnitEventSimple( gg_trg_BotsLearningSkills, Player(bj_PLAYER_NEUTRAL_VICTIM), EVENT_PLAYER_HERO_LEVEL )
call TriggerRegisterPlayerUnitEventSimple( gg_trg_BotsLearningSkills, Player(bj_PLAYER_NEUTRAL_EXTRA), EVENT_PLAYER_HERO_LEVEL )
call TriggerAddAction( gg_trg_BotsLearningSkills, function Trig_BotsLearningSkills_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_Within_RANGE_LIGHT_Conditions takes nothing returns boolean
if ( not ( IsUnitType(GetTriggerUnit(), UNIT_TYPE_HERO) == true ) ) then
return false
endif
if ( not ( UnitHasItemOfTypeBJ(GetTriggerUnit(), 'I059') == true ) ) then
return false
endif
return true
endfunction
function Trig_Within_RANGE_LIGHT_Func014002002 takes nothing returns boolean
return ( IsUnitType(GetFilterUnit(), UNIT_TYPE_HERO) == true )
endfunction
function Trig_Within_RANGE_LIGHT_Func015Func001C takes nothing returns boolean
if ( not ( IsPlayerAlly(GetOwningPlayer(GetEnumUnit()), GetOwningPlayer(GetTriggerUnit())) == false ) ) then
return false
endif
return true
endfunction
function Trig_Within_RANGE_LIGHT_Func015A takes nothing returns nothing
if ( Trig_Within_RANGE_LIGHT_Func015Func001C() ) then
set udg_point = GetUnitLoc(GetEnumUnit())
call AddSpecialEffectLocBJ( udg_point, "Abilities\\Spells\\Undead\\DeathCoil\\DeathCoilSpecialArt.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call KillUnit( GetEnumUnit() )
else
endif
endfunction
function WRL takes nothing returns nothing
local timer t=GetExpiredTimer()
call DisplayTimedTextToForce( GetPlayersAll(), 10.00, "|c00FF00C6\"GOD'S VENDETTA!\" Next can be used in 10 minutes." )
call DisableTrigger( GetTriggeringTrigger() )
call DisableTrigger( gg_trg_warning_A )
call StartTimerBJ( udg_OBELISK_A, false, 240.00 )
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
endfunction
function Trig_Within_RANGE_LIGHT_Actions takes nothing returns nothing
local timer t = CreateTimer()
call RemoveItem( GetItemOfTypeFromUnitBJ(GetTriggerUnit(), 'I059') )
call AddSpecialEffectLocBJ( GetRectCenter(gg_rct_Obelisk_Light), "Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call AddSpecialEffectLocBJ( GetRectCenter(gg_rct_Obelisk_Light), "Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call AddSpecialEffectLocBJ( GetRectCenter(gg_rct_Obelisk_Light), "Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call AddSpecialEffectLocBJ( GetRectCenter(gg_rct_Obelisk_Light), "Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
set udg_point = GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ( udg_point, "Abilities\\Spells\\Undead\\DeathCoil\\DeathCoilSpecialArt.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call KillUnit( GetTriggerUnit() )
set udg_g = GetUnitsInRectMatching(GetPlayableMapRect(), Condition(function Trig_Within_RANGE_LIGHT_Func014002002))
call ForGroupBJ( udg_g, function Trig_Within_RANGE_LIGHT_Func015A )
call TimerStart(t,4,false,function WRL)
set t= null
endfunction
//===========================================================================
function InitTrig_Within_RANGE_LIGHT takes nothing returns nothing
set gg_trg_Within_RANGE_LIGHT = CreateTrigger( )
call DisableTrigger( gg_trg_Within_RANGE_LIGHT )
call TriggerRegisterUnitInRangeSimple( gg_trg_Within_RANGE_LIGHT, 600.00, gg_unit_h016_0022 )
call TriggerAddCondition( gg_trg_Within_RANGE_LIGHT, Condition( function Trig_Within_RANGE_LIGHT_Conditions ) )
call TriggerAddAction( gg_trg_Within_RANGE_LIGHT, function Trig_Within_RANGE_LIGHT_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_Within_RANGE_DARK_Conditions takes nothing returns boolean
if ( not ( IsUnitType(GetTriggerUnit(), UNIT_TYPE_HERO) == true ) ) then
return false
endif
if ( not ( UnitHasItemOfTypeBJ(GetTriggerUnit(), 'I057') == true ) ) then
return false
endif
return true
endfunction
function Trig_Within_RANGE_DARK_Func014002002 takes nothing returns boolean
return ( IsUnitType(GetFilterUnit(), UNIT_TYPE_HERO) == true )
endfunction
function Trig_Within_RANGE_DARK_Func015Func001C takes nothing returns boolean
if ( not ( IsPlayerAlly(GetOwningPlayer(GetEnumUnit()), GetOwningPlayer(GetTriggerUnit())) == false ) ) then
return false
endif
return true
endfunction
function Trig_Within_RANGE_DARK_Func015A takes nothing returns nothing
if ( Trig_Within_RANGE_DARK_Func015Func001C() ) then
set udg_point = GetUnitLoc(GetEnumUnit())
call AddSpecialEffectLocBJ( udg_point, "Abilities\\Spells\\Undead\\DeathCoil\\DeathCoilSpecialArt.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call KillUnit( GetEnumUnit() )
else
endif
endfunction
function WRD takes nothing returns nothing
local timer t=GetExpiredTimer()
call DisplayTimedTextToForce( GetPlayersAll(), 10.00, "|c00FF00C6\"DARK PUNISHMENT\"! Next can be used in 10 minutes." )
call DisableTrigger( GetTriggeringTrigger() )
call DisableTrigger( gg_trg_warning_D )
call StartTimerBJ( udg_OBELISK, false, 240.00 )
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
endfunction
function Trig_Within_RANGE_DARK_Actions takes nothing returns nothing
local timer t = CreateTimer()
call RemoveItem( GetItemOfTypeFromUnitBJ(GetTriggerUnit(), 'I057') )
call AddSpecialEffectLocBJ( GetRectCenter(gg_rct_Obelisk_Darkness), "Abilities\\Spells\\Undead\\AnimateDead\\AnimateDeadTarget.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call AddSpecialEffectLocBJ( GetRectCenter(gg_rct_Obelisk_Darkness), "Abilities\\Spells\\Undead\\AnimateDead\\AnimateDeadTarget.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call AddSpecialEffectLocBJ( GetRectCenter(gg_rct_Obelisk_Darkness), "Abilities\\Spells\\Undead\\AnimateDead\\AnimateDeadTarget.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call AddSpecialEffectLocBJ( GetRectCenter(gg_rct_Obelisk_Darkness), "Abilities\\Spells\\Undead\\AnimateDead\\AnimateDeadTarget.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
set udg_point = GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ( udg_point, "Abilities\\Spells\\Undead\\DeathCoil\\DeathCoilSpecialArt.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call KillUnit( GetTriggerUnit() )
set udg_g = GetUnitsInRectMatching(GetPlayableMapRect(), Condition(function Trig_Within_RANGE_DARK_Func014002002))
call ForGroupBJ( udg_g, function Trig_Within_RANGE_DARK_Func015A )
call TimerStart(t,4,false,function WRD)
set t = null
endfunction
//===========================================================================
function InitTrig_Within_RANGE_DARK takes nothing returns nothing
set gg_trg_Within_RANGE_DARK = CreateTrigger( )
call DisableTrigger( gg_trg_Within_RANGE_DARK )
call TriggerRegisterUnitInRangeSimple( gg_trg_Within_RANGE_DARK, 600.00, gg_unit_h017_0052 )
call TriggerAddCondition( gg_trg_Within_RANGE_DARK, Condition( function Trig_Within_RANGE_DARK_Conditions ) )
call TriggerAddAction( gg_trg_Within_RANGE_DARK, function Trig_Within_RANGE_DARK_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_Revive_Conditions takes nothing returns boolean
if ( not ( IsUnitType(GetDyingUnit(), UNIT_TYPE_HERO) == true ) ) then
return false
endif
if ( not ( IsUnitInGroup(udg_unit, udg_AnimusCopies) == false ) ) then
return false
endif
return true
endfunction
function Trig_ReviveNewHero_Func001Func002C takes nothing returns boolean
if ( not ( IsPlayerInForce(udg_player, udg_Light) == true ) ) then
return false
endif
return true
endfunction
function Trig_ReviveNewHero_Func001C takes nothing returns boolean
if ( not ( udg_unit == null ) ) then
return false
endif
return true
endfunction
function Trig_ReviveHelperMore_Func001C takes nothing returns boolean
if ( not ( udg_DeadHeroes > udg_DeadHeroesInstant ) ) then
return false
endif
return true
endfunction
function Trig_ReviveHelper_Func001Func001C takes nothing returns boolean
if ( ( udg_DeadHeroes == 10 ) ) then
return true
endif
if ( ( udg_DeadHeroesInstant == 7 ) ) then
return true
endif
return false
endfunction
function Trig_ReviveHelper_Func001C takes nothing returns boolean
if ( not Trig_ReviveHelper_Func001Func001C() ) then
return false
endif
return true
endfunction
function Trig_Revive_Func001C takes nothing returns boolean
if ( not ( udg_Arena == 2 ) ) then
return false
endif
return true
endfunction
function Trig_Revive_Func002Func004002003 takes nothing returns boolean
return ( IsUnitAlly(GetFilterUnit(), GetOwningPlayer(GetTriggerUnit())) == false )
endfunction
function Trig_Revive_Func002Func006A takes nothing returns nothing
call UnitDamageTargetBJ( GetTriggerUnit(), GetEnumUnit(), ( 300.00 + ( 100.00 * I2R(GetUnitAbilityLevelSwapped('A0ZX', GetTriggerUnit())) ) ), ATTACK_TYPE_CHAOS, DAMAGE_TYPE_DIVINE )
endfunction
function Trig_Revive_Func002C takes nothing returns boolean
if ( not ( GetUnitAbilityLevelSwapped('A0ZX', GetTriggerUnit()) >= 1 ) ) then
return false
endif
return true
endfunction
function Trig_Revive_Func009C takes nothing returns boolean
if ( not ( udg_MyNewSide[GetConvertedPlayerId(GetOwningPlayer(udg_unit))] == "Light" ) ) then
return false
endif
return true
endfunction
function Trig_Revive_Func009C2 takes nothing returns boolean
if ( not ( udg_MyNewSide[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] == "Light" ) ) then
return false
endif
return true
endfunction
function Trig_Revive_Func018Func011C takes nothing returns boolean
if ( not ( GetHeroLevel(udg_unit) >= 5 ) ) then
return false
endif
return true
endfunction
function Trig_Revive_Func018Func012C takes nothing returns boolean
if ( not ( GetHeroLevel(udg_unit) >= 10 ) ) then
return false
endif
return true
endfunction
function Trig_Revive_Func018Func013C takes nothing returns boolean
if ( not ( GetHeroLevel(udg_unit) >= 15 ) ) then
return false
endif
return true
endfunction
function Trig_Revive_Func018Func014C takes nothing returns boolean
if ( not ( GetHeroLevel(udg_unit) >= 20 ) ) then
return false
endif
return true
endfunction
function Trig_Revive_Func018Func015C takes nothing returns boolean
if ( not ( GetHeroLevel(udg_unit) >= 25 ) ) then
return false
endif
return true
endfunction
function Trig_Revive_Func018Func019Func001Func001C takes nothing returns boolean
if ( not ( udg_integer == 2 ) ) then
return false
endif
return true
endfunction
function Trig_Revive_Func018Func019Func001C takes nothing returns boolean
if ( not ( udg_integer == 1 ) ) then
return false
endif
return true
endfunction
function Trig_Revive_Func018Func019Func003Func001C takes nothing returns boolean
if ( not ( udg_integer == 2 ) ) then
return false
endif
return true
endfunction
function Trig_Revive_Func018Func019Func003C takes nothing returns boolean
if ( not ( udg_integer == 1 ) ) then
return false
endif
return true
endfunction
function Trig_Revive_Func018Func019C takes nothing returns boolean
if ( not ( IsPlayerInForce(GetOwningPlayer(udg_unit), udg_Dark) == true ) ) then
return false
endif
return true
endfunction
function Trig_Revive_Func018C takes nothing returns boolean
if ( not ( GetPlayerController(GetOwningPlayer(udg_unit)) != MAP_CONTROL_USER ) ) then
return false
endif
return true
endfunction
function Trig_Revive_Func019C takes nothing returns boolean
if ( not ( IsPlayerInForce(GetOwningPlayer(udg_unit), udg_Light) == true ) ) then
return false
endif
return true
endfunction
function ReviveCompMove takes nothing returns nothing
local timer t2=GetExpiredTimer()
local unit u8=LoadUnitHandle(udg_Hash,GetHandleId(t2),2)
set udg_unit = u8
if ( Trig_Revive_Func018C() ) then
call SetUnitPathing( udg_unit, false )
set udg_integer = GetRandomInt(1, 3)
if ( Trig_Revive_Func018Func019C() ) then
if ( Trig_Revive_Func018Func019Func003C() ) then
set udg_point = GetRectCenter(gg_rct_North_Dark_Spawn)
else
if ( Trig_Revive_Func018Func019Func003Func001C() ) then
set udg_point = GetRectCenter(gg_rct_AttackCenter)
else
set udg_point = GetRectCenter(gg_rct_South_Dark_spawn)
endif
endif
else
if ( Trig_Revive_Func018Func019Func001C() ) then
set udg_point = GetRectCenter(gg_rct_North_Light_spawn)
else
if ( Trig_Revive_Func018Func019Func001Func001C() ) then
set udg_point = GetRectCenter(gg_rct_AttackCenter)
else
set udg_point = GetRectCenter(gg_rct_South_Light_spawn)
endif
endif
call IssuePointOrderLoc( udg_unit, "attack", udg_point )
endif
else
endif
call FlushChildHashtable(udg_Hash,GetHandleId(t2))
call DestroyTimer(t2)
set t2=null
set u8=null
endfunction
function ReviveEnd takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u7=LoadUnitHandle(udg_Hash,GetHandleId(t),2)
local integer i=LoadInteger(udg_Hash,GetHandleId(t),3)
local player p = LoadPlayerHandle(udg_Hash,GetHandleId(t),6)
set udg_unit = u7
set udg_player = p
if ( Trig_ReviveHelperMore_Func001C() ) then
set udg_DeadHeroes = ( udg_DeadHeroesInstant + 0 )
else
set udg_DeadHeroes = ( udg_DeadHeroes - 1 )
set udg_DeadHeroesInstant = ( udg_DeadHeroesInstant - 1 )
endif
if ( Trig_Revive_Func009C() ) then
set udg_point = GetRectCenter(gg_rct_LightHeroSpawn)
else
set udg_point = GetRectCenter(gg_rct_DarkHeroSpawn)
endif
call ReviveHeroLoc( udg_unit, udg_point, true )
if ( Trig_ReviveNewHero_Func001C() ) then
if ( Trig_ReviveNewHero_Func001Func002C() ) then
set udg_point = GetRectCenter(gg_rct_LightHeroSpawn)
else
set udg_point = GetRectCenter(gg_rct_DarkHeroSpawn)
endif
call CreateNUnitsAtLoc( 1, udg_MyFirstHeroType[GetConvertedPlayerId(udg_player)], udg_player, udg_point, GetRandomReal(0, 360.00) )
call SetHeroLevelBJ( GetLastCreatedUnit(), udg_integer, false )
call ModifyHeroStat( bj_HEROSTAT_STR, GetLastCreatedUnit(), bj_MODIFYMETHOD_ADD, udg_BookPower[GetConvertedPlayerId(GetOwningPlayer(GetLastCreatedUnit()))] )
call ModifyHeroStat( bj_HEROSTAT_AGI, GetLastCreatedUnit(), bj_MODIFYMETHOD_ADD, udg_BookAgi[GetConvertedPlayerId(GetOwningPlayer(GetLastCreatedUnit()))] )
call ModifyHeroStat( bj_HEROSTAT_INT, GetLastCreatedUnit(), bj_MODIFYMETHOD_ADD, udg_BookInt[GetConvertedPlayerId(GetOwningPlayer(GetLastCreatedUnit()))] )
set udg_MyFirstHero[GetConvertedPlayerId(udg_player)] = GetLastCreatedUnit()
call GroupAddUnitSimple( GetLastCreatedUnit(), udg_BookHeroes )
set udg_unit = GetLastCreatedUnit()
call AddSpecialEffectTargetUnitBJ( "origin", udg_unit, "Abilities\\Spells\\Human\\ReviveHuman\\ReviveHuman.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
call RemoveItem( UnitItemInSlotBJ(udg_unit, 1) )
call RemoveItem( UnitItemInSlotBJ(udg_unit, 2) )
call RemoveItem( UnitItemInSlotBJ(udg_unit, 3) )
call RemoveItem( UnitItemInSlotBJ(udg_unit, 4) )
call RemoveItem( UnitItemInSlotBJ(udg_unit, 5) )
call RemoveItem( UnitItemInSlotBJ(udg_unit, 6) )
call UnitAddItemByIdSwapped( udg_MyItem1[GetConvertedPlayerId(GetOwningPlayer(udg_unit))], udg_unit )
call UnitAddItemByIdSwapped( udg_MyItem2[GetConvertedPlayerId(GetOwningPlayer(udg_unit))], udg_unit )
call UnitAddItemByIdSwapped( udg_MyItem3[GetConvertedPlayerId(GetOwningPlayer(udg_unit))], udg_unit )
call UnitAddItemByIdSwapped( udg_MyItem4[GetConvertedPlayerId(GetOwningPlayer(udg_unit))], udg_unit )
call UnitAddItemByIdSwapped( udg_MyItem5[GetConvertedPlayerId(GetOwningPlayer(udg_unit))], udg_unit )
call UnitAddItemByIdSwapped( udg_MyItem6[GetConvertedPlayerId(GetOwningPlayer(udg_unit))], udg_unit )
else
endif
set udg_Evil[GetConvertedPlayerId(GetOwningPlayer(udg_unit))] = ( udg_Evil[GetConvertedPlayerId(GetOwningPlayer(udg_unit))] / 2.00 )
call SetUnitLifePercentBJ( udg_unit, 100 )
call SetUnitManaPercentBJ( udg_unit, 100 )
call UnitRemoveAbilityBJ( 'A0YG', udg_unit )
call UnitRemoveAbilityBJ( 'A0KT', udg_unit )
call UnitRemoveAbilityBJ( 'A0R6', udg_unit )
call SetUnitAbilityLevelSwapped( 'A0NL', udg_unit, ( GetUnitAbilityLevelSwapped('A0NL', udg_unit) - 1 ) )
if ( Trig_Revive_Func018C() ) then
call ModifyHeroStat( bj_HEROSTAT_STR, udg_unit, bj_MODIFYMETHOD_ADD, 1 )
call ModifyHeroStat( bj_HEROSTAT_AGI, udg_unit, bj_MODIFYMETHOD_ADD, 1 )
call ModifyHeroStat( bj_HEROSTAT_INT, udg_unit, bj_MODIFYMETHOD_ADD, 1 )
call RemoveItem( UnitItemInSlotBJ(udg_unit, 1) )
call RemoveItem( UnitItemInSlotBJ(udg_unit, 2) )
call RemoveItem( UnitItemInSlotBJ(udg_unit, 3) )
call RemoveItem( UnitItemInSlotBJ(udg_unit, 4) )
call RemoveItem( UnitItemInSlotBJ(udg_unit, 5) )
call RemoveItem( UnitItemInSlotBJ(udg_unit, 6) )
call UnitAddItemByIdSwapped( 'I04A', udg_unit )
if ( Trig_Revive_Func018Func011C() ) then
call UnitAddItemByIdSwapped( 'I00C', udg_unit )
else
endif
if ( Trig_Revive_Func018Func012C() ) then
call UnitAddItemByIdSwapped( 'I05A', udg_unit )
else
endif
if ( Trig_Revive_Func018Func013C() ) then
call UnitAddItemByIdSwapped( 'I09L', udg_unit )
else
endif
if ( Trig_Revive_Func018Func014C() ) then
call UnitAddItemByIdSwapped( 'I01L', udg_unit )
else
endif
if ( Trig_Revive_Func018Func015C() ) then
call UnitAddItemByIdSwapped( 'I01N', udg_unit )
else
endif
else
endif
if ( Trig_Revive_Func019C() ) then
call CameraSetupApplyForPlayer( true, gg_cam_Camera_001, GetOwningPlayer(udg_unit), 0 )
else
call CameraSetupApplyForPlayer( true, gg_cam_Camera_002, GetOwningPlayer(udg_unit), 0 )
endif
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
set u7=null
set p=null
endfunction
function Trig_Revive_Actions takes nothing returns nothing
local timer t = CreateTimer()
local timer t2 = CreateTimer()
local unit u7 = GetTriggerUnit()
local unit u8 = GetTriggerUnit()
local player p = GetOwningPlayer(GetTriggerUnit())
local real r
local real r2
local integer i
set udg_MyFirstHeroType[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = GetUnitTypeId(GetTriggerUnit())
set i = GetHeroLevel(GetTriggerUnit())
set udg_ICanRepick[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = false
set udg_MyItem1[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(), 1))
set udg_MyItem2[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(), 2))
set udg_MyItem3[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(), 3))
set udg_MyItem4[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(), 4))
set udg_MyItem5[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(), 5))
set udg_MyItem6[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(), 6))
set udg_DeadHeroes = ( udg_DeadHeroes + 1 )
set udg_DeadHeroesInstant = ( udg_DeadHeroesInstant + 1 )
if ( Trig_Revive_Func009C2() ) then
set udg_point = GetRectCenter(gg_rct_LightHeroSpawn)
else
set udg_point = GetRectCenter(gg_rct_DarkHeroSpawn)
endif
if ( Trig_ReviveHelper_Func001C() ) then
set udg_DeadHeroesInstant = ( udg_DeadHeroesInstant - 1 )
if ( Trig_ReviveHelperMore_Func001C() ) then
set udg_DeadHeroes = ( udg_DeadHeroes - 1 )
else
endif
call ReviveHeroLoc( GetTriggerUnit(), udg_point, true )
set udg_Evil[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] = ( udg_Evil[GetConvertedPlayerId(GetOwningPlayer(GetTriggerUnit()))] / 2.00 )
call SetUnitLifePercentBJ( GetTriggerUnit(), 100 )
call SetUnitManaPercentBJ( GetTriggerUnit(), 100 )
call UnitRemoveAbilityBJ( 'A0YG', GetTriggerUnit() )
call UnitRemoveAbilityBJ( 'A0KT', GetTriggerUnit() )
call UnitRemoveAbilityBJ( 'A0R6', GetTriggerUnit() )
call SetUnitAbilityLevelSwapped( 'A0NL', GetTriggerUnit(), ( GetUnitAbilityLevelSwapped('A0NL', GetTriggerUnit()) - 1 ) )
if ( Trig_Revive_Func018C() ) then
call ModifyHeroStat( bj_HEROSTAT_STR, GetTriggerUnit(), bj_MODIFYMETHOD_ADD, 1 )
call ModifyHeroStat( bj_HEROSTAT_AGI, GetTriggerUnit(), bj_MODIFYMETHOD_ADD, 1 )
call ModifyHeroStat( bj_HEROSTAT_INT, GetTriggerUnit(), bj_MODIFYMETHOD_ADD, 1 )
call RemoveItem( UnitItemInSlotBJ(GetTriggerUnit(), 1) )
call RemoveItem( UnitItemInSlotBJ(GetTriggerUnit(), 2) )
call RemoveItem( UnitItemInSlotBJ(GetTriggerUnit(), 3) )
call RemoveItem( UnitItemInSlotBJ(GetTriggerUnit(), 4) )
call RemoveItem( UnitItemInSlotBJ(GetTriggerUnit(), 5) )
call RemoveItem( UnitItemInSlotBJ(GetTriggerUnit(), 6) )
call UnitAddItemByIdSwapped( 'I04A', GetTriggerUnit() )
if ( Trig_Revive_Func018Func011C() ) then
call UnitAddItemByIdSwapped( 'I00C', GetTriggerUnit() )
else
endif
if ( Trig_Revive_Func018Func012C() ) then
call UnitAddItemByIdSwapped( 'I05A', GetTriggerUnit() )
else
endif
if ( Trig_Revive_Func018Func013C() ) then
call UnitAddItemByIdSwapped( 'I09L', GetTriggerUnit() )
else
endif
if ( Trig_Revive_Func018Func014C() ) then
call UnitAddItemByIdSwapped( 'I01L', GetTriggerUnit() )
else
endif
if ( Trig_Revive_Func018Func015C() ) then
call UnitAddItemByIdSwapped( 'I01N', GetTriggerUnit() )
else
endif
else
endif
if ( Trig_Revive_Func019C() ) then
call CameraSetupApplyForPlayer( true, gg_cam_Camera_001, GetOwningPlayer(GetTriggerUnit()), 0 )
else
call CameraSetupApplyForPlayer( true, gg_cam_Camera_002, GetOwningPlayer(GetTriggerUnit()), 0 )
endif
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
call DestroyTimer(t2)
set t=null
set u7=null
set t2 = null
set u8 = null
set p = null
return
else
endif
if ( Trig_Revive_Func001C() ) then
call RemoveUnit( GetTriggerUnit() )
call CustomDefeatBJ( GetOwningPlayer(GetTriggerUnit()), "" )
else
endif
if ( Trig_Revive_Func002C() ) then
set udg_point = GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ( udg_point, "Abilities\\Spells\\Demon\\DemonBoltImpact\\DemonBoltImpact.mdl" )
call ConditionalTriggerExecute( gg_trg_destroyspeceffect )
set udg_g = GetUnitsInRangeOfLocMatching(700.00, udg_point, Condition(function Trig_Revive_Func002Func004002003))
call ConditionalTriggerExecute( gg_trg_CleanG )
call ForGroupBJ( udg_g, function Trig_Revive_Func002Func006A )
else
endif
call SetPlayerTechResearchedSwap( 'R00L', ( GetPlayerTechCountSimple('R00L', GetOwningPlayer(GetTriggerUnit())) + GetUnitAbilityLevelSwapped('A0ZW', GetTriggerUnit()) ), GetOwningPlayer(GetTriggerUnit()) )
set udg_LastDiedUnit[GetConvertedPlayerId(GetOwningPlayer(GetDyingUnit()))] = ( 2 + ( GetHeroLevel(GetTriggerUnit()) * udg_DeathTime ) )
call SaveUnitHandle(udg_Hash,GetHandleId(t),2,u7)
call SaveUnitHandle(udg_Hash,GetHandleId(t2),2,u8)
call SaveInteger(udg_Hash,GetHandleId(t),3,i)
call SavePlayerHandle(udg_Hash,GetHandleId(t),6,p)
set udg_real = ( 2.00 + ( I2R(GetHeroLevel(GetTriggerUnit())) * I2R(udg_DeathTime) ) )
set r = udg_real
call TimerStart(t,r,false,function ReviveEnd)
set udg_real2 = ( 7.00 + ( I2R(GetHeroLevel(GetTriggerUnit())) * I2R(udg_DeathTime) ) )
set r2 = udg_real2
call TimerStart(t2,r2,false,function ReviveCompMove)
set t=null
set t2=null
set u7=null
set u8=null
set p=null
endfunction
//===========================================================================
function InitTrig_Revive takes nothing returns nothing
set gg_trg_Revive = CreateTrigger( )
set udg_Hash=InitHashtable()
call TriggerRegisterAnyUnitEventBJ( gg_trg_Revive, EVENT_PLAYER_UNIT_DEATH )
call TriggerAddCondition( gg_trg_Revive, Condition( function Trig_Revive_Conditions ) )
call TriggerAddAction( gg_trg_Revive, function Trig_Revive_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_warning_A_Func003001001 takes nothing returns boolean
return ( IsPlayerInForce(GetFilterPlayer(), udg_Light) == true )
endfunction
function WAEnd takes nothing returns nothing
local timer t=GetExpiredTimer()
call DisplayTextToForce( GetPlayersMatching(Condition(function Trig_warning_A_Func003001001)), "\"GOD'S VENDETTA\" activated!" )
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
endfunction
function Trig_warning_A_Actions takes nothing returns nothing
local timer t = CreateTimer()
call TimerStart(t,7,false,function WAEnd)
set t=null
endfunction
//===========================================================================
function InitTrig_warning_A takes nothing returns nothing
set gg_trg_warning_A = CreateTrigger( )
call DisableTrigger( gg_trg_warning_A )
call TriggerRegisterTimerEventPeriodic( gg_trg_warning_A, 60.00 )
call TriggerAddAction( gg_trg_warning_A, function Trig_warning_A_Actions )
endfunction
//TESH.scrollpos=-1
//TESH.alwaysfold=0
function Trig_warning_D_Func002001001 takes nothing returns boolean
return ( IsPlayerInForce(GetFilterPlayer(), udg_Dark) == true )
endfunction
function WDEnd takes nothing returns nothing
local timer t=GetExpiredTimer()
call DisplayTextToForce( GetPlayersMatching(Condition(function Trig_warning_D_Func002001001)), "\"DARK PUNISHMENT\" activated! " )
call FlushChildHashtable(udg_Hash,GetHandleId(t))
call DestroyTimer(t)
set t=null
endfunction
function Trig_warning_D_Actions takes nothing returns nothing
local timer t = CreateTimer()
call TimerStart(t,7,false,function WDEnd)
set t=null
endfunction
//===========================================================================
function InitTrig_warning_D takes nothing returns nothing
set gg_trg_warning_D = CreateTrigger( )
call DisableTrigger( gg_trg_warning_D )
call TriggerRegisterTimerEventPeriodic( gg_trg_warning_D, 60.00 )
call TriggerAddAction( gg_trg_warning_D, function Trig_warning_D_Actions )
endfunction