public CombatCache() { bWholeNewTarget=false; bPickNewAbilities=false; bWaitingAfterPower=false; bWaitingForPower=false; bWaitingForPotion=false; bForceTargetUpdate=false; bWasRootedLastTick=false; ShouldCheckItemLooted=false; reCheckedFinished=false; recheckCount=0; LastHealthDropPct=0d; LastHealthChange=DateTime.Today; powerPrime=new Ability(); iElitesWithinRange=new int[] { 0, 0, 0, 0, 0, 0, 0, 0 }; iAnythingWithinRange=new int[] { 0, 0, 0, 0, 0, 0, 0, 0 }; iNonRendedTargets_6=0; bAnyBossesInRange=false; bAnyChampionsPresent=false; bAnyTreasureGoblinsPresent=false; bAnyMobsInCloseRange=false; bAnyNonWWIgnoreMobsInRange=false; RequiresAvoidance=false; TravellingAvoidance=false; bForceCloseRangeTarget=false; lastHadUnitInSights=DateTime.Today; lastHadEliteUnitInSights=DateTime.Today; lastHadContainerAsTarget=DateTime.Today; lastHadRareChestAsTarget=DateTime.Today; dateSincePickedTarget=DateTime.Today; LastAvoidanceMovement=DateTime.Today; SurroundingUnits=0; DontMove=false; CriticalAvoidance=false; FleeingLastTarget=false; AvoidanceLastTarget=false; UsesDOTDPSAbility=false; TargetClusterCollection=new ClusterTargetCollection(TargetClusterConditions); }
///<summary> ///Returns a power for special movement if any are currently present in the abilities. ///</summary> internal bool FindMovementPower(out Ability MovementAbility) { MovementAbility=null; foreach (var item in this.Abilities.Keys.Where(A => PowerCacheLookup.SpecialMovementAbilities.Contains(A))) { if (this.Abilities[item].CheckPreCastConditionMethod()) { MovementAbility=this.Abilities[item]; return true; } } return false; }
///<summary> ///Returns a power for special movement if any are currently present in the abilities. ///</summary> internal bool FindSpecialMovementPower(out Ability MovementAbility) { MovementAbility=null; foreach (var item in this.Abilities.Values.Where(A=>A.IsASpecialMovementPower)) { if (item.CheckPreCastConditionMethod()) { MovementAbility=item; return true; } } return false; }
///<summary> ///Returns a power for Buffing. ///</summary> internal bool FindBuffPower(out Ability BuffAbility) { BuffAbility=null; foreach (var item in this.Abilities.Values.Where(A => A.UseOOCBuff)) { if (item.CheckPreCastConditionMethod()) { if (item.CheckBuffConditionMethod()) { BuffAbility=item; return true; } } } return false; }