library CFLib initializer init requires CustomFilter
globals
UnitTypeFilter FILTER_UNIT_ANCIENT = 0
UnitTypeFilter FILTER_UNIT_ATTACK_AIR = 0
UnitTypeFilter FILTER_UNIT_ATTACK_GROUND = 0
UnitTypeFilter FILTER_UNIT_DEAD = 0
UnitTypeFilter FILTER_UNIT_ETHEREAL = 0
UnitTypeFilter FILTER_UNIT_FLYING = 0
UnitTypeFilter FILTER_UNIT_GIANT = 0
UnitTypeFilter FILTER_UNIT_GROUND = 0
UnitTypeFilter FILTER_UNIT_HERO = 0
UnitTypeFilter FILTER_UNIT_MAGIC_IMMUNE = 0
UnitTypeFilter FILTER_UNIT_MECHANICAL = 0
UnitTypeFilter FILTER_UNIT_MELEE = 0
UnitTypeFilter FILTER_UNIT_PEON = 0
UnitTypeFilter FILTER_UNIT_PLAGUED = 0
UnitTypeFilter FILTER_UNIT_POISONED = 0
UnitTypeFilter FILTER_UNIT_POLYMORPHED = 0
UnitTypeFilter FILTER_UNIT_RANGED = 0
UnitTypeFilter FILTER_UNIT_RESISTANT = 0
UnitTypeFilter FILTER_UNIT_SAPPER = 0
UnitTypeFilter FILTER_UNIT_SLEEPING = 0
UnitTypeFilter FILTER_UNIT_SNARED = 0
UnitTypeFilter FILTER_UNIT_STRUCTURE = 0
UnitTypeFilter FILTER_UNIT_STUNNED = 0
UnitTypeFilter FILTER_UNIT_SUMMONED = 0
UnitTypeFilter FILTER_UNIT_TAUREN = 0
UnitTypeFilter FILTER_UNIT_TOWNHALL = 0
UnitTypeFilter FILTER_UNIT_UNDEAD = 0
UnitTypeFilter FILTER_UNIT_ALIVE = 0
UnitTypeFilter FILTER_UNIT_NOT_ANCIENT = 0
UnitTypeFilter FILTER_UNIT_NOT_ATTACK_AIR = 0
UnitTypeFilter FILTER_UNIT_NOT_ATTACK_GROUND = 0
UnitTypeFilter FILTER_UNIT_AWAKE = 0
UnitTypeFilter FILTER_UNIT_NOT_DEAD = 0
UnitTypeFilter FILTER_UNIT_NOT_ETHEREAL = 0
UnitTypeFilter FILTER_UNIT_NOT_FLYING = 0
UnitTypeFilter FILTER_UNIT_NOT_GIANT = 0
UnitTypeFilter FILTER_UNIT_NOT_GROUND = 0
UnitTypeFilter FILTER_UNIT_NOT_HERO = 0
UnitTypeFilter FILTER_UNIT_NOT_MAGIC_IMMUNE = 0
UnitTypeFilter FILTER_UNIT_NOT_MECHANICAL = 0
UnitTypeFilter FILTER_UNIT_NOT_MELEE = 0
UnitTypeFilter FILTER_UNIT_NOT_PEON = 0
UnitTypeFilter FILTER_UNIT_NOT_PLAGUED = 0
UnitTypeFilter FILTER_UNIT_NOT_POISONED = 0
UnitTypeFilter FILTER_UNIT_NOT_POLYMORPHED = 0
UnitTypeFilter FILTER_UNIT_NOT_RANGED = 0
UnitTypeFilter FILTER_UNIT_NOT_RESISTANT = 0
UnitTypeFilter FILTER_UNIT_NOT_SAPPER = 0
UnitTypeFilter FILTER_UNIT_NOT_SNARED = 0
UnitTypeFilter FILTER_UNIT_NOT_STRUCTURE = 0
UnitTypeFilter FILTER_UNIT_NOT_STUNNED = 0
UnitTypeFilter FILTER_UNIT_NOT_SUMMONED = 0
UnitTypeFilter FILTER_UNIT_NOT_TAUREN = 0
UnitTypeFilter FILTER_UNIT_NOT_TOWNHALL = 0
UnitTypeFilter FILTER_UNIT_NOT_UNDEAD = 0
UnitBuffFilter FILTER_UNIT_HAS_BUFF_ENSNARED = 0
endglobals
private function init takes nothing returns nothing
//: ==----
//: Create the UnitTypeFilters here.
//: UnitTypeFilter.create(UnitType, Negate?)
//: ==----
set FILTER_UNIT_ANCIENT = UnitTypeFilter.create(UNIT_TYPE_ANCIENT, false)
set FILTER_UNIT_ATTACK_AIR = UnitTypeFilter.create(UNIT_TYPE_ATTACKS_FLYING, false)
set FILTER_UNIT_ATTACK_GROUND = UnitTypeFilter.create(UNIT_TYPE_ATTACKS_GROUND, false)
set FILTER_UNIT_DEAD = UnitTypeFilter.create(UNIT_TYPE_DEAD, false)
set FILTER_UNIT_ETHEREAL = UnitTypeFilter.create(UNIT_TYPE_ETHEREAL, false)
set FILTER_UNIT_FLYING = UnitTypeFilter.create(UNIT_TYPE_FLYING, false)
set FILTER_UNIT_GIANT = UnitTypeFilter.create(UNIT_TYPE_GIANT, false)
set FILTER_UNIT_GROUND = UnitTypeFilter.create(UNIT_TYPE_GROUND, false)
set FILTER_UNIT_HERO = UnitTypeFilter.create(UNIT_TYPE_HERO, false)
set FILTER_UNIT_MAGIC_IMMUNE = UnitTypeFilter.create(UNIT_TYPE_MAGIC_IMMUNE, false)
set FILTER_UNIT_MECHANICAL = UnitTypeFilter.create(UNIT_TYPE_MECHANICAL, false)
set FILTER_UNIT_MELEE = UnitTypeFilter.create(UNIT_TYPE_MELEE_ATTACKER, false)
set FILTER_UNIT_PEON = UnitTypeFilter.create(UNIT_TYPE_PEON, false)
set FILTER_UNIT_PLAGUED = UnitTypeFilter.create(UNIT_TYPE_PLAGUED, false)
set FILTER_UNIT_POISONED = UnitTypeFilter.create(UNIT_TYPE_POISONED, false)
set FILTER_UNIT_POLYMORPHED = UnitTypeFilter.create(UNIT_TYPE_POLYMORPHED, false)
set FILTER_UNIT_RANGED = UnitTypeFilter.create(UNIT_TYPE_RANGED_ATTACKER, false)
set FILTER_UNIT_RESISTANT = UnitTypeFilter.create(UNIT_TYPE_RESISTANT, false)
set FILTER_UNIT_SAPPER = UnitTypeFilter.create(UNIT_TYPE_SAPPER, false)
set FILTER_UNIT_SLEEPING = UnitTypeFilter.create(UNIT_TYPE_SLEEPING, false)
set FILTER_UNIT_SNARED = UnitTypeFilter.create(UNIT_TYPE_SNARED, false)
set FILTER_UNIT_STRUCTURE = UnitTypeFilter.create(UNIT_TYPE_STRUCTURE, false)
set FILTER_UNIT_STUNNED = UnitTypeFilter.create(UNIT_TYPE_STUNNED, false)
set FILTER_UNIT_SUMMONED = UnitTypeFilter.create(UNIT_TYPE_SUMMONED, false)
set FILTER_UNIT_TAUREN = UnitTypeFilter.create(UNIT_TYPE_TAUREN, false)
set FILTER_UNIT_TOWNHALL = UnitTypeFilter.create(UNIT_TYPE_TOWNHALL, false)
set FILTER_UNIT_UNDEAD = UnitTypeFilter.create(UNIT_TYPE_UNDEAD, false)
//: ==----
//: Create the negated UnitTypeFilters here.
//: UnitTypeFilter.create(UnitType, Negate?)
//: ==----
set FILTER_UNIT_ALIVE = UnitTypeFilter.create(UNIT_TYPE_DEAD, true)
set FILTER_UNIT_NOT_ANCIENT = UnitTypeFilter.create(UNIT_TYPE_ANCIENT, true)
set FILTER_UNIT_NOT_ATTACK_AIR = UnitTypeFilter.create(UNIT_TYPE_ATTACKS_FLYING, true)
set FILTER_UNIT_NOT_ATTACK_GROUND = UnitTypeFilter.create(UNIT_TYPE_ATTACKS_GROUND, true)
set FILTER_UNIT_AWAKE = UnitTypeFilter.create(UNIT_TYPE_SLEEPING, true)
set FILTER_UNIT_NOT_ETHEREAL = UnitTypeFilter.create(UNIT_TYPE_ETHEREAL, true)
set FILTER_UNIT_NOT_FLYING = UnitTypeFilter.create(UNIT_TYPE_FLYING, true)
set FILTER_UNIT_NOT_GIANT = UnitTypeFilter.create(UNIT_TYPE_GIANT, true)
set FILTER_UNIT_NOT_GROUND = UnitTypeFilter.create(UNIT_TYPE_GROUND, true)
set FILTER_UNIT_NOT_HERO = UnitTypeFilter.create(UNIT_TYPE_HERO, true)
set FILTER_UNIT_NOT_MAGIC_IMMUNE = UnitTypeFilter.create(UNIT_TYPE_MAGIC_IMMUNE, true)
set FILTER_UNIT_NOT_MECHANICAL = UnitTypeFilter.create(UNIT_TYPE_MECHANICAL, true)
set FILTER_UNIT_NOT_MELEE = UnitTypeFilter.create(UNIT_TYPE_MELEE_ATTACKER, true)
set FILTER_UNIT_NOT_PEON = UnitTypeFilter.create(UNIT_TYPE_PEON, true)
set FILTER_UNIT_NOT_PLAGUED = UnitTypeFilter.create(UNIT_TYPE_PLAGUED, true)
set FILTER_UNIT_NOT_POISONED = UnitTypeFilter.create(UNIT_TYPE_POISONED, true)
set FILTER_UNIT_NOT_POLYMORPHED = UnitTypeFilter.create(UNIT_TYPE_POLYMORPHED, true)
set FILTER_UNIT_NOT_RANGED = UnitTypeFilter.create(UNIT_TYPE_RANGED_ATTACKER, true)
set FILTER_UNIT_NOT_RESISTANT = UnitTypeFilter.create(UNIT_TYPE_RESISTANT, true)
set FILTER_UNIT_NOT_SAPPER = UnitTypeFilter.create(UNIT_TYPE_SAPPER, true)
set FILTER_UNIT_NOT_SNARED = UnitTypeFilter.create(UNIT_TYPE_SNARED, true)
set FILTER_UNIT_NOT_STRUCTURE = UnitTypeFilter.create(UNIT_TYPE_STRUCTURE, true)
set FILTER_UNIT_NOT_STUNNED = UnitTypeFilter.create(UNIT_TYPE_STUNNED, true)
set FILTER_UNIT_NOT_SUMMONED = UnitTypeFilter.create(UNIT_TYPE_SUMMONED, true)
set FILTER_UNIT_NOT_TAUREN = UnitTypeFilter.create(UNIT_TYPE_TAUREN, true)
set FILTER_UNIT_NOT_TOWNHALL = UnitTypeFilter.create(UNIT_TYPE_TOWNHALL, true)
set FILTER_UNIT_NOT_UNDEAD = UnitTypeFilter.create(UNIT_TYPE_UNDEAD, true)
//: ==----
//: Create the UnitBuffFilters here.
//: UnitBuffFilter.create(BuffID, Negate?)
//: ==----
set FILTER_UNIT_HAS_BUFF_ENSNARED = UnitBuffFilter.create('esnr', false)
endfunction
endlibrary