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

update

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