Commit 2d1896c0 authored by handsomekiwi's avatar handsomekiwi Committed by mercury233

add chainburn deck (#31)

parent 763d0f9f
#created by ...
#main
41386308
3549275
45812361
45812361
45812361
19665973
19665973
19665973
60990740
60990740
60990740
35261759
35261759
59750328
59750328
98645731
98645731
98645731
91623717
91623717
12607053
12607053
18252559
18252559
18252559
24068492
24068492
24068492
27053506
27053506
27053506
29843091
29843091
29843091
36361633
36361633
36361633
36468556
37576645
37576645
37576645
62279055
62279055
62279055
67443336
67443336
67443336
75249652
75249652
75249652
83555666
98444741
98444741
#extra
41999284
41999284
41999284
!side
33508719
67095270
67095270
67095270
98444741
100227025
100227025
100227025
\ No newline at end of file
...@@ -247,7 +247,8 @@ namespace WindBot.Game.AI ...@@ -247,7 +247,8 @@ namespace WindBot.Game.AI
foreach (ClientCard ecard in spells) foreach (ClientCard ecard in spells)
{ {
if (ecard.IsFaceup() && ecard.HasType(CardType.Continuous)) if (ecard.IsFaceup() && ecard.HasType(CardType.Continuous)||
ecard.IsFaceup() && ecard.HasType(CardType.Field))
return ecard; return ecard;
} }
......
This diff is collapsed.
...@@ -103,7 +103,7 @@ namespace WindBot.Game.AI.Decks ...@@ -103,7 +103,7 @@ namespace WindBot.Game.AI.Decks
AddExecutor(ExecutorType.Activate, CardId.Raiden); AddExecutor(ExecutorType.Activate, CardId.Raiden);
AddExecutor(ExecutorType.Summon , CardId.KeeperOfDragonicMagic); AddExecutor(ExecutorType.Summon , CardId.KeeperOfDragonicMagic);
AddExecutor(ExecutorType.Activate, CardId.KeeperOfDragonicMagic, KeeperOfDragonicMagic); AddExecutor(ExecutorType.Activate, CardId.KeeperOfDragonicMagic, KeeperOfDragonicMagiceff);
AddExecutor(ExecutorType.MonsterSet, CardId.ShaddollSquamata); AddExecutor(ExecutorType.MonsterSet, CardId.ShaddollSquamata);
AddExecutor(ExecutorType.MonsterSet, CardId.GlowUpBulb); AddExecutor(ExecutorType.MonsterSet, CardId.GlowUpBulb);
AddExecutor(ExecutorType.MonsterSet, CardId.ShaddollHedgehog); AddExecutor(ExecutorType.MonsterSet, CardId.ShaddollHedgehog);
...@@ -123,7 +123,7 @@ namespace WindBot.Game.AI.Decks ...@@ -123,7 +123,7 @@ namespace WindBot.Game.AI.Decks
//activate //activate
AddExecutor(ExecutorType.SpSummon , CardId.GlowUpBulb,GlowUpBulbeff); AddExecutor(ExecutorType.Activate , CardId.GlowUpBulb,GlowUpBulbeff);
//activate chain //activate chain
AddExecutor(ExecutorType.Activate, CardId.OvertexCoatls, OvertexCoatlseff); AddExecutor(ExecutorType.Activate, CardId.OvertexCoatls, OvertexCoatlseff);
...@@ -218,7 +218,33 @@ namespace WindBot.Game.AI.Decks ...@@ -218,7 +218,33 @@ namespace WindBot.Game.AI.Decks
}; };
} }
public override BattlePhaseAction OnSelectAttackTarget(ClientCard attacker, IList<ClientCard> defenders)
{
for (int i = 0; i < defenders.Count; ++i)
{
ClientCard defender = defenders[i];
attacker.RealPower = attacker.Attack;
defender.RealPower = defender.GetDefensePower();
if (!OnPreBattleBetween(attacker, defender))
continue;
if (attacker.RealPower > defender.RealPower ||
(attacker.RealPower >= defender.RealPower && attacker.IsLastAttacker)||
attacker.Id==CardId.UltimateConductorTytanno
)
return AI.Attack(attacker, defender);
}
if (attacker.CanDirectAttack)
return AI.Attack(attacker, null);
return null;
}
public override bool OnSelectHand()
{
return true;
}
public override void OnNewTurn() public override void OnNewTurn()
{ {
Pillused = false; Pillused = false;
...@@ -242,9 +268,9 @@ namespace WindBot.Game.AI.Decks ...@@ -242,9 +268,9 @@ namespace WindBot.Game.AI.Decks
CardId.FairyTailSnow, CardId.FairyTailSnow,
CardId.SouleatingOviraptor, CardId.SouleatingOviraptor,
}); });
return true; AI.SelectNextCard(CardId.GlowUpBulb);
} }
return false; return true;
} }
public bool CrystalWingSynchroDragoneff() public bool CrystalWingSynchroDragoneff()
...@@ -276,7 +302,7 @@ namespace WindBot.Game.AI.Decks ...@@ -276,7 +302,7 @@ namespace WindBot.Game.AI.Decks
{ {
if (Duel.Phase == DuelPhase.Main1 || Duel.Phase == DuelPhase.Main2) if (Duel.Phase == DuelPhase.Main1)
{ {
IList<int> targets = new[] { IList<int> targets = new[] {
CardId.OvertexCoatls, CardId.OvertexCoatls,
...@@ -321,14 +347,14 @@ namespace WindBot.Game.AI.Decks ...@@ -321,14 +347,14 @@ namespace WindBot.Game.AI.Decks
Pillused = true; Pillused = true;
foreach (ClientCard card in Bot.GetMonsters()) foreach (ClientCard card in Bot.GetMonsters())
{ {
if (card.Id == Card.Id && card.IsFaceup()) if (card.Id == CardId.UltimateConductorTytanno && card.IsFaceup())
return false; return false;
} }
return true; return true;
} }
private bool KeeperOfDragonicMagic() private bool KeeperOfDragonicMagiceff()
{ {
if (ActivateDescription == -1) if (ActivateDescription == -1)
{ {
...@@ -489,22 +515,20 @@ namespace WindBot.Game.AI.Decks ...@@ -489,22 +515,20 @@ namespace WindBot.Game.AI.Decks
private bool GlowUpBulbeff() private bool GlowUpBulbeff()
{ {
if(Bot.HasInMonstersZone(CardId.Lumina)|| /*if(Bot.HasInMonstersZone(CardId.Lumina)||
Bot.HasInMonstersZone(CardId.FairyTailSnow)|| Bot.HasInMonstersZone(CardId.FairyTailSnow)||
Bot.HasInMonstersZone(CardId.KeeperOfDragonicMagic)|| Bot.HasInMonstersZone(CardId.KeeperOfDragonicMagic)||
Bot.HasInMonstersZone(CardId.SouleatingOviraptor) Bot.HasInMonstersZone(CardId.SouleatingOviraptor)
) )*/
AI.SelectPosition(CardPosition.FaceUpDefence); AI.SelectPosition(CardPosition.FaceUpDefence);
return true; return true;
} }
private bool ShaddollFusioneff() private bool ShaddollFusioneff()
{ {
if (Enemy.GetMonstersExtraZoneCount() != 0) if(Enemy.GetMonstersExtraZoneCount()>0)
{ {
AI.SelectCard(new[] AI.SelectCard(new[]
{ {
CardId.ElShaddollConstruct, CardId.ElShaddollConstruct,
...@@ -629,7 +653,7 @@ namespace WindBot.Game.AI.Decks ...@@ -629,7 +653,7 @@ namespace WindBot.Game.AI.Decks
return true; return true;
else else
{ {
if(Duel.LastChainPlayer==1) if (DefaultBreakthroughSkill())
{ {
AI.SelectCard(new[] AI.SelectCard(new[]
{ {
...@@ -641,6 +665,8 @@ namespace WindBot.Game.AI.Decks ...@@ -641,6 +665,8 @@ namespace WindBot.Game.AI.Decks
} }
); );
} }
else
return false;
} }
return true; return true;
} }
...@@ -707,6 +733,8 @@ namespace WindBot.Game.AI.Decks ...@@ -707,6 +733,8 @@ namespace WindBot.Game.AI.Decks
{ {
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;
...@@ -738,10 +766,7 @@ namespace WindBot.Game.AI.Decks ...@@ -738,10 +766,7 @@ namespace WindBot.Game.AI.Decks
return true; return true;
} }
private bool GoblindberghSummon() private bool GoblindberghSummon()
{ {
foreach (ClientCard card in Bot.Hand.GetMonsters()) foreach (ClientCard card in Bot.Hand.GetMonsters())
...@@ -751,15 +776,8 @@ namespace WindBot.Game.AI.Decks ...@@ -751,15 +776,8 @@ namespace WindBot.Game.AI.Decks
} }
return false; return false;
} }
private bool PerformageTrickClownEffect()
{
AI.SelectPosition(CardPosition.FaceUpDefence);
return true;
}
public bool Hand_act_eff() public bool Hand_act_eff()
{ {
//if (Card.Id == CardId.Urara && Bot.HasInHand(CardId.LockBird) && Bot.HasInSpellZone(CardId.Re)) return false; //if (Card.Id == CardId.Urara && Bot.HasInHand(CardId.LockBird) && Bot.HasInSpellZone(CardId.Re)) return false;
...@@ -804,10 +822,7 @@ namespace WindBot.Game.AI.Decks ...@@ -804,10 +822,7 @@ namespace WindBot.Game.AI.Decks
return true; return true;
} }
} }
private bool HonestEffect()
{
return Duel.Phase != DuelPhase.Main1;
}
} }
} }
\ No newline at end of file
...@@ -89,7 +89,10 @@ namespace WindBot.Game.AI ...@@ -89,7 +89,10 @@ namespace WindBot.Game.AI
{ {
} }
public virtual void OnNewPhase()
{
// Some AI need do something on new phase
}
public virtual void OnNewTurn() public virtual void OnNewTurn()
{ {
// Some AI need do something on new turn // Some AI need do something on new turn
......
...@@ -76,6 +76,7 @@ ...@@ -76,6 +76,7 @@
<Compile Include="Game\AI\Decks\RainbowExecutor.cs" /> <Compile Include="Game\AI\Decks\RainbowExecutor.cs" />
<Compile Include="Game\AI\Decks\BlueEyesExecutor.cs" /> <Compile Include="Game\AI\Decks\BlueEyesExecutor.cs" />
<Compile Include="Game\AI\Decks\BurnExecutor.cs" /> <Compile Include="Game\AI\Decks\BurnExecutor.cs" />
<Compile Include="Game\AI\Decks\ChainBurnExecutor.cs" />
<Compile Include="Game\AI\Decks\EvilswarmExecutor.cs" /> <Compile Include="Game\AI\Decks\EvilswarmExecutor.cs" />
<Compile Include="Game\AI\Decks\GraydleExecutor.cs" /> <Compile Include="Game\AI\Decks\GraydleExecutor.cs" />
<Compile Include="Game\AI\Decks\LightswornExecutor.cs" /> <Compile Include="Game\AI\Decks\LightswornExecutor.cs" />
......
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