What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal
RebornBuddy Forums

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

CLU (Codified Likeness Utility) - (Pt. 2)

Status
Not open for further replies.
Hello

When I try to use CLU with LazyRaider or Combat Bot as an affliction warlock all it does is cast haunt, drain soul and malefic grasp. It might DoT up ONCE but never refreshes the DoTs. Don't know if the problem is in the CC, LR/CB or if it's just me missing something obvious.

Log attached.
 

Attachments

Hello

When I try to use CLU with LazyRaider or Combat Bot as an affliction warlock all it does is cast haunt, drain soul and malefic grasp. It might DoT up ONCE but never refreshes the DoTs. Don't know if the problem is in the CC, LR/CB or if it's just me missing something obvious.

Log attached.

your log says something different, it casted UA,Corr, Agony, SB,MG,DS ... but okay, i'll test again and try to find issues
have some other todos on my list which needs to look deeper into all warlocks atm, so i will look for your issue too
 
General Update to CLU
- CLU now uses FrameLocks for all behaviors (Resting, Combat, PreCombat, and more ...) - should now be much more reactional and fast
- CLU should now switch settings for Movement and Targetting by BotBase change
- Retribution got a separat pull - logic (not finished, but should do much better now while grinding)

Todo:
- Fix some targetting issues (Pulling new mobs while having already 1 or 2 mobs on it)
- Fix Rest Behavior for Classes with healing spells (atm HB keeps movin while CLU tries to use Healing Spells)
- Fix Warlock TierOne-Talent
- Fix Warlock TierSix-Talent
- Fix Warlock - Affliction (Fix will be up on Sunday i think)
 
I'm also having this problem, my DK seem to like to sit on a lot of runic power even when the only thing it's doing is auto attacking a couple of times.

U can change this very easy by edditing the CLU\Classes\DeathKnight\Frost.cs ... just edit line 136 to "Spell.CastSpell("Frost Strike", ret => Me.CurrentRunicPower > 40, "Frost Strike")," (I choose 40 Runic Power, because you'll always have 20 Runic Power for Icebound Fortitude)

My question was simply to know why it is that way... just wanna know if 80 is realy a good value and i missed something about 2h rotation or if its just a wrong nummer...
 
Blood Strike for AOE-Tanking? i don't think so, thread in AOE situations is generated by Heart Strike, Blood Boil, Spreading diseases (with pestilence or blood boil), Death and Decay.

If u still loose aggro ... check WHO is getting the aggro from the other mobs
- Warlock? -> Check if it is a Demo with his wings (TankAura), if yes ... no way to get the aggro ;)
- Everyone else ... attacks the wrong target, no need to tweak anything

I am sorry, I meant Heart Strike!!! lol
 
It hasn't fixed the problem mate, still spamming it, could you just fix it via svn and let me update, im useless at this kinda thing hehe :)


simply delete : onUnit => Me

code should be like this:
Spell.CastSpell("Victory Rush", ret => Buff.PlayerHasActiveBuff("Victorious") && Me.HealthPercent < CLUSettings.Instance.Warrior.ImpendingVictoryPercent && !WoWSpell.FromId(103840).Cooldown && !WoWSpell.FromId(34428).Cooldown, "Victory Rush or Impending Victory"),


and it works for me, cause Impending Victory shoud be casting on mobs not on player himself.


also i have a question about charge. sometimes i get stuck on the way finding path to kill a mob. for example get stuck on big rocks(it will not find a different path to go through, just keep trying but still stuck). if charge works i should be fine to charge to get through the rock . but it just wont charge. dont know what i should change. fi anyone knows plz help.



ok. i get these all fixed.
1: fixed impending victory
2: fixed charge on mobs

code here:
PHP:
#region Revision info
/*
 * $Author: [email protected] $
 * $Date: 2012-10-14 13:21:58 +0800 (周日, 14 十月 2012) $
 * $ID$
 * $Revision: 676 $
 * $URL: http://clu-for-honorbuddy.googlecode.com/svn/trunk/CLU/CLU/Classes/Warrior/Protection.cs $
 * $LastChangedBy: [email protected] $
 * $ChangesMade$
 */
#endregion

using CLU.Helpers;
using Styx.TreeSharp;
using CommonBehaviors.Actions;
using CLU.Settings;
using CLU.Base;
using CLU.Managers;
using Styx.WoWInternals;


namespace CLU.Classes.Warrior
{
    using Styx;
    using Styx.CommonBot;

    class Protection : RotationBase
    {
        private const int ItemSetId = -466; // Tier set ID Colossal Dragonplate Armor

        public override string Name
        {
            get { return "Protection Warrior"; }
        }

        public override string Revision
        {
            get
            {
                return "$Rev: 676 $";
            }
        }

        public override string KeySpell
        {
            get { return "Shield Slam"; }
        }

        public override int KeySpellId
        {
            get { return 23922; }
        }

        public override float CombatMaxDistance
        {
            get { return 3.2f; }
        }

        public override string Help
        {
            get
            {
                var twopceinfo = Item.Has2PcTeirBonus(ItemSetId) ? "2Pc Teir Bonus Detected" : "User does not have 2Pc Teir Bonus";
                var fourpceinfo = Item.Has2PcTeirBonus(ItemSetId) ? "2Pc Teir Bonus Detected" : "User does not have 2Pc Teir Bonus";
                return
                    @"
----------------------------------------------------------------------
Fury MoP:
[*] AutomaticCooldowns now works with Boss's or Mob's (See: General Settings)
This Rotation will:
1. Heal using Last Stand, Shield Block, Rallying Cry, Shield Barrier
	==> Healthstone, Impending Victory
2. AutomaticCooldowns has:
    ==> UseTrinkets 
    ==> UseRacials 
    ==> UseEngineerGloves
    ==> Avatar, Bloodbath, Death Wish
NOTE: PvP rotations have been implemented in the most basic form, once MoP is released I will go back & revise the rotations for optimal functionality 'Dagradt'.
----------------------------------------------------------------------" + twopceinfo + "\n" + fourpceinfo + "\n";
            }
        }

        public override Composite SingleRotation
        {
            get
            {
                return new PrioritySelector(
                    // Pause Rotation
                     new Decorator(ret => CLUSettings.Instance.PauseRotation, new ActionAlwaysSucceed()),

                     // For DS Encounters.
                     EncounterSpecific.ExtraActionButton(),

                     // Kill flying units.
                     Common.HandleFlyingUnits,

                     // Trinkets & Cooldowns
                         new Decorator(
                             ret => Me.CurrentTarget != null && Unit.UseCooldowns(),
                                 new PrioritySelector(
                                         Item.UseTrinkets(),
                                         Racials.UseRacials(),
                                         Item.UseEngineerGloves(),
                                         Buff.CastBuff("Lifeblood", ret => true, "Lifeblood"),
                                         Spell.CastSpell("Shattering Throw", ret => Me.CurrentTarget != null && (Me.CurrentTarget.HealthPercent < 20 || Buff.UnitHasHasteBuff(Me)) && CLUSettings.Instance.Warrior.UseShatteringThrow, "Shattering Throw"),
                                         Spell.CastSelfSpell("Recklessness", ret => Me.CurrentTarget != null && (Me.CurrentTarget.HealthPercent < 20 || Buff.UnitHasHasteBuff(Me)) && CLUSettings.Instance.Warrior.UseRecklessness && Unit.UseCooldowns(), "Recklessness"))),
                    // Interupts
                     Spell.CastInterupt("Pummel",               ret => CLUSettings.Instance.Warrior.UsePummel, "Pummel"),
                     Spell.CastInterupt("Shockwave",            ret => CLUSettings.Instance.Warrior.UseShockwave, "Shockwave"),
                     Spell.CastInterupt("Spell Reflection",     ret => Me.CurrentTarget != null && Me.CurrentTarget.CurrentTarget == Me && CLUSettings.Instance.Warrior.UseSpellReflection, "Spell Reflection"),
                     Spell.CastAreaSpell("Intimidating Shout", 8, false, 1, 0.0, 0.0, ret => CLUSettings.Instance.Warrior.UseIntimidatingShout, "Intimidating Shout"),
                     Buff.CastDebuff("Demoralizing Shout",       ret => Me.CurrentTarget != null && !Buff.UnitHasWeakenedBlows(Me.CurrentTarget) && CLUSettings.Instance.Warrior.UseDemoralizingShout, "Demoralizing Shout"),
                     // START AoE
                     new Decorator(
                         ret => Unit.CountEnnemiesInRange(Me.Location, 12) >= CLUSettings.Instance.Warrior.ProtAoECount,
                         new PrioritySelector(
                             Spell.CastConicSpell("Shockwave", 11f, 33f, ret => true, "Shockwave"),
                             Spell.CastSpell("Cleave",          ret => Buff.PlayerHasActiveBuff("Ultimatum") || Me.RagePercent >= CLUSettings.Instance.Warrior.ProtAoECleaveRagePercent, "Cleave"),
                             Spell.CastAreaSpell("Thunder Clap", 10, false, CLUSettings.Instance.Warrior.ProtAoECount, 0.0, 0.0, ret => !WoWSpell.FromId(6343).Cooldown && Me.CurrentTarget != null && Me.CurrentTarget.IsWithinMeleeRange, "Thunder Clap"),
                             Spell.CastSpell("Intimidating Shout", ret => TalentManager.HasGlyph("Intimidating Shout"), "Intimidating Shout") //only use if glyphed
                             )),
Spell.CastSpell("Charge",                   ret => Me.CurrentTarget != null && Me.CurrentTarget.DistanceSqr >= 8 * 8 && Me.CurrentTarget.DistanceSqr <= 25 * 25, "Charge"),
                        Spell.CastOnUnitLocation("Heroic Leap",     ret => Me.CurrentTarget, ret => Me.CurrentTarget != null && Me.CurrentTarget.DistanceSqr >= 8 * 8  && Me.CurrentTarget.DistanceSqr <= 40 * 40 && SpellManager.Spells["Charge"].CooldownTimeLeft.Seconds > 1 && SpellManager.Spells["Charge"].CooldownTimeLeft.Seconds < 18, "Heroic Leap"),
                    // START Main Rotation
                     Spell.CastSpell("Heroic Strike",       ret => Buff.PlayerHasActiveBuff("Ultimatum") || Me.RagePercent >= CLUSettings.Instance.Warrior.ProtHeroicStrikeRagePercent, "Heroic Strike"),
                     Spell.CastSpell("Shield Slam",         ret => true, "Shield Slam on CD"),
                     Spell.CastSpell("Revenge",             ret => true, "Revenge on CD"),
                     Spell.CastSelfSpell("Deadly Calm", ret => CLUSettings.Instance.Warrior.UseDeadlyCalm && Unit.UseCooldowns(), "Deadly Calm"),
                     Spell.CastSelfSpell("Berserker Rage", ret => Me.CurrentTarget != null && (CLUSettings.Instance.Warrior.UseBerserkerRage && Unit.UseCooldowns() && Me.CurrentTarget.IsWithinMeleeRange), "Berserker Rage"),
                     Spell.CastAreaSpell("Thunder Clap", 8, false, 1, 0.0, 0.0, ret => !Buff.UnitHasWeakenedBlows(Me.CurrentTarget) && Me.CurrentTarget != null && Me.CurrentTarget.IsWithinMeleeRange, "Thunder Clap for Weakened Blows"),
                     Buff.CastDebuff("Demoralizing Shout",  ret => Me.CurrentTarget != null && !Buff.UnitHasWeakenedBlows(Me.CurrentTarget) && CLUSettings.Instance.Warrior.UseDemoralizingShout, "Demoralizing Shout"),
                     Spell.CastSpell("Commanding Shout", ret => Me.RagePercent < 40 && !WoWSpell.FromId(469).Cooldown && CLUSettings.Instance.Warrior.ShoutSelection == WarriorShout.Commanding, "Commanding Shout for Rage"),
                     Spell.CastSpell("Battle Shout", ret => Me.RagePercent < 40 && !WoWSpell.FromId(6673).Cooldown && CLUSettings.Instance.Warrior.ShoutSelection == WarriorShout.Battle, "Battle Shout for Rage"),
                     Spell.CastSpell("Sunder Armor", ret => true, "Devastate if SS and Rev on CD")

                     );
            }
        }

        public Composite burstRotation
        {
            get
            {
                return (
                    new PrioritySelector(
                ));
            }
        }

        public Composite baseRotation
        {
            get
            {
                return (
                    new PrioritySelector(
                        //new Action(a => { SysLog.Log("I am the start of public Composite baseRotation"); return RunStatus.Failure; }),
                        //PvP Utilities
                        Spell.CastSpell("Charge",                   ret => Me.CurrentTarget != null && Me.CurrentTarget.DistanceSqr >= 8 * 8 && Me.CurrentTarget.DistanceSqr <= 25 * 25, "Charge"),
                        Spell.CastOnUnitLocation("Heroic Leap",     ret => Me.CurrentTarget, ret => Me.CurrentTarget != null && Me.CurrentTarget.DistanceSqr >= 8 * 8  && Me.CurrentTarget.DistanceSqr <= 40 * 40 && SpellManager.Spells["Charge"].CooldownTimeLeft.Seconds > 1 && SpellManager.Spells["Charge"].CooldownTimeLeft.Seconds < 18, "Heroic Leap"),
                        Spell.CastSpell("Hamstring",                ret => !Buff.TargetHasDebuff("Hamstring"), "Hamstring"),

                        //Rotation
                        //earthen_potion,if=health_pct<35&buff.earthen_potion.down
                        Racials.UseRacials(),
                        Spell.CastSelfSpell("Last Stand",           ret => Me.CurrentHealth < 30000, "Last Stand"),
                        Spell.CastSpell("Heroic Strike",            ret => Buff.PlayerHasActiveBuff("Ultimatum"), "Heroic Strike"),
                        Spell.CastSelfSpell("Berserker Rage",       ret => Me.CurrentTarget != null && Me.CurrentTarget.IsWithinMeleeRange, "Berserker Rage"),
                        Spell.CastSpell("Shield Slam",              ret => Me.CurrentRage < 75, "Shield Slam"),
                        Spell.CastSpell("Revenge",                  ret => Me.CurrentRage < 75, "revenge"),
                        Spell.CastSpell("Shield Block",             ret => true, "Shield Block"),
                        Spell.CastSpell("Thunder Clap",             ret => Me.CurrentTarget != null && Me.CurrentTarget.IsWithinMeleeRange, "Thunder Clap"),
                        Buff.CastBuff("Battle Shout",               ret => Me.CurrentRage < 80, "Battle Shout"),
                        Spell.CastSpell("Sunder Armor",             ret => true, "Devastate")
                ));
            }
        }

        public override Composite Pull
        {
             get { return this.SingleRotation; }
        }

        public override Composite Medic
        {
            get
            {
                return (
                    new Decorator(ret => Me.HealthPercent < 100 && CLUSettings.Instance.EnableSelfHealing,
                        new PrioritySelector(
                            Spell.CastSelfSpell("Last Stand",       ret => Me.HealthPercent < CLUSettings.Instance.Warrior.LastStandPercent && !Buff.PlayerHasBuff("Shield Wall") && !Buff.PlayerHasBuff("Rallying Cry") && !Buff.PlayerHasBuff("Enraged Regeneration"), "Last Stand"),
                            Spell.CastSelfSpell("Shield Block",     ret => Me.HealthPercent < CLUSettings.Instance.Warrior.ShieldBlockPercent && Me.RagePercent >= 60 && !Buff.PlayerHasBuff("Shield Block"), "Shield Block"),
                            Spell.CastSelfSpell("Shield Barrier",   ret => Me.HealthPercent < CLUSettings.Instance.Warrior.ShieldBarrierPercent && Me.RagePercent >= 60 && !Buff.PlayerHasBuff("Shield Barrier"), "Shield Block"),
                            Spell.CastSpell("Victory Rush",  ret => Buff.PlayerHasActiveBuff("Victorious") && Me.HealthPercent < CLUSettings.Instance.Warrior.ImpendingVictoryPercent, "Victory Rush or Impending Victory"),
                            Spell.CastSelfSpell("Shield Wall",      ret => Me.HealthPercent < CLUSettings.Instance.Warrior.ShieldWallPercent && !Buff.PlayerHasBuff("Last Stand") && !Buff.PlayerHasBuff("Rallying Cry"), "Shield Wall"),
                            Spell.CastSelfSpell("Rallying Cry",     ret => Me.HealthPercent > CLUSettings.Instance.Warrior.RallyingCryPercent && !Buff.PlayerHasBuff("Last Stand") && !Buff.PlayerHasBuff("Shield Wall") && Unit.WarriorRallyingCryPlayers, "Rallying Cry - Somebody needs me!"),
                            Item.UseBagItem("Healthstone",          ret => Me.HealthPercent < CLUSettings.Instance.Warrior.HealthstonePercent, "Healthstone")
                )));
            }
        }

        public override Composite PreCombat
        {
            get
            {
                return (
                    new PrioritySelector(
                        new Decorator(ret => !Me.Mounted && !Me.IsDead && !Me.Combat && !Me.IsFlying && !Me.IsOnTransport && !Me.HasAura("Food") && !Me.HasAura("Drink"),
                            new PrioritySelector(
                                //flask,type=earth
                                //food,type=great_pandaren_banquet
                                Buff.CastBuff("Defensive Stance",           ret => StyxWoW.Me.Shapeshift != ShapeshiftForm.DefensiveStance, "Defensive Stance"),
                                //earthen_potion
                                Buff.CastRaidBuff("Commanding Shout",       ret => true, "Commanding Shout"),
                                Buff.CastRaidBuff("Battle Shout",           ret => true, "Battle Shout"),
                                Spell.CastSpell("Charge",                   ret => Me.CurrentTarget != null && Macro.Manual && (CLU.LocationContext == GroupLogic.Battleground || Unit.IsTrainingDummy(Me.CurrentTarget)) && Me.CurrentTarget.DistanceSqr >= 8 * 8 && Me.CurrentTarget.DistanceSqr <= 25 * 25, "Charge"),
                                Spell.CastOnUnitLocation("Heroic Leap",     ret => Me.CurrentTarget, ret => Me.CurrentTarget != null && Macro.Manual && (CLU.LocationContext == GroupLogic.Battleground || Unit.IsTrainingDummy(Me.CurrentTarget)) && Me.CurrentTarget.DistanceSqr >= 8 * 8 && Me.CurrentTarget.DistanceSqr <= 40 * 40 && SpellManager.Spells["Charge"].CooldownTimeLeft.Seconds > 1 && SpellManager.Spells["Charge"].CooldownTimeLeft.Seconds < 18, "Heroic Leap"),
                                new Action(delegate
                                {
                                    Macro.isMultiCastMacroInUse();
                                    return RunStatus.Failure;
                                })
                ))));
            }
        }

        public override Composite Resting
        {
            get { return Base.Rest.CreateDefaultRestBehaviour(); }
        }

        public override Composite PVPRotation
        {
            get
            {
                return (
                    new PrioritySelector(
                        //new Action(a => { SysLog.Log("I am the start of public override Composite PVPRotation"); return RunStatus.Failure; }),
                        CrowdControl.freeMe(),
                        new Decorator(ret => Macro.Manual || BotChecker.BotBaseInUse("BGBuddy"),
                            new Decorator(ret => Me.CurrentTarget != null && Unit.UseCooldowns(),
                                new PrioritySelector(
                                    Item.UseTrinkets(),
                                    Buff.CastBuff("Lifeblood", ret => true, "Lifeblood"),
                                    Item.UseEngineerGloves(),
                                    new Action(delegate
                                    {
                                        Macro.isMultiCastMacroInUse();
                                        return RunStatus.Failure;
                                    }),
                                    new Decorator(ret => Macro.Burst, burstRotation),
                                    new Decorator(ret => !Macro.Burst || BotChecker.BotBaseInUse("BGBuddy"), baseRotation)))
                )));
            }
        }

        public override Composite PVERotation
        {
            get { return this.SingleRotation; }
        }
    }
}
 
Last edited:
simply delete : onUnit => Me

code should be like this:
Spell.CastSpell("Victory Rush", ret => Buff.PlayerHasActiveBuff("Victorious") && Me.HealthPercent < CLUSettings.Instance.Warrior.ImpendingVictoryPercent && !WoWSpell.FromId(103840).Cooldown && !WoWSpell.FromId(34428).Cooldown, "Victory Rush or Impending Victory"),


and it works for me, cause Impending Victory shoud be casting on mobs not on player himself.

Thanks for testing this and pointing this out, since noone could tell me bout the that :) so the last version, before someone "fixed it" was working :)
Your Charge is not different from that one that was committed, so i assume u didn't get it fixed? good news!

Warriors:
- Impending Victory and Victory Rush - fixed for all Speccs
- Charge - fixed for all Speccs (Charge will now only executed if the path is fully navigatable, hope this works)
 
I have a log from killing the first two bosses of MV and attempting the third boss (regular 10 man). I was a Blood DK. I wanted to post the log for your usage (analysis/feedback), however it exceeds the file limit. If you want the email message me an email so I can email the log to you. If you prefer otherwise I guess I can use a third party site to upload the log.

The profile was simply AMAZING and made tanking so much easier. Great profile. Keep up the amazing work. The only minor issue was that Bone shield wasn't refreshed fast enough and death strike would sometimes be used a bit late so that blood shield wore off. I changed some of the settings and blood shield was no longer an issue. However Bone shield is so minor and I have no issue refreshing it myself (it isn't always slow on the refresh).

GREAT work !!! :)
 
Last edited:
since the last 2 clu updates with any class i seem to get a frame drop every 3-5 seconds or so anyone else having this issue?
 
since the last 2 clu updates with any class i seem to get a frame drop every 3-5 seconds or so anyone else having this issue?

running CLU on a Laptop, not a beast, no problems atm

but ... maybe the last changes for speed improvements result in framedrops on real slow machines
can u test with singular? If this happens with singular i know where the problem comes from and i could add a workaround for that by givin u a setting to disable the feature.
 
running CLU on a Laptop, not a beast, no problems atm

but ... maybe the last changes for speed improvements result in framedrops on real slow machines
can u test with singular? If this happens with singular i know where the problem comes from and i could add a workaround for that by givin u a setting to disable the feature.

Il give it a test with singular in a min just in a heroic. But its not a pc issue i got a beast pc dosnt seem to have a problem with FTW cc which i was using on another chara 5mins before i switched to clu.

edit: yeah singular does the same thing it seems.

I was going to post the log of the heroic I just did but for some reason it was 3meg let me make another log quick and il post it.
 
Last edited:
Il give it a test with singular in a min just in a heroic. But its not a pc issue i got a beast pc dosnt seem to have a problem with FTW cc which i was using on another chara 5mins before i switched to clu.

FTW uses basicly the same method for performance, so i can't believe your issues cames from the last changes to the routines core ...
can u provide me
- a log ;)
or details to your toon
- Class
- Specc
- Level
- Where do you encounter the problems
- are the issues over the complete length of a fight or only at the beginning
- only in raid / 5m or in solo mode too
 
here is the log.

View attachment 4600 2012-10-26 18.42.txt

and i tested again with singular and ftw and ftw seemed fine but singular had the same problem i dont know if this helps.

I was playing a warrior tested arms and fury spec and the problem happens when ever im in combat. Happened on test dummies and raid and heroic 5man.
 
Last edited:
thanks for the reply and nice work of CLU been using it xP
(i know very few of program java lol, i copied you code , before charge is not working against mobs (if i dont remember it wrong, think it only works in pvp, not sure tho, cant understand the code really well))
I also find problems with warrior prot class.
1:when pop all cool down comes out. Avatar is not proc,i cant seems to find Avatar command in Protection.cs(i tried to copy
Spell.CastSelfSpell("Recklessness", ret => Me.CurrentTarget != null && (Me.CurrentTarget.HealthPercent < 20 || Buff.UnitHasHasteBuff(Me)) && CLUSettings.Instance.Warrior.UseRecklessness && Unit.UseCooldowns(), "Recklessness"
))),
and change "Recklessness" to "Avatar" but it will not work ).
2: banners are not working
3: excute is not working
these are all in prot warrior class

thanks again. and sry about my aweful english
 
Can anybody say me how i need confiure CLU so use all CD, Trinkets, etc...in all moment?? When i raiding, kill pulls in way or make quest..

I have dude for :

1- Enabe rotation override?? YES or NO ?? Why

2 Rotation override ?? If i put YES i always put PVE that only use for this

3- Burst in ?? I put mob, because i like burst in pull and boss, but no working, only use trinkets and CD in boss

4 Burst on add account =2 all pulls have 2 or more

5 Use AOE = No, i dont like flamestrike in boss or something

Is this configuration good?? who i need change for always use trinkets, cds and others??

Thanks

Can anybody help me?
 
thanks for the reply and nice work of CLU been using it xP
(i know very few of program java lol, i copied you code , before charge is not working against mobs (if i dont remember it wrong, think it only works in pvp, not sure tho, cant understand the code really well))
I also find problems with warrior prot class.
1:when pop all cool down comes out. Avatar is not proc,i cant seems to find Avatar command in Protection.cs(i tried to copy
))),
and change "Recklessness" to "Avatar" but it will not work ).
2: banners are not working
3: excute is not working
these are all in prot warrior class

thanks again. and sry about my aweful english

if u prefer german ... contact me via pm

Protection Warrior:
- Avatar now supported (will be used if cooldowns are enabled)
- Execute if Target below 20%

What are Banners? :)
 
Status
Not open for further replies.
Back
Top