What's new
  • Visit Rebornbuddy
  • Visit Resources
  • Visit API Documentation
  • Visit Downloads
  • Visit Portal
  • Visit Panda Profiles
  • Visit LLamamMagic

Hammer of the Ancients: Not attacking some elites with the skill.

Thaimat

New Member
Joined
Nov 14, 2012
Messages
30
Reaction score
0
As title says, sometimes when facing elites, DB or giles completely ignores HotA and dont use it. Anyone know how to correct this?
 
as of now HOTA doesnt seem viable IMO I have tried it and for one it doesn't spam it as well as it should and as you pointed out it sometimes ignores the ability. I've tried to configure it in the trinity.cs but to no avail i was unsuccessful.
 
Look for the HOTA block in Giles and replace it with this
I remove the check for currentlyAvoiding also due to the fact that HOTA hits so hard I figured if you have to avoid getting one cast off might be better than avoiding. If you want to make it so it doesnt cast when avoiding just add && !bCurrentlyAvoiding after !bOOCBuff

This is a quick fix just to make it spam like theres no other long as there is fury
Code:
                    // Hammertime
                    if (!bOOCBuff && !bCurrentlyAvoiding && !bWaitingForSpecial && hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_HammerOfTheAncients) && !playerStatus.bIsIncapacitated &&
                        playerStatus.dCurrentEnergy >= 20 && GilesUseTimer(SNOPower.Barbarian_HammerOfTheAncients))
                    {
                        return new GilesPower(SNOPower.Barbarian_HammerOfTheAncients, 12f, vNullLocation, -1, targetCurrent.iThisACDGUID, 1, 1, USE_SLOWLY);
                    }
 
So bazingaw, do I replace
Code:
// Hammer of the ancients spam-attacks - never use if waiting for special
                    if (!bOOCBuff && !bCurrentlyAvoiding && !bWaitingForSpecial && hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_HammerOfTheAncients) && !playerStatus.bIsIncapacitated &&
                        playerStatus.dCurrentEnergy >= 20 &&
                       (
                        // More than 75 energy... *OR* 55 energy and target is high on health... 
                            playerStatus.dCurrentEnergy >= 75 || (playerStatus.dCurrentEnergy >= 55 && targetCurrent.iThisHitPoints >= 0.50) ||
                        // OR... target is elite/goblin/boss...
                            targetCurrent.bThisEliteRareUnique || targetCurrent.bThisTreasureGoblin || targetCurrent.bThisBoss ||
                        // OR... player WOTB is active... OR player is low on health...
                            GilesHasBuff(SNOPower.Barbarian_WrathOfTheBerserker) || playerStatus.dCurrentHealthPct <= 0.38
                       ) &&
                       GilesUseTimer(SNOPower.Barbarian_HammerOfTheAncients))
                    {
                        return new GilesPower(SNOPower.Barbarian_HammerOfTheAncients, 12f, vNullLocation, -1, targetCurrent.iThisACDGUID, 1, 1, USE_SLOWLY);
                    }

and it wouldnt override wotb would it?
This is a quick fix just to make it spam like theres no other long as there is fury
Code:
                    // Hammertime
                    if (!bOOCBuff && !bCurrentlyAvoiding && !bWaitingForSpecial && hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_HammerOfTheAncients) && !playerStatus.bIsIncapacitated &&
                        playerStatus.dCurrentEnergy >= 20 && GilesUseTimer(SNOPower.Barbarian_HammerOfTheAncients))
                    {
                        return new GilesPower(SNOPower.Barbarian_HammerOfTheAncients, 12f, vNullLocation, -1, targetCurrent.iThisACDGUID, 1, 1, USE_SLOWLY);
                    }
 
Yep replace that and it should wait for wotb since its still checking for !bWaitingForSpecial which means NOT waiting for special the ncast.
 
Seems to still holding back on HOTA when fighting some elites.. >_> and very random too
 
Hmmm when im free today I'll give it a proper run through act 3 to test, but really it should be spamming on elites or mobs regardless. Could be you are avoiding a lot and I accidentally pasted the code that still had the if avoiding dont use hota bit (Sorry!). If you can give it a try removing && !bCurrentlyAvoiding so it looks like below

Code:
                    // Hammertime
                    if (!bOOCBuff && !bWaitingForSpecial && hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_HammerOfTheAncients) && !playerStatus.bIsIncapacitated &&
                        playerStatus.dCurrentEnergy >= 20 && GilesUseTimer(SNOPower.Barbarian_HammerOfTheAncients))
                    {
                        return new GilesPower(SNOPower.Barbarian_HammerOfTheAncients, 12f, vNullLocation, -1, targetCurrent.iThisACDGUID, 1, 1, USE_SLOWLY);
                    }
 
Did what you asked and is still cluelessly auto-swinging sometimes :(. Any other solutions causing it to trigger this bug?
 
Uhm there could be another issue where the fury generator seems to ALWAYS want to melee a bit and what I did was something like this to my bash
Code:
                    // Bash fast-attacks
                    if ((!bOOCBuff && !bCurrentlyAvoiding && hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_Bash)) || playerStatus.dCurrentEnergy <= 30)
                    {
                        return new GilesPower(SNOPower.Barbarian_Bash, 10f, vNullLocation, -1, targetCurrent.iThisACDGUID, 0, 1, USE_SLOWLY);
                    }
What I did was I added a check for if you are below 30 energy then only use bash, I guess for you could try to add a check for something like less than 20 fury then cast only. If youre not sure how to do this change, tell me what fury generator youre using and ill see what I can do.

Another option would be to add a check on your fury generator thats something like && !PowerManager.CanCast(SNOPower.Barbarian_HammerOfTheAncients) which might be better. Which actually leads me to another change WW'ers could just add a check for

&& !PowerManager.CanCast(SNOPower_Barbarian.Whirlwind)
 
Last edited:
where would i add

Code:
                    // Frenzy rapid-attacks
                    if ((!bOOCBuff && !bCurrentlyAvoiding && hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_Frenzy)) && !PowerManager.CanCast(SNOPower.Barbarian_HammerOfTheAncients))
                    {
                        return new GilesPower(SNOPower.Barbarian_Frenzy, 10f, vNullLocation, -1, targetCurrent.iThisACDGUID, 0, 0, SIGNATURE_SPAM);
                    }
                    // Bash fast-attacks
                    if ((!bOOCBuff && !bCurrentlyAvoiding && hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_Bash)) && !PowerManager.CanCast(SNOPower.Barbarian_HammerOfTheAncients))
                    {
                        return new GilesPower(SNOPower.Barbarian_Bash, 10f, vNullLocation, -1, targetCurrent.iThisACDGUID, 0, 1, USE_SLOWLY);
                    }

thats both frenzy n bash like that
 
I am actualy using default attack.. I dont use any fury generators.
 
when i added && !PowerManager.CanCast(SNOPower.Barbarian_HammerOfTheAncients) to default attacks, it jhust stands there and not attack at all :( and ONLY on elites...

But when I manually activate WOTB, it stops the non-sense auto attack and spams hammer. weird
 
Last edited:
Hmmm when im free today I'll give it a proper run through act 3 to test, but really it should be spamming on elites or mobs regardless. Could be you are avoiding a lot and I accidentally pasted the code that still had the if avoiding dont use hota bit (Sorry!). If you can give it a try removing && !bCurrentlyAvoiding so it looks like below

Code:
                    // Hammertime
                    if (!bOOCBuff && !bWaitingForSpecial && hashPowerHotbarAbilities.Contains(SNOPower.Barbarian_HammerOfTheAncients) && !playerStatus.bIsIncapacitated &&
                        playerStatus.dCurrentEnergy >= 20 && GilesUseTimer(SNOPower.Barbarian_HammerOfTheAncients))
                    {
                        return new GilesPower(SNOPower.Barbarian_HammerOfTheAncients, 12f, vNullLocation, -1, targetCurrent.iThisACDGUID, 1, 1, USE_SLOWLY);
                    }

When the bot is happily spamming HOTA, !bWaitingForSpecial doesn't seem to trigger, it ignores trying to store enough fury to cast WOTB.
 
HOTA is the best built right now

using it with avoidance disabled

my only problem not spamming revenge well enough
 
Back
Top