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
c72a7ef5
Commit
c72a7ef5
authored
Jan 04, 2020
by
nanahira
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of github.com:IceYGO/windbot
parents
969dd333
468b477f
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
30 additions
and
11 deletions
+30
-11
Game/AI/CardExtension.cs
Game/AI/CardExtension.cs
+2
-1
Game/AI/Decks/DragunExecutor.cs
Game/AI/Decks/DragunExecutor.cs
+14
-5
Game/AI/Enums/FusionSpell.cs
Game/AI/Enums/FusionSpell.cs
+1
-0
Game/AI/Enums/ShouldNotBeTarget.cs
Game/AI/Enums/ShouldNotBeTarget.cs
+3
-1
Game/ClientCard.cs
Game/ClientCard.cs
+5
-0
Game/ClientField.cs
Game/ClientField.cs
+5
-4
No files found.
Game/AI/CardExtension.cs
View file @
c72a7ef5
using
System
;
using
WindBot.Game.AI.Enums
;
using
YGOSharp.OCGWrapper.Enums
;
namespace
WindBot.Game.AI
{
...
...
@@ -34,7 +35,7 @@ namespace WindBot.Game.AI
/// </summary>
public
static
bool
IsShouldNotBeTarget
(
this
ClientCard
card
)
{
return
!
card
.
IsDisabled
()
&&
Enum
.
IsDefined
(
typeof
(
ShouldNotBeTarget
),
card
.
Id
);
return
!
card
.
IsDisabled
()
&&
!
card
.
HasType
(
CardType
.
Normal
)
&&
Enum
.
IsDefined
(
typeof
(
ShouldNotBeTarget
),
card
.
Id
);
}
/// <summary>
...
...
Game/AI/Decks/DragunExecutor.cs
View file @
c72a7ef5
...
...
@@ -184,7 +184,7 @@ namespace WindBot.Game.AI.Decks
private
bool
RedEyesFusionEffect
()
{
if
(
Bot
.
HasInMonstersZone
(
CardId
.
DragunofRedEyes
))
if
(
Bot
.
HasInMonstersZone
(
new
[]
{
CardId
.
DragunofRedEyes
,
CardId
.
RedEyesBDragon
}
))
{
// you don't want to use DragunofRedEyes which is treated as RedEyesBDragon as fusion material
if
(
Util
.
GetBotAvailZonesFromExtraDeck
()
==
0
)
return
false
;
...
...
@@ -319,7 +319,15 @@ namespace WindBot.Game.AI.Decks
}
else
{
// TODO
int
[]
costs
=
new
[]
{
CardId
.
RedEyesInsight
,
CardId
.
RedEyesFusion
};
if
(
Bot
.
HasInHand
(
costs
))
{
AI
.
SelectCard
(
costs
);
return
true
;
}
return
false
;
}
}
...
...
@@ -354,7 +362,7 @@ namespace WindBot.Game.AI.Decks
private
bool
MagicalizedFusionEffect
()
{
if
(
Bot
.
HasInMonstersZone
(
CardId
.
DragunofRedEyes
))
if
(
Bot
.
HasInMonstersZone
(
new
[]
{
CardId
.
DragunofRedEyes
,
CardId
.
RedEyesBDragon
}
))
{
// you don't want to use DragunofRedEyes which is treated as RedEyesBDragon as fusion material
if
(
Util
.
GetBotAvailZonesFromExtraDeck
()
==
0
)
return
false
;
...
...
@@ -367,6 +375,8 @@ namespace WindBot.Game.AI.Decks
private
bool
PredaplantVerteAnacondaEffect
()
{
if
(
ActivateDescription
==
Util
.
GetStringId
(
CardId
.
PredaplantVerteAnaconda
,
0
))
return
false
;
AI
.
SelectCard
(
CardId
.
RedEyesFusion
);
AI
.
SelectMaterials
(
CardLocation
.
Deck
);
return
true
;
...
...
@@ -450,7 +460,6 @@ namespace WindBot.Game.AI.Decks
CardId
.
AshBlossomJoyousSpring
,
CardId
.
SeaMonsterofTheseus
,
CardId
.
MechaPhantomBeastOLionToken
,
CardId
.
RedEyesBDragon
,
CardId
.
DarkMagician
,
CardId
.
ImdukTheWorldChaliceDragon
,
CardId
.
Sangan
,
...
...
@@ -486,7 +495,7 @@ namespace WindBot.Game.AI.Decks
private
bool
TrapSet
()
{
if
(
Bot
.
HasInMonstersZone
(
CardId
.
DragunofRedEyes
)
&&
Bot
.
GetHandCount
()
==
1
)
if
(
Bot
.
HasInMonstersZone
(
new
[]
{
CardId
.
DragunofRedEyes
,
CardId
.
RedEyesBDragon
}
)
&&
Bot
.
GetHandCount
()
==
1
)
return
false
;
AI
.
SelectPlace
(
Zones
.
z0
+
Zones
.
z1
+
Zones
.
z3
+
Zones
.
z4
);
return
true
;
...
...
Game/AI/Enums/FusionSpell.cs
View file @
c72a7ef5
...
...
@@ -54,5 +54,6 @@
PyroxeneFusion
=
55824220
,
FragmentFusion
=
72029628
,
NecroFusion
=
81223446
,
PredaplantVerteAnaconda
=
70369116
,
}
}
Game/AI/Enums/ShouldNotBeTarget.cs
View file @
c72a7ef5
...
...
@@ -46,6 +46,8 @@
RaidraptorUltimateFalcon
=
86221741
,
DisdainfulBirdofParadise
=
27240101
,
DarkestDiabolosLordOfTheLair
=
50383626
,
Blackwing_FullArmoredWing
=
54082269
Blackwing_FullArmoredWing
=
54082269
,
DragunofRedEyes
=
37818794
,
RedEyesBDragon
=
74677422
,
// sometimes the name of DragunofRedEyes will be changed to RedEyesBDragon
}
}
Game/ClientCard.cs
View file @
c72a7ef5
...
...
@@ -336,6 +336,11 @@ namespace WindBot.Game
return
ids
.
Contains
(
Id
)
||
Alias
!=
0
&&
ids
.
Contains
(
Alias
);
}
public
bool
IsOriginalCode
(
int
id
)
{
return
Id
==
id
||
Alias
-
Id
<
10
&&
Alias
==
id
;
}
public
bool
HasXyzMaterial
()
{
return
Overlays
.
Count
>
0
;
...
...
Game/ClientField.cs
View file @
c72a7ef5
...
...
@@ -306,10 +306,11 @@ namespace WindBot.Game
public
int
GetRemainingCount
(
int
cardId
,
int
initialCount
)
{
int
remaining
=
initialCount
;
remaining
=
remaining
-
Hand
.
Count
(
card
=>
card
!=
null
&&
card
.
IsCode
(
cardId
));
remaining
=
remaining
-
SpellZone
.
Count
(
card
=>
card
!=
null
&&
card
.
IsCode
(
cardId
));
remaining
=
remaining
-
Graveyard
.
Count
(
card
=>
card
!=
null
&&
card
.
IsCode
(
cardId
));
remaining
=
remaining
-
Banished
.
Count
(
card
=>
card
!=
null
&&
card
.
IsCode
(
cardId
));
remaining
=
remaining
-
Hand
.
Count
(
card
=>
card
!=
null
&&
card
.
IsOriginalCode
(
cardId
));
remaining
=
remaining
-
SpellZone
.
Count
(
card
=>
card
!=
null
&&
card
.
IsOriginalCode
(
cardId
));
remaining
=
remaining
-
MonsterZone
.
Count
(
card
=>
card
!=
null
&&
card
.
IsOriginalCode
(
cardId
));
remaining
=
remaining
-
Graveyard
.
Count
(
card
=>
card
!=
null
&&
card
.
IsOriginalCode
(
cardId
));
remaining
=
remaining
-
Banished
.
Count
(
card
=>
card
!=
null
&&
card
.
IsOriginalCode
(
cardId
));
return
(
remaining
<
0
)
?
0
:
remaining
;
}
...
...
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