Commit 904b4c57 authored by handsomekiwi's avatar handsomekiwi Committed by mercury233

update LightswornShaddoldinosour and misc (#28)

parent d2925f39
{
"welcome": [
"真難得有人發現這個。",
"真沒想到你能跟我對戰呢!決鬥者。不過也就到此為止了,接下來由我V.F.D(非常友善的決鬥者)來做你的對手。"
],
"deckerror": [
"阿,可能BA又把CBD修壞導致{0}消失了。"
],
"duelstart": [
"這只是AI,打贏不要太高興阿。",
"十分致謝233服讓我們有遊戲可以玩,別忘記去拜訪他們。",
"反主流學院請洽NOVA。",
"Wryyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy."
],
"newturn": [
"到我的回合了,抽牌!",
"我的回合,抽牌!",
"我抽了一張卡。"
],
"endturn": [
"回合结束。",
"我的回合结束了。",
"這樣算是成功的展開嗎......",
"輪到你了。你的下一句是......我要發動灰流麗對吧!"
],
"directattack": [
"{0},直接攻擊!",
"{0},直接攻擊對手!",
"{0},没有防守的地方,攻擊!",
"{0},攻擊對手的生命值!",
"{0},直接攻擊對手的生命值!",
"{0},通過直接攻擊打倒對手!",
"{0},使用直接攻擊打倒對手!",
"{0},直接攻擊釋放你的力量吧!",
"我的{0}將會粉碎你的生命值!",
"向對手展示你的力量吧,{0}!",
"你已經無法阻止我了。{0},攻擊!"
],
"attack": [
"{0},攻擊這體{1}!",
"{0},消滅這體{1}!",
"{0},打倒{1}!",
"{0},衝向那體{1}!",
"{0},把你的力量释放到{1}上吧!"
],
"ondirectattack": [
"可惡......",
"不過是{0}而已!",
"果然我還是太弱了......"
],
"facedownmonstername": "怪獸",
"activate": [
"我發動{0}。",
"我使用{0}的效果。",
"我使用{0}的力量。"
],
"summon": [
"真是HIGH的最高點!出來吧{0}。",
"出來吧,{0}!",
"出現吧,{0}!",
"我召喚了強大的{0}!",
"我呼喚{0}參加戰鬥!",
"我呼喚出{0}。",
"我召喚{0}。"
],
"setmonster": [
"我放置了一體怪獸。",
"我裡側表示放置了一體怪獸。"
],
"chaining": [
"看這裡!發動{0}!",
"我使用{0}的力量。",
"很不錯的戰術...但是我拒絕!{0}!",
"真不愧是納粹,竟然能識破我的蓋牌......你說你只是單純的決鬥者?{0},發動!",
"看樣子你忘了我的{0}!",
"你考慮過我有{0}嗎?"
]
}
...@@ -70,7 +70,6 @@ ...@@ -70,7 +70,6 @@
"看這裡!發動{0}!", "看這裡!發動{0}!",
"我使用{0}的力量。", "我使用{0}的力量。",
"很不錯的戰術...但是我拒絕!{0}!", "很不錯的戰術...但是我拒絕!{0}!",
"真不愧是納粹,竟然能識破我的蓋牌......你說你只是單純的決鬥者?{0},發動!",
"看樣子你忘了我的{0}!", "看樣子你忘了我的{0}!",
"你考慮過我有{0}嗎?" "你考慮過我有{0}嗎?"
] ]
......
...@@ -72,18 +72,20 @@ namespace WindBot.Game.AI.Decks ...@@ -72,18 +72,20 @@ namespace WindBot.Game.AI.Decks
} }
bool Pillused = false; bool Pillused = false;
bool CrystalWingSynchroDragoneff_used = false;
bool OvertexCoatlseff_used = false;
public LightswornShaddoldinosour(GameAI ai, Duel duel) public LightswornShaddoldinosour(GameAI ai, Duel duel)
: base(ai, duel) : base(ai, duel)
{ {
//counter //counter
AddExecutor(ExecutorType.SpSummon, CardId.CrystalWingSynchroDragon, CrystalWingSynchroDragonesp);
AddExecutor(ExecutorType.Activate, CardId.GhostOgre, Hand_act_eff); AddExecutor(ExecutorType.Activate, CardId.GhostOgre, Hand_act_eff);
AddExecutor(ExecutorType.Activate, CardId.AshBlossom, Hand_act_eff); AddExecutor(ExecutorType.Activate, CardId.AshBlossom, Hand_act_eff);
AddExecutor(ExecutorType.Activate, CardId.MaxxC,MaxxC); AddExecutor(ExecutorType.Activate, CardId.MaxxC,MaxxC);
//first do //first do
AddExecutor(ExecutorType.Activate, CardId.HarpiesFeatherDuster, DefaultHarpiesFeatherDusterFirst); AddExecutor(ExecutorType.Activate, CardId.HarpiesFeatherDuster, DefaultHarpiesFeatherDusterFirst);
AddExecutor(ExecutorType.Activate, CardId.infiniteTransience, infiniteTransience); AddExecutor(ExecutorType.Activate, CardId.infiniteTransience, DefaultBreakthroughSkill);
AddExecutor(ExecutorType.Activate, CardId.ThatGrassLooksgreener); AddExecutor(ExecutorType.Activate, CardId.ThatGrassLooksgreener);
AddExecutor(ExecutorType.Summon, CardId.SouleatingOviraptor); AddExecutor(ExecutorType.Summon, CardId.SouleatingOviraptor);
AddExecutor(ExecutorType.Activate, CardId.SouleatingOviraptor, SouleatingOviraptoreff); AddExecutor(ExecutorType.Activate, CardId.SouleatingOviraptor, SouleatingOviraptoreff);
...@@ -93,7 +95,7 @@ namespace WindBot.Game.AI.Decks ...@@ -93,7 +95,7 @@ namespace WindBot.Game.AI.Decks
AddExecutor(ExecutorType.Activate, CardId.ChargeOfTheLightBrigade, ChargeOfTheLightBrigadeEffect); AddExecutor(ExecutorType.Activate, CardId.ChargeOfTheLightBrigade, ChargeOfTheLightBrigadeEffect);
AddExecutor(ExecutorType.Activate, CardId.FoolishBurial, FoolishBurialEffect); AddExecutor(ExecutorType.Activate, CardId.FoolishBurial, FoolishBurialEffect);
AddExecutor(ExecutorType.Activate, CardId.InterruptedKaijuSlumber, DefaultInterruptedKaijuSlumber); AddExecutor(ExecutorType.Activate, CardId.InterruptedKaijuSlumber, DefaultInterruptedKaijuSlumber);
AddExecutor(ExecutorType.Activate, CardId.ShaddollFusion, ShaddollFusion); AddExecutor(ExecutorType.Activate, CardId.ShaddollFusion, ShaddollFusioneff);
//Reborn //Reborn
AddExecutor(ExecutorType.Activate, CardId.MonsterReborn, RebornEffect); AddExecutor(ExecutorType.Activate, CardId.MonsterReborn, RebornEffect);
//Normal Summon //Normal Summon
...@@ -113,27 +115,29 @@ namespace WindBot.Game.AI.Decks ...@@ -113,27 +115,29 @@ namespace WindBot.Game.AI.Decks
//Sp Summon //Sp Summon
AddExecutor(ExecutorType.SpSummon, CardId.UltimateConductorTytanno, UltimateConductorTytannosp); AddExecutor(ExecutorType.SpSummon, CardId.UltimateConductorTytanno, UltimateConductorTytannosp);
AddExecutor(ExecutorType.Activate, CardId.UltimateConductorTytanno, UltimateConductorTytannoeff); AddExecutor(ExecutorType.Activate, CardId.UltimateConductorTytanno, UltimateConductorTytannoeff);
AddExecutor(ExecutorType.Activate, CardId.DoubleEvolutionPill, DoubleEvolutionPill); AddExecutor(ExecutorType.Activate, CardId.DoubleEvolutionPill, DoubleEvolutionPilleff);
AddExecutor(ExecutorType.SpSummon, CardId.MinervaTheExalte); AddExecutor(ExecutorType.SpSummon, CardId.MinervaTheExalte);
AddExecutor(ExecutorType.Activate, CardId.MinervaTheExalte, MinervaTheExaltedEffect); AddExecutor(ExecutorType.Activate, CardId.MinervaTheExalte, MinervaTheExaltedEffect);
AddExecutor(ExecutorType.SpSummon, CardId.GamecieltheSeaTurtleKaiju, DefaultKaijuSpsummon);
//activate //activate
AddExecutor(ExecutorType.Activate , CardId.GlowUpBulb,GlowUpBulb); AddExecutor(ExecutorType.SpSummon , CardId.GlowUpBulb,GlowUpBulbeff);
//activate chain //activate chain
AddExecutor(ExecutorType.Activate, CardId.OvertexCoatls); AddExecutor(ExecutorType.Activate, CardId.OvertexCoatls, OvertexCoatlseff);
AddExecutor(ExecutorType.Activate, CardId.ShaddollBeast); AddExecutor(ExecutorType.Activate, CardId.ShaddollBeast);
AddExecutor(ExecutorType.Activate, CardId.ShaddollFalco, ShaddollFalcoeff); AddExecutor(ExecutorType.Activate, CardId.ShaddollFalco, ShaddollFalcoeff);
AddExecutor(ExecutorType.Activate, CardId.ShaddollSquamata, ShaddollSquamataeff); AddExecutor(ExecutorType.Activate, CardId.ShaddollSquamata, ShaddollSquamataeff);
AddExecutor(ExecutorType.Activate, CardId.ShaddollDragon, ShaddollDragoneff); AddExecutor(ExecutorType.Activate, CardId.ShaddollDragon, ShaddollDragoneff);
AddExecutor(ExecutorType.Activate, CardId.ShaddollHedgehog); AddExecutor(ExecutorType.Activate, CardId.ShaddollHedgehog, ShaddollHedgehogeff);
AddExecutor(ExecutorType.Activate, CardId.GiantRex); AddExecutor(ExecutorType.Activate, CardId.GiantRex);
AddExecutor(ExecutorType.Activate, CardId.ElShaddollConstruct); AddExecutor(ExecutorType.Activate, CardId.ElShaddollConstruct);
AddExecutor(ExecutorType.Activate, CardId.ElShaddollGrysra); AddExecutor(ExecutorType.Activate, CardId.ElShaddollGrysra);
AddExecutor(ExecutorType.Activate, CardId.ElShaddollShekhinaga); AddExecutor(ExecutorType.Activate, CardId.ElShaddollShekhinaga, ElShaddollShekhinagaeff);
AddExecutor(ExecutorType.Activate, CardId.ElShaddollWinda); AddExecutor(ExecutorType.Activate, CardId.ElShaddollWinda);
AddExecutor(ExecutorType.Activate, CardId.CrystalWingSynchroDragon, CrystalWingSynchroDragoneff);
AddExecutor(ExecutorType.Activate, CardId.TG_WonderMagician); AddExecutor(ExecutorType.Activate, CardId.TG_WonderMagician);
//spellset //spellset
AddExecutor(ExecutorType.SpellSet, CardId.MonsterReborn, spellset); AddExecutor(ExecutorType.SpellSet, CardId.MonsterReborn, spellset);
...@@ -215,12 +219,66 @@ namespace WindBot.Game.AI.Decks ...@@ -215,12 +219,66 @@ namespace WindBot.Game.AI.Decks
}; };
} }
private bool UltimateConductorTytannoeff() public override void OnNewTurn()
{ {
if (Duel.Phase == DuelPhase.Main1 || Duel.Phase == DuelPhase.Main2) Pillused = false;
OvertexCoatlseff_used = false;
CrystalWingSynchroDragoneff_used = false;
}
public bool CrystalWingSynchroDragonesp()
{
if (CrystalWingSynchroDragoneff_used) return false;
if (Bot.HasInMonstersZone(CardId.FairyTailSnow) ||
Bot.HasInMonstersZone(CardId.Lumina) ||
Bot.HasInMonstersZone(CardId.KeeperOfDragonicMagic)||
Bot.HasInMonstersZone(CardId.SouleatingOviraptor)
)
{ {
AI.SelectCard(new[] AI.SelectCard(new[]
{
CardId.KeeperOfDragonicMagic,
CardId.Lumina,
CardId.FairyTailSnow,
CardId.SouleatingOviraptor,
});
return true;
}
return false;
}
public bool CrystalWingSynchroDragoneff()
{
if (Duel.Player == 0)
{
CrystalWingSynchroDragoneff_used = true;
AI.SelectCard(new[] { CardId.GhostOgre, CardId.GlowUpBulb, CardId.PlaguespreaderZombie, CardId.ShaddollFalco });
return true;
}
else if (AI.Utils.IsChainTarget(Card) || AI.Utils.GetProblematicEnemySpell() != null) return true;
else if (Duel.Player == 1 && Duel.Phase == DuelPhase.BattleStart && AI.Utils.IsOneEnemyBetterThanValue(1500, true))
{
if (AI.Utils.IsOneEnemyBetterThanValue(1900, true))
{
AI.SelectPosition(CardPosition.FaceUpDefence);
}
else
{ {
AI.SelectPosition(CardPosition.FaceUpAttack);
}
return true;
}
return false;
}
private bool UltimateConductorTytannoeff()
{
if (Duel.Phase == DuelPhase.Main1 || Duel.Phase == DuelPhase.Main2)
{
IList<int> targets = new[] {
CardId.OvertexCoatls, CardId.OvertexCoatls,
CardId.ShaddollBeast, CardId.ShaddollBeast,
CardId.ShaddollSquamata, CardId.ShaddollSquamata,
...@@ -229,13 +287,35 @@ namespace WindBot.Game.AI.Decks ...@@ -229,13 +287,35 @@ namespace WindBot.Game.AI.Decks
CardId.GlowUpBulb, CardId.GlowUpBulb,
CardId.PlaguespreaderZombie, CardId.PlaguespreaderZombie,
CardId.FairyTailSnow, CardId.FairyTailSnow,
}); CardId.KeeperOfDragonicMagic,
CardId.Raiden,
CardId.Lumina,
CardId.DogorantheMadFlameKaiju,
CardId.GamecieltheSeaTurtleKaiju,
CardId.RadiantheMultidimensionalKaiju,
CardId.GiantRex,
CardId.ShaddollSquamata,
CardId.SouleatingOviraptor,
CardId.Raiden,
CardId.Lumina,
CardId.AshBlossom,
CardId.GhostOgre,
CardId.MaxxC,
};
if (!Bot.HasInHand(targets))
{
if (!Bot.HasInMonstersZone(targets))
{
return false;
}
}
AI.SelectCard(targets);
} }
if (Duel.Phase == DuelPhase.Damage) if (Duel.Phase == DuelPhase.Damage)
return true; AI.SelectYesNo(true);
return true; return true;
} }
private bool UltimateConductorTytannosp() private bool UltimateConductorTytannosp()
{ {
Pillused = true; Pillused = true;
...@@ -247,6 +327,7 @@ namespace WindBot.Game.AI.Decks ...@@ -247,6 +327,7 @@ namespace WindBot.Game.AI.Decks
return true; return true;
} }
private bool KeeperOfDragonicMagic() private bool KeeperOfDragonicMagic()
{ {
if (ActivateDescription == -1) if (ActivateDescription == -1)
...@@ -258,17 +339,22 @@ namespace WindBot.Game.AI.Decks ...@@ -258,17 +339,22 @@ namespace WindBot.Game.AI.Decks
return true; return true;
} }
private bool MonsterRepos() private bool MonsterRepos()
{ {
if (Card.Id == CardId.ElShaddollConstruct && Card.IsAttack()) if (Card.Id == CardId.ElShaddollConstruct && Card.IsAttack())
return false; return false;
return base.DefaultMonsterRepos(); return base.DefaultMonsterRepos();
} }
public override void OnNewTurn()
private bool OvertexCoatlseff()
{ {
Pillused = false; if (OvertexCoatlseff_used == true)
return false;
return true;
} }
private bool DoubleEvolutionPill()
private bool DoubleEvolutionPilleff()
{ {
if (Pillused == true) return false; if (Pillused == true) return false;
Pillused = true; Pillused = true;
...@@ -305,7 +391,37 @@ namespace WindBot.Game.AI.Decks ...@@ -305,7 +391,37 @@ namespace WindBot.Game.AI.Decks
CardId.UltimateConductorTytanno, CardId.UltimateConductorTytanno,
}); });
} }
AI.SelectNextCard(new[] { IList<int> targets2 = new[] {
CardId.GiantRex,
CardId.DogorantheMadFlameKaiju,
CardId.GamecieltheSeaTurtleKaiju,
CardId.RadiantheMultidimensionalKaiju,
CardId.OvertexCoatls,
CardId.SouleatingOviraptor,
CardId.UltimateConductorTytanno,
};
if (Bot.HasInGraveyard(targets))
{
AI.SelectNextCard(new[] {
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
AI.SelectNextCard(new[] {
CardId.ShaddollBeast, CardId.ShaddollBeast,
CardId.ShaddollDragon, CardId.ShaddollDragon,
CardId.KeeperOfDragonicMagic, CardId.KeeperOfDragonicMagic,
...@@ -345,6 +461,7 @@ namespace WindBot.Game.AI.Decks ...@@ -345,6 +461,7 @@ namespace WindBot.Game.AI.Decks
} }
return true; return true;
} }
private bool FairyTailSnow() private bool FairyTailSnow()
{ {
...@@ -354,132 +471,48 @@ namespace WindBot.Game.AI.Decks ...@@ -354,132 +471,48 @@ namespace WindBot.Game.AI.Decks
} }
return false; return false;
} }
private bool SouleatingOviraptoreff() private bool SouleatingOviraptoreff()
{ {
AI.SelectCard(CardId.OvertexCoatls); if (!OvertexCoatlseff_used)
AI.SelectYesNo(false); {
AI.SelectCard(CardId.OvertexCoatls);
AI.SelectYesNo(false);
}
else
{
AI.SelectCard(CardId.UltimateConductorTytanno);
AI.SelectYesNo(true);
}
return true; return true;
} }
private bool GlowUpBulb()
private bool GlowUpBulbeff()
{ {
if(Bot.HasInMonstersZone(CardId.Lumina)||
Bot.HasInMonstersZone(CardId.FairyTailSnow)||
Bot.HasInMonstersZone(CardId.KeeperOfDragonicMagic)||
Bot.HasInMonstersZone(CardId.SouleatingOviraptor)
)
AI.SelectPosition(CardPosition.FaceUpDefence); AI.SelectPosition(CardPosition.FaceUpDefence);
return true; return true;
} }
private bool ShaddollFusion()
private bool ShaddollFusioneff()
{ {
if (Enemy.GetMonstersExtraZoneCount() != 0) if (Enemy.GetMonstersExtraZoneCount() != 0)
{ {
IList<ClientCard> materials0 = Bot.Deck;
IList<ClientCard> materials1 = Bot.Deck;
IList<ClientCard> mats = new List<ClientCard>();
AI.SelectCard(CardId.ElShaddollConstruct);
ClientCard mat = null;
foreach (ClientCard card in materials0)
{
if (card.HasAttribute(CardAttribute.Light))
{
mat = card;
break;
}
}
foreach (ClientCard card in materials1)
{
AI.SelectCard(new[]
{
CardId.ShaddollBeast,
CardId.ShaddollSquamata,
CardId.ShaddollHedgehog,
CardId.ShaddollDragon,
CardId.ShaddollFalco,
});
}
if (mat != null)
{
mats.Add(mat);
AI.SelectMaterials(mats);
AI.SelectPosition(CardPosition.FaceUpAttack);
return true;
}
AI.SelectCard(CardId.ElShaddollShekhinaga); AI.SelectCard(new[]
foreach (ClientCard card in materials0)
{
if (card.HasAttribute(CardAttribute.Earth))
{
mat = card;
break;
}
}
foreach (ClientCard card in materials1)
{
AI.SelectCard(new[]
{
CardId.ShaddollBeast,
CardId.ShaddollSquamata,
CardId.ShaddollHedgehog,
CardId.ShaddollDragon,
CardId.ShaddollFalco,
});
}
if (mat != null)
{
mats.Add(mat);
AI.SelectMaterials(mats);
AI.SelectPosition(CardPosition.FaceUpAttack);
return true;
}
AI.SelectCard(CardId.ElShaddollGrysra);
foreach (ClientCard card in materials0)
{
if (card.HasAttribute(CardAttribute.Fire))
{
mat = card;
break;
}
}
foreach (ClientCard card in materials1)
{ {
AI.SelectCard(new[] CardId.ElShaddollConstruct,
{ CardId.ElShaddollShekhinaga,
CardId.ShaddollBeast, CardId.ElShaddollGrysra,
CardId.ShaddollSquamata, CardId.ElShaddollWinda
CardId.ShaddollHedgehog,
CardId.ShaddollDragon,
CardId.ShaddollFalco,
}); });
} AI.SelectNextCard(new[]
if (mat != null)
{
mats.Add(mat);
AI.SelectMaterials(mats);
AI.SelectPosition(CardPosition.FaceUpAttack);
return true;
}
AI.SelectCard(CardId.ElShaddollWinda);
foreach (ClientCard card in materials0)
{
if (card.HasAttribute(CardAttribute.Dark))
{
mat = card;
break;
}
}
foreach (ClientCard card in materials1)
{
AI.SelectCard(new[]
{ {
CardId.ShaddollBeast, CardId.ShaddollBeast,
CardId.ShaddollSquamata, CardId.ShaddollSquamata,
...@@ -488,16 +521,8 @@ namespace WindBot.Game.AI.Decks ...@@ -488,16 +521,8 @@ namespace WindBot.Game.AI.Decks
CardId.ShaddollFalco, CardId.ShaddollFalco,
}); });
} AI.SelectPosition(CardPosition.FaceUpAttack);
if (mat != null) return true;
{
mats.Add(mat);
AI.SelectMaterials(mats);
AI.SelectPosition(CardPosition.FaceUpAttack);
return true;
}
} }
else else
{ {
...@@ -510,27 +535,6 @@ namespace WindBot.Game.AI.Decks ...@@ -510,27 +535,6 @@ namespace WindBot.Game.AI.Decks
} }
/* private ClientCard GetAleisterInGrave()
{
foreach (ClientCard card in Enemy.Graveyard)
{
if (card.Id == CardId.AleisterTheInvoker)
{
return card;
}
}
foreach (ClientCard card in Bot.Graveyard)
{
if (card.Id == CardId.AleisterTheInvoker)
{
return card;
}
}
return null;
}*/
private bool ShaddollCore() private bool ShaddollCore()
{ {
return Bot.HasInGraveyard(CardId.ShaddollFusion); return Bot.HasInGraveyard(CardId.ShaddollFusion);
...@@ -577,12 +581,10 @@ namespace WindBot.Game.AI.Decks ...@@ -577,12 +581,10 @@ namespace WindBot.Game.AI.Decks
} }
private bool PotofAvarice() private bool PotofAvarice()
{ {
return true; return true;
} }
private bool infiniteTransience()
{
return Duel.LastChainPlayer == 1;
}
private bool MaxxC() private bool MaxxC()
{ {
return Duel.Player == 1; return Duel.Player == 1;
...@@ -610,17 +612,35 @@ namespace WindBot.Game.AI.Decks ...@@ -610,17 +612,35 @@ namespace WindBot.Game.AI.Decks
} }
private bool SinisterShadowGames() private bool SinisterShadowGames()
{ {
if (Card.Location != CardLocation.MonsterZone)
return true; AI.SelectCard(new[]
else
{
AI.SelectCard(new[]
{ {
CardId.ShaddollBeast, CardId.ShaddollBeast,
} });
return true;
}
private bool ElShaddollShekhinagaeff()
{
if (Card.Location != CardLocation.MonsterZone)
return true;
else
{
if(Duel.LastChainPlayer==1)
{
AI.SelectCard(new[]
{
CardId.ElShaddollConstruct,
CardId.ElShaddollShekhinaga,
CardId.ElShaddollGrysra,
CardId.ElShaddollWinda,
CardId.ShaddollSquamata,
}
); );
}
} }
return true; return true;
} }
...@@ -644,6 +664,21 @@ namespace WindBot.Game.AI.Decks ...@@ -644,6 +664,21 @@ namespace WindBot.Game.AI.Decks
} }
return true; return true;
} }
private bool ShaddollHedgehogeff()
{
if (Card.Location != CardLocation.MonsterZone)
{
AI.SelectCard(new[]
{
CardId.ShaddollSquamata,
});
}
else
{
AI.SelectCard(new[] { CardId.ShaddollFusion, CardId.SinisterShadowGames });
}
return true;
}
private bool ShaddollDragoneff() private bool ShaddollDragoneff()
{ {
if (Card.Location == CardLocation.MonsterZone) if (Card.Location == CardLocation.MonsterZone)
...@@ -664,12 +699,10 @@ namespace WindBot.Game.AI.Decks ...@@ -664,12 +699,10 @@ namespace WindBot.Game.AI.Decks
if (Card.Location != CardLocation.MonsterZone) if (Card.Location != CardLocation.MonsterZone)
{ {
AI.SelectCard(new[] AI.SelectCard(new[]
{ {
CardId.ShaddollBeast, CardId.ShaddollBeast,
});
});
} }
else else
{ {
ClientCard target = AI.Utils.GetBestEnemyMonster(); ClientCard target = AI.Utils.GetBestEnemyMonster();
...@@ -677,28 +710,38 @@ namespace WindBot.Game.AI.Decks ...@@ -677,28 +710,38 @@ namespace WindBot.Game.AI.Decks
} }
return true; return true;
} }
private bool FoolishBurialEffect() private bool FoolishBurialEffect()
{ {
if (Bot.GetRemainingCount(CardId.DoubleEvolutionPill, 3) > 0)
{
if (!OvertexCoatlseff_used)
{
AI.SelectCard(new[]
{
CardId.OvertexCoatls,
});
}
else return false;
}
else
{
AI.SelectCard(new[] AI.SelectCard(new[]
{ {
CardId.OvertexCoatls, CardId.OvertexCoatls,
CardId.ShaddollSquamata, CardId.ShaddollSquamata,
CardId.ShaddollBeast, CardId.FairyTailSnow,
CardId.ShaddollCore, });
CardId.ShaddollHedgehog,
CardId.ShaddollFalco, }
CardId.ShaddollDragon,
CardId.FairyTailSnow,
});
return true; return true;
} }
private bool GoblindberghSummon() private bool GoblindberghSummon()
{ {
foreach (ClientCard card in Bot.Hand.GetMonsters()) foreach (ClientCard card in Bot.Hand.GetMonsters())
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
MetaionTheTimelord = 74530899, MetaionTheTimelord = 74530899,
KamionTheTimelord = 91712985, KamionTheTimelord = 91712985,
LazionTheTimelord = 92435533, LazionTheTimelord = 92435533,
EaterOfMillions = 63845230 EaterOfMillions = 63845230,
} ElShaddollConstruct = 20366274,
}
} }
...@@ -70,6 +70,19 @@ namespace WindBot.Game ...@@ -70,6 +70,19 @@ namespace WindBot.Game
} }
return count; return count;
} }
public int GetFieldCount()
{
return GetSpellCount() + GetMonsterCount();
}
public int GetFieldHandCount()
{
return GetSpellCount() + GetMonsterCount() + GetHandCount();
}
public bool IsFieldEmpty() public bool IsFieldEmpty()
{ {
......
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