Commit 40a5021b authored by mercury233's avatar mercury233

fixes by handsomekiwi

parent 2b5a3e57
...@@ -590,7 +590,12 @@ namespace WindBot.Game.AI.Decks ...@@ -590,7 +590,12 @@ namespace WindBot.Game.AI.Decks
return false; return false;
} }
private bool CardOfDemiseeff() private bool CardOfDemiseeff()
{ {
foreach (ClientCard card in Bot.GetMonsters())
{
if (card.Id == CardId.CardcarD && card.IsFaceup())
return false;
}
if (Bot.GetHandCount() == 1 && Bot.GetSpellCountWithoutField() <= 3) if (Bot.GetHandCount() == 1 && Bot.GetSpellCountWithoutField() <= 3)
{ {
no_sp = true; no_sp = true;
......
...@@ -134,7 +134,7 @@ namespace WindBot.Game.AI.Decks ...@@ -134,7 +134,7 @@ namespace WindBot.Game.AI.Decks
AddExecutor(ExecutorType.Activate, CardId.MinervaTheExalte, MinervaTheExaltedEffect); AddExecutor(ExecutorType.Activate, CardId.MinervaTheExalte, MinervaTheExaltedEffect);
AddExecutor(ExecutorType.SpSummon, CardId.CrystronNeedlefiber, CrystronNeedlefibersp); AddExecutor(ExecutorType.SpSummon, CardId.CrystronNeedlefiber, CrystronNeedlefibersp);
//Kaiju //Kaiju
AddExecutor(ExecutorType.SpSummon, CardId.GamecieltheSeaTurtleKaiju, DefaultKaijuSpsummon); AddExecutor(ExecutorType.SpSummon, CardId.GamecieltheSeaTurtleKaiju, GamecieltheSeaTurtleKaijusp);
AddExecutor(ExecutorType.SpSummon, CardId.RadiantheMultidimensionalKaiju, RadiantheMultidimensionalKaijusp); AddExecutor(ExecutorType.SpSummon, CardId.RadiantheMultidimensionalKaiju, RadiantheMultidimensionalKaijusp);
AddExecutor(ExecutorType.SpSummon, CardId.DogorantheMadFlameKaiju, DogorantheMadFlameKaijusp); AddExecutor(ExecutorType.SpSummon, CardId.DogorantheMadFlameKaiju, DogorantheMadFlameKaijusp);
//Reborn //Reborn
...@@ -353,13 +353,19 @@ namespace WindBot.Game.AI.Decks ...@@ -353,13 +353,19 @@ namespace WindBot.Game.AI.Decks
} }
return false; return false;
}
private bool GamecieltheSeaTurtleKaijusp()
{
if (!Bot.HasInMonstersZone(CardId.UltimateConductorTytanno))
return DefaultKaijuSpsummon();
return false;
} }
private bool RadiantheMultidimensionalKaijusp() private bool RadiantheMultidimensionalKaijusp()
{ {
if (Enemy.HasInMonstersZone(CardId.GamecieltheSeaTurtleKaiju)) return true; if (Enemy.HasInMonstersZone(CardId.GamecieltheSeaTurtleKaiju)) return true;
if (Bot.HasInHand(CardId.DogorantheMadFlameKaiju)) return DefaultKaijuSpsummon(); if (Bot.HasInHand(CardId.DogorantheMadFlameKaiju) && !Bot.HasInMonstersZone(CardId.UltimateConductorTytanno)) return DefaultKaijuSpsummon();
return false; return false;
} }
...@@ -403,8 +409,11 @@ namespace WindBot.Game.AI.Decks ...@@ -403,8 +409,11 @@ namespace WindBot.Game.AI.Decks
} }
private bool MonsterRepos() private bool MonsterRepos()
{ {
if (Card.Id == CardId.UltimateConductorTytanno && Card.IsFacedown()) return true;
if (Card.Id == CardId.ElShaddollConstruct && Card.IsFacedown()) return true;
if (Card.Id == CardId.ElShaddollConstruct && Card.IsAttack()) return false; if (Card.Id == CardId.ElShaddollConstruct && Card.IsAttack()) return false;
if (Card.Id == CardId.GlowUpBulb && Card.IsDefense()) return false;
if (Card.Id == CardId.ShaddollDragon && Card.IsFacedown() && Enemy.GetMonsterCount() >= 0) return true; if (Card.Id == CardId.ShaddollDragon && Card.IsFacedown() && Enemy.GetMonsterCount() >= 0) return true;
if (Card.Id == CardId.ShaddollSquamata && Card.IsFacedown() && Enemy.GetMonsterCount() >= 0) return true; if (Card.Id == CardId.ShaddollSquamata && Card.IsFacedown() && Enemy.GetMonsterCount() >= 0) return true;
return base.DefaultMonsterRepos(); return base.DefaultMonsterRepos();
...@@ -540,7 +549,14 @@ namespace WindBot.Game.AI.Decks ...@@ -540,7 +549,14 @@ namespace WindBot.Game.AI.Decks
int spell_count = 0; int spell_count = 0;
IList<ClientCard> grave = Bot.Graveyard; IList<ClientCard> grave = Bot.Graveyard;
IList<ClientCard> all = new List<ClientCard>(); IList<ClientCard> all = new List<ClientCard>();
foreach (ClientCard check in grave)
{
if (check.Id == CardId.GiantRex)
{
all.Add(check);
}
}
foreach (ClientCard check in grave) foreach (ClientCard check in grave)
{ {
if(check.HasType(CardType.Spell)||check.HasType(CardType.Trap)) if(check.HasType(CardType.Spell)||check.HasType(CardType.Trap))
...@@ -556,12 +572,8 @@ namespace WindBot.Game.AI.Decks ...@@ -556,12 +572,8 @@ namespace WindBot.Game.AI.Decks
all.Add(check); all.Add(check);
} }
} }
if (AI.Utils.GetLastChainCard()!=null) if (AI.Utils.ChainContainsCard(CardId.FairyTailSnow)) return false;
{
if (AI.Utils.GetLastChainCard().Id == CardId.FairyTailSnow) return false;
}
if ( Duel.Player == 1 && Duel.Phase == DuelPhase.BattleStart && Bot.BattlingMonster == null && Enemy_atk >=Bot.LifePoints || if ( Duel.Player == 1 && Duel.Phase == DuelPhase.BattleStart && Bot.BattlingMonster == null && Enemy_atk >=Bot.LifePoints ||
Duel.Player == 0 && Duel.Phase==DuelPhase.BattleStart && Enemy.BattlingMonster == null && Enemy.LifePoints<=1850 Duel.Player == 0 && Duel.Phase==DuelPhase.BattleStart && Enemy.BattlingMonster == null && Enemy.LifePoints<=1850
) )
...@@ -577,10 +589,10 @@ namespace WindBot.Game.AI.Decks ...@@ -577,10 +589,10 @@ namespace WindBot.Game.AI.Decks
private bool SouleatingOviraptoreff() private bool SouleatingOviraptoreff()
{ {
if (!OvertexCoatlseff_used) if (!OvertexCoatlseff_used && Bot.GetRemainingCount(CardId.OvertexCoatls, 3) > 0)
{ {
AI.SelectCard(CardId.OvertexCoatls); AI.SelectCard(CardId.OvertexCoatls);
AI.SelectYesNo(false); AI.SelectYesNo(false);
} }
else else
{ {
...@@ -721,13 +733,13 @@ namespace WindBot.Game.AI.Decks ...@@ -721,13 +733,13 @@ namespace WindBot.Game.AI.Decks
{ {
List<ClientCard> extra_zone_check = Bot.GetMonstersInExtraZone(); List<ClientCard> extra_zone_check = Bot.GetMonstersInExtraZone();
foreach (ClientCard extra_monster in extra_zone_check) foreach (ClientCard extra_monster in extra_zone_check)
if (extra_monster.HasType(CardType.Xyz) || extra_monster.HasType(CardType.Fusion)) return false; if (extra_monster.HasType(CardType.Xyz) || extra_monster.HasType(CardType.Fusion) || extra_monster.HasType(CardType.Synchro)) return false;
bool deck_check = false; bool deck_check = false;
List<ClientCard> monsters = Enemy.GetMonsters(); List<ClientCard> monsters = Enemy.GetMonsters();
foreach (ClientCard monster in monsters) foreach (ClientCard monster in monsters)
{ {
if (monster.HasType(CardType.Synchro) || monster.HasType(CardType.Fusion) || monster.HasType(CardType.Xyz)) if (monster.HasType(CardType.Synchro) || monster.HasType(CardType.Fusion) || monster.HasType(CardType.Xyz) || monster.HasType(CardType.Link))
deck_check = true; deck_check = true;
} }
...@@ -748,7 +760,7 @@ namespace WindBot.Game.AI.Decks ...@@ -748,7 +760,7 @@ namespace WindBot.Game.AI.Decks
CardId.ShaddollHedgehog, CardId.ShaddollHedgehog,
CardId.ShaddollDragon, CardId.ShaddollDragon,
CardId.ShaddollFalco, CardId.ShaddollFalco,
CardId.FairyTailSnow,
}); });
AI.SelectPosition(CardPosition.FaceUpAttack); AI.SelectPosition(CardPosition.FaceUpAttack);
return true; return true;
...@@ -891,11 +903,9 @@ namespace WindBot.Game.AI.Decks ...@@ -891,11 +903,9 @@ namespace WindBot.Game.AI.Decks
} }
else else
{ {
if (Enemy.GetMonsterCount() == 0) return false;
ClientCard target = AI.Utils.GetBestEnemyMonster(); ClientCard target = AI.Utils.GetBestEnemyMonster();
AI.SelectCard(target); AI.SelectCard(target);
if (Enemy.GetMonsterCount() == 0)
return false;
} }
return true; return true;
} }
...@@ -972,6 +982,7 @@ namespace WindBot.Game.AI.Decks ...@@ -972,6 +982,7 @@ namespace WindBot.Game.AI.Decks
} }
else else
{ {
if (Enemy.GetSpellCount() == 0) return false;
ClientCard target = AI.Utils.GetBestEnemySpell(); ClientCard target = AI.Utils.GetBestEnemySpell();
AI.SelectCard(target); AI.SelectCard(target);
return true; return true;
...@@ -981,6 +992,8 @@ namespace WindBot.Game.AI.Decks ...@@ -981,6 +992,8 @@ namespace WindBot.Game.AI.Decks
private bool LostWindeff() private bool LostWindeff()
{ {
if (Card.Location == CardLocation.Grave)
return true;
List<ClientCard> check = Enemy.GetMonsters(); List<ClientCard> check = Enemy.GetMonsters();
foreach (ClientCard m in check) foreach (ClientCard m in check)
{ {
......
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