Commit 7cddc1c9 authored by 苍蓝's avatar 苍蓝

update

parent 64571ab5
Pipeline #6141 passed with stage
in 32 seconds
#created by ...
#main
120183024
120193002
120155015
120181011
120181011
120181011
......@@ -10,15 +10,15 @@
120181001
120193002
120193002
120193002
120183002
120183002
120181001
120181001
120155015
120155015
120155015
120183024
120183024
120183030
120183030
......
......@@ -41,8 +41,8 @@
"facedownmonstername": "员工",
"activate": [
"我发动{0}。",
"我使用{0}的贿赂效果。",
"我使用{0}的贿赂力量。"
"我使用{0}的效果。",
"我使用{0}偷偷贿赂。"
],
"summon": [
"召唤{0}。他们都是洋溢着梦想与希望,有着美好前程的宝贵人才。",
......
......@@ -31,6 +31,7 @@ namespace WindBot.Game.AI.Decks
public const int 落穴 = 120150019;
public const int 圣防 = 120198003;
public const int 炸甲 = 120194005;
public const int 暗黑释放 = 120105013;
}
public DragunExecutor(GameAI ai, Duel duel)
......@@ -43,14 +44,13 @@ namespace WindBot.Game.AI.Decks
AddExecutor(ExecutorType.Activate, CardId.机器栗子);
AddExecutor(ExecutorType.Activate, CardId.连击龙);
AddExecutor(ExecutorType.Activate, CardId.斗牛士, 斗牛士Effect);
AddExecutor(ExecutorType.Repos, CardId.青眼白龙, DefaultMonsterRepos);
AddExecutor(ExecutorType.Repos, CardId.破坏之剑士, DefaultMonsterRepos);
AddExecutor(ExecutorType.Repos, CardId.连击龙, DefaultMonsterRepos);
AddExecutor(ExecutorType.Repos, DefaultMonsterRepos);
AddExecutor(ExecutorType.SummonOrSet, CardId.青眼白龙, DefaultMonsterSummon);
AddExecutor(ExecutorType.Summon, CardId.破坏之剑士, DefaultMonsterSummon);
AddExecutor(ExecutorType.SummonOrSet, CardId.连击龙, DefaultMonsterSummon);
AddExecutor(ExecutorType.SummonOrSet, CardId.人造人, DefaultMonsterSummon);
AddExecutor(ExecutorType.Summon, CardId.机器栗子,栗子summon);
AddExecutor(ExecutorType.Summon, CardId.机器栗子, 栗子summon);
AddExecutor(ExecutorType.Repos, CardId.机器栗子, 栗子summon2);
AddExecutor(ExecutorType.Activate, CardId.死苏, 死苏effect);
AddExecutor(ExecutorType.Activate, CardId.死苏, 死苏effect2);
AddExecutor(ExecutorType.MonsterSet, CardId.斗牛士, Monsterset);
......@@ -58,7 +58,7 @@ namespace WindBot.Game.AI.Decks
AddExecutor(ExecutorType.Activate, CardId.凤凰龙);
AddExecutor(ExecutorType.Activate, CardId.对死者的供奉, 死供Effect);
AddExecutor(ExecutorType.Repos, CardId.成金恐龙王, 成金恐龙王Summon);
AddExecutor(ExecutorType.SummonOrSet, CardId.成金恐龙王, 成金恐龙王Summon);
AddExecutor(ExecutorType.SummonOrSet, CardId.血腥魔兽人);
AddExecutor(ExecutorType.Summon, CardId.凤凰龙, 凤凰龙summon);
......@@ -203,7 +203,7 @@ namespace WindBot.Game.AI.Decks
if (!Util.IsAllEnemyBetter(true))
return false;
ClientCard selected = Enemy.Graveyard.GetMatchingCards(card => card.IsCanRevive()).OrderByDescending(card => card.Attack).FirstOrDefault();
if (selected.Attack >=2400)
if (selected.Attack >= 2400)
{
AI.SelectCard(selected);
return true;
......@@ -222,7 +222,13 @@ namespace WindBot.Game.AI.Decks
}
private bool 栗子summon()
{
if (Bot.HasInHand(CardId.机器栗子) && (Bot.GetMonstersInMainZone().Count == 0))
if (Bot.HasInGraveyard(CardId.机器栗子) && (Bot.GetMonstersInMainZone().Count == 0))
return true;
return false;
}
private bool 栗子summon2()
{
if (Bot.HasInGraveyard(CardId.机器栗子) && (Bot.GetMonstersInMainZone().Count == 1))
return true;
return false;
}
......@@ -265,14 +271,13 @@ namespace WindBot.Game.AI.Decks
}
private bool 圣防Repos()
{
if (Enemy.Graveyard.GetMatchingCardsCount(card => (card.Race & (int)CardRace.SpellCaster) > 0) >= 4 && Enemy.GetSpellCountWithoutField() >= 1 && !Bot.HasInMonstersZone(CardId.人造人))
if (Enemy.Graveyard.GetMatchingCardsCount(card => (card.Race & (int)CardRace.SpellCaster) > 0) >= 4 && Enemy.GetSpellCountWithoutField() >= 1 && !Bot.HasInMonstersZone(CardId.人造人) && Enemy.Graveyard.GetMatchingCardsCount(card => card.IsCode(CardId.暗黑释放)) < 3)
{
if (Bot.MonsterZone.GetMatchingCardsCount(card => card.IsAttack() && card.Level >= 5) >= 2 && !Bot.HasDefendingMonster())
return true;
}
return false;
}
}
}
......
......@@ -34,6 +34,7 @@ namespace WindBot.Game.AI.Decks
public const int 减俸 = 120183062;
public const int 左迁 = 120183063;
public const int 冻结 = 120183064;
public const int 暗黑释放 = 120105013;
}
public MathMechExecutor(GameAI ai, Duel duel)
......@@ -48,6 +49,8 @@ namespace WindBot.Game.AI.Decks
AddExecutor(ExecutorType.Activate, CardId.突击坦克, 突击坦克Effect);
AddExecutor(ExecutorType.Activate, CardId.瞄准鹰, 瞄准鹰Effect);
AddExecutor(ExecutorType.Activate, CardId.双角兽, 双角兽Effect);
AddExecutor(ExecutorType.Repos, CardId.双角兽, 双角兽summon);
AddExecutor(ExecutorType.Repos, CardId.瞄准鹰, 瞄准鹰summon);
AddExecutor(ExecutorType.Repos, CardId.最强战旗, DefaultMonsterRepos);
AddExecutor(ExecutorType.Repos, CardId.钢机神, DefaultMonsterRepos);
AddExecutor(ExecutorType.Repos, CardId.恶德, DefaultMonsterRepos);
......@@ -69,9 +72,9 @@ namespace WindBot.Game.AI.Decks
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.MonsterSet, CardId.成金恐龙王);
AddExecutor(ExecutorType.Activate, CardId.工匠无人机,无人机Effect);
AddExecutor(ExecutorType.Activate, CardId.工匠无人机, 无人机Effect);
AddExecutor(ExecutorType.Summon, CardId.工匠无人机);
AddExecutor(ExecutorType.Summon, CardId.突击坦克, 突击坦克summon);
AddExecutor(ExecutorType.Activate, CardId.死苏, 死苏effect);
......@@ -83,11 +86,11 @@ namespace WindBot.Game.AI.Decks
AddExecutor(ExecutorType.MonsterSet, CardId.瞄准鹰);
AddExecutor(ExecutorType.MonsterSet, CardId.双角兽);
AddExecutor(ExecutorType.Activate, CardId.世纪末兽机界, DefaultField);
AddExecutor(ExecutorType.Activate, CardId.兽之拳,兽之拳Effect);
AddExecutor(ExecutorType.Activate, CardId.兽之拳, 兽之拳Effect);
AddExecutor(ExecutorType.Activate, CardId.左迁, 左迁1Effect);
AddExecutor(ExecutorType.Activate, CardId.减俸);
AddExecutor(ExecutorType.Activate, CardId.左迁,左迁2Effect);
AddExecutor(ExecutorType.Activate, CardId.冻结,冻结Effect);
AddExecutor(ExecutorType.Activate, CardId.左迁, 左迁2Effect);
AddExecutor(ExecutorType.Activate, CardId.冻结, 冻结Effect);
AddExecutor(ExecutorType.Activate, CardId.兽之拳);
AddExecutor(ExecutorType.Activate, DefaultDontChainMyself);
......@@ -167,7 +170,7 @@ namespace WindBot.Game.AI.Decks
{
if (!DoubleTribute) return false;
else
AI.SelectCard(CardId.双角兽);
AI.SelectMaterials(CardId.双角兽);
DoubleTribute = false;
return true;
}
......@@ -208,19 +211,39 @@ namespace WindBot.Game.AI.Decks
}
private bool 钢机神Effect()
{
if (Duel.Turn == 1) return false;
if (Duel.Turn == 1)
{
return false;
}
else if (Enemy.HasAttackingMonster() || Enemy.GetMonsterCount() < 1)
AI.SelectCard(CardId.最强战旗, CardId.钢机神, CardId.恶德, CardId.旗兽, CardId.突击坦克, CardId.工匠无人机, CardId.社员, CardId.双角兽, CardId.瞄准鹰);
else AI.SelectCard(Bot.Graveyard.GetHighestLevelMonster());
return true;
}
private bool 钢机神1Effect()
{
if (!Enemy.HasAttackingMonster() && Enemy.GetMonsterCount() >= 1)
if (Enemy.HasDefendingMonster() && Enemy.GetMonsterCount() >= 1 && Duel.Turn > 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)
{
AI.SelectCard(Bot.Graveyard.GetHighestAttackMonster());
ClientCard card = cards[i];
if ((selectedCard == null || card.Attack > selectedCard.Attack))
{
selectedCard = card;
break;
}
}
if (selectedCard != null)
{
AI.SelectCard(selectedCard);
return true;
}
return false;
}*/
return true;
}
private bool 恶德Effect()
{
......@@ -247,7 +270,7 @@ namespace WindBot.Game.AI.Decks
if (!Util.IsAllEnemyBetter(true))
return false;
ClientCard selected = Enemy.Graveyard.GetMatchingCards(card => card.IsCanRevive()).OrderByDescending(card => card.Attack).FirstOrDefault();
if (selected.Attack >=2400)
if (selected.Attack >= 2400)
{
AI.SelectCard(selected);
return true;
......@@ -326,8 +349,7 @@ namespace WindBot.Game.AI.Decks
}
private bool 双角兽Effect()
{
if (Bot.HasInHand(new[] { CardId.最强战旗, CardId.钢机神, CardId.恶德 }))
if (Bot.HasInHand(new[] { CardId.最强战旗, CardId.钢机神, CardId.恶德 }) && !Bot.HasInMonstersZone(new[] { CardId.最强战旗, CardId.钢机神 }))
{
AI.SelectCard(CardId.瞄准鹰, CardId.双角兽, CardId.工匠无人机, CardId.突击坦克, CardId.社员, CardId.旗兽, CardId.恶德, CardId.钢机神, CardId.最强战旗);
DoubleTribute = true;
......@@ -364,7 +386,7 @@ namespace WindBot.Game.AI.Decks
}
private bool 瞄准鹰summon2()
{
if (Bot.GetCountCardInZone(Bot.Hand, CardId.瞄准鹰) >= 2 )
if (Bot.GetCountCardInZone(Bot.Hand, CardId.瞄准鹰) >= 2)
if (Bot.HasInHand(new[] { CardId.最强战旗, CardId.钢机神, CardId.恶德 }))
if (Enemy.MonsterZone.GetMatchingCardsCount(card => card.Level >= 7) > 0)
return true;
......@@ -383,7 +405,7 @@ namespace WindBot.Game.AI.Decks
if (Bot.MonsterZone.GetMatchingCardsCount(card => card.Level <= 4 && card.IsFaceup()) >= 2 && Bot.HasInHand(new[] { CardId.最强战旗, CardId.钢机神, CardId.恶德, CardId.旗兽, CardId.社员 }))
{
AI.SelectCard(CardId.瞄准鹰,CardId.突击坦克, CardId.成金恐龙王, CardId.社员, CardId.旗兽);
AI.SelectCard(CardId.瞄准鹰, CardId.突击坦克, CardId.成金恐龙王, CardId.社员, CardId.旗兽);
AI.SelectNextCard(CardId.瞄准鹰, CardId.突击坦克, CardId.成金恐龙王, CardId.社员, CardId.旗兽);
AI.SelectThirdCard(CardId.最强战旗, CardId.钢机神, CardId.恶德, CardId.旗兽, CardId.社员);
return true;
......@@ -393,11 +415,11 @@ namespace WindBot.Game.AI.Decks
private bool 无人机Effect()
{
if ((Bot.MonsterZone.GetMatchingCardsCount(card => card.Level < 5)+ Bot.Hand.GetMatchingCardsCount(card => card.Level < 5)) <= 2 )
if ((Bot.MonsterZone.GetMatchingCardsCount(card => card.Level < 5) + Bot.Hand.GetMatchingCardsCount(card => card.Level < 5)) <= 2)
{
if (Bot.MonsterZone.GetMatchingCardsCount(card => card.Level > 5) > 2)
if (Bot.Hand.GetMatchingCardsCount(card => card.Level > 5) > 2)
AI.SelectCard(CardId.最强战旗, CardId.钢机神, CardId.恶德);
else if (Bot.MonsterZone.GetMatchingCardsCount(card => card.Level > 5) == 1 && (Bot.MonsterZone.GetMatchingCardsCount(card => card.Level < 5) + Bot.Hand.GetMatchingCardsCount(card => card.Level < 5)) == 1)
else if (Bot.Hand.GetMatchingCardsCount(card => card.Level > 5) == 1 && (Bot.MonsterZone.GetMatchingCardsCount(card => card.Level < 5) + Bot.Hand.GetMatchingCardsCount(card => card.Level < 5)) == 1)
{
AI.SelectCard(CardId.最强战旗, CardId.钢机神, CardId.恶德);
return true;
......@@ -413,7 +435,7 @@ namespace WindBot.Game.AI.Decks
if (Util.IsOneEnemyBetterThanValue(1900, false))
{
foreach (ClientCard m in Bot.Hand)
AI.SelectCard(m) ;
AI.SelectCard(m);
foreach (ClientCard mon in Enemy.GetMonsters())
if (mon.Level >= 9)
AI.SelectNextCard(mon);
......@@ -448,7 +470,7 @@ namespace WindBot.Game.AI.Decks
}
private 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 && Enemy.Graveyard.GetMatchingCardsCount(card => card.IsCode(CardId.暗黑释放)) < 3)
{
if (Bot.MonsterZone.GetMatchingCardsCount(card => card.IsAttack() && card.Level >= 5) >= 2 && !Bot.HasDefendingMonster())
return true;
......
......@@ -40,10 +40,11 @@ namespace WindBot.Game.AI.Decks
: base(ai, duel)
{
AddExecutor(ExecutorType.SpSummon);
AddExecutor(ExecutorType.Repos, DefaultMonsterRepos);
AddExecutor(ExecutorType.Activate, CardId.七星道法师,七星道法师Effect);
AddExecutor(ExecutorType.Activate, CardId.对死者的供奉, 死供Eff);
AddExecutor(ExecutorType.SummonOrSet, CardId.青眼白龙, DefaultMonsterSummon);
AddExecutor(ExecutorType.SummonOrSet, CardId.破坏之剑士, DefaultMonsterSummon);
AddExecutor(ExecutorType.Summon, CardId.破坏之剑士, DefaultMonsterSummon);
AddExecutor(ExecutorType.SummonOrSet, CardId.恶魔召唤, DefaultMonsterSummon);
AddExecutor(ExecutorType.SummonOrSet, CardId.连击龙, DefaultMonsterSummon);
AddExecutor(ExecutorType.SummonOrSet, CardId.雅灭鲁拉, DefaultMonsterSummon);
......@@ -68,7 +69,8 @@ namespace WindBot.Game.AI.Decks
AddExecutor(ExecutorType.SummonOrSet, DefaultMonsterSummon);
AddExecutor(ExecutorType.Repos, DefaultMonsterRepos);
AddExecutor(ExecutorType.Repos, CardId.青眼白龙, 圣防Repos);
AddExecutor(ExecutorType.Repos, CardId.破坏之剑士, 圣防Repos);
AddExecutor(ExecutorType.SpellSet);
//AddExecutor(ExecutorType.Activate, CardId.sionmax, sionmaxEffect);
AddExecutor(ExecutorType.Activate, CardId.耳语妖精, 耳语妖精Effect);
......@@ -254,7 +256,15 @@ namespace WindBot.Game.AI.Decks
return true;
return false;
}
private bool 圣防Repos()
{
if (Enemy.Graveyard.GetMatchingCardsCount(card => (card.Race & (int)CardRace.SpellCaster) > 0) >= 4 && Enemy.GetSpellCountWithoutField() >= 1 && !Bot.HasInMonstersZone(CardId.人造人) && Enemy.Graveyard.GetMatchingCardsCount(card => card.IsCode(CardId.暗黑释放)) < 3)
{
if (Bot.MonsterZone.GetMatchingCardsCount(card => card.IsAttack() && card.Level >= 5) >= 2 && !Bot.HasDefendingMonster())
return true;
}
return false;
}
}
......
......@@ -46,10 +46,11 @@ namespace WindBot.Game.AI.Decks
: base(ai, duel)
{
AddExecutor(ExecutorType.SpSummon);
AddExecutor(ExecutorType.Repos, DefaultMonsterRepos);
AddExecutor(ExecutorType.Activate, CardId.七星道法师, 七星道法师Effect);
AddExecutor(ExecutorType.Activate, CardId.对死者的供奉, 死供Eff);
AddExecutor(ExecutorType.SummonOrSet, CardId.青眼白龙, DefaultMonsterSummon);
AddExecutor(ExecutorType.SummonOrSet, CardId.破坏之剑士, DefaultMonsterSummon);
AddExecutor(ExecutorType.Summon, CardId.破坏之剑士, DefaultMonsterSummon);
AddExecutor(ExecutorType.SummonOrSet, CardId.恶魔召唤, DefaultMonsterSummon);
AddExecutor(ExecutorType.SummonOrSet, CardId.连击龙, DefaultMonsterSummon);
AddExecutor(ExecutorType.SummonOrSet, CardId.雅灭鲁拉, DefaultMonsterSummon);
......@@ -73,7 +74,8 @@ namespace WindBot.Game.AI.Decks
AddExecutor(ExecutorType.Summon, CardId.七星道法师);
AddExecutor(ExecutorType.SummonOrSet, DefaultMonsterSummon);
AddExecutor(ExecutorType.Repos, DefaultMonsterRepos);
AddExecutor(ExecutorType.Repos, CardId.青眼白龙, 圣防Repos);
AddExecutor(ExecutorType.Repos, CardId.破坏之剑士, 圣防Repos);
AddExecutor(ExecutorType.SpellSet);
//AddExecutor(ExecutorType.Activate, CardId.sionmax, sionmaxEffect);
AddExecutor(ExecutorType.Activate, CardId.耳语妖精, 耳语妖精Effect);
......@@ -258,7 +260,15 @@ namespace WindBot.Game.AI.Decks
return true;
return false;
}
private bool 圣防Repos()
{
if (Enemy.Graveyard.GetMatchingCardsCount(card => (card.Race & (int)CardRace.SpellCaster) > 0) >= 4 && Enemy.GetSpellCountWithoutField() >= 1 && !Bot.HasInMonstersZone(CardId.人造人) && Enemy.Graveyard.GetMatchingCardsCount(card => card.IsCode(CardId.暗黑释放)) < 3)
{
if (Bot.MonsterZone.GetMatchingCardsCount(card => card.IsAttack() && card.Level >= 5) >= 2 && !Bot.HasDefendingMonster())
return true;
}
return false;
}
}
}
\ No newline at end of file
......@@ -34,6 +34,7 @@ namespace WindBot.Game.AI.Decks
public const int 减俸 = 120183062;
public const int 左迁 = 120183063;
public const int 冻结 = 120183064;
public const int 暗黑释放 = 120105013;
}
public SaikyoBattleFlagExecutor(GameAI ai, Duel duel)
......@@ -48,6 +49,8 @@ namespace WindBot.Game.AI.Decks
AddExecutor(ExecutorType.Activate, CardId.突击坦克, 突击坦克Effect);
AddExecutor(ExecutorType.Activate, CardId.瞄准鹰, 瞄准鹰Effect);
AddExecutor(ExecutorType.Activate, CardId.双角兽, 双角兽Effect);
AddExecutor(ExecutorType.Repos, CardId.双角兽, 双角兽summon);
AddExecutor(ExecutorType.Repos, CardId.瞄准鹰, 瞄准鹰summon);
AddExecutor(ExecutorType.Repos, CardId.最强战旗, DefaultMonsterRepos);
AddExecutor(ExecutorType.Repos, CardId.钢机神, DefaultMonsterRepos);
AddExecutor(ExecutorType.Repos, CardId.恶德, DefaultMonsterRepos);
......@@ -69,7 +72,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.钢机神, 钢机神1Effect);
//AddExecutor(ExecutorType.Activate, CardId.钢机神, 钢机神1Effect);
AddExecutor(ExecutorType.MonsterSet, CardId.成金恐龙王);
AddExecutor(ExecutorType.Activate, CardId.工匠无人机,无人机Effect);
AddExecutor(ExecutorType.Summon, CardId.工匠无人机);
......@@ -167,7 +170,7 @@ namespace WindBot.Game.AI.Decks
{
if (!DoubleTribute) return false;
else
AI.SelectCard(CardId.双角兽);
AI.SelectMaterials(CardId.双角兽);
DoubleTribute = false;
return true;
}
......@@ -208,21 +211,39 @@ namespace WindBot.Game.AI.Decks
}
private bool 钢机神Effect()
{
if (Duel.Turn == 1) return false;
if (Duel.Turn == 1)
{
return false;
}
else if (Enemy.HasAttackingMonster() || Enemy.GetMonsterCount() < 1)
AI.SelectCard(CardId.最强战旗, CardId.钢机神, CardId.恶德, CardId.旗兽, CardId.突击坦克, CardId.工匠无人机, CardId.社员, CardId.双角兽, CardId.瞄准鹰);
else AI.SelectCard(Bot.Graveyard.GetHighestLevelMonster());
return true;
}
private bool 钢机神1Effect()
{
foreach (ClientCard m in Bot.Graveyard)
if (!Enemy.HasAttackingMonster() && Enemy.GetMonsterCount() >= 1)
if (Enemy.HasDefendingMonster() && Enemy.GetMonsterCount() >= 1 && Duel.Turn > 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)
{
if (m.Race == (int)CardRace.Machine )
AI.SelectCard(m);
ClientCard card = cards[i];
if ((selectedCard == null || card.Attack > selectedCard.Attack))
{
selectedCard = card;
break;
}
}
if (selectedCard != null)
{
AI.SelectCard(selectedCard);
return true;
}
return false;
}*/
return true;
}
private bool 恶德Effect()
{
......@@ -328,8 +349,7 @@ namespace WindBot.Game.AI.Decks
}
private bool 双角兽Effect()
{
if (Bot.HasInHand(new[] { CardId.最强战旗, CardId.钢机神, CardId.恶德 }))
if (Bot.HasInHand(new[] { CardId.最强战旗, CardId.钢机神, CardId.恶德 }) && !Bot.HasInMonstersZone(new[] { CardId.最强战旗, CardId.钢机神 }))
{
AI.SelectCard(CardId.瞄准鹰, CardId.双角兽, CardId.工匠无人机, CardId.突击坦克, CardId.社员, CardId.旗兽, CardId.恶德, CardId.钢机神, CardId.最强战旗);
DoubleTribute = true;
......@@ -397,9 +417,9 @@ namespace WindBot.Game.AI.Decks
if ((Bot.MonsterZone.GetMatchingCardsCount(card => card.Level < 5)+ Bot.Hand.GetMatchingCardsCount(card => card.Level < 5)) <= 2 )
{
if (Bot.MonsterZone.GetMatchingCardsCount(card => card.Level > 5) > 2)
if (Bot.Hand.GetMatchingCardsCount(card => card.Level > 5) > 2)
AI.SelectCard(CardId.最强战旗, CardId.钢机神, CardId.恶德);
else if (Bot.MonsterZone.GetMatchingCardsCount(card => card.Level > 5) == 1 && (Bot.MonsterZone.GetMatchingCardsCount(card => card.Level < 5) + Bot.Hand.GetMatchingCardsCount(card => card.Level < 5)) == 1)
else if (Bot.Hand.GetMatchingCardsCount(card => card.Level > 5) == 1 && (Bot.MonsterZone.GetMatchingCardsCount(card => card.Level < 5) + Bot.Hand.GetMatchingCardsCount(card => card.Level < 5)) == 1)
{
AI.SelectCard(CardId.最强战旗, CardId.钢机神, CardId.恶德);
return true;
......@@ -450,7 +470,7 @@ namespace WindBot.Game.AI.Decks
}
private 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 && Enemy.Graveyard.GetMatchingCardsCount(card => card.IsCode(CardId.暗黑释放)) < 3)
{
if (Bot.MonsterZone.GetMatchingCardsCount(card => card.IsAttack() && card.Level >= 5) >= 2 && !Bot.HasDefendingMonster())
return true;
......
......@@ -31,6 +31,7 @@ namespace WindBot.Game.AI.Decks
public const int 落穴 = 120150019;
public const int 圣防 = 120198003;
public const int 炸甲 = 120194005;
public const int 暗黑释放 = 120105013;
}
public TheLegendExecutor(GameAI ai, Duel duel)
......@@ -43,14 +44,13 @@ namespace WindBot.Game.AI.Decks
AddExecutor(ExecutorType.Activate, CardId.机器栗子);
AddExecutor(ExecutorType.Activate, CardId.连击龙);
AddExecutor(ExecutorType.Activate, CardId.斗牛士, 斗牛士Effect);
AddExecutor(ExecutorType.Repos, CardId.青眼白龙, DefaultMonsterRepos);
AddExecutor(ExecutorType.Repos, CardId.破坏之剑士, DefaultMonsterRepos);
AddExecutor(ExecutorType.Repos, CardId.连击龙, DefaultMonsterRepos);
AddExecutor(ExecutorType.Repos,DefaultMonsterRepos);
AddExecutor(ExecutorType.SummonOrSet, CardId.青眼白龙, DefaultMonsterSummon);
AddExecutor(ExecutorType.Summon, CardId.破坏之剑士, DefaultMonsterSummon);
AddExecutor(ExecutorType.SummonOrSet, CardId.连击龙, DefaultMonsterSummon);
AddExecutor(ExecutorType.SummonOrSet, CardId.人造人, DefaultMonsterSummon);
AddExecutor(ExecutorType.Summon, CardId.机器栗子,栗子summon);
AddExecutor(ExecutorType.Repos, CardId.机器栗子, 栗子summon2);
AddExecutor(ExecutorType.Activate, CardId.死苏, 死苏effect);
AddExecutor(ExecutorType.Activate, CardId.死苏, 死苏effect2);
AddExecutor(ExecutorType.MonsterSet, CardId.斗牛士, Monsterset);
......@@ -58,7 +58,7 @@ namespace WindBot.Game.AI.Decks
AddExecutor(ExecutorType.Activate, CardId.凤凰龙);
AddExecutor(ExecutorType.Activate, CardId.对死者的供奉, 死供Effect);
AddExecutor(ExecutorType.Repos, CardId.成金恐龙王, 成金恐龙王Summon);
AddExecutor(ExecutorType.SummonOrSet, CardId.成金恐龙王, 成金恐龙王Summon);
AddExecutor(ExecutorType.SummonOrSet, CardId.血腥魔兽人);
AddExecutor(ExecutorType.Summon, CardId.凤凰龙, 凤凰龙summon);
......@@ -222,7 +222,13 @@ namespace WindBot.Game.AI.Decks
}
private bool 栗子summon()
{
if (Bot.HasInHand(CardId.机器栗子) && (Bot.GetMonstersInMainZone().Count == 0))
if (Bot.HasInGraveyard(CardId.机器栗子) && (Bot.GetMonstersInMainZone().Count == 0))
return true;
return false;
}
private bool 栗子summon2()
{
if (Bot.HasInGraveyard(CardId.机器栗子) && (Bot.GetMonstersInMainZone().Count == 1))
return true;
return false;
}
......@@ -265,7 +271,7 @@ namespace WindBot.Game.AI.Decks
}
private bool 圣防Repos()
{
if (Enemy.Graveyard.GetMatchingCardsCount(card => (card.Race & (int)CardRace.SpellCaster) > 0) >= 4 && Enemy.GetSpellCountWithoutField() >= 1 && !Bot.HasInMonstersZone(CardId.人造人))
if (Enemy.Graveyard.GetMatchingCardsCount(card => (card.Race & (int)CardRace.SpellCaster) > 0) >= 4 && Enemy.GetSpellCountWithoutField() >= 1 && !Bot.HasInMonstersZone(CardId.人造人) && Enemy.Graveyard.GetMatchingCardsCount(card => card.IsCode(CardId.暗黑释放)) < 3)
{
if (Bot.MonsterZone.GetMatchingCardsCount(card => card.IsAttack() && card.Level >= 5 ) >= 2 && !Bot.HasDefendingMonster())
return true;
......
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