Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
W
windbot
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
alstroemeria-silentlove
windbot
Commits
0f71dc96
Commit
0f71dc96
authored
May 29, 2018
by
mercury233
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
small update to SkyStriker deck
parent
ae35f2ac
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
58 additions
and
56 deletions
+58
-56
Game/AI/Decks/SkyStrikerExecutor.cs
Game/AI/Decks/SkyStrikerExecutor.cs
+58
-56
No files found.
Game/AI/Decks/SkyStrikerExecutor.cs
View file @
0f71dc96
...
@@ -11,18 +11,18 @@ namespace WindBot.Game.AI.Decks
...
@@ -11,18 +11,18 @@ namespace WindBot.Game.AI.Decks
{
{
public
class
CardId
public
class
CardId
{
{
public
const
int
R
ei
=
26077387
;
public
const
int
R
aye
=
26077387
;
public
const
int
Kagari
=
63288573
;
public
const
int
Kagari
=
63288573
;
public
const
int
Shizuku
=
90673288
;
public
const
int
Shizuku
=
90673288
;
public
const
int
Hayate
=
8491308
;
public
const
int
Hayate
=
8491308
;
public
const
int
Token
=
52340445
;
public
const
int
Token
=
52340445
;
public
const
int
Engage
=
63166095
;
public
const
int
Engage
=
63166095
;
public
const
int
Hornet
Bit
=
52340444
;
public
const
int
Hornet
Drones
=
52340444
;
public
const
int
WidowAnchor
=
98338152
;
public
const
int
WidowAnchor
=
98338152
;
public
const
int
Afterburner
=
99550630
;
public
const
int
Afterburner
s
=
99550630
;
public
const
int
JammingWave
=
25955749
;
public
const
int
JammingWave
=
25955749
;
public
const
int
Multi
Roll
=
24010609
;
public
const
int
Multi
role
=
24010609
;
public
const
int
HerculesBase
=
97616504
;
public
const
int
HerculesBase
=
97616504
;
public
const
int
AreaZero
=
50005218
;
public
const
int
AreaZero
=
50005218
;
...
@@ -73,22 +73,22 @@ namespace WindBot.Game.AI.Decks
...
@@ -73,22 +73,22 @@ namespace WindBot.Game.AI.Decks
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
TwinTwisters
,
TwinTwistersEffect
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
TwinTwisters
,
TwinTwistersEffect
);
//
//
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
Multi
Roll
,
MultiRoll
HandEffect
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
Multi
role
,
Multirole
HandEffect
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
WidowAnchor
,
WidowAnchorEffectFirst
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
WidowAnchor
,
WidowAnchorEffectFirst
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
Afterburner
,
Afterburner
Effect
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
Afterburner
s
,
Afterburners
Effect
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
JammingWave
,
JammingWaveEffect
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
JammingWave
,
JammingWaveEffect
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
Engage
,
EngageEffectFirst
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
Engage
,
EngageEffectFirst
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
Hornet
Bit
,
HornetBit
Effect
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
Hornet
Drones
,
HornetDrones
Effect
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
WidowAnchor
,
WidowAnchorEffect
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
WidowAnchor
,
WidowAnchorEffect
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
HerculesBase
,
HerculesBaseEffect
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
HerculesBase
,
HerculesBaseEffect
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
AreaZero
,
AreaZeroEffect
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
AreaZero
,
AreaZeroEffect
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
Multi
Roll
,
MultiRoll
Effect
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
Multi
role
,
Multirole
Effect
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
Engage
,
EngageEffect
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
Engage
,
EngageEffect
);
...
@@ -98,7 +98,7 @@ namespace WindBot.Game.AI.Decks
...
@@ -98,7 +98,7 @@ namespace WindBot.Game.AI.Decks
AddExecutor
(
ExecutorType
.
Summon
,
CardId
.
GhostRabbit
,
TunerSummon
);
AddExecutor
(
ExecutorType
.
Summon
,
CardId
.
GhostRabbit
,
TunerSummon
);
AddExecutor
(
ExecutorType
.
Summon
,
CardId
.
AshBlossom
,
TunerSummon
);
AddExecutor
(
ExecutorType
.
Summon
,
CardId
.
AshBlossom
,
TunerSummon
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
R
ei
,
Rei
Effect
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
R
aye
,
Raye
Effect
);
AddExecutor
(
ExecutorType
.
SpSummon
,
CardId
.
Kagari
,
KagariSummon
);
AddExecutor
(
ExecutorType
.
SpSummon
,
CardId
.
Kagari
,
KagariSummon
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
Kagari
,
KagariEffect
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
Kagari
,
KagariEffect
);
...
@@ -116,7 +116,7 @@ namespace WindBot.Game.AI.Decks
...
@@ -116,7 +116,7 @@ namespace WindBot.Game.AI.Decks
AddExecutor
(
ExecutorType
.
SpSummon
,
CardId
.
TopologicBomberDragon
,
AI
.
Utils
.
IsTurn1OrMain2
);
AddExecutor
(
ExecutorType
.
SpSummon
,
CardId
.
TopologicBomberDragon
,
AI
.
Utils
.
IsTurn1OrMain2
);
AddExecutor
(
ExecutorType
.
Summon
,
CardId
.
R
ei
,
Rei
Summon
);
AddExecutor
(
ExecutorType
.
Summon
,
CardId
.
R
aye
,
Raye
Summon
);
//
//
AddExecutor
(
ExecutorType
.
SpellSet
,
CardId
.
SolemnJudgment
);
AddExecutor
(
ExecutorType
.
SpellSet
,
CardId
.
SolemnJudgment
);
...
@@ -125,11 +125,11 @@ namespace WindBot.Game.AI.Decks
...
@@ -125,11 +125,11 @@ namespace WindBot.Game.AI.Decks
AddExecutor
(
ExecutorType
.
SpellSet
,
CardId
.
HerculesBase
);
AddExecutor
(
ExecutorType
.
SpellSet
,
CardId
.
HerculesBase
);
AddExecutor
(
ExecutorType
.
SpellSet
,
CardId
.
TwinTwisters
,
HandFull
);
AddExecutor
(
ExecutorType
.
SpellSet
,
CardId
.
TwinTwisters
,
HandFull
);
AddExecutor
(
ExecutorType
.
SpellSet
,
CardId
.
Hornet
Bit
,
HandFull
);
AddExecutor
(
ExecutorType
.
SpellSet
,
CardId
.
Hornet
Drones
,
HandFull
);
//
//
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
MetalfoesFusion
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
MetalfoesFusion
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
Multi
Roll
,
MultiRoll
EPEffect
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
Multi
role
,
Multirole
EPEffect
);
AddExecutor
(
ExecutorType
.
Repos
,
DefaultMonsterRepos
);
AddExecutor
(
ExecutorType
.
Repos
,
DefaultMonsterRepos
);
}
}
...
@@ -177,7 +177,7 @@ namespace WindBot.Game.AI.Decks
...
@@ -177,7 +177,7 @@ namespace WindBot.Game.AI.Decks
else
else
return
false
;
return
false
;
}
}
if
(
desc
==
AI
.
Utils
.
GetStringId
(
CardId
.
Afterburner
,
0
))
// destroy spell & trap?
if
(
desc
==
AI
.
Utils
.
GetStringId
(
CardId
.
Afterburner
s
,
0
))
// destroy spell & trap?
{
{
ClientCard
target
=
AI
.
Utils
.
GetBestEnemySpell
();
ClientCard
target
=
AI
.
Utils
.
GetBestEnemySpell
();
if
(
target
!=
null
)
if
(
target
!=
null
)
...
@@ -233,24 +233,24 @@ namespace WindBot.Game.AI.Decks
...
@@ -233,24 +233,24 @@ namespace WindBot.Game.AI.Decks
CardId
.
MetalfoesFusion
,
CardId
.
MetalfoesFusion
,
CardId
.
WidowAnchor
,
CardId
.
WidowAnchor
,
CardId
.
Engage
,
CardId
.
Engage
,
CardId
.
Hornet
Bit
CardId
.
Hornet
Drones
});
});
return
true
;
return
true
;
}
}
private
bool
Multi
Roll
HandEffect
()
private
bool
Multi
role
HandEffect
()
{
{
return
Card
.
Location
==
CardLocation
.
Hand
;
return
Card
.
Location
==
CardLocation
.
Hand
;
}
}
private
bool
Multi
Roll
EPEffect
()
private
bool
Multi
role
EPEffect
()
{
{
if
(
Duel
.
Phase
!=
DuelPhase
.
End
)
if
(
Duel
.
Phase
!=
DuelPhase
.
End
)
return
false
;
return
false
;
IList
<
int
>
targets
=
new
[]
{
IList
<
int
>
targets
=
new
[]
{
CardId
.
Engage
,
CardId
.
Engage
,
CardId
.
Hornet
Bit
,
CardId
.
Hornet
Drones
,
CardId
.
WidowAnchor
CardId
.
WidowAnchor
};
};
AI
.
SelectCard
(
targets
);
AI
.
SelectCard
(
targets
);
...
@@ -259,7 +259,7 @@ namespace WindBot.Game.AI.Decks
...
@@ -259,7 +259,7 @@ namespace WindBot.Game.AI.Decks
return
true
;
return
true
;
}
}
private
bool
AfterburnerEffect
()
private
bool
Afterburner
s
Effect
()
{
{
ClientCard
target
=
AI
.
Utils
.
GetBestEnemyMonster
(
true
);
ClientCard
target
=
AI
.
Utils
.
GetBestEnemyMonster
(
true
);
if
(
target
!=
null
)
if
(
target
!=
null
)
...
@@ -291,6 +291,8 @@ namespace WindBot.Game.AI.Decks
...
@@ -291,6 +291,8 @@ namespace WindBot.Game.AI.Decks
private
bool
WidowAnchorEffectFirst
()
private
bool
WidowAnchorEffectFirst
()
{
{
if
(
AI
.
Utils
.
ChainContainsCard
(
CardId
.
WidowAnchor
))
return
false
;
ClientCard
target
=
AI
.
Utils
.
GetProblematicEnemyMonster
();
ClientCard
target
=
AI
.
Utils
.
GetProblematicEnemyMonster
();
if
(
target
!=
null
)
if
(
target
!=
null
)
{
{
...
@@ -311,11 +313,11 @@ namespace WindBot.Game.AI.Decks
...
@@ -311,11 +313,11 @@ namespace WindBot.Game.AI.Decks
AI
.
SelectCard
(
target
);
AI
.
SelectCard
(
target
);
else
else
AI
.
SelectCard
(
new
[]
{
AI
.
SelectCard
(
new
[]
{
CardId
.
Multi
Roll
,
CardId
.
Multi
role
,
CardId
.
AreaZero
,
CardId
.
AreaZero
,
CardId
.
Afterburner
,
CardId
.
Afterburner
s
,
CardId
.
JammingWave
,
CardId
.
JammingWave
,
CardId
.
R
ei
CardId
.
R
aye
});
});
return
true
;
return
true
;
...
@@ -329,17 +331,17 @@ namespace WindBot.Game.AI.Decks
...
@@ -329,17 +331,17 @@ namespace WindBot.Game.AI.Decks
AI
.
SelectCard
(
target
);
AI
.
SelectCard
(
target
);
else
else
AI
.
SelectCard
(
new
[]
{
AI
.
SelectCard
(
new
[]
{
CardId
.
Multi
Roll
,
CardId
.
Multi
role
,
CardId
.
AreaZero
,
CardId
.
AreaZero
,
CardId
.
Afterburner
,
CardId
.
Afterburner
s
,
CardId
.
JammingWave
,
CardId
.
JammingWave
,
CardId
.
R
ei
CardId
.
R
aye
});
});
return
true
;
return
true
;
}
}
private
bool
Hornet
Bit
Effect
()
private
bool
Hornet
Drones
Effect
()
{
{
if
(
Duel
.
Player
==
1
)
if
(
Duel
.
Player
==
1
)
{
{
...
@@ -449,7 +451,7 @@ namespace WindBot.Game.AI.Decks
...
@@ -449,7 +451,7 @@ namespace WindBot.Game.AI.Decks
}
}
foreach
(
ClientCard
target
in
Bot
.
GetMonsters
())
foreach
(
ClientCard
target
in
Bot
.
GetMonsters
())
{
{
if
(
target
.
Id
==
CardId
.
R
ei
&&
Bot
.
GetMonstersExtraZoneCount
()
==
0
)
if
(
target
.
Id
==
CardId
.
R
aye
&&
Bot
.
GetMonstersExtraZoneCount
()
==
0
)
{
{
AI
.
SelectCard
(
target
);
AI
.
SelectCard
(
target
);
return
true
;
return
true
;
...
@@ -457,7 +459,7 @@ namespace WindBot.Game.AI.Decks
...
@@ -457,7 +459,7 @@ namespace WindBot.Game.AI.Decks
}
}
foreach
(
ClientCard
target
in
Bot
.
GetSpells
())
foreach
(
ClientCard
target
in
Bot
.
GetSpells
())
{
{
if
(
target
.
Id
!=
CardId
.
AreaZero
&&
target
.
Id
!=
CardId
.
Multi
Roll
&&
target
.
Id
!=
CardId
.
WidowAnchor
&&
target
.
IsSpell
())
if
(
target
.
Id
!=
CardId
.
AreaZero
&&
target
.
Id
!=
CardId
.
Multi
role
&&
target
.
Id
!=
CardId
.
WidowAnchor
&&
target
.
IsSpell
())
{
{
AI
.
SelectCard
(
target
);
AI
.
SelectCard
(
target
);
return
true
;
return
true
;
...
@@ -466,7 +468,7 @@ namespace WindBot.Game.AI.Decks
...
@@ -466,7 +468,7 @@ namespace WindBot.Game.AI.Decks
return
false
;
return
false
;
}
}
private
bool
Multi
Roll
Effect
()
private
bool
Multi
role
Effect
()
{
{
if
(
Card
.
Location
==
CardLocation
.
SpellZone
)
if
(
Card
.
Location
==
CardLocation
.
SpellZone
)
{
{
...
@@ -480,7 +482,7 @@ namespace WindBot.Game.AI.Decks
...
@@ -480,7 +482,7 @@ namespace WindBot.Game.AI.Decks
}
}
foreach
(
ClientCard
target
in
Bot
.
GetMonsters
())
foreach
(
ClientCard
target
in
Bot
.
GetMonsters
())
{
{
if
(
target
.
Id
==
CardId
.
R
ei
&&
Bot
.
GetMonstersExtraZoneCount
()
==
0
)
if
(
target
.
Id
==
CardId
.
R
aye
&&
Bot
.
GetMonstersExtraZoneCount
()
==
0
)
{
{
AI
.
SelectCard
(
target
);
AI
.
SelectCard
(
target
);
return
true
;
return
true
;
...
@@ -496,7 +498,7 @@ namespace WindBot.Game.AI.Decks
...
@@ -496,7 +498,7 @@ namespace WindBot.Game.AI.Decks
}
}
foreach
(
ClientCard
target
in
Bot
.
GetSpells
())
foreach
(
ClientCard
target
in
Bot
.
GetSpells
())
{
{
if
(
target
.
Id
!=
CardId
.
Multi
Roll
&&
target
.
Id
!=
CardId
.
WidowAnchor
&&
target
.
IsSpell
())
if
(
target
.
Id
!=
CardId
.
Multi
role
&&
target
.
Id
!=
CardId
.
WidowAnchor
&&
target
.
IsSpell
())
{
{
AI
.
SelectCard
(
target
);
AI
.
SelectCard
(
target
);
return
true
;
return
true
;
...
@@ -506,7 +508,7 @@ namespace WindBot.Game.AI.Decks
...
@@ -506,7 +508,7 @@ namespace WindBot.Game.AI.Decks
return
false
;
return
false
;
}
}
private
bool
R
ei
Summon
()
private
bool
R
aye
Summon
()
{
{
if
(
Bot
.
GetMonstersExtraZoneCount
()
==
0
)
if
(
Bot
.
GetMonstersExtraZoneCount
()
==
0
)
{
{
...
@@ -515,7 +517,7 @@ namespace WindBot.Game.AI.Decks
...
@@ -515,7 +517,7 @@ namespace WindBot.Game.AI.Decks
return
false
;
return
false
;
}
}
private
bool
R
ei
Effect
()
private
bool
R
aye
Effect
()
{
{
if
(
Card
.
Location
==
CardLocation
.
Grave
)
if
(
Card
.
Location
==
CardLocation
.
Grave
)
{
{
...
@@ -527,32 +529,32 @@ namespace WindBot.Game.AI.Decks
...
@@ -527,32 +529,32 @@ namespace WindBot.Game.AI.Decks
}
}
if
(
AI
.
Utils
.
IsChainTarget
(
Card
))
if
(
AI
.
Utils
.
IsChainTarget
(
Card
))
{
{
R
ei
SelectTarget
();
R
aye
SelectTarget
();
return
true
;
return
true
;
}
}
if
(
Card
.
Attacked
&&
Duel
.
Phase
==
DuelPhase
.
BattleStart
)
if
(
Card
.
Attacked
&&
Duel
.
Phase
==
DuelPhase
.
BattleStart
)
{
{
R
ei
SelectTarget
();
R
aye
SelectTarget
();
return
true
;
return
true
;
}
}
if
(
Card
==
Bot
.
BattlingMonster
&&
Duel
.
Player
==
1
)
if
(
Card
==
Bot
.
BattlingMonster
&&
Duel
.
Player
==
1
)
{
{
R
ei
SelectTarget
();
R
aye
SelectTarget
();
return
true
;
return
true
;
}
}
if
(
Duel
.
Phase
==
DuelPhase
.
Main2
)
if
(
Duel
.
Phase
==
DuelPhase
.
Main2
)
{
{
R
ei
SelectTarget
();
R
aye
SelectTarget
();
return
true
;
return
true
;
}
}
return
false
;
return
false
;
}
}
private
void
R
ei
SelectTarget
()
private
void
R
aye
SelectTarget
()
{
{
if
(!
KagariSummoned
&&
Bot
.
HasInGraveyard
(
new
[]
{
if
(!
KagariSummoned
&&
Bot
.
HasInGraveyard
(
new
[]
{
CardId
.
Engage
,
CardId
.
Engage
,
CardId
.
Hornet
Bit
,
CardId
.
Hornet
Drones
,
CardId
.
WidowAnchor
CardId
.
WidowAnchor
}))
}))
{
{
...
@@ -572,7 +574,7 @@ namespace WindBot.Game.AI.Decks
...
@@ -572,7 +574,7 @@ namespace WindBot.Game.AI.Decks
{
{
if
(
Bot
.
HasInGraveyard
(
new
[]
{
if
(
Bot
.
HasInGraveyard
(
new
[]
{
CardId
.
Engage
,
CardId
.
Engage
,
CardId
.
Hornet
Bit
,
CardId
.
Hornet
Drones
,
CardId
.
WidowAnchor
CardId
.
WidowAnchor
}))
}))
{
{
...
@@ -584,9 +586,9 @@ namespace WindBot.Game.AI.Decks
...
@@ -584,9 +586,9 @@ namespace WindBot.Game.AI.Decks
private
bool
KagariEffect
()
private
bool
KagariEffect
()
{
{
if
(
EmptyMainMonsterZone
()
&&
AI
.
Utils
.
GetProblematicEnemyMonster
()
!=
null
&&
Bot
.
HasInGraveyard
(
CardId
.
Afterburner
))
if
(
EmptyMainMonsterZone
()
&&
AI
.
Utils
.
GetProblematicEnemyMonster
()
!=
null
&&
Bot
.
HasInGraveyard
(
CardId
.
Afterburner
s
))
{
{
AI
.
SelectCard
(
CardId
.
Afterburner
);
AI
.
SelectCard
(
CardId
.
Afterburner
s
);
}
}
else
if
(
EmptyMainMonsterZone
()
&&
AI
.
Utils
.
GetProblematicEnemySpell
()
!=
null
&&
Bot
.
HasInGraveyard
(
CardId
.
JammingWave
))
else
if
(
EmptyMainMonsterZone
()
&&
AI
.
Utils
.
GetProblematicEnemySpell
()
!=
null
&&
Bot
.
HasInGraveyard
(
CardId
.
JammingWave
))
{
{
...
@@ -595,7 +597,7 @@ namespace WindBot.Game.AI.Decks
...
@@ -595,7 +597,7 @@ namespace WindBot.Game.AI.Decks
else
else
AI
.
SelectCard
(
new
[]
{
AI
.
SelectCard
(
new
[]
{
CardId
.
Engage
,
CardId
.
Engage
,
CardId
.
Hornet
Bit
,
CardId
.
Hornet
Drones
,
CardId
.
WidowAnchor
CardId
.
WidowAnchor
});
});
return
true
;
return
true
;
...
@@ -619,7 +621,7 @@ namespace WindBot.Game.AI.Decks
...
@@ -619,7 +621,7 @@ namespace WindBot.Game.AI.Decks
else
else
AI
.
SelectCard
(
new
[]
{
AI
.
SelectCard
(
new
[]
{
CardId
.
Engage
,
CardId
.
Engage
,
CardId
.
Hornet
Bit
,
CardId
.
Hornet
Drones
,
CardId
.
WidowAnchor
CardId
.
WidowAnchor
});
});
return
true
;
return
true
;
...
@@ -635,10 +637,10 @@ namespace WindBot.Game.AI.Decks
...
@@ -635,10 +637,10 @@ namespace WindBot.Game.AI.Decks
private
bool
HayateEffect
()
private
bool
HayateEffect
()
{
{
if
(!
Bot
.
HasInGraveyard
(
CardId
.
R
ei
))
if
(!
Bot
.
HasInGraveyard
(
CardId
.
R
aye
))
AI
.
SelectCard
(
CardId
.
R
ei
);
AI
.
SelectCard
(
CardId
.
R
aye
);
else
if
(!
Bot
.
HasInGraveyard
(
CardId
.
Hornet
Bit
))
else
if
(!
Bot
.
HasInGraveyard
(
CardId
.
Hornet
Drones
))
AI
.
SelectCard
(
CardId
.
Hornet
Bit
);
AI
.
SelectCard
(
CardId
.
Hornet
Drones
);
else
if
(!
Bot
.
HasInGraveyard
(
CardId
.
WidowAnchor
))
else
if
(!
Bot
.
HasInGraveyard
(
CardId
.
WidowAnchor
))
AI
.
SelectCard
(
CardId
.
WidowAnchor
);
AI
.
SelectCard
(
CardId
.
WidowAnchor
);
return
true
;
return
true
;
...
@@ -676,7 +678,7 @@ namespace WindBot.Game.AI.Decks
...
@@ -676,7 +678,7 @@ namespace WindBot.Game.AI.Decks
private
bool
JetSynchronEffect
()
private
bool
JetSynchronEffect
()
{
{
if
(
Bot
.
HasInMonstersZone
(
CardId
.
R
ei
)
||
Bot
.
HasInMonstersZone
(
CardId
.
CrystronNeedlefiber
))
if
(
Bot
.
HasInMonstersZone
(
CardId
.
R
aye
)
||
Bot
.
HasInMonstersZone
(
CardId
.
CrystronNeedlefiber
))
{
{
AI
.
SelectCard
(
GetDiscardHand
());
AI
.
SelectCard
(
GetDiscardHand
());
AI
.
SelectPosition
(
CardPosition
.
FaceUpDefence
);
AI
.
SelectPosition
(
CardPosition
.
FaceUpDefence
);
...
@@ -694,8 +696,8 @@ namespace WindBot.Game.AI.Decks
...
@@ -694,8 +696,8 @@ namespace WindBot.Game.AI.Decks
{
{
if
(
Bot
.
HasInHand
(
CardId
.
MetalfoesFusion
))
if
(
Bot
.
HasInHand
(
CardId
.
MetalfoesFusion
))
return
CardId
.
MetalfoesFusion
;
return
CardId
.
MetalfoesFusion
;
if
(
Bot
.
HasInHand
(
CardId
.
R
ei
)
&&
!
Bot
.
HasInGraveyard
(
CardId
.
Rei
))
if
(
Bot
.
HasInHand
(
CardId
.
R
aye
)
&&
!
Bot
.
HasInGraveyard
(
CardId
.
Raye
))
return
CardId
.
R
ei
;
return
CardId
.
R
aye
;
if
(
Bot
.
HasInHand
(
CardId
.
JetSynchron
))
if
(
Bot
.
HasInHand
(
CardId
.
JetSynchron
))
return
CardId
.
JetSynchron
;
return
CardId
.
JetSynchron
;
if
(
Bot
.
HasInHand
(
CardId
.
ReinforcementOfTheArmy
))
if
(
Bot
.
HasInHand
(
CardId
.
ReinforcementOfTheArmy
))
...
@@ -707,25 +709,25 @@ namespace WindBot.Game.AI.Decks
...
@@ -707,25 +709,25 @@ namespace WindBot.Game.AI.Decks
private
int
GetCardToSearch
()
private
int
GetCardToSearch
()
{
{
if
(!
Bot
.
HasInHand
(
CardId
.
Hornet
Bit
)
&&
Bot
.
GetRemainingCount
(
CardId
.
HornetBit
,
3
)
>
0
)
if
(!
Bot
.
HasInHand
(
CardId
.
Hornet
Drones
)
&&
Bot
.
GetRemainingCount
(
CardId
.
HornetDrones
,
3
)
>
0
)
{
{
return
CardId
.
Hornet
Bit
;
return
CardId
.
Hornet
Drones
;
}
}
else
if
(
AI
.
Utils
.
GetProblematicEnemyMonster
()
!=
null
&&
Bot
.
GetRemainingCount
(
CardId
.
WidowAnchor
,
3
)
>
0
)
else
if
(
AI
.
Utils
.
GetProblematicEnemyMonster
()
!=
null
&&
Bot
.
GetRemainingCount
(
CardId
.
WidowAnchor
,
3
)
>
0
)
{
{
return
CardId
.
WidowAnchor
;
return
CardId
.
WidowAnchor
;
}
}
else
if
(
EmptyMainMonsterZone
()
&&
AI
.
Utils
.
GetProblematicEnemyMonster
()
!=
null
&&
Bot
.
GetRemainingCount
(
CardId
.
Afterburner
,
1
)
>
0
)
else
if
(
EmptyMainMonsterZone
()
&&
AI
.
Utils
.
GetProblematicEnemyMonster
()
!=
null
&&
Bot
.
GetRemainingCount
(
CardId
.
Afterburner
s
,
1
)
>
0
)
{
{
return
CardId
.
Afterburner
;
return
CardId
.
Afterburner
s
;
}
}
else
if
(
EmptyMainMonsterZone
()
&&
AI
.
Utils
.
GetProblematicEnemySpell
()
!=
null
&&
Bot
.
GetRemainingCount
(
CardId
.
JammingWave
,
1
)
>
0
)
else
if
(
EmptyMainMonsterZone
()
&&
AI
.
Utils
.
GetProblematicEnemySpell
()
!=
null
&&
Bot
.
GetRemainingCount
(
CardId
.
JammingWave
,
1
)
>
0
)
{
{
return
CardId
.
JammingWave
;
return
CardId
.
JammingWave
;
}
}
else
if
(!
Bot
.
HasInHand
(
CardId
.
R
ei
)
&&
!
Bot
.
HasInMonstersZone
(
CardId
.
Rei
)
&&
Bot
.
GetRemainingCount
(
CardId
.
Rei
,
3
)
>
0
)
else
if
(!
Bot
.
HasInHand
(
CardId
.
R
aye
)
&&
!
Bot
.
HasInMonstersZone
(
CardId
.
Raye
)
&&
Bot
.
GetRemainingCount
(
CardId
.
Raye
,
3
)
>
0
)
{
{
return
CardId
.
R
ei
;
return
CardId
.
R
aye
;
}
}
else
if
(!
Bot
.
HasInHand
(
CardId
.
WidowAnchor
)
&&
!
Bot
.
HasInSpellZone
(
CardId
.
WidowAnchor
)
&&
Bot
.
GetRemainingCount
(
CardId
.
WidowAnchor
,
3
)
>
0
)
else
if
(!
Bot
.
HasInHand
(
CardId
.
WidowAnchor
)
&&
!
Bot
.
HasInSpellZone
(
CardId
.
WidowAnchor
)
&&
Bot
.
GetRemainingCount
(
CardId
.
WidowAnchor
,
3
)
>
0
)
{
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment