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
神之吹息
windbot
Commits
46a4e78d
Commit
46a4e78d
authored
Sep 15, 2019
by
kiwi946
Committed by
mercury233
Sep 15, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
GrenMaju Thunder Boarder update (#116)
parent
20916c38
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
91 additions
and
29 deletions
+91
-29
Decks/AI_GrenMajuThunderBoarder.ydk
Decks/AI_GrenMajuThunderBoarder.ydk
+16
-20
Game/AI/Decks/GrenMajuThunderBoarderExecutor.cs
Game/AI/Decks/GrenMajuThunderBoarderExecutor.cs
+75
-9
No files found.
Decks/AI_GrenMajuThunderBoarder.ydk
View file @
46a4e78d
#created by ...
#created by ...
#main
#main
71197066
71197066
15397015
15397015
15397015
15397015
15397015
15397015
71564252
71564252
71564252
14558127
14558127
14558127
36584821
36584821
36584821
36584821
36584821
36584821
23434538
23434538
23434538
63845230
63845230
63845230
63845230
63845230
63845230
18144506
18144506
35261759
35261759
35261759
35261759
35261759
59750328
59750328
59750328
59750328
70368879
98645731
98645731
98645731
98645731
98645731
98645731
...
@@ -30,48 +27,47 @@
...
@@ -30,48 +27,47 @@
10045474
10045474
10045474
10045474
10813327
10813327
15693423
23924608
23924608
47475363
47475363
47475363
47475363
30241314
30241314
30241314
36975314
36975314
58921041
58921041
58921041
61740673
61936647
69452756
69452756
40605147
40605147
40605147
40605147
77538567
41420027
41420027
77538567
77538567
#extra
#extra
86221741
86221741
31833038
31833038
85289965
85289965
5043010
30194529
30194529
38342335
38342335
2857636
2857636
24094258
24094258
75452921
50588353
50588353
3987233
3987233
3987233
3987233
63288573
63288573
98978921
41999284
41999284
41999284
41999284
41999284
!side
!side
10000080
71564252
86937530
14558127
62015408
62015408
23434538
9742784
9742784
70368879
19508728
19508728
10045474
15693423
15693423
24207889
24207889
30241314
61740673
61936647
69452756
69452756
23002292
23002292
41420027
77538567
41420027
Game/AI/Decks/GrenMajuThunderBoarderExecutor.cs
View file @
46a4e78d
...
@@ -11,6 +11,7 @@ namespace WindBot.Game.AI.Decks
...
@@ -11,6 +11,7 @@ namespace WindBot.Game.AI.Decks
{
{
public
class
CardId
public
class
CardId
{
{
public
const
int
MetalSnake
=
71197066
;
public
const
int
InspectBoarder
=
15397015
;
public
const
int
InspectBoarder
=
15397015
;
public
const
int
ThunderKingRaiOh
=
71564252
;
public
const
int
ThunderKingRaiOh
=
71564252
;
public
const
int
AshBlossomAndJoyousSpring
=
14558127
;
public
const
int
AshBlossomAndJoyousSpring
=
14558127
;
...
@@ -32,6 +33,7 @@ namespace WindBot.Game.AI.Decks
...
@@ -32,6 +33,7 @@ namespace WindBot.Game.AI.Decks
public
const
int
HeavyStormDuster
=
23924608
;
public
const
int
HeavyStormDuster
=
23924608
;
public
const
int
DrowningMirrorForce
=
47475363
;
public
const
int
DrowningMirrorForce
=
47475363
;
public
const
int
MacroCosmos
=
30241314
;
public
const
int
MacroCosmos
=
30241314
;
public
const
int
Crackdown
=
36975314
;
public
const
int
AntiSpellFragrance
=
58921041
;
public
const
int
AntiSpellFragrance
=
58921041
;
public
const
int
ImperialOrder
=
61740673
;
public
const
int
ImperialOrder
=
61740673
;
public
const
int
PhatomKnightsSword
=
61936647
;
public
const
int
PhatomKnightsSword
=
61936647
;
...
@@ -89,9 +91,13 @@ namespace WindBot.Game.AI.Decks
...
@@ -89,9 +91,13 @@ namespace WindBot.Game.AI.Decks
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
PotOfDesires
,
PotOfDesireseff
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
PotOfDesires
,
PotOfDesireseff
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
CardOfDemise
,
CardOfDemiseeff
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
CardOfDemise
,
CardOfDemiseeff
);
//sp
//sp
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
Linkuriboh
,
Linkuriboheff
);
AddExecutor
(
ExecutorType
.
SpSummon
,
CardId
.
Linkuriboh
,
Linkuribohsp
);
AddExecutor
(
ExecutorType
.
SpSummon
,
CardId
.
KnightmareCerberus
,
Knightmaresp
);
AddExecutor
(
ExecutorType
.
SpSummon
,
CardId
.
KnightmarePhoenix
,
Knightmaresp
);
AddExecutor
(
ExecutorType
.
SpSummon
,
CardId
.
MissusRadiant
,
MissusRadiantsp
);
AddExecutor
(
ExecutorType
.
SpSummon
,
CardId
.
MissusRadiant
,
MissusRadiantsp
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
MissusRadiant
,
MissusRadianteff
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
MissusRadiant
,
MissusRadianteff
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
Linkuriboh
,
Linkuriboheff
);
AddExecutor
(
ExecutorType
.
SpSummon
,
CardId
.
Linkuriboh
,
Linkuribohsp
);
AddExecutor
(
ExecutorType
.
SpSummon
,
CardId
.
Linkuriboh
,
Linkuribohsp
);
AddExecutor
(
ExecutorType
.
SpSummon
,
CardId
.
LinkSpider
);
AddExecutor
(
ExecutorType
.
SpSummon
,
CardId
.
LinkSpider
);
AddExecutor
(
ExecutorType
.
SpSummon
,
CardId
.
BorreloadDragon
,
BorreloadDragonsp
);
AddExecutor
(
ExecutorType
.
SpSummon
,
CardId
.
BorreloadDragon
,
BorreloadDragonsp
);
...
@@ -104,7 +110,11 @@ namespace WindBot.Game.AI.Decks
...
@@ -104,7 +110,11 @@ namespace WindBot.Game.AI.Decks
AddExecutor
(
ExecutorType
.
Summon
,
CardId
.
ThunderKingRaiOh
,
ThunderKingRaiOhsummon
);
AddExecutor
(
ExecutorType
.
Summon
,
CardId
.
ThunderKingRaiOh
,
ThunderKingRaiOhsummon
);
AddExecutor
(
ExecutorType
.
SpSummon
,
CardId
.
BorreloadDragon
,
BorreloadDragonspsecond
);
AddExecutor
(
ExecutorType
.
SpSummon
,
CardId
.
BorreloadDragon
,
BorreloadDragonspsecond
);
AddExecutor
(
ExecutorType
.
SpSummon
,
CardId
.
EaterOfMillions
,
EaterOfMillionssp
);
AddExecutor
(
ExecutorType
.
SpSummon
,
CardId
.
EaterOfMillions
,
EaterOfMillionssp
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
MetalSnake
,
MetalSnakesp
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
MetalSnake
,
MetalSnakeeff
);
//spell
//spell
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
Crackdown
,
Crackdowneff
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
MoonMirrorShield
,
MoonMirrorShieldeff
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
MoonMirrorShield
,
MoonMirrorShieldeff
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
Scapegoat
,
DefaultScapegoat
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
Scapegoat
,
DefaultScapegoat
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
PhatomKnightsSword
,
PhatomKnightsSwordeff
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
PhatomKnightsSword
,
PhatomKnightsSwordeff
);
...
@@ -360,6 +370,13 @@ namespace WindBot.Game.AI.Decks
...
@@ -360,6 +370,13 @@ namespace WindBot.Game.AI.Decks
return
false
;
return
false
;
}
}
private
bool
Crackdowneff
()
{
if
(
Util
.
GetOneEnemyBetterThanMyBest
(
true
,
true
)
!=
null
&&
Bot
.
UnderAttack
)
AI
.
SelectCard
(
Util
.
GetOneEnemyBetterThanMyBest
(
true
,
true
));
return
Util
.
GetOneEnemyBetterThanMyBest
(
true
,
true
)
!=
null
&&
Bot
.
UnderAttack
;
}
private
bool
MoonMirrorShieldeff
()
private
bool
MoonMirrorShieldeff
()
{
{
if
(
Card
.
Location
==
CardLocation
.
Hand
)
if
(
Card
.
Location
==
CardLocation
.
Hand
)
...
@@ -430,15 +447,15 @@ namespace WindBot.Game.AI.Decks
...
@@ -430,15 +447,15 @@ namespace WindBot.Game.AI.Decks
private
bool
BorreloadDragonsp
()
private
bool
BorreloadDragonsp
()
{
{
if
(!
Bot
.
HasInMonstersZone
(
CardId
.
MissusRadiant
))
return
false
;
if
(!
(
Bot
.
HasInMonstersZone
(
CardId
.
MissusRadiant
)
||
Bot
.
HasInMonstersZone
(
new
[]
{
CardId
.
KnightmareCerberus
,
CardId
.
KnightmarePhoenix
})
))
return
false
;
IList
<
ClientCard
>
material_list
=
new
List
<
ClientCard
>();
IList
<
ClientCard
>
material_list
=
new
List
<
ClientCard
>();
foreach
(
ClientCard
monster
in
Bot
.
GetMonsters
())
foreach
(
ClientCard
monster
in
Bot
.
GetMonsters
())
{
{
if
(
monster
.
IsCode
(
CardId
.
MissusRadiant
,
CardId
.
LinkSpider
,
CardId
.
Linkuriboh
))
if
(
monster
.
IsCode
(
CardId
.
MissusRadiant
,
CardId
.
KnightmareCerberus
,
CardId
.
KnightmarePhoenix
,
CardId
.
LinkSpider
,
CardId
.
Linkuriboh
))
material_list
.
Add
(
monster
);
material_list
.
Add
(
monster
);
if
(
material_list
.
Count
==
3
)
break
;
if
(
material_list
.
Count
==
3
)
break
;
}
}
if
(
material_list
.
Count
>=
3
)
if
(
material_list
.
Count
>=
3
)
{
{
AI
.
SelectMaterials
(
material_list
);
AI
.
SelectMaterials
(
material_list
);
return
true
;
return
true
;
...
@@ -447,11 +464,11 @@ namespace WindBot.Game.AI.Decks
...
@@ -447,11 +464,11 @@ namespace WindBot.Game.AI.Decks
}
}
private
bool
BorreloadDragonspsecond
()
private
bool
BorreloadDragonspsecond
()
{
{
if
(!
Bot
.
HasInMonstersZone
(
CardId
.
MissusRadiant
))
return
false
;
if
(!
(
Bot
.
HasInMonstersZone
(
CardId
.
MissusRadiant
)
||
Bot
.
HasInMonstersZone
(
new
[]
{
CardId
.
KnightmareCerberus
,
CardId
.
KnightmarePhoenix
})
))
return
false
;
IList
<
ClientCard
>
material_list
=
new
List
<
ClientCard
>();
IList
<
ClientCard
>
material_list
=
new
List
<
ClientCard
>();
foreach
(
ClientCard
monster
in
Bot
.
GetMonsters
())
foreach
(
ClientCard
monster
in
Bot
.
GetMonsters
())
{
{
if
(
monster
.
IsCode
(
CardId
.
MissusRadiant
,
CardId
.
LinkSpider
,
CardId
.
Linkuriboh
))
if
(
monster
.
IsCode
(
CardId
.
MissusRadiant
,
CardId
.
KnightmareCerberus
,
CardId
.
KnightmarePhoenix
,
CardId
.
LinkSpider
,
CardId
.
Linkuriboh
))
material_list
.
Add
(
monster
);
material_list
.
Add
(
monster
);
if
(
material_list
.
Count
==
3
)
break
;
if
(
material_list
.
Count
==
3
)
break
;
}
}
...
@@ -548,6 +565,37 @@ namespace WindBot.Game.AI.Decks
...
@@ -548,6 +565,37 @@ namespace WindBot.Game.AI.Decks
return
true
;
return
true
;
}
}
private
bool
MetalSnakesp
()
{
if
(
ActivateDescription
==
Util
.
GetStringId
(
CardId
.
MetalSnake
,
0
)
&&
!
Bot
.
HasInMonstersZone
(
CardId
.
MetalSnake
))
{
if
(
Duel
.
Player
==
1
&&
Duel
.
Phase
>=
DuelPhase
.
BattleStart
)
return
Bot
.
Deck
.
Count
>=
12
;
if
(
Duel
.
Player
==
0
&&
Duel
.
Phase
>=
DuelPhase
.
Main1
)
return
Bot
.
Deck
.
Count
>=
12
;
}
return
false
;
}
private
bool
MetalSnakeeff
()
{
ClientCard
target
=
Util
.
GetOneEnemyBetterThanMyBest
(
true
,
true
);
if
(
ActivateDescription
==
Util
.
GetStringId
(
CardId
.
MetalSnake
,
1
)
&&
target
!=
null
)
{
AI
.
SelectCard
(
new
[]
{
CardId
.
HeavymetalfoesElectrumite
,
CardId
.
BrandishMaidenKagari
,
CardId
.
CrystronNeedlefiber
,
CardId
.
RaidraptorUltimateFalcon
,
CardId
.
NingirsuTheWorldChaliceWarrior
});
AI
.
SelectNextCard
(
target
);
return
true
;
}
return
false
;
}
private
bool
MissusRadiantsp
()
private
bool
MissusRadiantsp
()
{
{
IList
<
ClientCard
>
material_list
=
new
List
<
ClientCard
>();
IList
<
ClientCard
>
material_list
=
new
List
<
ClientCard
>();
...
@@ -575,6 +623,7 @@ namespace WindBot.Game.AI.Decks
...
@@ -575,6 +623,7 @@ namespace WindBot.Game.AI.Decks
private
bool
Linkuribohsp
()
private
bool
Linkuribohsp
()
{
{
foreach
(
ClientCard
c
in
Bot
.
GetMonsters
())
foreach
(
ClientCard
c
in
Bot
.
GetMonsters
())
{
{
if
(!
c
.
IsCode
(
CardId
.
EaterOfMillions
,
CardId
.
Linkuriboh
)
&&
c
.
Level
==
1
)
if
(!
c
.
IsCode
(
CardId
.
EaterOfMillions
,
CardId
.
Linkuriboh
)
&&
c
.
Level
==
1
)
...
@@ -586,6 +635,23 @@ namespace WindBot.Game.AI.Decks
...
@@ -586,6 +635,23 @@ namespace WindBot.Game.AI.Decks
return
false
;
return
false
;
}
}
private
bool
Knightmaresp
()
{
int
[]
firstMats
=
new
[]
{
CardId
.
KnightmareCerberus
,
CardId
.
KnightmarePhoenix
};
if
(
Bot
.
MonsterZone
.
GetMatchingCardsCount
(
card
=>
card
.
IsCode
(
firstMats
))
>=
1
)
return
false
;
foreach
(
ClientCard
c
in
Bot
.
GetMonsters
())
{
if
(!
c
.
IsCode
(
CardId
.
EaterOfMillions
)
&&
c
.
Level
==
1
)
{
AI
.
SelectMaterials
(
c
);
return
true
;
}
}
return
false
;
}
private
bool
Linkuriboheff
()
private
bool
Linkuriboheff
()
{
{
if
(
Duel
.
LastChainPlayer
==
0
&&
Util
.
GetLastChainCard
().
IsCode
(
CardId
.
Linkuriboh
))
return
false
;
if
(
Duel
.
LastChainPlayer
==
0
&&
Util
.
GetLastChainCard
().
IsCode
(
CardId
.
Linkuriboh
))
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