Refactor

Removed behaviors: BotStop, Coffee Break, OOC Idenify Items.
Removed the file Vars.cs and placed the used variables in better places.
Removed old unused XML tags: RestartProfile and CastTP.
Moved Minimapmarkers into Navigation/Cache folder.
Logger file now holds the FolderPaths class and the static method to
Clean Logs.
Moved unsorted Cache files into Bot Folder.
ItemScoring and ItemValidation are now inside the Items Folder.
Removed Low Level Logic, Added new TargetFlags
Clean Up

Removed unused code!
Clean Up pt2

Further removed unused code.
Renamed PreCastPreCastFlags to PreCastFlags.
Added Setting Class for Plugin Internal Variables.
Modified Ranged Class Weighting when Avoidances are present (so it wont ignore when it can use some abilities)

Witch Doctor:
Spirit Walk is now a special ability
Acid Cloud removed check of recast timer.
update

added check for Funky Logging on entries that had none.
modified default settings for avoidance
-Increased Radius of Frozen by 1 and reduced weight to 10.
-Increased Weight of descration, spore and arcane sentry to be higher
than frozen.

Added LowLevel default settings.
Moved Avoidance Last Target Variables from Combat into Target.
Modified RequiresAvoidance check.

Added special non-movement check for items that continously pass the LOS
check to cast TP (when stuck in a non-navigational spot)
LOS, Ability, Misc..

Ability Movement Criteria has changed!
--Added FCombatMovement and FOutOfCombatMovement
--Replaced target movement special movement code.

Ability Non-Range LOS Check now checks for targets that move causing
AllowWalk to fail. (I.E. teleporting units)

Target Refresh will Reset Movement Vars when target has changed.

Search Grid Provider will update on Scene Change.

Added Transform Hashset into CacheIDLookup (units that use "irregular"
movements)

Reduced the update timer for position on CacheObject.

Battlerage now checks precast CanCast.
--Added check of bot HP when fury dumping (>50%)

Avoidance requirement check now uses Last Movement Command from
TargetMovement to determine if valid.
Update

Renamed Ability Namespace to AbilityFunky.
Renamed ability class to Ability.

Moved dateSincePickedTarget from Combat into Target.

Added Return of Equipped items as CachedACDItem List into Backpack.

Monk Player will check for Inna Set Bonus during Player Class Creation.
Health Check, Change Log
Added Search Grid Update Check

Added property into Navigation Cache, checked in Character Update, and
updated in the Refresh of Cache!
Update

More Refactoring..
Removed Ranged Abilities checking object intersection.
v2520 update -- USE with DB Beta .256+!

Line of sight checking will now swap vectors when there is a Z
difference. (Low to High on stairs causing failures FIXED)

Cooldown is now a settable property of Ability, and every ability now
has its cooldown set.

Added Event OnSuccessfullyUsed -- Player Class subscribes to this event
and resorts the abilities based on priority then last used.

Error Clicker is no longer a independent thread. Method is now called in
GlobalOverlord.

Added event handler for ProfileLoaded, replaces the CheckProfile method.

Removed all Using associated with ZetaDia.Memory (due to new DB Memory
Change).

Added AnyLootableItemsNearby into CombatCache. (Is true when nearby
items are valid for targeting).

Added Knockback Land Anims to each Player Class -- used to determine if
SNOAnim is Knockback_Land (I.E. Bot has been Vortexed).

Grouping behavior now checks all clusters found. It also checks if the
target position will intersect avoidances.

Search Grid Provider now only updates on Level ID Change. (was updating
every scene change..)

Monk:
Added ComboStrike settings to ClassSettings, and modified the abilities.
Routine Rename
update

Added back ZetaDia.Memory.AquireFrame Using on code using ZetaDia to
read values.

Added new TargetTypes: NoMovement, Fleeing

CacheUnit IsAttackable will be set to true if not shielding or
grotesque.

Added Assemblies for Demonbuddy Libs.

Fixed Demon Hunter: Fan of Knives Ability.
v2521

Updated Version.
Added more info to About Abilities.txt
Line of Sight Movement Behavior

Line of Sight Movement Behavior is now functional.

Misc:
Removed DB Title Renaming from Plugin Enabled.
Removed SNOAnim from Debug Strings in CacheUnit/CacheInteractable.
PlayerMover now uses ZetaDia.UsePower to walk (instead of ActorMovement)
update/refactor

Update:
Townrun Unidify Item Stashing Behavior will now check items only once
per town run. This was causing the massive FPS drop during town runs.
Fixed Avoidance Check during ObjectCache update. (So avoidances should
always trigger required movement!)
Added Respawnable Units removal exclusion check for above average units.

Refactor:
Moved Combat Properties related to Targeting into Target class. This
includes all the handler, item loot check, and avoidance properties.
Moved CrititcalAvoidance from Combat into Character.
Removed bForceCloseRangeTarget and related properties.
update/refactor

Refactor:
Renamed the Project and Namespace to FunkyBot.

Update:
Ability Destination Vector modified and fixed.
Ability now sets private target property during SetupForUse and used in
Destination Vector to accurately get the target position.
Extracted code related to checking avoidance objects in ObjectCache
update and moved into new method found in AvoidanceCache.
Special avoidances (Spores/Grotesque) are now checked if inside
avoidance and properly triggers flag. (during removal check).
Update Target Weighting Unit Check for Range Classes when Avoidances are
nearby has been modified.
Fixed Exception of CheckAvoidanceObject ++

Also changed the required avoidance trigger to check the distance of how
far target movement is.. and only reset if distance is further than 2.5f
Update

Added new project FunkyErrorClicker. The sole purpose is to monitor and
click error dialogs.

FunkyBot:
Removed ErrorClicker.
Fixed Projectile Avoidance Trigger not setting RequiresAvoidance
Stash Overlord no longer tracks Stash Items. (Wasn't used and was very
heavy in cpu usage!)
Backpack Update no longer clears the cache item list -- instead it skips
items already added, and removes unseen items.
Added hash set for Actor SNOs which are flying "hover" type units.
Added Property to CacheSNO to check flying property.
Ability Line of Sight check for ranged abilities now checks if target is
hover type unit when AllowProjectile fails.
Ability Line of Sight check will check if unit is targetable and
attackable prior to testing line of sight.