Commit 1f9ceee2 authored by 苍蓝's avatar 苍蓝

传说更新

parent b7592a90
Pipeline #19984 failed with stage
in 23 seconds
...@@ -21,6 +21,7 @@ namespace WindBot.Game.AI.Decks ...@@ -21,6 +21,7 @@ namespace WindBot.Game.AI.Decks
AddExecutor(ExecutorType.SummonOrSet, ImFeelingLazy); AddExecutor(ExecutorType.SummonOrSet, ImFeelingLazy);
AddExecutor(ExecutorType.Repos, DefaultMonsterRepos); AddExecutor(ExecutorType.Repos, DefaultMonsterRepos);
AddExecutor(ExecutorType.Activate, _CardId.海龙骑士, 海龙骑士Effect);
AddExecutor(ExecutorType.Activate, _CardId.大风暴, 大风暴Effect); AddExecutor(ExecutorType.Activate, _CardId.大风暴, 大风暴Effect);
AddExecutor(ExecutorType.Activate, _CardId.魔法筒, 魔法筒Effect); AddExecutor(ExecutorType.Activate, _CardId.魔法筒, 魔法筒Effect);
AddExecutor(ExecutorType.Activate, _CardId.炸甲, 炸甲Effect); AddExecutor(ExecutorType.Activate, _CardId.炸甲, 炸甲Effect);
...@@ -29,6 +30,7 @@ namespace WindBot.Game.AI.Decks ...@@ -29,6 +30,7 @@ namespace WindBot.Game.AI.Decks
AddExecutor(ExecutorType.Activate, _CardId.圣防, 圣防Effect); AddExecutor(ExecutorType.Activate, _CardId.圣防, 圣防Effect);
AddExecutor(ExecutorType.Activate, _CardId.暗黑释放, 圣防Effect); AddExecutor(ExecutorType.Activate, _CardId.暗黑释放, 圣防Effect);
AddExecutor(ExecutorType.Activate, _CardId.手枪龙, 手枪龙Effect); AddExecutor(ExecutorType.Activate, _CardId.手枪龙, 手枪龙Effect);
AddExecutor(ExecutorType.Activate, _CardId.最强战旗, 最强战旗Eff);
AddExecutor(ExecutorType.Activate, _CardId.MysticalSpaceTyphoon, DefaultMysticalSpaceTyphoon); AddExecutor(ExecutorType.Activate, _CardId.MysticalSpaceTyphoon, DefaultMysticalSpaceTyphoon);
AddExecutor(ExecutorType.Activate, _CardId.CosmicCyclone, DefaultCosmicCyclone); AddExecutor(ExecutorType.Activate, _CardId.CosmicCyclone, DefaultCosmicCyclone);
AddExecutor(ExecutorType.Activate, _CardId.GalaxyCyclone, DefaultGalaxyCyclone); AddExecutor(ExecutorType.Activate, _CardId.GalaxyCyclone, DefaultGalaxyCyclone);
...@@ -87,12 +89,17 @@ namespace WindBot.Game.AI.Decks ...@@ -87,12 +89,17 @@ namespace WindBot.Game.AI.Decks
AddExecutor(ExecutorType.Summon, _CardId.LeftLegofTheForbiddenOne, JustDontIt); AddExecutor(ExecutorType.Summon, _CardId.LeftLegofTheForbiddenOne, JustDontIt);
AddExecutor(ExecutorType.Summon, _CardId.RightArmofTheForbiddenOne, JustDontIt); AddExecutor(ExecutorType.Summon, _CardId.RightArmofTheForbiddenOne, JustDontIt);
AddExecutor(ExecutorType.Summon, _CardId.ExodiaTheForbiddenOne, JustDontIt); AddExecutor(ExecutorType.Summon, _CardId.ExodiaTheForbiddenOne, JustDontIt);
AddExecutor(ExecutorType.Activate, _CardId.死苏, 死苏Effect);
AddExecutor(ExecutorType.Activate, _CardId.死苏2, 死苏Effect);
AddExecutor(ExecutorType.Activate, _CardId.最强战旗, 最强战旗Effect);
AddExecutor(ExecutorType.Activate, _CardId.钢机神, 钢机神1Effect);
AddExecutor(ExecutorType.Activate, _CardId.钢机神, 钢机神Effect);
AddExecutor(ExecutorType.Summon, _CardId.伟大魔兽, 伟大魔兽Sum); AddExecutor(ExecutorType.Summon, _CardId.伟大魔兽, 伟大魔兽Sum);
AddExecutor(ExecutorType.MonsterSet, _CardId.千年盾, DefaultMonsterSummon); AddExecutor(ExecutorType.MonsterSet, _CardId.千年盾, DefaultMonsterSummon);
AddExecutor(ExecutorType.Activate, _CardId.死供, 死供Effect); AddExecutor(ExecutorType.Activate, _CardId.死供, 死供Effect);
AddExecutor(ExecutorType.Activate, _CardId.耳语妖精, 耳语妖精Effect);
AddExecutor(ExecutorType.Repos, 圣防Repos); AddExecutor(ExecutorType.Repos, 圣防Repos);
AddExecutor(ExecutorType.Activate, _CardId.死苏, 死苏Effect);
AddExecutor(ExecutorType.Activate, _CardId.死苏2, 死苏Effect);
AddExecutor(ExecutorType.SpellSet, DefaultSpellSet); AddExecutor(ExecutorType.SpellSet, DefaultSpellSet);
} }
......
...@@ -85,7 +85,7 @@ namespace WindBot.Game.AI.Decks ...@@ -85,7 +85,7 @@ namespace WindBot.Game.AI.Decks
AddExecutor(ExecutorType.Activate, CardId.火星心少女, 火星心少女Effect); AddExecutor(ExecutorType.Activate, CardId.火星心少女, 火星心少女Effect);
AddExecutor(ExecutorType.Activate, CardId.连击龙); AddExecutor(ExecutorType.Activate, CardId.连击龙);
AddExecutor(ExecutorType.Activate, CardId.七星道魔术师); AddExecutor(ExecutorType.Activate, CardId.七星道魔术师);
//AddExecutor(ExecutorType.Activate, CardId.斗牛士, 斗牛士Effect); AddExecutor(ExecutorType.Activate, CardId.斗牛士, 斗牛士Effect);
AddExecutor(ExecutorType.Activate, DefaultDontChainMyself); AddExecutor(ExecutorType.Activate, DefaultDontChainMyself);
AddExecutor(ExecutorType.Repos, CardId.青眼白龙, 圣防Repos); AddExecutor(ExecutorType.Repos, CardId.青眼白龙, 圣防Repos);
...@@ -169,17 +169,6 @@ namespace WindBot.Game.AI.Decks ...@@ -169,17 +169,6 @@ namespace WindBot.Game.AI.Decks
return false; return false;
return true; return true;
} }
private bool 耳语妖精Effect()
{
IList<ClientCard> targets = new List<ClientCard>();
foreach (ClientCard card in Enemy.GetGraveyardMonsters())
{
if (card.Level <= 4)
targets.Add(card);
}
return true;
}
private bool 火星心少女Effect() private bool 火星心少女Effect()
{ {
......
...@@ -90,7 +90,7 @@ namespace WindBot.Game.AI.Decks ...@@ -90,7 +90,7 @@ namespace WindBot.Game.AI.Decks
AddExecutor(ExecutorType.Activate, CardId.火星心少女, 火星心少女Effect); AddExecutor(ExecutorType.Activate, CardId.火星心少女, 火星心少女Effect);
AddExecutor(ExecutorType.Activate, CardId.连击龙); AddExecutor(ExecutorType.Activate, CardId.连击龙);
AddExecutor(ExecutorType.Activate, CardId.七星道魔术师); AddExecutor(ExecutorType.Activate, CardId.七星道魔术师);
//AddExecutor(ExecutorType.Activate, CardId.斗牛士, 斗牛士Effect); AddExecutor(ExecutorType.Activate, CardId.斗牛士, 斗牛士Effect);
AddExecutor(ExecutorType.Activate, _CardId.死苏, 死苏Effect); AddExecutor(ExecutorType.Activate, _CardId.死苏, 死苏Effect);
AddExecutor(ExecutorType.Activate, _CardId.死苏2, 死苏Effect); AddExecutor(ExecutorType.Activate, _CardId.死苏2, 死苏Effect);
AddExecutor(ExecutorType.Activate, DefaultDontChainMyself); AddExecutor(ExecutorType.Activate, DefaultDontChainMyself);
...@@ -173,18 +173,6 @@ namespace WindBot.Game.AI.Decks ...@@ -173,18 +173,6 @@ namespace WindBot.Game.AI.Decks
return true; return true;
} }
private bool 耳语妖精Effect()
{
IList<ClientCard> targets = new List<ClientCard>();
foreach (ClientCard card in Enemy.GetGraveyardMonsters())
{
if (card.Level <= 4)
targets.Add(card);
}
return true;
}
private bool 七星道法师Effect() private bool 七星道法师Effect()
{ {
AI.SelectCard(Enemy.GetMonsters().GetHighestAttackMonster()); AI.SelectCard(Enemy.GetMonsters().GetHighestAttackMonster());
......
...@@ -62,6 +62,17 @@ namespace WindBot.Game.AI.Decks ...@@ -62,6 +62,17 @@ namespace WindBot.Game.AI.Decks
AddExecutor(ExecutorType.Summon, CardId.最强战旗, DefaultDoubleSummon); AddExecutor(ExecutorType.Summon, CardId.最强战旗, DefaultDoubleSummon);
AddExecutor(ExecutorType.Summon, CardId.钢机神, DefaultDoubleSummon); AddExecutor(ExecutorType.Summon, CardId.钢机神, DefaultDoubleSummon);
AddExecutor(ExecutorType.Summon, CardId.恶德, DefaultDoubleSummon); AddExecutor(ExecutorType.Summon, CardId.恶德, DefaultDoubleSummon);
AddExecutor(ExecutorType.Repos, CardId.成金恐龙王, 瞄准鹰成金恐龙王summon);
AddExecutor(ExecutorType.Repos, CardId.突击坦克, 瞄准鹰坦克summon);
AddExecutor(ExecutorType.Repos, CardId.双角兽, 瞄准鹰双角兽summon);
AddExecutor(ExecutorType.Summon, CardId.双角兽, 瞄准鹰双角兽summon);
AddExecutor(ExecutorType.Summon, CardId.成金恐龙王, 瞄准鹰成金恐龙王summon);
AddExecutor(ExecutorType.Summon, CardId.突击坦克, 瞄准鹰坦克summon);
AddExecutor(ExecutorType.Summon, CardId.瞄准鹰, 瞄准鹰summon);
AddExecutor(ExecutorType.Summon, CardId.瞄准鹰, 瞄准鹰summon2);
AddExecutor(ExecutorType.Summon, CardId.瞄准鹰, 瞄准鹰summon3);
AddExecutor(ExecutorType.Summon, _CardId.手枪龙, DefaultMonsterSummon); AddExecutor(ExecutorType.Summon, _CardId.手枪龙, DefaultMonsterSummon);
AddExecutor(ExecutorType.Summon, CardId.最强战旗, DefaultMonsterSummon); AddExecutor(ExecutorType.Summon, CardId.最强战旗, DefaultMonsterSummon);
AddExecutor(ExecutorType.Summon, CardId.钢机神, DefaultMonsterSummon); AddExecutor(ExecutorType.Summon, CardId.钢机神, DefaultMonsterSummon);
...@@ -70,19 +81,14 @@ namespace WindBot.Game.AI.Decks ...@@ -70,19 +81,14 @@ namespace WindBot.Game.AI.Decks
AddExecutor(ExecutorType.Summon, CardId.双角兽, 双角兽summon); AddExecutor(ExecutorType.Summon, CardId.双角兽, 双角兽summon);
AddExecutor(ExecutorType.Summon, CardId.捕鸟蛛, 捕鸟蛛summon); AddExecutor(ExecutorType.Summon, CardId.捕鸟蛛, 捕鸟蛛summon);
AddExecutor(ExecutorType.Summon, CardId.成金恐龙王, 成金恐龙王Summon); AddExecutor(ExecutorType.Summon, CardId.成金恐龙王, 成金恐龙王Summon);
AddExecutor(ExecutorType.Summon, CardId.瞄准鹰, 瞄准鹰summon);
AddExecutor(ExecutorType.Summon, CardId.瞄准鹰, 瞄准鹰summon2);
AddExecutor(ExecutorType.Summon, CardId.瞄准鹰, 瞄准鹰summon3);
AddExecutor(ExecutorType.Summon, CardId.双角兽, 瞄准鹰双角兽summon);
AddExecutor(ExecutorType.Summon, CardId.成金恐龙王, 瞄准鹰成金恐龙王summon);
AddExecutor(ExecutorType.Summon, CardId.突击坦克, 瞄准鹰坦克summon);
AddExecutor(ExecutorType.Summon, CardId.最强战旗, DefaultOverSummon); AddExecutor(ExecutorType.Summon, CardId.最强战旗, DefaultOverSummon);
AddExecutor(ExecutorType.Summon, CardId.钢机神, DefaultOverSummon); AddExecutor(ExecutorType.Summon, CardId.钢机神, DefaultOverSummon);
AddExecutor(ExecutorType.Activate, CardId.死苏, 死苏effect); AddExecutor(ExecutorType.Activate, CardId.死苏, 死苏effect);
AddExecutor(ExecutorType.Activate, CardId.最强战旗, 最强战旗Effect); AddExecutor(ExecutorType.Activate, CardId.最强战旗, 最强战旗Effect);
AddExecutor(ExecutorType.Activate, CardId.对死者的供奉, 死供Effect); AddExecutor(ExecutorType.Activate, CardId.对死者的供奉, 死供Effect);
AddExecutor(ExecutorType.Activate, CardId.钢机神, 钢机神1Effect); AddExecutor(ExecutorType.Activate, CardId.钢机神, 钢机神1Effect);
AddExecutor(ExecutorType.Activate, CardId.钢机神, 钢机神Effect); AddExecutor(ExecutorType.Activate, CardId.钢机神, 钢机神3Effect);
AddExecutor(ExecutorType.MonsterSet, CardId.成金恐龙王); AddExecutor(ExecutorType.MonsterSet, CardId.成金恐龙王);
AddExecutor(ExecutorType.Activate, CardId.工匠无人机,无人机Effect); AddExecutor(ExecutorType.Activate, CardId.工匠无人机,无人机Effect);
...@@ -181,12 +187,25 @@ namespace WindBot.Game.AI.Decks ...@@ -181,12 +187,25 @@ namespace WindBot.Game.AI.Decks
} }
private bool DefaultDoubleSummon() private bool DefaultDoubleSummon()
{ {
if (!DoubleTribute) return false; int tribute_count = 0;
IList<ClientCard> m_list = new List<ClientCard>(); List<ClientCard> _sort_list = new List<ClientCard>(Bot.GetMonsters());
if (!DoubleTribute)
return false;
else else
AI.SelectMaterials(CardId.双角兽); {
foreach (ClientCard monster in _sort_list)
{
if (monster.IsCode(CardId.双角兽))
{ tribute_count += 2;
m_list.Add(monster);
}
if (tribute_count == 2) break;
}
AI.SelectMaterials(m_list);
DoubleTribute = false; DoubleTribute = false;
return true; return true;
} }
}
private bool DefaultOverSummon() private bool DefaultOverSummon()
{ {
if (Bot.Hand.Count >= 6 && Bot.HasInMonstersZone(CardId.恶德)) return true; if (Bot.Hand.Count >= 6 && Bot.HasInMonstersZone(CardId.恶德)) return true;
...@@ -227,41 +246,14 @@ namespace WindBot.Game.AI.Decks ...@@ -227,41 +246,14 @@ namespace WindBot.Game.AI.Decks
AI.SelectCard(Bot.MonsterZone.GetLowestAttackMonster()); AI.SelectCard(Bot.MonsterZone.GetLowestAttackMonster());
return true; return true;
} }
private bool 钢机神Effect() private bool 钢机神3Effect()
{ {
if (Duel.Turn == 1) if (Duel.Turn == 1)
{ {
return false; return false;
} }
else else
//if (Enemy.HasAttackingMonster() || Enemy.GetMonsterCount() < 1) AI.SelectCard(_CardId.手枪龙, CardId.最强战旗, CardId.钢机神, CardId.恶德, CardId.捕鸟蛛, CardId.突击坦克, CardId.工匠无人机, CardId.社员, CardId.双角兽, CardId.旗兽, CardId.瞄准鹰);
AI.SelectCard(_CardId.手枪龙, CardId.最强战旗, CardId.钢机神, CardId.恶德, CardId.旗兽, CardId.捕鸟蛛, CardId.突击坦克, CardId.工匠无人机, CardId.社员, CardId.双角兽, CardId.瞄准鹰);
//else AI.SelectCard(Bot.Graveyard.GetHighestLevelMonster());
return true;
}
private bool 钢机神1Effect()
{
if (Enemy.HasDefendingMonster() && Enemy.GetMonsterCount() >= 1)
// AI.SelectCard(Bot.Graveyard.GetMonsters());
{
List<ClientCard> cards = new List<ClientCard>(Bot.Graveyard.GetMatchingCards(card => (card.Race & (int)CardRace.Machine) > 0));
cards.Sort(CardContainer.CompareCardLevel); ClientCard selectedCard = null;
for (int i = cards.Count - 1; i >= 0; --i)
{
ClientCard card = cards[i];
if ((selectedCard == null || card.Attack > selectedCard.Attack))
{
selectedCard = card;
break;
}
}
if (selectedCard != null)
{
AI.SelectCard(selectedCard);
return true;
}
}
return true; return true;
} }
private bool 恶德Effect() private bool 恶德Effect()
...@@ -349,13 +341,13 @@ namespace WindBot.Game.AI.Decks ...@@ -349,13 +341,13 @@ namespace WindBot.Game.AI.Decks
} }
private bool 捕鸟蛛summon() private bool 捕鸟蛛summon()
{ {
if (Bot.HasInGraveyard(new[] { CardId.旗兽, CardId.社员 })) if (Bot.HasInGraveyard(new[] { CardId.旗兽, CardId.社员 }) && Enemy.GetSpellCount() >= 2)
return true; return true;
return false; return false;
} }
private bool 双角兽summon() private bool 双角兽summon()
{ {
if (Bot.Graveyard.GetMatchingCardsCount(card => (card.Race & (int)CardRace.Machine) > 0) >= 3 && Bot.HasInHand(new[] { CardId.最强战旗, CardId.钢机神, CardId.恶德 })) if (Bot.Graveyard.GetMatchingCardsCount(card => (card.Race & (int)CardRace.Machine) > 0) >= 3 && Bot.HasInHand(new[] { CardId.最强战旗, CardId.钢机神, CardId.恶德 }) && !Bot.HasInMonstersZone(new[] { CardId.最强战旗, CardId.钢机神 }))
return true; return true;
return false; return false;
} }
...@@ -371,19 +363,19 @@ namespace WindBot.Game.AI.Decks ...@@ -371,19 +363,19 @@ namespace WindBot.Game.AI.Decks
} }
private bool 瞄准鹰双角兽summon() private bool 瞄准鹰双角兽summon()
{ {
if (Bot.HasInMonstersZone(CardId.瞄准鹰) && Bot.HasInHand(new[] { CardId.最强战旗, CardId.钢机神, CardId.恶德 })) if (Bot.HasInMonstersZone(CardId.瞄准鹰) && Bot.HasInHand(new[] { CardId.最强战旗, CardId.钢机神, CardId.恶德 }) && Enemy.MonsterZone.GetMatchingCardsCount(card => card.Level >= 7) > 0)
return true; return true;
return false; return false;
} }
private bool 瞄准鹰坦克summon() private bool 瞄准鹰坦克summon()
{ {
if (Bot.HasInMonstersZone(CardId.瞄准鹰) && Bot.HasInHand(new[] { CardId.最强战旗, CardId.钢机神, CardId.恶德 })) if (Bot.HasInMonstersZone(CardId.瞄准鹰) && Bot.HasInHand(new[] { _CardId.手枪龙, CardId.最强战旗, CardId.钢机神, CardId.恶德 }) && Enemy.MonsterZone.GetMatchingCardsCount(card => card.Level >= 7) > 0)
return true; return true;
return false; return false;
} }
private bool 瞄准鹰成金恐龙王summon() private bool 瞄准鹰成金恐龙王summon()
{ {
if (Bot.HasInMonstersZone(CardId.瞄准鹰) && Bot.HasInHand(new[] { CardId.最强战旗, CardId.钢机神, CardId.恶德 })) if (Bot.HasInMonstersZone(CardId.瞄准鹰) && Bot.HasInHand(new[] { _CardId.手枪龙, CardId.最强战旗, CardId.钢机神, CardId.恶德 }) && Enemy.MonsterZone.GetMatchingCardsCount(card => card.Level >= 7) > 0)
return true; return true;
return false; return false;
} }
...@@ -391,7 +383,7 @@ namespace WindBot.Game.AI.Decks ...@@ -391,7 +383,7 @@ namespace WindBot.Game.AI.Decks
{ {
foreach (ClientCard m in Bot.GetMonsters()) foreach (ClientCard m in Bot.GetMonsters())
if (m.HasAttribute(CardAttribute.Light) && m.Level <= 4 && m.IsFaceup()) if (m.HasAttribute(CardAttribute.Light) && m.Level <= 4 && m.IsFaceup())
if (Bot.HasInHand(new[] { CardId.最强战旗, CardId.钢机神, CardId.恶德 })) if (Bot.HasInHand(new[] { _CardId.手枪龙, CardId.最强战旗, CardId.钢机神, CardId.恶德 }))
if (Enemy.MonsterZone.GetMatchingCardsCount(card => card.Level >= 7) > 0) if (Enemy.MonsterZone.GetMatchingCardsCount(card => card.Level >= 7) > 0)
return true; return true;
return false; return false;
...@@ -428,22 +420,22 @@ namespace WindBot.Game.AI.Decks ...@@ -428,22 +420,22 @@ namespace WindBot.Game.AI.Decks
{ {
if (Bot.HasInHand(CardId.恶德)) if (Bot.HasInHand(CardId.恶德))
{ {
AI.SelectCard(CardId.恶德); AI.SelectCard(CardId.恶德); AI.SelectYesNo(true);
return true; return true;
} }
else if (Bot.HasInHand(CardId.钢机神)) else if (Bot.HasInHand(CardId.钢机神))
{ {
AI.SelectCard(CardId.钢机神); AI.SelectCard(CardId.钢机神); AI.SelectYesNo(true);
return true; return true;
} }
else if (Bot.HasInHand(CardId.最强战旗)) else if (Bot.HasInHand(CardId.最强战旗))
{ {
AI.SelectCard(CardId.最强战旗); AI.SelectCard(CardId.最强战旗); AI.SelectYesNo(true);
return true; return true;
} }
else if (Bot.HasInHand(_CardId.手枪龙)) else if (Bot.HasInHand(_CardId.手枪龙))
{ {
AI.SelectCard(_CardId.手枪龙); AI.SelectCard(_CardId.手枪龙); AI.SelectYesNo(true);
return true; return true;
} }
else else
...@@ -475,44 +467,7 @@ namespace WindBot.Game.AI.Decks ...@@ -475,44 +467,7 @@ namespace WindBot.Game.AI.Decks
return true; return true;
return false; return false;
} }
private bool 最强战旗Effect()
{
if (Util.IsOneEnemyBetterThanValue(1900, false))
{
foreach (ClientCard m in Bot.Hand)
AI.SelectCard(m) ;
foreach (ClientCard mon in Enemy.GetMonsters())
if (mon.Level >= 9)
AI.SelectNextCard(mon);
else if (mon.Level >= 8)
AI.SelectNextCard(mon);
else if (mon.Level >= 7)
AI.SelectNextCard(mon);
else if (mon.Level >= 5)
AI.SelectNextCard(mon);
return true;
}
return false;
}
private bool 最强战旗Eff()
{
if (Util.IsOneEnemyBetterThanValue(2500, false))
{
foreach (ClientCard m in Bot.Hand)
AI.SelectCard(m);
foreach (ClientCard mon in Enemy.GetMonsters())
if (mon.Level >= 9)
AI.SelectNextCard(mon);
else if (mon.Level >= 8)
AI.SelectNextCard(mon);
else if (mon.Level >= 7)
AI.SelectNextCard(mon);
else if (mon.Level >= 5)
AI.SelectNextCard(mon);
return true;
}
return false;
}
private bool DefaultField2() private bool DefaultField2()
{ {
if (Bot.GetHandCount() >= 2) if (Bot.GetHandCount() >= 2)
......
...@@ -48,7 +48,7 @@ namespace WindBot.Game.AI.Decks ...@@ -48,7 +48,7 @@ namespace WindBot.Game.AI.Decks
AddExecutor(ExecutorType.Activate, _CardId.黑洞, 黑洞Effect); AddExecutor(ExecutorType.Activate, _CardId.黑洞, 黑洞Effect);
AddExecutor(ExecutorType.Activate, _CardId.疾风弹, 疾风弹Effect); AddExecutor(ExecutorType.Activate, _CardId.疾风弹, 疾风弹Effect);
AddExecutor(ExecutorType.Activate, CardId.小手枪龙, 小手枪龙Effect); AddExecutor(ExecutorType.Activate, CardId.小手枪龙, 小手枪龙Effect);
AddExecutor(ExecutorType.Activate, CardId.海龙骑士,海龙骑士Effect); AddExecutor(ExecutorType.Activate, CardId.海龙骑士,new海龙骑士Effect);
//AddExecutor(ExecutorType.Activate, CardId.小手枪龙, DefaultMysticalSpaceTyphoon); //AddExecutor(ExecutorType.Activate, CardId.小手枪龙, DefaultMysticalSpaceTyphoon);
AddExecutor(ExecutorType.Activate, CardId.强欲之壶); AddExecutor(ExecutorType.Activate, CardId.强欲之壶);
AddExecutor(ExecutorType.Activate, CardId.成金哥布林); AddExecutor(ExecutorType.Activate, CardId.成金哥布林);
...@@ -247,7 +247,7 @@ namespace WindBot.Game.AI.Decks ...@@ -247,7 +247,7 @@ namespace WindBot.Game.AI.Decks
} }
return false; return false;
} }
private bool 海龙骑士Effect() private bool new海龙骑士Effect()
{ {
List<ClientCard> spells = Enemy.GetSpells(); List<ClientCard> spells = Enemy.GetSpells();
ClientCard selected = spells.FirstOrDefault(card => card.IsFacedown()); ClientCard selected = spells.FirstOrDefault(card => card.IsFacedown());
...@@ -321,19 +321,6 @@ namespace WindBot.Game.AI.Decks ...@@ -321,19 +321,6 @@ namespace WindBot.Game.AI.Decks
} }
return true; return true;
} }
private bool 斗牛士Effect()
{
//if (Util.IsOneEnemyBetterThanValue(1900, false))
{
foreach (ClientCard o in Bot.Graveyard)
AI.SelectCard(o);
if (Enemy.GetMonsters().GetHighestAttackMonster() == null)
AI.SelectNextCard(Enemy.MonsterZone.GetHighestAttackMonster());
return true;
}
// return false;
}
} }
} }
......
...@@ -26,7 +26,8 @@ namespace WindBot.Game.AI ...@@ -26,7 +26,8 @@ namespace WindBot.Game.AI
public const int 落穴 = 120150019; public const int 落穴 = 120150019;
public const int 疾风弹 = 120203028; public const int 疾风弹 = 120203028;
public const int HMD = 120130041; public const int HMD = 120130041;
public const int 海龙骑士 = 120199032;
public const int 耳语妖精 = 120120018;
public const int 人造人 = 120155000; public const int 人造人 = 120155000;
public const int 狼人 = 120214004; public const int 狼人 = 120214004;
public const int 幻影之龙 = 120223102; public const int 幻影之龙 = 120223102;
...@@ -41,6 +42,8 @@ namespace WindBot.Game.AI ...@@ -41,6 +42,8 @@ namespace WindBot.Game.AI
public const int 圣精灵 = 120194003; public const int 圣精灵 = 120194003;
public const int 结界像 = 120226013; public const int 结界像 = 120226013;
public const int 终焰魔神 = 120231008; public const int 终焰魔神 = 120231008;
public const int 最强战旗 = 120181001;
public const int 钢机神 = 120155015;
public const int JizukirutheStarDestroyingKaiju = 63941210; public const int JizukirutheStarDestroyingKaiju = 63941210;
public const int ThunderKingtheLightningstrikeKaiju = 48770333; public const int ThunderKingtheLightningstrikeKaiju = 48770333;
public const int DogorantheMadFlameKaiju = 93332803; public const int DogorantheMadFlameKaiju = 93332803;
...@@ -351,6 +354,120 @@ namespace WindBot.Game.AI ...@@ -351,6 +354,120 @@ namespace WindBot.Game.AI
return true; return true;
} }
protected bool 斗牛士Effect()
{
{
foreach (ClientCard o in Bot.Graveyard)
AI.SelectCard(o);
if (Enemy.GetMonsters().GetHighestAttackMonster() == null)
AI.SelectNextCard(Enemy.MonsterZone.GetHighestAttackMonster());
return true;
}
}
protected bool 海龙骑士Effect()
{
List<ClientCard> spells = Enemy.GetSpells();
ClientCard selected = spells.FirstOrDefault(card => card.IsFacedown());
foreach (ClientCard m in Bot.GetGraveyardMonsters())
AI.SelectCard(m);
AI.SelectNextCard(selected);
return true;
}
protected bool 耳语妖精Effect()
{
IList<ClientCard> targets = new List<ClientCard>();
foreach (ClientCard card in Enemy.GetGraveyardMonsters())
{
if (card.Level <= 4)
targets.Add(card);
if (card.Level <= 6)
targets.Add(card);
else
targets.Add(card);
}
AI.SelectCard(targets);
return true;
}
protected bool 钢机神1Effect()
{
if (Enemy.HasDefendingMonster() && Enemy.GetMonsterCount() >= 1 && !Util.IsOneEnemyBetterThanValue(2500, false))
{
List<ClientCard> cards = new List<ClientCard>(Bot.Graveyard.GetMatchingCards(card => (card.Race & (int)CardRace.Machine) > 0));
cards.Sort(CardContainer.CompareCardLevel); ClientCard selectedCard = null;
for (int i = cards.Count - 1; i >= 0; --i)
{
ClientCard card = cards[i];
if ((selectedCard == null || card.Attack > selectedCard.Attack))
{
selectedCard = card;
break;
}
}
if (selectedCard != null)
{
AI.SelectCard(selectedCard);
return true;
}
}
return false;
}
protected bool 钢机神Effect()
{
if (Duel.Turn == 1)
{
return false;
}
IList<ClientCard> targets = new List<ClientCard>();
foreach(ClientCard m in Bot.GetGraveyardMonsters())
{
if (m.Race == (int)CardRace.Machine)
targets.Add(m);
}
AI.SelectCard(targets);
return true;
}
protected bool 最强战旗Effect()
{
if (Util.IsOneEnemyBetterThanValue(1900, false))
{
foreach (ClientCard m in Bot.Hand)
AI.SelectCard(m);
foreach (ClientCard mon in Enemy.GetMonsters())
if (mon.Level >= 9)
AI.SelectNextCard(mon);
else if (mon.Level >= 8)
AI.SelectNextCard(mon);
else if (mon.Level >= 7)
AI.SelectNextCard(mon);
else if (mon.Level >= 5)
AI.SelectNextCard(mon);
return true;
}
return false;
}
protected bool 最强战旗Eff()
{
if (Util.IsOneEnemyBetterThanValue(2500, false))
{
foreach (ClientCard m in Bot.Hand)
AI.SelectCard(m);
foreach (ClientCard mon in Enemy.GetMonsters())
if (mon.Level >= 9)
AI.SelectNextCard(mon);
else if (mon.Level >= 8)
AI.SelectNextCard(mon);
else if (mon.Level >= 7)
AI.SelectNextCard(mon);
else if (mon.Level >= 5)
AI.SelectNextCard(mon);
return true;
}
return false;
}
protected bool 圣防Repos() protected bool 圣防Repos()
{ {
if (Enemy.Graveyard.GetMatchingCardsCount(card => (card.Race & (int)CardRace.SpellCaster) > 0) >= 4 && Enemy.GetSpellCountWithoutField() >= 1 if (Enemy.Graveyard.GetMatchingCardsCount(card => (card.Race & (int)CardRace.SpellCaster) > 0) >= 4 && Enemy.GetSpellCountWithoutField() >= 1
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment