Commit e6e54039 authored by handsomekiwi's avatar handsomekiwi Committed by mercury233

update Phantasm deck (#94)

parent 4ffb7f8a
...@@ -61,7 +61,7 @@ namespace WindBot.Game.AI.Decks ...@@ -61,7 +61,7 @@ namespace WindBot.Game.AI.Decks
: base(ai, duel) : base(ai, duel)
{ {
//counter //counter
//AddExecutor(ExecutorType.ToBattlePhase, ToBattlePhaseeff); AddExecutor(ExecutorType.GoToBattlePhase, GoToBattlePhase);
AddExecutor(ExecutorType.Activate, CardId.StarlightRoad, PreventFeatherDustereff); AddExecutor(ExecutorType.Activate, CardId.StarlightRoad, PreventFeatherDustereff);
AddExecutor(ExecutorType.Activate, CardId.TheHugeRevolutionIsOver, PreventFeatherDustereff); AddExecutor(ExecutorType.Activate, CardId.TheHugeRevolutionIsOver, PreventFeatherDustereff);
AddExecutor(ExecutorType.Activate, _CardId.GhostBelle, DefaultGhostBelleAndHauntedMansion); AddExecutor(ExecutorType.Activate, _CardId.GhostBelle, DefaultGhostBelleAndHauntedMansion);
...@@ -100,7 +100,7 @@ namespace WindBot.Game.AI.Decks ...@@ -100,7 +100,7 @@ namespace WindBot.Game.AI.Decks
AddExecutor(ExecutorType.Activate, CardId.EaterOfMillions, EaterOfMillionseff); AddExecutor(ExecutorType.Activate, CardId.EaterOfMillions, EaterOfMillionseff);
//other //other
AddExecutor(ExecutorType.Activate, CardId.Scapegoat, Scapegoateff); AddExecutor(ExecutorType.Activate, CardId.Scapegoat, DefaultScapegoat);
AddExecutor(ExecutorType.SpellSet, CardId.SeaStealthAttack, NoSetAlreadyDone); AddExecutor(ExecutorType.SpellSet, CardId.SeaStealthAttack, NoSetAlreadyDone);
AddExecutor(ExecutorType.SpellSet, CardId.StarlightRoad, StarlightRoadset); AddExecutor(ExecutorType.SpellSet, CardId.StarlightRoad, StarlightRoadset);
AddExecutor(ExecutorType.SpellSet, CardId.TheHugeRevolutionIsOver, TheHugeRevolutionIsOverset); AddExecutor(ExecutorType.SpellSet, CardId.TheHugeRevolutionIsOver, TheHugeRevolutionIsOverset);
...@@ -129,18 +129,17 @@ namespace WindBot.Game.AI.Decks ...@@ -129,18 +129,17 @@ namespace WindBot.Game.AI.Decks
return Duel.LastChainPlayer == 1; return Duel.LastChainPlayer == 1;
} }
/* private bool ToBattlePhaseeff() private bool GoToBattlePhase()
{ {
if (Enemy.GetMonsterCount() == 0) if (Enemy.GetMonsterCount() == 0)
{ {
if (AI.Utils.GetTotalAttackingMonsterAttack(0) >= Enemy.LifePoints) if (AI.Utils.GetTotalAttackingMonsterAttack(0) >= Enemy.LifePoints)
{ {
AI.ManualPhaseChange = true;
return true; return true;
} }
} }
return false; return false;
}*/ }
private bool PhantasmSprialBattleeff() private bool PhantasmSprialBattleeff()
{ {
...@@ -154,8 +153,13 @@ namespace WindBot.Game.AI.Decks ...@@ -154,8 +153,13 @@ namespace WindBot.Game.AI.Decks
AI.SelectCard(CardId.EternalSoul); AI.SelectCard(CardId.EternalSoul);
return UniqueFaceupSpell(); return UniqueFaceupSpell();
} }
if(Bot.GetMonsterCount()>0 && !Bot.HasInSpellZone(CardId.SeaStealthAttack) && if(Bot.UnderAttack && Bot.BattlingMonster != null && Bot.BattlingMonster.IsCode(CardId.MegalosmasherX))
AI.Utils.IsOneEnemyBetterThanValue(2000,true) && Duel.Phase==DuelPhase.BattleStart) {
AI.SelectCard(Enemy.BattlingMonster);
return UniqueFaceupSpell();
}
if (Bot.GetMonsterCount() > 0 && !Bot.HasInSpellZone(CardId.SeaStealthAttack) &&
AI.Utils.IsOneEnemyBetterThanValue(2000, false) && Duel.Phase==DuelPhase.BattleStart)
{ {
AI.SelectCard(AI.Utils.GetBestEnemyMonster(true,true)); AI.SelectCard(AI.Utils.GetBestEnemyMonster(true,true));
return UniqueFaceupSpell(); return UniqueFaceupSpell();
...@@ -257,7 +261,7 @@ namespace WindBot.Game.AI.Decks ...@@ -257,7 +261,7 @@ namespace WindBot.Game.AI.Decks
private bool CardOfDemiseeff() private bool CardOfDemiseeff()
{ {
//if (DefaultSpellWillBeNegated()) return false; if (DefaultSpellWillBeNegated()) return false;
AI.SelectPlace(Zones.z2); AI.SelectPlace(Zones.z2);
if(Card.Location==CardLocation.Hand) if(Card.Location==CardLocation.Hand)
{ {
...@@ -280,7 +284,7 @@ namespace WindBot.Game.AI.Decks ...@@ -280,7 +284,7 @@ namespace WindBot.Game.AI.Decks
private bool FossilDigeff() private bool FossilDigeff()
{ {
//if (DefaultSpellWillBeNegated()) return false; if (DefaultSpellWillBeNegated()) return false;
if (CardOfDemiseeff_used && summon_used) return false; if (CardOfDemiseeff_used && summon_used) return false;
return true; return true;
} }
...@@ -334,14 +338,14 @@ namespace WindBot.Game.AI.Decks ...@@ -334,14 +338,14 @@ namespace WindBot.Game.AI.Decks
} }
private bool Terraformingeff() private bool Terraformingeff()
{ {
// if (DefaultSpellWillBeNegated()) return false; if (DefaultSpellWillBeNegated()) return false;
if (CardOfDemiseeff_used && Bot.HasInSpellZone(CardId.PacifisThePhantasmCity)) return false; if (CardOfDemiseeff_used && Bot.HasInSpellZone(CardId.PacifisThePhantasmCity)) return false;
return true; return true;
} }
private bool PacifisThePhantasmCityeff() private bool PacifisThePhantasmCityeff()
{ {
// if (DefaultSpellWillBeNegated()) return false; if (DefaultSpellWillBeNegated()) return false;
if(Card.Location==CardLocation.Hand) if(Card.Location==CardLocation.Hand)
{ {
if (Bot.HasInSpellZone(CardId.PacifisThePhantasmCity)) if (Bot.HasInSpellZone(CardId.PacifisThePhantasmCity))
...@@ -615,26 +619,7 @@ namespace WindBot.Game.AI.Decks ...@@ -615,26 +619,7 @@ namespace WindBot.Game.AI.Decks
private bool PotOfDesireseff() private bool PotOfDesireseff()
{ {
return Bot.Deck.Count >= 18; return Bot.Deck.Count >= 18;
} }
private bool Scapegoateff()
{
// if (DefaultSpellWillBeNegated()) return false;
if (Duel.Player == 0) return false;
if (Duel.Phase == DuelPhase.End) return true;
if (DefaultOnBecomeTarget()) return true;
if (Duel.Phase > DuelPhase.Main1 && Duel.Phase < DuelPhase.Main2)
{
int total_atk = 0;
List<ClientCard> enemy_monster = Enemy.GetMonsters();
foreach (ClientCard m in enemy_monster)
{
if (m.IsAttack()) total_atk += m.Attack;
}
if (total_atk >= Bot.LifePoints) return true;
}
return false;
}
private bool StarlightRoadset() private bool StarlightRoadset()
{ {
...@@ -745,4 +730,4 @@ namespace WindBot.Game.AI.Decks ...@@ -745,4 +730,4 @@ namespace WindBot.Game.AI.Decks
} }
} }
\ No newline at end of file
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