Update

Refactoring:
Renamed
AbilityConditions to CastingConditionTypes
AbilityUsage to AbilityUseFlags
AbilityUseType to PowerExecutionTypes

Player and Derived Classes are now under new namespace:
FunkyTrinity.PlayerClass

Ability:
InitCriteria is no longer virtual and has been removed from all derived
classes.
IsADestructiblePower property is now settable. (Removed Cache
Dictionary)
IsASpecialMovementPower property is now settable. (Removed Cache
Dictionary)
LastUsed now uses a variable inside the ability class and no longer
references the static collection.
AbilityUseTimer is now a method of Ability, moved from Player Class.

AbilityCriteria Class:
Holds properties that were preivously found in AbilityUsablityTests,
including: LastConditionPassed and all combat condition Funcs.
Moved the testing methods as  well, CheckPreCastConditionMethod and
CheckCombatConditionMethod

AbilityUsabilityTests is no longer used as a property and is now static
with internal methods used in Ability.InitCriteria

Bot Class:
Added new class and property ProfileCache -- to track profile behavior
and profile usage.

Player Class:
LastUsedAbility property added.

Added new ability DrinkHealthPotion and replaced code found in
GlobalOverlord and TargetHandler.
Abilities that are buffs are now checked during targethandler when
target is avoidance.

Removed unneeded calls to item manager weighting during town runs.
OnGameChanged event is now hooked again..
LOSTests will use MeleeVector when ability tested is melee.
Item and Gold objects will no longer calculate position when testing
avoidances if pickup radius is zero.
Destructable Objects will skip LOS failure if stuck attempts is not
zero.
Avoidance Intersection wait at end of combat will now check starting
with bots position, and also if its skippable.
Update v2

Refactor:
Avoidance related is now under new namespace FunkyTrinity.Avoidance.
Renamed AbilityUsablityTests to AbilityLogic

Ability now creates conditions inside InitalizeCriteria, using static
methods from AbilityLogic class.

Reduced time of profile behavior check to 450ms
TrinityExploreDungeon now clears skip ahead cache again.
Out of combat Behavior Flag

Added property ProfileBehaviorIsOOCInteractive to Profile Class. This is
true when an interactive profile tag is active and enables targeting of
Doors and Barricades when not in town. (this is in addition to
Unit/Item/Gold/Globes from NonCombatBehavior Flag).
update v3

Spirit walk usable as out of combat movement again.
Ability Initilize Critieria is now called during the RecreateAbilities
method.

Added AvoidanceStayPut property into combat cache, used when bot was
forced to stay put last target due to avoidance. This will disable
exclusions afterwards.

SkipAheadCache changed Distance2D to Distance on Vector Checking.

TargetMovement now has navigation use for Line of Sight implemented.

TrinityTownPortal now uses Funky Static Town Portal Checks in
replacement to live calls.
Signed-off-by: herbfunk <aaronmault@gmail.com>
REFACTOR!!!

Moved nearly every file.. renamed a lot of them. Moved properties
around. Reorganized to eliminate unnecessary folders that were
"unspecific".
Lost Changes

-Out of combat behavior now allows doors and obstacle objects when using
(TownPortal/UseObject/UseWaypoint/UsePortal) tags.
-Treespore and
Grotesque Avoidance lifespan has been increased. (so it wont be removed
early!)
-TrinityExploreDungeon resets skip ahead cache again.
-Added
Unified Trinity Profile Tag: TrinityUseTownPortal.
-Gold/Globe avoidance
tests no longer uses modified location if pickup radius is zero.
Update

Avoidance Settings now include weight, which impacts how deadly an
avoidance is.

Added Flesh Pit Spawner to Spawner Units Cache.

Removed unused XML Tags.

Increased the removal value for avoidances Grotesque and Treespores so
they will last longer.
update

Added func criteria for movement abilities

Setting to override demonbuddy monster power level will reset it back to
original value after new game.

Added setting into Ranges to ignore blacklisted ids from profile.
misc

last health check now only occurs if ability used was target based.