//S
//----------------------------------------------------------------
function ZT takes real WT,location YT returns group
set udg_IT=CreateGroup()
call GroupEnumUnitsInRangeOfLoc(udg_IT,YT,WT,udg_NT)
return udg_IT
endfunction
Name | Type | is_array | initial_value |
_debug | boolean | No | |
A | location | No | |
A_AoE | real | No | |
A_Duration | real | No | |
A_Real | real | No | |
A_UType | unitcode | No | |
ActivePlayers | force | No | |
agimod | integer | No | |
AI | rect | No | |
all_players | force | No | |
Angle | real | No | |
Angle_LS | real | Yes | |
ANH_Ability | abilcode | No | |
ANH_ActivationChance | real | Yes | |
ANH_ActivationRoll | real | No | |
ANH_AnnihilatorCooldown | abilcode | No | |
ANH_AnnihilatorSlow | abilcode | No | |
ANH_AoE | real | Yes | |
ANH_AttackType | attacktype | No | |
ANH_CastDelay | real | Yes | |
ANH_Caster | unit | Yes | |
ANH_CurrentDistance | real | Yes | |
ANH_DamageAbsolute | real | Yes | |
ANH_DamageAgility | real | Yes | |
ANH_DamageGroup | group | No | |
ANH_DamageIntelligence | real | Yes | |
ANH_DamageStrength | real | Yes | |
ANH_DamageTotal | real | Yes | |
ANH_DamageType | damagetype | No | |
ANH_DestroyTrees | boolean | No | |
ANH_Destructible | destructable | No | |
ANH_DummyCaster | unit | No | |
ANH_DummyType | unitcode | No | |
ANH_Duration | real | Yes | |
ANH_EffectTrigger | trigger | No | |
ANH_ExplosionModel | string | No | |
ANH_ExplosionModelSize | real | Yes | |
ANH_Harvester | unit | No | |
ANH_HitAttachment | string | No | |
ANH_HitModel | string | No | |
ANH_HitModelSize | real | Yes | |
ANH_Index | integer | No | |
ANH_Interval | real | No | |
ANH_IsAnnihilable | boolean | No | |
ANH_Level | integer | Yes | |
ANH_Looper | integer | No | |
ANH_MaxCastRange | real | Yes | |
ANH_MaxDistance | real | Yes | |
ANH_Player | player | Yes | |
ANH_Point1 | location | No | |
ANH_Point1X | real | Yes | |
ANH_Point1Y | real | Yes | |
ANH_Point1Z | real | Yes | |
ANH_Point2 | location | No | |
ANH_Point2X | real | Yes | |
ANH_Point2Y | real | Yes | |
ANH_Point2Z | real | Yes | |
ANH_Point3 | location | No | |
ANH_Point3X | real | Yes | |
ANH_Point3Y | real | Yes | |
ANH_Point3Z | real | Yes | |
ANH_Preload | boolean | No | |
ANH_ProjectileCount | integer | Yes | |
ANH_ProjectileEndHeight | real | Yes | |
ANH_ProjectileMaxHeight | real | Yes | |
ANH_ProjectileModel | string | No | |
ANH_ProjectileModelSize | real | Yes | |
ANH_ProjectileOffset | real | Yes | |
ANH_ProjectileSFX | effect | Yes | |
ANH_ProjectileStartHeight | real | Yes | |
ANH_ScatterRadius | real | Yes | |
ANH_Slows | boolean | No | |
ANH_Speed | real | Yes | |
ANH_Spread | real | Yes | |
ANH_TargetAngle | real | No | |
ANH_TempAgilityDamage | real | No | |
ANH_TempAngle | real | No | |
ANH_TempCaster | unit | No | |
ANH_TempDamageTotal | real | No | |
ANH_TempDistance | real | No | |
ANH_TempIntelligenceDamage | real | No | |
ANH_TempLevel | integer | No | |
ANH_TempPlayer | player | No | |
ANH_TempPoint | location | No | |
ANH_TempPosX | real | No | |
ANH_TempPosY | real | No | |
ANH_TempPosZ | real | No | |
ANH_TempSFX | effect | No | |
ANH_TempSpeed | real | No | |
ANH_TempStrengthDamage | real | No | |
ANH_TempTime | real | No | |
ANH_TempUnit | unit | No | |
AnimationSpeed | real | No | |
AquaW_Dummy | unit | Yes | |
AquaW_Point | location | No | |
AquaW_PointCast | location | No | |
AquaW_Unit | unit | No | |
AT | force | No | |
AV | integer | No | |
AxeMasterHero | string | No | |
AxeMasterHeroU | unit | No | |
B | integer | No | |
B_Mode | integer | No | |
BI | rect | No | |
Blades_Claws_Chance | integer | No | |
Blades_Claws_Dmg | real | No | |
Blades_Claws_Unit | unit | Yes | |
Blizzard_II_Area | real | No | |
Blizzard_II_Caster | unit | No | |
Blizzard_II_Damage | real | No | |
Blizzard_II_Duration | real | No | |
Blizzard_II_Point | location | No | |
Blizzard_II_PointCast | location | No | |
Blizzard_II_PointTarget | location | No | |
Blizzard_II_RandomSize | real | No | |
Blizzard_II_Timer | timer | No | |
Blizzard_II_TimerStart | real | No | |
bPoint | location | Yes | |
Caster | unit | No | |
CasterPointX | location | No | |
Casting_pointX | location | No | |
CC_Real | real | Yes | |
CC_Unit | unit | Yes | |
Charge_Point | location | Yes | |
Charge_Real | real | Yes | |
Charge_Unit | unit | No | |
CI | rect | No | |
Cloned_Unit | unit | Yes | |
coords | real | Yes | |
CountTeam1Players | integer | No | |
CountTeam2Players | integer | No | |
cPoint | location | Yes | |
Craft_Icon | minimapicon | No | |
Creeps | unitcode | Yes | |
CriticalDamage_Change | real | Yes | |
CriticalDamage_Count | integer | Yes | |
CriticalDamage_Damage | real | Yes | |
CriticalDamage_Damager | unit | Yes | |
CriticalDamage_Effect | effect | Yes | |
CriticalDamage_EffectAttach | string | Yes | |
CriticalDamage_EffectPrefab | string | Yes | |
CriticalDamage_Loop | integer | Yes | |
CriticalDamage_Multi | boolean | Yes | |
CriticalDamage_MultiCast | boolean | Yes | |
CriticalDamage_MultiChange | real | Yes | |
CriticalDamage_MultiCountTxt | integer | Yes | |
CriticalDamage_Source | unit | No | |
CS_Chance | real | Yes | |
CS_Damage | real | No | |
CS_DamageSource | unit | No | |
CS_FloatingText | texttag | No | |
CS_Level | integer | No | |
CS_Multiplier | real | Yes | |
cUnit | unit | Yes | |
Damage | real | No | |
Data | boolean | Yes | |
Deathblow_Damage | real | Yes | |
Deathblow_Lvl | integer | No | |
Deathblow_Sfx | effect | No | |
Deathblow_Source | unit | No | |
Deathblow_Target | unit | No | |
Deathblow_Target_Dmg | real | No | |
DeathCoil | string | Yes | |
DI | rect | No | |
Distance | real | Yes | |
DistanceBetweenPointsX | real | No | |
dontcopy_tempPos | location | No | |
dontcopythis | location | No | |
DragonCondition | integer | No | |
DragonEffect | effect | No | |
DragonPoint | location | Yes | |
DragonTimer | timer | No | |
DragonUG | group | Yes | |
DragonUnits | unit | Yes | |
Drain_Caster | unit | Yes | |
Drain_Interval | integer | Yes | |
Drain_Life_Lightning | lightning | Yes | |
Drain_Life_Max | integer | No | |
Drain_Max | integer | No | |
Drain_Range | real | Yes | |
Drain_Targets | group | Yes | |
Drain_Value | real | Yes | |
Dum | unit | No | |
dummy | unit | No | |
DummyCast | unit | Yes | |
Effect1 | effect | No | |
EffectPointX | location | No | |
EI | rect | No | |
End | location | No | |
EntaglingDummy | group | No | |
ER_AoE | real | No | |
ER_Loc | location | No | |
ET_Active | boolean | Yes | |
ET_Angle | real | Yes | |
ET_AOE | real | Yes | |
ET_Caster | unit | Yes | |
ET_Caster2 | unit | No | |
ET_CastingPlayer | player | No | |
ET_CV | integer | No | |
ET_Damage | real | Yes | |
ET_Damage2 | real | No | |
ET_Dummy | unit | No | |
ET_Duration | real | Yes | |
ET_Hero | unit | Yes | |
ET_LeakPoint | location | Yes | |
ET_LoopIndex | integer | Yes | |
ET_MaxPullSpeed | real | Yes | |
ET_Point | location | No | |
ET_Speed | real | Yes | |
ET_Spirit | unit | Yes | |
ET_Target | unit | No | |
ET_TempReal | real | Yes | |
ET_Twister | unit | Yes | |
FA_CV | integer | No | |
FA_Dummy | unit | No | |
FA_Hero | unit | No | |
FA_Hero_Group | group | No | |
FA_Level | integer | Yes | |
FA_Point | location | No | |
FA_Stun_Counters | integer | Yes | |
FA_Target | unit | No | |
FA_Target_Group | group | No | |
FE | group | No | |
FI | rect | No | |
FLAG | boolean | No | false |
FLAG_ActiveTeam | boolean | Yes | false |
FLAG_Night | integer | No | 0 |
FLAG_Playing | boolean | Yes | false |
FLAG_RandomHero | boolean | Yes | false |
FLAG_Victory | boolean | No | false |
Frostmourne_AttributeCount | integer | Yes | |
Frostmourne_AttributeCount_Copy | integer | Yes | |
Frostmourne_Change | integer | No | |
Frostmourne_Loop | integer | Yes | |
Frostmourne_Target | unit | Yes | |
Frostmourne_TargetCount | integer | No | |
Frostmourne_TargetIndex | integer | No | |
Frostmourne_TargetTimer | integer | Yes | |
G_CastCount | integer | No | |
G_CurrentHeight | real | Yes | |
G_MaxHeight | real | Yes | |
G_RemoveCount | integer | No | |
G_TargetPoint | location | No | |
G_UnitGroup | group | Yes | |
Game_Round_Max | integer | No | 40 |
gamecache | gamecache | No | |
GAMEFLAG_Training | boolean | No | false |
GameMode_Button | button | Yes | |
GameMode_Click_Number | integer | Yes | |
GameMode_Count | integer | No | |
GameMode_Dialog | dialog | No | |
GameMode_Difficulty | integer | No | 0 |
GameMode_DifficultyDamage | real | Yes | 100.00 |
GameMode_DifficultyHealth | real | Yes | |
GameMode_DifficultyName | string | Yes | |
GameMode_DifficultyRandom | integer | No | 0 |
GameMode_Function | trigger | Yes | |
GameMode_Loop | integer | Yes | |
GameMode_Name | string | Yes | |
GameMode_Number | integer | No | 0 |
GameMode_Player_Selector | integer | No | |
GameMode_Player_Temp | player | No | |
GameMode_Window_Count | integer | No | |
gDamage | group | No | |
GE | real | Yes | |
GI | rect | No | |
GoldOfRobber | integer | No | |
Group | group | No | |
group01 | group | No | |
GROUP_CurrentPlayers | force | Yes | |
GROUP_InitialPlayers | force | Yes | |
Group_Sleep | group | No | |
GroupVar12 | group | No | |
Hashtable | hashtable | No | |
heigthX | real | No | |
Hero | unit | Yes | |
Hero_CriticalDamage_Change | real | Yes | |
Hero_CriticalDamage_Count | integer | Yes | |
Hero_CriticalDamage_Effect | string | Yes | |
Hero_CriticalDamage_MDmg_Count | integer | Yes | |
Hero_CriticalDamage_MultDamage | boolean | Yes | |
Hero_CriticalDamage_Multiplier | real | Yes | |
Hero_Current_PercentHP | real | Yes | |
Hero_Current_PercentMP | real | Yes | |
Hero_Dead_Count | integer | Yes | |
Hero_Dead_Time | integer | Yes | |
Hero_Icon | string | Yes | |
Hero_Inventory_AbillityEmpLvl | integer | No | |
Hero_Inventory_AbillityEmpty | abilcode | No | |
Hero_Inventory_BtnLeft | string | No | |
Hero_Inventory_BtnRight | string | No | |
Hero_Inventory_ChangePage | boolean | Yes | |
Hero_Inventory_Hash | hashtable | Yes | |
Hero_Inventory_Hash_ArrayMax | integer | Yes | |
Hero_Inventory_Hash_ArrayTemp | integer | Yes | |
Hero_Inventory_Item_Empty | itemcode | No | |
Hero_Inventory_Item_MaxCount | integer | No | |
Hero_Inventory_Item_Temp | item | No | |
Hero_Inventory_ItemArray_Temp | integer | No | |
Hero_Inventory_Loop | integer | Yes | |
Hero_Inventory_Plyer_Temp | player | No | |
Hero_Inventory_SelectUnit | unit | Yes | |
Hero_Inventory_SpawnPoint | location | Yes | |
Hero_Item_Count | integer | Yes | |
Hero_Item_Hash | hashtable | Yes | |
Hero_Item_Loop | integer | Yes | |
Hero_Kills_HeroesCount | integer | Yes | |
Hero_Kills_MonsterCount | integer | Yes | |
Hero_RangeBase | real | Yes | |
Hero_RangeCurrent | real | Yes | |
Hero_Type | unitcode | Yes | |
Hero_TypeCount | integer | No | |
Hero_TypeIcon | string | Yes | |
Hero_TypeLoop | integer | No | |
HeroSelector | unit | Yes | |
HI | rect | No | |
Host | player | No | |
HS | unit | No | |
i | integer | No | 0 |
I | dialog | No | |
i2 | integer | No | |
i_Copy | integer | No | |
IceUnits | unit | Yes | |
IceUnitsCount | integer | Yes | 0 |
IceWave_Angle | real | No | |
IceWave_Caster | unit | No | |
IceWave_Interval | real | No | |
IceWave_Point | location | No | |
IceWave_PointOffset | location | No | |
IceWave_Timer | timer | No | |
IceWave_WaveCount | integer | No | |
IceWave_WaveCount_Max | integer | No | |
IgrokTrig | player | No | |
II | rect | No | |
Int_Add | integer | No | |
INT_CurrentLevel | integer | No | 0 |
Int_DummyId | integer | No | |
INT_Lives | integer | Yes | 100 |
INT_LoopX | integer | Yes | 0 |
INT_Monsters | integer | Yes | 0 |
Int_stackWindforce | integer | Yes | |
INT_Waves | integer | No | 0 |
INT_WavesX | integer | No | 0 |
Integer | integer | Yes | |
IntelligenceAdd | real | Yes | |
intmod | integer | No | |
IT | group | No | |
Item | itemcode | Yes | |
Item_CriticalDamage | itemcode | Yes | |
Item_CriticalDamage_Count | integer | No | |
Item_CriticalDamage_Spell | abilcode | Yes | |
Item_CriticalDamage_Spell_B | abilcode | Yes | |
Item_CriticalDamage_Spell_B_C | integer | Yes | |
Item_CriticalDamage_Spell_C | integer | Yes | |
Item_Spell | abilcode | Yes | |
Item_Spell_Count | integer | No | |
Item_Spell_Name | string | Yes | |
ItemSpell_GroupTmp | group | No | |
ItemSpell_ItemsTarget | item | Yes | |
ItemSpell_Point | location | Yes | |
ItemSpell_Point_Offset | location | Yes | |
ItemSpell_Target | unit | Yes | |
ITEMTABLE_Alchemy | itemcode | Yes | |
J | location | No | |
JI | rect | No | |
Jump | boolean | Yes | |
Jump_CasterX | unit | No | |
Jump_Heigth | real | Yes | |
Jump_Loop | integer | Yes | |
Jump_Offset | real | Yes | |
Jump_Point_A | location | Yes | |
Jump_Point_B | location | Yes | |
Jump_Timer | real | Yes | |
Jump_Unit | unit | No | |
JumpCaster | unit | No | |
JumpCasterPoint | location | No | |
Jumper | unit | No | |
JumpSecPoint | location | No | |
JumpSecSecPoint | location | No | |
JumpTargetPoint | location | No | |
JumpTrailEffects | effect | Yes | |
KB_Angle | real | Yes | |
KB_Casters | unit | Yes | |
KB_CountBuffs | integer | No | |
KB_DestroyTrees | boolean | Yes | |
KB_Effects_1 | string | Yes | |
KB_Effects_2 | string | Yes | |
KB_GeneralIntegers | integer | Yes | |
KB_KnockbackedUnits | group | No | |
KB_Levels | integer | Yes | |
KB_MaxDistance | real | Yes | |
KB_ReachedDistance | real | Yes | |
KB_ReducedReal | real | No | |
KB_ReduceSpeedReal | real | Yes | |
KB_SpecificSpeed | real | Yes | |
KB_StartPositions | location | Yes | |
KB_TempPoint | location | Yes | |
KB_TempReal | real | No | |
KB_TotalKnockUnits | integer | No | |
KB_Units | unit | Yes | |
KBA_Caster | unit | No | |
KBA_DestroyTrees | boolean | No | |
KBA_DistancePerLevel | real | No | |
KBA_Level | integer | No | |
KBA_SpecialEffects | string | Yes | |
KBA_Speed | real | No | |
KBA_StartingPosition | location | No | |
KBA_TargetUnit | unit | No | |
KI | rect | No | |
KickPlayer | player | No | PlayerNP |
KickSpamLoop | integer | No | |
KickSpamPrevention | boolean | Yes | |
KickSpamTimer | timer | Yes | |
KolVoKlikov | integer | Yes | 1 |
L_EFFECT | effect | No | |
L_INT | integer | No | 0 |
L_POINT | location | No | |
L_REAL | real | No | |
L_TIMER_WINDOW | timerdialog | No | |
L_UNIT | unit | No | |
Language_DE | boolean | Yes | |
Language_DePlayers | force | No | |
Language_Dialog | dialog | No | |
Language_Dialog_Button | button | Yes | |
Language_Eng | boolean | Yes | |
Language_EngPlayers | force | No | |
Language_Rus | boolean | Yes | |
Language_RusPlayers | force | No | |
Leaderboard | multiboard | No | |
Leaderboard_Colum_Death | integer | No | |
Leaderboard_Colum_Death_Icon | string | No | |
Leaderboard_Colum_Icon | integer | No | |
Leaderboard_Colum_MKill_Icon | string | No | |
Leaderboard_Colum_MonsterKill | integer | No | |
Leaderboard_Colum_Name | integer | No | |
Leaderboard_Colums | integer | No | |
Leaderboard_GameTime_Hours | integer | No | |
Leaderboard_GameTime_Minutes | integer | No | |
Leaderboard_GameTime_Seconds | integer | No | |
Leaderboard_GameTime_Txt | string | No | |
Leaderboard_Loop | integer | No | |
Leaderboard_Name | string | No | |
Leaderboard_Player_Count | integer | No | |
Leaderboard_PlayerPosition | integer | Yes | 1 |
Leaderboard_Row | integer | No | |
LeakPoint | location | No | |
Leap_Ability | abilcode | No | |
Leap_Ability_Buff | abilcode | No | |
Leap_Angle | real | Yes | |
Leap_CastPoint | location | Yes | |
Leap_Distance | real | Yes | |
Leap_Dummy_Unit | unit | Yes | |
Leap_Factor | integer | Yes | |
Leap_Level | integer | Yes | |
Leap_Maximum_Distance | real | Yes | |
Leap_MUI | integer | No | |
Leap_MUI_2 | integer | No | 0 |
Leap_Offset | real | Yes | |
Leap_Point | location | Yes | |
Leap_Unit | unit | Yes | |
Leap_Unit_Dummy | unitcode | No | |
LeavingPlayer | player | No | PlayerNP |
LightningCastingHero | unit | No | |
loc | location | No | |
loc_Copy | location | No | |
LP_Angle | real | Yes | |
LP_Caster | unit | Yes | |
LP_Damage | real | Yes | |
LP_Dummy | unit | Yes | |
LP_DummyGroup | group | Yes | |
LP_DummyPoint | location | Yes | |
LP_Integer | integer | Yes | |
LP_Lightning | lightning | Yes | |
LP_Location | location | Yes | |
LP_Location2 | location | Yes | |
LP_NonStrike | group | Yes | |
LP_PickedUnit | unit | Yes | |
LP_PositionPickedUnit | location | Yes | |
LP_Strike | group | Yes | |
LP_Tick | integer | Yes | |
LS_Damage | real | Yes | |
LS_Dummy | unit | No | |
LS_GeneralInteger | integer | No | |
LS_Groups | group | Yes | |
LS_TempPoint | location | Yes | |
LVL | integer | No | |
M | unit | Yes | |
MaxDistance | real | Yes | |
MoonStrike_Abillity | abilcode | Yes | |
MoonStrike_Count | integer | No | |
MoonStrike_ItemRange | real | Yes | |
MoonStrike_ItemType | itemcode | Yes | |
MoonStrike_Loop | integer | Yes | |
MoonStrike_UnitTemp | unit | No | |
Morpth_Abillity | abilcode | Yes | |
Morpth_AbillityCount | integer | No | |
Morpth_AbillityLevel | integer | Yes | |
Morpth_AbillityUnitTemp | unit | No | |
Morpth_Action | boolean | Yes | |
Morpth_AnimTag | string | No | |
Morpth_BaseHP | integer | No | |
Morpth_BonusHP | integer | No | |
Morpth_Caster | unit | No | |
Morpth_HeightCur | real | Yes | |
Morpth_HeightMax | real | Yes | |
Morpth_HeightTick | real | Yes | |
Morpth_Loop | integer | Yes | |
Morpth_Order | string | No | |
Morpth_PlayerIndex | integer | No | |
Morpth_Spell | abilcode | No | |
Morpth_Timer | real | Yes | |
Morpth_TimerStart | real | No | |
Morpth_UnitType | unitcode | Yes | |
mPoint | location | Yes | |
MS_Direction | boolean | No | false |
MS_Real | real | Yes | |
MS_Unit | unit | Yes | |
MUI | integer | Yes | |
Multiboard_Spots | integer | Yes | |
MV | integer | Yes | |
NB_Ability | abilcode | No | |
NB_Animation | string | No | |
NB_Animation_Array | string | Yes | |
NB_AoE | real | No | |
NB_Area | rect | Yes | |
NB_Attach1 | modelfile | No | |
NB_Attach1_Array | effect | Yes | |
NB_Attach2 | modelfile | No | |
NB_Attach2_Array | effect | Yes | |
NB_AttachPoint1 | string | No | |
NB_AttachPoint2 | string | No | |
NB_Caster | unit | No | |
NB_Caster_Array | unit | Yes | |
NB_Counter | real | Yes | |
NB_Counter1 | real | Yes | |
NB_CountInteger | integer | Yes | |
NB_Damage | real | No | |
NB_Damage_Array | real | Yes | |
NB_DestroyTrees | boolean | No | |
NB_DestroyTrees_Array | boolean | Yes | |
NB_Duration | real | Yes | |
NB_Interval | real | No | |
NB_Interval_Array | real | Yes | |
NB_LevelBoolean | boolean | No | |
NB_LevelMultiplier | real | No | |
NB_Loc | location | Yes | |
NB_Number | integer | Yes | |
NB_Random_Loc | location | Yes | |
NB_SpecialEffect1 | string | No | |
NB_SpecialEffect1_Array | string | Yes | |
NB_SpecialEffect2 | string | No | |
NB_SpecialEffect2_Array | string | Yes | |
NB_Transparency | real | No | |
NI | rect | No | |
NoOfPlayers | integer | No | |
NT | boolexpr | No | |
NumWaveCreep | integer | No | |
NV | timerdialog | Yes | |
OI | rect | No | |
OnLine | integer | No | |
PhoenixInt | integer | No | |
Ping | location | Yes | |
Player_CountMax | integer | No | 10 |
PlayerNames | StringExt | Yes | |
Players | force | No | |
PlayerSpawnLocation | rect | Yes | |
PN | integer | No | |
Point | location | Yes | |
POINT_Goal | location | Yes | |
Point_Offset | location | Yes | |
POINT_Spawn | location | Yes | |
Polymorph_Unit | unit | No | |
PR_Ability_Level | integer | No | |
PR_Atribute | integer | No | |
PR_Caster | unit | No | |
PR_Caster_Loc | location | No | |
PR_Damage | real | No | |
PR_Damage_Factor | real | No | |
PR_Dummy_Ability | abilcode | No | |
PR_Target | unit | No | |
PR_Target_Loc | location | No | |
PR_Target_Mana | real | No | |
Q | itemcode | Yes | |
QJC_Ally | boolean | No | |
QJC_Amount | real | No | |
QJC_AmountReduce | real | No | |
QJC_AoE | boolean | No | |
QJC_AoERadius | real | No | |
QJC_AttackType | attacktype | No | |
QJC_Caster | unit | No | |
QJC_ChainEffect | abilcode | No | |
QJC_ChainSFX | lightningtype | No | |
QJC_Damage | boolean | No | |
QJC_DamageType | damagetype | No | |
QJC_DummyType | unitcode | No | |
QJC_Enemy | boolean | No | |
QJC_Gold | boolean | No | |
QJC_Heal | boolean | No | |
QJC_Heatlh | boolean | No | |
QJC_JumpCount | integer | No | 1 |
QJC_JumpDelayTime | real | No | |
QJC_JumpRadius | real | No | |
QJC_Leech | boolean | No | |
QJC_Mana | boolean | No | |
QJC_NoTarget | boolean | No | |
QJC_OnePerUnit | boolean | No | |
QJC_Priority | boolean | No | |
QJC_Slow | boolean | No | |
QJC_SlowEffect | abilcode | No | |
QJC_Stun | boolean | No | |
QJC_StunEffect | abilcode | No | |
QJC_TargetPoint | location | No | |
QJC_TargetSFX | string | No | |
QJC_TargetUnit | unit | No | |
QJCS_aGroup | group | Yes | |
QJCS_Ally | boolean | Yes | |
QJCS_Amount | real | Yes | |
QJCS_AmountReduce | real | Yes | |
QJCS_AoE | boolean | Yes | |
QJCS_AoERadius | real | Yes | |
QJCS_AoESFX | string | Yes | |
QJCS_AttackType | attacktype | Yes | |
QJCS_baseDummy | unit | Yes | |
QJCS_Caster | unit | Yes | |
QJCS_CasterSFX | string | Yes | |
QJCS_ChainEffect | abilcode | Yes | |
QJCS_ChainSFX | lightningtype | Yes | |
QJCS_ChainX | real | Yes | |
QJCS_ChainY | real | Yes | |
QJCS_ChainZ | real | Yes | |
QJCS_currUnit | unit | No | |
QJCS_Damage | boolean | Yes | |
QJCS_DamageType | damagetype | Yes | |
QJCS_dGroup | group | Yes | |
QJCS_Dummy | unit | Yes | |
QJCS_dummyGroup | group | No | |
QJCS_dummyPos | location | No | |
QJCS_DummyType | unitcode | Yes | |
QJCS_Enemy | boolean | Yes | |
QJCS_Gold | boolean | Yes | |
QJCS_Heal | boolean | Yes | |
QJCS_Health | boolean | Yes | |
QJCS_index | integer | Yes | |
QJCS_JumpCount | integer | Yes | |
QJCS_JumpDelayTime | real | Yes | |
QJCS_JumpRadius | real | Yes | |
QJCS_Leech | boolean | Yes | |
QJCS_LightningDPos | unit | Yes | |
QJCS_LightningDummy | unit | Yes | |
QJCS_LightningDur | real | Yes | |
QJCS_LightningIndex | integer | Yes | |
QJCS_LightningPos | location | Yes | |
QJCS_LightningSFX | lightning | Yes | |
QJCS_LightningTarget | unit | Yes | |
QJCS_Locust | abilcode | No | |
QJCS_Mana | boolean | Yes | |
QJCS_OnePerUnit | boolean | Yes | |
QJCS_prevTarget | unit | Yes | |
QJCS_Priority | boolean | Yes | |
QJCS_Slow | boolean | Yes | |
QJCS_SlowEffect | abilcode | Yes | |
QJCS_Stun | boolean | Yes | |
QJCS_StunEffect | abilcode | Yes | |
QJCS_SystemCount | integer | Yes | |
QJCS_SystemTime | real | Yes | |
QJCS_TargetSFX | string | Yes | |
QJCS_TargetUnit | unit | Yes | |
QJCS_tempGroup | group | No | |
QJCS_tempPos | location | Yes | |
QJCS_victimGroup | group | No | |
Random | integer | No | |
Range | real | Yes | |
RankKills | integer | No | |
Razor_Edge_Ability_Level | integer | No | |
Razor_Edge_Area_of_Effect | real | No | |
Razor_Edge_Base_Damage | real | No | |
Razor_Edge_Caster | unit | No | |
Razor_Edge_Damage_Group | group | No | |
Razor_Edge_Location | location | No | |
Razor_Edge_Location2 | location | No | |
Razor_Edge_Total_Damage | real | No | |
RB | trigger | No | |
RE_Knock_Angle | real | No | |
RE_Knock_Distance | real | No | |
RE_Knock_Group | group | No | |
RE_Knock_Loc1 | location | No | |
RE_Knock_Loc2 | location | No | |
RE_Knock_Speed | real | No | |
RE_Knocktable | hashtable | No | |
Real_Sleep_AoE | real | No | |
RedStorm_Cast | boolean | Yes | |
RedStorm_CastPoint | location | Yes | |
RedStorm_Level | integer | Yes | |
RedStorm_Lightning | lightning | Yes | |
RedStorm_Lightning_ArrayTemp | integer | No | |
RedStorm_Lightning_Count | integer | No | |
RedStorm_Lightning_TimeLife | real | Yes | -1.00 |
RedStorm_Loop | integer | Yes | |
RedStorm_PointCaster | location | Yes | |
RedStorm_PointCaster_X | real | No | |
RedStorm_PointCaster_Y | real | No | |
RedStorm_PointRandom | location | Yes | |
RedStorm_Rain | weathereffect | Yes | |
RedStorm_TimeCast | real | Yes | |
RedStorm_TimeSpawn | real | Yes | |
RedStorm_TimeSpawn_Start | real | Yes | |
RedStorm_WeatherRange | real | Yes | |
RedStorm_WeatherReg | rect | Yes | |
RedStorm_WeatherReg_Spawn | boolean | Yes | |
RedStorm_Wind | weathereffect | Yes | |
RevivableHeroes | group | No | |
ReviveTimers | timer | Yes | |
RI | rect | No | |
Ripping_Claws_Chance | integer | No | |
Ripping_Claws_Dmg | real | No | |
Ripping_Claws_Unit | unit | Yes | |
RippingClaws_Dmg | real | No | |
RippingClaws_Lvl | integer | No | |
RippingClaws_Sfx | effect | No | |
RippingClaws_Source | unit | No | |
RippingClaws_Target | unit | No | |
RippingClawsDehaka_Dmg | real | No | |
RippingClawsDehaka_Lvl | integer | No | |
RippingClawsDehaka_Sfx | effect | No | |
RippingClawsDehaka_Source | unit | No | |
RippingClawsDehaka_Target | unit | No | |
RiverItems | itemcode | Yes | |
RiverItemsCount | integer | No | |
RiverItemsRegions | location | Yes | |
RiverItemsRegionsCount | integer | No | |
RiverItemsTaken | boolean | Yes | |
RS_Angle | real | Yes | |
RS_Boolean | boolean | Yes | |
RS_Caster | unit | Yes | |
RS_CurDis | real | Yes | |
RS_Damage | real | Yes | |
RS_Index | integer | Yes | |
RS_LevelA | integer | Yes | |
RS_Loc | location | Yes | |
RS_MaxD | real | Yes | |
RS_MaxH | real | Yes | |
RS_Player | player | Yes | |
RS_Real | real | Yes | |
RS_Speed | real | Yes | |
RS_Target | unit | Yes | |
Runes | location | Yes | |
S | itemcode | Yes | |
ScourgeKill | integer | No | |
SE | integer | Yes | |
SE_Windforce | effect | Yes | |
SentinelKill | integer | No | |
Sfx | effect | Yes | |
Shop_Loop | integer | No | |
Shop_Message | string | Yes | |
Shop_Unit | unit | Yes | |
SleepingUnit | unit | No | |
Sonic_Storm_Angle | real | No | |
Sonic_Storm_Caster | unit | No | |
Sonic_Storm_Effect | effect | Yes | |
Sonic_Storm_Increment | integer | No | |
Sonic_Storm_Point | location | Yes | |
Sonic_Storm_Target | unit | No | |
Sort_Board_By_Kills | boolean | No | |
SpecUnit | group | No | |
SpecUnit_Copy | group | No | |
Speed | real | Yes | |
Spell_AdaptiveStrike2_Change | integer | Yes | |
Spell_AdaptiveStrike2_Damage | real | Yes | |
Spell_AdaptiveStrike2_Group | group | No | |
Spell_AdaptiveStrike2_Point | location | Yes | |
Spell_AdaptiveStrike2_TDamage | real | No | |
Spell_AdaptiveStrike_Change | integer | Yes | |
Spell_AdaptiveStrike_Damage | real | Yes | |
Spell_AdaptiveStrike_Group | group | No | |
Spell_AdaptiveStrike_Point | location | Yes | |
Spell_AdaptiveStrike_TDamage | real | No | |
Spell_IceArrows_Cast | boolean | Yes | |
Spell_IceArrows_Cont | integer | Yes | |
Spell_IceArrows_Loop | integer | No | |
Spell_MaxBash_Caster | unit | No | |
Spell_MaxBash_Change | integer | Yes | |
Spell_MaxBash_Damage | real | Yes | |
Spell_MaxBash_Height | real | Yes | |
Spell_MaxBash_Range | real | Yes | |
Spell_MaxBash_Target | unit | No | |
Spell_MaxBash_Target_Angle | real | No | |
Spell_MaxBash_Target_Damage | real | No | |
Spell_MaxBash_Target_Height | real | No | |
Spell_MaxBash_Target_Point | location | Yes | |
Spell_MaxBash_Target_Range | real | No | |
Spell_MaxBash_Target_Tick | real | No | |
Spell_SteelStorm_Change | integer | Yes | |
Spell_SteelStorm_Damage | real | Yes | |
Spell_SteelStorm_Group | group | No | |
Spell_SteelStorm_Point | location | Yes | |
Spell_SteelStorm_Target_Damage | real | No | |
Spell_SteelTornado | abilcode | No | A0IY |
Spell_SteelTornado_Active | boolean | Yes | |
Spell_SteelTornado_Angle | real | Yes | |
Spell_SteelTornado_Caster | unit | Yes | |
Spell_SteelTornado_Damage | real | Yes | |
Spell_SteelTornado_Loop | integer | Yes | |
Spell_SteelTornado_MisGroup | group | No | |
Spell_SteelTornado_MissileType | unitcode | No | h00N |
Spell_SteelTornado_Point | location | Yes | |
Spell_SteelTornado_Timer | real | Yes | |
SPELL_ThunderStorm | abilcode | Yes | |
SpellLevel | integer | No | |
Spin_Combat_Chance | integer | No | |
Spin_Combat_Chance2 | integer | No | |
Spin_Combat_Dmg | real | No | |
Spin_Combat_Dmg2 | real | No | |
Spin_Combat_Unit | unit | Yes | |
Spin_Combat_Unit2 | unit | Yes | |
SR | rect | No | |
Starfall_Ability | abilcode | No | |
Starfall_AoE | real | No | |
Starfall_AoE_Randomed | real | No | |
Starfall_CastingUnit | unit | Yes | |
Starfall_Damage | real | Yes | |
Starfall_Damage_Mechanicals | boolean | No | |
Starfall_Damage_Structures | boolean | No | |
Starfall_Damaging_Group | group | No | |
Starfall_Effect_Path | string | No | |
Starfall_Group | group | Yes | |
Starfall_Hashtable | hashtable | No | |
Starfall_Level | integer | Yes | |
Starfall_MUI | integer | No | |
Starfall_MUI_2 | integer | No | |
Starfall_Point | location | Yes | |
Starfall_Randomed_Group | group | Yes | |
Starfall_Randomed_Unit | unit | Yes | |
Starfall_Unit_Effect | unitcode | No | |
Start | location | No | |
StomperEffect | effect | No | |
StomperPoint | location | No | |
Streng | real | Yes | |
STRING_Glow | string | Yes | |
strmod | integer | No | |
System_Point | location | Yes | |
Target | unit | No | |
Team_DeathTotal | integer | Yes | |
temp_AoE | real | No | |
temp_player | player | No | |
temp_point | location | No | |
Temp_Point | location | No | |
temp_unit | unit | No | |
TEMP_Unit | unit | No | |
temp_unitgroup | group | No | |
TempGroup | group | No | |
TempInt | integer | No | |
TempInteger | integer | No | |
TempLoc | location | No | |
TempLoc2 | location | No | |
TempLoc43 | location | No | |
TempLoc44 | location | No | |
TempLoc48 | location | No | |
TempPG | force | No | |
TempPlayer | player | No | |
TempPoint | location | No | |
TempPoint1X | location | No | |
TempPoint2 | location | No | |
TempPoint2X | location | No | |
TempReal | real | No | |
TempString | string | Yes | |
TempTarget | unit | No | |
TempUnit | unit | No | |
TempUnit2 | unit | No | |
TIMER_Death | timer | Yes | |
TimerUnits | timer | No | |
TimeX | real | No | |
tPoint | location | No | |
TR | rect | No | |
Unit | unit | Yes | |
Unit_b | unit | No | |
UNIT_Heroes | unit | Yes | |
UNIT_Moonbeam | unit | Yes | |
UNIT_Spellbringer | unit | Yes | |
UNITGROUP_Xyx | group | Yes | |
UnitToSpawn | unitcode | No | |
UNITTYPE_Monsters | unitcode | Yes | |
UNITTYPE_MonstersG | unitcode | Yes | |
UNITTYPE_MonstersT | unitcode | Yes | |
UNITTYPE_MonstersX | unitcode | Yes | |
UnitVarAttacked | unit | No | |
UnitVarAttacker | unit | No | |
UnitVarCaster11 | unit | No | |
UpgradeBow | integer | Yes | 0 |
UR | rect | No | |
VA | sound | No | |
VenomousGale_Angle | real | No | |
VenomousGale_Caster | unit | No | |
VenomousGale_Gale | unit | No | |
VenomousGale_Hit | group | No | |
VenomousGale_Level | integer | No | |
VenomousGale_Tick | integer | No | |
VI | rect | No | |
VoteKickDialog | dialog | No | |
VoteNoDialogButton | button | No | |
VotesNeeded | integer | No | |
VotesNo | integer | No | |
VotesYes | integer | No | |
VoteTimer | timer | No | |
VoteTimerWindow | timerdialog | No | |
VoteYesDialogButton | button | No | |
VV | integer | No | |
Wave_Group_T1_1 | group | No | |
Wave_Group_T1_2 | group | No | |
Wave_Group_T2_1 | group | No | |
Wave_Group_T2_2 | group | No | |
WR | rect | No | |
x | real | No | |
X | integer | No | |
x2 | real | No | |
XB | trigger | No | |
XI | rect | No | |
XV | itemcode | Yes | |
y | real | No | |
y2 | real | No | |
YE | integer | No | |
YR | rect | No | |
Yte4kaUnit | unit | No | |
z | real | No | |
ZE | boolean | Yes | |
zLoc | location | No | |
zoomNr | real | No | |
ZR | rect | No | |
ZT | trigger | No | |
ZV | effect | No | |
zver | unit | Yes | |
zzz_Atker | unit | No | |
zzz_Group | group | No |
Добавлена поддержка двух страничного магазина.
Добавлена поддержка нескольких страниц в магазине.
Добавлена поддержка интерфейса reforged.
Исправлена ошибка интерфейса где по бокам отображались края интерфейса от ночных эльфов.
В спеллбрингер исправлен Summon Hav'roth.
Добавлена 2 вкладка Инвентарь.
Добвлен герой SubZero.
Исправлен баг с зарядом свитка возвращения.
Исправлен баг с репиком.
Исправлен баг с рандомом.
Так же есть возможность прописать -random.
Перерисована платформа.
Поправлена механика.
Пофикшен баг с джампером.
Исправлен баг с распределением и подсчетом доп. мобов
Теперь при репике предметы из инвентаря выбрасываются
Теперь перчатки грабителя умножают получаемое золото на x 5 с каждым повышением уровня крипа.
Изменен скилл Tempest на Twister Energy.
Добавлены 2 новых героя Onyxia и Azzinoth.
Обновлена модель Мурадина.
//TESH.scrollpos=12436
//TESH.alwaysfold=0
// Map deprotected in Mellon
function CT takes real DT returns nothing
local real FT
local real st=TimerGetElapsed(udg_ET)
if st<=0 then
set udg_ET=CreateTimer()
call TimerStart(udg_ET,0xF4240,false,null)
endif
if(DT>0)then
loop
set FT=DT-TimerGetElapsed(udg_ET)+st
exitwhen FT<=0
if(FT>bj_POLLED_WAIT_SKIP_THRESHOLD)then
call TriggerSleepAction(.1*FT)
else
call TriggerSleepAction(bj_POLLED_WAIT_INTERVAL)
endif
endloop
endif
endfunction
function GT takes location HT,real JT,real KT returns location
return Location(GetLocationX(HT)+JT*Cos(KT*bj_DEGTORAD),GetLocationY(HT)+JT*Sin(KT*bj_DEGTORAD))
endfunction
function LT takes nothing returns boolean
local destructable d=GetFilterDestructable()
local real dx=GetDestructableX(d)-udg_OT
local real dy=GetDestructableY(d)-udg_RT
return(dx*dx+dy*dy<=bj_enumDestructableRadius)
endfunction
function MT takes rect r,boolexpr PT returns group
set udg_IT=CreateGroup()
call GroupEnumUnitsInRect(udg_IT,r,PT)
call DestroyBoolExpr(PT)
return udg_IT
endfunction
function QT takes rect r returns group
set udg_IT=CreateGroup()
call GroupEnumUnitsInRect(udg_IT,r,udg_NT)
return udg_IT
endfunction
function ST takes rect r,player TT returns group
set udg_IT=CreateGroup()
set bj_groupEnumOwningPlayer=TT
call GroupEnumUnitsInRect(udg_IT,r,filterGetUnitsInRectOfPlayer)
return udg_IT
endfunction
function UT takes real WT,location YT,boolexpr PT returns group
set udg_IT=CreateGroup()
call GroupEnumUnitsInRangeOfLoc(udg_IT,YT,WT,PT)
return udg_IT
endfunction
function ZT takes real WT,location YT returns group
set udg_IT=CreateGroup()
call GroupEnumUnitsInRangeOfLoc(udg_IT,YT,WT,udg_NT)
return udg_IT
endfunction
function VU takes player TT,boolexpr PT returns group
set udg_IT=CreateGroup()
call GroupEnumUnitsOfPlayer(udg_IT,TT,PT)
call DestroyBoolExpr(PT)
return udg_IT
endfunction
function EU takes player TT returns group
set udg_IT=CreateGroup()
call GroupEnumUnitsOfPlayer(udg_IT,TT,udg_NT)
return udg_IT
endfunction
function XU takes player TT,integer OU returns group
set udg_IT=CreateGroup()
set bj_groupEnumTypeId=OU
call GroupEnumUnitsOfPlayer(udg_IT,TT,filterGetUnitsOfPlayerAndTypeId)
return udg_IT
endfunction
function RU takes player TT returns force
set udg_AT=CreateForce()
call ForceAddPlayer(udg_AT,TT)
return udg_AT
endfunction
function IU takes player TT returns force
set udg_AT=CreateForce()
call ForceEnumAllies(udg_AT,TT,udg_NT)
return udg_AT
endfunction
function AU takes player TT returns force
set udg_AT=CreateForce()
call ForceEnumEnemies(udg_AT,TT,udg_NT)
return udg_AT
endfunction
function NU takes integer BU,group CU returns group
set bj_randomSubGroupGroup=CreateGroup()
set bj_randomSubGroupWant=BU
set bj_randomSubGroupTotal=CountUnitsInGroup(CU)
if(bj_randomSubGroupWant<=0 or bj_randomSubGroupTotal<=0)then
return bj_randomSubGroupGroup
endif
set bj_randomSubGroupChance=I2R(bj_randomSubGroupWant)/I2R(bj_randomSubGroupTotal)
call ForGroup(CU,function GetRandomSubGroupEnum)
return bj_randomSubGroupGroup
endfunction
function DU takes player TT,playercolor FU,boolean GU returns nothing
local group g
call SetPlayerColor(TT,FU)
if GU then
set bj_setPlayerTargetColor=FU
set g=CreateGroup()
call GroupEnumUnitsOfPlayer(g,TT,udg_NT)
call ForGroup(g,function SetPlayerColorBJEnum)
call DestroyGroup(g)
set g=null
endif
endfunction
function HU takes itemtype JU,integer KU returns nothing
local group g
set bj_stockPickedItemType=JU
set bj_stockPickedItemLevel=KU
set g=CreateGroup()
call GroupEnumUnitsOfType(g,"marketplace",udg_NT)
call ForGroup(g,function UpdateEachStockBuildingEnum)
call DestroyGroup(g)
set g=null
endfunction
function LU takes nothing returns nothing
local integer pickedItemId
local itemtype MU
local integer PU=0
local integer QU=0
local integer KU
set KU=1
loop
if(bj_stockAllowedPermanent[KU])then
set QU=QU+1
if(GetRandomInt(1,QU)==1)then
set MU=ITEM_TYPE_PERMANENT
set PU=KU
endif
endif
if(bj_stockAllowedCharged[KU])then
set QU=QU+1
if(GetRandomInt(1,QU)==1)then
set MU=ITEM_TYPE_CHARGED
set PU=KU
endif
endif
if(bj_stockAllowedArtifact[KU])then
set QU=QU+1
if(GetRandomInt(1,QU)==1)then
set MU=ITEM_TYPE_ARTIFACT
set PU=KU
endif
endif
set KU=KU+1
exitwhen KU>10
endloop
if(QU==0)then
set MU=null
return
endif
call HU(MU,PU)
set MU=null
endfunction
function SU takes nothing returns nothing
call LU()
call TimerStart(bj_stockUpdateTimer,bj_STOCK_RESTOCK_INTERVAL,true,function LU)
endfunction
function TU takes nothing returns boolean
return true
endfunction
function UU takes nothing returns nothing
call SetUnitInvulnerable(GetEnumUnit(),true)
endfunction
function WU takes nothing returns boolean
return(GetPlayerSlotState(Player(-1+(bj_forLoopAIndex)))==PLAYER_SLOT_STATE_PLAYING)and(GetPlayerController(Player(-1+(bj_forLoopAIndex)))==MAP_CONTROL_USER)
endfunction
function YU takes nothing returns boolean
return(GetPlayerSlotState(Player(-1+(bj_forLoopAIndex)))==PLAYER_SLOT_STATE_PLAYING)and(GetPlayerController(Player(-1+(bj_forLoopAIndex)))==MAP_CONTROL_USER)
endfunction
function ZU takes nothing returns boolean
return(udg_CO)
endfunction
function VW takes nothing returns boolean
return(udg_ME==false)
endfunction
function EW takes nothing returns nothing
call CreateTextTagLocBJ("BETA HERO!",Location(-1030.,-4166.),0,10,'d','d','d',0)
call ConditionalTriggerExecute(udg_CA)
call ConditionalTriggerExecute(udg_LA)
call CT(.01)
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=8
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call SetPlayerStateBJ(Player(-1+(bj_forLoopAIndex)),PLAYER_STATE_RESOURCE_GOLD,250)
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
call SetTimeOfDay(12.)
call UseTimeOfDayBJ(false)
set udg_FE=QT(udg_ZR)
call ForGroupBJ(udg_FE,function UU)
call DestroyGroup(udg_FE)
set udg_FE=null
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=4
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
if(WU())then
set udg_L[1]=true
call ForceAddPlayer(udg_H[1],Player(-1+(bj_forLoopAIndex)))
call ForceAddPlayer(udg_K[1],Player(-1+(bj_forLoopAIndex)))
call ForceAddPlayer(udg_K[3],Player(-1+(bj_forLoopAIndex)))
call TriggerRegisterUnitManaEvent(udg_TA,udg_M[bj_forLoopAIndex],GREATER_THAN,650.)
call TriggerRegisterUnitManaEvent(udg_UA,udg_M[bj_forLoopAIndex],GREATER_THAN,900.)
call TriggerRegisterUnitManaEvent(udg_WA,udg_M[bj_forLoopAIndex],LESS_THAN_OR_EQUAL,900.)
call TriggerRegisterUnitManaEvent(udg_YA,udg_M[bj_forLoopAIndex],LESS_THAN_OR_EQUAL,650.)
call TriggerRegisterUnitEvent(udg_WL,udg_M[bj_forLoopAIndex],EVENT_UNIT_SPELL_EFFECT)
call TriggerRegisterUnitEvent(udg_UL,udg_M[bj_forLoopAIndex],EVENT_UNIT_SPELL_CAST)
call TriggerRegisterUnitEvent(udg_BL,udg_M[bj_forLoopAIndex],EVENT_UNIT_SPELL_CAST)
call TriggerRegisterUnitEvent(udg_ZL,udg_M[bj_forLoopAIndex],EVENT_UNIT_SPELL_EFFECT)
call TriggerRegisterUnitEvent(udg_YL,udg_M[bj_forLoopAIndex],EVENT_UNIT_SPELL_EFFECT)
call TriggerRegisterUnitEvent(udg_LF,udg_M[bj_forLoopAIndex],EVENT_UNIT_SPELL_EFFECT)
call TriggerRegisterUnitEvent(udg_LD,udg_M[bj_forLoopAIndex],EVENT_UNIT_SPELL_CAST)
call TriggerRegisterUnitEvent(udg_HF,udg_M[bj_forLoopAIndex],EVENT_UNIT_SPELL_EFFECT)
call TriggerRegisterPlayerUnitEventSimple(udg_TM,Player(-1+(bj_forLoopAIndex)),EVENT_PLAYER_UNIT_DEATH)
call TriggerRegisterPlayerUnitEventSimple(udg_QM,Player(-1+(bj_forLoopAIndex)),EVENT_PLAYER_UNIT_DEATH)
call TriggerRegisterPlayerUnitEventSimple(udg_RM,Player(-1+(bj_forLoopAIndex)),EVENT_PLAYER_UNIT_DEATH)
call TriggerRegisterPlayerUnitEventSimple(udg_XM,Player(-1+(bj_forLoopAIndex)),EVENT_PLAYER_UNIT_DEATH)
call TriggerRegisterPlayerUnitEventSimple(udg_OM,Player(-1+(bj_forLoopAIndex)),EVENT_PLAYER_UNIT_DEATH)
call TriggerRegisterPlayerUnitEventSimple(udg_IM,Player(-1+(bj_forLoopAIndex)),EVENT_PLAYER_UNIT_DEATH)
else
call RemoveUnit(udg_M[bj_forLoopAIndex])
set udg_TO[bj_forLoopAIndex]=true
endif
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
set bj_forLoopAIndex=5
set bj_forLoopAIndexEnd=8
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
if(YU())then
set udg_L[2]=true
call ForceAddPlayer(udg_H[2],Player(-1+(bj_forLoopAIndex)))
call ForceAddPlayer(udg_K[2],Player(-1+(bj_forLoopAIndex)))
call ForceAddPlayer(udg_K[3],Player(-1+(bj_forLoopAIndex)))
call TriggerRegisterUnitManaEvent(udg_TA,udg_M[bj_forLoopAIndex],GREATER_THAN,650.)
call TriggerRegisterUnitManaEvent(udg_UA,udg_M[bj_forLoopAIndex],GREATER_THAN,900.)
call TriggerRegisterUnitManaEvent(udg_WA,udg_M[bj_forLoopAIndex],LESS_THAN_OR_EQUAL,900.)
call TriggerRegisterUnitManaEvent(udg_YA,udg_M[bj_forLoopAIndex],LESS_THAN_OR_EQUAL,650.)
call TriggerRegisterUnitEvent(udg_WL,udg_M[bj_forLoopAIndex],EVENT_UNIT_SPELL_EFFECT)
call TriggerRegisterUnitEvent(udg_BL,udg_M[bj_forLoopAIndex],EVENT_UNIT_SPELL_CAST)
call TriggerRegisterUnitEvent(udg_UL,udg_M[bj_forLoopAIndex],EVENT_UNIT_SPELL_CAST)
call TriggerRegisterUnitEvent(udg_ZL,udg_M[bj_forLoopAIndex],EVENT_UNIT_SPELL_EFFECT)
call TriggerRegisterUnitEvent(udg_JF,udg_M[bj_forLoopAIndex],EVENT_UNIT_SPELL_EFFECT)
call TriggerRegisterUnitEvent(udg_LF,udg_M[bj_forLoopAIndex],EVENT_UNIT_SPELL_EFFECT)
call TriggerRegisterUnitEvent(udg_LD,udg_M[bj_forLoopAIndex],EVENT_UNIT_SPELL_CAST)
call TriggerRegisterUnitEvent(udg_YL,udg_M[bj_forLoopAIndex],EVENT_UNIT_SPELL_EFFECT)
call TriggerRegisterPlayerUnitEventSimple(udg_QM,Player(-1+(bj_forLoopAIndex)),EVENT_PLAYER_UNIT_DEATH)
call TriggerRegisterPlayerUnitEventSimple(udg_TM,Player(-1+(bj_forLoopAIndex)),EVENT_PLAYER_UNIT_DEATH)
call TriggerRegisterPlayerUnitEventSimple(udg_RM,Player(-1+(bj_forLoopAIndex)),EVENT_PLAYER_UNIT_DEATH)
call TriggerRegisterPlayerUnitEventSimple(udg_XM,Player(-1+(bj_forLoopAIndex)),EVENT_PLAYER_UNIT_DEATH)
call TriggerRegisterPlayerUnitEventSimple(udg_OM,Player(-1+(bj_forLoopAIndex)),EVENT_PLAYER_UNIT_DEATH)
call TriggerRegisterPlayerUnitEventSimple(udg_IM,Player(-1+(bj_forLoopAIndex)),EVENT_PLAYER_UNIT_DEATH)
else
call RemoveUnit(udg_M[bj_forLoopAIndex])
set udg_TO[bj_forLoopAIndex]=true
endif
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
set bj_forLoopAIndex=9
set bj_forLoopAIndexEnd=12
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call DU(Player(-1+(bj_forLoopAIndex)),PLAYER_COLOR_LIGHT_BLUE,true)
call SetPlayerFlagBJ(PLAYER_STATE_GIVES_BOUNTY,true,Player(-1+(bj_forLoopAIndex)))
call ForceAddPlayer(udg_K[4],Player(-1+(bj_forLoopAIndex)))
call TriggerRegisterPlayerUnitEventSimple(udg_UM,Player(-1+(bj_forLoopAIndex)),EVENT_PLAYER_UNIT_DEATH)
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
call FogEnableOff()
call FogMaskEnableOff()
call ConditionalTriggerExecute(udg_HA)
call ConditionalTriggerExecute(udg_KA)
call ConditionalTriggerExecute(udg_JA)
call DialogDisplayBJ(true,udg_BO,Player(0))
loop
exitwhen(ZU())
call TriggerSleepAction(RMaxBJ(bj_WAIT_FOR_COND_MIN_INTERVAL,1))
endloop
call DialogDisplayBJ(false,udg_BO,Player(0))
call EnableTrigger(udg_GA)
call DialogDisplayBJ(true,udg_I,Player(0))
call CT(5.)
call DialogDisplayBJ(false,udg_I,Player(0))
loop
exitwhen(VW())
call TriggerSleepAction(RMaxBJ(bj_WAIT_FOR_COND_MIN_INTERVAL,1))
endloop
set udg_DO=true
call PlaySoundBJ(udg_PI)
set udg_U=false
call ConditionalTriggerExecute(udg_DA)
call ConditionalTriggerExecute(udg_FA)
call ConditionalTriggerExecute(udg_VB)
call ConditionalTriggerExecute(udg_EB)
call ConditionalTriggerExecute(udg_ZN)
call StartTimerBJ(udg_Z,false,30.)
call CreateTimerDialogBJ(udg_Z,"Round 1 begins in")
set udg_NV[1]=bj_lastCreatedTimerDialog
call TimerDialogDisplay(bj_lastCreatedTimerDialog,false)
call TimerDialogDisplay(udg_NV[1],true)
call CT(30.)
call TimerDialogDisplay(udg_NV[1],false)
call DestroyTimerDialog(udg_NV[1])
call ConditionalTriggerExecute(udg_VN)
call DestroyTrigger(GetTriggeringTrigger())
endfunction
function XW takes nothing returns boolean
return(GetClickedButton()==udg_NO[1])
endfunction
function OW takes nothing returns boolean
return(GetClickedButton()==udg_NO[2])
endfunction
function RW takes nothing returns boolean
return(GetClickedButton()==udg_NO[3])
endfunction
function IW takes nothing returns boolean
return(GetClickedButton()==udg_NO[4])
endfunction
function AW takes nothing returns nothing
set udg_CO=true
if(XW())then
call DisplayTimedTextToForce(bj_FORCE_ALL_PLAYERS,10.,(GetPlayerName(Player(0))+" has voted Normal Mode"))
call MultiboardSetTitleText(bj_lastCreatedMultiboard,"Normal Mode")
endif
if(OW())then
call DisplayTimedTextToForce(bj_FORCE_ALL_PLAYERS,10.,(GetPlayerName(Player(0))+" has voted Random Mode"))
set udg_AO=true
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=8
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
set udg_D[bj_forLoopAIndex]=true
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
call MultiboardSetTitleText(bj_lastCreatedMultiboard,"Random Mode")
endif
if(RW())then
set udg_GO=true
call DisplayTimedTextToForce(bj_FORCE_ALL_PLAYERS,10.,(GetPlayerName(Player(0))+" has voted Last Man Standing"))
call MultiboardSetTitleText(bj_lastCreatedMultiboard,"Last Man Standing")
endif
if(IW())then
call DisplayTimedTextToForce(bj_FORCE_ALL_PLAYERS,10.,(GetPlayerName(Player(0))+" has voted Total Annihilation"))
set udg_SO=true
call MultiboardSetTitleText(bj_lastCreatedMultiboard,"Total annihilation")
endif
endfunction
function NW takes nothing returns boolean
return(GetClickedButton()==udg_A[1])
endfunction
function BW takes nothing returns boolean
return(GetClickedButton()==udg_A[2])
endfunction
function CW takes nothing returns boolean
return(GetClickedButton()==udg_A[3])
endfunction
function DW takes nothing returns boolean
return(GetClickedButton()==udg_A[4])
endfunction
function FW takes nothing returns boolean
return(GetClickedButton()==udg_A[5])
endfunction
function GW takes nothing returns boolean
return(GetClickedButton()==udg_A[6])
endfunction
function HW takes nothing returns nothing
if(NW())then
set udg_N[1]=(udg_N[1]+1)
endif
if(BW())then
set udg_N[2]=(udg_N[2]+1)
endif
if(CW())then
set udg_N[3]=(udg_N[3]+1)
endif
if(DW())then
set udg_N[4]=(udg_N[4]+1)
endif
if(FW())then
set udg_N[5]=(udg_N[5]+1)
endif
if(GW())then
call DisplayTimedTextToForce(bj_FORCE_PLAYER[0],5.,"Now enter the damage factor. Entered number must be between 50 and 300. Example: -set 123")
set udg_N[6]=(udg_N[6]+1)
set udg_ME=true
endif
endfunction
function JW takes nothing returns nothing
call AddWeatherEffectSaveLast(udg_VI,'RAhr')
set udg_YO[1]=bj_lastCreatedWeatherEffect
call AddWeatherEffectSaveLast(udg_EI,'RAhr')
set udg_YO[2]=bj_lastCreatedWeatherEffect
call AddWeatherEffectSaveLast(udg_VI,'LRma')
set udg_YO[3]=bj_lastCreatedWeatherEffect
call AddWeatherEffectSaveLast(udg_EI,'LRma')
set udg_YO[4]=bj_lastCreatedWeatherEffect
set udg_VX[1]='n019'
set udg_VX[2]='n01B'
set udg_VX[3]='n000'
set udg_VX[4]='n01D'
set udg_VX[5]='n01E'
set udg_VX[6]='n01F'
set udg_VX[7]='n01G'
set udg_VX[8]='n01H'
set udg_VX[9]='e00W'
set udg_VX[10]='n01I'
set udg_VX[11]='n01J'
set udg_VX[12]='n01K'
set udg_VX[13]='n01L'
set udg_VX[14]='n01M'
set udg_VX[15]='n01N'
set udg_VX[16]='n01O'
set udg_VX[17]='n01P'
set udg_VX[18]='n01Q'
set udg_VX[19]='n01R'
set udg_VX[20]='n01S'
set udg_VX[21]='n01T'
set udg_VX[22]='n01U'
set udg_VX[23]='n01V'
set udg_VX[24]='n01W'
set udg_VX[25]='n01X'
set udg_VX[26]='n01Y'
set udg_VX[27]='n01Z'
set udg_VX[28]='n020'
set udg_VX[29]='n021'
set udg_VX[30]='n023'
set udg_VX[31]='n024'
set udg_VX[32]='e00X'
set udg_VX[33]='n025'
set udg_VX[34]='n026'
set udg_VX[35]='u006'
set udg_VX[36]='u007'
set udg_VX[37]='u008'
set udg_VX[38]='u009'
set udg_VX[39]='u00A'
set udg_VX[40]='n027'
set udg_XV[1]='pclr'
set udg_XV[2]='hslv'
set udg_XV[3]='phea'
set udg_XV[4]='pman'
set udg_XV[5]='rej2'
set udg_XV[6]='pghe'
set udg_XV[7]='pams'
set udg_XV[8]='rej4'
set udg_XV[9]='vamp'
set udg_XV[10]='I02B'
set udg_XV[11]='pomn'
set udg_XV[12]='pinv'
set udg_XV[13]='pgin'
set udg_XV[14]='pgin'
set udg_XV[15]='pspd'
set udg_XV[16]='pspd'
set udg_XV[17]='I02A'
set udg_XV[18]='I02A'
set udg_XV[19]='pnvl'
set udg_XV[20]='pnvl'
set udg_Q[1]='I01V'
set udg_Q[2]='I03H'
set udg_Q[3]='I03G'
set udg_Q[4]='I03N'
set udg_Q[5]='I03K'
set udg_Q[6]='I03L'
set udg_Q[8]='I03J'
set udg_Q[9]='I03O'
set udg_Q[7]='I03P'
set udg_S[1]='I022'
set udg_S[2]='I03R'
set udg_S[3]='I03S'
set udg_S[4]='I04A'
set udg_S[5]='I03U'
set udg_S[6]='I03V'
set udg_S[8]='I03T'
set udg_S[9]='I03Y'
set udg_S[7]='I03Z'
set udg_T[1]='I040'
set udg_T[2]='I041'
set udg_T[3]='I042'
set udg_T[4]='I03X'
set udg_T[5]='I044'
set udg_T[6]='I045'
set udg_T[8]='I047'
set udg_T[9]='I048'
set udg_T[7]='I049'
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=4
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
set udg_G[bj_forLoopAIndex]=udg_XI
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
set bj_forLoopAIndex=5
set bj_forLoopAIndexEnd=8
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
set udg_G[bj_forLoopAIndex]=udg_SR
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
set udg_G[12]=udg_XI
set udg_E[1]='n002'
set udg_E[2]='n001'
set udg_E[3]='n01C'
set udg_E[4]='n004'
set udg_E[5]='n005'
set udg_E[6]='n006'
set udg_E[7]='n007'
set udg_E[8]='n009'
set udg_E[9]='e005'
set udg_E[10]='n00B'
set udg_E[11]='n00C'
set udg_E[12]='n00D'
set udg_E[13]='n003'
set udg_E[14]='n00G'
set udg_E[15]='n00H'
set udg_E[16]='n00I'
set udg_E[17]='n00J'
set udg_E[18]='n00K'
set udg_E[19]='n00N'
set udg_E[20]='n00O'
set udg_E[21]='n00P'
set udg_E[22]='n00Q'
set udg_E[23]='n00R'
set udg_E[24]='n00S'
set udg_E[25]='n00T'
set udg_E[26]='n00W'
set udg_E[27]='n00X'
set udg_E[28]='n00Y'
set udg_E[29]='n00Z'
set udg_E[30]='n010'
set udg_E[31]='n011'
set udg_E[32]='e017'
set udg_E[33]='n012'
set udg_E[34]='n013'
set udg_E[35]='u001'
set udg_E[36]='u002'
set udg_E[37]='u003'
set udg_E[38]='u004'
set udg_E[39]='u005'
set udg_E[40]='n016'
set udg_E[41]='n016'
set udg_E[42]='n016'
set udg_E[43]='n016'
set udg_E[44]='n016'
set udg_E[45]='n016'
set udg_E[46]='n016'
set udg_GV=0
set udg_SE[1]=0
set udg_SE[2]=0
set udg_SE[3]=0
set udg_SE[4]=0
set udg_M[1]=udg_SP
set udg_M[2]=udg_QP
set udg_M[3]=udg_PP
set udg_M[4]=udg_KQ
set udg_M[5]=udg_MP
set udg_M[6]=udg_AS
set udg_M[7]=udg_LQ
set udg_M[8]=udg_MQ
set udg_KE[1]='A08H'
set udg_KE[2]='A08I'
set udg_KE[3]='A08J'
call DestroyTrigger(GetTriggeringTrigger())
endfunction
function KW takes nothing returns boolean
return(udg_AO)
endfunction
function LW takes nothing returns boolean
return(udg_GO)
endfunction
function MW takes nothing returns boolean
return(udg_SO)
endfunction
function PW takes nothing returns boolean
return(GetPlayerSlotState(Player(-1+(bj_forLoopAIndex)))==PLAYER_SLOT_STATE_PLAYING)and(GetPlayerController(Player(-1+(bj_forLoopAIndex)))==MAP_CONTROL_USER)
endfunction
function QW takes nothing returns boolean
return(udg_L[1])
endfunction
function SW takes nothing returns boolean
return(GetPlayerSlotState(Player(-1+(bj_forLoopAIndex)))==PLAYER_SLOT_STATE_PLAYING)and(GetPlayerController(Player(-1+(bj_forLoopAIndex)))==MAP_CONTROL_USER)
endfunction
function TW takes nothing returns boolean
return(udg_L[2])
endfunction
function UW takes nothing returns nothing
if(KW())then
call CreateMultiboardBJ(2,16,"Random Mode")
else
call CreateMultiboardBJ(2,16,"Normal Mode")
endif
if(LW())then
call CreateMultiboardBJ(2,16,"Last Man Standing")
else
call CreateMultiboardBJ(2,16,"Normal Mode")
endif
if(MW())then
call CreateMultiboardBJ(2,16,"Total annihilation")
else
call CreateMultiboardBJ(2,16,"Normal Mode")
endif
call MultiboardSetTitleTextColorBJ(bj_lastCreatedMultiboard,50.,100.,20,0)
call MultiboardSetItemStyleBJ(bj_lastCreatedMultiboard,0,0,true,false)
call MultiboardSetItemWidthBJ(bj_lastCreatedMultiboard,1,0,10.)
call MultiboardSetItemWidthBJ(bj_lastCreatedMultiboard,2,0,5.)
set udg_GV=2
call MultiboardSetItemStyleBJ(bj_lastCreatedMultiboard,2,udg_GV,false,false)
set udg_GV=(udg_GV+1)
set udg_MV[1]=udg_GV
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_GV,(I2S(udg_BV[1])+" Souls"))
call MultiboardSetItemStyleBJ(bj_lastCreatedMultiboard,2,udg_GV,false,false)
if(QW())then
set udg_GV=(udg_GV+1)
call MultiboardSetItemStyleBJ(bj_lastCreatedMultiboard,1,udg_GV,true,false)
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_GV,("West Side "+(I2S(udg_SE[1])+("/"+I2S(udg_SE[2])))))
set udg_MV[3]=udg_GV
call MultiboardSetItemIconBJ(bj_lastCreatedMultiboard,1,udg_GV,"ReplaceableTextures\\CommandButtons\\BTNOrbOfFire.blp")
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,2,udg_GV,I2S(udg_DV[1]))
call MultiboardSetItemColorBJ(bj_lastCreatedMultiboard,0,udg_GV,50.,50.,100.,0)
set udg_FV[9]=udg_GV
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=4
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
if(PW())then
set udg_GV=(udg_GV+1)
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_GV,GetPlayerName(Player(-1+(bj_forLoopAIndex))))
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,2,udg_GV,"0")
call MultiboardSetItemColorBJ(bj_lastCreatedMultiboard,0,udg_GV,50.,50.,50.,0)
set udg_FV[bj_forLoopAIndex]=udg_GV
endif
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
endif
set udg_GV=(udg_GV+1)
set udg_MV[2]=udg_GV
if(TW())then
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_GV,(I2S(udg_BV[2])+" Souls"))
set udg_GV=(udg_GV+1)
call MultiboardSetItemStyleBJ(bj_lastCreatedMultiboard,1,udg_GV,true,false)
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_GV,"TRIGSTR_360")
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_GV,("East Side "+(I2S(udg_SE[3])+("/"+I2S(udg_SE[4])))))
set udg_MV[4]=udg_GV
call MultiboardSetItemIconBJ(bj_lastCreatedMultiboard,1,udg_GV,"ReplaceableTextures\\CommandButtons\\BTNOrbOfFrost.blp")
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,2,udg_GV,I2S(udg_DV[2]))
call MultiboardSetItemColorBJ(bj_lastCreatedMultiboard,0,udg_GV,50.,50.,100.,0)
set udg_FV[10]=udg_GV
set bj_forLoopAIndex=5
set bj_forLoopAIndexEnd=8
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
if(SW())then
set udg_GV=(udg_GV+1)
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_GV,GetPlayerName(Player(-1+(bj_forLoopAIndex))))
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,2,udg_GV,"0")
call MultiboardSetItemColorBJ(bj_lastCreatedMultiboard,0,udg_GV,50.,50.,50.,0)
set udg_FV[bj_forLoopAIndex]=udg_GV
endif
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
endif
call MultiboardSetRowCount(bj_lastCreatedMultiboard,udg_GV)
endfunction
function WW takes nothing returns boolean
return(udg_N[1]==1)
endfunction
function YW takes nothing returns boolean
return(udg_N[2]==1)
endfunction
function ZW takes nothing returns boolean
return(udg_N[3]==1)
endfunction
function VY takes nothing returns boolean
return(udg_N[4]==1)
endfunction
function EY takes nothing returns boolean
return(udg_N[5]==1)
endfunction
function XY takes nothing returns boolean
return(udg_N[6]==1)
endfunction
function OY takes nothing returns boolean
return(udg_N[5]==0)and(udg_N[6]==0)and(udg_N[4]==0)and(udg_N[3]==0)and(udg_N[2]==0)and(udg_N[1]==0)
endfunction
function RY takes nothing returns nothing
if(WW())then
call DisplayTimedTextToForce(bj_FORCE_ALL_PLAYERS,10.,(GetPlayerName(Player(0))+" has voted Normal (100% life, 100% damage)"))
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,2,"Normal")
set udg_B='d'
endif
if(YW())then
call DisplayTimedTextToForce(bj_FORCE_ALL_PLAYERS,10.,(GetPlayerName(Player(0))+" has voted Hard (115% life, 115% damage)"))
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,2,"Hard")
set udg_B='s'
endif
if(ZW())then
call DisplayTimedTextToForce(bj_FORCE_ALL_PLAYERS,10.,(GetPlayerName(Player(0))+" has voted Nightmare (130% life, 130% damage)"))
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,2,"Nightmare")
set udg_B=130
endif
if(VY())then
call DisplayTimedTextToForce(bj_FORCE_ALL_PLAYERS,10.,(GetPlayerName(Player(0))+" has voted Hell (145% life, 145% damage)"))
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,2,"Hell")
set udg_B=145
endif
if(EY())then
call DisplayTimedTextToForce(bj_FORCE_ALL_PLAYERS,10.,(GetPlayerName(Player(0))+" has voted Impossible (190% life, 185% damage)"))
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,2,"Impossible")
set udg_B=190
endif
if(XY())then
set bj_forLoopAIndex=9
set bj_forLoopAIndexEnd=12
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call CreateNUnitsAtLoc(1,'o014',Player(-1+(bj_forLoopAIndex)),GetRectCenter(bj_mapInitialPlayableArea),bj_UNIT_FACING)
call UnitAddAbility(bj_lastCreatedUnit,udg_KE[udg_LE])
call SetUnitAbilityLevelSwapped('A08H',bj_lastCreatedUnit,udg_JE)
call SetUnitAbilityLevelSwapped('A08I',bj_lastCreatedUnit,udg_JE)
call SetUnitAbilityLevelSwapped('A08J',bj_lastCreatedUnit,udg_JE)
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,2,(((I2S(udg_PE)+"% D ")+(I2S(udg_B)+"% L"))+""))
call DisplayTimedTextToForce(bj_FORCE_ALL_PLAYERS,10.,(GetPlayerName(Player(0))+" has voted Custom Difficulty"))
endif
if(OY())then
call DisplayTimedTextToForce(bj_FORCE_ALL_PLAYERS,10.,(GetPlayerName(Player(0))+" has voted Hard (115% life, 115% damage)"))
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,2,"Hard")
set udg_B='s'
endif
set bj_forLoopAIndex=9
set bj_forLoopAIndexEnd=12
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call SetPlayerHandicapBJ(Player(-1+(bj_forLoopAIndex)),I2R(udg_B))
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
endfunction
function IY takes nothing returns boolean
return(udg_VV<50)
endfunction
function AY takes nothing returns boolean
return(udg_VV>300)
endfunction
function NY takes nothing returns boolean
return(udg_VV<='d')
endfunction
function BY takes nothing returns boolean
return(udg_VV>'d')and(udg_VV<=200)
endfunction
function CY takes nothing returns boolean
return(udg_VV>200)and(udg_VV<=300)
endfunction
function DY takes nothing returns boolean
return(udg_HE==false)
endfunction
function FY takes nothing returns nothing
set udg_VV=S2I(SubStringBJ(GetEventPlayerChatString(),6,StringLength(GetEventPlayerChatString())))
if(IY())then
set udg_VV=50
endif
if(AY())then
set udg_VV=300
endif
if(DY())then
set udg_PE=udg_VV
if(NY())then
set udg_LE=1
set udg_JE=udg_VV
endif
if(BY())then
set udg_LE=2
set udg_JE=(udg_VV-'d')
endif
if(CY())then
set udg_LE=3
set udg_JE=(udg_VV-200)
endif
call DisplayTimedTextToForce(bj_FORCE_PLAYER[0],5.,"Excellent! Now enter the handicap. Entered number must be between 50 and 300. Example: -set 123")
set udg_HE=true
else
set udg_B=udg_VV
set udg_ME=false
call DisableTrigger(GetTriggeringTrigger())
endif
endfunction
function GY takes nothing returns nothing
call DialogSetMessage(udg_I,"Difficulty Votage")
call DialogAddButtonBJ(udg_I,"100%Life, 100%Damage")
set udg_A[1]=bj_lastCreatedButton
call DialogAddButtonBJ(udg_I,"115%Life, 115%Damage")
set udg_A[2]=bj_lastCreatedButton
call DialogAddButtonBJ(udg_I,"130%Life, 130%Damage")
set udg_A[3]=bj_lastCreatedButton
call DialogAddButtonBJ(udg_I,"145%Life, 145%Damage")
set udg_A[4]=bj_lastCreatedButton
call DialogAddButtonBJ(udg_I,"190%Life, 185%Damage")
set udg_A[5]=bj_lastCreatedButton
call DialogAddButtonBJ(udg_I,"Custom Difficulty")
set udg_A[6]=bj_lastCreatedButton
endfunction
function HY takes nothing returns nothing
call DialogSetMessage(udg_BO,"Game mode")
call DialogAddButtonBJ(udg_BO,"Normal")
set udg_NO[1]=bj_lastCreatedButton
call DialogAddButtonBJ(udg_BO,"Random")
set udg_NO[2]=bj_lastCreatedButton
call DialogAddButtonBJ(udg_BO,"Last man standing")
set udg_NO[3]=bj_lastCreatedButton
call DialogAddButtonBJ(udg_BO,"Total annihilation")
set udg_NO[4]=bj_lastCreatedButton
endfunction
function JY takes nothing returns nothing
call DialogSetMessage(udg_HV,"Choose your Spell ")
call DialogAddButtonBJ(udg_HV,"Battle Sphere |cff7777aa5 Souls|r")
set udg_JV[1]=bj_lastCreatedButton
call DialogAddButtonBJ(udg_HV,"Limb Disruption |cff7777aa4 Souls|r")
set udg_JV[2]=bj_lastCreatedButton
call DialogAddButtonBJ(udg_HV,"Glythtide's Gift |cff7777aa4 Souls|r")
set udg_JV[3]=bj_lastCreatedButton
call DialogAddButtonBJ(udg_HV,"Mana Disruption |cff7777aa4 Souls|r")
set udg_JV[4]=bj_lastCreatedButton
call DialogAddButtonBJ(udg_HV,"Joymay's Legacy |cff7777aa6 Souls|r")
set udg_JV[5]=bj_lastCreatedButton
call DialogAddButtonBJ(udg_HV,"Spell Disruption |cff7777aa7 Souls|r")
set udg_JV[6]=bj_lastCreatedButton
call DialogAddButtonBJ(udg_HV,"Grazhir's Effigy |cff7777aa8 Souls|r")
set udg_JV[7]=bj_lastCreatedButton
call DialogAddButtonBJ(udg_HV,"Kalestraum's Darkrift |cff7777aa10 Souls|r")
set udg_JV[8]=bj_lastCreatedButton
call DialogAddButtonBJ(udg_HV,"<Cancel>")
set udg_JV[9]=bj_lastCreatedButton
endfunction
function KY takes nothing returns nothing
call CreateQuestBJ(0,"Made by sorcK","TRIGSTR_6084","ReplaceableTextures\\CommandButtons\\BTNOrcBattleStandard.blp")
call CreateQuestBJ(0,"Unprotected versions","If you want an uprotected version of CE 1.7 u can ask me via msn or at www.clan-enfo.tk.","ReplaceableTextures\\CommandButtons\\BTNUnholyAura.blp")
call CreateQuestBJ(0,"Information
","TRIGSTR_864","ReplaceableTextures\\CommandButtons\\BTNGlyph.blp")
call CreateQuestBJ(0,"User Commands","TRIGSTR_9227","ReplaceableTextures\\CommandButtons\\BTNOrbOfFire.blp")
call CreateQuestBJ(0,"Feedback","Please visit www.clan-enfo.tk and give me your suggestions or report bugs etc :)","ReplaceableTextures\\CommandButtons\\BTNHelmutPurple.blp")
call CreateQuestBJ(0,"Credits","TRIGSTR_9231","ReplaceableTextures\\CommandButtons\\BTNCloakOfFlames.blp")
call DestroyTrigger(GetTriggeringTrigger())
endfunction
function LY takes nothing returns nothing
call EnableWeatherEffect(udg_YO[1],true)
call TriggerSleepAction(.5)
call EnableWeatherEffect(udg_YO[2],true)
endfunction
function MY takes nothing returns nothing
call EnableWeatherEffect(udg_YO[1],false)
call TriggerSleepAction(.5)
call EnableWeatherEffect(udg_YO[2],false)
endfunction
function PY takes nothing returns nothing
call EnableWeatherEffect(udg_YO[3],true)
call TriggerSleepAction(.5)
call EnableWeatherEffect(udg_YO[4],true)
endfunction
function QY takes nothing returns nothing
call TriggerSleepAction(I2R(GetRandomInt(60,500)))
call TriggerExecute(udg_MA)
call TriggerSleepAction(I2R(GetRandomInt(15,35)))
call TriggerExecute(udg_PA)
call TriggerExecute(GetTriggeringTrigger())
endfunction
function SY takes nothing returns nothing
set udg_J=GetRectCenter(bj_mapInitialPlayableArea)
call CreateNUnitsAtLoc(1,'o00L',GetOwningPlayer(GetTriggerUnit()),udg_J,bj_UNIT_FACING)
set udg_KO[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call UnitAddAbility(bj_lastCreatedUnit,'A08S')
call SetUnitAbilityLevelSwapped('A08S',bj_lastCreatedUnit,1)
call DisplayTextToForce(RU(GetOwningPlayer(GetTriggerUnit())),"|cffffcc00Normal mana regeneration!|r")
call RemoveLocation(udg_J)
endfunction
function TY takes nothing returns nothing
set udg_J=GetRectCenter(bj_mapInitialPlayableArea)
call RemoveUnit(udg_KO[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
call CreateNUnitsAtLoc(1,'o00L',GetOwningPlayer(GetTriggerUnit()),udg_J,bj_UNIT_FACING)
set udg_KO[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call UnitAddAbility(bj_lastCreatedUnit,'A08S')
call SetUnitAbilityLevelSwapped('A08S',bj_lastCreatedUnit,2)
call DisplayTextToForce(RU(GetOwningPlayer(GetTriggerUnit())),"|cffff4040Slow mana regeneration!|r")
call RemoveLocation(udg_J)
endfunction
function UY takes nothing returns boolean
return(GetUnitStateSwap(UNIT_STATE_MANA,GetTriggerUnit())>600.)
endfunction
function WY takes nothing returns nothing
set udg_J=GetRectCenter(bj_mapInitialPlayableArea)
call RemoveUnit(udg_KO[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
call CreateNUnitsAtLoc(1,'o00L',GetOwningPlayer(GetTriggerUnit()),GetRectCenter(bj_mapInitialPlayableArea),bj_UNIT_FACING)
set udg_KO[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call UnitAddAbility(bj_lastCreatedUnit,'A08S')
call SetUnitAbilityLevelSwapped('A08S',bj_lastCreatedUnit,1)
call DisplayTextToForce(RU(GetOwningPlayer(GetTriggerUnit())),"|cffffcc00Normal mana regeneration!|r")
call RemoveLocation(udg_J)
endfunction
function YY takes nothing returns nothing
call RemoveUnit(udg_KO[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
call DisplayTextToForce(RU(GetOwningPlayer(GetTriggerUnit())),"|cff32cd32Fast mana regeneration!|r")
endfunction
function ZY takes nothing returns boolean
return(udg_DV[1]==0)or(udg_DV[2]==0)
endfunction
function VZ takes nothing returns boolean
return(ZY())
endfunction
function EZ takes nothing returns boolean
return(udg_DV[1]==0)
endfunction
function XZ takes nothing returns boolean
return(udg_DV[2]==0)
endfunction
function OZ takes nothing returns boolean
return(GetUnitTypeId(GetFilterUnit())!='h000')
endfunction
function RZ takes nothing returns nothing
call RemoveUnit(GetEnumUnit())
endfunction
function IZ takes nothing returns boolean
return(GetUnitTypeId(GetFilterUnit())=='h000')
endfunction
function AZ takes nothing returns nothing
call UnitRemoveAbility(GetEnumUnit(),'A04Q')
call UnitRemoveAbility(GetEnumUnit(),'A016')
call UnitAddAbility(GetEnumUnit(),'A016')
call UnitRemoveAbility(GetEnumUnit(),'A050')
call UnitRemoveAbility(GetEnumUnit(),'A019')
call UnitAddAbility(GetEnumUnit(),'A019')
call UnitRemoveAbility(GetEnumUnit(),'A02W')
call UnitRemoveAbility(GetEnumUnit(),'A053')
call UnitAddAbility(GetEnumUnit(),'A02W')
call UnitRemoveAbility(GetEnumUnit(),'A04Z')
call UnitRemoveAbility(GetEnumUnit(),'A01B')
call UnitAddAbility(GetEnumUnit(),'A01B')
call UnitRemoveAbility(GetEnumUnit(),'A04Y')
call UnitRemoveAbility(GetEnumUnit(),'A03W')
call UnitAddAbility(GetEnumUnit(),'A03W')
call UnitRemoveAbility(GetEnumUnit(),'A04H')
call UnitRemoveAbility(GetEnumUnit(),'A04X')
call UnitAddAbility(GetEnumUnit(),'A04H')
call UnitRemoveAbility(GetEnumUnit(),'A04S')
call UnitRemoveAbility(GetEnumUnit(),'A01F')
call UnitAddAbility(GetEnumUnit(),'A01F')
call UnitRemoveAbility(GetEnumUnit(),'A059')
call UnitRemoveAbility(GetEnumUnit(),'A02A')
call UnitAddAbility(GetEnumUnit(),'A02A')
call SetUnitManaBJ(GetEnumUnit(),50.)
call UnitResetCooldown(GetEnumUnit())
call UnitAddAbility(GetEnumUnit(),'Apiv')
endfunction
function NZ takes nothing returns nothing
call RemoveItem(GetEnumItem())
endfunction
function BZ takes nothing returns nothing
call CameraClearNoiseForPlayer(GetEnumPlayer())
call SetPlayerStateBJ(GetEnumPlayer(),PLAYER_STATE_RESOURCE_GOLD,0)
call SetPlayerStateBJ(GetEnumPlayer(),PLAYER_STATE_RESOURCE_LUMBER,0)
endfunction
function CZ takes nothing returns boolean
return(GetUnitTypeId(GetFilterUnit())!='h000')
endfunction
function DZ takes nothing returns nothing
call RemoveUnit(GetEnumUnit())
endfunction
function FZ takes nothing returns boolean
return(udg_CO)
endfunction
function GZ takes nothing returns boolean
return(udg_ME==false)
endfunction
function HZ takes nothing returns nothing
call AdjustPlayerStateBJ(250,GetEnumPlayer(),PLAYER_STATE_RESOURCE_GOLD)
endfunction
function JZ takes nothing returns nothing
set udg_U=true
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=4
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call EnableWeatherEffect(udg_YO[bj_forLoopAIndex],false)
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
call DisableTrigger(udg_HM)
set udg_GO=false
set udg_SO=false
set udg_UO=false
set udg_AO=false
set udg_CO=false
set udg_DO=false
set udg_R=0
call SetTimeOfDay(12)
set udg_ME=false
set udg_HE=false
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd='d'
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
set udg_KV[bj_forLoopAIndex]=false
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=8
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
set udg_DR[bj_forLoopAIndex]=0
set udg_FR[bj_forLoopAIndex]=0
set udg_GR[bj_forLoopAIndex]=0
set udg_HR[bj_forLoopAIndex]=0
set udg_DX[bj_forLoopAIndex]=100.
set udg_IR[bj_forLoopAIndex]=0
set udg_AR[bj_forLoopAIndex]=0
call RemoveUnit(udg_RR[bj_forLoopAIndex])
call RemoveUnit(udg_NR[bj_forLoopAIndex])
call RemoveUnit(udg_BR[bj_forLoopAIndex])
call RemoveUnit(udg_CR[bj_forLoopAIndex])
set udg_FO[bj_forLoopAIndex]=3
set udg_CX[bj_forLoopAIndex]=100.
set udg_FX[bj_forLoopAIndex]=100.
call TimerDialogDisplayForPlayerBJ(false,udg_WV[bj_forLoopAIndex],GetOwningPlayer(GetDyingUnit()))
call DestroyTimerDialog(udg_WV[bj_forLoopAIndex])
set udg_QV[bj_forLoopAIndex]=null
set udg_UV[bj_forLoopAIndex]=0
set udg_QE[bj_forLoopAIndex]=3.2
set udg_BE[bj_forLoopAIndex]=0
set udg_RE[bj_forLoopAIndex]=0
set udg_AE[bj_forLoopAIndex]=0
set udg_XE[bj_forLoopAIndex]=0
set udg_IE[bj_forLoopAIndex]=false
set udg_NE[bj_forLoopAIndex]=false
set udg_EE[bj_forLoopAIndex]=false
set udg_OE[bj_forLoopAIndex]=false
set udg_CE[bj_forLoopAIndex]=null
set udg_V[bj_forLoopAIndex]=null
call RemoveUnit(udg_CE[bj_forLoopAIndex])
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd='d'
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
set udg_TV[bj_forLoopAIndex]=false
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd='d'
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
set udg_YV[bj_forLoopAIndex]=0
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
call EnableTrigger(udg_OL)
call DisableTrigger(udg_HF)
call DisableTrigger(udg_JF)
call DisableTrigger(udg_LD)
call DisableTrigger(udg_FD)
call DisableTrigger(udg_BD)
call DisableTrigger(udg_XD)
call DisableTrigger(udg_ID)
call DisableTrigger(udg_UC)
call DisableTrigger(udg_SC)
call DisableTrigger(udg_VD)
call DisableTrigger(udg_YC)
call MultiboardDisplay(bj_lastCreatedMultiboard,false)
call PauseAllUnitsBJ(true)
call PlaySoundBJ(udg_SI)
if(EZ())then
call DisplayTimedTextToForce(bj_FORCE_ALL_PLAYERS,10.,"East Side has won! Congratulations!")
endif
if(XZ())then
call DisplayTimedTextToForce(bj_FORCE_ALL_PLAYERS,10.,"West Side has won! Congratulations!")
endif
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=8
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call RemoveUnit(udg_V[bj_forLoopAIndex])
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=8
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
set udg_PV[bj_forLoopAIndex]=0
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=12
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
set udg_FE=VU(Player(-1+(bj_forLoopAIndex)),Condition(function OZ))
call ForGroupBJ(udg_FE,function RZ)
call DestroyGroup(udg_FE)
set udg_FE=null
set udg_D[bj_forLoopAIndex]=false
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
set udg_FE=MT(bj_mapInitialPlayableArea,Condition(function IZ))
call ForGroupBJ(udg_FE,function AZ)
call DestroyGroup(udg_FE)
set udg_FE=null
call EnumItemsInRectBJ(bj_mapInitialPlayableArea,function NZ)
call PauseAllUnitsBJ(false)
call ForForce(bj_FORCE_ALL_PLAYERS,function BZ)
set udg_SE[1]=0
set udg_SE[2]=0
set udg_SE[3]=0
set udg_SE[4]=0
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=6
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
set udg_N[bj_forLoopAIndex]=0
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=8
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
set udg_CV[bj_forLoopAIndex]=0
set udg_BV[bj_forLoopAIndex]=0
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
set udg_P=0
set udg_X=0
set udg_GV=0
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=12
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
set udg_FE=VU(Player(-1+(bj_forLoopAIndex)),Condition(function CZ))
call ForGroupBJ(udg_FE,function DZ)
call DestroyGroup(udg_FE)
set udg_FE=null
set udg_D[bj_forLoopAIndex]=false
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
call TriggerSleepAction(10.)
call DialogSetMessage(udg_BO,"Game Mode")
call DialogDisplayBJ(true,udg_BO,Player(0))
loop
exitwhen(FZ())
call TriggerSleepAction(RMaxBJ(bj_WAIT_FOR_COND_MIN_INTERVAL,1))
endloop
call DialogDisplayBJ(false,udg_BO,Player(0))
call EnableTrigger(udg_GA)
call DialogSetMessage(udg_I,"Difficulty Votage")
call DialogDisplayBJ(true,udg_I,Player(0))
call TriggerSleepAction(5.)
call DialogDisplayBJ(false,udg_I,Player(0))
loop
exitwhen(GZ())
call TriggerSleepAction(RMaxBJ(bj_WAIT_FOR_COND_MIN_INTERVAL,1))
endloop
set udg_DO=true
call ForForce(bj_FORCE_ALL_PLAYERS,function HZ)
set udg_DV[1]='d'
set udg_DV[2]='d'
call MultiboardDisplay(bj_lastCreatedMultiboard,true)
call TriggerExecute(udg_DA)
call TriggerExecute(udg_FA)
call TriggerExecute(udg_VB)
call TriggerExecute(udg_EB)
call TriggerExecute(udg_ZN)
call StartTimerBJ(udg_Z,false,30.)
call CreateTimerDialogBJ(udg_Z,"Round 1 begins in")
set udg_NV[1]=bj_lastCreatedTimerDialog
call TimerDialogDisplay(bj_lastCreatedTimerDialog,false)
call TimerDialogDisplay(udg_NV[1],true)
set udg_EV[1]=false
set udg_EV[2]=false
call TriggerSleepAction(30.)
call TimerDialogDisplay(udg_NV[1],false)
call DestroyTimerDialog(udg_NV[1])
set udg_U=false
call TriggerExecute(udg_VN)
endfunction
function KZ takes nothing returns boolean
return(udg_U)
endfunction
function LZ takes nothing returns boolean
return(udg_X==40)
endfunction
function MZ takes nothing returns nothing
call AdjustPlayerStateBJ((udg_X*300),GetEnumPlayer(),PLAYER_STATE_RESOURCE_GOLD)
endfunction
function PZ takes nothing returns boolean
return(udg_X>=2)
endfunction
function QZ takes nothing returns boolean
return(udg_U)
endfunction
function SZ takes nothing returns boolean
return(udg_U)
endfunction
function TZ takes nothing returns boolean
return(udg_X>=41)
endfunction
function UZ takes nothing returns boolean
return(udg_X==41)
endfunction
function WZ takes nothing returns boolean
return(udg_U==false)
endfunction
function YZ takes nothing returns nothing
if(KZ())then
return
endif
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=2
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
set udg_ZE[bj_forLoopAIndex]=false
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
set udg_X=(udg_X+1)
call TriggerExecute(udg_EN)
call TriggerExecute(udg_XN)
if(LZ())then
call ConditionalTriggerExecute(udg_AN)
endif
if(TZ())then
set udg_X=41
else
call CreateNUnitsAtLoc(1,udg_E[udg_X],Player(15),Location(0,0),bj_UNIT_FACING)
set udg_RV=bj_lastCreatedUnit
call SetUnitInvulnerable(bj_lastCreatedUnit,true)
call PauseUnit(bj_lastCreatedUnit,true)
call SetUnitVertexColorBJ(bj_lastCreatedUnit,'d','d','d',100.)
call UnitAddAbility(bj_lastCreatedUnit,'Aloc')
call DisplayTextToForce(bj_FORCE_ALL_PLAYERS,("|cff32cd32Round "+(I2S(udg_X)+" has begun!")))
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,1,("|cff32cd32"+("Round: "+I2S(udg_X))))
if(PZ())then
call ForForce(bj_FORCE_ALL_PLAYERS,function MZ)
endif
set udg_GV=1
loop
exitwhen udg_GV>udg_P
if(QZ())then
return
endif
call CT(.5)
if(SZ())then
return
endif
call ConditionalTriggerExecute(udg_HN)
call ConditionalTriggerExecute(udg_LN)
call CT(5.)
set udg_GV=udg_GV+1
endloop
call CT(3.)
call ExplodeUnitBJ(udg_RV)
call ConditionalTriggerExecute(udg_QN)
call ConditionalTriggerExecute(udg_UN)
call CT(3.)
call ConditionalTriggerExecute(udg_SN)
call ConditionalTriggerExecute(udg_WN)
call CT(3.)
call ConditionalTriggerExecute(udg_TN)
call ConditionalTriggerExecute(udg_YN)
call CT(3.)
endif
if(UZ())then
call TriggerSleepAction(20.)
endif
if(WZ())then
call ConditionalTriggerExecute(GetTriggeringTrigger())
else
return
endif
endfunction
function ZZ takes nothing returns boolean
return(udg_X==4)or(udg_X==9)or(udg_X==15)or(udg_X==19)or(udg_X==23)or(udg_X==30)or(udg_X==36)
endfunction
function V0 takes nothing returns boolean
return(ZZ())
endfunction
function E0 takes nothing returns nothing
if(V0())then
call TriggerSleepAction(.5)
call TriggerExecute(udg_ON)
endif
endfunction
function X0 takes nothing returns boolean
return(udg_X==5)or(udg_X==10)or(udg_X==16)or(udg_X==20)or(udg_X==24)or(udg_X==31)or(udg_X==37)
endfunction
function O0 takes nothing returns boolean
return(X0())
endfunction
function R0 takes nothing returns nothing
if(O0())then
call TriggerSleepAction(.5)
call TriggerExecute(udg_RN)
endif
endfunction
function I0 takes nothing returns boolean
return(GetUnitTypeId(udg_V[bj_forLoopAIndex])=='E00O')or(GetUnitTypeId(udg_V[bj_forLoopAIndex])=='E00U')
endfunction
function A0 takes nothing returns boolean
return(I0())
endfunction
function N0 takes nothing returns boolean
return(GetUnitTypeId(udg_V[bj_forLoopAIndex])=='E00R')
endfunction
function B0 takes nothing returns boolean
return(udg_R==1)
endfunction
function C0 takes nothing returns nothing
set udg_R=(udg_R+1)
call SetTimeOfDay(24.)
if(B0())then
call TriggerExecute(udg_QA)
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=8
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
if(A0())then
call CreateNUnitsAtLoc(1,'o00Z',Player(-1+(bj_forLoopAIndex)),Location(0,0),bj_UNIT_FACING)
set udg_CE[bj_forLoopAIndex]=bj_lastCreatedUnit
endif
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=8
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
if(N0())then
call CreateNUnitsAtLoc(1,'o015',Player(-1+(bj_forLoopAIndex)),Location(0,0),bj_UNIT_FACING)
set udg_CE[bj_forLoopAIndex]=bj_lastCreatedUnit
endif
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
endif
endfunction
function D0 takes nothing returns boolean
return(udg_U==false)
endfunction
function F0 takes nothing returns boolean
return true
endfunction
function G0 takes nothing returns boolean
return(GetUnitTypeId(udg_V[bj_forLoopAIndex])=='E00U')or(GetUnitTypeId(udg_V[bj_forLoopAIndex])=='E00O')or(GetUnitTypeId(udg_V[bj_forLoopAIndex])=='E00R')
endfunction
function H0 takes nothing returns boolean
return(G0())
endfunction
function J0 takes nothing returns boolean
return(udg_R==0)
endfunction
function K0 takes nothing returns nothing
if(D0())then
set udg_R=(udg_R-1)
endif
if(J0())then
if(F0())then
call EnableWeatherEffect(udg_YO[3],false)
call EnableWeatherEffect(udg_YO[4],false)
endif
call SetTimeOfDay(12.)
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=8
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
if(H0())then
call RemoveUnit(udg_CE[bj_forLoopAIndex])
endif
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
endif
endfunction
function L0 takes nothing returns nothing
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=8
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call SetPlayerStateBJ(Player(-1+(bj_forLoopAIndex)),PLAYER_STATE_RESOURCE_FOOD_USED,R2I(GetUnitStateSwap(UNIT_STATE_MANA,udg_M[bj_forLoopAIndex])))
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
endfunction
function M0 takes nothing returns boolean
return(udg_SE[3]==0)and(udg_EV[1]==false)and(udg_SE[4]==0)and(udg_L[2])
endfunction
function P0 takes nothing returns boolean
return(udg_SE[1]==0)and(udg_EV[2]==false)and(udg_SE[2]==0)and(udg_L[1])
endfunction
function Q0 takes nothing returns boolean
return(udg_U==false)
endfunction
function S0 takes nothing returns nothing
call TriggerExecute(udg_NN)
if(M0())then
call DisplayTextToForce(bj_FORCE_ALL_PLAYERS,"Westside will lose 1 life per second.")
call TriggerExecute(udg_BN)
endif
if(P0())then
call DisplayTextToForce(bj_FORCE_ALL_PLAYERS,"Eastside will lose 1 life per second.")
call TriggerExecute(udg_CN)
endif
call TriggerSleepAction(1.)
if(Q0())then
call TriggerExecute(GetTriggeringTrigger())
endif
endfunction
function T0 takes nothing returns boolean
return(IsUnitAliveBJ(GetEnumUnit())==false)and(IsUnitType(GetEnumUnit(),UNIT_TYPE_SUMMONED)==false)and(IsUnitIllusion(GetEnumUnit())==false)
endfunction
function U0 takes nothing returns nothing
if(T0())then
call GroupRemoveUnit(udg_FE,GetEnumUnit())
endif
endfunction
function W0 takes nothing returns boolean
return(IsUnitAliveBJ(GetEnumUnit())==false)and(IsUnitType(GetEnumUnit(),UNIT_TYPE_SUMMONED)==false)and(IsUnitIllusion(GetEnumUnit())==false)
endfunction
function Y0 takes nothing returns nothing
if(W0())then
call GroupRemoveUnit(udg_FE,GetEnumUnit())
endif
endfunction
function Z0 takes nothing returns boolean
return(IsUnitAliveBJ(GetEnumUnit())==false)and(IsUnitType(GetEnumUnit(),UNIT_TYPE_SUMMONED)==false)and(IsUnitIllusion(GetEnumUnit())==false)
endfunction
function V1 takes nothing returns nothing
if(Z0())then
call GroupRemoveUnit(udg_FE,GetEnumUnit())
endif
endfunction
function E1 takes nothing returns boolean
return(IsUnitAliveBJ(GetEnumUnit())==false)and(IsUnitIllusion(GetEnumUnit())==false)and(IsUnitType(GetEnumUnit(),UNIT_TYPE_SUMMONED)==false)
endfunction
function X1 takes nothing returns nothing
if(E1())then
call GroupRemoveUnit(udg_FE,GetEnumUnit())
endif
endfunction
function O1 takes nothing returns boolean
return(udg_L[1])
endfunction
function R1 takes nothing returns boolean
return(udg_L[2])
endfunction
function I1 takes nothing returns nothing
set udg_FE=ST(udg_VI,Player(10))
call ForGroupBJ(udg_FE,function U0)
set udg_SE[1]=CountUnitsInGroup(udg_FE)
set udg_FE=ST(udg_VI,Player(11))
call ForGroupBJ(udg_FE,function Y0)
set udg_SE[2]=CountUnitsInGroup(udg_FE)
set udg_FE=ST(udg_EI,Player(8))
call ForGroupBJ(udg_FE,function V1)
set udg_SE[3]=CountUnitsInGroup(udg_FE)
set udg_FE=ST(udg_EI,Player(9))
call ForGroupBJ(udg_FE,function X1)
set udg_SE[4]=CountUnitsInGroup(udg_FE)
if(O1())then
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[3],("West Side "+(I2S(udg_SE[1])+("/"+I2S(udg_SE[2])))))
endif
if(R1())then
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[4],("East Side "+(I2S(udg_SE[3])+("/"+I2S(udg_SE[4])))))
endif
call DestroyGroup(udg_FE)
endfunction
function A1 takes nothing returns boolean
return(udg_DV[1]>0)
endfunction
function N1 takes nothing returns boolean
return(udg_U==false)
endfunction
function B1 takes nothing returns nothing
set udg_EV[1]=true
if(A1())then
set udg_DV[1]=(udg_DV[1]-1)
call ConditionalTriggerExecute(udg_ZA)
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,2,udg_FV[9],I2S(udg_DV[1]))
call TriggerSleepAction(1.)
else
set udg_U=true
endif
if(N1())then
call ConditionalTriggerExecute(GetTriggeringTrigger())
endif
endfunction
function C1 takes nothing returns boolean
return(udg_DV[2]>0)
endfunction
function D1 takes nothing returns boolean
return(udg_U==false)
endfunction
function F1 takes nothing returns nothing
set udg_EV[2]=true
if(C1())then
set udg_DV[2]=(udg_DV[2]-1)
call ConditionalTriggerExecute(udg_ZA)
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,2,udg_FV[10],I2S(udg_DV[2]))
call TriggerSleepAction(1.)
else
set udg_U=true
endif
if(D1())then
call ConditionalTriggerExecute(GetTriggeringTrigger())
endif
endfunction
function G1 takes nothing returns nothing
local unit udg_F
set udg_F=bj_lastCreatedUnit
call TriggerSleepAction(.5)
call UnitAddAbility(udg_F,'A05Y')
call IssueImmediateOrderById(udg_F,852123)
endfunction
function H1 takes nothing returns boolean
return(GetUnitCurrentOrder(GetEnumUnit())==String2OrderIdBJ("stand"))
endfunction
function J1 takes nothing returns nothing
if(H1())then
call IssuePointOrderByIdLoc(GetEnumUnit(),851983,Location(-6400.,-3072.))
endif
endfunction
function K1 takes nothing returns boolean
return(GetUnitCurrentOrder(GetEnumUnit())==String2OrderIdBJ("stand"))
endfunction
function L1 takes nothing returns nothing
if(K1())then
call IssuePointOrderByIdLoc(GetEnumUnit(),851983,Location(-6400.,-3072.))
endif
endfunction
function M1 takes nothing returns nothing
set udg_FE=QT(udg_GI)
call ForGroupBJ(udg_FE,function J1)
call DestroyGroup(udg_FE)
set udg_FE=null
set udg_FE=QT(udg_HI)
call ForGroupBJ(udg_FE,function L1)
call DestroyGroup(udg_FE)
set udg_FE=null
endfunction
function P1 takes nothing returns boolean
return(GetUnitCurrentOrder(GetEnumUnit())==String2OrderIdBJ("stand"))
endfunction
function Q1 takes nothing returns nothing
if(P1())then
call IssuePointOrderByIdLoc(GetEnumUnit(),851983,Location(6400.,-3072.))
endif
endfunction
function S1 takes nothing returns boolean
return(GetUnitCurrentOrder(GetEnumUnit())==String2OrderIdBJ("stand"))
endfunction
function T1 takes nothing returns nothing
if(S1())then
call IssuePointOrderByIdLoc(GetEnumUnit(),851983,Location(6400.,-3072.))
endif
endfunction
function U1 takes nothing returns nothing
set udg_FE=QT(udg_JI)
call ForGroupBJ(udg_FE,function Q1)
call DestroyGroup(udg_FE)
set udg_FE=null
set udg_FE=QT(udg_KI)
call ForGroupBJ(udg_FE,function T1)
call DestroyGroup(udg_FE)
set udg_FE=null
endfunction
function W1 takes nothing returns boolean
return(udg_L[1])
endfunction
function Y1 takes nothing returns boolean
return(udg_U)
endfunction
function Z1 takes nothing returns boolean
return(udg_VV==1)
endfunction
function V2 takes nothing returns boolean
return(udg_ZE[1]==false)
endfunction
function E2 takes nothing returns boolean
return(udg_XX>=1)
endfunction
function X2 takes nothing returns boolean
return(udg_XX>=1)
endfunction
function O2 takes nothing returns boolean
return(udg_U)
endfunction
function R2 takes nothing returns boolean
return(udg_XX>=1)
endfunction
function I2 takes nothing returns boolean
return(udg_XX>=1)
endfunction
function A2 takes nothing returns boolean
return(udg_U)
endfunction
function N2 takes nothing returns boolean
return(udg_XX>=1)
endfunction
function B2 takes nothing returns boolean
return(udg_XX>=1)
endfunction
function C2 takes nothing returns nothing
if(Y1())then
return
endif
if(V2())then
set udg_VV=GetRandomInt(1,2)
if(Z1())then
call TriggerExecute(udg_JN)
else
call TriggerExecute(udg_KN)
endif
endif
call CreateNUnitsAtLoc(1,GetUnitTypeId(udg_RV),Player(10),Location(-8444.,6656.),270.)
if(E2())then
call TriggerExecute(udg_DN)
endif
call IssuePointOrderByIdLoc(bj_lastCreatedUnit,851983,Location(-6400.,-3072.))
call CreateNUnitsAtLoc(1,GetUnitTypeId(udg_RV),Player(11),Location(-4352.,6656.),270.)
if(X2())then
call TriggerExecute(udg_DN)
endif
call IssuePointOrderByIdLoc(bj_lastCreatedUnit,851983,Location(-6400.,-3072.))
set udg_SE[1]=(udg_SE[1]+1)
set udg_SE[2]=(udg_SE[2]+1)
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[3],("West Side "+(I2S(udg_SE[1])+("/"+I2S(udg_SE[2])))))
call TriggerSleepAction(1.)
if(O2())then
return
endif
call CreateNUnitsAtLoc(1,GetUnitTypeId(udg_RV),Player(10),Location(-8544.,6656.),270.)
if(R2())then
call TriggerExecute(udg_DN)
endif
call IssuePointOrderByIdLoc(bj_lastCreatedUnit,851983,Location(-6400.,-3072.))
call CreateNUnitsAtLoc(1,GetUnitTypeId(udg_RV),Player(11),Location(-4452.,6656.),270.)
if(I2())then
call TriggerExecute(udg_DN)
endif
call IssuePointOrderByIdLoc(bj_lastCreatedUnit,851983,Location(-6400.,-3072.))
set udg_SE[1]=(udg_SE[1]+1)
set udg_SE[2]=(udg_SE[2]+1)
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[3],("West Side "+(I2S(udg_SE[1])+("/"+I2S(udg_SE[2])))))
call TriggerSleepAction(1.)
if(A2())then
return
endif
call CreateNUnitsAtLoc(1,GetUnitTypeId(udg_RV),Player(10),Location(-8344.,6656.),270.)
if(N2())then
call TriggerExecute(udg_DN)
endif
call IssuePointOrderByIdLoc(bj_lastCreatedUnit,851983,Location(-6400.,-3072.))
call CreateNUnitsAtLoc(1,GetUnitTypeId(udg_RV),Player(11),Location(-4252.,6656.),270.)
if(B2())then
call TriggerExecute(udg_DN)
endif
call IssuePointOrderByIdLoc(bj_lastCreatedUnit,851983,Location(-6400.,-3072.))
set udg_SE[1]=(udg_SE[1]+1)
set udg_SE[2]=(udg_SE[2]+1)
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[3],("West Side "+(I2S(udg_SE[1])+("/"+I2S(udg_SE[2])))))
endfunction
function D2 takes nothing returns boolean
return(udg_X==2)
endfunction
function F2 takes nothing returns boolean
return(udg_X==6)
endfunction
function G2 takes nothing returns boolean
return(udg_X==14)
endfunction
function H2 takes nothing returns boolean
return(udg_X==15)
endfunction
function J2 takes nothing returns boolean
return(udg_X==27)
endfunction
function K2 takes nothing returns boolean
return(udg_X==10)
endfunction
function L2 takes nothing returns nothing
set udg_J=GetRandomLocInRect(udg_TR)
call CreateNUnitsAtLoc(1,udg_VX[udg_X],Player(10),udg_J,270.)
call RemoveLocation(udg_J)
call TriggerRegisterUnitEvent(udg_SM,bj_lastCreatedUnit,EVENT_UNIT_DEATH)
if(D2())then
call ConditionalTriggerExecute(udg_ND)
endif
if(F2())then
call ConditionalTriggerExecute(udg_ED)
endif
if(G2())then
call ConditionalTriggerExecute(udg_WC)
endif
if(H2())then
call ConditionalTriggerExecute(udg_QC)
endif
if(J2())then
call TriggerRegisterUnitEvent(udg_HJ,bj_lastCreatedUnit,EVENT_UNIT_SPELL_EFFECT)
endif
if(K2())then
call IssueImmediateOrderById(bj_lastCreatedUnit,852067)
endif
set udg_ZE[1]=true
set udg_SE[1]=(udg_SE[1]+1)
call IssuePointOrderByIdLoc(bj_lastCreatedUnit,851983,Location(-6400.,-3072.))
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[3],("West Side "+(I2S(udg_SE[1])+("/"+I2S(udg_SE[2])))))
endfunction
function M2 takes nothing returns boolean
return(udg_X==2)
endfunction
function P2 takes nothing returns boolean
return(udg_X==6)
endfunction
function Q2 takes nothing returns boolean
return(udg_X==14)
endfunction
function S2 takes nothing returns boolean
return(udg_X==15)
endfunction
function T2 takes nothing returns boolean
return(udg_X==27)
endfunction
function U2 takes nothing returns boolean
return(udg_X==10)
endfunction
function W2 takes nothing returns nothing
set udg_J=GetRandomLocInRect(udg_UR)
call CreateNUnitsAtLoc(1,udg_VX[udg_X],Player(11),udg_J,270.)
call RemoveLocation(udg_J)
call TriggerRegisterUnitEvent(udg_SM,bj_lastCreatedUnit,EVENT_UNIT_DEATH)
if(M2())then
call ConditionalTriggerExecute(udg_ND)
endif
if(P2())then
call ConditionalTriggerExecute(udg_ED)
endif
if(Q2())then
call ConditionalTriggerExecute(udg_WC)
endif
if(S2())then
call ConditionalTriggerExecute(udg_QC)
endif
if(T2())then
call TriggerRegisterUnitEvent(udg_HJ,bj_lastCreatedUnit,EVENT_UNIT_SPELL_EFFECT)
endif
if(U2())then
call IssueImmediateOrderById(bj_lastCreatedUnit,852067)
endif
set udg_ZE[1]=true
set udg_SE[2]=(udg_SE[2]+1)
call IssuePointOrderByIdLoc(bj_lastCreatedUnit,851983,Location(-6400.,-3072.))
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[3],("West Side "+(I2S(udg_SE[1])+("/"+I2S(udg_SE[2])))))
endfunction
function Y2 takes nothing returns boolean
return(udg_L[2])
endfunction
function Z2 takes nothing returns boolean
return(udg_U)
endfunction
function V3 takes nothing returns boolean
return(udg_VV==1)
endfunction
function E3 takes nothing returns boolean
return(udg_ZE[2]==false)
endfunction
function X3 takes nothing returns boolean
return(udg_EX>=1)
endfunction
function O3 takes nothing returns boolean
return(udg_EX>=1)
endfunction
function R3 takes nothing returns boolean
return(udg_U)
endfunction
function I3 takes nothing returns boolean
return(udg_EX>=1)
endfunction
function A3 takes nothing returns boolean
return(udg_EX>=1)
endfunction
function N3 takes nothing returns boolean
return(udg_U)
endfunction
function B3 takes nothing returns boolean
return(udg_EX>=1)
endfunction
function C3 takes nothing returns boolean
return(udg_EX>=1)
endfunction
function D3 takes nothing returns nothing
if(Z2())then
return
endif
if(E3())then
set udg_VV=GetRandomInt(1,2)
if(V3())then
call TriggerExecute(udg_MN)
else
call TriggerExecute(udg_PN)
endif
endif
call CreateNUnitsAtLoc(1,GetUnitTypeId(udg_RV),Player(8),Location(4352.,6656.),270.)
if(X3())then
call TriggerExecute(udg_DN)
endif
call IssuePointOrderByIdLoc(bj_lastCreatedUnit,851983,Location(6400.,-3072.))
call CreateNUnitsAtLoc(1,GetUnitTypeId(udg_RV),Player(9),Location(8444.,6656.),270.)
if(O3())then
call TriggerExecute(udg_DN)
endif
call IssuePointOrderByIdLoc(bj_lastCreatedUnit,851983,Location(6400.,-3072.))
set udg_SE[3]=(udg_SE[3]+1)
set udg_SE[4]=(udg_SE[4]+1)
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[4],("East Side "+(I2S(udg_SE[3])+("/"+I2S(udg_SE[4])))))
call TriggerSleepAction(1.)
if(R3())then
return
endif
call CreateNUnitsAtLoc(1,GetUnitTypeId(udg_RV),Player(8),Location(4452.,6656.),270.)
if(I3())then
call TriggerExecute(udg_DN)
endif
call IssuePointOrderByIdLoc(bj_lastCreatedUnit,851983,Location(6400.,-3072.))
call CreateNUnitsAtLoc(1,GetUnitTypeId(udg_RV),Player(9),Location(8544.,6656.),270.)
if(A3())then
call TriggerExecute(udg_DN)
endif
call IssuePointOrderByIdLoc(bj_lastCreatedUnit,851983,Location(6400.,-3072.))
set udg_SE[3]=(udg_SE[3]+1)
set udg_SE[4]=(udg_SE[4]+1)
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[4],("East Side "+(I2S(udg_SE[3])+("/"+I2S(udg_SE[4])))))
call TriggerSleepAction(1.)
if(N3())then
return
endif
call CreateNUnitsAtLoc(1,GetUnitTypeId(udg_RV),Player(8),Location(4252.,6656.),270.)
if(B3())then
call TriggerExecute(udg_DN)
endif
call IssuePointOrderByIdLoc(bj_lastCreatedUnit,851983,Location(6400.,-3072.))
call CreateNUnitsAtLoc(1,GetUnitTypeId(udg_RV),Player(9),Location(8344.,6656.),270.)
if(C3())then
call TriggerExecute(udg_DN)
endif
call IssuePointOrderByIdLoc(bj_lastCreatedUnit,851983,Location(6400.,-3072.))
set udg_SE[3]=(udg_SE[3]+1)
set udg_SE[4]=(udg_SE[4]+1)
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[4],("East Side "+(I2S(udg_SE[3])+("/"+I2S(udg_SE[4])))))
endfunction
function F3 takes nothing returns boolean
return(udg_X==2)
endfunction
function G3 takes nothing returns boolean
return(udg_X==6)
endfunction
function H3 takes nothing returns boolean
return(udg_X==14)
endfunction
function J3 takes nothing returns boolean
return(udg_X==15)
endfunction
function K3 takes nothing returns boolean
return(udg_X==27)
endfunction
function L3 takes nothing returns boolean
return(udg_X==10)
endfunction
function M3 takes nothing returns nothing
set udg_J=GetRandomLocInRect(udg_WR)
call CreateNUnitsAtLoc(1,udg_VX[udg_X],Player(8),udg_J,270.)
call RemoveLocation(udg_J)
call TriggerRegisterUnitEvent(udg_SM,bj_lastCreatedUnit,EVENT_UNIT_DEATH)
if(F3())then
call ConditionalTriggerExecute(udg_DD)
endif
if(G3())then
call ConditionalTriggerExecute(udg_RD)
endif
if(H3())then
call ConditionalTriggerExecute(udg_ZC)
endif
if(J3())then
call ConditionalTriggerExecute(udg_TC)
endif
if(K3())then
call TriggerRegisterUnitEvent(udg_HJ,bj_lastCreatedUnit,EVENT_UNIT_SPELL_EFFECT)
endif
if(L3())then
call IssueImmediateOrderById(bj_lastCreatedUnit,852067)
endif
set udg_ZE[2]=true
set udg_SE[3]=(udg_SE[3]+1)
call IssuePointOrderByIdLoc(bj_lastCreatedUnit,851983,Location(6400.,-3072.))
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[4],("East Side "+(I2S(udg_SE[3])+("/"+I2S(udg_SE[4])))))
endfunction
function P3 takes nothing returns boolean
return(udg_X==2)
endfunction
function Q3 takes nothing returns boolean
return(udg_X==6)
endfunction
function S3 takes nothing returns boolean
return(udg_X==15)
endfunction
function T3 takes nothing returns boolean
return(udg_X==27)
endfunction
function U3 takes nothing returns boolean
return(udg_X==14)
endfunction
function W3 takes nothing returns boolean
return(udg_X==10)
endfunction
function Y3 takes nothing returns nothing
set udg_J=GetRandomLocInRect(udg_YR)
call CreateNUnitsAtLoc(1,udg_VX[udg_X],Player(9),udg_J,270.)
call RemoveLocation(udg_J)
call TriggerRegisterUnitEvent(udg_SM,bj_lastCreatedUnit,EVENT_UNIT_DEATH)
if(P3())then
call ConditionalTriggerExecute(udg_DD)
endif
if(Q3())then
call ConditionalTriggerExecute(udg_RD)
endif
if(S3())then
call ConditionalTriggerExecute(udg_TC)
endif
if(T3())then
call TriggerRegisterUnitEvent(udg_HJ,bj_lastCreatedUnit,EVENT_UNIT_SPELL_EFFECT)
endif
if(U3())then
call ConditionalTriggerExecute(udg_ZC)
endif
if(W3())then
call IssueImmediateOrderById(bj_lastCreatedUnit,852067)
endif
set udg_ZE[2]=true
set udg_SE[4]=(udg_SE[4]+1)
call IssuePointOrderByIdLoc(bj_lastCreatedUnit,851983,Location(6400.,-3072.))
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[4],("East Side "+(I2S(udg_SE[3])+("/"+I2S(udg_SE[4])))))
endfunction
function Z3 takes nothing returns boolean
return(udg_SE[1]>='d')or(udg_SE[2]>='d')
endfunction
function V4 takes nothing returns boolean
return(Z3())
endfunction
function E4 takes nothing returns nothing
call PlaySoundBJ(udg_SI)
call DisplayTimedTextToForce(bj_FORCE_ALL_PLAYERS,10.,"TRIGSTR_416")
call DisplayTimedTextToForce(bj_FORCE_ALL_PLAYERS,10.,("West Side Left Units: "+I2S(udg_SE[1])))
call DisplayTimedTextToForce(bj_FORCE_ALL_PLAYERS,10.,("West Side Right Units: "+I2S(udg_SE[2])))
endfunction
function X4 takes nothing returns boolean
return(udg_SE[1]>='x')
endfunction
function O4 takes nothing returns boolean
return(IsUnitAliveBJ(GetFilterUnit()))
endfunction
function R4 takes nothing returns nothing
call SetUnitPathing(GetEnumUnit(),false)
call SetUnitPositionLoc(GetEnumUnit(),udg_J)
endfunction
function I4 takes nothing returns nothing
call DisplayTimedTextToForce(bj_FORCE_ALL_PLAYERS,5.,"The West Side team has had 10 units teleported to the goal!")
set udg_J=GetUnitLoc(udg_GQ)
set udg_FE=NU(10,VU(Player(10),Condition(function O4)))
call ForGroupBJ(udg_FE,function R4)
call RemoveLocation(udg_J)
call DestroyGroup(udg_FE)
set udg_FE=null
endfunction
function A4 takes nothing returns boolean
return(udg_SE[2]>='x')
endfunction
function N4 takes nothing returns boolean
return(IsUnitAliveBJ(GetFilterUnit()))
endfunction
function B4 takes nothing returns nothing
call SetUnitPathing(GetEnumUnit(),false)
call SetUnitPositionLoc(GetEnumUnit(),udg_J)
endfunction
function C4 takes nothing returns nothing
call DisplayTimedTextToForce(bj_FORCE_ALL_PLAYERS,5.,"The West Side team has had 10 units teleported to the goal!")
set udg_J=GetUnitLoc(udg_GQ)
set udg_FE=NU(10,VU(Player(11),Condition(function N4)))
call ForGroupBJ(udg_FE,function B4)
call RemoveLocation(udg_J)
call DestroyGroup(udg_FE)
set udg_FE=null
endfunction
function D4 takes nothing returns boolean
return(udg_SE[3]>='d')or(udg_SE[4]>='d')
endfunction
function F4 takes nothing returns boolean
return(D4())
endfunction
function G4 takes nothing returns nothing
call PlaySoundBJ(udg_SI)
call DisplayTimedTextToForce(bj_FORCE_ALL_PLAYERS,10.,"TRIGSTR_401")
call DisplayTimedTextToForce(bj_FORCE_ALL_PLAYERS,10.,("East Side Left Units: "+I2S(udg_SE[3])))
call DisplayTimedTextToForce(bj_FORCE_ALL_PLAYERS,10.,("East Side Right Units: "+I2S(udg_SE[4])))
endfunction
function H4 takes nothing returns boolean
return(udg_SE[3]>='x')
endfunction
function J4 takes nothing returns boolean
return(IsUnitAliveBJ(GetFilterUnit()))
endfunction
function K4 takes nothing returns nothing
call SetUnitPathing(GetEnumUnit(),false)
call SetUnitPositionLoc(GetEnumUnit(),udg_J)
endfunction
function L4 takes nothing returns nothing
call DisplayTimedTextToForce(bj_FORCE_ALL_PLAYERS,5.,"The East Side team has had 10 units teleported to the goal!")
set udg_J=GetUnitLoc(udg_HQ)
set udg_FE=NU(10,VU(Player(8),Condition(function J4)))
call ForGroupBJ(udg_FE,function K4)
call RemoveLocation(udg_J)
call DestroyGroup(udg_FE)
set udg_FE=null
endfunction
function M4 takes nothing returns boolean
return(udg_SE[4]>='x')
endfunction
function P4 takes nothing returns boolean
return(IsUnitAliveBJ(GetFilterUnit()))
endfunction
function Q4 takes nothing returns nothing
call SetUnitPathing(GetEnumUnit(),false)
call SetUnitPositionLoc(GetEnumUnit(),udg_J)
endfunction
function S4 takes nothing returns nothing
call DisplayTimedTextToForce(bj_FORCE_ALL_PLAYERS,5.,"The East Side team has had 10 units teleported to the goal!")
set udg_J=GetUnitLoc(udg_HQ)
set udg_FE=NU(10,VU(Player(9),Condition(function P4)))
call ForGroupBJ(udg_FE,function Q4)
call RemoveLocation(udg_J)
call DestroyGroup(udg_FE)
set udg_FE=null
endfunction
function T4 takes nothing returns nothing
set udg_P=CountPlayersInForceBJ(udg_K[3])
set udg_P=(udg_P/2)
set udg_P=(udg_P+6)
endfunction
function U4 takes nothing returns boolean
return(udg_B=='s')
endfunction
function W4 takes nothing returns boolean
return(udg_B==130)
endfunction
function Y4 takes nothing returns boolean
return(udg_B==145)
endfunction
function Z4 takes nothing returns boolean
return(udg_B==190)
endfunction
function V5 takes nothing returns nothing
if(U4())then
set bj_forLoopAIndex=9
set bj_forLoopAIndexEnd=12
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call CreateNUnitsAtLoc(1,'o014',Player(-1+(bj_forLoopAIndex)),Location(0,0),bj_UNIT_FACING)
call UnitAddAbility(bj_lastCreatedUnit,'A05D')
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
endif
if(W4())then
set bj_forLoopAIndex=9
set bj_forLoopAIndexEnd=12
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call CreateNUnitsAtLoc(1,'o014',Player(-1+(bj_forLoopAIndex)),Location(0,0),bj_UNIT_FACING)
call UnitAddAbility(bj_lastCreatedUnit,'A05E')
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
endif
if(Y4())then
set bj_forLoopAIndex=9
set bj_forLoopAIndexEnd=12
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call CreateNUnitsAtLoc(1,'o014',Player(-1+(bj_forLoopAIndex)),Location(0,0),bj_UNIT_FACING)
call UnitAddAbility(bj_lastCreatedUnit,'A05F')
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
endif
if(Z4())then
set bj_forLoopAIndex=9
set bj_forLoopAIndexEnd=12
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call CreateNUnitsAtLoc(1,'o014',Player(-1+(bj_forLoopAIndex)),Location(0,0),bj_UNIT_FACING)
call UnitAddAbility(bj_lastCreatedUnit,'A05G')
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
endif
endfunction
function E5 takes nothing returns boolean
return(udg_DO)
endfunction
function X5 takes nothing returns boolean
return(GetUnitTypeId(GetFilterUnit())=='ncop')
endfunction
function O5 takes nothing returns nothing
call CreateNUnitsAtLoc(1,'ushd',GetEnumPlayer(),GetRectCenter(udg_ZR),bj_UNIT_FACING)
call SetUnitPositionLoc(bj_lastCreatedUnit,GetUnitLoc(GroupPickRandomUnit(MT(udg_ZR,Condition(function X5)))))
endfunction
function R5 takes nothing returns boolean
return(GetUnitTypeId(GetFilterUnit())=='ncop')
endfunction
function I5 takes nothing returns nothing
call CreateNUnitsAtLoc(1,'ushd',GetEnumPlayer(),GetRectCenter(udg_ZR),bj_UNIT_FACING)
call SetUnitPositionLoc(bj_lastCreatedUnit,GetUnitLoc(GroupPickRandomUnit(MT(udg_ZR,Condition(function R5)))))
endfunction
function A5 takes nothing returns nothing
call CreateNUnitsAtLoc(1,'ushd',GetEnumPlayer(),GetRectCenter(udg_ZR),bj_UNIT_FACING)
endfunction
function N5 takes nothing returns nothing
call CreateNUnitsAtLoc(1,'ushd',GetEnumPlayer(),GetRectCenter(udg_ZR),bj_UNIT_FACING)
endfunction
function B5 takes nothing returns boolean
return(udg_AO==false)
endfunction
function C5 takes nothing returns nothing
if(B5())then
call ForForce(udg_H[2],function A5)
call ForForce(udg_H[1],function N5)
else
loop
exitwhen(E5())
call TriggerSleepAction(RMaxBJ(bj_WAIT_FOR_COND_MIN_INTERVAL,1))
endloop
call ForForce(udg_H[1],function O5)
call ForForce(udg_H[2],function I5)
endif
endfunction
function D5 takes nothing returns nothing
local effect F5
set F5=bj_lastCreatedEffect
call CT(1.)
call DestroyEffect(F5)
endfunction
function G5 takes nothing returns nothing
local lightning udg_WE
set udg_WE=bj_lastCreatedLightning
call TriggerSleepAction(.5)
call DestroyLightning(udg_WE)
endfunction
function H5 takes nothing returns nothing
local unit udg_F
set udg_F=bj_lastCreatedUnit
call ShowUnitHide(udg_F)
call TriggerSleepAction(.66)
call ShowUnitShow(udg_F)
call UnitApplyTimedLife(udg_F,'BTLF',60)
set udg_J=GetUnitLoc(udg_F)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\MassTeleport\\MassTeleportTarget.mdl")
call ConditionalTriggerExecute(udg_XB)
call RemoveLocation(udg_J)
endfunction
function J5 takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='ushd')
endfunction
function K5 takes nothing returns boolean
return(GetUnitTypeId(GetFilterUnit())=='ncop')
endfunction
function L5 takes nothing returns nothing
set udg_D[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=true
call SetUnitPositionLoc(GetTriggerUnit(),GetRectCenter(udg_ZR))
call TriggerSleepAction(.01)
call SetUnitPositionLoc(GetTriggerUnit(),GetUnitLoc(GroupPickRandomUnit(MT(udg_ZR,Condition(function K5)))))
endfunction
function M5 takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='ushd')
endfunction
function P5 takes nothing returns boolean
return(GetUnitTypeId(GetFilterUnit())=='ncop')
endfunction
function Q5 takes nothing returns nothing
set udg_D[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=true
call SetUnitPositionLoc(GetTriggerUnit(),GetRectCenter(udg_ZR))
call TriggerSleepAction(.01)
call SetUnitPositionLoc(GetTriggerUnit(),GetUnitLoc(GroupPickRandomUnit(MT(udg_CI,Condition(function P5)))))
endfunction
function S5 takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='ushd')
endfunction
function T5 takes nothing returns boolean
return(GetUnitTypeId(GetFilterUnit())=='ncop')
endfunction
function U5 takes nothing returns nothing
set udg_D[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=true
call SetUnitPositionLoc(GetTriggerUnit(),GetRectCenter(udg_ZR))
call TriggerSleepAction(.01)
call SetUnitPositionLoc(GetTriggerUnit(),GetUnitLoc(GroupPickRandomUnit(MT(udg_FI,Condition(function T5)))))
endfunction
function W5 takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='ushd')
endfunction
function Y5 takes nothing returns boolean
return(GetUnitTypeId(GetFilterUnit())=='ncop')
endfunction
function Z5 takes nothing returns nothing
set udg_D[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=true
call SetUnitPositionLoc(GetTriggerUnit(),GetRectCenter(udg_ZR))
call TriggerSleepAction(.01)
call SetUnitPositionLoc(GetTriggerUnit(),GetUnitLoc(GroupPickRandomUnit(MT(udg_BI,Condition(function Y5)))))
endfunction
function V6 takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='ushd')
endfunction
function E6 takes nothing returns boolean
return(GetUnitTypeId(GetFilterUnit())=='ncop')
endfunction
function X6 takes nothing returns nothing
set udg_D[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=true
call SetUnitPositionLoc(GetTriggerUnit(),GetRectCenter(udg_ZR))
call TriggerSleepAction(.01)
call SetUnitPositionLoc(GetTriggerUnit(),GetUnitLoc(GroupPickRandomUnit(MT(udg_DI,Condition(function E6)))))
endfunction
function O6 takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='ushd')
endfunction
function R6 takes nothing returns boolean
return(udg_D[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endfunction
function I6 takes nothing returns boolean
return(IsUnitAlly(GetTriggerUnit(),Player(8))==false)
endfunction
function A6 takes nothing returns nothing
call CreateNUnitsAtLoc(1,'E011',GetOwningPlayer(GetTriggerUnit()),GetRectCenter(udg_G[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]),270.)
call UnitAddItemByIdSwapped('srrc',bj_lastCreatedUnit)
if(R6())then
call UnitAddItemByIdSwapped('I01I',bj_lastCreatedUnit)
endif
set udg_V[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call TriggerRegisterUnitEvent(udg_HM,udg_V[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],EVENT_UNIT_ATTACKED)
if(I6())then
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=4
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call UnitRemoveAbility(udg_M[bj_forLoopAIndex],'Apiv')
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
else
set bj_forLoopAIndex=5
set bj_forLoopAIndexEnd=8
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call UnitRemoveAbility(udg_M[bj_forLoopAIndex],'Apiv')
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
endif
set udg_J=GetUnitLoc(bj_lastCreatedUnit)
call SetUnitUserData(bj_lastCreatedUnit,-20)
call PanCameraToTimedLocForPlayer(GetOwningPlayer(GetTriggerUnit()),udg_J,.3)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call RemoveUnit(GetTriggerUnit())
endfunction
function N6 takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='ushd')
endfunction
function B6 takes nothing returns boolean
return(udg_D[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endfunction
function C6 takes nothing returns nothing
call CreateNUnitsAtLoc(1,'E00R',GetOwningPlayer(GetTriggerUnit()),GetRectCenter(udg_G[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]),270.)
call UnitAddItemByIdSwapped('srrc',bj_lastCreatedUnit)
if(B6())then
call UnitAddItemByIdSwapped('I01I',bj_lastCreatedUnit)
endif
set udg_V[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call SetUnitUserData(bj_lastCreatedUnit,5)
call TriggerRegisterUnitEvent(udg_HM,bj_lastCreatedUnit,EVENT_UNIT_ATTACKED)
call TriggerRegisterUnitEvent(udg_QF,bj_lastCreatedUnit,EVENT_UNIT_SPELL_CAST)
set udg_J=GetUnitLoc(bj_lastCreatedUnit)
call PanCameraToTimedLocForPlayer(GetOwningPlayer(GetTriggerUnit()),udg_J,.3)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call RemoveUnit(GetTriggerUnit())
endfunction
function D6 takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='ushd')
endfunction
function F6 takes nothing returns boolean
return(udg_D[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endfunction
function G6 takes nothing returns nothing
call CreateNUnitsAtLoc(1,'o01B',GetOwningPlayer(GetTriggerUnit()),Location(0,0),bj_UNIT_FACING)
set udg_RR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call CreateNUnitsAtLoc(1,'o01C',GetOwningPlayer(GetTriggerUnit()),Location(0,0),bj_UNIT_FACING)
set udg_NR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call CreateNUnitsAtLoc(1,'o01D',GetOwningPlayer(GetTriggerUnit()),Location(0,0),bj_UNIT_FACING)
set udg_BR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call CreateNUnitsAtLoc(1,'o01E',GetOwningPlayer(GetTriggerUnit()),Location(0,0),bj_UNIT_FACING)
set udg_CR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call CreateNUnitsAtLoc(1,'O016',GetOwningPlayer(GetTriggerUnit()),GetRectCenter(udg_G[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]),270.)
call UnitAddItemByIdSwapped('srrc',bj_lastCreatedUnit)
if(F6())then
call UnitAddItemByIdSwapped('I01I',bj_lastCreatedUnit)
endif
set udg_V[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call SetUnitUserData(bj_lastCreatedUnit,5)
call TriggerRegisterUnitEvent(udg_HM,bj_lastCreatedUnit,EVENT_UNIT_ATTACKED)
call TriggerRegisterUnitEvent(udg_DJ,bj_lastCreatedUnit,EVENT_UNIT_SPELL_ENDCAST)
call TriggerRegisterUnitEvent(udg_BJ,bj_lastCreatedUnit,EVENT_UNIT_HERO_SKILL)
call TriggerRegisterUnitEvent(udg_CJ,bj_lastCreatedUnit,EVENT_UNIT_SPELL_ENDCAST)
call TriggerRegisterUnitEvent(udg_GJ,bj_lastCreatedUnit,EVENT_UNIT_SPELL_EFFECT)
call TriggerRegisterUnitEvent(udg_FJ,bj_lastCreatedUnit,EVENT_UNIT_SPELL_EFFECT)
set udg_J=GetUnitLoc(bj_lastCreatedUnit)
call PanCameraToTimedLocForPlayer(GetOwningPlayer(GetTriggerUnit()),udg_J,.3)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call RemoveUnit(GetTriggerUnit())
endfunction
function H6 takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='ushd')
endfunction
function J6 takes nothing returns boolean
return(udg_D[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endfunction
function K6 takes nothing returns nothing
call CreateNUnitsAtLoc(1,'E00U',GetOwningPlayer(GetTriggerUnit()),GetRectCenter(udg_G[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]),270.)
call UnitAddItemByIdSwapped('srrc',bj_lastCreatedUnit)
if(J6())then
call UnitAddItemByIdSwapped('I01I',bj_lastCreatedUnit)
endif
set udg_V[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call SetUnitUserData(bj_lastCreatedUnit,15)
call TriggerRegisterUnitEvent(udg_HM,bj_lastCreatedUnit,EVENT_UNIT_ATTACKED)
call TriggerRegisterUnitEvent(udg_IF,bj_lastCreatedUnit,EVENT_UNIT_SPELL_CAST)
call TriggerRegisterUnitEvent(udg_OF,bj_lastCreatedUnit,EVENT_UNIT_SPELL_CAST)
call TriggerRegisterUnitEvent(udg_RF,bj_lastCreatedUnit,EVENT_UNIT_SPELL_CAST)
set udg_J=GetUnitLoc(bj_lastCreatedUnit)
call PanCameraToTimedLocForPlayer(GetOwningPlayer(GetTriggerUnit()),udg_J,.3)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call RemoveUnit(GetTriggerUnit())
endfunction
function L6 takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='ushd')
endfunction
function M6 takes nothing returns boolean
return(udg_D[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endfunction
function P6 takes nothing returns nothing
call CreateNUnitsAtLoc(1,'E00S',GetOwningPlayer(GetTriggerUnit()),GetRectCenter(udg_G[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]),270.)
call UnitAddItemByIdSwapped('srrc',bj_lastCreatedUnit)
if(M6())then
call UnitAddItemByIdSwapped('I01I',bj_lastCreatedUnit)
endif
set udg_V[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call SetUnitUserData(bj_lastCreatedUnit,0)
call TriggerRegisterUnitEvent(udg_HM,bj_lastCreatedUnit,EVENT_UNIT_ATTACKED)
set udg_J=GetUnitLoc(bj_lastCreatedUnit)
call PanCameraToTimedLocForPlayer(GetOwningPlayer(GetTriggerUnit()),udg_J,.3)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call RemoveUnit(GetTriggerUnit())
endfunction
function Q6 takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='ushd')
endfunction
function S6 takes nothing returns boolean
return(udg_D[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endfunction
function T6 takes nothing returns boolean
return(IsUnitAlly(GetTriggerUnit(),Player(8))==false)
endfunction
function U6 takes nothing returns nothing
call CreateNUnitsAtLoc(1,'E00Y',GetOwningPlayer(GetTriggerUnit()),GetRectCenter(udg_G[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]),270.)
call UnitAddItemByIdSwapped('srrc',bj_lastCreatedUnit)
if(S6())then
call UnitAddItemByIdSwapped('I01I',bj_lastCreatedUnit)
endif
set udg_V[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
if(T6())then
call EnableTrigger(udg_HF)
else
call EnableTrigger(udg_JF)
endif
call SetUnitUserData(bj_lastCreatedUnit,30)
call TriggerRegisterUnitEvent(udg_HM,bj_lastCreatedUnit,EVENT_UNIT_ATTACKED)
call TriggerRegisterUnitEvent(udg_GF,bj_lastCreatedUnit,EVENT_UNIT_SPELL_CAST)
set udg_J=GetUnitLoc(bj_lastCreatedUnit)
call PanCameraToTimedLocForPlayer(GetOwningPlayer(GetTriggerUnit()),udg_J,.3)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call RemoveUnit(GetTriggerUnit())
endfunction
function W6 takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='ushd')
endfunction
function Y6 takes nothing returns boolean
return(udg_D[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endfunction
function Z6 takes nothing returns nothing
call CreateNUnitsAtLoc(1,'U00F',GetOwningPlayer(GetTriggerUnit()),GetRectCenter(udg_G[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]),270.)
call UnitAddItemByIdSwapped('srrc',bj_lastCreatedUnit)
if(Y6())then
call UnitAddItemByIdSwapped('I01I',bj_lastCreatedUnit)
endif
set udg_V[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call SetUnitUserData(bj_lastCreatedUnit,0)
call TriggerRegisterUnitEvent(udg_PD,bj_lastCreatedUnit,EVENT_UNIT_HERO_SKILL)
call TriggerRegisterUnitEvent(udg_HM,bj_lastCreatedUnit,EVENT_UNIT_ATTACKED)
set udg_J=GetUnitLoc(bj_lastCreatedUnit)
call PanCameraToTimedLocForPlayer(GetOwningPlayer(GetTriggerUnit()),udg_J,.3)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call RemoveUnit(GetTriggerUnit())
endfunction
function V7 takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='ushd')
endfunction
function E7 takes nothing returns boolean
return(udg_D[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endfunction
function X7 takes nothing returns nothing
call CreateNUnitsAtLoc(1,'H001',GetOwningPlayer(GetTriggerUnit()),GetRectCenter(udg_G[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]),270.)
call UnitAddItemByIdSwapped('srrc',bj_lastCreatedUnit)
if(E7())then
call UnitAddItemByIdSwapped('I01I',bj_lastCreatedUnit)
endif
set udg_V[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call SetUnitUserData(bj_lastCreatedUnit,21)
call TriggerRegisterUnitEvent(udg_HM,bj_lastCreatedUnit,EVENT_UNIT_ATTACKED)
call TriggerRegisterUnitEvent(udg_DF,bj_lastCreatedUnit,EVENT_UNIT_SPELL_CAST)
set udg_J=GetUnitLoc(bj_lastCreatedUnit)
call PanCameraToTimedLocForPlayer(GetOwningPlayer(GetTriggerUnit()),udg_J,.3)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call RemoveUnit(GetTriggerUnit())
endfunction
function O7 takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='ushd')
endfunction
function R7 takes nothing returns boolean
return(udg_D[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endfunction
function I7 takes nothing returns nothing
call CreateNUnitsAtLoc(1,'E00E',GetOwningPlayer(GetTriggerUnit()),GetRectCenter(udg_G[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]),270.)
call UnitAddItemByIdSwapped('srrc',bj_lastCreatedUnit)
if(R7())then
call UnitAddItemByIdSwapped('I01I',bj_lastCreatedUnit)
endif
set udg_V[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call SetUnitUserData(bj_lastCreatedUnit,5)
call TriggerRegisterUnitEvent(udg_HG,bj_lastCreatedUnit,EVENT_UNIT_SPELL_CAST)
call TriggerRegisterUnitEvent(udg_HM,bj_lastCreatedUnit,EVENT_UNIT_ATTACKED)
call TriggerRegisterUnitEvent(udg_LG,bj_lastCreatedUnit,EVENT_UNIT_SPELL_ENDCAST)
call TriggerRegisterUnitEvent(udg_AG,bj_lastCreatedUnit,EVENT_UNIT_SPELL_EFFECT)
set udg_J=GetUnitLoc(bj_lastCreatedUnit)
call PanCameraToTimedLocForPlayer(GetOwningPlayer(GetTriggerUnit()),udg_J,.3)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call RemoveUnit(GetTriggerUnit())
endfunction
function A7 takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='ushd')
endfunction
function N7 takes nothing returns boolean
return(udg_D[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endfunction
function B7 takes nothing returns nothing
call CreateNUnitsAtLoc(1,'E00Q',GetOwningPlayer(GetTriggerUnit()),GetRectCenter(udg_G[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]),270.)
call UnitAddItemByIdSwapped('srrc',bj_lastCreatedUnit)
if(N7())then
call UnitAddItemByIdSwapped('I01I',bj_lastCreatedUnit)
endif
set udg_V[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call SetUnitUserData(bj_lastCreatedUnit,-10)
call TriggerRegisterUnitEvent(udg_HM,bj_lastCreatedUnit,EVENT_UNIT_ATTACKED)
call TriggerRegisterUnitEvent(udg_FF,bj_lastCreatedUnit,EVENT_UNIT_SPELL_ENDCAST)
call TriggerRegisterUnitEvent(udg_CF,bj_lastCreatedUnit,EVENT_UNIT_SPELL_CAST)
set udg_J=GetUnitLoc(bj_lastCreatedUnit)
call PanCameraToTimedLocForPlayer(GetOwningPlayer(GetTriggerUnit()),udg_J,.3)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call RemoveUnit(GetTriggerUnit())
endfunction
function C7 takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='ushd')
endfunction
function D7 takes nothing returns boolean
return(udg_D[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endfunction
function F7 takes nothing returns nothing
call CreateNUnitsAtLoc(1,'E010',GetOwningPlayer(GetTriggerUnit()),GetRectCenter(udg_G[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]),270.)
call UnitAddItemByIdSwapped('srrc',bj_lastCreatedUnit)
if(D7())then
call UnitAddItemByIdSwapped('I01I',bj_lastCreatedUnit)
endif
set udg_V[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call SetUnitUserData(bj_lastCreatedUnit,-10)
call TriggerRegisterUnitEvent(udg_UL,bj_lastCreatedUnit,EVENT_UNIT_SPELL_CAST)
call TriggerRegisterUnitEvent(udg_BF,bj_lastCreatedUnit,EVENT_UNIT_SPELL_CAST)
call TriggerRegisterUnitEvent(udg_YG,bj_lastCreatedUnit,EVENT_UNIT_SPELL_CAST)
call TriggerRegisterUnitEvent(udg_HM,bj_lastCreatedUnit,EVENT_UNIT_ATTACKED)
call TriggerRegisterUnitEvent(udg_UG,bj_lastCreatedUnit,EVENT_UNIT_SPELL_CAST)
set udg_J=GetUnitLoc(bj_lastCreatedUnit)
call PanCameraToTimedLocForPlayer(GetOwningPlayer(GetTriggerUnit()),udg_J,.3)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call RemoveUnit(GetTriggerUnit())
endfunction
function G7 takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='ushd')
endfunction
function H7 takes nothing returns boolean
return(udg_D[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endfunction
function J7 takes nothing returns nothing
call CreateNUnitsAtLoc(1,'E00O',GetOwningPlayer(GetTriggerUnit()),GetRectCenter(udg_G[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]),270.)
call UnitAddItemByIdSwapped('srrc',bj_lastCreatedUnit)
if(H7())then
call UnitAddItemByIdSwapped('I01I',bj_lastCreatedUnit)
endif
set udg_V[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call SetUnitUserData(bj_lastCreatedUnit,20)
call TriggerRegisterUnitEvent(udg_HM,bj_lastCreatedUnit,EVENT_UNIT_ATTACKED)
call TriggerRegisterUnitEvent(udg_MD,bj_lastCreatedUnit,EVENT_UNIT_DAMAGED)
set udg_J=GetUnitLoc(bj_lastCreatedUnit)
call PanCameraToTimedLocForPlayer(GetOwningPlayer(GetTriggerUnit()),udg_J,.3)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call RemoveUnit(GetTriggerUnit())
endfunction
function K7 takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='ushd')
endfunction
function L7 takes nothing returns boolean
return(udg_D[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endfunction
function M7 takes nothing returns nothing
call CreateNUnitsAtLoc(1,'U000',GetOwningPlayer(GetTriggerUnit()),GetRectCenter(udg_G[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]),270.)
call UnitAddItemByIdSwapped('srrc',bj_lastCreatedUnit)
if(L7())then
call UnitAddItemByIdSwapped('I01I',bj_lastCreatedUnit)
endif
set udg_V[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call SetUnitUserData(bj_lastCreatedUnit,0)
call TriggerRegisterUnitEvent(udg_MF,bj_lastCreatedUnit,EVENT_UNIT_HERO_SKILL)
call TriggerRegisterUnitEvent(udg_HM,bj_lastCreatedUnit,EVENT_UNIT_ATTACKED)
set udg_J=GetUnitLoc(bj_lastCreatedUnit)
call PanCameraToTimedLocForPlayer(GetOwningPlayer(GetTriggerUnit()),udg_J,.3)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call RemoveUnit(GetTriggerUnit())
endfunction
function P7 takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='ushd')
endfunction
function Q7 takes nothing returns boolean
return(udg_D[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endfunction
function S7 takes nothing returns nothing
call CreateNUnitsAtLoc(1,'E00G',GetOwningPlayer(GetTriggerUnit()),GetRectCenter(udg_G[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]),270.)
call UnitAddItemByIdSwapped('srrc',bj_lastCreatedUnit)
if(Q7())then
call UnitAddItemByIdSwapped('I01I',bj_lastCreatedUnit)
endif
set udg_V[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call SetUnitUserData(bj_lastCreatedUnit,0)
call TriggerRegisterUnitEvent(udg_TF,bj_lastCreatedUnit,EVENT_UNIT_SPELL_ENDCAST)
call TriggerRegisterUnitEvent(udg_AL,bj_lastCreatedUnit,EVENT_UNIT_SPELL_EFFECT)
call TriggerRegisterUnitEvent(udg_QD,bj_lastCreatedUnit,EVENT_UNIT_SPELL_CAST)
call TriggerRegisterUnitEvent(udg_HM,bj_lastCreatedUnit,EVENT_UNIT_ATTACKED)
set udg_J=GetUnitLoc(bj_lastCreatedUnit)
call PanCameraToTimedLocForPlayer(GetOwningPlayer(GetTriggerUnit()),udg_J,.3)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call RemoveUnit(GetTriggerUnit())
endfunction
function T7 takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='ushd')
endfunction
function U7 takes nothing returns boolean
return(udg_D[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endfunction
function W7 takes nothing returns nothing
call CreateNUnitsAtLoc(1,'E002',GetOwningPlayer(GetTriggerUnit()),GetRectCenter(udg_G[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]),270.)
call UnitAddItemByIdSwapped('srrc',bj_lastCreatedUnit)
if(U7())then
call UnitAddItemByIdSwapped('I01I',bj_lastCreatedUnit)
endif
set udg_V[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call SetUnitUserData(bj_lastCreatedUnit,0)
call TriggerRegisterUnitEvent(udg_XG,bj_lastCreatedUnit,EVENT_UNIT_SPELL_EFFECT)
call TriggerRegisterUnitEvent(udg_HM,bj_lastCreatedUnit,EVENT_UNIT_ATTACKED)
set udg_J=GetUnitLoc(bj_lastCreatedUnit)
call PanCameraToTimedLocForPlayer(GetOwningPlayer(GetTriggerUnit()),udg_J,.3)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call RemoveUnit(GetTriggerUnit())
endfunction
function Y7 takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='ushd')
endfunction
function Z7 takes nothing returns boolean
return(udg_D[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endfunction
function V8 takes nothing returns nothing
call CreateNUnitsAtLoc(1,'E00L',GetOwningPlayer(GetTriggerUnit()),GetRectCenter(udg_G[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]),270.)
call UnitAddItemByIdSwapped('srrc',bj_lastCreatedUnit)
if(Z7())then
call UnitAddItemByIdSwapped('I01I',bj_lastCreatedUnit)
endif
set udg_V[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call SetUnitUserData(bj_lastCreatedUnit,-10)
call TriggerRegisterUnitEvent(udg_BG,bj_lastCreatedUnit,EVENT_UNIT_SPELL_EFFECT)
call TriggerRegisterUnitEvent(udg_HM,bj_lastCreatedUnit,EVENT_UNIT_ATTACKED)
set udg_J=GetUnitLoc(bj_lastCreatedUnit)
call PanCameraToTimedLocForPlayer(GetOwningPlayer(GetTriggerUnit()),udg_J,.3)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call RemoveUnit(GetTriggerUnit())
endfunction
function E8 takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='ushd')
endfunction
function X8 takes nothing returns boolean
return(udg_D[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endfunction
function O8 takes nothing returns nothing
call CreateNUnitsAtLoc(1,'E00M',GetOwningPlayer(GetTriggerUnit()),GetRectCenter(udg_G[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]),270.)
call UnitAddItemByIdSwapped('srrc',bj_lastCreatedUnit)
if(X8())then
call UnitAddItemByIdSwapped('I01I',bj_lastCreatedUnit)
endif
set udg_V[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call SetUnitUserData(bj_lastCreatedUnit,-10)
call TriggerRegisterUnitEvent(udg_DG,bj_lastCreatedUnit,EVENT_UNIT_SPELL_EFFECT)
call TriggerRegisterUnitEvent(udg_YF,bj_lastCreatedUnit,EVENT_UNIT_SPELL_EFFECT)
call TriggerRegisterUnitEvent(udg_HM,bj_lastCreatedUnit,EVENT_UNIT_ATTACKED)
set udg_J=GetUnitLoc(bj_lastCreatedUnit)
call PanCameraToTimedLocForPlayer(GetOwningPlayer(GetTriggerUnit()),udg_J,.3)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call RemoveUnit(GetTriggerUnit())
endfunction
function R8 takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='ushd')
endfunction
function I8 takes nothing returns boolean
return(udg_D[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endfunction
function A8 takes nothing returns nothing
call CreateNUnitsAtLoc(1,'E003',GetOwningPlayer(GetTriggerUnit()),GetRectCenter(udg_G[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]),270.)
call UnitAddItemByIdSwapped('srrc',bj_lastCreatedUnit)
if(I8())then
call UnitAddItemByIdSwapped('I01I',bj_lastCreatedUnit)
endif
set udg_V[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call SetUnitUserData(bj_lastCreatedUnit,-15)
call TriggerRegisterUnitEvent(udg_HM,bj_lastCreatedUnit,EVENT_UNIT_ATTACKED)
call TriggerRegisterUnitEvent(udg_EL,bj_lastCreatedUnit,EVENT_UNIT_SPELL_CAST)
call TriggerRegisterUnitEvent(udg_UD,bj_lastCreatedUnit,EVENT_UNIT_SPELL_CAST)
set udg_J=GetUnitLoc(bj_lastCreatedUnit)
call PanCameraToTimedLocForPlayer(GetOwningPlayer(GetTriggerUnit()),udg_J,.3)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call RemoveUnit(GetTriggerUnit())
endfunction
function N8 takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='ushd')
endfunction
function B8 takes nothing returns boolean
return(udg_D[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endfunction
function C8 takes nothing returns nothing
call CreateNUnitsAtLoc(1,'E006',GetOwningPlayer(GetTriggerUnit()),GetRectCenter(udg_G[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]),270.)
call UnitAddItemByIdSwapped('srrc',bj_lastCreatedUnit)
if(B8())then
call UnitAddItemByIdSwapped('I01I',bj_lastCreatedUnit)
endif
set udg_V[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call SetUnitUserData(bj_lastCreatedUnit,10)
call TriggerRegisterUnitEvent(udg_SF,bj_lastCreatedUnit,EVENT_UNIT_SPELL_EFFECT)
call TriggerRegisterUnitEvent(udg_HM,bj_lastCreatedUnit,EVENT_UNIT_ATTACKED)
set udg_J=GetUnitLoc(bj_lastCreatedUnit)
call PanCameraToTimedLocForPlayer(GetOwningPlayer(GetTriggerUnit()),udg_J,.3)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call RemoveUnit(GetTriggerUnit())
endfunction
function D8 takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='ushd')
endfunction
function F8 takes nothing returns boolean
return(udg_D[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endfunction
function G8 takes nothing returns nothing
call CreateNUnitsAtLoc(1,'E000',GetOwningPlayer(GetTriggerUnit()),GetRectCenter(udg_G[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]),270.)
call UnitAddItemByIdSwapped('srrc',bj_lastCreatedUnit)
if(F8())then
call UnitAddItemByIdSwapped('I01I',bj_lastCreatedUnit)
endif
set udg_V[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call SetUnitUserData(bj_lastCreatedUnit,0)
call TriggerRegisterUnitEvent(udg_HM,bj_lastCreatedUnit,EVENT_UNIT_ATTACKED)
call TriggerRegisterUnitEvent(udg_PF,bj_lastCreatedUnit,EVENT_UNIT_SPELL_CAST)
call TriggerRegisterUnitEvent(udg_UF,bj_lastCreatedUnit,EVENT_UNIT_SPELL_EFFECT)
set udg_J=GetUnitLoc(bj_lastCreatedUnit)
call PanCameraToTimedLocForPlayer(GetOwningPlayer(GetTriggerUnit()),udg_J,.3)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call RemoveUnit(GetTriggerUnit())
endfunction
function H8 takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='ushd')
endfunction
function J8 takes nothing returns boolean
return(udg_D[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endfunction
function K8 takes nothing returns nothing
call CreateNUnitsAtLoc(1,'E007',GetOwningPlayer(GetTriggerUnit()),GetRectCenter(udg_G[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]),270.)
call UnitAddItemByIdSwapped('srrc',bj_lastCreatedUnit)
if(J8())then
call UnitAddItemByIdSwapped('I01I',bj_lastCreatedUnit)
endif
set udg_V[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call SetUnitUserData(bj_lastCreatedUnit,-10)
call TriggerRegisterUnitEvent(udg_HM,bj_lastCreatedUnit,EVENT_UNIT_ATTACKED)
call TriggerRegisterUnitEvent(udg_VF,bj_lastCreatedUnit,EVENT_UNIT_SPELL_CAST)
call TriggerRegisterUnitEvent(udg_EF,bj_lastCreatedUnit,EVENT_UNIT_SPELL_ENDCAST)
call TriggerRegisterUnitEvent(udg_ZD,bj_lastCreatedUnit,EVENT_UNIT_SPELL_CAST)
call TriggerRegisterUnitEvent(udg_OL,bj_lastCreatedUnit,EVENT_UNIT_SPELL_CAST)
set udg_J=GetUnitLoc(bj_lastCreatedUnit)
call PanCameraToTimedLocForPlayer(GetOwningPlayer(GetTriggerUnit()),udg_J,.3)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call RemoveUnit(GetTriggerUnit())
endfunction
function L8 takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='ushd')
endfunction
function M8 takes nothing returns boolean
return(udg_D[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endfunction
function P8 takes nothing returns nothing
call CreateNUnitsAtLoc(1,'E004',GetOwningPlayer(GetTriggerUnit()),GetRectCenter(udg_G[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]),270.)
call UnitAddItemByIdSwapped('srrc',bj_lastCreatedUnit)
if(M8())then
call UnitAddItemByIdSwapped('I01I',bj_lastCreatedUnit)
endif
set udg_V[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call SetUnitUserData(bj_lastCreatedUnit,-20)
call TriggerRegisterUnitEvent(udg_HM,bj_lastCreatedUnit,EVENT_UNIT_ATTACKED)
call TriggerRegisterUnitEvent(udg_XL,bj_lastCreatedUnit,EVENT_UNIT_SPELL_EFFECT)
call TriggerRegisterUnitEvent(udg_YD,bj_lastCreatedUnit,EVENT_UNIT_SPELL_CAST)
call TriggerRegisterUnitEvent(udg_SD,bj_lastCreatedUnit,EVENT_UNIT_SPELL_CAST)
set udg_J=GetUnitLoc(bj_lastCreatedUnit)
call PanCameraToTimedLocForPlayer(GetOwningPlayer(GetTriggerUnit()),udg_J,.3)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call RemoveUnit(GetTriggerUnit())
endfunction
function Q8 takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='ushd')
endfunction
function S8 takes nothing returns boolean
return(udg_D[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endfunction
function T8 takes nothing returns nothing
call CreateNUnitsAtLoc(1,'E00K',GetOwningPlayer(GetTriggerUnit()),GetRectCenter(udg_G[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]),270.)
call UnitAddItemByIdSwapped('srrc',bj_lastCreatedUnit)
if(S8())then
call UnitAddItemByIdSwapped('I01I',bj_lastCreatedUnit)
endif
set udg_V[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call SetUnitUserData(bj_lastCreatedUnit,50)
call TriggerRegisterUnitEvent(udg_PG,bj_lastCreatedUnit,EVENT_UNIT_SPELL_CAST)
call TriggerRegisterUnitEvent(udg_QG,bj_lastCreatedUnit,EVENT_UNIT_SPELL_ENDCAST)
call TriggerRegisterUnitEvent(udg_AF,bj_lastCreatedUnit,EVENT_UNIT_SPELL_CAST)
call TriggerRegisterUnitEvent(udg_HM,bj_lastCreatedUnit,EVENT_UNIT_ATTACKED)
set udg_J=GetUnitLoc(bj_lastCreatedUnit)
call PanCameraToTimedLocForPlayer(GetOwningPlayer(GetTriggerUnit()),udg_J,.3)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call RemoveUnit(GetTriggerUnit())
endfunction
function U8 takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='ushd')
endfunction
function W8 takes nothing returns boolean
return(udg_D[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endfunction
function Y8 takes nothing returns nothing
call CreateNUnitsAtLoc(1,'E00A',GetOwningPlayer(GetTriggerUnit()),GetRectCenter(udg_G[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]),270.)
call UnitAddItemByIdSwapped('srrc',bj_lastCreatedUnit)
if(W8())then
call UnitAddItemByIdSwapped('I01I',bj_lastCreatedUnit)
endif
set udg_V[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call SetUnitUserData(bj_lastCreatedUnit,10)
set udg_QV[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call TriggerRegisterUnitEvent(udg_OG,bj_lastCreatedUnit,EVENT_UNIT_SPELL_EFFECT)
call TriggerRegisterUnitEvent(udg_JD,bj_lastCreatedUnit,EVENT_UNIT_SPELL_CAST)
call TriggerRegisterUnitEvent(udg_KD,bj_lastCreatedUnit,EVENT_UNIT_SPELL_ENDCAST)
call TriggerRegisterUnitEvent(udg_HM,bj_lastCreatedUnit,EVENT_UNIT_ATTACKED)
call TriggerRegisterUnitEvent(udg_TG,bj_lastCreatedUnit,EVENT_UNIT_SPELL_EFFECT)
set udg_J=GetUnitLoc(bj_lastCreatedUnit)
call PanCameraToTimedLocForPlayer(GetOwningPlayer(GetTriggerUnit()),udg_J,.3)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call RemoveUnit(GetTriggerUnit())
endfunction
function Z8 takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='ushd')
endfunction
function VVV takes nothing returns boolean
return(udg_D[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endfunction
function VEV takes nothing returns nothing
call CreateNUnitsAtLoc(1,'E00B',GetOwningPlayer(GetTriggerUnit()),GetRectCenter(udg_G[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]),270.)
call UnitAddItemByIdSwapped('srrc',bj_lastCreatedUnit)
if(VVV())then
call UnitAddItemByIdSwapped('I01I',bj_lastCreatedUnit)
endif
set udg_V[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call SetUnitUserData(bj_lastCreatedUnit,-10)
call TriggerRegisterUnitEvent(udg_SG,bj_lastCreatedUnit,EVENT_UNIT_SPELL_EFFECT)
call TriggerRegisterUnitEvent(udg_HM,bj_lastCreatedUnit,EVENT_UNIT_ATTACKED)
call TriggerRegisterUnitEvent(udg_WF,bj_lastCreatedUnit,EVENT_UNIT_SPELL_EFFECT)
set udg_J=GetUnitLoc(bj_lastCreatedUnit)
call PanCameraToTimedLocForPlayer(GetOwningPlayer(GetTriggerUnit()),udg_J,.3)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call RemoveUnit(GetTriggerUnit())
endfunction
function VXV takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='ushd')
endfunction
function VOV takes nothing returns boolean
return(udg_D[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endfunction
function VRV takes nothing returns nothing
call CreateNUnitsAtLoc(1,'E00C',GetOwningPlayer(GetTriggerUnit()),GetRectCenter(udg_G[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]),270.)
call UnitAddItemByIdSwapped('srrc',bj_lastCreatedUnit)
if(VOV())then
call UnitAddItemByIdSwapped('I01I',bj_lastCreatedUnit)
endif
set udg_V[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call SetUnitUserData(bj_lastCreatedUnit,10)
call EnableTrigger(udg_VH)
call TriggerRegisterUnitEvent(udg_HM,bj_lastCreatedUnit,EVENT_UNIT_ATTACKED)
call TriggerRegisterUnitEvent(udg_WG,bj_lastCreatedUnit,EVENT_UNIT_SPELL_EFFECT)
call TriggerRegisterUnitEvent(udg_EH,bj_lastCreatedUnit,EVENT_UNIT_SPELL_EFFECT)
call TriggerRegisterPlayerUnitEventSimple(udg_VG,GetOwningPlayer(GetTriggerUnit()),EVENT_PLAYER_UNIT_SPELL_EFFECT)
set udg_J=GetUnitLoc(bj_lastCreatedUnit)
call PanCameraToTimedLocForPlayer(GetOwningPlayer(GetTriggerUnit()),udg_J,.3)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call RemoveUnit(GetTriggerUnit())
endfunction
function VIV takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='ushd')
endfunction
function VAV takes nothing returns boolean
return(udg_D[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endfunction
function VNV takes nothing returns nothing
call CreateNUnitsAtLoc(1,'E008',GetOwningPlayer(GetTriggerUnit()),GetRectCenter(udg_G[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]),270.)
call UnitAddItemByIdSwapped('srrc',bj_lastCreatedUnit)
if(VAV())then
call UnitAddItemByIdSwapped('I01I',bj_lastCreatedUnit)
endif
set udg_V[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call SetUnitUserData(bj_lastCreatedUnit,20)
call TriggerRegisterUnitEvent(udg_HM,bj_lastCreatedUnit,EVENT_UNIT_ATTACKED)
set udg_J=GetUnitLoc(bj_lastCreatedUnit)
call PanCameraToTimedLocForPlayer(GetOwningPlayer(GetTriggerUnit()),udg_J,.3)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call RemoveUnit(GetTriggerUnit())
endfunction
function VBV takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='ushd')
endfunction
function VCV takes nothing returns boolean
return(udg_D[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endfunction
function VDV takes nothing returns nothing
call CreateNUnitsAtLoc(1,'N028',GetOwningPlayer(GetTriggerUnit()),GetRectCenter(udg_G[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]),270.)
call UnitAddItemByIdSwapped('srrc',bj_lastCreatedUnit)
if(VCV())then
call UnitAddItemByIdSwapped('I01I',bj_lastCreatedUnit)
endif
set udg_V[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call SetUnitUserData(bj_lastCreatedUnit,20)
call TriggerRegisterUnitEvent(udg_HM,bj_lastCreatedUnit,EVENT_UNIT_ATTACKED)
set udg_J=GetUnitLoc(bj_lastCreatedUnit)
call PanCameraToTimedLocForPlayer(GetOwningPlayer(GetTriggerUnit()),udg_J,.3)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call RemoveUnit(GetTriggerUnit())
endfunction
function VFV takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='ushd')
endfunction
function VGV takes nothing returns boolean
return(udg_D[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endfunction
function VHV takes nothing returns nothing
call CreateNUnitsAtLoc(1,'E00F',GetOwningPlayer(GetTriggerUnit()),GetRectCenter(udg_G[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]),270.)
call UnitAddItemByIdSwapped('srrc',bj_lastCreatedUnit)
if(VGV())then
call UnitAddItemByIdSwapped('I01I',bj_lastCreatedUnit)
endif
set udg_V[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call SetUnitUserData(bj_lastCreatedUnit,0)
call TriggerRegisterUnitEvent(udg_AF,bj_lastCreatedUnit,EVENT_UNIT_SPELL_CAST)
call TriggerRegisterUnitEvent(udg_HM,bj_lastCreatedUnit,EVENT_UNIT_ATTACKED)
set udg_J=GetUnitLoc(bj_lastCreatedUnit)
call PanCameraToTimedLocForPlayer(GetOwningPlayer(GetTriggerUnit()),udg_J,.3)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call RemoveUnit(GetTriggerUnit())
endfunction
function VJV takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='ushd')
endfunction
function VKV takes nothing returns boolean
return(udg_D[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endfunction
function VLV takes nothing returns nothing
call CreateNUnitsAtLoc(1,'E00N',GetOwningPlayer(GetTriggerUnit()),GetRectCenter(udg_G[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]),270.)
call UnitAddItemByIdSwapped('srrc',bj_lastCreatedUnit)
if(VKV())then
call UnitAddItemByIdSwapped('I01I',bj_lastCreatedUnit)
endif
set udg_V[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call SetUnitUserData(bj_lastCreatedUnit,0)
call TriggerRegisterUnitEvent(udg_HM,bj_lastCreatedUnit,EVENT_UNIT_ATTACKED)
call TriggerRegisterUnitEvent(udg_MG,bj_lastCreatedUnit,EVENT_UNIT_SPELL_EFFECT)
call TriggerRegisterUnitEvent(udg_TD,bj_lastCreatedUnit,EVENT_UNIT_SPELL_CAST)
set udg_J=GetUnitLoc(bj_lastCreatedUnit)
call PanCameraToTimedLocForPlayer(GetOwningPlayer(GetTriggerUnit()),udg_J,.3)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call RemoveUnit(GetTriggerUnit())
endfunction
function VMV takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='ushd')
endfunction
function VPV takes nothing returns boolean
return(udg_D[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endfunction
function VQV takes nothing returns nothing
call CreateNUnitsAtLoc(1,'E009',GetOwningPlayer(GetTriggerUnit()),GetRectCenter(udg_G[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]),270.)
call UnitAddItemByIdSwapped('srrc',bj_lastCreatedUnit)
if(VPV())then
call UnitAddItemByIdSwapped('I01I',bj_lastCreatedUnit)
endif
set udg_V[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call SetUnitUserData(bj_lastCreatedUnit,0)
call TriggerRegisterUnitEvent(udg_HM,bj_lastCreatedUnit,EVENT_UNIT_ATTACKED)
call TriggerRegisterUnitEvent(udg_RG,bj_lastCreatedUnit,EVENT_UNIT_SPELL_EFFECT)
set udg_J=GetUnitLoc(bj_lastCreatedUnit)
call PanCameraToTimedLocForPlayer(GetOwningPlayer(GetTriggerUnit()),udg_J,.3)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call RemoveUnit(GetTriggerUnit())
endfunction
function VSV takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='ushd')
endfunction
function VTV takes nothing returns boolean
return(udg_D[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endfunction
function VUV takes nothing returns nothing
call CreateNUnitsAtLoc(1,'E00I',GetOwningPlayer(GetTriggerUnit()),GetRectCenter(udg_G[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]),270.)
call UnitAddItemByIdSwapped('srrc',bj_lastCreatedUnit)
if(VTV())then
call UnitAddItemByIdSwapped('I01I',bj_lastCreatedUnit)
endif
set udg_V[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call SetUnitUserData(bj_lastCreatedUnit,40)
call TriggerRegisterUnitEvent(udg_HM,bj_lastCreatedUnit,EVENT_UNIT_ATTACKED)
call TriggerRegisterUnitEvent(udg_HD,bj_lastCreatedUnit,EVENT_UNIT_SPELL_FINISH)
call TriggerRegisterUnitEvent(udg_ZF,bj_lastCreatedUnit,EVENT_UNIT_SPELL_EFFECT)
call TriggerRegisterUnitEvent(udg_CG,bj_lastCreatedUnit,EVENT_UNIT_SPELL_EFFECT)
set udg_J=GetUnitLoc(bj_lastCreatedUnit)
call PanCameraToTimedLocForPlayer(GetOwningPlayer(GetTriggerUnit()),udg_J,.3)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call RemoveUnit(GetTriggerUnit())
endfunction
function VWV takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='ushd')
endfunction
function VYV takes nothing returns boolean
return(udg_D[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endfunction
function VZV takes nothing returns nothing
call CreateNUnitsAtLoc(1,'E00J',GetOwningPlayer(GetTriggerUnit()),GetRectCenter(udg_G[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]),270.)
call UnitAddItemByIdSwapped('srrc',bj_lastCreatedUnit)
if(VYV())then
call UnitAddItemByIdSwapped('I01I',bj_lastCreatedUnit)
endif
set udg_V[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call SetUnitUserData(bj_lastCreatedUnit,20)
call TriggerRegisterUnitEvent(udg_HM,bj_lastCreatedUnit,EVENT_UNIT_ATTACKED)
call TriggerRegisterUnitEvent(udg_WD,bj_lastCreatedUnit,EVENT_UNIT_SPELL_CAST)
call TriggerRegisterUnitEvent(udg_XF,bj_lastCreatedUnit,EVENT_UNIT_SPELL_CAST)
call TriggerRegisterUnitEvent(udg_IG,bj_lastCreatedUnit,EVENT_UNIT_SPELL_EFFECT)
set udg_J=GetUnitLoc(bj_lastCreatedUnit)
call PanCameraToTimedLocForPlayer(GetOwningPlayer(GetTriggerUnit()),udg_J,.3)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call RemoveUnit(GetTriggerUnit())
endfunction
function V_V takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='ushd')
endfunction
function V0V takes nothing returns boolean
return(udg_D[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endfunction
function V1V takes nothing returns nothing
call CreateNUnitsAtLoc(1,'E00P',GetOwningPlayer(GetTriggerUnit()),GetRectCenter(udg_G[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]),270.)
call UnitAddItemByIdSwapped('srrc',bj_lastCreatedUnit)
if(V0V())then
call UnitAddItemByIdSwapped('I01I',bj_lastCreatedUnit)
endif
set udg_V[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call SetUnitUserData(bj_lastCreatedUnit,30)
call TriggerRegisterUnitEvent(udg_HM,bj_lastCreatedUnit,EVENT_UNIT_ATTACKED)
call TriggerRegisterUnitEvent(udg_FG,bj_lastCreatedUnit,EVENT_UNIT_SPELL_EFFECT)
call TriggerRegisterUnitEvent(udg_GG,bj_lastCreatedUnit,EVENT_UNIT_SPELL_EFFECT)
call TriggerRegisterUnitEvent(udg_NG,bj_lastCreatedUnit,EVENT_UNIT_SPELL_EFFECT)
call TriggerRegisterUnitEvent(udg_JG,bj_lastCreatedUnit,EVENT_UNIT_SPELL_EFFECT)
call UnitAddAbility(bj_lastCreatedUnit,'A03N')
set udg_J=GetUnitLoc(bj_lastCreatedUnit)
call PanCameraToTimedLocForPlayer(GetOwningPlayer(GetTriggerUnit()),udg_J,.3)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call RemoveUnit(GetTriggerUnit())
endfunction
function V2V takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='ushd')
endfunction
function V3V takes nothing returns boolean
return(udg_D[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endfunction
function V4V takes nothing returns nothing
call CreateNUnitsAtLoc(1,'E00T',GetOwningPlayer(GetTriggerUnit()),GetRectCenter(udg_G[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]),270.)
call UnitAddItemByIdSwapped('srrc',bj_lastCreatedUnit)
if(V3V())then
call UnitAddItemByIdSwapped('I01I',bj_lastCreatedUnit)
endif
set udg_V[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call SetUnitUserData(bj_lastCreatedUnit,0)
call TriggerRegisterUnitEvent(udg_HM,bj_lastCreatedUnit,EVENT_UNIT_ATTACKED)
call TriggerRegisterUnitEvent(udg_DK,bj_lastCreatedUnit,EVENT_UNIT_SPELL_CAST)
call TriggerRegisterUnitEvent(udg_CK,bj_lastCreatedUnit,EVENT_UNIT_DROP_ITEM)
call TriggerRegisterUnitEvent(udg_FK,bj_lastCreatedUnit,EVENT_UNIT_SPELL_ENDCAST)
call TriggerRegisterUnitEvent(udg_JK,bj_lastCreatedUnit,EVENT_UNIT_SPELL_CAST)
call TriggerRegisterUnitEvent(udg_HK,bj_lastCreatedUnit,EVENT_UNIT_SPELL_CAST)
call TriggerRegisterUnitEvent(udg_GK,bj_lastCreatedUnit,EVENT_UNIT_SPELL_CAST)
call TriggerRegisterUnitEvent(udg_KK,bj_lastCreatedUnit,EVENT_UNIT_SPELL_CAST)
set udg_J=GetUnitLoc(bj_lastCreatedUnit)
call PanCameraToTimedLocForPlayer(GetOwningPlayer(GetTriggerUnit()),udg_J,.3)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\HolyBolt\\HolyBoltSpecialArt.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call RemoveUnit(GetTriggerUnit())
endfunction
function V5V takes nothing returns boolean
return(IsUnitAlly(GetEnumUnit(),GetOwningPlayer(udg_F)))
endfunction
function V6V takes nothing returns nothing
if(V5V())then
call CreateNUnitsAtLoc(1,'o00L',GetOwningPlayer(udg_EO),Location(0,0),bj_UNIT_FACING)
call SetUnitExploded(GetEnumUnit(),true)
call UnitAddAbility(bj_lastCreatedUnit,'A07C')
call IssueTargetOrderById(bj_lastCreatedUnit,852190,GetEnumUnit())
call RemoveUnit(bj_lastCreatedUnit)
else
call GroupRemoveUnit(udg_IO,GetEnumUnit())
endif
endfunction
function V7V takes nothing returns nothing
set udg_EO=bj_lastCreatedUnit
set udg_F=udg_EO
set udg_IO=ZT(350.,GetUnitLoc(udg_F))
call ForGroupBJ(udg_IO,function V6V)
call EnableTrigger(udg_SC)
endfunction
function V8V takes nothing returns boolean
return(DistanceBetweenPoints(udg_J,udg_DE)>220.)
endfunction
function V9V takes nothing returns boolean
return(IsUnitAlly(GetEnumUnit(),GetOwningPlayer(udg_F)))
endfunction
function EVV takes nothing returns nothing
if(V9V())then
set udg_J=GetUnitLoc(GetEnumUnit())
set udg_DE=GetUnitLoc(udg_F)
if(V8V())then
call SetUnitExploded(GetEnumUnit(),false)
call UnitRemoveAbility(GetEnumUnit(),'B01S')
call GroupRemoveUnit(udg_IO,GetEnumUnit())
endif
call RemoveLocation(udg_J)
call RemoveLocation(udg_DE)
else
call SetUnitExploded(GetEnumUnit(),false)
call UnitRemoveAbility(GetEnumUnit(),'B01S')
call GroupRemoveUnit(udg_IO,GetEnumUnit())
endif
endfunction
function EEV takes nothing returns boolean
return(IsUnitInGroup(GetEnumUnit(),udg_IO)==false)and(IsUnitAlly(GetEnumUnit(),GetOwningPlayer(udg_F)))
endfunction
function EXV takes nothing returns nothing
if(EEV())then
call CreateNUnitsAtLoc(1,'o00L',GetOwningPlayer(udg_EO),Location(0,0),bj_UNIT_FACING)
call SetUnitExploded(GetEnumUnit(),true)
call UnitAddAbility(bj_lastCreatedUnit,'A07C')
call IssueTargetOrderById(bj_lastCreatedUnit,852190,GetEnumUnit())
call RemoveUnit(bj_lastCreatedUnit)
call GroupAddUnit(udg_IO,GetEnumUnit())
endif
endfunction
function EOV takes nothing returns nothing
call SetUnitExploded(GetEnumUnit(),false)
call UnitRemoveAbility(GetEnumUnit(),'B01S')
endfunction
function ERV takes nothing returns boolean
return(udg_XO)
endfunction
function EIV takes nothing returns nothing
set udg_F=udg_EO
call ForGroupBJ(udg_IO,function EVV)
set udg_FE=ZT(350.,GetUnitLoc(udg_F))
call ForGroupBJ(udg_FE,function EXV)
call DestroyGroup(udg_FE)
set udg_FE=null
if(ERV())then
call DisableTrigger(GetTriggeringTrigger())
call ForGroupBJ(udg_IO,function EOV)
call DestroyGroup(udg_IO)
set udg_IO=null
set udg_XO=false
endif
endfunction
function EAV takes nothing returns boolean
return(IsUnitAlly(GetEnumUnit(),GetOwningPlayer(udg_F)))
endfunction
function ENV takes nothing returns nothing
if(EAV())then
call CreateNUnitsAtLoc(1,'o00L',GetOwningPlayer(udg_VO),Location(0,0),bj_UNIT_FACING)
call SetUnitExploded(GetEnumUnit(),true)
call UnitAddAbility(bj_lastCreatedUnit,'A07C')
call IssueTargetOrderById(bj_lastCreatedUnit,852190,GetEnumUnit())
call RemoveUnit(bj_lastCreatedUnit)
else
call GroupRemoveUnit(udg_RO,GetEnumUnit())
endif
endfunction
function EBV takes nothing returns nothing
set udg_VO=bj_lastCreatedUnit
set udg_F=udg_VO
set udg_RO=ZT(350.,GetUnitLoc(udg_F))
call ForGroupBJ(udg_RO,function ENV)
call EnableTrigger(udg_UC)
endfunction
function ECV takes nothing returns boolean
return(DistanceBetweenPoints(udg_J,udg_DE)>220.)
endfunction
function EDV takes nothing returns boolean
return(IsUnitAlly(GetEnumUnit(),GetOwningPlayer(udg_F)))
endfunction
function EFV takes nothing returns nothing
if(EDV())then
set udg_J=GetUnitLoc(GetEnumUnit())
set udg_DE=GetUnitLoc(udg_F)
if(ECV())then
call SetUnitExploded(GetEnumUnit(),false)
call UnitRemoveAbility(GetEnumUnit(),'B01S')
call GroupRemoveUnit(udg_RO,GetEnumUnit())
endif
call RemoveLocation(udg_J)
call RemoveLocation(udg_DE)
else
call SetUnitExploded(GetEnumUnit(),false)
call UnitRemoveAbility(GetEnumUnit(),'B01S')
call GroupRemoveUnit(udg_RO,GetEnumUnit())
endif
endfunction
function EGV takes nothing returns boolean
return(IsUnitInGroup(GetEnumUnit(),udg_RO)==false)and(IsUnitAlly(GetEnumUnit(),GetOwningPlayer(udg_F)))
endfunction
function EHV takes nothing returns nothing
if(EGV())then
call CreateNUnitsAtLoc(1,'o00L',GetOwningPlayer(udg_VO),Location(0,0),bj_UNIT_FACING)
call SetUnitExploded(GetEnumUnit(),true)
call UnitAddAbility(bj_lastCreatedUnit,'A07C')
call IssueTargetOrderById(bj_lastCreatedUnit,852190,GetEnumUnit())
call RemoveUnit(bj_lastCreatedUnit)
call GroupAddUnit(udg_RO,GetEnumUnit())
endif
endfunction
function EJV takes nothing returns nothing
call SetUnitExploded(GetEnumUnit(),false)
call UnitRemoveAbility(GetEnumUnit(),'B01S')
endfunction
function EKV takes nothing returns boolean
return(udg_OO)
endfunction
function ELV takes nothing returns nothing
set udg_F=udg_VO
call ForGroupBJ(udg_RO,function EFV)
set udg_FE=ZT(350.,GetUnitLoc(udg_F))
call ForGroupBJ(udg_FE,function EHV)
call DestroyGroup(udg_FE)
set udg_FE=null
if(EKV())then
call DisableTrigger(GetTriggeringTrigger())
call ForGroupBJ(udg_RO,function EJV)
call DestroyGroup(udg_RO)
set udg_RO=null
set udg_OO=false
endif
endfunction
function EMV takes nothing returns boolean
return(IsUnitAlly(GetEnumUnit(),GetOwningPlayer(udg_QX)))
endfunction
function EPV takes nothing returns nothing
if(EMV())then
call UnitAddAbility(GetEnumUnit(),'A02V')
else
call GroupRemoveUnit(udg_TX,GetEnumUnit())
endif
endfunction
function EQV takes nothing returns nothing
set udg_QX=bj_lastCreatedUnit
set udg_TX=ZT(350.,GetUnitLoc(udg_QX))
call ForGroupBJ(udg_TX,function EPV)
call EnableTrigger(udg_YC)
endfunction
function ESV takes nothing returns boolean
return(DistanceBetweenPoints(udg_J,udg_DE)>220.)
endfunction
function ETV takes nothing returns boolean
return(IsUnitAlly(GetEnumUnit(),GetOwningPlayer(udg_QX)))
endfunction
function EUV takes nothing returns nothing
if(ETV())then
set udg_J=GetUnitLoc(GetEnumUnit())
set udg_DE=GetUnitLoc(udg_QX)
if(ESV())then
call UnitRemoveAbility(GetEnumUnit(),'A02V')
call GroupRemoveUnit(udg_TX,GetEnumUnit())
endif
call RemoveLocation(udg_J)
call RemoveLocation(udg_DE)
else
call UnitRemoveAbility(GetEnumUnit(),'A02V')
call GroupRemoveUnit(udg_TX,GetEnumUnit())
endif
endfunction
function EWV takes nothing returns boolean
return(IsUnitInGroup(GetEnumUnit(),udg_TX)==false)and(IsUnitAlly(GetEnumUnit(),GetOwningPlayer(udg_QX)))
endfunction
function EYV takes nothing returns nothing
if(EWV())then
call UnitAddAbility(GetEnumUnit(),'A02V')
call GroupAddUnit(udg_TX,GetEnumUnit())
endif
endfunction
function EZV takes nothing returns nothing
call UnitRemoveAbility(GetEnumUnit(),'A02V')
endfunction
function E_V takes nothing returns boolean
return(udg_YX)
endfunction
function E0V takes nothing returns nothing
call ForGroupBJ(udg_TX,function EUV)
set udg_FE=ZT(350.,GetUnitLoc(udg_QX))
call ForGroupBJ(udg_FE,function EYV)
call DestroyGroup(udg_FE)
set udg_FE=null
if(E_V())then
call DisableTrigger(GetTriggeringTrigger())
call ForGroupBJ(udg_TX,function EZV)
call DestroyGroup(udg_TX)
set udg_TX=null
set udg_YX=false
endif
endfunction
function E1V takes nothing returns boolean
return(IsUnitAlly(GetEnumUnit(),GetOwningPlayer(udg_F)))
endfunction
function E2V takes nothing returns nothing
if(E1V())then
call UnitAddAbility(GetEnumUnit(),'A02V')
else
call GroupRemoveUnit(udg_UX,GetEnumUnit())
endif
endfunction
function E3V takes nothing returns nothing
set udg_SX=bj_lastCreatedUnit
call AddSpecialEffectTargetUnitBJ("chest",bj_lastCreatedUnit,"Abilities\\Spells\\Undead\\AntiMagicShell\\AntiMagicShell.mdl")
set udg_F=udg_SX
set udg_UX=ZT(350.,GetUnitLoc(udg_F))
call ForGroupBJ(udg_UX,function E2V)
call EnableTrigger(udg_VD)
endfunction
function E4V takes nothing returns boolean
return(DistanceBetweenPoints(udg_J,udg_DE)>220.)
endfunction
function E5V takes nothing returns boolean
return(IsUnitAlly(GetEnumUnit(),GetOwningPlayer(udg_F)))
endfunction
function E6V takes nothing returns nothing
if(E5V())then
set udg_J=GetUnitLoc(GetEnumUnit())
set udg_DE=GetUnitLoc(udg_SX)
if(E4V())then
call UnitRemoveAbility(GetEnumUnit(),'A02V')
call GroupRemoveUnit(udg_UX,GetEnumUnit())
endif
call RemoveLocation(udg_J)
call RemoveLocation(udg_DE)
else
call UnitRemoveAbility(GetEnumUnit(),'A02V')
call GroupRemoveUnit(udg_UX,GetEnumUnit())
endif
endfunction
function E7V takes nothing returns boolean
return(IsUnitInGroup(GetEnumUnit(),udg_UX)==false)and(IsUnitAlly(GetEnumUnit(),GetOwningPlayer(udg_F)))
endfunction
function E8V takes nothing returns nothing
if(E7V())then
call UnitAddAbility(GetEnumUnit(),'A02V')
call GroupAddUnit(udg_UX,GetEnumUnit())
endif
endfunction
function E9V takes nothing returns nothing
call UnitRemoveAbility(GetEnumUnit(),'A02V')
endfunction
function XVV takes nothing returns boolean
return(udg_WX)
endfunction
function XEV takes nothing returns nothing
set udg_F=udg_SX
call ForGroupBJ(udg_UX,function E6V)
set udg_FE=ZT(350.,GetUnitLoc(udg_F))
call ForGroupBJ(udg_FE,function E8V)
call DestroyGroup(udg_FE)
set udg_FE=null
if(XVV())then
call DisableTrigger(GetTriggeringTrigger())
call ForGroupBJ(udg_UX,function E9V)
call DestroyGroup(udg_UX)
set udg_UX=null
set udg_WX=false
endif
endfunction
function XXV takes nothing returns boolean
return(IsUnitAlly(GetEnumUnit(),GetOwningPlayer(udg_HX)))
endfunction
function XOV takes nothing returns nothing
if(XXV())then
call UnitAddAbility(GetEnumUnit(),'A06W')
call CreateNUnitsAtLoc(1,'o00L',GetOwningPlayer(udg_HX),Location(0,0),bj_UNIT_FACING)
call UnitAddAbility(bj_lastCreatedUnit,'A06X')
call IssueTargetOrderById(bj_lastCreatedUnit,852190,GetEnumUnit())
call RemoveUnit(bj_lastCreatedUnit)
else
call GroupRemoveUnit(udg_JX,GetEnumUnit())
endif
endfunction
function XRV takes nothing returns nothing
set udg_HX=bj_lastCreatedUnit
set udg_JX=ZT(220.,GetUnitLoc(udg_HX))
call ForGroupBJ(udg_JX,function XOV)
call EnableTrigger(udg_XD)
endfunction
function XIV takes nothing returns boolean
return(DistanceBetweenPoints(udg_J,udg_DE)>220.)
endfunction
function XAV takes nothing returns boolean
return(IsUnitAlly(GetEnumUnit(),GetOwningPlayer(udg_HX)))
endfunction
function XNV takes nothing returns nothing
if(XAV())then
set udg_J=GetUnitLoc(GetEnumUnit())
set udg_DE=GetUnitLoc(udg_HX)
if(XIV())then
call UnitRemoveAbility(GetEnumUnit(),'A06W')
call GroupRemoveUnit(udg_JX,GetEnumUnit())
call UnitRemoveAbility(GetEnumUnit(),'B01O')
endif
call RemoveLocation(udg_J)
call RemoveLocation(udg_DE)
else
call UnitRemoveAbility(GetEnumUnit(),'A06W')
call GroupRemoveUnit(udg_JX,GetEnumUnit())
call UnitRemoveAbility(GetEnumUnit(),'B01O')
endif
endfunction
function XBV takes nothing returns boolean
return(IsUnitInGroup(GetEnumUnit(),udg_JX)==false)and(IsUnitAlly(GetEnumUnit(),GetOwningPlayer(udg_HX)))
endfunction
function XCV takes nothing returns nothing
if(XBV())then
call UnitAddAbility(GetEnumUnit(),'A06W')
call CreateNUnitsAtLoc(1,'o00L',GetOwningPlayer(udg_HX),Location(0,0),bj_UNIT_FACING)
call UnitAddAbility(bj_lastCreatedUnit,'A06X')
call IssueTargetOrderById(bj_lastCreatedUnit,852190,GetEnumUnit())
call RemoveUnit(bj_lastCreatedUnit)
call GroupAddUnit(udg_JX,GetEnumUnit())
endif
endfunction
function XDV takes nothing returns boolean
return(udg_KX)
endfunction
function XFV takes nothing returns nothing
call ForGroupBJ(udg_JX,function XNV)
set udg_FE=ZT(220.,GetUnitLoc(udg_HX))
call ForGroupBJ(udg_FE,function XCV)
call DestroyGroup(udg_FE)
set udg_FE=null
if(XDV())then
call DisableTrigger(GetTriggeringTrigger())
call TriggerExecute(udg_OD)
endif
endfunction
function XGV takes nothing returns nothing
call UnitRemoveAbility(GetEnumUnit(),'A06W')
call UnitRemoveAbility(GetEnumUnit(),'B01O')
endfunction
function XHV takes nothing returns nothing
call ForGroupBJ(udg_JX,function XGV)
call DestroyGroup(udg_JX)
set udg_JX=null
set udg_KX=false
endfunction
function XJV takes nothing returns boolean
return(IsUnitAlly(GetEnumUnit(),GetOwningPlayer(udg_MX)))
endfunction
function XKV takes nothing returns nothing
if(XJV())then
call UnitAddAbility(GetEnumUnit(),'A06W')
call CreateNUnitsAtLoc(1,'o00L',GetOwningPlayer(udg_MX),Location(0,0),bj_UNIT_FACING)
call UnitAddAbility(bj_lastCreatedUnit,'A06X')
call IssueTargetOrderById(bj_lastCreatedUnit,852190,GetEnumUnit())
call RemoveUnit(bj_lastCreatedUnit)
else
call GroupRemoveUnit(udg_PX,GetEnumUnit())
endif
endfunction
function XLV takes nothing returns nothing
set udg_MX=bj_lastCreatedUnit
set udg_PX=ZT(220.,GetUnitLoc(udg_MX))
call ForGroupBJ(udg_PX,function XKV)
call EnableTrigger(udg_ID)
endfunction
function XMV takes nothing returns boolean
return(DistanceBetweenPoints(udg_J,udg_DE)>220.)
endfunction
function XPV takes nothing returns boolean
return(IsUnitAlly(GetEnumUnit(),GetOwningPlayer(udg_MX)))
endfunction
function XQV takes nothing returns nothing
if(XPV())then
set udg_J=GetUnitLoc(GetEnumUnit())
set udg_DE=GetUnitLoc(udg_MX)
if(XMV())then
call UnitRemoveAbility(GetEnumUnit(),'A06W')
call GroupRemoveUnit(udg_PX,GetEnumUnit())
call UnitRemoveAbility(GetEnumUnit(),'B01O')
endif
call RemoveLocation(udg_J)
call RemoveLocation(udg_DE)
else
call UnitRemoveAbility(GetEnumUnit(),'A06W')
call GroupRemoveUnit(udg_PX,GetEnumUnit())
call UnitRemoveAbility(GetEnumUnit(),'B01O')
endif
endfunction
function XSV takes nothing returns boolean
return(IsUnitInGroup(GetEnumUnit(),udg_PX)==false)and(IsUnitAlly(GetEnumUnit(),GetOwningPlayer(udg_MX)))
endfunction
function XTV takes nothing returns nothing
if(XSV())then
call UnitAddAbility(GetEnumUnit(),'A06W')
call CreateNUnitsAtLoc(1,'o00L',GetOwningPlayer(udg_MX),Location(0,0),bj_UNIT_FACING)
call UnitAddAbility(bj_lastCreatedUnit,'A06X')
call IssueTargetOrderById(bj_lastCreatedUnit,852190,GetEnumUnit())
call RemoveUnit(bj_lastCreatedUnit)
call GroupAddUnit(udg_PX,GetEnumUnit())
endif
endfunction
function XUV takes nothing returns boolean
return(udg_LX)
endfunction
function XWV takes nothing returns nothing
call ForGroupBJ(udg_PX,function XQV)
set udg_FE=ZT(220.,GetUnitLoc(udg_MX))
call ForGroupBJ(udg_FE,function XTV)
call DestroyGroup(udg_FE)
set udg_FE=null
if(XUV())then
call DisableTrigger(GetTriggeringTrigger())
call TriggerExecute(udg_AD)
endif
endfunction
function XYV takes nothing returns nothing
call UnitRemoveAbility(GetEnumUnit(),'A06W')
call UnitRemoveAbility(GetEnumUnit(),'B01O')
endfunction
function XZV takes nothing returns nothing
call ForGroupBJ(udg_PX,function XYV)
call DestroyGroup(udg_PX)
set udg_PX=null
set udg_LX=false
endfunction
function X_V takes nothing returns boolean
return(IsUnitAlly(GetEnumUnit(),GetOwningPlayer(udg_RX)))
endfunction
function X0V takes nothing returns nothing
if(X_V())then
call UnitAddAbility(GetEnumUnit(),'A06S')
call CreateNUnitsAtLoc(1,'o010',GetOwningPlayer(udg_RX),Location(0,0),bj_UNIT_FACING)
call IssueTargetOrderById(bj_lastCreatedUnit,852190,GetEnumUnit())
call RemoveUnit(bj_lastCreatedUnit)
else
call GroupRemoveUnit(udg_AX,GetEnumUnit())
endif
endfunction
function X1V takes nothing returns nothing
set udg_RX=bj_lastCreatedUnit
set udg_AX=ZT(220.,GetUnitLoc(udg_RX))
call ForGroupBJ(udg_AX,function X0V)
call EnableTrigger(udg_BD)
endfunction
function X2V takes nothing returns boolean
return(DistanceBetweenPoints(udg_J,udg_DE)>220.)
endfunction
function X3V takes nothing returns boolean
return(IsUnitAlly(GetEnumUnit(),GetOwningPlayer(udg_RX)))
endfunction
function X4V takes nothing returns nothing
if(X3V())then
set udg_J=GetUnitLoc(GetEnumUnit())
set udg_DE=GetUnitLoc(udg_RX)
if(X2V())then
call UnitRemoveAbility(GetEnumUnit(),'A06S')
call GroupRemoveUnit(udg_AX,GetEnumUnit())
call UnitRemoveAbility(GetEnumUnit(),'B01L')
endif
call RemoveLocation(udg_J)
call RemoveLocation(udg_DE)
else
call UnitRemoveAbility(GetEnumUnit(),'A06S')
call GroupRemoveUnit(udg_AX,GetEnumUnit())
call UnitRemoveAbility(GetEnumUnit(),'B01L')
endif
endfunction
function X5V takes nothing returns boolean
return(IsUnitInGroup(GetEnumUnit(),udg_AX)==false)and(IsUnitAlly(GetEnumUnit(),GetOwningPlayer(udg_RX)))
endfunction
function X6V takes nothing returns nothing
if(X5V())then
call UnitAddAbility(GetEnumUnit(),'A06S')
call CreateNUnitsAtLoc(1,'o010',GetOwningPlayer(udg_RX),Location(0,0),bj_UNIT_FACING)
call IssueTargetOrderById(bj_lastCreatedUnit,852190,GetEnumUnit())
call RemoveUnit(bj_lastCreatedUnit)
call GroupAddUnit(udg_AX,GetEnumUnit())
endif
endfunction
function X7V takes nothing returns boolean
return(udg_BX)
endfunction
function X8V takes nothing returns nothing
call ForGroupBJ(udg_AX,function X4V)
set udg_FE=ZT(220.,GetUnitLoc(udg_RX))
call ForGroupBJ(udg_FE,function X6V)
call DestroyGroup(udg_FE)
set udg_FE=null
if(X7V())then
call DisableTrigger(GetTriggeringTrigger())
call TriggerExecute(udg_CD)
endif
endfunction
function X9V takes nothing returns nothing
call UnitRemoveAbility(GetEnumUnit(),'A06S')
call UnitRemoveAbility(GetEnumUnit(),'B01L')
endfunction
function OVV takes nothing returns nothing
call ForGroupBJ(udg_AX,function X9V)
call DestroyGroup(udg_AX)
set udg_AX=null
set udg_BX=false
endfunction
function OEV takes nothing returns boolean
return(IsUnitAlly(GetEnumUnit(),GetOwningPlayer(udg_IX)))
endfunction
function OXV takes nothing returns nothing
if(OEV())then
call UnitAddAbility(GetEnumUnit(),'A06S')
call CreateNUnitsAtLoc(1,'o010',GetOwningPlayer(udg_IX),Location(0,0),bj_UNIT_FACING)
call IssueTargetOrderById(bj_lastCreatedUnit,852190,GetEnumUnit())
call RemoveUnit(bj_lastCreatedUnit)
else
call GroupRemoveUnit(udg_NX,GetEnumUnit())
endif
endfunction
function OOV takes nothing returns nothing
set udg_IX=bj_lastCreatedUnit
set udg_NX=ZT(220.,GetUnitLoc(udg_IX))
call ForGroupBJ(udg_NX,function OXV)
call EnableTrigger(udg_FD)
endfunction
function ORV takes nothing returns boolean
return(DistanceBetweenPoints(udg_J,udg_DE)>220.)
endfunction
function OIV takes nothing returns boolean
return(IsUnitAlly(GetEnumUnit(),GetOwningPlayer(udg_IX)))
endfunction
function OAV takes nothing returns nothing
if(OIV())then
set udg_J=GetUnitLoc(GetEnumUnit())
set udg_DE=GetUnitLoc(udg_IX)
if(ORV())then
call UnitRemoveAbility(GetEnumUnit(),'A06S')
call GroupRemoveUnit(udg_NX,GetEnumUnit())
call UnitRemoveAbility(GetEnumUnit(),'B01L')
endif
call RemoveLocation(udg_DE)
call RemoveLocation(udg_J)
else
call UnitRemoveAbility(GetEnumUnit(),'A06S')
call GroupRemoveUnit(udg_NX,GetEnumUnit())
call UnitRemoveAbility(GetEnumUnit(),'B01L')
endif
endfunction
function ONV takes nothing returns boolean
return(IsUnitInGroup(GetEnumUnit(),udg_NX)==false)and(IsUnitAlly(GetEnumUnit(),GetOwningPlayer(udg_IX)))
endfunction
function OBV takes nothing returns nothing
if(ONV())then
call UnitAddAbility(GetEnumUnit(),'A06S')
call CreateNUnitsAtLoc(1,'o010',GetOwningPlayer(udg_IX),Location(0,0),bj_UNIT_FACING)
call IssueTargetOrderById(bj_lastCreatedUnit,852190,GetEnumUnit())
call RemoveUnit(bj_lastCreatedUnit)
call GroupAddUnit(udg_NX,GetEnumUnit())
endif
endfunction
function OCV takes nothing returns boolean
return(udg_GX)
endfunction
function ODV takes nothing returns nothing
call ForGroupBJ(udg_NX,function OAV)
set udg_FE=ZT(220.,GetUnitLoc(udg_IX))
call ForGroupBJ(udg_FE,function OBV)
call DestroyGroup(udg_FE)
set udg_FE=null
if(OCV())then
call DisableTrigger(GetTriggeringTrigger())
call TriggerExecute(udg_GD)
endif
endfunction
function OFV takes nothing returns nothing
call UnitRemoveAbility(GetEnumUnit(),'A06S')
call UnitRemoveAbility(GetEnumUnit(),'B01L')
endfunction
function OGV takes nothing returns nothing
call ForGroupBJ(udg_NX,function OFV)
call DestroyGroup(udg_NX)
set udg_NX=null
set udg_GX=false
endfunction
function OHV takes nothing returns boolean
return(GetSpellAbilityId()=='A03D')and(GetUnitAbilityLevelSwapped('A007',GetTriggerUnit())>0)
endfunction
function OJV takes nothing returns nothing
call SetUnitInvulnerable(GetTriggerUnit(),true)
call TriggerSleepAction(I2R(GetUnitAbilityLevelSwapped('A007',GetTriggerUnit())))
call SetUnitInvulnerable(GetTriggerUnit(),false)
endfunction
function OKV takes nothing returns boolean
return(GetSpellAbilityId()=='A06P')
endfunction
function OLV takes nothing returns boolean
return(IsUnitAlly(GetTriggerUnit(),Player(8)))
endfunction
function OMV takes nothing returns nothing
if(OLV())then
set udg_EX=(udg_EX+1)
call EnableTrigger(udg_GN)
else
set udg_XX=(udg_XX+1)
call EnableTrigger(udg_FN)
endif
endfunction
function OPV takes nothing returns boolean
return(GetSpellAbilityId()=='A06P')
endfunction
function OQV takes nothing returns boolean
return(udg_XX==0)
endfunction
function OSV takes nothing returns boolean
return(udg_EX==0)
endfunction
function OTV takes nothing returns boolean
return(IsUnitAlly(GetTriggerUnit(),Player(8)))
endfunction
function OUV takes nothing returns nothing
if(OTV())then
set udg_EX=(udg_EX-1)
call TriggerSleepAction(1.67)
if(OSV())then
call DisableTrigger(udg_GN)
endif
else
set udg_XX=(udg_XX-1)
call TriggerSleepAction(1.67)
if(OQV())then
call DisableTrigger(udg_FN)
endif
endif
endfunction
function OWV takes nothing returns boolean
return(GetSpellAbilityId()=='A016')or(GetSpellAbilityId()=='A04Q')
endfunction
function OYV takes nothing returns boolean
return(OWV())and(UnitHasBuffBJ(GetSpellTargetUnit(),'B01H'))
endfunction
function OZV takes nothing returns nothing
set udg_J=GetUnitLoc(GetSpellTargetUnit())
set udg_F=GetSpellTargetUnit()
call CreateNUnitsAtLoc(1,'earc',GetOwningPlayer(udg_F),udg_J,bj_UNIT_FACING)
call SetUnitVertexColorBJ(bj_lastCreatedUnit,'d','d','d',100.)
call UnitApplyTimedLifeBJ(.5,'BTLF',bj_lastCreatedUnit)
call IssueImmediateOrderById(GetTriggerUnit(),851972)
call SetUnitManaBJ(GetTriggerUnit(),(GetUnitStateSwap(UNIT_STATE_MANA,GetTriggerUnit())+75.))
call DisableTrigger(GetTriggeringTrigger())
call IssueTargetOrderById(GetTriggerUnit(),852231,bj_lastCreatedUnit)
call EnableTrigger(GetTriggeringTrigger())
call AddSpecialEffectTargetUnitBJ("origin",udg_F,"Abilities\\Spells\\Demon\\DemonBoltImpact\\DemonBoltImpact.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
endfunction
function O_V takes nothing returns boolean
return(GetUnitAbilityLevelSwapped('A06H',GetTriggerUnit())>0)
endfunction
function O0V takes nothing returns boolean
return(IsUnitType(GetFilterUnit(),UNIT_TYPE_HERO)!=null)
endfunction
function O1V takes nothing returns nothing
set udg_J=GetUnitLoc(GetEnumUnit())
call SetWidgetLife(GetEnumUnit(),(GetUnitStateSwap(UNIT_STATE_LIFE,GetEnumUnit())+(udg_GE[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]/I2R(udg_VV))))
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\AIre\\AIreTarget.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
endfunction
function O2V takes nothing returns boolean
return(udg_AV==1)and(udg_GE[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]>=(GetUnitStateSwap(UNIT_STATE_MAX_LIFE,GetTriggerUnit())*2.))
endfunction
function O3V takes nothing returns nothing
set udg_GE[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=(udg_GE[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]+GetEventDamage())
set udg_AV=GetRandomInt(1,(11-GetUnitAbilityLevelSwapped('A06H',GetTriggerUnit())))
if(O2V())then
set udg_FE=VU(GetOwningPlayer(GetTriggerUnit()),Condition(function O0V))
set udg_VV=CountUnitsInGroup(udg_FE)
call ForGroupBJ(udg_FE,function O1V)
set udg_GE[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=.0
call DestroyGroup(udg_FE)
set udg_FE=null
endif
endfunction
function O4V takes nothing returns boolean
return(GetLearnedSkill()=='A024')
endfunction
function O5V takes nothing returns boolean
return(GetUnitAbilityLevelSwapped('A024',GetTriggerUnit())==1)
endfunction
function O6V takes nothing returns nothing
if(O5V())then
call UnitAddAbility(GetTriggerUnit(),'A08F')
else
call SetUnitAbilityLevelSwapped('A08F',GetTriggerUnit(),GetUnitAbilityLevelSwapped('A024',GetTriggerUnit()))
endif
endfunction
function O7V takes nothing returns boolean
return(GetSpellAbilityId()=='A06F')
endfunction
function O8V takes nothing returns nothing
call UnitRemoveAbility(GetSpellTargetUnit(),'B016')
call UnitRemoveAbility(GetSpellTargetUnit(),'B018')
call UnitRemoveAbility(GetSpellTargetUnit(),'BUfa')
call UnitRemoveAbility(GetSpellTargetUnit(),'B019')
call UnitRemoveAbility(GetSpellTargetUnit(),'B01A')
endfunction
function O9V takes nothing returns boolean
return(GetSpellAbilityId()=='A085')
endfunction
function RVV takes nothing returns nothing
call IssueTargetOrderById(udg_SS,852066,GetSpellTargetUnit())
endfunction
function REV takes nothing returns boolean
return(GetSpellAbilityId()=='A076')
endfunction
function RXV takes nothing returns nothing
call UnitRemoveAbility(GetSpellTargetUnit(),'BUfa')
call UnitRemoveAbility(GetSpellTargetUnit(),'B018')
call UnitRemoveAbility(GetSpellTargetUnit(),'B017')
call UnitRemoveAbility(GetSpellTargetUnit(),'B019')
call UnitRemoveAbility(GetSpellTargetUnit(),'B016')
endfunction
function ROV takes nothing returns boolean
return(GetSpellAbilityId()=='A071')
endfunction
function RRV takes nothing returns nothing
call UnitRemoveAbility(GetSpellTargetUnit(),'BUfa')
call UnitRemoveAbility(GetSpellTargetUnit(),'B018')
call UnitRemoveAbility(GetSpellTargetUnit(),'B01A')
call UnitRemoveAbility(GetSpellTargetUnit(),'B017')
call UnitRemoveAbility(GetSpellTargetUnit(),'B016')
endfunction
function RIV takes nothing returns boolean
return(GetSpellAbilityId()=='A07Z')
endfunction
function RAV takes nothing returns nothing
call UnitRemoveAbility(GetSpellTargetUnit(),'B018')
call UnitRemoveAbility(GetSpellTargetUnit(),'B01A')
call UnitRemoveAbility(GetSpellTargetUnit(),'B017')
call UnitRemoveAbility(GetSpellTargetUnit(),'B019')
call UnitRemoveAbility(GetSpellTargetUnit(),'B016')
endfunction
function RNV takes nothing returns boolean
return(GetSpellAbilityId()=='A06C')
endfunction
function RBV takes nothing returns nothing
call UnitRemoveAbility(GetSpellTargetUnit(),'BUfa')
call UnitRemoveAbility(GetSpellTargetUnit(),'B01A')
call UnitRemoveAbility(GetSpellTargetUnit(),'B017')
call UnitRemoveAbility(GetSpellTargetUnit(),'B016')
call UnitRemoveAbility(GetSpellTargetUnit(),'B019')
endfunction
function RCV takes nothing returns boolean
return(GetSpellAbilityId()=='A069')
endfunction
function RDV takes nothing returns nothing
call UnitRemoveAbility(GetSpellTargetUnit(),'B018')
call UnitRemoveAbility(GetSpellTargetUnit(),'B017')
call UnitRemoveAbility(GetSpellTargetUnit(),'B019')
call UnitRemoveAbility(GetSpellTargetUnit(),'BUfa')
call UnitRemoveAbility(GetSpellTargetUnit(),'B01A')
endfunction
function RFV takes nothing returns boolean
return(GetSpellAbilityId()=='A00Y')
endfunction
function RGV takes nothing returns nothing
set udg_J=GetSpellTargetLoc()
call CreateNUnitsAtLoc(1,'e00V',GetOwningPlayer(GetTriggerUnit()),udg_J,bj_UNIT_FACING)
call SetUnitInvulnerable(bj_lastCreatedUnit,true)
call RemoveLocation(udg_J)
endfunction
function RHV takes nothing returns boolean
return(GetSpellAbilityId()=='A00Y')
endfunction
function RJV takes nothing returns nothing
call RemoveUnit(GetEnumUnit())
endfunction
function RKV takes nothing returns nothing
set udg_FE=XU(GetOwningPlayer(GetTriggerUnit()),'e00V')
call ForGroupBJ(udg_FE,function RJV)
call DestroyGroup(udg_FE)
set udg_FE=null
endfunction
function RLV takes nothing returns boolean
return(GetSpellAbilityId()=='A02S')
endfunction
function RMV takes nothing returns boolean
return(udg_VV==1)and('e00V'==GetUnitTypeId(GetEnumUnit()))
endfunction
function RPV takes nothing returns nothing
if(RMV())then
call CreateNUnitsAtLoc(1,'o00W',GetOwningPlayer(GetTriggerUnit()),udg_J,bj_UNIT_FACING)
call IssuePointOrderByIdLoc(bj_lastCreatedUnit,852669,udg_J)
call UnitApplyTimedLifeBJ(4.,'BTLF',bj_lastCreatedUnit)
set udg_VV=2
endif
endfunction
function RQV takes nothing returns nothing
set udg_J=GetSpellTargetLoc()
set udg_VV=1
set udg_FE=ZT(900.,udg_J)
call ForGroupBJ(udg_FE,function RPV)
call DestroyGroup(udg_FE)
call RemoveLocation(udg_J)
set udg_FE=null
endfunction
function RSV takes nothing returns boolean
return(GetSpellAbilityId()=='A05Z')
endfunction
function RTV takes nothing returns boolean
return(IsUnitAliveBJ(GetEnumUnit()))and(IsUnitEnemy(GetEnumUnit(),GetOwningPlayer(GetTriggerUnit())))
endfunction
function RUV takes nothing returns nothing
if(RTV())then
call IssueTargetOrderById(udg_HS,852227,GetEnumUnit())
endif
endfunction
function RWV takes nothing returns nothing
set udg_J=GetSpellTargetLoc()
set udg_FE=ZT((182.+(I2R(GetUnitAbilityLevelSwapped('A05Z',GetTriggerUnit()))*20.)),udg_J)
call ForGroupBJ(udg_FE,function RUV)
call DestroyGroup(udg_FE)
call RemoveLocation(udg_J)
set udg_FE=null
endfunction
function RYV takes nothing returns boolean
return(GetSpellAbilityId()=='ANcs')
endfunction
function RZV takes nothing returns boolean
return(UnitHasBuffBJ(GetEnumUnit(),'BUsl')==false)
endfunction
function R_V takes nothing returns boolean
return(IsUnitAliveBJ(GetEnumUnit()))and(IsUnitEnemy(GetEnumUnit(),GetOwningPlayer(GetTriggerUnit())))
endfunction
function R0V takes nothing returns nothing
if(R_V())then
if(RZV())then
call CreateNUnitsAtLoc(1,'o011',GetOwningPlayer(GetTriggerUnit()),Location(0,0),bj_UNIT_FACING)
call SetUnitAbilityLevelSwapped('A063',bj_lastCreatedUnit,GetUnitAbilityLevelSwapped('ANcs',GetTriggerUnit()))
call IssueTargetOrderById(bj_lastCreatedUnit,852209,GetEnumUnit())
call UnitApplyTimedLifeBJ(16.,'BTLF',bj_lastCreatedUnit)
else
call CreateNUnitsAtLoc(1,'o010',GetOwningPlayer(GetTriggerUnit()),Location(0,0),bj_UNIT_FACING)
call SetUnitAbilityLevelSwapped('A064',bj_lastCreatedUnit,GetUnitAbilityLevelSwapped('ANcs',GetTriggerUnit()))
call IssueTargetOrderById(bj_lastCreatedUnit,852209,GetEnumUnit())
call UnitApplyTimedLifeBJ(16.,'BTLF',bj_lastCreatedUnit)
endif
endif
endfunction
function R1V takes nothing returns nothing
set udg_J=GetSpellTargetLoc()
set udg_FE=ZT((182.+(I2R(GetUnitAbilityLevelSwapped('ANcs',GetTriggerUnit()))*20.)),udg_J)
call ForGroupBJ(udg_FE,function R0V)
call RemoveLocation(udg_J)
set udg_FE=null
call DestroyGroup(udg_FE)
endfunction
function R2V takes nothing returns boolean
return(GetSpellAbilityId()=='A068')
endfunction
function R3V takes nothing returns nothing
local unit R4V
local effect udg_ZV
set R4V=GetSpellTargetUnit()
call SetWidgetLife(R4V,(GetUnitStateSwap(UNIT_STATE_LIFE,R4V)*.8))
call AddSpecialEffectTargetUnitBJ("overhead",R4V,"Abilities\\Weapons\\VoidWalkerMissile\\VoidWalkerMissile.mdl")
set udg_ZV=bj_lastCreatedEffect
call TriggerSleepAction(.5)
call SetWidgetLife(R4V,(GetUnitStateSwap(UNIT_STATE_LIFE,R4V)*.8))
call TriggerSleepAction(.5)
call SetWidgetLife(R4V,(GetUnitStateSwap(UNIT_STATE_LIFE,R4V)*.7))
call TriggerSleepAction(.5)
call SetWidgetLife(R4V,(GetUnitStateSwap(UNIT_STATE_LIFE,R4V)*.6))
call TriggerSleepAction(.5)
call SetWidgetLife(R4V,(GetUnitStateSwap(UNIT_STATE_LIFE,R4V)*.5))
call TriggerSleepAction(.5)
call SetWidgetLife(R4V,(GetUnitStateSwap(UNIT_STATE_LIFE,R4V)*.4))
call TriggerSleepAction(.5)
call SetWidgetLife(R4V,1.)
call CreateNUnitsAtLocFacingLocBJ(1,'o005',GetOwningPlayer(GetTriggerUnit()),GetUnitLoc(R4V),GetRectCenter(bj_mapInitialPlayableArea))
call UnitDamageTargetBJ(bj_lastCreatedUnit,R4V,1000.,ATTACK_TYPE_NORMAL,DAMAGE_TYPE_NORMAL)
call RemoveUnit(bj_lastCreatedUnit)
call DestroyEffect(udg_ZV)
endfunction
function R5V takes nothing returns boolean
return(GetSpellAbilityId()=='A02Z')or(GetSpellAbilityId()=='A02B')
endfunction
function R6V takes nothing returns boolean
return(R5V())
endfunction
function R7V takes nothing returns nothing
call CameraClearNoiseForPlayer(GetOwningPlayer(GetTriggerUnit()))
endfunction
function R8V takes nothing returns boolean
return(GetUnitTypeId(GetSummoningUnit())=='u003')and(GetUnitTypeId(GetSummoningUnit())=='E006')
endfunction
function R9V takes nothing returns nothing
call UnitAddType(GetSummonedUnit(),UNIT_TYPE_SUMMONED)
endfunction
function IVV takes nothing returns boolean
return(GetSpellAbilityId()=='A02X')
endfunction
function IEV takes nothing returns boolean
return(IsUnitIdType(GetUnitTypeId(GetEnumUnit()),UNIT_TYPE_ANCIENT))or(UnitHasBuffBJ(GetEnumUnit(),'B00H'))or(UnitHasBuffBJ(GetEnumUnit(),'BIil'))or(IsUnitType(GetEnumUnit(),UNIT_TYPE_SUMMONED))or(IsUnitType(GetEnumUnit(),UNIT_TYPE_ANCIENT))
endfunction
function IXV takes nothing returns boolean
return(IEV())
endfunction
function IOV takes nothing returns boolean
return(IsUnitIdType(GetUnitTypeId(GetEnumUnit()),UNIT_TYPE_ANCIENT))or(UnitHasBuffBJ(GetEnumUnit(),'B00H'))or(IsUnitType(GetEnumUnit(),UNIT_TYPE_SUMMONED))or(IsUnitType(GetEnumUnit(),UNIT_TYPE_ANCIENT))or(UnitHasBuffBJ(GetEnumUnit(),'BIil'))
endfunction
function IRV takes nothing returns boolean
return(udg_R>0)
endfunction
function IIV takes nothing returns boolean
return(GetUnitTypeId(GetEnumUnit())=='o006')
endfunction
function IAV takes nothing returns boolean
return(GetUnitTypeId(GetEnumUnit())=='o007')
endfunction
function INV takes nothing returns boolean
return(IOV())and(IsUnitEnemy(GetEnumUnit(),GetOwningPlayer(GetSpellAbilityUnit())))and(UnitHasBuffBJ(GetEnumUnit(),'B00Z')==false)and(GetUnitTypeId(GetEnumUnit())!='N029')
endfunction
function IBV takes nothing returns boolean
return(UnitHasBuffBJ(GetEnumUnit(),'Bams'))
endfunction
function ICV takes nothing returns boolean
return(IsUnitAliveBJ(GetEnumUnit()))
endfunction
function IDV takes nothing returns nothing
call UnitRemoveAbility(GetEnumUnit(),'B00D')
if(IXV())then
else
call UnitRemoveAbility(GetEnumUnit(),'Bam2')
endif
if(INV())then
if(IRV())then
set udg_VV=2
else
set udg_VV=1
endif
if(IIV())then
set udg_VV=(udg_VV*4)
endif
if(IAV())then
set udg_VV=(udg_VV*4)
endif
set udg_J=GetUnitLoc(GetEnumUnit())
call CreateNUnitsAtLoc(1,'o005',GetOwningPlayer(GetTriggerUnit()),GetUnitLoc(GetEnumUnit()),bj_UNIT_FACING)
call UnitDamageTargetBJ(bj_lastCreatedUnit,GetEnumUnit(),(((5000.*I2R(GetUnitAbilityLevelSwapped('A02X',GetTriggerUnit())))*I2R(udg_VV))*2.),ATTACK_TYPE_MAGIC,DAMAGE_TYPE_NORMAL)
call RemoveUnit(bj_lastCreatedUnit)
call RemoveLocation(udg_J)
endif
if(ICV())then
call AddSpecialEffectTargetUnitBJ("overhead",GetEnumUnit(),"Abilities\\Spells\\Human\\DispelMagic\\DispelMagicTarget.mdl")
call TriggerExecute(udg_XB)
if(IBV())then
else
call UnitRemoveAbility(GetEnumUnit(),'B016')
call UnitRemoveAbility(GetEnumUnit(),'B018')
call UnitRemoveAbility(GetEnumUnit(),'BUfa')
call UnitRemoveAbility(GetEnumUnit(),'B017')
call UnitRemoveAbility(GetEnumUnit(),'B019')
call UnitRemoveAbility(GetEnumUnit(),'B01A')
call UnitRemoveAbility(GetEnumUnit(),'B00L')
call UnitRemoveAbility(GetEnumUnit(),'B00Q')
call UnitRemoveAbility(GetEnumUnit(),'Binf')
call UnitRemoveAbility(GetEnumUnit(),'Bcri')
call UnitRemoveAbility(GetEnumUnit(),'BNdh')
call UnitRemoveAbility(GetEnumUnit(),'B00R')
call UnitRemoveAbility(GetEnumUnit(),'B00U')
call UnitRemoveAbility(GetEnumUnit(),'B00G')
call UnitRemoveAbility(GetEnumUnit(),'B004')
call UnitRemoveAbility(GetEnumUnit(),'B001')
call UnitRemoveAbility(GetEnumUnit(),'BIrl')
call UnitRemoveAbility(GetEnumUnit(),'B00I')
call UnitRemoveAbility(GetEnumUnit(),'B005')
call UnitRemoveAbility(GetEnumUnit(),'B00B')
call UnitRemoveAbility(GetEnumUnit(),'Beng')
call UnitRemoveAbility(GetEnumUnit(),'Bweb')
call UnitRemoveAbility(GetEnumUnit(),'Bwea')
call UnitRemoveAbility(GetEnumUnit(),'Bweb')
call UnitRemoveAbility(GetEnumUnit(),'BIrm')
endif
endif
endfunction
function IFV takes nothing returns nothing
local location udg_J
set udg_J=GetSpellTargetLoc()
call TriggerSleepAction(2)
set udg_FE=ZT(250.,udg_J)
call ForGroupBJ(udg_FE,function IDV)
call RemoveLocation(udg_J)
call DestroyGroup(udg_FE)
set udg_FE=null
endfunction
function IGV takes nothing returns boolean
return(GetSpellAbilityId()=='AOsh')
endfunction
function IHV takes nothing returns boolean
return(RectContainsLoc(udg_VI,udg_J))
endfunction
function IJV takes nothing returns boolean
return(RectContainsLoc(udg_EI,udg_J))
endfunction
function IKV takes nothing returns boolean
return(IsUnitAlly(GetTriggerUnit(),Player(8)))
endfunction
function ILV takes nothing returns nothing
set udg_J=GetSpellTargetLoc()
if(IKV())then
if(IJV())then
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Orc\\HealingWave\\HealingWaveTarget.mdl")
endif
else
if(IHV())then
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Orc\\HealingWave\\HealingWaveTarget.mdl")
endif
endif
call RemoveLocation(udg_J)
endfunction
function IMV takes nothing returns boolean
return(GetSpellAbilityId()=='A04C')
endfunction
function IPV takes nothing returns nothing
call CreateNUnitsAtLoc(1,'o005',GetOwningPlayer(GetTriggerUnit()),udg_J,bj_UNIT_FACING)
call SetUnitAbilityLevelSwapped('A04D',bj_lastCreatedUnit,GetUnitAbilityLevelSwapped('A04C',GetTriggerUnit()))
call IssueTargetOrderById(bj_lastCreatedUnit,852209,GetEnumUnit())
call SetUnitPositionLoc(bj_lastCreatedUnit,Location(0,0))
call UnitApplyTimedLifeBJ(21.,'BTLF',bj_lastCreatedUnit)
endfunction
function IQV takes nothing returns nothing
set udg_J=GetUnitLoc(GetTriggerUnit())
set udg_FE=ZT((425.+(I2R(GetUnitAbilityLevelSwapped('A04C',GetTriggerUnit()))*25.)),udg_J)
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=2
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call ForGroupBJ(udg_FE,function IPV)
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
call RemoveLocation(udg_J)
call DestroyGroup(udg_FE)
set udg_FE=null
endfunction
function ISV takes nothing returns boolean
return(GetSpellAbilityId()=='A03P')
endfunction
function ITV takes nothing returns nothing
call ModifyHeroStat(0,GetTriggerUnit(),0,(2+GetUnitAbilityLevelSwapped('A03P',GetTriggerUnit())))
endfunction
function IUV takes nothing returns boolean
return(GetSpellAbilityId()=='A038')
endfunction
function IWV takes nothing returns boolean
return(UnitHasBuffBJ(GetSpellTargetUnit(),'B004'))
endfunction
function IYV takes nothing returns nothing
call ModifyHeroSkillPoints(GetSpellTargetUnit(),0,1)
if(IWV())then
call AddHeroXPSwapped((GetUnitLevel(GetSpellTargetUnit())*750),GetTriggerUnit(),true)
endif
endfunction
function IZV takes nothing returns boolean
return(GetSpellAbilityId()=='A016')or(GetSpellAbilityId()=='A04Q')or(GetSpellAbilityId()=='A04H')or(GetSpellAbilityId()=='A04X')or(GetSpellAbilityId()=='A03W')or(GetSpellAbilityId()=='A04Y')or(GetSpellAbilityId()=='A019')or(GetSpellAbilityId()=='A050')or(GetSpellAbilityId()=='A02W')or(GetSpellAbilityId()=='A053')
endfunction
function I_V takes nothing returns boolean
return(IZV())
endfunction
function I0V takes nothing returns boolean
return(GetSpellAbilityId()=='A067')
endfunction
function I1V takes nothing returns boolean
return(GetSpellAbilityId()=='A01D')
endfunction
function I2V takes nothing returns boolean
return(GetSpellAbilityId()=='A06A')
endfunction
function I3V takes nothing returns boolean
return(GetSpellAbilityId()=='A087')
endfunction
function I4V takes nothing returns boolean
return(GetSpellAbilityId()=='A01B')or(GetSpellAbilityId()=='A04Z')
endfunction
function I5V takes nothing returns boolean
return(I4V())
endfunction
function I6V takes nothing returns boolean
return(GetSpellAbilityId()=='A02A')or(GetSpellAbilityId()=='A059')
endfunction
function I7V takes nothing returns boolean
return(I6V())
endfunction
function I8V takes nothing returns boolean
return(RectContainsLoc(udg_EI,udg_J))
endfunction
function I9V takes nothing returns nothing
set udg_J=GetSpellTargetLoc()
if(I8V())then
if(I_V())then
call DisplayTimedTextToForce(udg_H[2],1.,(("|cffff4040"+GetPlayerName(GetOwningPlayer(GetTriggerUnit())))+("|r used |cffffcc00"+(GetObjectName(GetSpellAbilityId())+("|r on |cff32cd32"+(GetPlayerName(GetOwningPlayer(GetSpellTargetUnit()))+"|r!"))))))
endif
if(I0V())then
call DisplayTimedTextToForce(udg_H[2],1.,(("|cffff4040"+GetPlayerName(GetOwningPlayer(GetTriggerUnit())))+("|r summoned |cffffcc00"+"Uthmor|r!")))
endif
if(I1V())then
call DisplayTimedTextToForce(udg_H[2],1.,(("|cffff4040"+GetPlayerName(GetOwningPlayer(GetTriggerUnit())))+("|r summoned |cffffcc00"+"Arhat|r!")))
endif
if(I2V())then
call DisplayTimedTextToForce(udg_H[2],1.,(("|cffff4040"+GetPlayerName(GetOwningPlayer(GetTriggerUnit())))+("|r summoned |cffffcc00"+"Sidholt|r!")))
endif
if(I3V())then
call DisplayTimedTextToForce(udg_H[2],1.,(("|cffff4040"+GetPlayerName(GetOwningPlayer(GetTriggerUnit())))+("|r summoned |cffffcc00"+"Havroth|r!")))
endif
if(I5V())then
call DisplayTimedTextToForce(udg_H[2],1.,(("|cffff4040"+GetPlayerName(GetOwningPlayer(GetTriggerUnit())))+("|r summoned |cffffcc00"+"Joymays Legacy|r!")))
endif
if(I7V())then
call DisplayTimedTextToForce(udg_H[2],1.,(("|cffff4040"+GetPlayerName(GetOwningPlayer(GetTriggerUnit())))+("|r summoned |cffffcc00"+"Kalestraums Darkgift|r!")))
endif
endif
call RemoveLocation(udg_J)
endfunction
function AVV takes nothing returns boolean
return(GetSpellAbilityId()=='A016')or(GetSpellAbilityId()=='A04Q')or(GetSpellAbilityId()=='A04H')or(GetSpellAbilityId()=='A04X')or(GetSpellAbilityId()=='A03W')or(GetSpellAbilityId()=='A04Y')or(GetSpellAbilityId()=='A019')or(GetSpellAbilityId()=='A050')or(GetSpellAbilityId()=='A02W')or(GetSpellAbilityId()=='A053')
endfunction
function AEV takes nothing returns boolean
return(AVV())
endfunction
function AXV takes nothing returns boolean
return(GetSpellAbilityId()=='A067')
endfunction
function AOV takes nothing returns boolean
return(GetSpellAbilityId()=='A01D')
endfunction
function ARV takes nothing returns boolean
return(GetSpellAbilityId()=='A06A')
endfunction
function AIV takes nothing returns boolean
return(GetSpellAbilityId()=='A087')
endfunction
function AAV takes nothing returns boolean
return(GetSpellAbilityId()=='A01B')or(GetSpellAbilityId()=='A04Z')
endfunction
function ANV takes nothing returns boolean
return(AAV())
endfunction
function ABV takes nothing returns boolean
return(GetSpellAbilityId()=='A02A')or(GetSpellAbilityId()=='A059')
endfunction
function ACV takes nothing returns boolean
return(ABV())
endfunction
function ADV takes nothing returns boolean
return(RectContainsLoc(udg_VI,udg_J))
endfunction
function AFV takes nothing returns nothing
set udg_J=GetSpellTargetLoc()
if(ADV())then
if(AEV())then
call DisplayTimedTextToForce(udg_H[1],1.,(("|cffff4040"+GetPlayerName(GetOwningPlayer(GetTriggerUnit())))+("|r used |cffffcc00"+(GetObjectName(GetSpellAbilityId())+("|r on |cff32cd32"+(GetPlayerName(GetOwningPlayer(GetSpellTargetUnit()))+"|r!"))))))
endif
if(AXV())then
call DisplayTimedTextToForce(udg_H[1],1.,(("|cffff4040"+GetPlayerName(GetOwningPlayer(GetTriggerUnit())))+("|r summoned |cffffcc00"+"Uthmor|r!")))
endif
if(AOV())then
call DisplayTimedTextToForce(udg_H[1],1.,(("|cffff4040"+GetPlayerName(GetOwningPlayer(GetTriggerUnit())))+("|r summoned |cffffcc00"+"Arhat|r!")))
endif
if(ARV())then
call DisplayTimedTextToForce(udg_H[1],1.,(("|cffff4040"+GetPlayerName(GetOwningPlayer(GetTriggerUnit())))+("|r summoned |cffffcc00"+"Sidholt|r!")))
endif
if(AIV())then
call DisplayTimedTextToForce(udg_H[1],1.,(("|cffff4040"+GetPlayerName(GetOwningPlayer(GetTriggerUnit())))+("|r summoned |cffffcc00"+"Havroth|r!")))
endif
if(ANV())then
call DisplayTimedTextToForce(udg_H[1],1.,(("|cffff4040"+GetPlayerName(GetOwningPlayer(GetTriggerUnit())))+("|r summoned |cffffcc00"+"Joymays Legacy|r!")))
endif
if(ACV())then
call DisplayTimedTextToForce(udg_H[1],1.,(("|cffff4040"+GetPlayerName(GetOwningPlayer(GetTriggerUnit())))+("|r summoned |cffffcc00"+"Kalestraums Darkgift|r!")))
endif
endif
call RemoveLocation(udg_J)
endfunction
function AGV takes nothing returns boolean
return(UnitHasBuffBJ(GetEnumUnit(),'B00D')==false)and(GetUnitCurrentOrder(GetEnumUnit())==String2OrderIdBJ("stand"))
endfunction
function AHV takes nothing returns nothing
if(AGV())then
call IssuePointOrderByIdLoc(GetEnumUnit(),851983,Location(-6400.,-3072.))
call GroupRemoveUnit(udg_OX[1],GetEnumUnit())
endif
endfunction
function AJV takes nothing returns boolean
return(UnitHasBuffBJ(GetEnumUnit(),'B00D')==false)and(GetUnitCurrentOrder(GetEnumUnit())==String2OrderIdBJ("stand"))
endfunction
function AKV takes nothing returns nothing
if(AJV())then
call IssuePointOrderByIdLoc(GetEnumUnit(),851983,Location(6400.,-3072.))
call GroupRemoveUnit(udg_OX[2],GetEnumUnit())
endif
endfunction
function ALV takes nothing returns nothing
call TriggerSleepAction(26.)
call ForGroupBJ(udg_OX[1],function AHV)
call DestroyGroup(udg_OX[1])
set udg_OX[1]=null
call ForGroupBJ(udg_OX[2],function AKV)
call DestroyGroup(udg_OX[2])
set udg_OX[2]=null
endfunction
function AMV takes nothing returns boolean
return(GetSpellAbilityId()=='A01F')or(GetSpellAbilityId()=='A04S')
endfunction
function APV takes nothing returns boolean
return(AMV())and(GetUnitTypeId(GetSpellTargetUnit())=='E00S')
endfunction
function AQV takes nothing returns boolean
return(GetSpellAbilityId()=='A01F')
endfunction
function ASV takes nothing returns nothing
set udg_J=GetUnitLoc(GetSpellTargetUnit())
set udg_F=GetSpellTargetUnit()
call CreateNUnitsAtLoc(1,'earc',GetOwningPlayer(GetSpellTargetUnit()),udg_J,bj_UNIT_FACING)
call SetUnitManaBJ(bj_lastCreatedUnit,(GetUnitStateSwap(UNIT_STATE_MANA,GetSpellTargetUnit())*.5))
call UnitApplyTimedLifeBJ(1.,'BTLF',bj_lastCreatedUnit)
call SetUnitVertexColorBJ(bj_lastCreatedUnit,'d','d','d',100.)
call SetWidgetLife(GetSpellTargetUnit(),(GetUnitStateSwap(UNIT_STATE_LIFE,GetSpellTargetUnit())-(GetUnitStateSwap(UNIT_STATE_MANA,GetSpellTargetUnit())*.4)))
call SetUnitManaBJ(GetSpellTargetUnit(),.0)
call IssueImmediateOrderById(GetTriggerUnit(),851972)
if(AQV())then
call SetUnitManaBJ(GetTriggerUnit(),(GetUnitStateSwap(UNIT_STATE_MANA,GetTriggerUnit())+300.))
else
call SetUnitManaBJ(GetTriggerUnit(),(GetUnitStateSwap(UNIT_STATE_MANA,GetTriggerUnit())+200.))
endif
call DisableTrigger(GetTriggeringTrigger())
call IssueTargetOrderById(GetTriggerUnit(),852179,bj_lastCreatedUnit)
call AddSpecialEffectTargetUnitBJ("overhead",udg_F,"Abilities\\Spells\\NightElf\\ManaBurn\\ManaBurnTarget.mdl")
call TriggerExecute(udg_XB)
call EnableTrigger(GetTriggeringTrigger())
call RemoveLocation(udg_J)
endfunction
function ATV takes nothing returns boolean
return(GetLearnedSkill()=='A06E')
endfunction
function AUV takes nothing returns boolean
return(IsUnitAlly(GetTriggerUnit(),Player(0)))
endfunction
function AWV takes nothing returns nothing
if(AUV())then
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=4
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call SetPlayerHandicapBJ(Player(-1+(bj_forLoopAIndex)),(100.+(2.5*I2R(GetUnitAbilityLevelSwapped('A06E',GetTriggerUnit())))))
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
else
set bj_forLoopAIndex=5
set bj_forLoopAIndexEnd=8
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call SetPlayerHandicapBJ(Player(-1+(bj_forLoopAIndex)),(100.+(2.5*I2R(GetUnitAbilityLevelSwapped('A06E',GetTriggerUnit())))))
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
endif
endfunction
function AYV takes nothing returns boolean
return(GetSpellAbilityId()=='A077')
endfunction
function AZV takes nothing returns boolean
return(GetUnitTypeId(GetEnumUnit())=='n00L')or(GetUnitTypeId(GetEnumUnit())=='n00U')or(GetUnitTypeId(GetEnumUnit())=='n017')or(GetUnitTypeId(GetEnumUnit())=='n018')
endfunction
function A_V takes nothing returns boolean
return(IsUnitEnemy(GetEnumUnit(),GetOwningPlayer(GetTriggerUnit())))and(AZV())
endfunction
function A0V takes nothing returns nothing
if(A_V())then
set udg_DE=GetUnitLoc(GetEnumUnit())
call AddSpecialEffectLocBJ(udg_DE,"Abilities\\Spells\\Human\\MassTeleport\\MassTeleportTarget.mdl")
call CreateItemLoc('I01D',udg_DE)
call RemoveUnit(GetEnumUnit())
call TriggerExecute(udg_XB)
call RemoveLocation(udg_DE)
endif
endfunction
function A1V takes nothing returns nothing
set udg_J=GetSpellTargetLoc()
set udg_FE=ZT(300.,udg_J)
call ForGroupBJ(udg_FE,function A0V)
call DestroyGroup(udg_FE)
set udg_FE=null
call RemoveLocation(udg_J)
endfunction
function A2V takes nothing returns boolean
return(GetSpellAbilityId()=='A01H')and(UnitHasBuffBJ(GetTriggerUnit(),'B014'))
endfunction
function A3V takes nothing returns boolean
return(IsUnitEnemy(GetFilterUnit(),GetOwningPlayer(GetTriggerUnit())))
endfunction
function A4V takes nothing returns boolean
return(IsUnitAliveBJ(GetEnumUnit())==false)or(IsUnitDeadBJ(GetEnumUnit()))or(GetUnitStateSwap(UNIT_STATE_LIFE,GetEnumUnit())<=.0)
endfunction
function A5V takes nothing returns boolean
return(A4V())
endfunction
function A6V takes nothing returns nothing
if(A5V())then
call GroupRemoveUnit(udg_QO[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],GetEnumUnit())
endif
endfunction
function A7V takes nothing returns boolean
return(IsUnitEnemy(GetFilterUnit(),GetOwningPlayer(GetTriggerUnit())))
endfunction
function A8V takes nothing returns boolean
return(IsUnitAliveBJ(GetEnumUnit())==false)or(IsUnitDeadBJ(GetEnumUnit()))or(GetUnitStateSwap(UNIT_STATE_LIFE,GetEnumUnit())<=.0)
endfunction
function A9V takes nothing returns boolean
return(A8V())
endfunction
function NVV takes nothing returns nothing
if(A9V())then
call GroupRemoveUnit(udg_QO[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],GetEnumUnit())
endif
endfunction
function NEV takes nothing returns boolean
return(IsUnitGroupEmptyBJ(udg_QO[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])==false)
endfunction
function NXV takes nothing returns boolean
return(IsUnitGroupEmptyBJ(udg_QO[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])==false)
endfunction
function NOV takes nothing returns nothing
local unit udg_F
local location udg_J
set udg_MO[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=GetUnitLoc(GetTriggerUnit())
call UnitAddAbility(GetTriggerUnit(),'A04T')
call UnitAddAbility(GetTriggerUnit(),'A08T')
set udg_PO[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=1
loop
exitwhen udg_PO[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]>((GetUnitAbilityLevelSwapped('A03Q',GetTriggerUnit())*1)+10)
set udg_QO[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=UT(1000.,udg_MO[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],Condition(function A3V))
call ForGroupBJ(udg_QO[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],function A6V)
if(NXV())then
call TriggerSleepAction(.65)
set udg_F=GroupPickRandomUnit(udg_QO[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
set udg_J=GetUnitLoc(udg_F)
call SetUnitPositionLocFacingBJ(GetTriggerUnit(),udg_J,GetUnitFacing(udg_F))
call RemoveLocation(udg_J)
else
call TriggerSleepAction(.65)
set udg_J=GetUnitLoc(GetTriggerUnit())
set udg_QO[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=UT(1000.,udg_J,Condition(function A7V))
call ForGroupBJ(udg_QO[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],function NVV)
call RemoveLocation(udg_J)
if(NEV())then
set udg_F=GroupPickRandomUnit(udg_QO[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
set udg_J=GetUnitLoc(udg_F)
call SetUnitPositionLocFacingBJ(GetTriggerUnit(),udg_J,GetUnitFacing(udg_F))
call RemoveLocation(udg_J)
endif
endif
set udg_PO[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=udg_PO[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]+1
endloop
call DestroyGroup(udg_QO[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
set udg_QO[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=null
call UnitRemoveAbility(GetTriggerUnit(),'B013')
call UnitRemoveAbility(GetTriggerUnit(),'A04T')
call UnitRemoveAbility(GetTriggerUnit(),'A08T')
endfunction
function NRV takes nothing returns boolean
return(GetSpellAbilityId()=='A00W')
endfunction
function NIV takes nothing returns nothing
call UnitRemoveAbility(GetEnumUnit(),'Apiv')
endfunction
function NAV takes nothing returns nothing
set udg_J=GetUnitLoc(GetTriggerUnit())
set udg_FE=ZT(1500.,udg_J)
call ForGroupBJ(ZT(1500.,udg_J),function NIV)
call RemoveLocation(udg_J)
call DestroyGroup(udg_FE)
set udg_FE=null
endfunction
function NNV takes nothing returns boolean
return(GetSpellAbilityId()=='A02E')
endfunction
function NBV takes nothing returns boolean
return(IsUnitEnemy(GetFilterUnit(),GetOwningPlayer(GetTriggerUnit())))
endfunction
function NCV takes nothing returns boolean
return(IsUnitAliveBJ(GetFilterUnit()))
endfunction
function NDV takes nothing returns boolean
return GetBooleanAnd(NBV(),NCV())
endfunction
function NFV takes nothing returns boolean
return(UnitHasBuffBJ(GetEnumUnit(),'Bams')==false)and(UnitHasBuffBJ(GetEnumUnit(),'B00Z')==false)and(UnitHasBuffBJ(GetEnumUnit(),'Bam2')==false)
endfunction
function NGV takes nothing returns nothing
if(NFV())then
call IssueTargetOrderById(GetTriggerUnit(),852095,GetEnumUnit())
endif
endfunction
function NHV takes nothing returns nothing
set udg_J=GetUnitLoc(GetTriggerUnit())
set udg_FE=UT((1000.+(I2R(GetUnitAbilityLevelSwapped('A01Q',GetTriggerUnit()))*350.)),udg_J,Condition(function NDV))
call ForGroupBJ(udg_FE,function NGV)
call RemoveLocation(udg_J)
call DestroyGroup(udg_FE)
set udg_FE=null
endfunction
function NJV takes nothing returns boolean
return(GetSpellAbilityId()=='A057')
endfunction
function NKV takes nothing returns nothing
call CreateNUnitsAtLoc(1,'o005',GetOwningPlayer(GetTriggerUnit()),Location(0,0),bj_UNIT_FACING)
call SetUnitAbilityLevelSwapped('A058',bj_lastCreatedUnit,GetUnitAbilityLevelSwapped('A057',GetTriggerUnit()))
call IssueTargetOrderById(bj_lastCreatedUnit,852160,GetTriggerUnit())
call RemoveUnit(bj_lastCreatedUnit)
endfunction
function NLV takes nothing returns boolean
return(GetSpellAbilityId()=='A08D')
endfunction
function NMV takes nothing returns nothing
call CreateNUnitsAtLoc(1,'o00W',GetOwningPlayer(GetTriggerUnit()),Location(0,0),bj_UNIT_FACING)
call SetUnitAbilityLevelSwapped('A08D',bj_lastCreatedUnit,GetUnitAbilityLevelSwapped('A08D',GetTriggerUnit()))
call IssueTargetOrderById(bj_lastCreatedUnit,852160,GetTriggerUnit())
call RemoveUnit(bj_lastCreatedUnit)
endfunction
function NPV takes nothing returns boolean
return(GetSpellAbilityId()=='A033')
endfunction
function NQV takes nothing returns nothing
set udg_J=GetSpellTargetLoc()
call CreateNUnitsAtLoc(1,'o005',GetOwningPlayer(GetTriggerUnit()),udg_J,bj_UNIT_FACING)
call IssueImmediateOrderById(bj_lastCreatedUnit,852588)
call RemoveUnit(bj_lastCreatedUnit)
call RemoveLocation(udg_J)
endfunction
function NSV takes nothing returns boolean
return(GetSpellAbilityId()=='A02K')
endfunction
function NTV takes nothing returns nothing
call AdjustPlayerStateBJ((4+(GetHeroLevel(GetTriggerUnit())/4)),GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Objects\\Spawnmodels\\Other\\ToonBoom\\ToonBoom.mdl")
call TriggerExecute(udg_XB)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Weapons\\GryphonRiderMissile\\GryphonRiderMissileTarget.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
endfunction
function NUV takes nothing returns boolean
return(GetSpellAbilityId()=='A01V')
endfunction
function NWV takes nothing returns nothing
set udg_J=GetUnitLoc(GetTriggerUnit())
call PlaySoundAtPointBJ(udg_WI,'d',udg_J,0)
call TerrainDeformationCraterBJ(1.,false,udg_J,400.,100.)
call AddSpecialEffectLocBJ(udg_J,"Units\\NightElf\\Wisp\\WispExplode.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
endfunction
function NYV takes nothing returns boolean
return(GetUnitTypeId(GetSummonedUnit())=='e00D')and(GetTimeOfDay()==.0)
endfunction
function NZV takes nothing returns nothing
set udg_J=GetUnitLoc(GetSummonedUnit())
call CreateNUnitsAtLoc(1,'e00D',GetOwningPlayer(GetTriggerUnit()),udg_J,bj_UNIT_FACING)
call UnitApplyTimedLifeBJ(8.,'BTLF',bj_lastCreatedUnit)
call RemoveLocation(udg_J)
endfunction
function N_V takes nothing returns boolean
return(GetSpellAbilityId()=='A00F')
endfunction
function N0V takes nothing returns nothing
call PlaySoundOnUnitBJ(udg_TI,'d',GetSpellAbilityUnit())
call ModifyHeroStat(0,GetTriggerUnit(),0,2)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\AIim\\AIimTarget.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
endfunction
function N1V takes nothing returns boolean
return(GetSpellAbilityId()=='A01J')
endfunction
function N2V takes nothing returns boolean
return(GetUnitAbilityLevelSwapped('A01J',GetTriggerUnit())<=5)
endfunction
function N3V takes nothing returns nothing
if(N2V())then
call ModifyHeroStat(0,GetSpellTargetUnit(),0,GetRandomInt(GetUnitAbilityLevelSwapped('A01J',GetTriggerUnit()),5))
call ModifyHeroStat(1,GetSpellTargetUnit(),0,GetRandomInt(GetUnitAbilityLevelSwapped('A01J',GetTriggerUnit()),5))
call ModifyHeroStat(2,GetSpellTargetUnit(),0,GetRandomInt(GetUnitAbilityLevelSwapped('A01J',GetTriggerUnit()),5))
set udg_J=GetUnitLoc(GetSpellTargetUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\AIsm\\AIsmTarget.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
else
call ModifyHeroStat(0,GetSpellTargetUnit(),0,GetRandomInt(5,GetUnitAbilityLevelSwapped('A01J',GetTriggerUnit())))
call ModifyHeroStat(1,GetSpellTargetUnit(),0,GetRandomInt(5,GetUnitAbilityLevelSwapped('A01J',GetTriggerUnit())))
call ModifyHeroStat(2,GetSpellTargetUnit(),0,GetRandomInt(5,GetUnitAbilityLevelSwapped('A01J',GetTriggerUnit())))
set udg_J=GetUnitLoc(GetSpellTargetUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\AIsm\\AIsmTarget.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
endif
endfunction
function N4V takes nothing returns boolean
return(GetSpellAbilityId()=='A05U')
endfunction
function N5V takes nothing returns nothing
call PlaySoundBJ(udg_QI)
call DisplayTimedTextToForce(bj_FORCE_ALL_PLAYERS,4.,(GetPlayerName(GetOwningPlayer(GetTriggerUnit()))+(" has stolen "+(I2S((GetPlayerState(GetOwningPlayer(GetSpellTargetUnit()),PLAYER_STATE_RESOURCE_GOLD)/20))+(" gold from "+(GetPlayerName(GetOwningPlayer(GetSpellTargetUnit()))+"!"))))))
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)+(GetPlayerState(GetOwningPlayer(GetSpellTargetUnit()),PLAYER_STATE_RESOURCE_GOLD)/20)))
call SetPlayerStateBJ(GetOwningPlayer(GetSpellTargetUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetSpellTargetUnit()),PLAYER_STATE_RESOURCE_GOLD)-(GetPlayerState(GetOwningPlayer(GetSpellTargetUnit()),PLAYER_STATE_RESOURCE_GOLD)/20)))
call AddSpecialEffectTargetUnitBJ("overhead",GetSpellTargetUnit(),"Abilities\\Spells\\Human\\Flare\\FlareCaster.mdl")
call TriggerExecute(udg_XB)
endfunction
function N6V takes nothing returns boolean
return(GetSpellAbilityId()=='A00J')
endfunction
function N7V takes nothing returns boolean
return(UnitHasItem(udg_F,UnitItemInSlotBJ(udg_F,bj_forLoopAIndex)))and(UnitItemInSlotBJ(udg_F,bj_forLoopAIndex)!=GetItemOfTypeFromUnitBJ(udg_F,'I01Q'))and(UnitItemInSlotBJ(udg_F,bj_forLoopAIndex)!=GetItemOfTypeFromUnitBJ(udg_F,'I012'))and(UnitItemInSlotBJ(udg_F,bj_forLoopAIndex)!=GetItemOfTypeFromUnitBJ(udg_F,'I03M'))and(UnitItemInSlotBJ(udg_F,bj_forLoopAIndex)!=GetItemOfTypeFromUnitBJ(udg_F,'I03W'))and(UnitItemInSlotBJ(udg_F,bj_forLoopAIndex)!=GetItemOfTypeFromUnitBJ(udg_F,'I046'))and(UnitItemInSlotBJ(udg_F,bj_forLoopAIndex)!=GetItemOfTypeFromUnitBJ(udg_F,'I01L'))and(UnitItemInSlotBJ(udg_F,bj_forLoopAIndex)!=GetItemOfTypeFromUnitBJ(udg_F,'I01N'))and(UnitItemInSlotBJ(udg_F,bj_forLoopAIndex)!=GetItemOfTypeFromUnitBJ(udg_F,'I00W'))and(UnitItemInSlotBJ(udg_F,bj_forLoopAIndex)!=GetItemOfTypeFromUnitBJ(udg_F,'I01W'))and(UnitItemInSlotBJ(udg_F,bj_forLoopAIndex)!=GetItemOfTypeFromUnitBJ(udg_F,'I01Y'))and(UnitItemInSlotBJ(udg_F,bj_forLoopAIndex)!=GetItemOfTypeFromUnitBJ(udg_F,'I020'))
endfunction
function N8V takes nothing returns nothing
local integer udg_VV
local item N9V
local integer array BVV
local integer array BEV
local unit BXV
set BXV=GetSpellTargetUnit()
call CreateNUnitsAtLoc(1,'o005',GetOwningPlayer(GetTriggerUnit()),GetUnitLoc(BXV),bj_UNIT_FACING)
call IssueTargetOrderById(bj_lastCreatedUnit,852190,BXV)
call RemoveUnit(bj_lastCreatedUnit)
if(UnitHasBuffBJ(BXV,'B00X'))then
set udg_F=GetSpellTargetUnit()
set udg_VV=0
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=6
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
set BVV[bj_forLoopAIndex]=0
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=6
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
set BEV[bj_forLoopAIndex]=0
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=6
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
if(N7V())then
set BVV[bj_forLoopAIndex]=1
endif
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=6
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
if(BVV[bj_forLoopAIndex]==1)then
set udg_VV=(udg_VV+1)
set BEV[udg_VV]=bj_forLoopAIndex
endif
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
call UnitRemoveItemFromSlotSwapped(BEV[GetRandomInt(1,udg_VV)],udg_F)
set N9V=bj_lastRemovedItem
call SetItemVisible(N9V,false)
call TriggerSleepAction(7.)
call SetItemVisible(N9V,true)
endif
endfunction
function BOV takes nothing returns boolean
return(GetSpellAbilityId()=='A05H')
endfunction
function BRV takes nothing returns nothing
call CameraClearNoiseForPlayer(GetOwningPlayer(GetTriggerUnit()))
call UnitAddAbility(GetTriggerUnit(),'A025')
call UnitAddAbility(GetTriggerUnit(),'Amim')
call TriggerSleepAction(20.)
call UnitRemoveAbility(GetTriggerUnit(),'A025')
call UnitRemoveAbility(GetTriggerUnit(),'Amim')
endfunction
function BIV takes nothing returns boolean
return(GetSpellAbilityId()=='A08V')
endfunction
function BAV takes nothing returns nothing
set udg_J=GetUnitLoc(GetTriggerUnit())
call CreateNUnitsAtLoc(1,'o005',GetOwningPlayer(GetTriggerUnit()),udg_J,bj_UNIT_FACING)
call IssueTargetOrderById(bj_lastCreatedUnit,852189,GetTriggerUnit())
call RemoveUnit(bj_lastCreatedUnit)
call RemoveLocation(udg_J)
endfunction
function BNV takes nothing returns boolean
return(GetSpellAbilityId()=='A03G')
endfunction
function BBV takes nothing returns boolean
return(IsUnitEnemy(GetEnumUnit(),GetOwningPlayer(GetTriggerUnit())))and(IsUnitAliveBJ(GetEnumUnit()))
endfunction
function BCV takes nothing returns nothing
if(BBV())then
call CreateNUnitsAtLoc(1,'o005',GetOwningPlayer(GetTriggerUnit()),udg_J,bj_UNIT_FACING)
call IssueTargetOrderById(bj_lastCreatedUnit,852486,GetEnumUnit())
call RemoveUnit(bj_lastCreatedUnit)
call AddSpecialEffectTargetUnitBJ("overhead",GetEnumUnit(),"Abilities\\Spells\\Undead\\AnimateDead\\AnimateDeadTarget.mdl")
call TriggerExecute(udg_XB)
endif
endfunction
function BDV takes nothing returns nothing
set udg_J=GetSpellTargetLoc()
set udg_FE=ZT((150.+(55.*I2R(GetUnitAbilityLevelSwapped('A03G',GetTriggerUnit())))),udg_J)
call ForGroupBJ(udg_FE,function BCV)
call RemoveLocation(udg_J)
call DestroyGroup(udg_FE)
set udg_FE=null
endfunction
function BFV takes nothing returns boolean
return(GetSpellAbilityId()=='A05K')
endfunction
function BGV takes nothing returns boolean
return(GetUnitTypeId(GetSpellTargetUnit())!='h000')
endfunction
function BHV takes nothing returns nothing
if(BGV())then
set udg_F=GetSpellTargetUnit()
set udg_J=GetUnitLoc(GetSpellTargetUnit())
call SetUnitPositionLoc(udg_F,Location(0,0))
call PlaySoundAtPointBJ(udg_OA,'d',udg_J,0)
call CreateNUnitsAtLoc(1,'opeo',Player(15),udg_J,bj_UNIT_FACING)
call IssueBuildOrderByIdLocBJ(bj_lastCreatedUnit,GetUnitTypeId(udg_F),udg_J)
call UnitApplyTimedLifeBJ(30.,'BTLF',bj_lastCreatedUnit)
call ExplodeUnitBJ(udg_F)
call RemoveLocation(udg_J)
endif
endfunction
function BJV takes nothing returns boolean
return(GetSpellAbilityId()=='A04P')
endfunction
function BKV takes nothing returns nothing
call PlaySoundOnUnitBJ(udg_ZI,'d',GetTriggerUnit())
call PlaySoundOnUnitBJ(udg_ZI,'d',GetSpellTargetUnit())
call UnitResetCooldown(GetSpellTargetUnit())
set udg_J=GetUnitLoc(GetSpellTargetUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Undead\\AnimateDead\\AnimateDeadTarget.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
endfunction
function BLV takes nothing returns boolean
return(GetSpellAbilityId()=='A03N')
endfunction
function BMV takes nothing returns boolean
return(GetUnitCurrentOrder(GetSpellAbilityUnit())==852184)
endfunction
function BPV takes nothing returns boolean
return(GetUnitCurrentOrder(GetSpellAbilityUnit())==852184)
endfunction
function BQV takes nothing returns boolean
return(GetUnitCurrentOrder(GetSpellAbilityUnit())==852184)
endfunction
function BSV takes nothing returns boolean
return(udg_QE[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]<=7.)
endfunction
function BTV takes nothing returns nothing
call PlaySoundOnUnitBJ(udg_VA,'d',GetSpellAbilityUnit())
call AddSpecialEffectTargetUnitBJ("weapon",GetSpellAbilityUnit(),"Abilities\\Spells\\Other\\Monsoon\\MonsoonBoltTarget.mdl")
call TriggerExecute(udg_XB)
call CT(.7)
if(BMV())then
else
return
endif
call AddSpecialEffectTargetUnitBJ("weapon",GetSpellAbilityUnit(),"Abilities\\Spells\\Other\\Monsoon\\MonsoonBoltTarget.mdl")
call TriggerExecute(udg_XB)
call CT(.7)
if(BPV())then
else
return
endif
call AddSpecialEffectTargetUnitBJ("weapon",GetSpellAbilityUnit(),"Abilities\\Spells\\Other\\Monsoon\\MonsoonBoltTarget.mdl")
call TriggerExecute(udg_XB)
call CT(.7)
if(BQV())then
else
return
endif
call AddSpecialEffectTargetUnitBJ("weapon",GetSpellAbilityUnit(),"Abilities\\Spells\\Other\\Monsoon\\MonsoonBoltTarget.mdl")
call TriggerExecute(udg_XB)
call CT(.7)
call PlaySoundOnUnitBJ(udg_VA,'d',GetSpellAbilityUnit())
call UnitRemoveAbility(GetTriggerUnit(),'A03N')
call UnitAddAbility(GetTriggerUnit(),'A03O')
call AddSpecialEffectTargetUnitBJ("weapon",GetSpellAbilityUnit(),"Abilities\\Spells\\Other\\Monsoon\\MonsoonBoltTarget.mdl")
call TriggerExecute(udg_XB)
call CT(udg_QE[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
if(BSV())then
set udg_QE[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=(udg_QE[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]+.06)
endif
call UnitRemoveAbility(GetTriggerUnit(),'A03O')
call UnitRemoveAbility(GetTriggerUnit(),'BEar')
call UnitAddAbility(GetTriggerUnit(),'A03N')
call RemoveLocation(udg_J)
endfunction
function BUV takes nothing returns boolean
return(GetSpellAbilityId()=='A03M')and(GetUnitAbilityLevelSwapped('A03O',GetTriggerUnit())==1)
endfunction
function BWV takes nothing returns boolean
return(IsUnitEnemy(GetFilterUnit(),GetOwningPlayer(GetTriggerUnit())))
endfunction
function BYV takes nothing returns boolean
return(IsUnitAliveBJ(GetFilterUnit()))
endfunction
function BZV takes nothing returns boolean
return GetBooleanAnd(BWV(),BYV())
endfunction
function B_V takes nothing returns nothing
call AddSpecialEffectTargetUnitBJ("origin",GetEnumUnit(),"Abilities\\Spells\\Other\\Monsoon\\MonsoonBoltTarget.mdl")
call TriggerExecute(udg_XB)
endfunction
function B0V takes nothing returns nothing
call PlaySoundBJ(udg_VA)
call PlaySoundBJ(udg_WI)
call AddSpecialEffectTargetUnitBJ("weapon",GetTriggerUnit(),"Abilities\\Spells\\Other\\Monsoon\\MonsoonBoltTarget.mdl")
call TriggerExecute(udg_XB)
call CT(.3)
set udg_J=GetUnitLoc(GetTriggerUnit())
set udg_FE=UT(2000.,udg_J,Condition(function BZV))
call ForGroupBJ(udg_FE,function B_V)
call CreateNUnitsAtLoc(1,'o005',GetOwningPlayer(GetTriggerUnit()),udg_J,bj_UNIT_FACING)
call IssueImmediateOrderById(bj_lastCreatedUnit,852096)
call RemoveUnit(bj_lastCreatedUnit)
call RemoveLocation(udg_J)
call DestroyGroup(udg_FE)
set udg_FE=null
endfunction
function B1V takes nothing returns boolean
return(GetSpellAbilityId()=='A05T')
endfunction
function B2V takes nothing returns nothing
set udg_W[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=GetUnitLoc(GetSpellTargetUnit())
endfunction
function B3V takes nothing returns boolean
return(GetSpellAbilityId()=='A027')
endfunction
function B4V takes nothing returns boolean
return(GetUnitAbilityLevelSwapped('A03O',GetTriggerUnit())==1)
endfunction
function B5V takes nothing returns nothing
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=GetUnitAbilityLevelSwapped('A027',GetTriggerUnit())
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call UnitAddItemByIdSwapped('I014',GetTriggerUnit())
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
if(B4V())then
call PlaySoundOnUnitBJ(udg_VA,'d',GetTriggerUnit())
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=GetUnitAbilityLevelSwapped('A027',GetTriggerUnit())
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call UnitAddItemByIdSwapped('I014',GetTriggerUnit())
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
call AddSpecialEffectTargetUnitBJ("weapon",GetTriggerUnit(),"Abilities\\Spells\\Human\\Flare\\FlareCaster.mdl")
call TriggerExecute(udg_XB)
call AddSpecialEffectTargetUnitBJ("weapon",GetTriggerUnit(),"Abilities\\Spells\\Other\\Monsoon\\MonsoonBoltTarget.mdl")
call TriggerExecute(udg_XB)
endif
endfunction
function B6V takes nothing returns boolean
return(GetUnitTypeId(GetSummoningUnit())=='E00J')and(GetUnitTypeId(GetSummonedUnit())=='o007')
endfunction
function B7V takes nothing returns boolean
return(IsPlayerEnemy(GetOwningPlayer(GetEnumUnit()),GetOwningPlayer(GetSummonedUnit())))
endfunction
function B8V takes nothing returns nothing
if(B7V())then
call IssueTargetOrderById(GetEnumUnit(),851983,GetSummonedUnit())
endif
endfunction
function B9V takes nothing returns nothing
set udg_J=GetUnitLoc(GetSummonedUnit())
call CreateNUnitsAtLoc(1,'o00L',GetOwningPlayer(GetTriggerUnit()),Location(0,0),bj_UNIT_FACING)
call UnitAddAbility(bj_lastCreatedUnit,'A08U')
call IssueTargetOrderById(bj_lastCreatedUnit,852225,GetSummonedUnit())
call RemoveUnit(bj_lastCreatedUnit)
set udg_FE=ZT(600.,udg_J)
call ForGroupBJ(udg_FE,function B8V)
call RemoveLocation(udg_J)
call DestroyGroup(udg_FE)
set udg_FE=null
endfunction
function CVV takes nothing returns boolean
return(GetSpellAbilityId()=='A05T')
endfunction
function CEV takes nothing returns boolean
return(GetUnitTypeId(GetEnumUnit())=='E00G')
endfunction
function CXV takes nothing returns nothing
if(CEV())then
set udg_J=GetUnitLoc(GetEnumUnit())
call SetUnitManaBJ(GetEnumUnit(),GetUnitStateSwap(UNIT_STATE_MAX_MANA,GetEnumUnit()))
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\AIma\\AImaTarget.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
endif
endfunction
function COV takes nothing returns nothing
call SetUnitPositionLoc(GetTriggerUnit(),udg_W[(1+GetPlayerId(GetOwningPlayer(GetSpellAbilityUnit())))])
call CreateNUnitsAtLoc(1,'o005',GetOwningPlayer(GetSpellAbilityUnit()),udg_W[(1+GetPlayerId(GetOwningPlayer(GetSpellAbilityUnit())))],270.)
call IssueImmediateOrderById(bj_lastCreatedUnit,852127)
call RemoveUnit(bj_lastCreatedUnit)
set udg_FE=ZT(250.,udg_W[(1+GetPlayerId(GetOwningPlayer(GetSpellAbilityUnit())))])
call ForGroupBJ(udg_FE,function CXV)
call PlaySoundAtPointBJ(udg_TI,'d',udg_W[(1+GetPlayerId(GetOwningPlayer(GetSpellAbilityUnit())))],0)
call TerrainDeformationCraterBJ(1.,false,udg_W[(1+GetPlayerId(GetOwningPlayer(GetSpellAbilityUnit())))],400.,100.)
call AddSpecialEffectLocBJ(udg_W[(1+GetPlayerId(GetOwningPlayer(GetSpellAbilityUnit())))],"Abilities\\Spells\\Other\\Stampede\\StampedeMissileDeath.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_W[(1+GetPlayerId(GetOwningPlayer(GetSpellAbilityUnit())))])
call DestroyGroup(udg_FE)
set udg_FE=null
endfunction
function CRV takes nothing returns boolean
return(GetSpellAbilityId()=='A01W')
endfunction
function CIV takes nothing returns boolean
return(IsUnitEnemy(GetEnumUnit(),GetOwningPlayer(GetTriggerUnit())))and(IsUnitAliveBJ(GetEnumUnit()))and(IsUnitType(GetEnumUnit(),UNIT_TYPE_ANCIENT)==false)and(GetUnitTypeId(GetEnumUnit())!='n017')and(GetUnitTypeId(GetEnumUnit())!='n00U')and(GetUnitTypeId(GetEnumUnit())!='n00L')and(GetUnitTypeId(GetEnumUnit())!='n018')
endfunction
function CAV takes nothing returns nothing
local location udg_J
if(CIV())then
call SetWidgetLife(GetEnumUnit(),((.8-(.05*I2R(GetUnitAbilityLevelSwapped('A01W',GetTriggerUnit()))))*GetUnitStateSwap(UNIT_STATE_LIFE,GetEnumUnit())))
set udg_J=GetUnitLoc(GetEnumUnit())
call SetUnitPositionLoc(GetEnumUnit(),GT(udg_J,(150.*(I2R(GetUnitAbilityLevelSwapped('A01W',GetTriggerUnit()))/2.5)),GetUnitFacing(GetSpellAbilityUnit())))
call RemoveLocation(udg_J)
set udg_J=GetUnitLoc(GetEnumUnit())
call AddSpecialEffectLocBJ(GetUnitLoc(GetEnumUnit()),"Abilities\\Spells\\Undead\\ReplenishMana\\SpiritTouchTarget.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
endif
endfunction
function CNV takes nothing returns nothing
set udg_J=GetUnitLoc(GetSpellTargetUnit())
call SetUnitFacingToFaceUnitTimed(GetTriggerUnit(),GetSpellTargetUnit(),0)
set udg_FE=ZT(400.,udg_J)
call ForGroupBJ(udg_FE,function CAV)
call RemoveLocation(udg_J)
call DestroyGroup(udg_FE)
set udg_FE=null
endfunction
function CBV takes nothing returns boolean
return(GetSpellAbilityId()=='A031')
endfunction
function CCV takes nothing returns boolean
return(IsUnitEnemy(GetEnumUnit(),GetOwningPlayer(GetTriggerUnit())))and(IsUnitAliveBJ(GetEnumUnit()))and(IsUnitType(GetEnumUnit(),UNIT_TYPE_ANCIENT)==false)
endfunction
function CDV takes nothing returns nothing
if(CCV())then
call SetWidgetLife(GetEnumUnit(),1.)
endif
endfunction
function CFV takes nothing returns boolean
return(IsUnitEnemy(GetEnumUnit(),GetOwningPlayer(GetTriggerUnit()))==false)and(IsUnitAliveBJ(GetEnumUnit()))and(GetEnumUnit()!=GetTriggerUnit())and(IsUnitType(GetEnumUnit(),UNIT_TYPE_HERO))
endfunction
function CGV takes nothing returns nothing
if(CFV())then
call SetUnitLifePercentBJ(GetEnumUnit(),100.)
call AddSpecialEffectTargetUnitBJ("overhead",GetEnumUnit(),"Abilities\\Spells\\Items\\AIil\\AIilTarget.mdl")
call TriggerExecute(udg_XB)
endif
endfunction
function CHV takes nothing returns nothing
local location udg_J
call CameraClearNoiseForPlayer(GetOwningPlayer(GetTriggerUnit()))
set udg_J=GetUnitLoc(GetTriggerUnit())
call CreateNUnitsAtLocFacingLocBJ(1,'o005',GetOwningPlayer(GetTriggerUnit()),udg_J,GetRectCenter(bj_mapInitialPlayableArea))
call IssueImmediateOrderById(bj_lastCreatedUnit,852127)
call RemoveUnit(bj_lastCreatedUnit)
set udg_FE=ZT(600.,udg_J)
call ForGroupBJ(udg_FE,function CDV)
call DestroyGroup(udg_FE)
set udg_FE=null
set udg_FE=ZT(600.,udg_J)
call ForGroupBJ(udg_FE,function CGV)
call DestroyGroup(udg_FE)
set udg_FE=null
call RemoveLocation(udg_J)
endfunction
function CJV takes nothing returns boolean
return(GetSpellAbilityId()=='A031')
endfunction
function CKV takes nothing returns nothing
call SetWidgetLife(GetTriggerUnit(),1.)
endfunction
function CLV takes nothing returns boolean
return(GetSpellAbilityId()=='A04U')
endfunction
function CMV takes nothing returns boolean
return(IsUnitEnemy(GetEnumUnit(),GetOwningPlayer(GetSpellAbilityUnit())))and(IsUnitAliveBJ(GetEnumUnit()))
endfunction
function CPV takes nothing returns nothing
local location udg_J
if(CMV())then
set udg_J=GetUnitLoc(GetEnumUnit())
call CreateNUnitsAtLocFacingLocBJ(1,'o005',GetOwningPlayer(GetTriggerUnit()),udg_J,GetRectCenter(bj_mapInitialPlayableArea))
call UnitDamageTargetBJ(bj_lastCreatedUnit,GetEnumUnit(),(GetUnitStateSwap(UNIT_STATE_MAX_LIFE,GetEnumUnit())*.7),ATTACK_TYPE_MAGIC,DAMAGE_TYPE_NORMAL)
call RemoveUnit(bj_lastCreatedUnit)
call AddSpecialEffectLocBJ(udg_J,"Objects\\Spawnmodels\\NightElf\\NEDeathSmall\\NEDeathSmall.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
endif
endfunction
function CQV takes nothing returns boolean
return(IsUnitEnemy(GetEnumUnit(),GetOwningPlayer(GetSpellAbilityUnit()))==false)and(IsUnitAliveBJ(GetEnumUnit()))and(IsUnitType(GetEnumUnit(),UNIT_TYPE_HERO))
endfunction
function CSV takes nothing returns nothing
if(CQV())then
call UnitRemoveAbility(GetEnumUnit(),'BPSE')
call UnitRemoveAbility(GetEnumUnit(),'BSTN')
call AddSpecialEffectTargetUnitBJ("overhead",GetEnumUnit(),"Abilities\\Spells\\Other\\HowlOfTerror\\HowlCaster.mdl")
call TriggerExecute(udg_XB)
endif
endfunction
function CTV takes nothing returns nothing
call AddSpecialEffectTargetUnitBJ("origin",udg_O[(1+GetPlayerId(GetOwningPlayer(GetSpellAbilityUnit())))],"Abilities\\Spells\\Undead\\DeathPact\\DeathPactTarget.mdl")
call TriggerExecute(udg_XB)
set udg_J=GetUnitLoc(udg_O[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
call AddSpecialEffectLocBJ(GetUnitLoc(udg_O[(1+GetPlayerId(GetOwningPlayer(GetSpellAbilityUnit())))]),"Objects\\Spawnmodels\\NightElf\\NEDeathMedium\\NEDeath.mdl")
call TriggerExecute(udg_XB)
set udg_FE=ZT(750.,udg_J)
call ForGroupBJ(udg_FE,function CPV)
call DestroyGroup(udg_FE)
set udg_FE=null
set udg_FE=ZT(750.,udg_J)
call ForGroupBJ(udg_FE,function CSV)
call DestroyGroup(udg_FE)
set udg_FE=null
call RemoveLocation(udg_J)
call KillUnit(udg_O[(1+GetPlayerId(GetOwningPlayer(GetSpellAbilityUnit())))])
endfunction
function CUV takes nothing returns boolean
return(GetSpellAbilityId()=='A04W')
endfunction
function CWV takes nothing returns boolean
return(IsUnitEnemy(GetTriggerUnit(),Player(8))==false)
endfunction
function CYV takes nothing returns boolean
return(IsUnitEnemy(GetEnumUnit(),GetOwningPlayer(GetSpellAbilityUnit())))and(IsUnitAliveBJ(GetEnumUnit()))
endfunction
function CZV takes nothing returns nothing
if(CYV())then
call CreateNUnitsAtLoc(1,'o004',Player(-1+((1+GetPlayerId(GetOwningPlayer(GetSpellAbilityUnit()))))),udg_J,bj_UNIT_FACING)
call IssueTargetOrderById(bj_lastCreatedUnit,852502,GetEnumUnit())
call GroupAddUnit(udg_OX[udg_VV],GetEnumUnit())
call KillUnit(bj_lastCreatedUnit)
endif
endfunction
function C_V takes nothing returns nothing
if(CWV())then
set udg_VV=1
else
set udg_VV=2
endif
set udg_J=GetUnitLoc(udg_O[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Orc\\WarStomp\\WarStompCaster.mdl")
call TriggerExecute(udg_XB)
call KillUnit(udg_O[(1+GetPlayerId(GetOwningPlayer(GetSpellAbilityUnit())))])
set udg_FE=ZT(750.,udg_J)
call ForGroupBJ(udg_FE,function CZV)
call DestroyGroup(udg_FE)
set udg_FE=null
call TriggerExecute(udg_KF)
call RemoveLocation(udg_J)
endfunction
function C0V takes nothing returns boolean
return(GetSpellAbilityId()=='A030')
endfunction
function C1V takes nothing returns boolean
return(GetUnitTypeId(udg_V[bj_forLoopAIndex])=='E00O')or(GetUnitTypeId(udg_V[bj_forLoopAIndex])=='E00U')
endfunction
function C2V takes nothing returns boolean
return(C1V())
endfunction
function C3V takes nothing returns boolean
return(GetUnitTypeId(udg_V[bj_forLoopAIndex])=='E00R')
endfunction
function C4V takes nothing returns boolean
return(udg_R==1)
endfunction
function C5V takes nothing returns boolean
return(udg_U==false)
endfunction
function C6V takes nothing returns boolean
return(GetUnitTypeId(udg_V[bj_forLoopAIndex])=='E00U')or(GetUnitTypeId(udg_V[bj_forLoopAIndex])=='E00O')or(GetUnitTypeId(udg_V[bj_forLoopAIndex])=='E00R')
endfunction
function C7V takes nothing returns boolean
return(C6V())
endfunction
function C8V takes nothing returns boolean
return(udg_R==0)and(udg_U==false)
endfunction
function C9V takes nothing returns nothing
set udg_R=(udg_R+1)
if(C4V())then
call TriggerExecute(udg_QA)
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=8
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
if(C2V())then
call CreateNUnitsAtLoc(1,'o00Z',Player(-1+(bj_forLoopAIndex)),Location(0,0),bj_UNIT_FACING)
set udg_CE[bj_forLoopAIndex]=bj_lastCreatedUnit
endif
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=8
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
if(C3V())then
call CreateNUnitsAtLoc(1,'o015',Player(-1+(bj_forLoopAIndex)),Location(0,0),bj_UNIT_FACING)
set udg_CE[bj_forLoopAIndex]=bj_lastCreatedUnit
endif
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
endif
call SetTimeOfDay(24.)
call KillUnit(udg_O[(1+GetPlayerId(GetOwningPlayer(GetSpellAbilityUnit())))])
call TriggerSleepAction(10.)
if(C5V())then
set udg_R=(udg_R-1)
endif
if(C8V())then
call EnableWeatherEffect(udg_YO[3],false)
call EnableWeatherEffect(udg_YO[4],false)
call SetTimeOfDay(12.)
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=8
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
if(C7V())then
call RemoveUnit(udg_CE[bj_forLoopAIndex])
endif
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
endif
endfunction
function DVV takes nothing returns boolean
return(GetSpellAbilityId()=='A04V')
endfunction
function DEV takes nothing returns boolean
return(GetUnitTypeId(udg_V[bj_forLoopAIndex])=='E00O')or(GetUnitTypeId(udg_V[bj_forLoopAIndex])=='E00U')
endfunction
function DXV takes nothing returns boolean
return(DEV())
endfunction
function DOV takes nothing returns boolean
return(GetUnitTypeId(udg_V[bj_forLoopAIndex])=='E00R')
endfunction
function DRV takes nothing returns boolean
return(udg_R==1)
endfunction
function DIV takes nothing returns nothing
call CreateNUnitsAtLoc(1,'o00M',GetEnumPlayer(),udg_J,bj_UNIT_FACING)
call UnitApplyTimedLifeBJ(20.,'BTLF',bj_lastCreatedUnit)
endfunction
function DAV takes nothing returns boolean
return(udg_U==false)
endfunction
function DNV takes nothing returns boolean
return(GetUnitTypeId(udg_V[bj_forLoopAIndex])=='E00U')or(GetUnitTypeId(udg_V[bj_forLoopAIndex])=='E00O')or(GetUnitTypeId(udg_V[bj_forLoopAIndex])=='E00R')
endfunction
function DBV takes nothing returns boolean
return(DNV())
endfunction
function DCV takes nothing returns boolean
return(udg_R==0)and(udg_U==false)
endfunction
function DDV takes nothing returns nothing
set udg_R=(udg_R+1)
if(DRV())then
call TriggerExecute(udg_QA)
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=8
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
if(DXV())then
call CreateNUnitsAtLoc(1,'o00Z',Player(-1+(bj_forLoopAIndex)),Location(0,0),bj_UNIT_FACING)
set udg_CE[bj_forLoopAIndex]=bj_lastCreatedUnit
endif
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=8
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
if(DOV())then
call CreateNUnitsAtLoc(1,'o015',Player(-1+(bj_forLoopAIndex)),Location(0,0),bj_UNIT_FACING)
set udg_CE[bj_forLoopAIndex]=bj_lastCreatedUnit
endif
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
endif
set udg_J=GetUnitLoc(udg_O[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\MarkOfChaos\\MarkOfChaosTarget.mdl")
call TriggerExecute(udg_XB)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\MarkOfChaos\\MarkOfChaosTarget.mdl")
call TriggerExecute(udg_XB)
call TerrainDeformationRippleBJ(10.,false,udg_J,300.,300.,30.,.25,30.)
call SetTimeOfDay(24.)
call CreateNUnitsAtLoc(1,'o003',GetOwningPlayer(GetTriggerUnit()),udg_J,bj_UNIT_FACING)
call UnitApplyTimedLifeBJ(20.,'BTLF',bj_lastCreatedUnit)
call KillUnit(udg_O[(1+GetPlayerId(GetOwningPlayer(GetSpellAbilityUnit())))])
set udg_O[(1+GetPlayerId(GetOwningPlayer(GetSpellAbilityUnit())))]=bj_lastCreatedUnit
call RemoveLocation(udg_J)
set udg_J=GetRectCenter(bj_mapInitialPlayableArea)
call ForForce(bj_FORCE_ALL_PLAYERS,function DIV)
call RemoveLocation(udg_J)
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=8
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call CameraSetEQNoiseForPlayer(Player(-1+(bj_forLoopAIndex)),10.)
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
call TriggerSleepAction(1.)
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=8
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call CameraClearNoiseForPlayer(Player(-1+(bj_forLoopAIndex)))
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
call TriggerSleepAction(19.)
if(DAV())then
set udg_R=(udg_R-1)
endif
if(DCV())then
call EnableWeatherEffect(udg_YO[3],false)
call EnableWeatherEffect(udg_YO[4],false)
call SetTimeOfDay(12.)
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=8
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
if(DBV())then
call RemoveUnit(udg_CE[bj_forLoopAIndex])
endif
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
endif
endfunction
function DFV takes nothing returns boolean
return(GetSpellAbilityId()=='A06I')
endfunction
function DGV takes nothing returns boolean
return(IsUnitEnemy(GetEnumUnit(),Player(0)))
endfunction
function DHV takes nothing returns boolean
return(GetOwningPlayer(GetEnumUnit())==Player(10))
endfunction
function DJV takes nothing returns boolean
return(GetOwningPlayer(GetEnumUnit())==Player(11))
endfunction
function DKV takes nothing returns boolean
return(GetOwningPlayer(GetEnumUnit())==Player(8))
endfunction
function DLV takes nothing returns boolean
return(GetOwningPlayer(GetEnumUnit())==Player(9))
endfunction
function DMV takes nothing returns boolean
return(IsUnitEnemy(GetEnumUnit(),Player(8)))
endfunction
function DPV takes nothing returns nothing
set udg_VV=(((1+GetUnitLevel(GetEnumUnit()))/2)*2)
call AdjustPlayerStateBJ(((-10+(GetUnitLevel(GetEnumUnit())*20))/CountPlayersInForceBJ(udg_H[udg_AV])),GetEnumPlayer(),PLAYER_STATE_RESOURCE_GOLD)
call AddHeroXPSwapped((((24+(udg_VV*udg_VV))+(udg_VV/1))/CountPlayersInForceBJ(udg_K[udg_AV])),udg_V[(1+GetPlayerId(GetEnumPlayer()))],true)
endfunction
function DQV takes nothing returns boolean
return(IsUnitType(GetEnumUnit(),UNIT_TYPE_HERO)==false)and(IsUnitAliveBJ(GetEnumUnit()))and(UnitHasBuffBJ(GetEnumUnit(),'Bam2')==false)and(IsUnitType(GetEnumUnit(),UNIT_TYPE_STRUCTURE)==false)and(IsUnitType(GetEnumUnit(),UNIT_TYPE_ANCIENT)==false)
endfunction
function DSV takes nothing returns nothing
if(DQV())then
if(DHV())then
set udg_SE[1]=(udg_SE[1]-1)
endif
if(DJV())then
set udg_SE[2]=(udg_SE[2]-1)
endif
if(DKV())then
set udg_SE[3]=(udg_SE[3]-1)
endif
if(DLV())then
set udg_SE[4]=(udg_SE[4]-1)
endif
if(DMV())then
set udg_AV=1
else
set udg_AV=2
endif
call ForForce(udg_H[udg_AV],function DPV)
call UnitApplyTimedLifeBJ(37.,'BTLF',GetEnumUnit())
call AddSpecialEffectTargetUnitBJ("overhead",GetEnumUnit(),"Abilities\\Weapons\\FaerieDragonMissile\\FaerieDragonMissile.mdl")
call ConditionalTriggerExecute(udg_XB)
call SetUnitOwner(GetEnumUnit(),GetOwningPlayer(GetTriggerUnit()),true)
endif
endfunction
function DTV takes nothing returns boolean
return(GetOwningPlayer(GetEnumUnit())==Player(10))
endfunction
function DUV takes nothing returns boolean
return(GetOwningPlayer(GetEnumUnit())==Player(11))
endfunction
function DWV takes nothing returns boolean
return(GetOwningPlayer(GetEnumUnit())==Player(8))
endfunction
function DYV takes nothing returns boolean
return(GetOwningPlayer(GetEnumUnit())==Player(9))
endfunction
function DZV takes nothing returns boolean
return(IsUnitEnemy(GetEnumUnit(),Player(0)))
endfunction
function D_V takes nothing returns nothing
set udg_VV=(((1+GetUnitLevel(GetEnumUnit()))/2)*2)
call AdjustPlayerStateBJ(((-10+(GetUnitLevel(GetEnumUnit())*20))/CountPlayersInForceBJ(udg_H[udg_AV])),GetEnumPlayer(),PLAYER_STATE_RESOURCE_GOLD)
call AddHeroXPSwapped((((24+(udg_VV*udg_VV))+(udg_VV/1))/CountPlayersInForceBJ(udg_K[udg_AV])),udg_V[(1+GetPlayerId(GetEnumPlayer()))],true)
endfunction
function D0V takes nothing returns boolean
return(GetOwningPlayer(GetEnumUnit())==Player(8))or(GetOwningPlayer(GetEnumUnit())==Player(9))or(GetOwningPlayer(GetEnumUnit())==Player(10))or(GetOwningPlayer(GetEnumUnit())==Player(11))
endfunction
function D1V takes nothing returns boolean
return(D0V())and(IsUnitType(GetEnumUnit(),UNIT_TYPE_HERO)==false)and(IsUnitAliveBJ(GetEnumUnit()))and(IsUnitType(GetEnumUnit(),UNIT_TYPE_STRUCTURE)==false)and(UnitHasBuffBJ(GetEnumUnit(),'Bam2')==false)and(IsUnitType(GetEnumUnit(),UNIT_TYPE_ANCIENT)==false)
endfunction
function D2V takes nothing returns nothing
if(D1V())then
if(DTV())then
set udg_SE[1]=(udg_SE[1]-1)
endif
if(DUV())then
set udg_SE[2]=(udg_SE[2]-1)
endif
if(DWV())then
set udg_SE[3]=(udg_SE[3]-1)
endif
if(DYV())then
set udg_SE[4]=(udg_SE[4]-1)
endif
if(DZV())then
set udg_AV=1
else
set udg_AV=2
endif
call ForForce(udg_H[udg_AV],function D_V)
call UnitApplyTimedLifeBJ(30.,'BTLF',GetEnumUnit())
call SetUnitOwner(GetEnumUnit(),GetOwningPlayer(GetTriggerUnit()),true)
call AddSpecialEffectTargetUnitBJ("overhead",GetEnumUnit(),"Abilities\\Weapons\\FaerieDragonMissile\\FaerieDragonMissile.mdl")
call ConditionalTriggerExecute(udg_XB)
endif
endfunction
function D3V takes nothing returns boolean
return(udg_R==0)
endfunction
function D4V takes nothing returns nothing
if(DGV())then
set udg_AV=2
else
set udg_AV=1
endif
set udg_J=GetSpellTargetLoc()
if(D3V())then
set udg_FE=ZT((150.+(25.*I2R(GetUnitAbilityLevelSwapped('A06I',GetTriggerUnit())))),udg_J)
call ForGroupBJ(udg_FE,function D2V)
call DestroyGroup(udg_FE)
set udg_FE=null
else
set udg_FE=ZT((150.+(25.*I2R(GetUnitAbilityLevelSwapped('A06I',GetTriggerUnit())))),udg_J)
call ForGroupBJ(udg_FE,function DSV)
call DestroyGroup(udg_FE)
set udg_FE=null
endif
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[4],("East Side "+(I2S(udg_SE[3])+("/"+I2S(udg_SE[4])))))
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[3],("West Side "+(I2S(udg_SE[1])+("/"+I2S(udg_SE[2])))))
endfunction
function D5V takes nothing returns boolean
return(GetUnitTypeId(GetSummonedUnit())=='o001')
endfunction
function D6V takes nothing returns boolean
return(GetUnitTypeId(udg_O[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])=='o001')
endfunction
function D7V takes nothing returns nothing
if(D6V())then
call RemoveUnit(udg_O[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endif
set udg_O[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=GetSummonedUnit()
endfunction
function D8V takes nothing returns boolean
return(IsUnitEnemy(GetTriggerUnit(),Player(-1+(udg_VV))))
endfunction
function D9V takes nothing returns boolean
return(IsUnitAlly(GetTriggerUnit(),Player(8)))
endfunction
function FVV takes nothing returns boolean
return(IsUnitEnemy(GetTriggerUnit(),Player(-1+(udg_VV))))
endfunction
function FEV takes nothing returns nothing
set udg_VV=udg_JO
if(D8V())then
set udg_J=GetUnitLoc(udg_O[udg_VV])
call SetUnitPositionLoc(GetTriggerUnit(),udg_J)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\MassTeleport\\MassTeleportTarget.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
endif
if(FVV())then
if(D9V())then
call CreateNUnitsAtLoc(1,'o00L',Player(10),Location(0,0),bj_UNIT_FACING)
call UnitAddAbility(bj_lastCreatedUnit,'ACsw')
call IssueTargetOrderById(bj_lastCreatedUnit,852075,GetTriggerUnit())
call RemoveUnit(bj_lastCreatedUnit)
call IssueTargetOrderById(GetTriggerUnit(),851983,udg_HQ)
else
call CreateNUnitsAtLoc(1,'o00L',Player(8),Location(0,0),bj_UNIT_FACING)
call UnitAddAbility(bj_lastCreatedUnit,'ACsw')
call IssueTargetOrderById(bj_lastCreatedUnit,852075,GetTriggerUnit())
call RemoveUnit(bj_lastCreatedUnit)
call IssueTargetOrderById(GetTriggerUnit(),851983,udg_GQ)
endif
endif
endfunction
function FXV takes nothing returns boolean
return(GetSpellAbilityId()=='A040')
endfunction
function FOV takes nothing returns boolean
return(IsUnitAlly(GetTriggerUnit(),Player(8))==false)
endfunction
function FRV takes nothing returns boolean
return(IsUnitEnemy(GetEnumUnit(),GetOwningPlayer(GetTriggerUnit())))
endfunction
function FIV takes nothing returns nothing
if(FRV())then
call SetUnitPositionLoc(GetEnumUnit(),udg_J)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\MassTeleport\\MassTeleportTarget.mdl")
call TriggerExecute(udg_XB)
if(FOV())then
call CreateNUnitsAtLoc(1,'o00L',Player(10),udg_J,bj_UNIT_FACING)
call UnitAddAbility(bj_lastCreatedUnit,'ACsw')
call IssueTargetOrderById(bj_lastCreatedUnit,852075,GetEnumUnit())
call RemoveUnit(bj_lastCreatedUnit)
call IssueTargetOrderById(GetEnumUnit(),851983,udg_HQ)
else
call CreateNUnitsAtLoc(1,'o00L',Player(8),udg_J,bj_UNIT_FACING)
call UnitAddAbility(bj_lastCreatedUnit,'ACsw')
call IssueTargetOrderById(bj_lastCreatedUnit,852075,GetEnumUnit())
call RemoveUnit(bj_lastCreatedUnit)
call IssueTargetOrderById(GetEnumUnit(),851983,udg_GQ)
endif
endif
endfunction
function FAV takes nothing returns nothing
call CreateNUnitsAtLoc(1,'o00A',GetOwningPlayer(GetTriggerUnit()),GetSpellTargetLoc(),bj_UNIT_FACING)
set udg_JO=(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))
set udg_VE[udg_JO]=bj_lastCreatedUnit
call UnitApplyTimedLifeBJ((20.+I2R(GetUnitAbilityLevelSwapped('A040',GetTriggerUnit()))),'BTLF',bj_lastCreatedUnit)
call TriggerRegisterUnitInRangeSimple(udg_VH,200.,bj_lastCreatedUnit)
set udg_J=GetUnitLoc(udg_O[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
set udg_DE=GetSpellTargetLoc()
set udg_FE=ZT(200.,udg_DE)
call ForGroupBJ(udg_FE,function FIV)
call DestroyGroup(udg_FE)
set udg_FE=null
call RemoveLocation(udg_J)
call RemoveLocation(udg_DE)
endfunction
function FNV takes nothing returns nothing
call UnitRemoveAbility(udg_V[1],'A09R')
call SetPlayerAbilityAvailableBJ(false,'A09R',Player(0))
call UnitRemoveAbility(udg_V[1],'AEme')
call SetPlayerAbilityAvailableBJ(false,'AEme',Player(0))
call UnitRemoveAbility(udg_V[1],'ANrg')
call SetPlayerAbilityAvailableBJ(false,'ANrg',Player(0))
call UnitRemoveAbility(udg_V[1],'Acht')
call UnitAddAbility(udg_V[1],'A097')
call SetUnitAbilityLevelSwapped('A097',udg_V[1],udg_DR[1])
call UnitAddAbility(udg_V[1],'AOwk')
call SetUnitAbilityLevelSwapped('AOwk',udg_V[1],udg_DR[1])
call UnitAddAbility(udg_V[1],'A098')
call SetUnitAbilityLevelSwapped('A098',udg_V[1],udg_DR[1])
call UnitAddAbility(udg_V[1],'A099')
call SetUnitAbilityLevelSwapped('A099',udg_V[1],udg_DR[1])
endfunction
function FBV takes nothing returns nothing
call UnitRemoveAbility(udg_V[2],'A09R')
call SetPlayerAbilityAvailableBJ(false,'A09R',Player(1))
call UnitRemoveAbility(udg_V[2],'AEme')
call SetPlayerAbilityAvailableBJ(false,'AEme',Player(1))
call UnitRemoveAbility(udg_V[2],'ANrg')
call SetPlayerAbilityAvailableBJ(false,'ANrg',Player(1))
call UnitRemoveAbility(udg_V[2],'Acht')
call UnitAddAbility(udg_V[2],'A097')
call SetUnitAbilityLevelSwapped('A097',udg_V[2],udg_DR[2])
call UnitAddAbility(udg_V[2],'AOwk')
call SetUnitAbilityLevelSwapped('AOwk',udg_V[2],udg_DR[2])
call UnitAddAbility(udg_V[2],'A098')
call SetUnitAbilityLevelSwapped('A098',udg_V[2],udg_DR[2])
call UnitAddAbility(udg_V[2],'A099')
call SetUnitAbilityLevelSwapped('A099',udg_V[2],udg_DR[2])
endfunction
function FCV takes nothing returns nothing
call UnitRemoveAbility(udg_V[3],'A09R')
call SetPlayerAbilityAvailableBJ(false,'A09R',Player(2))
call UnitRemoveAbility(udg_V[3],'AEme')
call SetPlayerAbilityAvailableBJ(false,'AEme',Player(2))
call UnitRemoveAbility(udg_V[3],'ANrg')
call SetPlayerAbilityAvailableBJ(false,'ANrg',Player(2))
call UnitRemoveAbility(udg_V[3],'Acht')
call UnitAddAbility(udg_V[3],'A097')
call SetUnitAbilityLevelSwapped('A097',udg_V[3],udg_DR[3])
call UnitAddAbility(udg_V[3],'AOwk')
call SetUnitAbilityLevelSwapped('AOwk',udg_V[3],udg_DR[3])
call UnitAddAbility(udg_V[3],'A098')
call SetUnitAbilityLevelSwapped('A098',udg_V[3],udg_DR[3])
call UnitAddAbility(udg_V[3],'A099')
call SetUnitAbilityLevelSwapped('A099',udg_V[3],udg_DR[3])
endfunction
function FDV takes nothing returns nothing
call UnitRemoveAbility(udg_V[4],'A09R')
call SetPlayerAbilityAvailableBJ(false,'A09R',Player(3))
call UnitRemoveAbility(udg_V[4],'AEme')
call SetPlayerAbilityAvailableBJ(false,'AEme',Player(3))
call UnitRemoveAbility(udg_V[4],'ANrg')
call SetPlayerAbilityAvailableBJ(false,'ANrg',Player(3))
call UnitRemoveAbility(udg_V[4],'Acht')
call UnitAddAbility(udg_V[4],'A097')
call SetUnitAbilityLevelSwapped('A097',udg_V[4],udg_DR[4])
call UnitAddAbility(udg_V[4],'AOwk')
call SetUnitAbilityLevelSwapped('AOwk',udg_V[4],udg_DR[4])
call UnitAddAbility(udg_V[4],'A098')
call SetUnitAbilityLevelSwapped('A098',udg_V[4],udg_DR[4])
call UnitAddAbility(udg_V[4],'A099')
call SetUnitAbilityLevelSwapped('A099',udg_V[4],udg_DR[4])
endfunction
function FFV takes nothing returns nothing
call UnitRemoveAbility(udg_V[5],'A09R')
call SetPlayerAbilityAvailableBJ(false,'A09R',Player(4))
call UnitRemoveAbility(udg_V[5],'AEme')
call SetPlayerAbilityAvailableBJ(false,'AEme',Player(4))
call UnitRemoveAbility(udg_V[5],'ANrg')
call SetPlayerAbilityAvailableBJ(false,'ANrg',Player(4))
call UnitRemoveAbility(udg_V[5],'Acht')
call UnitAddAbility(udg_V[5],'A097')
call SetUnitAbilityLevelSwapped('A097',udg_V[5],udg_DR[5])
call UnitAddAbility(udg_V[5],'AOwk')
call SetUnitAbilityLevelSwapped('AOwk',udg_V[5],udg_DR[5])
call UnitAddAbility(udg_V[1],'A098')
call SetUnitAbilityLevelSwapped('A098',udg_V[5],udg_DR[5])
call UnitAddAbility(udg_V[5],'A099')
call SetUnitAbilityLevelSwapped('A099',udg_V[5],udg_DR[5])
endfunction
function FGV takes nothing returns nothing
call UnitRemoveAbility(udg_V[6],'A09R')
call SetPlayerAbilityAvailableBJ(false,'A09R',Player(5))
call UnitRemoveAbility(udg_V[6],'AEme')
call SetPlayerAbilityAvailableBJ(false,'AEme',Player(5))
call UnitRemoveAbility(udg_V[6],'ANrg')
call SetPlayerAbilityAvailableBJ(false,'ANrg',Player(5))
call UnitRemoveAbility(udg_V[6],'Acht')
call UnitAddAbility(udg_V[6],'A097')
call SetUnitAbilityLevelSwapped('A097',udg_V[6],udg_DR[6])
call UnitAddAbility(udg_V[6],'AOwk')
call SetUnitAbilityLevelSwapped('AOwk',udg_V[6],udg_DR[6])
call UnitAddAbility(udg_V[6],'A098')
call SetUnitAbilityLevelSwapped('A098',udg_V[6],udg_DR[6])
call UnitAddAbility(udg_V[6],'A099')
call SetUnitAbilityLevelSwapped('A099',udg_V[6],udg_DR[6])
endfunction
function FHV takes nothing returns nothing
call UnitRemoveAbility(udg_V[7],'A09R')
call SetPlayerAbilityAvailableBJ(false,'A09R',Player(6))
call UnitRemoveAbility(udg_V[7],'AEme')
call SetPlayerAbilityAvailableBJ(false,'AEme',Player(6))
call UnitRemoveAbility(udg_V[7],'ANrg')
call SetPlayerAbilityAvailableBJ(false,'ANrg',Player(6))
call UnitRemoveAbility(udg_V[7],'Acht')
call UnitAddAbility(udg_V[7],'A097')
call SetUnitAbilityLevelSwapped('A097',udg_V[7],udg_DR[7])
call UnitAddAbility(udg_V[7],'AOwk')
call SetUnitAbilityLevelSwapped('AOwk',udg_V[7],udg_DR[7])
call UnitAddAbility(udg_V[7],'A098')
call SetUnitAbilityLevelSwapped('A098',udg_V[7],udg_DR[7])
call UnitAddAbility(udg_V[7],'A099')
call SetUnitAbilityLevelSwapped('A099',udg_V[7],udg_DR[7])
endfunction
function FJV takes nothing returns nothing
call UnitRemoveAbility(udg_V[8],'A09R')
call SetPlayerAbilityAvailableBJ(false,'A09R',Player(7))
call UnitRemoveAbility(udg_V[8],'AEme')
call SetPlayerAbilityAvailableBJ(false,'AEme',Player(7))
call UnitRemoveAbility(udg_V[8],'ANrg')
call SetPlayerAbilityAvailableBJ(false,'ANrg',Player(7))
call UnitRemoveAbility(udg_V[8],'Acht')
call UnitAddAbility(udg_V[8],'A097')
call SetUnitAbilityLevelSwapped('A097',udg_V[8],udg_DR[8])
call UnitAddAbility(udg_V[8],'AOwk')
call SetUnitAbilityLevelSwapped('AOwk',udg_V[8],udg_DR[8])
call UnitAddAbility(udg_V[8],'A098')
call SetUnitAbilityLevelSwapped('A098',udg_V[8],udg_DR[8])
call UnitAddAbility(udg_V[8],'A099')
call SetUnitAbilityLevelSwapped('A099',udg_V[8],udg_DR[8])
endfunction
function FKV takes nothing returns nothing
call UnitRemoveAbility(udg_V[1],'A09R')
call SetPlayerAbilityAvailableBJ(false,'A09R',Player(0))
call UnitRemoveAbility(udg_V[1],'AEme')
call SetPlayerAbilityAvailableBJ(false,'AEme',Player(0))
call UnitRemoveAbility(udg_V[1],'A09S')
call SetPlayerAbilityAvailableBJ(false,'A09S',Player(0))
call UnitRemoveAbility(udg_V[1],'Acht')
call UnitAddAbility(udg_V[1],'A09A')
call SetUnitAbilityLevelSwapped('A09A',udg_V[1],udg_FR[1])
call UnitAddAbility(udg_V[1],'AHav')
call SetUnitAbilityLevelSwapped('AHav',udg_V[1],udg_FR[1])
call UnitAddAbility(udg_V[1],'A09B')
call SetUnitAbilityLevelSwapped('A09B',udg_V[1],udg_FR[1])
call UnitAddAbility(udg_V[1],'AHtc')
call SetUnitAbilityLevelSwapped('AHtc',udg_V[1],udg_FR[1])
endfunction
function FLV takes nothing returns nothing
call UnitRemoveAbility(udg_V[2],'A09R')
call SetPlayerAbilityAvailableBJ(false,'A09R',Player(1))
call UnitRemoveAbility(udg_V[2],'AEme')
call SetPlayerAbilityAvailableBJ(false,'AEme',Player(1))
call UnitRemoveAbility(udg_V[2],'A09S')
call SetPlayerAbilityAvailableBJ(false,'A09S',Player(1))
call UnitRemoveAbility(udg_V[2],'Acht')
call UnitAddAbility(udg_V[2],'A09A')
call SetUnitAbilityLevelSwapped('A09A',udg_V[2],udg_FR[2])
call UnitAddAbility(udg_V[2],'AHav')
call SetUnitAbilityLevelSwapped('AHav',udg_V[2],udg_FR[2])
call UnitAddAbility(udg_V[2],'A09B')
call SetUnitAbilityLevelSwapped('A09B',udg_V[2],udg_FR[2])
call UnitAddAbility(udg_V[2],'AHtc')
call SetUnitAbilityLevelSwapped('AHtc',udg_V[2],udg_FR[2])
endfunction
function FMV takes nothing returns nothing
call UnitRemoveAbility(udg_V[3],'A09R')
call SetPlayerAbilityAvailableBJ(false,'A09R',Player(2))
call UnitRemoveAbility(udg_V[3],'AEme')
call SetPlayerAbilityAvailableBJ(false,'AEme',Player(2))
call UnitRemoveAbility(udg_V[3],'A09S')
call SetPlayerAbilityAvailableBJ(false,'A09S',Player(2))
call UnitRemoveAbility(udg_V[3],'Acht')
call UnitAddAbility(udg_V[3],'A09A')
call SetUnitAbilityLevelSwapped('A09A',udg_V[3],udg_FR[3])
call UnitAddAbility(udg_V[3],'AHav')
call SetUnitAbilityLevelSwapped('AHav',udg_V[3],udg_FR[3])
call UnitAddAbility(udg_V[3],'A09B')
call SetUnitAbilityLevelSwapped('A09B',udg_V[3],udg_FR[3])
call UnitAddAbility(udg_V[3],'AHtc')
call SetUnitAbilityLevelSwapped('AHtc',udg_V[3],udg_FR[3])
endfunction
function FPV takes nothing returns nothing
call UnitRemoveAbility(udg_V[4],'A09R')
call SetPlayerAbilityAvailableBJ(false,'A09R',Player(3))
call UnitRemoveAbility(udg_V[4],'AEme')
call SetPlayerAbilityAvailableBJ(false,'AEme',Player(3))
call UnitRemoveAbility(udg_V[4],'A09S')
call SetPlayerAbilityAvailableBJ(false,'A09S',Player(3))
call UnitRemoveAbility(udg_V[4],'Acht')
call UnitAddAbility(udg_V[4],'A09A')
call SetUnitAbilityLevelSwapped('A09A',udg_V[4],udg_FR[4])
call UnitAddAbility(udg_V[4],'AHav')
call SetUnitAbilityLevelSwapped('AHav',udg_V[4],udg_FR[4])
call UnitAddAbility(udg_V[4],'A09B')
call SetUnitAbilityLevelSwapped('A09B',udg_V[4],udg_FR[4])
call UnitAddAbility(udg_V[4],'AHtc')
call SetUnitAbilityLevelSwapped('AHtc',udg_V[4],udg_FR[4])
endfunction
function FQV takes nothing returns nothing
call UnitRemoveAbility(udg_V[5],'A09R')
call SetPlayerAbilityAvailableBJ(false,'A09R',Player(4))
call UnitRemoveAbility(udg_V[5],'AEme')
call SetPlayerAbilityAvailableBJ(false,'AEme',Player(4))
call UnitRemoveAbility(udg_V[5],'A09S')
call SetPlayerAbilityAvailableBJ(false,'A09S',Player(4))
call UnitRemoveAbility(udg_V[5],'Acht')
call UnitAddAbility(udg_V[5],'A09A')
call SetUnitAbilityLevelSwapped('A09A',udg_V[5],udg_FR[5])
call UnitAddAbility(udg_V[5],'AHav')
call SetUnitAbilityLevelSwapped('AHav',udg_V[5],udg_FR[5])
call UnitAddAbility(udg_V[5],'A09B')
call SetUnitAbilityLevelSwapped('A09B',udg_V[5],udg_FR[5])
call UnitAddAbility(udg_V[5],'AHtc')
call SetUnitAbilityLevelSwapped('AHtc',udg_V[5],udg_FR[5])
endfunction
function FSV takes nothing returns nothing
call UnitRemoveAbility(udg_V[6],'A09R')
call SetPlayerAbilityAvailableBJ(false,'A09R',Player(5))
call UnitRemoveAbility(udg_V[6],'AEme')
call SetPlayerAbilityAvailableBJ(false,'AEme',Player(5))
call UnitRemoveAbility(udg_V[6],'A09S')
call SetPlayerAbilityAvailableBJ(false,'A09S',Player(5))
call UnitRemoveAbility(udg_V[6],'Acht')
call UnitAddAbility(udg_V[6],'A09A')
call SetUnitAbilityLevelSwapped('A09A',udg_V[6],udg_FR[6])
call UnitAddAbility(udg_V[6],'AHav')
call SetUnitAbilityLevelSwapped('AHav',udg_V[6],udg_FR[6])
call UnitAddAbility(udg_V[6],'A09B')
call SetUnitAbilityLevelSwapped('A09B',udg_V[6],udg_FR[6])
call UnitAddAbility(udg_V[6],'AHtc')
call SetUnitAbilityLevelSwapped('AHtc',udg_V[6],udg_FR[6])
endfunction
function FTV takes nothing returns nothing
call UnitRemoveAbility(udg_V[7],'A09R')
call SetPlayerAbilityAvailableBJ(false,'A09R',Player(6))
call UnitRemoveAbility(udg_V[7],'AEme')
call SetPlayerAbilityAvailableBJ(false,'AEme',Player(6))
call UnitRemoveAbility(udg_V[7],'A09S')
call SetPlayerAbilityAvailableBJ(false,'A09S',Player(6))
call UnitRemoveAbility(udg_V[7],'Acht')
call UnitAddAbility(udg_V[7],'A09A')
call SetUnitAbilityLevelSwapped('A09A',udg_V[7],udg_FR[7])
call UnitAddAbility(udg_V[7],'AHav')
call SetUnitAbilityLevelSwapped('AHav',udg_V[7],udg_FR[7])
call UnitAddAbility(udg_V[7],'A09B')
call SetUnitAbilityLevelSwapped('A09B',udg_V[7],udg_FR[7])
call UnitAddAbility(udg_V[7],'AHtc')
call SetUnitAbilityLevelSwapped('AHtc',udg_V[7],udg_FR[7])
endfunction
function FUV takes nothing returns nothing
call UnitRemoveAbility(udg_V[8],'A09R')
call SetPlayerAbilityAvailableBJ(false,'A09R',Player(7))
call UnitRemoveAbility(udg_V[8],'AEme')
call SetPlayerAbilityAvailableBJ(false,'AEme',Player(7))
call UnitRemoveAbility(udg_V[8],'A09S')
call SetPlayerAbilityAvailableBJ(false,'A09S',Player(7))
call UnitRemoveAbility(udg_V[8],'Acht')
call UnitAddAbility(udg_V[8],'A09A')
call SetUnitAbilityLevelSwapped('A09A',udg_V[8],udg_FR[8])
call UnitAddAbility(udg_V[8],'AHav')
call SetUnitAbilityLevelSwapped('AHav',udg_V[8],udg_FR[8])
call UnitAddAbility(udg_V[8],'A09B')
call SetUnitAbilityLevelSwapped('A09B',udg_V[8],udg_FR[8])
call UnitAddAbility(udg_V[8],'AHtc')
call SetUnitAbilityLevelSwapped('AHtc',udg_V[8],udg_FR[8])
endfunction
function FWV takes nothing returns nothing
call SetUnitAbilityLevelSwapped('A09C',udg_V[1],GetUnitAbilityLevelSwapped('AEme',udg_V[1]))
endfunction
function FYV takes nothing returns nothing
call SetUnitAbilityLevelSwapped('A09C',udg_V[2],GetUnitAbilityLevelSwapped('AEme',udg_V[2]))
endfunction
function FZV takes nothing returns nothing
call SetUnitAbilityLevelSwapped('A09C',udg_V[3],GetUnitAbilityLevelSwapped('AEme',udg_V[3]))
endfunction
function F_V takes nothing returns nothing
call SetUnitAbilityLevelSwapped('A09C',udg_V[4],GetUnitAbilityLevelSwapped('AEme',udg_V[4]))
endfunction
function F0V takes nothing returns nothing
call SetUnitAbilityLevelSwapped('A09C',udg_V[5],GetUnitAbilityLevelSwapped('AEme',udg_V[5]))
endfunction
function F1V takes nothing returns nothing
call SetUnitAbilityLevelSwapped('A09C',udg_V[6],GetUnitAbilityLevelSwapped('AEme',udg_V[6]))
endfunction
function F2V takes nothing returns nothing
call SetUnitAbilityLevelSwapped('A09C',udg_V[7],GetUnitAbilityLevelSwapped('AEme',udg_V[7]))
endfunction
function F3V takes nothing returns nothing
call SetUnitAbilityLevelSwapped('A09C',udg_V[8],GetUnitAbilityLevelSwapped('AEme',udg_V[8]))
endfunction
function F4V takes nothing returns nothing
call SetUnitAbilityLevelSwapped('A09C',udg_V[1],GetUnitAbilityLevelSwapped('AEme',udg_V[1]))
endfunction
function F5V takes nothing returns nothing
call SetUnitAbilityLevelSwapped('A09C',udg_V[2],GetUnitAbilityLevelSwapped('AEme',udg_V[2]))
endfunction
function F6V takes nothing returns nothing
call SetUnitAbilityLevelSwapped('A09C',udg_V[3],GetUnitAbilityLevelSwapped('AEme',udg_V[3]))
endfunction
function F7V takes nothing returns nothing
call SetUnitAbilityLevelSwapped('A09C',udg_V[4],GetUnitAbilityLevelSwapped('AEme',udg_V[4]))
endfunction
function F8V takes nothing returns nothing
call SetUnitAbilityLevelSwapped('A09C',udg_V[5],GetUnitAbilityLevelSwapped('AEme',udg_V[5]))
endfunction
function F9V takes nothing returns nothing
call SetUnitAbilityLevelSwapped('A09C',udg_V[6],GetUnitAbilityLevelSwapped('AEme',udg_V[6]))
endfunction
function GVV takes nothing returns nothing
call SetUnitAbilityLevelSwapped('A09C',udg_V[7],GetUnitAbilityLevelSwapped('AEme',udg_V[7]))
endfunction
function GEV takes nothing returns nothing
call SetUnitAbilityLevelSwapped('A09C',udg_V[8],GetUnitAbilityLevelSwapped('AEme',udg_V[8]))
endfunction
function GXV takes nothing returns boolean
return(GetLearnedSkill()=='A09S')
endfunction
function GOV takes nothing returns boolean
return(GetLearnedSkill()=='ANrg')
endfunction
function GRV takes nothing returns boolean
return(GetLearnedSkill()=='AEme')
endfunction
function GIV takes nothing returns boolean
return(GetLearnedSkill()=='A09R')
endfunction
function GAV takes nothing returns nothing
if(GXV())then
set udg_DR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=(udg_DR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]+1)
endif
if(GOV())then
set udg_FR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=(udg_FR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]+1)
endif
if(GRV())then
set udg_GR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=(udg_GR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]+1)
endif
if(GIV())then
set udg_HR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=(udg_HR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]+1)
endif
endfunction
function GNV takes nothing returns boolean
return(GetSpellAbilityId()=='A09R')
endfunction
function GBV takes nothing returns nothing
call RemoveUnit(udg_RR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
call RemoveUnit(udg_NR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
call RemoveUnit(udg_BR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
call RemoveUnit(udg_CR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
set udg_MR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=true
call StartTimerBJ(udg_QR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],false,.01)
call TriggerSleepAction((10.+I2R(GetUnitAbilityLevelSwapped('A09R',GetTriggerUnit()))))
set udg_MR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=false
call CreateNUnitsAtLoc(1,'o01B',GetOwningPlayer(GetTriggerUnit()),Location(0,0),bj_UNIT_FACING)
set udg_RR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call CreateNUnitsAtLoc(1,'o01C',GetOwningPlayer(GetTriggerUnit()),Location(0,0),bj_UNIT_FACING)
set udg_NR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call CreateNUnitsAtLoc(1,'o01D',GetOwningPlayer(GetTriggerUnit()),Location(0,0),bj_UNIT_FACING)
set udg_BR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call CreateNUnitsAtLoc(1,'o01E',GetOwningPlayer(GetTriggerUnit()),Location(0,0),bj_UNIT_FACING)
set udg_CR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
endfunction
function GCV takes nothing returns boolean
return(GetSpellAbilityId()=='AEme')
endfunction
function GDV takes nothing returns nothing
call RemoveUnit(udg_RR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
call RemoveUnit(udg_NR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
call RemoveUnit(udg_CR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
call RemoveUnit(udg_BR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
set udg_LR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=true
call StartTimerBJ(udg_PR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],false,.01)
call TriggerSleepAction((24.+I2R(GetUnitAbilityLevelSwapped('AEme',GetTriggerUnit()))))
set udg_LR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=false
call CreateNUnitsAtLoc(1,'o01B',GetOwningPlayer(GetTriggerUnit()),Location(0,0),bj_UNIT_FACING)
set udg_RR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call CreateNUnitsAtLoc(1,'o01C',GetOwningPlayer(GetTriggerUnit()),Location(0,0),bj_UNIT_FACING)
set udg_NR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call CreateNUnitsAtLoc(1,'o01E',GetOwningPlayer(GetTriggerUnit()),Location(0,0),bj_UNIT_FACING)
set udg_CR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call CreateNUnitsAtLoc(1,'o01D',GetOwningPlayer(GetTriggerUnit()),Location(0,0),bj_UNIT_FACING)
set udg_BR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
endfunction
function GFV takes nothing returns boolean
return(GetSpellAbilityId()=='ANrg')
endfunction
function GGV takes nothing returns boolean
return(udg_HR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]>0)
endfunction
function GHV takes nothing returns boolean
return(udg_GR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]>0)
endfunction
function GJV takes nothing returns boolean
return(udg_DR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]>0)
endfunction
function GKV takes nothing returns boolean
return(udg_IR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]==1)
endfunction
function GLV takes nothing returns nothing
set udg_IR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=(udg_IR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]+1)
if(GKV())then
call RemoveUnit(udg_RR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
call RemoveUnit(udg_BR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
call RemoveUnit(udg_CR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
call StartTimerBJ(udg_KR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],false,.01)
else
set udg_IR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=0
call CreateNUnitsAtLoc(1,'o01B',GetOwningPlayer(GetTriggerUnit()),Location(0,0),bj_UNIT_FACING)
set udg_RR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call CreateNUnitsAtLoc(1,'o01D',GetOwningPlayer(GetTriggerUnit()),Location(0,0),bj_UNIT_FACING)
set udg_BR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call CreateNUnitsAtLoc(1,'o01E',GetOwningPlayer(GetTriggerUnit()),Location(0,0),bj_UNIT_FACING)
set udg_CR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
if(GGV())then
call UnitAddAbility(GetTriggerUnit(),'A09R')
call SetUnitAbilityLevelSwapped('A09R',GetTriggerUnit(),udg_HR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endif
call SetPlayerAbilityAvailableBJ(true,'A09R',GetOwningPlayer(GetTriggerUnit()))
if(GHV())then
call UnitAddAbility(GetTriggerUnit(),'AEme')
call SetUnitAbilityLevelSwapped('AEme',GetTriggerUnit(),udg_GR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endif
call SetPlayerAbilityAvailableBJ(true,'AEme',GetOwningPlayer(GetTriggerUnit()))
if(GJV())then
call UnitAddAbility(GetTriggerUnit(),'A09S')
call SetUnitAbilityLevelSwapped('A09S',GetTriggerUnit(),udg_DR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endif
call SetPlayerAbilityAvailableBJ(true,'A09S',GetOwningPlayer(GetTriggerUnit()))
endif
endfunction
function GMV takes nothing returns boolean
return(GetSpellAbilityId()=='A09S')
endfunction
function GPV takes nothing returns boolean
return(udg_HR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]>0)
endfunction
function GQV takes nothing returns boolean
return(udg_GR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]>0)
endfunction
function GSV takes nothing returns boolean
return(udg_FR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]>0)
endfunction
function GTV takes nothing returns boolean
return(udg_AR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]==1)
endfunction
function GUV takes nothing returns nothing
set udg_AR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=(udg_AR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]+1)
if(GTV())then
call RemoveUnit(udg_NR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
call RemoveUnit(udg_BR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
call RemoveUnit(udg_CR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
call StartTimerBJ(udg_JR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],false,.01)
else
set udg_AR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=0
call CreateNUnitsAtLoc(1,'o01C',GetOwningPlayer(GetTriggerUnit()),Location(0,0),bj_UNIT_FACING)
set udg_NR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call CreateNUnitsAtLoc(1,'o01D',GetOwningPlayer(GetTriggerUnit()),Location(0,0),bj_UNIT_FACING)
set udg_BR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
call CreateNUnitsAtLoc(1,'o01E',GetOwningPlayer(GetTriggerUnit()),Location(0,0),bj_UNIT_FACING)
set udg_CR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedUnit
if(GPV())then
call UnitAddAbility(GetTriggerUnit(),'A09R')
call SetUnitAbilityLevelSwapped('A09R',GetTriggerUnit(),udg_HR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endif
call SetPlayerAbilityAvailableBJ(true,'A09R',GetOwningPlayer(GetTriggerUnit()))
if(GQV())then
call UnitAddAbility(GetTriggerUnit(),'AEme')
call SetUnitAbilityLevelSwapped('AEme',GetTriggerUnit(),udg_GR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endif
call SetPlayerAbilityAvailableBJ(true,'AEme',GetOwningPlayer(GetTriggerUnit()))
if(GSV())then
call UnitAddAbility(GetTriggerUnit(),'ANrg')
call SetUnitAbilityLevelSwapped('ANrg',GetTriggerUnit(),udg_FR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endif
call SetPlayerAbilityAvailableBJ(true,'ANrg',GetOwningPlayer(GetTriggerUnit()))
endif
endfunction
function GWV takes nothing returns boolean
return(GetSpellAbilityId()=='ACrd')
endfunction
function GYV takes nothing returns boolean
return(IsUnitAlly(GetTriggerUnit(),Player(8)))
endfunction
function GZV takes nothing returns nothing
if(GYV())then
call IssuePointOrderByIdLoc(GetSummonedUnit(),851983,GetRectCenter(udg_XI))
else
call IssuePointOrderByIdLoc(GetSummonedUnit(),851983,GetRectCenter(udg_SR))
endif
endfunction
function G_V takes nothing returns boolean
return(GetSpellAbilityId()=='A078')
endfunction
function G0V takes nothing returns nothing
set udg_J=GetUnitLoc(GetTriggerUnit())
call CreateNUnitsAtLoc(1,'o00L',GetOwningPlayer(GetTriggerUnit()),udg_J,bj_UNIT_FACING)
call IssueImmediateOrderById(bj_lastCreatedUnit,852164)
call UnitApplyTimedLifeBJ(1.,'BTLF',bj_lastCreatedUnit)
call RemoveLocation(udg_J)
endfunction
function G1V takes nothing returns boolean
return(GetSpellAbilityId()=='A05O')and(UnitHasBuffBJ(GetSpellTargetUnit(),'B017')==false)
endfunction
function G2V takes nothing returns nothing
set udg_J=GetUnitLoc(GetTriggerUnit())
call CreateNUnitsAtLoc(1,'o010',GetOwningPlayer(GetTriggerUnit()),udg_J,bj_UNIT_FACING)
call IssueTargetOrderById(bj_lastCreatedUnit,852106,GetSpellTargetUnit())
call RemoveUnit(bj_lastCreatedUnit)
call RemoveLocation(udg_J)
endfunction
function G3V takes nothing returns boolean
return(GetSpellAbilityId()=='ACcb')or(GetSpellAbilityId()=='ACtb')
endfunction
function G4V takes nothing returns boolean
return(G3V())
endfunction
function G5V takes nothing returns boolean
return(UnitHasBuffBJ(GetSpellTargetUnit(),'B01H'))
endfunction
function G6V takes nothing returns nothing
if(G5V())then
call IssueImmediateOrderById(GetTriggerUnit(),851972)
endif
endfunction
function G7V takes nothing returns boolean
return(GetSpellAbilityId()=='A05R')and(UnitHasBuffBJ(GetSpellTargetUnit(),'B017')==false)
endfunction
function G8V takes nothing returns nothing
set udg_J=GetUnitLoc(GetTriggerUnit())
call CreateNUnitsAtLoc(1,'o011',GetOwningPlayer(GetTriggerUnit()),udg_J,bj_UNIT_FACING)
call IssueTargetOrderById(bj_lastCreatedUnit,852583,GetSpellTargetUnit())
call RemoveUnit(bj_lastCreatedUnit)
call RemoveLocation(udg_J)
endfunction
function G9V takes nothing returns boolean
return(GetSpellAbilityId()=='A07H')
endfunction
function HVV takes nothing returns nothing
call CreateNUnitsAtLoc(1,'o00L',GetOwningPlayer(GetTriggerUnit()),Location(0,0),bj_UNIT_FACING)
call UnitAddAbility(bj_lastCreatedUnit,'A07I')
call IssueTargetOrderById(bj_lastCreatedUnit,852186,GetSpellTargetUnit())
call RemoveUnit(bj_lastCreatedUnit)
endfunction
function HEV takes nothing returns boolean
return(GetSpellAbilityId()=='A08R')
endfunction
function HXV takes nothing returns boolean
return(IsUnitAlly(GetTriggerUnit(),Player(8))==false)
endfunction
function HOV takes nothing returns nothing
call CreateNUnitsAtLoc(1,'o00L',GetOwningPlayer(GetTriggerUnit()),Location(0,0),bj_UNIT_FACING)
call UnitAddAbility(bj_lastCreatedUnit,'ACch')
call IssueTargetOrderById(bj_lastCreatedUnit,852581,GetSpellTargetUnit())
call RemoveUnit(bj_lastCreatedUnit)
call CreateNUnitsAtLoc(1,'o00L',GetOwningPlayer(GetTriggerUnit()),Location(0,0),bj_UNIT_FACING)
call UnitAddAbility(bj_lastCreatedUnit,'ACch')
call IssueTargetOrderById(bj_lastCreatedUnit,852581,GetSpellTargetUnit())
call RemoveUnit(bj_lastCreatedUnit)
call UnitAddType(GetSpellTargetUnit(),UNIT_TYPE_SUMMONED)
if(HXV())then
call IssuePointOrderByIdLoc(GetSpellTargetUnit(),851983,Location(-6400.,-3072.))
else
call IssuePointOrderByIdLoc(bj_lastCreatedUnit,851983,Location(6400.,-3072.))
endif
endfunction
function HRV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I02C')or(GetItemTypeId(GetManipulatedItem())=='I02G')or(GetItemTypeId(GetManipulatedItem())=='I02K')or(GetItemTypeId(GetManipulatedItem())=='I02O')or(GetItemTypeId(GetManipulatedItem())=='I02S')or(GetItemTypeId(GetManipulatedItem())=='I02W')or(GetItemTypeId(GetManipulatedItem())=='I030')
endfunction
function HIV takes nothing returns boolean
return(HRV())
endfunction
function HAV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I02C')
endfunction
function HNV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I02G')
endfunction
function HBV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I02K')
endfunction
function HCV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I02O')
endfunction
function HDV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I02S')
endfunction
function HFV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I02W')
endfunction
function HGV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I030')
endfunction
function HHV takes nothing returns nothing
if(HAV())then
call TriggerExecute(udg_TJ)
return
endif
if(HNV())then
call TriggerExecute(udg_WJ)
return
endif
if(HBV())then
call TriggerExecute(udg_ZJ)
return
endif
if(HCV())then
call TriggerExecute(udg_EK)
return
endif
if(HDV())then
call TriggerExecute(udg_OK)
return
endif
if(HFV())then
call TriggerExecute(udg_IK)
return
endif
if(HGV())then
call TriggerExecute(udg_NK)
return
endif
endfunction
function HJV takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)>=36000)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02D')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02E'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02F')==false)
endfunction
function HKV takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)>=20000)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02E')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02F')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02D'))
endfunction
function HLV takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)>=8000)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02E')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02F')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02D')==false)
endfunction
function HMV takes nothing returns nothing
if(HLV())then
call UnitAddItemByIdSwapped('I02D',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)-8000))
else
if(HKV())then
call RemoveItem(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I02D'))
call UnitAddItemByIdSwapped('I02E',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)-20000))
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Items\\AIem\\AIemTarget.mdl")
call TriggerExecute(udg_XB)
else
if(HJV())then
call RemoveItem(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I02E'))
call UnitAddItemByIdSwapped('I02F',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)-36000))
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Items\\AIem\\AIemTarget.mdl")
call TriggerExecute(udg_XB)
endif
endif
endif
endfunction
function HPV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I02D')or(GetItemTypeId(GetManipulatedItem())=='I02E')or(GetItemTypeId(GetManipulatedItem())=='I02F')
endfunction
function HQV takes nothing returns boolean
return(HPV())
endfunction
function HSV takes nothing returns boolean
return(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I02D')or(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I02E')or(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I02F')
endfunction
function HTV takes nothing returns boolean
return(HSV())
endfunction
function HUV takes nothing returns boolean
return(udg_VV>=2)
endfunction
function HWV takes nothing returns nothing
set udg_VV=0
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=6
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
if(HTV())then
set udg_VV=(udg_VV+1)
endif
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
if(HUV())then
call UnitRemoveItemSwapped(GetManipulatedItem(),GetTriggerUnit())
endif
endfunction
function HYV takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)>=100000)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02J')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02I'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02H')==false)
endfunction
function HZV takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)>=40000)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02I')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02J')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02H'))
endfunction
function H_V takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)>=10000)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02H')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02I')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02J')==false)
endfunction
function H0V takes nothing returns nothing
if(H_V())then
call UnitAddItemByIdSwapped('I02H',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)-10000))
else
if(HZV())then
call RemoveItem(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I02H'))
call UnitAddItemByIdSwapped('I02I',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)-40000))
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Items\\AIem\\AIemTarget.mdl")
call TriggerExecute(udg_XB)
else
if(HYV())then
call RemoveItem(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I02I'))
call UnitAddItemByIdSwapped('I02J',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)-100000))
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Items\\AIem\\AIemTarget.mdl")
call TriggerExecute(udg_XB)
endif
endif
endif
endfunction
function H1V takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I02H')or(GetItemTypeId(GetManipulatedItem())=='I02I')or(GetItemTypeId(GetManipulatedItem())=='I02J')
endfunction
function H2V takes nothing returns boolean
return(H1V())
endfunction
function H3V takes nothing returns boolean
return(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I02H')or(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I02I')or(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I02J')
endfunction
function H4V takes nothing returns boolean
return(H3V())
endfunction
function H5V takes nothing returns boolean
return(udg_VV>=2)
endfunction
function H6V takes nothing returns nothing
set udg_VV=0
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=6
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
if(H4V())then
set udg_VV=(udg_VV+1)
endif
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
if(H5V())then
call UnitRemoveItemSwapped(GetManipulatedItem(),GetTriggerUnit())
endif
endfunction
function H7V takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)>=350000)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02L')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02M'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02N')==false)
endfunction
function H8V takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)>=100000)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02L'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02M')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02N')==false)
endfunction
function H9V takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)>=15000)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02L')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02M')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02N')==false)
endfunction
function JVV takes nothing returns nothing
if(H9V())then
call UnitAddItemByIdSwapped('I02L',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)-15000))
else
if(H8V())then
call RemoveItem(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I02L'))
call UnitAddItemByIdSwapped('I02M',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)-100000))
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Items\\AIem\\AIemTarget.mdl")
call TriggerExecute(udg_XB)
else
if(H7V())then
call RemoveItem(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I02M'))
call UnitAddItemByIdSwapped('I02N',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)-350000))
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Items\\AIem\\AIemTarget.mdl")
call TriggerExecute(udg_XB)
endif
endif
endif
endfunction
function JEV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I02L')or(GetItemTypeId(GetManipulatedItem())=='I02M')or(GetItemTypeId(GetManipulatedItem())=='I02N')
endfunction
function JXV takes nothing returns boolean
return(JEV())
endfunction
function JOV takes nothing returns boolean
return(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I02L')or(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I02M')or(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I02N')
endfunction
function JRV takes nothing returns boolean
return(JOV())
endfunction
function JIV takes nothing returns boolean
return(udg_VV>=2)
endfunction
function JAV takes nothing returns nothing
set udg_VV=0
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=6
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
if(JRV())then
set udg_VV=(udg_VV+1)
endif
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
if(JIV())then
call UnitRemoveItemSwapped(GetManipulatedItem(),GetTriggerUnit())
endif
endfunction
function JNV takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)>=64000)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02Q')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02P'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02R')==false)
endfunction
function JBV takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)>=32000)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02Q'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02P')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02R')==false)
endfunction
function JCV takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)>=16000)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02Q')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02P')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02R')==false)
endfunction
function JDV takes nothing returns nothing
if(JCV())then
call UnitAddItemByIdSwapped('I02Q',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)-16000))
else
if(JBV())then
call RemoveItem(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I02Q'))
call UnitAddItemByIdSwapped('I02P',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)-32000))
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Items\\AIem\\AIemTarget.mdl")
call TriggerExecute(udg_XB)
else
if(JNV())then
call RemoveItem(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I02P'))
call UnitAddItemByIdSwapped('I02R',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)-64000))
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Items\\AIem\\AIemTarget.mdl")
call TriggerExecute(udg_XB)
endif
endif
endif
endfunction
function JFV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I02Q')or(GetItemTypeId(GetManipulatedItem())=='I02P')or(GetItemTypeId(GetManipulatedItem())=='I02R')
endfunction
function JGV takes nothing returns boolean
return(JFV())
endfunction
function JHV takes nothing returns boolean
return(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I02Q')or(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I02P')or(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I02R')
endfunction
function JJV takes nothing returns boolean
return(JHV())
endfunction
function JKV takes nothing returns boolean
return(udg_VV>=2)
endfunction
function JLV takes nothing returns nothing
set udg_VV=0
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=6
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
if(JJV())then
set udg_VV=(udg_VV+1)
endif
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
if(JKV())then
call UnitRemoveItemSwapped(GetManipulatedItem(),GetTriggerUnit())
endif
endfunction
function JMV takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER)>=250)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02T')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02U'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02V')==false)
endfunction
function JPV takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER)>='d')and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02T'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02U')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02V')==false)
endfunction
function JQV takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER)>=40)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02T')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02U')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02V')==false)
endfunction
function JSV takes nothing returns nothing
if(JQV())then
call UnitAddItemByIdSwapped('I02T',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER)-40))
else
if(JPV())then
call RemoveItem(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I02T'))
call UnitAddItemByIdSwapped('I02U',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER)-'d'))
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Items\\AIem\\AIemTarget.mdl")
call TriggerExecute(udg_XB)
else
if(JMV())then
call RemoveItem(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I02U'))
call UnitAddItemByIdSwapped('I02V',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER)-250))
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Items\\AIem\\AIemTarget.mdl")
call TriggerExecute(udg_XB)
endif
endif
endif
endfunction
function JTV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I02T')or(GetItemTypeId(GetManipulatedItem())=='I02U')or(GetItemTypeId(GetManipulatedItem())=='I02V')
endfunction
function JUV takes nothing returns boolean
return(JTV())
endfunction
function JWV takes nothing returns boolean
return(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I02T')or(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I02U')or(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I02V')
endfunction
function JYV takes nothing returns boolean
return(JWV())
endfunction
function JZV takes nothing returns boolean
return(udg_VV>=2)
endfunction
function J_V takes nothing returns nothing
set udg_VV=0
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=6
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
if(JYV())then
set udg_VV=(udg_VV+1)
endif
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
if(JZV())then
call UnitRemoveItemSwapped(GetManipulatedItem(),GetTriggerUnit())
endif
endfunction
function J0V takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER)>=225)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02Y')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02X'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02Z')==false)
endfunction
function J1V takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER)>=80)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02Y'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02X')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02Z')==false)
endfunction
function J2V takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER)>=8)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02Y')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02X')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02Z')==false)
endfunction
function J3V takes nothing returns nothing
if(J2V())then
call UnitAddItemByIdSwapped('I02Y',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER)-8))
else
if(J1V())then
call RemoveItem(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I02Y'))
call UnitAddItemByIdSwapped('I02X',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER)-80))
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Items\\AIem\\AIemTarget.mdl")
call TriggerExecute(udg_XB)
else
if(J0V())then
call RemoveItem(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I02X'))
call UnitAddItemByIdSwapped('I02Z',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER)-225))
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Items\\AIem\\AIemTarget.mdl")
call TriggerExecute(udg_XB)
endif
endif
endif
endfunction
function J4V takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I02Y')or(GetItemTypeId(GetManipulatedItem())=='I02X')or(GetItemTypeId(GetManipulatedItem())=='I02Z')
endfunction
function J5V takes nothing returns boolean
return(J4V())
endfunction
function J6V takes nothing returns boolean
return(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I02Y')or(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I02X')or(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I02Z')
endfunction
function J7V takes nothing returns boolean
return(J6V())
endfunction
function J8V takes nothing returns boolean
return(udg_VV>=2)
endfunction
function J9V takes nothing returns nothing
set udg_VV=0
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=6
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
if(J7V())then
set udg_VV=(udg_VV+1)
endif
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
if(J8V())then
call UnitRemoveItemSwapped(GetManipulatedItem(),GetTriggerUnit())
endif
endfunction
function KVV takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)>=9000)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I031')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I032'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I033')==false)
endfunction
function KEV takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)>=6500)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I031'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I032')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I033')==false)
endfunction
function KXV takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)>=4000)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I031')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I032')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I033')==false)
endfunction
function KOV takes nothing returns nothing
if(KXV())then
call UnitAddItemByIdSwapped('I031',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)-4000))
else
if(KEV())then
call RemoveItem(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I031'))
call UnitAddItemByIdSwapped('I032',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)-6500))
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Items\\AIem\\AIemTarget.mdl")
call TriggerExecute(udg_XB)
else
if(KVV())then
call RemoveItem(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I032'))
call UnitAddItemByIdSwapped('I033',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)-9000))
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Items\\AIem\\AIemTarget.mdl")
call TriggerExecute(udg_XB)
endif
endif
endif
endfunction
function KRV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I031')or(GetItemTypeId(GetManipulatedItem())=='I032')or(GetItemTypeId(GetManipulatedItem())=='I033')
endfunction
function KIV takes nothing returns boolean
return(KRV())
endfunction
function KAV takes nothing returns boolean
return(udg_VV==2)
endfunction
function KNV takes nothing returns boolean
return(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I031')or(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I032')or(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I033')
endfunction
function KBV takes nothing returns boolean
return(KNV())
endfunction
function KCV takes nothing returns nothing
set udg_VV=0
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=6
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
if(KBV())then
set udg_VV=(udg_VV+1)
if(KAV())then
call UnitRemoveItemSwapped(GetManipulatedItem(),GetTriggerUnit())
return
endif
endif
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
endfunction
function KDV takes nothing returns boolean
return(udg_TE[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endfunction
function KFV takes nothing returns nothing
local location udg_DE
set udg_J=GetUnitLoc(GetTriggerUnit())
set udg_DE=GetUnitLoc(udg_V[udg_UE[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]])
call AddLightningLoc("CLPB",udg_J,udg_DE)
call ConditionalTriggerExecute(udg_OB)
call TriggerSleepAction(.0)
call SetItemPositionLoc(GetManipulatedItem(),Location(0,0))
call TriggerSleepAction(.5)
call SetItemPositionLoc(GetManipulatedItem(),udg_DE)
call UnitAddItem(udg_V[udg_UE[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]],GetManipulatedItem())
call RemoveLocation(udg_J)
call RemoveLocation(udg_DE)
endfunction
function KGV takes nothing returns boolean
return(GetSpellAbilityId()=='A03T')
endfunction
function KHV takes nothing returns boolean
return(IsUnitType(GetTriggerUnit(),UNIT_TYPE_SUMMONED)==false)
endfunction
function KJV takes nothing returns nothing
if(KHV())then
set udg_UE[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=(1+GetPlayerId(GetOwningPlayer(GetSpellTargetUnit())))
set udg_TE[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=true
endif
endfunction
function KKV takes nothing returns boolean
return(GetSpellAbilityId()=='A03T')
endfunction
function KLV takes nothing returns nothing
call TriggerSleepAction(.0)
set udg_TE[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=false
endfunction
function KMV takes nothing returns boolean
return(GetSpellAbilityId()=='A080')
endfunction
function KPV takes nothing returns nothing
set udg_J=GetUnitLoc(GetTriggerUnit())
call CreateItemLoc(udg_XV[GetRandomInt(GetUnitAbilityLevelSwapped('A080',GetTriggerUnit()),(GetUnitAbilityLevelSwapped('A080',GetTriggerUnit())*2))],udg_J)
call UnitAddItem(GetTriggerUnit(),bj_lastCreatedItem)
call RemoveLocation(udg_J)
endfunction
function KQV takes nothing returns boolean
return(GetSpellAbilityId()=='A07Y')
endfunction
function KSV takes nothing returns nothing
set udg_J=GetUnitLoc(GetTriggerUnit())
call CreateItemLoc(udg_Q[GetRandomInt(1,9)],udg_J)
call UnitAddItem(GetTriggerUnit(),bj_lastCreatedItem)
call RemoveLocation(udg_J)
endfunction
function KTV takes nothing returns boolean
return(GetSpellAbilityId()=='A081')
endfunction
function KUV takes nothing returns nothing
set udg_J=GetUnitLoc(GetTriggerUnit())
call CreateItemLoc(udg_S[GetRandomInt(1,9)],udg_J)
call UnitAddItem(GetTriggerUnit(),bj_lastCreatedItem)
call RemoveLocation(udg_J)
endfunction
function KWV takes nothing returns boolean
return(GetSpellAbilityId()=='AOmi')
endfunction
function KYV takes nothing returns boolean
return(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),5))==udg_Q[bj_forLoopAIndex])and(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),6))==udg_S[bj_forLoopAIndex])and(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)>=(50000+(bj_forLoopAIndex*10000)))
endfunction
function KZV takes nothing returns nothing
call CameraClearNoiseForPlayer(GetOwningPlayer(GetTriggerUnit()))
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=10
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
if(KYV())then
call RemoveItem(UnitItemInSlotBJ(GetTriggerUnit(),5))
call RemoveItem(UnitItemInSlotBJ(GetTriggerUnit(),6))
call UnitAddItemByIdSwapped(udg_T[bj_forLoopAIndex],GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)-(50000+(bj_forLoopAIndex*10000))))
endif
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
endfunction
function K_V takes nothing returns boolean
return(GetSpellAbilityId()=='A04F')
endfunction
function K0V takes nothing returns nothing
call RemoveItem(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I019'))
endfunction
function K1V takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I024')
endfunction
function K2V takes nothing returns boolean
return(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I03Q'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I022'))
endfunction
function K3V takes nothing returns boolean
return(udg_VV==2)
endfunction
function K4V takes nothing returns boolean
return(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I03Q'))or(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I022'))
endfunction
function K5V takes nothing returns boolean
return(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I026')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I00P'))and(K4V())and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I00E'))
endfunction
function K6V takes nothing returns nothing
if(K5V())then
call PlaySoundOnUnitBJ(udg_VA,'d',GetTriggerUnit())
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Other\\Monsoon\\MonsoonBoltTarget.mdl")
call TriggerExecute(udg_XB)
if(K2V())then
set udg_VV=GetRandomInt(1,2)
else
call UnitRemoveItemSwapped(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I03Q'),GetTriggerUnit())
call RemoveItem(bj_lastRemovedItem)
call UnitRemoveItemSwapped(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I022'),GetTriggerUnit())
call RemoveItem(bj_lastRemovedItem)
endif
if(K3V())then
call UnitRemoveItemSwapped(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I03Q'),GetTriggerUnit())
call RemoveItem(bj_lastRemovedItem)
else
call UnitRemoveItemSwapped(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I022'),GetTriggerUnit())
call RemoveItem(bj_lastRemovedItem)
endif
call UnitRemoveItemSwapped(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I00E'),GetTriggerUnit())
call RemoveItem(bj_lastRemovedItem)
call UnitRemoveItemSwapped(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I00P'),GetTriggerUnit())
call RemoveItem(bj_lastRemovedItem)
call UnitAddItemByIdSwapped('I026',GetTriggerUnit())
else
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER)+80))
endif
endfunction
function K7V takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I021')
endfunction
function K8V takes nothing returns boolean
return(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I020')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I01Y'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I00Y'))
endfunction
function K9V takes nothing returns nothing
if(K8V())then
call PlaySoundOnUnitBJ(udg_VA,'d',GetTriggerUnit())
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Other\\Monsoon\\MonsoonBoltTarget.mdl")
call TriggerExecute(udg_XB)
call UnitRemoveItemSwapped(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I01Y'),GetTriggerUnit())
call RemoveItem(bj_lastRemovedItem)
call UnitRemoveItemSwapped(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I00Y'),GetTriggerUnit())
call RemoveItem(bj_lastRemovedItem)
call UnitAddItemByIdSwapped('I020',GetTriggerUnit())
else
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER)+'d'))
endif
endfunction
function LVV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I00M')or(GetItemTypeId(GetManipulatedItem())=='I00L')or(GetItemTypeId(GetManipulatedItem())=='I00N')
endfunction
function LEV takes nothing returns boolean
return(LVV())
endfunction
function LXV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I00M')and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I00L'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I00N'))
endfunction
function LOV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I00L')and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I00M'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I00N'))
endfunction
function LRV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I00N')and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I00L'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I00M'))
endfunction
function LIV takes nothing returns boolean
return(LXV())or(LOV())or(LRV())
endfunction
function LAV takes nothing returns boolean
return(LIV())
endfunction
function LNV takes nothing returns nothing
if(LAV())then
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Items\\AIim\\AIimTarget.mdl")
call TriggerExecute(udg_XB)
call UnitRemoveItemSwapped(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I00L'),GetTriggerUnit())
call RemoveItem(bj_lastRemovedItem)
call UnitRemoveItemSwapped(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I00N'),GetTriggerUnit())
call RemoveItem(bj_lastRemovedItem)
call UnitRemoveItemSwapped(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I00M'),GetTriggerUnit())
call RemoveItem(bj_lastRemovedItem)
call UnitAddItemByIdSwapped('I00R',GetTriggerUnit())
endif
endfunction
function LBV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I01X')
endfunction
function LCV takes nothing returns boolean
return(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I01W')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I00Z'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I010'))
endfunction
function LDV takes nothing returns nothing
if(LCV())then
call PlaySoundOnUnitBJ(udg_VA,'d',GetTriggerUnit())
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Other\\Monsoon\\MonsoonBoltTarget.mdl")
call TriggerExecute(udg_XB)
call UnitRemoveItemSwapped(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I00Z'),GetTriggerUnit())
call RemoveItem(bj_lastRemovedItem)
call UnitRemoveItemSwapped(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I010'),GetTriggerUnit())
call RemoveItem(bj_lastRemovedItem)
call UnitAddItemByIdSwapped('I01W',GetTriggerUnit())
else
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER)+180))
endif
endfunction
function LFV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I01E')
endfunction
function LGV takes nothing returns boolean
return(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I00J')
endfunction
function LHV takes nothing returns boolean
return(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I00J')and(udg_VV<=1)
endfunction
function LJV takes nothing returns boolean
return(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I00Q'))and(udg_VV>=2)
endfunction
function LKV takes nothing returns nothing
set udg_VV=0
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=6
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
if(LGV())then
set udg_VV=(udg_VV+1)
endif
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
if(LJV())then
set udg_VV=0
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=6
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
if(LHV())then
call UnitRemoveItemSwapped(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex),GetTriggerUnit())
call RemoveItem(bj_lastRemovedItem)
set udg_VV=(udg_VV+1)
endif
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Items\\AIlm\\AIlmTarget.mdl")
call TriggerExecute(udg_XB)
call UnitRemoveItemSwapped(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I00Q'),GetTriggerUnit())
call RemoveItem(bj_lastRemovedItem)
call UnitAddItemByIdSwapped('I01F',GetTriggerUnit())
else
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)+55000))
endif
endfunction
function LLV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I01Z')
endfunction
function LMV takes nothing returns boolean
return(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I01Y')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I00X'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I01M'))
endfunction
function LPV takes nothing returns nothing
if(LMV())then
call PlaySoundOnUnitBJ(udg_VA,'d',GetTriggerUnit())
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Other\\Monsoon\\MonsoonBoltTarget.mdl")
call TriggerExecute(udg_XB)
call UnitRemoveItemSwapped(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I01M'),GetTriggerUnit())
call RemoveItem(bj_lastRemovedItem)
call UnitRemoveItemSwapped(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I00X'),GetTriggerUnit())
call RemoveItem(bj_lastRemovedItem)
call UnitAddItemByIdSwapped('I01Y',GetTriggerUnit())
else
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER)+'d'))
endif
endfunction
function LQV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I00F')
endfunction
function LSV takes nothing returns boolean
return(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I006'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I005'))
endfunction
function LTV takes nothing returns nothing
if(LSV())then
call PlaySoundOnUnitBJ(udg_VA,'d',GetTriggerUnit())
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Other\\Monsoon\\MonsoonBoltTarget.mdl")
call TriggerExecute(udg_XB)
call UnitRemoveItemSwapped(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I005'),GetTriggerUnit())
call RemoveItem(bj_lastRemovedItem)
call UnitRemoveItemSwapped(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I006'),GetTriggerUnit())
call RemoveItem(bj_lastRemovedItem)
call UnitAddItemByIdSwapped('I01B',GetTriggerUnit())
else
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)+10000))
endif
endfunction
function LUV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I000')
endfunction
function LWV takes nothing returns boolean
return(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I01L')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I03O'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I00R'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I00S'))
endfunction
function LYV takes nothing returns boolean
return(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I01L')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I00Q'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I00S'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I00O'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I00P'))
endfunction
function LZV takes nothing returns nothing
if(LYV())then
call PlaySoundOnUnitBJ(udg_VA,'d',GetTriggerUnit())
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Other\\Monsoon\\MonsoonBoltTarget.mdl")
call TriggerExecute(udg_XB)
call UnitRemoveItemSwapped(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I00S'),GetTriggerUnit())
call RemoveItem(bj_lastRemovedItem)
call UnitRemoveItemSwapped(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I00O'),GetTriggerUnit())
call RemoveItem(bj_lastRemovedItem)
call UnitRemoveItemSwapped(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I00Q'),GetTriggerUnit())
call RemoveItem(bj_lastRemovedItem)
call UnitRemoveItemSwapped(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I00P'),GetTriggerUnit())
call RemoveItem(bj_lastRemovedItem)
call UnitAddItemByIdSwapped('I01L',GetTriggerUnit())
else
if(LWV())then
call PlaySoundOnUnitBJ(udg_VA,'d',GetTriggerUnit())
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Other\\Monsoon\\MonsoonBoltTarget.mdl")
call TriggerExecute(udg_XB)
call UnitRemoveItemSwapped(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I00S'),GetTriggerUnit())
call RemoveItem(bj_lastRemovedItem)
call UnitRemoveItemSwapped(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I00R'),GetTriggerUnit())
call RemoveItem(bj_lastRemovedItem)
call UnitRemoveItemSwapped(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I03O'),GetTriggerUnit())
call RemoveItem(bj_lastRemovedItem)
call UnitAddItemByIdSwapped('I01L',GetTriggerUnit())
else
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)+60000))
endif
endif
endfunction
function L_V takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I002')
endfunction
function L0V takes nothing returns boolean
return(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I00W')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I009'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I007'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I008'))
endfunction
function L1V takes nothing returns nothing
if(L0V())then
call PlaySoundOnUnitBJ(udg_VA,'d',GetTriggerUnit())
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Other\\Monsoon\\MonsoonBoltTarget.mdl")
call TriggerExecute(udg_XB)
call UnitRemoveItemSwapped(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I009'),GetTriggerUnit())
call RemoveItem(bj_lastRemovedItem)
call UnitRemoveItemSwapped(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I007'),GetTriggerUnit())
call RemoveItem(bj_lastRemovedItem)
call UnitRemoveItemSwapped(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I008'),GetTriggerUnit())
call RemoveItem(bj_lastRemovedItem)
call UnitAddItemByIdSwapped('I00W',GetTriggerUnit())
else
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)+20000))
endif
endfunction
function L2V takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I01O')
endfunction
function L3V takes nothing returns boolean
return(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I01N')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I00O'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I00I'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I00H'))
endfunction
function L4V takes nothing returns nothing
if(L3V())then
call PlaySoundOnUnitBJ(udg_VA,'d',GetTriggerUnit())
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Other\\Monsoon\\MonsoonBoltTarget.mdl")
call TriggerExecute(udg_XB)
call UnitRemoveItemSwapped(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I00O'),GetTriggerUnit())
call RemoveItem(bj_lastRemovedItem)
call UnitRemoveItemSwapped(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I00H'),GetTriggerUnit())
call RemoveItem(bj_lastRemovedItem)
call UnitRemoveItemSwapped(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I00I'),GetTriggerUnit())
call RemoveItem(bj_lastRemovedItem)
call UnitAddItemByIdSwapped('I01N',GetTriggerUnit())
else
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)+75000))
endif
endfunction
function L5V takes nothing returns boolean
return(GetSpellAbilityId()=='A005')
endfunction
function L6V takes nothing returns boolean
return(IsUnitAlly(GetEnumUnit(),GetOwningPlayer(GetTriggerUnit())))and(GetTriggerUnit()!=GetEnumUnit())
endfunction
function L7V takes nothing returns nothing
if(L6V())then
call CreateNUnitsAtLoc(1,'o005',GetOwningPlayer(GetTriggerUnit()),udg_J,bj_UNIT_FACING)
call SetUnitAbilityLevelSwapped('A035',bj_lastCreatedUnit,GetUnitAbilityLevelSwapped('A005',GetTriggerUnit()))
call IssueTargetOrderById(bj_lastCreatedUnit,852110,GetEnumUnit())
call RemoveUnit(bj_lastCreatedUnit)
endif
endfunction
function L8V takes nothing returns nothing
set udg_J=GetUnitLoc(GetSpellTargetUnit())
set udg_FE=ZT(200.,udg_J)
call ForGroupBJ(udg_FE,function L7V)
call RemoveLocation(udg_J)
call DestroyGroup(udg_FE)
set udg_FE=null
endfunction
function L9V takes nothing returns boolean
return(GetSpellAbilityId()=='A00M')
endfunction
function MVV takes nothing returns boolean
return(IsUnitAlly(GetEnumUnit(),GetOwningPlayer(GetTriggerUnit())))
endfunction
function MEV takes nothing returns nothing
if(MVV())then
call CreateNUnitsAtLoc(1,'o00W',GetOwningPlayer(GetTriggerUnit()),udg_J,bj_UNIT_FACING)
call SetUnitAbilityLevelSwapped('ACls',bj_lastCreatedUnit,GetUnitAbilityLevelSwapped('A00M',GetTriggerUnit()))
call IssueTargetOrderById(bj_lastCreatedUnit,852110,GetEnumUnit())
call RemoveUnit(bj_lastCreatedUnit)
endif
endfunction
function MXV takes nothing returns nothing
set udg_J=GetUnitLoc(GetSpellTargetUnit())
set udg_FE=ZT(200.,udg_J)
call ForGroupBJ(udg_FE,function MEV)
call RemoveLocation(udg_J)
call DestroyGroup(udg_FE)
set udg_FE=null
endfunction
function MOV takes nothing returns boolean
return(GetSpellAbilityId()=='A00Z')
endfunction
function MRV takes nothing returns boolean
return(GetItemTypeId(GetEnumItem())=='I00Z')
endfunction
function MIV takes nothing returns nothing
if(MRV())then
call CreateItemLoc('I017',GetItemLoc(GetEnumItem()))
call RemoveItem(GetEnumItem())
set udg_J=GetItemLoc(bj_lastCreatedItem)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\AIem\\AIemTarget.mdl")
call RemoveLocation(udg_J)
call TriggerExecute(udg_XB)
call DisableTrigger(GetTriggeringTrigger())
endif
endfunction
function MAV takes nothing returns nothing
call EnumItemsInRectBJ(RectFromCenterSizeBJ(GetSpellTargetLoc(),200.,200.),function MIV)
endfunction
function MNV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I01P')and(GetUnitStateSwap(UNIT_STATE_MANA,udg_M[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])>=450.)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I00C')==false)
endfunction
function MBV takes nothing returns boolean
return(UnitItemInSlotBJ(GetTriggerUnit(),1)==null)or(UnitItemInSlotBJ(GetTriggerUnit(),2)==null)or(UnitItemInSlotBJ(GetTriggerUnit(),3)==null)or(UnitItemInSlotBJ(GetTriggerUnit(),4)==null)or(UnitItemInSlotBJ(GetTriggerUnit(),5)==null)or(UnitItemInSlotBJ(GetTriggerUnit(),6)==null)
endfunction
function MCV takes nothing returns boolean
return(MBV())
endfunction
function MDV takes nothing returns nothing
if(MCV())then
call SetUnitManaBJ(udg_M[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],(GetUnitStateSwap(UNIT_STATE_MANA,udg_M[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])-450.))
call UnitAddItemByIdSwapped('I00C',GetTriggerUnit())
call StartTimerBJ(udg_Y[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],false,60.)
call CreateTimerDialogBJ(udg_Y[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],"Gauntlets expire in")
set udg_LO[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedTimerDialog
call TimerDialogDisplay(bj_lastCreatedTimerDialog,false)
call TimerDialogDisplayForPlayerBJ(true,udg_LO[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],GetOwningPlayer(GetTriggerUnit()))
call TriggerSleepAction(60.)
call RemoveItem(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I00C'))
call TimerDialogDisplayForPlayerBJ(false,udg_LO[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],GetOwningPlayer(GetTriggerUnit()))
call DestroyTimerDialog(udg_LO[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endif
endfunction
function MFV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='tret')
endfunction
function MGV takes nothing returns boolean
return(udg_LR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]==false)
endfunction
function MHV takes nothing returns boolean
return(udg_MR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]==false)
endfunction
function MJV takes nothing returns boolean
return(GetUnitAbilityLevelSwapped('A06E',udg_V[5])>=GetUnitAbilityLevelSwapped('A06E',udg_V[6]))and(GetUnitAbilityLevelSwapped('A06E',udg_V[5])>=GetUnitAbilityLevelSwapped('A06E',udg_V[7]))and(GetUnitAbilityLevelSwapped('A06E',udg_V[5])>=GetUnitAbilityLevelSwapped('A06E',udg_V[8]))
endfunction
function MKV takes nothing returns boolean
return(GetUnitAbilityLevelSwapped('A06E',udg_V[6])>=GetUnitAbilityLevelSwapped('A06E',udg_V[5]))and(GetUnitAbilityLevelSwapped('A06E',udg_V[6])>=GetUnitAbilityLevelSwapped('A06E',udg_V[7]))and(GetUnitAbilityLevelSwapped('A06E',udg_V[6])>=GetUnitAbilityLevelSwapped('A06E',udg_V[8]))
endfunction
function MLV takes nothing returns boolean
return(GetUnitAbilityLevelSwapped('A06E',udg_V[7])>=GetUnitAbilityLevelSwapped('A06E',udg_V[5]))and(GetUnitAbilityLevelSwapped('A06E',udg_V[7])>=GetUnitAbilityLevelSwapped('A06E',udg_V[6]))and(GetUnitAbilityLevelSwapped('A06E',udg_V[7])>=GetUnitAbilityLevelSwapped('A06E',udg_V[8]))
endfunction
function MMV takes nothing returns boolean
return(GetUnitAbilityLevelSwapped('A06E',udg_V[8])>=GetUnitAbilityLevelSwapped('A06E',udg_V[5]))and(GetUnitAbilityLevelSwapped('A06E',udg_V[8])>=GetUnitAbilityLevelSwapped('A06E',udg_V[6]))and(GetUnitAbilityLevelSwapped('A06E',udg_V[8])>=GetUnitAbilityLevelSwapped('A06E',udg_V[7]))
endfunction
function MPV takes nothing returns boolean
return(GetUnitAbilityLevelSwapped('A06E',udg_V[1])>=GetUnitAbilityLevelSwapped('A06E',udg_V[2]))and(GetUnitAbilityLevelSwapped('A06E',udg_V[1])>=GetUnitAbilityLevelSwapped('A06E',udg_V[3]))and(GetUnitAbilityLevelSwapped('A06E',udg_V[1])>=GetUnitAbilityLevelSwapped('A06E',udg_V[4]))
endfunction
function MQV takes nothing returns boolean
return(GetUnitAbilityLevelSwapped('A06E',udg_V[2])>=GetUnitAbilityLevelSwapped('A06E',udg_V[1]))and(GetUnitAbilityLevelSwapped('A06E',udg_V[2])>=GetUnitAbilityLevelSwapped('A06E',udg_V[3]))and(GetUnitAbilityLevelSwapped('A06E',udg_V[2])>=GetUnitAbilityLevelSwapped('A06E',udg_V[4]))
endfunction
function MSV takes nothing returns boolean
return(GetUnitAbilityLevelSwapped('A06E',udg_V[3])>=GetUnitAbilityLevelSwapped('A06E',udg_V[1]))and(GetUnitAbilityLevelSwapped('A06E',udg_V[3])>=GetUnitAbilityLevelSwapped('A06E',udg_V[2]))and(GetUnitAbilityLevelSwapped('A06E',udg_V[3])>=GetUnitAbilityLevelSwapped('A06E',udg_V[4]))
endfunction
function MTV takes nothing returns boolean
return(GetUnitAbilityLevelSwapped('A06E',udg_V[4])>=GetUnitAbilityLevelSwapped('A06E',udg_V[1]))and(GetUnitAbilityLevelSwapped('A06E',udg_V[4])>=GetUnitAbilityLevelSwapped('A06E',udg_V[2]))and(GetUnitAbilityLevelSwapped('A06E',udg_V[4])>=GetUnitAbilityLevelSwapped('A06E',udg_V[3]))
endfunction
function MUV takes nothing returns boolean
return(IsUnitAlly(GetTriggerUnit(),Player(0)))
endfunction
function MWV takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='U000')
endfunction
function MYV takes nothing returns nothing
set udg_DR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=0
set udg_FR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=0
if(MGV())then
set udg_GR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=0
endif
if(MHV())then
set udg_HR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=0
endif
call UnitRemoveAbility(GetTriggerUnit(),'A08F')
if(MWV())then
if(MUV())then
if(MPV())then
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=4
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call SetPlayerHandicapBJ(Player(-1+(bj_forLoopAIndex)),(100.+(I2R(GetUnitAbilityLevelSwapped('A06E',udg_V[1]))*2.5)))
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
endif
if(MQV())then
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=4
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call SetPlayerHandicapBJ(Player(-1+(bj_forLoopAIndex)),(100.+(I2R(GetUnitAbilityLevelSwapped('A06E',udg_V[2]))*2.5)))
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
endif
if(MSV())then
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=4
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call SetPlayerHandicapBJ(Player(-1+(bj_forLoopAIndex)),(100.+(I2R(GetUnitAbilityLevelSwapped('A06E',udg_V[3]))*2.5)))
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
endif
if(MTV())then
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=4
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call SetPlayerHandicapBJ(Player(-1+(bj_forLoopAIndex)),(100.+(I2R(GetUnitAbilityLevelSwapped('A06E',udg_V[4]))*2.5)))
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
endif
else
if(MJV())then
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=4
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call SetPlayerHandicapBJ(Player(-1+(bj_forLoopAIndex)),(100.+(I2R(GetUnitAbilityLevelSwapped('A06E',udg_V[5]))*2.5)))
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
endif
if(MKV())then
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=4
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call SetPlayerHandicapBJ(Player(-1+(bj_forLoopAIndex)),(100.+(I2R(GetUnitAbilityLevelSwapped('A06E',udg_V[6]))*2.5)))
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
endif
if(MLV())then
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=4
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call SetPlayerHandicapBJ(Player(-1+(bj_forLoopAIndex)),(100.+(I2R(GetUnitAbilityLevelSwapped('A06E',udg_V[7]))*2.5)))
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
endif
if(MMV())then
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=4
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call SetPlayerHandicapBJ(Player(-1+(bj_forLoopAIndex)),(100.+(I2R(GetUnitAbilityLevelSwapped('A06E',udg_V[8]))*2.5)))
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
endif
endif
endif
endfunction
function MZV takes nothing returns boolean
return(GetSpellAbilityId()=='A02C')
endfunction
function M_V takes nothing returns boolean
return(GetUnitTypeId(GetEnumUnit())=='o007')
endfunction
function M0V takes nothing returns nothing
if(M_V())then
call ReplaceUnitBJ(GetEnumUnit(),'o006',2)
endif
endfunction
function M1V takes nothing returns nothing
set udg_F=GetSpellTargetUnit()
set udg_J=GetUnitLoc(udg_F)
set udg_FE=ZT(300.,udg_J)
call ForGroupBJ(udg_FE,function M0V)
call UnitApplyTimedLifeBJ(30.,'BTLF',bj_lastReplacedUnit)
call AddSpecialEffectTargetUnitBJ("overhead",GetEnumUnit(),"Abilities\\Spells\\Other\\Monsoon\\MonsoonBoltTarget.mdl")
call DestroyGroup(udg_FE)
set udg_FE=null
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
endfunction
function M2V takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())!='ushd')
endfunction
function M3V takes nothing returns nothing
call ExplodeUnitBJ(GetTriggerUnit())
endfunction
function M4V takes nothing returns boolean
return(GetSpellAbilityId()=='A02X')or(GetSpellAbilityId()=='AHfs')
endfunction
function M5V takes nothing returns boolean
return(M4V())
endfunction
function M6V takes nothing returns boolean
return(GetOwningPlayer(GetEnumUnit())==Player(8))or(GetOwningPlayer(GetEnumUnit())==Player(9))
endfunction
function M7V takes nothing returns boolean
return(GetUnitCurrentOrder(GetEnumUnit())==String2OrderIdBJ("stand"))and(IsUnitEnemy(GetTriggerUnit(),Player(8)))and(M6V())
endfunction
function M8V takes nothing returns nothing
if(M7V())then
call IssueTargetOrderById(GetEnumUnit(),851983,udg_HQ)
endif
endfunction
function M9V takes nothing returns boolean
return(GetOwningPlayer(GetEnumUnit())==Player(10))or(GetOwningPlayer(GetEnumUnit())==Player(11))
endfunction
function PVV takes nothing returns boolean
return(GetUnitCurrentOrder(GetEnumUnit())==String2OrderIdBJ("stand"))and(IsUnitAlly(GetTriggerUnit(),Player(8)))and(M9V())
endfunction
function PEV takes nothing returns nothing
if(PVV())then
call IssueTargetOrderById(GetEnumUnit(),851983,udg_GQ)
endif
endfunction
function PXV takes nothing returns nothing
local location udg_J
set udg_J=GetSpellTargetLoc()
call TriggerSleepAction(2.1)
call ForGroupBJ(ZT(500.,udg_J),function M8V)
call ForGroupBJ(ZT(500.,udg_J),function PEV)
call RemoveLocation(udg_J)
endfunction
function POV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I01D')
endfunction
function PRV takes nothing returns nothing
call AdjustPlayerStateBJ((500*udg_X),GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)
endfunction
function PIV takes nothing returns boolean
return(GetSpellAbilityId()=='AHfs')or(GetSpellAbilityId()=='A08Q')
endfunction
function PAV takes nothing returns boolean
return(PIV())
endfunction
function PNV takes nothing returns boolean
return(IsUnitIdType(GetUnitTypeId(GetEnumUnit()),UNIT_TYPE_ANCIENT))or(UnitHasBuffBJ(GetEnumUnit(),'B00H'))or(UnitHasBuffBJ(GetEnumUnit(),'BIil'))or(IsUnitType(GetEnumUnit(),UNIT_TYPE_SUMMONED))or(IsUnitType(GetEnumUnit(),UNIT_TYPE_ANCIENT))
endfunction
function PBV takes nothing returns boolean
return(PNV())
endfunction
function PCV takes nothing returns boolean
return(IsUnitIdType(GetUnitTypeId(GetEnumUnit()),UNIT_TYPE_ANCIENT))or(UnitHasBuffBJ(GetEnumUnit(),'B00H'))or(UnitHasBuffBJ(GetEnumUnit(),'BIil'))or(IsUnitType(GetEnumUnit(),UNIT_TYPE_SUMMONED))or(IsUnitType(GetEnumUnit(),UNIT_TYPE_ANCIENT))
endfunction
function PDV takes nothing returns boolean
return(udg_R>0)
endfunction
function PFV takes nothing returns boolean
return(GetUnitTypeId(GetEnumUnit())=='o007')
endfunction
function PGV takes nothing returns boolean
return(GetUnitTypeId(GetEnumUnit())=='o006')
endfunction
function PHV takes nothing returns boolean
return(PCV())and(IsUnitEnemy(GetEnumUnit(),GetOwningPlayer(GetSpellAbilityUnit())))and(UnitHasBuffBJ(GetEnumUnit(),'B00Z')==false)and(GetUnitTypeId(GetEnumUnit())!='N029')
endfunction
function PJV takes nothing returns boolean
return(UnitHasBuffBJ(GetEnumUnit(),'Bams'))
endfunction
function PKV takes nothing returns boolean
return(IsUnitAliveBJ(GetEnumUnit()))
endfunction
function PLV takes nothing returns nothing
call UnitRemoveAbility(GetEnumUnit(),'B00D')
if(PBV())then
else
call UnitRemoveAbility(GetEnumUnit(),'Bam2')
endif
if(PHV())then
if(PDV())then
set udg_VV=60000
else
set udg_VV=30000
endif
if(PFV())then
set udg_VV=(udg_VV*4)
endif
if(PGV())then
set udg_VV=(udg_VV*4)
endif
call CreateNUnitsAtLoc(1,'o005',GetOwningPlayer(GetTriggerUnit()),GetUnitLoc(GetEnumUnit()),bj_UNIT_FACING)
call UnitDamageTargetBJ(bj_lastCreatedUnit,GetEnumUnit(),I2R(udg_VV),ATTACK_TYPE_MAGIC,DAMAGE_TYPE_NORMAL)
call RemoveUnit(bj_lastCreatedUnit)
endif
if(PKV())then
call AddSpecialEffectTargetUnitBJ("overhead",GetEnumUnit(),"Abilities\\Spells\\Human\\DispelMagic\\DispelMagicTarget.mdl")
call TriggerExecute(udg_XB)
if(PJV())then
else
call UnitRemoveAbility(GetEnumUnit(),'B016')
call UnitRemoveAbility(GetEnumUnit(),'B018')
call UnitRemoveAbility(GetEnumUnit(),'BUfa')
call UnitRemoveAbility(GetEnumUnit(),'B017')
call UnitRemoveAbility(GetEnumUnit(),'B019')
call UnitRemoveAbility(GetEnumUnit(),'B01A')
call UnitRemoveAbility(GetEnumUnit(),'B00L')
call UnitRemoveAbility(GetEnumUnit(),'B00Q')
call UnitRemoveAbility(GetEnumUnit(),'Binf')
call UnitRemoveAbility(GetEnumUnit(),'Bcri')
call UnitRemoveAbility(GetEnumUnit(),'BNdh')
call UnitRemoveAbility(GetEnumUnit(),'B00R')
call UnitRemoveAbility(GetEnumUnit(),'B00U')
call UnitRemoveAbility(GetEnumUnit(),'B00G')
call UnitRemoveAbility(GetEnumUnit(),'B004')
call UnitRemoveAbility(GetEnumUnit(),'B001')
call UnitRemoveAbility(GetEnumUnit(),'BIrl')
call UnitRemoveAbility(GetEnumUnit(),'B00I')
call UnitRemoveAbility(GetEnumUnit(),'B005')
call UnitRemoveAbility(GetEnumUnit(),'B00B')
call UnitRemoveAbility(GetEnumUnit(),'Beng')
call UnitRemoveAbility(GetEnumUnit(),'Bweb')
call UnitRemoveAbility(GetEnumUnit(),'Bwea')
call UnitRemoveAbility(GetEnumUnit(),'Bweb')
call UnitRemoveAbility(GetEnumUnit(),'BIrm')
endif
endif
endfunction
function PMV takes nothing returns nothing
local location udg_J
set udg_J=GetSpellTargetLoc()
call TriggerSleepAction(2)
set udg_FE=ZT(250.,udg_J)
call ForGroupBJ(udg_FE,function PLV)
call DestroyGroup(udg_FE)
set udg_FE=null
call RemoveLocation(udg_J)
endfunction
function PPV takes nothing returns boolean
return(GetSpellAbilityId()=='A05W')
endfunction
function PQV takes nothing returns boolean
return(IsUnitEnemy(GetEnumUnit(),GetOwningPlayer(GetTriggerUnit())))
endfunction
function PSV takes nothing returns nothing
if(PQV())then
call IssueTargetOrderById(GetEnumUnit(),851983,bj_lastCreatedUnit)
endif
endfunction
function PTV takes nothing returns boolean
return(IsUnitEnemy(GetEnumUnit(),GetOwningPlayer(GetTriggerUnit())))
endfunction
function PUV takes nothing returns nothing
if(PTV())then
call IssueTargetOrderById(GetEnumUnit(),851983,bj_lastCreatedUnit)
endif
endfunction
function PWV takes nothing returns boolean
return(IsUnitAlly(GetTriggerUnit(),Player(8)))
endfunction
function PYV takes nothing returns nothing
set udg_J=GetSpellTargetLoc()
call CreateNUnitsAtLoc(1,'o012',GetOwningPlayer(GetTriggerUnit()),udg_J,bj_UNIT_FACING)
call TriggerRegisterUnitEvent(udg_GL,bj_lastCreatedUnit,EVENT_UNIT_DEATH)
call RemoveLocation(udg_J)
call UnitApplyTimedLifeBJ(30.,'BTLF',bj_lastCreatedUnit)
if(PWV())then
set udg_FE=QT(udg_VI)
call ForGroupBJ(udg_FE,function PUV)
call DestroyGroup(udg_FE)
set udg_FE=null
else
set udg_FE=QT(udg_EI)
call ForGroupBJ(udg_FE,function PSV)
call DestroyGroup(udg_FE)
set udg_FE=null
endif
endfunction
function PZV takes nothing returns boolean
return(IsUnitEnemy(GetEnumUnit(),GetOwningPlayer(GetDyingUnit())))
endfunction
function P_V takes nothing returns nothing
if(PZV())then
call IssueTargetOrderById(GetEnumUnit(),851983,udg_HQ)
endif
endfunction
function P0V takes nothing returns boolean
return(IsUnitEnemy(GetEnumUnit(),GetOwningPlayer(GetDyingUnit())))
endfunction
function P1V takes nothing returns nothing
if(P0V())then
call IssueTargetOrderById(GetEnumUnit(),851983,udg_GQ)
endif
endfunction
function P2V takes nothing returns boolean
return(IsUnitAlly(GetDyingUnit(),Player(8)))
endfunction
function P3V takes nothing returns nothing
if(P2V())then
set udg_FE=QT(udg_VI)
call ForGroupBJ(udg_FE,function P1V)
call DestroyGroup(udg_FE)
set udg_FE=null
else
set udg_FE=QT(udg_EI)
call ForGroupBJ(udg_FE,function P_V)
call DestroyGroup(udg_FE)
set udg_FE=null
endif
endfunction
function P4V takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I01C')
endfunction
function P5V takes nothing returns boolean
return(IsUnitEnemy(GetTriggerUnit(),Player(8))==false)
endfunction
function P6V takes nothing returns boolean
return(IsUnitEnemy(GetTriggerUnit(),Player(10))==false)
endfunction
function P7V takes nothing returns boolean
return(udg_BV[udg_VV]==1)
endfunction
function P8V takes nothing returns boolean
return(udg_BV[udg_VV]>=3)
endfunction
function P9V takes nothing returns nothing
if(P5V())then
set udg_VV=1
endif
if(P6V())then
set udg_VV=2
endif
if(P8V())then
set udg_BV[udg_VV]=(udg_BV[udg_VV]-3)
call SetUnitManaBJ(udg_M[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],(GetUnitStateSwap(UNIT_STATE_MANA,udg_M[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])+75.))
call DisplayTextToForce(udg_K[udg_VV],("|cff7777aa Souls left : "+(I2S(udg_BV[udg_VV])+" ")))
if(P7V())then
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[udg_VV],(I2S(udg_BV[udg_VV])+" Souls"))
else
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[udg_VV],(I2S(udg_BV[udg_VV])+" Souls"))
endif
else
call DisplayTextToForce(udg_K[udg_VV],"|cff7777aaYour team does not have enough Souls.|r")
endif
endfunction
function QVV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I018')
endfunction
function QEV takes nothing returns boolean
return(IsUnitEnemy(GetTriggerUnit(),Player(8))==false)
endfunction
function QXV takes nothing returns boolean
return(IsUnitEnemy(GetTriggerUnit(),Player(10))==false)
endfunction
function QOV takes nothing returns boolean
return(IsUnitEnemy(GetTriggerUnit(),Player(8))==false)
endfunction
function QRV takes nothing returns boolean
return(IsUnitEnemy(GetTriggerUnit(),Player(10))==false)
endfunction
function QIV takes nothing returns boolean
return(udg_BV[udg_VV]==1)
endfunction
function QAV takes nothing returns boolean
return(udg_BV[udg_VV]>=6)
endfunction
function QNV takes nothing returns nothing
if(QEV())then
set udg_VV=1
endif
if(QXV())then
set udg_VV=2
endif
if(QAV())then
set udg_BV[udg_VV]=(udg_BV[udg_VV]-6)
if(QOV())then
set udg_VV=1
endif
if(QRV())then
set udg_VV=2
endif
set udg_DV[udg_VV]=(udg_DV[udg_VV]+10)
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,2,udg_FV[(udg_VV+8)],I2S(udg_DV[udg_VV]))
if(QIV())then
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[udg_VV],(I2S(udg_BV[udg_VV])+" Souls"))
else
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[udg_VV],(I2S(udg_BV[udg_VV])+" Souls"))
endif
call DisplayTextToForce(udg_K[udg_VV],("|cff7777aaSouls remaining : "+(I2S(udg_BV[udg_VV])+" ")))
else
call DisplayTextToForce(udg_K[udg_VV],"|cff7777aaYour team does not have enough Souls.|r")
endif
endfunction
function QBV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I01Q')
endfunction
function QCV takes nothing returns boolean
return(IsUnitEnemy(GetTriggerUnit(),Player(8))==false)
endfunction
function QDV takes nothing returns boolean
return(IsUnitEnemy(GetTriggerUnit(),Player(10))==false)
endfunction
function QFV takes nothing returns boolean
return(udg_BV[udg_VV]==1)
endfunction
function QGV takes nothing returns boolean
return(udg_BV[udg_VV]>=8)
endfunction
function QHV takes nothing returns nothing
if(QCV())then
set udg_VV=1
endif
if(QDV())then
set udg_VV=2
endif
if(QGV())then
set udg_BV[udg_VV]=(udg_BV[udg_VV]-8)
call UnitAddItemByIdSwapped('I029',GetTriggerUnit())
if(QFV())then
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[udg_VV],(I2S(udg_BV[udg_VV])+" Soul"))
else
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[udg_VV],(I2S(udg_BV[udg_VV])+" Souls"))
endif
call DisplayTextToForce(udg_K[udg_VV],("|cff7777aa Souls left : "+(I2S(udg_BV[udg_VV])+" ")))
else
call DisplayTextToForce(udg_K[udg_VV],"|cff7777aaYour team does not have enough Souls.|r")
endif
endfunction
function QJV takes nothing returns boolean
return(IsPlayerEnemy(GetTriggerPlayer(),Player(8))==false)
endfunction
function QKV takes nothing returns boolean
return(IsPlayerEnemy(GetTriggerPlayer(),Player(10))==false)
endfunction
function QLV takes nothing returns boolean
return(udg_BV[udg_VV]==1)
endfunction
function QMV takes nothing returns boolean
return(udg_KV[(((1+GetPlayerId(GetTriggerPlayer()))*10)+1)]==false)
endfunction
function QPV takes nothing returns boolean
return(udg_BV[udg_VV]>=5)
endfunction
function QQV takes nothing returns boolean
return(GetClickedButton()==udg_JV[1])
endfunction
function QSV takes nothing returns boolean
return(udg_BV[udg_VV]==1)
endfunction
function QTV takes nothing returns boolean
return(udg_KV[(((1+GetPlayerId(GetTriggerPlayer()))*10)+2)]==false)
endfunction
function QUV takes nothing returns boolean
return(udg_BV[udg_VV]>=4)
endfunction
function QWV takes nothing returns boolean
return(GetClickedButton()==udg_JV[2])
endfunction
function QYV takes nothing returns boolean
return(udg_BV[udg_VV]==1)
endfunction
function QZV takes nothing returns boolean
return(udg_KV[(((1+GetPlayerId(GetTriggerPlayer()))*10)+3)]==false)
endfunction
function Q_V takes nothing returns boolean
return(udg_BV[udg_VV]>=4)
endfunction
function Q0V takes nothing returns boolean
return(GetClickedButton()==udg_JV[3])
endfunction
function Q1V takes nothing returns boolean
return(udg_BV[udg_VV]==1)
endfunction
function Q2V takes nothing returns boolean
return(udg_KV[(((1+GetPlayerId(GetTriggerPlayer()))*10)+4)]==false)
endfunction
function Q3V takes nothing returns boolean
return(udg_BV[udg_VV]>=4)
endfunction
function Q4V takes nothing returns boolean
return(GetClickedButton()==udg_JV[4])
endfunction
function Q5V takes nothing returns boolean
return(udg_BV[udg_VV]==1)
endfunction
function Q6V takes nothing returns boolean
return(udg_KV[(((1+GetPlayerId(GetTriggerPlayer()))*10)+5)]==false)
endfunction
function Q7V takes nothing returns boolean
return(udg_BV[udg_VV]>=6)
endfunction
function Q8V takes nothing returns boolean
return(GetClickedButton()==udg_JV[5])
endfunction
function Q9V takes nothing returns boolean
return(udg_BV[udg_VV]==1)
endfunction
function SVV takes nothing returns boolean
return(udg_KV[(((1+GetPlayerId(GetTriggerPlayer()))*10)+6)]==false)
endfunction
function SEV takes nothing returns boolean
return(udg_BV[udg_VV]>=7)
endfunction
function SXV takes nothing returns boolean
return(GetClickedButton()==udg_JV[6])
endfunction
function SOV takes nothing returns boolean
return(udg_BV[udg_VV]==1)
endfunction
function SRV takes nothing returns boolean
return(udg_KV[(((1+GetPlayerId(GetTriggerPlayer()))*10)+7)]==false)
endfunction
function SIV takes nothing returns boolean
return(udg_BV[udg_VV]>=8)
endfunction
function SAV takes nothing returns boolean
return(GetClickedButton()==udg_JV[7])
endfunction
function SNV takes nothing returns boolean
return(udg_BV[udg_VV]==1)
endfunction
function SBV takes nothing returns boolean
return(udg_KV[(((1+GetPlayerId(GetTriggerPlayer()))*10)+8)]==false)
endfunction
function SCV takes nothing returns boolean
return(udg_BV[udg_VV]>=10)
endfunction
function SDV takes nothing returns boolean
return(GetClickedButton()==udg_JV[8])
endfunction
function SFV takes nothing returns boolean
return(GetClickedButton()==udg_JV[9])
endfunction
function SGV takes nothing returns nothing
if(QJV())then
set udg_VV=1
endif
if(QKV())then
set udg_VV=2
endif
if(QQV())then
if(QPV())then
if(QMV())then
set udg_KV[(((1+GetPlayerId(GetTriggerPlayer()))*10)+1)]=true
set udg_BV[udg_VV]=(udg_BV[udg_VV]-5)
call DisplayTextToForce(bj_FORCE_ALL_PLAYERS,("|cffff0000"+(GetPlayerName(GetTriggerPlayer())+" upgraded Battle Sphere!")))
call UnitRemoveAbility(udg_M[(1+GetPlayerId(GetTriggerPlayer()))],'A016')
call UnitAddAbility(udg_M[(1+GetPlayerId(GetTriggerPlayer()))],'A04Q')
call DialogDisplayBJ(false,udg_HV,GetTriggerPlayer())
if(QLV())then
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[udg_VV],(I2S(udg_BV[udg_VV])+" Soul"))
else
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[udg_VV],(I2S(udg_BV[udg_VV])+" Souls"))
endif
else
call DisplayTextToForce(RU(GetTriggerPlayer()),("|cffff0000"+"You have already upgraded this spell."))
endif
else
call DisplayTextToForce(RU(GetTriggerPlayer()),"|cff7777aaYour team does not have enough souls.|r")
endif
endif
if(QWV())then
if(QUV())then
if(QTV())then
set udg_KV[(((1+GetPlayerId(GetTriggerPlayer()))*10)+2)]=true
set udg_BV[udg_VV]=(udg_BV[udg_VV]-4)
call DisplayTextToForce(bj_FORCE_ALL_PLAYERS,("|cffff0000"+(GetPlayerName(GetTriggerPlayer())+" upgraded Limb Disruption!")))
call UnitRemoveAbility(udg_M[(1+GetPlayerId(GetTriggerPlayer()))],'A019')
call UnitAddAbility(udg_M[(1+GetPlayerId(GetTriggerPlayer()))],'A050')
call DialogDisplayBJ(false,udg_HV,GetTriggerPlayer())
if(QSV())then
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[udg_VV],(I2S(udg_BV[udg_VV])+" Soul"))
else
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[udg_VV],(I2S(udg_BV[udg_VV])+" Souls"))
endif
else
call DisplayTextToForce(RU(GetTriggerPlayer()),("|cffff0000"+"You have already upgraded this spell."))
endif
else
call DisplayTextToForce(RU(GetTriggerPlayer()),"|cff7777aaYour team does not have enough souls.|r")
endif
endif
if(Q0V())then
if(Q_V())then
if(QZV())then
set udg_KV[(((1+GetPlayerId(GetTriggerPlayer()))*10)+3)]=true
set udg_BV[udg_VV]=(udg_BV[udg_VV]-4)
call DisplayTextToForce(bj_FORCE_ALL_PLAYERS,("|cffff0000"+(GetPlayerName(GetTriggerPlayer())+" upgraded Glythtide's Gift!")))
call UnitRemoveAbility(udg_M[(1+GetPlayerId(GetTriggerPlayer()))],'A04H')
call UnitAddAbility(udg_M[(1+GetPlayerId(GetTriggerPlayer()))],'A04X')
call DialogDisplayBJ(false,udg_HV,GetTriggerPlayer())
if(QYV())then
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[udg_VV],(I2S(udg_BV[udg_VV])+" Soul"))
else
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[udg_VV],(I2S(udg_BV[udg_VV])+" Souls"))
endif
else
call DisplayTextToForce(RU(GetTriggerPlayer()),("|cffff0000"+"You have already upgraded this spell."))
endif
else
call DisplayTextToForce(RU(GetTriggerPlayer()),"|cff7777aaYour team does not have enough souls.|r")
endif
endif
if(Q4V())then
if(Q3V())then
if(Q2V())then
set udg_KV[(((1+GetPlayerId(GetTriggerPlayer()))*10)+4)]=true
set udg_BV[udg_VV]=(udg_BV[udg_VV]-4)
call DisplayTextToForce(bj_FORCE_ALL_PLAYERS,("|cffff0000"+(GetPlayerName(GetTriggerPlayer())+" upgraded Mana Disruption!")))
call UnitRemoveAbility(udg_M[(1+GetPlayerId(GetTriggerPlayer()))],'A02W')
call UnitAddAbility(udg_M[(1+GetPlayerId(GetTriggerPlayer()))],'A053')
call DialogDisplayBJ(false,udg_HV,GetTriggerPlayer())
if(Q1V())then
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[udg_VV],(I2S(udg_BV[udg_VV])+" Soul"))
else
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[udg_VV],(I2S(udg_BV[udg_VV])+" Souls"))
endif
else
call DisplayTextToForce(RU(GetTriggerPlayer()),("|cffff0000"+"You have already upgraded this spell."))
endif
else
call DisplayTextToForce(RU(GetTriggerPlayer()),"|cff7777aaYour team does not have enough souls.|r")
endif
endif
if(Q8V())then
if(Q7V())then
if(Q6V())then
set udg_KV[(((1+GetPlayerId(GetTriggerPlayer()))*10)+5)]=true
set udg_BV[udg_VV]=(udg_BV[udg_VV]-6)
call DisplayTextToForce(bj_FORCE_ALL_PLAYERS,("|cffff0000"+(GetPlayerName(GetTriggerPlayer())+" upgraded Joymay's Legacy!")))
call UnitRemoveAbility(udg_M[(1+GetPlayerId(GetTriggerPlayer()))],'A01B')
call UnitAddAbility(udg_M[(1+GetPlayerId(GetTriggerPlayer()))],'A04Z')
call DialogDisplayBJ(false,udg_HV,GetTriggerPlayer())
if(Q5V())then
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[udg_VV],(I2S(udg_BV[udg_VV])+" Soul"))
else
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[udg_VV],(I2S(udg_BV[udg_VV])+" Souls"))
endif
else
call DisplayTextToForce(RU(GetTriggerPlayer()),("|cffff0000"+"You have already upgraded this spell."))
endif
else
call DisplayTextToForce(RU(GetTriggerPlayer()),"|cff7777aaYour team does not have enough souls.|r")
endif
endif
if(SXV())then
if(SEV())then
if(SVV())then
set udg_KV[(((1+GetPlayerId(GetTriggerPlayer()))*10)+6)]=true
set udg_BV[udg_VV]=(udg_BV[udg_VV]-7)
call DisplayTextToForce(bj_FORCE_ALL_PLAYERS,("|cffff0000"+(GetPlayerName(GetTriggerPlayer())+" upgraded Spell Disruption!")))
call UnitRemoveAbility(udg_M[(1+GetPlayerId(GetTriggerPlayer()))],'A01F')
call UnitAddAbility(udg_M[(1+GetPlayerId(GetTriggerPlayer()))],'A04S')
call DialogDisplayBJ(false,udg_HV,GetTriggerPlayer())
if(Q9V())then
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[udg_VV],(I2S(udg_BV[udg_VV])+" Soul"))
else
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[udg_VV],(I2S(udg_BV[udg_VV])+" Souls"))
endif
else
call DisplayTextToForce(RU(GetTriggerPlayer()),("|cffff0000"+"You have already upgraded this spell."))
endif
else
call DisplayTextToForce(RU(GetTriggerPlayer()),"|cff7777aaYour team does not have enough souls.|r")
endif
endif
if(SAV())then
if(SIV())then
if(SRV())then
set udg_KV[(((1+GetPlayerId(GetTriggerPlayer()))*10)+7)]=true
set udg_BV[udg_VV]=(udg_BV[udg_VV]-8)
call DisplayTextToForce(bj_FORCE_ALL_PLAYERS,("|cffff0000"+(GetPlayerName(GetTriggerPlayer())+" upgraded Grazhir's Effigy!")))
call UnitRemoveAbility(udg_M[(1+GetPlayerId(GetTriggerPlayer()))],'A03W')
call UnitAddAbility(udg_M[(1+GetPlayerId(GetTriggerPlayer()))],'A04Y')
call DialogDisplayBJ(false,udg_HV,GetTriggerPlayer())
if(SOV())then
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[udg_VV],(I2S(udg_BV[udg_VV])+" Soul"))
else
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[udg_VV],(I2S(udg_BV[udg_VV])+" Souls"))
endif
else
call DisplayTextToForce(RU(GetTriggerPlayer()),("|cffff0000"+"You have already upgraded this spell."))
endif
else
call DisplayTextToForce(RU(GetTriggerPlayer()),"|cff7777aaYour team does not have enough souls.|r")
endif
endif
if(SDV())then
if(SCV())then
if(SBV())then
set udg_KV[(((1+GetPlayerId(GetTriggerPlayer()))*10)+8)]=true
set udg_BV[udg_VV]=(udg_BV[udg_VV]-10)
call DisplayTextToForce(bj_FORCE_ALL_PLAYERS,("|cffff0000"+(GetPlayerName(GetTriggerPlayer())+" upgraded Kalestraum's Darkrift!")))
call UnitRemoveAbility(udg_M[(1+GetPlayerId(GetTriggerPlayer()))],'A02A')
call UnitAddAbility(udg_M[(1+GetPlayerId(GetTriggerPlayer()))],'A059')
call DialogDisplayBJ(false,udg_HV,GetTriggerPlayer())
if(SNV())then
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[udg_VV],(I2S(udg_BV[udg_VV])+" Soul"))
else
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[udg_VV],(I2S(udg_BV[udg_VV])+" Souls"))
endif
else
call DisplayTextToForce(RU(GetTriggerPlayer()),("|cffff0000"+"You have already upgraded this spell."))
endif
else
call DisplayTextToForce(RU(GetTriggerPlayer()),"|cff7777aaYour team does not have enough souls.|r")
endif
endif
if(SFV())then
call DialogDisplayBJ(false,udg_HV,GetTriggerPlayer())
endif
endfunction
function SHV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I01A')
endfunction
function SJV takes nothing returns nothing
call DialogDisplayBJ(true,udg_HV,GetOwningPlayer(GetTriggerUnit()))
call TriggerSleepAction(5.)
call DialogDisplayBJ(false,udg_HV,GetOwningPlayer(GetTriggerUnit()))
endfunction
function SKV takes nothing returns boolean
return(GetSpellAbilityId()=='A01T')
endfunction
function SLV takes nothing returns boolean
return(IsUnitAliveBJ(udg_F))
endfunction
function SMV takes nothing returns nothing
local unit BXV
local item array N9V
local integer SPV
set udg_F=GetSpellTargetUnit()
set SPV=1
loop
exitwhen SPV>50
if(SPV==17)then
call CreateNUnitsAtLoc(1,'o00W',GetOwningPlayer(GetTriggerUnit()),GetRectCenter(bj_mapInitialPlayableArea),bj_UNIT_FACING)
call IssueTargetOrderById(bj_lastCreatedUnit,852583,udg_F)
call UnitApplyTimedLifeBJ(1.,'BTLF',bj_lastCreatedUnit)
endif
call TriggerExecute(udg_QL)
set bj_forLoopBIndex=1
set bj_forLoopBIndexEnd=6
loop
exitwhen bj_forLoopBIndex>bj_forLoopBIndexEnd
if(SLV())then
call UnitRemoveItemFromSlotSwapped(udg_OV[bj_forLoopBIndex],udg_F)
set N9V[bj_forLoopBIndex]=bj_lastRemovedItem
endif
set bj_forLoopBIndex=bj_forLoopBIndex+1
endloop
set bj_forLoopBIndex=1
set bj_forLoopBIndexEnd=6
loop
exitwhen bj_forLoopBIndex>bj_forLoopBIndexEnd
call UnitAddItem(udg_F,N9V[bj_forLoopBIndex])
set bj_forLoopBIndex=bj_forLoopBIndex+1
endloop
call TriggerSleepAction(.02)
set SPV=SPV+1
endloop
endfunction
function SQV takes nothing returns nothing
local integer SSV
local integer array BVV
local integer array BEV
local integer udg_AV
local integer STV
local integer SUV
set SSV=0
set STV=1
loop
exitwhen STV>6
set BVV[STV]=STV
set STV=STV+1
endloop
set STV=1
loop
exitwhen STV>6
set udg_AV=1
set udg_OV[STV]=BVV[GetRandomInt(1,(6-SSV))]
set SUV=1
loop
exitwhen SUV>(6-SSV)
set BEV[SUV]=BVV[SUV]
set SUV=SUV+1
endloop
set SUV=1
loop
exitwhen SUV>(6-SSV)
if(BEV[SUV]!=udg_OV[STV])then
set BVV[udg_AV]=BEV[SUV]
set udg_AV=(udg_AV+1)
endif
set SUV=SUV+1
endloop
set SSV=(SSV+1)
set STV=STV+1
endloop
endfunction
function SWV takes nothing returns boolean
return(GetSpellAbilityId()=='A09H')
endfunction
function SYV takes nothing returns boolean
return(UnitHasItemOfTypeBJ(GetSpellTargetUnit(),'I012'))
endfunction
function SZV takes nothing returns boolean
return(UnitHasItemOfTypeBJ(GetSpellTargetUnit(),'I03M'))
endfunction
function S_V takes nothing returns boolean
return(UnitHasItemOfTypeBJ(GetSpellTargetUnit(),'I03W'))
endfunction
function S0V takes nothing returns boolean
return(UnitHasItemOfTypeBJ(GetSpellTargetUnit(),'I046'))
endfunction
function S1V takes nothing returns nothing
if(SYV())then
call UnitRemoveItemSwapped(GetItemOfTypeFromUnitBJ(GetSpellTargetUnit(),'I012'),GetSpellTargetUnit())
call RemoveItem(bj_lastRemovedItem)
return
endif
if(SZV())then
call UnitRemoveItemSwapped(GetItemOfTypeFromUnitBJ(GetSpellTargetUnit(),'I03M'),GetSpellTargetUnit())
call RemoveItem(bj_lastRemovedItem)
return
endif
if(S_V())then
call UnitRemoveItemSwapped(GetItemOfTypeFromUnitBJ(GetSpellTargetUnit(),'I03W'),GetSpellTargetUnit())
call RemoveItem(bj_lastRemovedItem)
return
endif
if(S0V())then
call SetItemCharges(GetItemOfTypeFromUnitBJ(GetSpellTargetUnit(),'I046'),(GetItemCharges(GetItemOfTypeFromUnitBJ(GetSpellTargetUnit(),'I046'))-1))
return
endif
endfunction
function S2V takes nothing returns boolean
return(GetUnitStateSwap(UNIT_STATE_MANA,udg_M[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])>=100.)and(GetSpellAbilityId()=='A01R')
endfunction
function S3V takes nothing returns boolean
return(GetRandomInt(1,2)==1)
endfunction
function S4V takes nothing returns boolean
return(IsUnitAlly(GetEnumUnit(),Player(8)))
endfunction
function S5V takes nothing returns boolean
return(GetRandomInt(1,2)==1)
endfunction
function S6V takes nothing returns boolean
return(IsUnitAlly(GetSpellTargetUnit(),Player(8)))
endfunction
function S7V takes nothing returns boolean
return(UnitHasBuffBJ(GetEnumUnit(),'Bam2')==false)and(GetPlayerController(GetOwningPlayer(GetEnumUnit()))==MAP_CONTROL_COMPUTER)and(IsUnitAliveBJ(GetEnumUnit()))
endfunction
function S8V takes nothing returns nothing
if(S7V())then
if(S6V())then
if(S5V())then
set udg_J=GetRandomLocInRect(udg_WR)
else
set udg_J=GetRandomLocInRect(udg_YR)
endif
else
if(S3V())then
set udg_J=GetRandomLocInRect(udg_TR)
else
set udg_J=GetRandomLocInRect(udg_UR)
endif
call AddSpecialEffectLocBJ(GetUnitLoc(GetEnumUnit()),"Abilities\\Spells\\Human\\MassTeleport\\MassTeleportTarget.mdl")
call TriggerExecute(udg_XB)
call SetUnitPositionLoc(GetEnumUnit(),udg_J)
call RemoveLocation(udg_J)
if(S4V())then
call IssueTargetOrderById(GetEnumUnit(),851983,udg_HQ)
else
call IssueTargetOrderById(GetEnumUnit(),851983,udg_GQ)
endif
endif
endif
endfunction
function S9V takes nothing returns nothing
set udg_DE=GetSpellTargetLoc()
set udg_FE=ZT(375.,udg_DE)
call ForGroupBJ(udg_FE,function S8V)
call SetUnitManaBJ(udg_M[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],(GetUnitStateSwap(UNIT_STATE_MANA,udg_M[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])-100.))
call RemoveLocation(udg_DE)
call DestroyGroup(udg_FE)
set udg_FE=null
endfunction
function TVV takes nothing returns boolean
return(GetSpellAbilityId()=='A02X')or(GetSpellAbilityId()=='AHfs')
endfunction
function TEV takes nothing returns boolean
return(TVV())
endfunction
function TXV takes nothing returns boolean
return(GetOwningPlayer(GetEnumUnit())!=GetOwningPlayer(GetSpellAbilityUnit()))and(IsUnitType(GetEnumUnit(),UNIT_TYPE_HERO))and(UnitHasBuffBJ(GetEnumUnit(),'B005'))
endfunction
function TOV takes nothing returns nothing
if(TXV())then
call CameraClearNoiseForPlayer(GetOwningPlayer(GetEnumUnit()))
call UnitRemoveAbility(GetEnumUnit(),'B005')
endif
endfunction
function TRV takes nothing returns boolean
return(IsUnitAlly(GetEnumUnit(),Player(8)))
endfunction
function TIV takes nothing returns boolean
return(GetOwningPlayer(GetEnumUnit())==GetOwningPlayer(GetSpellAbilityUnit()))and(IsUnitType(GetEnumUnit(),UNIT_TYPE_HERO))and(UnitHasBuffBJ(GetEnumUnit(),'B005'))
endfunction
function TAV takes nothing returns nothing
if(TIV())then
if(TRV())then
call CreateNUnitsAtLoc(1,'o013',Player(10),GetUnitLoc(GetEnumUnit()),bj_UNIT_FACING)
call IssueTargetOrderById(bj_lastCreatedUnit,852585,GetEnumUnit())
call RemoveUnit(bj_lastCreatedUnit)
else
call CreateNUnitsAtLoc(1,'o013',Player(8),GetUnitLoc(GetEnumUnit()),bj_UNIT_FACING)
call IssueTargetOrderById(bj_lastCreatedUnit,852585,GetEnumUnit())
call RemoveUnit(bj_lastCreatedUnit)
endif
endif
endfunction
function TNV takes nothing returns nothing
local location udg_J
set udg_J=GetSpellTargetLoc()
call TriggerSleepAction(1.9)
call ForGroupBJ(ZT(500.,udg_J),function TOV)
call ForGroupBJ(ZT(500.,udg_J),function TAV)
call RemoveLocation(udg_J)
endfunction
function TBV takes nothing returns boolean
return(GetSpellAbilityId()=='A04H')or(GetSpellAbilityId()=='A04X')
endfunction
function TCV takes nothing returns boolean
return(TBV())and(IsUnitType(GetSpellTargetUnit(),UNIT_TYPE_SUMMONED)==false)
endfunction
function TDV takes nothing returns nothing
local unit BXV
local integer TFV
set BXV=GetSpellTargetUnit()
set TFV=(1+GetPlayerId(GetOwningPlayer(BXV)))
call CreateNUnitsAtLoc(1,'o005',GetOwningPlayer(GetTriggerUnit()),GetUnitLoc(BXV),bj_UNIT_FACING)
call IssueTargetOrderById(bj_lastCreatedUnit,852190,BXV)
call RemoveUnit(bj_lastCreatedUnit)
if(UnitHasBuffBJ(BXV,'B00X'))then
call CreateNUnitsAtLoc(1,'o013',GetOwningPlayer(GetTriggerUnit()),GetUnitLoc(BXV),bj_UNIT_FACING)
call IssueTargetOrderById(bj_lastCreatedUnit,852585,BXV)
call RemoveUnit(bj_lastCreatedUnit)
set udg_PV[(1+GetPlayerId(GetOwningPlayer(BXV)))]=(udg_PV[(1+GetPlayerId(GetOwningPlayer(BXV)))]+1)
call CameraSetTargetNoiseForPlayer(GetOwningPlayer(BXV),8000.,3000.)
call TriggerSleepAction(17.)
set udg_PV[(1+GetPlayerId(GetOwningPlayer(BXV)))]=(udg_PV[(1+GetPlayerId(GetOwningPlayer(BXV)))]-1)
if(udg_PV[(1+GetPlayerId(GetOwningPlayer(BXV)))]==0)then
call CameraClearNoiseForPlayer(Player(-1+(TFV)))
call UnitRemoveAbility(BXV,'B005')
endif
endif
endfunction
function TGV takes nothing returns boolean
return(GetSpellAbilityId()=='A02A')or(GetSpellAbilityId()=='A059')
endfunction
function THV takes nothing returns boolean
return(TGV())
endfunction
function TJV takes nothing returns nothing
set udg_YE=udg_X
set udg_J=GetSpellTargetLoc()
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\Thunderclap\\ThunderClapCaster.mdl")
call TriggerExecute(udg_XB)
call CreateNUnitsAtLoc(1,udg_E[(udg_YE+3)],GetOwningPlayer(GetTriggerUnit()),udg_J,270.)
call TriggerExecute(udg_RB)
call CreateNUnitsAtLoc(1,udg_E[(udg_YE+3)],GetOwningPlayer(GetTriggerUnit()),udg_J,270.)
call TriggerExecute(udg_RB)
call CreateNUnitsAtLoc(1,udg_E[(udg_YE+3)],GetOwningPlayer(GetTriggerUnit()),udg_J,270.)
call TriggerExecute(udg_RB)
call CreateNUnitsAtLoc(1,udg_E[(udg_YE+3)],GetOwningPlayer(GetTriggerUnit()),udg_J,270.)
call TriggerExecute(udg_RB)
call CreateNUnitsAtLoc(1,udg_E[(udg_YE+3)],GetOwningPlayer(GetTriggerUnit()),udg_J,270.)
call TriggerExecute(udg_RB)
call CreateNUnitsAtLoc(1,udg_E[(udg_YE+3)],GetOwningPlayer(GetTriggerUnit()),udg_J,270.)
call TriggerExecute(udg_RB)
call RemoveLocation(udg_J)
endfunction
function TKV takes nothing returns boolean
return(GetSpellAbilityId()=='A03V')and(GetPlayerController(GetOwningPlayer(GetSpellTargetUnit()))==MAP_CONTROL_COMPUTER)
endfunction
function TLV takes nothing returns boolean
return(GetRandomInt(1,2)==1)
endfunction
function TMV takes nothing returns boolean
return(GetRandomInt(1,2)==1)
endfunction
function TPV takes nothing returns boolean
return(IsUnitAlly(GetSpellTargetUnit(),Player(0)))
endfunction
function TQV takes nothing returns boolean
return(UnitHasBuffBJ(GetSpellTargetUnit(),'Bam2')==false)
endfunction
function TSV takes nothing returns boolean
return(IsUnitAlly(GetSpellTargetUnit(),Player(0)))
endfunction
function TTV takes nothing returns nothing
set udg_J=GetUnitLoc(GetSpellTargetUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\MassTeleport\\MassTeleportTarget.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
if(TPV())then
if(TMV())then
set udg_J=GetRandomLocInRect(udg_WR)
else
set udg_J=GetRandomLocInRect(udg_YR)
endif
else
if(TLV())then
set udg_J=GetRandomLocInRect(udg_TR)
else
set udg_J=GetRandomLocInRect(udg_UR)
endif
endif
if(TQV())then
call SetUnitPositionLoc(GetSpellTargetUnit(),udg_J)
set udg_J=GetUnitLoc(GetSpellTargetUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\MassTeleport\\MassTeleportTarget.mdl")
call TriggerExecute(udg_XB)
endif
if(TSV())then
call IssueTargetOrderById(GetSpellTargetUnit(),851983,udg_HQ)
else
call IssueTargetOrderById(GetSpellTargetUnit(),851983,udg_GQ)
endif
call RemoveLocation(udg_J)
endfunction
function TUV takes nothing returns boolean
return(GetSpellAbilityId()=='A09G')
endfunction
function TWV takes nothing returns nothing
set udg_YE=udg_X
set udg_J=GetSpellTargetLoc()
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\Thunderclap\\ThunderClapCaster.mdl")
call TriggerExecute(udg_XB)
call CreateNUnitsAtLoc(1,udg_E[(udg_YE+3)],GetOwningPlayer(GetTriggerUnit()),udg_J,270.)
call TriggerExecute(udg_RB)
call CreateNUnitsAtLoc(1,udg_E[(udg_YE+3)],GetOwningPlayer(GetTriggerUnit()),udg_J,270.)
call TriggerExecute(udg_RB)
call CreateNUnitsAtLoc(1,udg_E[(udg_YE+3)],GetOwningPlayer(GetTriggerUnit()),udg_J,270.)
call TriggerExecute(udg_RB)
call CreateNUnitsAtLoc(1,udg_E[(udg_YE+3)],GetOwningPlayer(GetTriggerUnit()),udg_J,270.)
call TriggerExecute(udg_RB)
call CreateNUnitsAtLoc(1,udg_E[(udg_YE+3)],GetOwningPlayer(GetTriggerUnit()),udg_J,270.)
call TriggerExecute(udg_RB)
call CreateNUnitsAtLoc(1,udg_E[(udg_YE+3)],GetOwningPlayer(GetTriggerUnit()),udg_J,270.)
call TriggerExecute(udg_RB)
call RemoveLocation(udg_J)
endfunction
function TYV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I01T')
endfunction
function TZV takes nothing returns boolean
return(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I01R')==false)
endfunction
function T_V takes nothing returns nothing
if(TZV())then
call UnitAddItemByIdSwapped('I01R',GetTriggerUnit())
else
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER)+400))
endif
endfunction
function T0V takes nothing returns boolean
return(GetUnitTypeId(GetDyingUnit())=='n017')
endfunction
function T1V takes nothing returns nothing
set udg_J=GetUnitLoc(GetDyingUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\MassTeleport\\MassTeleportCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call RemoveUnit(GetDyingUnit())
endfunction
function T2V takes nothing returns boolean
return(GetUnitTypeId(GetDyingUnit())=='n00U')
endfunction
function T3V takes nothing returns nothing
set udg_J=GetUnitLoc(GetDyingUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Items\\TomeOfRetraining\\TomeOfRetrainingCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call RemoveUnit(GetDyingUnit())
endfunction
function T4V takes nothing returns boolean
return(GetUnitTypeId(GetDyingUnit())=='n018')
endfunction
function T5V takes nothing returns nothing
set udg_J=GetUnitLoc(GetDyingUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\MassTeleport\\MassTeleportCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call RemoveUnit(GetDyingUnit())
endfunction
function T6V takes nothing returns boolean
return(GetUnitTypeId(GetDyingUnit())=='n00L')
endfunction
function T7V takes nothing returns nothing
set udg_J=GetUnitLoc(GetDyingUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Orc\\WarStomp\\WarStompCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call RemoveUnit(GetDyingUnit())
endfunction
function T8V takes nothing returns boolean
return(GetOwningPlayer(GetTriggerUnit())==Player(10))
endfunction
function T9V takes nothing returns nothing
call IssuePointOrderById(GetTriggerUnit(),851983,-6400,-3072)
endfunction
function UVV takes nothing returns boolean
return(GetOwningPlayer(GetTriggerUnit())==Player(11))
endfunction
function UEV takes nothing returns nothing
call IssuePointOrderById(GetTriggerUnit(),851983,-6400,-3072)
endfunction
function UXV takes nothing returns boolean
return(RectContainsLoc(udg_XI,GetOrderPointLoc())==false)
endfunction
function UOV takes nothing returns boolean
return(UnitHasBuffBJ(GetTriggerUnit(),'BUsl')==false)and(UnitHasBuffBJ(GetTriggerUnit(),'BUst')==false)and(UnitHasBuffBJ(GetTriggerUnit(),'BUsp')==false)
endfunction
function URV takes nothing returns nothing
call CT(.5)
if(UOV())then
call IssuePointOrderById(GetTriggerUnit(),851983,-6400,-3072)
endif
endfunction
function UIV takes nothing returns boolean
return(GetOwningPlayer(GetTriggerUnit())==Player(8))
endfunction
function UAV takes nothing returns nothing
call IssuePointOrderById(GetTriggerUnit(),851983,6400,-3072)
endfunction
function UNV takes nothing returns boolean
return(GetOwningPlayer(GetTriggerUnit())==Player(9))
endfunction
function UBV takes nothing returns nothing
call IssuePointOrderById(GetTriggerUnit(),851983,6400,-3072)
endfunction
function UCV takes nothing returns boolean
return(RectContainsLoc(udg_SR,GetOrderPointLoc())==false)
endfunction
function UDV takes nothing returns boolean
return(UnitHasBuffBJ(GetTriggerUnit(),'BUsl')==false)
endfunction
function UFV takes nothing returns nothing
call CT(.5)
if(UDV())then
call IssuePointOrderById(GetTriggerUnit(),851983,6400,-3072)
endif
endfunction
function UGV takes nothing returns nothing
call SetUnitScalePercent(GetTriggerUnit(),(100.+((I2R(GetUnitLevel(GetTriggerUnit()))*.3)+I2R(GetUnitUserData(GetTriggerUnit())))),(100.+((I2R(GetUnitLevel(GetTriggerUnit()))*.3)+I2R(GetUnitUserData(GetTriggerUnit())))),(100.+((I2R(GetUnitLevel(GetTriggerUnit()))*.3)+I2R(GetUnitUserData(GetTriggerUnit())))))
endfunction
function UHV takes nothing returns boolean
return(IsUnitEnemy(GetAttacker(),GetOwningPlayer(GetTriggerUnit()))==false)
endfunction
function UJV takes nothing returns nothing
call IssueImmediateOrderById(GetAttacker(),851972)
endfunction
function UKV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I01K')
endfunction
function ULV takes nothing returns nothing
call CameraClearNoiseForPlayer(GetOwningPlayer(GetTriggerUnit()))
endfunction
function UMV takes nothing returns boolean
return(GetOwningPlayer(GetTriggerUnit())==Player(8))or(GetOwningPlayer(GetTriggerUnit())==Player(9))or(GetOwningPlayer(GetTriggerUnit())==Player(10))or(GetOwningPlayer(GetTriggerUnit())==Player(11))
endfunction
function UPV takes nothing returns boolean
return(IsUnitType(GetTriggerUnit(),UNIT_TYPE_SUMMONED)==false)and(IsUnitIllusion(GetTriggerUnit())==false)and(UMV())
endfunction
function UQV takes nothing returns boolean
return(GetTriggerUnit()==udg_RX)
endfunction
function USV takes nothing returns boolean
return(GetTriggerUnit()==udg_IX)
endfunction
function UTV takes nothing returns boolean
return(GetTriggerUnit()==udg_HX)
endfunction
function UUV takes nothing returns boolean
return(GetTriggerUnit()==udg_MX)
endfunction
function UWV takes nothing returns boolean
return(GetTriggerUnit()==udg_QX)
endfunction
function UYV takes nothing returns boolean
return(GetTriggerUnit()==udg_SX)
endfunction
function UZV takes nothing returns boolean
return(IsUnitInGroup(GetTriggerUnit(),udg_RO))or(IsUnitInGroup(GetTriggerUnit(),udg_IO))
endfunction
function U_V takes nothing returns boolean
return(IsUnitEnemy(GetEnumUnit(),GetOwningPlayer(GetTriggerUnit())))
endfunction
function U0V takes nothing returns nothing
if(U_V())then
call CreateNUnitsAtLoc(1,'o011',GetOwningPlayer(GetTriggerUnit()),udg_J,bj_UNIT_FACING)
call UnitDamageTargetBJ(bj_lastCreatedUnit,GetEnumUnit(),(GetUnitStateSwap(UNIT_STATE_MAX_LIFE,GetEnumUnit())/2.),ATTACK_TYPE_NORMAL,DAMAGE_TYPE_NORMAL)
call RemoveUnit(bj_lastCreatedUnit)
endif
endfunction
function U1V takes nothing returns boolean
return(UZV())
endfunction
function U2V takes nothing returns boolean
return(GetTriggerUnit()==udg_VO)
endfunction
function U3V takes nothing returns boolean
return(GetTriggerUnit()==udg_EO)
endfunction
function U4V takes nothing returns boolean
return true
endfunction
function U5V takes nothing returns boolean
return(IsUnitEnemy(GetTriggerUnit(),Player(8)))
endfunction
function U6V takes nothing returns boolean
return(IsUnitEnemy(GetTriggerUnit(),Player(10)))
endfunction
function U7V takes nothing returns boolean
return(GetOwningPlayer(GetTriggerUnit())==Player(10))
endfunction
function U8V takes nothing returns boolean
return(GetOwningPlayer(GetTriggerUnit())==Player(11))
endfunction
function U9V takes nothing returns boolean
return(GetOwningPlayer(GetTriggerUnit())==Player(8))
endfunction
function WVV takes nothing returns boolean
return(GetOwningPlayer(GetTriggerUnit())==Player(9))
endfunction
function WEV takes nothing returns boolean
return(udg_DV[1]==0)or(udg_DV[2]==0)
endfunction
function WXV takes nothing returns boolean
return(WEV())
endfunction
function WOV takes nothing returns nothing
if(U4V())then
if(UQV())then
set udg_BX=true
endif
if(USV())then
set udg_GX=true
endif
if(UTV())then
set udg_KX=true
endif
if(UUV())then
set udg_LX=true
endif
if(UWV())then
set udg_YX=true
endif
if(UYV())then
set udg_WX=true
endif
if(U1V())then
set udg_J=GetUnitLoc(GetTriggerUnit())
set udg_FE=ZT(190.,udg_J)
call ForGroupBJ(udg_FE,function U0V)
call DestroyGroup(udg_FE)
set udg_FE=null
endif
if(U2V())then
set udg_OO=true
endif
if(U3V())then
set udg_XO=true
endif
endif
if(U5V())then
set udg_VV=1
endif
if(U6V())then
set udg_VV=2
endif
set udg_DV[udg_VV]=(udg_DV[udg_VV]-1)
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,2,udg_FV[(udg_VV+8)],I2S(udg_DV[udg_VV]))
if(U7V())then
set udg_SE[1]=(udg_SE[1]-1)
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[3],("West Side "+(I2S(udg_SE[1])+("/"+I2S(udg_SE[2])))))
endif
if(U8V())then
set udg_SE[2]=(udg_SE[2]-1)
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[3],("West Side "+(I2S(udg_SE[1])+("/"+I2S(udg_SE[2])))))
endif
if(U9V())then
set udg_SE[3]=(udg_SE[3]-1)
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[4],("East Side "+(I2S(udg_SE[3])+("/"+I2S(udg_SE[4])))))
endif
if(WVV())then
set udg_SE[4]=(udg_SE[4]-1)
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[4],("East Side "+(I2S(udg_SE[3])+("/"+I2S(udg_SE[4])))))
endif
call DisplayTimedTextToForce(AU(GetOwningPlayer(GetTriggerUnit())),3.,("|cffff4040Life Lost - "+(I2S(udg_DV[udg_VV])+" Remaining!")))
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\Feedback\\ArcaneTowerAttack.mdl")
call TriggerExecute(udg_XB)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\Flare\\FlareCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call RemoveUnit(GetTriggerUnit())
if(WXV())then
call ConditionalTriggerExecute(udg_ZA)
endif
endfunction
function WRV takes nothing returns nothing
call SetWidgetLife(GetTriggerUnit(),.0)
endfunction
function WIV takes nothing returns boolean
return(IsPlayerAlly(GetTriggerPlayer(),Player(10)))
endfunction
function WAV takes nothing returns boolean
return(IsPlayerEnemy(GetTriggerPlayer(),Player(8)))
endfunction
function WNV takes nothing returns nothing
call AdjustPlayerStateBJ((GetPlayerState(GetTriggerPlayer(),PLAYER_STATE_RESOURCE_GOLD)/CountPlayersInForceBJ(udg_H[udg_VV])),GetEnumPlayer(),PLAYER_STATE_RESOURCE_GOLD)
call AdjustPlayerStateBJ((GetPlayerState(GetTriggerPlayer(),PLAYER_STATE_RESOURCE_LUMBER)/CountPlayersInForceBJ(udg_H[udg_VV])),GetEnumPlayer(),PLAYER_STATE_RESOURCE_LUMBER)
call AddHeroXPSwapped((GetHeroXP(udg_V[(1+GetPlayerId(GetTriggerPlayer()))])/CountPlayersInForceBJ(udg_H[udg_VV])),udg_V[(1+GetPlayerId(GetEnumPlayer()))],true)
endfunction
function WBV takes nothing returns nothing
call RemoveUnit(GetEnumUnit())
endfunction
function WCV takes nothing returns nothing
set udg_TO[(1+GetPlayerId(GetTriggerPlayer()))]=true
if(WIV())then
set udg_BV[2]=(udg_BV[2]+2)
call DisplayTextToForce(udg_K[2],"|cff7777aaTeam East got +2 Souls |r")
call DisplayTextToForce(udg_K[2],("|cff7777aaTotal Souls: "+I2S(udg_BV[2])))
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[2],(I2S(udg_BV[2])+" Souls"))
else
set udg_BV[1]=(udg_BV[1]+2)
call DisplayTextToForce(udg_K[1],"|cff7777aaTeam West got +2 Souls |r")
call DisplayTextToForce(udg_K[1],("|cff7777aaTotal Souls : "+I2S(udg_BV[1])))
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[1],(I2S(udg_BV[1])+" Souls"))
endif
if(WAV())then
set udg_VV=2
else
set udg_VV=1
endif
call PlaySoundBJ(udg_SI)
call ForceRemovePlayer(udg_H[udg_VV],GetTriggerPlayer())
call ForForce(udg_H[udg_VV],function WNV)
call DisplayTimedTextToForce(bj_FORCE_ALL_PLAYERS,30,(GetPlayerName(GetTriggerPlayer())+" has left the game!"))
call DisplayTimedTextToForce(IU(GetTriggerPlayer()),30,("Your share of gold: "+I2S((GetPlayerState(GetTriggerPlayer(),PLAYER_STATE_RESOURCE_GOLD)/CountPlayersInForceBJ(udg_H[udg_VV])))))
call DisplayTimedTextToForce(IU(GetTriggerPlayer()),30,("Your share of lumber: "+I2S((GetPlayerState(GetTriggerPlayer(),PLAYER_STATE_RESOURCE_LUMBER)/CountPlayersInForceBJ(udg_H[udg_VV])))))
call DisplayTimedTextToForce(IU(GetTriggerPlayer()),30,("Your share of experience: "+I2S((GetHeroXP(udg_V[(1+GetPlayerId(GetTriggerPlayer()))])/CountPlayersInForceBJ(udg_H[udg_VV])))))
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_FV[(1+GetPlayerId(GetTriggerPlayer()))],"(Left The Game)")
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=6
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call UnitRemoveItemFromSlotSwapped(bj_forLoopAIndex,udg_V[(1+GetPlayerId(GetTriggerPlayer()))])
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
call RemoveUnit(udg_V[(1+GetPlayerId(GetTriggerPlayer()))])
set udg_FE=EU(GetTriggerPlayer())
call ForGroupBJ(udg_FE,function WBV)
call DestroyGroup(udg_FE)
set udg_FE=null
endfunction
function WDV takes nothing returns boolean
return(IsPlayerAlly(udg_HO,Player(10)))
endfunction
function WFV takes nothing returns boolean
return(IsPlayerEnemy(udg_HO,Player(8)))
endfunction
function WGV takes nothing returns nothing
call AdjustPlayerStateBJ((GetPlayerState(udg_HO,PLAYER_STATE_RESOURCE_GOLD)/CountPlayersInForceBJ(udg_H[udg_VV])),GetEnumPlayer(),PLAYER_STATE_RESOURCE_GOLD)
call AdjustPlayerStateBJ((GetPlayerState(udg_HO,PLAYER_STATE_RESOURCE_LUMBER)/CountPlayersInForceBJ(udg_H[udg_VV])),GetEnumPlayer(),PLAYER_STATE_RESOURCE_LUMBER)
call AddHeroXPSwapped((GetHeroXP(udg_V[(1+GetPlayerId(udg_HO))])/CountPlayersInForceBJ(udg_H[udg_VV])),udg_V[(1+GetPlayerId(GetEnumPlayer()))],true)
endfunction
function WHV takes nothing returns nothing
call RemoveUnit(GetEnumUnit())
endfunction
function WJV takes nothing returns nothing
set udg_TO[(1+GetPlayerId(udg_HO))]=true
if(WDV())then
set udg_BV[2]=(udg_BV[2]+2)
call DisplayTextToForce(udg_K[2],"|cff7777aaTeam East got +2 Souls |r")
call DisplayTextToForce(udg_K[2],("|cff7777aaTotal Souls: "+I2S(udg_BV[2])))
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[2],(I2S(udg_BV[2])+" Souls"))
else
set udg_BV[1]=(udg_BV[1]+2)
call DisplayTextToForce(udg_K[1],"|cff7777aaTeam West got +2 Souls |r")
call DisplayTextToForce(udg_K[1],("|cff7777aaTotal Souls : "+I2S(udg_BV[1])))
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[1],(I2S(udg_BV[1])+" Souls"))
endif
if(WFV())then
set udg_VV=2
else
set udg_VV=1
endif
call PlaySoundBJ(udg_SI)
call ForceRemovePlayer(udg_H[udg_VV],udg_HO)
call ForForce(udg_H[udg_VV],function WGV)
call DisplayTimedTextToForce(bj_FORCE_ALL_PLAYERS,30,(GetPlayerName(udg_HO)+" has left the game!"))
call DisplayTimedTextToForce(IU(udg_HO),30,("Your share of gold: "+I2S((GetPlayerState(udg_HO,PLAYER_STATE_RESOURCE_GOLD)/CountPlayersInForceBJ(udg_H[udg_VV])))))
call DisplayTimedTextToForce(IU(udg_HO),30,("Your share of lumber: "+I2S((GetPlayerState(udg_HO,PLAYER_STATE_RESOURCE_LUMBER)/CountPlayersInForceBJ(udg_H[udg_VV])))))
call DisplayTimedTextToForce(IU(udg_HO),30,("Your share of experience: "+I2S((GetHeroXP(udg_V[(1+GetPlayerId(udg_HO))])/CountPlayersInForceBJ(udg_H[udg_VV])))))
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=6
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call UnitRemoveItemFromSlotSwapped(bj_forLoopAIndex,udg_V[(1+GetPlayerId(udg_HO))])
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
call RemoveUnit(udg_V[(1+GetPlayerId(udg_HO))])
set udg_FE=EU(udg_HO)
call ForGroupBJ(udg_FE,function WHV)
call DestroyGroup(udg_FE)
set udg_FE=null
endfunction
function WKV takes nothing returns boolean
return(IsUnitType(GetTriggerUnit(),UNIT_TYPE_HERO)!=null)
endfunction
function WLV takes nothing returns boolean
return(GetTriggerUnit()!=udg_V[bj_forLoopAIndex])
endfunction
function WMV takes nothing returns boolean
return(GetTriggerUnit()!=udg_V[bj_forLoopAIndex])
endfunction
function WPV takes nothing returns boolean
return(IsUnitAlly(GetTriggerUnit(),Player(8)))
endfunction
function WQV takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='E006')
endfunction
function WSV takes nothing returns nothing
call AdjustPlayerStateBJ(((GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)/10)/CountPlayersInForceBJ(udg_H[1])),GetEnumPlayer(),PLAYER_STATE_RESOURCE_GOLD)
call DisplayTextToForce(bj_FORCE_ALL_PLAYERS,("|cff7777aa"+(GetPlayerName(GetOwningPlayer(GetTriggerUnit()))+(" dropped "+(I2S((GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)/10))+" gold!|r")))))
endfunction
function WTV takes nothing returns nothing
call AdjustPlayerStateBJ(((GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)/10)/CountPlayersInForceBJ(udg_H[2])),GetEnumPlayer(),PLAYER_STATE_RESOURCE_GOLD)
call DisplayTextToForce(bj_FORCE_ALL_PLAYERS,("|cff7777aa"+(GetPlayerName(GetOwningPlayer(GetTriggerUnit()))+(" dropped "+(I2S((GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)/10))+" gold!|r")))))
endfunction
function WUV takes nothing returns boolean
return(IsUnitAlly(GetTriggerUnit(),Player(8)))
endfunction
function WWV takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='E009')
endfunction
function WYV takes nothing returns boolean
return(GetUnitTypeId(GetTriggerUnit())=='E00A')
endfunction
function WZV takes nothing returns boolean
return(IsUnitAlly(GetTriggerUnit(),Player(8)))
endfunction
function W_V takes nothing returns nothing
if(WQV())then
if(WPV())then
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=4
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
if(WMV())then
set udg_J=GetRectCenter(udg_G[bj_forLoopAIndex])
call TimerDialogDisplayForPlayerBJ(false,udg_WV[(1+GetPlayerId(GetOwningPlayer(GetDyingUnit())))],GetOwningPlayer(udg_V[bj_forLoopAIndex]))
call ReviveHeroLoc(udg_V[bj_forLoopAIndex],udg_J,true)
call RemoveLocation(udg_J)
endif
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
else
set bj_forLoopAIndex=5
set bj_forLoopAIndexEnd=8
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
if(WLV())then
set udg_J=GetRectCenter(udg_G[bj_forLoopAIndex])
call ReviveHeroLoc(udg_V[bj_forLoopAIndex],udg_J,true)
call TimerDialogDisplayForPlayerBJ(false,udg_WV[(1+GetPlayerId(GetOwningPlayer(GetDyingUnit())))],GetOwningPlayer(udg_V[bj_forLoopAIndex]))
call RemoveLocation(udg_J)
endif
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
endif
endif
if(WWV())then
if(WUV())then
call ForForce(udg_H[2],function WTV)
else
call ForForce(udg_H[1],function WSV)
endif
endif
if(WYV())then
set udg_J=GetUnitLoc(GetTriggerUnit())
call SetUnitPositionLoc(GetTriggerUnit(),Location(0,0))
call CreateNUnitsAtLoc(1,'ovlj',GetOwningPlayer(GetTriggerUnit()),udg_J,(GetUnitFacing(GetTriggerUnit())+180.))
call SetWidgetLife(bj_lastCreatedUnit,.0)
call RemoveLocation(udg_J)
endif
if(WZV())then
set udg_BV[2]=(udg_BV[2]+2)
call DisplayTextToForce(udg_K[2],"|cff7777aaTeam East got +2 Souls. |r")
call DisplayTextToForce(udg_K[2],("|cff7777aaTotal Souls: "+I2S(udg_BV[2])))
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[2],(I2S(udg_BV[2])+" Souls"))
else
set udg_BV[1]=(udg_BV[1]+2)
call DisplayTextToForce(udg_K[1],"|cff7777aaTeam West got +2 Souls. |r")
call DisplayTextToForce(udg_K[1],("|cff7777aaTotal Souls:"+I2S(udg_BV[1])))
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[1],(I2S(udg_BV[1])+" Souls"))
endif
endfunction
function W0V takes nothing returns boolean
return(IsUnitEnemy(GetTriggerUnit(),Player(8)))
endfunction
function W1V takes nothing returns nothing
if(W0V())then
set udg_VV=1
else
set udg_VV=2
endif
set udg_DV[udg_VV]=(udg_DV[udg_VV]+1)
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,2,udg_FV[(udg_VV+8)],I2S(udg_DV[udg_VV]))
call DisplayTimedTextToForce(AU(GetOwningPlayer(GetTriggerUnit())),3.,(("|cffff4040"+GetUnitName(GetTriggerUnit()))+"|r killed!"))
endfunction
function W2V takes nothing returns boolean
return(IsUnitType(GetDyingUnit(),UNIT_TYPE_HERO)!=null)
endfunction
function W3V takes nothing returns boolean
return(IsUnitEnemy(GetTriggerUnit(),Player(8))==false)
endfunction
function W4V takes nothing returns nothing
call AdjustPlayerStateBJ((GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)/(10*CountPlayersInForceBJ(udg_H[udg_VV]))),GetEnumPlayer(),PLAYER_STATE_RESOURCE_GOLD)
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)-(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)/10)))
call DisplayTimedTextToForce(bj_FORCE_ALL_PLAYERS,7.,("|cffffcc00"+(GetPlayerName(GetOwningPlayer(GetDyingUnit()))+("dropped "+(I2S((GetPlayerState(GetOwningPlayer(GetDyingUnit()),PLAYER_STATE_RESOURCE_GOLD)/10))+" gold !|r")))))
endfunction
function W5V takes nothing returns boolean
return(GetUnitTypeId(udg_V[(1+GetPlayerId(GetOwningPlayer(GetKillingUnit())))])=='E009')
endfunction
function W6V takes nothing returns boolean
return(GetPlayerSlotState(GetOwningPlayer(GetTriggerUnit()))==PLAYER_SLOT_STATE_PLAYING)
endfunction
function W7V takes nothing returns boolean
return(udg_FO[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]>0)
endfunction
function W8V takes nothing returns boolean
return(udg_GO)
endfunction
function W9V takes nothing returns boolean
return(udg_TO[5])and(udg_TO[6])and(udg_TO[7])and(udg_TO[8])
endfunction
function YVV takes nothing returns boolean
return(udg_TO[1])and(udg_TO[2])and(udg_TO[3])and(udg_TO[4])
endfunction
function YEV takes nothing returns boolean
return(IsUnitAlly(GetTriggerUnit(),Player(8)))
endfunction
function YXV takes nothing returns boolean
return(udg_SO)
endfunction
function YOV takes nothing returns boolean
return(udg_V[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]==GetTriggerUnit())
endfunction
function YRV takes nothing returns boolean
return(GetPlayerSlotState(GetOwningPlayer(GetTriggerUnit()))==PLAYER_SLOT_STATE_PLAYING)
endfunction
function YIV takes nothing returns boolean
return(udg_UO==false)
endfunction
function YAV takes nothing returns boolean
return(udg_GO==false)
endfunction
function YNV takes nothing returns nothing
set udg_IR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=0
set udg_AR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=0
if(W5V())then
if(W3V())then
set udg_VV=1
else
set udg_VV=2
endif
call ForForce(udg_H[udg_VV],function W4V)
endif
call CameraClearNoiseForPlayer(GetOwningPlayer(GetDyingUnit()))
if(W8V())then
if(W7V())then
set udg_FO[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=(udg_FO[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]-1)
call DisplayTextToForce(RU(GetOwningPlayer(GetTriggerUnit())),("Lives remaining: "+I2S(udg_FO[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])))
call StartTimerBJ(udg_C[(1+GetPlayerId(GetOwningPlayer(GetDyingUnit())))],false,(I2R(GetHeroLevel(GetDyingUnit()))+45.))
call CreateTimerDialogBJ(udg_C[(1+GetPlayerId(GetOwningPlayer(GetDyingUnit())))],"Hero Revives In")
set udg_WV[(1+GetPlayerId(GetOwningPlayer(GetDyingUnit())))]=bj_lastCreatedTimerDialog
call TimerDialogDisplay(bj_lastCreatedTimerDialog,false)
call TimerDialogDisplayForPlayerBJ(true,udg_WV[(1+GetPlayerId(GetOwningPlayer(GetDyingUnit())))],GetOwningPlayer(GetDyingUnit()))
call DisplayTimedTextToForce(bj_FORCE_ALL_PLAYERS,7.,("* "+(GetPlayerName(GetOwningPlayer(GetDyingUnit()))+" was just struck down!")))
call DisplayTimedTextToForce(bj_FORCE_ALL_PLAYERS,7.,("|cffffcc00Time to revival:|r "+I2S((GetHeroLevel(GetDyingUnit())+45))))
call TriggerSleepAction((I2R(GetHeroLevel(GetDyingUnit()))+45.))
call TimerDialogDisplayForPlayerBJ(false,udg_WV[(1+GetPlayerId(GetOwningPlayer(GetDyingUnit())))],GetOwningPlayer(GetDyingUnit()))
call DestroyTimerDialog(udg_WV[(1+GetPlayerId(GetOwningPlayer(GetDyingUnit())))])
if(W6V())then
set udg_J=GetRectCenter(udg_G[(1+GetPlayerId(GetOwningPlayer(GetDyingUnit())))])
call ReviveHeroLoc(GetDyingUnit(),udg_J,true)
call RemoveLocation(udg_J)
call SetUnitManaPercentBJ(GetTriggerUnit(),15.)
call SetUnitInvulnerable(GetTriggerUnit(),true)
call TriggerSleepAction(3.)
call SetUnitInvulnerable(GetTriggerUnit(),false)
endif
else
call DisplayTextToForce(RU(GetOwningPlayer(GetTriggerUnit())),"DEFEATED!")
endif
endif
if(YAV())then
if(YXV())then
set udg_TO[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=true
if(YEV())then
if(YVV())then
set udg_DV[1]=0
call TriggerExecute(udg_ZA)
set udg_UO=true
endif
else
if(W9V())then
set udg_UO=true
set udg_DV[2]=0
call TriggerExecute(udg_ZA)
endif
endif
endif
if(YIV())then
call StartTimerBJ(udg_C[(1+GetPlayerId(GetOwningPlayer(GetDyingUnit())))],false,(I2R(GetHeroLevel(GetDyingUnit()))+45.))
call CreateTimerDialogBJ(udg_C[(1+GetPlayerId(GetOwningPlayer(GetDyingUnit())))],"Hero Revives In")
set udg_WV[(1+GetPlayerId(GetOwningPlayer(GetDyingUnit())))]=bj_lastCreatedTimerDialog
call TimerDialogDisplay(bj_lastCreatedTimerDialog,false)
call TimerDialogDisplayForPlayerBJ(true,udg_WV[(1+GetPlayerId(GetOwningPlayer(GetDyingUnit())))],GetOwningPlayer(GetDyingUnit()))
call DisplayTimedTextToForce(bj_FORCE_ALL_PLAYERS,7.,("* "+(GetPlayerName(GetOwningPlayer(GetDyingUnit()))+" was just struck down!")))
call DisplayTimedTextToForce(bj_FORCE_ALL_PLAYERS,7.,("|cffffcc00Time to revival:|r "+I2S((GetHeroLevel(GetDyingUnit())+45))))
call TriggerSleepAction((I2R(GetHeroLevel(GetDyingUnit()))+45.))
call TimerDialogDisplayForPlayerBJ(false,udg_WV[(1+GetPlayerId(GetOwningPlayer(GetDyingUnit())))],GetOwningPlayer(GetDyingUnit()))
call DestroyTimerDialog(udg_WV[(1+GetPlayerId(GetOwningPlayer(GetDyingUnit())))])
if(YOV())then
set udg_TO[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=false
endif
if(YRV())then
set udg_J=GetRectCenter(udg_G[(1+GetPlayerId(GetOwningPlayer(GetDyingUnit())))])
call ReviveHeroLoc(GetDyingUnit(),udg_J,true)
call RemoveLocation(udg_J)
call SetUnitManaPercentBJ(GetTriggerUnit(),15.)
call SetUnitInvulnerable(GetTriggerUnit(),true)
call TriggerSleepAction(3.)
call SetUnitInvulnerable(GetTriggerUnit(),false)
endif
endif
endif
endfunction
function YBV takes nothing returns boolean
return(IsUnitIllusion(GetTriggerUnit())==false)and(IsUnitType(GetTriggerUnit(),UNIT_TYPE_SUMMONED)==false)
endfunction
function YCV takes nothing returns boolean
return(GetUnitTypeId(udg_V[(1+GetPlayerId(GetOwningPlayer(GetKillingUnit())))])=='E00O')
endfunction
function YDV takes nothing returns boolean
return(UnitHasBuffBJ(udg_V[(1+GetPlayerId(GetOwningPlayer(GetKillingUnit())))],'B004'))
endfunction
function YFV takes nothing returns boolean
return(IsUnitType(GetTriggerUnit(),UNIT_TYPE_SUMMONED)==false)and(GetOwningPlayer(GetTriggerUnit())==Player(10))
endfunction
function YGV takes nothing returns boolean
return(IsUnitType(GetTriggerUnit(),UNIT_TYPE_SUMMONED)==false)and(GetOwningPlayer(GetTriggerUnit())==Player(11))
endfunction
function YHV takes nothing returns boolean
return(IsUnitType(GetTriggerUnit(),UNIT_TYPE_SUMMONED)==false)and(GetOwningPlayer(GetTriggerUnit())==Player(8))
endfunction
function YJV takes nothing returns boolean
return(GetOwningPlayer(GetTriggerUnit())==Player(9))and(IsUnitType(GetTriggerUnit(),UNIT_TYPE_SUMMONED)==false)
endfunction
function YKV takes nothing returns boolean
return(udg_X<40)
endfunction
function YLV takes nothing returns boolean
return(GetTriggerUnit()==udg_RX)
endfunction
function YMV takes nothing returns boolean
return(GetTriggerUnit()==udg_IX)
endfunction
function YPV takes nothing returns boolean
return(GetTriggerUnit()==udg_HX)
endfunction
function YQV takes nothing returns boolean
return(GetTriggerUnit()==udg_MX)
endfunction
function YSV takes nothing returns boolean
return(GetTriggerUnit()==udg_QX)
endfunction
function YTV takes nothing returns boolean
return(GetTriggerUnit()==udg_SX)
endfunction
function YUV takes nothing returns boolean
return(IsUnitInGroup(GetTriggerUnit(),udg_RO))or(IsUnitInGroup(GetTriggerUnit(),udg_IO))
endfunction
function YWV takes nothing returns boolean
return(IsUnitEnemy(GetEnumUnit(),GetOwningPlayer(GetTriggerUnit())))
endfunction
function YYV takes nothing returns nothing
if(YWV())then
call CreateNUnitsAtLoc(1,'o011',GetOwningPlayer(GetTriggerUnit()),udg_J,bj_UNIT_FACING)
call UnitDamageTargetBJ(bj_lastCreatedUnit,GetEnumUnit(),(GetUnitStateSwap(UNIT_STATE_MAX_LIFE,GetEnumUnit())/2.),ATTACK_TYPE_NORMAL,DAMAGE_TYPE_NORMAL)
call RemoveUnit(bj_lastCreatedUnit)
endif
endfunction
function YZV takes nothing returns boolean
return(YUV())
endfunction
function Y_V takes nothing returns boolean
return(GetTriggerUnit()==udg_VO)
endfunction
function Y0V takes nothing returns boolean
return(GetTriggerUnit()==udg_EO)
endfunction
function Y1V takes nothing returns boolean
return true
endfunction
function Y2V takes nothing returns nothing
if(YCV())then
call AdjustPlayerStateBJ((GetUnitLevel(GetTriggerUnit())*(GetUnitLevel(GetTriggerUnit())+2)),GetOwningPlayer(GetKillingUnit()),PLAYER_STATE_RESOURCE_GOLD)
set udg_J=GetUnitLoc(GetKillingUnit())
call AddSpecialEffectLocBJ(udg_J,"UI\\Feedback\\GoldCredit\\GoldCredit.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
endif
if(YDV())then
call AddHeroXPSwapped((GetUnitLevel(GetDyingUnit())*10),udg_V[(1+GetPlayerId(GetOwningPlayer(GetKillingUnit())))],true)
endif
set udg_CV[(1+GetPlayerId(GetOwningPlayer(GetKillingUnit())))]=(udg_CV[(1+GetPlayerId(GetOwningPlayer(GetKillingUnit())))]+1)
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,2,udg_FV[(1+GetPlayerId(GetOwningPlayer(GetKillingUnit())))],I2S(udg_CV[(1+GetPlayerId(GetOwningPlayer(GetKillingUnit())))]))
if(YKV())then
if(YFV())then
set udg_SE[1]=(udg_SE[1]-1)
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[3],("West Side "+(I2S(udg_SE[1])+("/"+I2S(udg_SE[2])))))
endif
if(YGV())then
set udg_SE[2]=(udg_SE[2]-1)
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[3],("West Side "+(I2S(udg_SE[1])+("/"+I2S(udg_SE[2])))))
endif
if(YHV())then
set udg_SE[3]=(udg_SE[3]-1)
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[4],("East Side "+(I2S(udg_SE[3])+("/"+I2S(udg_SE[4])))))
endif
if(YJV())then
set udg_SE[4]=(udg_SE[4]-1)
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[4],("East Side "+(I2S(udg_SE[3])+("/"+I2S(udg_SE[4])))))
endif
endif
if(Y1V())then
if(YLV())then
set udg_BX=true
endif
if(YMV())then
set udg_GX=true
endif
if(YPV())then
set udg_KX=true
endif
if(YQV())then
set udg_LX=true
endif
if(YSV())then
set udg_YX=true
endif
if(YTV())then
set udg_WX=true
endif
if(YZV())then
set udg_J=GetUnitLoc(GetTriggerUnit())
set udg_FE=ZT(190.,udg_J)
call ForGroupBJ(udg_FE,function YYV)
call DestroyGroup(udg_FE)
set udg_FE=null
call RemoveLocation(udg_J)
endif
if(Y_V())then
set udg_OO=true
endif
if(Y0V())then
set udg_XO=true
endif
endif
endfunction
function Y3V takes nothing returns boolean
return(IsPlayerAlly(GetOwningPlayer(GetTriggerUnit()),Player(8)))and(GetPlayerController(GetOwningPlayer(GetTriggerUnit()))==MAP_CONTROL_USER)and(IsUnitType(GetTriggerUnit(),UNIT_TYPE_HERO))
endfunction
function Y4V takes nothing returns nothing
set udg_J=GetUnitLoc(GetTriggerUnit())
call SetUnitInvulnerable(GetTriggerUnit(),true)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\MassTeleport\\MassTeleportCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call SetUnitPositionLocFacingBJ(GetTriggerUnit(),OffsetLocation(GetUnitLoc(udg_ES),.0,-200.),270.)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\MassTeleport\\MassTeleportCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call TriggerSleepAction(.0)
call SetUnitInvulnerable(GetTriggerUnit(),false)
endfunction
function Y5V takes nothing returns boolean
return(IsPlayerAlly(GetOwningPlayer(GetTriggerUnit()),Player(8)))and(GetPlayerController(GetOwningPlayer(GetTriggerUnit()))==MAP_CONTROL_USER)and(IsUnitType(GetTriggerUnit(),UNIT_TYPE_HERO))
endfunction
function Y6V takes nothing returns nothing
call TriggerSleepAction(.5)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\MassTeleport\\MassTeleportCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call SetUnitPositionLocFacingBJ(GetTriggerUnit(),OffsetLocation(GetUnitLoc(udg_VS),200.,0),.0)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\MassTeleport\\MassTeleportCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
endfunction
function Y7V takes nothing returns boolean
return(IsPlayerAlly(GetOwningPlayer(GetTriggerUnit()),Player(8)))and(GetPlayerController(GetOwningPlayer(GetTriggerUnit()))==MAP_CONTROL_USER)and(IsUnitType(GetTriggerUnit(),UNIT_TYPE_HERO))
endfunction
function Y8V takes nothing returns nothing
set udg_J=GetUnitLoc(GetTriggerUnit())
call SetUnitInvulnerable(GetTriggerUnit(),true)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\MassTeleport\\MassTeleportCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call SetUnitPositionLocFacingBJ(GetTriggerUnit(),OffsetLocation(GetUnitLoc(udg_XS),.0,-200.),270.)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\MassTeleport\\MassTeleportCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call TriggerSleepAction(.0)
call SetUnitInvulnerable(GetTriggerUnit(),false)
endfunction
function Y9V takes nothing returns boolean
return(IsPlayerAlly(GetOwningPlayer(GetTriggerUnit()),Player(8)))and(GetPlayerController(GetOwningPlayer(GetTriggerUnit()))==MAP_CONTROL_USER)and(IsUnitType(GetTriggerUnit(),UNIT_TYPE_HERO))
endfunction
function ZVV takes nothing returns nothing
call TriggerSleepAction(.5)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\MassTeleport\\MassTeleportCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call SetUnitPositionLocFacingBJ(GetTriggerUnit(),OffsetLocation(GetUnitLoc(udg_ZQ),-200.,0),180.)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\MassTeleport\\MassTeleportCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
endfunction
function ZEV takes nothing returns boolean
return(IsPlayerAlly(GetOwningPlayer(GetTriggerUnit()),Player(10)))and(GetPlayerController(GetOwningPlayer(GetTriggerUnit()))==MAP_CONTROL_USER)and(IsUnitType(GetTriggerUnit(),UNIT_TYPE_HERO))
endfunction
function ZXV takes nothing returns nothing
set udg_J=GetUnitLoc(GetTriggerUnit())
call SetUnitInvulnerable(GetTriggerUnit(),true)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\MassTeleport\\MassTeleportCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call SetUnitPositionLocFacingBJ(GetTriggerUnit(),OffsetLocation(GetUnitLoc(udg_OS),.0,-200.),270.)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\MassTeleport\\MassTeleportCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call TriggerSleepAction(.0)
call SetUnitInvulnerable(GetTriggerUnit(),false)
endfunction
function ZOV takes nothing returns boolean
return(IsPlayerAlly(GetOwningPlayer(GetTriggerUnit()),Player(10)))and(GetPlayerController(GetOwningPlayer(GetTriggerUnit()))==MAP_CONTROL_USER)and(IsUnitType(GetTriggerUnit(),UNIT_TYPE_HERO))
endfunction
function ZRV takes nothing returns nothing
call TriggerSleepAction(.5)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\MassTeleport\\MassTeleportCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call SetUnitPositionLocFacingBJ(GetTriggerUnit(),OffsetLocation(GetUnitLoc(udg_YQ),200.,0),.0)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\MassTeleport\\MassTeleportCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
endfunction
function ZIV takes nothing returns boolean
return(IsPlayerAlly(GetOwningPlayer(GetTriggerUnit()),Player(10)))and(GetPlayerController(GetOwningPlayer(GetTriggerUnit()))==MAP_CONTROL_USER)and(IsUnitType(GetTriggerUnit(),UNIT_TYPE_HERO))
endfunction
function ZAV takes nothing returns nothing
set udg_J=GetUnitLoc(GetTriggerUnit())
call SetUnitInvulnerable(GetTriggerUnit(),true)
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\MassTeleport\\MassTeleportCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call SetUnitPositionLocFacingBJ(GetTriggerUnit(),OffsetLocation(GetUnitLoc(udg_UQ),.0,-200.),270.)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\MassTeleport\\MassTeleportCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call TriggerSleepAction(.0)
call SetUnitInvulnerable(GetTriggerUnit(),false)
endfunction
function ZNV takes nothing returns boolean
return(IsPlayerAlly(GetOwningPlayer(GetTriggerUnit()),Player(10)))and(GetPlayerController(GetOwningPlayer(GetTriggerUnit()))==MAP_CONTROL_USER)and(IsUnitType(GetTriggerUnit(),UNIT_TYPE_HERO))
endfunction
function ZBV takes nothing returns nothing
call TriggerSleepAction(.5)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\MassTeleport\\MassTeleportCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
call SetUnitPositionLocFacingBJ(GetTriggerUnit(),OffsetLocation(GetUnitLoc(udg_WQ),-200.,0),180.)
set udg_J=GetUnitLoc(GetTriggerUnit())
call AddSpecialEffectLocBJ(udg_J,"Abilities\\Spells\\Human\\MassTeleport\\MassTeleportCaster.mdl")
call TriggerExecute(udg_XB)
call RemoveLocation(udg_J)
endfunction
function ZCV takes nothing returns nothing
set udg_CX[(1+GetPlayerId(GetTriggerPlayer()))]=S2R(SubStringBJ(GetEventPlayerChatString(),4,StringLength(GetEventPlayerChatString())))
call SetUnitVertexColorBJ(udg_V[(1+GetPlayerId(GetTriggerPlayer()))],udg_DX[(1+GetPlayerId(GetTriggerPlayer()))],udg_CX[(1+GetPlayerId(GetTriggerPlayer()))],udg_FX[(1+GetPlayerId(GetTriggerPlayer()))],.0)
endfunction
function ZDV takes nothing returns nothing
set udg_DX[(1+GetPlayerId(GetTriggerPlayer()))]=S2R(SubStringBJ(GetEventPlayerChatString(),4,StringLength(GetEventPlayerChatString())))
call SetUnitVertexColorBJ(udg_V[(1+GetPlayerId(GetTriggerPlayer()))],udg_DX[(1+GetPlayerId(GetTriggerPlayer()))],udg_CX[(1+GetPlayerId(GetTriggerPlayer()))],udg_FX[(1+GetPlayerId(GetTriggerPlayer()))],.0)
endfunction
function ZFV takes nothing returns nothing
set udg_FX[(1+GetPlayerId(GetTriggerPlayer()))]=S2R(SubStringBJ(GetEventPlayerChatString(),4,StringLength(GetEventPlayerChatString())))
call SetUnitVertexColorBJ(udg_V[(1+GetPlayerId(GetTriggerPlayer()))],udg_DX[(1+GetPlayerId(GetTriggerPlayer()))],udg_CX[(1+GetPlayerId(GetTriggerPlayer()))],udg_FX[(1+GetPlayerId(GetTriggerPlayer()))],.0)
endfunction
function ZGV takes nothing returns nothing
call EnableTrigger(udg_HM)
endfunction
function ZHV takes nothing returns boolean
return(udg_DV[1]!=0)and(udg_DV[2]!=0)
endfunction
function ZJV takes nothing returns boolean
return(IsPlayerAlly(GetTriggerPlayer(),Player(8)))
endfunction
function ZKV takes nothing returns boolean
return(IsPlayerAlly(GetTriggerPlayer(),Player(8)))and(CountPlayersInForceBJ(udg_H[2])<=1)
endfunction
function ZLV takes nothing returns boolean
return(IsPlayerAlly(GetTriggerPlayer(),Player(8)))
endfunction
function ZMV takes nothing returns boolean
return(IsPlayerAlly(GetTriggerPlayer(),Player(8))==false)and(CountPlayersInForceBJ(udg_H[1])<=1)
endfunction
function ZPV takes nothing returns nothing
if(ZKV())then
call DisplayTextToForce(bj_FORCE_ALL_PLAYERS,(GetPlayerName(GetTriggerPlayer())+" gave the East Side 1000 extra lives."))
set udg_L[2]=false
if(ZJV())then
set udg_VV=2
else
set udg_VV=1
endif
set udg_DV[udg_VV]=(udg_DV[udg_VV]+1000)
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,2,udg_FV[(udg_VV+8)],I2S(udg_DV[udg_VV]))
endif
if(ZMV())then
call DisplayTextToForce(bj_FORCE_ALL_PLAYERS,(GetPlayerName(GetTriggerPlayer())+" gave the West Side 1000 extra lives."))
set udg_L[1]=false
if(ZLV())then
set udg_VV=2
else
set udg_VV=1
endif
set udg_DV[udg_VV]=(udg_DV[udg_VV]+1000)
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,2,udg_FV[(udg_VV+8)],I2S(udg_DV[udg_VV]))
endif
endfunction
function ZQV takes nothing returns boolean
return(udg_X==0)
endfunction
function ZSV takes nothing returns boolean
return(udg_L[1])
endfunction
function ZTV takes nothing returns boolean
return(udg_L[2])
endfunction
function ZUV takes nothing returns boolean
return(udg_VV>49)and(udg_VV<201)
endfunction
function ZWV takes nothing returns nothing
set udg_VV=S2I(SubStringBJ(GetEventPlayerChatString(),8,StringLength(GetEventPlayerChatString())))
if(ZUV())then
if(ZSV())then
set udg_DV[1]=udg_VV
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,2,udg_FV[9],I2S(udg_DV[1]))
endif
if(ZTV())then
set udg_DV[2]=udg_VV
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,2,udg_FV[10],I2S(udg_DV[2]))
endif
endif
endfunction
function ZYV takes nothing returns boolean
return(udg_AO==false)and(IsUnitAliveBJ(udg_V[(1+GetPlayerId(GetTriggerPlayer()))]))and(GetUnitTypeId(udg_V[(1+GetPlayerId(GetTriggerPlayer()))])!='E00I')and(GetUnitTypeId(udg_V[(1+GetPlayerId(GetTriggerPlayer()))])!='ushd')and(GetUnitTypeId(udg_V[(1+GetPlayerId(GetTriggerPlayer()))])!='E00L')and(GetUnitTypeId(udg_V[(1+GetPlayerId(GetTriggerPlayer()))])!='E00A')and(GetUnitTypeId(udg_V[(1+GetPlayerId(GetTriggerPlayer()))])!='E00T')and(GetUnitTypeId(udg_V[(1+GetPlayerId(GetTriggerPlayer()))])!='E00Y')and(GetUnitTypeId(udg_V[(1+GetPlayerId(GetTriggerPlayer()))])!='E011')and(GetUnitTypeId(udg_V[(1+GetPlayerId(GetTriggerPlayer()))])!='O016')and(GetUnitTypeId(udg_V[(1+GetPlayerId(GetTriggerPlayer()))])!='O017')and(GetUnitTypeId(udg_V[(1+GetPlayerId(GetTriggerPlayer()))])!='O018')and(GetUnitTypeId(udg_V[(1+GetPlayerId(GetTriggerPlayer()))])!='O019')and(udg_D[(1+GetPlayerId(GetTriggerPlayer()))]==false)and(udg_X<=3)
endfunction
function ZZV takes nothing returns boolean
return(GetUnitTypeId(GetEnumUnit())!='h000')
endfunction
function Z_V takes nothing returns nothing
if(ZZV())then
call RemoveUnit(GetEnumUnit())
endif
endfunction
function Z0V takes nothing returns boolean
return(GetItemTypeId(bj_lastRemovedItem)=='srrc')
endfunction
function Z1V takes nothing returns nothing
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=8
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
set udg_BE[(1+GetPlayerId(GetTriggerPlayer()))]=0
set udg_RE[bj_forLoopAIndex]=0
set udg_AE[bj_forLoopAIndex]=0
set udg_XE[bj_forLoopAIndex]=0
set udg_IE[bj_forLoopAIndex]=false
set udg_NE[bj_forLoopAIndex]=false
set udg_EE[bj_forLoopAIndex]=false
set udg_OE[bj_forLoopAIndex]=false
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
call CameraClearNoiseForPlayer(GetTriggerPlayer())
call SetUnitManaBJ(udg_M[(1+GetPlayerId(GetTriggerPlayer()))],0)
set udg_FE=EU(GetTriggerPlayer())
call ForGroupBJ(udg_FE,function Z_V)
call DestroyGroup(udg_FE)
set udg_FE=null
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=6
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
call UnitRemoveItemFromSlotSwapped(bj_forLoopAIndex,udg_V[(1+GetPlayerId(GetTriggerPlayer()))])
if(Z0V())then
call RemoveItem(bj_lastRemovedItem)
endif
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
call RemoveUnit(udg_V[(1+GetPlayerId(GetTriggerPlayer()))])
call CreateNUnitsAtLoc(1,'ushd',GetTriggerPlayer(),Location(0,-5116.),bj_UNIT_FACING)
call PanCameraToTimedLocForPlayer(GetTriggerPlayer(),GetRectCenter(udg_NI),.3)
endfunction
function Z2V takes nothing returns boolean
return(GetPlayerSlotState(Player(-1+(2)))==PLAYER_SLOT_STATE_PLAYING)
endfunction
function Z3V takes nothing returns boolean
return(GetEventPlayerChatString()=="-kick blue")
endfunction
function Z4V takes nothing returns boolean
return(GetPlayerSlotState(Player(-1+(3)))==PLAYER_SLOT_STATE_PLAYING)
endfunction
function Z5V takes nothing returns boolean
return(GetEventPlayerChatString()=="-kick teal")
endfunction
function Z6V takes nothing returns boolean
return(GetPlayerSlotState(Player(-1+(4)))==PLAYER_SLOT_STATE_PLAYING)
endfunction
function Z7V takes nothing returns boolean
return(GetEventPlayerChatString()=="-kick purple")
endfunction
function Z8V takes nothing returns boolean
return(GetPlayerSlotState(Player(-1+(5)))==PLAYER_SLOT_STATE_PLAYING)
endfunction
function Z9V takes nothing returns boolean
return(GetEventPlayerChatString()=="-kick yellow")
endfunction
function VVE takes nothing returns boolean
return(GetPlayerSlotState(Player(-1+(6)))==PLAYER_SLOT_STATE_PLAYING)
endfunction
function VEE takes nothing returns boolean
return(GetEventPlayerChatString()=="-kick orange")
endfunction
function VXE takes nothing returns boolean
return(GetPlayerSlotState(Player(-1+(7)))==PLAYER_SLOT_STATE_PLAYING)
endfunction
function VOE takes nothing returns boolean
return(GetEventPlayerChatString()=="-kick green")
endfunction
function VRE takes nothing returns boolean
return(GetPlayerSlotState(Player(-1+(8)))==PLAYER_SLOT_STATE_PLAYING)
endfunction
function VIE takes nothing returns boolean
return(GetEventPlayerChatString()=="-kick pink")
endfunction
function VAE takes nothing returns nothing
if(Z3V())then
if(Z2V())then
call PlaySoundBJ(udg_IA)
set udg_HO=Player(1)
call TriggerExecute(udg_PM)
call CustomDefeatBJ(Player(1),"THX FOR PLAYING ENFO CE!")
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_FV[(1+GetPlayerId(Player(1)))],"<Kicked>")
endif
endif
if(Z5V())then
if(Z4V())then
call PlaySoundBJ(udg_IA)
set udg_HO=Player(2)
call TriggerExecute(udg_PM)
call CustomDefeatBJ(Player(2),"THX FOR PLAYING ENFO CE!")
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_FV[(1+GetPlayerId(Player(2)))],"<Kicked>")
endif
endif
if(Z7V())then
if(Z6V())then
call PlaySoundBJ(udg_IA)
set udg_HO=Player(3)
call TriggerExecute(udg_PM)
call CustomDefeatBJ(Player(3),"THX FOR PLAYING ENFO CE!")
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_FV[(1+GetPlayerId(Player(3)))],">Kicked<")
endif
endif
if(Z9V())then
if(Z8V())then
call PlaySoundBJ(udg_IA)
set udg_HO=Player(4)
call TriggerExecute(udg_PM)
call CustomDefeatBJ(Player(4),"THX FOR PLAYING ENFO CE!")
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_FV[(1+GetPlayerId(Player(4)))],"<Kicked>")
endif
endif
if(VEE())then
if(VVE())then
call PlaySoundBJ(udg_IA)
set udg_HO=Player(5)
call TriggerExecute(udg_PM)
call CustomDefeatBJ(Player(5),"THX FOR PLAYING ENFO CE!")
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_FV[(1+GetPlayerId(Player(5)))],"<Kicked>")
endif
endif
if(VOE())then
if(VXE())then
call PlaySoundBJ(udg_IA)
set udg_HO=Player(6)
call TriggerExecute(udg_PM)
call CustomDefeatBJ(Player(6),"THX FOR PLAYING ENFO CE!")
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_FV[(1+GetPlayerId(Player(6)))],"<Kicked>")
endif
endif
if(VIE())then
if(VRE())then
call PlaySoundBJ(udg_IA)
set udg_HO=Player(7)
call TriggerExecute(udg_PM)
call CustomDefeatBJ(Player(7),"THX FOR PLAYING ENFO CE!")
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_FV[(1+GetPlayerId(Player(7)))],"<Kicked>")
endif
endif
endfunction
function VNE takes nothing returns boolean
return(IsPlayerAlly(GetTriggerPlayer(),Player(8)))
endfunction
function VBE takes nothing returns nothing
if(VNE())then
call DisplayTextToForce(RU(GetTriggerPlayer()),("|cff7777aaYou have "+(I2S(udg_BV[1])+" Souls")))
else
call DisplayTextToForce(RU(GetTriggerPlayer()),("|cff7777aaYou have "+(I2S(udg_BV[2])+" Souls")))
endif
endfunction
function VCE takes nothing returns boolean
return(udg_X>=1)
endfunction
function VDE takes nothing returns nothing
if(VCE())then
set udg_DV[1]=0
call TriggerExecute(udg_ZA)
else
call DisplayTextToForce(RU(GetTriggerPlayer()),"Wait until round 1!")
endif
endfunction
function VFE takes nothing returns nothing
call SetHeroLevelBJ(udg_V[1],60,false)
call SetUnitManaBJ(udg_M[1],(GetUnitStateSwap(UNIT_STATE_MANA,udg_M[1])+100.))
set udg_X=2
call UnitResetCooldown(udg_V[1])
endfunction
function InitCustomTeams2 takes nothing returns nothing
call SetPlayerTeam(Player(0),0)
call SetPlayerState(Player(0),PLAYER_STATE_ALLIED_VICTORY,1)
call SetPlayerTeam(Player(1),0)
call SetPlayerState(Player(1),PLAYER_STATE_ALLIED_VICTORY,1)
call SetPlayerTeam(Player(2),0)
call SetPlayerState(Player(2),PLAYER_STATE_ALLIED_VICTORY,1)
call SetPlayerTeam(Player(3),0)
call SetPlayerState(Player(3),PLAYER_STATE_ALLIED_VICTORY,1)
call SetPlayerTeam(Player(8),0)
call SetPlayerState(Player(8),PLAYER_STATE_ALLIED_VICTORY,1)
call SetPlayerTeam(Player(9),0)
call SetPlayerState(Player(9),PLAYER_STATE_ALLIED_VICTORY,1)
call SetPlayerAllianceStateAllyBJ(Player(0),Player(1),true)
call SetPlayerAllianceStateAllyBJ(Player(0),Player(2),true)
call SetPlayerAllianceStateAllyBJ(Player(0),Player(3),true)
call SetPlayerAllianceStateAllyBJ(Player(0),Player(8),true)
call SetPlayerAllianceStateAllyBJ(Player(0),Player(9),true)
call SetPlayerAllianceStateAllyBJ(Player(1),Player(0),true)
call SetPlayerAllianceStateAllyBJ(Player(1),Player(2),true)
call SetPlayerAllianceStateAllyBJ(Player(1),Player(3),true)
call SetPlayerAllianceStateAllyBJ(Player(1),Player(8),true)
call SetPlayerAllianceStateAllyBJ(Player(1),Player(9),true)
call SetPlayerAllianceStateAllyBJ(Player(2),Player(0),true)
call SetPlayerAllianceStateAllyBJ(Player(2),Player(1),true)
call SetPlayerAllianceStateAllyBJ(Player(2),Player(3),true)
call SetPlayerAllianceStateAllyBJ(Player(2),Player(8),true)
call SetPlayerAllianceStateAllyBJ(Player(2),Player(9),true)
call SetPlayerAllianceStateAllyBJ(Player(3),Player(0),true)
call SetPlayerAllianceStateAllyBJ(Player(3),Player(1),true)
call SetPlayerAllianceStateAllyBJ(Player(3),Player(2),true)
call SetPlayerAllianceStateAllyBJ(Player(3),Player(8),true)
call SetPlayerAllianceStateAllyBJ(Player(3),Player(9),true)
call SetPlayerAllianceStateAllyBJ(Player(8),Player(0),true)
call SetPlayerAllianceStateAllyBJ(Player(8),Player(1),true)
call SetPlayerAllianceStateAllyBJ(Player(8),Player(2),true)
call SetPlayerAllianceStateAllyBJ(Player(8),Player(3),true)
call SetPlayerAllianceStateAllyBJ(Player(8),Player(9),true)
call SetPlayerAllianceStateAllyBJ(Player(9),Player(0),true)
call SetPlayerAllianceStateAllyBJ(Player(9),Player(1),true)
call SetPlayerAllianceStateAllyBJ(Player(9),Player(2),true)
call SetPlayerAllianceStateAllyBJ(Player(9),Player(3),true)
call SetPlayerAllianceStateAllyBJ(Player(9),Player(8),true)
call SetPlayerAllianceStateVisionBJ(Player(0),Player(1),true)
call SetPlayerAllianceStateVisionBJ(Player(0),Player(2),true)
call SetPlayerAllianceStateVisionBJ(Player(0),Player(3),true)
call SetPlayerAllianceStateVisionBJ(Player(0),Player(8),true)
call SetPlayerAllianceStateVisionBJ(Player(0),Player(9),true)
call SetPlayerAllianceStateVisionBJ(Player(1),Player(0),true)
call SetPlayerAllianceStateVisionBJ(Player(1),Player(2),true)
call SetPlayerAllianceStateVisionBJ(Player(1),Player(3),true)
call SetPlayerAllianceStateVisionBJ(Player(1),Player(8),true)
call SetPlayerAllianceStateVisionBJ(Player(1),Player(9),true)
call SetPlayerAllianceStateVisionBJ(Player(2),Player(0),true)
call SetPlayerAllianceStateVisionBJ(Player(2),Player(1),true)
call SetPlayerAllianceStateVisionBJ(Player(2),Player(3),true)
call SetPlayerAllianceStateVisionBJ(Player(2),Player(8),true)
call SetPlayerAllianceStateVisionBJ(Player(2),Player(9),true)
call SetPlayerAllianceStateVisionBJ(Player(3),Player(0),true)
call SetPlayerAllianceStateVisionBJ(Player(3),Player(1),true)
call SetPlayerAllianceStateVisionBJ(Player(3),Player(2),true)
call SetPlayerAllianceStateVisionBJ(Player(3),Player(8),true)
call SetPlayerAllianceStateVisionBJ(Player(3),Player(9),true)
call SetPlayerAllianceStateVisionBJ(Player(8),Player(0),true)
call SetPlayerAllianceStateVisionBJ(Player(8),Player(1),true)
call SetPlayerAllianceStateVisionBJ(Player(8),Player(2),true)
call SetPlayerAllianceStateVisionBJ(Player(8),Player(3),true)
call SetPlayerAllianceStateVisionBJ(Player(8),Player(9),true)
call SetPlayerAllianceStateVisionBJ(Player(9),Player(0),true)
call SetPlayerAllianceStateVisionBJ(Player(9),Player(1),true)
call SetPlayerAllianceStateVisionBJ(Player(9),Player(2),true)
call SetPlayerAllianceStateVisionBJ(Player(9),Player(3),true)
call SetPlayerAllianceStateVisionBJ(Player(9),Player(8),true)
call SetPlayerTeam(Player(4),1)
call SetPlayerState(Player(4),PLAYER_STATE_ALLIED_VICTORY,1)
call SetPlayerTeam(Player(5),1)
call SetPlayerState(Player(5),PLAYER_STATE_ALLIED_VICTORY,1)
call SetPlayerTeam(Player(6),1)
call SetPlayerState(Player(6),PLAYER_STATE_ALLIED_VICTORY,1)
call SetPlayerTeam(Player(7),1)
call SetPlayerState(Player(7),PLAYER_STATE_ALLIED_VICTORY,1)
call SetPlayerTeam(Player(10),1)
call SetPlayerState(Player(10),PLAYER_STATE_ALLIED_VICTORY,1)
call SetPlayerTeam(Player(11),1)
call SetPlayerState(Player(11),PLAYER_STATE_ALLIED_VICTORY,1)
call SetPlayerAllianceStateAllyBJ(Player(4),Player(5),true)
call SetPlayerAllianceStateAllyBJ(Player(4),Player(6),true)
call SetPlayerAllianceStateAllyBJ(Player(4),Player(7),true)
call SetPlayerAllianceStateAllyBJ(Player(4),Player(10),true)
call SetPlayerAllianceStateAllyBJ(Player(4),Player(11),true)
call SetPlayerAllianceStateAllyBJ(Player(5),Player(4),true)
call SetPlayerAllianceStateAllyBJ(Player(5),Player(6),true)
call SetPlayerAllianceStateAllyBJ(Player(5),Player(7),true)
call SetPlayerAllianceStateAllyBJ(Player(5),Player(10),true)
call SetPlayerAllianceStateAllyBJ(Player(5),Player(11),true)
call SetPlayerAllianceStateAllyBJ(Player(6),Player(4),true)
call SetPlayerAllianceStateAllyBJ(Player(6),Player(5),true)
call SetPlayerAllianceStateAllyBJ(Player(6),Player(7),true)
call SetPlayerAllianceStateAllyBJ(Player(6),Player(10),true)
call SetPlayerAllianceStateAllyBJ(Player(6),Player(11),true)
call SetPlayerAllianceStateAllyBJ(Player(7),Player(4),true)
call SetPlayerAllianceStateAllyBJ(Player(7),Player(5),true)
call SetPlayerAllianceStateAllyBJ(Player(7),Player(6),true)
call SetPlayerAllianceStateAllyBJ(Player(7),Player(10),true)
call SetPlayerAllianceStateAllyBJ(Player(7),Player(11),true)
call SetPlayerAllianceStateAllyBJ(Player(10),Player(4),true)
call SetPlayerAllianceStateAllyBJ(Player(10),Player(5),true)
call SetPlayerAllianceStateAllyBJ(Player(10),Player(6),true)
call SetPlayerAllianceStateAllyBJ(Player(10),Player(7),true)
call SetPlayerAllianceStateAllyBJ(Player(10),Player(11),true)
call SetPlayerAllianceStateAllyBJ(Player(11),Player(4),true)
call SetPlayerAllianceStateAllyBJ(Player(11),Player(5),true)
call SetPlayerAllianceStateAllyBJ(Player(11),Player(6),true)
call SetPlayerAllianceStateAllyBJ(Player(11),Player(7),true)
call SetPlayerAllianceStateAllyBJ(Player(11),Player(10),true)
call SetPlayerAllianceStateVisionBJ(Player(4),Player(5),true)
call SetPlayerAllianceStateVisionBJ(Player(4),Player(6),true)
call SetPlayerAllianceStateVisionBJ(Player(4),Player(7),true)
call SetPlayerAllianceStateVisionBJ(Player(4),Player(10),true)
call SetPlayerAllianceStateVisionBJ(Player(4),Player(11),true)
call SetPlayerAllianceStateVisionBJ(Player(5),Player(4),true)
call SetPlayerAllianceStateVisionBJ(Player(5),Player(6),true)
call SetPlayerAllianceStateVisionBJ(Player(5),Player(7),true)
call SetPlayerAllianceStateVisionBJ(Player(5),Player(10),true)
call SetPlayerAllianceStateVisionBJ(Player(5),Player(11),true)
call SetPlayerAllianceStateVisionBJ(Player(6),Player(4),true)
call SetPlayerAllianceStateVisionBJ(Player(6),Player(5),true)
call SetPlayerAllianceStateVisionBJ(Player(6),Player(7),true)
call SetPlayerAllianceStateVisionBJ(Player(6),Player(10),true)
call SetPlayerAllianceStateVisionBJ(Player(6),Player(11),true)
call SetPlayerAllianceStateVisionBJ(Player(7),Player(4),true)
call SetPlayerAllianceStateVisionBJ(Player(7),Player(5),true)
call SetPlayerAllianceStateVisionBJ(Player(7),Player(6),true)
call SetPlayerAllianceStateVisionBJ(Player(7),Player(10),true)
call SetPlayerAllianceStateVisionBJ(Player(7),Player(11),true)
call SetPlayerAllianceStateVisionBJ(Player(10),Player(4),true)
call SetPlayerAllianceStateVisionBJ(Player(10),Player(5),true)
call SetPlayerAllianceStateVisionBJ(Player(10),Player(6),true)
call SetPlayerAllianceStateVisionBJ(Player(10),Player(7),true)
call SetPlayerAllianceStateVisionBJ(Player(10),Player(11),true)
call SetPlayerAllianceStateVisionBJ(Player(11),Player(4),true)
call SetPlayerAllianceStateVisionBJ(Player(11),Player(5),true)
call SetPlayerAllianceStateVisionBJ(Player(11),Player(6),true)
call SetPlayerAllianceStateVisionBJ(Player(11),Player(7),true)
call SetPlayerAllianceStateVisionBJ(Player(11),Player(10),true)
endfunction
function main2 takes nothing returns nothing
local weathereffect we
local player p
local unit u
local integer unitID
local trigger t
local real life
local integer VGE
local integer VHE
local version v
local integer KU
local integer i
call SetCameraBounds(-10240.+GetCameraMargin(CAMERA_MARGIN_LEFT),-7680.+GetCameraMargin(CAMERA_MARGIN_BOTTOM),10240.-GetCameraMargin(CAMERA_MARGIN_RIGHT),8192.-GetCameraMargin(CAMERA_MARGIN_TOP),-10240.+GetCameraMargin(CAMERA_MARGIN_LEFT),8192.-GetCameraMargin(CAMERA_MARGIN_TOP),10240.-GetCameraMargin(CAMERA_MARGIN_RIGHT),-7680.+GetCameraMargin(CAMERA_MARGIN_BOTTOM))
call SetDayNightModels("Environment\\DNC\\DNCLordaeron\\DNCLordaeronTerrain\\DNCLordaeronTerrain.mdl","Environment\\DNC\\DNCLordaeron\\DNCLordaeronUnit\\DNCLordaeronUnit.mdl")
call NewSoundEnvironment("Default")
call SetAmbientDaySound("FelwoodDay")
call SetAmbientNightSound("FelwoodNight")
call SetMapMusic("Music",true,0)
set udg_PI=CreateSound("Sound\\Interface\\Hint.wav",false,false,false,10,10,"DefaultEAXON")
call SetSoundParamsFromLabel(udg_PI,"Hint")
call SetSoundDuration(udg_PI,2006)
set udg_QI=CreateSound("Sound\\Interface\\GoodJob.wav",false,false,false,10,10,"")
call SetSoundParamsFromLabel(udg_QI,"GoodJob")
call SetSoundDuration(udg_QI,2548)
set udg_SI=CreateSound("Sound\\Interface\\Warning.wav",false,false,false,10,10,"")
call SetSoundParamsFromLabel(udg_SI,"Warning")
call SetSoundDuration(udg_SI,1904)
set udg_TI=CreateSound("Abilities\\Spells\\Other\\ANsa\\SacrificeUnit.wav",false,true,true,10,10,"SpellsEAX")
call SetSoundParamsFromLabel(udg_TI,"SacrificeUnit")
call SetSoundDuration(udg_TI,2693)
set udg_UI=CreateSound("Units\\Orc\\HeroBladeMaster\\CriticalStrike.wav",false,true,true,10,10,"SpellsEAX")
call SetSoundParamsFromLabel(udg_UI,"CriticalStrike")
call SetSoundDuration(udg_UI,1962)
set udg_WI=CreateSound("Abilities\\Spells\\Other\\StormEarthFire\\PandarenUltimate.wav",false,true,true,25,10,"SpellsEAX")
call SetSoundParamsFromLabel(udg_WI,"StormEarthFireSound")
call SetSoundDuration(udg_WI,3251)
call SetSoundPitch(udg_WI,1.4)
set udg_YI=CreateSound("Abilities\\Spells\\Undead\\ReviveUndead\\ReviveUndead.wav",false,true,true,10,10,"SpellsEAX")
call SetSoundParamsFromLabel(udg_YI,"ReviveUndead")
call SetSoundDuration(udg_YI,3623)
set udg_ZI=CreateSound("Abilities\\Spells\\NightElf\\FaerieFire\\FaerieFireLaunch1.wav",false,true,true,10,10,"SpellsEAX")
call SetSoundParamsFromLabel(udg_ZI,"FaerieFire")
call SetSoundDuration(udg_ZI,2067)
set udg_VA=CreateSound("Abilities\\Spells\\Orc\\LightningBolt\\LightningBolt.wav",false,true,true,10,10,"SpellsEAX")
call SetSoundParamsFromLabel(udg_VA,"LightningBolt")
call SetSoundDuration(udg_VA,2136)
set udg_EA=CreateSound("Abilities\\Spells\\NightElf\\Tranquility\\Tranquility.wav",false,true,true,10,10,"SpellsEAX")
call SetSoundParamsFromLabel(udg_EA,"Tranquility")
call SetSoundDuration(udg_EA,3572)
set udg_XA=CreateSound("Abilities\\Spells\\Items\\ResourceItems\\ReceiveGold.wav",false,true,true,10,10,"SpellsEAX")
call SetSoundParamsFromLabel(udg_XA,"ReceiveGold")
call SetSoundDuration(udg_XA,589)
set udg_OA=CreateSound("Abilities\\Spells\\Human\\StormBolt\\ThunderBoltMissileDeath.wav",false,true,true,10,10,"SpellsEAX")
call SetSoundParamsFromLabel(udg_OA,"StormBolt")
call SetSoundDuration(udg_OA,2236)
set udg_RA=CreateSound("Abilities\\Spells\\Orc\\Shockwave\\Shockwave.wav",false,true,true,10,10,"SpellsEAX")
call SetSoundParamsFromLabel(udg_RA,"ShockWave")
call SetSoundDuration(udg_RA,2847)
set udg_IA=CreateSound("Sound\\Interface\\Warning.wav",false,false,false,10,10,"")
call SetSoundParamsFromLabel(udg_IA,"Warning")
call SetSoundDuration(udg_IA,1904)
set udg_SR=Rect(6272.,-3200.,6528.,-2944.)
set udg_TR=Rect(-8832.,6272.,-8064.,7040.)
set udg_UR=Rect(-4736.,6272.,-3968.,7040.)
set udg_WR=Rect(3968.,6272.,4736.,7040.)
set udg_YR=Rect(8064.,6272.,8832.,7040.)
set udg_ZR=Rect(-1568.,-6656.,1504.,-3584.)
set udg_VI=Rect(-9216.,-6656.,-3584.,7168.)
set udg_EI=Rect(3584.,-6656.,9216.,7168.)
set udg_XI=Rect(-6528.,-3200.,-6272.,-2944.)
set udg_OI=Rect(3584.,-6656.,9216.,-3072.)
set udg_RI=Rect(-9216.,-6656.,-3584.,-3072.)
set udg_II=Rect(-7168.,2336.,-5696.,6720.)
set udg_AI=Rect(5568.,2304.,7264.,6848.)
set udg_NI=Rect(-352.,-5440.,288.,-4832.)
set udg_BI=Rect(-1280.,-6176.,-1024.,-4064.)
set udg_CI=Rect(-1088.,-6400.,1056.,-6112.)
set udg_DI=Rect(1024.,-6112.,1280.,-4064.)
set udg_FI=Rect(-1024.,-4064.,1024.,-3872.)
set udg_GI=Rect(-9120.,6112.,-7808.,7072.)
set udg_HI=Rect(-5056.,6112.,-3680.,7072.)
set udg_JI=Rect(3648.,6112.,5024.,7072.)
set udg_KI=Rect(7744.,6080.,9120.,7072.)
set udg_LI=CreateCameraSetup()
call CameraSetupSetField(udg_LI,CAMERA_FIELD_ZOFFSET,.0,.0)
call CameraSetupSetField(udg_LI,CAMERA_FIELD_ROTATION,90.3,.0)
call CameraSetupSetField(udg_LI,CAMERA_FIELD_ANGLE_OF_ATTACK,327.,.0)
call CameraSetupSetField(udg_LI,CAMERA_FIELD_TARGET_DISTANCE,910.6,.0)
call CameraSetupSetField(udg_LI,CAMERA_FIELD_ROLL,.0,.0)
call CameraSetupSetField(udg_LI,CAMERA_FIELD_FIELD_OF_VIEW,90.,.0)
call CameraSetupSetField(udg_LI,CAMERA_FIELD_FARZ,10000.,.0)
call CameraSetupSetDestPosition(udg_LI,3.9,5842.8,.0)
set udg_MI=CreateCameraSetup()
call CameraSetupSetField(udg_MI,CAMERA_FIELD_ZOFFSET,.0,.0)
call CameraSetupSetField(udg_MI,CAMERA_FIELD_ROTATION,90.,.0)
call CameraSetupSetField(udg_MI,CAMERA_FIELD_ANGLE_OF_ATTACK,308.4,.0)
call CameraSetupSetField(udg_MI,CAMERA_FIELD_TARGET_DISTANCE,2500.,.0)
call CameraSetupSetField(udg_MI,CAMERA_FIELD_ROLL,.0,.0)
call CameraSetupSetField(udg_MI,CAMERA_FIELD_FIELD_OF_VIEW,90.,.0)
call CameraSetupSetField(udg_MI,CAMERA_FIELD_FARZ,10000.,.0)
call CameraSetupSetDestPosition(udg_MI,-5.1,7808.7,.0)
set p=Player(15)
set u=CreateUnit(p,'n014',-4992.,-256.,270.)
set u=CreateUnit(p,'n014',7808.,-256.,270.)
set u=CreateUnit(p,'n015',4992.,-128.,270.)
set u=CreateUnit(p,'n015',-7808.,-128.,270.)
set udg_WQ=CreateUnit(p,'ncop',8000.,-4480.,270.)
set udg_YQ=CreateUnit(p,'ncop',4800.,-4480.,270.)
set udg_BS=CreateUnit(p,'ncop',-1152.,-5696.,270.)
set udg_ZQ=CreateUnit(p,'ncop',-4800.,-4480.,270.)
set udg_VS=CreateUnit(p,'ncop',-7936.,-4480.,270.)
set udg_ES=CreateUnit(p,'ncop',-8704.,576.,270.)
set udg_PS=CreateUnit(p,'n00M',1152.,-4736.,270.)
set udg_XS=CreateUnit(p,'ncop',-4096.,576.,270.)
set udg_OS=CreateUnit(p,'ncop',4096.,576.,270.)
set udg_UQ=CreateUnit(p,'ncop',8704.,576.,270.)
set udg_QQ=CreateUnit(p,'n00M',-1152.,-3968.,270.)
set udg_YP=CreateUnit(p,'n00M',1152.,-6272.,270.)
set udg_US=CreateUnit(p,'n00M',.0,-3968.,270.)
set udg_JQ=CreateUnit(p,'ncop',-576.,-6272.,270.)
set udg_WS=CreateUnit(p,'n00M',1152.,-5120.,270.)
set udg_CQ=CreateUnit(p,'ncop',-384.,-3968.,270.)
set udg_GQ=CreateUnit(p,'ncp3',-6400.,-3072.,270.)
set udg_HQ=CreateUnit(p,'ncp3',6400.,-3072.,270.)
set u=CreateUnit(p,'n00E',-6912.,-2688.,270.)
set u=CreateUnit(p,'n00E',5888.,-2688.,270.)
set u=CreateUnit(p,'n00F',-7424.,-2688.,270.)
set u=CreateUnit(p,'n00F',5440.,-2688.,270.)
set u=CreateUnit(p,'n008',-5376.,-2688.,270.)
set u=CreateUnit(p,'n008',7424.,-2688.,270.)
set udg_GS=CreateUnit(p,'n00M',768.,-3968.,270.)
set udg_BQ=CreateUnit(p,'ncop',192.,-3968.,270.)
set udg_QS=CreateUnit(p,'n00M',1152.,-3968.,270.)
set u=CreateUnit(p,'n00V',-6400.,-2688.,270.)
set u=CreateUnit(p,'n00V',6400.,-2688.,270.)
set u=CreateUnit(p,'n00A',-5888.,-2688.,270.)
set u=CreateUnit(p,'n00A',6912.,-2688.,270.)
set udg_KS=CreateUnit(p,'n00M',1152.,-5888.,270.)
set udg_RQ=CreateUnit(p,'ncop',384.,-6272.,270.)
set udg_NQ=CreateUnit(p,'ncop',384.,-3968.,270.)
set udg_OQ=CreateUnit(p,'n00M',1152.,-5312.,270.)
set udg_IQ=CreateUnit(p,'ncop',-1152.,-4736.,270.)
set udg_LS=CreateUnit(p,'ncop',-1152.,-5888.,270.)
set udg_XQ=CreateUnit(p,'ncop',-1152.,-5312.,270.)
set udg_EQ=CreateUnit(p,'ncop',-1152.,-5504.,270.)
set udg_VQ=CreateUnit(p,'ncop',-1152.,-4544.,270.)
set udg_RS=CreateUnit(p,'ncop',-192.,-3968.,270.)
set udg_AQ=CreateUnit(p,'n00M',1152.,-5504.,270.)
set udg_MS=CreateUnit(p,'ncop',-1152.,-6080.,270.)
set udg_TQ=CreateUnit(p,'ncop',-768.,-6272.,270.)
set udg_NS=CreateUnit(p,'n00M',-576.,-3968.,270.)
set udg_TP=CreateUnit(p,'ncop',192.,-6272.,270.)
set udg_ZP=CreateUnit(p,'ncop',1152.,-4544.,270.)
set udg_PQ=CreateUnit(p,'ncop',-192.,-6272.,270.)
set udg_WP=CreateUnit(p,'ncop',-384.,-6272.,270.)
set udg_UP=CreateUnit(p,'ncop',1152.,-5696.,270.)
set udg_LP=CreateUnit(p,'ncop',-1152.,-4928.,270.)
set udg_DQ=CreateUnit(p,'ncop',768.,-6272.,270.)
set udg_IS=CreateUnit(p,'ncop',-1152.,-4352.,270.)
set udg_FQ=CreateUnit(p,'n00M',-1152.,-6272.,270.)
set udg_SQ=CreateUnit(p,'n00M',1152.,-4928.,270.)
set u=CreateUnit(p,'n02A',-4992.,-640.,270.)
set udg_DS=CreateUnit(p,'ncop',576.,-6272.,270.)
set udg_FS=CreateUnit(p,'ncop',960.,-3968.,270.)
set udg_TS=CreateUnit(p,'ncop',-768.,-3968.,270.)
set udg_CS=CreateUnit(p,'ncop',576.,-3968.,270.)
set udg_YS=CreateUnit(p,'n00M',-1152.,-5120.,270.)
set udg_JS=CreateUnit(p,'ncop',-960.,-6272.,270.)
set udg_ZS=CreateUnit(p,'n00M',.0,-6272.,270.)
set u=CreateUnit(p,'n022',-7808.,-512.,270.)
set u=CreateUnit(p,'n022',4992.,-512.,270.)
set u=CreateUnit(p,'n02A',7808.,-640.,270.)
set udg_VT=CreateUnit(p,'n00M',-1152.,-4160.,270.)
set p=Player(0)
set udg_SP=CreateUnit(p,'h000',6400.,2816.,270.)
call UnitAddItemToSlotById(udg_SP,'wcyc',0)
call UnitAddItemToSlotById(udg_SP,'wshs',1)
call UnitAddItemToSlotById(udg_SP,'woms',2)
call UnitAddItemToSlotById(udg_SP,'wlsd',3)
call UnitAddItemToSlotById(udg_SP,'I003',4)
call UnitAddItemToSlotById(udg_SP,'I00K',5)
set p=Player(1)
set udg_QP=CreateUnit(p,'h000',6400.,3328.,270.)
call UnitAddItemToSlotById(udg_QP,'wcyc',0)
call UnitAddItemToSlotById(udg_QP,'wshs',1)
call UnitAddItemToSlotById(udg_QP,'woms',2)
call UnitAddItemToSlotById(udg_QP,'wlsd',3)
call UnitAddItemToSlotById(udg_QP,'I003',4)
call UnitAddItemToSlotById(udg_QP,'I00K',5)
set p=Player(2)
set udg_PP=CreateUnit(p,'h000',6400.,3840.,270.)
call UnitAddItemToSlotById(udg_PP,'wcyc',0)
call UnitAddItemToSlotById(udg_PP,'wshs',1)
call UnitAddItemToSlotById(udg_PP,'woms',2)
call UnitAddItemToSlotById(udg_PP,'wlsd',3)
call UnitAddItemToSlotById(udg_PP,'I003',4)
call UnitAddItemToSlotById(udg_PP,'I00K',5)
set p=Player(3)
set udg_KQ=CreateUnit(p,'h000',6400.,4352.,270.)
call UnitAddItemToSlotById(udg_KQ,'wcyc',0)
call UnitAddItemToSlotById(udg_KQ,'wshs',1)
call UnitAddItemToSlotById(udg_KQ,'woms',2)
call UnitAddItemToSlotById(udg_KQ,'wlsd',3)
call UnitAddItemToSlotById(udg_KQ,'I003',4)
call UnitAddItemToSlotById(udg_KQ,'I00K',5)
set p=Player(4)
set udg_MP=CreateUnit(p,'h000',-6400.,2816.,270.)
call UnitAddItemToSlotById(udg_MP,'wcyc',0)
call UnitAddItemToSlotById(udg_MP,'wshs',1)
call UnitAddItemToSlotById(udg_MP,'woms',2)
call UnitAddItemToSlotById(udg_MP,'wlsd',3)
call UnitAddItemToSlotById(udg_MP,'I003',4)
call UnitAddItemToSlotById(udg_MP,'I00K',5)
set p=Player(5)
set udg_AS=CreateUnit(p,'h000',-6400.,3328.,270.)
call UnitAddItemToSlotById(udg_AS,'wcyc',0)
call UnitAddItemToSlotById(udg_AS,'wshs',1)
call UnitAddItemToSlotById(udg_AS,'woms',2)
call UnitAddItemToSlotById(udg_AS,'wlsd',3)
call UnitAddItemToSlotById(udg_AS,'I003',4)
call UnitAddItemToSlotById(udg_AS,'I00K',5)
set p=Player(6)
set udg_LQ=CreateUnit(p,'h000',-6400.,3840.,270.)
call UnitAddItemToSlotById(udg_LQ,'wcyc',0)
call UnitAddItemToSlotById(udg_LQ,'wshs',1)
call UnitAddItemToSlotById(udg_LQ,'woms',2)
call UnitAddItemToSlotById(udg_LQ,'wlsd',3)
call UnitAddItemToSlotById(udg_LQ,'I003',4)
call UnitAddItemToSlotById(udg_LQ,'I00K',5)
set p=Player(7)
set udg_MQ=CreateUnit(p,'h000',-6400.,4352.,270.)
call UnitAddItemToSlotById(udg_MQ,'wcyc',0)
call UnitAddItemToSlotById(udg_MQ,'wshs',1)
call UnitAddItemToSlotById(udg_MQ,'woms',2)
call UnitAddItemToSlotById(udg_MQ,'wlsd',3)
call UnitAddItemToSlotById(udg_MQ,'I003',4)
call UnitAddItemToSlotById(udg_MQ,'I00K',5)
set p=Player(15)
set u=CreateUnit(p,'E00K',-1287.7,-4354.,.0)
set u=CreateUnit(p,'E00I',1277.5,-5321.2,180.)
call SetUnitState(u,UNIT_STATE_MANA,0)
set u=CreateUnit(p,'E00J',-376.6,-6407.3,90.)
call SetUnitState(u,UNIT_STATE_MANA,0)
set u=CreateUnit(p,'E00M',1285.1,-5720.7,180.)
call SetUnitState(u,UNIT_STATE_MANA,0)
set u=CreateUnit(p,'E002',-1292.,-4549.7,.0)
call SetUnitState(u,UNIT_STATE_MANA,48)
set u=CreateUnit(p,'Nplh',-1248.5,-3842.1,214.79)
call SetHeroStr(u,6,true)
call SetHeroAgi(u,6,true)
call SetHeroInt(u,6,true)
call SetUnitState(u,UNIT_STATE_MANA,0)
set u=CreateUnit(p,'E00R',-1290.5,-5685.1,.0)
set u=CreateUnit(p,'Nplh',1245.6,-6390.5,274.08)
call SetHeroStr(u,6,true)
call SetHeroAgi(u,6,true)
call SetHeroInt(u,6,true)
call SetUnitState(u,UNIT_STATE_MANA,96)
set u=CreateUnit(p,'E000',1284.7,-4544.5,180.)
call SetUnitState(u,UNIT_STATE_MANA,0)
set u=CreateUnit(p,'E007',190.1,-3834.7,270.)
call SetUnitState(u,UNIT_STATE_MANA,0)
set u=CreateUnit(p,'E004',-762.6,-6409.6,90.)
call SetUnitState(u,UNIT_STATE_MANA,0)
set u=CreateUnit(p,'E003',-200.1,-3823.9,270.)
call SetUnitState(u,UNIT_STATE_MANA,0)
set u=CreateUnit(p,'E008',-1292.7,-4739.7,.0)
set u=CreateUnit(p,'E009',-577.9,-3833.2,270.)
call SetUnitState(u,UNIT_STATE_MANA,0)
set u=CreateUnit(p,'E00C',-573.9,-6397.5,90.)
call SetUnitState(u,UNIT_STATE_MANA,0)
set u=CreateUnit(p,'E00E',-1292.1,-5308.9,.0)
set u=CreateUnit(p,'E011',768.,-3838.1,270.)
set u=CreateUnit(p,'E00Y',1285.8,-5888.8,179.73)
set u=CreateUnit(p,'E00Q',-1294.9,-5889.5,.0)
call SetUnitState(u,UNIT_STATE_MANA,16)
set u=CreateUnit(p,'H001',-1279.6,-6088.1,.0)
set u=CreateUnit(p,'E00B',-183.5,-6407.3,90.)
call SetUnitState(u,UNIT_STATE_MANA,0)
set u=CreateUnit(p,'U00F',576.8,-3842.2,270.)
set u=CreateUnit(p,'Nplh',-1271.7,-6359.6,214.79)
call SetHeroStr(u,6,true)
call SetHeroAgi(u,14,true)
call SetHeroInt(u,6,true)
call SetUnitState(u,UNIT_STATE_MANA,96)
set u=CreateUnit(p,'E00F',-1294.6,-5489.7,.0)
set u=CreateUnit(p,'E00G',194.4,-6406.9,90.)
call SetUnitState(u,UNIT_STATE_MANA,0)
set u=CreateUnit(p,'E00S',783.,-6407.1,90.)
set u=CreateUnit(p,'E00N',387.5,-6404.9,90.)
call SetUnitState(u,UNIT_STATE_MANA,0)
set u=CreateUnit(p,'E006',383.2,-3844.6,270.)
set u=CreateUnit(p,'o00Y',3.7,-5119.7,315.37)
set u=CreateUnit(p,'E00L',1293.9,-4922.9,180.)
set u=CreateUnit(p,'E00A',1287.9,-4735.3,180.)
set u=CreateUnit(p,'E00P',-1293.7,-4930.1,.0)
call SetUnitState(u,UNIT_STATE_MANA,16)
set u=CreateUnit(p,'Nplh',1270.4,-3877.2,214.79)
call SetHeroStr(u,6,true)
call SetHeroAgi(u,6,true)
call SetHeroInt(u,6,true)
call SetUnitState(u,UNIT_STATE_MANA,96)
set u=CreateUnit(p,'E00T',1287.5,-5525.5,180.)
call SetHeroStr(u,6,true)
call SetHeroAgi(u,3,true)
call SetHeroInt(u,9,true)
set u=CreateUnit(p,'U000',580.2,-6399.2,90.)
set u=CreateUnit(p,'E00O',963.8,-3818.3,270.)
set udg_SS=CreateUnit(p,'o013',-1499.5,-3613.3,184.39)
set u=CreateUnit(p,'E00U',-764.5,-3846.2,270.)
set udg_HS=CreateUnit(p,'o011',1459.4,-3657.5,186.78)
set u=CreateUnit(p,'Nplh',-1303.6,-5117.9,214.79)
call SetHeroStr(u,6,true)
call SetHeroAgi(u,6,true)
call SetHeroInt(u,6,true)
call SetUnitState(u,UNIT_STATE_MANA,0)
set u=CreateUnit(p,'Nplh',.0,-3818.3,214.79)
call SetHeroStr(u,6,true)
call SetHeroAgi(u,6,true)
call SetHeroInt(u,6,true)
call SetUnitState(u,UNIT_STATE_MANA,0)
set u=CreateUnit(p,'E010',-959.1,-6406.5,90.)
set u=CreateUnit(p,'Nplh',11.2,-6403.4,214.79)
call SetHeroStr(u,6,true)
call SetHeroAgi(u,6,true)
call SetHeroInt(u,6,true)
call SetUnitState(u,UNIT_STATE_MANA,0)
set u=CreateUnit(p,'Nplh',1288.4,-5115.3,214.79)
call SetHeroStr(u,6,true)
call SetHeroAgi(u,6,true)
call SetHeroInt(u,6,true)
call SetUnitState(u,UNIT_STATE_MANA,0)
set u=CreateUnit(p,'N028',-389.3,-3834.6,270.)
set u=CreateUnit(p,'O016',-1290.2,-4164.3,30.76)
call ConfigureNeutralVictim()
set udg_NT=Filter(function TU)
set filterIssueHauntOrderAtLocBJ=Filter(function IssueHauntOrderAtLocBJFilter)
set filterEnumDestructablesInCircleBJ=Filter(function LT)
set filterGetUnitsInRectOfPlayer=Filter(function GetUnitsInRectOfPlayerFilter)
set filterGetUnitsOfTypeIdAll=Filter(function GetUnitsOfTypeIdAllFilter)
set filterGetUnitsOfPlayerAndTypeId=Filter(function GetUnitsOfPlayerAndTypeIdFilter)
set filterMeleeTrainedUnitIsHeroBJ=Filter(function MeleeTrainedUnitIsHeroBJFilter)
set filterLivingPlayerUnitsOfTypeId=Filter(function LivingPlayerUnitsOfTypeIdFilter)
set VGE=0
loop
exitwhen VGE==16
set bj_FORCE_PLAYER[VGE]=CreateForce()
call ForceAddPlayer(bj_FORCE_PLAYER[VGE],Player(VGE))
set VGE=VGE+1
endloop
set bj_FORCE_ALL_PLAYERS=CreateForce()
call ForceEnumPlayers(bj_FORCE_ALL_PLAYERS,null)
set bj_cineModePriorSpeed=GetGameSpeed()
set bj_cineModePriorFogSetting=IsFogEnabled()
set bj_cineModePriorMaskSetting=IsFogMaskEnabled()
set VGE=0
loop
exitwhen VGE>=bj_MAX_QUEUED_TRIGGERS
set bj_queuedExecTriggers[VGE]=null
set bj_queuedExecUseConds[VGE]=false
set VGE=VGE+1
endloop
set bj_isSinglePlayer=false
set VHE=0
set VGE=0
loop
exitwhen VGE>=12
if(GetPlayerController(Player(VGE))==MAP_CONTROL_USER and GetPlayerSlotState(Player(VGE))==PLAYER_SLOT_STATE_PLAYING)then
set VHE=VHE+1
endif
set VGE=VGE+1
endloop
set bj_isSinglePlayer=(VHE==1)
set bj_rescueSound=CreateSoundFromLabel("Rescue",false,false,false,10000,10000)
set bj_questDiscoveredSound=CreateSoundFromLabel("QuestNew",false,false,false,10000,10000)
set bj_questUpdatedSound=CreateSoundFromLabel("QuestUpdate",false,false,false,10000,10000)
set bj_questCompletedSound=CreateSoundFromLabel("QuestCompleted",false,false,false,10000,10000)
set bj_questFailedSound=CreateSoundFromLabel("QuestFailed",false,false,false,10000,10000)
set bj_questHintSound=CreateSoundFromLabel("Hint",false,false,false,10000,10000)
set bj_questSecretSound=CreateSoundFromLabel("SecretFound",false,false,false,10000,10000)
set bj_questItemAcquiredSound=CreateSoundFromLabel("ItemReward",false,false,false,10000,10000)
set bj_questWarningSound=CreateSoundFromLabel("Warning",false,false,false,10000,10000)
set bj_victoryDialogSound=CreateSoundFromLabel("QuestCompleted",false,false,false,10000,10000)
set bj_defeatDialogSound=CreateSoundFromLabel("QuestFailed",false,false,false,10000,10000)
call DelayedSuspendDecayCreate()
set v=VersionGet()
if(v==VERSION_REIGN_OF_CHAOS)then
set bj_MELEE_MAX_TWINKED_HEROES=bj_MELEE_MAX_TWINKED_HEROES_V0
else
set bj_MELEE_MAX_TWINKED_HEROES=bj_MELEE_MAX_TWINKED_HEROES_V1
endif
call InitQueuedTriggers()
call InitRescuableBehaviorBJ()
call InitDNCSounds()
call InitMapRects()
call InitSummonableCaps()
set KU=0
loop
set bj_stockAllowedPermanent[KU]=false
set bj_stockAllowedCharged[KU]=false
set bj_stockAllowedArtifact[KU]=false
set KU=KU+1
exitwhen KU>10
endloop
call SetAllItemTypeSlots(11)
call SetAllUnitTypeSlots(11)
set bj_stockUpdateTimer=CreateTimer()
call TimerStart(bj_stockUpdateTimer,bj_STOCK_RESTOCK_INITIAL_DELAY,false,function SU)
set bj_stockItemPurchased=CreateTrigger()
call TriggerRegisterPlayerUnitEvent(bj_stockItemPurchased,Player(15),EVENT_PLAYER_UNIT_SELL_ITEM,null)
call TriggerAddAction(bj_stockItemPurchased,function RemovePurchasedItem)
call DetectGameStarted()
set i=0
set udg_I=DialogCreate()
set i=0
loop
exitwhen(i>7)
set udg_N[i]=0
set i=i+1
endloop
set i=0
loop
exitwhen(i>12)
set udg_C[i]=CreateTimer()
set udg_D[i]=false
set udg_Y[i]=CreateTimer()
set i=i+1
endloop
set i=0
loop
exitwhen(i>2)
set udg_H[i]=CreateForce()
set udg_L[i]=false
set udg_EV[i]=false
set udg_BV[i]=0
set udg_DV[i]='d'
set udg_ZE[i]=false
set udg_OX[i]=CreateGroup()
set i=i+1
endloop
set i=0
loop
exitwhen(i>4)
set udg_K[i]=CreateForce()
set udg_SE[i]=0
set i=i+1
endloop
set udg_TimerUnits=CreateTimer()
set i=0
loop
exitwhen(i>6)
set udg_OV[i]=1
set i=i+1
endloop
set udg_IV=CreateGroup()
set i=0
loop
exitwhen(i>8)
set udg_CV[i]=0
set udg_KV[i]=false
set udg_LV[i]=0
set udg_PV[i]=0
set udg_EE[i]=false
set udg_XE[i]=0
set udg_OE[i]=false
set udg_RE[i]=0
set udg_IE[i]=false
set udg_AE[i]=0
set udg_NE[i]=false
set udg_BE[i]=0
set udg_GE[i]=0
set udg_QE[i]=3.2
set udg_TE[i]=false
set udg_UE[i]=0
set udg_CX[i]=100.
set udg_DX[i]=100.
set udg_FX[i]=100.
set udg_FO[i]=3
set udg_PO[i]=0
set udg_QO[i]=CreateGroup()
set udg_TO[i]=false
set udg_WO[i]=CreateTimer()
set udg_ZO[i]=CreateTimer()
set udg_VR[i]=CreateTimer()
set udg_ER[i]=CreateTimer()
set udg_XR[i]=CreateTimer()
set udg_OR[i]=0
set udg_IR[i]=0
set udg_AR[i]=0
set udg_DR[i]=0
set udg_FR[i]=0
set udg_GR[i]=0
set udg_HR[i]=0
set udg_JR[i]=CreateTimer()
set udg_KR[i]=CreateTimer()
set udg_LR[i]=false
set udg_MR[i]=false
set udg_PR[i]=CreateTimer()
set udg_QR[i]=CreateTimer()
set i=i+1
endloop
set i=0
loop
exitwhen(i>10)
set udg_FV[i]=1
set udg_MV[i]=0
set i=i+1
endloop
set udg_HV=DialogCreate()
set udg_SV=1
set i=0
loop
exitwhen(i>90)
set udg_TV[i]=false
set udg_YV[i]=0
set i=i+1
endloop
set i=0
loop
exitwhen(i>1)
set udg_UV[i]=0
set i=i+1
endloop
set udg_FE=CreateGroup()
set udg_AX=CreateGroup()
set udg_NX=CreateGroup()
set udg_JX=CreateGroup()
set udg_PX=CreateGroup()
set udg_TX=CreateGroup()
set udg_UX=CreateGroup()
set udg_ZX=CreateGroup()
set udg_RO=CreateGroup()
set udg_IO=CreateGroup()
set udg_BO=DialogCreate()
set udg_AA=CreateTrigger()
call TriggerAddAction(udg_AA,function EW)
set udg_NA=CreateTrigger()
call TriggerRegisterDialogEvent(udg_NA,udg_BO)
call TriggerAddAction(udg_NA,function AW)
set udg_BA=CreateTrigger()
call TriggerRegisterDialogEvent(udg_BA,udg_I)
call TriggerAddAction(udg_BA,function HW)
set udg_CA=CreateTrigger()
call DisableTrigger(udg_CA)
call TriggerAddAction(udg_CA,function JW)
set udg_DA=CreateTrigger()
call DisableTrigger(udg_DA)
call TriggerAddAction(udg_DA,function UW)
set udg_FA=CreateTrigger()
call DisableTrigger(udg_FA)
call TriggerAddAction(udg_FA,function RY)
set udg_GA=CreateTrigger()
call DisableTrigger(udg_GA)
call TriggerRegisterPlayerChatEvent(udg_GA,Player(0),"-set ",false)
call TriggerAddAction(udg_GA,function FY)
set udg_HA=CreateTrigger()
call DisableTrigger(udg_HA)
call TriggerAddAction(udg_HA,function GY)
set udg_JA=CreateTrigger()
call DisableTrigger(udg_JA)
call TriggerAddAction(udg_JA,function HY)
set udg_KA=CreateTrigger()
call DisableTrigger(udg_KA)
call TriggerAddAction(udg_KA,function JY)
set udg_LA=CreateTrigger()
call DisableTrigger(udg_LA)
call TriggerAddAction(udg_LA,function KY)
set udg_MA=CreateTrigger()
call DisableTrigger(udg_MA)
call TriggerAddAction(udg_MA,function LY)
set udg_PA=CreateTrigger()
call DisableTrigger(udg_PA)
call TriggerAddAction(udg_PA,function MY)
set udg_QA=CreateTrigger()
call DisableTrigger(udg_QA)
call TriggerAddAction(udg_QA,function PY)
set udg_SA=CreateTrigger()
call TriggerRegisterTimerEventSingle(udg_SA,25.)
call TriggerAddAction(udg_SA,function QY)
set udg_TA=CreateTrigger()
call TriggerAddAction(udg_TA,function SY)
set udg_UA=CreateTrigger()
call TriggerAddAction(udg_UA,function TY)
set udg_WA=CreateTrigger()
call TriggerAddCondition(udg_WA,Condition(function UY))
call TriggerAddAction(udg_WA,function WY)
set udg_YA=CreateTrigger()
call TriggerAddAction(udg_YA,function YY)
set udg_ZA=CreateTrigger()
call TriggerAddCondition(udg_ZA,Condition(function VZ))
call TriggerAddAction(udg_ZA,function JZ)
set udg_VN=CreateTrigger()
call TriggerAddAction(udg_VN,function YZ)
set udg_EN=CreateTrigger()
call DisableTrigger(udg_EN)
call TriggerAddAction(udg_EN,function E0)
set udg_XN=CreateTrigger()
call DisableTrigger(udg_XN)
call TriggerAddAction(udg_XN,function R0)
set udg_ON=CreateTrigger()
call DisableTrigger(udg_ON)
call TriggerAddAction(udg_ON,function C0)
set udg_RN=CreateTrigger()
call DisableTrigger(udg_RN)
call TriggerAddAction(udg_RN,function K0)
set udg_IN=CreateTrigger()
call TriggerRegisterTimerEventPeriodic(udg_IN,1.)
call TriggerAddAction(udg_IN,function L0)
set udg_AN=CreateTrigger()
call TriggerAddAction(udg_AN,function S0)
set udg_NN=CreateTrigger()
call DisableTrigger(udg_NN)
call TriggerAddAction(udg_NN,function I1)
set udg_BN=CreateTrigger()
call DisableTrigger(udg_BN)
call TriggerAddAction(udg_BN,function B1)
set udg_CN=CreateTrigger()
call DisableTrigger(udg_CN)
call TriggerAddAction(udg_CN,function F1)
set udg_DN=CreateTrigger()
call DisableTrigger(udg_DN)
call TriggerAddAction(udg_DN,function G1)
set udg_FN=CreateTrigger()
call DisableTrigger(udg_FN)
call TriggerRegisterTimerEventPeriodic(udg_FN,.71)
call TriggerAddAction(udg_FN,function M1)
set udg_GN=CreateTrigger()
call DisableTrigger(udg_GN)
call TriggerRegisterTimerEventPeriodic(udg_GN,.71)
call TriggerAddAction(udg_GN,function U1)
set udg_HN=CreateTrigger()
call DisableTrigger(udg_HN)
call TriggerAddCondition(udg_HN,Condition(function W1))
call TriggerAddAction(udg_HN,function C2)
set udg_JN=CreateTrigger()
call DisableTrigger(udg_JN)
call TriggerAddAction(udg_JN,function L2)
set udg_KN=CreateTrigger()
call DisableTrigger(udg_KN)
call TriggerAddAction(udg_KN,function W2)
set udg_LN=CreateTrigger()
call DisableTrigger(udg_LN)
call TriggerAddCondition(udg_LN,Condition(function Y2))
call TriggerAddAction(udg_LN,N3)
set udg_MN=CreateTrigger()
call DisableTrigger(udg_MN)
call TriggerAddAction(udg_MN,function M3)
set udg_PN=CreateTrigger()
call DisableTrigger(udg_PN)
call TriggerAddAction(udg_PN,function Y3)
set udg_QN=CreateTrigger()
call DisableTrigger(udg_QN)
call TriggerAddCondition(udg_QN,Condition(function V4))
call TriggerAddAction(udg_QN,function E4)
set udg_SN=CreateTrigger()
call DisableTrigger(udg_SN)
call TriggerAddCondition(udg_SN,Condition(function X4))
call TriggerAddAction(udg_SN,function I4)
set udg_TN=CreateTrigger()
call DisableTrigger(udg_TN)
call TriggerAddCondition(udg_TN,Condition(function A4))
call TriggerAddAction(udg_TN,function C4)
set udg_UN=CreateTrigger()
call DisableTrigger(udg_UN)
call TriggerAddCondition(udg_UN,Condition(function F4))
call TriggerAddAction(udg_UN,function G4)
set udg_WN=CreateTrigger()
call DisableTrigger(udg_WN)
call TriggerAddCondition(udg_WN,Condition(function H4))
call TriggerAddAction(udg_WN,function L4)
set udg_YN=CreateTrigger()
call DisableTrigger(udg_YN)
call TriggerAddCondition(udg_YN,Condition(function M4))
call TriggerAddAction(udg_YN,function S4)
set udg_ZN=CreateTrigger()
call DisableTrigger(udg_ZN)
call TriggerAddAction(udg_ZN,function T4)
set udg_VB=CreateTrigger()
call DisableTrigger(udg_VB)
call TriggerAddAction(udg_VB,function V5)
set udg_EB=CreateTrigger()
call DisableTrigger(udg_EB)
call TriggerAddAction(udg_EB,function C5)
set udg_XB=CreateTrigger()
call DisableTrigger(udg_XB)
call TriggerAddAction(udg_XB,function D5)
set udg_OB=CreateTrigger()
call DisableTrigger(udg_OB)
call TriggerAddAction(udg_OB,function G5)
set udg_RB=CreateTrigger()
call DisableTrigger(udg_RB)
call TriggerAddAction(udg_RB,function H5)
set udg_IB=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_IB,80.,udg_FQ)
call TriggerRegisterUnitInRangeSimple(udg_IB,80.,udg_QQ)
call TriggerRegisterUnitInRangeSimple(udg_IB,80.,udg_YP)
call TriggerRegisterUnitInRangeSimple(udg_IB,80.,udg_QS)
call TriggerAddCondition(udg_IB,Condition(function J5))
call TriggerAddAction(udg_IB,function L5)
set udg_AB=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_AB,80.,udg_ZS)
call TriggerAddCondition(udg_AB,Condition(function M5))
call TriggerAddAction(udg_AB,function Q5)
set udg_NB=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_NB,80.,udg_US)
call TriggerAddCondition(udg_NB,Condition(function S5))
call TriggerAddAction(udg_NB,function U5)
set udg_BB=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_BB,80.,udg_YS)
call TriggerAddCondition(udg_BB,Condition(function W5))
call TriggerAddAction(udg_BB,function Z5)
set udg_CB=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_CB,80.,udg_WS)
call TriggerAddCondition(udg_CB,Condition(function V6))
call TriggerAddAction(udg_CB,function X6)
set udg_DB=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_DB,80.,udg_GS)
call TriggerAddCondition(udg_DB,Condition(function O6))
call TriggerAddAction(udg_DB,function A6)
set udg_FB=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_FB,80.,udg_BS)
call TriggerAddCondition(udg_FB,Condition(function N6))
call TriggerAddAction(udg_FB,function C6)
set udg_GB=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_GB,80.,udg_VT)
call TriggerAddCondition(udg_GB,Condition(function D6))
call TriggerAddAction(udg_GB,function G6)
set udg_HB=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_HB,80.,udg_TS)
call TriggerAddCondition(udg_HB,Condition(function H6))
call TriggerAddAction(udg_HB,function K6)
set udg_JB=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_JB,80.,udg_DQ)
call TriggerAddCondition(udg_JB,Condition(function L6))
call TriggerAddAction(udg_JB,function P6)
set udg_KB=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_KB,80.,udg_KS)
call TriggerAddCondition(udg_KB,Condition(function Q6))
call TriggerAddAction(udg_KB,function U6)
set udg_LB=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_LB,80.,udg_CS)
call TriggerAddCondition(udg_LB,Condition(function W6))
call TriggerAddAction(udg_LB,function Z6)
set udg_MB=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_MB,80.,udg_MS)
call TriggerAddCondition(udg_MB,Condition(function V7))
call TriggerAddAction(udg_MB,function X7)
set udg_PB=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_PB,80.,udg_XQ)
call TriggerAddCondition(udg_PB,Condition(function O7))
call TriggerAddAction(udg_PB,function I7)
set udg_QB=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_QB,80.,udg_LS)
call TriggerAddCondition(udg_QB,Condition(function A7))
call TriggerAddAction(udg_QB,function B7)
set udg_SB=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_SB,80.,udg_JS)
call TriggerAddCondition(udg_SB,Condition(function C7))
call TriggerAddAction(udg_SB,function F7)
set udg_TB=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_TB,80.,udg_FS)
call TriggerAddCondition(udg_TB,Condition(function G7))
call TriggerAddAction(udg_TB,function J7)
set udg_UB=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_UB,80.,udg_DS)
call TriggerAddCondition(udg_UB,Condition(function K7))
call TriggerAddAction(udg_UB,function M7)
set udg_WB=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_WB,80.,udg_TP)
call TriggerAddCondition(udg_WB,Condition(function P7))
call TriggerAddAction(udg_WB,function S7)
set udg_YB=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_YB,80.,udg_VQ)
call TriggerAddCondition(udg_YB,Condition(function T7))
call TriggerAddAction(udg_YB,function W7)
set udg_ZB=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_ZB,80.,udg_SQ)
call TriggerAddCondition(udg_ZB,Condition(function Y7))
call TriggerAddAction(udg_ZB,function V8)
set udg_VC=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_VC,80.,udg_UP)
call TriggerAddCondition(udg_VC,Condition(function E8))
call TriggerAddAction(udg_VC,function O8)
set udg_EC=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_EC,80.,udg_RS)
call TriggerAddCondition(udg_EC,Condition(function R8))
call TriggerAddAction(udg_EC,function A8)
set udg_XC=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_XC,80.,udg_NQ)
call TriggerAddCondition(udg_XC,Condition(function N8))
call TriggerAddAction(udg_XC,function C8)
set udg_OC=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_OC,80.,udg_ZP)
call TriggerAddCondition(udg_OC,Condition(function D8))
call TriggerAddAction(udg_OC,function G8)
set udg_RC=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_RC,80.,udg_BQ)
call TriggerAddCondition(udg_RC,Condition(function H8))
call TriggerAddAction(udg_RC,function K8)
set udg_IC=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_IC,80.,udg_TQ)
call TriggerAddCondition(udg_IC,Condition(function L8))
call TriggerAddAction(udg_IC,function P8)
set udg_AC=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_AC,80.,udg_IS)
call TriggerAddCondition(udg_AC,Condition(function Q8))
call TriggerAddAction(udg_AC,function T8)
set udg_NC=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_NC,80.,udg_PS)
call TriggerAddCondition(udg_NC,Condition(function U8))
call TriggerAddAction(udg_NC,function Y8)
set udg_BC=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_BC,80.,udg_PQ)
call TriggerAddCondition(udg_BC,Condition(function Z8))
call TriggerAddAction(udg_BC,function VEV)
set udg_CC=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_CC,80.,udg_JQ)
call TriggerAddCondition(udg_CC,Condition(function VXV))
call TriggerAddAction(udg_CC,function VRV)
set udg_DC=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_DC,80.,udg_IQ)
call TriggerAddCondition(udg_DC,Condition(function VIV))
call TriggerAddAction(udg_DC,function VNV)
set udg_FC=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_FC,80.,udg_CQ)
call TriggerAddCondition(udg_FC,Condition(function VBV))
call TriggerAddAction(udg_FC,function VDV)
set udg_GC=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_GC,80.,udg_EQ)
call TriggerAddCondition(udg_GC,Condition(function VFV))
call TriggerAddAction(udg_GC,function VHV)
set udg_HC=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_HC,80.,udg_RQ)
call TriggerAddCondition(udg_HC,Condition(function VJV))
call TriggerAddAction(udg_HC,function VLV)
set udg_JC=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_JC,80.,udg_NS)
call TriggerAddCondition(udg_JC,Condition(function VMV))
call TriggerAddAction(udg_JC,function VQV)
set udg_KC=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_KC,80.,udg_OQ)
call TriggerAddCondition(udg_KC,Condition(function VSV))
call TriggerAddAction(udg_KC,function VUV)
set udg_LC=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_LC,80.,udg_WP)
call TriggerAddCondition(udg_LC,Condition(function VWV))
call TriggerAddAction(udg_LC,function VZV)
set udg_MC=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_MC,80.,udg_LP)
call TriggerAddCondition(udg_MC,Condition(function V_V))
call TriggerAddAction(udg_MC,function V1V)
set udg_PC1=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_PC1,80.,udg_AQ)
call TriggerAddCondition(udg_PC1,Condition(function V2V))
call TriggerAddAction(udg_PC1,function V4V)
set udg_QC=CreateTrigger()
call DisableTrigger(udg_QC)
call TriggerAddAction(udg_QC,function V7V)
set udg_SC=CreateTrigger()
call DisableTrigger(udg_SC)
call TriggerRegisterTimerEventPeriodic(udg_SC,1.)
call TriggerAddAction(udg_SC,function EIV)
set udg_TC=CreateTrigger()
call DisableTrigger(udg_TC)
call TriggerAddAction(udg_TC,function EBV)
set udg_UC=CreateTrigger()
call DisableTrigger(udg_UC)
call TriggerRegisterTimerEventPeriodic(udg_UC,1.)
call TriggerAddAction(udg_UC,function ELV)
set udg_WC=CreateTrigger()
call DisableTrigger(udg_WC)
call TriggerAddAction(udg_WC,function EQV)
set udg_YC=CreateTrigger()
call DisableTrigger(udg_YC)
call TriggerRegisterTimerEventPeriodic(udg_YC,1.)
call TriggerAddAction(udg_YC,function E0V)
set udg_ZC=CreateTrigger()
call DisableTrigger(udg_ZC)
call TriggerAddAction(udg_ZC,function E3V)
set udg_VD=CreateTrigger()
call DisableTrigger(udg_VD)
call TriggerRegisterTimerEventPeriodic(udg_VD,1.)
call TriggerAddAction(udg_VD,function XEV)
set udg_ED=CreateTrigger()
call DisableTrigger(udg_ED)
call TriggerAddAction(udg_ED,function XRV)
set udg_XD=CreateTrigger()
call DisableTrigger(udg_XD)
call TriggerRegisterTimerEventPeriodic(udg_XD,1.)
call TriggerAddAction(udg_XD,function XFV)
set udg_OD=CreateTrigger()
call DisableTrigger(udg_OD)
call TriggerAddAction(udg_OD,function XHV)
set udg_RD=CreateTrigger()
call DisableTrigger(udg_RD)
call TriggerAddAction(udg_RD,function XLV)
set udg_ID=CreateTrigger()
call DisableTrigger(udg_ID)
call TriggerRegisterTimerEventPeriodic(udg_ID,1.)
call TriggerAddAction(udg_ID,function XWV)
set udg_AD=CreateTrigger()
call DisableTrigger(udg_AD)
call TriggerAddAction(udg_AD,function XZV)
set udg_ND=CreateTrigger()
call DisableTrigger(udg_ND)
call TriggerAddAction(udg_ND,function X1V)
set udg_BD=CreateTrigger()
call DisableTrigger(udg_BD)
call TriggerRegisterTimerEventPeriodic(udg_BD,1.)
call TriggerAddAction(udg_BD,function X8V)
set udg_CD=CreateTrigger()
call DisableTrigger(udg_CD)
call TriggerAddAction(udg_CD,function OVV)
set udg_DD=CreateTrigger()
call DisableTrigger(udg_DD)
call TriggerAddAction(udg_DD,function OOV)
set udg_FD=CreateTrigger()
call DisableTrigger(udg_FD)
call TriggerRegisterTimerEventPeriodic(udg_FD,1.)
call TriggerAddAction(udg_FD,function ODV)
set udg_GD=CreateTrigger()
call DisableTrigger(udg_GD)
call TriggerAddAction(udg_GD,function OGV)
set udg_HD=CreateTrigger()
call TriggerAddCondition(udg_HD,Condition(function OHV))
call TriggerAddAction(udg_HD,function OJV)
set udg_JD=CreateTrigger()
call TriggerAddCondition(udg_JD,Condition(function OKV))
call TriggerAddAction(udg_JD,function OMV)
set udg_KD=CreateTrigger()
call TriggerAddCondition(udg_KD,Condition(function OPV))
call TriggerAddAction(udg_KD,function OUV)
set udg_LD=CreateTrigger()
call TriggerAddCondition(udg_LD,Condition(function OYV))
call TriggerAddAction(udg_LD,function OZV)
set udg_MD=CreateTrigger()
call TriggerAddCondition(udg_MD,Condition(function O_V))
call TriggerAddAction(udg_MD,function O3V)
set udg_PD=CreateTrigger()
call TriggerAddCondition(udg_PD,Condition(function O4V))
call TriggerAddAction(udg_PD,function O6V)
set udg_QD=CreateTrigger()
call TriggerAddCondition(udg_QD,Condition(function O7V))
call TriggerAddAction(udg_QD,function O8V)
set udg_SD=CreateTrigger()
call TriggerAddCondition(udg_SD,Condition(function O9V))
call TriggerAddAction(udg_SD,function RVV)
set udg_TD=CreateTrigger()
call TriggerAddCondition(udg_TD,Condition(function REV))
call TriggerAddAction(udg_TD,function RXV)
set udg_UD=CreateTrigger()
call TriggerAddCondition(udg_UD,Condition(function ROV))
call TriggerAddAction(udg_UD,function RRV)
set udg_WD=CreateTrigger()
call TriggerAddCondition(udg_WD,Condition(function RIV))
call TriggerAddAction(udg_WD,function RAV)
set udg_YD=CreateTrigger()
call TriggerAddCondition(udg_YD,Condition(function RNV))
call TriggerAddAction(udg_YD,function RBV)
set udg_ZD=CreateTrigger()
call TriggerAddCondition(udg_ZD,Condition(function RCV))
call TriggerAddAction(udg_ZD,function RDV)
set udg_VF=CreateTrigger()
call TriggerAddCondition(udg_VF,Condition(function RFV))
call TriggerAddAction(udg_VF,function RGV)
set udg_EF=CreateTrigger()
call TriggerAddCondition(udg_EF,Condition(function RHV))
call TriggerAddAction(udg_EF,function RKV)
set udg_XF=CreateTrigger()
call TriggerAddCondition(udg_XF,Condition(function RLV))
call TriggerAddAction(udg_XF,function RQV)
set udg_OF=CreateTrigger()
call TriggerAddCondition(udg_OF,Condition(function RSV))
call TriggerAddAction(udg_OF,function RWV)
set udg_RF=CreateTrigger()
call TriggerAddCondition(udg_RF,Condition(function RYV))
call TriggerAddAction(udg_RF,function R1V)
set udg_IF=CreateTrigger()
call TriggerAddCondition(udg_IF,Condition(function R2V))
call TriggerAddAction(udg_IF,function R3V)
set udg_AF=CreateTrigger()
call TriggerAddCondition(udg_AF,Condition(function R6V))
call TriggerAddAction(udg_AF,function R7V)
set udg_NF=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_NF,EVENT_PLAYER_UNIT_SUMMON)
call TriggerAddCondition(udg_NF,Condition(function R8V))
call TriggerAddAction(udg_NF,function R9V)
set udg_BF=CreateTrigger()
call TriggerAddCondition(udg_BF,Condition(function IVV))
call TriggerAddAction(udg_BF,function IFV)
set udg_CF=CreateTrigger()
call TriggerAddCondition(udg_CF,Condition(function IGV))
call TriggerAddAction(udg_CF,function ILV)
set udg_DF=CreateTrigger()
call TriggerAddCondition(udg_DF,Condition(function IMV))
call TriggerAddAction(udg_DF,function IQV)
set udg_FF=CreateTrigger()
call TriggerAddCondition(udg_FF,Condition(function ISV))
call TriggerAddAction(udg_FF,function ITV)
set udg_GF=CreateTrigger()
call TriggerAddCondition(udg_GF,Condition(function IUV))
call TriggerAddAction(udg_GF,function IYV)
set udg_HF=CreateTrigger()
call DisableTrigger(udg_HF)
call TriggerAddAction(udg_HF,function I9V)
set udg_JF=CreateTrigger()
call DisableTrigger(udg_JF)
call TriggerAddAction(udg_JF,function AFV)
set udg_KF=CreateTrigger()
call DisableTrigger(udg_KF)
call TriggerAddAction(udg_KF,function ALV)
set udg_LF=CreateTrigger()
call TriggerAddCondition(udg_LF,Condition(function APV))
call TriggerAddAction(udg_LF,function ASV)
set udg_MF=CreateTrigger()
call TriggerAddCondition(udg_MF,Condition(function ATV))
call TriggerAddAction(udg_MF,function AWV)
set udg_PF=CreateTrigger()
call TriggerAddCondition(udg_PF,Condition(function AYV))
call TriggerAddAction(udg_PF,function A1V)
set udg_QF=CreateTrigger()
call TriggerAddCondition(udg_QF,Condition(function A2V))
call TriggerAddAction(udg_QF,function NOV)
set udg_SF=CreateTrigger()
call TriggerAddCondition(udg_SF,Condition(function NRV))
call TriggerAddAction(udg_SF,function NAV)
set udg_TF=CreateTrigger()
call TriggerAddCondition(udg_TF,Condition(function NNV))
call TriggerAddAction(udg_TF,function NHV)
set udg_UF=CreateTrigger()
call TriggerAddCondition(udg_UF,Condition(function NJV))
call TriggerAddAction(udg_UF,function NKV)
set udg_WF=CreateTrigger()
call TriggerAddCondition(udg_WF,Condition(function NLV))
call TriggerAddAction(udg_WF,function NMV)
set udg_YF=CreateTrigger()
call TriggerAddCondition(udg_YF,Condition(function NPV))
call TriggerAddAction(udg_YF,function NQV)
set udg_ZF=CreateTrigger()
call TriggerAddCondition(udg_ZF,Condition(function NSV))
call TriggerAddAction(udg_ZF,function NTV)
set udg_VG=CreateTrigger()
call TriggerAddCondition(udg_VG,Condition(function NUV))
call TriggerAddAction(udg_VG,function NWV)
set udg_EG=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_EG,EVENT_PLAYER_UNIT_SUMMON)
call TriggerAddCondition(udg_EG,Condition(function NYV))
call TriggerAddAction(udg_EG,function NZV)
set udg_XG=CreateTrigger()
call TriggerAddCondition(udg_XG,Condition(function N_V))
call TriggerAddAction(udg_XG,function N0V)
set udg_OG=CreateTrigger()
call TriggerAddCondition(udg_OG,Condition(function N1V))
call TriggerAddAction(udg_OG,function N3V)
set udg_RG=CreateTrigger()
call TriggerAddCondition(udg_RG,Condition(function N4V))
call TriggerAddAction(udg_RG,function N5V)
set udg_IG=CreateTrigger()
call TriggerAddCondition(udg_IG,Condition(function N6V))
call TriggerAddAction(udg_IG,function N8V)
set udg_AG=CreateTrigger()
call TriggerAddCondition(udg_AG,Condition(function BOV))
call TriggerAddAction(udg_AG,function BRV)
set udg_NG=CreateTrigger()
call TriggerAddCondition(udg_NG,Condition(function BIV))
call TriggerAddAction(udg_NG,function BAV)
set udg_BG=CreateTrigger()
call TriggerAddCondition(udg_BG,Condition(function BNV))
call TriggerAddAction(udg_BG,function BDV)
set udg_CG=CreateTrigger()
call TriggerAddCondition(udg_CG,Condition(function BFV))
call TriggerAddAction(udg_CG,function BHV)
set udg_DG=CreateTrigger()
call TriggerAddCondition(udg_DG,Condition(function BJV))
call TriggerAddAction(udg_DG,function BKV)
set udg_FG=CreateTrigger()
call TriggerAddCondition(udg_FG,Condition(function BLV))
call TriggerAddAction(udg_FG,function BTV)
set udg_GG=CreateTrigger()
call TriggerAddCondition(udg_GG,Condition(function BUV))
call TriggerAddAction(udg_GG,function B0V)
set udg_HG=CreateTrigger()
call TriggerAddCondition(udg_HG,Condition(function B1V))
call TriggerAddAction(udg_HG,function B2V)
set udg_JG=CreateTrigger()
call TriggerAddCondition(udg_JG,Condition(function B3V))
call TriggerAddAction(udg_JG,function B5V)
set udg_KG=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_KG,EVENT_PLAYER_UNIT_SUMMON)
call TriggerAddCondition(udg_KG,Condition(function B6V))
call TriggerAddAction(udg_KG,function B9V)
set udg_LG=CreateTrigger()
call TriggerAddCondition(udg_LG,Condition(function CVV))
call TriggerAddAction(udg_LG,function COV)
set udg_MG=CreateTrigger()
call TriggerAddCondition(udg_MG,Condition(function CRV))
call TriggerAddAction(udg_MG,function CNV)
set udg_PG=CreateTrigger()
call TriggerAddCondition(udg_PG,Condition(function CBV))
call TriggerAddAction(udg_PG,function CHV)
set udg_QG=CreateTrigger()
call TriggerAddCondition(udg_QG,Condition(function CJV))
call TriggerAddAction(udg_QG,function CKV)
set udg_SG=CreateTrigger()
call TriggerAddCondition(udg_SG,Condition(function CLV))
call TriggerAddAction(udg_SG,function CTV)
set udg_TG=CreateTrigger()
call TriggerAddCondition(udg_TG,Condition(function CUV))
call TriggerAddAction(udg_TG,function C_V)
set udg_UG=CreateTrigger()
call TriggerAddCondition(udg_UG,Condition(function C0V))
call TriggerAddAction(udg_UG,function C9V)
set udg_WG=CreateTrigger()
call TriggerAddCondition(udg_WG,Condition(function DVV))
call TriggerAddAction(udg_WG,function DDV)
set udg_YG=CreateTrigger()
call TriggerAddCondition(udg_YG,Condition(function DFV))
call TriggerAddAction(udg_YG,function D4V)
set udg_ZG=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_ZG,EVENT_PLAYER_UNIT_SUMMON)
call TriggerAddCondition(udg_ZG,Condition(function D5V))
call TriggerAddAction(udg_ZG,function D7V)
set udg_VH=CreateTrigger()
call TriggerAddAction(udg_VH,function FEV)
set udg_EH=CreateTrigger()
call TriggerAddCondition(udg_EH,Condition(function FXV))
call TriggerAddAction(udg_EH,function FAV)
set udg_XH=CreateTrigger()
call TriggerRegisterTimerExpireEvent(udg_XH,udg_JR[1])
call TriggerAddAction(udg_XH,function FNV)
set udg_OH=CreateTrigger()
call TriggerRegisterTimerExpireEvent(udg_OH,udg_JR[2])
call TriggerAddAction(udg_OH,function FBV)
set udg_RH=CreateTrigger()
call TriggerRegisterTimerExpireEvent(udg_RH,udg_JR[3])
call TriggerAddAction(udg_RH,function FCV)
set udg_IH=CreateTrigger()
call TriggerRegisterTimerExpireEvent(udg_IH,udg_JR[4])
call TriggerAddAction(udg_IH,function FDV)
set udg_AH=CreateTrigger()
call TriggerRegisterTimerExpireEvent(udg_AH,udg_JR[5])
call TriggerAddAction(udg_AH,function FFV)
set udg_NH=CreateTrigger()
call TriggerRegisterTimerExpireEvent(udg_NH,udg_JR[6])
call TriggerAddAction(udg_NH,function FGV)
set udg_BH=CreateTrigger()
call TriggerRegisterTimerExpireEvent(udg_BH,udg_JR[7])
call TriggerAddAction(udg_BH,function FHV)
set udg_CH=CreateTrigger()
call TriggerRegisterTimerExpireEvent(udg_CH,udg_JR[8])
call TriggerAddAction(udg_CH,function FJV)
set udg_DH=CreateTrigger()
call TriggerRegisterTimerExpireEvent(udg_DH,udg_KR[1])
call TriggerAddAction(udg_DH,function FKV)
set udg_FH=CreateTrigger()
call TriggerRegisterTimerExpireEvent(udg_FH,udg_KR[2])
call TriggerAddAction(udg_FH,function FLV)
set udg_GH=CreateTrigger()
call TriggerRegisterTimerExpireEvent(udg_GH,udg_KR[3])
call TriggerAddAction(udg_GH,function FMV)
set udg_HH=CreateTrigger()
call TriggerRegisterTimerExpireEvent(udg_HH,udg_KR[4])
call TriggerAddAction(udg_HH,function FPV)
set udg_JH=CreateTrigger()
call TriggerRegisterTimerExpireEvent(udg_JH,udg_KR[5])
call TriggerAddAction(udg_JH,function FQV)
set udg_KH=CreateTrigger()
call TriggerRegisterTimerExpireEvent(udg_KH,udg_KR[6])
call TriggerAddAction(udg_KH,function FSV)
set udg_LH=CreateTrigger()
call TriggerRegisterTimerExpireEvent(udg_LH,udg_KR[7])
call TriggerAddAction(udg_LH,function FTV)
set udg_MH=CreateTrigger()
call TriggerRegisterTimerExpireEvent(udg_MH,udg_KR[8])
call TriggerAddAction(udg_MH,function FUV)
set udg_PH=CreateTrigger()
call TriggerRegisterTimerExpireEvent(udg_PH,udg_PR[1])
call TriggerAddAction(udg_PH,function FWV)
set udg_QH=CreateTrigger()
call TriggerRegisterTimerExpireEvent(udg_QH,udg_PR[2])
call TriggerAddAction(udg_QH,function FYV)
set udg_SH=CreateTrigger()
call TriggerRegisterTimerExpireEvent(udg_SH,udg_PR[3])
call TriggerAddAction(udg_SH,function FZV)
set udg_TH=CreateTrigger()
call TriggerRegisterTimerExpireEvent(udg_TH,udg_PR[4])
call TriggerAddAction(udg_TH,function F_V)
set udg_UH=CreateTrigger()
call TriggerRegisterTimerExpireEvent(udg_UH,udg_PR[5])
call TriggerAddAction(udg_UH,function F0V)
set udg_WH=CreateTrigger()
call TriggerRegisterTimerExpireEvent(udg_WH,udg_PR[6])
call TriggerAddAction(udg_WH,function F1V)
set udg_YH=CreateTrigger()
call TriggerRegisterTimerExpireEvent(udg_YH,udg_PR[7])
call TriggerAddAction(udg_YH,function F2V)
set udg_ZH=CreateTrigger()
call TriggerRegisterTimerExpireEvent(udg_ZH,udg_PR[8])
call TriggerAddAction(udg_ZH,function F3V)
set udg_VJ=CreateTrigger()
call TriggerRegisterTimerExpireEvent(udg_VJ,udg_QR[1])
call TriggerAddAction(udg_VJ,function F4V)
set udg_EJ=CreateTrigger()
call TriggerRegisterTimerExpireEvent(udg_EJ,udg_QR[2])
call TriggerAddAction(udg_EJ,function F5V)
set udg_XJ=CreateTrigger()
call TriggerRegisterTimerExpireEvent(udg_XJ,udg_QR[3])
call TriggerAddAction(udg_XJ,function F6V)
set udg_OJ=CreateTrigger()
call TriggerRegisterTimerExpireEvent(udg_OJ,udg_QR[4])
call TriggerAddAction(udg_OJ,function F7V)
set udg_RJ=CreateTrigger()
call TriggerRegisterTimerExpireEvent(udg_RJ,udg_QR[5])
call TriggerAddAction(udg_RJ,function F8V)
set udg_IJ=CreateTrigger()
call TriggerRegisterTimerExpireEvent(udg_IJ,udg_QR[6])
call TriggerAddAction(udg_IJ,function F9V)
set udg_AJ=CreateTrigger()
call TriggerRegisterTimerExpireEvent(udg_AJ,udg_QR[7])
call TriggerAddAction(udg_AJ,function GVV)
set udg_NJ=CreateTrigger()
call TriggerRegisterTimerExpireEvent(udg_NJ,udg_QR[8])
call TriggerAddAction(udg_NJ,function GEV)
set udg_BJ=CreateTrigger()
call TriggerAddAction(udg_BJ,function GAV)
set udg_CJ=CreateTrigger()
call TriggerAddCondition(udg_CJ,Condition(function GNV))
call TriggerAddAction(udg_CJ,function GBV)
set udg_DJ=CreateTrigger()
call TriggerAddCondition(udg_DJ,Condition(function GCV))
call TriggerAddAction(udg_DJ,function GDV)
set udg_FJ=CreateTrigger()
call TriggerAddCondition(udg_FJ,Condition(function GFV))
call TriggerAddAction(udg_FJ,function GLV)
set udg_GJ=CreateTrigger()
call TriggerAddCondition(udg_GJ,Condition(function GMV))
call TriggerAddAction(udg_GJ,function GUV)
set udg_HJ=CreateTrigger()
call TriggerAddCondition(udg_HJ,Condition(function GWV))
call TriggerAddAction(udg_HJ,function GZV)
set udg_JJ=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_JJ,EVENT_PLAYER_UNIT_SPELL_CAST)
call TriggerAddCondition(udg_JJ,Condition(function G_V))
call TriggerAddAction(udg_JJ,function G0V)
set udg_KJ=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_KJ,EVENT_PLAYER_UNIT_SPELL_CAST)
call TriggerAddCondition(udg_KJ,Condition(function G1V))
call TriggerAddAction(udg_KJ,function G2V)
set udg_LJ=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_LJ,EVENT_PLAYER_UNIT_SPELL_CAST)
call TriggerAddCondition(udg_LJ,Condition(function G4V))
call TriggerAddAction(udg_LJ,function G6V)
set udg_MJ=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_MJ,EVENT_PLAYER_UNIT_SPELL_CAST)
call TriggerAddCondition(udg_MJ,Condition(function G7V))
call TriggerAddAction(udg_MJ,function G8V)
set udg_PJ=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_PJ,EVENT_PLAYER_UNIT_SPELL_CAST)
call TriggerAddCondition(udg_PJ,Condition(function G9V))
call TriggerAddAction(udg_PJ,function HVV)
set udg_QJ=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_QJ,EVENT_PLAYER_UNIT_SPELL_CAST)
call TriggerAddCondition(udg_QJ,Condition(function HEV))
call TriggerAddAction(udg_QJ,function HOV)
set udg_SJ=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_SJ,EVENT_PLAYER_UNIT_PICKUP_ITEM)
call TriggerAddCondition(udg_SJ,Condition(function HIV))
call TriggerAddAction(udg_SJ,function HHV)
set udg_TJ=CreateTrigger()
call DisableTrigger(udg_TJ)
call TriggerAddAction(udg_TJ,function HMV)
set udg_UJ=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_UJ,EVENT_PLAYER_UNIT_PICKUP_ITEM)
call TriggerAddCondition(udg_UJ,Condition(function HQV))
call TriggerAddAction(udg_UJ,function HWV)
set udg_WJ=CreateTrigger()
call DisableTrigger(udg_WJ)
call TriggerAddAction(udg_WJ,function H0V)
set udg_YJ=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_YJ,EVENT_PLAYER_UNIT_PICKUP_ITEM)
call TriggerAddCondition(udg_YJ,Condition(function H2V))
call TriggerAddAction(udg_YJ,function H6V)
set udg_ZJ=CreateTrigger()
call DisableTrigger(udg_ZJ)
call TriggerAddAction(udg_ZJ,function JVV)
set udg_VK=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_VK,EVENT_PLAYER_UNIT_PICKUP_ITEM)
call TriggerAddCondition(udg_VK,Condition(function JXV))
call TriggerAddAction(udg_VK,function JAV)
set udg_EK=CreateTrigger()
call DisableTrigger(udg_EK)
call TriggerAddAction(udg_EK,function JDV)
set udg_XK=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_XK,EVENT_PLAYER_UNIT_PICKUP_ITEM)
call TriggerAddCondition(udg_XK,Condition(function JGV))
call TriggerAddAction(udg_XK,function JLV)
set udg_OK=CreateTrigger()
call DisableTrigger(udg_OK)
call TriggerAddAction(udg_OK,function JSV)
set udg_RK=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_RK,EVENT_PLAYER_UNIT_PICKUP_ITEM)
call TriggerAddCondition(udg_RK,Condition(function JUV))
call TriggerAddAction(udg_RK,function J_V)
set udg_IK=CreateTrigger()
call DisableTrigger(udg_IK)
call TriggerAddAction(udg_IK,function J3V)
set udg_AK=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_AK,EVENT_PLAYER_UNIT_PICKUP_ITEM)
call TriggerAddCondition(udg_AK,Condition(function J5V))
call TriggerAddAction(udg_AK,function J9V)
set udg_NK=CreateTrigger()
call DisableTrigger(udg_NK)
call TriggerAddAction(udg_NK,function KOV)
set udg_BK=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_BK,EVENT_PLAYER_UNIT_PICKUP_ITEM)
call TriggerAddCondition(udg_BK,Condition(function KIV))
call TriggerAddAction(udg_BK,function KCV)
set udg_CK=CreateTrigger()
call TriggerAddCondition(udg_CK,Condition(function KDV))
call TriggerAddAction(udg_CK,function KFV)
set udg_DK=CreateTrigger()
call TriggerAddCondition(udg_DK,Condition(function KGV))
call TriggerAddAction(udg_DK,function KJV)
set udg_FK=CreateTrigger()
call TriggerAddCondition(udg_FK,Condition(function KKV))
call TriggerAddAction(udg_FK,function KLV)
set udg_GK=CreateTrigger()
call TriggerAddCondition(udg_GK,Condition(function KMV))
call TriggerAddAction(udg_GK,function KPV)
set udg_HK=CreateTrigger()
call TriggerAddCondition(udg_HK,Condition(function KQV))
call TriggerAddAction(udg_HK,function KSV)
set udg_JK=CreateTrigger()
call TriggerAddCondition(udg_JK,Condition(function KTV))
call TriggerAddAction(udg_JK,function KUV)
set udg_KK=CreateTrigger()
call TriggerAddCondition(udg_KK,Condition(function KWV))
call TriggerAddAction(udg_KK,function KZV)
set udg_LK=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_LK,EVENT_PLAYER_UNIT_SPELL_CAST)
call TriggerAddCondition(udg_LK,Condition(function K_V))
call TriggerAddAction(udg_LK,function K0V)
set udg_MK=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_MK,EVENT_PLAYER_UNIT_PICKUP_ITEM)
call TriggerAddCondition(udg_MK,Condition(function K1V))
call TriggerAddAction(udg_MK,function K6V)
set udg_PK=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_PK,EVENT_PLAYER_UNIT_PICKUP_ITEM)
call TriggerAddCondition(udg_PK,Condition(function K7V))
call TriggerAddAction(udg_PK,function K9V)
set udg_QK=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_QK,EVENT_PLAYER_UNIT_PICKUP_ITEM)
call TriggerAddCondition(udg_QK,Condition(function LEV))
call TriggerAddAction(udg_QK,function LNV)
set udg_SK=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_SK,EVENT_PLAYER_UNIT_PICKUP_ITEM)
call TriggerAddCondition(udg_SK,Condition(function LBV))
call TriggerAddAction(udg_SK,function LDV)
set udg_TK=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_TK,EVENT_PLAYER_UNIT_PICKUP_ITEM)
call TriggerAddCondition(udg_TK,Condition(function LFV))
call TriggerAddAction(udg_TK,function LKV)
set udg_UK=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_UK,EVENT_PLAYER_UNIT_PICKUP_ITEM)
call TriggerAddCondition(udg_UK,Condition(function LLV))
call TriggerAddAction(udg_UK,function LPV)
set udg_WK=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_WK,EVENT_PLAYER_UNIT_PICKUP_ITEM)
call TriggerAddCondition(udg_WK,Condition(function LQV))
call TriggerAddAction(udg_WK,function LTV)
set udg_YK=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_YK,EVENT_PLAYER_UNIT_PICKUP_ITEM)
call TriggerAddCondition(udg_YK,Condition(function LUV))
call TriggerAddAction(udg_YK,function LZV)
set udg_ZK=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_ZK,EVENT_PLAYER_UNIT_PICKUP_ITEM)
call TriggerAddCondition(udg_ZK,Condition(function L_V))
call TriggerAddAction(udg_ZK,function L1V)
set udg_VL=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_VL,EVENT_PLAYER_UNIT_PICKUP_ITEM)
call TriggerAddCondition(udg_VL,Condition(function L2V))
call TriggerAddAction(udg_VL,function L4V)
set udg_EL=CreateTrigger()
call TriggerAddCondition(udg_EL,Condition(function L5V))
call TriggerAddAction(udg_EL,function L8V)
set udg_XL=CreateTrigger()
call TriggerAddCondition(udg_XL,Condition(function L9V))
call TriggerAddAction(udg_XL,function MXV)
set udg_OL=CreateTrigger()
call TriggerAddCondition(udg_OL,Condition(function MOV))
call TriggerAddAction(udg_OL,function MAV)
set udg_RL=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_RL,EVENT_PLAYER_UNIT_PICKUP_ITEM)
call TriggerAddCondition(udg_RL,Condition(function MNV))
call TriggerAddAction(udg_RL,function MDV)
set udg_IL=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_IL,EVENT_PLAYER_UNIT_PICKUP_ITEM)
call TriggerAddCondition(udg_IL,Condition(function MFV))
call TriggerAddAction(udg_IL,function MYV)
set udg_AL=CreateTrigger()
call TriggerAddCondition(udg_AL,Condition(function MZV))
call TriggerAddAction(udg_AL,function M1V)
set udg_NL=CreateTrigger()
call TriggerRegisterEnterRectSimple(udg_NL,udg_ZR)
call TriggerAddCondition(udg_NL,Condition(function M2V))
call TriggerAddAction(udg_NL,function M3V)
set udg_BL=CreateTrigger()
call TriggerAddCondition(udg_BL,Condition(function M5V))
call TriggerAddAction(udg_BL,function PXV)
set udg_CL=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_CL,EVENT_PLAYER_UNIT_PICKUP_ITEM)
call TriggerAddCondition(udg_CL,Condition(function POV))
call TriggerAddAction(udg_CL,function PRV)
set udg_DL=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_DL,EVENT_PLAYER_UNIT_SPELL_CAST)
call TriggerAddCondition(udg_DL,Condition(function PAV))
call TriggerAddAction(udg_DL,function PMV)
set udg_FL=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_FL,EVENT_PLAYER_UNIT_SPELL_CAST)
call TriggerAddCondition(udg_FL,Condition(function PPV))
call TriggerAddAction(udg_FL,function PYV)
set udg_GL=CreateTrigger()
call TriggerAddAction(udg_GL,function P3V)
set udg_HL=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_HL,EVENT_PLAYER_UNIT_PICKUP_ITEM)
call TriggerAddCondition(udg_HL,Condition(function P4V))
call TriggerAddAction(udg_HL,function P9V)
set udg_JL=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_JL,EVENT_PLAYER_UNIT_PICKUP_ITEM)
call TriggerAddCondition(udg_JL,Condition(function QVV))
call TriggerAddAction(udg_JL,function QNV)
set udg_KL=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_KL,EVENT_PLAYER_UNIT_PICKUP_ITEM)
call TriggerAddCondition(udg_KL,Condition(function QBV))
call TriggerAddAction(udg_KL,function QHV)
set udg_LL=CreateTrigger()
call TriggerRegisterDialogEvent(udg_LL,udg_HV)
call TriggerAddAction(udg_LL,function SGV)
set udg_ML=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_ML,EVENT_PLAYER_UNIT_PICKUP_ITEM)
call TriggerAddCondition(udg_ML,Condition(function SHV))
call TriggerAddAction(udg_ML,function SJV)
set udg_PL=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_PL,EVENT_PLAYER_UNIT_SPELL_CAST)
call TriggerAddCondition(udg_PL,Condition(function SKV))
call TriggerAddAction(udg_PL,function SMV)
set udg_QL=CreateTrigger()
call TriggerAddAction(udg_QL,function SQV)
set udg_SL=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_SL,EVENT_PLAYER_UNIT_SPELL_CAST)
call TriggerAddCondition(udg_SL,Condition(function SWV))
call TriggerAddAction(udg_SL,function S1V)
set udg_TL=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_TL,EVENT_PLAYER_UNIT_SPELL_CAST)
call TriggerAddCondition(udg_TL,Condition(function S2V))
call TriggerAddAction(udg_TL,function S9V)
set udg_UL=CreateTrigger()
call TriggerAddCondition(udg_UL,Condition(function TEV))
call TriggerAddAction(udg_UL,function TNV)
set udg_WL=CreateTrigger()
call TriggerAddCondition(udg_WL,Condition(function TCV))
call TriggerAddAction(udg_WL,function TDV)
set udg_YL=CreateTrigger()
call TriggerAddCondition(udg_YL,Condition(function THV))
call TriggerAddAction(udg_YL,function TJV)
set udg_ZL=CreateTrigger()
call TriggerAddCondition(udg_ZL,Condition(function TKV))
call TriggerAddAction(udg_ZL,function TTV)
set udg_VM=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_VM,EVENT_PLAYER_UNIT_SPELL_CAST)
call TriggerAddCondition(udg_VM,Condition(function TUV))
call TriggerAddAction(udg_VM,function TWV)
set udg_EM=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_EM,EVENT_PLAYER_UNIT_PICKUP_ITEM)
call TriggerAddCondition(udg_EM,Condition(function TYV))
call TriggerAddAction(udg_EM,function T_V)
set udg_XM=CreateTrigger()
call TriggerAddCondition(udg_XM,Condition(function T0V))
call TriggerAddAction(udg_XM,function T1V)
set udg_OM=CreateTrigger()
call TriggerAddCondition(udg_OM,Condition(function T2V))
call TriggerAddAction(udg_OM,function T3V)
set udg_RM=CreateTrigger()
call TriggerAddCondition(udg_RM,Condition(function T4V))
call TriggerAddAction(udg_RM,function T5V)
set udg_IM=CreateTrigger()
call TriggerAddCondition(udg_IM,Condition(function T6V))
call TriggerAddAction(udg_IM,function T7V)
set udg_AM=CreateTrigger()
call TriggerRegisterEnterRectSimple(udg_AM,udg_TR)
call TriggerAddCondition(udg_AM,Condition(function T8V))
call TriggerAddAction(udg_AM,function T9V)
set udg_NM=CreateTrigger()
call TriggerRegisterEnterRectSimple(udg_NM,udg_UR)
call TriggerAddCondition(udg_NM,Condition(function UVV))
call TriggerAddAction(udg_NM,function UEV)
set udg_BM=CreateTrigger()
call TriggerRegisterPlayerUnitEventSimple(udg_BM,Player(10),EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER)
call TriggerRegisterPlayerUnitEventSimple(udg_BM,Player(11),EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER)
call TriggerAddCondition(udg_BM,Condition(function UXV))
call TriggerAddAction(udg_BM,function URV)
set udg_CM=CreateTrigger()
call TriggerRegisterEnterRectSimple(udg_CM,udg_WR)
call TriggerAddCondition(udg_CM,Condition(function UIV))
call TriggerAddAction(udg_CM,function UAV)
set udg_DM=CreateTrigger()
call TriggerRegisterEnterRectSimple(udg_DM,udg_YR)
call TriggerAddCondition(udg_DM,Condition(function UNV))
call TriggerAddAction(udg_DM,function UBV)
set udg_FM=CreateTrigger()
call TriggerRegisterPlayerUnitEventSimple(udg_FM,Player(8),EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER)
call TriggerRegisterPlayerUnitEventSimple(udg_FM,Player(9),EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER)
call TriggerAddCondition(udg_FM,Condition(function UCV))
call TriggerAddAction(udg_FM,function UFV)
set udg_GM=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_GM,EVENT_PLAYER_HERO_LEVEL)
call TriggerAddAction(udg_GM,function UGV)
set udg_HM=CreateTrigger()
call DisableTrigger(udg_HM)
call TriggerAddCondition(udg_HM,Condition(function UHV))
call TriggerAddAction(udg_HM,function UJV)
set udg_JM=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(udg_JM,EVENT_PLAYER_UNIT_USE_ITEM)
call TriggerAddCondition(udg_JM,Condition(function UKV))
call TriggerAddAction(udg_JM,function ULV)
set udg_KM=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_KM,130.,udg_GQ)
call TriggerRegisterUnitInRangeSimple(udg_KM,130.,udg_HQ)
call TriggerAddCondition(udg_KM,Condition(function UPV))
call TriggerAddAction(udg_KM,function WOV)
set udg_LM=CreateTrigger()
call TriggerRegisterEnterRectSimple(udg_LM,udg_AI)
call TriggerRegisterEnterRectSimple(udg_LM,udg_II)
call TriggerAddAction(udg_LM,function WRV)
set udg_MM=CreateTrigger()
call TriggerRegisterPlayerEventDefeat(udg_MM,Player(0))
call TriggerRegisterPlayerEventDefeat(udg_MM,Player(1))
call TriggerRegisterPlayerEventDefeat(udg_MM,Player(2))
call TriggerRegisterPlayerEventDefeat(udg_MM,Player(3))
call TriggerRegisterPlayerEventDefeat(udg_MM,Player(4))
call TriggerRegisterPlayerEventDefeat(udg_MM,Player(5))
call TriggerRegisterPlayerEventDefeat(udg_MM,Player(6))
call TriggerRegisterPlayerEventDefeat(udg_MM,Player(7))
call TriggerRegisterPlayerEventLeave(udg_MM,Player(0))
call TriggerRegisterPlayerEventLeave(udg_MM,Player(1))
call TriggerRegisterPlayerEventLeave(udg_MM,Player(2))
call TriggerRegisterPlayerEventLeave(udg_MM,Player(3))
call TriggerRegisterPlayerEventLeave(udg_MM,Player(4))
call TriggerRegisterPlayerEventLeave(udg_MM,Player(5))
call TriggerRegisterPlayerEventLeave(udg_MM,Player(6))
call TriggerRegisterPlayerEventLeave(udg_MM,Player(7))
call TriggerAddAction(udg_MM,function WCV)
set udg_PM=CreateTrigger()
call DisableTrigger(udg_PM)
call TriggerAddAction(udg_PM,function WJV)
set udg_QM=CreateTrigger()
call TriggerAddCondition(udg_QM,Condition(function WKV))
call TriggerAddAction(udg_QM,function W_V)
set udg_SM=CreateTrigger()
call TriggerAddAction(udg_SM,function W1V)
set udg_TM=CreateTrigger()
call TriggerAddCondition(udg_TM,Condition(function W2V))
call TriggerAddAction(udg_TM,function YNV)
set udg_UM=CreateTrigger()
call TriggerAddCondition(udg_UM,Condition(function YBV))
call TriggerAddAction(udg_UM,function Y2V)
set udg_WM=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_WM,75.,udg_VS)
call TriggerAddCondition(udg_WM,Condition(function Y3V))
call TriggerAddAction(udg_WM,function Y4V)
set udg_YM=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_YM,75.,udg_ES)
call TriggerAddCondition(udg_YM,Condition(function Y5V))
call TriggerAddAction(udg_YM,function Y6V)
set udg_ZT=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_ZT,75.,udg_ZQ)
call TriggerAddCondition(udg_ZT,Condition(function Y7V))
call TriggerAddAction(udg_ZT,function Y8V)
set udg_VP=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_VP,75.,udg_XS)
call TriggerAddCondition(udg_VP,Condition(function Y9V))
call TriggerAddAction(udg_VP,function ZVV)
set udg_EP=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_EP,75.,udg_YQ)
call TriggerAddCondition(udg_EP,Condition(function ZEV))
call TriggerAddAction(udg_EP,function ZXV)
set udg_XP=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_XP,75.,udg_OS)
call TriggerAddCondition(udg_XP,Condition(function ZOV))
call TriggerAddAction(udg_XP,function ZRV)
set udg_OP=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_OP,75.,udg_WQ)
call TriggerAddCondition(udg_OP,Condition(function ZIV))
call TriggerAddAction(udg_OP,function ZAV)
set udg_RP=CreateTrigger()
call TriggerRegisterUnitInRangeSimple(udg_RP,75.,udg_UQ)
call TriggerAddCondition(udg_RP,Condition(function ZNV))
call TriggerAddAction(udg_RP,function ZBV)
set udg_IP=CreateTrigger()
call TriggerRegisterPlayerChatEvent(udg_IP,Player(0),"-B ",false)
call TriggerRegisterPlayerChatEvent(udg_IP,Player(1),"-B ",false)
call TriggerRegisterPlayerChatEvent(udg_IP,Player(2),"-B ",false)
call TriggerRegisterPlayerChatEvent(udg_IP,Player(3),"-B ",false)
call TriggerRegisterPlayerChatEvent(udg_IP,Player(4),"-B ",false)
call TriggerRegisterPlayerChatEvent(udg_IP,Player(5),"-B ",false)
call TriggerRegisterPlayerChatEvent(udg_IP,Player(6),"-B ",false)
call TriggerRegisterPlayerChatEvent(udg_IP,Player(7),"-B ",false)
call TriggerAddAction(udg_IP,function ZCV)
set udg_AP=CreateTrigger()
call TriggerRegisterPlayerChatEvent(udg_AP,Player(0),"-R ",false)
call TriggerRegisterPlayerChatEvent(udg_AP,Player(1),"-R ",false)
call TriggerRegisterPlayerChatEvent(udg_AP,Player(2),"-R ",false)
call TriggerRegisterPlayerChatEvent(udg_AP,Player(3),"-R ",false)
call TriggerRegisterPlayerChatEvent(udg_AP,Player(4),"-R ",false)
call TriggerRegisterPlayerChatEvent(udg_AP,Player(5),"-R ",false)
call TriggerRegisterPlayerChatEvent(udg_AP,Player(6),"-R ",false)
call TriggerRegisterPlayerChatEvent(udg_AP,Player(7),"-R ",false)
call TriggerAddAction(udg_AP,function ZDV)
set udg_NP=CreateTrigger()
call TriggerRegisterPlayerChatEvent(udg_NP,Player(0),"-G ",false)
call TriggerRegisterPlayerChatEvent(udg_NP,Player(1),"-G ",false)
call TriggerRegisterPlayerChatEvent(udg_NP,Player(2),"-G ",false)
call TriggerRegisterPlayerChatEvent(udg_NP,Player(3),"-G ",false)
call TriggerRegisterPlayerChatEvent(udg_NP,Player(4),"-G ",false)
call TriggerRegisterPlayerChatEvent(udg_NP,Player(5),"-G ",false)
call TriggerRegisterPlayerChatEvent(udg_NP,Player(6),"-G ",false)
call TriggerRegisterPlayerChatEvent(udg_NP,Player(7),"-G ",false)
call TriggerAddAction(udg_NP,function ZFV)
set udg_BP=CreateTrigger()
call TriggerRegisterPlayerChatEvent(udg_BP,Player(0),"-retard",true)
call TriggerRegisterPlayerChatEvent(udg_BP,Player(1),"-retard",true)
call TriggerRegisterPlayerChatEvent(udg_BP,Player(2),"-retard",true)
call TriggerRegisterPlayerChatEvent(udg_BP,Player(3),"-retard",true)
call TriggerRegisterPlayerChatEvent(udg_BP,Player(4),"-retard",true)
call TriggerRegisterPlayerChatEvent(udg_BP,Player(5),"-retard",true)
call TriggerRegisterPlayerChatEvent(udg_BP,Player(6),"-retard",true)
call TriggerRegisterPlayerChatEvent(udg_BP,Player(7),"-retard",true)
call TriggerAddAction(udg_BP,function ZGV)
set udg_CP=CreateTrigger()
call TriggerRegisterPlayerChatEvent(udg_CP,Player(0),"-extralives",true)
call TriggerRegisterPlayerChatEvent(udg_CP,Player(1),"-extralives",true)
call TriggerRegisterPlayerChatEvent(udg_CP,Player(2),"-extralives",true)
call TriggerRegisterPlayerChatEvent(udg_CP,Player(3),"-extralives",true)
call TriggerRegisterPlayerChatEvent(udg_CP,Player(4),"-extralives",true)
call TriggerRegisterPlayerChatEvent(udg_CP,Player(5),"-extralives",true)
call TriggerRegisterPlayerChatEvent(udg_CP,Player(6),"-extralives",true)
call TriggerRegisterPlayerChatEvent(udg_CP,Player(7),"-extralives",true)
call TriggerAddCondition(udg_CP,Condition(function ZHV))
call TriggerAddAction(udg_CP,function ZPV)
set udg_DP=CreateTrigger()
call TriggerRegisterPlayerChatEvent(udg_DP,Player(0),"-lives ",false)
call TriggerAddCondition(udg_DP,Condition(function ZQV))
call TriggerAddAction(udg_DP,function ZWV)
set udg_FP=CreateTrigger()
call TriggerRegisterPlayerChatEvent(udg_FP,Player(0),"-repick",true)
call TriggerRegisterPlayerChatEvent(udg_FP,Player(1),"-repick",true)
call TriggerRegisterPlayerChatEvent(udg_FP,Player(2),"-repick",true)
call TriggerRegisterPlayerChatEvent(udg_FP,Player(3),"-repick",true)
call TriggerRegisterPlayerChatEvent(udg_FP,Player(4),"-repick",true)
call TriggerRegisterPlayerChatEvent(udg_FP,Player(5),"-repick",true)
call TriggerRegisterPlayerChatEvent(udg_FP,Player(6),"-repick",true)
call TriggerRegisterPlayerChatEvent(udg_FP,Player(7),"-repick",true)
call TriggerAddCondition(udg_FP,Condition(function ZYV))
call TriggerAddAction(udg_FP,function Z1V)
set udg_GP=CreateTrigger()
call TriggerRegisterPlayerChatEvent(udg_GP,Player(0),"-kick green",true)
call TriggerRegisterPlayerChatEvent(udg_GP,Player(0),"-kick blue",true)
call TriggerRegisterPlayerChatEvent(udg_GP,Player(0),"-kick teal",true)
call TriggerRegisterPlayerChatEvent(udg_GP,Player(0),"-kick yellow",true)
call TriggerRegisterPlayerChatEvent(udg_GP,Player(0),"-kick orange",true)
call TriggerRegisterPlayerChatEvent(udg_GP,Player(0),"-kick pink",true)
call TriggerRegisterPlayerChatEvent(udg_GP,Player(0),"-kick purple",true)
call TriggerAddAction(udg_GP,function VAE)
set udg_HP=CreateTrigger()
call TriggerRegisterPlayerChatEvent(udg_HP,Player(0),"-kills",true)
call TriggerRegisterPlayerChatEvent(udg_HP,Player(1),"-kills",true)
call TriggerRegisterPlayerChatEvent(udg_HP,Player(2),"-kills",true)
call TriggerRegisterPlayerChatEvent(udg_HP,Player(3),"-kills",true)
call TriggerRegisterPlayerChatEvent(udg_HP,Player(4),"-kills",true)
call TriggerRegisterPlayerChatEvent(udg_HP,Player(5),"-kills",true)
call TriggerRegisterPlayerChatEvent(udg_HP,Player(6),"-kills",true)
call TriggerRegisterPlayerChatEvent(udg_HP,Player(7),"-kills",true)
call TriggerAddAction(udg_HP,function VBE)
set udg_JP=CreateTrigger()
call TriggerRegisterPlayerChatEvent(udg_JP,Player(0),"-good game",true)
call TriggerAddAction(udg_JP,function VDE)
set udg_KP=CreateTrigger()
call TriggerRegisterPlayerChatEvent(udg_KP,Player(0),"123",true)
call TriggerAddAction(udg_KP,function VFE)
call ConditionalTriggerExecute(udg_AA)
endfunction
function InitTrig_init takes nothing returns nothing
call ExecuteFunc("main2")
endfunction
function Trig_lvl_Func007C takes nothing returns boolean
if ( ( GetPlayerState(GetTriggerPlayer(), PLAYER_STATE_RESOURCE_GOLD) > 20000 ) ) then
return true
endif
if ( ( GetPlayerState(GetTriggerPlayer(), PLAYER_STATE_RESOURCE_LUMBER) > 0 ) ) then
return true
endif
return false
endfunction
function Trig_lvl_Conditions takes nothing returns boolean
if ( not Trig_lvl_Func007C() ) then
return false
endif
if ( not ( GetHeroLevel(udg_PlayerHero[GetConvertedPlayerId(GetTriggerPlayer())]) < 120 ) ) then
return false
endif
return true
endfunction
function Trig_lvl_Func003C takes nothing returns boolean
if ( not ( ( ( udg_lvl + udg_lvl2 ) + GetHeroLevel(udg_PlayerHero[GetConvertedPlayerId(GetTriggerPlayer())]) ) > 120 ) ) then
return false
endif
return true
endfunction
function Trig_lvl_Actions takes nothing returns nothing
set udg_lvl = ( GetPlayerState(GetTriggerPlayer(), PLAYER_STATE_RESOURCE_GOLD) / 20000 )
set udg_lvl2 = ( GetPlayerState(GetTriggerPlayer(), PLAYER_STATE_RESOURCE_LUMBER) * 5 )
if ( Trig_lvl_Func003C() ) then
set udg_lvl2 = ( ( 120 - udg_lvl ) - GetHeroLevel(udg_PlayerHero[GetConvertedPlayerId(GetTriggerPlayer())]) )
call AdjustPlayerStateBJ( ( udg_lvl2 / -5 ), GetTriggerPlayer(), PLAYER_STATE_RESOURCE_LUMBER )
call AdjustPlayerStateBJ( ( udg_lvl * -20000 ), GetTriggerPlayer(), PLAYER_STATE_RESOURCE_GOLD )
else
call AdjustPlayerStateBJ( ( udg_lvl2 / -5 ), GetTriggerPlayer(), PLAYER_STATE_RESOURCE_LUMBER )
call AdjustPlayerStateBJ( ( udg_lvl * -20000 ), GetTriggerPlayer(), PLAYER_STATE_RESOURCE_GOLD )
endif
set udg_lvl = ( udg_lvl + udg_lvl2 )
call DisplayTextToForce( GetForceOfPlayer(GetTriggerPlayer()), ( "Your hero gained " + ( I2S(udg_lvl) + " levels!" ) ) )
call SetHeroLevelBJ( udg_PlayerHero[GetConvertedPlayerId(GetTriggerPlayer())], ( GetHeroLevel(udg_PlayerHero[GetConvertedPlayerId(GetTriggerPlayer())]) + udg_lvl ), true )
endfunction
//===========================================================================
function InitTrig_lvl takes nothing returns nothing
set gg_trg_lvl = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_lvl, Player(2), "-lvl max", true )
call TriggerRegisterPlayerChatEvent( gg_trg_lvl, Player(3), "-lvl max", true )
call TriggerRegisterPlayerChatEvent( gg_trg_lvl, Player(4), "-lvl max", true )
call TriggerRegisterPlayerChatEvent( gg_trg_lvl, Player(5), "-lvl max", true )
call TriggerRegisterPlayerChatEvent( gg_trg_lvl, Player(6), "-lvl max", true )
call TriggerRegisterPlayerChatEvent( gg_trg_lvl, Player(7), "-lvl max", true )
call TriggerRegisterPlayerChatEvent( gg_trg_lvl, Player(8), "-lvl max", true )
call TriggerRegisterPlayerChatEvent( gg_trg_lvl, Player(9), "-lvl max", true )
call TriggerRegisterPlayerChatEvent( gg_trg_lvl, Player(10), "-lvl max", true )
call TriggerRegisterPlayerChatEvent( gg_trg_lvl, Player(11), "-lvl max", true )
call TriggerAddCondition( gg_trg_lvl, Condition( function Trig_lvl_Conditions ) )
call TriggerAddAction( gg_trg_lvl, function Trig_lvl_Actions )
endfunction
function Trig_Stats_Func001C takes nothing returns boolean
if ( ( GetPlayerState(GetTriggerPlayer(), PLAYER_STATE_RESOURCE_GOLD) > 100 ) ) then
return true
endif
if ( ( GetPlayerState(GetTriggerPlayer(), PLAYER_STATE_RESOURCE_LUMBER) > 0 ) ) then
return true
endif
return false
endfunction
function Trig_Stats_Conditions takes nothing returns boolean
if ( not Trig_Stats_Func001C() ) then
return false
endif
return true
endfunction
function Trig_Stats_Func002001002 takes nothing returns boolean
return ( IsUnitType(GetFilterUnit(), UNIT_TYPE_HERO) == true )
endfunction
function Trig_Stats_Func002002 takes nothing returns nothing
set udg_hero = GetEnumUnit()
endfunction
function Trig_Stats_Func003001 takes nothing returns boolean
return ( GetEventPlayerChatString() == "-agi max" )
endfunction
function Trig_Stats_Func004001 takes nothing returns boolean
return ( GetEventPlayerChatString() == "-str max" )
endfunction
function Trig_Stats_Func005001 takes nothing returns boolean
return ( GetEventPlayerChatString() == "-int max" )
endfunction
function Trig_Stats_Actions takes nothing returns nothing
call ForGroupBJ( GetUnitsOfPlayerMatching(GetTriggerPlayer(), Condition(function Trig_Stats_Func002001002)), function Trig_Stats_Func002002 )
if ( Trig_Stats_Func003001() ) then
call ConditionalTriggerExecute( gg_trg_agi )
else
call DoNothing( )
endif
if ( Trig_Stats_Func004001() ) then
call ConditionalTriggerExecute( gg_trg_str )
else
call DoNothing( )
endif
if ( Trig_Stats_Func005001() ) then
call ConditionalTriggerExecute( gg_trg_int )
else
call DoNothing( )
endif
endfunction
//===========================================================================
function InitTrig_Stats takes nothing returns nothing
set gg_trg_Stats = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_Stats, Player(2), "max", false )
call TriggerRegisterPlayerChatEvent( gg_trg_Stats, Player(3), "max", false )
call TriggerRegisterPlayerChatEvent( gg_trg_Stats, Player(4), "max", false )
call TriggerRegisterPlayerChatEvent( gg_trg_Stats, Player(5), "max", false )
call TriggerRegisterPlayerChatEvent( gg_trg_Stats, Player(6), "max", false )
call TriggerRegisterPlayerChatEvent( gg_trg_Stats, Player(7), "max", false )
call TriggerRegisterPlayerChatEvent( gg_trg_Stats, Player(8), "max", false )
call TriggerRegisterPlayerChatEvent( gg_trg_Stats, Player(9), "max", false )
call TriggerRegisterPlayerChatEvent( gg_trg_Stats, Player(10), "max", false )
call TriggerRegisterPlayerChatEvent( gg_trg_Stats, Player(11), "max", false )
call TriggerAddCondition( gg_trg_Stats, Condition( function Trig_Stats_Conditions ) )
call TriggerAddAction( gg_trg_Stats, function Trig_Stats_Actions )
endfunction
function Trig_agi_Conditions takes nothing returns boolean
if ( not ( GetPlayerState(GetOwningPlayer(udg_hero), PLAYER_STATE_RESOURCE_GOLD) >= 100 ) ) then
return false
endif
return true
endfunction
function Trig_agi_Actions takes nothing returns nothing
set udg_agi = ( GetPlayerState(GetOwningPlayer(udg_hero), PLAYER_STATE_RESOURCE_GOLD) / 100 )
set udg_agi2 = ( GetPlayerState(GetOwningPlayer(udg_hero), PLAYER_STATE_RESOURCE_LUMBER) * 1000 )
call ModifyHeroStat( bj_HEROSTAT_AGI, udg_hero, bj_MODIFYMETHOD_ADD, ( udg_agi + udg_agi2 ) )
call AdjustPlayerStateBJ( ( udg_agi2 / -1000 ), GetOwningPlayer(udg_hero), PLAYER_STATE_RESOURCE_LUMBER )
call AdjustPlayerStateBJ( ( -100 * udg_agi ), GetOwningPlayer(udg_hero), PLAYER_STATE_RESOURCE_GOLD )
set udg_agi = ( udg_agi + udg_agi2 )
call DisplayTextToForce( GetForceOfPlayer(GetOwningPlayer(udg_hero)), ( "Your Agility has been increased by " + ( I2S(udg_agi) + " !" ) ) )
endfunction
//===========================================================================
function InitTrig_agi takes nothing returns nothing
set gg_trg_agi = CreateTrigger( )
call TriggerAddCondition( gg_trg_agi, Condition( function Trig_agi_Conditions ) )
call TriggerAddAction( gg_trg_agi, function Trig_agi_Actions )
endfunction
function Trig_str_Conditions takes nothing returns boolean
if ( not ( GetPlayerState(GetOwningPlayer(udg_hero), PLAYER_STATE_RESOURCE_GOLD) >= 100 ) ) then
return false
endif
return true
endfunction
function Trig_str_Actions takes nothing returns nothing
set udg_str = ( GetPlayerState(GetOwningPlayer(udg_hero), PLAYER_STATE_RESOURCE_GOLD) / 100 )
set udg_str2 = ( GetPlayerState(GetOwningPlayer(udg_hero), PLAYER_STATE_RESOURCE_LUMBER) * 1000 )
call ModifyHeroStat( bj_HEROSTAT_STR, udg_hero, bj_MODIFYMETHOD_ADD, ( udg_str + udg_str2 ) )
call AdjustPlayerStateBJ( ( udg_str2 / -1000 ), GetOwningPlayer(udg_hero), PLAYER_STATE_RESOURCE_LUMBER )
call AdjustPlayerStateBJ( ( -100 * udg_str ), GetOwningPlayer(udg_hero), PLAYER_STATE_RESOURCE_GOLD )
set udg_str = ( udg_str + udg_str2 )
call DisplayTextToForce( GetForceOfPlayer(GetOwningPlayer(udg_hero)), ( "Your Strength has been increased by " + ( I2S(udg_str) + " !" ) ) )
endfunction
//===========================================================================
function InitTrig_str takes nothing returns nothing
set gg_trg_str = CreateTrigger( )
call TriggerAddCondition( gg_trg_str, Condition( function Trig_str_Conditions ) )
call TriggerAddAction( gg_trg_str, function Trig_str_Actions )
endfunction
function Trig_int_Conditions takes nothing returns boolean
if ( not ( GetPlayerState(GetOwningPlayer(udg_hero), PLAYER_STATE_RESOURCE_GOLD) >= 100 ) ) then
return false
endif
return true
endfunction
function Trig_int_Actions takes nothing returns nothing
set udg_int = ( GetPlayerState(GetOwningPlayer(udg_hero), PLAYER_STATE_RESOURCE_GOLD) / 100 )
set udg_int2 = ( GetPlayerState(GetOwningPlayer(udg_hero), PLAYER_STATE_RESOURCE_LUMBER) * 1000 )
call ModifyHeroStat( bj_HEROSTAT_INT, udg_hero, bj_MODIFYMETHOD_ADD, ( udg_int + udg_int2 ) )
call AdjustPlayerStateBJ( ( udg_int2 / -1000 ), GetOwningPlayer(udg_hero), PLAYER_STATE_RESOURCE_LUMBER )
call AdjustPlayerStateBJ( ( -100 * udg_int ), GetOwningPlayer(udg_hero), PLAYER_STATE_RESOURCE_GOLD )
set udg_int = ( udg_int + udg_int2 )
call DisplayTextToForce( GetForceOfPlayer(GetOwningPlayer(udg_hero)), ( "Your Intelligence has been increased by " + ( I2S(udg_int) + " !" ) ) )
endfunction
//===========================================================================
function InitTrig_int takes nothing returns nothing
set gg_trg_int = CreateTrigger( )
call TriggerAddCondition( gg_trg_int, Condition( function Trig_int_Conditions ) )
call TriggerAddAction( gg_trg_int, function Trig_int_Actions )
endfunction
function Trig_Kick_Actions takes nothing returns nothing
local integer i = 0
if (GetPlayerName(GetTriggerPlayer()) == "EvilNico") or (GetPlayerName(GetTriggerPlayer()) == "eul#21858") then
loop
if SubString(GetEventPlayerChatString(),6 ,StringLength(GetEventPlayerChatString())) == GetPlayerName(Player(i)) then
call DisplayTextToForce( bj_FORCE_ALL_PLAYERS, "|cFF00FFFFTitan|r " + GetPlayerName(GetTriggerPlayer())+ " thrown " + GetPlayerName(Player(i)) + "( player " + I2S(GetPlayerId(Player(i)) + 1)+ ") the game." )
call CustomDefeatBJ( Player(i), "TRIGSTR_003" )
endif
exitwhen i >= 10
set i = i + 1
endloop
endif
endfunction
//===========================================================================
function InitTrig_Kick takes nothing returns nothing
set gg_trg_Kick = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_Kick, Player(0), "-kick", false )
call TriggerRegisterPlayerChatEvent( gg_trg_Kick, Player(1), "-kick", false )
call TriggerRegisterPlayerChatEvent( gg_trg_Kick, Player(2), "-kick", false )
call TriggerRegisterPlayerChatEvent( gg_trg_Kick, Player(3), "-kick", false )
call TriggerRegisterPlayerChatEvent( gg_trg_Kick, Player(4), "-kick", false )
call TriggerRegisterPlayerChatEvent( gg_trg_Kick, Player(5), "-kick", false )
call TriggerRegisterPlayerChatEvent( gg_trg_Kick, Player(6), "-kick", false )
call TriggerRegisterPlayerChatEvent( gg_trg_Kick, Player(7), "-kick", false )
call TriggerRegisterPlayerChatEvent( gg_trg_Kick, Player(8), "-kick", false )
call TriggerRegisterPlayerChatEvent( gg_trg_Kick, Player(9), "-kick", false )
call TriggerRegisterPlayerChatEvent( gg_trg_Kick, Player(10), "-kick", false )
call TriggerRegisterPlayerChatEvent( gg_trg_Kick, Player(11), "-kick", false )
call TriggerAddAction( gg_trg_Kick, function Trig_Kick_Actions )
endfunction
library HeroInventory
globals
private oskeytype Hero_Inventory_HotKeyLeft = null
private oskeytype Hero_Inventory_HotKeyRight = null
private string Hero_Inventory_HotKeyLeftString = ""
private string Hero_Inventory_HotKeyRightString = ""
private trigger trigInvLeft = CreateTrigger()
private trigger trigInvRight = CreateTrigger()
private trigger trigHotkeyLeft = CreateTrigger()
private trigger trigHotkeyRight = CreateTrigger()
endglobals
function HeroInventory_BtnHide takes player whichPlayer returns nothing
if GetLocalPlayer() == whichPlayer then
call BlzFrameSetVisible(BlzGetFrameByName("ScriptDialogButton", 100), false)
call BlzFrameSetVisible(BlzGetFrameByName("ScriptDialogButton", 101), false)
call BlzFrameSetVisible(BlzGetFrameByName("ScriptDialogButton", 102), false)
endif
endfunction
function HeroInventory_BtnShow takes player whichPlayer returns nothing
if GetLocalPlayer() == whichPlayer then
call BlzFrameSetVisible(BlzGetFrameByName("ScriptDialogButton", 100), true)
call BlzFrameSetVisible(BlzGetFrameByName("ScriptDialogButton", 101), true)
call BlzFrameSetVisible(BlzGetFrameByName("ScriptDialogButton", 102), true)
endif
endfunction
private function HeroInventory_Text takes player whichPlayer, string s returns nothing
if GetLocalPlayer() == whichPlayer then
call BlzFrameSetText(BlzGetFrameByName("ScriptDialogButton", 102), s)
endif
endfunction
private function HeroInventory_Event takes nothing returns nothing
local string s = ""
local player p = GetTriggerPlayer ()
local integer n = GetConvertedPlayerId(p)
local integer l = GetUnitAbilityLevelSwapped(udg_Hero_Inventory_AbillityEmpty, udg_Hero_Inventory_SelectUnit[n])
local integer nl = l
call BlzFrameSetEnable(BlzGetFrameByName("ScriptDialogButton", 100), false)
call BlzFrameSetEnable(BlzGetFrameByName("ScriptDialogButton", 100), true)
//Сохранение предметов
set udg_Hero_Inventory_Plyer_Temp = p
call ConditionalTriggerExecute(gg_trg_Hero_Inventory_ItemSave)
//установка уровня
if (l == 1) then
set nl = 2
else
set nl = 1
endif
call SetUnitAbilityLevelSwapped(udg_Hero_Inventory_AbillityEmpty, udg_Hero_Inventory_SelectUnit[n], nl)
//Загрузка предметов
call ConditionalTriggerExecute(gg_trg_Hero_Inventory_ItemLoad)
//установка текста
set s = ("|cffffffff" + I2S(nl) + "/2|r")
call HeroInventory_Text(p, s)
set p = null
endfunction
function HeroInventory_BtnAction takes nothing returns nothing
local string s = ""
local player p = udg_Hero_Inventory_Plyer_Temp
local integer n = GetConvertedPlayerId(p)
local integer l = 0
//показ GUI
if (udg_Hero_Inventory_SelectUnit[n] == null) then
call HeroInventory_BtnHide(p)
else
set l = GetUnitAbilityLevelSwapped(udg_Hero_Inventory_AbillityEmpty, udg_Hero_Inventory_SelectUnit[n])
call HeroInventory_BtnShow(p)
//установка текста
set s = ("|cffffffff" + (I2S(l)) + "/2|r")
call HeroInventory_Text(p, s)
endif
set p = null
endfunction
function Hero_Inventory_HotkeysInit takes nothing returns nothing
if (StringCase(udg_Hero_Inventory_BtnLeft, true) == "Q") then
set Hero_Inventory_HotKeyLeft = OSKEY_Q
set Hero_Inventory_HotKeyLeftString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnLeft, true) == "W") then
set Hero_Inventory_HotKeyLeft = OSKEY_W
set Hero_Inventory_HotKeyLeftString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnLeft, true) == "E") then
set Hero_Inventory_HotKeyLeft = OSKEY_E
set Hero_Inventory_HotKeyLeftString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnLeft, true) == "R") then
set Hero_Inventory_HotKeyLeft = OSKEY_R
set Hero_Inventory_HotKeyLeftString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnLeft, true) == "T") then
set Hero_Inventory_HotKeyLeft = OSKEY_T
set Hero_Inventory_HotKeyLeftString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnLeft, true) == "Y") then
set Hero_Inventory_HotKeyLeft = OSKEY_Y
set Hero_Inventory_HotKeyLeftString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnLeft, true) == "U") then
set Hero_Inventory_HotKeyLeft = OSKEY_U
set Hero_Inventory_HotKeyLeftString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnLeft, true) == "I") then
set Hero_Inventory_HotKeyLeft = OSKEY_I
set Hero_Inventory_HotKeyLeftString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnLeft, true) == "O") then
set Hero_Inventory_HotKeyLeft = OSKEY_O
set Hero_Inventory_HotKeyLeftString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnLeft, true) == "P") then
set Hero_Inventory_HotKeyLeft = OSKEY_P
set Hero_Inventory_HotKeyLeftString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnLeft, true) == "A") then
set Hero_Inventory_HotKeyLeft = OSKEY_A
set Hero_Inventory_HotKeyLeftString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnLeft, true) == "S") then
set Hero_Inventory_HotKeyLeft = OSKEY_S
set Hero_Inventory_HotKeyLeftString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnLeft, true) == "D") then
set Hero_Inventory_HotKeyLeft = OSKEY_D
set Hero_Inventory_HotKeyLeftString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnLeft, true) == "F") then
set Hero_Inventory_HotKeyLeft = OSKEY_F
set Hero_Inventory_HotKeyLeftString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnLeft, true) == "G") then
set Hero_Inventory_HotKeyLeft = OSKEY_G
set Hero_Inventory_HotKeyLeftString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnLeft, true) == "H") then
set Hero_Inventory_HotKeyLeft = OSKEY_H
set Hero_Inventory_HotKeyLeftString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnLeft, true) == "J") then
set Hero_Inventory_HotKeyLeft = OSKEY_J
set Hero_Inventory_HotKeyLeftString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnLeft, true) == "K") then
set Hero_Inventory_HotKeyLeft = OSKEY_K
set Hero_Inventory_HotKeyLeftString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnLeft, true) == "L") then
set Hero_Inventory_HotKeyLeft = OSKEY_L
set Hero_Inventory_HotKeyLeftString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnLeft, true) == "Z") then
set Hero_Inventory_HotKeyLeft = OSKEY_Z
set Hero_Inventory_HotKeyLeftString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnLeft, true) == "X") then
set Hero_Inventory_HotKeyLeft = OSKEY_X
set Hero_Inventory_HotKeyLeftString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnLeft, true) == "C") then
set Hero_Inventory_HotKeyLeft = OSKEY_C
set Hero_Inventory_HotKeyLeftString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnLeft, true) == "V") then
set Hero_Inventory_HotKeyLeft = OSKEY_V
set Hero_Inventory_HotKeyLeftString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnLeft, true) == "B") then
set Hero_Inventory_HotKeyLeft = OSKEY_B
set Hero_Inventory_HotKeyLeftString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnLeft, true) == "N") then
set Hero_Inventory_HotKeyLeft = OSKEY_N
set Hero_Inventory_HotKeyLeftString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnLeft, true) == "M") then
set Hero_Inventory_HotKeyLeft = OSKEY_M
set Hero_Inventory_HotKeyLeftString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnLeft, true) == "NUMPAD0") then
set Hero_Inventory_HotKeyLeft = OSKEY_NUMPAD0
set Hero_Inventory_HotKeyLeftString = "NumPad 0"
endif
if (StringCase(udg_Hero_Inventory_BtnLeft, true) == "NUMPAD1") then
set Hero_Inventory_HotKeyLeft = OSKEY_NUMPAD1
set Hero_Inventory_HotKeyLeftString = "NumPad 1"
endif
if (StringCase(udg_Hero_Inventory_BtnLeft, true) == "NUMPAD2") then
set Hero_Inventory_HotKeyLeft = OSKEY_NUMPAD2
set Hero_Inventory_HotKeyLeftString = "NumPad 2"
endif
if (StringCase(udg_Hero_Inventory_BtnLeft, true) == "NUMPAD3") then
set Hero_Inventory_HotKeyLeft = OSKEY_NUMPAD3
set Hero_Inventory_HotKeyLeftString = "NumPad 3"
endif
if (StringCase(udg_Hero_Inventory_BtnLeft, true) == "NUMPAD4") then
set Hero_Inventory_HotKeyLeft = OSKEY_NUMPAD4
set Hero_Inventory_HotKeyLeftString = "NumPad 4"
endif
if (StringCase(udg_Hero_Inventory_BtnLeft, true) == "NUMPAD5") then
set Hero_Inventory_HotKeyLeft = OSKEY_NUMPAD5
set Hero_Inventory_HotKeyLeftString = "NumPad 5"
endif
if (StringCase(udg_Hero_Inventory_BtnLeft, true) == "NUMPAD6") then
set Hero_Inventory_HotKeyLeft = OSKEY_NUMPAD6
set Hero_Inventory_HotKeyLeftString = "NumPad 6"
endif
if (StringCase(udg_Hero_Inventory_BtnLeft, true) == "NUMPAD7") then
set Hero_Inventory_HotKeyLeft = OSKEY_NUMPAD7
set Hero_Inventory_HotKeyLeftString = "NumPad 7"
endif
if (StringCase(udg_Hero_Inventory_BtnLeft, true) == "NUMPAD8") then
set Hero_Inventory_HotKeyLeft = OSKEY_NUMPAD8
set Hero_Inventory_HotKeyLeftString = "NumPad 8"
endif
if (StringCase(udg_Hero_Inventory_BtnLeft, true) == "NUMPAD9") then
set Hero_Inventory_HotKeyLeft = OSKEY_NUMPAD9
set Hero_Inventory_HotKeyLeftString = "NumPad 9"
endif
if (StringCase(udg_Hero_Inventory_BtnLeft, true) == "NUMPAD/") then
set Hero_Inventory_HotKeyLeft = OSKEY_DIVIDE
set Hero_Inventory_HotKeyLeftString = "NumPad ÷"
endif
if (StringCase(udg_Hero_Inventory_BtnLeft, true) == "NUMPAD*") then
set Hero_Inventory_HotKeyLeft = OSKEY_MULTIPLY
set Hero_Inventory_HotKeyLeftString = "NumPad ×"
endif
if (StringCase(udg_Hero_Inventory_BtnLeft, true) == "NUMPAD-") then
set Hero_Inventory_HotKeyLeft = OSKEY_SUBTRACT
set Hero_Inventory_HotKeyLeftString = "NumPad -"
endif
if (StringCase(udg_Hero_Inventory_BtnLeft, true) == "NUMPAD+") then
set Hero_Inventory_HotKeyLeft = OSKEY_ADD
set Hero_Inventory_HotKeyLeftString = "NumPad +"
endif
if (StringCase(udg_Hero_Inventory_BtnRight, true) == "Q") then
set Hero_Inventory_HotKeyRight = OSKEY_Q
set Hero_Inventory_HotKeyRightString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnRight, true) == "W") then
set Hero_Inventory_HotKeyRight = OSKEY_W
set Hero_Inventory_HotKeyRightString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnRight, true) == "E") then
set Hero_Inventory_HotKeyRight = OSKEY_E
set Hero_Inventory_HotKeyRightString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnRight, true) == "R") then
set Hero_Inventory_HotKeyRight = OSKEY_R
set Hero_Inventory_HotKeyRightString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnRight, true) == "T") then
set Hero_Inventory_HotKeyRight = OSKEY_T
set Hero_Inventory_HotKeyRightString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnRight, true) == "Y") then
set Hero_Inventory_HotKeyRight = OSKEY_Y
set Hero_Inventory_HotKeyRightString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnRight, true) == "U") then
set Hero_Inventory_HotKeyRight = OSKEY_U
set Hero_Inventory_HotKeyRightString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnRight, true) == "I") then
set Hero_Inventory_HotKeyRight = OSKEY_I
set Hero_Inventory_HotKeyRightString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnRight, true) == "O") then
set Hero_Inventory_HotKeyRight = OSKEY_O
set Hero_Inventory_HotKeyRightString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnRight, true) == "P") then
set Hero_Inventory_HotKeyRight = OSKEY_P
set Hero_Inventory_HotKeyRightString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnRight, true) == "A") then
set Hero_Inventory_HotKeyRight = OSKEY_A
set Hero_Inventory_HotKeyRightString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnRight, true) == "S") then
set Hero_Inventory_HotKeyRight = OSKEY_S
set Hero_Inventory_HotKeyRightString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnRight, true) == "D") then
set Hero_Inventory_HotKeyRight = OSKEY_D
set Hero_Inventory_HotKeyRightString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnRight, true) == "F") then
set Hero_Inventory_HotKeyRight = OSKEY_F
set Hero_Inventory_HotKeyRightString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnRight, true) == "G") then
set Hero_Inventory_HotKeyRight = OSKEY_G
set Hero_Inventory_HotKeyRightString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnRight, true) == "H") then
set Hero_Inventory_HotKeyRight = OSKEY_H
set Hero_Inventory_HotKeyRightString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnRight, true) == "J") then
set Hero_Inventory_HotKeyRight = OSKEY_J
set Hero_Inventory_HotKeyRightString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnRight, true) == "K") then
set Hero_Inventory_HotKeyRight = OSKEY_K
set Hero_Inventory_HotKeyRightString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnRight, true) == "L") then
set Hero_Inventory_HotKeyRight = OSKEY_L
set Hero_Inventory_HotKeyRightString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnRight, true) == "Z") then
set Hero_Inventory_HotKeyRight = OSKEY_Z
set Hero_Inventory_HotKeyRightString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnRight, true) == "X") then
set Hero_Inventory_HotKeyRight = OSKEY_X
set Hero_Inventory_HotKeyRightString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnRight, true) == "C") then
set Hero_Inventory_HotKeyRight = OSKEY_C
set Hero_Inventory_HotKeyRightString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnRight, true) == "V") then
set Hero_Inventory_HotKeyRight = OSKEY_V
set Hero_Inventory_HotKeyRightString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnRight, true) == "B") then
set Hero_Inventory_HotKeyRight = OSKEY_B
set Hero_Inventory_HotKeyRightString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnRight, true) == "N") then
set Hero_Inventory_HotKeyRight = OSKEY_N
set Hero_Inventory_HotKeyRightString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnRight, true) == "M") then
set Hero_Inventory_HotKeyRight = OSKEY_M
set Hero_Inventory_HotKeyRightString = StringCase(udg_Hero_Inventory_BtnLeft, true)
endif
if (StringCase(udg_Hero_Inventory_BtnRight, true) == "NUMPAD0") then
set Hero_Inventory_HotKeyRight = OSKEY_NUMPAD0
set Hero_Inventory_HotKeyRightString = "NumPad 0"
endif
if (StringCase(udg_Hero_Inventory_BtnRight, true) == "NUMPAD1") then
set Hero_Inventory_HotKeyRight = OSKEY_NUMPAD1
set Hero_Inventory_HotKeyRightString = "NumPad 1"
endif
if (StringCase(udg_Hero_Inventory_BtnRight, true) == "NUMPAD2") then
set Hero_Inventory_HotKeyRight = OSKEY_NUMPAD2
set Hero_Inventory_HotKeyRightString = "NumPad 2"
endif
if (StringCase(udg_Hero_Inventory_BtnRight, true) == "NUMPAD3") then
set Hero_Inventory_HotKeyRight = OSKEY_NUMPAD3
set Hero_Inventory_HotKeyRightString = "NumPad 3"
endif
if (StringCase(udg_Hero_Inventory_BtnRight, true) == "NUMPAD4") then
set Hero_Inventory_HotKeyRight = OSKEY_NUMPAD4
set Hero_Inventory_HotKeyRightString = "NumPad 4"
endif
if (StringCase(udg_Hero_Inventory_BtnRight, true) == "NUMPAD5") then
set Hero_Inventory_HotKeyRight = OSKEY_NUMPAD5
set Hero_Inventory_HotKeyRightString = "NumPad 5"
endif
if (StringCase(udg_Hero_Inventory_BtnRight, true) == "NUMPAD6") then
set Hero_Inventory_HotKeyRight = OSKEY_NUMPAD6
set Hero_Inventory_HotKeyRightString = "NumPad 6"
endif
if (StringCase(udg_Hero_Inventory_BtnRight, true) == "NUMPAD7") then
set Hero_Inventory_HotKeyRight = OSKEY_NUMPAD7
set Hero_Inventory_HotKeyRightString = "NumPad 7"
endif
if (StringCase(udg_Hero_Inventory_BtnRight, true) == "NUMPAD8") then
set Hero_Inventory_HotKeyRight = OSKEY_NUMPAD8
set Hero_Inventory_HotKeyRightString = "NumPad 8"
endif
if (StringCase(udg_Hero_Inventory_BtnRight, true) == "NUMPAD9") then
set Hero_Inventory_HotKeyRight = OSKEY_NUMPAD9
set Hero_Inventory_HotKeyRightString = "NumPad 9"
endif
if (StringCase(udg_Hero_Inventory_BtnRight, true) == "NUMPAD/") then
set Hero_Inventory_HotKeyRight = OSKEY_DIVIDE
set Hero_Inventory_HotKeyRightString = "NumPad ÷"
endif
if (StringCase(udg_Hero_Inventory_BtnRight, true) == "NUMPAD*") then
set Hero_Inventory_HotKeyRight = OSKEY_MULTIPLY
set Hero_Inventory_HotKeyRightString = "NumPad ×"
endif
if (StringCase(udg_Hero_Inventory_BtnRight, true) == "NUMPAD-") then
set Hero_Inventory_HotKeyRight = OSKEY_SUBTRACT
set Hero_Inventory_HotKeyRightString = "NumPad -"
endif
if (StringCase(udg_Hero_Inventory_BtnRight, true) == "NUMPAD+") then
set Hero_Inventory_HotKeyRight = OSKEY_ADD
set Hero_Inventory_HotKeyRightString = "NumPad +"
endif
endfunction
function Hero_Inventory_Init takes nothing returns nothing
local integer i = 0
local trigger t
//создание фреймов
local framehandle invButtonLeft = BlzCreateFrame("ScriptDialogButton", BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI,0), 0, 100)
local framehandle invButtonLeftTooltipBackground = BlzCreateFrame("QuestButtonBaseTemplate", BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0), 0, 100)
local framehandle invButtonLeftTooltipText = BlzCreateFrameByType("TEXT", "MyScriptDialogButtonTooltip", invButtonLeftTooltipBackground, "", 100)
local framehandle invButtonRight = BlzCreateFrame("ScriptDialogButton", BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI,0), 0, 101)
local framehandle invButtonRightTooltipBackground = BlzCreateFrame("QuestButtonBaseTemplate", BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0), 0, 101)
local framehandle invButtonRightTooltipText = BlzCreateFrameByType("TEXT", "MyScriptDialogButtonTooltip", invButtonRightTooltipBackground, "", 101)
local framehandle invButtonPage = BlzCreateFrame("ScriptDialogButton", BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI,0), 0, 102)
call BlzFrameSetSize(invButtonLeft, 0.033, 0.025)
call BlzFrameSetSize(invButtonRight, 0.033, 0.025)
call BlzFrameSetSize(invButtonPage, 0.04, 0.025)
call BlzFrameSetSize(invButtonLeftTooltipText, 0, 0)
call BlzFrameSetSize(invButtonRightTooltipText, 0, 0)
call BlzFrameSetAbsPoint(invButtonPage, FRAMEPOINT_CENTER, 0.5513,0.1425)
call BlzFrameSetPoint(invButtonLeft, FRAMEPOINT_RIGHT, invButtonPage, FRAMEPOINT_LEFT, 0.005, 0)
call BlzFrameSetPoint(invButtonRight, FRAMEPOINT_LEFT, invButtonPage, FRAMEPOINT_RIGHT, -0.005, 0)
call BlzFrameSetPoint(invButtonLeftTooltipBackground, FRAMEPOINT_BOTTOMLEFT, invButtonLeftTooltipText, FRAMEPOINT_BOTTOMLEFT, -0.01, -0.01)
call BlzFrameSetPoint(invButtonLeftTooltipBackground, FRAMEPOINT_TOPRIGHT, invButtonLeftTooltipText, FRAMEPOINT_TOPRIGHT, 0.01, 0.01)
call BlzFrameSetPoint(invButtonRightTooltipBackground, FRAMEPOINT_BOTTOMLEFT, invButtonRightTooltipText, FRAMEPOINT_BOTTOMLEFT, -0.01, -0.01)
call BlzFrameSetPoint(invButtonRightTooltipBackground, FRAMEPOINT_TOPRIGHT, invButtonRightTooltipText, FRAMEPOINT_TOPRIGHT, 0.01, 0.01)
call BlzFrameSetTooltip(invButtonLeft, invButtonLeftTooltipBackground)
call BlzFrameSetTooltip(invButtonRight, invButtonRightTooltipBackground)
call BlzFrameSetPoint(invButtonLeftTooltipText, FRAMEPOINT_BOTTOM, invButtonLeft, FRAMEPOINT_TOP, 0, 0.005)
call BlzFrameSetPoint(invButtonRightTooltipText, FRAMEPOINT_BOTTOM, invButtonRight, FRAMEPOINT_TOP, 0, 0.005)
call BlzFrameSetAlpha(invButtonLeftTooltipBackground, 25)
call BlzFrameSetAlpha(invButtonRightTooltipBackground, 25)
call BlzFrameSetEnable(invButtonLeftTooltipText, false)
if udg_Hero_Inventory_BtnLeft != "" then
call BlzFrameSetText(invButtonLeftTooltipText, "Previous page (|cffffcc00" + udg_Hero_Inventory_BtnLeft + "|r)\n|cffc0c0c0Click to view previous inventory page.|r")
else
call BlzFrameSetText(invButtonLeftTooltipText, "Previous page\n|cffc0c0c0Click to view previous inventory page.|r")
endif
call BlzFrameSetEnable(invButtonRightTooltipText, false)
if udg_Hero_Inventory_BtnRight != "" then
call BlzFrameSetText(invButtonRightTooltipText, "Next page (|cffffcc00" + udg_Hero_Inventory_BtnRight + "|r)\n|cffc0c0c0Click to view next inventory page.|r")
else
call BlzFrameSetText(invButtonRightTooltipText, "Next page\n|cffc0c0c0Click to view next inventory page.|r")
endif
call BlzFrameSetText(invButtonLeft, "←")
call BlzFrameSetText(invButtonRight, "→")
call BlzFrameSetText(invButtonPage, "|cffff0000Error|r")
call BlzFrameSetEnable(BlzGetFrameByName("ScriptDialogButton", 102), false)
//регистрация событий нажатия
call BlzTriggerRegisterFrameEvent(trigInvLeft, invButtonLeft, FRAMEEVENT_CONTROL_CLICK)
call TriggerAddAction(trigInvLeft, function HeroInventory_Event)
call BlzTriggerRegisterFrameEvent(trigInvRight, invButtonRight, FRAMEEVENT_CONTROL_CLICK)
call TriggerAddAction(trigInvRight, function HeroInventory_Event)
loop
call BlzTriggerRegisterPlayerKeyEvent(trigHotkeyLeft, Player(i), Hero_Inventory_HotKeyLeft, 0, true)
call BlzTriggerRegisterPlayerKeyEvent(trigHotkeyRight, Player(i), Hero_Inventory_HotKeyRight, 0, true)
call HeroInventory_BtnShow (Player(i))
set i = i + 1
exitwhen i > 24
endloop
call TriggerAddAction(trigHotkeyLeft, function HeroInventory_Event)
call TriggerAddAction(trigHotkeyRight, function HeroInventory_Event)
endfunction
endlibrary
function HRV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I02C')or(GetItemTypeId(GetManipulatedItem())=='I02G')or(GetItemTypeId(GetManipulatedItem())=='I02K')or(GetItemTypeId(GetManipulatedItem())=='I02O')or(GetItemTypeId(GetManipulatedItem())=='I02S')or(GetItemTypeId(GetManipulatedItem())=='I02W')or(GetItemTypeId(GetManipulatedItem())=='I030')
endfunction
function HIV takes nothing returns boolean
return(HRV())
endfunction
function HAV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I02C')
endfunction
function HNV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I02G')
endfunction
function HBV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I02K')
endfunction
function HCV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I02O')
endfunction
function HDV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I02S')
endfunction
function HFV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I02W')
endfunction
function HGV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I030')
endfunction
function HHV takes nothing returns nothing
if(HAV())then
call TriggerExecute(udg_TJ)
return
endif
if(HNV())then
call TriggerExecute(udg_WJ)
return
endif
if(HBV())then
call TriggerExecute(udg_ZJ)
return
endif
if(HCV())then
call TriggerExecute(udg_EK)
return
endif
if(HDV())then
call TriggerExecute(udg_OK)
return
endif
if(HFV())then
call TriggerExecute(udg_IK)
return
endif
if(HGV())then
call TriggerExecute(udg_NK)
return
endif
endfunction
function HJV takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)>=36000)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02D')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02E'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02F')==false)
endfunction
function HKV takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)>=20000)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02E')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02F')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02D'))
endfunction
function HLV takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)>=8000)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02E')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02F')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02D')==false)
endfunction
function HMV takes nothing returns nothing
if(HLV())then
call UnitAddItemByIdSwapped('I02D',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)-8000))
else
if(HKV())then
call RemoveItem(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I02D'))
call UnitAddItemByIdSwapped('I02E',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)-20000))
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Items\\AIem\\AIemTarget.mdl")
call TriggerExecute(udg_XB)
else
if(HJV())then
call RemoveItem(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I02E'))
call UnitAddItemByIdSwapped('I02F',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)-36000))
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Items\\AIem\\AIemTarget.mdl")
call TriggerExecute(udg_XB)
endif
endif
endif
endfunction
function HPV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I02D')or(GetItemTypeId(GetManipulatedItem())=='I02E')or(GetItemTypeId(GetManipulatedItem())=='I02F')
endfunction
function HQV takes nothing returns boolean
return(HPV())
endfunction
function HSV takes nothing returns boolean
return(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I02D')or(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I02E')or(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I02F')
endfunction
function HTV takes nothing returns boolean
return(HSV())
endfunction
function HUV takes nothing returns boolean
return(udg_VV>=2)
endfunction
function HWV takes nothing returns nothing
set udg_VV=0
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=6
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
if(HTV())then
set udg_VV=(udg_VV+1)
endif
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
if(HUV())then
call UnitRemoveItemSwapped(GetManipulatedItem(),GetTriggerUnit())
endif
endfunction
function HYV takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)>=100000)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02J')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02I'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02H')==false)
endfunction
function HZV takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)>=40000)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02I')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02J')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02H'))
endfunction
function H_V takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)>=10000)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02H')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02I')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02J')==false)
endfunction
function H0V takes nothing returns nothing
if(H_V())then
call UnitAddItemByIdSwapped('I02H',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)-10000))
else
if(HZV())then
call RemoveItem(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I02H'))
call UnitAddItemByIdSwapped('I02I',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)-40000))
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Items\\AIem\\AIemTarget.mdl")
call TriggerExecute(udg_XB)
else
if(HYV())then
call RemoveItem(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I02I'))
call UnitAddItemByIdSwapped('I02J',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)-100000))
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Items\\AIem\\AIemTarget.mdl")
call TriggerExecute(udg_XB)
endif
endif
endif
endfunction
function H1V takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I02H')or(GetItemTypeId(GetManipulatedItem())=='I02I')or(GetItemTypeId(GetManipulatedItem())=='I02J')
endfunction
function H2V takes nothing returns boolean
return(H1V())
endfunction
function H3V takes nothing returns boolean
return(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I02H')or(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I02I')or(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I02J')
endfunction
function H4V takes nothing returns boolean
return(H3V())
endfunction
function H5V takes nothing returns boolean
return(udg_VV>=2)
endfunction
function H6V takes nothing returns nothing
set udg_VV=0
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=6
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
if(H4V())then
set udg_VV=(udg_VV+1)
endif
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
if(H5V())then
call UnitRemoveItemSwapped(GetManipulatedItem(),GetTriggerUnit())
endif
endfunction
function H7V takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)>=350000)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02L')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02M'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02N')==false)
endfunction
function H8V takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)>=100000)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02L'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02M')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02N')==false)
endfunction
function H9V takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)>=15000)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02L')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02M')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02N')==false)
endfunction
function JVV takes nothing returns nothing
if(H9V())then
call UnitAddItemByIdSwapped('I02L',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)-15000))
else
if(H8V())then
call RemoveItem(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I02L'))
call UnitAddItemByIdSwapped('I02M',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)-100000))
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Items\\AIem\\AIemTarget.mdl")
call TriggerExecute(udg_XB)
else
if(H7V())then
call RemoveItem(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I02M'))
call UnitAddItemByIdSwapped('I02N',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)-350000))
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Items\\AIem\\AIemTarget.mdl")
call TriggerExecute(udg_XB)
endif
endif
endif
endfunction
function JEV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I02L')or(GetItemTypeId(GetManipulatedItem())=='I02M')or(GetItemTypeId(GetManipulatedItem())=='I02N')
endfunction
function JXV takes nothing returns boolean
return(JEV())
endfunction
function JOV takes nothing returns boolean
return(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I02L')or(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I02M')or(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I02N')
endfunction
function JRV takes nothing returns boolean
return(JOV())
endfunction
function JIV takes nothing returns boolean
return(udg_VV>=2)
endfunction
function JAV takes nothing returns nothing
set udg_VV=0
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=6
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
if(JRV())then
set udg_VV=(udg_VV+1)
endif
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
if(JIV())then
call UnitRemoveItemSwapped(GetManipulatedItem(),GetTriggerUnit())
endif
endfunction
function JNV takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)>=64000)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02Q')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02P'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02R')==false)
endfunction
function JBV takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)>=32000)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02Q'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02P')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02R')==false)
endfunction
function JCV takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)>=16000)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02Q')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02P')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02R')==false)
endfunction
function JDV takes nothing returns nothing
if(JCV())then
call UnitAddItemByIdSwapped('I02Q',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)-16000))
else
if(JBV())then
call RemoveItem(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I02Q'))
call UnitAddItemByIdSwapped('I02P',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)-32000))
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Items\\AIem\\AIemTarget.mdl")
call TriggerExecute(udg_XB)
else
if(JNV())then
call RemoveItem(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I02P'))
call UnitAddItemByIdSwapped('I02R',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)-64000))
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Items\\AIem\\AIemTarget.mdl")
call TriggerExecute(udg_XB)
endif
endif
endif
endfunction
function JFV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I02Q')or(GetItemTypeId(GetManipulatedItem())=='I02P')or(GetItemTypeId(GetManipulatedItem())=='I02R')
endfunction
function JGV takes nothing returns boolean
return(JFV())
endfunction
function JHV takes nothing returns boolean
return(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I02Q')or(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I02P')or(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I02R')
endfunction
function JJV takes nothing returns boolean
return(JHV())
endfunction
function JKV takes nothing returns boolean
return(udg_VV>=2)
endfunction
function JLV takes nothing returns nothing
set udg_VV=0
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=6
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
if(JJV())then
set udg_VV=(udg_VV+1)
endif
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
if(JKV())then
call UnitRemoveItemSwapped(GetManipulatedItem(),GetTriggerUnit())
endif
endfunction
function JMV takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER)>=250)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02T')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02U'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02V')==false)
endfunction
function JPV takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER)>='d')and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02T'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02U')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02V')==false)
endfunction
function JQV takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER)>=40)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02T')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02U')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02V')==false)
endfunction
function JSV takes nothing returns nothing
if(JQV())then
call UnitAddItemByIdSwapped('I02T',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER)-40))
else
if(JPV())then
call RemoveItem(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I02T'))
call UnitAddItemByIdSwapped('I02U',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER)-'d'))
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Items\\AIem\\AIemTarget.mdl")
call TriggerExecute(udg_XB)
else
if(JMV())then
call RemoveItem(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I02U'))
call UnitAddItemByIdSwapped('I02V',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER)-250))
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Items\\AIem\\AIemTarget.mdl")
call TriggerExecute(udg_XB)
endif
endif
endif
endfunction
function JTV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I02T')or(GetItemTypeId(GetManipulatedItem())=='I02U')or(GetItemTypeId(GetManipulatedItem())=='I02V')
endfunction
function JUV takes nothing returns boolean
return(JTV())
endfunction
function JWV takes nothing returns boolean
return(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I02T')or(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I02U')or(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I02V')
endfunction
function JYV takes nothing returns boolean
return(JWV())
endfunction
function JZV takes nothing returns boolean
return(udg_VV>=2)
endfunction
function J_V takes nothing returns nothing
set udg_VV=0
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=6
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
if(JYV())then
set udg_VV=(udg_VV+1)
endif
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
if(JZV())then
call UnitRemoveItemSwapped(GetManipulatedItem(),GetTriggerUnit())
endif
endfunction
function J0V takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER)>=225)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02Y')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02X'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02Z')==false)
endfunction
function J1V takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER)>=80)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02Y'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02X')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02Z')==false)
endfunction
function J2V takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER)>=8)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02Y')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02X')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I02Z')==false)
endfunction
function J3V takes nothing returns nothing
if(J2V())then
call UnitAddItemByIdSwapped('I02Y',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER)-8))
else
if(J1V())then
call RemoveItem(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I02Y'))
call UnitAddItemByIdSwapped('I02X',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER)-80))
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Items\\AIem\\AIemTarget.mdl")
call TriggerExecute(udg_XB)
else
if(J0V())then
call RemoveItem(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I02X'))
call UnitAddItemByIdSwapped('I02Z',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_LUMBER)-225))
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Items\\AIem\\AIemTarget.mdl")
call TriggerExecute(udg_XB)
endif
endif
endif
endfunction
function J4V takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I02Y')or(GetItemTypeId(GetManipulatedItem())=='I02X')or(GetItemTypeId(GetManipulatedItem())=='I02Z')
endfunction
function J5V takes nothing returns boolean
return(J4V())
endfunction
function J6V takes nothing returns boolean
return(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I02Y')or(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I02X')or(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I02Z')
endfunction
function J7V takes nothing returns boolean
return(J6V())
endfunction
function J8V takes nothing returns boolean
return(udg_VV>=2)
endfunction
function J9V takes nothing returns nothing
set udg_VV=0
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=6
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
if(J7V())then
set udg_VV=(udg_VV+1)
endif
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
if(J8V())then
call UnitRemoveItemSwapped(GetManipulatedItem(),GetTriggerUnit())
endif
endfunction
function KVV takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)>=9000)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I031')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I032'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I033')==false)
endfunction
function KEV takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)>=6500)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I031'))and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I032')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I033')==false)
endfunction
function KXV takes nothing returns boolean
return(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)>=4000)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I031')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I032')==false)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I033')==false)
endfunction
function KOV takes nothing returns nothing
if(KXV())then
call UnitAddItemByIdSwapped('I031',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)-4000))
else
if(KEV())then
call RemoveItem(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I031'))
call UnitAddItemByIdSwapped('I032',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)-6500))
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Items\\AIem\\AIemTarget.mdl")
call TriggerExecute(udg_XB)
else
if(KVV())then
call RemoveItem(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I032'))
call UnitAddItemByIdSwapped('I033',GetTriggerUnit())
call SetPlayerStateBJ(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD,(GetPlayerState(GetOwningPlayer(GetTriggerUnit()),PLAYER_STATE_RESOURCE_GOLD)-9000))
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Items\\AIem\\AIemTarget.mdl")
call TriggerExecute(udg_XB)
endif
endif
endif
endfunction
function KRV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I031')or(GetItemTypeId(GetManipulatedItem())=='I032')or(GetItemTypeId(GetManipulatedItem())=='I033')
endfunction
function KIV takes nothing returns boolean
return(KRV())
endfunction
function KAV takes nothing returns boolean
return(udg_VV==2)
endfunction
function KNV takes nothing returns boolean
return(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I031')or(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I032')or(GetItemTypeId(UnitItemInSlotBJ(GetTriggerUnit(),bj_forLoopAIndex))=='I033')
endfunction
function KBV takes nothing returns boolean
return(KNV())
endfunction
function KCV takes nothing returns nothing
set udg_VV=0
set bj_forLoopAIndex=1
set bj_forLoopAIndexEnd=6
loop
exitwhen bj_forLoopAIndex>bj_forLoopAIndexEnd
if(KBV())then
set udg_VV=(udg_VV+1)
if(KAV())then
call UnitRemoveItemSwapped(GetManipulatedItem(),GetTriggerUnit())
return
endif
endif
set bj_forLoopAIndex=bj_forLoopAIndex+1
endloop
endfunction
//===========================================================================
function MAV takes nothing returns nothing
call EnumItemsInRectBJ(RectFromCenterSizeBJ(GetSpellTargetLoc(),200.,200.),function MIV)
endfunction
function MNV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I01P')and(GetUnitStateSwap(UNIT_STATE_MANA,udg_M[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])>=450.)and(UnitHasItemOfTypeBJ(GetTriggerUnit(),'I00C')==false)
endfunction
function MBV takes nothing returns boolean
return(UnitItemInSlotBJ(GetTriggerUnit(),1)==null)or(UnitItemInSlotBJ(GetTriggerUnit(),2)==null)or(UnitItemInSlotBJ(GetTriggerUnit(),3)==null)or(UnitItemInSlotBJ(GetTriggerUnit(),4)==null)or(UnitItemInSlotBJ(GetTriggerUnit(),5)==null)or(UnitItemInSlotBJ(GetTriggerUnit(),6)==null)
endfunction
function MCV takes nothing returns boolean
return(MBV())
endfunction
function MDV takes nothing returns nothing
if(MCV())then
call SetUnitManaBJ(udg_M[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],(GetUnitStateSwap(UNIT_STATE_MANA,udg_M[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])-450.))
call UnitAddItemByIdSwapped('I00C',GetTriggerUnit())
call StartTimerBJ(udg_Y[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],false,60.)
call CreateTimerDialogBJ(udg_Y[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],"Gauntlets expire in")
set udg_LO[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=bj_lastCreatedTimerDialog
call TimerDialogDisplay(bj_lastCreatedTimerDialog,false)
call TimerDialogDisplayForPlayerBJ(true,udg_LO[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],GetOwningPlayer(GetTriggerUnit()))
call TriggerSleepAction(60.)
call RemoveItem(GetItemOfTypeFromUnitBJ(GetTriggerUnit(),'I00C'))
call TimerDialogDisplayForPlayerBJ(false,udg_LO[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],GetOwningPlayer(GetTriggerUnit()))
call DestroyTimerDialog(udg_LO[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])
endif
endfunction
function MFV takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='tret')
endfunction
function MGV takes nothing returns boolean
return(udg_LR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]==false)
endfunction
function MHV takes nothing returns boolean
return(udg_MR[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]==false)
endfunction
function MJV takes nothing returns boolean
return(GetUnitAbilityLevelSwapped('A06E',udg_V[5])>=GetUnitAbilityLevelSwapped('A06E',udg_V[6]))and(GetUnitAbilityLevelSwapped('A06E',udg_V[5])>=GetUnitAbilityLevelSwapped('A06E',udg_V[7]))and(GetUnitAbilityLevelSwapped('A06E',udg_V[5])>=GetUnitAbilityLevelSwapped('A06E',udg_V[8]))
endfunction
function MKV takes nothing returns boolean
return(GetUnitAbilityLevelSwapped('A06E',udg_V[6])>=GetUnitAbilityLevelSwapped('A06E',udg_V[5]))and(GetUnitAbilityLevelSwapped('A06E',udg_V[6])>=GetUnitAbilityLevelSwapped('A06E',udg_V[7]))and(GetUnitAbilityLevelSwapped('A06E',udg_V[6])>=GetUnitAbilityLevelSwapped('A06E',udg_V[8]))
endfunction
function MLV takes nothing returns boolean
return(GetUnitAbilityLevelSwapped('A06E',udg_V[7])>=GetUnitAbilityLevelSwapped('A06E',udg_V[5]))and(GetUnitAbilityLevelSwapped('A06E',udg_V[7])>=GetUnitAbilityLevelSwapped('A06E',udg_V[6]))and(GetUnitAbilityLevelSwapped('A06E',udg_V[7])>=GetUnitAbilityLevelSwapped('A06E',udg_V[8]))
endfunction
function MMV takes nothing returns boolean
return(GetUnitAbilityLevelSwapped('A06E',udg_V[8])>=GetUnitAbilityLevelSwapped('A06E',udg_V[5]))and(GetUnitAbilityLevelSwapped('A06E',udg_V[8])>=GetUnitAbilityLevelSwapped('A06E',udg_V[6]))and(GetUnitAbilityLevelSwapped('A06E',udg_V[8])>=GetUnitAbilityLevelSwapped('A06E',udg_V[7]))
endfunction
function MPV takes nothing returns boolean
return(GetUnitAbilityLevelSwapped('A06E',udg_V[1])>=GetUnitAbilityLevelSwapped('A06E',udg_V[2]))and(GetUnitAbilityLevelSwapped('A06E',udg_V[1])>=GetUnitAbilityLevelSwapped('A06E',udg_V[3]))and(GetUnitAbilityLevelSwapped('A06E',udg_V[1])>=GetUnitAbilityLevelSwapped('A06E',udg_V[4]))
endfunction
function MQV takes nothing returns boolean
return(GetUnitAbilityLevelSwapped('A06E',udg_V[2])>=GetUnitAbilityLevelSwapped('A06E',udg_V[1]))and(GetUnitAbilityLevelSwapped('A06E',udg_V[2])>=GetUnitAbilityLevelSwapped('A06E',udg_V[3]))and(GetUnitAbilityLevelSwapped('A06E',udg_V[2])>=GetUnitAbilityLevelSwapped('A06E',udg_V[4]))
endfunction
function MSV takes nothing returns boolean
return(GetUnitAbilityLevelSwapped('A06E',udg_V[3])>=GetUnitAbilityLevelSwapped('A06E',udg_V[1]))and(GetUnitAbilityLevelSwapped('A06E',udg_V[3])>=GetUnitAbilityLevelSwapped('A06E',udg_V[2]))and(GetUnitAbilityLevelSwapped('A06E',udg_V[3])>=GetUnitAbilityLevelSwapped('A06E',udg_V[4]))
endfunction
function MTV takes nothing returns boolean
return(GetUnitAbilityLevelSwapped('A06E',udg_V[4])>=GetUnitAbilityLevelSwapped('A06E',udg_V[1]))and(GetUnitAbilityLevelSwapped('A06E',udg_V[4])>=GetUnitAbilityLevelSwapped('A06E',udg_V[2]))and(GetUnitAbilityLevelSwapped('A06E',udg_V[4])>=GetUnitAbilityLevelSwapped('A06E',udg_V[3]))
endfunction
function MUV takes nothing returns boolean
return(IsUnitAlly(GetTriggerUnit(),Player(0)))
endfunction
function P4V takes nothing returns boolean
return(GetItemTypeId(GetManipulatedItem())=='I01C')
endfunction
function P5V takes nothing returns boolean
return(IsUnitEnemy(GetTriggerUnit(),Player(8))==false)
endfunction
function P6V takes nothing returns boolean
return(IsUnitEnemy(GetTriggerUnit(),Player(10))==false)
endfunction
function P7V takes nothing returns boolean
return(udg_BV[udg_VV]==1)
endfunction
function P8V takes nothing returns boolean
return(udg_BV[udg_VV]>=3)
endfunction
function P9V takes nothing returns nothing
if(P5V())then
set udg_VV=1
endif
if(P6V())then
set udg_VV=2
endif
if(P8V())then
set udg_BV[udg_VV]=(udg_BV[udg_VV]-3)
call SetUnitManaBJ(udg_M[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],(GetUnitStateSwap(UNIT_STATE_MANA,udg_M[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))])+75.))
call DisplayTextToForce(udg_K[udg_VV],("|cff7777aa Souls left : "+(I2S(udg_BV[udg_VV])+" ")))
if(P7V())then
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[udg_VV],(I2S(udg_BV[udg_VV])+" Souls"))
else
call MultiboardSetItemValueBJ(bj_lastCreatedMultiboard,1,udg_MV[udg_VV],(I2S(udg_BV[udg_VV])+" Souls"))
endif
else
call DisplayTextToForce(udg_K[udg_VV],"|cff7777aaYour team does not have enough Souls.|r")
endif
endfunction
function QuadraticBezier takes real t, real p1, real p2, real p3 returns real
return Pow((1-t),2)*p1 + 2*(1-t)*t*p2 + Pow(t,2)*p3
endfunction
//TESH.scrollpos=23
//TESH.alwaysfold=1
function Trig_SpellDemonicStorm_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A0AH' ) ) then
return false
endif
return true
endfunction
function Trig_SpellDemonicStorm_Func001Func001C takes nothing returns boolean
if ( not ( IsUnitVisible(GetFilterUnit(), GetOwningPlayer(GetSpellAbilityUnit())) == true ) ) then
return false
endif
if ( not ( IsUnitAliveBJ(GetFilterUnit()) == true ) ) then
return false
endif
if ( not ( IsPlayerEnemy(GetOwningPlayer(GetFilterUnit()), GetOwningPlayer(GetSpellAbilityUnit())) == true ) ) then
return false
endif
return true
endfunction
function Trig_SpellDemonicStorm_Func001A takes nothing returns nothing
call CreateNUnitsAtLoc( 1, 'h003', GetOwningPlayer(GetSpellAbilityUnit()), GetUnitLoc(GetEnumUnit()), bj_UNIT_FACING )
set udg_Unit_b = GetLastCreatedUnit()
call IssueTargetOrderBJ( udg_Unit_b, "fingerofdeath", GetEnumUnit() )
endfunction
function Trig_SpellDemonicStorm_Func001Z takes nothing returns nothing
call UnitDamageTargetBJ( udg_Unit_b, GetEnumUnit(), ( GetUnitStateSwap(UNIT_STATE_LIFE, GetEnumUnit()) * ( 0.35 + ( 0.15 * I2R(GetUnitAbilityLevelSwapped('A0GR', udg_Unit_b)) ) ) ), ATTACK_TYPE_HERO, DAMAGE_TYPE_DIVINE )
endfunction
function Trig_SpellDemonicStorm_Actions takes nothing returns nothing
local group g = CreateGroup()
local boolexpr filter = Condition(function Trig_SpellDemonicStorm_Func001Func001C)
call GroupEnumUnitsInRangeOfLoc(g, GetUnitLoc(GetSpellAbilityUnit()), 900, filter)
call ForGroupBJ( g, function Trig_SpellDemonicStorm_Func001A )
set udg_Unit_b = GetSpellAbilityUnit()
call TriggerSleepAction(0.2)
call ForGroup(g, function Trig_SpellDemonicStorm_Func001Z)
call DestroyBoolExpr(filter)
call DestroyGroup(g)
endfunction
//===========================================================================
function InitTrig_SpellDemonicStorm takes nothing returns nothing
set gg_trg_SpellDemonicStorm = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_SpellDemonicStorm, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_SpellDemonicStorm, Condition( function Trig_SpellDemonicStorm_Conditions ) )
call TriggerAddAction( gg_trg_SpellDemonicStorm, function Trig_SpellDemonicStorm_Actions )
endfunction
function RSV takes nothing returns boolean
return(GetSpellAbilityId()=='A05Z')
endfunction
function RTV takes nothing returns boolean
return(IsUnitAliveBJ(GetEnumUnit()))and(IsUnitEnemy(GetEnumUnit(),GetOwningPlayer(GetTriggerUnit())))
endfunction
function RUV takes nothing returns nothing
if(RTV())then
call IssueTargetOrderById(udg_HS,852227,GetEnumUnit())
endif
endfunction
function RWV takes nothing returns nothing
set udg_J=GetSpellTargetLoc()
set udg_FE=ZT((182.+(I2R(GetUnitAbilityLevelSwapped('A05Z',GetTriggerUnit()))*20.)),udg_J)
call ForGroupBJ(udg_FE,function RUV)
call DestroyGroup(udg_FE)
call RemoveLocation(udg_J)
set udg_FE=null
endfunction
function RYV takes nothing returns boolean
return(GetSpellAbilityId()=='ANcs')
endfunction
function RZV takes nothing returns boolean
return(UnitHasBuffBJ(GetEnumUnit(),'BUsl')==false)
endfunction
function R_V takes nothing returns boolean
return(IsUnitAliveBJ(GetEnumUnit()))and(IsUnitEnemy(GetEnumUnit(),GetOwningPlayer(GetTriggerUnit())))
endfunction
function R0V takes nothing returns nothing
if(R_V())then
if(RZV())then
call CreateNUnitsAtLoc(1,'o011',GetOwningPlayer(GetTriggerUnit()),Location(0,0),bj_UNIT_FACING)
call SetUnitAbilityLevelSwapped('A063',bj_lastCreatedUnit,GetUnitAbilityLevelSwapped('ANcs',GetTriggerUnit()))
call IssueTargetOrderById(bj_lastCreatedUnit,852209,GetEnumUnit())
call UnitApplyTimedLifeBJ(16.,'BTLF',bj_lastCreatedUnit)
else
call CreateNUnitsAtLoc(1,'o010',GetOwningPlayer(GetTriggerUnit()),Location(0,0),bj_UNIT_FACING)
call SetUnitAbilityLevelSwapped('A064',bj_lastCreatedUnit,GetUnitAbilityLevelSwapped('ANcs',GetTriggerUnit()))
call IssueTargetOrderById(bj_lastCreatedUnit,852209,GetEnumUnit())
call UnitApplyTimedLifeBJ(16.,'BTLF',bj_lastCreatedUnit)
endif
endif
endfunction
function R1V takes nothing returns nothing
set udg_J=GetSpellTargetLoc()
set udg_FE=ZT((182.+(I2R(GetUnitAbilityLevelSwapped('ANcs',GetTriggerUnit()))*20.)),udg_J)
call ForGroupBJ(udg_FE,function R0V)
call RemoveLocation(udg_J)
set udg_FE=null
call DestroyGroup(udg_FE)
endfunction
JeffQ's Basic Chain System v2.00f
Created Date: 22 January 2010
Author: JeffQ a.k.a JeffreyQ, SmileyJeff
**Official version will only be destributed by ME (JeffQ, JeffreyQ. SmileyJeff). Anyone else who upload this is edited.
I have been working on my AoS map and decided to create a chain system that can do pretty much anything.
Because my AoS have alot of chain spells that are in GUI.
So here it is. After 3 days of hardworking and understanding indexing. I present you JeffQ's Basic Chain System (MUI/GUI using Indexing).
======================
Change Log
======================
v2.00f, 24 Feb 2010
- Chain should no longer jump to buildings/structures.
- Some demo ability can still target buildings, this is because i didn't limit the target allowed at the ability editor. (Nothing to do with the system)
v2.00e, 31 Jan 2010
- Fix lightning height to match cliff or raised terrain.
- Added a raised terrain and cliff to test out.
v2.00d, 25 Jan 2010
- Rearrange Folder for easier implementing in other maps.
- Updated "How To Use" in the README to give a step by step tutorial on how to implement. Please do give it a read.
v2.00c, 24 Jan 2010
- Chain now gets unit height +25. Meaning that if you target a flying unit, the chain height will change accordingly.
- Added a few flying units to let you try out the dynamic chain height.
- Added Chain Globals Trigger to store Locust.
- Chain should now only jump to units that doesn't have locust (This should remove the limitation of where you need to only base all other ability dummies on my dummy as long as your custom dummies have locust).
v2.00b, 23 Jan 2010
- Lightning effect now won't stick to ground.
v2.00a, 23 Jan 2010
- Fix 2 major bugs that make the chain not MUI for chain effect and Stun effect.
- Due to setting the wrong index. Now it has been fixed and should no longer containt any more bugs! Thanks to my sis for testing out this with me [:
v2.00, 22 Jan 2010
- Revamp the chain effect system.
- Remove dummy type. You still have to copy the dummy to your map though.
- Remove finger of death limitations. Now you can choose your chain effect freely.
- Added a new Chain Effect Trigger.
- This allows the chain to follow the unit if it is moving.
- Polish code.
- Fixed a few bugs in code.
- Added Implementation Details Trigger and tidy up the Example 1-8 Implementations.
- Removed all (SFX) ability as now you can use the QJC_ChainSFX to set your lightning effect.
v1.14, 22 Jan 2010
- Added 2 new abilities chain sheep and chain invisible to show the flexibility of this system and how to play around with stun/slow effect to your advantages.
v1.13a, 22 Jan 2010
- Added a sleep ability in the implementation after Kingz asked me what if he wanted to create a chain sleep. (No additional system code added).
- Fix several bugs.
v1.12, 21 Jan 2010
- Periodic Time change to 0.03seconds. And System Time update + 0.03 from 0.01.
v1.11a, 21 Jan 2010
- Fixed Implementation Example Comment for Chain Effect.
v1.11, 21 Jan 2010
- Initial Release.
======================
Customizable Features
======================
- Damage (Boolean: Only damage enemies nomatter what. If you want to damage ally use health and set ally = true)
- Heal (Boolean: Only heal Allies nomatter what)
- Health (Boolean: Make enemy lose health depending on Amount of Damage Type)
- Mana (Boolean: Make enemy lose mana depending on Amount of Damage Type)
- Gold (Boolean: Make enemy lose gold depending on Amount of Damage Type)
- Leech (Boolean: Only affects Health, Mana, Gold. If true, it will transfer Health/Mana/Gold over to the caster)
- Slow (Boolean: If true, it will slow units depending on slow effect)
- Slow Effect (Ability: The ability of slow effect, BASE ALL SLOW ON HUMAN SORCERESS SLOW!!)
- Stun (Boolean: If true, it will stun units depending on stun effect)
- Stun Effect (Ability: The ability of stun effect, BASE ALL STUN ON STORM BOLT!!)
- AoE (Boolean: If true, it will do AoE damage.)
- AoE Radius (Real: Set the radius of AoE Effect)
- Target Effect (String: Lets you insert your effect path)
- Chain Effect (LightningType: Feel free to choose your lightning effect for the chain)
- Amount of Damage Type (Real: Damage, Heal, Health, Mana, Gold)
- Amount Reduction (Real: Each jump reduce a percentage of amount of damage type)
- Jump Count (Integer: How many units it will jump)
- Jump Radius (Real: The range of how far the chain can jump between units)
- Jump Delay (Real: Supports the chain jump delay seconds. 0.10 is the effect of chain lightning, 0.00 is "ALMOST" instant)
- One Per Unit (Boolean: Chain will only hit the unit once if set to true)
- Priority (Boolean: Hit lowest health 1st)
- Ally (Boolean: Hit Ally if set to true, if enemy is also true, it will hit both)
- Enemy (Boolean: Hit Enemy if set to true, if elly is also true, it will hit both)
- Target Unit (Unit: Target Unit, set to No unit if no target or have a target point)
- Point (Point: Target Point, if has a target unit or no target disable this)
- No Target (Boolean: If true, disable point and set unit to no unit)
- Attack (Attack Type: Customize your own attack type)
- Damage Type (Damage Type: Customize your own damage type)
======================
Rules
======================
They are some rules applied to use this system. Is more of a technical limitation.
I will talk more about this after letting you know how to use.
1. Do not touch anything in Chain Create, Chain Jump and Chain Effect Trigger. Those are the system.
2. For implementation examples. Please look at the 8 examples of how flexible you can change the chain to what you want.
3. This system needs you to know the usage of Unit Editor and Ability/Buff Editor.
4. QJC_VarName, This is the only variables you can set.
5. QJCS_VarName are for system variables. So don't even touch it unless you know what you are doing.
======================
How to Use?
======================
If your map is a New Map without any triggers:
1. Open JeffQ's Basic Chain System map.
2. Open Trigger Editor.
3. File > Export Triggers.
4. Open your map.
5. Open Trigger Editor.
6. File > Import Triggers.
7. Remember to copy the Dummy over too.
If your map has existing triggers:
1. Open JeffQ's Basic Chain System map.
2. Copy JeffQ's Chain System folder by right-clicking it and select Copy.
3. Open your map.
4. File > Preference > Check "Automatically create unknown variables while pasting trigger data".
5. Open Object Editor. Create a Dummy base on anything, name it Dummy and give it locust and remove its model. Or just copy the dummy from my map.
6. Open Trigger Editor.
7. Right click on the Map Name, or any other trigger/category/comments, and select Paste.
8. Create a variable by pressing CTRL+B and name it QJCS_ChainZ of type Real, array size of 1.
9. Go to "Chain Create" Trigger, find any Disabled Actions, enable it by right clicking and check Enable.
10.Go to "Chain Jump" Trigger, find any Disabled Actions, enable it by right clicking and check Enable.
11.Go to "Chain effect" Trigger, find any Disabled Actions, enable it by right clicking and check Enable.
======================
Vars you need to set
======================
QJC_Caster : Triggering Unit
- Your caster.
QJC_TargetUnit : Target unit of ability being cast
- Set this to No unit if your spell is target point or instant cast.
QJC_TargetPoint : Target point of ability being cast
- Disable this if you have a target unit or instant cast.
QJC_NoTarget : True/False
- Set this to true if your spell is instant cast.
- Remember to disable QJC_TargetPoint and set QJC_TargetUnit to No Unit.
QJC_Priority : True/False
- If true, it will find the lowest health unit in range first.
QJC_OnePerUnit : True/False
- If true, it will only hit the target once.
QJC_Damage : True/False
- If true, this chain will do damage to enemy depending on QJC_Amount.
QJC_Heal : True/False
- If true, this chain will heal ally depending on QJC_Amount.
QJC_Health : True/False
- If true, it will make enemy lose health.
- If leech is on, it will transfer health over to the caster.
QJC_Mana : True/False
- If true, it will make enemy lose mana.
- If leech is on, it will transfer mana over to the caster.
QJC_Gold : True/False
- If true, it will make enemy lose gold.
- If leech is on, it will transfer gold over to the caster.
QJC_Leech : True/False
- If true, it will apply leeching effect to Health/Mana/Gold type.
QJC_Ally : True/False
- If true, it will hit ally.
- If enemy is also true, it will hit both.
QJC_Enemy : True/False
- If true, it will hit enemy.
- If ally is also true, it will hit both.
QJC_Amount : Real
- The amount of damage type you want this chain to do.
- Eg: QJCGold = true, QJC_Amount = 100, it will make enemy lose 100gold.
QJC_ChainSFX : Lightning Type
- Feel free to choose the lightning type for your chain.
QJC_TargetSFX : String
- Lets you set the special effect for unit when hit by chain.
QJC_AttackType : Attack Type
- Nothing much to say about this.
QJC_DamageType : Damage Type
- Nothing much to say about this.
QJC_AmountReduce: Real
- This is base on percentage.
- If it is 0.00, each chain jump won't reduce QJC_Amount
- If it is 0.10, each chain jump will decreament QJC_Amount by 10%.
- Least is 0.00, Max is 1.00.
QJC_JumpCount : Integer
- Set the amount of jumps for the chain.
QJC_JumpDelayTime: Real
- This is base on seconds.
- Least is 0.00, Max is 1.00
- Set to 0.10 to get the effect of Blizzard Chain Lightning
QJC_JumpRadius : Real
- How far can the chain jump between points.
QJC_Slow : Boolean
- Set to true to slow enemies.
- You have to set QJC_SlowEffect if you want this to work.
QJC_SlowEffect : Ability
- Disable this if Slow Effect is False.
- Slow effect must base on HUMAN SLOW. NO BUTS!
- For example, go to "Ability Editor > Custom Abilities > Neutral Hostile > Units".
- Slow effect will have a (Slow) behind the name.
QJC_Stun : Boolean
- Set to true to stun enemies.
- You have to set QJC_StunEffect if you want this to work.
QJC_StunEffect : Ability
- Disable this if stun effect is false.
- Stun effect must base on STORM BOLT. NO BUTS!
- For example, go to "Ability Editor > Custom Abilities > Neutral Hostile > Units".
- Stun effect will have a (Stun) behind the name)
QJC_AoE : Boolean
- Set to true to do AoE.
- You have to set QJC_AoERadius to make this work. If not the radius will be 0.00.
QJC_AoERadius : Real
- The AoE range you want.
Trigger - Run Chain Create <gen> (checking conditions)
- This must always be included in the trigger of your spell. If not the system won't run.
- Must check conditions.
======================
Limitations
======================
Q: Why i need to base Chain Effect on Finger of Death?
A: I order the dummy unit to cast fingerofdeath order command. And also finger of death let's you do chain effects while channel can't for some reason.
Q: Why i need to base Slow on Human Sorceress Slow?
A: I order the dummy unit to cast Human Sorceress - Slow when i do this. If you base it on other spells, it just won't work.
Q: Why i need to base Stun on Storm Bolt?
A: I order the dummy unit to cast Human Mountain King - Storm Bolt.
Q: Why must dummy be invulnerable and not Locust? And why must it have no model?
A: Because i order the dummy to finger of death the next dummy. If it is locust, it can't be finger of death for the chain effect. No model makes it unselectable on map and won't display health if you hold down ALT key.
Q: Why not ask the dummy to chain the target? Is so much simpler.
A: No. After 3 days of testing. If the target dies the dummy won't be fast enough to cast the chain, and thus, no chain effect.
Q: So where did you hide that dummy? Where can i find it to copy it to my map?
A: It's at the Object Editor > Unit > Custom Units > Night Elf > Melee > Units. There you can find Dummy. Say hi.
======================
Flexibility
======================
1. If you fully know how to use this system. It is quite flexible as you can set the Slow and Stun effect by changing the buffs of the Abilities.
2. Alot of things stack except for a few limitations. You can set all to true and see what happens [:
3. You can target point, target unit or No Target!
======================
Bug Reports & Feedback
======================
Please send an email to [email protected] if you find a bug. Or post it on the comment at Hive Work Shop.
======================
Credits
======================
Thanks to the below who shed some light on me about indexing and leaks.
- Kingz
- YourNameHere
- baassee
- Adiktuz
- Maker
- TitanHex
- D4RK_G4ND4LF
- And other people if i miss out.
Special Thanks to Kingz who show me his simple lightning system. I learned alot from it and after understanding i made 1 my own to fit my system.
***Enjoy this system [:
//TESH.scrollpos=0
//TESH.alwaysfold=0
function WaveVoodoo_Conditions takes nothing returns boolean
return GetSpellAbilityId()=='A0CK'
endfunction
//===========================================================================
function WaveVoodoo_Filter1 takes nothing returns boolean
if(not(IsUnitType(GetFilterUnit(),UNIT_TYPE_STRUCTURE)==false))then
return false
endif
if(not(IsPlayerAlly(GetOwningPlayer(GetFilterUnit()),GetOwningPlayer(GetSpellAbilityUnit()))==true))then
return false
endif
if(not(GetUnitState(GetFilterUnit(),UNIT_STATE_LIFE)>0==true))then
return false
endif
return true
endfunction
function WaveVoodoo_Filter2 takes nothing returns boolean
if(not(IsUnitType(GetFilterUnit(),UNIT_TYPE_STRUCTURE)==false))then
return false
endif
if(not(IsPlayerEnemy(GetOwningPlayer(GetFilterUnit()),GetOwningPlayer(GetSpellAbilityUnit()))==true))then
return false
endif
if(not(GetUnitState(GetFilterUnit(),UNIT_STATE_LIFE)>0==true))then
return false
endif
return true
endfunction
//===========================================================================
function WaveVoodoo_Actions takes nothing returns nothing
local unit u=GetSpellAbilityUnit()
local unit t=GetSpellTargetUnit()
local unit a
local group g=CreateGroup()
local integer i=GetUnitAbilityLevel(u,'A0CK')
local location l=GetUnitLoc(u)
local boolexpr filter1=Condition(function WaveVoodoo_Filter1)
local boolexpr filter2=Condition(function WaveVoodoo_Filter2)
local unit d1=CreateUnitAtLoc(GetOwningPlayer(u),'h009',l,0)
local unit d2=CreateUnitAtLoc(GetOwningPlayer(u),'h009',l,0)
call UnitAddAbility(d1,'A0CL')
call UnitAddAbility(d2,'A0CM')
call SetUnitAbilityLevel(d1,'A0CL',i)
call SetUnitAbilityLevel(d2,'A0CM',i)
call UnitApplyTimedLife(d1,'BTLF',4)
call UnitApplyTimedLife(d2,'BTLF',4)
if IsPlayerEnemy(GetOwningPlayer(u),GetOwningPlayer(t))==true then
call IssueTargetOrder(d1,"forkedlightning",t)
call GroupEnumUnitsInRange(g,GetUnitX(t),GetUnitY(t),300,filter1)
set a=GroupPickRandomUnit(g)
call DestroyGroup(g)
call IssueTargetOrder(d2,"forkedlightning",a)
elseif IsPlayerAlly(GetOwningPlayer(u),GetOwningPlayer(t))==true then
call IssueTargetOrder(d2,"forkedlightning",t)
call GroupEnumUnitsInRange(g,GetUnitX(t),GetUnitY(t),300,filter2)
set a=GroupPickRandomUnit(g)
call DestroyGroup(g)
call IssueTargetOrder(d1,"forkedlightning",a)
endif
call DestroyBoolExpr(filter1)
call DestroyBoolExpr(filter2)
call RemoveLocation(l)
set u=null
set t=null
set a=null
set d1=null
set d2=null
endfunction
//===========================================================================
function InitTrig_WaveVoodoo takes nothing returns nothing
set gg_trg_WaveVoodoo=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(gg_trg_WaveVoodoo,EVENT_PLAYER_UNIT_SPELL_EFFECT)
call TriggerAddCondition(gg_trg_WaveVoodoo,Condition(function WaveVoodoo_Conditions))
call TriggerAddAction(gg_trg_WaveVoodoo,function WaveVoodoo_Actions)
endfunction
//TESH.scrollpos=0
//TESH.alwaysfold=0
function HealingWave_Conditions takes nothing returns boolean
return(GetRandomInt(1,100)<=35+GetUnitAbilityLevel(GetAttacker(),'A0CN'))and GetUnitAbilityLevel(GetAttacker(),'A0CN')>0 and IsUnitEnemy(GetTriggerUnit(),GetOwningPlayer(GetAttacker()))==true
endfunction
function HealingWave_Condition takes nothing returns boolean
return GetUnitAbilityLevel(GetEventDamageSource(),'A0CN')>0
endfunction
function HealingWave takes nothing returns nothing
local unit a=GetEventDamageSource()
local location l=GetUnitLoc(a)
local integer i=GetUnitAbilityLevel(a,'A0CN')
local unit d=CreateUnitAtLoc(GetOwningPlayer(a),'h009',l,0)
call UnitAddAbility(d,'A0CP')
call SetUnitAbilityLevel(d,'A0CP',i)
call UnitApplyTimedLife(d,'BTLF',4)
call IssueTargetOrder(d,"healingwave",a)
call RemoveLocation(l)
set d=null
set a=null
call DestroyTrigger(GetTriggeringTrigger())
endfunction
//===========================================================================
function HealingWave_Actions takes nothing returns nothing
local trigger t=CreateTrigger()
local unit u=GetTriggerUnit()
local unit a=GetAttacker()
local boolexpr c=Condition(function HealingWave_Condition)
call TriggerRegisterUnitEvent(t,u,EVENT_UNIT_DAMAGED)
call TriggerAddCondition(t,c)
call TriggerAddAction(t,function HealingWave)
call TriggerSleepAction(1)
call DestroyTrigger(t)
set u=null
set a=null
set t=null
set c=null
endfunction
//===========================================================================
function InitTrig_HealingWave takes nothing returns nothing
set gg_trg_HealingWave=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(gg_trg_HealingWave,EVENT_PLAYER_UNIT_ATTACKED)
call TriggerAddCondition(gg_trg_HealingWave,Condition(function HealingWave_Conditions))
call TriggerAddAction(gg_trg_HealingWave,function HealingWave_Actions)
endfunction
//TESH.scrollpos=138
//TESH.alwaysfold=0
//================================================================================================
//Loop - Costum Motion
//================================================================================================
//A very useful system for looping structs. If you want to know more about this small system
//then check out our website. ("www.ngo.clan.su")
//! textmacro CostumMotion takes type,run,end,periodic
static timer loopExe=CreateTimer()
static integer size =0
static $type$ array runStruct[maxIndex]
boolean active
boolean paused
static method loopRun takes nothing returns nothing
local integer index=0
loop
exitwhen index==$type$.size
if not $type$.runStruct[index].paused then
if $type$.runStruct[index].active then
call $type$.runStruct[index].$run$()
set index=index+1
else
call $type$.runStruct[index].$end$()
set $type$.size=$type$.size-1
set $type$.runStruct[index]=$type$.runStruct[$type$.size]
endif
else
set index=index+1
endif
endloop
if $type$.size==0 then
call PauseTimer($type$.loopExe)
endif
endmethod
static method addMotion takes $type$ data returns integer
if $type$.size==0 then
call TimerStart($type$.loopExe,$periodic$,true,function $type$.loopRun)
endif
set $type$.runStruct[$type$.size] =data
set $type$.runStruct[$type$.size].active=true
set $type$.runStruct[$type$.size].paused=false
set $type$.size =$type$.size+1
return $type$.size
endmethod
//! endtextmacro
//================================================================================================
//Hashtable Index System
//================================================================================================
library HIS
globals
//Config Part
private constant integer size=8190
private constant integer pos =0
//Hashtable Var
private hashtable tempcache=InitHashtable()
//Important SystemVars
private integer array inUse[size]
private integer array last [size]
private integer indexsize=0
private integer lastsize =0
endglobals
//System Code
function AddHandleIndex takes handle h returns nothing
local integer id=GetHandleId(h)
local integer qi
if HaveSavedInteger(tempcache,id,pos) then
set qi=LoadInteger(tempcache,id,pos)
set inUse[qi]=inUse[qi]+1
elseif lastsize>0 then
set lastsize =lastsize-1
set inUse[last[lastsize]]=1
call SaveInteger(tempcache,id,pos,last[lastsize])
else
set inUse[indexsize]=1
call SaveInteger(tempcache,id,pos,indexsize)
set indexsize=indexsize+1
endif
endfunction
function GetHandleIndex takes handle h returns integer
debug if not HaveSavedInteger(tempcache,GetHandleId(h),pos) then
debug call BJDebugMsg("Error: No index attached to handle [#100]")
debug endif
return LoadInteger(tempcache,GetHandleId(h),pos)
endfunction
function ClearHandleIndex takes handle h returns nothing
local integer id=GetHandleId(h)
local integer qi=LoadInteger(tempcache,id,pos)
debug if HaveSavedInteger(tempcache,id,pos) then
set inUse[qi]=inUse[qi]-1
if inUse[qi]==0 then
set last[lastsize]=qi
set lastsize =lastsize+1
call FlushChildHashtable(tempcache,id)
endif
debug else
debug call BJDebugMsg("Error: No index attached to handle [#101]")
debug endif
endfunction
endlibrary
//================================================================================================
//Functions - Standart Functions
//================================================================================================
library MainFunctions initializer init
globals
constant real deg2rad =0.017453 //Set the degree to radians value
constant real rad2deg =57.2957795//Set the radians to degree value
constant integer maxIndex =8190 //Set the maximal index number
constant real PreX =700. //Preload X
constant real PreY =700. //Preload Y
public group loopG =null
public item getWalkable =null
public location loc =null
public boolexpr filter =null
constant integer invulnerable_id ='Avul'
constant integer purge_buff_id ='Bprg'
public constant integer getWalkable_id ='sehr'
public constant integer flyHack ='Amrf'
endglobals
function GetProVal takes real value returns real
if value<0. then
return value*-1
endif
return value
endfunction
//Little helpful functions
function ClearTextMessagesForPlayer takes player p returns nothing
if (GetLocalPlayer()==p) then
call ClearTextMessages()
endif
endfunction
function UnitAddFly takes unit u returns nothing
call UnitAddAbility(u,flyHack)
call UnitRemoveAbility(u,flyHack)
endfunction
function A2PXY takes real x,real y,real xt,real yt returns real
return ModuloReal(rad2deg*Atan2(yt-y,xt-x),360.)
endfunction
function D2PXY takes real x,real y,real xt,real yt returns real
local real dx=xt-x
local real dy=yt-y
return SquareRoot(dx*dx+dy*dy)
endfunction
function IsPointWalkable takes real x,real y returns boolean
call SetItemPosition(getWalkable,x,y)
call SetItemVisible(getWalkable,false)
return GetItemX(getWalkable)==x and GetItemY(getWalkable)==y
endfunction
function GetPointWalkableX takes real x,real y returns real
call SetItemPosition(getWalkable,x,y)
call SetItemVisible(getWalkable,false)
return GetItemX(getWalkable)
endfunction
function GetPointWalkableY takes real x,real y returns real
call SetItemPosition(getWalkable,x,y)
call SetItemVisible(getWalkable,false)
return GetItemY(getWalkable)
endfunction
function DebugFilter takes nothing returns boolean
return true
endfunction
function GetUnitsInRange takes real radius,real x,real y returns group
call GroupEnumUnitsInRange(loopG,x,y,radius,filter)
return loopG
endfunction
function GetClonedGroup takes group g returns group
set bj_groupAddGroupDest = loopG
call ForGroup(g, function GroupAddGroupEnum)
return loopG
endfunction
function RangedReal takes real v,real min,real max returns real
if v<min then
// return min
elseif v>max then
// return max
endif
return v
endfunction
function GetZ takes real x,real y returns real
call MoveLocation(loc,x,y)
return GetLocationZ(loc)
endfunction
//Credits to JonNny for the Parabula
function GetFlyParabula takes real maxheight , real zs , real zt , real q returns real
return (maxheight * Sin(q*bj_PI))+ q * (zt-zs)
endfunction
//Generic unit filter
function IsUnitNotImmun takes unit c,unit u returns boolean
if IsUnitEnemy(u,GetOwningPlayer(c)) then
if GetUnitState(u,UNIT_STATE_LIFE)>0. then
if GetUnitAbilityLevel(u,invulnerable_id)<=0 then
if IsUnitType(u,UNIT_TYPE_MAGIC_IMMUNE)==false then
return IsUnitType(u,UNIT_TYPE_STRUCTURE)==false
endif
endif
endif
endif
return false
endfunction
function IsUnitNotBuffImmune takes unit u returns boolean
if IsUnitType(u,UNIT_TYPE_RESISTANT)==false then
if IsUnitType(u,UNIT_TYPE_MAGIC_IMMUNE)==false then
if GetUnitState(u,UNIT_STATE_LIFE)>0. then
if GetUnitAbilityLevel(u,invulnerable_id)<=0 then
return GetUnitAbilityLevel(u,purge_buff_id)<=0
endif
endif
endif
endif
return false
endfunction
function TerrainDeformationRippleXY takes real duration, boolean limitNeg, real x,real y, real startRadius, real endRadius, real depth, real wavePeriod, real waveWidth returns terraindeformation
local real spaceWave
local real timeWave
local real radiusRatio
if (endRadius <= 0 or waveWidth <= 0 or wavePeriod <= 0) then
return null
endif
set timeWave = 2.0 * duration / wavePeriod
set spaceWave = 2.0 * endRadius / waveWidth
set radiusRatio = startRadius / endRadius
set bj_lastCreatedTerrainDeformation = TerrainDeformRipple(x,y, endRadius, depth, R2I(duration * 1000), 1, spaceWave, timeWave, radiusRatio, limitNeg)
return bj_lastCreatedTerrainDeformation
endfunction
//Clearing Handles
function AB_DestroyTrigger takes trigger trig returns nothing
if trig!=null then
call TriggerClearActions(trig)
call TriggerClearConditions(trig)
call DestroyTrigger(trig)
endif
endfunction
function AB_DestroyTimer takes timer t returns nothing
if t!=null then
call PauseTimer(t)
call DestroyTimer(t)
endif
endfunction
function AB_DestroyGroup takes group g returns nothing
if g!=null then
call GroupClear(g)
call DestroyGroup(g)
endif
endfunction
function AB_DialogDestroy takes dialog log returns nothing
if log!=null then
call DialogClear(log)
call DialogDestroy(log)
endif
endfunction
function AB_DestroyMultiboard takes multiboard lb returns nothing
if lb!=null then
call MultiboardClear(lb)
call DestroyMultiboard(lb)
endif
endfunction
//Initialization of the varibales
private function init takes nothing returns nothing
set getWalkable=CreateItem(getWalkable_id,0,0)
set loc =Location(0,0)
set loopG =CreateGroup()
set filter =Filter(function DebugFilter)
call SetItemVisible(getWalkable,false)
endfunction
endlibrary
//Count function for rects in a area
library CountDestructable requires MainFunctions
globals
private rect dat_prove=Rect(0,0,0,0)
endglobals
private function EnumCountDestructables takes nothing returns nothing
if GetDestructableLife(GetEnumDestructable())>0 then
set bj_forLoopAIndex=bj_forLoopAIndex+1
endif
endfunction
function CountDestructableInRangeOfXY takes real x,real y,real range returns integer
call SetRect(dat_prove,x-range,y-range,x+range,y+range)
set bj_forLoopAIndex=0
call EnumDestructablesInRect(dat_prove,MainFunctions_filter,function EnumCountDestructables)
return bj_forLoopAIndex
endfunction
endlibrary
//================================================================================================
//Loop - Buff Check (Debug for some spells)
//================================================================================================
//This is just made for this spellpack. If you have questions about this system just ask me.
library BuffCheck requires MainFunctions
private struct BuffCheckData
integer buffid
real time
real max
unit u
method check takes nothing returns nothing
set .time=.time+0.5
set .active=.time<=.max and GetUnitAbilityLevel(.u,.buffid)>0
endmethod
method endcheck takes nothing returns nothing
call UnitRemoveAbility(.u,.buffid)
set .u=null
call .destroy()
endmethod
//! runtextmacro CostumMotion("BuffCheckData","check","endcheck","0.5")
endstruct
function DestroyBuffAfterTime takes unit u,integer buffid,real maxtime returns nothing
local BuffCheckData bc
if GetUnitAbilityLevel(u,buffid)>0 then
call UnitRemoveAbility(u,buffid)
else
set bc=BuffCheckData.create()
set bc.u =u
set bc.buffid=buffid
set bc.time =0.
set bc.max =maxtime
call BuffCheckData.addMotion(bc)
endif
endfunction
endlibrary
//================================================================================================
//Loop - Buff Effects
//================================================================================================
//This is just made for this spellpack. If you have questions about this system just ask me.
//! textmacro BuffEffect takes abilityId,periodic,prefix
private struct $prefix$BuffData
static timer loopExe=CreateTimer()
static integer size =0
static integer array executer [maxIndex]
static $prefix$BuffData array runStruct[maxIndex]
unit victim
real duration
real time
static method BuffCheck takes nothing returns nothing
local integer index=0
local integer id
loop
exitwhen index==$prefix$BuffData.size
set id=$prefix$BuffData.executer[index]
set $prefix$BuffData.runStruct[id].time=$prefix$BuffData.runStruct[id].time+$periodic$
if $prefix$BuffData.runStruct[id].time>=$prefix$BuffData.runStruct[id].duration then
call UnitRemoveAbility($prefix$BuffData.runStruct[id].victim,$abilityId$)
call ClearHandleIndex($prefix$BuffData.runStruct[id].victim)
set $prefix$BuffData.runStruct[id].victim=null
call $prefix$BuffData.runStruct[id].destroy()
set $prefix$BuffData.size=$prefix$BuffData.size-1
set $prefix$BuffData.executer[index]=$prefix$BuffData.executer[$prefix$BuffData.size]
elseif not IsUnitNotBuffImmune($prefix$BuffData.runStruct[id].victim) then
call UnitRemoveAbility($prefix$BuffData.runStruct[id].victim,$abilityId$)
call ClearHandleIndex($prefix$BuffData.runStruct[id].victim)
set $prefix$BuffData.runStruct[id].victim=null
call $prefix$BuffData.runStruct[id].destroy()
set $prefix$BuffData.size=$prefix$BuffData.size-1
set $prefix$BuffData.executer[index]=$prefix$BuffData.executer[$prefix$BuffData.size]
else
set index=index+1
endif
endloop
if $prefix$BuffData.size==0 then
call PauseTimer($prefix$BuffData.loopExe)
endif
endmethod
endstruct
private function UnitAdd$prefix$Buff takes unit victim,real duration,integer lvl returns nothing
local integer index
if $prefix$BuffData.size==0 then
call TimerStart($prefix$BuffData.loopExe,$periodic$,true,function $prefix$BuffData.BuffCheck)
endif
if GetUnitAbilityLevel(victim,$abilityId$)>0 then
set index=GetHandleIndex(victim)
call UnitRemoveAbility(victim,$abilityId$)
else
call AddHandleIndex(victim)
set index =GetHandleIndex(victim)
set $prefix$BuffData.runStruct[index] =$prefix$BuffData.create()
set $prefix$BuffData.executer[$prefix$BuffData.size]=index
set $prefix$BuffData.size =$prefix$BuffData.size+1
endif
set $prefix$BuffData.runStruct[index].victim =victim
set $prefix$BuffData.runStruct[index].duration =duration
set $prefix$BuffData.runStruct[index].time =0.
call UnitAddAbility(victim,$abilityId$)
call SetUnitAbilityLevel(victim,$abilityId$,lvl)
endfunction
//! endtextmacro
//================================================================================================
//Loop - Motion System
//================================================================================================
//This is a easy motion system which make some basic motions.
//It's helpful if you don't want to write some stuff again and
//again.
library MotionDatabase initializer init requires MainFunctions
globals
private constant real MinimalChaseRange=10.
public unit tm //Temp Missle
public unit tc //Temp Caster
public unit tv //Temp Victim
public integer tdata //Temp Data
private rect MaxArea =null
public real periodic =0.03
endglobals
struct JumpDatabase
unit u
real distance
real maxdistance
real angle
real speed
real x
real y
real mx
real my
real array z[3]
method motion takes nothing returns nothing
local real curv
local real x
local real y
local real z
set .distance=.distance+.speed
if .distance>.maxdistance then
call SetUnitFlyHeight(.u,GetUnitDefaultFlyHeight(.u),0)
set .active=false
else
set x=.x+.mx
set y=.y+.my
set z=GetZ(x,y)
set curv=GetFlyParabula(.z[1],.z[0],.z[2],.distance/.maxdistance) + (.z[0]-z)
if RectContainsCoords(MaxArea,x,y) then
call SetUnitPosition(.u,x,y)
set .x=x
set .y=y
endif
call SetUnitFlyHeight(.u,curv,0)
endif
endmethod
method endmotion takes nothing returns nothing
set .u=null
call .destroy()
endmethod
//! runtextmacro CostumMotion("JumpDatabase","motion","endmotion","periodic")
endstruct
struct ChaseDatabase
unit u
unit target
unit attacker
real speed
real z
real Rz
string endfunc
integer data
integer loopMember
method motion takes nothing returns nothing
local real Ux =GetUnitX(.u)
local real Uy =GetUnitY(.u)
local real Tx =GetUnitX(.target)
local real Ty =GetUnitY(.target)
local real distance =D2PXY(Ux,Uy,Tx,Ty)
local real angle
if distance>MinimalChaseRange then
set angle=Atan2(Ty-Uy,Tx-Ux)
set Ux=Ux+.speed*Cos(angle)
set Uy=Uy+.speed*Sin(angle)
call SetUnitPosition(.u,Ux,Uy)
call SetUnitFlyHeight(.u,.z,.Rz)
else
set .active=false
endif
endmethod
method endmotion takes nothing returns nothing
set tv =.target
set tm =.u
set tc =.attacker
set tdata=.data
call ExecuteFunc(.endfunc)
set .u =null
set .target =null
set .attacker=null
call .destroy()
endmethod
//! runtextmacro CostumMotion("ChaseDatabase","motion","endmotion","periodic")
endstruct
struct CollisionDatabase
unit u
unit attacker
real speed
real angle
real z
real Rz
real range
real distance
real x
real y
string endfunc
integer data
integer loopMember
method motion takes nothing returns nothing
local unit a
local group g
local integer c
set .distance=.distance-.speed
if .distance>0. then
set .x=.x+.speed*Cos(.angle)
set .y=.y+.speed*Sin(.angle)
call SetUnitPosition(.u,.x,.y)
call SetUnitFlyHeight(.u,.z,.Rz)
set g=GetUnitsInRange(.range,.x,.y)
set c=0
loop
set a=FirstOfGroup(g)
exitwhen a==null
call GroupRemoveUnit(g,a)
if IsUnitNotImmun(.attacker,a) and a!=.u then
set c=c+1
endif
endloop
call GroupClear(g)
set g=null
set .active=c<=0
else
set .active=false
endif
endmethod
method endmotion takes nothing returns nothing
set tc =.attacker
set tm =.u
set tdata=.data
call ExecuteFunc(.endfunc)
set .u =null
set .attacker=null
call .destroy()
endmethod
//! runtextmacro CostumMotion("CollisionDatabase","motion","endmotion","periodic")
endstruct
function LaunchMissileAtPointEx takes unit u,real x1,real y1,real bZ,real maxZ,real x2,real y2,real endz,real speed returns nothing
local JumpDatabase JD =JumpDatabase.create()
set JD.u =u
set JD.z[0] =GetZ(x1,y1)+bZ
set JD.z[1] =maxZ
set JD.z[2] =GetZ(x2,y2)+endz
set JD.x =x1
set JD.y =y1
set JD.speed =speed
set JD.distance =0.
set JD.maxdistance =D2PXY(x1,y1,x2,y2)
set JD.angle =Atan2(y2-y1,x2-x1)
set JD.mx =speed*Cos(JD.angle)
set JD.my =speed*Sin(JD.angle)
call UnitAddFly(u)
call SetUnitX(u,x1)
call SetUnitY(u,y1)
call JumpDatabase.addMotion(JD)
endfunction
function LaunchNormalChaseMissileAtPointEx takes unit attacker,unit missile,real x1,real y1,real z,unit victim,real speed,real Zrate,string colfunc,integer data returns nothing
local ChaseDatabase CD =ChaseDatabase.create()
set CD.u =missile
set CD.z =z
set CD.attacker =attacker
set CD.target =victim
set CD.speed =speed
set CD.endfunc =colfunc
set CD.Rz =Zrate
set CD.data =data
call UnitAddFly(missile)
call SetUnitX(missile,x1)
call SetUnitY(missile,y1)
call ChaseDatabase.addMotion(CD)
endfunction
function LaunchNormalCollisionMissileAtPointEx takes unit attacker,unit missile,real x1,real y1,real z,real x2,real y2,real speed,real range,string colfunc,integer data returns nothing
local CollisionDatabase CD =CollisionDatabase.create()
set CD.u =missile
set CD.attacker =attacker
set CD.z =z
set CD.Rz =0.
set CD.x =x1
set CD.y =y1
set CD.range =range
set CD.speed =speed
set CD.endfunc =colfunc
set CD.distance =D2PXY(x1,y1,x2,y2)
set CD.angle =Atan2(y2-y1,x2-x1)
set CD.data =data
call UnitAddFly(missile)
call SetUnitX(missile,x1)
call SetUnitY(missile,y1)
call CollisionDatabase.addMotion(CD)
endfunction
private function init takes nothing returns nothing
set MaxArea=bj_mapInitialPlayableArea
endfunction
endlibrary
//================================================================================================
//Timer - Timer Recycler
//================================================================================================
//This is a standart timer recycler. It's so fast like TimerUtils and some benchmark tests
//showed that this system seems to be sometimes faster than both TimerUtil versions.
//But try it out yourself.
library TimerRecycler requires MainFunctions,HIS
globals
private constant integer pos =0
private hashtable hs =InitHashtable()
private integer lastsize =0
private timer array last[maxIndex]
endglobals
//! textmacro NextTimer takes name,type,func
function GetNextTimer$name$ takes $type$ dat returns timer
local integer index
local timer temp
if lastsize>0 then
set lastsize=lastsize-1
set temp =last[lastsize]
else
set temp =CreateTimer()
endif
call AddHandleIndex(temp)
call Save$func$(hs,GetHandleIndex(temp),pos,dat)
return temp
endfunction
//! endtextmacro
//! runtextmacro NextTimer("Int","integer","Integer")
//! runtextmacro NextTimer("Agent","agent","AgentHandle")
//! runtextmacro NextTimer("TextTag","texttag","TextTagHandle")
//! runtextmacro NextTimer("Lightning","lightning","LightningHandle")
//! textmacro GetType takes name,type,func
function GetTimerData$name$ takes timer t returns $type$
return Load$func$(hs,GetHandleIndex(t),pos)
endfunction
//! endtextmacro
//! runtextmacro GetType("Int","integer","Integer")
//! runtextmacro GetType("Unit","unit","UnitHandle")
//! runtextmacro GetType("Effect","effect","EffectHandle")
//! runtextmacro GetType("Lightning","lightning","LightningHandle")
//! runtextmacro GetType("TextTag","texttag","TextTagHandle")
function RecycleTimer takes timer t returns nothing
local integer index=GetHandleIndex(t)
call PauseTimer(t)
call ClearHandleIndex(t)
set last[lastsize]=t
set lastsize =lastsize+1
endfunction
endlibrary
//================================================================================================
//Group - Group Recycler
//================================================================================================
//A standart group recycler.
library GroupRecycler requires MainFunctions,HIS
globals
private integer max =0
private integer cmax =0
private group array rGroup
private integer array rInt[maxIndex]
endglobals
function GetNextGroup takes nothing returns group
set cmax=cmax+1
if max<cmax then
set rGroup[cmax]=CreateGroup()
set max =cmax
endif
call AddHandleIndex(rGroup[cmax])
set rInt[GetHandleIndex(rGroup[cmax])]=cmax
return rGroup[cmax]
endfunction
function RecycleGroup takes group g returns nothing
local integer index=GetHandleIndex(g)
call ClearHandleIndex(g)
set rGroup[rInt[index]] =rGroup[cmax]
set rInt[GetHandleIndex(rGroup[cmax])]=rInt[index]
set rGroup[cmax] =g
set cmax=cmax-1
endfunction
endlibrary
//================================================================================================
//Timed - Handle Destroy
//================================================================================================
//Some small useful functions.
library TimedHandleDead requires MainFunctions,TimerRecycler
function U2Death takes nothing returns nothing
local timer t = GetExpiredTimer()
call RemoveUnit(GetTimerDataUnit(t))
call RecycleTimer(t)
set t=null
endfunction
function U2Null takes unit u,real duration returns nothing
local timer t = GetNextTimerAgent(u)
call TimerStart(t,duration,false,function U2Death)
set t = null
endfunction
function E2Death takes nothing returns nothing
local timer t = GetExpiredTimer()
call DestroyEffect(GetTimerDataEffect(t))
call RecycleTimer(t)
set t=null
endfunction
function E2Null takes effect e,real duration returns nothing
local timer t = GetNextTimerAgent(e)
call TimerStart(t,duration,false,function E2Death)
set t = null
endfunction
function L2Death takes nothing returns nothing
local timer t = GetExpiredTimer()
call DestroyLightning(GetTimerDataLightning(t))
call RecycleTimer(t)
set t=null
endfunction
function L2Null takes lightning l,real duration returns nothing
local timer t = GetNextTimerLightning(l)
call TimerStart(t,duration,false,function L2Death)
set t = null
endfunction
function TT2Death takes nothing returns nothing
local timer t = GetExpiredTimer()
call DestroyTextTag(GetTimerDataTextTag(t))
call RecycleTimer(t)
set t=null
endfunction
function TT2Null takes texttag tt,real duration returns nothing
local timer t = GetNextTimerTextTag(tt)
call TimerStart(t,duration,false,function L2Death)
set t = null
endfunction
endlibrary
//================================================================================================
//Passiv - Damage Skill
//================================================================================================
//This system will be useful for skills like my Crush or Holy Shock spell. For more
//informations just ask me.
library DamageSkill initializer init requires MainFunctions,TimerRecycler
globals
private boolexpr array ExecuteFunction[maxIndex]
private unit array Attacker[maxIndex]
private unit array Attacked[maxIndex]
private trigger DamageDetect=null
private trigger EventExecute=null
private group InUseCache =null
private group RegisterCache =null
public unit attacker=null
public unit attacked=null
public real damage =0.
endglobals
function TriggerAddDamageEvent takes unit a,unit b,code func returns nothing
local integer id
if not IsUnitInGroup(a,RegisterCache) then
call TriggerRegisterUnitEvent(DamageDetect,a,EVENT_UNIT_DAMAGED)
call GroupAddUnit(RegisterCache,a)
endif
if not IsUnitInGroup(b,InUseCache) then
call AddHandleIndex(b)
set id=GetHandleIndex(b)
call GroupAddUnit(InUseCache,b)
else
set id=GetHandleIndex(b)
call DestroyBoolExpr(ExecuteFunction[id])
endif
set ExecuteFunction[id]=Filter(func)
set Attacker[id] =b
set Attacked[id] =a
endfunction
private function CheckRegister takes nothing returns boolean
return IsUnitInGroup(GetEventDamageSource(),InUseCache)
endfunction
private function GetDamage takes nothing returns nothing
local integer id =GetHandleIndex(GetEventDamageSource())
local triggercondition tc
set attacker=Attacker[id]
set attacked=Attacked[id]
set damage =GetEventDamage()
set tc=TriggerAddCondition(EventExecute,ExecuteFunction[id])
call TriggerEvaluate(EventExecute)
call TriggerRemoveCondition(EventExecute,tc)
call DestroyBoolExpr(ExecuteFunction[id])
call GroupRemoveUnit(InUseCache,Attacker[id])
call ClearHandleIndex(Attacker[id])
set ExecuteFunction[id]=null
set Attacker[id] =null
set Attacked[id] =null
set tc =null
endfunction
private function init takes nothing returns nothing
set InUseCache =CreateGroup()
set RegisterCache =CreateGroup()
set DamageDetect =CreateTrigger()
set EventExecute =CreateTrigger()
call TriggerAddAction(DamageDetect,function GetDamage)
call TriggerAddCondition(DamageDetect,Condition(function CheckRegister))
endfunction
endlibrary
function RYV takes nothing returns boolean
return(GetSpellAbilityId()=='ANcs')
endfunction
function RZV takes nothing returns boolean
return(UnitHasBuffBJ(GetEnumUnit(),'BUsl')==false)
endfunction
function R_V takes nothing returns boolean
return(IsUnitAliveBJ(GetEnumUnit()))and(IsUnitEnemy(GetEnumUnit(),GetOwningPlayer(GetTriggerUnit())))
endfunction
function R0V takes nothing returns nothing
if(R_V())then
if(RZV())then
call CreateNUnitsAtLoc(1,'o011',GetOwningPlayer(GetTriggerUnit()),Location(0,0),bj_UNIT_FACING)
call SetUnitAbilityLevelSwapped('A063',bj_lastCreatedUnit,GetUnitAbilityLevelSwapped('ANcs',GetTriggerUnit()))
call IssueTargetOrderById(bj_lastCreatedUnit,852209,GetEnumUnit())
call UnitApplyTimedLifeBJ(16.,'BTLF',bj_lastCreatedUnit)
else
call CreateNUnitsAtLoc(1,'o010',GetOwningPlayer(GetTriggerUnit()),Location(0,0),bj_UNIT_FACING)
call SetUnitAbilityLevelSwapped('A064',bj_lastCreatedUnit,GetUnitAbilityLevelSwapped('ANcs',GetTriggerUnit()))
call IssueTargetOrderById(bj_lastCreatedUnit,852209,GetEnumUnit())
call UnitApplyTimedLifeBJ(16.,'BTLF',bj_lastCreatedUnit)
endif
endif
endfunction
function R1V takes nothing returns nothing
set udg_J=GetSpellTargetLoc()
set udg_FE=ZT((182.+(I2R(GetUnitAbilityLevelSwapped('ANcs',GetTriggerUnit()))*20.)),udg_J)
call ForGroupBJ(udg_FE,function R0V)
call RemoveLocation(udg_J)
set udg_FE=null
call DestroyGroup(udg_FE)
endfunction
function KGV takes nothing returns boolean
return(GetSpellAbilityId()=='A03T')
endfunction
function KHV takes nothing returns boolean
return(IsUnitType(GetTriggerUnit(),UNIT_TYPE_SUMMONED)==false)
endfunction
function KJV takes nothing returns nothing
if(KHV())then
set udg_UE[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=(1+GetPlayerId(GetOwningPlayer(GetSpellTargetUnit())))
set udg_TE[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=true
endif
endfunction
function KKV takes nothing returns boolean
return(GetSpellAbilityId()=='A03T')
endfunction
function KLV takes nothing returns nothing
call TriggerSleepAction(.0)
set udg_TE[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=false
endfunction
function KQV takes nothing returns boolean
return(GetSpellAbilityId()=='A07Y')
endfunction
function KSV takes nothing returns nothing
set udg_J=GetUnitLoc(GetTriggerUnit())
call CreateItemLoc(udg_Q[GetRandomInt(1,9)],udg_J)
call UnitAddItem(GetTriggerUnit(),bj_lastCreatedItem)
call RemoveLocation(udg_J)
endfunction
//===========================================================================
function InitTrig_Make_Good_Items_Copy takes nothing returns nothing
set gg_trg_Make_Good_Items_Copy = CreateTrigger( )
call DisableTrigger( gg_trg_Make_Good_Items_Copy )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Make_Good_Items_Copy, EVENT_PLAYER_UNIT_SPELL_CAST )
call TriggerAddCondition( gg_trg_Make_Good_Items_Copy, Condition( function Trig_Make_Good_Items_Copy_Conditions ) )
call TriggerAddAction( gg_trg_Make_Good_Items_Copy, function Trig_Make_Good_Items_Copy_Actions )
endfunction
function Trig_Befriend_Conditions takes nothing returns boolean
return(GetSpellAbilityId()=='A06I')
endfunction
function Trig_Befriend_Func002002003001 takes nothing returns boolean
return(IsUnitAliveBJ(GetFilterUnit()))
endfunction
function Trig_Befriend_Func002002003002001 takes nothing returns boolean
return(IsUnitEnemy(GetFilterUnit(),GetOwningPlayer(GetTriggerUnit())))
endfunction
function Trig_Befriend_Func002002003002002001 takes nothing returns boolean
return(GetUnitTypeId(GetFilterUnit())!='n00M')
endfunction
function Trig_Befriend_Func002002003002002002001 takes nothing returns boolean
return(GetUnitTypeId(GetFilterUnit())!='n00L')
endfunction
function Trig_Befriend_Func002002003002002002002001 takes nothing returns boolean
return(GetUnitTypeId(GetFilterUnit())!='n00U')
endfunction
function Trig_Befriend_Func002002003002002002002002001 takes nothing returns boolean
return(GetUnitTypeId(GetFilterUnit())!='n017')
endfunction
function Trig_Befriend_Func002002003002002002002002002 takes nothing returns boolean
return(GetUnitTypeId(GetFilterUnit())!='h000')
endfunction
function Trig_Befriend_Func002002003002002002002002 takes nothing returns boolean
return GetBooleanAnd(Trig_Befriend_Func002002003002002002002002001(),Trig_Befriend_Func002002003002002002002002002())
endfunction
function Trig_Befriend_Func002002003002002002002 takes nothing returns boolean
return GetBooleanAnd(Trig_Befriend_Func002002003002002002002001(),Trig_Befriend_Func002002003002002002002002())
endfunction
function Trig_Befriend_Func002002003002002002 takes nothing returns boolean
return GetBooleanAnd(Trig_Befriend_Func002002003002002002001(),Trig_Befriend_Func002002003002002002002())
endfunction
function Trig_Befriend_Func002002003002002 takes nothing returns boolean
return GetBooleanAnd(Trig_Befriend_Func002002003002002001(),Trig_Befriend_Func002002003002002002())
endfunction
function Trig_Befriend_Func002002003002 takes nothing returns boolean
return GetBooleanAnd(Trig_Befriend_Func002002003002001(),Trig_Befriend_Func002002003002002())
endfunction
function Trig_Befriend_Func002002003 takes nothing returns boolean
return GetBooleanAnd(Trig_Befriend_Func002002003001(),Trig_Befriend_Func002002003002())
endfunction
function Trig_Befriend_Func006A takes nothing returns nothing
call IssueTargetOrderById(bj_lastCreatedUnit,852581,GetEnumUnit())
endfunction
function Trig_Befriend_Actions takes nothing returns nothing
set udg_L_POINT=GetSpellTargetLoc()
set udg_group01=GetUnitsInRangeOfLocMatching(130.,udg_L_POINT,Condition(function Trig_Befriend_Func002002003))
call CreateNUnitsAtLoc(1,'o005',GetOwningPlayer(GetTriggerUnit()),udg_L_POINT,bj_UNIT_FACING)
call UnitApplyTimedLifeBJ(1.,'BTLF',bj_lastCreatedUnit)
call UnitAddAbility(bj_lastCreatedUnit,'A0B4')
call ForGroupBJ(udg_group01,function Trig_Befriend_Func006A)
call DestroyGroup(udg_group01)
call RemoveLocation(udg_L_POINT)
endfunction
//===========================================================================
function InitTrig_Befriend takes nothing returns nothing
set gg_trg_Befriend = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Befriend, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Befriend, Condition( function Trig_Befriend_Conditions ) )
call TriggerAddAction( gg_trg_Befriend, function Trig_Befriend_Actions )
endfunction