also skips keys. Just watched it skip a key on me. Not all keys, as I have seen it grab them.
If you have backtracking enabled this may cause the bot to skip some itemsalso skips keys. Just watched it skip a key on me. Not all keys, as I have seen it grab them.
If you have backtracking enabled this may cause the bot to skip some items
// Wrath of the berserker, elites only (wrath of berserker)
if (!bOOCBuff && hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_WrathOfTheBerserker) &&
// Not on heart of sin after Cydaea
CurrentTarget.ActorSNO != 193077 &&
// Make sure we are allowed to use wrath on goblins, else make sure this isn't a goblin
(settings.bGoblinWrath || !CurrentTarget.IsTreasureGoblin) &&
// If on a boss, only when injured
((CurrentTarget.IsBoss && CurrentTarget.HitPoints <= 0.99 && !hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_Whirlwind)) ||
// If *NOT* on a boss, and definitely no boss in range, then judge based on any elites at all within 30 feet
((!CurrentTarget.IsBoss || hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_Whirlwind)) &&
(!bAnyBossesInRange || hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_Whirlwind)) &&
((iElitesWithinRange[RANGE_25] >= 1 || CurrentTarget.IsEliteRareUnique) && (CurrentTarget.HitPoints >= 0.30 || playerStatus.CurrentHealthPct <= 0.60))
)) &&
// Don't still have the buff
!GilesHasBuff(SNOPower.Barbarian_WrathOfTheBerserker) &&
GilesUseTimer(SNOPower.Barbarian_WrathOfTheBerserker, true) && PowerManager.CanCast(SNOPower.Barbarian_WrathOfTheBerserker))
{
if (playerStatus.CurrentEnergy >= 56)
{
if (CurrentTarget.ActorSNO == 255996)
Logging.Write("[Trinity] Berserk being used: Act 1 Warden, Odeg!");
else if (CurrentTarget.ActorSNO == 256000)
Logging.Write("[Trinity] Berserk being used: Act 2 Warden, Sokahr!");
else if (CurrentTarget.ActorSNO == 256015)
Logging.Write("[Trinity] Berserk being used: Act 3 Warden, Xah'rith!");
else
Logging.Write("[Trinity] Berserk being used!");
Logging.Write("[Trinity] Berserk being used!");
return new GilesPower(SNOPower.Barbarian_WrathOfTheBerserker, 0f, vNullLocation, iCurrentWorldID, -1, 1, 1, USE_SLOWLY);
}
else
{
Logging.Write("[Trinity] Berserk ready, waiting for fury...");
bWaitingForSpecial = true;
}
}
DoneI think I fixed WotB...wasn't the range. Was some random boolean that was in there that I don't think is necessary. It would trigger wotb the first time, but not subsequent times usually. In any case, this seems to be triggering all the time for elites baby. Woohoo!
Change your entire berserker code to this:
Code:// Wrath of the berserker, elites only (wrath of berserker) if (!bOOCBuff && hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_WrathOfTheBerserker) && // Not on heart of sin after Cydaea CurrentTarget.ActorSNO != 193077 && // Make sure we are allowed to use wrath on goblins, else make sure this isn't a goblin (settings.bGoblinWrath || !CurrentTarget.IsTreasureGoblin) && // If on a boss, only when injured ((CurrentTarget.IsBoss && CurrentTarget.HitPoints <= 0.99 && !hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_Whirlwind)) || // If *NOT* on a boss, and definitely no boss in range, then judge based on any elites at all within 30 feet ((!CurrentTarget.IsBoss || hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_Whirlwind)) && (!bAnyBossesInRange || hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_Whirlwind)) && ((iElitesWithinRange[RANGE_25] >= 1 || CurrentTarget.IsEliteRareUnique) && (CurrentTarget.HitPoints >= 0.30 || playerStatus.CurrentHealthPct <= 0.60)) )) && // Don't still have the buff !GilesHasBuff(SNOPower.Barbarian_WrathOfTheBerserker) && GilesUseTimer(SNOPower.Barbarian_WrathOfTheBerserker, true) && PowerManager.CanCast(SNOPower.Barbarian_WrathOfTheBerserker)) { if (playerStatus.CurrentEnergy >= 56) { if (CurrentTarget.ActorSNO == 255996) Logging.Write("[Trinity] Berserk being used: Act 1 Warden, Odeg!"); else if (CurrentTarget.ActorSNO == 256000) Logging.Write("[Trinity] Berserk being used: Act 2 Warden, Sokahr!"); else if (CurrentTarget.ActorSNO == 256015) Logging.Write("[Trinity] Berserk being used: Act 3 Warden, Xah'rith!"); else Logging.Write("[Trinity] Berserk being used!"); Logging.Write("[Trinity] Berserk being used!"); return new GilesPower(SNOPower.Barbarian_WrathOfTheBerserker, 0f, vNullLocation, iCurrentWorldID, -1, 1, 1, USE_SLOWLY); } else { Logging.Write("[Trinity] Berserk ready, waiting for fury..."); bWaitingForSpecial = true; } }
I think I fixed WotB...wasn't the range. Was some random boolean that was in there that I don't think is necessary. It would trigger wotb the first time, but not subsequent times usually. In any case, this seems to be triggering all the time for elites baby. Woohoo!
Change your entire berserker code to this:
Code:// Wrath of the berserker, elites only (wrath of berserker) if (!bOOCBuff && hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_WrathOfTheBerserker) && // Not on heart of sin after Cydaea CurrentTarget.ActorSNO != 193077 && // Make sure we are allowed to use wrath on goblins, else make sure this isn't a goblin (settings.bGoblinWrath || !CurrentTarget.IsTreasureGoblin) && // If on a boss, only when injured ((CurrentTarget.IsBoss && CurrentTarget.HitPoints <= 0.99 && !hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_Whirlwind)) || // If *NOT* on a boss, and definitely no boss in range, then judge based on any elites at all within 30 feet ((!CurrentTarget.IsBoss || hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_Whirlwind)) && (!bAnyBossesInRange || hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_Whirlwind)) && ((iElitesWithinRange[RANGE_25] >= 1 || CurrentTarget.IsEliteRareUnique) && (CurrentTarget.HitPoints >= 0.30 || playerStatus.CurrentHealthPct <= 0.60)) )) && // Don't still have the buff !GilesHasBuff(SNOPower.Barbarian_WrathOfTheBerserker) && GilesUseTimer(SNOPower.Barbarian_WrathOfTheBerserker, true) && PowerManager.CanCast(SNOPower.Barbarian_WrathOfTheBerserker)) { if (playerStatus.CurrentEnergy >= 56) { if (CurrentTarget.ActorSNO == 255996) Logging.Write("[Trinity] Berserk being used: Act 1 Warden, Odeg!"); else if (CurrentTarget.ActorSNO == 256000) Logging.Write("[Trinity] Berserk being used: Act 2 Warden, Sokahr!"); else if (CurrentTarget.ActorSNO == 256015) Logging.Write("[Trinity] Berserk being used: Act 3 Warden, Xah'rith!"); else Logging.Write("[Trinity] Berserk being used!"); Logging.Write("[Trinity] Berserk being used!"); return new GilesPower(SNOPower.Barbarian_WrathOfTheBerserker, 0f, vNullLocation, iCurrentWorldID, -1, 1, 1, USE_SLOWLY); } else { Logging.Write("[Trinity] Berserk ready, waiting for fury..."); bWaitingForSpecial = true; } }