Commit 20c49001 authored by nanahira's avatar nanahira

Merge branch 'master' of github.com:moecube/windbot

parents aada1db8 a085496a
#created by ...
#main
87979586
87979586
82012319
82012319
65367484
65367484
44928016
77558536
77558536
19139516
67696066
53573406
53573406
25259669
25259669
12213463
12213463
26118970
4334811
4334811
4334811
72291078
72291078
9742784
9742784
911883
911883
911883
12580477
18144506
32807846
81439173
83764718
94886282
94886282
24224830
24224830
24224830
40605147
40605147
#extra
89907227
27548199
50954680
80666118
74586817
76774528
33698022
68431965
42566602
53325667
90590303
21887175
47363932
47363932
50588353
!side
72989439
6901008
6901008
90432163
90432163
36426778
36426778
34408491
83994433
82044279
50321796
26692769
98827725
25542642
25542642
...@@ -6,7 +6,7 @@ using WindBot.Game.AI; ...@@ -6,7 +6,7 @@ using WindBot.Game.AI;
namespace WindBot.Game.AI.Decks namespace WindBot.Game.AI.Decks
{ {
[Deck("BlueEyesMaxDragon", "AI_BlueEyesMaxDragon", "Normal")] [Deck("BlueEyesMaxDragon", "AI_BlueEyesMaxDragon")]
public class BlueEyesMaxDragonExecutor : DefaultExecutor public class BlueEyesMaxDragonExecutor : DefaultExecutor
{ {
public class CardId public class CardId
......
...@@ -6,7 +6,7 @@ using WindBot.Game.AI; ...@@ -6,7 +6,7 @@ using WindBot.Game.AI;
namespace WindBot.Game.AI.Decks namespace WindBot.Game.AI.Decks
{ {
[Deck("ChainBurn", "AI_ChainBurn", "Normal")] [Deck("ChainBurn", "AI_ChainBurn")]
public class ChainBurnExecutor : DefaultExecutor public class ChainBurnExecutor : DefaultExecutor
{ {
public class CardId public class CardId
......
...@@ -6,8 +6,7 @@ using WindBot.Game.AI; ...@@ -6,8 +6,7 @@ using WindBot.Game.AI;
namespace WindBot.Game.AI.Decks namespace WindBot.Game.AI.Decks
{ {
// NOT FINISHED YET [Deck("DarkMagician", "AI_DarkMagician")]
[Deck("DarkMagician", "AI_DarkMagician", "NotFinished")]
public class DarkMagicianExecutor : DefaultExecutor public class DarkMagicianExecutor : DefaultExecutor
{ {
public class CardId public class CardId
......
...@@ -6,7 +6,7 @@ using WindBot.Game.AI; ...@@ -6,7 +6,7 @@ using WindBot.Game.AI;
namespace WindBot.Game.AI.Decks namespace WindBot.Game.AI.Decks
{ {
[Deck("GrenMajuThunderBoarder", "AI_GrenMajuThunderBoarder", "Normal")] [Deck("GrenMajuThunderBoarder", "AI_GrenMajuThunderBoarder")]
public class GrenMajuThunderBoarderExecutor : DefaultExecutor public class GrenMajuThunderBoarderExecutor : DefaultExecutor
{ {
public class CardId public class CardId
......
This diff is collapsed.
...@@ -6,8 +6,7 @@ using WindBot.Game.AI; ...@@ -6,8 +6,7 @@ using WindBot.Game.AI;
namespace WindBot.Game.AI.Decks namespace WindBot.Game.AI.Decks
{ {
// NOT FINISHED YET [Deck("LightswornShaddoldinosour", "AI_LightswornShaddoldinosour")]
[Deck("LightswornShaddoldinosour", "AI_LightswornShaddoldinosour", "ver0.5")]
public class LightswornShaddoldinosour : DefaultExecutor public class LightswornShaddoldinosour : DefaultExecutor
{ {
public class CardId public class CardId
......
...@@ -819,7 +819,9 @@ namespace WindBot.Game.AI.Decks ...@@ -819,7 +819,9 @@ namespace WindBot.Game.AI.Decks
{ {
if (ActivateDescription == 96) if (ActivateDescription == 96)
{ {
// TODO: FogBlade lost target // TODO: more FogBlade lost target
if ((Duel.Phase == DuelPhase.Main1 || Duel.Phase == DuelPhase.Main2) && Duel.CurrentChain.Count == 0)
return false;
AI.SelectCard(CardId.OrcustCymbalSkeleton); AI.SelectCard(CardId.OrcustCymbalSkeleton);
return true; return true;
} }
...@@ -1123,7 +1125,23 @@ namespace WindBot.Game.AI.Decks ...@@ -1123,7 +1125,23 @@ namespace WindBot.Game.AI.Decks
{ {
return Duel.LastChainPlayer == 1; return Duel.LastChainPlayer == 1;
} }
// TODO else if (Duel.Phase == DuelPhase.End)
{
ClientCard target = null;
target = Bot.Banished.GetFirstMatchingFaceupCard(card=>card.IsCode(CardId.OrcustCymbalSkeleton));
if (target == null)
target = Bot.Banished.GetFirstMatchingFaceupCard(card => card.IsCode(CardId.OrcustHarpHorror));
if (target != null)
{
AI.SelectCard(target);
return true;
}
if(!Bot.HasInHand(CardId.OrcustHarpHorror) && Bot.GetRemainingCount(CardId.OrcustHarpHorror, 2) > 1)
{
AI.SelectCard(CardId.OrcustHarpHorror);
return true;
}
}
return false; return false;
} }
......
...@@ -6,7 +6,7 @@ using WindBot.Game.AI; ...@@ -6,7 +6,7 @@ using WindBot.Game.AI;
namespace WindBot.Game.AI.Decks namespace WindBot.Game.AI.Decks
{ {
[Deck("Phantasm", "AI_Phantasm", "Normal")] [Deck("Phantasm", "AI_Phantasm")]
public class PhantasmExecutor : DefaultExecutor public class PhantasmExecutor : DefaultExecutor
{ {
public class CardId public class CardId
......
...@@ -6,7 +6,7 @@ using WindBot.Game.AI; ...@@ -6,7 +6,7 @@ using WindBot.Game.AI;
namespace WindBot.Game.AI.Decks namespace WindBot.Game.AI.Decks
{ {
[Deck("ST1732", "AI_ST1732", "Normal")] [Deck("ST1732", "AI_ST1732")]
public class ST1732Executor : DefaultExecutor public class ST1732Executor : DefaultExecutor
{ {
public class CardId public class CardId
......
...@@ -6,7 +6,7 @@ using WindBot.Game.AI; ...@@ -6,7 +6,7 @@ using WindBot.Game.AI;
namespace WindBot.Game.AI.Decks namespace WindBot.Game.AI.Decks
{ {
[Deck("SkyStriker", "AI_SkyStriker", "NotFinished")] [Deck("SkyStriker", "AI_SkyStriker")]
public class SkyStrikerExecutor : DefaultExecutor public class SkyStrikerExecutor : DefaultExecutor
{ {
public class CardId public class CardId
...@@ -213,6 +213,7 @@ namespace WindBot.Game.AI.Decks ...@@ -213,6 +213,7 @@ namespace WindBot.Game.AI.Decks
{ {
foreach (ClientCard target in Enemy.GetSpells()) foreach (ClientCard target in Enemy.GetSpells())
{ {
if (target.IsFacedown() || target.HasType(CardType.Continuous) || target.HasType(CardType.Pendulum))
targets.Add(target); targets.Add(target);
if (targets.Count >= 2) if (targets.Count >= 2)
break; break;
......
...@@ -1065,7 +1065,7 @@ namespace WindBot.Game.AI ...@@ -1065,7 +1065,7 @@ namespace WindBot.Game.AI
{ {
int selfCount = Bot.GetMonsters().Count(monster => !monster.Equals(Card) && monster.IsSpecialSummoned && monster.HasType(CardType.Effect) && monster.Attack <= Card.Attack); int selfCount = Bot.GetMonsters().Count(monster => !monster.Equals(Card) && monster.IsSpecialSummoned && monster.HasType(CardType.Effect) && monster.Attack <= Card.Attack);
int oppoCount = Enemy.GetMonsters().Count(monster => monster.IsSpecialSummoned && monster.HasType(CardType.Effect) && monster.Attack <= Card.Attack); int oppoCount = Enemy.GetMonsters().Count(monster => monster.IsSpecialSummoned && monster.HasType(CardType.Effect) && monster.Attack <= Card.Attack);
return selfCount <= oppoCount || oppoCount >= 3; return selfCount <= oppoCount && oppoCount > 0 || oppoCount >= 3;
} }
/// <summary> /// <summary>
......
...@@ -68,20 +68,36 @@ WindBot can run as a "server", provide a http interface to create bot. ...@@ -68,20 +68,36 @@ WindBot can run as a "server", provide a http interface to create bot.
**Normal**: **Normal**:
* Altergeist
* Blue-Eyes * Blue-Eyes
* BlueEyesMaxDragon
* ChainBurn * ChainBurn
* DarkMagician * DarkMagician
* Dragunity * Dragunity
* GrenMajuThunderBoarder
* Level VIII
* LightswornShaddoldinosour
* Orcust
* Phantasm
* Qliphort * Qliphort
* Rainbow * Rainbow
* Rank V * Rank V
* Salamangreat
* SkyStriker * SkyStriker
* ST1732 * ST1732
...@@ -110,8 +126,6 @@ WindBot can run as a "server", provide a http interface to create bot. ...@@ -110,8 +126,6 @@ WindBot can run as a "server", provide a http interface to create bot.
* Lightsworn * Lightsworn
* LightswornShaddoldinosour
* Nekroz * Nekroz
### Server mode ### Server mode
......
...@@ -68,6 +68,7 @@ ...@@ -68,6 +68,7 @@
<Compile Include="Game\AI\DecksManager.cs" /> <Compile Include="Game\AI\DecksManager.cs" />
<Compile Include="Game\AI\Decks\AltergeistExecutor.cs" /> <Compile Include="Game\AI\Decks\AltergeistExecutor.cs" />
<Compile Include="Game\AI\Decks\BlackwingExecutor.cs" /> <Compile Include="Game\AI\Decks\BlackwingExecutor.cs" />
<Compile Include="Game\AI\Decks\Level8Executor.cs" />
<Compile Include="Game\AI\Decks\SalamangreatExecutor.cs" /> <Compile Include="Game\AI\Decks\SalamangreatExecutor.cs" />
<Compile Include="Game\AI\Decks\CyberDragonExecutor.cs" /> <Compile Include="Game\AI\Decks\CyberDragonExecutor.cs" />
<Compile Include="Game\AI\Decks\DarkMagicianExecutor.cs" /> <Compile Include="Game\AI\Decks\DarkMagicianExecutor.cs" />
......
...@@ -22,7 +22,7 @@ namespace WindBot ...@@ -22,7 +22,7 @@ namespace WindBot
Host = "127.0.0.1"; Host = "127.0.0.1";
Port = 7911; Port = 7911;
HostInfo = ""; HostInfo = "";
Version = 0x1349; Version = 0x134a;
Hand = 0; Hand = 0;
Debug = false; Debug = false;
Chat = true; Chat = true;
......
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