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
d157ab64
Commit
d157ab64
authored
Apr 08, 2018
by
mercury233
Browse files
Options
Browse Files
Download
Plain Diff
Merge
https://github.com/IceYGO/windbot
parents
c889b890
dd752335
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
190 additions
and
113 deletions
+190
-113
Game/AI/Decks/ChainBurnExecutor.cs
Game/AI/Decks/ChainBurnExecutor.cs
+54
-14
Game/AI/Decks/LightswornShaddoldinosourExecutor.cs
Game/AI/Decks/LightswornShaddoldinosourExecutor.cs
+136
-99
No files found.
Game/AI/Decks/ChainBurnExecutor.cs
View file @
d157ab64
...
...
@@ -217,12 +217,16 @@ namespace WindBot.Game.AI.Decks
);
}
bool
pot_used
=
false
;
bool
one_turn_kill
=
false
;
int
expected_blood
=
0
;
bool
prevent_used
=
false
;
int
preventcount
=
0
;
bool
battleprevent
=
false
;
bool
OjamaTrioused
=
false
;
bool
HasAccuulatedFortune
=
false
;
int
blast_count
=
0
;
int
barrel_count
=
0
;
int
just_count
=
0
;
public
override
bool
OnSelectHand
()
{
return
true
;
...
...
@@ -230,10 +234,13 @@ namespace WindBot.Game.AI.Decks
public
override
void
OnNewTurn
()
{
pot_used
=
false
;
prevent_used
=
false
;
battleprevent
=
false
;
OjamaTrioused
=
false
;
}
public
override
void
OnNewPhase
()
{
...
...
@@ -264,6 +271,33 @@ namespace WindBot.Game.AI.Decks
}
}
expected_blood
=
0
;
one_turn_kill
=
false
;
blast_count
=
0
;
barrel_count
=
0
;
just_count
=
0
;
IList
<
ClientCard
>
check
=
Bot
.
SpellZone
;
foreach
(
ClientCard
card
in
check
)
{
if
(
card
.
Id
==
CardId
.
SecretBlast
)
blast_count
++;
break
;
}
foreach
(
ClientCard
card
in
check
)
{
if
(
card
.
Id
==
CardId
.
SectetBarrel
)
barrel_count
++;
break
;
}
foreach
(
ClientCard
card
in
check
)
{
if
(
card
.
Id
==
CardId
.
JustDesserts
)
just_count
++;
break
;
}
expected_blood
=
(
Enemy
.
GetMonsterCount
()
*
500
*
just_count
+
Enemy
.
GetFieldHandCount
()
*
200
*
barrel_count
+
Enemy
.
GetFieldCount
()
*
300
*
blast_count
);
if
(
Enemy
.
LifePoints
<=
expected_blood
)
one_turn_kill
=
true
;
}
...
...
@@ -319,7 +353,8 @@ namespace WindBot.Game.AI.Decks
{
list
.
Add
(
monster
);
}
if
(
GetTotalATK
(
list
)
<=
3000
)
return
false
;
//if (GetTotalATK(list) / 2 >= Bot.LifePoints) return false;
if
(
GetTotalATK
(
list
)
<
3000
)
return
false
;
return
Enemy
.
HasAttackingMonster
()
&&
DefaultUniqueTrap
();
}
private
bool
ThreateningRoareff
()
...
...
@@ -374,12 +409,22 @@ namespace WindBot.Game.AI.Decks
}
private
bool
RecklessGreedeff
()
{
int
count
=
0
;
IList
<
ClientCard
>
check
=
Bot
.
SpellZone
;
foreach
(
ClientCard
card
in
check
)
{
if
(
card
.
Id
==
CardId
.
RecklessGreed
)
count
++;
break
;
}
if
(
count
>
1
)
return
true
;
if
(
Bot
.
LifePoints
<=
2000
)
return
true
;
if
(
Bot
.
GetHandCount
()
<
1
&&
Duel
.
Player
==
0
&&
Duel
.
Phase
!=
DuelPhase
.
Standby
)
return
true
;
return
false
;
}
private
bool
SectetBarreleff
()
{
if
(
one_turn_kill
)
return
true
;
if
(
must_chain
())
return
true
;
int
count
=
Enemy
.
GetFieldHandCount
();
if
(
Enemy
.
LifePoints
<
count
*
200
)
return
true
;
...
...
@@ -388,6 +433,7 @@ namespace WindBot.Game.AI.Decks
}
private
bool
SecretBlasteff
()
{
if
(
one_turn_kill
)
return
true
;
if
(
must_chain
())
return
true
;
int
count
=
Enemy
.
GetFieldCount
();
if
(
Enemy
.
LifePoints
<
count
*
300
)
return
true
;
...
...
@@ -401,6 +447,7 @@ namespace WindBot.Game.AI.Decks
}
private
bool
JustDessertseff
()
{
if
(
one_turn_kill
)
return
true
;
if
(
must_chain
())
return
true
;
int
count
=
Enemy
.
GetMonsterCount
();
if
(
Enemy
.
LifePoints
<=
count
*
500
)
return
true
;
...
...
@@ -417,15 +464,7 @@ namespace WindBot.Game.AI.Decks
if
(
must_chain
())
return
true
;
int
chain
=
Duel
.
CurrentChain
.
Count
;
if
(
Enemy
.
LifePoints
<=
(
chain
+
1
)
*
400
)
return
true
;
if
(
Duel
.
CurrentChain
.
Count
==
4
)
return
true
;
return
false
;
}
private
bool
Ceasefireeff
()
{
if
(
must_chain
())
return
true
;
int
count
=
Bot
.
GetMonsterCount
()
+
Enemy
.
GetMonsterCount
();
if
(
Enemy
.
LifePoints
<=
count
*
500
)
return
true
;
if
(
count
>=
3
)
return
true
;
if
(
Duel
.
CurrentChain
.
Count
>=
3
)
return
true
;
return
false
;
}
...
...
@@ -460,19 +499,20 @@ namespace WindBot.Game.AI.Decks
{
if
(
card
.
Id
==
CardId
.
DiceJar
&&
card
.
IsFacedown
())
return
true
;
break
;
}
return
false
;
}
private
bool
Ceasefire
()
private
bool
Ceasefire
eff
()
{
if
(
Bot
.
GetMonsterCount
()
>=
3
)
return
true
;
if
(
Enemy
.
GetMonsterCount
()
>=
3
)
return
true
;
if
(
DiceJarfacedown
())
return
false
;
if
((
Bot
.
GetMonsterCount
()
+
Enemy
.
GetMonsterCount
())
>=
4
)
return
true
;
return
false
;
}
private
bool
Linkuriboheff
()
{
return
true
;
{
return
DefaultDontChainMyself
()
;
}
/*private bool SwordsOfRevealingLight()
{
...
...
Game/AI/Decks/LightswornShaddoldinosourExecutor.cs
View file @
d157ab64
...
...
@@ -41,7 +41,7 @@ namespace WindBot.Game.AI.Decks
public
const
int
HarpiesFeatherDuster
=
18144506
;
public
const
int
DoubleEvolutionPill
=
38179121
;
public
const
int
ShaddollFusion
=
44394295
;
public
const
int
PotOfAvarice
=
671690
26
;
public
const
int
PotOfAvarice
=
671690
62
;
public
const
int
FoolishBurial
=
81439173
;
public
const
int
MonsterReborn
=
83764718
;
public
const
int
ChargeOfTheLightBrigade
=
94886282
;
...
...
@@ -71,15 +71,13 @@ namespace WindBot.Game.AI.Decks
public
const
int
CrystronNeedlefiber
=
50588353
;
}
bool
Pillused
=
false
;
bool
CrystalWingSynchroDragoneff_used
=
false
;
bool
OvertexCoatlseff_used
=
false
;
public
LightswornShaddoldinosour
(
GameAI
ai
,
Duel
duel
)
:
base
(
ai
,
duel
)
{
//counter
AddExecutor
(
ExecutorType
.
SpSummon
,
CardId
.
CrystalWingSynchroDragon
,
CrystalWingSynchroDragonesp
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
GhostOgre
,
Hand_act_eff
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
AshBlossom
,
Hand_act_eff
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
MaxxC
,
MaxxC
);
...
...
@@ -90,8 +88,7 @@ namespace WindBot.Game.AI.Decks
AddExecutor
(
ExecutorType
.
Summon
,
CardId
.
SouleatingOviraptor
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
SouleatingOviraptor
,
SouleatingOviraptoreff
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
AllureofDarkness
,
DefaultAllureofDarkness
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
PotOfAvarice
,
PotofAvarice
);
// AddExecutor(ExecutorType.Activate, CardId.HarpiesFeatherDuster);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
PotOfAvarice
,
PotofAvariceeff
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
ChargeOfTheLightBrigade
,
ChargeOfTheLightBrigadeEffect
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
FoolishBurial
,
FoolishBurialEffect
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
InterruptedKaijuSlumber
,
DefaultInterruptedKaijuSlumber
);
...
...
@@ -101,29 +98,26 @@ namespace WindBot.Game.AI.Decks
//Normal Summon
AddExecutor
(
ExecutorType
.
Summon
,
CardId
.
Raiden
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
Raiden
);
AddExecutor
(
ExecutorType
.
Summon
,
CardId
.
KeeperOfDragonicMagic
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
KeeperOfDragonicMagic
,
KeeperOfDragonicMagiceff
);
AddExecutor
(
ExecutorType
.
MonsterSet
,
CardId
.
ShaddollSquamata
);
AddExecutor
(
ExecutorType
.
MonsterSet
,
CardId
.
GlowUpBulb
);
AddExecutor
(
ExecutorType
.
MonsterSet
,
CardId
.
ShaddollHedgehog
);
AddExecutor
(
ExecutorType
.
MonsterSet
,
CardId
.
ShaddollDragon
);
AddExecutor
(
ExecutorType
.
Summon
,
CardId
.
FairyTailSnow
,
FairyTailSnow
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
FairyTailSnow
,
FairyTailSnow
);
AddExecutor
(
ExecutorType
.
Summon
,
CardId
.
FairyTailSnow
,
FairyTailSnow
summon
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
FairyTailSnow
,
FairyTailSnow
eff
);
AddExecutor
(
ExecutorType
.
Summon
,
CardId
.
Lumina
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
Lumina
);
//activate
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
GlowUpBulb
,
GlowUpBulbeff
);
//Sp Summon
AddExecutor
(
ExecutorType
.
SpSummon
,
CardId
.
CrystronNeedlefiber
,
CrystronNeedlefiberesp
);
AddExecutor
(
ExecutorType
.
SpSummon
,
CardId
.
UltimateConductorTytanno
,
UltimateConductorTytannosp
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
UltimateConductorTytanno
,
UltimateConductorTytannoeff
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
DoubleEvolutionPill
,
DoubleEvolutionPilleff
);
AddExecutor
(
ExecutorType
.
SpSummon
,
CardId
.
MinervaTheExalte
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
MinervaTheExalte
,
MinervaTheExaltedEffect
);
AddExecutor
(
ExecutorType
.
SpSummon
,
CardId
.
GamecieltheSeaTurtleKaiju
,
DefaultKaijuSpsummon
);
//activate
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
GlowUpBulb
,
GlowUpBulbeff
);
AddExecutor
(
ExecutorType
.
SpSummon
,
CardId
.
GamecieltheSeaTurtleKaiju
,
DefaultKaijuSpsummon
);
//activate chain
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
OvertexCoatls
,
OvertexCoatlseff
);
...
...
@@ -133,11 +127,11 @@ namespace WindBot.Game.AI.Decks
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
ShaddollDragon
,
ShaddollDragoneff
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
ShaddollHedgehog
,
ShaddollHedgehogeff
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
GiantRex
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
ElShaddollConstruct
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
ElShaddollConstruct
,
ElShaddollConstructeff
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
ElShaddollGrysra
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
ElShaddollShekhinaga
,
ElShaddollShekhinagaeff
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
ElShaddollWinda
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
Cryst
alWingSynchroDragon
,
CrystalWingSynchroDragon
eff
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
Cryst
ronNeedlefiber
,
CrystronNeedlefiber
eff
);
AddExecutor
(
ExecutorType
.
Activate
,
CardId
.
TG_WonderMagician
);
//spellset
AddExecutor
(
ExecutorType
.
SpellSet
,
CardId
.
MonsterReborn
,
spellset
);
...
...
@@ -218,67 +212,45 @@ namespace WindBot.Game.AI.Decks
};
}
public
override
BattlePhaseAction
OnSelectAttackTarget
(
ClientCard
attacker
,
IList
<
ClientCard
>
defenders
)
{
for
(
int
i
=
0
;
i
<
defenders
.
Count
;
++
i
)
{
ClientCard
defender
=
defenders
[
i
];
attacker
.
RealPower
=
attacker
.
Attack
;
defender
.
RealPower
=
defender
.
GetDefensePower
();
if
(!
OnPreBattleBetween
(
attacker
,
defender
))
continue
;
if
(
attacker
.
RealPower
>
defender
.
RealPower
||
(
attacker
.
RealPower
>=
defender
.
RealPower
&&
attacker
.
IsLastAttacker
)||
attacker
.
Id
==
CardId
.
UltimateConductorTytanno
)
return
AI
.
Attack
(
attacker
,
defender
);
}
if
(
attacker
.
CanDirectAttack
)
return
AI
.
Attack
(
attacker
,
null
);
int
Ultimate_ss
=
0
;
bool
Pillused
=
false
;
bool
CrystronNeedlefibereff_used
=
false
;
bool
OvertexCoatlseff_used
=
false
;
return
null
;
}
public
override
bool
OnSelectHand
()
{
return
true
;
}
public
override
void
OnNewTurn
()
{
Pillused
=
false
;
OvertexCoatlseff_used
=
false
;
Cryst
alWingSynchroDragon
eff_used
=
false
;
Cryst
ronNeedlefiber
eff_used
=
false
;
}
public
bool
Cryst
alWingSynchroDragon
esp
()
public
bool
Cryst
ronNeedlefiber
esp
()
{
if
(
CrystalWingSynchroDragoneff_used
)
return
false
;
if
(
Bot
.
HasInMonstersZone
(
CardId
.
FairyTailSnow
)
||
Bot
.
HasInMonstersZone
(
CardId
.
Lumina
)
||
Bot
.
HasInMonstersZone
(
CardId
.
KeeperOfDragonicMagic
)||
Bot
.
HasInMonstersZone
(
CardId
.
SouleatingOviraptor
)
)
{
AI
.
SelectCard
(
new
[]
if
(
CrystronNeedlefibereff_used
)
return
false
;
int
[]
materials
=
new
[]
{
CardId
.
KeeperOfDragonicMagic
,
CardId
.
Lumina
,
CardId
.
FairyTailSnow
,
CardId
.
SouleatingOviraptor
,
});
AI
.
SelectNextCard
(
CardId
.
GlowUpBulb
);
CardId
.
Raiden
,
CardId
.
GiantRex
,
};
if
(
Bot
.
HasInMonstersZone
(
materials
))
{
AI
.
SelectCard
(
materials
);
AI
.
SelectNextCard
(
CardId
.
GlowUpBulb
);
return
true
;
}
return
tru
e
;
return
fals
e
;
}
public
bool
Cryst
alWingSynchroDragon
eff
()
public
bool
Cryst
ronNeedlefiber
eff
()
{
if
(
Duel
.
Player
==
0
)
{
Cryst
alWingSynchroDragon
eff_used
=
true
;
Cryst
ronNeedlefiber
eff_used
=
true
;
AI
.
SelectCard
(
new
[]
{
CardId
.
GhostOgre
,
CardId
.
GlowUpBulb
,
CardId
.
PlaguespreaderZombie
,
CardId
.
ShaddollFalco
});
return
true
;
}
...
...
@@ -310,6 +282,7 @@ namespace WindBot.Game.AI.Decks
CardId
.
ShaddollSquamata
,
CardId
.
ShaddollHedgehog
,
CardId
.
ShaddollDragon
,
CardId
.
ShaddollFalco
,
CardId
.
GlowUpBulb
,
CardId
.
PlaguespreaderZombie
,
CardId
.
FairyTailSnow
,
...
...
@@ -319,8 +292,7 @@ namespace WindBot.Game.AI.Decks
CardId
.
DogorantheMadFlameKaiju
,
CardId
.
GamecieltheSeaTurtleKaiju
,
CardId
.
RadiantheMultidimensionalKaiju
,
CardId
.
GiantRex
,
CardId
.
ShaddollSquamata
,
CardId
.
GiantRex
,
CardId
.
SouleatingOviraptor
,
CardId
.
Raiden
,
CardId
.
Lumina
,
...
...
@@ -328,22 +300,25 @@ namespace WindBot.Game.AI.Decks
CardId
.
GhostOgre
,
CardId
.
MaxxC
,
};
if
(
!
Bot
.
HasInHand
(
targets
))
if
(
Bot
.
HasInHand
(
targets
)||
Bot
.
HasInMonstersZone
(
targets
))
{
if
(!
Bot
.
HasInMonstersZone
(
targets
))
{
return
false
;
}
AI
.
SelectCard
(
targets
);
return
true
;
}
AI
.
SelectCard
(
targets
);
}
if
(
Duel
.
Phase
==
DuelPhase
.
Damage
)
if
(
Duel
.
Phase
==
DuelPhase
.
BattleStart
)
{
AI
.
SelectYesNo
(
true
);
return
true
;
return
true
;
}
return
false
;
}
private
bool
UltimateConductorTytannosp
()
{
Ultimate_ss
++;
Pillused
=
true
;
foreach
(
ClientCard
card
in
Bot
.
GetMonsters
())
{
...
...
@@ -375,13 +350,17 @@ namespace WindBot.Game.AI.Decks
private
bool
OvertexCoatlseff
()
{
if
(
OvertexCoatlseff_used
==
true
)
return
false
;
if
(
Card
.
Location
==
CardLocation
.
MonsterZone
)
return
false
;
return
true
;
}
private
bool
DoubleEvolutionPilleff
()
{
{
foreach
(
ClientCard
card
in
Bot
.
GetMonsters
())
{
if
(
card
.
Id
==
CardId
.
UltimateConductorTytanno
&&
card
.
IsFaceup
())
return
false
;
}
if
(
Pillused
==
true
)
return
false
;
Pillused
=
true
;
IList
<
int
>
targets
=
new
[]
{
...
...
@@ -477,7 +456,7 @@ namespace WindBot.Game.AI.Decks
{
if
(
Card
.
Location
==
CardLocation
.
SpellZone
)
{
if
(
Enemy
.
HasAttackingMonster
())
if
(
Enemy
.
HasAttackingMonster
()
&&
Duel
.
Player
==
1
&&
Duel
.
Phase
==
DuelPhase
.
BattleStart
)
{
AI
.
SelectPosition
(
CardPosition
.
FaceUpDefence
);
return
true
;
...
...
@@ -487,8 +466,13 @@ namespace WindBot.Game.AI.Decks
}
return
true
;
}
private
bool
FairyTailSnowsummon
()
{
private
bool
FairyTailSnow
()
return
Enemy
.
GetMonsterCount
()>=
2
;
}
private
bool
FairyTailSnoweff
()
{
if
(
Card
.
Location
==
CardLocation
.
MonsterZone
)
...
...
@@ -515,19 +499,31 @@ namespace WindBot.Game.AI.Decks
private
bool
GlowUpBulbeff
()
{
/*if(Bot.HasInMonstersZone(CardId.Lumina)||
Bot.HasInMonstersZone(CardId.FairyTailSnow)||
Bot.HasInMonstersZone(CardId.KeeperOfDragonicMagic)||
Bot.HasInMonstersZone(CardId.SouleatingOviraptor)
)*/
AI
.
SelectPosition
(
CardPosition
.
FaceUpDefence
);
return
true
;
if
(
Bot
.
HasInMonstersZone
(
CardId
.
Lumina
)
||
Bot
.
HasInMonstersZone
(
CardId
.
FairyTailSnow
)
||
Bot
.
HasInMonstersZone
(
CardId
.
KeeperOfDragonicMagic
)
||
Bot
.
HasInMonstersZone
(
CardId
.
SouleatingOviraptor
)
||
Bot
.
HasInMonstersZone
(
CardId
.
GiantRex
)
||
Bot
.
HasInMonstersZone
(
CardId
.
Raiden
)
)
{
AI
.
SelectPosition
(
CardPosition
.
FaceUpDefence
);
return
true
;
}
return
false
;
}
private
bool
ShaddollFusioneff
()
{
if
(
Enemy
.
GetMonstersExtraZoneCount
()>
0
)
bool
deck_check
=
false
;
List
<
ClientCard
>
monsters
=
Enemy
.
GetMonsters
();
foreach
(
ClientCard
monster
in
monsters
)
{
if
(
monster
.
HasType
(
CardType
.
Synchro
)||
monster
.
HasType
(
CardType
.
Fusion
)||
monster
.
HasType
(
CardType
.
Xyz
))
deck_check
=
true
;
}
if
(
deck_check
)
{
AI
.
SelectCard
(
new
[]
{
...
...
@@ -548,14 +544,31 @@ namespace WindBot.Game.AI.Decks
AI
.
SelectPosition
(
CardPosition
.
FaceUpAttack
);
return
true
;
}
else
if
(!
Bot
.
IsFieldEmpty
())
return
false
;
foreach
(
ClientCard
monster
in
Bot
.
Hand
)
{
if
(!
Bot
.
IsFieldEmpty
())
return
false
;
AI
.
SelectCard
(
CardId
.
ElShaddollConstruct
);
AI
.
SelectPosition
(
CardPosition
.
FaceUpAttack
);
if
(
monster
.
HasAttribute
(
CardAttribute
.
Light
))
{
AI
.
SelectCard
(
CardId
.
ElShaddollConstruct
);
AI
.
SelectPosition
(
CardPosition
.
FaceUpAttack
);
return
true
;
}
}
return
true
;
List
<
ClientCard
>
material_1
=
Bot
.
GetMonsters
();
foreach
(
ClientCard
monster
in
material_1
)
{
if
(
monster
.
HasAttribute
(
CardAttribute
.
Light
))
{
AI
.
SelectCard
(
CardId
.
ElShaddollConstruct
);
AI
.
SelectPosition
(
CardPosition
.
FaceUpAttack
);
return
true
;
}
}
return
false
;
}
...
...
@@ -588,9 +601,12 @@ namespace WindBot.Game.AI.Decks
}
private
bool
RebornEffect
()
{
IList
<
int
>
targets
=
new
[]
{
CardId
.
UltimateConductorTytanno
,
if
(
Bot
.
HasInGraveyard
(
CardId
.
UltimateConductorTytanno
)&&
Ultimate_ss
>
0
)
{
AI
.
SelectCard
(
CardId
.
UltimateConductorTytanno
);
return
true
;
}
IList
<
int
>
targets
=
new
[]
{
CardId
.
ElShaddollConstruct
,
CardId
.
DogorantheMadFlameKaiju
,
CardId
.
GamecieltheSeaTurtleKaiju
,
...
...
@@ -603,9 +619,8 @@ namespace WindBot.Game.AI.Decks
AI
.
SelectCard
(
targets
);
return
true
;
}
private
bool
PotofAvarice
()
private
bool
PotofAvarice
eff
()
{
return
true
;
}
...
...
@@ -646,7 +661,14 @@ namespace WindBot.Game.AI.Decks
return
true
;
}
private
bool
ElShaddollConstructeff
()
{
if
(
ActivateDescription
==-
1
)
{
AI
.
SelectCard
(
CardId
.
ShaddollSquamata
);
}
return
true
;
}
private
bool
ElShaddollShekhinagaeff
()
{
if
(
Card
.
Location
!=
CardLocation
.
MonsterZone
)
...
...
@@ -749,15 +771,15 @@ namespace WindBot.Game.AI.Decks
{
CardId
.
OvertexCoatls
,
});
return
true
;
}
else
return
false
;
return
false
;
}
else
{
AI
.
SelectCard
(
new
[]
{
CardId
.
OvertexCoatls
,
{
CardId
.
ShaddollSquamata
,
CardId
.
FairyTailSnow
,
});
...
...
@@ -822,7 +844,22 @@ namespace WindBot.Game.AI.Decks
return
true
;
}
}
public
override
bool
OnPreBattleBetween
(
ClientCard
attacker
,
ClientCard
defender
)
{
if
(!
defender
.
IsMonsterHasPreventActivationEffectInBattle
())
{
if
(
attacker
.
Id
==
CardId
.
UltimateConductorTytanno
&&
!
attacker
.
IsDisabled
()
&&
defender
.
IsDefense
())
attacker
.
RealPower
=
9999
;
}
return
base
.
OnPreBattleBetween
(
attacker
,
defender
);
}
public
override
bool
OnSelectHand
()
{
return
true
;
}
}
}
\ No newline at end of file
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