leMONQUakE
L
leMONQUakE
hey can you add Attack Speed? 
function SimError takes nothing returns nothing
local string msg = "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n|cffffcc00Value is either too large or too small.|r"
local player ForPlayer = GetTriggerPlayer()
if (GetLocalPlayer() == ForPlayer) then
call ClearTextMessages()
call DisplayTimedTextToPlayer( ForPlayer, 0.52, 0.96, 2.00, msg )
call StartSound(udg_Error)
endif
set ForPlayer = null
endfunction
function AddHP takes nothing returns nothing
local integer i = 1
local integer max = 16383
if (udg_CS_Value > max) then
call SimError()
return
else
endif
loop
exitwhen i > udg_CS_MaxLoopingBase
if udg_CS_LoopingBase[i] > udg_CS_Value then
else
call UnitAddAbility(udg_CS_Unit, udg_CS_AddHP[i])
call IncUnitAbilityLevel(udg_CS_Unit, udg_CS_AddHP[i])
call UnitRemoveAbility(udg_CS_Unit, udg_CS_AddHP[i])
set udg_CS_Value = udg_CS_Value - udg_CS_LoopingBase[i]
endif
set i = i + 1
endloop
endfunction
function RemoveHP takes nothing returns nothing
local integer i = 1
local integer min = -16383
if (udg_CS_Value < min) then
call SimError()
return
else
endif
loop
exitwhen i > udg_CS_MaxLoopingBase
if udg_CS_LoopingBase[i] > udg_CS_Value then
else
call UnitAddAbility(udg_CS_Unit, udg_CS_RemoveHP[i])
call IncUnitAbilityLevel(udg_CS_Unit, udg_CS_RemoveHP[i])
call UnitRemoveAbility(udg_CS_Unit, udg_CS_RemoveHP[i])
set udg_CS_Value = udg_CS_Value - udg_CS_LoopingBase[i]
endif
set i = i + 1
endloop
endfunction
function AddMP takes nothing returns nothing
local integer i = 1
local integer max = 16383
if (udg_CS_Value > max) then
call SimError()
return
else
endif
loop
exitwhen i > udg_CS_MaxLoopingBase
if udg_CS_LoopingBase[i] > udg_CS_Value then
else
call UnitAddAbility(udg_CS_Unit, udg_CS_AddMP[i])
call IncUnitAbilityLevel(udg_CS_Unit, udg_CS_AddMP[i])
call UnitRemoveAbility(udg_CS_Unit, udg_CS_AddMP[i])
set udg_CS_Value = udg_CS_Value - udg_CS_LoopingBase[i]
endif
set i = i + 1
endloop
endfunction
function RemoveMP takes nothing returns nothing
local integer i = 1
local integer min = -16383
if (udg_CS_Value < min) then
call SimError()
return
else
endif
loop
exitwhen i > udg_CS_MaxLoopingBase
if udg_CS_LoopingBase[i] > udg_CS_Value then
else
call UnitAddAbility(udg_CS_Unit, udg_CS_RemoveMP[i])
call IncUnitAbilityLevel(udg_CS_Unit, udg_CS_RemoveMP[i])
call UnitRemoveAbility(udg_CS_Unit, udg_CS_RemoveMP[i])
set udg_CS_Value = udg_CS_Value - udg_CS_LoopingBase[i]
endif
set i = i + 1
endloop
endfunction
function AddDamage takes nothing returns nothing
local integer i = 1
local integer max = 16383
set udg_CS_Key = GetHandleId(udg_CS_Unit)
set udg_CS_DamageValue = LoadInteger(udg_CS_Hashtable, udg_CS_Key, 0)
set udg_CS_DamageValue = (udg_CS_DamageValue + udg_CS_Value)
if (udg_CS_DamageValue > max) then
call SimError()
return
else
endif
if (udg_CS_DamageValue > 0) then
call SaveInteger(udg_CS_Hashtable, udg_CS_Key, 0, udg_CS_DamageValue)
loop
exitwhen i > udg_CS_MaxLoopingBase
call UnitRemoveAbility(udg_CS_Unit, udg_CS_AddDamage[i])
call UnitRemoveAbility(udg_CS_Unit, udg_CS_RemoveDamage[i])
set i = i + 1
endloop
set i = 1
loop
exitwhen i > udg_CS_MaxLoopingBase
if (udg_CS_LoopingBase[i] > udg_CS_DamageValue) then
else
call UnitAddAbility(udg_CS_Unit, udg_CS_AddDamage[i])
set udg_CS_DamageValue = (udg_CS_DamageValue - udg_CS_LoopingBase[i])
endif
set i = i + 1
endloop
else
if (udg_CS_DamageValue < 0) then
call SaveInteger(udg_CS_Hashtable, udg_CS_Key, 0, udg_CS_DamageValue)
loop
exitwhen i > udg_CS_MaxLoopingBase
call UnitRemoveAbility(udg_CS_Unit, udg_CS_RemoveDamage[i])
set i = i + 1
endloop
set i = 1
loop
exitwhen i > udg_CS_MaxLoopingBase
if (udg_CS_LoopingBase[i] > -udg_CS_DamageValue) then
else
call UnitAddAbility(udg_CS_Unit, udg_CS_RemoveDamage[i])
set udg_CS_DamageValue = (udg_CS_DamageValue + udg_CS_LoopingBase[i])
endif
set i = i + 1
endloop
else
call SaveInteger(udg_CS_Hashtable, udg_CS_Key, 0, udg_CS_DamageValue)
loop
exitwhen i > udg_CS_MaxLoopingBase
call UnitRemoveAbility(udg_CS_Unit, udg_CS_RemoveDamage[i])
set i = i + 1
endloop
endif
endif
endfunction
function RemoveDamage takes nothing returns nothing
local integer i = 1
local integer min = -16383
set udg_CS_Key = GetHandleId(udg_CS_Unit)
set udg_CS_DamageValue = LoadInteger(udg_CS_Hashtable, udg_CS_Key, 0)
set udg_CS_DamageValue = (udg_CS_DamageValue - udg_CS_Value)
if (udg_CS_DamageValue < min) then
call SimError()
return
else
endif
if (udg_CS_DamageValue > 0) then
call SaveInteger(udg_CS_Hashtable, udg_CS_Key, 0, udg_CS_DamageValue)
loop
exitwhen i > udg_CS_MaxLoopingBase
call UnitRemoveAbility(udg_CS_Unit, udg_CS_AddDamage[i])
set i = i + 1
endloop
set i = 1
loop
exitwhen i > udg_CS_MaxLoopingBase
if (udg_CS_LoopingBase[i] > udg_CS_DamageValue) then
else
call UnitAddAbility(udg_CS_Unit, udg_CS_AddDamage[i])
set udg_CS_DamageValue = (udg_CS_DamageValue - udg_CS_LoopingBase[i])
endif
set i = i + 1
endloop
else
if (udg_CS_DamageValue < 0) then
call SaveInteger(udg_CS_Hashtable, udg_CS_Key, 0, udg_CS_DamageValue)
loop
exitwhen i > udg_CS_MaxLoopingBase
call UnitRemoveAbility(udg_CS_Unit, udg_CS_AddDamage[i])
call UnitRemoveAbility(udg_CS_Unit, udg_CS_RemoveDamage[i])
set i = i + 1
endloop
set i = 1
loop
exitwhen i > udg_CS_MaxLoopingBase
if (udg_CS_LoopingBase[i] > -udg_CS_DamageValue) then
else
call UnitAddAbility(udg_CS_Unit, udg_CS_RemoveDamage[i])
set udg_CS_DamageValue = (udg_CS_DamageValue + udg_CS_LoopingBase[i])
endif
set i = i + 1
endloop
else
call SaveInteger(udg_CS_Hashtable, udg_CS_Key, 0, udg_CS_DamageValue)
loop
exitwhen i > udg_CS_MaxLoopingBase
call UnitRemoveAbility(udg_CS_Unit, udg_CS_AddDamage[i])
set i = i + 1
endloop
endif
endif
endfunction
function AddArmor takes nothing returns nothing
local integer i = 1
local integer max = 16383
set udg_CS_Key = GetHandleId(udg_CS_Unit)
set udg_CS_ArmorValue = LoadInteger(udg_CS_Hashtable, udg_CS_Key, 1)
set udg_CS_ArmorValue = (udg_CS_ArmorValue + udg_CS_Value)
if (udg_CS_ArmorValue > max) then
call SimError()
return
else
endif
if (udg_CS_ArmorValue > 0) then
call SaveInteger(udg_CS_Hashtable, udg_CS_Key, 1, udg_CS_ArmorValue)
loop
exitwhen i > udg_CS_MaxLoopingBase
call UnitRemoveAbility(udg_CS_Unit, udg_CS_AddArmor[i])
call UnitRemoveAbility(udg_CS_Unit, udg_CS_RemoveArmor[i])
set i = i + 1
endloop
set i = 1
loop
exitwhen i > udg_CS_MaxLoopingBase
if (udg_CS_LoopingBase[i] > udg_CS_ArmorValue) then
else
call UnitAddAbility(udg_CS_Unit, udg_CS_AddArmor[i])
set udg_CS_ArmorValue = (udg_CS_ArmorValue - udg_CS_LoopingBase[i])
endif
set i = i + 1
endloop
else
if (udg_CS_ArmorValue < 0) then
call SaveInteger(udg_CS_Hashtable, udg_CS_Key, 1, udg_CS_ArmorValue)
loop
exitwhen i > udg_CS_MaxLoopingBase
call UnitRemoveAbility(udg_CS_Unit, udg_CS_RemoveArmor[i])
set i = i + 1
endloop
set i = 1
loop
exitwhen i > udg_CS_MaxLoopingBase
if (udg_CS_LoopingBase[i] > -udg_CS_ArmorValue) then
else
call UnitAddAbility(udg_CS_Unit, udg_CS_RemoveArmor[i])
set udg_CS_ArmorValue = (udg_CS_ArmorValue + udg_CS_LoopingBase[i])
endif
set i = i + 1
endloop
else
call SaveInteger(udg_CS_Hashtable, udg_CS_Key, 1, udg_CS_ArmorValue)
loop
exitwhen i > udg_CS_MaxLoopingBase
call UnitRemoveAbility(udg_CS_Unit, udg_CS_RemoveArmor[i])
set i = i + 1
endloop
endif
endif
endfunction
function RemoveArmor takes nothing returns nothing
local integer i = 1
local integer min = -16383
set udg_CS_Key = GetHandleId(udg_CS_Unit)
set udg_CS_ArmorValue = LoadInteger(udg_CS_Hashtable, udg_CS_Key, 1)
set udg_CS_ArmorValue = (udg_CS_ArmorValue - udg_CS_Value)
if (udg_CS_ArmorValue < min) then
call SimError()
return
else
endif
if (udg_CS_ArmorValue > 0) then
call SaveInteger(udg_CS_Hashtable, udg_CS_Key, 1, udg_CS_ArmorValue)
loop
exitwhen i > udg_CS_MaxLoopingBase
call UnitRemoveAbility(udg_CS_Unit, udg_CS_AddArmor[i])
set i = i + 1
endloop
set i = 1
loop
exitwhen i > udg_CS_MaxLoopingBase
if (udg_CS_LoopingBase[i] > udg_CS_ArmorValue) then
else
call UnitAddAbility(udg_CS_Unit, udg_CS_AddArmor[i])
set udg_CS_ArmorValue = (udg_CS_ArmorValue - udg_CS_LoopingBase[i])
endif
set i = i + 1
endloop
else
if (udg_CS_ArmorValue < 0) then
call SaveInteger(udg_CS_Hashtable, udg_CS_Key, 1, udg_CS_ArmorValue)
loop
exitwhen i > udg_CS_MaxLoopingBase
call UnitRemoveAbility(udg_CS_Unit, udg_CS_AddArmor[i])
call UnitRemoveAbility(udg_CS_Unit, udg_CS_RemoveArmor[i])
set i = i + 1
endloop
set i = 1
loop
exitwhen i > udg_CS_MaxLoopingBase
if (udg_CS_LoopingBase[i] > -udg_CS_ArmorValue) then
else
call UnitAddAbility(udg_CS_Unit, udg_CS_RemoveArmor[i])
set udg_CS_ArmorValue = (udg_CS_ArmorValue + udg_CS_LoopingBase[i])
endif
set i = i + 1
endloop
else
call SaveInteger(udg_CS_Hashtable, udg_CS_Key, 1, udg_CS_ArmorValue)
loop
exitwhen i > udg_CS_MaxLoopingBase
call UnitRemoveAbility(udg_CS_Unit, udg_CS_AddArmor[i])
set i = i + 1
endloop
endif
endif
endfunction
function AddSight takes nothing returns nothing
local integer i = 1
local integer max = 16383
set udg_CS_Key = GetHandleId(udg_CS_Unit)
set udg_CS_SightValue = LoadInteger(udg_CS_Hashtable, udg_CS_Key, 1)
set udg_CS_SightValue = (udg_CS_SightValue + udg_CS_Value)
if (udg_CS_SightValue > max) then
call SimError()
return
else
endif
if (udg_CS_SightValue > 0) then
call SaveInteger(udg_CS_Hashtable, udg_CS_Key, 1, udg_CS_SightValue)
loop
exitwhen i > udg_CS_MaxLoopingBase
call UnitRemoveAbility(udg_CS_Unit, udg_CS_AddSight[i])
call UnitRemoveAbility(udg_CS_Unit, udg_CS_RemoveSight[i])
set i = i + 1
endloop
set i = 1
loop
exitwhen i > udg_CS_MaxLoopingBase
if (udg_CS_LoopingBase[i] > udg_CS_SightValue) then
else
call UnitAddAbility(udg_CS_Unit, udg_CS_AddSight[i])
set udg_CS_SightValue = (udg_CS_SightValue - udg_CS_LoopingBase[i])
endif
set i = i + 1
endloop
else
if (udg_CS_SightValue < 0) then
call SaveInteger(udg_CS_Hashtable, udg_CS_Key, 1, udg_CS_SightValue)
loop
exitwhen i > udg_CS_MaxLoopingBase
call UnitRemoveAbility(udg_CS_Unit, udg_CS_RemoveSight[i])
set i = i + 1
endloop
set i = 1
loop
exitwhen i > udg_CS_MaxLoopingBase
if (udg_CS_LoopingBase[i] > -udg_CS_SightValue) then
else
call UnitAddAbility(udg_CS_Unit, udg_CS_RemoveSight[i])
set udg_CS_SightValue = (udg_CS_SightValue + udg_CS_LoopingBase[i])
endif
set i = i + 1
endloop
else
call SaveInteger(udg_CS_Hashtable, udg_CS_Key, 1, udg_CS_SightValue)
loop
exitwhen i > udg_CS_MaxLoopingBase
call UnitRemoveAbility(udg_CS_Unit, udg_CS_RemoveSight[i])
set i = i + 1
endloop
endif
endif
endfunction
function RemoveSight takes nothing returns nothing
local integer i = 1
local integer min = -16383
set udg_CS_Key = GetHandleId(udg_CS_Unit)
set udg_CS_SightValue = LoadInteger(udg_CS_Hashtable, udg_CS_Key, 1)
set udg_CS_SightValue = (udg_CS_SightValue - udg_CS_Value)
if (udg_CS_SightValue < min) then
call SimError()
return
else
endif
if (udg_CS_SightValue > 0) then
call SaveInteger(udg_CS_Hashtable, udg_CS_Key, 1, udg_CS_SightValue)
loop
exitwhen i > udg_CS_MaxLoopingBase
call UnitRemoveAbility(udg_CS_Unit, udg_CS_AddSight[i])
set i = i + 1
endloop
set i = 1
loop
exitwhen i > udg_CS_MaxLoopingBase
if (udg_CS_LoopingBase[i] > udg_CS_SightValue) then
else
call UnitAddAbility(udg_CS_Unit, udg_CS_AddSight[i])
set udg_CS_SightValue = (udg_CS_SightValue - udg_CS_LoopingBase[i])
endif
set i = i + 1
endloop
else
if (udg_CS_SightValue < 0) then
call SaveInteger(udg_CS_Hashtable, udg_CS_Key, 1, udg_CS_SightValue)
loop
exitwhen i > udg_CS_MaxLoopingBase
call UnitRemoveAbility(udg_CS_Unit, udg_CS_AddSight[i])
call UnitRemoveAbility(udg_CS_Unit, udg_CS_RemoveSight[i])
set i = i + 1
endloop
set i = 1
loop
exitwhen i > udg_CS_MaxLoopingBase
if (udg_CS_LoopingBase[i] > -udg_CS_SightValue) then
else
call UnitAddAbility(udg_CS_Unit, udg_CS_RemoveSight[i])
set udg_CS_SightValue = (udg_CS_SightValue + udg_CS_LoopingBase[i])
endif
set i = i + 1
endloop
else
call SaveInteger(udg_CS_Hashtable, udg_CS_Key, 1, udg_CS_SightValue)
loop
exitwhen i > udg_CS_MaxLoopingBase
call UnitRemoveAbility(udg_CS_Unit, udg_CS_AddSight[i])
set i = i + 1
endloop
endif
endif
endfunction
Actions

Set CS_Unit = Paladin 0000 <gen>

Set CS_Value = 1000

Custom script: call AddHP()
Custom script: call RemoveHP()
Custom script: call AddMP()
Custom script: call RemoveMP()
Custom script: call AddDamage()
Custom script: call RemoveDamage()
Custom script: call AddArmor()
Custom script: call RemoveArmor()
Custom script: call AddSight()
Custom script: call RemoveSight()
CS Setup

Events


Map initialization

Conditions

Actions


Custom script: local integer maxability = 140


Custom script: local integer i = 1


Custom script: local unit Dummy = CreateUnit(Player (0), 'hfoo', 0.00, 0.00, 0.00)


Custom script: set udg_Error = CreateSoundFromLabel("InterfaceError", false, false, false, 10, 10)


Set CS_AddHP[1] = HP Add +8192


Set CS_AddHP[2] = HP Add +4096


Set CS_AddHP[3] = HP Add +2048


Set CS_AddHP[4] = HP Add +1024


Set CS_AddHP[5] = HP Add +512


Set CS_AddHP[6] = HP Add +256


Set CS_AddHP[7] = HP Add +128


Set CS_AddHP[8] = HP Add +64


Set CS_AddHP[9] = HP Add +32


Set CS_AddHP[10] = HP Add +16


Set CS_AddHP[11] = HP Add +8


Set CS_AddHP[12] = HP Add +4


Set CS_AddHP[13] = HP Add +2


Set CS_AddHP[14] = HP Add +1


Set CS_RemoveHP[1] = HP Remove -8192


Set CS_RemoveHP[2] = HP Remove -4096


Set CS_RemoveHP[3] = HP Remove -2048


Set CS_RemoveHP[4] = HP Remove -1024


Set CS_RemoveHP[5] = HP Remove -512


Set CS_RemoveHP[6] = HP Remove -256


Set CS_RemoveHP[7] = HP Remove -128


Set CS_RemoveHP[8] = HP Remove -64


Set CS_RemoveHP[9] = HP Remove -32


Set CS_RemoveHP[10] = HP Remove -16


Set CS_RemoveHP[11] = HP Remove -8


Set CS_RemoveHP[12] = HP Remove -4


Set CS_RemoveHP[13] = HP Remove -2


Set CS_RemoveHP[14] = HP Remove -1


Set CS_AddMP[1] = MP Add +8192


Set CS_AddMP[2] = MP Add +4096


Set CS_AddMP[3] = MP Add +2048


Set CS_AddMP[4] = MP Add +1024


Set CS_AddMP[5] = MP Add +512


Set CS_AddMP[6] = MP Add +256


Set CS_AddMP[7] = MP Add +128


Set CS_AddMP[8] = MP Add +64


Set CS_AddMP[9] = MP Add +32


Set CS_AddMP[10] = MP Add +16


Set CS_AddMP[11] = MP Add +8


Set CS_AddMP[12] = MP Add +4


Set CS_AddMP[13] = MP Add +2


Set CS_AddMP[14] = MP Add +1


Set CS_RemoveMP[1] = MP Remove -8192


Set CS_RemoveMP[2] = MP Remove -4096


Set CS_RemoveMP[3] = MP Remove -2048


Set CS_RemoveMP[4] = MP Remove -1024


Set CS_RemoveMP[5] = MP Remove -512


Set CS_RemoveMP[6] = MP Remove -256


Set CS_RemoveMP[7] = MP Remove -128


Set CS_RemoveMP[8] = MP Remove -64


Set CS_RemoveMP[9] = MP Remove -32


Set CS_RemoveMP[10] = MP Remove -16


Set CS_RemoveMP[11] = MP Remove -8


Set CS_RemoveMP[12] = MP Remove -4


Set CS_RemoveMP[13] = MP Remove -2


Set CS_RemoveMP[14] = MP Remove -1


Set CS_AddDamage[1] = Damage Add +8192


Set CS_AddDamage[2] = Damage Add +4096


Set CS_AddDamage[3] = Damage Add +2048


Set CS_AddDamage[4] = Damage Add +1024


Set CS_AddDamage[5] = Damage Add +512


Set CS_AddDamage[6] = Damage Add +256


Set CS_AddDamage[7] = Damage Add +128


Set CS_AddDamage[8] = Damage Add +64


Set CS_AddDamage[9] = Damage Add +32


Set CS_AddDamage[10] = Damage Add +16


Set CS_AddDamage[11] = Damage Add +8


Set CS_AddDamage[12] = Damage Add +4


Set CS_AddDamage[13] = Damage Add +2


Set CS_AddDamage[14] = Damage Add +1


Set CS_RemoveDamage[1] = Damage Remove -8192


Set CS_RemoveDamage[2] = Damage Remove -4096


Set CS_RemoveDamage[3] = Damage Remove -2048


Set CS_RemoveDamage[4] = Damage Remove -1024


Set CS_RemoveDamage[5] = Damage Remove -512


Set CS_RemoveDamage[6] = Damage Remove -256


Set CS_RemoveDamage[7] = Damage Remove -128


Set CS_RemoveDamage[8] = Damage Remove -64


Set CS_RemoveDamage[9] = Damage Remove -32


Set CS_RemoveDamage[10] = Damage Remove -16


Set CS_RemoveDamage[11] = Damage Remove -8


Set CS_RemoveDamage[12] = Damage Remove -4


Set CS_RemoveDamage[13] = Damage Remove -2


Set CS_RemoveDamage[14] = Damage Remove -2


Set CS_AddArmor[1] = Add Armor +8192


Set CS_AddArmor[2] = Add Armor +4096


Set CS_AddArmor[3] = Add Armor +2048


Set CS_AddArmor[4] = Add Armor +1024


Set CS_AddArmor[5] = Add Armor +512


Set CS_AddArmor[6] = Add Armor +256


Set CS_AddArmor[7] = Add Armor +128


Set CS_AddArmor[8] = Add Armor +64


Set CS_AddArmor[9] = Add Armor +32


Set CS_AddArmor[10] = Add Armor +16


Set CS_AddArmor[11] = Add Armor +8


Set CS_AddArmor[12] = Add Armor +4


Set CS_AddArmor[13] = Add Armor +2


Set CS_AddArmor[14] = Add Armor +1


Set CS_RemoveArmor[1] = Remove Armor -8192


Set CS_RemoveArmor[2] = Remove Armor -4096


Set CS_RemoveArmor[3] = Remove Armor -2048


Set CS_RemoveArmor[4] = Remove Armor -1024


Set CS_RemoveArmor[5] = Remove Armor -512


Set CS_RemoveArmor[6] = Remove Armor -256


Set CS_RemoveArmor[7] = Remove Armor -128


Set CS_RemoveArmor[8] = Remove Armor -64


Set CS_RemoveArmor[9] = Remove Armor -32


Set CS_RemoveArmor[10] = Remove Armor -16


Set CS_RemoveArmor[11] = Remove Armor -8


Set CS_RemoveArmor[12] = Remove Armor -4


Set CS_RemoveArmor[13] = Remove Armor -2


Set CS_RemoveArmor[14] = Remove Armor -1


Set CS_AddSight[1] = Add Sight +8192


Set CS_AddSight[2] = Add Sight +4096


Set CS_AddSight[3] = Add Sight +2048


Set CS_AddSight[4] = Add Sight +1024


Set CS_AddSight[5] = Add Sight +512


Set CS_AddSight[6] = Add Sight +256


Set CS_AddSight[7] = Add Sight +128


Set CS_AddSight[8] = Add Sight +64


Set CS_AddSight[9] = Add Sight +32


Set CS_AddSight[10] = Add Sight +16


Set CS_AddSight[11] = Add Sight +8


Set CS_AddSight[12] = Add Sight +4


Set CS_AddSight[13] = Add Sight +2


Set CS_AddSight[14] = Add Sight +1


Set CS_RemoveSight[1] = Remove Sight -8192


Set CS_RemoveSight[2] = Remove Sight -4096


Set CS_RemoveSight[3] = Remove Sight -2048


Set CS_RemoveSight[4] = Remove Sight -1024


Set CS_RemoveSight[5] = Remove Sight -512


Set CS_RemoveSight[6] = Remove Sight -256


Set CS_RemoveSight[7] = Remove Sight -128


Set CS_RemoveSight[8] = Remove Sight -64


Set CS_RemoveSight[9] = Remove Sight -32


Set CS_RemoveSight[10] = Remove Sight -16


Set CS_RemoveSight[11] = Remove Sight -8


Set CS_RemoveSight[12] = Remove Sight -4


Set CS_RemoveSight[13] = Remove Sight -2


Set CS_RemoveSight[14] = Remove Sight -1


Set CS_Ability[1] = Damage Add +1


Set CS_Ability[2] = Damage Add +2


Set CS_Ability[3] = Damage Add +4


Set CS_Ability[4] = Damage Add +8


Set CS_Ability[5] = Damage Add +16


Set CS_Ability[6] = Damage Add +32


Set CS_Ability[7] = Damage Add +64


Set CS_Ability[8] = Damage Add +128


Set CS_Ability[9] = Damage Add +256


Set CS_Ability[10] = Damage Add +512


Set CS_Ability[11] = Damage Add +1024


Set CS_Ability[12] = Damage Add +2048


Set CS_Ability[13] = Damage Add +4096


Set CS_Ability[14] = Damage Add +8192


Set CS_Ability[15] = Damage Remove -1


Set CS_Ability[16] = Damage Remove -2


Set CS_Ability[17] = Damage Remove -4


Set CS_Ability[18] = Damage Remove -8


Set CS_Ability[19] = Damage Remove -16


Set CS_Ability[20] = Damage Remove -32


Set CS_Ability[21] = Damage Remove -64


Set CS_Ability[22] = Damage Remove -128


Set CS_Ability[23] = Damage Remove -256


Set CS_Ability[24] = Damage Remove -512


Set CS_Ability[25] = Damage Remove -1024


Set CS_Ability[26] = Damage Remove -2048


Set CS_Ability[27] = Damage Remove -4096


Set CS_Ability[28] = Damage Remove -8192


Set CS_Ability[29] = Add Armor +1


Set CS_Ability[30] = Add Armor +1024


Set CS_Ability[31] = Add Armor +128


Set CS_Ability[32] = Add Armor +16


Set CS_Ability[33] = Add Armor +2


Set CS_Ability[34] = Add Armor +2048


Set CS_Ability[35] = Add Armor +256


Set CS_Ability[36] = Add Armor +32


Set CS_Ability[37] = Add Armor +4


Set CS_Ability[38] = Add Armor +4096


Set CS_Ability[39] = Add Armor +512


Set CS_Ability[40] = Add Armor +64


Set CS_Ability[41] = Add Armor +8


Set CS_Ability[42] = Add Armor +8192


Set CS_Ability[43] = Remove Armor -1


Set CS_Ability[44] = Remove Armor -1024


Set CS_Ability[45] = Remove Armor -128


Set CS_Ability[46] = Remove Armor -16


Set CS_Ability[47] = Remove Armor -2


Set CS_Ability[48] = Remove Armor -2048


Set CS_Ability[49] = Remove Armor -256


Set CS_Ability[50] = Remove Armor -32


Set CS_Ability[51] = Remove Armor -4


Set CS_Ability[52] = Remove Armor -4096


Set CS_Ability[53] = Remove Armor -512


Set CS_Ability[54] = Remove Armor -64


Set CS_Ability[55] = Remove Armor -8


Set CS_Ability[56] = Remove Armor -8192


Set CS_Ability[57] = HP Add +1


Set CS_Ability[58] = HP Add +1024


Set CS_Ability[59] = HP Add +128


Set CS_Ability[60] = HP Add +16


Set CS_Ability[61] = HP Add +2


Set CS_Ability[62] = HP Add +2048


Set CS_Ability[63] = HP Add +256


Set CS_Ability[64] = HP Add +32


Set CS_Ability[65] = HP Add +4


Set CS_Ability[66] = HP Add +4096


Set CS_Ability[67] = HP Add +512


Set CS_Ability[68] = HP Add +64


Set CS_Ability[69] = HP Add +8


Set CS_Ability[70] = HP Add +8192


Set CS_Ability[71] = HP Remove -1


Set CS_Ability[72] = HP Remove -1024


Set CS_Ability[73] = HP Remove -128


Set CS_Ability[74] = HP Remove -16


Set CS_Ability[75] = HP Remove -2


Set CS_Ability[76] = HP Remove -2048


Set CS_Ability[77] = HP Remove -256


Set CS_Ability[78] = HP Remove -32


Set CS_Ability[79] = HP Remove -4


Set CS_Ability[80] = HP Remove -4096


Set CS_Ability[81] = HP Remove -512


Set CS_Ability[82] = HP Remove -64


Set CS_Ability[83] = HP Remove -8


Set CS_Ability[84] = HP Remove -8192


Set CS_Ability[85] = MP Add +1


Set CS_Ability[86] = MP Add +1024


Set CS_Ability[87] = MP Add +128


Set CS_Ability[88] = MP Add +16


Set CS_Ability[89] = MP Add +2


Set CS_Ability[90] = MP Add +2048


Set CS_Ability[91] = MP Add +256


Set CS_Ability[92] = MP Add +32


Set CS_Ability[93] = MP Add +4


Set CS_Ability[94] = MP Add +4096


Set CS_Ability[95] = MP Add +512


Set CS_Ability[96] = MP Add +64


Set CS_Ability[97] = MP Add +8


Set CS_Ability[98] = MP Add +8192


Set CS_Ability[99] = MP Remove -1


Set CS_Ability[100] = MP Remove -1024


Set CS_Ability[101] = MP Remove -128


Set CS_Ability[102] = MP Remove -16


Set CS_Ability[103] = MP Remove -2


Set CS_Ability[104] = MP Remove -2048


Set CS_Ability[105] = MP Remove -256


Set CS_Ability[106] = MP Remove -32


Set CS_Ability[107] = MP Remove -4


Set CS_Ability[108] = MP Remove -4096


Set CS_Ability[109] = MP Remove -512


Set CS_Ability[110] = MP Remove -64


Set CS_Ability[111] = MP Remove -8


Set CS_Ability[112] = MP Remove -8192


Set CS_Ability[113] = Add Sight +1


Set CS_Ability[114] = Add Sight +1024


Set CS_Ability[115] = Add Sight +128


Set CS_Ability[116] = Add Sight +16


Set CS_Ability[117] = Add Sight +2


Set CS_Ability[118] = Add Sight +2048


Set CS_Ability[119] = Add Sight +256


Set CS_Ability[120] = Add Sight +32


Set CS_Ability[121] = Add Sight +4


Set CS_Ability[122] = Add Sight +4096


Set CS_Ability[123] = Add Sight +512


Set CS_Ability[124] = Add Sight +64


Set CS_Ability[125] = Add Sight +8


Set CS_Ability[126] = Add Sight +8192


Set CS_Ability[127] = Remove Sight -1


Set CS_Ability[128] = Remove Sight -1024


Set CS_Ability[129] = Remove Sight -128


Set CS_Ability[130] = Remove Sight -16


Set CS_Ability[131] = Remove Sight -2


Set CS_Ability[132] = Remove Sight -2048


Set CS_Ability[133] = Remove Sight -256


Set CS_Ability[134] = Remove Sight -32


Set CS_Ability[135] = Remove Sight -4


Set CS_Ability[136] = Remove Sight -4096


Set CS_Ability[137] = Remove Sight -512


Set CS_Ability[138] = Remove Sight -64


Set CS_Ability[139] = Remove Sight -8


Set CS_Ability[140] = Remove Sight -8192


Set CS_LoopingBase[1] = 8192


Set CS_LoopingBase[2] = 4096


Set CS_LoopingBase[3] = 2048


Set CS_LoopingBase[4] = 1024


Set CS_LoopingBase[5] = 512


Set CS_LoopingBase[6] = 256


Set CS_LoopingBase[7] = 128


Set CS_LoopingBase[8] = 64


Set CS_LoopingBase[9] = 32


Set CS_LoopingBase[10] = 16


Set CS_LoopingBase[11] = 8


Set CS_LoopingBase[12] = 4


Set CS_LoopingBase[13] = 2


Set CS_LoopingBase[14] = 1


Set CS_MaxLoopingBase = 14


-------- PRELOADING SPELLS --------


Custom script: loop


Custom script: exitwhen i > maxability


Custom script: call UnitAddAbility(Dummy, udg_CS_Ability[i])


Custom script: set i = i + 1


Custom script: endloop


Custom script: call RemoveUnit(Dummy)


Custom script: set Dummy = null


-------- PRELOADING SPELLS --------


Custom script: set udg_CS_Hashtable = InitHashtable()


Custom script: call DestroyTrigger(GetTriggeringTrigger())