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); } }
//具体策略 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); }
//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); }
//具体策略 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); }
//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); }
//具体策略 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); }
//具体策略 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); }
//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); }
//具体策略 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); }
//具体策略 public ProfileParameters GetParameters(Board board) { Card z = board.Hand.Find(x => x.Template.Id > 0); Card y = board.Hand.FindLast(x => x.Template.Id > 0); int OutcastCards = board.Hand.Count(x => x.CurrentCost > 0 && BoardHelper.IsOutCastCard(x, board) == true); int GuldanOutcastCards = board.Hand.Count(x => x.CurrentCost > 0 && BoardHelper.IsGuldanOutCastCard(x, board) == true); Bot.Log("OutcastCards: " + (int)(OutcastCards + GuldanOutcastCards)); //Bot.Log("玩家信息: " + rank+"/n"+Legend); var p = new ProfileParameters(BaseProfile.Rush) { DiscoverSimulationValueThresholdPercent = -10 }; p.CastSpellsModifiers.AddOrUpdate(TheCoin, new Modifier(85)); //如果敌人生命小于15 if (BoardHelper.GetEnemyHealthAndArmor(board) <= 19) { p = new ProfileParameters(BaseProfile.Face); //则切换为打脸模式 } //场上有特殊坐骑商人,提高法术优先级 if (board.HasCardOnBoard(Card.Cards.DAL_774)//特殊坐骑商人 ) { p.CastSpellsModifiers.AddOrUpdate(Card.Cards.EX1_154, new Modifier(-399)); //愤怒 p.CastSpellsModifiers.AddOrUpdate(Card.Cards.FB_Champs_EX1_169, new Modifier(-399)); //激活 p.CastSpellsModifiers.AddOrUpdate(Card.Cards.DAL_350, new Modifier(-399)); //水晶之力 p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_132, new Modifier(-399)); //铁木树皮 p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_134, new Modifier(-399)); //沼泽射线 } //费用大于等于3且耐久值为1,手上有战刃,提高棕红优先值 if (board.ManaAvailable >= 3 && board.WeaponFriend != null && board.WeaponFriend.Template.Id == Card.Cards.BT_922 &&//棕红之翼 board.WeaponFriend.CurrentDurability == 1 && board.HasCardInHand(Card.Cards.BT_430)) //埃辛诺斯战刃 { p.GlobalWeaponsAttackModifier = 100; } //如果费用等于4,手上有法力燃烧,提高法力燃烧和任务达人优先级 if (board.ManaAvailable == 4 && board.HasCardInHand(Card.Cards.EX1_044) && //任务达人 board.HasCardInHand(Card.Cards.BT_753) //法力燃烧 ) { p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_044, new Modifier(-300)); //任务达人 p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_753, new Modifier(-250)); //法力燃烧 } //如果费用等于3,手上没有硬币或者手上有双刃斩击,降低任务达人优先级 if (board.ManaAvailable == 3 && board.HasCardInHand(Card.Cards.EX1_044) && //任务达人 !board.HasCardInHand(Card.Cards.GAME_005) || //幸运币 !board.HasCardInHand(Card.Cards.BT_175) ||//双刃斩击 !board.HasCardInHand(Card.Cards.BT_175t)//二次斩击 ) { p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_044, new Modifier(500)); //任务达人 } //如果费用等于2,降低任务达人优先级 if (board.ManaAvailable == 2 && board.HasCardInHand(Card.Cards.EX1_044) && //任务达人 board.HasCardInHand(Card.Cards.GAME_005) //幸运币 ) { p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_044, new Modifier(99999)); //任务达人 } //冲锋怪 if (board.EnemyClass == Card.CClass.PRIEST && (!(board.MinionEnemy.Any(x => x.IsTaunt)))) { p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_187, new Modifier(500)); } //萨特建工 if (board.MaxMana == 3 && (!(board.HasCardInHand(Card.Cards.GAME_005))) && (!(board.WeaponFriend != null)) && (!(board.HasCardInHand(Card.Cards.BT_175) || board.HasCardInHand(Card.Cards.BT_175t)))) { p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_352, new Modifier(200)); } //p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_491, new Modifier(-235)); //费用等于5,手上有刃缚精锐和双刃斩击,提高双刃和二次斩击斩击优先级 if (board.ManaAvailable == 5 &&//费用等于5 board.HasCardInHand(Card.Cards.BT_495) && //刃缚精锐 board.HasCardInHand(Card.Cards.BT_175) && //双刃斩击 board.HasCardInHand(Card.Cards.BT_175t) //二次斩击 ) { p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_175, new Modifier(-300)); //双刃斩击 p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_175t, new Modifier(-300)); //二次斩击 } //手上有暴怒的邪鳍,使用前提高恶魔之爪的优先值 if (board.HasCardInHand(Card.Cards.BT_496)) //暴怒的邪鳍 { p.CastHeroPowerModifier.AddOrUpdate(Card.Cards.HERO_10p, new Modifier(55)); //恶魔之爪 } if (board.WeaponEnemy != null && board.EnemyClass == Card.CClass.DEMONHUNTER) //软泥怪解武器 { if (board.WeaponEnemy.Template.Id == Card.Cards.BT_921) //奥达奇战刃 { p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_066, new Modifier(50)); //酸性沼泽软泥怪 } else { p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_066, new Modifier(600));//酸性沼泽软泥怪 } } if (board.ManaAvailable >= 6 && board.Hand.Count <= 5 && board.HasCardInHand(Card.Cards.BT_601)) { p.CastWeaponsModifiers.AddOrUpdate(Card.Cards.BT_601, new Modifier(50)); }//如果当前剩余法力水晶大于等于6,手牌数量小于等于5并且手牌中有古尔丹头颅 //当费用等于1,不使用法力燃烧 if (board.ManaAvailable == 1 ) { p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_753, new Modifier(8000));//法力燃烧 } //如果手上有暴怒邪吼者和愤怒的女祭司,提高暴怒的邪吼者优先级 if (board.Hand.Exists(x => x.Template.Id == Card.Cards.BT_416) &&//暴怒邪吼者 (board.Hand.Exists(x => x.Template.Id == Card.Cards.BT_493)) //愤怒的女祭司 ) { p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_416, new Modifier(-300));//暴怒邪吼者 } //如果场上有暴怒的邪吼者 ,提高女祭司优先级 if (board.MinionFriend.Any(minion => minion.Template.Id == Card.Cards.BT_416) &&//暴怒邪吼者 (board.Hand.Exists(x => x.Template.Id == Card.Cards.BT_493)) ||//愤怒的女祭司 (board.Hand.Exists(x => x.Template.Id == Card.Cards.BT_407)) ||//乌祖尔恐魔 (board.Hand.Exists(x => x.Template.Id == Card.Cards.BT_351)) ||//战斗邪犬2 (board.Hand.Exists(x => x.Template.Id == Card.Cards.BT_323)) ||//盲眼监视者 (board.Hand.Exists(x => x.Template.Id == Card.Cards.BT_352)) &&//萨特监工 (board.Hand.Exists(x => x.Template.Id == Card.Cards.YOD_032)) //YOD_032,//狂暴邪翼蝠13 ) { p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_493, new Modifier(-900)); //暴怒邪吼者 p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_407, new Modifier(300)); //乌祖尔恐魔 p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_351, new Modifier(300)); //战斗邪犬2 p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_323, new Modifier(300)); //盲眼监视者 p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_352, new Modifier(300)); //萨特监工 p.CastMinionsModifiers.AddOrUpdate(Card.Cards.YOD_032, new Modifier(300)); //狂暴邪翼蝠13 } //武器优先值 //棕红之翼 p.WeaponsAttackModifiers.AddOrUpdate(Cards.Umberwing, new Modifier(200)); //法术优先值 //恶魔变形 p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_429, new Modifier(-35)); //古尔丹之颅 p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_601, new Modifier(-55)); //幽灵视觉 p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_491, new Modifier(-5)); //法力燃烧 p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_753, new Modifier(-30)); //混乱打击 p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_035, new Modifier(-10)); //吞噬魔法 p.CastSpellsModifiers.AddOrUpdate(Card.Cards.BT_490, new Modifier(134)); //随从优先值 //降低玛维优先级 p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_737, new Modifier(100)); //任务达人 p.CastMinionsModifiers.AddOrUpdate(Card.Cards.EX1_044, new Modifier(-80)); //盲眼监视者 p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_323, new Modifier(-30)); //特殊坐骑商人 p.CastMinionsModifiers.AddOrUpdate(Card.Cards.DAL_774, new Modifier(-200)); //降低玛维吃自己怪 // p.CastMinionsModifiers.AddOrUpdate(Card.Cards.LOOT_161, new Modifier(300, Card.Cards.FP1_022));//降低魔块吃空灵 p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_737, new Modifier(300, Card.Cards.BT_407)); //降低玛维吃乌祖尔恐魔 p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_737, new Modifier(300, Card.Cards.BT_351)); //降低玛维吃战斗邪犬2 p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_737, new Modifier(300, Card.Cards.BT_937)); //降低玛维吃流放者奥图里斯9 p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_737, new Modifier(300, Card.Cards.BT_352)); //降低玛维吃萨特监工11 p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_737, new Modifier(300, Card.Cards.BT_814)); //降低玛维吃伊利达雷邪刃武士 p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_737, new Modifier(300, Card.Cards.BT_493)); //降低玛维吃愤怒的女祭司 p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_737, new Modifier(300, Card.Cards.BT_187)); //降低玛维吃凯恩·日怒 12 p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_737, new Modifier(300, Card.Cards.YOD_032)); //降低玛维吃狂暴邪翼蝠13 p.CastMinionsModifiers.AddOrUpdate(Card.Cards.BT_737, new Modifier(300, Card.Cards.BT_416)); //降低玛维吃暴怒邪吼者 //随从优先解 //提高战斗邪犬威胁值 p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_351, new Modifier(200)); //螃蟹应该解 p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BOT_700, new Modifier(200)); //炸弹牛仔应该解 p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOD_024, new Modifier(200)); //提高相位威胁值 p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_252, new Modifier(200)); //提高热气球威胁值 p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_057, new Modifier(200)); //提高空中私掠者威胁值 p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOD_016, new Modifier(200)); //提高搬水工威胁值 p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.ULD_270, new Modifier(200)); //提高凶恶的废钢猎犬威胁值 p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_759, new Modifier(200)); //提高神殿狂战士威胁值 p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.ULD_185, new Modifier(200)); //大法师瓦格斯 p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_558, new Modifier(200)); //提高厄运信天翁 p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_071, new Modifier(200)); //提高高级跟班厄尔克 p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOD_035, new Modifier(200)); //提高狂奔的魔刃豹 p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.YOD_006, new Modifier(200)); //提高卡雷苟斯 p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_609, new Modifier(200)); //提高希亚玛特 p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.ULD_178, new Modifier(200)); //提高齐恩瓦拉 p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_104, new Modifier(200)); //提高机械袋鼠 p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BOT_445, new Modifier(200)); //提高机械袋鼠宝宝 p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BOT_445t, new Modifier(300)); //提高雏龙 p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.EX1_116t, new Modifier(200)); //提高铸甲师 p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.EX1_402, new Modifier(200)); //提高无面渗透者威胁值 p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_039, new Modifier(200)); //提高鲨鱼之灵威胁值 p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.TRL_092, new Modifier(200)); //提高灭龙弩炮威胁值 p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_256, new Modifier(200)); //提高飞刺威胁值 p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_037, new Modifier(200)); //提高奇利亚斯威胁值 p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BOT_548, new Modifier(200)); //提高流放者奥图里斯威胁值 p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_937, new Modifier(200)); //提高暗影珠宝师汉纳尔威胁值 p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_188, new Modifier(9999)); //提高萨特监工威胁值 p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_352, new Modifier(200)); //提高怒鳞纳迦威胁值 p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.BT_355, new Modifier(200)); //提高特殊坐骑商人威胁值 p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DAL_774, new Modifier(200)); //降低龙裔小鬼威胁值 p.OnBoardBoardEnemyMinionsModifiers.AddOrUpdate(Card.Cards.DRG_238t12t2, new Modifier(-200)); return(p); }
//攻击模式 public ProfileParameters GetParameters(Board board) { Card z = board.Hand.Find(x => x.Template.Id > 0); Card y = board.Hand.FindLast(x => x.Template.Id > 0); int OutcastCards = board.Hand.Count(x => x.CurrentCost > 0 && BoardHelper.IsOutCastCard(x, board) == true); int GuldanOutcastCards = board.Hand.Count(x => x.CurrentCost > 0 && BoardHelper.IsGuldanOutCastCard(x, board) == true); Bot.Log("OutcastCards: " + (int)(OutcastCards + GuldanOutcastCards)); //Bot.Log("玩家信息: " + rank+"/n"+Legend); var p = new ProfileParameters(BaseProfile.Rush) { DiscoverSimulationValueThresholdPercent = -10 }; p.CastSpellsModifiers.AddOrUpdate(TheCoin, new Modifier(85)); //自定义命名 int a = (board.HeroFriend.CurrentHealth + board.HeroFriend.CurrentArmor) - BoardHelper.GetEnemyHealthAndArmor(board);//敌我血量差 //攻击模式切换 if (board.EnemyClass == Card.CClass.DEMONHUNTER || board.EnemyClass == Card.CClass.HUNTER || board.EnemyClass == Card.CClass.ROGUE || board.EnemyClass == Card.CClass.SHAMAN || board.EnemyClass == Card.CClass.PALADIN || board.EnemyClass == Card.CClass.WARRIOR) { p.GlobalAggroModifier = (int)(a * 0.625 + 96.5); } else { p.GlobalAggroModifier = (int)(a * 0.625 + 103.5); } Bot.Log("攻击性:" + p.GlobalAggroModifier.Value); //具体策略 //图腾体系 //费用大于等于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); }
//卡组列表 //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); }
//具体策略 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); }
//具体策略 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); }