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

How to make barb use call of the ancientes only on elite mobs with Trinity?

luccasfc89

New Member
Joined
Nov 12, 2012
Messages
11
Reaction score
0
Hello guys! How to make barb use call of the ancients only on elite mobs? his using on cooldown and i cant find the option to set only on elite mob on settings.

heeeelp me!

Thanks ;)
 
Hello guys! How to make barb use call of the ancients only on elite mobs? his using on cooldown and i cant find the option to set only on elite mob on settings.

heeeelp me!

Thanks ;)

im going to work now but i will help you out with it when i get home from work:) just writing so you know you will get help! ;>
 
ok this is how i did it for my barbarian.. the reason i did it like this is cause then it will use CotA depending on your Wrath of the Berserker settings in trinity/combat/barbarian so you can set it to like use on hard elites only or whatever but remmeber now if you change wrath of the bersker settings it will also change call of the ancient settings.. but imo.. they are mostly wanted to be used same time anyways

The file you need to edit is located in "Plugins\Trinity\Combat\Abilities\BarbarianCombat.cs"

find:
Code:
        public static bool ShouldWaitForCallOfTheAncients
        {
            get
            {
                return
                    Hotbar.Contains(SNOPower.Barbarian_CallOfTheAncients) &&
                    !UseOOCBuff &&
                    !IsCurrentlyAvoiding &&
                    !CanCast(SNOPower.Barbarian_CallOfTheAncients) &&
                    TargetUtil.AnyMobsInRange(V.F("Barbarian.CallOfTheAncients.MinEliteRange"), 3) &&
                    !GetHasBuff(SNOPower.Barbarian_CallOfTheAncients) &&
                    Player.PrimaryResource <= V.F("Barbarian.CallOfTheAncients.MinFury");
            }
        }
replace that entire section with:
Code:
        public static bool ShouldWaitForCallOfTheAncients
        {
            get
            {
                if (UseOOCBuff || IsCurrentlyAvoiding)
                    return false;


                // CotA with elites
                bool wotbElites =
                    (WOTBGoblins || WOTBElitesPresent);


                return
                    Hotbar.Contains(SNOPower.Barbarian_CallOfTheAncients) &&
                    !UseOOCBuff &&
                    !IsCurrentlyAvoiding &&
                    Player.PrimaryResource <= 50 &&
                    !CanCast(SNOPower.Barbarian_CallOfTheAncients) &&
                    !GetHasBuff(SNOPower.Barbarian_CallOfTheAncients) &&
                    (WOTBIgnoreElites || wotbElites || (Settings.Combat.Barbarian.WOTBMode == BarbarianWOTBMode.WhenReady));
            }
        }

also find:
Code:
        public static bool CanUseCallOfTheAncients
        {
            get
            {
                return !UseOOCBuff &&
                    !IsCurrentlyAvoiding &&
                    CanCast(SNOPower.Barbarian_CallOfTheAncients) &&
                    !Player.IsIncapacitated &&
                    !GetHasBuff(SNOPower.Barbarian_CallOfTheAncients) && (Sets.ImmortalKingsCall.IsFullyEquipped ||
                    CurrentTarget.IsEliteRareUnique ||
                    TargetUtil.EliteOrTrashInRange(V.F("Barbarian.CallOfTheAncients.MinEliteRange")) ||
                    TargetUtil.AnyMobsInRange(V.F("Barbarian.CallOfTheAncients.MinEliteRange"), 3) ||
                    TargetUtil.AnyElitesInRange(V.F("Barbarian.CallOfTheAncients.MinEliteRange")));
            }
        }
and replace that entire section with:
Code:
        public static bool CanUseCallOfTheAncients
        {
            get
            {
                /* CotA should be used when the following conditions are met:
                 * If ignoring elites, when 3 monsters in 25 yards or 10 monsters in 50 yards are present, OR
                 * If using on hard elites only, when an elite with the required affix is present, OR
                 * If normal mode, when any elite is within 20 yards, OR
                 * If we have low health (use potion health)
                 * And not on the Heart of sin
                 */


                bool anyTime = (Settings.Combat.Barbarian.WOTBMode == BarbarianWOTBMode.WhenReady && !Player.IsInTown);
                bool hasBuff = GetHasBuff(SNOPower.Barbarian_CallOfTheAncients);
                bool hasInfiniteCasting = GetHasBuff(SNOPower.Pages_Buff_Infinite_Casting);
                bool canCast = CanCast(SNOPower.Barbarian_CallOfTheAncients, CanCastFlags.NoTimer);


                bool emergencyHealth = Player.CurrentHealthPct <= V.F("Barbarian.WOTB.EmergencyHealth");


                bool result =
                    (!UseOOCBuff || anyTime) &&
                    //Player.PrimaryResource >= V.I("Barbarian.WOTB.MinFury") && // WOTB is "free" !
                    // Don't still have the buff
                    !hasBuff &&
                    canCast &&
                    (WOTBGoblins || WOTBIgnoreElites || WOTBElitesPresent || anyTime || emergencyHealth || hasInfiniteCasting);


                return result;
            }
        }
 
Back
Top