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
0f152da0
Commit
0f152da0
authored
Apr 08, 2018
by
mercury233
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update LightswornShaddoldinosour deck by handsomekiwi
parent
77dd48f2
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
162 additions
and
84 deletions
+162
-84
Game/AI/Decks/LightswornShaddoldinosourExecutor.cs
Game/AI/Decks/LightswornShaddoldinosourExecutor.cs
+162
-84
No files found.
Game/AI/Decks/LightswornShaddoldinosourExecutor.cs
View file @
0f152da0
...
...
@@ -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
.
CrystalWingSynchroDragon
,
CrystalWingSynchroDragonesp
);
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,7 +127,7 @@ 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
);
...
...
@@ -218,33 +212,11 @@ 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
CrystalWingSynchroDragoneff_used
=
false
;
bool
OvertexCoatlseff_used
=
false
;
return
null
;
}
public
override
bool
OnSelectHand
()
{
return
true
;
}
public
override
void
OnNewTurn
()
{
Pillused
=
false
;
...
...
@@ -258,7 +230,8 @@ namespace WindBot.Game.AI.Decks
if
(
Bot
.
HasInMonstersZone
(
CardId
.
FairyTailSnow
)
||
Bot
.
HasInMonstersZone
(
CardId
.
Lumina
)
||
Bot
.
HasInMonstersZone
(
CardId
.
KeeperOfDragonicMagic
)||
Bot
.
HasInMonstersZone
(
CardId
.
SouleatingOviraptor
)
Bot
.
HasInMonstersZone
(
CardId
.
SouleatingOviraptor
)||
Bot
.
HasInMonstersZone
(
CardId
.
Raiden
)
)
{
AI
.
SelectCard
(
new
[]
...
...
@@ -267,6 +240,8 @@ namespace WindBot.Game.AI.Decks
CardId
.
Lumina
,
CardId
.
FairyTailSnow
,
CardId
.
SouleatingOviraptor
,
CardId
.
Raiden
,
CardId
.
GiantRex
,
});
AI
.
SelectNextCard
(
CardId
.
GlowUpBulb
);
}
...
...
@@ -310,6 +285,7 @@ namespace WindBot.Game.AI.Decks
CardId
.
ShaddollSquamata
,
CardId
.
ShaddollHedgehog
,
CardId
.
ShaddollDragon
,
CardId
.
ShaddollFalco
,
CardId
.
GlowUpBulb
,
CardId
.
PlaguespreaderZombie
,
CardId
.
FairyTailSnow
,
...
...
@@ -319,8 +295,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 +303,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 +353,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 +459,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 +469,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 +502,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 +547,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 +604,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 +622,8 @@ namespace WindBot.Game.AI.Decks
AI
.
SelectCard
(
targets
);
return
true
;
}
private
bool
PotofAvarice
()
private
bool
PotofAvarice
eff
()
{
return
true
;
}
...
...
@@ -646,7 +664,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 +774,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 +847,60 @@ namespace WindBot.Game.AI.Decks
return
true
;
}
}
public
override
bool
OnPreBattleBetween
(
ClientCard
attacker
,
ClientCard
defender
)
{
if
(
attacker
.
RealPower
<=
0
)
return
false
;
if
(
attacker
.
Id
==
CardId
.
UltimateConductorTytanno
)
return
true
;
if
(!
attacker
.
IsMonsterHasPreventActivationEffectInBattle
())
{
if
(
defender
.
IsMonsterDangerous
()
||
(
defender
.
IsMonsterInvincible
()
&&
defender
.
IsDefense
()))
return
false
;
if
(
defender
.
Id
==
_CardId
.
CrystalWingSynchroDragon
&&
defender
.
IsAttack
()
&&
!
defender
.
IsDisabled
()
&&
attacker
.
Level
>=
5
)
return
false
;
if
(
defender
.
Id
==
_CardId
.
NumberS39UtopiaTheLightning
&&
defender
.
IsAttack
()
&&
!
defender
.
IsDisabled
()
&&
defender
.
HasXyzMaterial
(
2
,
_CardId
.
Number39Utopia
))
defender
.
RealPower
=
5000
;
if
(
defender
.
Id
==
_CardId
.
VampireFr
ä
ulein
&&
!
defender
.
IsDisabled
())
defender
.
RealPower
+=
(
Enemy
.
LifePoints
>
3000
)
?
3000
:
(
Enemy
.
LifePoints
-
100
);
if
(
defender
.
Id
==
_CardId
.
InjectionFairyLily
&&
!
defender
.
IsDisabled
()
&&
Enemy
.
LifePoints
>
2000
)
defender
.
RealPower
+=
3000
;
}
if
(!
defender
.
IsMonsterHasPreventActivationEffectInBattle
())
{
if
(
attacker
.
Id
==
_CardId
.
NumberS39UtopiaTheLightning
&&
!
attacker
.
IsDisabled
()
&&
attacker
.
HasXyzMaterial
(
2
,
_CardId
.
Number39Utopia
))
attacker
.
RealPower
=
5000
;
}
if
(
Enemy
.
HasInMonstersZone
(
_CardId
.
DupeFrog
,
true
)
&&
defender
.
Id
!=
_CardId
.
DupeFrog
)
return
false
;
if
(
Enemy
.
HasInMonstersZone
(
_CardId
.
MaraudingCaptain
,
true
)
&&
defender
.
Id
!=
_CardId
.
MaraudingCaptain
&&
defender
.
Race
==
(
int
)
CardRace
.
Warrior
)
return
false
;
if
(
defender
.
Id
==
_CardId
.
UltimayaTzolkin
&&
!
defender
.
IsDisabled
())
{
List
<
ClientCard
>
monsters
=
Enemy
.
GetMonsters
();
foreach
(
ClientCard
monster
in
monsters
)
{
if
(
monster
.
HasType
(
CardType
.
Synchro
))
return
false
;
}
}
return
true
;
}
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