Commit 46a4e78d authored by kiwi946's avatar kiwi946 Committed by mercury233

GrenMaju Thunder Boarder update (#116)

parent 20916c38
#created by ... #created by ...
#main #main
71197066
71197066
15397015 15397015
15397015 15397015
15397015 15397015
71564252
71564252
71564252
14558127
14558127 14558127
36584821 36584821
36584821 36584821
36584821 36584821
23434538 23434538
23434538
63845230 63845230
63845230 63845230
63845230 63845230
18144506 18144506
35261759 35261759
35261759 35261759
35261759
59750328 59750328
59750328 59750328
70368879
98645731 98645731
98645731 98645731
98645731 98645731
...@@ -30,48 +27,47 @@ ...@@ -30,48 +27,47 @@
10045474 10045474
10045474 10045474
10813327 10813327
15693423
23924608 23924608
47475363 47475363
47475363 47475363
30241314 30241314
30241314 36975314
36975314
58921041 58921041
58921041
61740673
61936647
69452756 69452756
40605147 40605147
40605147 40605147
77538567 41420027
41420027
77538567 77538567
#extra #extra
86221741 86221741
31833038 31833038
85289965 85289965
5043010
30194529 30194529
38342335 38342335
2857636 2857636
24094258 24094258
75452921
50588353 50588353
3987233 3987233
3987233 3987233
63288573 63288573
98978921 41999284
41999284 41999284
41999284 41999284
!side !side
10000080 71564252
86937530 14558127
62015408 62015408
23434538
9742784 9742784
70368879
19508728 19508728
10045474
15693423 15693423
24207889 24207889
30241314
61740673
61936647
69452756 69452756
23002292 23002292
41420027 77538567
41420027
...@@ -11,6 +11,7 @@ namespace WindBot.Game.AI.Decks ...@@ -11,6 +11,7 @@ namespace WindBot.Game.AI.Decks
{ {
public class CardId public class CardId
{ {
public const int MetalSnake = 71197066;
public const int InspectBoarder = 15397015; public const int InspectBoarder = 15397015;
public const int ThunderKingRaiOh = 71564252; public const int ThunderKingRaiOh = 71564252;
public const int AshBlossomAndJoyousSpring =14558127; public const int AshBlossomAndJoyousSpring =14558127;
...@@ -32,6 +33,7 @@ namespace WindBot.Game.AI.Decks ...@@ -32,6 +33,7 @@ namespace WindBot.Game.AI.Decks
public const int HeavyStormDuster = 23924608; public const int HeavyStormDuster = 23924608;
public const int DrowningMirrorForce = 47475363; public const int DrowningMirrorForce = 47475363;
public const int MacroCosmos = 30241314; public const int MacroCosmos = 30241314;
public const int Crackdown = 36975314;
public const int AntiSpellFragrance = 58921041; public const int AntiSpellFragrance = 58921041;
public const int ImperialOrder = 61740673; public const int ImperialOrder = 61740673;
public const int PhatomKnightsSword = 61936647; public const int PhatomKnightsSword = 61936647;
...@@ -89,9 +91,13 @@ namespace WindBot.Game.AI.Decks ...@@ -89,9 +91,13 @@ namespace WindBot.Game.AI.Decks
AddExecutor(ExecutorType.Activate, CardId.PotOfDesires, PotOfDesireseff); AddExecutor(ExecutorType.Activate, CardId.PotOfDesires, PotOfDesireseff);
AddExecutor(ExecutorType.Activate, CardId.CardOfDemise, CardOfDemiseeff); AddExecutor(ExecutorType.Activate, CardId.CardOfDemise, CardOfDemiseeff);
//sp //sp
AddExecutor(ExecutorType.Activate, CardId.Linkuriboh, Linkuriboheff);
AddExecutor(ExecutorType.SpSummon, CardId.Linkuriboh, Linkuribohsp);
AddExecutor(ExecutorType.SpSummon, CardId.KnightmareCerberus,Knightmaresp);
AddExecutor(ExecutorType.SpSummon, CardId.KnightmarePhoenix, Knightmaresp);
AddExecutor(ExecutorType.SpSummon, CardId.MissusRadiant, MissusRadiantsp); AddExecutor(ExecutorType.SpSummon, CardId.MissusRadiant, MissusRadiantsp);
AddExecutor(ExecutorType.Activate, CardId.MissusRadiant, MissusRadianteff); AddExecutor(ExecutorType.Activate, CardId.MissusRadiant, MissusRadianteff);
AddExecutor(ExecutorType.Activate, CardId.Linkuriboh, Linkuriboheff);
AddExecutor(ExecutorType.SpSummon, CardId.Linkuriboh, Linkuribohsp); AddExecutor(ExecutorType.SpSummon, CardId.Linkuriboh, Linkuribohsp);
AddExecutor(ExecutorType.SpSummon, CardId.LinkSpider); AddExecutor(ExecutorType.SpSummon, CardId.LinkSpider);
AddExecutor(ExecutorType.SpSummon, CardId.BorreloadDragon, BorreloadDragonsp); AddExecutor(ExecutorType.SpSummon, CardId.BorreloadDragon, BorreloadDragonsp);
...@@ -104,7 +110,11 @@ namespace WindBot.Game.AI.Decks ...@@ -104,7 +110,11 @@ namespace WindBot.Game.AI.Decks
AddExecutor(ExecutorType.Summon, CardId.ThunderKingRaiOh, ThunderKingRaiOhsummon); AddExecutor(ExecutorType.Summon, CardId.ThunderKingRaiOh, ThunderKingRaiOhsummon);
AddExecutor(ExecutorType.SpSummon, CardId.BorreloadDragon, BorreloadDragonspsecond); AddExecutor(ExecutorType.SpSummon, CardId.BorreloadDragon, BorreloadDragonspsecond);
AddExecutor(ExecutorType.SpSummon, CardId.EaterOfMillions, EaterOfMillionssp); AddExecutor(ExecutorType.SpSummon, CardId.EaterOfMillions, EaterOfMillionssp);
//spell
AddExecutor(ExecutorType.Activate, CardId.MetalSnake, MetalSnakesp);
AddExecutor(ExecutorType.Activate, CardId.MetalSnake, MetalSnakeeff);
//spell
AddExecutor(ExecutorType.Activate, CardId.Crackdown, Crackdowneff);
AddExecutor(ExecutorType.Activate, CardId.MoonMirrorShield, MoonMirrorShieldeff); AddExecutor(ExecutorType.Activate, CardId.MoonMirrorShield, MoonMirrorShieldeff);
AddExecutor(ExecutorType.Activate, CardId.Scapegoat, DefaultScapegoat); AddExecutor(ExecutorType.Activate, CardId.Scapegoat, DefaultScapegoat);
AddExecutor(ExecutorType.Activate, CardId.PhatomKnightsSword, PhatomKnightsSwordeff); AddExecutor(ExecutorType.Activate, CardId.PhatomKnightsSword, PhatomKnightsSwordeff);
...@@ -360,6 +370,13 @@ namespace WindBot.Game.AI.Decks ...@@ -360,6 +370,13 @@ namespace WindBot.Game.AI.Decks
return false; return false;
} }
private bool Crackdowneff()
{
if (Util.GetOneEnemyBetterThanMyBest(true, true) != null && Bot.UnderAttack)
AI.SelectCard(Util.GetOneEnemyBetterThanMyBest(true, true));
return Util.GetOneEnemyBetterThanMyBest(true, true) != null && Bot.UnderAttack;
}
private bool MoonMirrorShieldeff() private bool MoonMirrorShieldeff()
{ {
if(Card.Location==CardLocation.Hand) if(Card.Location==CardLocation.Hand)
...@@ -430,15 +447,15 @@ namespace WindBot.Game.AI.Decks ...@@ -430,15 +447,15 @@ namespace WindBot.Game.AI.Decks
private bool BorreloadDragonsp() private bool BorreloadDragonsp()
{ {
if (!Bot.HasInMonstersZone(CardId.MissusRadiant)) return false; if (!(Bot.HasInMonstersZone(CardId.MissusRadiant) || Bot.HasInMonstersZone(new[] { CardId.KnightmareCerberus, CardId.KnightmarePhoenix }))) return false;
IList<ClientCard> material_list = new List<ClientCard>(); IList<ClientCard> material_list = new List<ClientCard>();
foreach (ClientCard monster in Bot.GetMonsters()) foreach (ClientCard monster in Bot.GetMonsters())
{ {
if (monster.IsCode(CardId.MissusRadiant, CardId.LinkSpider, CardId.Linkuriboh)) if (monster.IsCode(CardId.MissusRadiant, CardId.KnightmareCerberus, CardId.KnightmarePhoenix, CardId.LinkSpider, CardId.Linkuriboh))
material_list.Add(monster); material_list.Add(monster);
if (material_list.Count == 3) break; if (material_list.Count == 3) break;
} }
if(material_list.Count>=3) if (material_list.Count >= 3)
{ {
AI.SelectMaterials(material_list); AI.SelectMaterials(material_list);
return true; return true;
...@@ -447,11 +464,11 @@ namespace WindBot.Game.AI.Decks ...@@ -447,11 +464,11 @@ namespace WindBot.Game.AI.Decks
} }
private bool BorreloadDragonspsecond() private bool BorreloadDragonspsecond()
{ {
if (!Bot.HasInMonstersZone(CardId.MissusRadiant)) return false; if (!(Bot.HasInMonstersZone(CardId.MissusRadiant) || Bot.HasInMonstersZone(new[] { CardId.KnightmareCerberus,CardId.KnightmarePhoenix }))) return false;
IList<ClientCard> material_list = new List<ClientCard>(); IList<ClientCard> material_list = new List<ClientCard>();
foreach (ClientCard monster in Bot.GetMonsters()) foreach (ClientCard monster in Bot.GetMonsters())
{ {
if (monster.IsCode(CardId.MissusRadiant, CardId.LinkSpider, CardId.Linkuriboh)) if (monster.IsCode(CardId.MissusRadiant, CardId.KnightmareCerberus, CardId.KnightmarePhoenix, CardId.LinkSpider, CardId.Linkuriboh))
material_list.Add(monster); material_list.Add(monster);
if (material_list.Count == 3) break; if (material_list.Count == 3) break;
} }
...@@ -548,6 +565,37 @@ namespace WindBot.Game.AI.Decks ...@@ -548,6 +565,37 @@ namespace WindBot.Game.AI.Decks
return true; return true;
} }
private bool MetalSnakesp()
{
if (ActivateDescription == Util.GetStringId(CardId.MetalSnake, 0) && !Bot.HasInMonstersZone(CardId.MetalSnake))
{
if(Duel.Player == 1 && Duel.Phase >= DuelPhase.BattleStart )
return Bot.Deck.Count >= 12;
if(Duel.Player == 0 && Duel.Phase >= DuelPhase.Main1)
return Bot.Deck.Count >= 12;
}
return false;
}
private bool MetalSnakeeff()
{
ClientCard target = Util.GetOneEnemyBetterThanMyBest(true, true);
if (ActivateDescription == Util.GetStringId(CardId.MetalSnake, 1) && target != null)
{
AI.SelectCard(new[]
{
CardId.HeavymetalfoesElectrumite,
CardId.BrandishMaidenKagari,
CardId.CrystronNeedlefiber,
CardId.RaidraptorUltimateFalcon,
CardId.NingirsuTheWorldChaliceWarrior
});
AI.SelectNextCard(target);
return true;
}
return false;
}
private bool MissusRadiantsp() private bool MissusRadiantsp()
{ {
IList<ClientCard> material_list = new List<ClientCard>(); IList<ClientCard> material_list = new List<ClientCard>();
...@@ -574,9 +622,10 @@ namespace WindBot.Game.AI.Decks ...@@ -574,9 +622,10 @@ namespace WindBot.Game.AI.Decks
} }
private bool Linkuribohsp() private bool Linkuribohsp()
{ {
foreach (ClientCard c in Bot.GetMonsters()) foreach (ClientCard c in Bot.GetMonsters())
{ {
if (!c.IsCode(CardId.EaterOfMillions, CardId.Linkuriboh) && c.Level==1) if (!c.IsCode(CardId.EaterOfMillions, CardId.Linkuriboh) && c.Level==1)
{ {
AI.SelectMaterials(c); AI.SelectMaterials(c);
...@@ -586,6 +635,23 @@ namespace WindBot.Game.AI.Decks ...@@ -586,6 +635,23 @@ namespace WindBot.Game.AI.Decks
return false; return false;
} }
private bool Knightmaresp()
{
int[] firstMats = new[] {
CardId.KnightmareCerberus,
CardId.KnightmarePhoenix
};
if (Bot.MonsterZone.GetMatchingCardsCount(card => card.IsCode(firstMats)) >= 1)return false;
foreach (ClientCard c in Bot.GetMonsters())
{
if (!c.IsCode(CardId.EaterOfMillions) && c.Level == 1)
{
AI.SelectMaterials(c);
return true;
}
}
return false;
}
private bool Linkuriboheff() private bool Linkuriboheff()
{ {
if (Duel.LastChainPlayer == 0 && Util.GetLastChainCard().IsCode(CardId.Linkuriboh)) return false; if (Duel.LastChainPlayer == 0 && Util.GetLastChainCard().IsCode(CardId.Linkuriboh)) return false;
......
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