public ProfileParameters GetParameters(Board board)
        {
            var p = new ProfileParameters(BaseProfile.Rush)
            {
                DiscoverSimulationValueThresholdPercent = -10
            };
            //Bot.Log("玩家信息: " + rank+"/n"+Legend);
            int a = (board.HeroFriend.CurrentHealth + board.HeroFriend.CurrentArmor) - BoardHelper.GetEnemyHealthAndArmor(board);

            //攻击模式切换
            if (board.HeroFriend.CurrentHealth >= 15)
            {
                if (board.EnemyClass == Card.CClass.SHAMAN ||
                    board.EnemyClass == Card.CClass.PALADIN ||
                    board.EnemyClass == Card.CClass.WARRIOR ||
                    board.EnemyClass == Card.CClass.MAGE ||
                    board.EnemyClass == Card.CClass.ROGUE
                    )
                {
                    p.GlobalAggroModifier = (int)(a * 0.625 + 96.5);
                    Bot.Log("攻击值" + (a * 0.625 + 96.5));
                }
                else
                {
                    p.GlobalAggroModifier = (int)(a * 0.625 + 113.5);
                    Bot.Log("攻击值" + (a * 0.625 + 103.5));
                }
            }

            {
                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;
                }
                //定义场攻  用法 myAttack <= 5 自己场攻大于小于5  enemyAttack  <= 5 对面场攻大于小于5  已计算武器伤害

                int myMinionHealth    = 0;
                int enemyMinionHealth = 0;

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

                if (board.MinionEnemy != null)
                {
                    for (int x = 0; x < board.MinionEnemy.Count; x++)
                    {
                        enemyMinionHealth += board.MinionEnemy[x].CurrentHealth;
                    }
                }
                // 友方随从数量
                int friendCount = board.MinionFriend.Count;


                #endregion

                #region 武器优先级
                // p.WeaponsAttackModifiers.AddOrUpdate(Card.Cards.SW_025, new Modifier(-50));//拍卖行木槌 Auctionhouse Gavel     SW_025
                #endregion

                #region  随从优先级
                // p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DMF_062, new Modifier(-20)); //提高旋岩虫 Gyreworm     DMF_062 优先级

                #endregion

                #region 法术优先级
                // p.CastSpellsModifiers.AddOrUpdate(Card.Cards.GAME_005, new Modifier(55));
                #endregion

                #region  送怪的逻辑
                // p.OnBoardFriendlyMinionsValuesModifiers.AddOrUpdate(Card.Cards.SW_080, new Modifier(250));// 考内留斯·罗姆 Cornelius Roame     SW_080

                #endregion

                #region 增加随从威胁值
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DMF_709, new Modifier(200)); // 增加巨型图腾埃索尔 Grand Totem Eys'or     DMF_709 的攻击优先值
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.SW_419, new Modifier(200));  // 增加艾露恩神谕者      SW_419 的攻击优先值
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.SW_319, new Modifier(200));  // 增加农夫 的攻击优先值
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.WC_006, new Modifier(200));
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.SW_033, new Modifier(200));  //运河慢步者 Canal Slogger     SW_033
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.CS3_007, new Modifier(200)); //电击学徒 Novice Zapper     CS3_007
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_074, new Modifier(200)); //前沿哨所      BAR_074
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_918, new Modifier(200)); //塔姆辛·罗姆 Tamsin Roame     BAR_918
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DMF_230, new Modifier(200)); //伊格诺斯 Il'gynoth     DMF_230
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_733, new Modifier(200));  //莫尔葛工匠 Mo'arg Artificer     BT_733
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DMF_734, new Modifier(200)); //格雷布     DMF_734
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOP_035, new Modifier(200)); //月牙 Moon方    YOP_035
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.GVG_040, new Modifier(200)); //沙鳞灵魂行者 Siltfin Spiritwalker ID:GVG_040
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_304, new Modifier(200));  //改进型恐惧魔王 Enhanced Dreadlord ID:BT_304
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.SW_068, new Modifier(200));  //莫尔葛熔魔 Mo'arg Forgefiend ID:SW_068
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_860, new Modifier(200)); //火焰术士弗洛格尔 Firemancer Flurgl ID:BAR_860
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.SW_063, new Modifier(200));  //战场军官 Battleground Battlemaster ID:SW_063
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.SW_030, new Modifier(200));  // 货物保镖 SW_030

                #endregion

                #region 魔钢处决者 DMF_248
                if (board.HasCardInHand(Card.Cards.DMF_248)
                    )
                {
                    p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DMF_248, new Modifier(150));
                    Bot.Log("魔钢处决者 150");
                }
                #endregion

                #region 前沿哨所 BAR_074
                if (board.HasCardInHand(Card.Cards.BAR_074)
                    )
                {
                    p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BAR_074, new Modifier(-88));
                    Bot.Log("前沿哨所 -88");
                }
                #endregion

                #region 剃刀野猪 BAR_325
                if (board.HasCardInHand(Card.Cards.BAR_325)
                    )
                {
                    p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BAR_325, new Modifier(-999));
                    Bot.Log("剃刀野猪 -999");
                }
                #endregion

                #region 剃刀沼泽兽王 BAR_326
                if (board.HasCardInHand(Card.Cards.BAR_326)
                    )
                {
                    p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BAR_326, new Modifier(-999));
                    Bot.Log("剃刀沼泽兽王 -999");
                }
                #endregion

                #region 亡语者布莱克松 BAR_329
                if (board.HasCardInHand(Card.Cards.BAR_329)
                    )
                {
                    p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BAR_329, new Modifier(-99));
                    Bot.Log("亡语者布莱克松 -99");
                }
                #endregion

                #region 异教低阶牧师 SCH_713
                if (board.HasCardInHand(Card.Cards.SCH_713)
                    )
                {
                    p.CastMinionsModifiers.AddOrUpdate(Card.Cards.SCH_713, new Modifier(130));
                    Bot.Log("异教低阶牧师 130");
                }
                #endregion

                #region 凯恩·日怒 BT_187
                if (board.HasCardInHand(Card.Cards.BT_187)
                    )
                {
                    p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_187, new Modifier(150));
                    Bot.Log("凯恩·日怒 150");
                }
                #endregion



                #region 攻击优先 卡牌威胁(通用)  更新到贫瘠之地


                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.ULD_231))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.ULD_231, new Modifier(200));
                }//连环腿大师 Whirlkick Master ULD_231

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.DMF_237))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DMF_237, new Modifier(200));
                }//狂欢报幕员 Carnival Barker DMF_237

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.DMF_217))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DMF_217, new Modifier(200));
                }//越线的游客 Line Hopper DMF_217

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.DMF_120))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DMF_120, new Modifier(200));
                }//纳兹曼尼织血者 Nazmani Bloodweaver DMF_120

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.DMF_707))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DMF_707, new Modifier(200));
                }//鱼人魔术师 Magicfin DMF_707

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.DMF_709))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DMF_709, new Modifier(200));
                }//巨型图腾埃索尔 Grand Totem Eys'or DMF_709

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.DMF_082))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DMF_082, new Modifier(200));
                }//暗月雕像 Darkmoon Statue DMF_082

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.DMF_082t))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DMF_082t, new Modifier(200));
                }//暗月雕像 Darkmoon Statue     DMF_082t

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.DMF_708))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DMF_708, new Modifier(200));
                }//伊纳拉·碎雷 Inara Stormcrash DMF_708

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.DMF_102))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DMF_102, new Modifier(200));
                }//游戏管理员 Game Master DMF_102

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.DMF_222))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DMF_222, new Modifier(200));
                }//获救的流民 Redeemed Pariah DMF_222

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.ULD_003))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.ULD_003, new Modifier(200));
                }//了不起的杰弗里斯 Zephrys the Great ULD_003

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.GVG_104))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.GVG_104, new Modifier(200));
                }//大胖 Hobgoblin GVG_104

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.UNG_900))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.UNG_900, new Modifier(250));
                }//如果对面场上有灵魂歌者安布拉,提高攻击优先度


                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.ULD_240))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.ULD_240, new Modifier(250));
                }//如果对面场上有对空奥术法师 Arcane Flakmage     ULD_240,提高攻击优先度


                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.FP1_022 && minion.IsTaunt == false))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.FP1_022, new Modifier(50));
                }//如果对面场上有空灵,降低攻击优先度

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.FP1_004))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.FP1_004, new Modifier(50));
                }//如果对面场上有疯狂的科学家,降低攻击优先度


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


                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.CFM_020))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.CFM_020, new Modifier(0));
                }//如果对面场上有缚链者拉兹 Raza the Chained CFM_020,降低攻击优先度


                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.EX1_608))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.EX1_608, new Modifier(250));
                }//如果对面场上有巫师学徒 Sorcerer's Apprentice     X1_608,提高攻击优先度

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.VAN_EX1_608))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.VAN_EX1_608, new Modifier(250));
                }//如果对面场上有巫师学徒 Sorcerer's Apprentice     VAN_EX1_608,提高攻击优先度

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.BOT_447))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BOT_447, new Modifier(-10));
                }//如果对面场上有晶化师,降低攻击优先度

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.SCH_600t3))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.SCH_600t3, new Modifier(250));
                }//如果对面场上有加攻击的恶魔伙伴,提高攻击优先度

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.DRG_320))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_320, new Modifier(0));
                }//如果对面场上有新伊瑟拉,降低攻击优先度

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.CS2_237))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.CS2_237, new Modifier(300));
                }//如果对面场上有饥饿的秃鹫 Starving Buzzard CS2_237,提高攻击优先度

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.VAN_CS2_237))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.VAN_CS2_237, new Modifier(300));
                }//如果对面场上有饥饿的秃鹫 Starving Buzzard VAN_CS2_237,提高攻击优先度



                //核心系列和贫瘠之地

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.YOP_031))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOP_031, new Modifier(250));
                }//如果对面场上有螃蟹骑士 Crabrider     YOP_031,提高攻击优先度

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

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.BAR_033))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_033, new Modifier(210));
                }//如果对面场上有勘探者车队 Prospector's Caravan BAR_033,提高攻击优先度

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.BAR_035))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_035, new Modifier(200));
                }//如果对面场上有科卡尔驯犬者 Kolkar Pack Runner BAR_035,提高攻击优先度

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.BAR_871))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_871, new Modifier(250));
                }//如果对面场上有士兵车队 Soldier's Caravan BAR_871 ,提高攻击优先度

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.BAR_312))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_312, new Modifier(200));
                }//如果对面场上有占卜者车队 Soothsayer's Caravan BAR_312,提高攻击优先度

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.BAR_043))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_043, new Modifier(250));
                }//如果对面场上有鱼人宝宝车队 Tinyfin's Caravan BAR_043 ,提高攻击优先度

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.BAR_860))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_860, new Modifier(250));
                }//如果对面场上有火焰术士弗洛格尔 Firemancer Flurgl BAR_860 ,提高攻击优先度

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.BAR_063))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_063, new Modifier(250));
                }//如果对面场上有甜水鱼人斥候 Lushwater Scout BAR_063,提高攻击优先度

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

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.BAR_720))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_720, new Modifier(230));
                }//如果对面场上有古夫·符文图腾 Guff Runetotem BAR_720 ,提高攻击优先度

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.BAR_038))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_038, new Modifier(200));
                }//如果对面场上有塔维什·雷矛 Tavish Stormpike BAR_038 ,提高攻击优先度

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.BAR_545))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_545, new Modifier(200));
                }//如果对面场上有奥术发光体 Arcane Luminary BAR_545,提高攻击优先度

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.BAR_888))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_888, new Modifier(200));
                }//如果对面场上有霜舌半人马 Rimetongue BAR_888  ,提高攻击优先度

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.BAR_317))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_317, new Modifier(200));
                }//如果对面场上有原野联络人 Field Contact BAR_317,提高攻击优先度

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.BAR_918))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_918, new Modifier(250));
                }//如果对面场上有塔姆辛·罗姆 Tamsin Roame BAR_918,提高攻击优先度

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.BAR_076))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_076, new Modifier(200));
                }//如果对面场上有莫尔杉哨所 Mor'shan Watch Post BAR_076  ,提高攻击优先度

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.BAR_890))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_890, new Modifier(200));
                }//如果对面场上有十字路口大嘴巴 Crossroads Gossiper BAR_890 ,提高攻击优先度

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.BAR_082))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_082, new Modifier(200));
                }//如果对面场上有贫瘠之地诱捕者 Barrens Trapper BAR_082,提高攻击优先度

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.BAR_540))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_540, new Modifier(200));
                }//如果对面场上有腐烂的普雷莫尔 Plaguemaw the Rotting BAR_540 ,提高攻击优先度

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.BAR_878))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_878, new Modifier(200));
                }//如果对面场上有战地医师老兵 Veteran Warmedic BAR_878,提高攻击优先度

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.BAR_048))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_048, new Modifier(200));
                }//如果对面场上有布鲁坎 Bru'kan BAR_048,提高攻击优先度

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.BAR_075))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_075, new Modifier(200));
                }//如果对面场上有十字路口哨所  BAR_075,提高攻击优先度

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.BAR_744))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_744, new Modifier(200));
                }//如果对面场上有灵魂医者 Spirit Healer BAR_744 ,提高攻击优先度

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

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.CS3_019))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.CS3_019, new Modifier(200));
                }//如果对面场上有考瓦斯·血棘 Kor'vas Bloodthorn     CS3_019 ,提高攻击优先度

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.CORE_FP1_031))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.CORE_FP1_031, new Modifier(200));
                }//如果对面场上有瑞文戴尔男爵 Baron Rivendare     CORE_FP1_031 ,提高攻击优先度

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.CS3_032))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.CS3_032, new Modifier(200));
                }//如果对面场上有龙巢之母奥妮克希亚 Onyxia the Broodmother     CS3_032 ,提高攻击优先度

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.SCH_317))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.SCH_317, new Modifier(200));
                }//如果对面场上有团伙核心 Playmaker     SCH_317 ,提高攻击优先度

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


                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.CS3_025))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.CS3_025, new Modifier(200));
                }//如果对面场上有伦萨克大王 Overlord Runthak     CS3_025 ,提高攻击优先度


                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.YOP_021))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOP_021, new Modifier(200));
                }//如果对面场上有被禁锢的凤凰 Imprisoned Phoenix     YOP_021  ,提高攻击优先度


                //    if ((board.HeroEnemy.CurrentHealth + board.HeroEnemy.CurrentArmor)>= 20
                //      && board.MinionEnemy.Count(x=>x.IsLifeSteal==true && x.Template.Id==Card.Cards.CS3_031)>=1
                //    )
                //    {
                //        p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.CS3_031, new Modifier(200));
                //    }//如果对面场上有生命的缚誓者阿莱克丝塔萨 Alexstrasza the Life-Binder     CS3_031 有吸血属性,提高攻击优先度
                //    else
                //    {
                //        p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.CS3_031, new Modifier(0));
                //    }//如果对面场上有生命的缚誓者阿莱克丝塔萨 Alexstrasza the Life-Binder     CS3_031 没吸血属性,降低攻击优先度



                if ((board.HeroEnemy.CurrentHealth + board.HeroEnemy.CurrentArmor) >= 20 &&
                    board.MinionEnemy.Count(x => x.IsLifeSteal == true && x.Template.Id == Card.Cards.CS3_033) >= 1
                    )
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.CS3_033, new Modifier(200));
                }//如果对面场上有沉睡者伊瑟拉 Ysera the Dreamer     CS3_033 有吸血属性,提高攻击优先度
                else
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.CS3_033, new Modifier(0));
                }//如果对面场上有沉睡者伊瑟拉 Ysera the Dreamer     CS3_033 没吸血属性,降低攻击优先度


                if ((board.HeroEnemy.CurrentHealth + board.HeroEnemy.CurrentArmor) >= 20 &&
                    board.MinionEnemy.Count(x => x.IsLifeSteal == true && x.Template.Id == Card.Cards.CS3_034) >= 1
                    )
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.CS3_034, new Modifier(200));
                }//如果对面场上有织法者玛里苟斯 Malygos the Spellweaver     CS3_034 有吸血属性,提高攻击优先度
                else
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.CS3_034, new Modifier(0));
                }//如果对面场上有织法者玛里苟斯 Malygos the Spellweaver     CS3_034 没吸血属性,降低攻击优先度


                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.CORE_EX1_110))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.CORE_EX1_110, new Modifier(0));
                }//如果对面场上有凯恩·血蹄 Cairne Bloodhoof     CORE_EX1_110 ,降低攻击优先度


                //对面如果是盗贼 巴罗夫拉出来的怪威胁值优先(主要防止战吼怪被回手重新使用)
                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.BAR_072))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_072, new Modifier(0));
                }//如果对面场上有火刃侍僧 Burning Blade Acolyte     BAR_072 ,降低攻击优先度

                if (board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.SCH_351))
                {
                    p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.SCH_351, new Modifier(200));
                }//如果对面场上有詹迪斯·巴罗夫 Jandice Barov     SCH_351 ,提高攻击优先度


                #endregion

//德:DRUID 猎:HUNTER 法:MAGE 骑:PALADIN 牧:PRIEST 贼:ROGUE 萨:SHAMAN 术:WARLOCK 战:WARRIOR 瞎:DEMONHUNTER
                return(p);
            }
        }
Ejemplo n.º 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  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);
        }
Ejemplo n.º 3
0
        //version 1.2 (2021-09-17)


        //攻击模式



        public ProfileParameters GetParameters(Board board)
        {
            //用BaseProfile函数调用加载云端的Rush策略
            var p = new ProfileParameters(BaseProfile.Rush);

            p.DiscoverSimulationValueThresholdPercent = 10;

            //贫瘠之地默认优先级-BAR

            //贫瘠之地铁匠 Barrens Blacksmith ID:BAR_073
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_073, new Modifier(200));
            //十字路口哨所 Crossroads Watch Post ID:BAR_075
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_075, new Modifier(200));
            //布鲁坎 Bru'kan ID:BAR_048
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_048, new Modifier(200));
            //凯瑞尔·罗姆 Cariel Roame ID:BAR_902
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_902, new Modifier(200));
            //战地医师老兵 Veteran Warmedic ID:BAR_878
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_878, new Modifier(200));
            //腐烂的普雷莫尔 Plaguemaw the Rotting ID:BAR_540
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_540, new Modifier(200));
            //钢鬃卫兵 Razormane Battleguard ID:BAR_537
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_537, new Modifier(200));
            //勘探者车队 Prospector's Caravan ID:BAR_033
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_033, new Modifier(200));
            //科卡尔驯犬者 Kolkar Pack Runner ID:BAR_035
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_035, new Modifier(200));
            //士兵车队 Soldier's Caravan ID:BAR_871
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_871, new Modifier(200));
            //占卜者车队 Soothsayer's Caravan ID:BAR_312
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_312, new Modifier(200));
            //高效八爪机器人 Efficient Octo-bot ID:BAR_320
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_320, new Modifier(200));
            //鱼人宝宝车队 Tinyfin's Caravan ID:BAR_043
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_043, new Modifier(200));
            //火焰术士弗洛格尔 Firemancer Flurgl ID:BAR_860
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_860, new Modifier(200));
            //剂师车队 Apothecary's Caravan ID:BAR_912
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_912, new Modifier(200));
            //甜水鱼人斥候 Lushwater Scout ID:BAR_063
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_063, new Modifier(200));
            //前沿哨所 Far Watch Post ID:BAR_074
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_074, new Modifier(200));
            //古夫·符文图腾 Guff Runetotem ID:BAR_720
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_720, new Modifier(200));
            //塔维什·雷矛 Tavish Stormpike ID:BAR_038
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_038, new Modifier(200));
            //奥术发光体 Arcane Luminary ID:BAR_545
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_545, new Modifier(200));
            //霜舌半人马 Rimetongue ID:BAR_888
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_888, new Modifier(200));
            //原野联络人 Field Contact ID:BAR_317
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_317, new Modifier(200));
            //莫尔杉哨所 Mor'shan Watch Post ID:BAR_076
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_076, new Modifier(200));
            //十字路口大嘴巴 Crossroads Gossiper ID:BAR_890
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_890, new Modifier(200));
            //贫瘠之地诱捕者 Barrens Trapper ID:BAR_082
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_082, new Modifier(200));

            //自定义命名
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.GAME_005, new Modifier(50));                                             //幸运币 The Coin  ID:GAME_005
            int a = (board.HeroFriend.CurrentHealth + board.HeroFriend.CurrentArmor) - BoardHelper.GetEnemyHealthAndArmor(board); //敌我血量差



            //随从优先解

            //核心
            //提高雏龙(暂定)
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.EX1_116t, new Modifier(200));
            //提高铸甲师 Armorsmith ID:CORE_EX1_402
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.CORE_EX1_402, new Modifier(200));
            //加基森拍卖师 Gadgetzan Auctioneer ID:CORE_EX1_095
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.CORE_EX1_095, new Modifier(200));

            //外域的灰烬-BT
            //灵魂之匣 Reliquary of Souls ID:BT_197
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_197, new Modifier(200));
            //星术师索兰莉安 Astromancer Solarian ID:BT_028
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_028, new Modifier(200));
            //莫戈尔·莫戈尔格 Murgur Murgurgle ID:BT_019
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_019, new Modifier(200));
            //坎雷萨德·埃伯洛克 Kanrethad Ebonlocke ID:BT_309
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_309, new Modifier(200));
            //孢子首领姆希菲 Archspore Msshi'fn ID:BT_136
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_136, new Modifier(200));
            //莫顶级捕食者兹克索尔 Zixor, Apex Predator ID:BT_210
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_210, new Modifier(200));
            //阿卡玛 Akama ID:BT_713
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_713, new Modifier(200));
            //瓦丝琪女士 Lady Vashj ID:BT_109
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_109, new Modifier(200));
            //卡加斯·刃拳 Kargath Bladefist ID:BT_123
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_123, new Modifier(200));
            //终极卡加斯 Kargath Prime ID:BT_123t
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_123t, new Modifier(200));
            //提高战斗邪犬威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_351, 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));
            //强能箭猪 Augmented Porcupine  ID:BT_201
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_201, new Modifier(200));
            //提高黑眼
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_307, new Modifier(200));
            //提高废料场巨像 Scrapyard Colossus  ID:BT_155
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_155, new Modifier(200));
            //改进型恐惧魔王 Enhanced Dreadlord  ID:BT_304
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_304, new Modifier(200));
            //塞泰克织巢者 Sethekk Veilweaver ID:BT_254
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_254, new Modifier(200));

            //通灵学院-SCH
            //决斗大师莫扎奇 Mozaki, Master Duelist ID:SCH_400
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.SCH_400, new Modifier(200));
            //狐人淬毒师 Vulpera Toxinblade  ID:SCH_519
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.SCH_519, new Modifier(200));
            //贪婪的书虫 Voracious Reader ID:SCH_142
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.SCH_142, new Modifier(200));

            //暗月马戏团-DMF
            //伊格诺斯 Il'gynoth ID:DMF_230
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DMF_230, new Modifier(200));
            //纳兹曼尼织血者 Nazmani Bloodweaver ID:DMF_120
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DMF_120, new Modifier(200));

            //暗月竞速赛-YOP
            //死亡守望者 Deathwarden ID:YOP_012
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOP_012, new Modifier(200));
            //铁锈特使拉斯维克斯 Envoy Rustwix ID:YOP_004
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOP_004, new Modifier(200));



            //贫瘠之地的锤炼-BAR
            //塔姆辛·罗姆 Tamsin Roame ID:BAR_918
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_918, new Modifier(200));
            //火焰术士弗洛格尔 Firemancer Flurgl ID:BAR_860
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_860, new Modifier(200));
            //古夫·符文图腾 Guff Runetotem ID:BAR_720
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_720, new Modifier(200));
            //塔维什·雷矛 Tavish Stormpike ID:BAR_038
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_038, new Modifier(200));
            //洛卡拉 Rokara ID:BAR_847
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_847, new Modifier(200));
            //腐烂的普雷莫尔 Plaguemaw the Rotting ID:BAR_540
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_540, new Modifier(200));
            //凯瑞尔·罗姆 Cariel Roame ID:BAR_902
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_902, new Modifier(200));

            //针对职业

            //如果对面是贼,需要提高魔杖窃贼的威胁值
            if (board.EnemyClass == Card.CClass.ROGUE &&
                board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.SCH_350)
                )
            {
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.SCH_350, new Modifier(199));                //魔杖窃贼 Wand Thief ID:SCH_350
                //Bot.Log("对面是潜行者要优先解掉魔杖窃贼");
            }

            //如果对面是贼,需要提高狐人老千的威胁值
            if (board.EnemyClass == Card.CClass.ROGUE &&
                board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.DMF_511)
                )
            {
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DMF_511, new Modifier(199));                //狐人老千 Foxy Fraud ID:DMF_511
                //Bot.Log("对面是潜行者要优先解掉狐人老千");
            }

            //如果对面是萨满,需要提高沙漠野兔的威胁值
            if (board.EnemyClass == Card.CClass.SHAMAN &&
                board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.DMF_703) ||
                board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.DMF_703t) ||
                board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.DMF_706t)
                )
            {
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DMF_703, new Modifier(200));                //死斗场管理者 Pit Master ID:DMF_703
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DMF_703t, new Modifier(200));               //死斗场管理者(已腐蚀) Pit Master ID:DMF_703t
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DMF_706t, new Modifier(200));               //大帐决斗者 Pavilion Duelist ID:DMF_706t
                //Bot.Log("对面是萨满要优先解掉野兔、死斗场决斗者");
            }

            //如果对面是萨满,需要优先解掉大眼睛
            if (board.EnemyClass == Card.CClass.SHAMAN &&
                board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.DMF_709)
                )
            {
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DMF_709, new Modifier(200));                //巨型图腾埃索尔 Grand Totem Eys'or ID:DMF_709
                //Bot.Log("对面是萨满优先解掉大眼睛");
            }

            //如果对面是瞎子提高血法师威胁值
            if (board.EnemyClass == Card.CClass.DEMONHUNTER &&
                board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.CORE_EX1_012)
                )
            {
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.CORE_EX1_012, new Modifier(199));                //血法师萨尔诺斯 Bloodmage Thalnos ID:CORE_EX1_012
                //Bot.Log("对面是瞎子提高血法师威胁值");
            }

            //如果对面是法师提高法强随从威胁值
            if (board.EnemyClass == Card.CClass.MAGE)
            {
                //p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.SCH_245, new Modifier(200));//卷轴管理者 Steward of Scrolls ID:SCH_245
                //p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_028, new Modifier(200));//星术师索兰莉安 Astromancer Solarian ID:BT_028
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.SCH_273, new Modifier(200));                //莱斯·霜语 Ras Frostwhisper ID:SCH_273
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOP_021, new Modifier(200));                //被禁锢的凤凰 Imprisoned Phoenix ID:YOP_021
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.SCH_310, new Modifier(200));                //研究伙伴 Lab Partner ID:SCH_310
                //Bot.Log("对面是法师提高法强随从威胁值");
            }



            //降低攻击优先值
            //降低龙裔小鬼威胁值
            //p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_238t12t2, new Modifier(60));

            //手工策略
            //牌库数量大于10张的时候,提高过牌的优先级,降低333优先级
            Bot.Log("我方牌库剩余牌数" + board.FriendDeckCount);
            if (board.FriendDeckCount > 10)
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BAR_916, new Modifier(150));                //血岩碎片刺背野猪人 Blood Shard Bristleback ID:BAR_916
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.YOP_033, new Modifier(-200));                //赛车回火 Backfire ID:YOP_033
                p.CastHeroPowerModifier.AddOrUpdate(Card.Cards.CS2_056_H1, new Modifier(-100));           //生命分流 Life Tap ID:HERO_07bp
            }
            //对方没有随从降低333优先级
            if (board.MinionEnemy.Count == 0)
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BAR_916, new Modifier(150));                //血岩碎片刺背野猪人 Blood Shard Bristleback ID:BAR_916
            }
            //提高闪金镇狼人的优先级
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.SW_062, new Modifier(-200));            //闪金镇豺狼人 Goldshire Gnoll ID:SW_062
            //提高术士技能优先级

            //提高力量图腾、团队领袖的威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.CS2_058, new Modifier(200));            //力量图腾 Strength Totem ID:CS2_058
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.CORE_CS2_122, new Modifier(200));       //团队领袖 Raid Leader ID:CORE_CS2_122

            return(p);
        }
Ejemplo n.º 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);
        }
Ejemplo n.º 5
0
        //Rush-Pro for 20.0HS in Standard


        //攻击模式



        public ProfileParameters GetParameters(Board board)
        {
            //用BaseProfile函数调用加载云端的Rush策略
            var p = new ProfileParameters(BaseProfile.Rush);

            p.DiscoverSimulationValueThresholdPercent = 10;

            //贫瘠之地默认优先级-BAR

            //贫瘠之地铁匠 Barrens Blacksmith ID:BAR_073
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_073, new Modifier(200));
            //十字路口哨所 Crossroads Watch Post ID:BAR_075
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_075, new Modifier(200));
            //布鲁坎 Bru'kan ID:BAR_048
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_048, new Modifier(200));
            //凯瑞尔·罗姆 Cariel Roame ID:BAR_902
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_902, new Modifier(200));
            //战地医师老兵 Veteran Warmedic ID:BAR_878
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_878, new Modifier(200));
            //腐烂的普雷莫尔 Plaguemaw the Rotting ID:BAR_540
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_540, new Modifier(200));
            //钢鬃卫兵 Razormane Battleguard ID:BAR_537
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_537, new Modifier(200));
            //勘探者车队 Prospector's Caravan ID:BAR_033
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_033, new Modifier(200));
            //科卡尔驯犬者 Kolkar Pack Runner ID:BAR_035
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_035, new Modifier(200));
            //士兵车队 Soldier's Caravan ID:BAR_871
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_871, new Modifier(200));
            //占卜者车队 Soothsayer's Caravan ID:BAR_312
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_312, new Modifier(200));
            //高效八爪机器人 Efficient Octo-bot ID:BAR_320
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_320, new Modifier(200));
            //鱼人宝宝车队 Tinyfin's Caravan ID:BAR_043
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_043, new Modifier(200));
            //火焰术士弗洛格尔 Firemancer Flurgl ID:BAR_860
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_860, new Modifier(200));
            //剂师车队 Apothecary's Caravan ID:BAR_912
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_912, new Modifier(200));
            //甜水鱼人斥候 Lushwater Scout ID:BAR_063
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_063, new Modifier(200));
            //前沿哨所 Far Watch Post ID:BAR_074
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_074, new Modifier(200));
            //古夫·符文图腾 Guff Runetotem ID:BAR_720
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_720, new Modifier(200));
            //塔维什·雷矛 Tavish Stormpike ID:BAR_038
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_038, new Modifier(200));
            //奥术发光体 Arcane Luminary ID:BAR_545
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_545, new Modifier(200));
            //霜舌半人马 Rimetongue ID:BAR_888
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_888, new Modifier(200));
            //原野联络人 Field Contact ID:BAR_317
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_317, new Modifier(200));
            //莫尔杉哨所 Mor'shan Watch Post ID:BAR_076
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_076, new Modifier(200));
            //十字路口大嘴巴 Crossroads Gossiper ID:BAR_890
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_890, new Modifier(200));
            //贫瘠之地诱捕者 Barrens Trapper ID:BAR_082
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_082, new Modifier(200));

            //自定义命名
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.GAME_005, new Modifier(50));                                             //幸运币 The Coin  ID:GAME_005
            int a = (board.HeroFriend.CurrentHealth + board.HeroFriend.CurrentArmor) - BoardHelper.GetEnemyHealthAndArmor(board); //敌我血量差


            //计算类
            //判定是否过载
            bool guozai;

            if (board.LockedMana == 0 &&
                board.OverloadedMana == 0)
            {
                guozai = false;
                //Bot.Log("我方法力水晶没有过载");
            }
            else
            {
                guozai = true;
                //Bot.Log("我方法力水晶已经过载");
            }

            //卡片集合
            var ret = new List <Card.Cards>();

            //当前剩余的法力水晶
            var manaAvailable = board.ManaAvailable;

            //计算可用水晶数
            //如果手上有雷霆绽放,手动计算费用(Wirmate偷懒把雷霆绽放和硬币当成一个东西了)
            if (board.HasCardInHand(Card.Cards.SCH_427))
            {
                manaAvailable = manaAvailable + (board.Hand.Count(x => x.Template.Id == Card.Cards.SCH_427) * 2);
            }

            //如果手上有硬币,手动计算费用(Wirmate偷懒把雷霆绽放和硬币当成一个东西了)
            if (board.HasCardInHand(Card.Cards.GAME_005))
            {
                manaAvailable = manaAvailable + (board.Hand.Count(x => x.Template.Id == Card.Cards.GAME_005) * 1);
            }

            //日志输出
            //我方本回合可用水晶
            //Bot.Log("我方本回合可用血色马的数量为:" + board.ManaAvailable);
            //我方最大法力水晶
            //Bot.Log("我方最大法力水晶:" + board.MaxMana);
            //法术提供的可用总水晶上限
            //Bot.Log("血色的马上限是:" + manaAvailable);

            //具体策略

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

            //优先沉默对象

            //铁喙猫头鹰 Ironbeak Owl ID:CORE_CS2_203
            //智慧圣契 Libram of Wisdom ID:BT_025
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.CORE_CS2_203, new Modifier(-80, Card.Cards.BT_025));            //优先沉默圣骑士的圣契
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.CORE_CS2_203, new Modifier(-40, Card.Cards.SCH_621));           //优先沉默血骨傀儡 Rattlegore ID:SCH_621
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.CORE_CS2_203, new Modifier(-40, Card.Cards.YOP_004));           //铁锈特使拉斯维克斯 Envoy Rustwix ID:YOP_004

            //如果对面是圣骑士还要沉默亡语过牌
            if (board.EnemyClass == Card.CClass.PALADIN)
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.CORE_CS2_203, new Modifier(-40, Card.Cards.CORE_EX1_096));           //战利品贮藏者 Loot Hoarder ID:CORE_EX1_096
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.CORE_CS2_203, new Modifier(-40, Card.Cards.CORE_EX1_012));           //血法师萨尔诺斯 Bloodmage Thalnos ID:CORE_EX1_012
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.CORE_CS2_203, new Modifier(-40, Card.Cards.DMF_194));                //赤鳞驯龙者 Redscale Dragontamer ID:DMF_194
                //Bot.Log("对面是圣骑士,优先沉默亡语过牌");
            }

            //对面没随从,降低扫帚和巴罗夫优先级
            if (board.MinionEnemy.Count <= 1 &&
                board.HasCardInHand(Card.Cards.SCH_311) ||        //活化扫帚 Animated Broomstick  ID:SCH_311
                board.HasCardInHand(Card.Cards.SCH_526)           //巴罗夫领主 Lord Barov  ID:SCH_526
                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.SCH_311, new Modifier(150));         //活化扫帚 Animated Broomstick  ID:SCH_311
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.SCH_526, new Modifier(200));         //巴罗夫领主 Lord Barov  ID:SCH_526
            }


            //武器攻击保守性
            p.WeaponsAttackModifiers.AddOrUpdate(Card.Cards.CS2_091, new Modifier(0)); //圣光的正义(待定) Light's Justice  ID:CS2_091
            p.WeaponsAttackModifiers.AddOrUpdate(Card.Cards.BT_011t, new Modifier(0)); //迟到的正义 Overdue Justice  ID:BT_011t

            //法术

            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.GAME_005, new Modifier(50));//幸运币 The Coin  ID:GAME_005

            //提高导师火心 Instructor Fireheart ID:SCH_507发现的卡牌的优先级
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.SCH_507e, new Modifier(-550));//炽热连击! Hot Streak! ID:SCH_507e


            //随从优先值
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_020, new Modifier(-200)); //奥尔多侍从 Aldor Attendant  ID:BT_020
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_026, new Modifier(-200)); //奥尔多真理追寻者 Aldor Truthseeker  ID:BT_026
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DRG_232, new Modifier(5));   //光铸狂热者 Lightforged Zealot  ID:DRG_232
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_019t, new Modifier(15));  //终极莫戈尔格 Murgurgle Prime ID:BT_019t

            //场上有5个及以上的随从就不要用詹迪斯·巴罗夫 Jandice Barov ID:SCH_351
            if (board.MinionFriend.Count >= 5 &&
                board.HasCardInHand(Card.Cards.SCH_351)
                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.SCH_351, new Modifier(600));                //詹迪斯·巴罗夫 Jandice Barov ID:SCH_351
                //Bot.Log("随从太多不用詹迪斯·巴罗夫");
            }

            // 自己场上没随从不下金牌猎手
            if (board.HasCardInHand(Card.Cards.SCH_538) &&         //金牌猎手克里 Ace Hunter Kreen ID:SCH_538
                board.MinionFriend.Count == 0
                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.SCH_538, new Modifier(350));//金牌猎手克里 Ace Hunter Kreen ID:SCH_538
            }

            //5费之前调低通道优先级
            if (board.MaxMana <= 5 &&
                board.HasCardInHand(Card.Cards.SCH_305)
                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.SCH_305, new Modifier(200));                //秘密通道 Secret Passage ID:SCH_305
                //Bot.Log("5费之前不打通道");
            }

            //场上随从大于3不下终极随从
            if (board.MinionFriend.Count > 3)
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_019t, new Modifier(999));                //终极莫戈尔格 Murgurgle Prime ID:BT_019t
            }
            else
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_019t, new Modifier(15));                //终极莫戈尔格 Murgurgle Prime ID:BT_019t
            }

            //对面随从数量大于3,提高暗月兔子的优先级
            //暗月兔子 Darkmoon Rabbit ID:DMF_070
            if (board.MinionEnemy.Count >= 3)
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DMF_070, new Modifier(-200));                //暗月兔子 Darkmoon Rabbit ID:DMF_070
            }

            //随从优先解

            //核心
            //提高雏龙(暂定)
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.EX1_116t, new Modifier(200));
            //提高铸甲师 Armorsmith ID:CORE_EX1_402
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.CORE_EX1_402, new Modifier(200));
            //加基森拍卖师 Gadgetzan Auctioneer ID:CORE_EX1_095
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.CORE_EX1_095, new Modifier(200));

            //外域的灰烬-BT
            //灵魂之匣 Reliquary of Souls ID:BT_197
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_197, new Modifier(200));
            //星术师索兰莉安 Astromancer Solarian ID:BT_028
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_028, new Modifier(200));
            //莫戈尔·莫戈尔格 Murgur Murgurgle ID:BT_019
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_019, new Modifier(200));
            //坎雷萨德·埃伯洛克 Kanrethad Ebonlocke ID:BT_309
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_309, new Modifier(200));
            //孢子首领姆希菲 Archspore Msshi'fn ID:BT_136
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_136, new Modifier(200));
            //莫顶级捕食者兹克索尔 Zixor, Apex Predator ID:BT_210
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_210, new Modifier(200));
            //阿卡玛 Akama ID:BT_713
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_713, new Modifier(200));
            //瓦丝琪女士 Lady Vashj ID:BT_109
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_109, new Modifier(200));
            //卡加斯·刃拳 Kargath Bladefist ID:BT_123
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_123, new Modifier(200));
            //终极卡加斯 Kargath Prime ID:BT_123t
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_123t, new Modifier(200));
            //提高战斗邪犬威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_351, 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));
            //强能箭猪 Augmented Porcupine  ID:BT_201
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_201, new Modifier(200));
            //提高黑眼
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_307, new Modifier(200));
            //提高废料场巨像 Scrapyard Colossus  ID:BT_155
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_155, new Modifier(200));
            //改进型恐惧魔王 Enhanced Dreadlord  ID:BT_304
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_304, new Modifier(200));
            //塞泰克织巢者 Sethekk Veilweaver ID:BT_254
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_254, new Modifier(200));

            //通灵学院-SCH
            //决斗大师莫扎奇 Mozaki, Master Duelist ID:SCH_400
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.SCH_400, new Modifier(200));
            //狐人淬毒师 Vulpera Toxinblade  ID:SCH_519
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.SCH_519, new Modifier(200));
            //贪婪的书虫 Voracious Reader ID:SCH_142
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.SCH_142, new Modifier(200));

            //暗月马戏团-DMF
            //伊格诺斯 Il'gynoth ID:DMF_230
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DMF_230, new Modifier(200));
            //纳兹曼尼织血者 Nazmani Bloodweaver ID:DMF_120
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DMF_120, new Modifier(200));

            //暗月竞速赛-YOP
            //死亡守望者 Deathwarden ID:YOP_012
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOP_012, new Modifier(200));
            //铁锈特使拉斯维克斯 Envoy Rustwix ID:YOP_004
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOP_004, new Modifier(200));



            //贫瘠之地的锤炼-BAR
            //塔姆辛·罗姆 Tamsin Roame ID:BAR_918
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_918, new Modifier(200));
            //火焰术士弗洛格尔 Firemancer Flurgl ID:BAR_860
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_860, new Modifier(200));
            //古夫·符文图腾 Guff Runetotem ID:BAR_720
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_720, new Modifier(200));
            //塔维什·雷矛 Tavish Stormpike ID:BAR_038
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_038, new Modifier(200));
            //洛卡拉 Rokara ID:BAR_847
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_847, new Modifier(200));
            //腐烂的普雷莫尔 Plaguemaw the Rotting ID:BAR_540
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_540, new Modifier(200));
            //凯瑞尔·罗姆 Cariel Roame ID:BAR_902
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BAR_902, new Modifier(200));

            //针对职业

            //如果对面是贼,需要提高魔杖窃贼的威胁值
            if (board.EnemyClass == Card.CClass.ROGUE &&
                board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.SCH_350)
                )
            {
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.SCH_350, new Modifier(199));                //魔杖窃贼 Wand Thief ID:SCH_350
                //Bot.Log("对面是潜行者要优先解掉魔杖窃贼");
            }

            //如果对面是贼,需要提高狐人老千的威胁值
            if (board.EnemyClass == Card.CClass.ROGUE &&
                board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.DMF_511)
                )
            {
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DMF_511, new Modifier(199));                //狐人老千 Foxy Fraud ID:DMF_511
                //Bot.Log("对面是潜行者要优先解掉狐人老千");
            }

            //如果对面是萨满,需要提高沙漠野兔的威胁值
            if (board.EnemyClass == Card.CClass.SHAMAN &&
                board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.DMF_703) ||
                board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.DMF_703t) ||
                board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.DMF_706t)
                )
            {
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DMF_703, new Modifier(200));                //死斗场管理者 Pit Master ID:DMF_703
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DMF_703t, new Modifier(200));               //死斗场管理者(已腐蚀) Pit Master ID:DMF_703t
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DMF_706t, new Modifier(200));               //大帐决斗者 Pavilion Duelist ID:DMF_706t
                //Bot.Log("对面是萨满要优先解掉野兔、死斗场决斗者");
            }

            //如果对面是萨满,需要优先解掉大眼睛
            if (board.EnemyClass == Card.CClass.SHAMAN &&
                board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.DMF_709)
                )
            {
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DMF_709, new Modifier(200));                //巨型图腾埃索尔 Grand Totem Eys'or ID:DMF_709
                //Bot.Log("对面是萨满优先解掉大眼睛");
            }

            //如果对面是瞎子提高血法师威胁值
            if (board.EnemyClass == Card.CClass.DEMONHUNTER &&
                board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.CORE_EX1_012)
                )
            {
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.CORE_EX1_012, new Modifier(199));                //血法师萨尔诺斯 Bloodmage Thalnos ID:CORE_EX1_012
                //Bot.Log("对面是瞎子提高血法师威胁值");
            }

            //如果对面是法师提高法强随从威胁值
            if (board.EnemyClass == Card.CClass.MAGE)
            {
                //p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.SCH_245, new Modifier(200));//卷轴管理者 Steward of Scrolls ID:SCH_245
                //p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_028, new Modifier(200));//星术师索兰莉安 Astromancer Solarian ID:BT_028
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.SCH_273, new Modifier(200));                //莱斯·霜语 Ras Frostwhisper ID:SCH_273
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOP_021, new Modifier(200));                //被禁锢的凤凰 Imprisoned Phoenix ID:YOP_021
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.SCH_310, new Modifier(200));                //研究伙伴 Lab Partner ID:SCH_310
                //Bot.Log("对面是法师提高法强随从威胁值");
            }



            //降低攻击优先值
            //降低龙裔小鬼威胁值
            //p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_238t12t2, new Modifier(60));



            //如果对面是进化萨,要考虑希拉斯转过去后要卖掉它
            if (board.EnemyClass == Card.CClass.SHAMAN)
            {
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DMF_074, new Modifier(200));
            }

            return(p);
        }
Ejemplo n.º 6
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.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);
        }
Ejemplo n.º 7
0
        //具体策略
        public ProfileParameters GetParameters(Board board)
        {
            var p = new ProfileParameters(BaseProfile.Rush);

            p.DiscoverSimulationValueThresholdPercent = 10;

            //卡牌优先度调整
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_295, new Modifier(92));                      //降低冰箱优先度
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_287, new Modifier(40));                      //提高法反优先度
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.ULD_726, new Modifier(200));                     //降低远古谜团优先度
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.CS2_023, new Modifier(30));                      //提高奥术智慧优先度
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.AT_005, new Modifier(280));                      //降低变猪优先度
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.ULD_239, new Modifier(120));                     //降低火焰结界优先度
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.CS2_029, new Modifier(80, board.HeroEnemy.Id));  //提高火球打脸优先度
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.LOE_002t, new Modifier(60, board.HeroEnemy.Id)); //提高火把打脸优先度
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.LOE_002, new Modifier(50, board.HeroEnemy.Id));  //提高火把打脸优先度
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.UNG_020, new Modifier(120));                    //降低秘法学家优先度
            //p.CastHeroPowerModifier.AddOrUpdate(Card.Cards.CS2_034, new Modifier(120));//降低火铳优先度
            p.CastWeaponsModifiers.AddOrUpdate(Cards.Aluneth, new Modifier(120));                         //降低提刀优先度
                                                                                                          //p.CastHeroPowerModifier.AddOrUpdate(Card.Cards.CS2_034, new Modifier(9999,board.HeroFriend.Id));
                                                                                                          //p.CastMinionsModifiers.AddOrUpdate(Card.Cards.KAR_092, new Modifier(9999,board.HeroFriend.Id));



            //自定义命名
            int twoHpMinionsCount    = board.MinionEnemy.Count(minion => minion.CurrentHealth <= 2);                                                                                              //对面小于等于2血的随从数量
            int LibraryResidueSecret = 8 - (board.FriendGraveyard.Count(card => CardTemplate.LoadFromId(card).IsSecret) + board.Hand.Count(card => card.Template.IsSecret) + board.Secret.Count); //牌库剩余奥秘
            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血的随从数量

            //针对一些随从优先解掉
            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小鬼,提高攻击优先度

            //攻击模式切换
            if ((((board.MinionEnemy.FindAll(x => x.IsTaunt && !x.IsSilenced).Sum(x => x.CurrentHealth) + 9 * board.MinionEnemy.Count(x => x.Template.Id == Card.Cards.LOOT_368) - board.MinionFriend.Sum(x => x.CurrentAtk)) >= 8 &&
                  BoardHelper.GetEnemyHealthAndArmor(board) <= 15) ||
                 BoardHelper.GetSecondTurnLethalRange(board) <= 7) &&
                ((board.HeroFriend.CurrentHealth + board.HeroFriend.CurrentArmor) - board.MinionEnemy.Sum(x => x.CurrentAtk)) > 7)
            {
                //p = new ProfileParameters(BaseProfile.Face);
                //p.DiscoverSimulationValueThresholdPercent = 10;
                p.GlobalAggroModifier.Value = 130;
                //p.CastHeroPowerModifier.AddOrUpdate(Card.Cards.CS2_034, new Modifier(200));
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.CS2_029, new Modifier(-40, board.HeroEnemy.Id));  //提高火球打脸优先度
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.LOE_002t, new Modifier(-40, board.HeroEnemy.Id)); //提高火把打脸优先度
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.LOE_002, new Modifier(-40, board.HeroEnemy.Id));  //提高火把打脸优先度
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.ULD_293, new Modifier(-40, board.HeroEnemy.Id)); //提高云雾王子打脸优先度
                p.CastSpellsModifiers.AddOrUpdate(TheCoin, new Modifier(0));
            }//对面嘲讽太多,抢脸,降低火铳优先度
            else if (BoardHelper.GetEnemyHealthAndArmor(board) <= 15 &&
                     ((board.HeroFriend.CurrentHealth + board.HeroFriend.CurrentArmor) - board.MinionEnemy.Sum(x => x.CurrentAtk)) > 7)
            {
                //p = new ProfileParameters(BaseProfile.Face);
                //p.DiscoverSimulationValueThresholdPercent = 10;
                p.GlobalAggroModifier.Value = 130;
                //p.CastHeroPowerModifier.AddOrUpdate(Card.Cards.CS2_034, new Modifier(200));
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.CS2_029, new Modifier(30, board.HeroEnemy.Id));   //提高火球打脸优先度
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.LOE_002t, new Modifier(20, board.HeroEnemy.Id));  //提高火把打脸优先度
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.LOE_002, new Modifier(20, board.HeroEnemy.Id));   //提高火把打脸优先度
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.ULD_293, new Modifier(-40, board.HeroEnemy.Id)); //提高云雾王子打脸优先度
                p.CastSpellsModifiers.AddOrUpdate(TheCoin, new Modifier(0));
            }//对面少于15血,抢脸
            else if (board.ManaAvailable >= 3)
            {
                p.CastSpellsModifiers.AddOrUpdate(TheCoin, new Modifier(30));
            }//提高硬币优先度
            else if (board.WeaponFriend != null && board.WeaponFriend.Template.Id == Card.Cards.LOOT_108)
            {
                p.GlobalAggroModifier.Value = 120;
            }//有武器,攻击性提高
            else if (board.ManaAvailable < 6)
            {
                p.GlobalAggroModifier.Value = 100;
            }//6费前攻击性调整
            else if (board.ManaAvailable >= 6)
            {
                p.GlobalAggroModifier.Value = 110;
            }//6费后攻击性调整

            if (board.Secret.Contains(Cards.IceBlock) &&
                BoardHelper.HasPotentialLethalNextTurn(board) &&
                !(board.EnemyClass == Card.CClass.MAGE && board.SecretEnemy && !board.EnemyGraveyard.Exists(card => CardTemplate.LoadFromId(card).Id == Card.Cards.EX1_295)))
            {
                p.GlobalAggroModifier.Value = 1000;
            }//如果有冰箱,下回合斩杀,攻击性提高
            else if (BoardHelper.HasPotentialLethalNextTurn(board) &&
                     ((board.HeroFriend.CurrentHealth + board.HeroFriend.CurrentArmor) - board.MinionEnemy.Sum(x => x.CurrentAtk)) > 7)
            {
                p.GlobalAggroModifier.Value = 200;
            }//下回合斩杀,攻击性提高

            if (BoardHelper.HasPotentialLethalNextTurn(board) &&
                board.Hand.Exists(x => x.Template.Id == Card.Cards.EX1_295))
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_295, new Modifier(50));
            }//下回合斩杀,提高冰箱优先度

            if (BoardHelper.GetSurvivalMinionEnemy(board).Sum(x => x.CurrentHealth) > 18 &&
                BoardHelper.GetSecondTurnLethalRange(board) <= 7 &&
                board.Secret.Contains(Cards.IceBlock) &&
                !(board.EnemyClass == Card.CClass.MAGE && board.SecretEnemy && !board.EnemyGraveyard.Exists(card => CardTemplate.LoadFromId(card).Id == Card.Cards.EX1_295)))
            {
                p.GlobalAggroModifier.Value = 1000;
            }//无法挽救场面,第二轮斩杀血线小于等于7,头上有冰箱,抢脸
            else if (BoardHelper.GetSurvivalMinionEnemy(board).Sum(x => x.CurrentHealth) > 23 &&
                     BoardHelper.GetSecondTurnLethalRange(board) <= 13 &&
                     board.Secret.Contains(Cards.IceBlock) &&
                     !(board.EnemyClass == Card.CClass.MAGE && board.SecretEnemy && !board.EnemyGraveyard.Exists(card => CardTemplate.LoadFromId(card).Id == Card.Cards.EX1_295)))
            {
                p.GlobalAggroModifier.Value = 1000;
            }//无法挽救场面,第二轮斩杀血线小于等于12,头上有冰箱,抢脸
            else if (BoardHelper.GetSurvivalMinionEnemy(board).Sum(x => x.CurrentHealth) > 23)
            {
                p.GlobalAggroModifier.Value = 500;
            }//无法挽救场面,打脸

            //武器调整
            if (board.ManaAvailable >= 6 && board.Hand.Count <= 5 && board.HasCardInHand(Cards.Aluneth))
            {
                p.CastWeaponsModifiers.AddOrUpdate(Cards.Aluneth, new Modifier(50));
            }//如果当前剩余法力水晶大于等于6,手牌数量小于等于5并且手牌中有艾露尼斯,提高艾露尼斯的优先级



            //随从调整
            if (board.ManaAvailable >= 4 &&
                (board.HasCardInHand(Card.Cards.ULD_293)) &&
                board.Secret.Count > 0)
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.ULD_293, new Modifier(100));
            }
            else
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.ULD_293, new Modifier(180));
            }//增加云雾王子的优先级

            if (board.ManaAvailable <= 3 &&
                (board.Hand.Exists(x => x.Template.Id == Card.Cards.FP1_004) || board.Hand.Exists(x => x.Template.Id == Card.Cards.UNG_020)) &&
                board.Hand.Exists(x => x.Template.Id == Card.Cards.ULD_726))
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.ULD_726, 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.UNG_020) == 1 &&
                (board.Hand.Exists(x => x.Template.Id == Card.Cards.KAR_092) || board.Hand.Exists(x => x.Template.Id == Card.Cards.ULD_240)) &&
                !board.Hand.Exists(x => x.Template.Id == Card.Cards.ULD_726))
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.UNG_020, new Modifier(400));
            }//1费手里有硬币、麦迪文男仆、秘法学家,不打秘法学家

            if (board.EnemyClass == Card.CClass.MAGE &&
                board.SecretEnemy &&
                board.EnemyGraveyard.Count(card => CardTemplate.LoadFromId(card).Id == Card.Cards.LOOT_101) < 2 &&
                (board.EnemyGraveyard.Exists(card => CardTemplate.LoadFromId(card).Id == Card.Cards.EX1_612) || board.EnemyGraveyard.Exists(card => CardTemplate.LoadFromId(card).Id == Card.Cards.UNG_020) || board.EnemyGraveyard.Exists(card => CardTemplate.LoadFromId(card).Id == Card.Cards.ULD_293)) &&
                board.Hand.Exists(x => x.Template.Id == Card.Cards.CFM_066))
            {
                foreach (var card in board.Hand.FindAll(x => 6 - x.CurrentHealth >= (board.HeroFriend.CurrentHealth + board.HeroFriend.CurrentArmor)))
                {
                    p.CastMinionsModifiers.AddOrUpdate(card.Template.Id, new Modifier(5000));
                }//对阵奥秘法,对面可能有爆炸,防止自己被炸死
            }
            if (LibraryResidueSecret > 0 &&
                board.MinionFriend.Any(minion => minion.Template.Id == Card.Cards.FP1_004))
            {
                p.OnBoardFriendlyMinionsValuesModifiers.AddOrUpdate(Card.Cards.FP1_004, new Modifier(40));
            }//牌库有奥秘,提高送掉科学家的优先度

            if (board.ManaAvailable == 1 &&
                board.Hand.Exists(x => x.Template.Id == Card.Cards.CFM_066) &&
                board.Hand.Exists(x => x.Template.Id == Card.Cards.FP1_018) &&
                !board.Hand.Exists(x => x.Template.Id == Card.Cards.EX1_287) &&
                !board.Hand.Exists(x => x.Template.Id == Card.Cards.LOOT_101) &&
                !board.Hand.Exists(x => x.Template.Id == Card.Cards.EX1_295) &&
                !board.Hand.Exists(x => x.Template.Id == Card.Cards.ULD_239) &&
                !board.Hand.Exists(x => x.Template.Id == Card.Cards.CFM_620))
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.CFM_066, new Modifier(500));
            }//1费手里有复制,不下暗金教侍从

            if (board.ManaAvailable <= 2 &&
                board.Hand.Exists(x => x.Template.Id == Card.Cards.CFM_066) &&
                board.Hand.Count(card => card.Template.IsSecret) == 0)
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.CFM_066, new Modifier(200));
            }//2费之前手里没奥秘,不打暗金教侍从

            if (board.Hand.Exists(x => x.Template.Id == Card.Cards.CFM_066) &&
                BoardHelper.GetPlayableSecret(board).Count == 0 &&
                board.EnemyClass == Card.CClass.WARLOCK)
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.CFM_066, new Modifier(200));
            }//没可以打的奥秘,对面是术士,不打暗金教侍从

            if (board.ManaAvailable == 1 &&
                board.Hand.Exists(x => x.Template.Id == Card.Cards.KAR_092) &&
                board.Hand.Count(x => x.Template.Id == Card.Cards.FP1_004) == 1 &&
                board.Hand.Exists(x => x.Template.Id == Card.Cards.GAME_005) &&
                !board.Hand.Exists(x => x.Template.Id == Card.Cards.UNG_020) &&
                !board.Hand.Exists(x => x.Template.Id == Card.Cards.ULD_726) &&
                board.MinionEnemy.Count == 0)
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.FP1_004, new Modifier(500));
            }//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.FP1_004) == 1 &&
                     !board.Hand.Exists(x => x.Template.Id == Card.Cards.ULD_726) &&
                     !board.Hand.Exists(x => x.Template.Id == Card.Cards.UNG_020) &&
                     board.Hand.Exists(x => x.Template.Id == Card.Cards.ULD_240))
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.FP1_004, new Modifier(2000));
            }//1费手里有科学家和对空奥术师,不跳费下科学家
            else if (board.ManaAvailable == 1 &&
                     board.Hand.Count(x => x.Template.Id == Card.Cards.FP1_004) == 1 &&
                     board.Hand.Exists(x => x.Template.Id == Card.Cards.GAME_005) &&
                     !board.Hand.Exists(x => x.Template.Id == Card.Cards.KAR_092) &&
                     !board.Hand.Exists(x => x.Template.Id == Card.Cards.UNG_020) &&
                     !board.Hand.Exists(x => x.Template.Id == Card.Cards.ULD_726))
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.FP1_004, new Modifier(300));
            }//1费有硬币,不下科学家

            if (LibraryResidueSecret == 0)
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.ULD_726, new Modifier(6000));
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.UNG_020, new Modifier(5000));
            }//牌库没奥秘,不打远古谜团,降低秘法学家优先度
            else if (board.ManaAvailable >= 3 &&
                     !board.Hand.Exists(x => x.Template.Id == Card.Cards.EX1_612))
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.UNG_020, new Modifier(250));
            }//降低秘法学家优先度

            if (board.Hand.Exists(x => x.Template.Id == Card.Cards.EX1_612) &&
                BoardHelper.GetPlayableSecret(board).Count == 0 &&
                board.Hand.Count >= 5 &&
                (board.Hand.Count(x => x.Type == Card.CType.MINION) - board.Hand.Count(x => x.Template.Id == Card.Cards.EX1_612) != board.Hand.Count(x => x.Template.Id == Card.Cards.ULD_240)) &&
                (board.Hand.Count(x => x.Type == Card.CType.MINION) - board.Hand.Count(x => x.Template.Id == Card.Cards.EX1_612) != 0))
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_612, new Modifier(300));
            }//手里没有能打的奥秘,降低肯瑞托优先度

            if (board.ManaAvailable == 2 &&
                board.Hand.Exists(x => x.Template.Id == Card.Cards.CFM_066) &&
                !board.Hand.Exists(x => x.Template.Id == Card.Cards.GAME_005) &&
                (board.Hand.Exists(x => x.Template.Id == Card.Cards.ULD_726) || board.Hand.Exists(x => x.Template.Id == Card.Cards.UNG_020) || board.Hand.Exists(x => x.Template.Id == Card.Cards.FP1_004)))
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.CFM_066, new Modifier(600));
            }//2费手里有暗金教侍从,秘法学家或者科学家或者远古谜团,不打暗金教侍从

            if (board.Hand.Count >= 7)
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.CS2_023, new Modifier(300));
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.UNG_020, new Modifier(400));
            }//手牌太多,降低奥术智慧、秘法学家优先度



            //法术调整
            if (board.Hand.Exists(x => x.Template.Id == Card.Cards.ULD_239) &&
                threeHpMinionsCount <= 2 &&
                board.MinionEnemy.Sum(x => x.CurrentAtk) <= 4)
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.ULD_239, new Modifier(200));
            }//对面随从给少,降低火焰结界优先度

            if (threeHpMinionsCount >= 3 ||
                (fiveHpMinionsCount >= 3 && board.MinionFriend.Any(minion => minion.Template.Id == Card.Cards.ULD_240)))
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.ULD_239, new Modifier(190 - 40 * threeHpMinionsCount));
            }//对面3血以下怪多,提高火焰结界优先度

            if (board.ManaAvailable <= 2 &&
                board.MinionEnemy.Sum(x => x.CurrentAtk) == 1 &&
                board.MinionFriend.Count == 0)
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.ULD_239, new Modifier(1000));
            }//远古谜团拿到火焰结界对面场功太低,不打

            if ((board.WeaponFriend != null && board.WeaponFriend.Template.Id == Card.Cards.LOOT_108) &&
                board.Hand.Count >= 6 &&
                board.Hand.Exists(x => x.Template.Id == Card.Cards.FP1_018))
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.FP1_018, new Modifier(150));
            }//有刀,手牌过多,降低复制优先度

            if (board.Hand.Exists(x => x.Template.Id == Card.Cards.CFM_760) &&
                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 &&
                (LibraryResidueSecret > 0) &&
                (!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.ULD_240) == 2 &&
                board.Hand.Count(card => card.Template.IsSecret) == 1 &&
                twoHpMinionsCount >= 3 &&
                board.MinionFriend.Count <= 1)
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_287, new Modifier(200));
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.LOOT_101, new Modifier(200));
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_295, new Modifier(200));
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.FP1_018, new Modifier(200));
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.CFM_620, new Modifier(200));
            }//4费手里只有一张奥秘和2张对空奥术师,对面小于2血的怪多,不打奥秘

            else if (board.ManaAvailable == 4 &&
                     !board.Hand.Exists(x => x.Template.Id == Card.Cards.GAME_005) &&
                     board.Hand.Count(x => x.Template.Id == Card.Cards.ULD_240) == 1 &&
                     board.Hand.Count(card => card.Template.IsSecret) == 1 &&
                     twoHpMinionsCount >= 3 &&
                     board.MinionFriend.Count <= 1)
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.ULD_240, new Modifier(200));
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_287, new Modifier(200));
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.LOOT_101, new Modifier(200));
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_295, new Modifier(200));
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.FP1_018, new Modifier(200));
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.CFM_620, new Modifier(200));
            }//4费手里只有一个对空奥术师,对面小于2血的怪多,不下对空奥术师,不打奥秘

            else if (board.ManaAvailable == 4 &&
                     !board.Hand.Exists(x => x.Template.Id == Card.Cards.GAME_005) &&
                     board.Hand.Count(x => x.Template.Id == Card.Cards.ULD_240) == 1 &&
                     board.Hand.Count(card => card.Template.IsSecret) >= 2 &&
                     twoHpMinionsCount >= 3 &&
                     board.MinionFriend.Count <= 1)
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.ULD_240, new Modifier(200));
            }//4费手里只有一个对空奥术师,对面小于2血的怪多,不下对空奥术师

            if (board.ManaAvailable == 4 &&
                board.EnemyAbility.Template.Id == Card.Cards.AT_132_PALADIN &&
                board.Hand.Count(x => x.Template.Id == Card.Cards.ULD_240) == 1 &&
                board.Hand.Count(card => card.Template.IsSecret) >= 1)
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.ULD_240, new Modifier(200));
            }//4费对面奇数骑,只有一个对空奥术师,手里有奥秘,不下对空奥术师

            if (board.ManaAvailable == 1 &&
                board.Hand.Exists(x => x.Template.Id == Card.Cards.CFM_066) &&
                !board.Hand.Exists(x => x.Template.Id == Card.Cards.GAME_005) &&
                board.Hand.Exists(x => x.Template.Id == Card.Cards.EX1_287) &&
                board.Hand.Count(card => card.Template.IsSecret) > 1)
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_287, new Modifier(120));
            }//1费对面有硬币,奥秘大于1个,降低法反优先度

            if (board.ManaAvailable <= 4 &&
                board.MinionEnemy.Count == 0 &&
                board.Hand.Exists(x => x.Template.Id == Card.Cards.EX1_287) &&
                board.EnemyClass == Card.CClass.DRUID)
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_287, new Modifier(-10));
            }//对面德鲁伊,4费前没随从,提高法反优先度

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

            if (board.EnemyClass == Card.CClass.WARLOCK &&
                board.Hand.Count(card => card.Template.IsSecret) > 1 &&
                board.Hand.Exists(x => x.Template.Id == Card.Cards.LOOT_101) &&
                board.ManaAvailable <= 6 &&
                board.MinionEnemy.Sum(x => x.CurrentAtk) <= 4)
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.LOOT_101, new Modifier(200));
            }//对阵术士,降低爆炸优先度

            if (board.MinionEnemy.Count == 1 &&
                board.MinionEnemy.Exists(x => x.Template.Id == Card.Cards.NEW1_021) &&
                board.MinionFriend.Count == 0 &&
                BoardHelper.GetPlayableSecret(board).Count > 0)
            {
                foreach (var card1 in BoardHelper.GetPlayableSecret(board))
                {
                    p.CastSpellsModifiers.AddOrUpdate(card1, new Modifier(30));
                }
            }//对面有末日,提高奥秘优先度
            return(p);
        }
Ejemplo n.º 8
0
        //Rush-Pro for 19.4.1HS in Standard


        //攻击模式



        public ProfileParameters GetParameters(Board board)
        {
            //用BaseProfile函数调用加载云端的Rush策略
            var p = new ProfileParameters(BaseProfile.Rush);

            p.DiscoverSimulationValueThresholdPercent = 10;

            //自定义命名
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.GAME_005, new Modifier(50));                                             //幸运币 The Coin  ID:GAME_005
            int a = (board.HeroFriend.CurrentHealth + board.HeroFriend.CurrentArmor) - BoardHelper.GetEnemyHealthAndArmor(board); //敌我血量差


            //计算类
            //判定是否过载
            bool guozai;

            if (board.LockedMana == 0 &&
                board.OverloadedMana == 0)
            {
                guozai = false;
                //Bot.Log("我方法力水晶没有过载");
            }
            else
            {
                guozai = true;
                //Bot.Log("我方法力水晶已经过载");
            }

            //卡片集合
            var ret = new List <Card.Cards>();

            //当前剩余的法力水晶
            var manaAvailable = board.ManaAvailable;

            //计算可用水晶数
            //如果手上有雷霆绽放,手动计算费用(Wirmate偷懒把雷霆绽放和硬币当成一个东西了)
            if (board.HasCardInHand(Card.Cards.SCH_427))
            {
                manaAvailable = manaAvailable + (board.Hand.Count(x => x.Template.Id == Card.Cards.SCH_427) * 2);
            }

            //如果手上有硬币,手动计算费用(Wirmate偷懒把雷霆绽放和硬币当成一个东西了)
            if (board.HasCardInHand(Card.Cards.GAME_005))
            {
                manaAvailable = manaAvailable + (board.Hand.Count(x => x.Template.Id == Card.Cards.GAME_005) * 1);
            }

            //日志输出
            //我方本回合可用水晶
            //Bot.Log("我方本回合可用血色马的数量为:" + board.ManaAvailable);
            //我方最大法力水晶
            //Bot.Log("我方最大法力水晶:" + board.MaxMana);
            //法术提供的可用总水晶上限
            //Bot.Log("血色的马上限是:" + manaAvailable);

            //记牌器相关

            //灵魂残片 Soul Fragment ID:SCH_307t
            //Bot.Log("我方牌库中有" + board.Deck.Count(card => CardTemplate.LoadFromId(card).Id == Card.Cards.SCH_307t) + "个灵魂残片");
            //Bot.Log("对方牌库中有" + board.EnemyDeckCount(card => CardTemplate.LoadFromId(card).Id == Card.Cards.SCH_307t) + "个灵魂残片");

            //炸弹 Bomb ID:BOT_511t
            //Bot.Log("我方牌库中有" + board.Deck.Count(card => CardTemplate.LoadFromId(card).Id == Card.Cards.BOT_511t) + "个炸弹");
            //Bot.Log("对方牌库中有" + board.EnemyDeckCount(card => CardTemplate.LoadFromId(card).Id == Card.Cards.BOT_511t) + "个炸弹");

            //信天翁 Albatross ID:DRG_071t
            //Bot.Log("我方牌库中有" + board.Deck.Count(card => CardTemplate.LoadFromId(card).Id == Card.Cards.DRG_071t) + "个信天翁");
            //Bot.Log("对方牌库中有" + board.EnemyDeckCount(card => CardTemplate.LoadFromId(card).Id == Card.Cards.DRG_071t) + "个信天翁");

            //具体策略

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

            //提高背刺 Backstab ID:CS2_072针对特定随从的优先级
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.CS2_072, new Modifier(-50, Card.Cards.CS2_121));           //霜狼步兵 Frostwolf Grunt ID:CS2_121

            //闷棍 Sap ID:EX1_581不打回去的怪(除非对面手牌满了)
            //Bot.Log("对手手牌数为:" + board.EnemyCardCount);
            if (board.EnemyCardCount < 10)
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_581, new Modifier(300, Card.Cards.SCH_517));              //影光学者 Shadowlight Scholar ID:SCH_517
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_581, new Modifier(300, Card.Cards.SCH_703));              //灵魂学家玛丽希亚 Soulciologist Malicia ID:SCH_703
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_581, new Modifier(300, Card.Cards.SCH_526));              //巴罗夫领主 Lord Barov ID:SCH_526
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_581, new Modifier(300, Card.Cards.SCH_507));              //导师火心 Instructor Fireheart ID:SCH_507
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_581, new Modifier(300, Card.Cards.SCH_141));              //高阶修士奥露拉 High Abbess Alura ID:SCH_141
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_581, new Modifier(300, Card.Cards.SCH_351));              //詹迪斯·巴罗夫 Jandice Barov ID:SCH_351
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_581, new Modifier(300, Card.Cards.SCH_181));              //高阶女巫维洛 Archwitch Willow ID:SCH_181
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_581, new Modifier(300, Card.Cards.SCH_162));              //维克图斯 Vectus ID:SCH_162
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_581, new Modifier(300, Card.Cards.BT_334));               //女伯爵莉亚德琳 Lady Liadrin ID:BT_334
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_581, new Modifier(300, Card.Cards.DRG_270));              //织法巨龙玛里苟斯 Malygos, Aspect of Magic ID:DRG_270
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_581, new Modifier(300, Card.Cards.DRG_037));              //菲里克·飞刺 Flik Skyshiv ID:DRG_037
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_581, new Modifier(300, Card.Cards.ULD_238));              //考古专家雷诺 Reno the Relicologist ID:ULD_238
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_581, new Modifier(300, Card.Cards.DAL_546));              //咖啡师林彻 Barista Lynchen ID:DAL_546
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_581, new Modifier(300, Card.Cards.EX1_198));              //娜塔莉·塞林 Natalie Seline ID:EX1_198
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_581, new Modifier(300, Card.Cards.DRG_099));              //克罗斯·龙蹄 Kronx Dragonhoof ID:DRG_099

                //杀千刀的不闷棍
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_581, new Modifier(300, Card.Cards.DRG_082));               //黏指狗头人 Kobold Stickyfinger ID:DRG_082
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_581, new Modifier(300, Card.Cards.EX1_558));               //哈里森·琼斯 Harrison Jones ID:EX1_558
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_581, new Modifier(300, Card.Cards.EX1_066));               //酸性沼泽软泥怪 Acidic Swamp Ooze ID:EX1_066
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_581, new Modifier(300, Card.Cards.NEW1_025));              //血帆海盗 Bloodsail Corsair ID:NEW1_025

                //要命的不闷棍
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_581, new Modifier(300, Card.Cards.DRG_055));               //藏宝匪贼 Hoard Pillager ID:DRG_055
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_581, new Modifier(300, Card.Cards.SCH_704));               //铸魂宝石匠 Soulshard Lapidary ID:SCH_704
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_581, new Modifier(300, Card.Cards.DRG_224));               //尼索格 Nithogg ID:DRG_224
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_581, new Modifier(300, Card.Cards.DRG_026));               //疯狂巨龙死亡之翼 Deathwing, Mad Aspect ID:DRG_026
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_581, new Modifier(300, Card.Cards.ULD_003));               //了不起的杰弗里斯 Zephrys the Great ID:ULD_003
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_581, new Modifier(300, Card.Cards.ULD_156));               //恐龙大师布莱恩 Dinotamer Brann ID:ULD_156

                //给圣骑士加BUFF的不闷棍
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_581, new Modifier(300, Card.Cards.BT_026));               //奥尔多真理追寻者 Aldor Truthseeker ID:BT_026
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_581, new Modifier(300, Card.Cards.BT_020));               //奥尔多侍从 Aldor Attendant ID:BT_020
            }

            //优先闷棍对象
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_581, new Modifier(-80, Card.Cards.BT_025));            //智慧圣契 Libram of Wisdom ID:BT_025
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_581, new Modifier(-40, Card.Cards.EX1_044));           //任务达人 Questing Adventurer ID:EX1_044
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_581, new Modifier(-40, Card.Cards.EX1_613));           //艾德温·范克里夫 Edwin VanCleef ID:EX1_613


            //优先沉默对象

            //铁喙猫头鹰 Ironbeak Owl ID:CS2_203
            //智慧圣契 Libram of Wisdom ID:BT_025
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.CS2_203, new Modifier(-80, Card.Cards.BT_025));            //优先沉默圣骑士的圣契
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.CS2_203, new Modifier(-40, Card.Cards.SCH_621));           //优先沉默血骨傀儡 Rattlegore ID:SCH_621
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.CS2_203, new Modifier(-40, Card.Cards.EX1_044));           //任务达人 Questing Adventurer ID:EX1_044
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.CS2_203, new Modifier(-40, Card.Cards.EX1_613));           //艾德温·范克里夫 Edwin VanCleef ID:EX1_613
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.CS2_203, new Modifier(-40, Card.Cards.ULD_438));           //萨赫特的傲狮 Salhet's Pride ID:ULD_438
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.CS2_203, new Modifier(-40, Card.Cards.YOP_004));           //铁锈特使拉斯维克斯 Envoy Rustwix ID:YOP_004

            //如果对面是圣骑士还要沉默亡语过牌
            if (board.EnemyClass == Card.CClass.PALADIN)
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.CS2_203, new Modifier(-40, Card.Cards.EX1_096));                //战利品贮藏者 Loot Hoarder ID:EX1_096
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.CS2_203, new Modifier(-40, Card.Cards.EX1_012));                //血法师萨尔诺斯 Bloodmage Thalnos ID:EX1_012
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.CS2_203, new Modifier(-40, Card.Cards.DMF_194));                //赤鳞驯龙者 Redscale Dragontamer ID:DMF_194
                //Bot.Log("对面是圣骑士,优先沉默亡语过牌");
            }

            //对面没随从,降低扫帚和巴罗夫优先级
            if (board.MinionEnemy.Count <= 1 &&
                board.HasCardInHand(Card.Cards.SCH_311) ||        //活化扫帚 Animated Broomstick  ID:SCH_311
                board.HasCardInHand(Card.Cards.SCH_526)           //巴罗夫领主 Lord Barov  ID:SCH_526
                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.SCH_311, new Modifier(150));         //活化扫帚 Animated Broomstick  ID:SCH_311
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.SCH_526, new Modifier(200));         //巴罗夫领主 Lord Barov  ID:SCH_526
            }


            //武器攻击保守性
            p.WeaponsAttackModifiers.AddOrUpdate(Card.Cards.CS2_091, new Modifier(0)); //圣光的正义 Light's Justice  ID:CS2_091
            p.WeaponsAttackModifiers.AddOrUpdate(Card.Cards.BT_011t, new Modifier(0)); //迟到的正义 Overdue Justice  ID:BT_011t

            //法术

            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.GAME_005, new Modifier(50));//幸运币 The Coin  ID:GAME_005

            //提高导师火心 Instructor Fireheart ID:SCH_507发现的卡牌的优先级
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.SCH_507e, new Modifier(-550));//炽热连击! Hot Streak! ID:SCH_507e


            //随从优先值
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_020, new Modifier(-200)); //奥尔多侍从 Aldor Attendant  ID:BT_020
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_026, new Modifier(-200)); //奥尔多真理追寻者 Aldor Truthseeker  ID:BT_026
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DRG_232, new Modifier(5));   //光铸狂热者 Lightforged Zealot  ID:DRG_232
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_019t, new Modifier(15));  //终极莫戈尔格 Murgurgle Prime ID:BT_019t

            //场上有5个及以上的随从就不要用詹迪斯·巴罗夫 Jandice Barov ID:SCH_351
            if (board.MinionFriend.Count >= 5 &&
                board.HasCardInHand(Card.Cards.SCH_351)
                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.SCH_351, new Modifier(600));                //詹迪斯·巴罗夫 Jandice Barov ID:SCH_351
                //Bot.Log("随从太多不用詹迪斯·巴罗夫");
            }

            // 自己场上没随从不下金牌猎手
            if (board.HasCardInHand(Card.Cards.SCH_538) &&         //金牌猎手克里 Ace Hunter Kreen ID:SCH_538
                board.MinionFriend.Count == 0
                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.SCH_538, new Modifier(350));//金牌猎手克里 Ace Hunter Kreen ID:SCH_538
            }

            //5费之前调低通道优先级
            if (board.MaxMana <= 5 &&
                board.HasCardInHand(Card.Cards.SCH_305)
                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.SCH_305, new Modifier(200));                //秘密通道 Secret Passage ID:SCH_305
                //Bot.Log("5费之前不打通道");
            }

            //场上随从大于3不下终极随从
            if (board.MinionFriend.Count > 3)
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_019t, new Modifier(999));                //终极莫戈尔格 Murgurgle Prime ID:BT_019t
            }
            else
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_019t, new Modifier(15));                //终极莫戈尔格 Murgurgle Prime ID:BT_019t
            }

            //对面随从数量大于3,提高暗月兔子的优先级
            //暗月兔子 Darkmoon Rabbit ID:DMF_070
            if (board.MinionEnemy.Count >= 3)
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DMF_070, new Modifier(-200));                //暗月兔子 Darkmoon Rabbit ID:DMF_070
            }

            //提高对面终极随从的威胁值

            //铁锈特使拉斯维克斯 Envoy Rustwix ID:YOP_004
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOP_004, new Modifier(200));
            //灵魂之匣 Reliquary of Souls ID:BT_197
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_197, new Modifier(200));
            //星术师索兰莉安 Astromancer Solarian ID:BT_028
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_028, new Modifier(200));
            //莫戈尔·莫戈尔格 Murgur Murgurgle ID:BT_019
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_019, new Modifier(200));
            //坎雷萨德·埃伯洛克 Kanrethad Ebonlocke ID:BT_309
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_309, new Modifier(200));
            //孢子首领姆希菲 Archspore Msshi'fn ID:BT_136
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_136, new Modifier(200));
            //莫顶级捕食者兹克索尔 Zixor, Apex Predator ID:BT_210
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_210, new Modifier(200));
            //阿卡玛 Akama ID:BT_713
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_713, new Modifier(200));
            //瓦丝琪女士 Lady Vashj ID:BT_109
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_109, new Modifier(200));
            //卡加斯·刃拳 Kargath Bladefist ID:BT_123
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_123, new Modifier(200));
            //终极卡加斯 Kargath Prime ID:BT_123t
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_123t, new Modifier(200));

            //随从优先解
            //提高战斗邪犬威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_351, 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.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));
            //提高巫师学徒 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));
            //提高连环腿大师 Whirlkick Master ID:ULD_231威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.ULD_231, new Modifier(200));
            //提高了不起的杰弗里斯 Zephrys the Great ID:ULD_003威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.ULD_003, new Modifier(200));
            //塞泰克织巢者 Sethekk Veilweaver ID:BT_254
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_254, new Modifier(199));
            //艾德温·范克里夫 Edwin VanCleef ID:EX1_613
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.EX1_613, new Modifier(200));
            //伊格诺斯 Il'gynoth ID:DMF_230
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DMF_230, new Modifier(200));
            //纳兹曼尼织血者 Nazmani Bloodweaver ID:DMF_120
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DMF_120, new Modifier(200));
            //加基森拍卖师 Gadgetzan Auctioneer ID:EX1_095
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.EX1_095, new Modifier(200));
            //菲里克·飞刺 Flik Skyshiv ID:DRG_037
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_037, new Modifier(200));
            //死亡守望者 Deathwarden ID:YOP_012
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOP_012, new Modifier(200));
            //决斗大师莫扎奇 Mozaki, Master Duelist ID:SCH_400
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.SCH_400, new Modifier(200));

            //如果对面是猎人,需要提高矮人神射手的威胁值
            if (board.EnemyClass == Card.CClass.HUNTER &&
                board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.DRG_253)
                )
            {
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_253, new Modifier(200));                //矮人神射手 Dwarven Sharpshooter ID:DRG_253
                //Bot.Log("对面是猎人要优先解掉神射手");
            }

            //如果对面是贼,需要提高魔杖窃贼的威胁值
            if (board.EnemyClass == Card.CClass.ROGUE &&
                board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.SCH_350)
                )
            {
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.SCH_350, new Modifier(199));                //魔杖窃贼 Wand Thief ID:SCH_350
                //Bot.Log("对面是潜行者要优先解掉魔杖窃贼");
            }

            //如果对面是贼,需要提高狐人老千的威胁值
            if (board.EnemyClass == Card.CClass.ROGUE &&
                board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.DMF_511)
                )
            {
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DMF_511, new Modifier(199));                //狐人老千 Foxy Fraud ID:DMF_511
                //Bot.Log("对面是潜行者要优先解掉狐人老千");
            }

            //如果对面是萨满,需要提高沙漠野兔的威胁值
            if (board.EnemyClass == Card.CClass.SHAMAN &&
                board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.ULD_719) ||
                board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.DMF_703) ||
                board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.DMF_703t) ||
                board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.DMF_706t)
                )
            {
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.ULD_719, new Modifier(200));                //沙漠野兔 Desert Hare ID:ULD_719
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DMF_703, new Modifier(200));                //死斗场管理者 Pit Master ID:DMF_703
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DMF_703t, new Modifier(200));               //死斗场管理者(已腐蚀) Pit Master ID:DMF_703t
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DMF_706t, new Modifier(200));               //大帐决斗者 Pavilion Duelist ID:DMF_706t
                //Bot.Log("对面是萨满要优先解掉野兔、死斗场决斗者");
            }

            //如果对面是萨满,需要优先解掉大眼睛
            if (board.EnemyClass == Card.CClass.SHAMAN &&
                board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.DMF_709)
                )
            {
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DMF_709, new Modifier(200));                //巨型图腾埃索尔 Grand Totem Eys'or ID:DMF_709
                //Bot.Log("对面是萨满优先解掉大眼睛");
            }

            //如果对面是瞎子提高血法师威胁值
            if (board.EnemyClass == Card.CClass.DEMONHUNTER &&
                board.MinionEnemy.Any(minion => minion.Template.Id == Card.Cards.EX1_012)
                )
            {
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.EX1_012, new Modifier(199));                //血法师萨尔诺斯 Bloodmage Thalnos ID:EX1_012
                //Bot.Log("对面是瞎子提高血法师威胁值");
            }

            //提高空中炮艇 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));
            //提高黑眼
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_307, new Modifier(200));
            //提高废料场巨像 Scrapyard Colossus  ID:BT_155
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_155, new Modifier(200));
            //改进型恐惧魔王 Enhanced Dreadlord  ID:BT_304
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_304, new Modifier(200));

            //狐人淬毒师 Vulpera Toxinblade  ID:SCH_519
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.SCH_519, new Modifier(200));
            //贪婪的书虫 Voracious Reader ID:SCH_142
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.SCH_142, new Modifier(200));
            //任务达人 Questing Adventurer ID:EX1_044
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.EX1_044, 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));

            //降低攻击优先值
            //降低资深探险者 Licensed Adventurer ID:YOD_030威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOD_030, new Modifier(70));
            //降低龙裔小鬼威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_238t12t2, new Modifier(60));

            //如果对面是进化萨,要考虑希拉斯转过去后要卖掉它
            if (board.EnemyClass == Card.CClass.SHAMAN)
            {
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DMF_074, new Modifier(200));
            }

            //泰坦跟班相关
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.ULD_616, new Modifier(200, Card.Cards.ULD_276));  //泰坦造物跟班 Titanic Lackey ID:ULD_616 ,怪盗图腾 EVIL Totem  ID:ULD_276
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.ULD_616, new Modifier(200, Card.Cards.NEW1_009)); //泰坦造物跟班 Titanic Lackey ID:ULD_616 ,治疗图腾 Healing Totem  ID:NEW1_009
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.ULD_616, new Modifier(200, Card.Cards.CS2_050));  //泰坦造物跟班 Titanic Lackey ID:ULD_616 ,灼热图腾 Searing Totem  ID:CS2_050
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.ULD_616, new Modifier(200, Card.Cards.CS2_051));  //泰坦造物跟班 Titanic Lackey ID:ULD_616 ,石爪图腾 Stoneclaw Totem  ID:CS2_051
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.ULD_616, new Modifier(200, Card.Cards.CS2_052));  //泰坦造物跟班 Titanic Lackey ID:ULD_616 ,空气之怒图腾 Wrath of Air Totem  ID:CS2_052

            return(p);
        }
Ejemplo n.º 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);

            //如果费用大于等于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);
        }
Ejemplo n.º 10
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);
        }
Ejemplo n.º 11
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);
        }
Ejemplo n.º 12
0
        //卡组列表
        //Card.Cards.EX1_607,//怒火中烧
        //Card.Cards.YOD_022,//冒进的艇长
        //Card.Cards.EX1_402,//铸甲师
        //Card.Cards.DRG_024,//空中悍匪
        //Card.Cards.EX1_392,//战斗怒火
        //Card.Cards.BT_124,//海盗藏品
        //Card.Cards.BT_156,//被禁锢的邪犬
        //Card.Cards.ULD_271,//受伤的托维尔人
        //Card.Cards.CS2_104,//狂暴
        //Card.Cards.DRG_025,//海盗之锚
        //Card.Cards.ULD_720,//血誓雇佣兵
        //Card.Cards.YOD_024,//炸弹牛仔
        //Card.Cards.NEW1_011,//库卡隆精英卫士
        //Card.Cards.DAL_063,//圣剑扳手
        //Card.Cards.NEW1_024,//绿皮船长
        //Card.Cards.DAL_064,//爆破之王砰砰
        //Card.Cards.BT_138,//沸血蛮兵
        //Card.Cards.DAL_060,//发条地精
        //Card.Cards.ULD_185,//神殿狂战士

        //具体策略
        public ProfileParameters GetParameters(Board board)
        {
            var p = new ProfileParameters(BaseProfile.Rush);

            p.DiscoverSimulationValueThresholdPercent = 10;

            //卡牌优先度调整
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_392, new Modifier(130));   //降低战斗怒火优先度
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_607, new Modifier(150));   //降低怒火中烧优先度
            p.CastWeaponsModifiers.AddOrUpdate(Card.Cards.DAL_063, new Modifier(-10));  //提高圣剑扳手优先度
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.YOD_024, new Modifier(-140)); //提高炸弹牛仔优先度
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.ULD_185, new Modifier(-40));  //提高神殿狂战士优先度
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DAL_064, new Modifier(-140)); //提高王砰砰优先度
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DRG_056, new Modifier(130));  //空降歹徒 

            //自定义命名
            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.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.ManaAvailable == 4 &&
                board.Hand.Exists(x => x.Template.Id == Card.Cards.DAL_063) &&
                board.Hand.Exists(x => x.Template.Id == Card.Cards.NEW1_024))
            {
                p.CastWeaponsModifiers.AddOrUpdate(Card.Cards.DAL_063, new Modifier(0));
            }//4费手里有圣剑扳手,绿皮船长,优先提刀

            if (BoardHelper.GetEnemyHealthAndArmor(board) <= 8)
            {
                p.WeaponsAttackModifiers.AddOrUpdate(Card.Cards.DAL_063, new Modifier(-100, board.HeroEnemy.Id));
            }//对面血少,优先砍脸



            //随从调整
            if ((board.FriendGraveyard.Count(card => CardTemplate.LoadFromId(card).Id == Card.Cards.DAL_063)//圣剑扳手
                 + board.FriendGraveyard.Count(card => CardTemplate.LoadFromId(card).Id == Card.Cards.DAL_060)) == 0 &&//发条地精
                !(board.WeaponFriend != null && board.WeaponFriend.Template.Id == Card.Cards.DAL_063) &&
                board.Hand.Exists(x => x.Template.Id == Card.Cards.DAL_064) ||    //爆破之王砰砰
                board.MinionFriend.Count >= 5)
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DAL_064, new Modifier(230));//爆破之王砰砰
            }//对方牌库没炸弹,不下爆破之王砰砰


            if (BoardHelper.GetSurvivalMinionEnemy(board).Count == 0 &&
                board.Hand.Exists(x => x.Template.Id == Card.Cards.YOD_022) &&//冒进的艇长
                board.Hand.Exists(x => x.Template.Id == Card.Cards.DAL_064) &&//爆破之王砰砰
                board.ManaAvailable >= 8 &&
                board.FriendGraveyard.Count(card => CardTemplate.LoadFromId(card).Id == Card.Cards.DAL_063) >= 1)
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DAL_064, new Modifier(-160)); //爆破之王砰砰
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.YOD_022, new Modifier(-100)); //冒进的艇长
            }//下艇长和王砰砰combo
            else if (board.MinionEnemy.Count == 0 &&
                     board.Hand.Exists(x => x.Template.Id == Card.Cards.YOD_022))          //冒进的艇长
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.YOD_022, new Modifier(200)); //冒进的艇长
            }//对面没随从,不轻易下艇长
            else if (board.FriendGraveyard.Count(card => CardTemplate.LoadFromId(card).Id == Card.Cards.DAL_063) >= 1 &&//圣剑扳手
                     board.Hand.Exists(x => x.Template.Id == Card.Cards.DAL_064))
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DAL_064, new Modifier(-150));//爆破之王砰砰
            }//对方牌库炸弹多,优先下爆破之王砰砰


            if (board.ManaAvailable >= 5 &&
                board.Hand.Exists(x => x.Template.Id == Card.Cards.DAL_064))               //爆破之王砰砰
            {
                p.CastWeaponsModifiers.AddOrUpdate(Card.Cards.DAL_063, new Modifier(-20)); //爆破之王砰砰
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DAL_060, new Modifier(80));  //发条地精
            }//手里有爆破之王砰砰,优先提圣剑扳手,优先下发条地精



            //法术调整
            if (board.Hand.Count <= 4 &&
                board.ManaAvailable >= 6)
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_392, new Modifier(50));//战斗怒火
            }//手牌过少,增加战斗怒火优先度


            if (((board.FriendGraveyard.Count(card => CardTemplate.LoadFromId(card).Type == Card.CType.WEAPON)
                  + board.Hand.Count(x => x.Template.Type == Card.CType.WEAPON)) < 2 &&
                 board.WeaponFriend != null) ||
                ((board.FriendGraveyard.Count(card => CardTemplate.LoadFromId(card).Type == Card.CType.WEAPON)
                  + board.Hand.Count(x => x.Template.Type == Card.CType.WEAPON)) < 3 &&
                 board.WeaponFriend == null) &&
                board.Hand.Count <= 6)
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_124, new Modifier(-71));//提高海盗藏品优先度
            }
            else if (((board.FriendGraveyard.Count(card => CardTemplate.LoadFromId(card).Type == Card.CType.WEAPON)
                       + board.Hand.Count(x => x.Template.Type == Card.CType.WEAPON)) < 2 &&
                      board.WeaponFriend != null) ||
                     ((board.FriendGraveyard.Count(card => CardTemplate.LoadFromId(card).Type == Card.CType.WEAPON)
                       + board.Hand.Count(x => x.Template.Type == Card.CType.WEAPON)) < 3 &&
                      board.WeaponFriend == null) &&
                     board.Hand.Count > 6)
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_124, new Modifier(-50));//提高海盗藏品优先度
            }
            else
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_124, new Modifier(1000));//降低海盗藏品优先度
            }
            return(p);
        }
Ejemplo n.º 13
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);
        }
Ejemplo n.º 14
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);
        }
        //攻击模式



        public ProfileParameters GetParameters(Board board)
        {
            //version 2.4.1 for 19.0HS



            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.DRUID ||
                board.EnemyClass == Card.CClass.PALADIN ||
                board.EnemyClass == Card.CClass.WARRIOR)
            {
                p.GlobalAggroModifier = (int)(a * 0.625 + 110.5);
            }
            else
            {
                p.GlobalAggroModifier = (int)(a * 0.625 + 110.5);
            }
            Bot.Log("攻击性:" + p.GlobalAggroModifier.Value);

            if (!board.MinionEnemy.Any(x => x.IsTaunt) &&
                (BoardHelper.GetEnemyHealthAndArmor(board) -
                 BoardHelper.GetPotentialMinionDamages(board) -
                 BoardHelper.GetPlayableMinionSequenceDamages(BoardHelper.GetPlayableMinionSequence(board), board) <=
                 BoardHelper.GetTotalBlastDamagesInHand(board)))
            {
                p.GlobalAggroModifier = 450;
            }//如果下一轮可以斩杀对面,攻击性提高

            //判定是否过载
            // bool guozai;
            // if (board.LockedMana == 0
            //  && board.OverloadedMana == 0){
            //  guozai = false;
            // }else{
            //  guozai = true;
            // }

            //卡片集合
            var ret = new List <Card.Cards>();

            //当前剩余的法力水晶
            var manaAvailable = board.ManaAvailable;

            //计算可用水晶数
            //如果手上有雷霆绽放,手动计算费用(Wirmate偷懒把雷霆绽放和硬币当成一个东西了)
            if (board.HasCardInHand(Card.Cards.SCH_427))
            {
                manaAvailable = manaAvailable + (board.Hand.Count(x => x.Template.Id == Card.Cards.SCH_427) * 2);
            }

            //如果手上有硬币,手动计算费用(Wirmate偷懒把雷霆绽放和硬币当成一个东西了)
            if (board.HasCardInHand(Card.Cards.GAME_005))
            {
                manaAvailable = manaAvailable + (board.Hand.Count(x => x.Template.Id == Card.Cards.GAME_005) * 1);
            }

            //日志输出
            //我方本回合可用水晶
            Bot.Log("我方本回合可用水晶:" + board.ManaAvailable);
            //我方最大法力水晶
            Bot.Log("我方最大法力水晶:" + board.MaxMana);
            //法术提供的可用总水晶上限
            Bot.Log("法术提供的可用总水晶上限:" + manaAvailable);

            //如果对面是奇数骑,优先解掉白银之手新兵
            // if (board.EnemyAbility.Template.Id == Card.Cards.HERO_04bp2){
            //  p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.CS2_101t, new Modifier(200));
            // }
            //如果对面是德,随从大于等于4,优先解场
            if (board.EnemyAbility.Template.Id == Card.Cards.HERO_06bp &&
                board.MinionEnemy.Count >= 4
                )
            {
                p.GlobalAggroModifier = 40;
            }

            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;
            }



            //如果下一轮可以斩杀对面提高洛欧塞布 Loatheb  ID:FP1_030
            if (board.HasCardInHand(Card.Cards.FP1_030) && //洛欧塞布 Loatheb  ID:FP1_030
                !board.MinionEnemy.Any(x => x.IsTaunt) &&
                (BoardHelper.GetEnemyHealthAndArmor(board) - BoardHelper.GetPotentialMinionDamages(board) - BoardHelper.GetPlayableMinionSequenceDamages(BoardHelper.GetPlayableMinionSequence(board), board) <= BoardHelper.GetTotalBlastDamagesInHand(board)) ||
                myAttack >= (board.HeroEnemy.CurrentHealth) - 5
                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.FP1_030, new Modifier(-500));                        //洛欧塞布 Loatheb  ID:FP1_030
            }
            // //如果下一轮可以斩杀对面提高洛欧塞布 Loatheb  ID:FP1_030
            // if (board.SecretEnemy == 0 //对手有奥秘
            // && !board.MinionEnemy.Any(x => x.IsTaunt)
            // && (BoardHelper.GetEnemyHealthAndArmor(board) - BoardHelper.GetPotentialMinionDamages(board) - BoardHelper.GetPlayableMinionSequenceDamages(BoardHelper.GetPlayableMinionSequence(board), board) <= BoardHelper.GetTotalBlastDamagesInHand(board))
            // ){
            //  p.GlobalAggroModifier = 450;
            // }


            //具体策略



            //如果场上多过4个怪,而且手上有洛欧塞布,提高洛欧塞布的优先级
            if ((board.MinionFriend.Count >= 4) &&
                (board.ManaAvailable >= 5) &&
                (board.Hand.Exists(x => x.Template.Id == Card.Cards.FP1_030))
                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.FP1_030, new Modifier(-50));
            }
            else
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.FP1_030, new Modifier(250));
            }



            //如果对方费用大于5,而且对面是牧师,提高洛欧塞布和古神的优先级
            if ((board.EnemyMaxMana >= 5) &&
                (board.EnemyClass == Card.CClass.PRIEST)
                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.FP1_030, new Modifier(-50));
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DMF_236, new Modifier(-50));
            }

            //对面是牧师,火车王随便下
            if (board.EnemyClass == Card.CClass.PRIEST)
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_116, new Modifier(-50));                //修改火车王的优先级
                //提高雏龙威胁值雏龙 Whelp ID:EX1_116t
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.EX1_116t, new Modifier(100));
            }
            //对面是牧师,随便下
            if (board.EnemyClass == Card.CClass.PRIEST)
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.UNG_926, new Modifier(-999));                //身陷绝境的哨卫 Cornered Sentry ID:UNG_926
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.UNG_076t1, new Modifier(100));  //迅猛龙 Raptor ID:UNG_076t1
            }
            //对面是牧师,厄运信天翁 Bad Luck Albatross ID:DRG_071随便下
            if (board.EnemyClass == Card.CClass.PRIEST &&
                board.EnemyClass == Card.CClass.WARLOCK
                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DRG_071, new Modifier(-999));                //厄运信天翁 Bad Luck Albatross ID:DRG_071
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_071t, new Modifier(100));   //信天翁 Albatross ID:DRG_071t
            }

            //对面是牧师,厄运信天翁 Bad Luck Albatross ID:DRG_071随便下
            if (board.EnemyClass == Card.CClass.MAGE)
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DRG_071, new Modifier(-999));                //厄运信天翁 Bad Luck Albatross ID:DRG_071
                // p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_071t, new Modifier(200));//信天翁 Albatross ID:DRG_071t
            }



            //对面没随从,降低扫帚和巴罗夫优先级
            if (board.MinionEnemy.Count <= 1 &&
                board.HasCardInHand(Card.Cards.SCH_311) ||//活化扫帚 Animated Broomstick  ID:SCH_311
                board.HasCardInHand(Card.Cards.SCH_526)//巴罗夫领主 Lord Barov  ID:SCH_526
                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.SCH_311, new Modifier(150));         //活化扫帚 Animated Broomstick  ID:SCH_311
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.SCH_526, new Modifier(200));         //巴罗夫领主 Lord Barov  ID:SCH_526
            }
            //对面随从大于3,提高巴罗夫
            if (board.MinionEnemy.Count > board.MinionFriend.Count &&
                board.HasCardInHand(Card.Cards.SCH_526)//巴罗夫领主 Lord Barov  ID:SCH_526
                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.SCH_526, new Modifier(-20));         //巴罗夫领主 Lord Barov  ID:SCH_526
            }
//海盗战策略
//当手上有圣剑扳手 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) &&
                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(-9999));  //升级 Upgrade!  ID:EX1_409
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.OG_315, new Modifier(-9999));  //血帆教徒 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.WeaponFriend.CurrentDurability >= 1 &&
                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
                board.HasCardInHand(Card.Cards.DMF_521)   //吞剑艺人 Sword Eater ID:DMF_521
                )
            {
                ;
            }
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.OG_312, new Modifier(999));  //Card.Cards.OG_312,//恩佐斯的副官
                p.CastWeaponsModifiers.AddOrUpdate(Card.Cards.DAL_063, new Modifier(999)); //Card.Cards.DAL_063,//圣剑扳手
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DRG_055, new Modifier(999)); //藏宝匪贼 Hoard Pillager  ID:DRG_055
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DMF_521, new Modifier(999)); //吞剑艺人 Sword Eater ID:DMF_521
            }


            //当手上有Card.Cards.DAL_063,//圣剑扳手时,降低海盗刀优先值,降低波力优先值
            if (board.WeaponFriend != null &&
                (board.WeaponFriend.Template.Id == Card.Cards.DAL_063) &&//Card.Cards.DAL_063,//圣剑扳手
                board.WeaponFriend.CurrentDurability >= 1 &&
                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
                board.HasCardInHand(Card.Cards.DMF_521)   //吞剑艺人 Sword Eater ID:DMF_521
                )
            {
                ;
            }
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.OG_312, new Modifier(999));  //Card.Cards.OG_312,//恩佐斯的副官
                p.CastWeaponsModifiers.AddOrUpdate(Card.Cards.DRG_025, new Modifier(999)); //海盗之锚 Ancharrr  ID:DRG_025
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DRG_055, new Modifier(999)); //藏宝匪贼 Hoard Pillager  ID:DRG_055
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DMF_521, new Modifier(999)); //吞剑艺人 Sword Eater ID:DMF_521
            }
            //当手上有断颚之刃 Jawbreaker ID:DMF_521t 时,降低海盗刀优先值,降低波力优先值
            if (board.WeaponFriend != null &&
                (board.WeaponFriend.Template.Id == Card.Cards.DMF_521t) &&
                board.WeaponFriend.CurrentDurability >= 1 &&
                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
                board.HasCardInHand(Card.Cards.DMF_521) ||//吞剑艺人 Sword Eater ID:DMF_521
                board.HasCardInHand(Card.Cards.DAL_063)   //Card.Cards.DAL_063,//圣剑扳手
                )
            {
                ;
            }
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.OG_312, new Modifier(999));  //Card.Cards.OG_312,//恩佐斯的副官
                p.CastWeaponsModifiers.AddOrUpdate(Card.Cards.DRG_025, new Modifier(999)); //海盗之锚 Ancharrr  ID:DRG_025
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DRG_055, new Modifier(999)); //藏宝匪贼 Hoard Pillager  ID:DRG_055
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DMF_521, new Modifier(999)); //吞剑艺人 Sword Eater ID:DMF_521
                p.CastWeaponsModifiers.AddOrUpdate(Card.Cards.DAL_063, new Modifier(999)); //Card.Cards.DAL_063,//圣剑扳手
            }

            //当手上没有有海盗之锚 Ancharrr  ID:DRG_025时,降低升级优先值,降低波力优先值
            if (board.HasCardInHand(Card.Cards.EX1_409) &&//升级 Upgrade!  ID:EX1_409
                !(board.WeaponFriend != null && board.WeaponFriend.Template.Id == Card.Cards.DRG_025) || //海盗之锚 Ancharrr  ID:DRG_025
                !(board.WeaponFriend != null && board.WeaponFriend.Template.Id == Card.Cards.DAL_063)   //Card.Cards.DAL_063,//圣剑扳手
                )
            {
                ;
            }
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_409, new Modifier(300));//升级 Upgrade!  ID:EX1_409
            }



            //当手上有锈蚀铁钩 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   //对方是法师
                )
            {
                p.CastWeaponsModifiers.AddOrUpdate(Card.Cards.DAL_063, new Modifier(-50));//牧师优先挂扳手
            }


            if (board.Hand.Exists(x => x.Template.Id == Card.Cards.BT_124) &&//海盗藏品 Corsair Cache  ID:BT_124
                board.EnemyClass == Card.CClass.PRIEST || //对方是牧师
                board.EnemyClass == Card.CClass.MAGE  //对方是法师
                )
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_124, new Modifier(-50));   //海盗藏品 Corsair Cache  ID:BT_124
            }


            //八爪鱼
            {
                int shoupaiCount = board.Hand.Count;
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.ULD_177, new Modifier(80 * (shoupaiCount - 5)));//八爪巨怪 Octosari  ID:ULD_177
            }

            //场上有八爪鱼,手牌小于等于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
            }
            //书虫
            if (board.Hand.Count <= 3 &&
                board.HasCardInHand(Card.Cards.SCH_142)   //贪婪的书虫 Voracious Reader  ID:SCH_142
                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.SCH_142, new Modifier(-40));    //贪婪的书虫 Voracious Reader  ID:SCH_142
            }
            else
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.SCH_142, new Modifier(300));    //贪婪的书虫 Voracious Reader  ID:SCH_142
            }
            //如果场上有鲨鳍后援 Sharkfin Fan ID:TRL_507 ,手上有空中炮艇 Skybarge  ID:DRG_023,手上有刀,提高空中炮艇优先级
            if (board.HasCardOnBoard(Card.Cards.TRL_507) &&
                board.HasCardInHand(Card.Cards.DRG_023) &&
                board.WeaponFriend != null
                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DRG_023, new Modifier(-999));
            }

            //空降歹徒
            if (board.Hand.Count >= 5 &&
                board.Hand.Count == 1
                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DRG_023, new Modifier(-20));
            }



            //武器优先值
            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(-50));   //锈蚀铁钩 Rusty Hook  ID:OG_058
            p.WeaponsAttackModifiers.AddOrUpdate(Card.Cards.DRG_025, new Modifier(-200)); //海盗之锚 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(-50));  //Card.Cards.DAL_063,//圣剑扳手
            p.WeaponsAttackModifiers.AddOrUpdate(Card.Cards.DMF_521t, new Modifier(-50)); //断颚之刃 Jawbreaker ID:DMF_521t

            //法术
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_409, new Modifier(50));   //升级 Upgrade!  ID:EX1_409
            p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_124, new Modifier(-40));   //海盗藏品 Corsair Cache  ID:BT_124



            //随从
            // p.CastMinionsModifiers.AddOrUpdate(Card.Cards.AT_075, new Modifier(150)); //战马训练师 Warhorse Trainer ID:AT_075
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.SCH_311, new Modifier(150)); //活化扫帚 Animated Broomstick  ID:SCH_311
            p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DMF_521, new Modifier(-5));  //吞剑艺人 Sword Eater ID:DMF_521
            // p.CastMinionsModifiers.AddOrUpdate(Card.Cards.SCH_526, new Modifier(200)); //巴罗夫领主 Lord Barov  ID:SCH_526
            // p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DMF_240, new Modifier(-350));//救赎者洛萨克森 Lothraxion the Redeemed ID:DMF_240
            //不送的怪
            p.OnBoardFriendlyMinionsValuesModifiers.AddOrUpdate(Card.Cards.SCH_142, new Modifier(300)); //修饰贪婪的书虫 Voracious Reader  ID:SCH_142
            p.OnBoardFriendlyMinionsValuesModifiers.AddOrUpdate(Card.Cards.DRG_023, new Modifier(300)); //修饰空中炮艇 Skybarge  ID:DRG_023
            p.OnBoardFriendlyMinionsValuesModifiers.AddOrUpdate(Card.Cards.GVG_075, new Modifier(300)); //修饰船载火炮
            p.OnBoardFriendlyMinionsValuesModifiers.AddOrUpdate(Card.Cards.TRL_507, new Modifier(300)); //修饰鲨鳍后援 Sharkfin Fan ID:TRL_507
            // p.OnBoardFriendlyMinionsValuesModifiers.AddOrUpdate(Card.Cards.DMF_237, new Modifier(500)); //修饰狂欢报幕员 Carnival Barker ID:DMF_237,数值越高越保守,就是不会拿去交换随从

            //武器优先值
            // 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.CS2_087, new Modifier(150));//力量祝福 Blessing of Might  ID:CS2_087
            // p.CastSpellsModifiers.AddOrUpdate(Card.Cards.SCH_138, new Modifier(50));//威能祝福 Blessing of Authority  ID:SCH_138
            // p.CastSpellsModifiers.AddOrUpdate(Card.Cards.UNG_961, new Modifier(40));//适者生存 Adaptation  ID:UNG_961
            // p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BOT_909, new Modifier(-40));//水晶学 Crystology  ID:BOT_909
            //  p.CastSpellsModifiers.AddOrUpdate(Card.Cards.DMF_244, new Modifier(100));//游园日 Day at the Faire ID:DMF_244
            //  p.CastSpellsModifiers.AddOrUpdate(Card.Cards.DMF_244t, new Modifier(-20));//游园日 Day at the Faire ID:DMF_244t

            //场上有5个及以上的随从就不要用詹迪斯·巴罗夫 Jandice Barov ID:SCH_351
            if (board.MinionFriend.Count >= 5 &&
                board.HasCardInHand(Card.Cards.SCH_351)
                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.SCH_351, new Modifier(600));                //詹迪斯·巴罗夫 Jandice Barov ID:SCH_351
                Bot.Log("随从太多不用詹迪斯·巴罗夫");
            }


            //如果对面是奇数骑,优先解掉白银之手新兵、狂欢报幕员、夜色镇执法官
            if (board.EnemyAbility.Template.Id == Card.Cards.HERO_04bp2)
            {
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.CS2_101t, new Modifier(200));              //白银之手新兵
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DMF_237, new Modifier(210));               //狂欢报幕员 Carnival Barker ID:DMF_237
                p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.OG_310, new Modifier(220));                //夜色镇执法官 Steward of Darkshire ID:OG_310
            }

            if (board.Hand.Count <= 3 &&
                board.HasCardInHand(Card.Cards.SCH_142)   //贪婪的书虫 Voracious Reader  ID:SCH_142
                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.SCH_142, new Modifier(-40));    //贪婪的书虫 Voracious Reader  ID:SCH_142
            }
            else
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.SCH_142, new Modifier(300));    //贪婪的书虫 Voracious Reader  ID:SCH_142
            }

            //场上有书虫,提高手里硬币优先值
            if (board.HasCardOnBoard(Card.Cards.SCH_142) &&  //贪婪的书虫 Voracious Reader  ID:SCH_142
                board.HasCardInHand(Card.Cards.GAME_005)
                )
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.GAME_005, new Modifier(-10));
            }


            //奇数骑技能提高
            //  p.CastSpellsModifiers.AddOrUpdate(Card.Cards.HERO_04bp2, new Modifier(-20));


            //提高战斗邪犬威胁值
            p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_351, new Modifier(200));
            //优先用任务
            if (board.HasCardInHand(Card.Cards.SW_028) &&
                board.HasCardInHand(Card.Cards.GAME_005)
                )
            {
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.SW_028, new Modifier(-9999));                //开进码头 Raid the Docks ID:SW_028
                p.CastSpellsModifiers.AddOrUpdate(Card.Cards.GAME_005, new Modifier(200));                //硬币
                Bot.Log("不叫硬币直接交任务");
            }
            //随从数小于5直接拍船长
            if (board.MinionFriend.Count <= 5 &&
                board.HasCardInHand(Card.Cards.SW_028t5)
                )
            {
                p.CastMinionsModifiers.AddOrUpdate(Card.Cards.SW_028t5, new Modifier(-9999));                //船长洛卡拉 Cap'n Rokara ID:SW_028t5
                Bot.Log("随从数量少于5直接拍船长");
            }



            return(p);
        }