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
816d9474
Commit
816d9474
authored
Dec 09, 2024
by
xiaoye
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update AI408AExecutor.cs
parent
6ae010e9
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
54 additions
and
36 deletions
+54
-36
Game/AI/Decks/AI408AExecutor.cs
Game/AI/Decks/AI408AExecutor.cs
+54
-36
No files found.
Game/AI/Decks/AI408AExecutor.cs
View file @
816d9474
...
...
@@ -39,7 +39,8 @@ namespace WindBot.Game.AI.Decks
}
private
bool
chk_release_summon
=
false
;
private
int
summonInTurn
=
0
;
private
int
attacked_85306040
=
0
private
int
attacked_85306040
=
0
;
private
int
attacked_79575620
=
0
;
private
int
[]
changePosInTurn
;
private
int
[]
attacked
=
new
int
[]
{
0
,
0
,
0
,
0
,
0
};
...
...
@@ -49,6 +50,7 @@ namespace WindBot.Game.AI.Decks
changePosInTurn
=
new
int
[
0
];
attacked
=
new
int
[]
{
0
,
0
,
0
,
0
,
0
};
if
(
attacked_85306040
>
0
)
attacked_85306040
--;
attacked_79575620
=
0
;
}
public
override
BattlePhaseAction
OnSelectAttackTarget
(
ClientCard
attacker
,
IList
<
ClientCard
>
defenders
)
{
...
...
@@ -57,7 +59,7 @@ namespace WindBot.Game.AI.Decks
attacked
[
GetSequence
(
attacker
)]
=
attacker
.
Id
;
return
AI
.
Attack
(
attacker
,
null
);
}
if
(
attacker
.
IsCode
({
37043180
,
70074904
}))
if
(
attacker
.
IsCode
(
new
[]
{
37043180
,
70074904
}))
{
if
(
Bot
.
GetMonsterCount
()
>
Enemy
.
GetMonsterCount
())
{
...
...
@@ -68,10 +70,9 @@ namespace WindBot.Game.AI.Decks
if
(!
OnPreBattleBetween
(
attacker
,
defender
))
continue
;
if
(
attacker
.
RealPower
>
defender
.
RealPower
||
(
attacker
.
RealPower
>=
defender
.
RealPower
&&
attacker
.
IsLastAttacker
&&
defender
.
IsAttack
()
))
if
(
attacker
.
RealPower
<
defender
.
RealPower
&&
((
Bot
.
HasInMonstersZone
(
79575620
)
&&
attacked_79575620
==
0
&&
Bot
.
LifePoints
>
2000
)
?
defender
.
RealPower
-
attacker
.
RealPower
<
Bot
.
LifePoints
-
2000
:
defender
.
RealPower
-
attacker
.
RealPower
<
Bot
.
LifePoints
))
{
attacked
[
GetSequence
(
attacker
)]
=
attacker
.
Id
;
attacked_85306040
+=
2
return
AI
.
Attack
(
attacker
,
defender
);
}
}
...
...
@@ -80,40 +81,41 @@ namespace WindBot.Game.AI.Decks
switch
(
attacker
.
Id
)
{
case
79575620
:
{
foreach
(
ClientCard
defender
in
defenders
)
{
attacker
.
RealPower
=
3400
;
defender
.
RealPower
=
defender
.
GetDefensePower
();
if
(!
OnPreBattleBetween
(
attacker
,
defender
))
continue
;
if
((
attacker
.
RealPower
>=
defender
.
RealPower
&&
defender
.
IsAttack
())
||
(
attacker
.
RealPower
>
defender
.
RealPower
&&
!
GetZoneCards
(
CardLocation
.
MonsterZone
,
Bot
).
Any
(
c
=>
c
!=
null
&&
!
c
.
IsCode
(
79575620
)
&&
c
.
IsAttack
()
&&
(
c
.
Attack
>
defender
.
RealPower
||
(
c
.
IsCode
({
37043180
,
70074904
})
&&
defender
.
RealPower
-
c
.
Attack
<
Bot
.
LifePoints
+
2000
))
&&
attacked
[
GetSequence
(
c
)]
!=
c
.
Id
)
&&
defender
.
IsDefense
()
&&
defender
.
IsFaceup
()))
foreach
(
ClientCard
defender
in
defenders
)
{
attacked
[
GetSequence
(
attacker
)]
=
attacker
.
Id
;
return
AI
.
Attack
(
attacker
,
defender
);
attacker
.
RealPower
=
3400
;
defender
.
RealPower
=
defender
.
GetDefensePower
();
if
(!
OnPreBattleBetween
(
attacker
,
defender
))
continue
;
if
((
attacker
.
RealPower
>=
defender
.
RealPower
&&
defender
.
IsAttack
())
||
(
attacker
.
RealPower
>
defender
.
RealPower
&&
!
GetZoneCards
(
CardLocation
.
MonsterZone
,
Bot
).
Any
(
c
=>
c
!=
null
&&
!
c
.
IsCode
(
79575620
)
&&
c
.
IsAttack
()
&&
(
c
.
Attack
>
defender
.
RealPower
||
(
c
.
IsCode
(
new
[]
{
37043180
,
70074904
})
&&
defender
.
RealPower
-
c
.
Attack
<
Bot
.
LifePoints
-
2000
))
&&
attacked
[
GetSequence
(
c
)]
!=
c
.
Id
)
&&
defender
.
IsDefense
()
&&
defender
.
IsFaceup
()))
{
attacked
[
GetSequence
(
attacker
)]
=
attacker
.
Id
;
attacked_79575620
++;
return
AI
.
Attack
(
attacker
,
defender
);
}
}
return
null
;
}
return
null
;
}
case
85306040
:
{
foreach
(
ClientCard
defender
in
defenders
)
{
attacker
.
RealPower
=
attacker
.
Attack
;
defender
.
RealPower
=
defender
.
GetDefensePower
();
if
(!
OnPreBattleBetween
(
attacker
,
defender
))
continue
;
if
(
attacker
.
RealPower
>
defender
.
RealPower
||
(
attacker
.
RealPower
>=
defender
.
RealPower
&&
attacker
.
IsLastAttacker
&&
defender
.
IsAttack
()))
foreach
(
ClientCard
defender
in
defenders
)
{
attacked
[
GetSequence
(
attacker
)]
=
attacker
.
Id
;
attacked_85306040
+=
2
return
AI
.
Attack
(
attacker
,
defender
);
attacker
.
RealPower
=
attacker
.
Attack
;
defender
.
RealPower
=
defender
.
GetDefensePower
();
if
(!
OnPreBattleBetween
(
attacker
,
defender
))
continue
;
if
(
attacker
.
RealPower
>
defender
.
RealPower
||
(
attacker
.
RealPower
>=
defender
.
RealPower
&&
attacker
.
IsLastAttacker
&&
defender
.
IsAttack
()))
{
attacked
[
GetSequence
(
attacker
)]
=
attacker
.
Id
;
attacked_85306040
+=
2
;
return
AI
.
Attack
(
attacker
,
defender
);
}
}
return
null
;
}
return
null
;
}
}
foreach
(
ClientCard
defender
in
defenders
)
...
...
@@ -140,12 +142,23 @@ namespace WindBot.Game.AI.Decks
YGOSharp
.
OCGWrapper
.
NamedCard
cardData
=
YGOSharp
.
OCGWrapper
.
NamedCard
.
Get
(
cardId
);
if
(
cardData
!=
null
)
{
if
(
cardId
==
39168895
)
return
CardPosition
.
Attack
;
if
(
cardId
==
85306040
)
switch
(
cardId
)
{
if
(
attacked_85306040
>
0
)
attacked_85306040
=
0
return
CardPosition
.
Attack
;
case
39168895
:
{
return
CardPosition
.
Attack
;
}
case
85306040
:
{
if
(
attacked_85306040
>
0
)
attacked_85306040
=
0
;
return
CardPosition
.
Attack
;
}
case
79575620
:
{
attacked_79575620
=
0
;
return
(
Bot
.
LifePoints
>
2000
?
CardPosition
.
Attack
:
CardPosition
.
Defence
);
}
}
}
return
base
.
OnSelectPosition
(
cardId
,
positions
);
...
...
@@ -358,12 +371,17 @@ namespace WindBot.Game.AI.Decks
}
case
79575620
:
{
return
Bot
.
LifePoints
>
2000
;
if
(
Bot
.
LifePoints
>
2000
)
{
attacked_79575620
=
0
;
return
true
;
}
return
false
;
}
case
85306040
:
{
if
(
attacked_85306040
>
0
)
attacked_85306040
=
0
attacked_85306040
=
0
;
return
true
;
}
}
...
...
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