Commit 64571ab5 authored by 苍蓝's avatar 苍蓝

update

parent 03f3161a
...@@ -7,7 +7,8 @@ ...@@ -7,7 +7,8 @@
120170000 120170000
120110001 120110001
120110001 120110001
120183000 120155000
120155000
120194002 120194002
120194002 120194002
120194002 120194002
...@@ -33,8 +34,7 @@ ...@@ -33,8 +34,7 @@
120181003 120181003
120151018 120151018
120151018 120151018
120151018 120194005
120194004
120194005 120194005
120194005 120194005
120150019 120150019
......
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
120183062 120183062
120183063 120183063
120183063 120183063
120183063 120170061
120183064 120183064
#extra #extra
!side !side
...@@ -7,7 +7,8 @@ ...@@ -7,7 +7,8 @@
120170000 120170000
120110001 120110001
120110001 120110001
120183000 120155000
120155000
120194002 120194002
120194002 120194002
120194002 120194002
...@@ -33,8 +34,7 @@ ...@@ -33,8 +34,7 @@
120181003 120181003
120151018 120151018
120151018 120151018
120151018 120194005
120194004
120194005 120194005
120194005 120194005
120150019 120150019
......
...@@ -16,7 +16,7 @@ namespace WindBot.Game.AI.Decks ...@@ -16,7 +16,7 @@ namespace WindBot.Game.AI.Decks
public const int 青眼白龙 = 120120000; public const int 青眼白龙 = 120120000;
public const int 破坏之剑士 = 120170000; public const int 破坏之剑士 = 120170000;
public const int 连击龙 = 120110001; public const int 连击龙 = 120110001;
public const int 电子科技翼龙 = 120183000; public const int 人造人 = 120155000;
public const int 血腥魔兽人 = 120194002; public const int 血腥魔兽人 = 120194002;
public const int 圣精灵 = 120194003; public const int 圣精灵 = 120194003;
...@@ -43,11 +43,13 @@ namespace WindBot.Game.AI.Decks ...@@ -43,11 +43,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, 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.Activate, CardId.死苏, 死苏effect); AddExecutor(ExecutorType.Activate, CardId.死苏, 死苏effect);
AddExecutor(ExecutorType.Activate, CardId.死苏, 死苏effect2); AddExecutor(ExecutorType.Activate, CardId.死苏, 死苏effect2);
...@@ -74,7 +76,8 @@ namespace WindBot.Game.AI.Decks ...@@ -74,7 +76,8 @@ namespace WindBot.Game.AI.Decks
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.SummonOrSet, DefaultMonsterSummon); AddExecutor(ExecutorType.SummonOrSet, DefaultMonsterSummon);
AddExecutor(ExecutorType.Repos, DefaultMonsterRepos); AddExecutor(ExecutorType.Repos, DefaultMonsterRepos);
AddExecutor(ExecutorType.SpellSet); AddExecutor(ExecutorType.SpellSet);
...@@ -150,7 +153,7 @@ namespace WindBot.Game.AI.Decks ...@@ -150,7 +153,7 @@ namespace WindBot.Game.AI.Decks
CardId.连击龙, CardId.连击龙,
CardId.青眼白龙, CardId.青眼白龙,
CardId.电子科技翼龙, CardId.人造人,
CardId.破坏之剑士, CardId.破坏之剑士,
})) }))
...@@ -186,7 +189,7 @@ namespace WindBot.Game.AI.Decks ...@@ -186,7 +189,7 @@ namespace WindBot.Game.AI.Decks
CardId.青眼白龙, CardId.青眼白龙,
CardId.破坏之剑士, CardId.破坏之剑士,
CardId.连击龙, CardId.连击龙,
CardId.电子科技翼龙, CardId.人造人,
}; };
if (!Bot.HasInGraveyard(targets) || !Enemy.HasInGraveyard(targets)) if (!Bot.HasInGraveyard(targets) || !Enemy.HasInGraveyard(targets))
{ {
...@@ -260,7 +263,15 @@ namespace WindBot.Game.AI.Decks ...@@ -260,7 +263,15 @@ namespace WindBot.Game.AI.Decks
} }
// 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.人造人))
{
if (Bot.MonsterZone.GetMatchingCardsCount(card => card.IsAttack() && card.Level >= 5) >= 2 && !Bot.HasDefendingMonster())
return true;
}
return false;
}
} }
} }
......
...@@ -48,6 +48,9 @@ namespace WindBot.Game.AI.Decks ...@@ -48,6 +48,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.瞄准鹰, 瞄准鹰Effect);
AddExecutor(ExecutorType.Activate, CardId.双角兽, 双角兽Effect); AddExecutor(ExecutorType.Activate, CardId.双角兽, 双角兽Effect);
AddExecutor(ExecutorType.Repos, CardId.最强战旗, DefaultMonsterRepos);
AddExecutor(ExecutorType.Repos, CardId.钢机神, DefaultMonsterRepos);
AddExecutor(ExecutorType.Repos, CardId.恶德, DefaultMonsterRepos);
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);
...@@ -88,7 +91,8 @@ namespace WindBot.Game.AI.Decks ...@@ -88,7 +91,8 @@ namespace WindBot.Game.AI.Decks
AddExecutor(ExecutorType.Activate, CardId.兽之拳); AddExecutor(ExecutorType.Activate, CardId.兽之拳);
AddExecutor(ExecutorType.Activate, DefaultDontChainMyself); AddExecutor(ExecutorType.Activate, DefaultDontChainMyself);
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, DefaultSpellSet); AddExecutor(ExecutorType.SpellSet, DefaultSpellSet);
...@@ -213,7 +217,7 @@ namespace WindBot.Game.AI.Decks ...@@ -213,7 +217,7 @@ namespace WindBot.Game.AI.Decks
{ {
if (!Enemy.HasAttackingMonster() && Enemy.GetMonsterCount() >= 1) if (!Enemy.HasAttackingMonster() && Enemy.GetMonsterCount() >= 1)
{ {
AI.SelectCard(Bot.Graveyard.GetHighestLevelMonster()); AI.SelectCard(Bot.Graveyard.GetHighestAttackMonster());
return true; return true;
} }
return false; return false;
...@@ -442,6 +446,15 @@ namespace WindBot.Game.AI.Decks ...@@ -442,6 +446,15 @@ namespace WindBot.Game.AI.Decks
} }
return false; return false;
} }
private bool 圣防Repos()
{
if (Enemy.Graveyard.GetMatchingCardsCount(card => (card.Race & (int)CardRace.SpellCaster) > 0) >= 4 && Enemy.GetSpellCountWithoutField() >= 1)
{
if (Bot.MonsterZone.GetMatchingCardsCount(card => card.IsAttack() && card.Level >= 5) >= 2 && !Bot.HasDefendingMonster())
return true;
}
return false;
}
} }
} }
......
...@@ -48,6 +48,9 @@ namespace WindBot.Game.AI.Decks ...@@ -48,6 +48,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.瞄准鹰, 瞄准鹰Effect);
AddExecutor(ExecutorType.Activate, CardId.双角兽, 双角兽Effect); AddExecutor(ExecutorType.Activate, CardId.双角兽, 双角兽Effect);
AddExecutor(ExecutorType.Repos, CardId.最强战旗, DefaultMonsterRepos);
AddExecutor(ExecutorType.Repos, CardId.钢机神, DefaultMonsterRepos);
AddExecutor(ExecutorType.Repos, CardId.恶德, DefaultMonsterRepos);
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);
...@@ -88,7 +91,8 @@ namespace WindBot.Game.AI.Decks ...@@ -88,7 +91,8 @@ namespace WindBot.Game.AI.Decks
AddExecutor(ExecutorType.Activate, CardId.兽之拳); AddExecutor(ExecutorType.Activate, CardId.兽之拳);
AddExecutor(ExecutorType.Activate, DefaultDontChainMyself); AddExecutor(ExecutorType.Activate, DefaultDontChainMyself);
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, DefaultSpellSet); AddExecutor(ExecutorType.SpellSet, DefaultSpellSet);
...@@ -210,13 +214,15 @@ namespace WindBot.Game.AI.Decks ...@@ -210,13 +214,15 @@ namespace WindBot.Game.AI.Decks
return true; return true;
} }
private bool 钢机神1Effect() private bool 钢机神1Effect()
{ {
if (!Enemy.HasAttackingMonster() && Enemy.GetMonsterCount() >= 1) foreach (ClientCard m in Bot.Graveyard)
{ if (!Enemy.HasAttackingMonster() && Enemy.GetMonsterCount() >= 1)
AI.SelectCard(Bot.Graveyard.GetHighestLevelMonster()); {
if (m.Race == (int)CardRace.Machine )
AI.SelectCard(m);
return true; return true;
} }
return false; return false;
} }
private bool 恶德Effect() private bool 恶德Effect()
{ {
...@@ -442,6 +448,15 @@ namespace WindBot.Game.AI.Decks ...@@ -442,6 +448,15 @@ namespace WindBot.Game.AI.Decks
} }
return false; return false;
} }
private bool 圣防Repos()
{
if (Enemy.Graveyard.GetMatchingCardsCount(card => (card.Race & (int)CardRace.SpellCaster) > 0) >= 4 && Enemy.GetSpellCountWithoutField() >= 1)
{
if (Bot.MonsterZone.GetMatchingCardsCount(card => card.IsAttack() && card.Level >= 5) >= 2 && !Bot.HasDefendingMonster())
return true;
}
return false;
}
} }
} }
......
...@@ -16,7 +16,7 @@ namespace WindBot.Game.AI.Decks ...@@ -16,7 +16,7 @@ namespace WindBot.Game.AI.Decks
public const int 青眼白龙 = 120120000; public const int 青眼白龙 = 120120000;
public const int 破坏之剑士 = 120170000; public const int 破坏之剑士 = 120170000;
public const int 连击龙 = 120110001; public const int 连击龙 = 120110001;
public const int 电子科技翼龙 = 120183000; public const int 人造人 = 120155000;
public const int 血腥魔兽人 = 120194002; public const int 血腥魔兽人 = 120194002;
public const int 圣精灵 = 120194003; public const int 圣精灵 = 120194003;
...@@ -43,11 +43,13 @@ namespace WindBot.Game.AI.Decks ...@@ -43,11 +43,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, 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.Activate, CardId.死苏, 死苏effect); AddExecutor(ExecutorType.Activate, CardId.死苏, 死苏effect);
AddExecutor(ExecutorType.Activate, CardId.死苏, 死苏effect2); AddExecutor(ExecutorType.Activate, CardId.死苏, 死苏effect2);
...@@ -74,7 +76,8 @@ namespace WindBot.Game.AI.Decks ...@@ -74,7 +76,8 @@ namespace WindBot.Game.AI.Decks
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.SummonOrSet, DefaultMonsterSummon); AddExecutor(ExecutorType.SummonOrSet, DefaultMonsterSummon);
AddExecutor(ExecutorType.Repos, DefaultMonsterRepos); AddExecutor(ExecutorType.Repos, DefaultMonsterRepos);
AddExecutor(ExecutorType.SpellSet); AddExecutor(ExecutorType.SpellSet);
...@@ -150,7 +153,7 @@ namespace WindBot.Game.AI.Decks ...@@ -150,7 +153,7 @@ namespace WindBot.Game.AI.Decks
CardId.连击龙, CardId.连击龙,
CardId.青眼白龙, CardId.青眼白龙,
CardId.电子科技翼龙, CardId.人造人,
CardId.破坏之剑士, CardId.破坏之剑士,
})) }))
...@@ -186,7 +189,7 @@ namespace WindBot.Game.AI.Decks ...@@ -186,7 +189,7 @@ namespace WindBot.Game.AI.Decks
CardId.青眼白龙, CardId.青眼白龙,
CardId.破坏之剑士, CardId.破坏之剑士,
CardId.连击龙, CardId.连击龙,
CardId.电子科技翼龙, CardId.人造人,
}; };
if (!Bot.HasInGraveyard(targets) || !Enemy.HasInGraveyard(targets)) if (!Bot.HasInGraveyard(targets) || !Enemy.HasInGraveyard(targets))
{ {
...@@ -258,7 +261,16 @@ namespace WindBot.Game.AI.Decks ...@@ -258,7 +261,16 @@ namespace WindBot.Game.AI.Decks
AI.SelectNextCard(Enemy.MonsterZone.GetHighestAttackMonster()); AI.SelectNextCard(Enemy.MonsterZone.GetHighestAttackMonster());
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.人造人))
{
if (Bot.MonsterZone.GetMatchingCardsCount(card => card.IsAttack() && card.Level >= 5 ) >= 2 && !Bot.HasDefendingMonster())
return true;
}
return false;
} }
......
...@@ -704,7 +704,7 @@ namespace WindBot.Game.AI ...@@ -704,7 +704,7 @@ namespace WindBot.Game.AI
{ {
ClientCard tributeCard = Bot.MonsterZone[j]; ClientCard tributeCard = Bot.MonsterZone[j];
if (tributeCard == null) continue; if (tributeCard == null) continue;
if (tributeCard.GetDefensePower() < (Card.Attack - 400)) if (tributeCard.GetDefensePower() < Card.Attack && tributeCard.Level<=4)
tributecount--; tributecount--;
} }
return tributecount <= 0; return tributecount <= 0;
......
...@@ -19,14 +19,12 @@ ...@@ -19,14 +19,12 @@
{ {
"name": "最强战旗", "name": "最强战旗",
"deck": "MathMech", "deck": "MathMech",
"dialog": "rd-d", "dialog": "rd-d"
"hidden": true
}, },
{ {
"name": "传说子", "name": "传说子",
"deck": "Dragun", "deck": "Dragun",
"dialog": "rd", "dialog": "rd"
"hidden": 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