Commit da9d8577 authored by 苍蓝's avatar 苍蓝

fix

parent 8c413a87
Pipeline #28917 passed with stage
in 22 seconds
...@@ -85,6 +85,9 @@ namespace WindBot.Game.AI.Decks ...@@ -85,6 +85,9 @@ namespace WindBot.Game.AI.Decks
//AddExecutor(ExecutorType.Activate, DefaultDontChainMyself); //AddExecutor(ExecutorType.Activate, DefaultDontChainMyself);
AddExecutor(ExecutorType.Repos, DefaultMonsterRepos); AddExecutor(ExecutorType.Repos, DefaultMonsterRepos);
AddExecutor(ExecutorType.Repos, CardId.救火女, 反转Repos);;
AddExecutor(ExecutorType.Repos, CardId.光天女, 反转Repos);
AddExecutor(ExecutorType.Repos, CardId.夜魔女, 反转Repos);
AddExecutor(ExecutorType.Repos, CardId.花草女, 圣防Repos); AddExecutor(ExecutorType.Repos, CardId.花草女, 圣防Repos);
AddExecutor(ExecutorType.Repos, CardId.主存女, 圣防Repos); AddExecutor(ExecutorType.Repos, CardId.主存女, 圣防Repos);
AddExecutor(ExecutorType.Repos, CardId.细剑女, 圣防Repos); AddExecutor(ExecutorType.Repos, CardId.细剑女, 圣防Repos);
......
...@@ -27,6 +27,7 @@ namespace WindBot.Game.AI.Decks ...@@ -27,6 +27,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.暗黑释放, 圣防Effect); AddExecutor(ExecutorType.Activate, _CardId.暗黑释放, 圣防Effect);
AddExecutor(ExecutorType.Activate, ImFeelingLucky); AddExecutor(ExecutorType.Activate, ImFeelingLucky);
...@@ -117,6 +118,7 @@ namespace WindBot.Game.AI.Decks ...@@ -117,6 +118,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.Repos, 反转Repos2);
AddExecutor(ExecutorType.Repos, DefaultMonsterRepos); AddExecutor(ExecutorType.Repos, DefaultMonsterRepos);
AddExecutor(ExecutorType.Repos, 圣防Repos); AddExecutor(ExecutorType.Repos, 圣防Repos);
......
...@@ -84,6 +84,9 @@ namespace WindBot.Game.AI.Decks ...@@ -84,6 +84,9 @@ namespace WindBot.Game.AI.Decks
AddExecutor(ExecutorType.Activate, _CardId.加百列热茶, 加百列热茶Effect); AddExecutor(ExecutorType.Activate, _CardId.加百列热茶, 加百列热茶Effect);
AddExecutor(ExecutorType.Activate, DefaultDontChainMyself); AddExecutor(ExecutorType.Activate, DefaultDontChainMyself);
AddExecutor(ExecutorType.Repos, DefaultMonsterRepos); AddExecutor(ExecutorType.Repos, DefaultMonsterRepos);
AddExecutor(ExecutorType.Repos, CardId.幻煌,反转Repos);
AddExecutor(ExecutorType.Repos, CardId.起重龙,反转Repos);
AddExecutor(ExecutorType.Repos, CardId.建造龙, 反转Repos);
AddExecutor(ExecutorType.Repos, 圣防Repos); AddExecutor(ExecutorType.Repos, 圣防Repos);
AddExecutor(ExecutorType.SpellSet, TrapCardSet); AddExecutor(ExecutorType.SpellSet, TrapCardSet);
AddExecutor(ExecutorType.SpellSet); AddExecutor(ExecutorType.SpellSet);
......
...@@ -93,6 +93,10 @@ namespace WindBot.Game.AI.Decks ...@@ -93,6 +93,10 @@ 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, 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.Repos, CardId.青眼白龙, 圣防Repos); AddExecutor(ExecutorType.Repos, CardId.青眼白龙, 圣防Repos);
AddExecutor(ExecutorType.Repos, CardId.破坏之剑士, 圣防Repos); AddExecutor(ExecutorType.Repos, CardId.破坏之剑士, 圣防Repos);
......
...@@ -85,6 +85,9 @@ namespace WindBot.Game.AI.Decks ...@@ -85,6 +85,9 @@ namespace WindBot.Game.AI.Decks
AddExecutor(ExecutorType.Summon, CardId.七星道法师); AddExecutor(ExecutorType.Summon, CardId.七星道法师);
AddExecutor(ExecutorType.Repos, DefaultMonsterRepos); AddExecutor(ExecutorType.Repos, DefaultMonsterRepos);
AddExecutor(ExecutorType.SummonOrSet, DefaultMonsterSummon); AddExecutor(ExecutorType.SummonOrSet, DefaultMonsterSummon);
AddExecutor(ExecutorType.Repos, CardId.青眼白龙, 反转Repos);
AddExecutor(ExecutorType.Repos, CardId.连击龙, 反转Repos);
AddExecutor(ExecutorType.Repos, CardId.七星道魔术师, 反转Repos);
AddExecutor(ExecutorType.Repos, CardId.青眼白龙, 圣防Repos); AddExecutor(ExecutorType.Repos, CardId.青眼白龙, 圣防Repos);
AddExecutor(ExecutorType.Repos, CardId.破坏之剑士, 圣防Repos); AddExecutor(ExecutorType.Repos, CardId.破坏之剑士, 圣防Repos);
//AddExecutor(ExecutorType.Activate, CardId.sionmax, sionmaxEffect); //AddExecutor(ExecutorType.Activate, CardId.sionmax, sionmaxEffect);
......
...@@ -73,26 +73,30 @@ namespace WindBot.Game.AI.Decks ...@@ -73,26 +73,30 @@ namespace WindBot.Game.AI.Decks
AddExecutor(ExecutorType.Activate, CardId.天惠枪, 天惠枪Effect); AddExecutor(ExecutorType.Activate, CardId.天惠枪, 天惠枪Effect);
AddExecutor(ExecutorType.SpellSet, CardId.魔力抽出, speset); AddExecutor(ExecutorType.SpellSet, CardId.魔力抽出, speset);
AddExecutor(ExecutorType.SpellSet, CardId.魔术的幕帘, speset); AddExecutor(ExecutorType.SpellSet, CardId.魔术的幕帘, 幕帘set);
AddExecutor(ExecutorType.SpellSet, CardId.七宝船, speset); AddExecutor(ExecutorType.SpellSet, CardId.七宝船, speset);
AddExecutor(ExecutorType.SpellSet, CardId.采掘, speset); AddExecutor(ExecutorType.SpellSet, CardId.采掘, speset);
AddExecutor(ExecutorType.SpellSet, CardId.幽灵旋风, speset); AddExecutor(ExecutorType.SpellSet, CardId.幽灵旋风, speset);
AddExecutor(ExecutorType.SpellSet, CardId.宝石, speset);
AddExecutor(ExecutorType.SpellSet, CardId.DMB, speset); AddExecutor(ExecutorType.SpellSet, CardId.DMB, speset);
AddExecutor(ExecutorType.SpellSet, CardId.二重加速, speset); AddExecutor(ExecutorType.SpellSet, CardId.二重加速, speset);
AddExecutor(ExecutorType.SpellSet, CardId.水流, speset); AddExecutor(ExecutorType.SpellSet, CardId.水流, speset);
AddExecutor(ExecutorType.SpellSet, CardId.宝石, speset);
AddExecutor(ExecutorType.SpellSet, CardId.天惠枪, speset); AddExecutor(ExecutorType.SpellSet, CardId.天惠枪, speset);
AddExecutor(ExecutorType.SpellSet, CardId.三猫, speset); AddExecutor(ExecutorType.SpellSet, CardId.三猫, speset);
AddExecutor(ExecutorType.SpellSet, _CardId.魔法筒); AddExecutor(ExecutorType.SpellSet, _CardId.魔法筒);
AddExecutor(ExecutorType.SpellSet, CardId.魔术的幕帘); AddExecutor(ExecutorType.SpellSet, CardId.魔术的幕帘);
AddExecutor(ExecutorType.SpellSet, CardId.DMA); AddExecutor(ExecutorType.SpellSet, CardId.宝石);
AddExecutor(ExecutorType.SpellSet, _CardId.黑洞); AddExecutor(ExecutorType.SpellSet, _CardId.黑洞);
AddExecutor(ExecutorType.SpellSet, CardId.DMA);
AddExecutor(ExecutorType.Summon, CardId.DMG, DMGsummon); AddExecutor(ExecutorType.Summon, CardId.DMG, DMGsummon);
AddExecutor(ExecutorType.Activate, CardId.宝石, 宝石Effect2); AddExecutor(ExecutorType.Activate, CardId.宝石, 宝石Effect2);
//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.Repos, _CardId.黑魔术师, 圣防Repos);
AddExecutor(ExecutorType.Repos, CardId.遂行者, 圣防Repos); AddExecutor(ExecutorType.Repos, CardId.遂行者, 圣防Repos);
AddExecutor(ExecutorType.Repos, CardId.DMG, 圣防Repos); AddExecutor(ExecutorType.Repos, CardId.DMG, 圣防Repos);
...@@ -338,6 +342,12 @@ namespace WindBot.Game.AI.Decks ...@@ -338,6 +342,12 @@ namespace WindBot.Game.AI.Decks
return true; return true;
return false; return false;
} }
private bool 幕帘set()
{
if (Bot.LifePoints > 1000 && Bot.GetSpellCountWithoutField() <= 1)
return true;
return false;
}
private bool 抽出sp() private bool 抽出sp()
{ {
...@@ -431,41 +441,51 @@ namespace WindBot.Game.AI.Decks ...@@ -431,41 +441,51 @@ namespace WindBot.Game.AI.Decks
AI.SelectYesNo(true); AI.SelectYesNo(true);
return true; return true;
} }
else if (Bot.HasInHand(CardId.DMG) && Bot.GetSpellCount() >= 2 && Bot.GetHandCount() >=4)
{
AI.SelectCard(CardId.DMG);
return true;
}
return false; return false;
} }
private bool 魔力抽出Effect() private bool 魔力抽出Effect()
{ {
if (Bot.HasInSpellZone(target)) if (Bot.HasInSpellZone(cost2))
{ {
AI.SelectCard(target); AI.SelectCard(cost2);
if (Bot.HasInHand(mon)) if (Bot.HasInHand(mon3))
{ {
AI.SelectYesNo(true); AI.SelectYesNo(true);
AI.SelectNextCard(mon); AI.SelectNextCard(mon3);
} }
} }
return true; ; return true; ;
} }
private bool 幕帘Effect() private bool 幕帘Effect()
{ {
if (Bot.HasInHandOrInSpellZone(CardId.DMA) && (Bot.HasInHand(CardId.遂行者) || Bot.HasInHand(_CardId.黑魔术师))&& Enemy.GetSpellCount() >= 2) if (Bot.LifePoints > 1000)
{
AI.SelectCard(CardId.遂行者, _CardId.黑魔术师);
return true;
}
if (Bot.HasInHand(CardId.黑曜) && Bot.GetGraveyardSpells().Count >=5 )
{ {
AI.SelectCard(CardId.黑曜); if (Bot.HasInHandOrInSpellZone(CardId.DMA) && (Bot.HasInHand(CardId.遂行者) || Bot.HasInHand(_CardId.黑魔术师)) && Enemy.GetSpellCount() >= 2)
return true; {
} AI.SelectCard(CardId.遂行者, _CardId.黑魔术师);
if (Bot.HasInHand(CardId.遂行者)) return true;
{ }
AI.SelectCard(CardId.遂行者); if (Bot.HasInHand(CardId.黑曜) && Bot.GetGraveyardSpells().Count >= 5)
return true; {
AI.SelectCard(CardId.黑曜);
return true;
}
if (Bot.HasInHand(CardId.遂行者))
{
AI.SelectCard(CardId.遂行者);
return true;
}
if (Bot.HasInHand(mon3)) AI.SelectCard(mon3);
return true;
} }
if (Bot.HasInHand(mon3)) AI.SelectCard(mon3); return false;
return true;
} }
private bool 天惠枪Effect() private bool 天惠枪Effect()
{ {
if (Bot.HasInMonstersZone(CardId.黑曜)) if (Bot.HasInMonstersZone(CardId.黑曜))
...@@ -516,16 +536,26 @@ namespace WindBot.Game.AI.Decks ...@@ -516,16 +536,26 @@ namespace WindBot.Game.AI.Decks
if (Bot.GetGraveyardMonsters().Count <= 3) if (Bot.GetGraveyardMonsters().Count <= 3)
{ {
AI.SelectYesNo(true); AI.SelectYesNo(true);
if (Bot.GetGraveyardMonsters().Count >= 2 && Bot.Hand.GetMatchingCardsCount(card => card.Level >= 6) >= 3 && Bot.HasInGraveyard(CardId.七宝船)) if (Bot.GetGraveyardMonsters().Count >= 2 && Bot.Hand.GetMatchingCardsCount(card => card.Level >= 7) >= 2 && Bot.HasInGraveyard(CardId.七宝船))
{ {
AI.SelectCard(CardId.七宝船); AI.SelectCard(CardId.七宝船);
return true; return true;
} }
if (Bot.GetGraveyardMonsters().Count >= 2 && !Bot.GetMonsters().Any() && Bot.HasInGraveyard(CardId.宝石) && !Bot.HasInHandOrInSpellZone(CardId.宝石))
{
AI.SelectCard(CardId.宝石);
return true;
}
if (Bot.GetGraveyardMonsters().Count >= 2 && Bot.Hand.GetMatchingCardsCount(card => card.Level >= 6) == 0 && Bot.HasInGraveyard(CardId.宝石)) if (Bot.GetGraveyardMonsters().Count >= 2 && Bot.Hand.GetMatchingCardsCount(card => card.Level >= 6) == 0 && Bot.HasInGraveyard(CardId.宝石))
{ {
AI.SelectCard(CardId.宝石); AI.SelectCard(CardId.宝石);
return true; return true;
} }
if (Bot.GetGraveyardMonsters().Count >= 2 && !Bot.GetMonsters().Any() && Bot.HasInHand(mon3) && Bot.HasInGraveyard(CardId.魔术的幕帘) && !Bot.HasInHandOrInSpellZoneOrInGraveyard(CardId.宝石))
{
AI.SelectCard(CardId.魔术的幕帘);
return true;
}
if (Bot.GetGraveyardMonsters().Count >= 2 && Enemy.GetSpellCount() > 2 && (Bot.HasInMonstersZone(_CardId.黑魔术师) || Bot.HasInMonstersZone(CardId.遂行者)) && Bot.HasInGraveyard(CardId.DMA)) if (Bot.GetGraveyardMonsters().Count >= 2 && Enemy.GetSpellCount() > 2 && (Bot.HasInMonstersZone(_CardId.黑魔术师) || Bot.HasInMonstersZone(CardId.遂行者)) && Bot.HasInGraveyard(CardId.DMA))
{ {
AI.SelectCard(CardId.DMA); AI.SelectCard(CardId.DMA);
...@@ -549,6 +579,10 @@ namespace WindBot.Game.AI.Decks ...@@ -549,6 +579,10 @@ namespace WindBot.Game.AI.Decks
{ {
return true; return true;
} }
else if (Bot.GetHandCount() >= 5)
{
return true;
}
return false; return false;
} }
private bool 采掘Effect() private bool 采掘Effect()
...@@ -614,7 +648,7 @@ namespace WindBot.Game.AI.Decks ...@@ -614,7 +648,7 @@ namespace WindBot.Game.AI.Decks
if (Bot.GetMonsterCount() <= 1) if (Bot.GetMonsterCount() <= 1)
{ {
if (Bot.HasInHandOrInGraveyard(CardId.DMG) && Bot.HasInHandOrInGraveyard(mon2)) if (Bot.HasInHandOrInGraveyard(CardId.DMG) && Bot.HasInHandOrInGraveyard(mon2))
AI.SelectCard(mon2); AI.SelectCard(mon3);
return true; return true;
} }
return false; return false;
......
...@@ -120,6 +120,9 @@ namespace WindBot.Game.AI.Decks ...@@ -120,6 +120,9 @@ namespace WindBot.Game.AI.Decks
AddExecutor(ExecutorType.Repos, DefaultMonsterRepos); AddExecutor(ExecutorType.Repos, DefaultMonsterRepos);
AddExecutor(ExecutorType.SpellSet, DefaultSpellSet); AddExecutor(ExecutorType.SpellSet, DefaultSpellSet);
AddExecutor(ExecutorType.Activate, CardId.世纪末兽机界, DefaultField2); AddExecutor(ExecutorType.Activate, CardId.世纪末兽机界, DefaultField2);
AddExecutor(ExecutorType.Repos, CardId.钢机神, 反转Repos);
AddExecutor(ExecutorType.Repos, CardId.最强战旗, 反转Repos);
AddExecutor(ExecutorType.Repos, CardId.恶德, 反转Repos);
AddExecutor(ExecutorType.Repos, CardId.最强战旗, 圣防Repos); AddExecutor(ExecutorType.Repos, CardId.最强战旗, 圣防Repos);
AddExecutor(ExecutorType.Repos, CardId.钢机神, 圣防Repos); AddExecutor(ExecutorType.Repos, CardId.钢机神, 圣防Repos);
} }
......
...@@ -84,7 +84,12 @@ namespace WindBot.Game.AI.Decks ...@@ -84,7 +84,12 @@ namespace WindBot.Game.AI.Decks
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);
AddExecutor(ExecutorType.Repos, CardId.人造人, DefaultMonsterRepos); AddExecutor(ExecutorType.Repos, CardId.人造人, DefaultMonsterRepos);
AddExecutor(ExecutorType.Repos, CardId.青眼白龙, 反转Repos);
AddExecutor(ExecutorType.Repos, _CardId.手枪龙, 反转Repos);
AddExecutor(ExecutorType.Repos, _CardId.黑魔术师, 反转Repos);
AddExecutor(ExecutorType.Repos, CardId.小手枪龙, 反转Repos);
AddExecutor(ExecutorType.Repos, CardId.狼人, 反转Repos);
AddExecutor(ExecutorType.MonsterSet, CardId.千年盾, DefaultMonsterSummon); AddExecutor(ExecutorType.MonsterSet, CardId.千年盾, DefaultMonsterSummon);
AddExecutor(ExecutorType.Repos, CardId.成金恐龙王, 成金恐龙王Summon); AddExecutor(ExecutorType.Repos, CardId.成金恐龙王, 成金恐龙王Summon);
AddExecutor(ExecutorType.Summon, CardId.成金恐龙王, 成金恐龙王Summon); AddExecutor(ExecutorType.Summon, CardId.成金恐龙王, 成金恐龙王Summon);
......
...@@ -43,6 +43,10 @@ namespace WindBot.Game.AI ...@@ -43,6 +43,10 @@ namespace WindBot.Game.AI
public const int 万能地雷 = 120234005; public const int 万能地雷 = 120234005;
public const int 万能地雷2 = 120237001; public const int 万能地雷2 = 120237001;
public const int 落穴 = 120150019; public const int 落穴 = 120150019;
public const int 神鸟攻击 = 120247065;
public const int 攻击无力化 = 120249065;
public const int 沙尘防护罩 = 120263038;
public const int 强脱 = 120254032;
public const int 暗黑释放 = 120105013; public const int 暗黑释放 = 120105013;
public const int 真空湮灭 = 120216026; public const int 真空湮灭 = 120216026;
public const int 亚龙地狱 = 120231068; public const int 亚龙地狱 = 120231068;
...@@ -550,6 +554,18 @@ namespace WindBot.Game.AI ...@@ -550,6 +554,18 @@ namespace WindBot.Game.AI
} }
return false; return false;
} }
protected bool 反转Repos()
{
if (Card.IsFacedown())
return true;
return false;
}
protected bool 反转Repos2()
{
if (Card.IsFacedown() && Card.Attack >= 2100)
return true;
return false;
}
protected bool 圣防Repos() protected bool 圣防Repos()
{ {
...@@ -563,6 +579,10 @@ namespace WindBot.Game.AI ...@@ -563,6 +579,10 @@ namespace WindBot.Game.AI
_CardId.万能地雷, _CardId.万能地雷,
_CardId.万能地雷2, _CardId.万能地雷2,
_CardId.大灾害, _CardId.大灾害,
_CardId.神鸟攻击,
_CardId.攻击无力化,
_CardId.强脱,
_CardId.沙尘防护罩,
_CardId.激流葬}; _CardId.激流葬};
if (Bot.MonsterZone.GetMatchingCardsCount(card => card.IsAttack() && card.Level > 5) >= 2 if (Bot.MonsterZone.GetMatchingCardsCount(card => card.IsAttack() && card.Level > 5) >= 2
......
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