Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
W
Windbot-408
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-408
Commits
345b2be1
Commit
345b2be1
authored
Jul 09, 2024
by
mercury233
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
https://github.com/IceYGO/windbot
parents
c3828c90
11169f23
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
91 additions
and
37 deletions
+91
-37
Game/AI/Decks/SuperheavySamuraiExecutor.cs
Game/AI/Decks/SuperheavySamuraiExecutor.cs
+44
-22
Game/AI/DefaultExecutor.cs
Game/AI/DefaultExecutor.cs
+3
-1
Game/AI/Enums/Floodgate.cs
Game/AI/Enums/Floodgate.cs
+12
-1
Game/AI/Enums/FusionSpell.cs
Game/AI/Enums/FusionSpell.cs
+3
-1
Game/AI/Enums/InvincibleMonster.cs
Game/AI/Enums/InvincibleMonster.cs
+10
-1
Game/AI/Enums/PreventActivationEffectInBattle.cs
Game/AI/Enums/PreventActivationEffectInBattle.cs
+1
-5
Game/AI/Enums/ShouldBeDisabledBeforeItUseEffectMonster.cs
Game/AI/Enums/ShouldBeDisabledBeforeItUseEffectMonster.cs
+5
-1
Game/AI/Enums/ShouldNotBeMonsterTarget.cs
Game/AI/Enums/ShouldNotBeMonsterTarget.cs
+2
-1
Game/ClientCard.cs
Game/ClientCard.cs
+2
-3
Game/GameBehavior.cs
Game/GameBehavior.cs
+9
-1
No files found.
Game/AI/Decks/SuperheavySamuraiExecutor.cs
View file @
345b2be1
...
...
@@ -80,7 +80,8 @@ namespace WindBot.Game.AI.Decks
public
SuperheavySamuraiExecutor
(
GameAI
ai
,
Duel
duel
)
:
base
(
ai
,
duel
)
{
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
PSYFramelordOmega
);
AddExecutor
(
ExecutorType
.
Repos
,
MonsterRepos
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
PSYFramelordOmega
,
PSYFunction
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
IP
,
IPFunction
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
Sarutobi
,
SarutobiFunction
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
Unicorn
,
UnicornFunction
);
...
...
@@ -101,9 +102,8 @@ namespace WindBot.Game.AI.Decks
AddExecutor
(
ExecutorType
.
SpSummon
,
CardId
.
Scales
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
Scales
,
ScalesFunction
);
//Synchron
AddExecutor
(
ExecutorType
.
SpSummon
,
CardId
.
ASStardustDragon
,
ASStardustDragonSynchronFunction2
);
AddExecutor
(
ExecutorType
.
SpSummon
,
CardId
.
Fleur
,
FleurSynchronFunction2
);
//Synchron
AddExecutor
(
ExecutorType
.
SpSummon
,
CardId
.
PSYFramelordOmega
,
PSYFramelordOmegaSynchronFunction
);
//Pendulum
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
Wakaushi
,
WakaushiFunction
);
...
...
@@ -183,7 +183,6 @@ namespace WindBot.Game.AI.Decks
//Synchron
AddExecutor
(
ExecutorType
.
SpSummon
,
CardId
.
Masurawo
,
MasurawoSynchronFunction
);
AddExecutor
(
ExecutorType
.
SpSummon
,
CardId
.
Sarutobi
,
DeSynchronFunction
);
AddExecutor
(
ExecutorType
.
SpSummon
,
CardId
.
PSYFramelordOmega
);
//equip Soulhorns
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
Soulhorns
,
SoulhornsEquipFunction
);
...
...
@@ -213,12 +212,29 @@ namespace WindBot.Game.AI.Decks
activate_Genius
=
false
;
activate_Sarutobi
=
false
;
to_deck
=
false
;
base
.
OnNewTurn
();
}
public
override
bool
OnSelectHand
()
{
return
true
;
}
private
bool
MonsterRepos
()
{
if
(
Card
.
IsFacedown
())
return
true
;
if
(
Card
.
IsFaceup
()
&&
Card
.
IsAttack
()
&&
(
Card
.
Id
==
CardId
.
Masurawo
||
Card
.
Id
==
CardId
.
Sarutobi
))
return
true
;
return
false
;
}
public
override
CardPosition
OnSelectPosition
(
int
cardId
,
IList
<
CardPosition
>
positions
)
{
YGOSharp
.
OCGWrapper
.
NamedCard
cardData
=
YGOSharp
.
OCGWrapper
.
NamedCard
.
Get
(
cardId
);
if
(
cardData
!=
null
)
{
if
(
cardId
==
CardId
.
Masurawo
||
cardId
==
CardId
.
Sarutobi
)
return
CardPosition
.
FaceUpDefence
;
}
return
0
;
}
public
override
int
OnSelectPlace
(
int
cardId
,
int
player
,
CardLocation
location
,
int
available
)
{
if
(
player
==
0
&&
location
==
CardLocation
.
MonsterZone
)
...
...
@@ -597,14 +613,6 @@ namespace WindBot.Game.AI.Decks
AI
.
SelectMaterials
(
materials_lists
[
0
]);
return
true
;
}
private
bool
FleurSynchronFunction2
()
{
var
materials_lists
=
Util
.
GetSynchroMaterials
(
Bot
.
MonsterZone
,
10
,
1
,
1
,
false
,
false
,
null
,
card
=>
{
return
!
FinalCards
(
card
.
Id
);
});
if
(
materials_lists
.
Count
<=
0
)
return
false
;
AI
.
SelectMaterials
(
materials_lists
[
0
]);
return
true
;
}
private
bool
DeSynchronFunction
()
{
AI
.
SelectPosition
(
CardPosition
.
FaceUpDefence
);
...
...
@@ -630,17 +638,26 @@ namespace WindBot.Game.AI.Decks
{
return
(
Bot
.
HasInExtra
(
CardId
.
Fleur
)
||
Bot
.
HasInExtra
(
CardId
.
Masurawo
));
}
return
false
;
}
private
bool
ASStardustDragonSynchronFunction2
()
{
if
(!
activate_Scales
||
!
activate_PSY
)
return
false
;
if
(
Bot
.
HasInGraveyard
(
CardId
.
Motorbike
)
||
Bot
.
HasInGraveyard
(
CardId
.
PsyFramegearGamma
))
else
if
(
Bot
.
HasInMonstersZone
(
CardId
.
Motorbike
))
{
return
(
Bot
.
HasInExtra
(
CardId
.
Fleur
)
||
Bot
.
HasInExtra
(
CardId
.
Masurawo
));
AI
.
SelectMaterials
(
CardId
.
Motorbike
);
return
true
;
}
else
if
(
Bot
.
HasInMonstersZone
(
CardId
.
PsyFramegearGamma
))
{
AI
.
SelectMaterials
(
CardId
.
PsyFramegearGamma
);
return
true
;
}
return
false
;
}
private
bool
PSYFramelordOmegaSynchronFunction
()
{
if
(
Bot
.
HasInMonstersZone
(
CardId
.
Motorbike
))
AI
.
SelectMaterials
(
CardId
.
Motorbike
);
else
if
(
Bot
.
HasInMonstersZone
(
CardId
.
PsyFramegearGamma
))
AI
.
SelectMaterials
(
CardId
.
PsyFramegearGamma
);
return
activate_PSY
||
activate_Scales
;
}
private
bool
SavageDragonFunction
()
{
if
(
Duel
.
LastChainPlayer
==
1
)
...
...
@@ -1156,6 +1173,11 @@ namespace WindBot.Game.AI.Decks
AI
.
SelectMaterials
(
materials
);
return
true
;
}
private
bool
PSYFunction
()
{
activate_PSY
=
true
;
return
true
;
}
private
bool
IPFunction
()
{
if
(
Duel
.
LastChainPlayer
==
0
)
return
false
;
...
...
@@ -1193,4 +1215,4 @@ namespace WindBot.Game.AI.Decks
return
true
;
}
}
}
\ No newline at end of file
}
Game/AI/DefaultExecutor.cs
View file @
345b2be1
...
...
@@ -181,6 +181,7 @@ namespace WindBot.Game.AI
public
const
int
DuelDragonToken
=
60025884
;
public
const
int
SeleneQueenOfTheMasterMagicians
=
45819647
;
public
const
int
TheWingedDragonofRaSphereMode
=
10000080
;
public
const
int
SelettriceVaalmonica
=
23093373
;
public
const
int
RockOfTheVanquisher
=
28168628
;
public
const
int
SpiralDischarge
=
29477860
;
...
...
@@ -302,7 +303,8 @@ namespace WindBot.Game.AI
{
_CardId
.
DuelLinkDragonTheDuelDragon
,
(
defender
,
list
)
=>
list
.
Any
(
monster
=>
monster
.
IsCode
(
_CardId
.
DuelDragonToken
))},
{
_CardId
.
SeleneQueenOfTheMasterMagicians
,
(
defender
,
list
)
=>
list
.
Any
(
monster
=>
monster
.
HasSetcode
(
_Setcode
.
Endymion
))},
{
_CardId
.
TheWingedDragonofRaSphereMode
,
(
defender
,
list
)
=>
true
}
{
_CardId
.
TheWingedDragonofRaSphereMode
,
(
defender
,
list
)
=>
true
},
{
_CardId
.
SelettriceVaalmonica
,
(
defender
,
list
)
=>
list
.
Any
(
monster
=>
!
monster
.
IsCode
(
_CardId
.
SelettriceVaalmonica
))}
};
/// <summary>
...
...
Game/AI/Enums/Floodgate.cs
View file @
345b2be1
...
...
@@ -212,6 +212,17 @@
StellarNemesisTPHON_DoomsdayStar
=
93039339
,
SPLittleKnight
=
29301450
,
AngelRing
=
40678060
,
SkullGuardianTheSilenforcingProtector
=
10774240
SkullGuardianProtectorOfTheVoicelessVoice
=
10774240
,
FloweringEtoileTheMelodiousMagnificat
=
83793721
,
EnlightenmentDragon
=
46186135
,
GoldPrideEradicator
=
45464587
,
VarudrasTheFinalBringerOfTheEndTimes
=
70636044
,
RagnaraikaStagSovereign
=
42307760
,
DrytronMeteonisAlphaDraconids
=
56863746
,
TheUnstoppableExodiaIncarnate
=
83257450
,
LightAndDarknessDragonLord
=
19652159
,
FiendsmithDiesIrae
=
82135803
,
MementomictlanTecuhtlicaCombinedConqueror
=
14529511
,
MadolcheQueenTiaraalaFraise
=
49689480
}
}
Game/AI/Enums/FusionSpell.cs
View file @
345b2be1
...
...
@@ -86,6 +86,8 @@
FusionReproduction
=
43331750
,
ChimeraFusion
=
63136489
,
HarmonicSynchroFusion
=
7473735
,
SouloftheSupremeCelestialKing
=
76840111
SouloftheSupremeCelestialKing
=
76840111
,
MelodiousConcerto
=
31458630
,
MementotlanFusion
=
66518509
}
}
Game/AI/Enums/InvincibleMonster.cs
View file @
345b2be1
...
...
@@ -114,6 +114,15 @@
DarkGuardian
=
26746975
,
EnvoyOfTheWaxState
=
87462901
,
Fluffyfluff
=
85401123
,
YubelDasEwigLiebeWachter
=
47172959
YubelDasEwigLiebeWachter
=
47172959
,
TenpaiDragonFadra
=
65326118
,
GolgoilTheSteelSeismicSmasher
=
59369430
,
TalonsOfShurilane
=
74150658
,
NightmareApprentice
=
58143852
,
MillenniumoonMaiden
=
37552929
,
MillenniumFiendReflection
=
63947968
,
HereticalPhoboscobos
=
76078185
,
TopHatHareTheSilhouetteMagician
=
1528054
,
Silhouhatte
=
24440742
}
}
Game/AI/Enums/PreventActivationEffectInBattle.cs
View file @
345b2be1
...
...
@@ -11,10 +11,6 @@
SamuraiDestroyer
=
40509732
,
ArmadesKeeperOfBoundaries
=
88033975
,
NumberS39UtopiaTheLightning
=
56832966
,
DualAvatarEmpoweredKonGyo
=
33026283
,
GGolemRockHammer
=
98875863
,
WishDragon
=
64583600
,
ChaosWitch
=
30327674
,
FissioningMotherSpider
=
34034150
DualAvatarEmpoweredKonGyo
=
33026283
}
}
Game/AI/Enums/ShouldBeDisabledBeforeItUseEffectMonster.cs
View file @
345b2be1
...
...
@@ -63,6 +63,10 @@
ThreeEyedGhost
=
31464658
,
UrsarcticPolarStar
=
62714453
,
BattlinBoxerPromoter
=
83315222
,
TGRocketSalamander
=
77392987
TGRocketSalamander
=
77392987
,
GGolemRockHammer
=
98875863
,
WishDragon
=
64583600
,
ChaosWitch
=
30327674
,
FissioningMotherSpider
=
34034150
}
}
Game/AI/Enums/ShouldNotBeMonsterTarget.cs
View file @
345b2be1
...
...
@@ -16,6 +16,7 @@
BorreloadDragon
=
31833038
,
BorrelendDragon
=
98630720
,
DrytronMeteonisDraconids
=
69815951
,
MyutantBeast
=
34695290
MyutantBeast
=
34695290
,
VeidosTheDragonOfEndlessDarkness
=
8540986
}
}
Game/ClientCard.cs
View file @
345b2be1
...
...
@@ -82,8 +82,7 @@ namespace WindBot.Game
if
(
Data
!=
null
)
{
Name
=
Data
.
Name
;
if
(
Data
.
Alias
!=
0
)
Alias
=
Data
.
Alias
;
Alias
=
Data
.
Alias
;
}
else
{
Name
=
null
;
Alias
=
0
;
...
...
@@ -387,4 +386,4 @@ namespace WindBot.Game
return
ReferenceEquals
(
this
,
card
);
}
}
}
\ No newline at end of file
}
Game/GameBehavior.cs
View file @
345b2be1
...
...
@@ -1090,7 +1090,7 @@ namespace WindBot.Game
else
card
=
_duel
.
GetCard
(
player
,
loc
,
seq
);
if
(
card
==
null
)
continue
;
if
(
card
.
Id
==
0
)
if
(
card
.
Id
==
0
||
card
.
Location
==
CardLocation
.
Deck
)
card
.
SetId
(
id
);
cards
.
Add
(
card
);
}
...
...
@@ -1102,6 +1102,14 @@ namespace WindBot.Game
CardLocation
loc
=
(
CardLocation
)
packet
.
ReadByte
();
int
seq
=
packet
.
ReadByte
();
packet
.
ReadByte
();
// pos
ClientCard
card
;
if
(((
int
)
loc
&
(
int
)
CardLocation
.
Overlay
)
!=
0
)
card
=
new
ClientCard
(
id
,
CardLocation
.
Overlay
,
-
1
);
else
card
=
_duel
.
GetCard
(
player
,
loc
,
seq
);
if
(
card
==
null
)
continue
;
if
(
card
.
Id
==
0
||
card
.
Location
==
CardLocation
.
Deck
)
card
.
SetId
(
id
);
}
if
(
count2
==
0
)
cancelable
=
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