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

Constantly update heal unit

tuanha

Well-Known Member
Joined
Nov 29, 2011
Messages
6,998
Reaction score
124
Hi guys,

I'm having problem using Behavior Tree healer CC

My Workflow is like this:

#1. Search for lowest HP unit

#2. If lowest HP < 70 --> Do some healing

#3. If lowest HP > 70 --> Do some dpsing

The problem is WHILE the CC at #3, some unit HP get below 70% and the CC keep do some dpsing...

How to make it stop dpsing and back to #2 (do some healing)

Sure you guys know the code to solve this? Please help.

Thank you.
 
Without any code to look at, nobody can help you. We can't just give you a bunch of code as it won't really answer your question.
 
This is my MainRotation code
Code:
        #region MainRotation
        private Composite MainRotation()
        {
            return new PrioritySelector(

                GetUnit(), //Get all the unit to heal, to dispell, to dot...

                TrinketPvPComp(), //Use PvP trinket

                Hold(), //stop when im mounted, casting....

                new Decorator(ret => CheckTarget(UnitHeal, 40) && UnitHeal.HealthPercent <= UrgentHealPercent, //Heal when target below 40%
                    new PrioritySelector(
                        HealRotationComp()
                )),

                new Decorator(ret => CheckTarget(UnitHeal, 40) && UnitHeal.HealthPercent > UrgentHealPercent, //if target > 40% then
                    new PrioritySelector(
                        DispelFriendlyASAPComp(), //dispell sheep, fear...

                        MassDispelEnemyASAPComp(), //mass dispell divine shield, ice block

                        DispelEnemyASAPComp(), //dispell avenging wrath, arcane power...

                        UnitStealthComp(), //detect and dot rogue/druid

                        ShackleUndeadComp(), //shacle dk and his pet

                        SWDComp() //shadow word dead unit below 25%

                )),

                //dispell me if heal target > 70%
                new Decorator(ret => CheckTarget(UnitHeal, 40) && UnitHeal.HealthPercent >= HealPriorityPercent && CountDebuffMagic(Me) >= 1 && Dispel_Magic(Me) && Me.GetAuraByName("Unstable Affliction") == null && Me.GetAuraByName("Vampiric Touch") == null && Me.GetAuraByName("Flame Shock") == null,
                    new PrioritySelector(
                        new Action(delegate
                        {
                            CastSpell("Dispel Magic", Me);
                        }))),

               //heal when target get below 70%
               new Decorator(ret => CheckTarget(UnitHeal, 40) && UnitHeal.HealthPercent <= HealPriorityPercent,
                    new PrioritySelector(
                        HealRotationComp()
                )),

                BuffRotationComp(), //buff

                ShieldTargetFocus(),//shield

                MassDispelFriendlyComp(),//mass dispel

                PrayerofHealingComp(),//prayer of healing

                DispelFriendlyComp(),//dispel friend

                DevouringPlagueComp(),//devouring enemy

                ShadowWordPainComp(),//dot enemy

                HotHealComp(),//renew all ppl below 95%

                DPSComp(),//attack target

                CureDiseaseFriendlyComp(),//cure desease friends

                HealRotationComp(),//heal again if ppl below 90%

                LevitateComp()//levitate ppl swiming
           );
        }
        #endregion

The problem is when

DevouringPlagueComp(),//devouring enemy

ShadowWordPainComp(),//dot enemy

DPSComp(),//attack target

At this point some ppl may get below 40% (should use urgent heal) but the CC have no way to go back to root unless he finish the above action.

So what I can do here to improve it?

Thank you
 
Back
Top