Commit 93107b9e authored by mercury233's avatar mercury233

update AI.SelectCard to support variable number of arguments

parent 73314e40
...@@ -658,8 +658,7 @@ namespace WindBot.Game.AI.Decks ...@@ -658,8 +658,7 @@ namespace WindBot.Game.AI.Decks
{ {
if (Duel.LastChainPlayer != 0) if (Duel.LastChainPlayer != 0)
{ {
AI.SelectCard(new[] AI.SelectCard(
{
_CardId.HarpiesFeatherDuster, _CardId.HarpiesFeatherDuster,
CardId.PotofDesires, CardId.PotofDesires,
CardId.OneForOne, CardId.OneForOne,
...@@ -677,7 +676,7 @@ namespace WindBot.Game.AI.Decks ...@@ -677,7 +676,7 @@ namespace WindBot.Game.AI.Decks
CardId.WakingtheDragon, CardId.WakingtheDragon,
CardId.Impermanence, CardId.Impermanence,
CardId.Marionetter CardId.Marionetter
}); );
return true; return true;
} }
return false; return false;
...@@ -1102,18 +1101,12 @@ namespace WindBot.Game.AI.Decks ...@@ -1102,18 +1101,12 @@ namespace WindBot.Game.AI.Decks
{ {
if (!Bot.HasInHandOrInSpellZone(CardId.Protocol) && Bot.GetRemainingCount(CardId.Protocol,2) > 0) if (!Bot.HasInHandOrInSpellZone(CardId.Protocol) && Bot.GetRemainingCount(CardId.Protocol,2) > 0)
{ {
AI.SelectCard(new[] { AI.SelectCard(CardId.Protocol, CardId.Manifestation);
CardId.Protocol,
CardId.Manifestation
});
AI.SelectPlace(SelectSetPlace()); AI.SelectPlace(SelectSetPlace());
return true; return true;
} else } else
{ {
AI.SelectCard(new[] { AI.SelectCard(CardId.Manifestation, CardId.Protocol);
CardId.Manifestation,
CardId.Protocol
});
AI.SelectPlace(SelectSetPlace()); AI.SelectPlace(SelectSetPlace());
return true; return true;
} }
...@@ -1291,8 +1284,7 @@ namespace WindBot.Game.AI.Decks ...@@ -1291,8 +1284,7 @@ namespace WindBot.Game.AI.Decks
AI.SelectCard(CardId.Protocol); AI.SelectCard(CardId.Protocol);
return true; return true;
} }
AI.SelectCard(new[] AI.SelectCard(
{
CardId.Meluseek, CardId.Meluseek,
CardId.Kunquery, CardId.Kunquery,
CardId.Marionetter, CardId.Marionetter,
...@@ -1300,7 +1292,7 @@ namespace WindBot.Game.AI.Decks ...@@ -1300,7 +1292,7 @@ namespace WindBot.Game.AI.Decks
CardId.Manifestation, CardId.Manifestation,
CardId.Protocol, CardId.Protocol,
CardId.Silquitous CardId.Silquitous
}); );
return true; return true;
} }
...@@ -1373,13 +1365,12 @@ namespace WindBot.Game.AI.Decks ...@@ -1373,13 +1365,12 @@ namespace WindBot.Game.AI.Decks
return true; return true;
} }
} }
AI.SelectCard(new[] AI.SelectCard(
{
CardId.Kunquery, CardId.Kunquery,
CardId.Marionetter, CardId.Marionetter,
CardId.Multifaker, CardId.Multifaker,
CardId.Silquitous CardId.Silquitous
}); );
return true; return true;
} }
return false; return false;
...@@ -1883,10 +1874,7 @@ namespace WindBot.Game.AI.Decks ...@@ -1883,10 +1874,7 @@ namespace WindBot.Game.AI.Decks
if (card.IsCode(CardId.Silquitous)) if (card.IsCode(CardId.Silquitous))
{ {
AI.SelectCard(card); AI.SelectCard(card);
AI.SelectNextCard(new[] { AI.SelectNextCard(CardId.Multifaker, CardId.Kunquery);
CardId.Multifaker,
CardId.Kunquery
});
return true; return true;
} }
} }
...@@ -1903,13 +1891,13 @@ namespace WindBot.Game.AI.Decks ...@@ -1903,13 +1891,13 @@ namespace WindBot.Game.AI.Decks
CardId.Protocol, CardId.Protocol,
CardId.Meluseek CardId.Meluseek
}); });
AI.SelectNextCard(new[]{ AI.SelectNextCard(
CardId.Multifaker, CardId.Multifaker,
CardId.Marionetter, CardId.Marionetter,
CardId.Meluseek, CardId.Meluseek,
CardId.Kunquery, CardId.Kunquery,
CardId.Silquitous CardId.Silquitous
}); );
return true; return true;
} }
} }
...@@ -1932,13 +1920,13 @@ namespace WindBot.Game.AI.Decks ...@@ -1932,13 +1920,13 @@ namespace WindBot.Game.AI.Decks
CardId.Protocol, CardId.Protocol,
CardId.Meluseek CardId.Meluseek
}); });
AI.SelectNextCard(new[]{ AI.SelectNextCard(
CardId.Multifaker, CardId.Multifaker,
CardId.Marionetter, CardId.Marionetter,
CardId.Meluseek, CardId.Meluseek,
CardId.Kunquery, CardId.Kunquery,
CardId.Silquitous CardId.Silquitous
}); );
} }
else if (!summoned && !Bot.HasInGraveyard(CardId.Meluseek) && Bot.GetRemainingCount(CardId.Meluseek,3) > 0 && !Bot.HasInHand(CardId.Meluseek) else if (!summoned && !Bot.HasInGraveyard(CardId.Meluseek) && Bot.GetRemainingCount(CardId.Meluseek,3) > 0 && !Bot.HasInHand(CardId.Meluseek)
&& (enemy_best != null || enemy_target != null) ) && (enemy_best != null || enemy_target != null) )
...@@ -1950,10 +1938,10 @@ namespace WindBot.Game.AI.Decks ...@@ -1950,10 +1938,10 @@ namespace WindBot.Game.AI.Decks
if (card.IsCode(CardId.Silquitous)) if (card.IsCode(CardId.Silquitous))
{ {
AI.SelectCard(card); AI.SelectCard(card);
AI.SelectNextCard(new[]{ AI.SelectNextCard(
CardId.Meluseek, CardId.Meluseek,
CardId.Marionetter CardId.Marionetter
}); );
return true; return true;
} }
} }
...@@ -1970,12 +1958,12 @@ namespace WindBot.Game.AI.Decks ...@@ -1970,12 +1958,12 @@ namespace WindBot.Game.AI.Decks
CardId.Meluseek, CardId.Meluseek,
CardId.Marionetter, CardId.Marionetter,
}); });
AI.SelectNextCard(new[]{ AI.SelectNextCard(
CardId.Meluseek, CardId.Meluseek,
CardId.Marionetter, CardId.Marionetter,
CardId.Multifaker, CardId.Multifaker,
CardId.Kunquery CardId.Kunquery
}); );
return true; return true;
} }
} }
...@@ -1988,10 +1976,10 @@ namespace WindBot.Game.AI.Decks ...@@ -1988,10 +1976,10 @@ namespace WindBot.Game.AI.Decks
if (card.IsCode(CardId.Silquitous)) if (card.IsCode(CardId.Silquitous))
{ {
AI.SelectCard(card); AI.SelectCard(card);
AI.SelectNextCard(new[]{ AI.SelectNextCard(
CardId.Marionetter, CardId.Marionetter,
CardId.Meluseek CardId.Meluseek
}); );
return true; return true;
} }
} }
...@@ -2008,12 +1996,12 @@ namespace WindBot.Game.AI.Decks ...@@ -2008,12 +1996,12 @@ namespace WindBot.Game.AI.Decks
CardId.Meluseek, CardId.Meluseek,
CardId.Marionetter, CardId.Marionetter,
}); });
AI.SelectNextCard(new[]{ AI.SelectNextCard(
CardId.Marionetter, CardId.Marionetter,
CardId.Meluseek, CardId.Meluseek,
CardId.Multifaker, CardId.Multifaker,
CardId.Kunquery CardId.Kunquery
}); );
return true; return true;
} }
} }
...@@ -2046,12 +2034,12 @@ namespace WindBot.Game.AI.Decks ...@@ -2046,12 +2034,12 @@ namespace WindBot.Game.AI.Decks
} }
if (go) if (go)
{ {
AI.SelectNextCard(new[]{ AI.SelectNextCard(
CardId.Marionetter, CardId.Marionetter,
CardId.Meluseek, CardId.Meluseek,
CardId.Multifaker, CardId.Multifaker,
CardId.Kunquery CardId.Kunquery
}); );
return true; return true;
} }
return false; return false;
...@@ -2062,25 +2050,23 @@ namespace WindBot.Game.AI.Decks ...@@ -2062,25 +2050,23 @@ namespace WindBot.Game.AI.Decks
if (!spell_trap_activate()) return false; if (!spell_trap_activate()) return false;
if (!Bot.HasInHandOrInMonstersZoneOrInGraveyard(CardId.Meluseek) && !Bot.HasInHandOrInMonstersZoneOrInGraveyard(CardId.Multifaker)) if (!Bot.HasInHandOrInMonstersZoneOrInGraveyard(CardId.Meluseek) && !Bot.HasInHandOrInMonstersZoneOrInGraveyard(CardId.Multifaker))
{ {
AI.SelectCard(new[] AI.SelectCard(
{
CardId.GR_WC, CardId.GR_WC,
CardId.MaxxC, CardId.MaxxC,
CardId.Kunquery, CardId.Kunquery,
CardId.GO_SR CardId.GO_SR
}); );
if (AI.Utils.IsTurn1OrMain2()) AI.SelectPosition(CardPosition.FaceUpDefence); if (AI.Utils.IsTurn1OrMain2()) AI.SelectPosition(CardPosition.FaceUpDefence);
return true; return true;
} }
if (!summoned && !Meluseek_searched && !Bot.HasInHand(CardId.Marionetter)) if (!summoned && !Meluseek_searched && !Bot.HasInHand(CardId.Marionetter))
{ {
AI.SelectCard(new[] AI.SelectCard(
{
CardId.GR_WC, CardId.GR_WC,
CardId.MaxxC, CardId.MaxxC,
CardId.Kunquery, CardId.Kunquery,
CardId.GO_SR CardId.GO_SR
}); );
return true; return true;
} }
return false; return false;
...@@ -2482,11 +2468,11 @@ namespace WindBot.Game.AI.Decks ...@@ -2482,11 +2468,11 @@ namespace WindBot.Game.AI.Decks
public bool Needlefiber_eff() public bool Needlefiber_eff()
{ {
AI.SelectCard(new[] { AI.SelectCard(
CardId.GR_WC, CardId.GR_WC,
CardId.GO_SR, CardId.GO_SR,
CardId.AB_JS CardId.AB_JS
}); );
return true; return true;
} }
......
...@@ -177,33 +177,30 @@ namespace WindBot.Game.AI.Decks ...@@ -177,33 +177,30 @@ namespace WindBot.Game.AI.Decks
private bool DragonShrineEffect() private bool DragonShrineEffect()
{ {
AI.SelectCard(new[] AI.SelectCard(
{
CardId.DragonSpiritOfWhite, CardId.DragonSpiritOfWhite,
CardId.WhiteDragon, CardId.WhiteDragon,
CardId.WhiteStoneOfAncients, CardId.WhiteStoneOfAncients,
CardId.WhiteStoneOfLegend CardId.WhiteStoneOfLegend
}); );
if (!Bot.HasInHand(CardId.WhiteDragon)) if (!Bot.HasInHand(CardId.WhiteDragon))
{ {
AI.SelectNextCard(CardId.WhiteStoneOfLegend); AI.SelectNextCard(CardId.WhiteStoneOfLegend);
} }
else else
{ {
AI.SelectNextCard(new[] AI.SelectNextCard(
{
CardId.WhiteStoneOfAncients, CardId.WhiteStoneOfAncients,
CardId.DragonSpiritOfWhite, CardId.DragonSpiritOfWhite,
CardId.WhiteStoneOfLegend CardId.WhiteStoneOfLegend
}); );
} }
return true; return true;
} }
private bool MelodyOfAwakeningDragonEffect() private bool MelodyOfAwakeningDragonEffect()
{ {
AI.SelectCard(new[] AI.SelectCard(
{
CardId.WhiteStoneOfAncients, CardId.WhiteStoneOfAncients,
CardId.DragonSpiritOfWhite, CardId.DragonSpiritOfWhite,
CardId.WhiteStoneOfLegend, CardId.WhiteStoneOfLegend,
...@@ -211,7 +208,7 @@ namespace WindBot.Game.AI.Decks ...@@ -211,7 +208,7 @@ namespace WindBot.Game.AI.Decks
CardId.EffectVeiler, CardId.EffectVeiler,
CardId.TradeIn, CardId.TradeIn,
CardId.SageWithEyesOfBlue CardId.SageWithEyesOfBlue
}); );
return true; return true;
} }
...@@ -251,11 +248,7 @@ namespace WindBot.Game.AI.Decks ...@@ -251,11 +248,7 @@ namespace WindBot.Game.AI.Decks
} }
else if (!Bot.HasInHand(CardId.WhiteDragon) || !Bot.HasInHand(CardId.AlternativeWhiteDragon)) else if (!Bot.HasInHand(CardId.WhiteDragon) || !Bot.HasInHand(CardId.AlternativeWhiteDragon))
{ {
AI.SelectCard(new[] AI.SelectCard(CardId.WhiteDragon, CardId.AlternativeWhiteDragon);
{
CardId.WhiteDragon,
CardId.AlternativeWhiteDragon
});
return true; return true;
} }
else else
...@@ -348,12 +341,11 @@ namespace WindBot.Game.AI.Decks ...@@ -348,12 +341,11 @@ namespace WindBot.Game.AI.Decks
{ {
return false; return false;
} }
AI.SelectCard(new[] AI.SelectCard(
{
CardId.WhiteStoneOfAncients, CardId.WhiteStoneOfAncients,
CardId.EffectVeiler, CardId.EffectVeiler,
CardId.WhiteStoneOfLegend CardId.WhiteStoneOfLegend
}); );
return true; return true;
} }
...@@ -381,11 +373,7 @@ namespace WindBot.Game.AI.Decks ...@@ -381,11 +373,7 @@ namespace WindBot.Game.AI.Decks
{ {
return false; return false;
} }
AI.SelectCard(new[] AI.SelectCard(CardId.WhiteStoneOfLegend, CardId.WhiteStoneOfAncients);
{
CardId.WhiteStoneOfLegend,
CardId.WhiteStoneOfAncients
});
if (Enemy.GetSpellCount() > 0) if (Enemy.GetSpellCount() > 0)
{ {
AI.SelectNextCard(CardId.DragonSpiritOfWhite); AI.SelectNextCard(CardId.DragonSpiritOfWhite);
...@@ -730,20 +718,18 @@ namespace WindBot.Game.AI.Decks ...@@ -730,20 +718,18 @@ namespace WindBot.Game.AI.Decks
private bool GalaxyEyesDarkMatterDragonEffect() private bool GalaxyEyesDarkMatterDragonEffect()
{ {
AI.SelectCard(new[] AI.SelectCard(
{
CardId.WhiteStoneOfAncients, CardId.WhiteStoneOfAncients,
CardId.WhiteStoneOfLegend, CardId.WhiteStoneOfLegend,
CardId.DragonSpiritOfWhite, CardId.DragonSpiritOfWhite,
CardId.WhiteDragon CardId.WhiteDragon
}); );
AI.SelectNextCard(new[] AI.SelectNextCard(
{
CardId.WhiteStoneOfAncients, CardId.WhiteStoneOfAncients,
CardId.WhiteStoneOfLegend, CardId.WhiteStoneOfLegend,
CardId.DragonSpiritOfWhite, CardId.DragonSpiritOfWhite,
CardId.WhiteDragon CardId.WhiteDragon
}); );
return true; return true;
} }
...@@ -822,11 +808,7 @@ namespace WindBot.Game.AI.Decks ...@@ -822,11 +808,7 @@ namespace WindBot.Game.AI.Decks
private bool SylvanPrincesspriteEffect() private bool SylvanPrincesspriteEffect()
{ {
AI.SelectCard(new[] AI.SelectCard(CardId.WhiteStoneOfLegend, CardId.WhiteStoneOfAncients);
{
CardId.WhiteStoneOfLegend,
CardId.WhiteStoneOfAncients
});
return true; return true;
} }
...@@ -858,8 +840,7 @@ namespace WindBot.Game.AI.Decks ...@@ -858,8 +840,7 @@ namespace WindBot.Game.AI.Decks
if (attack - defence > Enemy.LifePoints) if (attack - defence > Enemy.LifePoints)
return false; return false;
} }
AI.SelectCard(new[] AI.SelectCard(
{
CardId.BlueEyesSpiritDragon, CardId.BlueEyesSpiritDragon,
CardId.HopeHarbingerDragonTitanicGalaxy, CardId.HopeHarbingerDragonTitanicGalaxy,
CardId.AlternativeWhiteDragon, CardId.AlternativeWhiteDragon,
...@@ -868,7 +849,7 @@ namespace WindBot.Game.AI.Decks ...@@ -868,7 +849,7 @@ namespace WindBot.Game.AI.Decks
CardId.AzureEyesSilverDragon, CardId.AzureEyesSilverDragon,
CardId.WhiteStoneOfAncients, CardId.WhiteStoneOfAncients,
CardId.WhiteStoneOfLegend CardId.WhiteStoneOfLegend
}); );
SoulChargeUsed = true; SoulChargeUsed = true;
return true; return true;
} }
......
...@@ -133,28 +133,28 @@ namespace WindBot.Game.AI.Decks ...@@ -133,28 +133,28 @@ namespace WindBot.Game.AI.Decks
{ {
AI.SelectCard(CardId.MaxxC); AI.SelectCard(CardId.MaxxC);
if(AI.Utils.ChainContainsCard(CardId.TheMelodyOfAwakeningDragon)) if(AI.Utils.ChainContainsCard(CardId.TheMelodyOfAwakeningDragon))
AI.SelectNextCard(new[] { CardId.BlueEyesChaosMaxDragon, CardId.BlueEyesChaosMaxDragon, CardId.BlueEyesAlternativeWhiteDragon }); AI.SelectNextCard(CardId.BlueEyesChaosMaxDragon, CardId.BlueEyesChaosMaxDragon, CardId.BlueEyesAlternativeWhiteDragon);
return UniqueFaceupSpell(); return UniqueFaceupSpell();
} }
if (lastCard.IsCode(CardId.LockBird)) if (lastCard.IsCode(CardId.LockBird))
{ {
AI.SelectCard(CardId.LockBird); AI.SelectCard(CardId.LockBird);
if (AI.Utils.ChainContainsCard(CardId.TheMelodyOfAwakeningDragon)) if (AI.Utils.ChainContainsCard(CardId.TheMelodyOfAwakeningDragon))
AI.SelectNextCard(new[] { CardId.BlueEyesChaosMaxDragon, CardId.BlueEyesChaosMaxDragon, CardId.BlueEyesAlternativeWhiteDragon }); AI.SelectNextCard(CardId.BlueEyesChaosMaxDragon, CardId.BlueEyesChaosMaxDragon, CardId.BlueEyesAlternativeWhiteDragon);
return UniqueFaceupSpell(); return UniqueFaceupSpell();
} }
if (lastCard.IsCode(CardId.Ghost)) if (lastCard.IsCode(CardId.Ghost))
{ {
AI.SelectCard(CardId.Ghost); AI.SelectCard(CardId.Ghost);
if (AI.Utils.ChainContainsCard(CardId.TheMelodyOfAwakeningDragon)) if (AI.Utils.ChainContainsCard(CardId.TheMelodyOfAwakeningDragon))
AI.SelectNextCard(new[] { CardId.BlueEyesChaosMaxDragon, CardId.BlueEyesChaosMaxDragon, CardId.BlueEyesAlternativeWhiteDragon }); AI.SelectNextCard(CardId.BlueEyesChaosMaxDragon, CardId.BlueEyesChaosMaxDragon, CardId.BlueEyesAlternativeWhiteDragon);
return UniqueFaceupSpell(); return UniqueFaceupSpell();
} }
if (lastCard.IsCode(CardId.AshBlossom)) if (lastCard.IsCode(CardId.AshBlossom))
{ {
AI.SelectCard(CardId.AshBlossom); AI.SelectCard(CardId.AshBlossom);
if (AI.Utils.ChainContainsCard(CardId.TheMelodyOfAwakeningDragon)) if (AI.Utils.ChainContainsCard(CardId.TheMelodyOfAwakeningDragon))
AI.SelectNextCard(new[] { CardId.BlueEyesChaosMaxDragon, CardId.BlueEyesChaosMaxDragon, CardId.BlueEyesAlternativeWhiteDragon }); AI.SelectNextCard(CardId.BlueEyesChaosMaxDragon, CardId.BlueEyesChaosMaxDragon, CardId.BlueEyesAlternativeWhiteDragon);
return UniqueFaceupSpell(); return UniqueFaceupSpell();
} }
} }
...@@ -184,7 +184,7 @@ namespace WindBot.Game.AI.Decks ...@@ -184,7 +184,7 @@ namespace WindBot.Game.AI.Decks
if(Bot.HasInMonstersZone(CardId.BlueEyesChaosMaxDragon,true) && Duel.Phase==DuelPhase.Main1 && if(Bot.HasInMonstersZone(CardId.BlueEyesChaosMaxDragon,true) && Duel.Phase==DuelPhase.Main1 &&
(Bot.HasInMonstersZone(CardId.DeviritualTalismandra) || Bot.HasInMonstersZone(CardId.DevirrtualCandoll))) (Bot.HasInMonstersZone(CardId.DeviritualTalismandra) || Bot.HasInMonstersZone(CardId.DevirrtualCandoll)))
{ {
AI.SelectCard(new[] {CardId.DevirrtualCandoll,CardId.DeviritualTalismandra }); AI.SelectCard(CardId.DevirrtualCandoll, CardId.DeviritualTalismandra);
return true; return true;
} }
return false; return false;
...@@ -195,13 +195,13 @@ namespace WindBot.Game.AI.Decks ...@@ -195,13 +195,13 @@ namespace WindBot.Game.AI.Decks
if(TheMelody_count>=2 && Bot.GetRemainingCount(CardId.BlueEyesChaosMaxDragon,3)>0) if(TheMelody_count>=2 && Bot.GetRemainingCount(CardId.BlueEyesChaosMaxDragon,3)>0)
{ {
AI.SelectCard(CardId.TheMelodyOfAwakeningDragon); AI.SelectCard(CardId.TheMelodyOfAwakeningDragon);
AI.SelectNextCard(new[] { CardId.BlueEyesChaosMaxDragon, CardId.BlueEyesChaosMaxDragon , CardId.BlueEyesAlternativeWhiteDragon }); AI.SelectNextCard(CardId.BlueEyesChaosMaxDragon, CardId.BlueEyesChaosMaxDragon, CardId.BlueEyesAlternativeWhiteDragon);
return true; return true;
} }
if(Bot.HasInHand(CardId.BlueEyesWhiteDragon) && Bot.GetRemainingCount(CardId.BlueEyesChaosMaxDragon, 3) > 0) if(Bot.HasInHand(CardId.BlueEyesWhiteDragon) && Bot.GetRemainingCount(CardId.BlueEyesChaosMaxDragon, 3) > 0)
{ {
AI.SelectCard(CardId.BlueEyesWhiteDragon); AI.SelectCard(CardId.BlueEyesWhiteDragon);
AI.SelectNextCard(new[] { CardId.BlueEyesChaosMaxDragon, CardId.BlueEyesChaosMaxDragon,CardId.BlueEyesAlternativeWhiteDragon }); AI.SelectNextCard(CardId.BlueEyesChaosMaxDragon, CardId.BlueEyesChaosMaxDragon, CardId.BlueEyesAlternativeWhiteDragon);
return true; return true;
} }
return false; return false;
...@@ -225,7 +225,7 @@ namespace WindBot.Game.AI.Decks ...@@ -225,7 +225,7 @@ namespace WindBot.Game.AI.Decks
if (!m.IsCode(CardId.AdvancedRitualArt)) if (!m.IsCode(CardId.AdvancedRitualArt))
AI.SelectCard(m); AI.SelectCard(m);
} }
AI.SelectNextCard(new[] { CardId.BlueEyesChaosMaxDragon, CardId.BlueEyesChaosMaxDragon, CardId.BlueEyesAlternativeWhiteDragon }); AI.SelectNextCard(CardId.BlueEyesChaosMaxDragon, CardId.BlueEyesChaosMaxDragon, CardId.BlueEyesAlternativeWhiteDragon);
return true; return true;
} }
return false; return false;
...@@ -445,11 +445,7 @@ namespace WindBot.Game.AI.Decks ...@@ -445,11 +445,7 @@ namespace WindBot.Game.AI.Decks
private bool MissusRadianteff() private bool MissusRadianteff()
{ {
AI.SelectCard(new[] AI.SelectCard(CardId.MaxxC, CardId.MissusRadiant);
{
CardId.MaxxC,
CardId.MissusRadiant,
});
return true; return true;
} }
......
This diff is collapsed.
...@@ -243,12 +243,11 @@ namespace WindBot.Game.AI.Decks ...@@ -243,12 +243,11 @@ namespace WindBot.Game.AI.Decks
private bool FoolishBurial() private bool FoolishBurial()
{ {
AI.SelectCard(new[] AI.SelectCard(
{
CardId.DragunityPhalanx, CardId.DragunityPhalanx,
CardId.AssaultBeast, CardId.AssaultBeast,
CardId.StardustDragonAssaultMode CardId.StardustDragonAssaultMode
}); );
return true; return true;
} }
......
...@@ -308,8 +308,7 @@ namespace WindBot.Game.AI.Decks ...@@ -308,8 +308,7 @@ namespace WindBot.Game.AI.Decks
count++; count++;
} }
if(AI.Utils.GetBestEnemyMonster()!=null && AI.Utils.GetBestEnemyMonster().Attack>=1900) if(AI.Utils.GetBestEnemyMonster()!=null && AI.Utils.GetBestEnemyMonster().Attack>=1900)
AI.SelectCard(new[] AI.SelectCard(
{
CardId.EaterOfMillions, CardId.EaterOfMillions,
CardId.PotOfDesires, CardId.PotOfDesires,
CardId.GrenMajuDaEizo, CardId.GrenMajuDaEizo,
...@@ -319,30 +318,28 @@ namespace WindBot.Game.AI.Decks ...@@ -319,30 +318,28 @@ namespace WindBot.Game.AI.Decks
CardId.SolemnJudgment, CardId.SolemnJudgment,
CardId.SolemnWarning, CardId.SolemnWarning,
CardId.SolemStrike, CardId.SolemStrike,
CardId.InfiniteImpermanence, CardId.InfiniteImpermanence
}); );
if (count == 0) if (count == 0)
AI.SelectCard(new[] AI.SelectCard(
{
CardId.PotOfDesires, CardId.PotOfDesires,
CardId.InspectBoarder, CardId.InspectBoarder,
CardId.ThunderKingRaiOh, CardId.ThunderKingRaiOh,
CardId.EaterOfMillions, CardId.EaterOfMillions,
CardId.GrenMajuDaEizo, CardId.GrenMajuDaEizo,
CardId.Scapegoat, CardId.Scapegoat
}); );
else else
{ {
AI.SelectCard(new[] AI.SelectCard(
{
CardId.PotOfDesires, CardId.PotOfDesires,
CardId.CardOfDemise, CardId.CardOfDemise,
CardId.SolemnJudgment, CardId.SolemnJudgment,
CardId.SolemnWarning, CardId.SolemnWarning,
CardId.SolemStrike, CardId.SolemStrike,
CardId.InfiniteImpermanence, CardId.InfiniteImpermanence,
CardId.Scapegoat, CardId.Scapegoat
}); );
} }
return true; return true;
} }
...@@ -572,11 +569,7 @@ namespace WindBot.Game.AI.Decks ...@@ -572,11 +569,7 @@ namespace WindBot.Game.AI.Decks
private bool MissusRadianteff() private bool MissusRadianteff()
{ {
AI.SelectCard(new[] AI.SelectCard(CardId.MaxxC, CardId.MissusRadiant);
{
CardId.MaxxC,
CardId.MissusRadiant,
});
return true; return true;
} }
......
...@@ -139,26 +139,24 @@ namespace WindBot.Game.AI.Decks ...@@ -139,26 +139,24 @@ namespace WindBot.Game.AI.Decks
if (!Bot.HasInHand(CardId.Lumina)) if (!Bot.HasInHand(CardId.Lumina))
AI.SelectCard(CardId.Lumina); AI.SelectCard(CardId.Lumina);
else else
AI.SelectCard(new[] AI.SelectCard(
{
CardId.Raiden, CardId.Raiden,
CardId.Lumina, CardId.Lumina,
CardId.Minerva, CardId.Minerva,
CardId.Lyla CardId.Lyla
}); );
return true; return true;
} }
private bool SolarRechargeEffect() private bool SolarRechargeEffect()
{ {
AI.SelectCard(new[] AI.SelectCard(
{
CardId.Wulf, CardId.Wulf,
CardId.Felis, CardId.Felis,
CardId.Minerva, CardId.Minerva,
CardId.Lyla, CardId.Lyla,
CardId.Raiden CardId.Raiden
}); );
return true; return true;
} }
...@@ -174,14 +172,13 @@ namespace WindBot.Game.AI.Decks ...@@ -174,14 +172,13 @@ namespace WindBot.Game.AI.Decks
private bool GoblindberghEffect() private bool GoblindberghEffect()
{ {
AI.SelectCard(new[] AI.SelectCard(
{
CardId.Felis, CardId.Felis,
CardId.Wulf, CardId.Wulf,
CardId.Raiden, CardId.Raiden,
CardId.PerformageTrickClown, CardId.PerformageTrickClown,
CardId.ThousandBlades CardId.ThousandBlades
}); );
return true; return true;
} }
...@@ -197,17 +194,14 @@ namespace WindBot.Game.AI.Decks ...@@ -197,17 +194,14 @@ namespace WindBot.Game.AI.Decks
} }
else else
{ {
AI.SelectCard(new[] { AI.SelectCard(
CardId.Wulf, CardId.Wulf,
CardId.Felis, CardId.Felis,
CardId.Minerva, CardId.Minerva,
CardId.ThousandBlades CardId.ThousandBlades
}); );
} }
AI.SelectNextCard(new[] { AI.SelectNextCard(CardId.Raiden, CardId.Felis);
CardId.Raiden,
CardId.Felis
});
return true; return true;
} }
......
...@@ -446,27 +446,11 @@ namespace WindBot.Game.AI.Decks ...@@ -446,27 +446,11 @@ namespace WindBot.Game.AI.Decks
}; };
if (Bot.HasInGraveyard(targets)) if (Bot.HasInGraveyard(targets))
{ {
AI.SelectCard(new[] { AI.SelectCard(CardId.GiantRex, CardId.DogorantheMadFlameKaiju, CardId.OvertexCoatls, CardId.GamecieltheSeaTurtleKaiju, CardId.RadiantheMultidimensionalKaiju, CardId.SouleatingOviraptor, CardId.UltimateConductorTytanno);
CardId.GiantRex,
CardId.DogorantheMadFlameKaiju,
CardId.OvertexCoatls,
CardId.GamecieltheSeaTurtleKaiju,
CardId.RadiantheMultidimensionalKaiju,
CardId.SouleatingOviraptor,
CardId.UltimateConductorTytanno,
});
} }
else else
{ {
AI.SelectCard(new[] { AI.SelectCard(CardId.GiantRex, CardId.DogorantheMadFlameKaiju, CardId.GamecieltheSeaTurtleKaiju, CardId.RadiantheMultidimensionalKaiju, CardId.OvertexCoatls, CardId.SouleatingOviraptor, CardId.UltimateConductorTytanno);
CardId.GiantRex,
CardId.DogorantheMadFlameKaiju,
CardId.GamecieltheSeaTurtleKaiju,
CardId.RadiantheMultidimensionalKaiju,
CardId.OvertexCoatls,
CardId.SouleatingOviraptor,
CardId.UltimateConductorTytanno,
});
} }
IList<int> targets2 = new[] { IList<int> targets2 = new[] {
CardId.GiantRex, CardId.GiantRex,
...@@ -479,42 +463,10 @@ namespace WindBot.Game.AI.Decks ...@@ -479,42 +463,10 @@ namespace WindBot.Game.AI.Decks
}; };
if (Bot.HasInGraveyard(targets)) if (Bot.HasInGraveyard(targets))
{ {
AI.SelectNextCard(new[] { AI.SelectNextCard(CardId.ShaddollBeast, CardId.ShaddollDragon, CardId.KeeperOfDragonicMagic, CardId.ShaddollSquamata, CardId.SouleatingOviraptor, CardId.Raiden, CardId.Lumina, CardId.ShaddollHedgehog, CardId.AshBlossom, CardId.GhostOgre, CardId.ShaddollFalco, CardId.MaxxC, CardId.PlaguespreaderZombie, CardId.GlowUpBulb, CardId.FairyTailSnow);
CardId.ShaddollBeast,
CardId.ShaddollDragon,
CardId.KeeperOfDragonicMagic,
CardId.ShaddollSquamata,
CardId.SouleatingOviraptor,
CardId.Raiden,
CardId.Lumina,
CardId.ShaddollHedgehog,
CardId.AshBlossom,
CardId.GhostOgre,
CardId.ShaddollFalco,
CardId.MaxxC,
CardId.PlaguespreaderZombie,
CardId.GlowUpBulb,
CardId.FairyTailSnow,
});
} }
else else
AI.SelectNextCard(new[] { AI.SelectNextCard(CardId.ShaddollBeast, CardId.ShaddollDragon, CardId.KeeperOfDragonicMagic, CardId.ShaddollSquamata, CardId.SouleatingOviraptor, CardId.Raiden, CardId.Lumina, CardId.ShaddollHedgehog, CardId.AshBlossom, CardId.GhostOgre, CardId.ShaddollFalco, CardId.MaxxC, CardId.PlaguespreaderZombie, CardId.GlowUpBulb, CardId.FairyTailSnow);
CardId.ShaddollBeast,
CardId.ShaddollDragon,
CardId.KeeperOfDragonicMagic,
CardId.ShaddollSquamata,
CardId.SouleatingOviraptor,
CardId.Raiden,
CardId.Lumina,
CardId.ShaddollHedgehog,
CardId.AshBlossom,
CardId.GhostOgre,
CardId.ShaddollFalco,
CardId.MaxxC,
CardId.PlaguespreaderZombie,
CardId.GlowUpBulb,
CardId.FairyTailSnow,
});
AI.SelectThirdCard(new[] { AI.SelectThirdCard(new[] {
CardId.UltimateConductorTytanno, CardId.UltimateConductorTytanno,
...@@ -745,23 +697,20 @@ namespace WindBot.Game.AI.Decks ...@@ -745,23 +697,20 @@ namespace WindBot.Game.AI.Decks
if (deck_check) if (deck_check)
{ {
AI.SelectCard(new[] AI.SelectCard(
{
CardId.ElShaddollConstruct, CardId.ElShaddollConstruct,
CardId.ElShaddollShekhinaga, CardId.ElShaddollShekhinaga,
CardId.ElShaddollGrysra, CardId.ElShaddollGrysra,
CardId.ElShaddollWinda CardId.ElShaddollWinda
}); );
AI.SelectNextCard(new[] AI.SelectNextCard(
{
CardId.ShaddollSquamata, CardId.ShaddollSquamata,
CardId.ShaddollBeast, CardId.ShaddollBeast,
CardId.ShaddollHedgehog, CardId.ShaddollHedgehog,
CardId.ShaddollDragon, CardId.ShaddollDragon,
CardId.ShaddollFalco, CardId.ShaddollFalco,
CardId.FairyTailSnow, CardId.FairyTailSnow
}); );
AI.SelectPosition(CardPosition.FaceUpAttack); AI.SelectPosition(CardPosition.FaceUpAttack);
return true; return true;
} }
...@@ -841,14 +790,12 @@ namespace WindBot.Game.AI.Decks ...@@ -841,14 +790,12 @@ namespace WindBot.Game.AI.Decks
{ {
if (DefaultBreakthroughSkill()) if (DefaultBreakthroughSkill())
{ {
AI.SelectCard(new[] AI.SelectCard(
{
CardId.ShaddollBeast, CardId.ShaddollBeast,
CardId.ShaddollSquamata, CardId.ShaddollSquamata,
CardId.ShaddollHedgehog, CardId.ShaddollHedgehog,
CardId.ShaddollDragon, CardId.ShaddollDragon,
CardId.ShaddollFalco, CardId.ShaddollFalco
}
); );
} }
else else
...@@ -925,14 +872,12 @@ namespace WindBot.Game.AI.Decks ...@@ -925,14 +872,12 @@ namespace WindBot.Game.AI.Decks
return true; return true;
else else
{ {
AI.SelectCard(new[] AI.SelectCard(
{
CardId.ElShaddollConstruct, CardId.ElShaddollConstruct,
CardId.ElShaddollShekhinaga, CardId.ElShaddollShekhinaga,
CardId.ElShaddollGrysra, CardId.ElShaddollGrysra,
CardId.ElShaddollWinda, CardId.ElShaddollWinda,
CardId.ShaddollSquamata, CardId.ShaddollSquamata
}
); );
} }
...@@ -947,25 +892,28 @@ namespace WindBot.Game.AI.Decks ...@@ -947,25 +892,28 @@ namespace WindBot.Game.AI.Decks
{ {
if (AI.Utils.ChainContainsCard(CardId.ElShaddollConstruct)) if (AI.Utils.ChainContainsCard(CardId.ElShaddollConstruct))
{ {
AI.SelectNextCard(new[]{ AI.SelectNextCard(
CardId.ShaddollFalco, CardId.ShaddollFalco,
CardId.ShaddollSquamata, CardId.ShaddollSquamata,
CardId.ShaddollDragon, CardId.ShaddollDragon
}); );
} }
else else
{ {
AI.SelectCard(new[]{ AI.SelectCard(
CardId.ShaddollSquamata, CardId.ShaddollSquamata,
CardId.ShaddollDragon, CardId.ShaddollDragon
}); );
} }
} }
else else
{ {
AI.SelectCard(new[] { CardId.ShaddollFusion, CardId.SinisterShadowGames }); AI.SelectCard(
CardId.ShaddollFusion,
CardId.SinisterShadowGames
);
} }
return true; return true;
} }
...@@ -1018,11 +966,7 @@ namespace WindBot.Game.AI.Decks ...@@ -1018,11 +966,7 @@ namespace WindBot.Game.AI.Decks
} }
else else
{ {
AI.SelectCard(new[] AI.SelectCard(CardId.ShaddollSquamata, CardId.FairyTailSnow);
{
CardId.ShaddollSquamata,
CardId.FairyTailSnow,
});
} }
return true; return true;
} }
...@@ -1153,7 +1097,12 @@ namespace WindBot.Game.AI.Decks ...@@ -1153,7 +1097,12 @@ namespace WindBot.Game.AI.Decks
{ {
CrystronNeedlefibereff_used = true; CrystronNeedlefibereff_used = true;
AI.SelectCard(new[] { CardId.GhostOgre, CardId.GlowUpBulb, CardId.PlaguespreaderZombie, CardId.ShaddollFalco }); AI.SelectCard(
CardId.GhostOgre,
CardId.GlowUpBulb,
CardId.PlaguespreaderZombie,
CardId.ShaddollFalco
);
return true; return true;
} }
......
...@@ -292,39 +292,43 @@ namespace WindBot.Game.AI.Decks ...@@ -292,39 +292,43 @@ namespace WindBot.Game.AI.Decks
{ {
if(Bot.HasInGraveyard(CardId.PacifisThePhantasmCity) && !Bot.HasInHandOrInSpellZone(CardId.SeaStealthAttack)) if(Bot.HasInGraveyard(CardId.PacifisThePhantasmCity) && !Bot.HasInHandOrInSpellZone(CardId.SeaStealthAttack))
{ {
AI.SelectCard(new[] { AI.SelectCard(
CardId.SeaStealthAttack, CardId.SeaStealthAttack,
CardId.PacifisThePhantasmCity, CardId.PacifisThePhantasmCity,
CardId.Terraforming, CardId.Terraforming,
CardId.Metaverse, CardId.Metaverse,
CardId.CardOfDemise, CardId.CardOfDemise,
CardId.Scapegoat}); CardId.Scapegoat
);
} }
else else
{ {
AI.SelectCard(new[] { AI.SelectCard(
CardId.PacifisThePhantasmCity, CardId.PacifisThePhantasmCity,
CardId.Terraforming, CardId.Terraforming,
CardId.Metaverse, CardId.Metaverse,
CardId.CardOfDemise, CardId.CardOfDemise,
CardId.Scapegoat}); CardId.Scapegoat
);
} }
} }
else if(!Bot.HasInHandOrInSpellZone(CardId.SeaStealthAttack)) else if(!Bot.HasInHandOrInSpellZone(CardId.SeaStealthAttack))
{ {
AI.SelectCard(new[] { AI.SelectCard(
CardId.SeaStealthAttack, CardId.SeaStealthAttack,
CardId.CardOfDemise, CardId.CardOfDemise,
CardId.PotOfDesires, CardId.PotOfDesires,
CardId.Scapegoat}); CardId.Scapegoat
);
} }
else else
{ {
AI.SelectCard(new[] { AI.SelectCard(
CardId.CardOfDemise, CardId.CardOfDemise,
CardId.PotOfDesires, CardId.PotOfDesires,
CardId.Scapegoat}); CardId.Scapegoat
);
} }
return true; return true;
} }
...@@ -460,12 +464,13 @@ namespace WindBot.Game.AI.Decks ...@@ -460,12 +464,13 @@ namespace WindBot.Game.AI.Decks
IList<ClientCard> material_list = new List<ClientCard>(); IList<ClientCard> material_list = new List<ClientCard>();
if(Bot.HasInExtra(CardId.BorreloadDragon)) if(Bot.HasInExtra(CardId.BorreloadDragon))
{ {
AI.SelectCard(new[] { AI.SelectCard(
CardId.TopologicBomberDragon, CardId.TopologicBomberDragon,
CardId.TopologicTrisbaena, CardId.TopologicTrisbaena,
CardId.KnightmareGryphon, CardId.KnightmareGryphon,
CardId.SummonSorceress, CardId.SummonSorceress,
CardId.BorreloadDragon}); CardId.BorreloadDragon
);
} }
else else
{ {
......
...@@ -166,8 +166,7 @@ namespace WindBot.Game.AI.Decks ...@@ -166,8 +166,7 @@ namespace WindBot.Game.AI.Decks
private bool PotOfDualityEffect() private bool PotOfDualityEffect()
{ {
AI.SelectCard(new[] AI.SelectCard(
{
CardId.Scout, CardId.Scout,
CardId.SkillDrain, CardId.SkillDrain,
CardId.VanitysEmptiness, CardId.VanitysEmptiness,
...@@ -178,7 +177,7 @@ namespace WindBot.Game.AI.Decks ...@@ -178,7 +177,7 @@ namespace WindBot.Game.AI.Decks
CardId.Carrier, CardId.Carrier,
CardId.SolemnStrike, CardId.SolemnStrike,
CardId.CardOfDemise CardId.CardOfDemise
}); );
return !ShouldPendulum(); return !ShouldPendulum();
} }
...@@ -304,12 +303,7 @@ namespace WindBot.Game.AI.Decks ...@@ -304,12 +303,7 @@ namespace WindBot.Game.AI.Decks
} }
else if (handcount>0 || fieldcount>0) else if (handcount>0 || fieldcount>0)
{ {
AI.SelectCard(new[] AI.SelectCard(CardId.Saqlifice, CardId.Shell, CardId.Helix);
{
CardId.Saqlifice,
CardId.Shell,
CardId.Helix
});
} }
else else
{ {
......
...@@ -179,12 +179,11 @@ namespace WindBot.Game.AI.Decks ...@@ -179,12 +179,11 @@ namespace WindBot.Game.AI.Decks
private bool UnexpectedDaiEffect() private bool UnexpectedDaiEffect()
{ {
if (Bot.HasInHand(CardId.RescueRabbit) || NormalSummoned) if (Bot.HasInHand(CardId.RescueRabbit) || NormalSummoned)
AI.SelectCard(new[] AI.SelectCard(
{
CardId.MysteryShellDragon, CardId.MysteryShellDragon,
CardId.PhantomGryphon, CardId.PhantomGryphon,
CardId.MegalosmasherX CardId.MegalosmasherX
}); );
else if (AI.Utils.IsTurn1OrMain2()) else if (AI.Utils.IsTurn1OrMain2())
{ {
if (Bot.HasInHand(CardId.MysteryShellDragon)) if (Bot.HasInHand(CardId.MysteryShellDragon))
...@@ -203,11 +202,7 @@ namespace WindBot.Game.AI.Decks ...@@ -203,11 +202,7 @@ namespace WindBot.Game.AI.Decks
else if (Bot.HasInHand(CardId.PhantomGryphon)) else if (Bot.HasInHand(CardId.PhantomGryphon))
AI.SelectCard(CardId.PhantomGryphon); AI.SelectCard(CardId.PhantomGryphon);
else if (Bot.HasInHand(CardId.AngelTrumpeter)) else if (Bot.HasInHand(CardId.AngelTrumpeter))
AI.SelectCard(new[] AI.SelectCard(CardId.MetalfoesGoldriver, CardId.MasterPendulumTheDracoslayer);
{
CardId.MetalfoesGoldriver,
CardId.MasterPendulumTheDracoslayer
});
} }
return true; return true;
} }
...@@ -216,22 +211,20 @@ namespace WindBot.Game.AI.Decks ...@@ -216,22 +211,20 @@ namespace WindBot.Game.AI.Decks
{ {
if (AI.Utils.IsTurn1OrMain2()) if (AI.Utils.IsTurn1OrMain2())
{ {
AI.SelectCard(new[] AI.SelectCard(
{
CardId.MegalosmasherX, CardId.MegalosmasherX,
CardId.MysteryShellDragon CardId.MysteryShellDragon
}); );
} }
else else
{ {
AI.SelectCard(new[] AI.SelectCard(
{
CardId.MasterPendulumTheDracoslayer, CardId.MasterPendulumTheDracoslayer,
CardId.PhantomGryphon, CardId.PhantomGryphon,
CardId.MegalosmasherX, CardId.MegalosmasherX,
CardId.MetalfoesGoldriver, CardId.MetalfoesGoldriver,
CardId.AngelTrumpeter CardId.AngelTrumpeter
}); );
} }
return true; return true;
} }
......
...@@ -147,8 +147,7 @@ namespace WindBot.Game.AI.Decks ...@@ -147,8 +147,7 @@ namespace WindBot.Game.AI.Decks
{ {
if (!NeedLV5()) if (!NeedLV5())
return false; return false;
AI.SelectCard(new[] AI.SelectCard(
{
CardId.QuickdrawSynchron, CardId.QuickdrawSynchron,
CardId.ZWEagleClaw, CardId.ZWEagleClaw,
CardId.SolarWindJammer, CardId.SolarWindJammer,
...@@ -157,7 +156,7 @@ namespace WindBot.Game.AI.Decks ...@@ -157,7 +156,7 @@ namespace WindBot.Game.AI.Decks
CardId.WindUpSoldier, CardId.WindUpSoldier,
CardId.StarDrawing, CardId.StarDrawing,
CardId.ChronomalyGoldenJet CardId.ChronomalyGoldenJet
}); );
return true; return true;
} }
...@@ -333,14 +332,13 @@ namespace WindBot.Game.AI.Decks ...@@ -333,14 +332,13 @@ namespace WindBot.Game.AI.Decks
{ {
if (!UniqueFaceupSpell()) if (!UniqueFaceupSpell())
return false; return false;
AI.SelectCard(new[] AI.SelectCard(
{
CardId.CyberDragonInfinity, CardId.CyberDragonInfinity,
CardId.CyberDragonNova, CardId.CyberDragonNova,
CardId.TirasKeeperOfGenesis, CardId.TirasKeeperOfGenesis,
CardId.SharkFortress, CardId.SharkFortress,
CardId.Number61Volcasaurus CardId.Number61Volcasaurus
}); );
return true; return true;
} }
......
...@@ -175,12 +175,12 @@ namespace WindBot.Game.AI.Decks ...@@ -175,12 +175,12 @@ namespace WindBot.Game.AI.Decks
IList<ClientCard> targets = Enemy.GetSpells(); IList<ClientCard> targets = Enemy.GetSpells();
if (targets.Count > 0) if (targets.Count > 0)
{ {
AI.SelectCard(new[]{ AI.SelectCard(
CardId.DualAssembloom, CardId.DualAssembloom,
CardId.Bitron, CardId.Bitron,
CardId.Digitron, CardId.Digitron,
CardId.RecodedAlive CardId.RecodedAlive
}); );
AI.SelectNextCard(targets); AI.SelectNextCard(targets);
return true; return true;
} }
...@@ -306,14 +306,13 @@ namespace WindBot.Game.AI.Decks ...@@ -306,14 +306,13 @@ namespace WindBot.Game.AI.Decks
} }
if (selected) if (selected)
{ {
AI.SelectNextCard(new[] AI.SelectNextCard(
{
CardId.ROMCloudia, CardId.ROMCloudia,
CardId.BalancerLord, CardId.BalancerLord,
CardId.Kleinant, CardId.Kleinant,
CardId.Draconnet, CardId.Draconnet,
CardId.Backlinker CardId.Backlinker
}); );
return true; return true;
} }
return false; return false;
...@@ -360,24 +359,24 @@ namespace WindBot.Game.AI.Decks ...@@ -360,24 +359,24 @@ namespace WindBot.Game.AI.Decks
{ {
if (Card.Location == CardLocation.MonsterZone) if (Card.Location == CardLocation.MonsterZone)
{ {
AI.SelectCard(new[]{ AI.SelectCard(
CardId.BootStagguard, CardId.BootStagguard,
CardId.BalancerLord, CardId.BalancerLord,
CardId.Kleinant, CardId.Kleinant,
CardId.Linkslayer, CardId.Linkslayer,
CardId.Draconnet, CardId.Draconnet,
CardId.RAMClouder CardId.RAMClouder
}); );
return true; return true;
} }
else else
{ {
AI.SelectCard(new[]{ AI.SelectCard(
CardId.BalancerLord, CardId.BalancerLord,
CardId.Kleinant, CardId.Kleinant,
CardId.RAMClouder, CardId.RAMClouder,
CardId.DotScaper CardId.DotScaper
}); );
return true; return true;
} }
} }
...@@ -429,7 +428,7 @@ namespace WindBot.Game.AI.Decks ...@@ -429,7 +428,7 @@ namespace WindBot.Game.AI.Decks
private bool RAMClouderEffect() private bool RAMClouderEffect()
{ {
AI.SelectCard(new[]{ AI.SelectCard(
CardId.StagToken, CardId.StagToken,
CardId.Bitron, CardId.Bitron,
CardId.Digitron, CardId.Digitron,
...@@ -437,8 +436,8 @@ namespace WindBot.Game.AI.Decks ...@@ -437,8 +436,8 @@ namespace WindBot.Game.AI.Decks
CardId.Draconnet, CardId.Draconnet,
CardId.Backlinker, CardId.Backlinker,
CardId.RAMClouder CardId.RAMClouder
}); );
AI.SelectNextCard(new[]{ AI.SelectNextCard(
CardId.DecodeTalker, CardId.DecodeTalker,
CardId.EncodeTalker, CardId.EncodeTalker,
CardId.TriGateWizard, CardId.TriGateWizard,
...@@ -450,7 +449,7 @@ namespace WindBot.Game.AI.Decks ...@@ -450,7 +449,7 @@ namespace WindBot.Game.AI.Decks
CardId.ROMCloudia, CardId.ROMCloudia,
CardId.Linkslayer, CardId.Linkslayer,
CardId.RAMClouder CardId.RAMClouder
}); );
return true; return true;
} }
......
...@@ -229,12 +229,12 @@ namespace WindBot.Game.AI.Decks ...@@ -229,12 +229,12 @@ namespace WindBot.Game.AI.Decks
private bool FoolishBurialGoodsEffect() private bool FoolishBurialGoodsEffect()
{ {
AI.SelectCard(new[]{ AI.SelectCard(
CardId.MetalfoesFusion, CardId.MetalfoesFusion,
CardId.WidowAnchor, CardId.WidowAnchor,
CardId.Engage, CardId.Engage,
CardId.HornetDrones CardId.HornetDrones
}); );
return true; return true;
} }
...@@ -312,13 +312,13 @@ namespace WindBot.Game.AI.Decks ...@@ -312,13 +312,13 @@ namespace WindBot.Game.AI.Decks
if (target > 0) if (target > 0)
AI.SelectCard(target); AI.SelectCard(target);
else else
AI.SelectCard(new[] { AI.SelectCard(
CardId.Multirole, CardId.Multirole,
CardId.AreaZero, CardId.AreaZero,
CardId.Afterburners, CardId.Afterburners,
CardId.JammingWave, CardId.JammingWave,
CardId.Raye CardId.Raye
}); );
return true; return true;
} }
...@@ -330,13 +330,13 @@ namespace WindBot.Game.AI.Decks ...@@ -330,13 +330,13 @@ namespace WindBot.Game.AI.Decks
if (target > 0) if (target > 0)
AI.SelectCard(target); AI.SelectCard(target);
else else
AI.SelectCard(new[] { AI.SelectCard(
CardId.Multirole, CardId.Multirole,
CardId.AreaZero, CardId.AreaZero,
CardId.Afterburners, CardId.Afterburners,
CardId.JammingWave, CardId.JammingWave,
CardId.Raye CardId.Raye
}); );
return true; return true;
} }
...@@ -562,11 +562,7 @@ namespace WindBot.Game.AI.Decks ...@@ -562,11 +562,7 @@ namespace WindBot.Game.AI.Decks
} }
else else
{ {
AI.SelectCard(new[] { AI.SelectCard(CardId.Shizuku, CardId.Kagari, CardId.Hayate);
CardId.Shizuku,
CardId.Kagari,
CardId.Hayate
});
} }
} }
...@@ -595,11 +591,7 @@ namespace WindBot.Game.AI.Decks ...@@ -595,11 +591,7 @@ namespace WindBot.Game.AI.Decks
AI.SelectCard(CardId.JammingWave); AI.SelectCard(CardId.JammingWave);
} }
else else
AI.SelectCard(new[] { AI.SelectCard(CardId.Engage, CardId.HornetDrones, CardId.WidowAnchor);
CardId.Engage,
CardId.HornetDrones,
CardId.WidowAnchor
});
return true; return true;
} }
...@@ -619,11 +611,7 @@ namespace WindBot.Game.AI.Decks ...@@ -619,11 +611,7 @@ namespace WindBot.Game.AI.Decks
if (target != 0) if (target != 0)
AI.SelectCard(target); AI.SelectCard(target);
else else
AI.SelectCard(new[] { AI.SelectCard(CardId.Engage, CardId.HornetDrones, CardId.WidowAnchor);
CardId.Engage,
CardId.HornetDrones,
CardId.WidowAnchor
});
return true; return true;
} }
......
...@@ -138,19 +138,17 @@ namespace WindBot.Game.AI.Decks ...@@ -138,19 +138,17 @@ namespace WindBot.Game.AI.Decks
} }
else else
{ {
AI.SelectCard(new[] AI.SelectCard(
{
CardId.CryomancerOfTheIceBarrier, CardId.CryomancerOfTheIceBarrier,
CardId.DewdarkOfTheIceBarrier CardId.DewdarkOfTheIceBarrier
}); );
} }
return true; return true;
} }
private bool SurfaceEffect() private bool SurfaceEffect()
{ {
AI.SelectCard(new[] AI.SelectCard(
{
CardId.ToadallyAwesome, CardId.ToadallyAwesome,
CardId.HeraldOfTheArcLight, CardId.HeraldOfTheArcLight,
CardId.SwapFrog, CardId.SwapFrog,
...@@ -159,7 +157,7 @@ namespace WindBot.Game.AI.Decks ...@@ -159,7 +157,7 @@ namespace WindBot.Game.AI.Decks
CardId.DupeFrog, CardId.DupeFrog,
CardId.Ronintoadin, CardId.Ronintoadin,
CardId.GraydleSlimeJr CardId.GraydleSlimeJr
}); );
return true; return true;
} }
...@@ -182,8 +180,7 @@ namespace WindBot.Game.AI.Decks ...@@ -182,8 +180,7 @@ namespace WindBot.Game.AI.Decks
else if (Bot.HasInGraveyard(CardId.DupeFrog) && !Bot.HasInGraveyard(CardId.Ronintoadin)) else if (Bot.HasInGraveyard(CardId.DupeFrog) && !Bot.HasInGraveyard(CardId.Ronintoadin))
AI.SelectCard(CardId.Ronintoadin); AI.SelectCard(CardId.Ronintoadin);
else else
AI.SelectCard(new[] AI.SelectCard(
{
CardId.GraydleSlimeJr, CardId.GraydleSlimeJr,
CardId.Ronintoadin, CardId.Ronintoadin,
CardId.DupeFrog, CardId.DupeFrog,
...@@ -191,18 +188,17 @@ namespace WindBot.Game.AI.Decks ...@@ -191,18 +188,17 @@ namespace WindBot.Game.AI.Decks
CardId.DewdarkOfTheIceBarrier, CardId.DewdarkOfTheIceBarrier,
CardId.PriorOfTheIceBarrier, CardId.PriorOfTheIceBarrier,
CardId.SwapFrog CardId.SwapFrog
}); );
return true; return true;
} }
private bool SalvageEffect() private bool SalvageEffect()
{ {
AI.SelectCard(new[] AI.SelectCard(
{
CardId.SwapFrog, CardId.SwapFrog,
CardId.PriorOfTheIceBarrier, CardId.PriorOfTheIceBarrier,
CardId.GraydleSlimeJr CardId.GraydleSlimeJr
}); );
return true; return true;
} }
...@@ -215,8 +211,7 @@ namespace WindBot.Game.AI.Decks ...@@ -215,8 +211,7 @@ namespace WindBot.Game.AI.Decks
else if (Bot.HasInGraveyard(CardId.DupeFrog) && !Bot.HasInGraveyard(CardId.Ronintoadin)) else if (Bot.HasInGraveyard(CardId.DupeFrog) && !Bot.HasInGraveyard(CardId.Ronintoadin))
AI.SelectCard(CardId.Ronintoadin); AI.SelectCard(CardId.Ronintoadin);
else else
AI.SelectCard(new[] AI.SelectCard(
{
CardId.Ronintoadin, CardId.Ronintoadin,
CardId.DupeFrog, CardId.DupeFrog,
CardId.CryomancerOfTheIceBarrier, CardId.CryomancerOfTheIceBarrier,
...@@ -224,7 +219,7 @@ namespace WindBot.Game.AI.Decks ...@@ -224,7 +219,7 @@ namespace WindBot.Game.AI.Decks
CardId.PriorOfTheIceBarrier, CardId.PriorOfTheIceBarrier,
CardId.GraydleSlimeJr, CardId.GraydleSlimeJr,
CardId.SwapFrog CardId.SwapFrog
}); );
return true; return true;
} }
...@@ -238,12 +233,11 @@ namespace WindBot.Game.AI.Decks ...@@ -238,12 +233,11 @@ namespace WindBot.Game.AI.Decks
{ {
if (Bot.HasInHand(CardId.DupeFrog)) if (Bot.HasInHand(CardId.DupeFrog))
{ {
AI.SelectCard(new[] AI.SelectCard(
{
CardId.PriorOfTheIceBarrier, CardId.PriorOfTheIceBarrier,
CardId.GraydleSlimeJr, CardId.GraydleSlimeJr,
CardId.SwapFrog CardId.SwapFrog
}); );
return true; return true;
} }
} }
...@@ -259,8 +253,7 @@ namespace WindBot.Game.AI.Decks ...@@ -259,8 +253,7 @@ namespace WindBot.Game.AI.Decks
{ {
AI.SelectCard(CardId.GraydleSlimeJr); AI.SelectCard(CardId.GraydleSlimeJr);
AI.SelectPosition(CardPosition.FaceUpDefence); AI.SelectPosition(CardPosition.FaceUpDefence);
AI.SelectNextCard(new[] AI.SelectNextCard(
{
CardId.SwapFrog, CardId.SwapFrog,
CardId.CryomancerOfTheIceBarrier, CardId.CryomancerOfTheIceBarrier,
CardId.DewdarkOfTheIceBarrier, CardId.DewdarkOfTheIceBarrier,
...@@ -268,7 +261,7 @@ namespace WindBot.Game.AI.Decks ...@@ -268,7 +261,7 @@ namespace WindBot.Game.AI.Decks
CardId.DupeFrog, CardId.DupeFrog,
CardId.PriorOfTheIceBarrier, CardId.PriorOfTheIceBarrier,
CardId.GraydleSlimeJr CardId.GraydleSlimeJr
}); );
return true; return true;
} }
...@@ -378,12 +371,11 @@ namespace WindBot.Game.AI.Decks ...@@ -378,12 +371,11 @@ namespace WindBot.Game.AI.Decks
} }
else else
{ {
AI.SelectCard(new[] AI.SelectCard(
{
CardId.SwapFrog, CardId.SwapFrog,
CardId.PriorOfTheIceBarrier, CardId.PriorOfTheIceBarrier,
CardId.GraydleSlimeJr CardId.GraydleSlimeJr
}); );
} }
return true; return true;
} }
...@@ -392,27 +384,25 @@ namespace WindBot.Game.AI.Decks ...@@ -392,27 +384,25 @@ namespace WindBot.Game.AI.Decks
SelectXYZDetach(Card.Overlays); SelectXYZDetach(Card.Overlays);
if (Duel.Player == 0) if (Duel.Player == 0)
{ {
AI.SelectNextCard(new[] AI.SelectNextCard(
{
CardId.SwapFrog, CardId.SwapFrog,
CardId.CryomancerOfTheIceBarrier, CardId.CryomancerOfTheIceBarrier,
CardId.DewdarkOfTheIceBarrier, CardId.DewdarkOfTheIceBarrier,
CardId.Ronintoadin, CardId.Ronintoadin,
CardId.DupeFrog, CardId.DupeFrog,
CardId.GraydleSlimeJr CardId.GraydleSlimeJr
}); );
} }
else else
{ {
AI.SelectNextCard(new[] AI.SelectNextCard(
{
CardId.DupeFrog, CardId.DupeFrog,
CardId.SwapFrog, CardId.SwapFrog,
CardId.Ronintoadin, CardId.Ronintoadin,
CardId.GraydleSlimeJr, CardId.GraydleSlimeJr,
CardId.CryomancerOfTheIceBarrier, CardId.CryomancerOfTheIceBarrier,
CardId.DewdarkOfTheIceBarrier CardId.DewdarkOfTheIceBarrier
}); );
AI.SelectPosition(CardPosition.FaceUpDefence); AI.SelectPosition(CardPosition.FaceUpDefence);
} }
return true; return true;
...@@ -566,8 +556,7 @@ namespace WindBot.Game.AI.Decks ...@@ -566,8 +556,7 @@ namespace WindBot.Game.AI.Decks
else if (Overlays.Contains(CardId.Ronintoadin) && Bot.HasInGraveyard(CardId.DupeFrog) && !Bot.HasInGraveyard(CardId.Ronintoadin)) else if (Overlays.Contains(CardId.Ronintoadin) && Bot.HasInGraveyard(CardId.DupeFrog) && !Bot.HasInGraveyard(CardId.Ronintoadin))
AI.SelectCard(CardId.Ronintoadin); AI.SelectCard(CardId.Ronintoadin);
else else
AI.SelectCard(new[] AI.SelectCard(
{
CardId.GraydleSlimeJr, CardId.GraydleSlimeJr,
CardId.Ronintoadin, CardId.Ronintoadin,
CardId.DupeFrog, CardId.DupeFrog,
...@@ -575,7 +564,7 @@ namespace WindBot.Game.AI.Decks ...@@ -575,7 +564,7 @@ namespace WindBot.Game.AI.Decks
CardId.DewdarkOfTheIceBarrier, CardId.DewdarkOfTheIceBarrier,
CardId.PriorOfTheIceBarrier, CardId.PriorOfTheIceBarrier,
CardId.SwapFrog CardId.SwapFrog
}); );
} }
} }
} }
This diff is collapsed.
...@@ -189,8 +189,7 @@ namespace WindBot.Game.AI.Decks ...@@ -189,8 +189,7 @@ namespace WindBot.Game.AI.Decks
{ {
if (CardOfDemiseUsed) if (CardOfDemiseUsed)
{ {
AI.SelectCard(new[] AI.SelectCard(
{
CardId.StarlightRoad, CardId.StarlightRoad,
CardId.MagicDrain, CardId.MagicDrain,
CardId.SolemnJudgment, CardId.SolemnJudgment,
...@@ -202,12 +201,11 @@ namespace WindBot.Game.AI.Decks ...@@ -202,12 +201,11 @@ namespace WindBot.Game.AI.Decks
CardId.SolemnWarning, CardId.SolemnWarning,
CardId.MacroCosmos, CardId.MacroCosmos,
CardId.CardOfDemise CardId.CardOfDemise
}); );
} }
else else
{ {
AI.SelectCard(new[] AI.SelectCard(
{
CardId.YosenjuKama3, CardId.YosenjuKama3,
CardId.YosenjuKama1, CardId.YosenjuKama1,
CardId.YosenjuKama2, CardId.YosenjuKama2,
...@@ -221,8 +219,8 @@ namespace WindBot.Game.AI.Decks ...@@ -221,8 +219,8 @@ namespace WindBot.Game.AI.Decks
CardId.SolemnJudgment, CardId.SolemnJudgment,
CardId.SolemnWarning, CardId.SolemnWarning,
CardId.MacroCosmos, CardId.MacroCosmos,
CardId.CardOfDemise, CardId.CardOfDemise
}); );
} }
return true; return true;
} }
...@@ -272,12 +270,7 @@ namespace WindBot.Game.AI.Decks ...@@ -272,12 +270,7 @@ namespace WindBot.Game.AI.Decks
// Don't activate the return to hand effect first // Don't activate the return to hand effect first
if (Duel.Phase == DuelPhase.End) if (Duel.Phase == DuelPhase.End)
return false; return false;
AI.SelectCard(new[] AI.SelectCard(CardId.YosenjuKama1, CardId.YosenjuKama2, CardId.YosenjuKama3);
{
CardId.YosenjuKama1,
CardId.YosenjuKama2,
CardId.YosenjuKama3
});
return true; return true;
} }
......
...@@ -170,14 +170,13 @@ namespace WindBot.Game.AI.Decks ...@@ -170,14 +170,13 @@ namespace WindBot.Game.AI.Decks
private bool ReinforcementOfTheArmy() private bool ReinforcementOfTheArmy()
{ {
AI.SelectCard(new[] AI.SelectCard(
{
CardId.Goblindbergh, CardId.Goblindbergh,
CardId.TinGoldfish, CardId.TinGoldfish,
CardId.StarDrawing, CardId.StarDrawing,
CardId.Kagetokage, CardId.Kagetokage,
CardId.SacredCrane CardId.SacredCrane
}); );
return true; return true;
} }
...@@ -224,13 +223,12 @@ namespace WindBot.Game.AI.Decks ...@@ -224,13 +223,12 @@ namespace WindBot.Game.AI.Decks
private bool GoblindberghEffect() private bool GoblindberghEffect()
{ {
AI.SelectCard(new[] AI.SelectCard(
{
CardId.SacredCrane, CardId.SacredCrane,
CardId.HeroicChallengerExtraSword, CardId.HeroicChallengerExtraSword,
CardId.StarDrawing, CardId.StarDrawing,
CardId.SummonerMonk CardId.SummonerMonk
}); );
return true; return true;
} }
...@@ -253,13 +251,12 @@ namespace WindBot.Game.AI.Decks ...@@ -253,13 +251,12 @@ namespace WindBot.Game.AI.Decks
if (Bot.HasInHand(costs)) if (Bot.HasInHand(costs))
{ {
AI.SelectCard(costs); AI.SelectCard(costs);
AI.SelectNextCard(new[] AI.SelectNextCard(
{
CardId.SacredCrane, CardId.SacredCrane,
CardId.StarDrawing, CardId.StarDrawing,
CardId.Goblindbergh, CardId.Goblindbergh,
CardId.TinGoldfish CardId.TinGoldfish
}); );
AI.SelectPosition(CardPosition.FaceUpDefence); AI.SelectPosition(CardPosition.FaceUpDefence);
return true; return true;
} }
......
...@@ -270,20 +270,18 @@ namespace WindBot.Game.AI.Decks ...@@ -270,20 +270,18 @@ namespace WindBot.Game.AI.Decks
{ {
if (Bot.HasInGraveyard(CardId.Whiptail) || Bot.HasInGraveyard(CardId.Thoroughblade)) if (Bot.HasInGraveyard(CardId.Whiptail) || Bot.HasInGraveyard(CardId.Thoroughblade))
{ {
AI.SelectCard(new[] AI.SelectCard(
{
CardId.Broadbull, CardId.Broadbull,
CardId.Tigermortar, CardId.Tigermortar,
CardId.Chakanine, CardId.Chakanine,
CardId.Thoroughblade, CardId.Thoroughblade,
CardId.Ratpier, CardId.Ratpier,
CardId.Whiptail CardId.Whiptail
}); );
AI.SelectNextCard(new[] AI.SelectNextCard(
{
CardId.Whiptail, CardId.Whiptail,
CardId.Thoroughblade CardId.Thoroughblade
}); );
return true; return true;
} }
return false; return false;
...@@ -336,12 +334,7 @@ namespace WindBot.Game.AI.Decks ...@@ -336,12 +334,7 @@ namespace WindBot.Game.AI.Decks
// return false; // return false;
AI.SelectCard(CardId.Chakanine); AI.SelectCard(CardId.Chakanine);
AI.SelectNextCard(CardId.Tigermortar); AI.SelectNextCard(CardId.Tigermortar);
AI.SelectThirdCard(new[] AI.SelectThirdCard(CardId.Ratpier, CardId.Whiptail, CardId.Thoroughblade);
{
CardId.Ratpier,
CardId.Whiptail,
CardId.Thoroughblade
});
return true; return true;
} }
...@@ -384,14 +377,13 @@ namespace WindBot.Game.AI.Decks ...@@ -384,14 +377,13 @@ namespace WindBot.Game.AI.Decks
private bool BroadbullEffect() private bool BroadbullEffect()
{ {
AI.SelectCard(new[] AI.SelectCard(
{
CardId.Tigermortar, CardId.Tigermortar,
CardId.Chakanine, CardId.Chakanine,
CardId.Drident, CardId.Drident,
CardId.AleisterTheInvoker, CardId.AleisterTheInvoker,
CardId.PhotonThrasher CardId.PhotonThrasher
}); );
if (Bot.HasInHand(CardId.Whiptail) && !Bot.HasInHand(CardId.Ratpier)) if (Bot.HasInHand(CardId.Whiptail) && !Bot.HasInHand(CardId.Ratpier))
AI.SelectNextCard(CardId.Ratpier); AI.SelectNextCard(CardId.Ratpier);
else else
...@@ -475,12 +467,11 @@ namespace WindBot.Game.AI.Decks ...@@ -475,12 +467,11 @@ namespace WindBot.Game.AI.Decks
private bool RatpierEffect() private bool RatpierEffect()
{ {
AI.SelectCard(new[] AI.SelectCard(
{
CardId.ZoodiacCombo, CardId.ZoodiacCombo,
CardId.Thoroughblade, CardId.Thoroughblade,
CardId.ZoodiacBarrage CardId.ZoodiacBarrage
}); );
return true; return true;
} }
...@@ -491,15 +482,14 @@ namespace WindBot.Game.AI.Decks ...@@ -491,15 +482,14 @@ namespace WindBot.Game.AI.Decks
ClientCard target = AI.Utils.GetBestEnemyCard(true); ClientCard target = AI.Utils.GetBestEnemyCard(true);
if (target == null) if (target == null)
return false; return false;
AI.SelectCard(new[] AI.SelectCard(
{
CardId.Broadbull, CardId.Broadbull,
CardId.Tigermortar, CardId.Tigermortar,
CardId.Chakanine, CardId.Chakanine,
CardId.Thoroughblade, CardId.Thoroughblade,
CardId.Ratpier, CardId.Ratpier,
CardId.Whiptail CardId.Whiptail
}); );
AI.SelectNextCard(target); AI.SelectNextCard(target);
return true; return true;
} }
...@@ -516,17 +506,15 @@ namespace WindBot.Game.AI.Decks ...@@ -516,17 +506,15 @@ namespace WindBot.Game.AI.Decks
private bool DaigustoEmeralEffect() private bool DaigustoEmeralEffect()
{ {
AI.SelectCard(new[] AI.SelectCard(
{
CardId.Ratpier, CardId.Ratpier,
CardId.AleisterTheInvoker, CardId.AleisterTheInvoker,
CardId.Whiptail CardId.Whiptail
}); );
AI.SelectNextCard(new[] AI.SelectNextCard(
{
CardId.Ratpier, CardId.Ratpier,
CardId.DaigustoEmeral CardId.DaigustoEmeral
}); );
return true; return true;
} }
...@@ -553,18 +541,16 @@ namespace WindBot.Game.AI.Decks ...@@ -553,18 +541,16 @@ namespace WindBot.Game.AI.Decks
if (spell.IsCode(CardId.ZoodiacBarrage) && !Card.Equals(spell)) if (spell.IsCode(CardId.ZoodiacBarrage) && !Card.Equals(spell))
return false; return false;
} }
AI.SelectCard(new[] AI.SelectCard(
{
CardId.FireFormationTenki, CardId.FireFormationTenki,
CardId.MagicalMeltdown, CardId.MagicalMeltdown,
CardId.ZoodiacBarrage CardId.ZoodiacBarrage
}); );
AI.SelectNextCard(new[] AI.SelectNextCard(
{
CardId.Ratpier, CardId.Ratpier,
CardId.Whiptail, CardId.Whiptail,
CardId.Thoroughblade CardId.Thoroughblade
}); );
AI.SelectPosition(CardPosition.FaceUpDefence); AI.SelectPosition(CardPosition.FaceUpDefence);
return true; return true;
} }
...@@ -576,20 +562,18 @@ namespace WindBot.Game.AI.Decks ...@@ -576,20 +562,18 @@ namespace WindBot.Game.AI.Decks
if (Card.Location != CardLocation.Grave) if (Card.Location != CardLocation.Grave)
{ {
AI.SelectCard(CardId.Drident); AI.SelectCard(CardId.Drident);
AI.SelectNextCard(new[] AI.SelectNextCard(
{
CardId.Whiptail, CardId.Whiptail,
CardId.Ratpier, CardId.Ratpier,
CardId.Thoroughblade CardId.Thoroughblade
}); );
} }
return true; return true;
} }
private bool MonsterRebornEffect() private bool MonsterRebornEffect()
{ {
AI.SelectCard(new[] AI.SelectCard(
{
CardId.Ratpier, CardId.Ratpier,
CardId.Whiptail, CardId.Whiptail,
CardId.InvokedMechaba, CardId.InvokedMechaba,
...@@ -598,7 +582,7 @@ namespace WindBot.Game.AI.Decks ...@@ -598,7 +582,7 @@ namespace WindBot.Game.AI.Decks
CardId.Tigermortar, CardId.Tigermortar,
CardId.Chakanine, CardId.Chakanine,
CardId.Broadbull CardId.Broadbull
}); );
return true; return true;
} }
......
...@@ -362,7 +362,7 @@ namespace WindBot.Game.AI ...@@ -362,7 +362,7 @@ namespace WindBot.Game.AI
if (DefaultOnBecomeTarget()) return true; if (DefaultOnBecomeTarget()) return true;
if (Duel.Phase > DuelPhase.Main1 && Duel.Phase < DuelPhase.Main2) if (Duel.Phase > DuelPhase.Main1 && Duel.Phase < DuelPhase.Main2)
{ {
if (Enemy.HasInMonstersZone(new [] if (Enemy.HasInMonstersZone(new[]
{ {
_CardId.UltimateConductorTytanno, _CardId.UltimateConductorTytanno,
_CardId.InvokedPurgatrio, _CardId.InvokedPurgatrio,
...@@ -863,42 +863,38 @@ namespace WindBot.Game.AI ...@@ -863,42 +863,38 @@ namespace WindBot.Game.AI
{ {
if (Card.Location == CardLocation.Grave) if (Card.Location == CardLocation.Grave)
{ {
AI.SelectCard(new[] AI.SelectCard(
{
_CardId.GamecieltheSeaTurtleKaiju, _CardId.GamecieltheSeaTurtleKaiju,
_CardId.KumongoustheStickyStringKaiju, _CardId.KumongoustheStickyStringKaiju,
_CardId.GadarlatheMysteryDustKaiju, _CardId.GadarlatheMysteryDustKaiju,
_CardId.RadiantheMultidimensionalKaiju, _CardId.RadiantheMultidimensionalKaiju,
_CardId.DogorantheMadFlameKaiju, _CardId.DogorantheMadFlameKaiju,
_CardId.ThunderKingtheLightningstrikeKaiju, _CardId.ThunderKingtheLightningstrikeKaiju,
_CardId.JizukirutheStarDestroyingKaiju, _CardId.JizukirutheStarDestroyingKaiju
}); );
return true; return true;
} }
if (DefaultDarkHole()) if (DefaultDarkHole())
{ {
AI.SelectCard(new[] AI.SelectCard(
{
_CardId.JizukirutheStarDestroyingKaiju, _CardId.JizukirutheStarDestroyingKaiju,
_CardId.ThunderKingtheLightningstrikeKaiju, _CardId.ThunderKingtheLightningstrikeKaiju,
_CardId.DogorantheMadFlameKaiju, _CardId.DogorantheMadFlameKaiju,
_CardId.RadiantheMultidimensionalKaiju, _CardId.RadiantheMultidimensionalKaiju,
_CardId.GadarlatheMysteryDustKaiju, _CardId.GadarlatheMysteryDustKaiju,
_CardId.KumongoustheStickyStringKaiju, _CardId.KumongoustheStickyStringKaiju,
_CardId.GamecieltheSeaTurtleKaiju, _CardId.GamecieltheSeaTurtleKaiju
}); );
AI.SelectNextCard(new[] AI.SelectNextCard(
{
_CardId.SuperAntiKaijuWarMachineMechaDogoran, _CardId.SuperAntiKaijuWarMachineMechaDogoran,
_CardId.GamecieltheSeaTurtleKaiju, _CardId.GamecieltheSeaTurtleKaiju,
_CardId.KumongoustheStickyStringKaiju, _CardId.KumongoustheStickyStringKaiju,
_CardId.GadarlatheMysteryDustKaiju, _CardId.GadarlatheMysteryDustKaiju,
_CardId.RadiantheMultidimensionalKaiju, _CardId.RadiantheMultidimensionalKaiju,
_CardId.DogorantheMadFlameKaiju, _CardId.DogorantheMadFlameKaiju,
_CardId.ThunderKingtheLightningstrikeKaiju, _CardId.ThunderKingtheLightningstrikeKaiju
);
});
return true; return true;
} }
......
...@@ -784,6 +784,12 @@ namespace WindBot.Game ...@@ -784,6 +784,12 @@ namespace WindBot.Game
m_selector.Add(new CardSelector(ids)); m_selector.Add(new CardSelector(ids));
} }
public void SelectCard(params int[] ids)
{
m_selector_pointer = m_selector.Count();
m_selector.Add(new CardSelector(ids));
}
public void SelectCard(CardLocation loc) public void SelectCard(CardLocation loc)
{ {
m_selector_pointer = m_selector.Count(); m_selector_pointer = m_selector.Count();
...@@ -830,6 +836,16 @@ namespace WindBot.Game ...@@ -830,6 +836,16 @@ namespace WindBot.Game
m_selector.Insert(m_selector_pointer, new CardSelector(ids)); m_selector.Insert(m_selector_pointer, new CardSelector(ids));
} }
public void SelectNextCard(params int[] ids)
{
if (m_selector_pointer == -1)
{
Logger.WriteErrorLine("Error: Call SelectNextCard() before SelectCard()");
m_selector_pointer = 0;
}
m_selector.Insert(m_selector_pointer, new CardSelector(ids));
}
public void SelectNextCard(CardLocation loc) public void SelectNextCard(CardLocation loc)
{ {
if (m_selector_pointer == -1) if (m_selector_pointer == -1)
...@@ -880,6 +896,16 @@ namespace WindBot.Game ...@@ -880,6 +896,16 @@ namespace WindBot.Game
m_selector.Insert(m_selector_pointer, new CardSelector(ids)); m_selector.Insert(m_selector_pointer, new CardSelector(ids));
} }
public void SelectThirdCard(params int[] ids)
{
if (m_selector_pointer == -1)
{
Logger.WriteErrorLine("Error: Call SelectThirdCard() before SelectCard()");
m_selector_pointer = 0;
}
m_selector.Insert(m_selector_pointer, new CardSelector(ids));
}
public void SelectThirdCard(CardLocation loc) public void SelectThirdCard(CardLocation loc)
{ {
if (m_selector_pointer == -1) if (m_selector_pointer == -1)
......
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