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
92ccb1d8
Commit
92ccb1d8
authored
May 26, 2020
by
nanahira
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of github.com:moecube/windbot
parents
94d3c132
66d208f0
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
56 additions
and
13 deletions
+56
-13
Dialogs/smart.zh-CN.json
Dialogs/smart.zh-CN.json
+2
-1
Game/AI/Decks/FrogExecutor.cs
Game/AI/Decks/FrogExecutor.cs
+14
-1
Game/AI/Decks/PureWindsExecutor.cs
Game/AI/Decks/PureWindsExecutor.cs
+14
-1
Game/AI/Decks/WitchcraftExecutor.cs
Game/AI/Decks/WitchcraftExecutor.cs
+26
-10
No files found.
Dialogs/smart.zh-CN.json
View file @
92ccb1d8
...
...
@@ -21,7 +21,8 @@
"消失吧,杂鱼"
],
"ondirectattack"
:
[
"爸爸,饶命"
"爸爸,饶命"
,
"恐怖如斯"
],
"facedownmonstername"
:
"怪兽"
,
"activate"
:
[
...
...
Game/AI/Decks/FrogExecutor.cs
View file @
92ccb1d8
...
...
@@ -49,7 +49,7 @@ namespace WindBot.Game.AI.Decks
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
DupeFrog
,
DupeFrog
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
FlipFlopFrog
,
FlipFlopFrog
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
Ronintoadin
,
Ronintoadin
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
TreebornFrog
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
TreebornFrog
,
TreebornFrog
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
Unifrog
);
AddExecutor
(
ExecutorType
.
Summon
,
CardId
.
CryomancerOfTheIceBarrier
,
SummonFrog
);
...
...
@@ -83,6 +83,19 @@ namespace WindBot.Game.AI.Decks
private
int
m_swapFrogSummoned
;
private
int
m_flipFlopFrogSummoned
;
private
int
m_treebornFrogCount
=
0
;
public
override
void
OnNewTurn
()
{
m_treebornFrogCount
=
0
;
base
.
OnNewTurn
();
}
private
bool
TreebornFrog
()
{
m_treebornFrogCount
++;
return
m_treebornFrogCount
<=
5
;
}
private
bool
SwapFrogSummon
()
{
...
...
Game/AI/Decks/PureWindsExecutor.cs
View file @
92ccb1d8
...
...
@@ -215,6 +215,7 @@ namespace WindBot.Game.AI.Decks
private
bool
Summon_used
;
private
bool
Pilica_eff
;
private
bool
plan_A
;
private
int
SnowBell_count
=
0
;
//TODO: reset the flags when they should reset ( public override void OnNewTurn() )
public
PureWindsExecutor
(
GameAI
ai
,
Duel
duel
)
:
base
(
ai
,
duel
)
...
...
@@ -294,6 +295,16 @@ namespace WindBot.Game.AI.Decks
AddExecutor
(
ExecutorType
.
Repos
,
MonsterRepos
);
}
public
override
void
OnNewTurn
()
{
WindwitchGlassBelleff_used
=
false
;
Summon_used
=
false
;
Pilica_eff
=
false
;
plan_A
=
false
;
SnowBell_count
=
0
;
base
.
OnNewTurn
();
}
private
bool
windaset
()
{
if
(
Enemy
.
HasInMonstersZoneOrInGraveyard
(
CardId
.
ChaosMax
))
...
...
@@ -759,6 +770,7 @@ namespace WindBot.Game.AI.Decks
private
bool
WindwitchSnowBellsp
()
{
if
(
SnowBell_count
>=
5
)
return
false
;
if
((
Bot
.
HasInMonstersZone
(
CardId
.
CrystalWingSynchroDragon
)
||
Bot
.
HasInMonstersZone
(
CardId
.
DaigustoSphreez
)
||
Bot
.
HasInMonstersZone
(
CardId
.
MistWurm
))
&&
...
...
@@ -773,7 +785,8 @@ namespace WindBot.Game.AI.Decks
Bot
.
HasInMonstersZone
(
CardId
.
WindwitchSnowBell
)
&&
(
Util
.
GetBotAvailZonesFromExtraDeck
()
==
0
))
return
false
;
AI
.
SelectPosition
(
CardPosition
.
FaceUpDefence
);
AI
.
SelectPosition
(
CardPosition
.
FaceUpDefence
);
SnowBell_count
++;
return
true
;
}
private
bool
DaigustoSphreezsp
()
...
...
Game/AI/Decks/WitchcraftExecutor.cs
View file @
92ccb1d8
...
...
@@ -1272,6 +1272,8 @@ namespace WindBot.Game.AI.Decks
bool
lesssummon
=
false
;
int
extra_attack
=
CheckPlusAttackforMadameVerre
(
true
,
false
,
true
);
int
best_power
=
Util
.
GetBestAttack
(
Bot
);
if
(
CheckRemainInDeck
(
CardId
.
Haine
)
>
0
&&
best_power
<
2400
)
best_power
=
2400
;
Logger
.
DebugWriteLine
(
"less summon check: "
+
(
best_power
+
extra_attack
-
1000
).
ToString
()
+
" to "
+
(
best_power
+
extra_attack
).
ToString
());
if
(
Util
.
GetOneEnemyBetterThanValue
(
best_power
)
!=
null
&&
Util
.
GetOneEnemyBetterThanValue
(
best_power
+
extra_attack
)
==
null
&&
Util
.
GetOneEnemyBetterThanValue
(
best_power
+
extra_attack
-
1000
)
!=
null
)
...
...
@@ -1295,6 +1297,11 @@ namespace WindBot.Game.AI.Decks
}
}
// check whether continue to ss
bool
should_attack
=
Util
.
GetOneEnemyBetterThanValue
(
Card
.
Attack
)
==
null
;
if
((
should_attack
^
Card
.
IsDefense
())
&&
Duel
.
Player
==
1
)
return
false
;
if
(
CheckRemainInDeck
(
CardId
.
Haine
,
CardId
.
MadameVerre
,
CardId
.
GolemAruru
)
==
0
)
return
false
;
// SS higer level
if
(
Bot
.
HasInMonstersZone
(
CardId
.
Haine
)
||
(
lesssummon
&&
!
Bot
.
HasInMonstersZone
(
CardId
.
MadameVerre
,
true
)))
{
...
...
@@ -1759,22 +1766,27 @@ namespace WindBot.Game.AI.Decks
{
if
(
hand
.
IsMonster
()
&&
hand
.
Level
<=
4
&&
hand
.
Attack
>
bestPower
)
bestPower
=
hand
.
Attack
;
}
int
opt
=
-
1
;
// destroy monster
if
(
Enemy
.
MonsterZone
.
GetFirstMatchingCard
(
card
=>
card
.
IsFloodgate
()
&&
card
.
IsAttack
())
!=
null
||
Enemy
.
MonsterZone
.
GetMatchingCardsCount
(
card
=>
card
.
IsAttack
()
&&
card
.
Attack
>=
bestPower
)
>=
2
)
{
AI
.
SelectOption
(
Util
.
GetStringId
(
CardId
.
LightningStorm
,
0
));
SelectSTPlace
(
null
,
true
);
return
true
;
}
||
Enemy
.
MonsterZone
.
GetMatchingCardsCount
(
card
=>
card
.
IsAttack
()
&&
card
.
Attack
>=
bestPower
)
>=
2
)
opt
=
0
;
// destroy spell/trap
if
(
Enemy
.
GetSpellCount
()
>=
2
||
Util
.
GetProblematicEnemySpell
()
!=
null
)
else
if
(
Enemy
.
GetSpellCount
()
>=
2
||
Util
.
GetProblematicEnemySpell
()
!=
null
)
opt
=
1
;
if
(
opt
==
-
1
)
return
false
;
// only one selection
if
(
Enemy
.
MonsterZone
.
GetFirstMatchingCard
(
card
=>
card
.
IsAttack
())
==
null
||
Enemy
.
GetSpellCount
()
==
0
)
{
AI
.
SelectOption
(
Util
.
GetStringId
(
CardId
.
LightningStorm
,
1
)
);
AI
.
SelectOption
(
0
);
SelectSTPlace
(
null
,
true
);
return
true
;
}
return
false
;
AI
.
SelectOption
(
opt
);
SelectSTPlace
(
null
,
true
);
return
true
;
}
// activate of PotofExtravagance
...
...
@@ -2341,8 +2353,12 @@ namespace WindBot.Game.AI.Decks
// activate of Patronus
public
bool
PatronusActivate
()
{
// activate immediately
if
(
ActivateDescription
==
94
)
{
return
true
;
}
// search
//if (ActivateDescription == Util.GetStringId(CardId.Patronus, 0))
if
(
Card
.
Location
==
CardLocation
.
SpellZone
)
{
if
(
NegatedCheck
(
true
)
||
Duel
.
LastChainPlayer
==
0
)
return
false
;
...
...
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