//具体策略
        public ProfileParameters GetParameters(Board board)
        {
            Card z                  = board.Hand.Find(x => x.Template.Id > 0);
            Card y                  = board.Hand.FindLast(x => x.Template.Id > 0);
            int  OutcastCards       = board.Hand.Count(x => x.CurrentCost > 0 && BoardHelper.IsOutCastCard(x, board) == true);
            int  GuldanOutcastCards = board.Hand.Count(x => x.CurrentCost > 0 && BoardHelper.IsGuldanOutCastCard(x, board) == true);


            Bot.Log("OutcastCards: " + (int)(OutcastCards + GuldanOutcastCards));
            //Bot.Log("玩家信息: " + rank+"/n"+Legend);

            var p = new ProfileParameters(BaseProfile.Rush)
            {
                DiscoverSimulationValueThresholdPercent = -10
            };

            p.CastSpellsModifiers.AddOrUpdate(TheCoin, new Modifier(85));

            //自定义命名
            int a = (board.HeroFriend.CurrentHealth + board.HeroFriend.CurrentArmor) - BoardHelper.GetEnemyHealthAndArmor(board);//敌我血量差

            //攻击模式切换
            if (board.EnemyClass == Card.CClass.DEMONHUNTER ||
                board.EnemyClass == Card.CClass.HUNTER ||
                board.EnemyClass == Card.CClass.ROGUE ||
                board.EnemyClass == Card.CClass.SHAMAN ||
                board.EnemyClass == Card.CClass.PALADIN ||
                board.EnemyClass == Card.CClass.WARRIOR)
            {
                p.GlobalAggroModifier = (int)(a * 0.625 + 96.5);
            }
            else
            {
                p.GlobalAggroModifier = (int)(a * 0.625 + 103.5);
            }
            Bot.Log("攻击性:" + p.GlobalAggroModifier.Value);



            //如果手上有古尔丹之手,提高过期任务商贩优先值
            if (board.HasCardInHand(Card.Cards.BT_300) &&//古尔丹之手
                board.HasCardInHand(Card.Cards.ULD_163)   //过期货物专卖商
                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.ULD_163, new Modifier(-200));//过期货物专卖商
            }

            //如果手上有古尔丹之手,提高夜影主母优先值
            if (board.HasCardInHand(Card.Cards.BT_300) &&//古尔丹之手
                board.HasCardInHand(Card.Cards.BT_301)   //夜影主母
                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_301, new Modifier(-200));//夜影主母
            }



            //技能卡
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_490, new Modifier(40));//吞噬魔法



            //武器优先值
            //棕红之翼
            p.WeaponsAttackModifiers.AddOrUpdate(Cards.Umberwing, new Modifier(134));
            p.CastWeaponsModifiers.AddOrUpdate(Card.Cards.BT_921, new Modifier(120)); //奥达奇

            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.TB_011, new Modifier(50));   //硬币
            //法术优先值
            //古尔丹之手
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_300, new Modifier(250));
            //大灾变
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.LOOT_417, new Modifier(134));
            //加拉克苏斯之拳
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.AT_022, new Modifier(250));
            //莫瑞甘的灵界
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BOT_568, new Modifier(-20));
            //生命分流
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.CS2_056_H1, new Modifier(50, board.HeroEnemy.Id));

            //随从优先值
            //降低萨瓦丝女王优先级
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.UNG_836, new Modifier(250));
            //降低镀银魔像优先级
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.KAR_205, new Modifier(500));
            //降低高阶祭司耶克里克优先级
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.TRL_252, new Modifier(200));
            //提高小鬼骑士优先级
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.AT_021, new Modifier(-60));
            //提高过期货物专卖商优先级
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.ULD_163, new Modifier(-40));
            //提高末日守卫优先级
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_310, new Modifier(-40));
            //提高坎雷萨德·埃伯洛克优先级
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_309, new Modifier(-80));



            //随从优先解

            //降低空灵召唤者威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.FP1_022, new Modifier(-20));



            return(p);
        }
示例#2
0
        //具体策略
        public ProfileParameters GetParameters(Board board)
        {
            Card z       = board.Hand.Find(x => x.Template.Id > 0);
            Card y       = board.Hand.FindLast(x => x.Template.Id > 0);
            int  流放牌数    = board.Hand.Count(x => x.CurrentCost > 0 && BoardHelper.IsOutCastCard(x, board) == true);
            int  古尔丹流放牌数 = board.Hand.Count(x => x.CurrentCost > 0 && BoardHelper.IsGuldanOutCastCard(x, board) == true);

            Bot.Log("流放牌数 = " + (int)(流放牌数 + 古尔丹流放牌数));
            //Bot.Log("右:是否流放: " + BoardHelper.IsOutCastCard(y, board));


            #region 自定义变量
            int twoHpMinionsCount   = board.MinionEnemy.Count(minion => minion.CurrentHealth <= 2);                                                            //对面小于等于2血的随从数量
            int threeHpMinionsCount = board.MinionEnemy.Count(minion => minion.CurrentHealth <= 3) - board.MinionFriend.FindAll(x => x.CurrentAtk >= 3).Count; //对面小于等于3血的随从数量
            int fiveHpMinionsCount  = board.MinionEnemy.Count(minion => minion.CurrentHealth <= 5) - board.MinionFriend.FindAll(x => x.CurrentAtk >= 5).Count; //对面小于等于5血的随从数量
            #endregion

            #region 攻击模式


            var p = new ProfileParameters(BaseProfile.Rush)
            {
                DiscoverSimulationValueThresholdPercent = -10
            };


            int myAttack    = 0;
            int enemyAttack = 0;

            if (board.MinionFriend != null)
            {
                for (int x = 0; x < board.MinionFriend.Count; x++)
                {
                    myAttack += board.MinionFriend[x].CurrentAtk;
                }
            }

            if (board.MinionEnemy != null)
            {
                for (int x = 0; x < board.MinionEnemy.Count; x++)
                {
                    enemyAttack += board.MinionEnemy[x].CurrentAtk;
                }
            }

            if (board.WeaponEnemy != null)
            {
                enemyAttack += board.WeaponEnemy.CurrentAtk;
            }

            if ((int)board.EnemyClass == 2 || (int)board.EnemyClass == 7 || (int)board.EnemyClass == 8)
            {
                enemyAttack += 1;
            }
            else if ((int)board.EnemyClass == 6)
            {
                enemyAttack += 2;
            }
            if ((board.EnemyAbility.Template.Id == Card.Cards.AT_132_PALADIN ||
                 board.EnemyClass == Card.CClass.MAGE ||
                 board.EnemyClass == Card.CClass.DRUID) &&
                board.HeroEnemy.CurrentHealth >= 16)
            {
                p = new ProfileParameters(BaseProfile.Default)
                {
                    DiscoverSimulationValueThresholdPercent = -10
                };
            }
            if ((board.EnemyAbility.Template.Id == Card.Cards.AT_132_PALADIN ||
                 board.EnemyClass == Card.CClass.MAGE ||
                 board.EnemyClass == Card.CClass.DRUID) &&
                board.HeroEnemy.CurrentHealth < 16)
            {
                p = new ProfileParameters(BaseProfile.Rush)
                {
                    DiscoverSimulationValueThresholdPercent = -10
                };
            }
            #endregion

            #region 权重初始化
            //技能卡
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_490, new Modifier(40));                          //吞噬魔法
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_753, new Modifier(120));                         //法力燃烧
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_491, new Modifier(50));                          //幽灵视觉
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_035, new Modifier(30));                          //混乱打击
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_601, new Modifier(30));                          //古尔丹的脑袋
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_187, new Modifier(200, board.HeroEnemy.Id));     //日怒
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.HERO_10p_UP, new Modifier(50, board.HeroEnemy.Id)); //恶魔之咬-奇数瞎
            //随从卡
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_323, new Modifier(120));                        //盲眼监视者
            //武器卡
            p.CastWeaponsModifiers.AddOrUpdate(Card.Cards.BT_922, new Modifier(50));                         //棕红之翼
            p.CastWeaponsModifiers.AddOrUpdate(Card.Cards.BT_921, new Modifier(120));                        //奥达奇

            //硬币
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.TB_011, new Modifier(50));
            #endregion

            #region 随从权重

            if (board.ManaAvailable >= 4 &&
                (board.HasCardInHand(Card.Cards.BT_187)) &&
                board.FriendDeckCount >= 2 ||
                board.EnemyClass == Card.CClass.DEMONHUNTER)//DH内战,日怒直接下
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_187, new Modifier(100));
            }
            else
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_187, new Modifier(180));
            }//日怒权重

            if (board.ManaAvailable <= 3 &&
                (board.Hand.Exists(x => x.Template.Id == Card.Cards.BT_351) ||
                 board.Hand.Exists(x => x.Template.Id == Card.Cards.BT_323) ||
                 board.Hand.Exists(x => x.Template.Id == Card.Cards.BT_922) ||
                 board.Hand.Exists(x => x.Template.Id == Card.Cards.EX1_066) ||
                 board.Hand.Exists(x => x.Template.Id == Card.Cards.BT_352)) &&
                board.Hand.Exists(x => x.Template.Id == Card.Cards.BT_035))
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_035, new Modifier(400));
            }//2费卡牌权重

            if (board.ManaAvailable == 1 &&
                board.Hand.Exists(x => x.Template.Id == Card.Cards.GAME_005) &&
                board.Hand.Count(x => x.Template.Id == Card.Cards.BT_490) == 1 &&
                (board.Hand.Exists(x => x.Template.Id == Card.Cards.BT_351) || board.Hand.Exists(x => x.Template.Id == Card.Cards.BT_480)) &&
                !board.Hand.Exists(x => x.Template.Id == Card.Cards.BT_753))
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_490, new Modifier(400));
            }//1费卡牌权重

            if (board.ManaAvailable <= 2 &&
                board.Hand.Exists(x => x.Template.Id == Card.Cards.BT_323) &&
                board.Hand.Count(card => card.Template.Id == Card.Cards.BT_601) == 0)
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_323, new Modifier(40));
            }//2费之前没古尔丹脑袋,下盲眼监视者

            if (board.Hand.Exists(x => x.Template.Id == Card.Cards.BT_323) &&
                BoardHelper.GetPlayableSpellSequence(board).Count == 0 &&
                board.EnemyClass == Card.CClass.WARLOCK)
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_323, new Modifier(40));
            }//没可以打的法术,下盲眼监视者

            if (board.ManaAvailable == 1 &&
                board.Hand.Exists(x => x.Template.Id == Card.Cards.BT_351) &&
                board.MinionEnemy.Count == 0)
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.FP1_004, new Modifier(40));
            }//1费对面没有随从,下战斗邪犬
            else if (board.ManaAvailable == 1 &&
                     board.Hand.Exists(x => x.Template.Id == Card.Cards.GAME_005) &&
                     board.Hand.Count(x => x.Template.Id == Card.Cards.BT_323) == 1 &&
                     board.Hand.Exists(x => x.Template.Id == Card.Cards.BT_922))
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_323, new Modifier(2000));
            }//1费手里有棕红和盲眼监视者,不跳费下盲眼监视者

            else if (board.ManaAvailable >= 4 &&
                     !board.Hand.Exists(x => x.Template.Race == Card.CRace.DEMON))
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_416, new Modifier(250));
            }//手牌没恶魔,降低暴怒权重

            if (board.Hand.Exists(x => x.Template.Id == Card.Cards.BT_937) &&
                board.Hand.Count < 2)
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_612, new Modifier(300));
            }//手里没有能打的流放牌,降低流放者权重(作者还没加卡牌是否流放判断)

            if (board.ManaAvailable == 2 &&
                board.Hand.Exists(x => x.Template.Id == Card.Cards.EX1_066) &&
                !board.Hand.Exists(x => x.Template.Id == Card.Cards.GAME_005) &&
                board.Hand.Exists(x => x.Template.Cost == 2))
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_066, new Modifier(600));
            }//2费手里有其他2费随从,不打软泥怪

            if (board.Hand.Count >= 7)
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_601, new Modifier(300));
            }//手牌太多,降低过牌权重

            if (BoardHelper.GetPlayableMinionSequence(board).Count < 2 &&
                board.Hand.Exists(x => x.Template.Id == Card.Cards.ULD_215))
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_352, new Modifier(40));
            }//场上随从少于2个,铺场

            if (board.WeaponEnemy != null && board.EnemyClass == Card.CClass.DEMONHUNTER)//软泥怪解武器
            {
                if (board.WeaponEnemy.Template.Id == Card.Cards.BT_921)
                {
                    p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_066, new Modifier(50));
                }
                else
                {
                    p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_066, new Modifier(600));
                }
            }
            else
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_066, new Modifier(50));
            }

            #endregion

            #region 技能权重
            if (board.Hand.Exists(x => x.Template.Id == Card.Cards.BT_514) &&
                twoHpMinionsCount <= 2 &&
                board.MinionEnemy.Sum(x => x.CurrentAtk) <= 4)
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_514, new Modifier(200));
            }//对面随从少,降低献祭光环权重

            if (twoHpMinionsCount >= 3)
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_514, new Modifier(190 - 40 * twoHpMinionsCount));
            }//对面怪多,提高献祭光环

            /*
             * if (board.MinionFriend.Exists(x => x.Template.Id==Card.Cards.BT_002)
             *  && board.Hand.Exists(x => x.Template.Id == Card.Cards.ULD_726)
             *  && board.Hand.FindAll(x => x.Template.Id == Card.Cards.CFM_760).Min(x => x.CurrentCost) <= board.ManaAvailable
             *  && board.Hand.FindAll(x => x.Template.Id == Card.Cards.CFM_760).Min(x => x.CurrentCost) > board.ManaAvailable - 2
             *  && (!board.Secret.Contains(Cards.Counterspell) || board.FriendGraveyard.Exists(card => CardTemplate.LoadFromId(card).Id == Card.Cards.EX1_287))
             *  && (!board.Secret.Contains(Cards.ExplosiveRunes)) || board.FriendGraveyard.Exists(card => CardTemplate.LoadFromId(card).Id == Card.Cards.LOOT_101))
             * {
             *  p.CastSpellsModifiers.AddOrUpdate(Card.Cards.ULD_726, new Modifier(-700));
             * }//场上有流放随从,释放流放牌(暂时未知流放如何判断)
             */
            if (board.ManaAvailable == 4 &&
                !board.Hand.Exists(x => x.Template.Id == Card.Cards.GAME_005) &&
                board.Hand.Count(x => x.Template.Id == Card.Cards.BT_514) >= 1 &&
                twoHpMinionsCount >= 3 &&
                board.MinionFriend.Count <= 1)
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_801, new Modifier(200));
            }//4费对面小于2血的怪多,不打眼棱


            if ((board.FriendDeckCount <= 6 && board.Hand.Exists(x => x.Template.Id == Card.Cards.BT_035)))
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_035, new Modifier(20));
            }//牌库卡不多,提高过牌


            if (board.MinionEnemy.Count == 1 &&
                board.MinionEnemy.Exists(x => x.Template.Id == Card.Cards.NEW1_021) &&
                board.MinionFriend.Count == 0 &&
                BoardHelper.GetPlayableSpellSequence(board).Count > 0)
            {
                foreach (var card1 in BoardHelper.GetPlayableSpellSequence(board))
                {
                    p.CastSpellsModifiers.AddOrUpdate(card1, new Modifier(30));
                }
            }//对面有末日,提高过牌

            if (board.ManaAvailable >= 6 && board.Hand.Count <= 5 && board.HasCardInHand(Card.Cards.BT_601))
            {
                p.CastWeaponsModifiers.AddOrUpdate(Card.Cards.BT_601, new Modifier(50));
            }//如果当前剩余法力水晶大于等于6,手牌数量小于等于5并且手牌中有古尔丹头颅

            if (board.EnemyClass == Card.CClass.MAGE ||
                board.EnemyClass == Card.CClass.PRIEST ||
                board.EnemyClass == Card.CClass.WARLOCK)
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_753, new Modifier(50));//法力燃烧
            }
            #endregion

            #region 敌方权重
            //针对一些随从优先解掉
            if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.BRM_002))
            {
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BRM_002, new Modifier(400));
            }//如果对面场上有火妖,提高攻击优先度

            if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.ULD_276))
            {
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.ULD_276, new Modifier(110));
            }//如果对面场上有202,提高攻击优先度

            if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.GVG_069))
            {
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.GVG_069, new Modifier(150));
            }//如果对面场上有533,提高攻击优先度

            if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.GVG_084))
            {
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.GVG_084, new Modifier(300));
            }//如果对面场上有314,提高攻击优先度

            if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.BOT_103))
            {
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BOT_103, new Modifier(120));
            }//如果对面场上有露娜,提高攻击优先度

            if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.BOT_407))
            {
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BOT_407, new Modifier(120));
            }//如果对面场上有雷云元素,提高攻击优先度

            if (!BoardHelper.HasPotentialLethalNextTurn(board) &&
                board.MinionEnemy.Count(minion => minion.Template.Id == Card.Cards.GVG_045t) >= 3 &&
                board.EnemyClass == Card.CClass.WARLOCK)
            {
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.GVG_045t, new Modifier(150));
            }//如果对面场上有1-1小鬼,提高攻击优先度
            #endregion

            #region 武器权重
            if ((board.Hand.Exists(x => x.Template.Id == Card.Cards.BT_271) ||
                 (board.WeaponFriend != null && board.WeaponFriend.Template.Id == Card.Cards.BT_271)) &&
                board.HeroEnemy.CurrentHealth <= 16)
            {
                p.WeaponsAttackModifiers.AddOrUpdate(Card.Cards.BT_271, new Modifier(-1000));
            }//如果对面血量小于等于16,提高武器攻击优先度
            #endregion


            return(p);
        }
        //具体策略
        public ProfileParameters GetParameters(Board board)
        {
            Card z                  = board.Hand.Find(x => x.Template.Id > 0);
            Card y                  = board.Hand.FindLast(x => x.Template.Id > 0);
            int  OutcastCards       = board.Hand.Count(x => x.CurrentCost > 0 && BoardHelper.IsOutCastCard(x, board) == true);
            int  GuldanOutcastCards = board.Hand.Count(x => x.CurrentCost > 0 && BoardHelper.IsGuldanOutCastCard(x, board) == true);


            Bot.Log("OutcastCards: " + (int)(OutcastCards + GuldanOutcastCards));
            //Bot.Log("玩家信息: " + rank+"/n"+Legend);

            var p = new ProfileParameters(BaseProfile.Rush)
            {
                DiscoverSimulationValueThresholdPercent = -10
            };

            p.CastSpellsModifiers.AddOrUpdate(TheCoin, new Modifier(85));

            //自定义命名
            int a = (board.HeroFriend.CurrentHealth + board.HeroFriend.CurrentArmor) - BoardHelper.GetEnemyHealthAndArmor(board);//敌我血量差

            //攻击模式切换
            if (board.EnemyClass == Card.CClass.DEMONHUNTER ||
                board.EnemyClass == Card.CClass.HUNTER ||
                board.EnemyClass == Card.CClass.ROGUE ||
                board.EnemyClass == Card.CClass.SHAMAN ||
                board.EnemyClass == Card.CClass.PALADIN ||
                board.EnemyClass == Card.CClass.WARRIOR)
            {
                p.GlobalAggroModifier = (int)(a * 0.625 + 96.5);
            }
            else
            {
                p.GlobalAggroModifier = (int)(a * 0.625 + 103.5);
            }
            Bot.Log("攻击性:" + p.GlobalAggroModifier.Value);



            //假如对面场上有奥秘并且剩余费用大于五,提高总督察的优先级
            if (board.SecretEnemy &&
                board.ManaAvailable >= 5)
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.GIL_648, new Modifier(-200));
            }


            //假如费用大于5,手牌小于2,提高沉默优先级
            if (board.FriendDeckCount <= 2 &&
                board.ManaAvailable >= 5)
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_490, new Modifier(-99));//吞噬魔法
            }
            //假如对面有科学家,提高沉默优先级
            if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.FP1_004)) //疯狂的科学家
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_490, new Modifier(-99));   //吞噬魔法
            }
            //假如对面有空灵,提高沉默优先级
            if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.FP1_022)) //空灵召唤者
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_490, new Modifier(-99));   //吞噬魔法
            }

            //费用大于等于3且耐久值为1,手上有战刃,提高棕红优先值

            if (board.ManaAvailable >= 3 &&
                board.WeaponFriend != null &&
                board.WeaponFriend.Template.Id == Card.Cards.BT_922 &&//棕红之翼
                board.WeaponFriend.CurrentDurability == 1 &&
                board.HasCardInHand(Card.Cards.BT_430))   //埃辛诺斯战刃
            {
                p.GlobalWeaponsAttackModifier = 100;
            }

            //如果棕红之刃耐久值为1,费用=4手上有双刃斩击,提高棕红之刃攻击优先值

            if (board.ManaAvailable >= 3 &&
                board.WeaponFriend != null &&
                board.WeaponFriend.Template.Id == Card.Cards.BT_922 &&//棕红之翼
                board.WeaponFriend.CurrentDurability == 1 &&
                board.HasCardInHand(Card.Cards.BT_430))   //埃辛诺斯战刃
            {
                p.GlobalWeaponsAttackModifier = 100;
            }



            //如果费用等于3,手上没有硬币或者手上有双刃斩击,降低任务达人优先级
            if (board.ManaAvailable == 3 &&
                board.HasCardInHand(Card.Cards.EX1_044) && //任务达人
                !board.HasCardInHand(Card.Cards.GAME_005) || //幸运币
                !board.HasCardInHand(Card.Cards.BT_175) ||//双刃斩击
                !board.HasCardInHand(Card.Cards.BT_175t)//二次斩击

                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_044, new Modifier(500));        //任务达人
            }
            //如果费用等于2,降低任务达人优先级
            if (board.ManaAvailable == 2 &&
                board.HasCardInHand(Card.Cards.EX1_044) && //任务达人
                board.HasCardInHand(Card.Cards.GAME_005) //幸运币
                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_044, new Modifier(9999));        //任务达人
            }

            //费用大于等于4,提高暴徒优先级
            if (board.ManaAvailable >= 4 &&
                board.HasCardInHand(Card.Cards.GIL_534) //荆棘帮暴徒
                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.GIL_534, new Modifier(-200));   //荆棘帮暴徒
            }

            //费用大于等于5,提高洛欧塞布 优先级
            if (board.ManaAvailable >= 5 &&
                board.HasCardInHand(Card.Cards.FP1_030) //荆棘帮暴徒
                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.FP1_030, new Modifier(-200));   //洛欧塞布
            }


            //费用等于5,手上有刃缚精锐和双刃斩击,提高双刃和二次斩击斩击优先级
            if (board.ManaAvailable == 5 &&//费用等于5
                board.HasCardInHand(Card.Cards.BT_495) && //刃缚精锐
                board.HasCardInHand(Card.Cards.BT_175) && //双刃斩击
                board.HasCardInHand(Card.Cards.BT_175t)    //二次斩击

                )
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_175, new Modifier(-300));  //双刃斩击
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_175t, new Modifier(-300)); //二次斩击
            }



            if (board.ManaAvailable >= 6 && board.Hand.Count <= 7 &&
                board.HasCardInHand(Card.Cards.BT_601))
            {
                p.CastWeaponsModifiers.AddOrUpdate(Card.Cards.BT_601, new Modifier(-70));
            }//如果当前剩余法力水晶大于等于6,手牌数量小于等于7并且手牌中有古尔丹头颅



            //技能卡
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_490, new Modifier(40));                          //吞噬魔法
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_753, new Modifier(120));                         //法力燃烧
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_491, new Modifier(50));                          //幽灵视觉
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_035, new Modifier(30));                          //混乱打击
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_601, new Modifier(30));                          //古尔丹的脑袋
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_187, new Modifier(200, board.HeroEnemy.Id));     //日怒
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.HERO_10p_UP, new Modifier(50, board.HeroEnemy.Id)); //恶魔之咬-奇数瞎


            //武器优先值
            //棕红之翼
            p.WeaponsAttackModifiers.AddOrUpdate(Cards.Umberwing, new Modifier(134));
            p.CastWeaponsModifiers.AddOrUpdate(Card.Cards.BT_921, new Modifier(120)); //奥达奇

            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.TB_011, new Modifier(50));   //硬币
            //法术优先值
            //恶魔变形
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_429, new Modifier(-35));

            //幽灵视觉
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_491, new Modifier(-5));

            //混乱打击
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_035, new Modifier(-10));

//随从优先值
            //降低玛维优先级
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_737, new Modifier(80));
            //任务达人
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_044, new Modifier(-40));
            //盲眼监视者
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_323, new Modifier(-30));
            //愤怒的女祭司
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_493, new Modifier(-70));
            //暴怒邪吼者
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_416, new Modifier(-80));
            //焦油爬行者
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.UNG_928, new Modifier(-40));
            //萨特监工
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_352, new Modifier(-20));
            //荆棘帮暴徒
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.GIL_534, new Modifier(-60));
            //喷灯破坏者
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DRG_403, new Modifier(-80));
            //异种群居蝎
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.OG_034, new Modifier(-40));
            //南海船工
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.CS2_146, new Modifier(-90));
            //南海船长
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.NEW1_027, new Modifier(-80));



            //随从优先解
            //提高战斗邪犬威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_351, new Modifier(200));
            //螃蟹应该解
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BOT_700, new Modifier(200));
            //炸弹牛仔应该解
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOD_024, new Modifier(200));
            //提高相位威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_252, new Modifier(200));
            //提高热气球威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_057, new Modifier(200));
            //提高空中私掠者威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOD_016, new Modifier(200));
            //提高搬水工威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.ULD_270, new Modifier(200));
            //提高凶恶的废钢猎犬威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_759, new Modifier(200));
            //提高神殿狂战士威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.ULD_185, new Modifier(200));
            //大法师瓦格斯
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_558, new Modifier(200));
            //提高厄运信天翁
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_071, new Modifier(200));
            //提高高级跟班厄尔克
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOD_035, new Modifier(200));
            //提高狂奔的魔刃豹
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOD_006, new Modifier(200));
            //提高卡雷苟斯
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_609, new Modifier(200));
            //提高希亚玛特
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.ULD_178, new Modifier(200));
            //提高齐恩瓦拉
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_104, new Modifier(200));
            //提高机械袋鼠
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BOT_445, new Modifier(200));
            //提高机械袋鼠宝宝
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BOT_445t, new Modifier(300));
            //提高雏龙
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.EX1_116t, new Modifier(200));
            //提高铸甲师
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.EX1_402, new Modifier(200));
            //提高无面渗透者威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_039, new Modifier(200));
            //提高鲨鱼之灵威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.TRL_092, new Modifier(200));
            //提高灭龙弩炮威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_256, new Modifier(200));
            //提高飞刺威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_037, new Modifier(200));
            //提高奇利亚斯威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BOT_548, new Modifier(200));
            //提高流放者奥图里斯威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_937, new Modifier(200));
            //提高暗影珠宝师汉纳尔威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_188, new Modifier(200));
            //提高萨特监工威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_352, new Modifier(200));
            //提高怒鳞纳迦威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_355, new Modifier(200));
            //提高特殊坐骑商人威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_774, new Modifier(200));
            //降低龙裔小鬼威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_238t12t2, new Modifier(-20));
            //降低空灵召唤者威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.FP1_022, new Modifier(-20));



            return(p);
        }
示例#4
0
        //具体策略
        public ProfileParameters GetParameters(Board board)
        {
            Card z                  = board.Hand.Find(x => x.Template.Id > 0);
            Card y                  = board.Hand.FindLast(x => x.Template.Id > 0);
            int  OutcastCards       = board.Hand.Count(x => x.CurrentCost > 0 && BoardHelper.IsOutCastCard(x, board) == true);
            int  GuldanOutcastCards = board.Hand.Count(x => x.CurrentCost > 0 && BoardHelper.IsGuldanOutCastCard(x, board) == true);


            Bot.Log("OutcastCards: " + (int)(OutcastCards + GuldanOutcastCards));
            //Bot.Log("玩家信息: " + rank+"/n"+Legend);

            var p = new ProfileParameters(BaseProfile.Rush)
            {
                DiscoverSimulationValueThresholdPercent = -10
            };

            p.CastSpellsModifiers.AddOrUpdate(TheCoin, new Modifier(85));

            //自定义命名
            int a = (board.HeroFriend.CurrentHealth + board.HeroFriend.CurrentArmor) - BoardHelper.GetEnemyHealthAndArmor(board);//敌我血量差



            //攻击模式切换
            if (board.EnemyClass == Card.CClass.DEMONHUNTER ||
                board.EnemyClass == Card.CClass.HUNTER ||
                board.EnemyClass == Card.CClass.ROGUE ||
                board.EnemyClass == Card.CClass.SHAMAN ||
                board.EnemyClass == Card.CClass.PALADIN ||
                board.EnemyClass == Card.CClass.WARRIOR)
            {
                p.GlobalAggroModifier = (int)(a * 0.625 + 96.5);
            }
            else
            {
                p.GlobalAggroModifier = (int)(a * 0.625 + 103.5);
            }
            Bot.Log("攻击性:" + p.GlobalAggroModifier.Value);



            //手上火炮,提高火炮优先级,降低其他一切一费优先值
            if (board.HasCardInHand(Card.Cards.GVG_075) &&//Card.Cards.GVG_075,//船载火炮
                board.HasCardInHand(Card.Cards.GAME_005) &&//Card.Cards.GAME_005幸运币
                board.HasCardInHand(Card.Cards.CS2_146) ||//Card.Cards.CS2_146,//南海船工
                board.HasCardInHand(Card.Cards.OG_312) ||//Card.Cards.OG_312,//恩佐斯的副官
                board.HasCardInHand(Card.Cards.DRG_024)   //Card.Cards.DRG_024,//空中悍匪
                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.GVG_075, new Modifier(-9999)); //Card.Cards.GVG_075,船载火炮
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.CS2_146, new Modifier(200));   //Card.Cards.CS2_146,南海船工
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.OG_312, new Modifier(200));    //Card.Cards.OG_312,恩佐斯的副官
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DRG_024, new Modifier(200));   //Card.Cards.DRG_024,//空中悍匪
            }


            //当手上有圣剑扳手 Wrenchcalibur  ID:DAL_063时,提高升级和334优先级
            if ((board.WeaponFriend != null && board.WeaponFriend.Template.Id == Card.Cards.DAL_063) &&//圣剑扳手 Wrenchcalibur ID:DAL_063
                board.HasCardInHand(Card.Cards.EX1_409) ||//升级 Upgrade!  ID:EX1_409
                board.HasCardInHand(Card.Cards.OG_315) ||//血帆教徒 Bloodsail Cultist  ID:OG_315
                board.HasCardInHand(Card.Cards.NEW1_024)   //绿皮船长 Captain Greenskin  ID:NEW1_024
                )
            {
                ;
            }
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_409, new Modifier(-999));   //升级 Upgrade!  ID:EX1_409
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.OG_315, new Modifier(-999));   //血帆教徒 Bloodsail Cultist  ID:OG_315
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.NEW1_024, new Modifier(-999)); //绿皮船长 Captain Greenskin  ID:NEW1_024
            }

            //当手上有海盗之锚 Ancharrr  ID:DRG_025时,提高升级和334优先级
            if ((board.WeaponFriend != null && board.WeaponFriend.Template.Id == Card.Cards.DRG_025) &&//海盗之锚 Ancharrr  ID:DRG_025
                board.HasCardInHand(Card.Cards.EX1_409) ||//升级 Upgrade!  ID:EX1_409
                board.HasCardInHand(Card.Cards.OG_315) ||//血帆教徒 Bloodsail Cultist  ID:OG_315
                board.HasCardInHand(Card.Cards.NEW1_024)    //绿皮船长 Captain Greenskin  ID:NEW1_024
                )
            {
                ;
            }
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_409, new Modifier(-999));   //升级 Upgrade!  ID:EX1_409
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.OG_315, new Modifier(-999));   //血帆教徒 Bloodsail Cultist  ID:OG_315
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.NEW1_024, new Modifier(-999)); //绿皮船长 Captain Greenskin  ID:NEW1_024
            }


            //当手上有海盗之锚 Ancharrr  ID:DRG_025时,降低炸弹刀优先值,降低波力优先值
            if ((board.WeaponFriend != null && board.WeaponFriend.Template.Id == Card.Cards.DRG_025) &&//海盗之锚 Ancharrr  ID:DRG_025
                board.HasCardInHand(Card.Cards.OG_312) ||// Card.Cards.OG_312,//恩佐斯的副官
                board.HasCardInHand(Card.Cards.DAL_063) ||//Card.Cards.DAL_063,//圣剑扳手
                board.HasCardInHand(Card.Cards.DRG_055)   //藏宝匪贼 Hoard Pillager  ID:DRG_055
                )
            {
                ;
            }
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.OG_312, new Modifier(200));  //Card.Cards.OG_312,//恩佐斯的副官
                p.CastWeaponsModifiers.AddOrUpdate(Card.Cards.DAL_063, new Modifier(200)); //Card.Cards.DAL_063,//圣剑扳手
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DRG_055, new Modifier(200)); //藏宝匪贼 Hoard Pillager  ID:DRG_055
            }


            //当手上有Card.Cards.DAL_063,//圣剑扳手时,降低海盗刀优先值,降低波力优先值
            if ((board.WeaponFriend != null && board.WeaponFriend.Template.Id == Card.Cards.DAL_063) &&//Card.Cards.DAL_063,//圣剑扳手
                board.HasCardInHand(Card.Cards.OG_312) ||// Card.Cards.OG_312,//恩佐斯的副官
                board.HasCardInHand(Card.Cards.DRG_025) ||//海盗之锚 Ancharrr  ID:DRG_025
                board.HasCardInHand(Card.Cards.DRG_055)   //藏宝匪贼 Hoard Pillager  ID:DRG_055
                )
            {
                ;
            }
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.OG_312, new Modifier(200));  //Card.Cards.OG_312,//恩佐斯的副官
                p.CastWeaponsModifiers.AddOrUpdate(Card.Cards.DRG_025, new Modifier(200)); //海盗之锚 Ancharrr  ID:DRG_025
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DRG_055, new Modifier(200)); //藏宝匪贼 Hoard Pillager  ID:DRG_055
            }



            //当手上有锈蚀铁钩 Rusty Hook  ID:OG_058时,降低升级和334优先级
            if ((board.WeaponFriend != null && board.WeaponFriend.Template.Id == Card.Cards.OG_058) &&//锈蚀铁钩 Rusty Hook  ID:OG_058
                board.HasCardInHand(Card.Cards.EX1_409) ||//升级 Upgrade!  ID:EX1_409
                board.HasCardInHand(Card.Cards.OG_315) ||//血帆教徒 Bloodsail Cultist  ID:OG_315
                board.HasCardInHand(Card.Cards.NEW1_024)   //绿皮船长 Captain Greenskin  ID:NEW1_024
                )
            {
                ;
            }
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_409, new Modifier(300));   //升级 Upgrade!  ID:EX1_409
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.OG_315, new Modifier(300));   //血帆教徒 Bloodsail Cultist  ID:OG_315
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.NEW1_024, new Modifier(300)); //绿皮船长 Captain Greenskin  ID:NEW1_024
            }



            //当手上有重斧 Heavy Axe  ID:EX1_409t时,降低升级和334优先级
            if ((board.WeaponFriend != null && board.WeaponFriend.Template.Id == Card.Cards.EX1_409t) &&//重斧 Heavy Axe  ID:EX1_409t
                board.HasCardInHand(Card.Cards.EX1_409) ||//升级 Upgrade!  ID:EX1_409
                board.HasCardInHand(Card.Cards.OG_315) ||//血帆教徒 Bloodsail Cultist  ID:OG_315
                board.HasCardInHand(Card.Cards.NEW1_024)   //绿皮船长 Captain Greenskin  ID:NEW1_024
                )
            {
                ;
            }
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_409, new Modifier(300));   //升级 Upgrade!  ID:EX1_409
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.OG_315, new Modifier(300));   //血帆教徒 Bloodsail Cultist  ID:OG_315
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.NEW1_024, new Modifier(300)); //绿皮船长 Captain Greenskin  ID:NEW1_024
            }

            if (board.ManaAvailable < 7 &&
                board.Hand.Exists(x => x.Template.Id == Card.Cards.DRG_025))
            {
                p.CastWeaponsModifiers.AddOrUpdate(Card.Cards.DRG_025, new Modifier(-50));//7费前优先挂海盗之锚
            }

            if (board.Hand.Exists(x => x.Template.Id == Card.Cards.DAL_063) &&//Card.Cards.DAL_063,//圣剑扳手
                board.EnemyClass == Card.CClass.PRIEST || //对方是牧师
                board.EnemyClass == Card.CClass.MAGE || //对方是法师
                board.EnemyClass == Card.CClass.HUNTER || //对方是法师
                board.EnemyClass == Card.CClass.WARLOCK   //对方是法师
                )
            {
                p.CastWeaponsModifiers.AddOrUpdate(Card.Cards.DAL_063, new Modifier(-50));//牧师优先挂扳手
            }



            //武器优先值
            p.CastWeaponsModifiers.AddOrUpdate(Card.Cards.DRG_025, new Modifier(-80)); //海盗之锚 Ancharrr  ID:DRG_025
            p.CastWeaponsModifiers.AddOrUpdate(Card.Cards.DAL_063, new Modifier(-80)); ///圣剑扳手 Wrenchcalibur  ID:DAL_063


            //武器攻击保守性
            p.WeaponsAttackModifiers.AddOrUpdate(Card.Cards.OG_058, new Modifier(-20));   //锈蚀铁钩 Rusty Hook  ID:OG_058
            p.WeaponsAttackModifiers.AddOrUpdate(Card.Cards.DRG_025, new Modifier(-50));  //海盗之锚 Ancharrr  ID:DRG_025
            p.WeaponsAttackModifiers.AddOrUpdate(Card.Cards.EX1_409t, new Modifier(-50)); //重斧 Heavy Axe  ID:EX1_409t
            p.WeaponsAttackModifiers.AddOrUpdate(Card.Cards.DAL_063, new Modifier(-60));  //Card.Cards.DAL_063,//圣剑扳手

            //法术
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.TB_011, new Modifier(50));   //硬币
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_409, new Modifier(50));  //升级 Upgrade!  ID:EX1_409



            //随从优先值
            // Card.Cards.LOE_076,//芬利·莫格顿爵士
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.LOE_076, new Modifier(-80));
            //船载火炮
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.GVG_075, new Modifier(-999));
            //空中炮艇 Skybarge  ID:DRG_023
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DRG_023, new Modifier(-200));
            //降低空降歹徒优先级
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DRG_056, new Modifier(200));
            //降低 Card.Cards.DRG_024,//空中悍匪优先级
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DRG_024, new Modifier(130));
            //降低 绿皮船长 Captain Greenskin  ID:NEW1_024优先级
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.NEW1_024, new Modifier(130));
            //南海船长提高优先级
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.NEW1_027, new Modifier(-20));
            //发条地精 Clockwork Goblin  ID:DAL_060提高优先级
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DAL_060, new Modifier(-30));
            //爆盐投弹手 Seaforium Bomber  ID:BOT_511提高优先级
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BOT_511, new Modifier(-60));


            //随从优先解
            //提高战斗邪犬威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_351, new Modifier(200));
            //螃蟹应该解
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BOT_700, new Modifier(200));
            //炸弹牛仔应该解
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOD_024, new Modifier(200));
            //提高相位威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_252, new Modifier(200));
            //提高热气球威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_057, new Modifier(200));
            //提高空中私掠者威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOD_016, new Modifier(200));
            //提高搬水工威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.ULD_270, new Modifier(200));
            //提高凶恶的废钢猎犬威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_759, new Modifier(200));
            //提高神殿狂战士威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.ULD_185, new Modifier(200));
            //大法师瓦格斯
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_558, new Modifier(200));
            //提高厄运信天翁
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_071, new Modifier(200));
            //提高高级跟班厄尔克
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOD_035, new Modifier(200));
            //提高狂奔的魔刃豹
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOD_006, new Modifier(200));
            //提高卡雷苟斯
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_609, new Modifier(200));
            //提高希亚玛特
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.ULD_178, new Modifier(200));
            //提高齐恩瓦拉
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_104, new Modifier(200));
            //提高机械袋鼠
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BOT_445, new Modifier(200));
            //提高机械袋鼠宝宝
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BOT_445t, new Modifier(300));
            //提高雏龙
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.EX1_116t, new Modifier(200));
            //提高铸甲师
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.EX1_402, new Modifier(200));
            //提高无面渗透者威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_039, new Modifier(200));
            //提高鲨鱼之灵威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.TRL_092, new Modifier(200));
            //提高灭龙弩炮威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_256, new Modifier(200));
            //提高飞刺威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_037, new Modifier(200));
            //提高奇利亚斯威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BOT_548, new Modifier(200));
            //提高流放者奥图里斯威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_937, new Modifier(200));
            //提高暗影珠宝师汉纳尔威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_188, new Modifier(200));
            //提高萨特监工威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_352, new Modifier(200));
            //提高怒鳞纳迦威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_355, new Modifier(200));
            //提高特殊坐骑商人威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_774, new Modifier(200));
            //降低龙裔小鬼威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_238t12t2, new Modifier(-20));
            //降低空灵召唤者威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.FP1_022, new Modifier(-20));
            //提高鲨鳍后援威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.TRL_507, new Modifier(200));
            //提高小鬼骑士 Tiny Knight of Evil  ID:AT_021威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.AT_021, new Modifier(200));
            //降低恩佐斯的副官 威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.OG_312, new Modifier(-20));
            //降低疯狂的科学家 Mad Scientist ID:FP1_004 威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.FP1_004, new Modifier(-20));



            return(p);
        }
示例#5
0
        //具体策略
        public ProfileParameters GetParameters(Board board)
        {
            Card z                  = board.Hand.Find(x => x.Template.Id > 0);
            Card y                  = board.Hand.FindLast(x => x.Template.Id > 0);
            int  OutcastCards       = board.Hand.Count(x => x.CurrentCost > 0 && BoardHelper.IsOutCastCard(x, board) == true);
            int  GuldanOutcastCards = board.Hand.Count(x => x.CurrentCost > 0 && BoardHelper.IsGuldanOutCastCard(x, board) == true);


            Bot.Log("OutcastCards: " + (int)(OutcastCards + GuldanOutcastCards));
            //Bot.Log("玩家信息: " + rank+"/n"+Legend);

            var p = new ProfileParameters(BaseProfile.Rush)
            {
                DiscoverSimulationValueThresholdPercent = -10
            };

            p.CastSpellsModifiers.AddOrUpdate(TheCoin, new Modifier(85));



            //如果敌人生命小于15
            if (BoardHelper.GetEnemyHealthAndArmor(board) <= 19)
            {
                p = new ProfileParameters(BaseProfile.Face);          //则切换为打脸模式
            }

            //场上有特殊坐骑商人,提高法术优先级

            if (board.HasCardOnBoard(Card.Cards.DAL_774)//特殊坐骑商人
                )
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_154, new Modifier(-399));           //愤怒
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.FB_Champs_EX1_169, new Modifier(-399)); //激活
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.DAL_350, new Modifier(-399));           //水晶之力
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_132, new Modifier(-399));            //铁木树皮
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_134, new Modifier(-399));            //沼泽射线
            }



            //费用大于等于3且耐久值为1,手上有战刃,提高棕红优先值

            if (board.ManaAvailable >= 3 &&
                board.WeaponFriend != null &&
                board.WeaponFriend.Template.Id == Card.Cards.BT_922 &&//棕红之翼
                board.WeaponFriend.CurrentDurability == 1 &&
                board.HasCardInHand(Card.Cards.BT_430))   //埃辛诺斯战刃
            {
                p.GlobalWeaponsAttackModifier = 100;
            }

            //如果费用等于4,手上有法力燃烧,提高法力燃烧和任务达人优先级
            if (board.ManaAvailable == 4 &&
                board.HasCardInHand(Card.Cards.EX1_044) && //任务达人
                board.HasCardInHand(Card.Cards.BT_753) //法力燃烧

                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_044, new Modifier(-300));       //任务达人
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_753, new Modifier(-250));         //法力燃烧
            }


            //如果费用等于3,手上没有硬币或者手上有双刃斩击,降低任务达人优先级
            if (board.ManaAvailable == 3 &&
                board.HasCardInHand(Card.Cards.EX1_044) && //任务达人
                !board.HasCardInHand(Card.Cards.GAME_005) || //幸运币
                !board.HasCardInHand(Card.Cards.BT_175) ||//双刃斩击
                !board.HasCardInHand(Card.Cards.BT_175t)//二次斩击

                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_044, new Modifier(500));        //任务达人
            }
            //如果费用等于2,降低任务达人优先级
            if (board.ManaAvailable == 2 &&
                board.HasCardInHand(Card.Cards.EX1_044) && //任务达人
                board.HasCardInHand(Card.Cards.GAME_005) //幸运币
                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_044, new Modifier(99999));        //任务达人
            }


            //冲锋怪
            if (board.EnemyClass == Card.CClass.PRIEST && (!(board.MinionEnemy.Any(x => x.IsTaunt))))
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_187, new Modifier(500));
            }

            //萨特建工
            if (board.MaxMana == 3 && (!(board.HasCardInHand(Card.Cards.GAME_005))) && (!(board.WeaponFriend != null)) &&
                (!(board.HasCardInHand(Card.Cards.BT_175) || board.HasCardInHand(Card.Cards.BT_175t))))
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_352, new Modifier(200));
            }

            //p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_491, new Modifier(-235));
            //费用等于5,手上有刃缚精锐和双刃斩击,提高双刃和二次斩击斩击优先级
            if (board.ManaAvailable == 5 &&//费用等于5
                board.HasCardInHand(Card.Cards.BT_495) && //刃缚精锐
                board.HasCardInHand(Card.Cards.BT_175) && //双刃斩击
                board.HasCardInHand(Card.Cards.BT_175t)    //二次斩击

                )
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_175, new Modifier(-300));  //双刃斩击
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_175t, new Modifier(-300)); //二次斩击
            }
            //手上有暴怒的邪鳍,使用前提高恶魔之爪的优先值
            if (board.HasCardInHand(Card.Cards.BT_496))                                     //暴怒的邪鳍
            {
                p.CastHeroPowerModifier.AddOrUpdate(Card.Cards.HERO_10p, new Modifier(55)); //恶魔之爪
            }



            if (board.WeaponEnemy != null && board.EnemyClass == Card.CClass.DEMONHUNTER)     //软泥怪解武器
            {
                if (board.WeaponEnemy.Template.Id == Card.Cards.BT_921)                       //奥达奇战刃
                {
                    p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_066, new Modifier(50)); //酸性沼泽软泥怪
                }
                else
                {
                    p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_066, new Modifier(600));//酸性沼泽软泥怪
                }
            }
            if (board.ManaAvailable >= 6 && board.Hand.Count <= 5 &&
                board.HasCardInHand(Card.Cards.BT_601))
            {
                p.CastWeaponsModifiers.AddOrUpdate(Card.Cards.BT_601, new Modifier(50));
            }//如果当前剩余法力水晶大于等于6,手牌数量小于等于5并且手牌中有古尔丹头颅

            //当费用等于1,不使用法力燃烧
            if (board.ManaAvailable == 1
                )
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_753, new Modifier(8000));//法力燃烧
            }



            //如果手上有暴怒邪吼者和愤怒的女祭司,提高暴怒的邪吼者优先级
            if (board.Hand.Exists(x => x.Template.Id == Card.Cards.BT_416) &&//暴怒邪吼者
                (board.Hand.Exists(x => x.Template.Id == Card.Cards.BT_493))   //愤怒的女祭司
                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_416, new Modifier(-300));//暴怒邪吼者
            }
            //如果场上有暴怒的邪吼者 ,提高女祭司优先级
            if (board.MinionFriend.Any(minion => minion.Template.Id == Card.Cards.BT_416) &&//暴怒邪吼者
                (board.Hand.Exists(x => x.Template.Id == Card.Cards.BT_493)) ||//愤怒的女祭司
                (board.Hand.Exists(x => x.Template.Id == Card.Cards.BT_407)) ||//乌祖尔恐魔
                (board.Hand.Exists(x => x.Template.Id == Card.Cards.BT_351)) ||//战斗邪犬2
                (board.Hand.Exists(x => x.Template.Id == Card.Cards.BT_323)) ||//盲眼监视者
                (board.Hand.Exists(x => x.Template.Id == Card.Cards.BT_352)) &&//萨特监工
                (board.Hand.Exists(x => x.Template.Id == Card.Cards.YOD_032))  //YOD_032,//狂暴邪翼蝠13
                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_493, new Modifier(-900)); //暴怒邪吼者
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_407, new Modifier(300));  //乌祖尔恐魔
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_351, new Modifier(300));  //战斗邪犬2
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_323, new Modifier(300));  //盲眼监视者
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_352, new Modifier(300));  //萨特监工
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.YOD_032, new Modifier(300)); //狂暴邪翼蝠13
            }



//武器优先值
            //棕红之翼
            p.WeaponsAttackModifiers.AddOrUpdate(Cards.Umberwing, new Modifier(200));
//法术优先值
            //恶魔变形
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_429, new Modifier(-35));
            //古尔丹之颅
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_601, new Modifier(-55));
            //幽灵视觉
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_491, new Modifier(-5));
            //法力燃烧
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_753, new Modifier(-30));
            //混乱打击
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_035, new Modifier(-10));
            //吞噬魔法
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_490, new Modifier(134));
//随从优先值
            //降低玛维优先级
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_737, new Modifier(100));
            //任务达人
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_044, new Modifier(-80));
            //盲眼监视者
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_323, new Modifier(-30));
            //特殊坐骑商人
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DAL_774, new Modifier(-200));

            //降低玛维吃自己怪
            // p.CastMinionsModifiers.AddOrUpdate(Card.Cards.LOOT_161, new Modifier(300, Card.Cards.FP1_022));//降低魔块吃空灵
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_737, new Modifier(300, Card.Cards.BT_407));  //降低玛维吃乌祖尔恐魔
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_737, new Modifier(300, Card.Cards.BT_351));  //降低玛维吃战斗邪犬2
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_737, new Modifier(300, Card.Cards.BT_937));  //降低玛维吃流放者奥图里斯9
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_737, new Modifier(300, Card.Cards.BT_352));  //降低玛维吃萨特监工11
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_737, new Modifier(300, Card.Cards.BT_814));  //降低玛维吃伊利达雷邪刃武士
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_737, new Modifier(300, Card.Cards.BT_493));  //降低玛维吃愤怒的女祭司
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_737, new Modifier(300, Card.Cards.BT_187));  //降低玛维吃凯恩·日怒 12
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_737, new Modifier(300, Card.Cards.YOD_032)); //降低玛维吃狂暴邪翼蝠13
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_737, new Modifier(300, Card.Cards.BT_416));  //降低玛维吃暴怒邪吼者


//随从优先解
            //提高战斗邪犬威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_351, new Modifier(200));
            //螃蟹应该解
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BOT_700, new Modifier(200));
            //炸弹牛仔应该解
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOD_024, new Modifier(200));
            //提高相位威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_252, new Modifier(200));
            //提高热气球威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_057, new Modifier(200));
            //提高空中私掠者威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOD_016, new Modifier(200));
            //提高搬水工威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.ULD_270, new Modifier(200));
            //提高凶恶的废钢猎犬威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_759, new Modifier(200));
            //提高神殿狂战士威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.ULD_185, new Modifier(200));
            //大法师瓦格斯
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_558, new Modifier(200));
            //提高厄运信天翁
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_071, new Modifier(200));
            //提高高级跟班厄尔克
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOD_035, new Modifier(200));
            //提高狂奔的魔刃豹
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOD_006, new Modifier(200));
            //提高卡雷苟斯
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_609, new Modifier(200));
            //提高希亚玛特
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.ULD_178, new Modifier(200));
            //提高齐恩瓦拉
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_104, new Modifier(200));
            //提高机械袋鼠
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BOT_445, new Modifier(200));
            //提高机械袋鼠宝宝
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BOT_445t, new Modifier(300));
            //提高雏龙
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.EX1_116t, new Modifier(200));
            //提高铸甲师
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.EX1_402, new Modifier(200));
            //提高无面渗透者威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_039, new Modifier(200));
            //提高鲨鱼之灵威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.TRL_092, new Modifier(200));
            //提高灭龙弩炮威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_256, new Modifier(200));
            //提高飞刺威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_037, new Modifier(200));
            //提高奇利亚斯威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BOT_548, new Modifier(200));
            //提高流放者奥图里斯威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_937, new Modifier(200));
            //提高暗影珠宝师汉纳尔威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_188, new Modifier(9999));
            //提高萨特监工威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_352, new Modifier(200));
            //提高怒鳞纳迦威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_355, new Modifier(200));
            //提高特殊坐骑商人威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_774, new Modifier(200));
            //降低龙裔小鬼威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_238t12t2, new Modifier(-200));



            return(p);
        }
        //具体策略
        public ProfileParameters GetParameters(Board board)
        {
            Card z                  = board.Hand.Find(x => x.Template.Id > 0);
            Card y                  = board.Hand.FindLast(x => x.Template.Id > 0);
            int  OutcastCards       = board.Hand.Count(x => x.CurrentCost > 0 && BoardHelper.IsOutCastCard(x, board) == true);
            int  GuldanOutcastCards = board.Hand.Count(x => x.CurrentCost > 0 && BoardHelper.IsGuldanOutCastCard(x, board) == true);


            Bot.Log("OutcastCards: " + (int)(OutcastCards + GuldanOutcastCards));
            //Bot.Log("玩家信息: " + rank+"/n"+Legend);

            var p = new ProfileParameters(BaseProfile.Rush)
            {
                DiscoverSimulationValueThresholdPercent = -10
            };

            p.CastSpellsModifiers.AddOrUpdate(TheCoin, new Modifier(85));

            //自定义命名
            int a = (board.HeroFriend.CurrentHealth + board.HeroFriend.CurrentArmor) - BoardHelper.GetEnemyHealthAndArmor(board);//敌我血量差



            //攻击模式切换
            if (board.EnemyClass == Card.CClass.DEMONHUNTER ||
                board.EnemyClass == Card.CClass.HUNTER ||
                board.EnemyClass == Card.CClass.ROGUE ||
                board.EnemyClass == Card.CClass.SHAMAN ||
                board.EnemyClass == Card.CClass.PALADIN ||
                board.EnemyClass == Card.CClass.WARRIOR)
            {
                p.GlobalAggroModifier = (int)(a * 0.625 + 96.5);
            }
            else
            {
                p.GlobalAggroModifier = (int)(a * 0.625 + 103.5);
            }
            Bot.Log("攻击性:" + p.GlobalAggroModifier.Value);

            //如果费用大于等于3,手上有暴徒和监工,提高暴徒优先级,降低监工优先级
            if (board.ManaAvailable >= 3 &&
                board.HasCardInHand(Card.Cards.GIL_534) &&//荆棘帮暴徒 Hench-Clan Thug  ID:GIL_534
                board.HasCardInHand(Card.Cards.BT_352)   //萨特监工 Satyr Overseer  ID:BT_352
                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.GIL_534, new Modifier(-80)); //荆棘帮暴徒 Hench-Clan Thug  ID:GIL_534
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_352, new Modifier(80));   ////萨特监工 Satyr Overseer  ID:BT_352
            }

            //如果费用小于等于5,手上有侍从和邪犬,提高侍从优先级,降低邪犬优先级
            if (board.ManaAvailable <= 5 &&
                board.HasCardInHand(Card.Cards.AT_082) &&//低阶侍从 Lowly Squire  ID:AT_082
                board.HasCardInHand(Card.Cards.BT_351)   //战斗邪犬 Battlefiend  ID:BT_351
                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.AT_082, new Modifier(-80)); //低阶侍从 Lowly Squire  ID:AT_082
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_351, new Modifier(80));  //战斗邪犬 Battlefiend  ID:BT_351
            }


            //假如对面场上有奥秘并且剩余费用大于五,提高总督察的优先级
            if (board.SecretEnemy &&
                board.ManaAvailable >= 5)
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.GIL_648, new Modifier(-200));
            }


            //假如费用大于5,手牌小于2,提高沉默优先级
            if (board.Hand.Count <= 2 &&
                board.ManaAvailable >= 5)
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_490, new Modifier(-99));//吞噬魔法
            }

            //假如费用等于1,对手是奇数瞎或者奇数贼,则不下侍从和魔犬,而是使用技能
            //恶魔之咬 Demon's Bite  ID:HERO_10bp2
            //浸毒匕首 Poisoned Daggers  ID:HERO_03bp2
            //board.WeaponEnemy.Template.Id != Card.Cards.CS2_082//对手的武器不是 邪恶短刀 Wicked Knife  ID:CS2_082
            if (board.ManaAvailable == 1 &&
                board.HasCardInHand(Card.Cards.AT_082) ||                //低阶侍从 Lowly Squire  ID:AT_082
                board.HasCardInHand(Card.Cards.BT_351) &&//战斗邪犬 Battlefiend  ID:BT_351
                board.EnemyHeroPower == Card.Cards.HERO_10bp2 ||//对方是奇数恶魔猎手
                board.EnemyHeroPower == Card.Cards.HERO_03bp2   //对方是奇数潜行者
                )
            {
                p.CastHeroPowerModifier.AddOrUpdate(Card.Cards.HERO_10bp2, new Modifier(-20)); //图腾召唤 Totemic Call  ID:CS2_049_H1
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.AT_082, new Modifier(700));      //低阶侍从 Lowly Squire  ID:AT_082
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_351, new Modifier(800));      //战斗邪犬 Battlefiend  ID:BT_351
            }

            //假如对面有科学家,提高沉默优先级
            if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.FP1_004)) //疯狂的科学家
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_490, new Modifier(-99));   //吞噬魔法
            }

            //假如对面有空灵,提高沉默优先级
            if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.FP1_022)) //空灵召唤者
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_490, new Modifier(-99));   //吞噬魔法
            }

            //费用大于等于3且耐久值为1,手上有战刃,提高棕红优先值

            if (board.ManaAvailable >= 3 &&
                board.WeaponFriend != null &&
                board.WeaponFriend.Template.Id == Card.Cards.BT_922 &&//棕红之翼
                board.WeaponFriend.CurrentDurability == 1 &&
                board.HasCardInHand(Card.Cards.BT_430))   //埃辛诺斯战刃
            {
                p.GlobalWeaponsAttackModifier = 100;
            }

            //如果棕红之刃耐久值为1,费用=4手上有双刃斩击,提高棕红之刃攻击优先值

            if (board.ManaAvailable >= 3 &&
                board.WeaponFriend != null &&
                board.WeaponFriend.Template.Id == Card.Cards.BT_922 &&//棕红之翼
                board.WeaponFriend.CurrentDurability == 1 &&
                board.HasCardInHand(Card.Cards.BT_430))   //埃辛诺斯战刃
            {
                p.GlobalWeaponsAttackModifier = 100;
            }



            //如果费用等于3,手上没有硬币或者手上有双刃斩击,降低任务达人优先级
            if (board.ManaAvailable == 3 &&
                board.HasCardInHand(Card.Cards.EX1_044) && //任务达人
                !board.HasCardInHand(Card.Cards.GAME_005) || //幸运币
                !board.HasCardInHand(Card.Cards.BT_175) ||//双刃斩击
                !board.HasCardInHand(Card.Cards.BT_175t)//二次斩击

                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_044, new Modifier(500));        //任务达人
            }
            //如果费用等于2,降低任务达人优先级
            if (board.ManaAvailable == 2 &&
                board.HasCardInHand(Card.Cards.EX1_044) && //任务达人
                board.HasCardInHand(Card.Cards.GAME_005) //幸运币
                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_044, new Modifier(9999));        //任务达人
            }

            //费用大于等于4,提高暴徒优先级
            if (board.ManaAvailable >= 4 &&
                board.HasCardInHand(Card.Cards.GIL_534) //荆棘帮暴徒
                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.GIL_534, new Modifier(-200));   //荆棘帮暴徒
            }

            //费用大于等于5,提高洛欧塞布 优先级
            if (board.ManaAvailable >= 5 &&
                board.HasCardInHand(Card.Cards.FP1_030) //荆棘帮暴徒
                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.FP1_030, new Modifier(-200));   //洛欧塞布
            }


            //费用等于5,手上有刃缚精锐和双刃斩击,提高双刃和二次斩击斩击优先级
            if (board.ManaAvailable == 5 &&//费用等于5
                board.HasCardInHand(Card.Cards.BT_495) && //刃缚精锐
                board.HasCardInHand(Card.Cards.BT_175) && //双刃斩击
                board.HasCardInHand(Card.Cards.BT_175t)    //二次斩击

                )
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_175, new Modifier(-300));  //双刃斩击
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_175t, new Modifier(-300)); //二次斩击
            }



            if (board.ManaAvailable >= 6 && board.Hand.Count <= 7 &&
                board.HasCardInHand(Card.Cards.BT_601))
            {
                p.CastWeaponsModifiers.AddOrUpdate(Card.Cards.BT_601, new Modifier(-70));
            }//如果当前剩余法力水晶大于等于6,手牌数量小于等于7并且手牌中有古尔丹头颅

            if (board.WeaponEnemy != null &&            //对手有武器
                board.WeaponEnemy.Template.Id != Card.Cards.CS2_082 &&        //对手的武器不是 邪恶短刀 Wicked Knife  ID:CS2_082
                board.HasCardInHand(Card.Cards.UNG_946) ||//总督察 Chief Inspector  ID:GIL_648
                board.HasCardInHand(Card.Cards.EX1_558) ||        //哈里森·琼斯 Harrison Jones  ID:EX1_558
                board.HasCardInHand(Card.Cards.DRG_082)           //黏指狗头人 Kobold Stickyfinger  ID:DRG_082
                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.UNG_946, new Modifier(-500)); //贪食软泥怪 Gluttonous Ooze  ID:UNG_946
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_558, new Modifier(-899)); //哈里森·琼斯 Harrison Jones  ID:EX1_558
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DRG_082, new Modifier(-999)); //黏指狗头人 Kobold Stickyfinger  ID:DRG_082
            }
            else
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.UNG_946, new Modifier(200)); //贪食软泥怪 Gluttonous Ooze  ID:UNG_946
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_558, new Modifier(200)); //哈里森·琼斯 Harrison Jones  ID:EX1_558
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DRG_082, new Modifier(200)); //黏指狗头人 Kobold Stickyfinger  ID:DRG_082
            }



            //武器优先值

            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.TB_011, new Modifier(50));    //硬币


//随从优先值
            //降低玛维优先级
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_737, new Modifier(80));
            //任务达人
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_044, new Modifier(-40));
            //盲眼监视者
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_323, new Modifier(-30));
            //愤怒的女祭司
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_493, new Modifier(-70));
            //暴怒邪吼者
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_416, new Modifier(-80));
            //焦油爬行者
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.UNG_928, new Modifier(-40));
            //萨特监工
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_352, new Modifier(-20));
            //荆棘帮暴徒
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.GIL_534, new Modifier(-60));
            //喷灯破坏者
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DRG_403, new Modifier(-80));
            //异种群居蝎
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.OG_034, new Modifier(-40));
            //南海船工
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.CS2_146, new Modifier(-90));
            //南海船长
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.NEW1_027, new Modifier(-80));
            //船载火炮
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.GVG_075, new Modifier(-500));
            //空中炮艇 Skybarge  ID:DRG_023
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DRG_023, new Modifier(-450));
            //降低空降歹徒优先级
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DRG_056, new Modifier(200));
            //凶恶的雏龙
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.UNG_075, new Modifier(-200));



            //随从优先解
            //提高战斗邪犬威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_351, new Modifier(200));
            //螃蟹应该解
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BOT_700, new Modifier(200));
            //炸弹牛仔应该解
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOD_024, new Modifier(200));
            //提高相位威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_252, new Modifier(200));
            //提高热气球威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_057, new Modifier(200));
            //提高空中私掠者威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOD_016, new Modifier(200));
            //提高搬水工威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.ULD_270, new Modifier(200));
            //提高凶恶的废钢猎犬威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_759, new Modifier(200));
            //提高神殿狂战士威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.ULD_185, new Modifier(200));
            //大法师瓦格斯
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_558, new Modifier(200));
            //提高厄运信天翁
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_071, new Modifier(200));
            //提高高级跟班厄尔克
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOD_035, new Modifier(200));
            //提高狂奔的魔刃豹
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOD_006, new Modifier(200));
            //提高卡雷苟斯
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_609, new Modifier(200));
            //提高希亚玛特
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.ULD_178, new Modifier(200));
            //提高齐恩瓦拉
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_104, new Modifier(200));
            //提高机械袋鼠
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BOT_445, new Modifier(200));
            //提高机械袋鼠宝宝
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BOT_445t, new Modifier(300));
            //提高雏龙
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.EX1_116t, new Modifier(200));
            //提高铸甲师
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.EX1_402, new Modifier(200));
            //提高无面渗透者威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_039, new Modifier(200));
            //提高鲨鱼之灵威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.TRL_092, new Modifier(200));
            //提高灭龙弩炮威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_256, new Modifier(200));
            //提高飞刺威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_037, new Modifier(200));
            //提高奇利亚斯威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BOT_548, new Modifier(200));
            //提高流放者奥图里斯威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_937, new Modifier(200));
            //提高暗影珠宝师汉纳尔威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_188, new Modifier(200));
            //提高萨特监工威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_352, new Modifier(200));
            //提高怒鳞纳迦威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_355, new Modifier(200));
            //提高特殊坐骑商人威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_774, new Modifier(200));
            //降低龙裔小鬼威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_238t12t2, new Modifier(-20));
            //降低空灵召唤者威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.FP1_022, new Modifier(-20));
            //提高鲨鳍后援威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.TRL_507, new Modifier(200));
            //降低恩佐斯的副官 威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.OG_312, new Modifier(-20));



            return(p);
        }
示例#7
0
        //攻击模式



        public ProfileParameters GetParameters(Board board)
        {
            Card z                  = board.Hand.Find(x => x.Template.Id > 0);
            Card y                  = board.Hand.FindLast(x => x.Template.Id > 0);
            int  OutcastCards       = board.Hand.Count(x => x.CurrentCost > 0 && BoardHelper.IsOutCastCard(x, board) == true);
            int  GuldanOutcastCards = board.Hand.Count(x => x.CurrentCost > 0 && BoardHelper.IsGuldanOutCastCard(x, board) == true);


            Bot.Log("OutcastCards: " + (int)(OutcastCards + GuldanOutcastCards));
            //Bot.Log("玩家信息: " + rank+"/n"+Legend);

            var p = new ProfileParameters(BaseProfile.Rush)
            {
                DiscoverSimulationValueThresholdPercent = -10
            };

            p.CastSpellsModifiers.AddOrUpdate(TheCoin, new Modifier(85));

            //自定义命名
            int a = (board.HeroFriend.CurrentHealth + board.HeroFriend.CurrentArmor) - BoardHelper.GetEnemyHealthAndArmor(board);//敌我血量差



            //攻击模式切换
            if (board.EnemyClass == Card.CClass.DEMONHUNTER ||
                board.EnemyClass == Card.CClass.HUNTER ||
                board.EnemyClass == Card.CClass.ROGUE ||
                board.EnemyClass == Card.CClass.SHAMAN ||
                board.EnemyClass == Card.CClass.PALADIN ||
                board.EnemyClass == Card.CClass.WARRIOR)
            {
                p.GlobalAggroModifier = (int)(a * 0.625 + 96.5);
            }
            else
            {
                p.GlobalAggroModifier = (int)(a * 0.625 + 103.5);
            }
            Bot.Log("攻击性:" + p.GlobalAggroModifier.Value);



            //具体策略
            //图腾体系



            //费用大于等于4时,手上有德莱尼图腾师且场上无图腾,降低图腾师优先级,优先摇图腾
            if (
                board.ManaAvailable >= 4 &&
                board.HasCardInHand(Card.Cards.AT_047) &&               //德莱尼图腾师 Draenei Totemcarver  ID:AT_047
                !(board.HasCardOnBoard(Card.Cards.NEW1_009)) &&               //治疗图腾 Healing Totem  ID:NEW1_009
                !(board.HasCardOnBoard(Card.Cards.CS2_050)) &&               //灼热图腾 Searing Totem  ID:CS2_050
                !(board.HasCardOnBoard(Card.Cards.CS2_051)) &&               //石爪图腾 Stoneclaw Totem  ID:CS2_051
                !(board.HasCardOnBoard(Card.Cards.CS2_052)) &&               //空气之怒图腾 Wrath of Air Totem  ID:CS2_052
                !(board.HasCardOnBoard(Card.Cards.AT_052)) &&               //图腾魔像 Totem Golem  ID:AT_052
                !(board.HasCardOnBoard(Card.Cards.ULD_276))                  //怪盗图腾 EVIL Totem  ID:ULD_276
                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.AT_047, new Modifier(200));      //德莱尼图腾师 Draenei Totemcarver  ID:AT_047
                p.CastHeroPowerModifier.AddOrUpdate(Card.Cards.CS2_049_H1, new Modifier(-20)); //图腾召唤 Totemic Call  ID:CS2_049_H1
            }

            //费用等于4,手上有分裂斧且场上无图腾,降低分裂战斧优先级,优先摇图腾
            if (
                board.ManaAvailable >= 4 &&
                board.HasCardInHand(Card.Cards.ULD_413) &&        //分裂战斧 Splitting Axe  ID:ULD_413
                !(board.HasCardOnBoard(Card.Cards.NEW1_009)) &&        //治疗图腾 Healing Totem  ID:NEW1_009
                !(board.HasCardOnBoard(Card.Cards.CS2_050)) &&        //灼热图腾 Searing Totem  ID:CS2_050
                !(board.HasCardOnBoard(Card.Cards.CS2_051)) &&        //石爪图腾 Stoneclaw Totem  ID:CS2_051
                !(board.HasCardOnBoard(Card.Cards.CS2_052)) &&        //空气之怒图腾 Wrath of Air Totem  ID:CS2_052
                !(board.HasCardOnBoard(Card.Cards.AT_052)) &&        //图腾魔像 Totem Golem  ID:AT_052
                !(board.HasCardOnBoard(Card.Cards.ULD_276))           //怪盗图腾 EVIL Totem  ID:ULD_276
                )
            {
                p.CastWeaponsModifiers.AddOrUpdate(Card.Cards.ULD_413, new Modifier(200));    //分裂战斧 Splitting Axe  ID:ULD_413
                p.CastHeroPowerModifier.AddOrUpdate(Card.Cards.CS2_049_H1, new Modifier(20)); //图腾召唤 Totemic Call  ID:CS2_049_H1
            }
            //如果场上图腾大于2,提高图腾刀优先级,反之则提高图腾师优先级
            if (board.MinionFriend.Count(card => card.Race == Card.CRace.TOTEM) >= 2 && //场上图腾怪数量大于等于2
                board.HasCardInHand(Card.Cards.ULD_413)                                 //分裂战斧 Splitting Axe  ID:ULD_413
                )
            {
                p.CastWeaponsModifiers.AddOrUpdate(Card.Cards.ULD_413, new Modifier(-60)); //分裂战斧 Splitting Axe  ID:ULD_413
            }
            else
            {
                p.CastWeaponsModifiers.AddOrUpdate(Card.Cards.ULD_413, new Modifier(200)); //分裂战斧 Splitting Axe  ID:ULD_413
            }

            //如果场上图腾大于2,提高图腾之力优先级
            if (board.MinionFriend.Count(card => card.Race == Card.CRace.TOTEM) >= 2 && //场上图腾怪数量大于等于2
                board.HasCardInHand(Card.Cards.EX1_244)                                 //图腾之力 Totemic Might  ID:EX1_244
                )
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_244, new Modifier(-60));    //图腾之力 Totemic Might  ID:EX1_244
            }
            else
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_244, new Modifier(200));//图腾之力 Totemic Might  ID:EX1_244
            }
            //如果场上图腾大于2,提高图腾潮涌 Totemic Surge  ID:ULD_171优先级
            //if ( board.MinionFriend.Count(card => card.Race == Card.CRace.TOTEM) >=2 //场上图腾怪数量大于等于2
            //  && board.HasCardInHand(Card.Cards.ULD_171)//图腾潮涌 Totemic Surge  ID:ULD_171
            //)
            //{
            //p.CastSpellsModifiers.AddOrUpdate(Card.Cards.ULD_171, new Modifier(-20));//图腾潮涌 Totemic Surge  ID:ULD_171
            //}
            //else
            // {
            //   p.CastSpellsModifiers.AddOrUpdate(Card.Cards.ULD_171, new Modifier(200));//图腾潮涌 Totemic Surge  ID:ULD_171
            //}
            //如果敌方血量小于等于7,无法强图腾,提高摇图腾优先级,手上有连环爆裂
            if (!(board.HasCardOnBoard(Card.Cards.CS2_052)) &&//空气之怒图腾 Wrath of Air Totem  ID:CS2_052
                board.ManaAvailable >= 3 &&
                board.HasCardInHand(Card.Cards.GVG_038)       //连环爆裂 Crackle  ID:GVG_038
                )
            {
                p.CastHeroPowerModifier.AddOrUpdate(Card.Cards.CS2_049_H1, new Modifier(-20));    //图腾召唤 Totemic Call  ID:CS2_049_H1
            }



            // if (board.EnemyAbility.CurrentHealth <=5
            // && !(board.HasCardOnBoard(Card.Cards.CS2_052))//空气之怒图腾 Wrath of Air Totem  ID:CS2_052
            //  && board.ManaAvailable >= 5
            //     && board.HasCardInHand(Card.Cards.CFM_707)//青玉闪电 Jade Lightning  ID:CFM_707
            //      )
            //  {
            //  p.CastHeroPowerModifier.AddOrUpdate(Card.Cards.CS2_049_H1, new Modifier(-20));//图腾召唤 Totemic Call  ID:CS2_049_H1
            //      }


            //衰变
            if ((board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.FP1_004)) || //如果对面场上有疯狂的科学家
                (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.FP1_022)) ||       //如果对面场上有空灵召唤者
                (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.YOD_024)) ||       //如果对面场上有炸弹牛仔
                (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.DRG_071)) ||       //如果对面场上有厄运信天翁
                (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.BT_197)) ||       //如果对面场上有灵魂之匣
                (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.BT_028)) ||       //如果对面场上有星术师索兰莉安
                (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.BT_019)) ||       //如果对面场上有莫戈尔·莫戈尔格
                (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.BT_309)) ||       //如果对面场上有坎雷萨德·埃伯洛克
                (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.BT_136)) ||       //如果对面场上有孢子首领姆希菲
                (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.BT_210)) ||       //如果对面场上有顶级捕食者兹克索尔
                (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.BT_713)) ||       //如果对面场上有阿卡玛
                (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.BT_109)) ||       //如果对面场上有瓦丝琪女士
                (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.BT_123)) ||       //如果对面场上有卡加斯·刃拳
                (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.LOOT_161)) ||       //如果对面场上有食肉魔块
                (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.ICC_214)) ||       //如果对面场上有黑曜石雕像
                (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.LOOT_368)) ||       //如果对面场上有虚空领主
                (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.DAL_039)) ||       //如果对面场上有无面渗透者
                (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.DAL_558)) ||       //如果对面场上有大法师瓦格斯
                (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.BT_255)) ||       //如果对面场上有凯尔萨斯·逐日者
                (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.BT_126)) ||       //如果对面场上有塔隆·血魔
                (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.BT_304)) ||       //如果对面场上有改进型恐惧魔王
                (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.EX1_016)) ||       //如果对面场上有希尔瓦娜斯·风行者
                (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.ULD_163)) ||       //如果对面场上有过期货物专卖商
                (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.ULD_208)) ||       //如果对面场上有卡塔图防御者
                (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.ULD_177)) ||       //如果对面场上有八爪巨怪
                (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.DAL_357)) ||       //如果对面场上有卢森巴克
                (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.LOOT_306)) ||       //如果对面场上有着魔男仆
                (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.LOOT_314)) ||       //如果对面场上有灰熊守护者
                (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.DRG_304)) ||       //如果对面场上有时空破坏者
                (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.DAL_721)) ||       //如果对面场上有亡者卡特琳娜
                (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.BT_197t)) ||       //如果对面场上有终极魂匣
                (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.DRG_064)) ||       //如果对面场上有祖达克仪祭师 Zul'Drak Ritualist  ID:DRG_064
                (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.OG_024)) ||       //如果对面场上有终投火无面者 Flamewreathed Faceless  ID:OG_024
                (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.BT_201)) ||       //如果对面场上有强能箭猪 Augmented Porcupine  ID:BT_201
                (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.LOE_077))           //如果对面场上有布莱恩·铜须 Brann Bronzebeard  ID:LOE_077


                )
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.CFM_696, new Modifier(-80));    //衰变 Devolve  ID:CFM_696
            }

            //奥秘体系
            ////对面没有奥秘,不下张杰
            if (!board.SecretEnemy &&
                board.HasCardInHand(Card.Cards.GVG_038) ||//连环爆裂 Crackle  ID:GVG_038
                board.EnemyClass == Card.CClass.PALADIN ||    //对方是骑士
                board.EnemyClass == Card.CClass.MAGE ||      //对方是法师
                board.EnemyClass == Card.CClass.ROGUE ||      //对方是贼
                board.EnemyClass == Card.CClass.HUNTER          //对方是猎人
                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.OG_254, new Modifier(200));    //奥秘吞噬者 Eater of Secrets  ID:OG_254
            }
            else
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.OG_254, new Modifier(-999));    //奥秘吞噬者 Eater of Secrets  ID:OG_254
            }



            //费用等于7,手上有连环爆裂和八爪鱼或者有图腾魔像,不用连环爆裂

            if (board.HeroEnemy.CurrentHealth >= 15 && //敌方英雄的健康
                board.ManaAvailable == 7 &&
                board.HasCardInHand(Card.Cards.ULD_177) &&    //八爪巨怪 Octosari  ID:ULD_177
                board.HasCardInHand(Card.Cards.GVG_038) ||    //连环爆裂 Crackle  ID:GVG_038
                board.HasCardInHand(Card.Cards.AT_052) ||    //图腾魔像 Totem Golem  ID:AT_052
                board.HasCardInHand(Card.Cards.AT_053)       //先祖知识 Ancestral Knowledge  ID:AT_053
                )
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.GVG_038, new Modifier(300)); //连环爆裂 Crackle  ID:GVG_038
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.AT_053, new Modifier(300));  //先祖知识 Ancestral Knowledge  ID:AT_053
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.AT_052, new Modifier(300)); //图腾魔像 Totem Golem  ID:AT_052
            }

            //场上有八爪鱼,手牌术小于,4,降低风暴聚合器优先级

            if (board.HasCardOnBoard(Card.Cards.ULD_177) &&//八爪巨怪 Octosari  ID:ULD_177
                board.HasCardInHand(Card.Cards.BOT_245) &&  //风暴聚合器 The Storm Bringer  ID:BOT_245
                board.Hand.Count <= 4
                )
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BOT_245, new Modifier(300));//风暴聚合器 The Storm Bringer  ID:BOT_245
            }
            //牌越少,八爪鱼优先级越高
            //八爪鱼
            {
                int shoupaiCount = board.Hand.Count;
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.ULD_177, new Modifier(80 * (shoupaiCount - 5)));//八爪巨怪 Octosari  ID:ULD_177
            }

            //场上有鸽子,优先把鸽子送了

            if (board.HasCardOnBoard(Card.Cards.DRG_071)//厄运信天翁 Bad Luck Albatross  ID:DRG_071
                )
            {
                p.OnBoardFriendlyMinionsValuesModifiers.AddOrUpdate(Card.Cards.DRG_071, new Modifier(-50));//厄运信天翁 Bad Luck Albatross  ID:DRG_071
            }
            //场上有八爪鱼,手牌小于等于3,优先把八爪鱼送了

            if (board.HasCardOnBoard(Card.Cards.ULD_177) &&//八爪巨怪 Octosari  ID:ULD_177
                board.Hand.Count <= 3
                )
            {
                p.OnBoardFriendlyMinionsValuesModifiers.AddOrUpdate(Card.Cards.ULD_177, new Modifier(-20));//八爪巨怪 Octosari  ID:ULD_177
            }
            //低温静滞优先贴图腾
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.ICC_056, new Modifier(-15, Card.Cards.NEW1_009)); //低温静滞 Cryostasis  ID:ICC_056,治疗图腾 Healing Totem  ID:NEW1_009
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.ICC_056, new Modifier(0, Card.Cards.CS2_050));    //低温静滞 Cryostasis  ID:ICC_056,灼热图腾 Searing Totem  ID:CS2_050
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.ICC_056, new Modifier(-5, Card.Cards.CS2_051));   //低温静滞 Cryostasis  ID:ICC_056,石爪图腾 Stoneclaw Totem  ID:CS2_051
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.ICC_056, new Modifier(-10, Card.Cards.CS2_052));  //低温静滞 Cryostasis  ID:ICC_056,空气之怒图腾 Wrath of Air Totem  ID:CS2_052
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.ICC_056, new Modifier(5, Card.Cards.AT_052));     //低温静滞 Cryostasis  ID:ICC_056,图腾魔像 Totem Golem  ID:AT_052
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.ICC_056, new Modifier(-20, Card.Cards.ULD_276));  //低温静滞 Cryostasis  ID:ICC_056,怪盗图腾 EVIL Totem  ID:ULD_276

            //大地之力优先贴图腾
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.GIL_586, new Modifier(-15, Card.Cards.NEW1_009)); //大地之力 Earthen Might  ID:GIL_586,治疗图腾 Healing Totem  ID:NEW1_009
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.GIL_586, new Modifier(0, Card.Cards.CS2_050));    //大地之力 Earthen Might  ID:GIL_586,灼热图腾 Searing Totem  ID:CS2_050
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.GIL_586, new Modifier(-5, Card.Cards.CS2_051));   //大地之力 Earthen Might  ID:GIL_586,石爪图腾 Stoneclaw Totem  ID:CS2_051
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.GIL_586, new Modifier(-10, Card.Cards.CS2_052));  //大地之力 Earthen Might  ID:GIL_586,空气之怒图腾 Wrath of Air Totem  ID:CS2_052
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.GIL_586, new Modifier(5, Card.Cards.AT_052));     //大地之力 Earthen Might  ID:GIL_586,图腾魔像 Totem Golem  ID:AT_052
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.GIL_586, new Modifier(-20, Card.Cards.ULD_276));  //大地之力 Earthen Might  ID:GIL_586,怪盗图腾 EVIL Totem  ID:ULD_276



            //如果对面血量低于10,提高连环爆裂优先值

            if (board.HeroEnemy.CurrentHealth <= 10 &&
                board.HasCardInHand(Card.Cards.GVG_038)    //连环爆裂 Crackle  ID:GVG_038
                )
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.GVG_038, new Modifier(-60));//连环爆裂 Crackle  ID:GVG_038
            }


            //如果对面是恶魔猎手,且对面有随从,降低一费跳234优先级

            if (board.EnemyClass == Card.CClass.DEMONHUNTER &&
                board.ManaAvailable == 1 &&
                board.HasCardInHand(Card.Cards.AT_052)   //图腾魔像 Totem Golem  ID:AT_052
                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.AT_052, new Modifier(20));//图腾魔像 Totem Golem  ID:AT_052
            }


            //武器优先值
            // p.CastWeaponsModifiers.AddOrUpdate(Card.Cards.DRG_025, new Modifier(-80));//海盗之锚 Ancharrr  ID:DRG_025


            //武器攻击保守性
            //  p.WeaponsAttackModifiers.AddOrUpdate(Card.Cards.OG_058, new Modifier(-20));//锈蚀铁钩 Rusty Hook  ID:OG_058

            //法术

            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.GAME_005, new Modifier(50));                   //幸运币 The Coin  ID:GAME_005
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.LOOT_541t, new Modifier(-200));                //国王的赎金 King's Ransom ID:LOOT_541t
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.AT_053, new Modifier(-5));                     //先祖知识 Ancestral Knowledge  ID:AT_053
                                                                                                        //随从优先值

            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.ICC_701, new Modifier(-200));                 //游荡恶鬼 Skulking Geist  ID:ICC_701
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_230, new Modifier(100));                   //鱼斯拉 The Lurker Below ID:BT_230
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.AT_052, new Modifier(-20));                   //图腾魔像 Totem Golem  ID:AT_052
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DRG_071, new Modifier(-15));                  //厄运信天翁 Bad Luck Albatross  ID:DRG_071
            p.OnBoardFriendlyMinionsValuesModifiers.AddOrUpdate(Card.Cards.ULD_276, new Modifier(150)); //修饰怪盗图腾,数值越高越保守,就是不会拿去交换随从

            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_737, new Modifier(130));                   //玛维·影歌 Maiev Shadowsong  ID:BT_737
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.ULD_173, new Modifier(130));                  //维西纳 Vessina  ID:ULD_173
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_563, new Modifier(20));                   //玛里苟斯 Malygos  ID:EX1_563
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.AT_054, new Modifier(-200));                  //唤雾者伊戈瓦尔 The Mistcaller  ID:AT_054
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.UNG_807, new Modifier(50));                   //葛拉卡爬行蟹 Golakka Crawler  ID:UNG_807
            //送掉怪


            //随从优先解
            //提高战斗邪犬威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_351, new Modifier(200));
            //螃蟹应该解
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BOT_700, new Modifier(200));
            //炸弹牛仔应该解
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOD_024, new Modifier(200));
            //提高相位威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_252, new Modifier(200));
            //提高热气球威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_057, new Modifier(200));
            //提高空中私掠者威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOD_016, new Modifier(200));
            //提高搬水工威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.ULD_270, new Modifier(200));
            //提高凶恶的废钢猎犬威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_759, new Modifier(200));
            //提高神殿狂战士威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.ULD_185, new Modifier(200));
            //大法师瓦格斯
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_558, new Modifier(200));
            //提高厄运信天翁
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_071, new Modifier(200));
            //提高高级跟班厄尔克
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOD_035, new Modifier(200));
            //提高狂奔的魔刃豹
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOD_006, new Modifier(200));
            //提高卡雷苟斯
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_609, new Modifier(200));
            //提高希亚玛特
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.ULD_178, new Modifier(200));
            //提高齐恩瓦拉
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_104, new Modifier(200));
            //提高雏龙
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.EX1_116t, new Modifier(200));
            //提高铸甲师
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.EX1_402, new Modifier(200));
            //提高无面渗透者威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_039, new Modifier(200));
            //提高鲨鱼之灵威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.TRL_092, new Modifier(200));
            //提高灭龙弩炮威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_256, new Modifier(200));
            //提高奇利亚斯威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BOT_548, new Modifier(200));
            //提高流放者奥图里斯威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_937, new Modifier(200));
            //提高暗影珠宝师汉纳尔威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_188, new Modifier(200));
            //提高萨特监工威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_352, new Modifier(200));
            //提高怒鳞纳迦威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_355, new Modifier(200));
            //提高特殊坐骑商人威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_774, new Modifier(200));
            //提高鲨鳍后援威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.TRL_507, new Modifier(200));
            //提高小鬼骑士 Tiny Knight of Evil  ID:AT_021威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.AT_021, new Modifier(200));
            //提高对空奥术法师 Arcane Flakmage  ID:ULD_240威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.ULD_240, new Modifier(200));
            //提高火妖 Flamewaker  ID:BRM_002威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BRM_002, new Modifier(200));
            //提高巫师学徒 Sorcerer's Apprentice  ID:EX1_608威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.EX1_608, new Modifier(200));
            //提高银色神官帕尔崔丝 Confessor Paletress ID:AT_018威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.AT_018, new Modifier(200));

            //提高索瑞森大帝 Emperor Thaurissan  ID:WE1_039威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.WE1_039, new Modifier(200));
            //提高空中炮艇 Skybarge ID:DRG_023威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_023, new Modifier(200));
            //提高邪能领主贝图格 Fel Lord Betrug  ID:DAL_607威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_607, new Modifier(200));
            //提高强能箭猪 Augmented Porcupine  ID:BT_201威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_201, new Modifier(200));



            //降低攻击优先值
            //降低麦迪文的男仆 Medivh's Valet  ID:KAR_092威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.KAR_092, new Modifier(100));
            //降低资深探险者 Licensed Adventurer ID:YOD_030威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.GVG_051, new Modifier(100));
            //降低恩佐斯的副官 威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.OG_312, new Modifier(100));
            //降低疯狂的科学家 Mad Scientist ID:FP1_004 威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.FP1_004, new Modifier(100));
            //降低资深探险者 Licensed Adventurer ID:YOD_030威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOD_030, new Modifier(100));
            //降低空灵召唤者威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.FP1_022, new Modifier(100));
            //降低龙裔小鬼威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_238t12t2, new Modifier(100));
            //降低卡扎库斯 Kazakus  ID:CFM_621威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.CFM_621, new Modifier(100));
            //降低玛克扎尔的小鬼 Malchezaar's Imp  ID:KAR_089威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.KAR_089, new Modifier(100));



            return(p);
        }
示例#8
0
        //具体策略
        public ProfileParameters GetParameters(Board board)
        {
            Card z                  = board.Hand.Find(x => x.Template.Id > 0);
            Card y                  = board.Hand.FindLast(x => x.Template.Id > 0);
            int  OutcastCards       = board.Hand.Count(x => x.CurrentCost > 0 && BoardHelper.IsOutCastCard(x, board) == true);
            int  GuldanOutcastCards = board.Hand.Count(x => x.CurrentCost > 0 && BoardHelper.IsGuldanOutCastCard(x, board) == true);


            Bot.Log("OutcastCards: " + (int)(OutcastCards + GuldanOutcastCards));
            //Bot.Log("玩家信息: " + rank+"/n"+Legend);

            var p = new ProfileParameters(BaseProfile.Rush)
            {
                DiscoverSimulationValueThresholdPercent = -10
            };

            p.CastSpellsModifiers.AddOrUpdate(TheCoin, new Modifier(85));

            //自定义命名
            int a = (board.HeroFriend.CurrentHealth + board.HeroFriend.CurrentArmor) - BoardHelper.GetEnemyHealthAndArmor(board);//敌我血量差

            //攻击模式切换
            if (board.EnemyClass == Card.CClass.DEMONHUNTER ||
                board.EnemyClass == Card.CClass.HUNTER ||
                board.EnemyClass == Card.CClass.ROGUE ||
                board.EnemyClass == Card.CClass.SHAMAN ||
                board.EnemyClass == Card.CClass.PALADIN ||
                board.EnemyClass == Card.CClass.WARRIOR)
            {
                p.GlobalAggroModifier = (int)(a * 0.625 + 96.5);
            }
            else
            {
                p.GlobalAggroModifier = (int)(a * 0.625 + 103.5);
            }
            Bot.Log("攻击性:" + p.GlobalAggroModifier.Value);



            //如果敌人生命小于15
            if (BoardHelper.GetEnemyHealthAndArmor(board) <= 15)
            {
                p = new ProfileParameters(BaseProfile.Face);          //则切换为打脸模式
            }



            //费用大于等于3且耐久值为1,手上有战刃,提高棕红优先值

            if (board.ManaAvailable >= 3 &&
                board.WeaponFriend != null &&
                board.WeaponFriend.Template.Id == Card.Cards.BT_922 &&//棕红之翼
                board.WeaponFriend.CurrentDurability == 1 &&
                board.HasCardInHand(Card.Cards.BT_430))   //埃辛诺斯战刃
            {
                p.GlobalWeaponsAttackModifier = 100;
            }



            //如果费用等于3,手上没有硬币或者手上有双刃斩击,降低任务达人优先级
            if (board.ManaAvailable == 3 &&
                board.HasCardInHand(Card.Cards.EX1_044) && //任务达人
                !board.HasCardInHand(Card.Cards.GAME_005) || //幸运币
                !board.HasCardInHand(Card.Cards.BT_175) ||//双刃斩击
                !board.HasCardInHand(Card.Cards.BT_175t)//二次斩击

                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_044, new Modifier(500));        //任务达人
            }
            //如果费用等于2,降低任务达人优先级
            if (board.ManaAvailable == 2 &&
                board.HasCardInHand(Card.Cards.EX1_044) && //任务达人
                board.HasCardInHand(Card.Cards.GAME_005) //幸运币
                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_044, new Modifier(99999));        //任务达人
            }



            //萨特建工
            if (board.MaxMana == 3 && (!(board.HasCardInHand(Card.Cards.GAME_005))) && (!(board.WeaponFriend != null)) &&
                (!(board.HasCardInHand(Card.Cards.BT_175) || board.HasCardInHand(Card.Cards.BT_175t))))
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_352, new Modifier(200));
            }

            //p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_491, new Modifier(-235));
            //费用等于5,手上有刃缚精锐和双刃斩击,提高双刃和二次斩击斩击优先级
            if (board.ManaAvailable == 5 &&//费用等于5
                board.HasCardInHand(Card.Cards.BT_495) && //刃缚精锐
                board.HasCardInHand(Card.Cards.BT_175) && //双刃斩击
                board.HasCardInHand(Card.Cards.BT_175t)    //二次斩击

                )
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_175, new Modifier(-300));  //双刃斩击
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_175t, new Modifier(-300)); //二次斩击
            }
            //手上有暴怒的邪鳍,使用前提高恶魔之爪的优先值
            if (board.HasCardInHand(Card.Cards.BT_496))                                     //暴怒的邪鳍
            {
                p.CastHeroPowerModifier.AddOrUpdate(Card.Cards.HERO_10p, new Modifier(55)); //恶魔之爪
            }



            if (board.WeaponEnemy != null && board.EnemyClass == Card.CClass.DEMONHUNTER)     //软泥怪解武器
            {
                if (board.WeaponEnemy.Template.Id == Card.Cards.BT_921)                       //奥达奇战刃
                {
                    p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_066, new Modifier(50)); //酸性沼泽软泥怪
                }
                else
                {
                    p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_066, new Modifier(600));//酸性沼泽软泥怪
                }
            }
            if (board.ManaAvailable >= 6 && board.Hand.Count <= 5 &&
                board.HasCardInHand(Card.Cards.BT_601))
            {
                p.CastWeaponsModifiers.AddOrUpdate(Card.Cards.BT_601, new Modifier(50));
            }//如果当前剩余法力水晶大于等于6,手牌数量小于等于5并且手牌中有古尔丹头颅

            //当费用小于等于3,不使用法力燃烧
            if (board.ManaAvailable <= 3)
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_753, new Modifier(600));//法力燃烧
            }
            //当费用大于等于4,提高法力燃烧优先值
            if (board.ManaAvailable >= 4)
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_753, new Modifier(-9999));//法力燃烧
            }
            if (board.ManaAvailable == 2 &&
                board.Hand.Exists(x => x.Template.Id == Card.Cards.EX1_066) &&//酸性沼泽软泥怪
                !board.Hand.Exists(x => x.Template.Id == Card.Cards.GAME_005) &&//幸运币
                board.Hand.Exists(x => x.Template.Cost == 2))
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_066, new Modifier(600));//酸性沼泽软泥怪
            }//2费手里有其他2费随从,不打软泥怪


            if (board.WeaponEnemy != null && board.EnemyClass == Card.CClass.DEMONHUNTER)//恶魔猎手
            {
                if ((board.WeaponEnemy.Template.Id == Card.Cards.BT_921) ||//奥达奇战刃
                    (board.WeaponEnemy.Template.Id == Card.Cards.BT_922) ||//棕红之翼
                    (board.WeaponEnemy.Template.Id == Card.Cards.BT_430)   //埃辛诺斯战刃

                    )
                {
                    p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_066, new Modifier(50));//酸性沼泽软泥怪
                }
                else
                {
                    p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_066, new Modifier(600));//酸性沼泽软泥怪
                }
            }
            else
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_066, new Modifier(50));//酸性沼泽软泥怪
            }

            if (board.WeaponEnemy != null && board.EnemyClass == Card.CClass.WARRIOR)//战士
            {
                if ((board.WeaponEnemy.Template.Id == Card.Cards.BT_781) ||//埃辛诺斯壁垒
                    (board.WeaponEnemy.Template.Id == Card.Cards.DRG_025) ||//海盗之锚
                    (board.WeaponEnemy.Template.Id == Card.Cards.ULD_708) ||//电缆长枪
                    (board.WeaponEnemy.Template.Id == Card.Cards.DAL_063) ||//圣剑扳手
                    (board.WeaponEnemy.Template.Id == Card.Cards.CS2_112) ||//奥金斧
                    (board.WeaponEnemy.Template.Id == Card.Cards.EX1_411)     //血吼


                    )
                {
                    p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_066, new Modifier(50));//酸性沼泽软泥怪
                }
                else
                {
                    p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_066, new Modifier(600));//酸性沼泽软泥怪
                }
            }
            else
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_066, new Modifier(50));//酸性沼泽软泥怪
            }



            if (board.WeaponEnemy != null && board.EnemyClass == Card.CClass.SHAMAN)//萨满
            {
                if ((board.WeaponEnemy.Template.Id == Card.Cards.ULD_413) ||//分裂战斧
                    (board.WeaponEnemy.Template.Id == Card.Cards.YOD_042) ||//莱登之拳
                    (board.WeaponEnemy.Template.Id == Card.Cards.EX1_567) ||//毁灭之锤
                    (board.WeaponEnemy.Template.Id == Card.Cards.BT_102)   //沼泽拳刺

                    )
                {
                    p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_066, new Modifier(50));//酸性沼泽软泥怪
                }
                else
                {
                    p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_066, new Modifier(600));//酸性沼泽软泥怪
                }
            }
            else
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_066, new Modifier(50));//酸性沼泽软泥怪
            }

            if (board.WeaponEnemy != null && board.EnemyClass == Card.CClass.ROGUE)//贼
            {
                if ((board.WeaponEnemy.Template.Id == Card.Cards.ULD_285) ||//钩镰弯刀
                    (board.WeaponEnemy.Template.Id == Card.Cards.DAL_720)   //摇摆矿锄

                    )
                {
                    p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_066, new Modifier(50));//酸性沼泽软泥怪
                }
                else
                {
                    p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_066, new Modifier(600));//酸性沼泽软泥怪
                }
            }
            else
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_066, new Modifier(50));//酸性沼泽软泥怪
            }

            if (board.WeaponEnemy != null && board.EnemyClass == Card.CClass.PRIEST)//牧师
            {
                if ((board.WeaponEnemy.Template.Id == Card.Cards.BT_921) ||//奥达奇战刃
                    (board.WeaponEnemy.Template.Id == Card.Cards.BT_922) ||//棕红之翼
                    (board.WeaponEnemy.Template.Id == Card.Cards.BT_430)   //埃辛诺斯战刃

                    )
                {
                    p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_066, new Modifier(50));//酸性沼泽软泥怪
                }
                else
                {
                    p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_066, new Modifier(600));//酸性沼泽软泥怪
                }
            }
            else
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_066, new Modifier(50));//酸性沼泽软泥怪
            }


            if (board.WeaponEnemy != null && board.EnemyClass == Card.CClass.PALADIN)//骑士
            {
                if ((board.WeaponEnemy.Template.Id == Card.Cards.EX1_366) ||//公正之剑
                    (board.WeaponEnemy.Template.Id == Card.Cards.BT_018) ||//幽光鱼竿
                    (board.WeaponEnemy.Template.Id == Card.Cards.DRG_232t)   //真银圣剑
                    )
                {
                    p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_066, new Modifier(50));//酸性沼泽软泥怪
                }
                else
                {
                    p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_066, new Modifier(600));//酸性沼泽软泥怪
                }
            }
            else
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_066, new Modifier(50));//酸性沼泽软泥怪
            }

            if (board.WeaponEnemy != null && board.EnemyClass == Card.CClass.HUNTER)//猎人
            {
                if ((board.WeaponEnemy.Template.Id == Card.Cards.ULD_430) ||//沙漠之矛
                    (board.WeaponEnemy.Template.Id == Card.Cards.DRG_007) ||//风暴之锤
                    (board.WeaponEnemy.Template.Id == Card.Cards.EX1_536)   //鹰角弓

                    )
                {
                    p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_066, new Modifier(50));//酸性沼泽软泥怪
                }
                else
                {
                    p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_066, new Modifier(600));//酸性沼泽软泥怪
                }
            }
            else
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_066, new Modifier(50));//酸性沼泽软泥怪
            }

            //大于4费时,如果手上有暴怒邪吼者和愤怒的女祭司,提高暴怒的邪吼者和愤怒的女祭司优先级
            if (board.ManaAvailable >= 4 &&
                board.Hand.Exists(x => x.Template.Id == Card.Cards.BT_416) &&//暴怒邪吼者
                (board.Hand.Exists(x => x.Template.Id == Card.Cards.BT_493))   //愤怒的女祭司
                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_416, new Modifier(-300)); //暴怒邪吼者
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_493, new Modifier(-200)); //愤怒的女祭司
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_351, new Modifier(200));  //战斗邪犬
            }
            //如果场上有暴怒的邪吼者 ,提高女祭司优先级
            if (board.ManaAvailable >= 4 &&
                board.MinionFriend.Any(minion => minion.Template.Id == Card.Cards.BT_416) &&//暴怒邪吼者
                (board.Hand.Exists(x => x.Template.Id == Card.Cards.BT_493))  //愤怒的女祭司

                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_493, new Modifier(-200)); //愤怒的女祭司
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_407, new Modifier(200));  //乌祖尔恐魔
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_351, new Modifier(200));  //战斗邪犬2
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_323, new Modifier(200));  //盲眼监视者
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_352, new Modifier(200));  //萨特监工
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.YOD_032, new Modifier(200)); //狂暴邪翼蝠13
            }



//武器优先值
            //棕红之翼
            p.WeaponsAttackModifiers.AddOrUpdate(Cards.Umberwing, new Modifier(200));
//法术优先值
            //恶魔变形
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_429, new Modifier(-35));
            //古尔丹之颅
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_601, new Modifier(-300));
            //幽灵视觉
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_491, new Modifier(-5));

            //混乱打击
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_035, new Modifier(-10));
            //吞噬魔法
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_490, new Modifier(134));
            //吞噬魔法
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_753, new Modifier(-20));
            //随从优先值
            //降低玛维优先级
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_737, new Modifier(100));
            //降低战斗邪犬优先级
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_351, new Modifier(20));
            //任务达人
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_044, new Modifier(-40));
            //盲眼监视者
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_323, new Modifier(-30));
            //愤怒的女祭司
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_493, new Modifier(-99));

            //降低玛维吃自己怪
            // p.CastMinionsModifiers.AddOrUpdate(Card.Cards.LOOT_161, new Modifier(300, Card.Cards.FP1_022));//降低魔块吃空灵
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_737, new Modifier(300, Card.Cards.BT_407));  //降低玛维吃乌祖尔恐魔
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_737, new Modifier(300, Card.Cards.BT_351));  //降低玛维吃战斗邪犬2
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_737, new Modifier(300, Card.Cards.BT_937));  //降低玛维吃流放者奥图里斯9
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_737, new Modifier(300, Card.Cards.BT_352));  //降低玛维吃萨特监工11
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_737, new Modifier(300, Card.Cards.BT_814));  //降低玛维吃伊利达雷邪刃武士
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_737, new Modifier(300, Card.Cards.BT_493));  //降低玛维吃愤怒的女祭司
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_737, new Modifier(300, Card.Cards.BT_187));  //降低玛维吃凯恩·日怒 12
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_737, new Modifier(300, Card.Cards.YOD_032)); //降低玛维吃狂暴邪翼蝠13
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_737, new Modifier(300, Card.Cards.BT_416));  //降低玛维吃暴怒邪吼者


//随从优先解
            //提高战斗邪犬威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_351, new Modifier(200));
            //螃蟹应该解
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BOT_700, new Modifier(200));
            //炸弹牛仔应该解
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOD_024, new Modifier(200));
            //提高相位威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_252, new Modifier(200));
            //提高热气球威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_057, new Modifier(200));
            //提高空中私掠者威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOD_016, new Modifier(200));
            //提高搬水工威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.ULD_270, new Modifier(200));
            //提高凶恶的废钢猎犬威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_759, new Modifier(200));
            //提高神殿狂战士威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.ULD_185, new Modifier(200));
            //大法师瓦格斯
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_558, new Modifier(200));
            //提高厄运信天翁
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_071, new Modifier(200));
            //提高高级跟班厄尔克
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOD_035, new Modifier(200));
            //提高狂奔的魔刃豹
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOD_006, new Modifier(200));
            //提高卡雷苟斯
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_609, new Modifier(200));
            //提高希亚玛特
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.ULD_178, new Modifier(200));
            //提高齐恩瓦拉
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_104, new Modifier(200));
            //提高机械袋鼠
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BOT_445, new Modifier(200));
            //提高机械袋鼠宝宝
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BOT_445t, new Modifier(300));
            //提高雏龙
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.EX1_116t, new Modifier(200));
            //提高铸甲师
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.EX1_402, new Modifier(200));
            //提高无面渗透者威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_039, new Modifier(200));
            //提高鲨鱼之灵威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.TRL_092, new Modifier(200));
            //提高灭龙弩炮威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_256, new Modifier(200));
            //提高飞刺威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_037, new Modifier(200));
            //提高奇利亚斯威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BOT_548, new Modifier(200));
            //提高流放者奥图里斯威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_937, new Modifier(200));
            //提高暗影珠宝师汉纳尔威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_188, new Modifier(200));
            //提高萨特监工威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_352, new Modifier(200));
            //提高怒鳞纳迦威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_355, new Modifier(200));
            //提高特殊坐骑商人威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_774, new Modifier(200));
            //降低龙裔小鬼威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_238t12t2, new Modifier(-20));



            return(p);
        }
示例#9
0
        //具体策略
        public ProfileParameters GetParameters(Board board)
        {
            Card z                  = board.Hand.Find(x => x.Template.Id > 0);
            Card y                  = board.Hand.FindLast(x => x.Template.Id > 0);
            int  OutcastCards       = board.Hand.Count(x => x.CurrentCost > 0 && BoardHelper.IsOutCastCard(x, board) == true);
            int  GuldanOutcastCards = board.Hand.Count(x => x.CurrentCost > 0 && BoardHelper.IsGuldanOutCastCard(x, board) == true);


            Bot.Log("OutcastCards: " + (int)(OutcastCards + GuldanOutcastCards));
            //Bot.Log("玩家信息: " + rank+"/n"+Legend);

            var p = new ProfileParameters(BaseProfile.Rush)
            {
                DiscoverSimulationValueThresholdPercent = -10
            };

            p.CastSpellsModifiers.AddOrUpdate(TheCoin, new Modifier(85));

            //自定义命名
            int a = (board.HeroFriend.CurrentHealth + board.HeroFriend.CurrentArmor) - BoardHelper.GetEnemyHealthAndArmor(board);//敌我血量差

            //攻击模式切换
            if (board.EnemyClass == Card.CClass.DEMONHUNTER ||
                board.EnemyClass == Card.CClass.HUNTER ||
                board.EnemyClass == Card.CClass.ROGUE ||
                board.EnemyClass == Card.CClass.SHAMAN ||
                board.EnemyClass == Card.CClass.PALADIN ||
                board.EnemyClass == Card.CClass.WARRIOR)
            {
                p.GlobalAggroModifier = (int)(a * 0.625 + 96.5);
            }
            else
            {
                p.GlobalAggroModifier = (int)(a * 0.625 + 103.5);
            }
            Bot.Log("攻击性:" + p.GlobalAggroModifier.Value);



            //如果敌人生命小于15
            if (BoardHelper.GetEnemyHealthAndArmor(board) <= 19)
            {
                p = new ProfileParameters(BaseProfile.Face);          //则切换为打脸模式
            }

            //场上有特殊坐骑商人,提高法术优先级

            if (board.HasCardOnBoard(Card.Cards.DAL_774)//特殊坐骑商人
                )
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_154, new Modifier(-399));           //愤怒
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.FB_Champs_EX1_169, new Modifier(-399)); //激活
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.DAL_350, new Modifier(-399));           //水晶之力
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_132, new Modifier(-399));            //铁木树皮
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_134, new Modifier(-399));            //沼泽射线
            }



//武器优先值

//法术优先值

//随从优先值

            //特殊坐骑商人
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DAL_774, new Modifier(-200));
            //玛里苟斯
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_563, new Modifier(-150));
            //觉醒巨龙伊瑟拉
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DRG_320, new Modifier(-100));



            //随从优先解
            //提高战斗邪犬威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_351, new Modifier(200));
            //螃蟹应该解
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BOT_700, new Modifier(200));
            //炸弹牛仔应该解
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOD_024, new Modifier(200));
            //提高相位威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_252, new Modifier(200));
            //提高热气球威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_057, new Modifier(200));
            //提高空中私掠者威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOD_016, new Modifier(200));
            //提高搬水工威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.ULD_270, new Modifier(200));
            //提高凶恶的废钢猎犬威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_759, new Modifier(200));
            //提高神殿狂战士威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.ULD_185, new Modifier(200));
            //大法师瓦格斯
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_558, new Modifier(200));
            //提高厄运信天翁
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_071, new Modifier(200));
            //提高高级跟班厄尔克
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOD_035, new Modifier(200));
            //提高狂奔的魔刃豹
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOD_006, new Modifier(200));
            //提高卡雷苟斯
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_609, new Modifier(200));
            //提高希亚玛特
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.ULD_178, new Modifier(200));
            //提高齐恩瓦拉
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_104, new Modifier(200));
            //提高机械袋鼠
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BOT_445, new Modifier(200));
            //提高机械袋鼠宝宝
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BOT_445t, new Modifier(300));
            //提高雏龙
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.EX1_116t, new Modifier(200));
            //提高铸甲师
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.EX1_402, new Modifier(200));
            //提高无面渗透者威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_039, new Modifier(200));
            //提高鲨鱼之灵威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.TRL_092, new Modifier(200));
            //提高灭龙弩炮威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_256, new Modifier(200));
            //提高飞刺威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_037, new Modifier(200));
            //提高奇利亚斯威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BOT_548, new Modifier(200));
            //提高流放者奥图里斯威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_937, new Modifier(200));
            //提高暗影珠宝师汉纳尔威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_188, new Modifier(9999));
            //提高萨特监工威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_352, new Modifier(200));
            //提高怒鳞纳迦威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_355, new Modifier(200));
            //提高特殊坐骑商人威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_774, new Modifier(200));
            //降低龙裔小鬼威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_238t12t2, new Modifier(-20));



            return(p);
        }