Exemple #1
0
 private void BtnAttackTargetDummyClick(object sender, EventArgs e)
 {
     if (ObjectManager.InGame)
     {
         Langs.Load();
         if (ObjectManager.MyPlayer.IsValid && Langs.TrainingDummy(ObjectManager.MyPlayer.Target.Name))
         {
             if (_killDummy == null || !_killDummy.IsAlive)
             {
                 KeyHelper.LoadKeys();
                 BarMapper.MapBars();
                 if (CombatEngine.StartOk)
                 {
                     CombatEngine.BotStarted();
                 }
                 else
                 {
                     Logging.Write(LogType.Warning, "CustomClass returned false on StartOk not starting");
                     return;
                 }
                 _killDummy              = new Thread(KillTheDummy);
                 _killDummy.Name         = "KillDummy";
                 _killDummy.IsBackground = true;
                 _killDummy.Start();
             }
             BtnAttackTargetDummy.Enabled = false;
         }
         else
         {
             Logging.Write("Please target a Training dummy ingame");
         }
     }
 }
Exemple #2
0
 private static void CheckBuffAndKeys(IEnumerable <Rule> rules)
 {
     foreach (Rule rule in rules)
     {
         if (rule.IsScript)
         {
             continue;
         }
         rule.BotStarting();
         if (!rule.Action.DoesKeyExist)
         {
             Logging.Write(LogType.Warning, "Key: " + rule.Action.Name + " does not exist on your bars");
         }
         foreach (AbstractCondition abstractCondition in rule.GetConditions)
         {
             if (abstractCondition is BuffCondition)
             {
                 if (!String.IsNullOrEmpty(((BuffCondition)abstractCondition).GetBuffName()))
                 {
                     if (!BarMapper.DoesBuffExist(((BuffCondition)abstractCondition).GetBuffName()))
                     {
                         Logging.Write(LogType.Warning,
                                       "Buff: " + ((BuffCondition)abstractCondition).GetBuffName() +
                                       " does not exist in HasWellKnownBuff will not detect it correctly");
                     }
                 }
             }
         }
     }
 }
        public void CorrectMapping_ToBar()
        {
            //Arrange
            var options = Utils.GetOptions(nameof(CorrectMapping_ToBar));

            //Act & Assert
            using (var assertContext = new CocktailMagicianContext(options))
            {
                var barDTO = new BarDTO
                {
                    Name          = "Bilkova",
                    CityId        = 1,
                    Address       = "Shishman str.",
                    Phone         = "0888 888 444",
                    AverageRating = 4,
                };

                var sut    = new BarMapper();
                var result = sut.MapToBar(barDTO);

                Assert.IsInstanceOfType(result, typeof(Bar));
                Assert.AreEqual(barDTO.Name, result.Name);
                Assert.AreEqual(barDTO.CityId, result.CityId);
                Assert.AreEqual(barDTO.Address, result.Address);
                Assert.AreEqual(barDTO.Phone, result.Phone);
                Assert.AreEqual(barDTO.AverageRating, result.AverageRating);
            }
        }
Exemple #4
0
 public void StartBotting()
 {
     if (!ValidateKeys.AutoLoot)
     {
         Logging.Write(LogType.Error, "Please enable auto loot");
         return;
     }
     if (ValidateKeys.ClickToMove)
     {
         Logging.Write(LogType.Error, "Please disable click to move");
         return;
     }
     BarMapper.MapBars();
     KeyHelper.LoadKeys();
     if (!ValidateKeys.Validate())
     {
         Thread.Sleep(2000);
     }
     Langs.Load();
     if (EngineHandler.EngineStart())
     {
         LazySettings.SaveSettings();
         if (CombatEngine.StartOk)
         {
             CombatEngine.BotStarted();
         }
         else
         {
             Logging.Write(LogType.Warning, "CustomClass returned false on StartOk not starting");
             return;
         }
         Logging.Debug("Relogger: " + ReloggerSettings.ReloggingEnabled);
         Logging.Debug("Engine: " + EngineHandler.Name);
         Logging.Write("Bot started");
         Logging.Debug("CurrentFlyingProfile: " + FlyingSettings.Profile);
         Logging.Debug("CurrentGrindingProfile: " + GrindingSettings.Profile);
         UpdateText(StartStopEngine, "Stop botting");
         ShouldRelog     = ReloggerSettings.ReloggingEnabled;
         LazyForm.Engine = EngineHandler.Name;
         DisableItems();
         Engine.StartEngine(EngineHandler);
         StopAfter.BotStarted();
         PeriodicRelogger.BotStarted();
         PluginManager.BotStart();
         PluginManager.StartPulseThread(true);
     }
     else
     {
         Logging.Write(LogType.Warning, "Engine returned false on load");
     }
 }
Exemple #5
0
 public override void DoWork()
 {
     Logging.Write("[Train]Found the trainer");
     GrindingEngine.Navigator.Stop();
     MoveHelper.MoveToLoc(_npc.Location, 5);
     DoTrain();
     Logging.Write("Re-mapping the bars");
     BarMapper.MapBars();
     Logging.Write("[Train]Train done");
     GrindingEngine.Navigator.Stop();
     GrindingEngine.Navigation = new GrindingNavigation(GrindingEngine.CurrentProfile);
     Train.SetTrain(false);
     GrindingEngine.ShouldTrain = false;
 }
Exemple #6
0
 public override void Execute(int globalcooldown)
 {
     if (!this.DoesKeyExist)
     {
         return;
     }
     if (!KeyHelper.HasKey(this._name))
     {
         this._spell = (BarSpell)null;
     }
     if (this._spell == null)
     {
         this._spell = BarMapper.GetSpellByName(this._name);
         this._spell.SetCooldown(globalcooldown);
         KeyHelper.AddKey(this._name, "", this._spell.Bar.ToString(), this._spell.Key.ToString());
     }
     this._spell.CastSpell();
 }
Exemple #7
0
        public override void Execute(int globalcooldown)
        {
            if (DoesKeyExist)
            {
                if (!KeyHelper.HasKey(_name))
                {
                    _spell = null;
                }
                //Load the spell and set the global cooldown
                if (_spell == null)
                {
                    _spell = BarMapper.GetSpellByName(_name);
                    _spell.SetCooldown(globalcooldown);
                    KeyHelper.AddKey(_name, "", _spell.Bar.ToString(), _spell.Key.ToString());
                }

                _spell.CastSpell();
            }
        }
        public void CorrectMapping_ToBarDTO()
        {
            //Arrange
            var options = Utils.GetOptions(nameof(CorrectMapping_ToBarDTO));

            var bar = new Bar
            {
                Id     = 3,
                Name   = "The Beach",
                CityId = 2,
                City   = new City
                {
                    Id   = 2,
                    Name = "Kaspichan"
                },
                Address       = "Obikolna str.",
                Phone         = "0888 777 444",
                AverageRating = 4.5,
                IsDeleted     = false
            };

            //Act & Assert
            using (var assertCocntext = new CocktailMagicianContext(options))
            {
                var sut    = new BarMapper();
                var result = sut.MapToBarDTO(bar);

                Assert.IsInstanceOfType(result, typeof(BarDTO));
                Assert.AreEqual(bar.Id, result.Id);
                Assert.AreEqual(bar.Name, result.Name);
                Assert.AreEqual(bar.CityId, result.CityId);
                Assert.AreEqual(bar.City.Name, result.CityName);
                Assert.AreEqual(bar.Address, result.Address);
                Assert.AreEqual(bar.Phone, result.Phone);
                Assert.AreEqual(bar.AverageRating, result.AverageRating);
                Assert.AreEqual(bar.IsDeleted, result.IsDeleted);
                Assert.AreEqual(bar.BarCocktails.Count, result.Cocktails.Count);
            }
        }
Exemple #9
0
        private void AZRUN()
        {
            BarMapper.MapBars();
            KeyHelper.LoadKeys();


            string        BossName = "看门者克里克希尔";
            List <string> EmName   = new List <string>();

            EmName.Add("看守者纳尔伊");
            EmName.Add("看守者加什拉");
            EmName.Add("看守者希尔希克");
            List <int> MyBadBuff = new List <int>();

            MyBadBuff.Add(52087);   // 蛛网裹体
            MyBadBuff.Add(52086);   // 蛛网裹体

            while (ObjectManager.MyPlayer.IsAlive)
            {
                // 循环开始
                PUnit boss = new PUnit(0);
                Dictionary <string, PUnit> em = new Dictionary <string, PUnit>();

                // 加buff
                if (!ObjectManager.MyPlayer.HasBuff("钢皮合剂"))
                {
                    KeyHelper.SendLuaOverChat("/use 钢皮合剂");
                }
                if (!ObjectManager.MyPlayer.HasBuff("坚韧"))
                {
                    KeyHelper.SendLuaOverChat("/use 坚韧符文卷轴 II");
                }

                // 找到怪的地址
                int FoundCount = 0;
                em.Clear();
                foreach (PUnit uu in ObjectManager.GetUnits)
                {
                    if (uu.Name.Equals(BossName))
                    {
                        boss = uu;
                        FoundCount++;
                        continue;
                    }
                    foreach (string ename in EmName)
                    {
                        if (uu.Name.Equals(ename))
                        {
                            em.Add(ename, uu);
                            FoundCount++;
                            continue;
                        }
                    }
                }

                if (FoundCount < 4)
                {
                    Logging.Write("找不到怪了");
                    return;
                }

                // 面对boss
                boss.Face();

                // 开机能
                if (!ObjectManager.MyPlayer.HasBuff("野性印记"))
                {
                    BarMapper.CastSpell("野性印记");
                }
                if (!ObjectManager.MyPlayer.HasBuff("猎豹形态"))
                {
                    BarMapper.CastSpell("猎豹形态");
                }
                Thread.Sleep(1000);

                // 定位一个
                int killcount = 0;
                foreach (string ename in EmName)
                {
                    PUnit emUnit = em[ename];
                    while (!emUnit.TargetGUID.Equals(ObjectManager.MyPlayer.GUID))
                    {
                        KeyHelper.SendLuaOverChat("/target " + ename);
                        BarMapper.CastSpell("精灵之火(野性)");
                        Thread.Sleep(100);
                    }
                    //Thread.Sleep(500);

                    // 猛虎之怒
                    if (BarMapper.IsSpellReadyByName("猛虎之怒"))
                    {
                        BarMapper.CastSpell("猛虎之怒");
                        Thread.Sleep(10);
                    }

                    // 树皮术
                    if (BarMapper.IsSpellReadyByName("树皮术"))
                    {
                        BarMapper.CastSpell("树皮术");
                        Thread.Sleep(10);
                    }


                    // 等待怪过来
                    while (emUnit.Location.DistanceToSelf2D > 5)
                    {
                        if (killcount > 0)
                        {
                            BarMapper.CastSpell("横扫");
                        }
                    }
                    ;
                    emUnit.Location.Face();

                    // 杀,直到怪死
                    int count = 0;
                    Logging.Write("血量:" + emUnit.Health + " 怪物名称:" + emUnit.Name + " 是死是活:" + emUnit.IsAlive);
                    int UHealth = 0;
                    UHealth = emUnit.Health;
                    while (UHealth == -1)
                    {
                        UHealth = emUnit.Health;
                    }
                    while (UHealth > 0)
                    {
                        Thread.Sleep(10);
                        if (!ObjectManager.MyPlayer.IsCasting)
                        {
                            //调整朝向
                            if (!emUnit.Location.IsFacing(0.3f))
                            {
                                emUnit.Location.Face();
                            }

                            //Logging.Write("Count is " + count.ToString());

                            // 检查自己的buff
                            while (ObjectManager.MyPlayer.HasBuff(MyBadBuff))
                            {
                            }
                            ;

                            // 猛虎之怒
                            if (BarMapper.IsSpellReadyByName("猛虎之怒"))
                            {
                                BarMapper.CastSpell("猛虎之怒");
                                Thread.Sleep(10);
                            }

                            // 树皮术
                            if (BarMapper.IsSpellReadyByName("树皮术"))
                            {
                                BarMapper.CastSpell("树皮术");
                                Thread.Sleep(10);
                            }

                            // 凶猛撕咬--终结技
                            //if (count == 4 && BarMapper.IsSpellReadyByName("凶猛撕咬"))
                            if (count > 4)
                            {
                                //BarMapper.CastSpell("凶猛撕咬");
                                KeyLowHelper.PressKey(MicrosoftVirtualKeys.LeftShift);
                                KeyLowHelper.PressKey(MicrosoftVirtualKeys.key1);
                                KeyLowHelper.ReleaseKey(MicrosoftVirtualKeys.key1);
                                KeyLowHelper.ReleaseKey(MicrosoftVirtualKeys.LeftShift);
                                Thread.Sleep(10);
                                KeyLowHelper.PressKey(MicrosoftVirtualKeys.key3);
                                KeyLowHelper.ReleaseKey(MicrosoftVirtualKeys.key3);
                                //Thread.Sleep(10);
                                count = 0;
                            }

                            //// 裂伤
                            //if (BarMapper.IsSpellReadyByName("裂伤") && !emUnit.HasBuff("裂伤"))
                            //{
                            //    BarMapper.CastSpell("裂伤");
                            //    Thread.Sleep(10);
                            //    count++;
                            //}

                            // 斜掠
                            if (BarMapper.IsSpellReadyByName("裂伤"))
                            {
                                //BarMapper.CastSpell("裂伤");
                                KeyLowHelper.PressKey(MicrosoftVirtualKeys.LeftShift);
                                KeyLowHelper.PressKey(MicrosoftVirtualKeys.key1);
                                KeyLowHelper.ReleaseKey(MicrosoftVirtualKeys.key1);
                                KeyLowHelper.ReleaseKey(MicrosoftVirtualKeys.LeftShift);
                                Thread.Sleep(10);
                                KeyLowHelper.PressKey(MicrosoftVirtualKeys.key2);
                                KeyLowHelper.ReleaseKey(MicrosoftVirtualKeys.key2);
                                count++;
                                //Thread.Sleep(10);
                            }
                            Logging.Write("血量:" + emUnit.Health);
                        }
                        UHealth = emUnit.Health;
                        while (UHealth == -1)
                        {
                            UHealth = emUnit.Health;
                            if (UHealth == 0)
                            {
                                int HealthTry1 = emUnit.Health;
                                int HealthTry2 = emUnit.Health;
                                UHealth = (HealthTry1 >= HealthTry2 ? HealthTry1 : HealthTry2);
                            }
                        }
                        if (ObjectManager.MyPlayer.IsDead)
                        {
                            return;
                        }
                    }
                    killcount++;
                }

                while (ObjectManager.MyPlayer.HasBuff(MyBadBuff))
                {
                }
                ;

                // 一直横扫,直到全死
                //while (true)
                //{
                //    if (!ObjectManager.MyPlayer.HasBuff(MyBadBuff))
                //    {
                //        if (BarMapper.IsSpellReadyByName("生存本能")) { BarMapper.CastSpell("生存本能"); }
                //        if (ObjectManager.MyPlayer.IsDead) return;
                //        break;
                //    }
                //}
                //while (true)
                //{
                //    if (!ObjectManager.MyPlayer.HasBuff(MyBadBuff))
                //    {
                //        if (BarMapper.IsSpellReadyByName("狂暴")) { BarMapper.CastSpell("狂暴"); }
                //        if (ObjectManager.MyPlayer.IsDead) return;
                //        break;
                //    }
                //}
                KeyLowHelper.PressKey(MicrosoftVirtualKeys.LeftShift);
                KeyLowHelper.PressKey(MicrosoftVirtualKeys.key1);
                KeyLowHelper.ReleaseKey(MicrosoftVirtualKeys.key1);
                KeyLowHelper.ReleaseKey(MicrosoftVirtualKeys.LeftShift);
                Thread.Sleep(10);
                KeyLowHelper.PressKey(MicrosoftVirtualKeys.key4);
                KeyLowHelper.ReleaseKey(MicrosoftVirtualKeys.key4);
                Thread.Sleep(10);
                KeyLowHelper.PressKey(MicrosoftVirtualKeys.key5);
                KeyLowHelper.ReleaseKey(MicrosoftVirtualKeys.key5);
                //while (BarMapper.IsSpellReadyByName("狂暴")) { BarMapper.CastSpell("狂暴"); break; }
                // 加点血
                while (ObjectManager.MyPlayer.Health < 30)
                {
                    if (!ObjectManager.MyPlayer.HasBuff(MyBadBuff))
                    {
                        if (BarMapper.IsSpellReadyByName("回春术"))
                        {
                            BarMapper.CastSpell("回春术"); break;
                        }
                        if (ObjectManager.MyPlayer.IsDead)
                        {
                            return;
                        }
                    }
                }
                while (ObjectManager.MyPlayer.Health < 30)
                {
                    if (!ObjectManager.MyPlayer.HasBuff(MyBadBuff))
                    {
                        if (BarMapper.IsSpellReadyByName("愈合"))
                        {
                            BarMapper.CastSpell("愈合"); break;
                        }
                        if (ObjectManager.MyPlayer.IsDead)
                        {
                            return;
                        }
                    }
                }
                while (!ObjectManager.MyPlayer.HasBuff("猎豹形态"))
                {
                    if (!ObjectManager.MyPlayer.HasBuff(MyBadBuff))
                    {
                        if (BarMapper.IsSpellReadyByName("猎豹形态"))
                        {
                            BarMapper.CastSpell("猎豹形态"); break;
                        }
                        if (ObjectManager.MyPlayer.IsDead)
                        {
                            return;
                        }
                    }
                }

                boss.Face();

                while (true)
                {
                    //ObjectManager.MyPlayer.IsInCombat
                    Thread.Sleep(100);
                    bool  TargetME = false;
                    PUnit emO      = new PUnit(0);
                    foreach (PUnit uu in ObjectManager.GetUnits)
                    {
                        if (uu.IsPlayer)
                        {
                            continue;
                        }
                        if (uu.Name.Equals(boss.Name))
                        {
                            continue;
                        }
                        if (uu.TargetGUID.Equals(ObjectManager.MyPlayer.GUID))
                        {
                            TargetME = true; emO = uu; break;
                        }
                    }
                    if (!TargetME)
                    {
                        break;
                    }
                    emO.Face();
                    KeyLowHelper.PressKey(MicrosoftVirtualKeys.LeftShift);
                    KeyLowHelper.PressKey(MicrosoftVirtualKeys.key5);
                    KeyLowHelper.ReleaseKey(MicrosoftVirtualKeys.key5);
                    KeyLowHelper.ReleaseKey(MicrosoftVirtualKeys.LeftShift);
                    Thread.Sleep(10);
                    KeyLowHelper.PressKey(MicrosoftVirtualKeys.key2);
                    KeyLowHelper.ReleaseKey(MicrosoftVirtualKeys.key2);
                    Thread.Sleep(10);
                    KeyLowHelper.PressKey(MicrosoftVirtualKeys.key4);
                    KeyLowHelper.ReleaseKey(MicrosoftVirtualKeys.key4);
                    Thread.Sleep(10);

                    KeyLowHelper.PressKey(MicrosoftVirtualKeys.LeftShift);
                    KeyLowHelper.PressKey(MicrosoftVirtualKeys.key2);
                    KeyLowHelper.ReleaseKey(MicrosoftVirtualKeys.key2);
                    KeyLowHelper.ReleaseKey(MicrosoftVirtualKeys.LeftShift);
                    Thread.Sleep(10);
                    KeyLowHelper.PressKey(MicrosoftVirtualKeys.key5);
                    KeyLowHelper.ReleaseKey(MicrosoftVirtualKeys.key5);
                    Thread.Sleep(10);

                    //BarMapper.CastSpell("猛虎之怒");
                    //BarMapper.CastSpell("树皮术");
                    //BarMapper.CastSpell("横扫");
                    if (ObjectManager.MyPlayer.IsDead)
                    {
                        return;
                    }
                }

                // 面对boss
                boss.Face();

                // 召唤“打架赛车”
                KeyHelper.SendLuaOverChat("/use 蓝色打架赛车");
                BarMapper.CastSpell("蓝色打架赛车");
                Thread.Sleep(1000);
                PUnit djsc      = new PUnit(0);
                bool  FoundDJSC = false;
                while (!FoundDJSC)
                {
                    foreach (PUnit uu in ObjectManager.GetUnits)
                    {
                        if (uu.Name.Contains("打架赛车"))
                        {
                            djsc      = uu;
                            FoundDJSC = true;
                        }
                    }
                    if (ObjectManager.MyPlayer.IsDead)
                    {
                        return;
                    }
                }

                Thread.Sleep(500);
                // 走到boss旁边,打架赛车Y不小于646
                //while (djsc.Location.DistanceFromXY(boss.Location) > 6)
                string ddd  = Convert.ToString(djsc.Location.Y);
                float  PosY = djsc.Location.Y;
                while (PosY > 648 || PosY == 0)
                {
                    KeyLowHelper.PressKey(MicrosoftVirtualKeys.Up);
                    Thread.Sleep(100);
                    PosY = djsc.Location.Y;
                    ddd  = ddd + Convert.ToString(PosY);
                    if (ObjectManager.MyPlayer.IsDead)
                    {
                        return;
                    }
                }
                KeyLowHelper.ReleaseKey(MicrosoftVirtualKeys.Up);
                Logging.Write(ddd);

                // 一直跳,直到boss消失
                while (boss.Health > 0)
                {
                    KeyLowHelper.PressKey(MicrosoftVirtualKeys.Space);
                    Thread.Sleep(10);
                    KeyLowHelper.ReleaseKey(MicrosoftVirtualKeys.Space);
                    Thread.Sleep(500);
                    if (ObjectManager.MyPlayer.IsDead)
                    {
                        return;
                    }
                }

                while (ObjectManager.MyPlayer.IsInCombat)
                {
                }
                ;
                // 给自己加血
                KeyHelper.SendLuaOverChat("/use 黄油面包卷");
                Thread.Sleep(1000);
                while (ObjectManager.MyPlayer.HasBuff("进食") || ObjectManager.MyPlayer.Health < 100)
                {
                }
                ;

                while (ObjectManager.MyPlayer.Health < 100 && ObjectManager.MyPlayer.ManaPoints > 5590)
                {
                    // 治疗之触
                    if (BarMapper.IsSpellReadyByName("治疗之触"))
                    {
                        BarMapper.CastSpell("治疗之触");
                        Thread.Sleep(100);
                    }
                    if (ObjectManager.MyPlayer.IsDead)
                    {
                        return;
                    }
                }

                // 等待一段时间,直到boss重新出现
                Thread.Sleep(1000);
                bool FoundBoss = false;
                while (!FoundBoss)
                {
                    foreach (PUnit uu in ObjectManager.GetUnits)
                    {
                        if (uu.Name.Equals(BossName))
                        {
                            FoundBoss = true;
                        }
                    }
                    Thread.Sleep(200);
                    if (ObjectManager.MyPlayer.IsDead)
                    {
                        return;
                    }
                }

                // 猎豹形态
                //BarMapper.CastSpell("猎豹形态");
                //MessageBox.Show("OK");

                // 每个小号跳一次
                Process[] wcc = Process.GetProcessesByName("Wow");
                foreach (Process proc in wcc)
                {
                    KeyLowHelper.PressKey(proc.MainWindowHandle, MicrosoftVirtualKeys.Space);
                    Thread.Sleep(10);
                    KeyLowHelper.ReleaseKey(proc.MainWindowHandle, MicrosoftVirtualKeys.Space);
                    Thread.Sleep(100);
                }

                while (ObjectManager.MyPlayer.Health < 100)
                {
                    while (BarMapper.IsSpellReadyByName("生命之血"))
                    {
                        BarMapper.CastSpell("生命之血"); break;
                    }
                    if (ObjectManager.MyPlayer.ManaPoints > 5590)
                    {
                        // 治疗之触
                        if (BarMapper.IsSpellReadyByName("治疗之触"))
                        {
                            BarMapper.CastSpell("治疗之触");
                            Thread.Sleep(100);
                        }
                    }
                    if (ObjectManager.MyPlayer.IsDead)
                    {
                        return;
                    }
                }
            }
        }
Exemple #10
0
        public static List <AddToBehavior> Load()
        {
            var add = new List <AddToBehavior>();
            //----------- Pull actions
            int    spellId = 57330;
            string spell   = BarMapper.GetNameFromSpell(spellId);

            add.Add(new AddToBehavior(spell, Type.Pull, Spec.Normal, new Rule(spell, new ActionSpell(spell), 1)));

            spellId = 49576; // Death Grip
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Pull, Spec.Normal,
                                      new Rule(spell, new ActionSpell(spell), 2,
                                               new List <AbstractCondition>
            {
                new DistanceToTarget(ConditionEnum.MoreThan, 10)
            })));

            spellId = 45477; // Icy Touch
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Pull, Spec.Normal, new Rule(spell, new ActionSpell(spell), 3)));

            string name = "Auto Attack";

            add.Add(new AddToBehavior(name, Type.Pull, Spec.Normal, new Rule(name, new ActionSpell(name), 4)));

            //-----------  Combat Actions
            spellId = 46584; // Raise Dead - For unholy spec
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Tree3,
                                      new Rule(spell, new ActionSpell(spell), 7,
                                               new List <AbstractCondition>
            {
                new PetCondition(PetConditionEnum.DoesNotHave)
            })));

            spellId = 49016; // Unholy Frenzy - Unholy spec
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Tree3, new Rule(spell, new ActionSpell(spell), 1,
                                                                               new List <AbstractCondition>
            {
                new HealthPowerCondition(
                    ConditionTargetEnum.Player,
                    ConditionTypeEnum.Health,
                    ConditionEnum.MoreThan, 80),
                new CombatCountCondition(
                    ConditionEnum.MoreThan, 1)
            })));

            spellId = 49203; // Hungering Cold - Frost spec
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Tree2,
                                      new Rule(spell, new ActionSpell(spell), 4,
                                               new List <AbstractCondition>
            {
                new CombatCountCondition(ConditionEnum.MoreThan, 1)
            })));

            spellId = 49222; // Bone Shield - Blood spec
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Tree1, new Rule(spell, new ActionSpell(spell), 2,
                                                                               new List <AbstractCondition>
            {
                new HealthPowerCondition(
                    ConditionTargetEnum.Player,
                    ConditionTypeEnum.Health,
                    ConditionEnum.LessThan, 75)
            })));

            spellId = 55233; // Vampiric Blood - Blood spec
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Tree1, new Rule(spell, new ActionSpell(spell), 1,
                                                                               new List <AbstractCondition>
            {
                new HealthPowerCondition(
                    ConditionTargetEnum.Player,
                    ConditionTypeEnum.Health,
                    ConditionEnum.LessThan, 20)
            })));

            spellId = 48982; // Rune Tap - Blood spec
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Tree1, new Rule(spell, new ActionSpell(spell), 3,
                                                                               new List <AbstractCondition>
            {
                new HealthPowerCondition(
                    ConditionTargetEnum.Player,
                    ConditionTypeEnum.Health,
                    ConditionEnum.LessThan, 75)
            })));

            spellId = 49028; // Dancing Rune Weapon - Blood spec
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Tree1, new Rule(spell, new ActionSpell(spell), 4,
                                                                               new List <AbstractCondition>
            {
                new CombatCountCondition(
                    ConditionEnum.MoreThan, 1)
            })));

            spellId = 47568; // Empower Rune Weapon
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Normal, new Rule(spell, new ActionSpell(spell), 5,
                                                                                new List <AbstractCondition>
            {
                new CombatCountCondition(
                    ConditionEnum.MoreThan, 1),
                new RuneCondition(
                    ConditionEnum.EqualTo,
                    RuneEnum.Blood, 0),
                new RuneCondition(
                    ConditionEnum.EqualTo,
                    RuneEnum.Frost, 0),
                new RuneCondition(
                    ConditionEnum.EqualTo,
                    RuneEnum.Unholy, 0),
            }
                                                                                )));

            spellId = 46584; // Raise Dead
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Normal, new Rule(spell, new ActionSpell(spell), 6,
                                                                                new List <AbstractCondition>
            {
                new CombatCountCondition(
                    ConditionEnum.MoreThan, 1),
                new HealthPowerCondition(
                    ConditionTargetEnum.Player,
                    ConditionTypeEnum.Health,
                    ConditionEnum.LessThan, 40),
            })));

            spellId = 48743; // Death Pact
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Normal, new Rule(spell, new ActionSpell(spell), 8,
                                                                                new List <AbstractCondition>
            {
                new HealthPowerCondition(
                    ConditionTargetEnum.Player,
                    ConditionTypeEnum.Health,
                    ConditionEnum.LessThan, 22)
            })));

            spellId = 42650; // Army of the Dead
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Normal, new Rule(spell, new ActionSpell(spell), 8,
                                                                                new List <AbstractCondition>
            {
                new CombatCountCondition(
                    ConditionEnum.MoreThan, 2),
                new HealthPowerCondition(
                    ConditionTargetEnum.Player,
                    ConditionTypeEnum.Health,
                    ConditionEnum.LessThan, 30)
            })));

            spellId = 48792; // Icebound Fortitude
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Normal, new Rule(spell, new ActionSpell(spell), 9,
                                                                                new List <AbstractCondition>
            {
                new HealthPowerCondition(
                    ConditionTargetEnum.Player,
                    ConditionTypeEnum.Health,
                    ConditionEnum.LessThan, 40)
            })));

            spellId = 57330; // Horn of Winter
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Normal, new Rule(spell, new ActionSpell(spell), 10)));

            spellId = 47528; // Mind Freeze
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Normal, new Rule(spell, new ActionSpell(spell), 11,
                                                                                new List <AbstractCondition>
            {
                new FunctionsCondition(
                    ConditionTargetEnum.Target,
                    FunctionsConditionEnum.Is,
                    FunctionEnum.Casting)
            })));

            spellId = 47476; // Strangulate
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Normal, new Rule(spell, new ActionSpell(spell), 12,
                                                                                new List <AbstractCondition>
            {
                new FunctionsCondition(
                    ConditionTargetEnum.Target,
                    FunctionsConditionEnum.Is,
                    FunctionEnum.Casting)
            })));

            spellId = 48707; // Anti-Magic Shell
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Normal, new Rule(spell, new ActionSpell(spell), 13,
                                                                                new List <AbstractCondition>
            {
                new FunctionsCondition(
                    ConditionTargetEnum.Target,
                    FunctionsConditionEnum.Is,
                    FunctionEnum.Casting)
            })));

            spellId = 56815; // Rune Strike
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Normal, new Rule(spell, new ActionSpell(spell), 14)));

            spellId = 49143; // Frost Strike - Frost Spec
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Tree2, new Rule(spell, new ActionSpell(spell), 15)));

            spellId = 47541; // Death Coil
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Normal, new Rule(spell, new ActionSpell(spell), 14)));

            spellId = 49998; // Death Strike
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Normal, new Rule(spell, new ActionSpell(spell), 15,
                                                                                new List <AbstractCondition>
            {
                new HealthPowerCondition(
                    ConditionTargetEnum.Player,
                    ConditionTypeEnum.Health,
                    ConditionEnum.LessThan, 55)
            })));

            spellId = 49020; // Obliterate
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Normal, new Rule(spell, new ActionSpell(spell), 16,
                                                                                new List <AbstractCondition>
            {
                new BuffCondition(
                    ConditionTargetEnum.Target,
                    BuffConditionEnum.HasBuff,
                    BuffValueEnum.Name,
                    "Blood Plague"),
                new BuffCondition(
                    ConditionTargetEnum.Target,
                    BuffConditionEnum.HasBuff,
                    BuffValueEnum.Name,
                    "Frost Fever"),
            })));

            spellId = 85948; // Festering Strike
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Normal, new Rule(spell, new ActionSpell(spell), 14)));

            spellId = 49184; // Howling Blast - Frost spec
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Tree2, new Rule(spell, new ActionSpell(spell), 15,
                                                                               new List <AbstractCondition>
            {
                new CombatCountCondition(
                    ConditionEnum.MoreThan, 1),
            })));

            spellId = 45477; // Icy Touch
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Normal, new Rule(spell, new ActionSpell(spell), 16,
                                                                                new List <AbstractCondition>
            {
                new BuffCondition(
                    ConditionTargetEnum.Target,
                    BuffConditionEnum.
                    DoesNotHave,
                    BuffValueEnum.Name,
                    "Frost Fever"),
            })));

            spellId = 55090; // Scourge Strike - Unholy spec
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Tree3, new Rule(spell, new ActionSpell(spell), 17,
                                                                               new List <AbstractCondition>
            {
                new BuffCondition(
                    ConditionTargetEnum.Target,
                    BuffConditionEnum.HasBuff,
                    BuffValueEnum.Name,
                    "Blood Plague"),
                new BuffCondition(
                    ConditionTargetEnum.Target,
                    BuffConditionEnum.HasBuff,
                    BuffValueEnum.Name,
                    "Frost Fever"),
            })));

            spellId = 45462; // Plague Strike
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Normal, new Rule(spell, new ActionSpell(spell), 18,
                                                                                new List <AbstractCondition>
            {
                new BuffCondition(
                    ConditionTargetEnum.Target,
                    BuffConditionEnum.
                    DoesNotHave,
                    BuffValueEnum.Name,
                    "Blood Plague"),
            })));

            spellId = 55050; // Heart Strike - Blood spec
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Tree1, new Rule(spell, new ActionSpell(spell), 19)));

            spellId = 45902; // Blood Strike
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Normal, new Rule(spell, new ActionSpell(spell), 14)));

            //-----------  Buff Actions
            spellId = 48263; // Blood Presence
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Buff, Spec.Special, new Rule(spell, new ActionSpell(spell), 1,
                                                                               new List <AbstractCondition>
            {
                new BuffCondition(
                    ConditionTargetEnum.Player,
                    BuffConditionEnum.DoesNotHave,
                    BuffValueEnum.Id, "48263"),
            })));

            spellId = 48266; // Frost Presence
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Buff, Spec.Special, new Rule(spell, new ActionSpell(spell), 1,
                                                                               new List <AbstractCondition>
            {
                new BuffCondition(
                    ConditionTargetEnum.Player,
                    BuffConditionEnum.DoesNotHave,
                    BuffValueEnum.Id, "48266"),
            })));

            spellId = 48265; // Unholy Presence
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Buff, Spec.Special, new Rule(spell, new ActionSpell(spell), 1,
                                                                               new List <AbstractCondition>
            {
                new BuffCondition(
                    ConditionTargetEnum.Player,
                    BuffConditionEnum.DoesNotHave,
                    BuffValueEnum.Id, "48265"),
            })));
            return(add);
        }
Exemple #11
0
 /// <summary>
 /// Returns a BarSpell
 /// </summary>
 /// <returns></returns>
 public BarSpell GetKey()
 {
     return(BarMapper.GetSpellByName(SpellName));
 }
Exemple #12
0
 /// <summary>
 ///   Execute the actions.
 /// </summary>
 public virtual void Execute()
 {
     BarMapper.CastSpell(SpellName);
 }
Exemple #13
0
 private static void LoadFirstTime()
 {
     Langs.Load();
     KeyHelper.LoadKeys();
     BarMapper.MapBars();
 }
Exemple #14
0
        public static List <AddToBehavior> Load()
        {
            var add = new List <AddToBehavior>();

            // Pull actions1
            int    spellId = 31935; // Avenger's Shield - Prot spec
            string spell   = BarMapper.GetNameFromSpell(spellId);

            add.Add(new AddToBehavior(spell, Type.Pull, Spec.Tree2, new Rule(spell, new ActionSpell(spell), 1,
                                                                             new List <AbstractCondition>
            {
                new HealthPowerCondition(
                    ConditionTargetEnum.Target,
                    ConditionTypeEnum.Health,
                    ConditionEnum.MoreThan, 0)
            })));

            spellId = 20271; // Judgement
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Pull, Spec.Normal, new Rule(spell, new ActionSpell(spell), 2,
                                                                              new List <AbstractCondition>
            {
                new HealthPowerCondition(
                    ConditionTargetEnum.Target,
                    ConditionTypeEnum.Health,
                    ConditionEnum.MoreThan, 0)
            })));

            const string name = "Auto Attack";

            add.Add(new AddToBehavior(name, Type.Pull, Spec.Normal, new Rule(name, new ActionSpell(name), 3,
                                                                             new List <AbstractCondition>
            {
                new HealthPowerCondition(
                    ConditionTargetEnum.Target,
                    ConditionTypeEnum.Health,
                    ConditionEnum.MoreThan, 0)
            })));

            // Combat Actions
            spellId = 633; // Lay on Hands
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Normal, new Rule(spell, new ActionSpell(spell), 1,
                                                                                new List <AbstractCondition>
            {
                new HealthPowerCondition(
                    ConditionTargetEnum.Player,
                    ConditionTypeEnum.Health,
                    ConditionEnum.LessThan, 10),
                new BuffCondition(
                    ConditionTargetEnum.Player,
                    BuffConditionEnum.
                    DoesNotHave,
                    BuffValueEnum.Id, "25771")
            })));


            spellId = 642; // Divine Shield
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Normal, new Rule(spell, new ActionSpell(spell), 2,
                                                                                new List <AbstractCondition>
            {
                new HealthPowerCondition(
                    ConditionTargetEnum.Player,
                    ConditionTypeEnum.Health,
                    ConditionEnum.LessThan, 15),
                new BuffCondition(
                    ConditionTargetEnum.Player,
                    BuffConditionEnum.
                    DoesNotHave,
                    BuffValueEnum.Id, "25771")
            })));

            spellId = 31850; // Ardent Defender - Prot spec
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Tree2, new Rule(spell, new ActionSpell(spell), 3,
                                                                               new List <AbstractCondition>
            {
                new HealthPowerCondition(
                    ConditionTargetEnum.Player,
                    ConditionTypeEnum.Health,
                    ConditionEnum.LessThan, 10)
            })));

            spellId = 1022; // Hand of Protection
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Normal, new Rule(spell, new ActionSpell(spell), 4,
                                                                                new List <AbstractCondition>
            {
                new HealthPowerCondition(
                    ConditionTargetEnum.Player,
                    ConditionTypeEnum.Health,
                    ConditionEnum.LessThan, 15),
                new BuffCondition(
                    ConditionTargetEnum.Player,
                    BuffConditionEnum.
                    DoesNotHave,
                    BuffValueEnum.Id, "25771")
            })));

            spellId = 498; // Divine Protection
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Normal, new Rule(spell, new ActionSpell(spell), 5,
                                                                                new List <AbstractCondition>
            {
                new HealthPowerCondition(
                    ConditionTargetEnum.Player,
                    ConditionTypeEnum.Health,
                    ConditionEnum.LessThan, 85)
            })));

            spellId = 853; // Hammer of Justice
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Normal, new Rule(spell, new ActionSpell(spell), 6,
                                                                                new List <AbstractCondition>
            {
                new HealthPowerCondition(
                    ConditionTargetEnum.Player,
                    ConditionTypeEnum.Health,
                    ConditionEnum.LessThan, 35)
            })));

            spellId = 19750; // Flash of Light
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Normal, new Rule(spell, new ActionSpell(spell), 7,
                                                                                new List <AbstractCondition>
            {
                new HealthPowerCondition(
                    ConditionTargetEnum.Player,
                    ConditionTypeEnum.Health,
                    ConditionEnum.LessThan, 25)
            })));

            spellId = 82326; // Divine Light
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Normal, new Rule(spell, new ActionSpell(spell), 8,
                                                                                new List <AbstractCondition>
            {
                new HealthPowerCondition(
                    ConditionTargetEnum.Player,
                    ConditionTypeEnum.Health,
                    ConditionEnum.LessThan, 35)
            })));

            spellId = 635; // Holy Light
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Normal, new Rule(spell, new ActionSpell(spell), 9,
                                                                                new List <AbstractCondition>
            {
                new HealthPowerCondition(
                    ConditionTargetEnum.Player,
                    ConditionTypeEnum.Health,
                    ConditionEnum.LessThan, 50)
            })));

            spellId = 85673; // Word of Glory
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Normal, new Rule(spell, new ActionSpell(spell), 10,
                                                                                new List <AbstractCondition>
            {
                new HealthPowerCondition(
                    ConditionTargetEnum.Player,
                    ConditionTypeEnum.Health,
                    ConditionEnum.LessThan, 55),
                new HealthPowerCondition(
                    ConditionTargetEnum.Player,
                    ConditionTypeEnum.HolyPower,
                    ConditionEnum.MoreThan, 1)
            })));

            spellId = 86150; // Guardian of Ancient Kings
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Normal, new Rule(spell, new ActionSpell(spell), 11,
                                                                                new List <AbstractCondition>
            {
                new CombatCountCondition(
                    ConditionEnum.MoreThan, 1)
            })));

            spellId = 85285; // Rebuke - Ret spec
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Tree3, new Rule(spell, new ActionSpell(spell), 12,
                                                                               new List <AbstractCondition>
            {
                new FunctionsCondition(
                    ConditionTargetEnum.Target,
                    FunctionsConditionEnum.Is,
                    FunctionEnum.Casting)
            })));

            //TODO

            /*
             * spellId = 20066; // Repentance - Ret spec
             * spell = BarMapper.GetNameFromSpell(spellId);
             * core.setAction(actName, MyCC.ActionType.Spell, spellId.ToString(), MyCC.ActionMoment.Combat, MyCC.Unit.An_add, 0, true);
             * core.addCondition(actName, MyCC.Unit.Target, MyCC.ActionCond.Creature_Type, "=", "Demon", "", MyCC.ActionMoment.Combat);
             * core.addCondition(actName, MyCC.Unit.Target, MyCC.ActionCond.Creature_Type, "=", "Dragon", "", MyCC.ActionMoment.Combat);
             * core.addCondition(actName, MyCC.Unit.Target, MyCC.ActionCond.Creature_Type, "=", "Giant", "", MyCC.ActionMoment.Combat);
             * core.addCondition(actName, MyCC.Unit.Target, MyCC.ActionCond.Creature_Type, "=", "Humanoid", "", MyCC.ActionMoment.Combat);
             * core.addCondition(actName, MyCC.Unit.Target, MyCC.ActionCond.Creature_Type, "=", "Undead", "", MyCC.ActionMoment.Combat);
             * core.setConfig(actName, MyCC.ActionMoment.Combat, MyCC.Spec.Spec3, true); */

            spellId = 31884; // Avenging Wrath
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Normal, new Rule(spell, new ActionSpell(spell), 13,
                                                                                new List <AbstractCondition>
            {
                new CombatCountCondition(
                    ConditionEnum.MoreThan, 1)
            })));

            spellId = 85696; // Zealotry - Ret spec
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Tree3, new Rule(spell, new ActionSpell(spell), 14,
                                                                               new List <AbstractCondition>
            {
                new HealthPowerCondition(
                    ConditionTargetEnum.Player,
                    ConditionTypeEnum.HolyPower,
                    ConditionEnum.EqualTo, 3)
            })));

            spellId = 26573; // Consecration
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Normal, new Rule(spell, new ActionSpell(spell), 15,
                                                                                new List <AbstractCondition>
            {
                new CombatCountCondition(
                    ConditionEnum.MoreThan, 2)
            })));

            spellId = 53600; // Shield of the Righteous - Prot spec
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Tree2, new Rule(spell, new ActionSpell(spell), 16,
                                                                               new List <AbstractCondition>
            {
                new HealthPowerCondition(
                    ConditionTargetEnum.Player,
                    ConditionTypeEnum.HolyPower,
                    ConditionEnum.EqualTo, 3)
            })));

            spellId = 84963; // Inquisition
            spell   = BarMapper.GetNameFromSpell(spellId);
            //TODO

            /*core.setAction(actName, MyCC.ActionType.Spell, spellId.ToString(), MyCC.ActionMoment.Combat, MyCC.Unit.Target, 0, true);
             * core.addCondition(actName, MyCC.Unit.Player, MyCC.ActionCond.Holy_Power, "=", "3", "", MyCC.ActionMoment.Combat);
             * core.addCondition(actName, MyCC.Unit.Player, MyCC.ActionCond.Aura, "=", "90174", "", MyCC.ActionMoment.Combat);
             * core.addCondition(actName, MyCC.Unit.Player, MyCC.ActionCond.Aura_Seconds_left, "<", "4", "Inquisition", MyCC.ActionMoment.Combat, true);
             * core.setConfig(actName, MyCC.ActionMoment.Combat, MyCC.Spec.General, true); */

            spellId = 24275; // Hammer of Wrath
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Normal, new Rule(spell, new ActionSpell(spell), 17,
                                                                                new List <AbstractCondition>
            {
                new HealthPowerCondition(
                    ConditionTargetEnum.Player,
                    ConditionTypeEnum.Health,
                    ConditionEnum.LessThan, 25)
            })));

            spellId = 879; // Exorcism
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Normal, new Rule(spell, new ActionSpell(spell), 18,
                                                                                new List <AbstractCondition>
            {
                new BuffCondition(
                    ConditionTargetEnum.Player,
                    BuffConditionEnum.HasBuff,
                    BuffValueEnum.Id, "59578")
            })));

            spellId = 85256; // Templar's Verdict - Ret spec
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Normal, new Rule(spell, new ActionSpell(spell), 19,
                                                                                new List <AbstractCondition>
            {
                new HealthPowerCondition(
                    ConditionTargetEnum.Player,
                    ConditionTypeEnum.HolyPower,
                    ConditionEnum.MoreThan, 2)
            })));

            spellId = 53595; // Hammer of the Righteous - Prot spec
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Tree2, new Rule(spell, new ActionSpell(spell), 20,
                                                                               new List <AbstractCondition>
            {
                new CombatCountCondition(
                    ConditionEnum.MoreThan, 1)
            })));

            spellId = 35395; // Crusader Strike
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Normal, new Rule(spell, new ActionSpell(spell), 21,
                                                                                new List <AbstractCondition>
            {
                new HealthPowerCondition(
                    ConditionTargetEnum.Target,
                    ConditionTypeEnum.Health,
                    ConditionEnum.MoreThan, 0)
            })));

            spellId = 20271; // Judgement
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Normal, new Rule(spell, new ActionSpell(spell), 22,
                                                                                new List <AbstractCondition>
            {
                new HealthPowerCondition(
                    ConditionTargetEnum.Target,
                    ConditionTypeEnum.Health,
                    ConditionEnum.MoreThan, 0)
            })));

            spellId = 31935; // Avenger's Shield - Prot spec
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Tree2, new Rule(spell, new ActionSpell(spell), 23,
                                                                               new List <AbstractCondition>
            {
                new HealthPowerCondition(
                    ConditionTargetEnum.Target,
                    ConditionTypeEnum.Health,
                    ConditionEnum.MoreThan, 0)
            })));

            spellId = 2812; // Holy Wrath
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Combat, Spec.Normal, new Rule(spell, new ActionSpell(spell), 24,
                                                                                new List <AbstractCondition>
            {
                new HealthPowerCondition(
                    ConditionTargetEnum.Target,
                    ConditionTypeEnum.Health,
                    ConditionEnum.MoreThan, 0)
            })));

            // Buff Actions
            spellId = 20154; // Seal of Righteousness
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Buff, Spec.Special, new Rule(spell, new ActionSpell(spell), 1,
                                                                               new List <AbstractCondition>
            {
                new BuffCondition(
                    ConditionTargetEnum.Player,
                    BuffConditionEnum.DoesNotHave,
                    BuffValueEnum.Name,
                    "Seal of Righteousness")
            })));

            spellId = 20165; // Seal of Insight
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Buff, Spec.Special, new Rule(spell, new ActionSpell(spell), 2,
                                                                               new List <AbstractCondition>
            {
                new BuffCondition(
                    ConditionTargetEnum.Player,
                    BuffConditionEnum.DoesNotHave,
                    BuffValueEnum.Name,
                    "Seal of Insight")
            })));

            spellId = 31801; // Seal of Truth
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Buff, Spec.Special, new Rule(spell, new ActionSpell(spell), 3,
                                                                               new List <AbstractCondition>
            {
                new BuffCondition(
                    ConditionTargetEnum.Player,
                    BuffConditionEnum.DoesNotHave,
                    BuffValueEnum.Name,
                    "Seal of Truth")
            })));

            spellId = 465; // Devotion Aura
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Buff, Spec.Special2, new Rule(spell, new ActionSpell(spell), 4,
                                                                                new List <AbstractCondition>
            {
                new BuffCondition(
                    ConditionTargetEnum.Player,
                    BuffConditionEnum.
                    DoesNotHave,
                    BuffValueEnum.Name,
                    "Devotion Aura")
            })));

            spellId = 7294; // Retribution Aura
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Buff, Spec.Special2, new Rule(spell, new ActionSpell(spell), 5,
                                                                                new List <AbstractCondition>
            {
                new BuffCondition(
                    ConditionTargetEnum.Player,
                    BuffConditionEnum.
                    DoesNotHave,
                    BuffValueEnum.Name,
                    "Retribution Aura")
            })));

            spellId = 19746; // Concentration Aura
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Buff, Spec.Special2, new Rule(spell, new ActionSpell(spell), 6,
                                                                                new List <AbstractCondition>
            {
                new BuffCondition(
                    ConditionTargetEnum.Player,
                    BuffConditionEnum.
                    DoesNotHave,
                    BuffValueEnum.Name,
                    "Concentration Aura")
            })));

            spellId = 32223; // Crusader Aura
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Buff, Spec.Special2, new Rule(spell, new ActionSpell(spell), 7,
                                                                                new List <AbstractCondition>
            {
                new BuffCondition(
                    ConditionTargetEnum.Player,
                    BuffConditionEnum.
                    DoesNotHave,
                    BuffValueEnum.Name,
                    "Crusader Aura")
            })));

            spellId = 20217; // Blessing of Kings
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Buff, Spec.Special3, new Rule(spell, new ActionSpell(spell), 8,
                                                                                new List <AbstractCondition>
            {
                new BuffCondition(
                    ConditionTargetEnum.Player,
                    BuffConditionEnum.
                    DoesNotHave,
                    BuffValueEnum.Name,
                    "Blessing of Kings")
            })));

            spellId = 19740; // Blessing of Might
            spell   = BarMapper.GetNameFromSpell(spellId);
            add.Add(new AddToBehavior(spell, Type.Buff, Spec.Special3, new Rule(spell, new ActionSpell(spell), 9,
                                                                                new List <AbstractCondition>
            {
                new BuffCondition(
                    ConditionTargetEnum.Player,
                    BuffConditionEnum.
                    DoesNotHave,
                    BuffValueEnum.Name,
                    "Blessing of Might")
            })));
            return(add);
        }