Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
V
Vgdpro Scripts
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
xiaoye
Vgdpro Scripts
Commits
dc1dcd06
Commit
dc1dcd06
authored
Feb 26, 2025
by
xiaoye
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
a689b60c
Changes
233
Hide whitespace changes
Inline
Side-by-side
Showing
233 changed files
with
818 additions
and
852 deletions
+818
-852
README.md
README.md
+6
-6
c10000113.lua
c10000113.lua
+3
-3
c10101001.lua
c10101001.lua
+2
-2
c10101006.lua
c10101006.lua
+3
-3
c10102001.lua
c10102001.lua
+3
-3
c10102002.lua
c10102002.lua
+3
-3
c10102003.lua
c10102003.lua
+2
-2
c10102005.lua
c10102005.lua
+1
-1
c10102008.lua
c10102008.lua
+1
-1
c10103001.lua
c10103001.lua
+4
-4
c10103002.lua
c10103002.lua
+1
-1
c10103003.lua
c10103003.lua
+2
-2
c10103005.lua
c10103005.lua
+2
-2
c10103006.lua
c10103006.lua
+3
-3
c10103008.lua
c10103008.lua
+1
-1
c10104001.lua
c10104001.lua
+2
-2
c10104002.lua
c10104002.lua
+2
-2
c10104003.lua
c10104003.lua
+1
-1
c10104006.lua
c10104006.lua
+1
-1
c10104007.lua
c10104007.lua
+1
-1
c10104008.lua
c10104008.lua
+1
-1
c10104015.lua
c10104015.lua
+1
-1
c10105001.lua
c10105001.lua
+3
-3
c10105002.lua
c10105002.lua
+2
-2
c10105003.lua
c10105003.lua
+1
-1
c10105005.lua
c10105005.lua
+2
-2
c10105006.lua
c10105006.lua
+2
-2
c10201001.lua
c10201001.lua
+3
-3
c10202001.lua
c10202001.lua
+3
-3
c10202002.lua
c10202002.lua
+1
-1
c10202003.lua
c10202003.lua
+2
-2
c10202005.lua
c10202005.lua
+2
-2
c10202007.lua
c10202007.lua
+1
-1
c10202009.lua
c10202009.lua
+1
-1
c10202010.lua
c10202010.lua
+1
-1
c10202016.lua
c10202016.lua
+1
-1
c10202017.lua
c10202017.lua
+1
-1
c10203001.lua
c10203001.lua
+1
-1
c10203002.lua
c10203002.lua
+1
-1
c10203005.lua
c10203005.lua
+3
-3
c10203006.lua
c10203006.lua
+2
-2
c10203007.lua
c10203007.lua
+2
-2
c10203008.lua
c10203008.lua
+2
-2
c10203016.lua
c10203016.lua
+1
-1
c10301001.lua
c10301001.lua
+3
-3
c10301002.lua
c10301002.lua
+3
-3
c10301003.lua
c10301003.lua
+1
-1
c10301005.lua
c10301005.lua
+1
-1
c10301007.lua
c10301007.lua
+1
-1
c10301009.lua
c10301009.lua
+1
-1
c10301015.lua
c10301015.lua
+2
-2
c10401001.lua
c10401001.lua
+1
-1
c10401002.lua
c10401002.lua
+3
-3
c10401003.lua
c10401003.lua
+4
-4
c10401004.lua
c10401004.lua
+1
-1
c10401006.lua
c10401006.lua
+2
-2
c10401007.lua
c10401007.lua
+2
-2
c10401008.lua
c10401008.lua
+3
-3
c10401009.lua
c10401009.lua
+2
-2
c10401010.lua
c10401010.lua
+2
-2
c10401011.lua
c10401011.lua
+1
-1
c10401013.lua
c10401013.lua
+1
-1
c10401014.lua
c10401014.lua
+3
-3
c10401015.lua
c10401015.lua
+2
-2
c10401016.lua
c10401016.lua
+2
-2
c10401017.lua
c10401017.lua
+2
-2
c10401019.lua
c10401019.lua
+1
-1
c10401020.lua
c10401020.lua
+1
-1
c10401021.lua
c10401021.lua
+1
-1
c10401022.lua
c10401022.lua
+1
-1
c10401023.lua
c10401023.lua
+2
-2
c10401024.lua
c10401024.lua
+1
-1
c10401025.lua
c10401025.lua
+1
-1
c10401026.lua
c10401026.lua
+4
-4
c10401027.lua
c10401027.lua
+2
-2
c10401028.lua
c10401028.lua
+2
-2
c10401030.lua
c10401030.lua
+2
-2
c10401031.lua
c10401031.lua
+3
-3
c10401032.lua
c10401032.lua
+3
-3
c10401033.lua
c10401033.lua
+2
-2
c10401035.lua
c10401035.lua
+2
-2
c10401036.lua
c10401036.lua
+3
-3
c10401038.lua
c10401038.lua
+2
-2
c10401039.lua
c10401039.lua
+2
-2
c10401040.lua
c10401040.lua
+1
-1
c10401042.lua
c10401042.lua
+3
-3
c10401044.lua
c10401044.lua
+1
-1
c10401046.lua
c10401046.lua
+1
-1
c10401047.lua
c10401047.lua
+1
-1
c10401048.lua
c10401048.lua
+1
-1
c10401049.lua
c10401049.lua
+3
-3
c10401050.lua
c10401050.lua
+2
-2
c10401051.lua
c10401051.lua
+1
-1
c10401052.lua
c10401052.lua
+3
-3
c10401056.lua
c10401056.lua
+2
-2
c10401057.lua
c10401057.lua
+2
-2
c10401058.lua
c10401058.lua
+1
-1
c10401060.lua
c10401060.lua
+1
-1
c10401061.lua
c10401061.lua
+1
-1
c10401067.lua
c10401067.lua
+1
-5
c10401069.lua
c10401069.lua
+3
-3
c10401070.lua
c10401070.lua
+1
-1
c10401071.lua
c10401071.lua
+1
-1
c10401072.lua
c10401072.lua
+2
-2
c10401073.lua
c10401073.lua
+1
-1
c10401074.lua
c10401074.lua
+2
-2
c10401075.lua
c10401075.lua
+2
-2
c10401081.lua
c10401081.lua
+1
-1
c10401083.lua
c10401083.lua
+1
-1
c10401084.lua
c10401084.lua
+2
-2
c10401085.lua
c10401085.lua
+1
-1
c10401092.lua
c10401092.lua
+1
-1
c10401093.lua
c10401093.lua
+2
-2
c10401094.lua
c10401094.lua
+1
-1
c10401096.lua
c10401096.lua
+1
-1
c10401098.lua
c10401098.lua
+1
-1
c10401099.lua
c10401099.lua
+2
-2
c10401100.lua
c10401100.lua
+1
-1
c10401106.lua
c10401106.lua
+5
-9
c10401107.lua
c10401107.lua
+1
-1
c10401108.lua
c10401108.lua
+2
-2
c10401109.lua
c10401109.lua
+2
-2
c10401111.lua
c10401111.lua
+2
-2
c10401112.lua
c10401112.lua
+2
-2
c10401118.lua
c10401118.lua
+2
-7
c10401119.lua
c10401119.lua
+1
-1
c10401120.lua
c10401120.lua
+2
-2
c10402002.lua
c10402002.lua
+2
-2
c10402003.lua
c10402003.lua
+2
-2
c10402004.lua
c10402004.lua
+1
-1
c10402005.lua
c10402005.lua
+3
-3
c10402006.lua
c10402006.lua
+3
-3
c10402007.lua
c10402007.lua
+1
-1
c10402008.lua
c10402008.lua
+3
-3
c10402009.lua
c10402009.lua
+3
-3
c10402010.lua
c10402010.lua
+2
-2
c10402011.lua
c10402011.lua
+1
-1
c10402013.lua
c10402013.lua
+2
-2
c10402014.lua
c10402014.lua
+1
-1
c10402015.lua
c10402015.lua
+2
-2
c10402016.lua
c10402016.lua
+2
-2
c10402017.lua
c10402017.lua
+3
-3
c10402018.lua
c10402018.lua
+2
-2
c10402019.lua
c10402019.lua
+1
-1
c10402020.lua
c10402020.lua
+2
-2
c10402021.lua
c10402021.lua
+2
-2
c10402022.lua
c10402022.lua
+1
-1
c10402023.lua
c10402023.lua
+2
-2
c10402024.lua
c10402024.lua
+1
-1
c10402026.lua
c10402026.lua
+3
-3
c10402027.lua
c10402027.lua
+1
-1
c10402028.lua
c10402028.lua
+3
-3
c10402029.lua
c10402029.lua
+2
-2
c10402031.lua
c10402031.lua
+1
-6
c10402032.lua
c10402032.lua
+1
-1
c10402033.lua
c10402033.lua
+1
-1
c10402037.lua
c10402037.lua
+1
-1
c10402038.lua
c10402038.lua
+1
-1
c10402039.lua
c10402039.lua
+1
-1
c10402041.lua
c10402041.lua
+1
-1
c10402044.lua
c10402044.lua
+1
-1
c10402045.lua
c10402045.lua
+3
-3
c10402046.lua
c10402046.lua
+1
-1
c10501001.lua
c10501001.lua
+3
-3
c10501003.lua
c10501003.lua
+3
-3
c10501020.lua
c10501020.lua
+4
-4
c10501034.lua
c10501034.lua
+3
-3
c10501035.lua
c10501035.lua
+2
-2
c10501036.lua
c10501036.lua
+2
-2
c10501038.lua
c10501038.lua
+1
-1
c10501039.lua
c10501039.lua
+1
-1
c10501040.lua
c10501040.lua
+1
-1
c10501041.lua
c10501041.lua
+1
-1
c10501042.lua
c10501042.lua
+1
-1
c10501043.lua
c10501043.lua
+1
-1
c10501044.lua
c10501044.lua
+1
-1
c10501045.lua
c10501045.lua
+1
-1
c10501046.lua
c10501046.lua
+1
-1
c10501047.lua
c10501047.lua
+3
-3
c10501048.lua
c10501048.lua
+3
-3
c10501049.lua
c10501049.lua
+3
-3
c10501050.lua
c10501050.lua
+3
-3
c10501051.lua
c10501051.lua
+3
-3
c10501052.lua
c10501052.lua
+2
-2
c10501053.lua
c10501053.lua
+1
-1
c10501054.lua
c10501054.lua
+1
-1
c10501056.lua
c10501056.lua
+1
-1
c10501057.lua
c10501057.lua
+1
-1
c10501058.lua
c10501058.lua
+1
-1
c10501059.lua
c10501059.lua
+1
-1
c10501060.lua
c10501060.lua
+1
-1
c10501061.lua
c10501061.lua
+1
-1
c10501062.lua
c10501062.lua
+1
-1
c10501063.lua
c10501063.lua
+2
-2
c10501065.lua
c10501065.lua
+1
-1
c10501066.lua
c10501066.lua
+3
-3
c10501067.lua
c10501067.lua
+2
-2
c10501068.lua
c10501068.lua
+1
-1
c10501069.lua
c10501069.lua
+1
-1
c10501070.lua
c10501070.lua
+2
-2
c10501072.lua
c10501072.lua
+1
-1
c10501074.lua
c10501074.lua
+1
-1
c10501075.lua
c10501075.lua
+1
-1
c10501076.lua
c10501076.lua
+1
-1
c10501077.lua
c10501077.lua
+1
-1
c10501079.lua
c10501079.lua
+1
-1
c10501080.lua
c10501080.lua
+1
-1
c10501081.lua
c10501081.lua
+1
-1
c10501082.lua
c10501082.lua
+4
-4
c10501083.lua
c10501083.lua
+1
-1
c10501085.lua
c10501085.lua
+1
-1
c10501086.lua
c10501086.lua
+1
-1
c10501087.lua
c10501087.lua
+2
-2
c10501088.lua
c10501088.lua
+1
-1
c10501089.lua
c10501089.lua
+1
-1
c10501090.lua
c10501090.lua
+2
-2
c10501091.lua
c10501091.lua
+1
-1
c10501092.lua
c10501092.lua
+3
-3
c10501093.lua
c10501093.lua
+1
-1
c10501094.lua
c10501094.lua
+1
-1
c10501095.lua
c10501095.lua
+1
-1
c10501097.lua
c10501097.lua
+1
-1
c10501117.lua
c10501117.lua
+1
-1
c10501118.lua
c10501118.lua
+2
-2
c10501119.lua
c10501119.lua
+2
-2
c10501120.lua
c10501120.lua
+1
-1
c20101001.lua
c20101001.lua
+3
-3
c20103001.lua
c20103001.lua
+2
-2
c20104001.lua
c20104001.lua
+2
-2
c20106001.lua
c20106001.lua
+2
-2
vgd.lua
vgd.lua
+56
-56
vgdefinition.lua
vgdefinition.lua
+1
-1
vgfuncLib.lua
vgfuncLib.lua
+358
-374
No files found.
README.md
View file @
dc1dcd06
...
@@ -225,17 +225,17 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -225,17 +225,17 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local
e1
=
vgf
.
AtkUp
(
c
,
c
,
5000
,
nil
)
local
e1
=
vgf
.
AtkUp
(
c
,
c
,
5000
,
nil
)
vgf
.
EffectReset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
EffectReset
(
c
,
e1
,
EVENT_BATTLED
)
end
end
if
vgf
.
GetMatchingGroup
(
vgf
.
VMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
,
nil
):
GetFirst
():
GetOverlayCount
()
>=
2
and
Duel
.
SelectEffectYesNo
(
tp
,
vgf
.
stringid
(
VgID
,
10
))
then
if
vgf
.
GetMatchingGroup
(
vgf
.
filter
.
IsV
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
,
nil
):
GetFirst
():
GetOverlayCount
()
>=
2
and
Duel
.
SelectEffectYesNo
(
tp
,
vgf
.
stringid
(
VgID
,
10
))
then
local
cg
=
vgf
.
GetMatchingGroup
(
vgf
.
VMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
):
GetFirst
():
GetOverlayGroup
():
Select
(
tp
,
2
,
2
,
nil
)
local
cg
=
vgf
.
GetMatchingGroup
(
vgf
.
filter
.
IsV
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
):
GetFirst
():
GetOverlayGroup
():
Select
(
tp
,
2
,
2
,
nil
)
if
vgf
.
Sendto
(
LOCATION_DROP
,
cg
,
REASON_COST
)
==
2
then
if
vgf
.
Sendto
(
LOCATION_DROP
,
cg
,
REASON_COST
)
==
2
then
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_LEAVEFIELD
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_CIRCLE
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_LEAVEFIELD
,
e
,
tp
,
vgf
.
filter
.
IsR
,
tp
,
0
,
LOCATION_CIRCLE
,
1
,
1
,
nil
)
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
end
end
end
end
end
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
vgf
.
RMonsterCondition
(
e
)
and
c
:
GetFlagEffectLabel
(
FLAG_CONDITION
)
==
201
and
vgf
.
VMonsterFilter
(
Duel
.
GetAttackTarget
())
return
vgf
.
con
.
IsR
(
e
)
and
c
:
GetFlagEffectLabel
(
FLAG_CONDITION
)
==
201
and
vgf
.
filter
.
IsV
(
Duel
.
GetAttackTarget
())
end
end
```
```
...
@@ -294,7 +294,7 @@ vgd.AbilityContChangeAttack(c,m, loc, typ, val[, con, tg, loc_self, loc_op, rese
...
@@ -294,7 +294,7 @@ vgd.AbilityContChangeAttack(c,m, loc, typ, val[, con, tg, loc_self, loc_op, rese
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgf
.
VgCard
(
c
)
vgf
.
VgCard
(
c
)
vgd
.
AbilityContChangeAttack
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
5000
,
function
(
e
)
return
vgf
.
RMonsterCondition
(
e
)
and
cm
.
con
(
e
)
end
)
vgd
.
AbilityContChangeAttack
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
5000
,
function
(
e
)
return
vgf
.
con
.
IsR
(
e
)
and
cm
.
con
(
e
)
end
)
vgd
.
AbilityContChangeDefense
(
c
,
m
,
EFFECT_TYPE_SINGLE
,
5000
,
cm
.
con
)
vgd
.
AbilityContChangeDefense
(
c
,
m
,
EFFECT_TYPE_SINGLE
,
5000
,
cm
.
con
)
end
end
function
cm
.
con
(
e
)
function
cm
.
con
(
e
)
...
@@ -358,7 +358,7 @@ function cm.initial_effect(c)
...
@@ -358,7 +358,7 @@ function cm.initial_effect(c)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
end
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
VMonsterCondition
(
e
)
and
vgf
.
IsExistingMatchingCard
(
Card
.
IsLevel
,
tp
,
LOCATION_CIRCLE
,
0
,
3
,
nil
,
3
)
return
vgf
.
con
.
IsV
(
e
)
and
vgf
.
IsExistingMatchingCard
(
Card
.
IsLevel
,
tp
,
LOCATION_CIRCLE
,
0
,
3
,
nil
,
3
)
end
end
```
```
...
...
c10000113.lua
View file @
dc1dcd06
...
@@ -9,7 +9,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -9,7 +9,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_MONSTER
,
e
,
tp
,
Card
.
IsFaceup
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_MONSTER
,
e
,
tp
,
Card
.
IsFaceup
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
local
tc
=
g
:
GetFirst
()
local
tc
=
g
:
GetFirst
()
if
vgf
.
RMonsterFilter
(
tc
)
then
if
vgf
.
filter
.
IsR
(
tc
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
...
@@ -18,8 +18,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -18,8 +18,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetValue
(
1
)
e1
:
SetValue
(
1
)
tc
:
RegisterEffect
(
e1
)
tc
:
RegisterEffect
(
e1
)
vgf
.
Effect
Reset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
elseif
vgf
.
VMonsterFilter
(
tc
)
then
elseif
vgf
.
filter
.
IsV
(
tc
)
then
tc
:
RegisterFlagEffect
(
FLAG_DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
tc
:
RegisterFlagEffect
(
FLAG_DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
end
end
end
end
...
...
c10101001.lua
View file @
dc1dcd06
...
@@ -2,8 +2,8 @@
...
@@ -2,8 +2,8 @@
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
vgf
.
op
.
CardsFromTo
(
REASON_EFFECT
,
LOCATION_CIRCLE
,
LOCATION_DROP
,
cm
.
filter
),
vgf
.
cost
.
Discard
(
1
),
vgf
.
VMonsterCondition
,
nil
,
1
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
vgf
.
op
.
CardsFromTo
(
REASON_EFFECT
,
LOCATION_CIRCLE
,
LOCATION_DROP
,
cm
.
filter
),
vgf
.
cost
.
Discard
(
1
),
vgf
.
con
.
IsV
,
nil
,
1
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
operation
,
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
VMonsterCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
operation
,
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
con
.
IsV
)
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
c
:
IsLevel
(
0
)
return
c
:
IsLevel
(
0
)
...
...
c10101006.lua
View file @
dc1dcd06
...
@@ -9,15 +9,15 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -9,15 +9,15 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
then
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
then
local
e1
=
vgf
.
AtkUp
(
c
,
c
,
5000
,
nil
)
local
e1
=
vgf
.
AtkUp
(
c
,
c
,
5000
,
nil
)
vgf
.
Effect
Reset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
end
end
if
vgf
.
cost
.
SoulBlast
(
2
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
0
)
and
Duel
.
SelectEffectYesNo
(
tp
,
vgf
.
stringid
(
VgID
,
10
))
then
if
vgf
.
cost
.
SoulBlast
(
2
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
0
)
and
Duel
.
SelectEffectYesNo
(
tp
,
vgf
.
stringid
(
VgID
,
10
))
then
vgf
.
cost
.
SoulBlast
(
2
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
1
)
vgf
.
cost
.
SoulBlast
(
2
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
1
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_LEAVEFIELD
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_CIRCLE
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_LEAVEFIELD
,
e
,
tp
,
vgf
.
filter
.
IsR
,
tp
,
0
,
LOCATION_CIRCLE
,
1
,
1
,
nil
)
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
end
end
end
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
vgf
.
RMonsterCondition
(
e
)
and
c
:
GetFlagEffectLabel
(
FLAG_CONDITION
)
==
201
and
vgf
.
VMonsterFilter
(
Duel
.
GetAttackTarget
())
return
vgf
.
con
.
IsR
(
e
)
and
c
:
GetFlagEffectLabel
(
FLAG_CONDITION
)
==
201
and
vgf
.
filter
.
IsV
(
Duel
.
GetAttackTarget
())
end
end
\ No newline at end of file
c10102001.lua
View file @
dc1dcd06
...
@@ -9,13 +9,13 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -9,13 +9,13 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel
.
RegisterFlagEffect
(
tp
,
FLAG_CONDITION
,
RESET_PHASE
+
PHASE_END
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
m
,
vgf
.
Stringid
(
m
,
0
))
Duel
.
RegisterFlagEffect
(
tp
,
FLAG_CONDITION
,
RESET_PHASE
+
PHASE_END
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
m
,
vgf
.
Stringid
(
m
,
0
))
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetTurnPlayer
()
==
tp
and
vgf
.
VMonsterCondition
(
e
)
return
Duel
.
GetTurnPlayer
()
==
tp
and
vgf
.
con
.
IsV
(
e
)
end
end
function
cm
.
op2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
vgf
.
GetMatchingGroup
(
vgf
.
IsSequence
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
,
0
,
4
)
local
g
=
vgf
.
GetMatchingGroup
(
Card
.
IsSequence
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
,
0
,
4
)
Duel
.
ChangePosition
(
g
,
POS_FACEUP_ATTACK
)
Duel
.
ChangePosition
(
g
,
POS_FACEUP_ATTACK
)
end
end
function
cm
.
con2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ct
=
Duel
.
GetFlagEffectLabel
(
tp
,
FLAG_CONDITION
)
local
ct
=
Duel
.
GetFlagEffectLabel
(
tp
,
FLAG_CONDITION
)
return
vgf
.
GetValueType
(
ct
)
==
"number"
and
ct
==
10102001
and
vgf
.
VMonsterCondition
(
e
)
return
vgf
.
GetValueType
(
ct
)
==
"number"
and
ct
==
10102001
and
vgf
.
con
.
IsV
(
e
)
end
end
\ No newline at end of file
c10102002.lua
View file @
dc1dcd06
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
cm
.
cost
,
vgf
.
VSummonCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
cm
.
cost
,
vgf
.
con
.
RideOnVCircle
)
vgd
.
AbilityCont
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EFFECT_UPDATE_ATTACK
,
5000
,
cm
.
con
)
vgd
.
AbilityCont
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EFFECT_UPDATE_ATTACK
,
5000
,
cm
.
con
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
@@ -9,8 +9,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -9,8 +9,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
vgf
.
IsExistingMatchingCard
(
vgf
.
RMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
nil
)
end
if
chk
==
0
then
return
vgf
.
IsExistingMatchingCard
(
vgf
.
filter
.
IsR
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
nil
)
end
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_XMATERIAL
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_XMATERIAL
,
e
,
tp
,
vgf
.
filter
.
IsR
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
vgf
.
Sendto
(
LOCATION_SOUL
,
g
,
c
)
vgf
.
Sendto
(
LOCATION_SOUL
,
g
,
c
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
...
c10102003.lua
View file @
dc1dcd06
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
nil
,
vgf
.
VSummonCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
nil
,
vgf
.
con
.
RideOnVCircle
)
vgd
.
AbilityCont
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EFFECT_UPDATE_ATTACK
,
5000
,
cm
.
con
)
vgd
.
AbilityCont
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EFFECT_UPDATE_ATTACK
,
5000
,
cm
.
con
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
@@ -11,7 +11,7 @@ end
...
@@ -11,7 +11,7 @@ end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CALL
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CALL
)
local
g
=
vgf
.
GetMatchingGroup
(
vgf
.
VMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
):
GetFirst
():
GetOverlayGroup
():
FilterSelect
(
tp
,
vgf
.
IsCanBeCalled
,
1
,
1
,
nil
,
e
,
tp
,
nil
,
nil
,
0x4
)
local
g
=
vgf
.
GetMatchingGroup
(
vgf
.
filter
.
IsV
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
):
GetFirst
():
GetOverlayGroup
():
FilterSelect
(
tp
,
vgf
.
IsCanBeCalled
,
1
,
1
,
nil
,
e
,
tp
,
nil
,
nil
,
0x4
)
vgf
.
Sendto
(
LOCATION_CIRCLE
,
g
,
0
,
tp
,
0x4
)
vgf
.
Sendto
(
LOCATION_CIRCLE
,
g
,
0
,
tp
,
0x4
)
vgf
.
op
.
SoulCharge
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
vgf
.
op
.
SoulCharge
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
end
c10102005.lua
View file @
dc1dcd06
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
nil
,
vgf
.
RSummonCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
nil
,
vgf
.
con
.
RideOnRCircle
)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
...
c10102008.lua
View file @
dc1dcd06
...
@@ -11,7 +11,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -11,7 +11,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
vgf
.
op
.
SoulCharge
(
num
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
vgf
.
op
.
SoulCharge
(
num
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
end
function
cm
.
con1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
RMonsterCondition
(
e
)
and
vgf
.
GetVMonster
(
tp
):
IsCode
(
10102001
)
return
vgf
.
con
.
IsR
(
e
)
and
vgf
.
GetVMonster
(
tp
):
IsCode
(
10102001
)
end
end
function
cm
.
con2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
cm
.
con1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
and
eg
:
GetFirst
()
==
e
:
GetHandler
()
return
cm
.
con1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
and
eg
:
GetFirst
()
==
e
:
GetHandler
()
...
...
c10103001.lua
View file @
dc1dcd06
...
@@ -15,7 +15,7 @@ function cm.checkcon(e,tp,eg,ep,ev,re,r,rp)
...
@@ -15,7 +15,7 @@ function cm.checkcon(e,tp,eg,ep,ev,re,r,rp)
return
Duel
.
GetAttackTarget
()
and
Duel
.
GetAttacker
()
and
eg
:
IsExists
(
cm
.
checkfilter
,
1
,
nil
,
Duel
.
GetAttacker
():
GetControler
())
return
Duel
.
GetAttackTarget
()
and
Duel
.
GetAttacker
()
and
eg
:
IsExists
(
cm
.
checkfilter
,
1
,
nil
,
Duel
.
GetAttacker
():
GetControler
())
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
vgf
.
RMonsterFilter
(
c
)
and
c
:
IsDefensePos
()
return
vgf
.
filter
.
IsR
(
c
)
and
c
:
IsDefensePos
()
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
@@ -27,16 +27,16 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -27,16 +27,16 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
vgf
.
VMonsterCondition
(
e
)
and
Duel
.
GetFlagEffect
(
tp
,
m
)
>
0
return
vgf
.
con
.
IsV
(
e
)
and
Duel
.
GetFlagEffect
(
tp
,
m
)
>
0
end
end
function
cm
.
target
(
e
,
c
)
function
cm
.
target
(
e
,
c
)
return
c
:
IsLevel
(
3
)
and
Duel
.
GetTurnPlayer
()
==
e
:
GetHandlerPlayer
()
return
c
:
IsLevel
(
3
)
and
Duel
.
GetTurnPlayer
()
==
e
:
GetHandlerPlayer
()
end
end
function
cm
.
con
(
e
)
function
cm
.
con
(
e
)
local
tp
=
e
:
GetHandlerPlayer
()
local
tp
=
e
:
GetHandlerPlayer
()
return
vgf
.
VMonsterCondition
(
e
)
and
Duel
.
GetTurnPlayer
()
==
tp
return
vgf
.
con
.
IsV
(
e
)
and
Duel
.
GetTurnPlayer
()
==
tp
end
end
function
cm
.
checkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
checkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
e1
=
Duel
.
RegisterFlagEffect
(
Duel
.
GetAttacker
():
GetControler
(),
m
,
RESET_PHASE
+
PHASE_END
,
0
,
1
)
local
e1
=
Duel
.
RegisterFlagEffect
(
Duel
.
GetAttacker
():
GetControler
(),
m
,
RESET_PHASE
+
PHASE_END
,
0
,
1
)
vgf
.
Effect
Reset
(
e
:
GetHandler
(),
e1
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
e
:
GetHandler
(),
e1
,
EVENT_BATTLED
)
end
end
\ No newline at end of file
c10103002.lua
View file @
dc1dcd06
...
@@ -25,5 +25,5 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -25,5 +25,5 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
function
cm
.
condition
(
e
,
c
)
function
cm
.
condition
(
e
,
c
)
local
tp
=
e
:
GetHandlerPlayer
()
local
tp
=
e
:
GetHandlerPlayer
()
return
vgf
.
RMonsterCondition
(
e
)
and
vgf
.
IsExistingMatchingCard
(
Card
.
IsLevel
,
tp
,
LOCATION_CIRCLE
+
LOCATION_G_CIRCLE
,
0
,
3
,
nil
,
3
)
and
Duel
.
GetTurnPlayer
()
==
tp
return
vgf
.
con
.
IsR
(
e
)
and
vgf
.
IsExistingMatchingCard
(
Card
.
IsLevel
,
tp
,
LOCATION_CIRCLE
+
LOCATION_G_CIRCLE
,
0
,
3
,
nil
,
3
)
and
Duel
.
GetTurnPlayer
()
==
tp
end
end
\ No newline at end of file
c10103003.lua
View file @
dc1dcd06
...
@@ -3,7 +3,7 @@ local cm,m,o=GetID()
...
@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
BeRidedByCard
(
c
,
m
,
10103002
,
cm
.
operation
,
cm
.
cost
)
vgd
.
BeRidedByCard
(
c
,
m
,
10103002
,
cm
.
operation
,
cm
.
cost
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
operation2
,
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
RMonsterCondition
,
nil
,
1
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
operation2
,
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
con
.
IsR
,
nil
,
1
)
end
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
vgf
.
IsExistingMatchingCard
(
Card
.
IsLevel
,
tp
,
LOCATION_HAND
,
0
,
2
,
nil
,
3
)
end
if
chk
==
0
then
return
vgf
.
IsExistingMatchingCard
(
Card
.
IsLevel
,
tp
,
LOCATION_HAND
,
0
,
2
,
nil
,
3
)
end
...
@@ -30,5 +30,5 @@ function cm.operation2(e,tp,eg,ep,ev,re,r,rp)
...
@@ -30,5 +30,5 @@ function cm.operation2(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
c
:
IsLevel
(
3
)
and
vgf
.
VMonsterFilter
(
c
)
return
c
:
IsLevel
(
3
)
and
vgf
.
filter
.
IsV
(
c
)
end
end
\ No newline at end of file
c10103005.lua
View file @
dc1dcd06
...
@@ -3,12 +3,12 @@ local cm,m,o=GetID()
...
@@ -3,12 +3,12 @@ local cm,m,o=GetID()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
--【自】【R】:这个单位攻击时,通过【费用】[计数爆发1],这次战斗中,这个单位的力量+5000。
--【自】【R】:这个单位攻击时,通过【费用】[计数爆发1],这次战斗中,这个单位的力量+5000。
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
operation
,
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
RMonsterCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
operation
,
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
con
.
IsR
)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
then
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
then
local
e1
=
vgf
.
AtkUp
(
c
,
c
,
5000
,
nil
)
local
e1
=
vgf
.
AtkUp
(
c
,
c
,
5000
,
nil
)
vgf
.
Effect
Reset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
end
end
end
end
c10103006.lua
View file @
dc1dcd06
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
operation
,
cm
.
cost
,
vgf
.
RMonsterCondition
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
operation
,
cm
.
cost
,
vgf
.
con
.
IsR
)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
@@ -10,11 +10,11 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -10,11 +10,11 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
vgf
.
AtkUp
(
c
,
g
,
10000
,
nil
)
vgf
.
AtkUp
(
c
,
g
,
10000
,
nil
)
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
c
:
IsLevel
(
3
)
and
vgf
.
RMonsterFilter
(
c
)
return
c
:
IsLevel
(
3
)
and
vgf
.
filter
.
IsR
(
c
)
end
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
c
:
IsRelateToEffect
(
e
)
end
if
chk
==
0
then
return
c
:
IsRelateToEffect
(
e
)
end
local
rc
=
vgf
.
GetMatchingGroup
(
vgf
.
VMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
):
GetFirst
()
local
rc
=
vgf
.
GetMatchingGroup
(
vgf
.
filter
.
IsV
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
):
GetFirst
()
vgf
.
Sendto
(
LOCATION_SOUL
,
c
,
rc
)
vgf
.
Sendto
(
LOCATION_SOUL
,
c
,
rc
)
end
end
\ No newline at end of file
c10103008.lua
View file @
dc1dcd06
...
@@ -3,7 +3,7 @@ local cm,m,o=GetID()
...
@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
--【起】【R】:通过【费用】[灵魂爆发2],这个回合中,这个单位的力量+5000。
--【起】【R】:通过【费用】[灵魂爆发2],这个回合中,这个单位的力量+5000。
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
operation
,
vgf
.
cost
.
SoulBlast
(
2
),
vgf
.
RMonsterCondition
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
operation
,
vgf
.
cost
.
SoulBlast
(
2
),
vgf
.
con
.
IsR
)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
...
c10104001.lua
View file @
dc1dcd06
...
@@ -9,7 +9,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -9,7 +9,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
ct
=
1
local
ct
=
1
if
c
:
IsSummonType
(
SUMMON_TYPE_SELFRIDE
)
then
ct
=
3
end
if
c
:
IsSummonType
(
SUMMON_TYPE_SELFRIDE
)
then
ct
=
3
end
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
ct
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
e
,
tp
,
vgf
.
filter
.
IsR
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
ct
,
nil
)
if
g
then
if
g
then
Duel
.
Hintselectgion
(
g
)
Duel
.
Hintselectgion
(
g
)
for
tc
in
vgf
.
Next
(
g
)
do
for
tc
in
vgf
.
Next
(
g
)
do
...
@@ -19,5 +19,5 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -19,5 +19,5 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
VMonsterCondition
(
e
)
and
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
return
vgf
.
con
.
IsV
(
e
)
and
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
end
end
\ No newline at end of file
c10104002.lua
View file @
dc1dcd06
...
@@ -23,10 +23,10 @@ function cm.operation2(e,tp,eg,ep,ev,re,r,rp)
...
@@ -23,10 +23,10 @@ function cm.operation2(e,tp,eg,ep,ev,re,r,rp)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
then
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
then
local
e1
=
vgf
.
AtkUp
(
c
,
c
,
10000
)
local
e1
=
vgf
.
AtkUp
(
c
,
c
,
10000
)
vgf
.
Effect
Reset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
end
end
end
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
vgf
.
IsSequence
(
c
,
1
,
2
,
3
)
and
vgf
.
VMonsterFilter
(
Duel
.
GetAttackTarget
())
return
Card
.
IsSequence
(
c
,
1
,
2
,
3
)
and
vgf
.
filter
.
IsV
(
Duel
.
GetAttackTarget
())
end
end
\ No newline at end of file
c10104003.lua
View file @
dc1dcd06
...
@@ -21,5 +21,5 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -21,5 +21,5 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
function
cm
.
con
(
e
)
function
cm
.
con
(
e
)
return
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
and
vgf
.
IsSequence
(
c
,
1
,
2
,
3
)
return
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
and
Card
.
IsSequence
(
c
,
1
,
2
,
3
)
end
end
\ No newline at end of file
c10104006.lua
View file @
dc1dcd06
...
@@ -6,5 +6,5 @@ end
...
@@ -6,5 +6,5 @@ end
function
cm
.
con
(
e
)
function
cm
.
con
(
e
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
tp
=
e
:
GetHandlerPlayer
()
local
tp
=
e
:
GetHandlerPlayer
()
return
vgf
.
RMonsterCondition
(
e
)
and
vgf
.
IsExistingMatchingCard
(
vgf
.
RMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
4
,
c
)
return
vgf
.
con
.
IsR
(
e
)
and
vgf
.
IsExistingMatchingCard
(
vgf
.
filter
.
IsR
,
tp
,
LOCATION_CIRCLE
,
0
,
4
,
c
)
end
end
\ No newline at end of file
c10104007.lua
View file @
dc1dcd06
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
operation
,
cm
.
cost
,
vgf
.
RMonsterCondition
,
nil
,
1
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
operation
,
cm
.
cost
,
vgf
.
con
.
IsR
,
nil
,
1
)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
...
c10104008.lua
View file @
dc1dcd06
...
@@ -3,7 +3,7 @@ local cm,m,o=GetID()
...
@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
--【起】【R】【1回合1次】:通过【费用】[灵魂爆发2],公开你的牌堆顶的1张卡,那张卡是单位卡的话,CALL到R上,不是的话,加入手牌
--【起】【R】【1回合1次】:通过【费用】[灵魂爆发2],公开你的牌堆顶的1张卡,那张卡是单位卡的话,CALL到R上,不是的话,加入手牌
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
operation
,
vgf
.
cost
.
SoulBlast
(
2
),
vgf
.
RMonsterCondition
,
nil
,
1
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
operation
,
vgf
.
cost
.
SoulBlast
(
2
),
vgf
.
con
.
IsR
,
nil
,
1
)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
...
c10104015.lua
View file @
dc1dcd06
...
@@ -9,7 +9,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -9,7 +9,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
e
,
tp
,
nil
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
e
,
tp
,
nil
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
local
atk
=
5000
local
atk
=
5000
if
vgf
.
IsExistingMatchingCard
(
vgf
.
IsSequence
,
tp
,
LOCATION_CIRCLE
,
0
,
3
,
nil
,
1
,
2
,
3
)
then
atk
=
15000
end
if
vgf
.
IsExistingMatchingCard
(
Card
.
IsSequence
,
tp
,
LOCATION_CIRCLE
,
0
,
3
,
nil
,
1
,
2
,
3
)
then
atk
=
15000
end
if
g
then
if
g
then
vgf
.
AtkUp
(
c
,
g
,
atk
)
vgf
.
AtkUp
(
c
,
g
,
atk
)
end
end
...
...
c10105001.lua
View file @
dc1dcd06
...
@@ -7,17 +7,17 @@ function cm.initial_effect(c)
...
@@ -7,17 +7,17 @@ function cm.initial_effect(c)
end
end
function
cm
.
con
(
e
,
c
)
function
cm
.
con
(
e
,
c
)
local
tp
=
e
:
GetHandlerPlayer
()
local
tp
=
e
:
GetHandlerPlayer
()
return
Duel
.
GetTurnPlayer
()
==
tp
and
vgf
.
VMonsterCondition
(
e
)
and
vgf
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_ORDER
,
0
,
1
,
nil
)
return
Duel
.
GetTurnPlayer
()
==
tp
and
vgf
.
con
.
IsV
(
e
)
and
vgf
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_ORDER
,
0
,
1
,
nil
)
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
c
:
GetFlagEffect
(
FLAG_IMPRISON
)
>
0
return
c
:
GetFlagEffect
(
FLAG_IMPRISON
)
>
0
end
end
function
cm
.
op1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
vgf
.
CheckPrison
(
tp
)
then
return
end
if
not
vgf
.
CheckPrison
(
tp
)
then
return
end
local
g1
=
vgf
.
SelectMatchingCard
(
HINTMSG_IMPRISON
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_CIRCLE
,
2
,
2
,
nil
)
local
g1
=
vgf
.
SelectMatchingCard
(
HINTMSG_IMPRISON
,
e
,
tp
,
vgf
.
filter
.
IsR
,
tp
,
0
,
LOCATION_CIRCLE
,
2
,
2
,
nil
)
vgf
.
SendtoPrison
(
g1
,
tp
)
vgf
.
SendtoPrison
(
g1
,
tp
)
end
end
function
cm
.
con2
(
e
,
c
)
function
cm
.
con2
(
e
,
c
)
local
tp
=
e
:
GetHandlerPlayer
()
local
tp
=
e
:
GetHandlerPlayer
()
return
Duel
.
GetTurnPlayer
()
==
tp
and
vgf
.
VMonsterCondition
(
e
)
and
vgf
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_ORDER
,
0
,
3
,
nil
)
return
Duel
.
GetTurnPlayer
()
==
tp
and
vgf
.
con
.
IsV
(
e
)
and
vgf
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_ORDER
,
0
,
3
,
nil
)
end
end
\ No newline at end of file
c10105002.lua
View file @
dc1dcd06
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
nil
,
vgf
.
VSummonCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
nil
,
vgf
.
con
.
RideOnVCircle
)
vgd
.
AbilityCont
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EFFECT_UPDATE_ATTACK
,
2000
,
cm
.
con
)
vgd
.
AbilityCont
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EFFECT_UPDATE_ATTACK
,
2000
,
cm
.
con
)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
@@ -13,7 +13,7 @@ end
...
@@ -13,7 +13,7 @@ end
function
cm
.
con
(
e
)
function
cm
.
con
(
e
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
tp
=
e
:
GetHandlerPlayer
()
local
tp
=
e
:
GetHandlerPlayer
()
return
vgf
.
RMonsterFilter
(
c
)
and
vgf
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_ORDER
,
0
,
1
,
nil
)
return
vgf
.
filter
.
IsR
(
c
)
and
vgf
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_ORDER
,
0
,
1
,
nil
)
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
c
:
GetFlagEffect
(
FLAG_IMPRISON
)
>
0
return
c
:
GetFlagEffect
(
FLAG_IMPRISON
)
>
0
...
...
c10105003.lua
View file @
dc1dcd06
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
vgf
.
op
.
CardsFromTo
(
REASON_EFFECT
,
LOCATION_HAND
,
LOCATION_DECK
,
cm
.
filter
),
nil
,
vgf
.
VSummonCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
vgf
.
op
.
CardsFromTo
(
REASON_EFFECT
,
LOCATION_HAND
,
LOCATION_DECK
,
cm
.
filter
),
nil
,
vgf
.
con
.
RideOnVCircle
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation1
,
cm
.
cost
,
cm
.
condition
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation1
,
cm
.
cost
,
cm
.
condition
)
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
...
...
c10105005.lua
View file @
dc1dcd06
...
@@ -5,11 +5,11 @@ function cm.initial_effect(c)
...
@@ -5,11 +5,11 @@ function cm.initial_effect(c)
end
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
vgf
.
RMonsterFilter
(
c
)
and
vgf
.
IsSequence
(
Duel
.
GetAttackTarget
(),
5
)
return
vgf
.
filter
.
IsR
(
c
)
and
Card
.
IsSequence
(
Duel
.
GetAttackTarget
(),
5
)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
not
vgf
.
CheckPrison
(
tp
)
then
return
end
if
not
vgf
.
CheckPrison
(
tp
)
then
return
end
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_IMPRISON
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_CIRCLE
,
0
,
2
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_IMPRISON
,
e
,
tp
,
vgf
.
filter
.
IsR
,
tp
,
0
,
LOCATION_CIRCLE
,
0
,
2
,
nil
)
vgf
.
SendtoPrison
(
g
,
tp
)
vgf
.
SendtoPrison
(
g
,
tp
)
end
end
\ No newline at end of file
c10105006.lua
View file @
dc1dcd06
...
@@ -5,11 +5,11 @@ function cm.initial_effect(c)
...
@@ -5,11 +5,11 @@ function cm.initial_effect(c)
end
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
vgf
.
RMonsterFilter
(
c
)
and
vgf
.
CheckPrison
(
tp
)
return
vgf
.
filter
.
IsR
(
c
)
and
vgf
.
CheckPrison
(
tp
)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
not
vgf
.
CheckPrison
(
tp
)
then
return
end
if
not
vgf
.
CheckPrison
(
tp
)
then
return
end
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_IMPRISON
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_CIRCLE
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_IMPRISON
,
e
,
tp
,
vgf
.
filter
.
IsR
,
tp
,
0
,
LOCATION_CIRCLE
,
1
,
1
,
nil
)
vgf
.
SendtoPrison
(
g
,
tp
)
vgf
.
SendtoPrison
(
g
,
tp
)
end
end
\ No newline at end of file
c10201001.lua
View file @
dc1dcd06
...
@@ -4,10 +4,10 @@ function cm.initial_effect(c)
...
@@ -4,10 +4,10 @@ function cm.initial_effect(c)
vgf
.
AddRideMaterialCode
(
c
,
m
,
10406013
)
vgf
.
AddRideMaterialCode
(
c
,
m
,
10406013
)
vgf
.
AddRideMaterialSetCard
(
c
,
m
,
0xc014
,
0x74
)
vgf
.
AddRideMaterialSetCard
(
c
,
m
,
0xc014
,
0x74
)
vgd
.
AbilityCont
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EFFECT_UPDATE_ATTACK
,
5000
,
cm
.
con
)
vgd
.
AbilityCont
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EFFECT_UPDATE_ATTACK
,
5000
,
cm
.
con
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
op
,
cm
.
cost
,
vgf
.
VMonsterCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
op
,
cm
.
cost
,
vgf
.
con
.
IsV
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
GetFlagEffect
(
FLAG_SUPPORTED
)
>
0
and
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
and
vgf
.
RMonsterCondition
(
e
)
return
e
:
GetHandler
():
GetFlagEffect
(
FLAG_SUPPORTED
)
>
0
and
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
and
vgf
.
con
.
IsR
(
e
)
end
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
vgf
.
cost
.
SoulBlast
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
and
vgf
.
cost
.
Discard
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
end
if
chk
==
0
then
return
vgf
.
cost
.
SoulBlast
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
and
vgf
.
cost
.
Discard
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
end
...
@@ -25,5 +25,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -25,5 +25,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel
.
RaiseEvent
(
g
,
EVENT_CUSTOM
+
EVENT_SUPPORT
,
e
,
0
,
tp
,
tp
,
0
)
Duel
.
RaiseEvent
(
g
,
EVENT_CUSTOM
+
EVENT_SUPPORT
,
e
,
0
,
tp
,
tp
,
0
)
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
c
:
IsPosition
(
POS_FACEUP_ATTACK
)
and
c
:
IsSkill
(
SKILL_BOOST
)
and
vgf
.
RMonsterFilter
(
c
)
return
c
:
IsPosition
(
POS_FACEUP_ATTACK
)
and
c
:
IsSkill
(
SKILL_BOOST
)
and
vgf
.
filter
.
IsR
(
c
)
end
end
\ No newline at end of file
c10202001.lua
View file @
dc1dcd06
...
@@ -33,7 +33,7 @@ function cm.con(e,c)
...
@@ -33,7 +33,7 @@ function cm.con(e,c)
return
Duel
.
GetFlagEffect
(
tp
,
m
)
>
0
return
Duel
.
GetFlagEffect
(
tp
,
m
)
>
0
end
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
VMonsterFilter
(
e
:
GetHandler
())
and
vgf
.
VMonsterFilter
(
Duel
.
GetAttackTarget
())
return
vgf
.
filter
.
IsV
(
e
:
GetHandler
())
and
vgf
.
filter
.
IsV
(
Duel
.
GetAttackTarget
())
end
end
function
cm
.
check
(
g
)
function
cm
.
check
(
g
)
return
g
:
GetClassCount
(
Card
.
GetLevel
)
==#
g
return
g
:
GetClassCount
(
Card
.
GetLevel
)
==#
g
...
@@ -51,7 +51,7 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -51,7 +51,7 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
tc
=
vgf
.
SelectMatchingCard
(
HINTMSG_VMONSTER
,
e
,
tp
,
vgf
.
VMonsterFilter
,
tp
,
0
,
LOCATION_CIRCLE
,
1
,
1
,
nil
):
GetFirst
()
local
tc
=
vgf
.
SelectMatchingCard
(
HINTMSG_VMONSTER
,
e
,
tp
,
vgf
.
filter
.
IsV
,
tp
,
0
,
LOCATION_CIRCLE
,
1
,
1
,
nil
):
GetFirst
()
if
tc
:
GetAttack
()
>
1
then
if
tc
:
GetAttack
()
>
1
then
local
atk
=
tc
:
GetAttack
()
-
1
local
atk
=
tc
:
GetAttack
()
-
1
vgf
.
AtkUp
(
c
,
tc
,
-
atk
)
vgf
.
AtkUp
(
c
,
tc
,
-
atk
)
...
@@ -61,5 +61,5 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -61,5 +61,5 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
vgf
.
VMonsterFilter
(
c
)
and
c
:
IsLevelAbove
(
3
)
return
vgf
.
filter
.
IsV
(
c
)
and
c
:
IsLevelAbove
(
3
)
end
end
\ No newline at end of file
c10202002.lua
View file @
dc1dcd06
...
@@ -8,7 +8,7 @@ function cm.initial_effect(c)
...
@@ -8,7 +8,7 @@ function cm.initial_effect(c)
vgd
.
BeRidedByCard
(
c
,
m
,
cm
.
filter
,
cm
.
operation
)
vgd
.
BeRidedByCard
(
c
,
m
,
cm
.
filter
,
cm
.
operation
)
end
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
VMonsterFilter
(
Duel
.
GetAttackTarget
())
return
vgf
.
filter
.
IsV
(
Duel
.
GetAttackTarget
())
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
...
c10202003.lua
View file @
dc1dcd06
...
@@ -19,7 +19,7 @@ function cm.operation2(e,tp,eg,ep,ev,re,r,rp)
...
@@ -19,7 +19,7 @@ function cm.operation2(e,tp,eg,ep,ev,re,r,rp)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
then
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
then
local
e2
=
vgf
.
AtkUp
(
c
,
c
,
5000
)
local
e2
=
vgf
.
AtkUp
(
c
,
c
,
5000
)
vgf
.
Effect
Reset
(
c
,
e2
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
e2
,
EVENT_BATTLED
)
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_SET
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_SET
)
e1
:
SetCode
(
EVENT_BATTLED
)
e1
:
SetCode
(
EVENT_BATTLED
)
...
@@ -31,7 +31,7 @@ function cm.operation2(e,tp,eg,ep,ev,re,r,rp)
...
@@ -31,7 +31,7 @@ function cm.operation2(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
function
cm
.
condition2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
RMonsterFilter
(
e
:
GetHandler
())
and
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
return
vgf
.
filter
.
IsR
(
e
:
GetHandler
())
and
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
end
end
function
cm
.
condition3
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition3
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
GetFirst
()
==
e
:
GetHandler
()
return
eg
:
GetFirst
()
==
e
:
GetHandler
()
...
...
c10202005.lua
View file @
dc1dcd06
...
@@ -9,7 +9,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -9,7 +9,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
then
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
then
local
e2
=
vgf
.
AtkUp
(
c
,
c
,
10000
)
local
e2
=
vgf
.
AtkUp
(
c
,
c
,
10000
)
vgf
.
Effect
Reset
(
c
,
e2
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
e2
,
EVENT_BATTLED
)
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_SET
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_SET
)
e1
:
SetCode
(
EVENT_BATTLED
)
e1
:
SetCode
(
EVENT_BATTLED
)
...
@@ -21,7 +21,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -21,7 +21,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
RMonsterFilter
(
e
:
GetHandler
())
and
vgf
.
GetVMonster
(
tp
):
IsSetCard
(
0xe8
)
return
vgf
.
filter
.
IsR
(
e
:
GetHandler
())
and
vgf
.
GetVMonster
(
tp
):
IsSetCard
(
0xe8
)
end
end
function
cm
.
operation2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
vgf
.
Sendto
(
LOCATION_SOUL
,
e
:
GetHandler
(),
vgf
.
GetVMonster
(
tp
))
vgf
.
Sendto
(
LOCATION_SOUL
,
e
:
GetHandler
(),
vgf
.
GetVMonster
(
tp
))
...
...
c10202007.lua
View file @
dc1dcd06
...
@@ -10,6 +10,6 @@ function cm.condition(e,tp,eg,ep,ev,re,r,rp)
...
@@ -10,6 +10,6 @@ function cm.condition(e,tp,eg,ep,ev,re,r,rp)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
rc
=
vgf
.
GetMatchingGroup
(
vgf
.
VMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
):
GetFirst
()
local
rc
=
vgf
.
GetMatchingGroup
(
vgf
.
filter
.
IsV
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
):
GetFirst
()
if
c
:
IsRelateToEffect
(
e
)
then
vgf
.
Sendto
(
LOCATION_SOUL
,
c
,
rc
)
end
if
c
:
IsRelateToEffect
(
e
)
then
vgf
.
Sendto
(
LOCATION_SOUL
,
c
,
rc
)
end
end
end
c10202009.lua
View file @
dc1dcd06
...
@@ -6,7 +6,7 @@ function cm.initial_effect(c)
...
@@ -6,7 +6,7 @@ function cm.initial_effect(c)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
operation
,
vgf
.
cost
.
CounterBlast
(
2
),
cm
.
condition
,
nil
,
1
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
operation
,
vgf
.
cost
.
CounterBlast
(
2
),
cm
.
condition
,
nil
,
1
)
end
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
RMonsterFilter
(
e
:
GetHandler
())
and
vgf
.
GetVMonster
(
tp
):
IsLevelAbove
(
3
)
return
vgf
.
filter
.
IsR
(
e
:
GetHandler
())
and
vgf
.
GetVMonster
(
tp
):
IsLevelAbove
(
3
)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
...
...
c10202010.lua
View file @
dc1dcd06
...
@@ -6,7 +6,7 @@ function cm.initial_effect(c)
...
@@ -6,7 +6,7 @@ function cm.initial_effect(c)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
vgf
.
cost
.
SoulBlast
(
1
),
cm
.
condition
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
vgf
.
cost
.
SoulBlast
(
1
),
cm
.
condition
)
end
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
GetVMonster
(
tp
):
IsSetCard
(
0xe8
)
and
vgf
.
RMonsterFilter
(
e
:
GetHandler
())
return
vgf
.
GetVMonster
(
tp
):
IsSetCard
(
0xe8
)
and
vgf
.
filter
.
IsR
(
e
:
GetHandler
())
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
...
c10202016.lua
View file @
dc1dcd06
...
@@ -3,7 +3,7 @@ local cm,m,o=GetID()
...
@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
--【自】:这个单位从手牌登场到R时,通过【费用】[计数爆发1],查看你的牌堆顶的3张卡,选择1张卡,放置到灵魂里,然后牌堆洗切,你的灵魂里有4张以上的相互不同等级的卡的话,抽1张卡。
--【自】:这个单位从手牌登场到R时,通过【费用】[计数爆发1],查看你的牌堆顶的3张卡,选择1张卡,放置到灵魂里,然后牌堆洗切,你的灵魂里有4张以上的相互不同等级的卡的话,抽1张卡。
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
RSummonCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
con
.
RideOnRCircle
)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
3
)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
3
)
...
...
c10202017.lua
View file @
dc1dcd06
...
@@ -6,7 +6,7 @@ function cm.initial_effect(c)
...
@@ -6,7 +6,7 @@ function cm.initial_effect(c)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
nil
,
cm
.
condition
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
nil
,
cm
.
condition
)
end
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
RMonsterFilter
(
e
:
GetHandler
())
return
vgf
.
filter
.
IsR
(
e
:
GetHandler
())
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
2
)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
2
)
...
...
c10203001.lua
View file @
dc1dcd06
...
@@ -29,7 +29,7 @@ function cm.filter(c,e,tp)
...
@@ -29,7 +29,7 @@ function cm.filter(c,e,tp)
return
c
:
IsSetCard
(
0x76
)
and
vgf
.
IsCanBeCalled
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x76
)
and
vgf
.
IsCanBeCalled
(
c
,
e
,
tp
)
end
end
function
cm
.
checkfilter
(
c
)
function
cm
.
checkfilter
(
c
)
return
vgf
.
IsSummonTypeV
(
c
)
and
c
:
IsLevelAbove
(
3
)
return
vgf
.
filter
.
RideOnVCircle
(
c
)
and
c
:
IsLevelAbove
(
3
)
end
end
function
cm
.
checkcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
checkcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
cm
.
checkfilter
,
1
,
nil
)
return
eg
:
IsExists
(
cm
.
checkfilter
,
1
,
nil
)
...
...
c10203002.lua
View file @
dc1dcd06
...
@@ -17,7 +17,7 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
...
@@ -17,7 +17,7 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
then
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
then
local
e1
=
vgf
.
AtkUp
(
c
,
c
,
5000
,
nil
)
local
e1
=
vgf
.
AtkUp
(
c
,
c
,
5000
,
nil
)
vgf
.
Effect
Reset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
end
end
end
end
function
cm
.
cfilter
(
c
,
mc
)
function
cm
.
cfilter
(
c
,
mc
)
...
...
c10203005.lua
View file @
dc1dcd06
...
@@ -31,13 +31,13 @@ function cm.checkop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -31,13 +31,13 @@ function cm.checkop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
RegisterFlagEffect
(
tp
,
m
,
RESET_PHASE
+
PHASE_END
,
0
,
1
)
Duel
.
RegisterFlagEffect
(
tp
,
m
,
RESET_PHASE
+
PHASE_END
,
0
,
1
)
end
end
function
cm
.
con1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetTurnPlayer
()
==
tp
and
vgf
.
RMonsterCondition
(
e
)
return
Duel
.
GetTurnPlayer
()
==
tp
and
vgf
.
con
.
IsR
(
e
)
end
end
function
cm
.
op1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_Call
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_Call
)
local
g
=
vgf
.
GetVMonster
(
tp
):
GetOverlayGroup
():
FilterSelect
(
tp
,
cm
.
filter
,
1
,
1
,
nil
,
e
,
tp
)
local
g
=
vgf
.
GetVMonster
(
tp
):
GetOverlayGroup
():
FilterSelect
(
tp
,
cm
.
filter
,
1
,
1
,
nil
,
e
,
tp
)
vgf
.
Sendto
(
LOCATION_CIRCLE
,
g
,
SUMMON_TYPE_RIDE
,
tp
,
"From
OverlayT
oV"
,
POS_FACEDOWN_DEFENCE
)
vgf
.
Sendto
(
LOCATION_CIRCLE
,
g
,
SUMMON_TYPE_RIDE
,
tp
,
"From
Soul
oV"
,
POS_FACEDOWN_DEFENCE
)
end
end
function
cm
.
filter
(
c
,
e
,
tp
)
function
cm
.
filter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x202
)
and
vgf
.
IsCanBeCalled
(
c
,
e
,
tp
,
SUMMON_TYPE_RIDE
,
POS_FACEDOWN_DEFENCE
,
"From
OverlayT
oV"
)
return
c
:
IsSetCard
(
0x202
)
and
vgf
.
IsCanBeCalled
(
c
,
e
,
tp
,
SUMMON_TYPE_RIDE
,
POS_FACEDOWN_DEFENCE
,
"From
Soul
oV"
)
end
end
\ No newline at end of file
c10203006.lua
View file @
dc1dcd06
...
@@ -11,8 +11,8 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -11,8 +11,8 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
vgf
.
RMonsterFilter
(
c
)
and
vgf
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
nil
)
return
vgf
.
filter
.
IsR
(
c
)
and
vgf
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
nil
)
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
vgf
.
VMonsterFilter
and
c
:
IsSetCard
(
0x77
)
return
vgf
.
filter
.
IsV
and
c
:
IsSetCard
(
0x77
)
end
end
\ No newline at end of file
c10203007.lua
View file @
dc1dcd06
...
@@ -5,10 +5,10 @@ function cm.initial_effect(c)
...
@@ -5,10 +5,10 @@ function cm.initial_effect(c)
end
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
vgf
.
RMonsterFilter
(
c
)
and
eg
:
IsExists
(
cm
.
filter
,
1
,
nil
,
tp
)
return
vgf
.
filter
.
IsR
(
c
)
and
eg
:
IsExists
(
cm
.
filter
,
1
,
nil
,
tp
)
end
end
function
cm
.
filter
(
c
,
tp
)
function
cm
.
filter
(
c
,
tp
)
return
c
:
IsSummonType
(
SUMMON_VALUE_REVOLT
)
and
vgf
.
VMonsterFilter
(
c
)
and
c
:
IsControler
(
tp
)
return
c
:
IsSummonType
(
SUMMON_VALUE_REVOLT
)
and
vgf
.
filter
.
IsV
(
c
)
and
c
:
IsControler
(
tp
)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
...
c10203008.lua
View file @
dc1dcd06
...
@@ -10,10 +10,10 @@ end
...
@@ -10,10 +10,10 @@ end
function
cm
.
filter
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
filter
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
e1
=
vgf
.
DefUp
(
c
,
c
,
10000
)
local
e1
=
vgf
.
DefUp
(
c
,
c
,
10000
)
vgf
.
Effect
Reset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
e1
=
vgf
.
DefUp
(
c
,
c
,
10000
)
local
e1
=
vgf
.
DefUp
(
c
,
c
,
10000
)
vgf
.
Effect
Reset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
end
end
\ No newline at end of file
c10203016.lua
View file @
dc1dcd06
...
@@ -5,7 +5,7 @@ function cm.initial_effect(c)
...
@@ -5,7 +5,7 @@ function cm.initial_effect(c)
end
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
vgf
.
RMonsterFilter
(
c
)
and
vgf
.
VMonsterFilter
(
Duel
.
GetAttackTarget
())
and
vgf
.
IsExistingMatchingCard
(
nil
,
tp
,
LOCATION_CIRCLE
+
LOCATION_DROP
,
0
,
4
,
nil
)
return
vgf
.
filter
.
IsR
(
c
)
and
vgf
.
filter
.
IsV
(
Duel
.
GetAttackTarget
())
and
vgf
.
IsExistingMatchingCard
(
nil
,
tp
,
LOCATION_CIRCLE
+
LOCATION_DROP
,
0
,
4
,
nil
)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
3
)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
3
)
...
...
c10301001.lua
View file @
dc1dcd06
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
operation
,
vgf
.
cost
.
SoulBlast
(
1
),
vgf
.
VMonsterCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
operation
,
vgf
.
cost
.
SoulBlast
(
1
),
vgf
.
con
.
IsV
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_BATTLED
,
cm
.
operation1
,
nil
,
cm
.
condition1
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_BATTLED
,
cm
.
operation1
,
nil
,
cm
.
condition1
)
vgd
.
GlobalCheckEffect
(
c
,
m
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
checkcon
)
vgd
.
GlobalCheckEffect
(
c
,
m
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
checkcon
)
end
end
...
@@ -14,10 +14,10 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -14,10 +14,10 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
vgf
.
Sendto
(
LOCATION_HAND
,
g
,
nil
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_HAND
,
g
,
nil
,
REASON_EFFECT
)
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
vgf
.
RMonsterFilter
(
c
)
return
vgf
.
filter
.
IsR
(
c
)
end
end
function
cm
.
condition1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetFlagEffect
(
tp
,
m
)
>
0
and
vgf
.
VMonsterCondition
(
e
)
and
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
return
Duel
.
GetFlagEffect
(
tp
,
m
)
>
0
and
vgf
.
con
.
IsV
(
e
)
and
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
end
end
function
cm
.
operation1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
...
c10301002.lua
View file @
dc1dcd06
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
operation
,
vgf
.
True
,
vgf
.
VMonsterCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
operation
,
vgf
.
True
,
vgf
.
con
.
IsV
)
vgd
.
AbilityCont
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EFFECT_UPDATE_ATTACK
,
5000
,
cm
.
con
)
vgd
.
AbilityCont
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EFFECT_UPDATE_ATTACK
,
5000
,
cm
.
con
)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
@@ -10,10 +10,10 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -10,10 +10,10 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
vgf
.
Sendto
(
LOCATION_HAND
,
g
,
nil
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_HAND
,
g
,
nil
,
REASON_EFFECT
)
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
vgf
.
RMonsterFilter
(
c
)
return
vgf
.
filter
.
IsR
(
c
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
IsExistingMatchingCard
(
cm
.
cfilter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
nil
,
e
:
GetHandler
())
and
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
and
vgf
.
RMonsterCondition
(
e
)
return
vgf
.
IsExistingMatchingCard
(
cm
.
cfilter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
nil
,
e
:
GetHandler
())
and
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
and
vgf
.
con
.
IsR
(
e
)
end
end
function
cm
.
cfilter
(
c
,
mc
)
function
cm
.
cfilter
(
c
,
mc
)
return
vgf
.
GetColumnGroup
(
c
):
IsContains
(
mc
)
and
c
:
IsControler
(
mc
:
GetControler
())
and
c
:
GetFlagEffect
(
FLAG_SUPPORT
)
>
0
return
vgf
.
GetColumnGroup
(
c
):
IsContains
(
mc
)
and
c
:
IsControler
(
mc
:
GetControler
())
and
c
:
GetFlagEffect
(
FLAG_SUPPORT
)
>
0
...
...
c10301003.lua
View file @
dc1dcd06
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
vgf
.
True
,
vgf
.
VSummonCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
vgf
.
True
,
vgf
.
con
.
RideOnVCircle
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation1
,
nil
,
cm
.
con2
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation1
,
nil
,
cm
.
con2
)
end
end
function
cm
.
con2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
...
c10301005.lua
View file @
dc1dcd06
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
nil
,
vgf
.
RSummonCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
nil
,
vgf
.
con
.
RideOnRCircle
)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
...
c10301007.lua
View file @
dc1dcd06
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
RSummonCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
con
.
RideOnRCircle
)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
...
c10301009.lua
View file @
dc1dcd06
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
vgf
.
cost
.
SoulBlast
(
1
),
vgf
.
RMonsterCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
vgf
.
cost
.
SoulBlast
(
1
),
vgf
.
con
.
IsR
)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
...
c10301015.lua
View file @
dc1dcd06
...
@@ -6,9 +6,9 @@ function cm.initial_effect(c)
...
@@ -6,9 +6,9 @@ function cm.initial_effect(c)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_VMONSTER
,
e
,
tp
,
vgf
.
VMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_VMONSTER
,
e
,
tp
,
vgf
.
filter
.
IsV
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
vgd
.
AbilityCont
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_FIELD
,
EFFECT_UPDATE_ATTACK
,
5000
,
nil
,
cm
.
tg
,
LOCATION_CIRCLE
,
0
,
RESET_PHASE
+
PHASE_END
,
g
:
GetFirst
()
vgd
.
AbilityCont
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_FIELD
,
EFFECT_UPDATE_ATTACK
,
5000
,
nil
,
cm
.
tg
,
LOCATION_CIRCLE
,
0
,
RESET_PHASE
+
PHASE_END
,
g
:
GetFirst
()
end
end
function
cm
.
tg
(
e
,
c
)
function
cm
.
tg
(
e
,
c
)
return
vgf
.
RMonsterFilter
(
c
)
return
vgf
.
filter
.
IsR
(
c
)
end
end
\ No newline at end of file
c10401001.lua
View file @
dc1dcd06
...
@@ -10,7 +10,7 @@ function cm.filter(c)
...
@@ -10,7 +10,7 @@ function cm.filter(c)
end
end
function
cm
.
con
(
e
)
function
cm
.
con
(
e
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
c
:
GetFlagEffectLabel
(
FLAG_CONDITION
)
==
201
and
vgf
.
RMonsterCondition
(
e
)
return
c
:
GetFlagEffectLabel
(
FLAG_CONDITION
)
==
201
and
vgf
.
con
.
IsR
(
e
)
end
end
function
cm
.
val
(
e
)
function
cm
.
val
(
e
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
...
c10401002.lua
View file @
dc1dcd06
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
op
,
cm
.
cost
,
vgf
.
VMonsterCondition
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
op
,
cm
.
cost
,
vgf
.
con
.
IsV
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
op1
,
vgf
.
cost
.
SoulBlast
(
5
),
cm
.
con
,
nil
,
nil
,
nil
,
2
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
op1
,
vgf
.
cost
.
SoulBlast
(
5
),
cm
.
con
,
nil
,
nil
,
nil
,
2
)
vgd
.
GlobalCheckEffect
(
c
,
m
,
EVENT_TO_GRAVE
,
cm
.
checkcon
)
vgd
.
GlobalCheckEffect
(
c
,
m
,
EVENT_TO_GRAVE
,
cm
.
checkcon
)
end
end
...
@@ -11,11 +11,11 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -11,11 +11,11 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
ChangePosition
(
g
,
POS_FACEUP_DEFENCE
)
Duel
.
ChangePosition
(
g
,
POS_FACEUP_DEFENCE
)
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
c
:
IsCanChangePosition
()
and
c
:
IsPosition
(
POS_FACEUP_ATTACK
)
and
vgf
.
RMonsterFilter
(
c
)
return
c
:
IsCanChangePosition
()
and
c
:
IsPosition
(
POS_FACEUP_ATTACK
)
and
vgf
.
filter
.
IsR
(
c
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_LEAVEFIELD
,
e
,
tp
,
vgf
.
VMonsterFilter
,
tp
,
0
,
LOCATION_CIRCLE
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_LEAVEFIELD
,
e
,
tp
,
vgf
.
filter
.
IsV
,
tp
,
0
,
LOCATION_CIRCLE
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
end
if
g
:
GetCount
()
>
0
then
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
end
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
then
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
then
vgf
.
AtkUp
(
c
,
c
,
10000
)
vgf
.
AtkUp
(
c
,
c
,
10000
)
...
...
c10401003.lua
View file @
dc1dcd06
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
op
,
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
VMonsterCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
op
,
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
con
.
IsV
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
@@ -10,12 +10,12 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -10,12 +10,12 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
if
ct
>=
10
then
if
ct
>=
10
then
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
then
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
then
local
t
=
{
vgf
.
AtkUp
(
c
,
c
,
10000
),
vgf
.
StarUp
(
c
,
c
,
1
)}
local
t
=
{
vgf
.
AtkUp
(
c
,
c
,
10000
),
vgf
.
StarUp
(
c
,
c
,
1
)}
vgf
.
Effect
Reset
(
c
,
t
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
t
,
EVENT_BATTLED
)
end
end
end
end
if
ct
>=
15
then
if
ct
>=
15
then
local
g1
=
vgf
.
GetMatchingGroup
(
vgf
.
RMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
)
local
g1
=
vgf
.
GetMatchingGroup
(
vgf
.
filter
.
IsR
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
)
local
g2
=
vgf
.
GetMatchingGroup
(
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_CIRCLE
,
nil
)
local
g2
=
vgf
.
GetMatchingGroup
(
vgf
.
filter
.
IsR
,
tp
,
0
,
LOCATION_CIRCLE
,
nil
)
local
tc1
=
vgf
.
GetVMonster
(
tp
)
local
tc1
=
vgf
.
GetVMonster
(
tp
)
local
tc2
=
vgf
.
GetVMonster
(
1
-
tp
)
local
tc2
=
vgf
.
GetVMonster
(
1
-
tp
)
vgf
.
Sendto
(
LOCATION_SOUL
,
g1
,
tc1
)
vgf
.
Sendto
(
LOCATION_SOUL
,
g1
,
tc1
)
...
...
c10401004.lua
View file @
dc1dcd06
...
@@ -17,6 +17,6 @@ function cm.con1(e,tp,eg,ep,ev,re,r,rp)
...
@@ -17,6 +17,6 @@ function cm.con1(e,tp,eg,ep,ev,re,r,rp)
return
Duel
.
GetFlagEffect
(
tp
,
m
)
>
0
and
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetFlagEffect
(
tp
,
m
)
>
0
and
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_LEAVEFIELD
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_CIRCLE
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_LEAVEFIELD
,
e
,
tp
,
vgf
.
filter
.
IsR
,
tp
,
0
,
LOCATION_CIRCLE
,
1
,
1
,
nil
)
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
end
end
\ No newline at end of file
c10401006.lua
View file @
dc1dcd06
...
@@ -3,7 +3,7 @@ function cm.initial_effect(c)
...
@@ -3,7 +3,7 @@ function cm.initial_effect(c)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
AbilityCont
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EFFECT_UPDATE_ATTACK
,
5000
,
function
(
e
)
vgd
.
AbilityCont
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EFFECT_UPDATE_ATTACK
,
5000
,
function
(
e
)
vgd
.
AbilityCont
(
c
,
m
,
LOCATION_G_CIRCLE
,
EFFECT_TYPE_SINGLE
,
5000
,
EFFECT_UPDATE_DEFENSE
,
cm
.
con
)
vgd
.
AbilityCont
(
c
,
m
,
LOCATION_G_CIRCLE
,
EFFECT_TYPE_SINGLE
,
5000
,
EFFECT_UPDATE_DEFENSE
,
cm
.
con
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
vgf
.
cost
.
SoulBlast
(
1
),
vgf
.
RSummonCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
vgf
.
cost
.
SoulBlast
(
1
),
vgf
.
con
.
RideOnRCircle
)
end
end
function
cm
.
con
(
e
)
function
cm
.
con
(
e
)
local
tp
=
e
:
GetHandlerPlayer
()
local
tp
=
e
:
GetHandlerPlayer
()
...
@@ -19,5 +19,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -19,5 +19,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
function
cm
.
filter1
(
c
)
function
cm
.
filter1
(
c
)
return
vgf
.
RMonsterFilter
(
c
)
and
vgf
.
FrontFilter
(
c
)
return
vgf
.
filter
.
IsR
(
c
)
and
vgf
.
filter
.
Front
(
c
)
end
end
\ No newline at end of file
c10401007.lua
View file @
dc1dcd06
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
cm
.
cost
,
vgf
.
RSummonCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
cm
.
cost
,
vgf
.
con
.
RideOnRCircle
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
op1
,
nil
,
cm
.
con
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
op1
,
nil
,
cm
.
con
)
end
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
...
@@ -18,7 +18,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -18,7 +18,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
RMonsterCondition
(
e
)
and
vgf
.
IsExistingMatchingCard
(
Card
.
IsLevel
,
tp
,
LOCATION_CIRCLE
+
LOCATION_G_CIRCLE
,
0
,
3
,
nil
,
3
)
return
vgf
.
con
.
IsR
(
e
)
and
vgf
.
IsExistingMatchingCard
(
Card
.
IsLevel
,
tp
,
LOCATION_CIRCLE
+
LOCATION_G_CIRCLE
,
0
,
3
,
nil
,
3
)
end
end
function
cm
.
op1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
...
c10401008.lua
View file @
dc1dcd06
...
@@ -6,21 +6,21 @@ function cm.initial_effect(c)
...
@@ -6,21 +6,21 @@ function cm.initial_effect(c)
vgd
.
GlobalCheckEffect
(
c
,
m
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
checkcon
)
vgd
.
GlobalCheckEffect
(
c
,
m
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
checkcon
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
VMonsterCondition
(
e
)
and
eg
:
IsExists
(
cm
.
filter
,
1
,
nil
,
tp
)
and
Duel
.
GetTurnPlayer
()
==
tp
and
Duel
.
GetAttackTarget
()
return
vgf
.
con
.
IsV
(
e
)
and
eg
:
IsExists
(
cm
.
filter
,
1
,
nil
,
tp
)
and
Duel
.
GetTurnPlayer
()
==
tp
and
Duel
.
GetAttackTarget
()
end
end
function
cm
.
filter
(
c
,
tp
)
function
cm
.
filter
(
c
,
tp
)
return
c
:
IsTrigger
(
TRIGGER_CARDS
)
and
c
:
IsLocation
(
LOCATION_TRIGGER
)
and
c
:
IsControler
(
tp
)
return
c
:
IsTrigger
(
TRIGGER_CARDS
)
and
c
:
IsLocation
(
LOCATION_TRIGGER
)
and
c
:
IsControler
(
tp
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_RMONSTER
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_RMONSTER
,
e
,
tp
,
vgf
.
filter
.
IsR
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
vgf
.
AtkUp
(
c
,
g
,
10000
)
vgf
.
AtkUp
(
c
,
g
,
10000
)
end
end
function
cm
.
checkcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
checkcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
Card
.
IsSummonType
,
1
,
nil
,
SUMMON_TYPE_SELFRIDE
)
return
eg
:
IsExists
(
Card
.
IsSummonType
,
1
,
nil
,
SUMMON_TYPE_SELFRIDE
)
end
end
function
cm
.
con1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetFlagEffect
(
tp
,
m
)
>
0
and
vgf
.
VMonsterCondition
(
e
)
return
Duel
.
GetFlagEffect
(
tp
,
m
)
>
0
and
vgf
.
con
.
IsV
(
e
)
end
end
function
cm
.
cost1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
cost1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
...
...
c10401009.lua
View file @
dc1dcd06
...
@@ -8,10 +8,10 @@ function cm.initial_effect(c)
...
@@ -8,10 +8,10 @@ function cm.initial_effect(c)
e1
:
SetCode
(
AFFECT_CODE_ALCHEMAGIC
)
e1
:
SetCode
(
AFFECT_CODE_ALCHEMAGIC
)
e1
:
SetRange
(
LOCATION_ORDER
)
e1
:
SetRange
(
LOCATION_ORDER
)
e1
:
SetTargetRange
(
1
,
0
)
e1
:
SetTargetRange
(
1
,
0
)
e1
:
SetCondition
(
vgf
.
VMonsterCondition
)
e1
:
SetCondition
(
vgf
.
con
.
IsV
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
local
e2
=
e1
:
Clone
()
local
e2
=
e1
:
Clone
()
e2
:
SetCode
(
AFFECT_CODE_ALCHEMAGIC_DIFFERENT_NAME
)
e2
:
SetCode
(
AFFECT_CODE_ALCHEMAGIC_DIFFERENT_NAME
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
vgf
.
op
.
CardsFromTo
(
REASON_EFFECT
,
LOCATION_CIRCLE
,
LOCATION_DROP
),
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
VMonsterCondition
,
nil
,
1
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
vgf
.
op
.
CardsFromTo
(
REASON_EFFECT
,
LOCATION_CIRCLE
,
LOCATION_DROP
),
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
con
.
IsV
,
nil
,
1
)
end
end
\ No newline at end of file
c10401010.lua
View file @
dc1dcd06
...
@@ -5,10 +5,10 @@ function cm.initial_effect(c)
...
@@ -5,10 +5,10 @@ function cm.initial_effect(c)
end
end
function
cm
.
con
(
e
)
function
cm
.
con
(
e
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
vgf
.
BackFilter
(
c
)
return
vgf
.
filter
.
Back
(
c
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
c
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
e
,
tp
,
vgf
.
filter
.
IsR
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
c
)
vgf
.
AtkUp
(
c
,
g
,
c
:
GetAttack
())
vgf
.
AtkUp
(
c
,
g
,
c
:
GetAttack
())
end
end
\ No newline at end of file
c10401011.lua
View file @
dc1dcd06
...
@@ -6,7 +6,7 @@ function cm.initial_effect(c)
...
@@ -6,7 +6,7 @@ function cm.initial_effect(c)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
c
:
GetFlagEffectLabel
(
FLAG_CONDITION
)
==
201
and
vgf
.
RSummonCondition
(
e
)
return
c
:
GetFlagEffectLabel
(
FLAG_CONDITION
)
==
201
and
vgf
.
con
.
RideOnRCircle
(
e
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
...
c10401013.lua
View file @
dc1dcd06
...
@@ -4,6 +4,6 @@ function cm.initial_effect(c)
...
@@ -4,6 +4,6 @@ function cm.initial_effect(c)
vgf
.
AddEffectWhenTrigger
(
c
,
m
,
cm
.
op
)
vgf
.
AddEffectWhenTrigger
(
c
,
m
,
cm
.
op
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_VMONSTER
,
e
,
tp
,
vgf
.
VMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_VMONSTER
,
e
,
tp
,
vgf
.
filter
.
IsV
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
Duel
.
ChangePosition
(
g
,
POS_FACEUP_ATTACK
)
Duel
.
ChangePosition
(
g
,
POS_FACEUP_ATTACK
)
end
end
\ No newline at end of file
c10401014.lua
View file @
dc1dcd06
...
@@ -13,11 +13,11 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -13,11 +13,11 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
vgf
.
IsExistingMatchingCard
(
vgf
.
RMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
c
)
end
if
chk
==
0
then
return
vgf
.
IsExistingMatchingCard
(
vgf
.
filter
.
IsR
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
c
)
end
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_XMATERIAL
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
c
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_XMATERIAL
,
e
,
tp
,
vgf
.
filter
.
IsR
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
c
)
vgf
.
Sendto
(
LOCATION_SOUL
,
g
)
vgf
.
Sendto
(
LOCATION_SOUL
,
g
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ct
=
Duel
.
GetFlagEffectLabel
(
tp
,
FLAG_CONDITION
)
local
ct
=
Duel
.
GetFlagEffectLabel
(
tp
,
FLAG_CONDITION
)
return
vgf
.
GetValueType
(
ct
)
==
"number"
and
ct
==
10102001
and
vgf
.
RMonsterCondition
(
e
)
return
vgf
.
GetValueType
(
ct
)
==
"number"
and
ct
==
10102001
and
vgf
.
con
.
IsR
(
e
)
end
end
\ No newline at end of file
c10401015.lua
View file @
dc1dcd06
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
vgf
.
op
.
SoulCharge
(
1
),
nil
,
vgf
.
RSummonCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
vgf
.
op
.
SoulCharge
(
1
),
nil
,
vgf
.
con
.
RideOnRCircle
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
op
,
vgf
.
cost
.
SoulBlast
(
3
),
vgf
.
RMonsterCondition
,
nil
,
1
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
op
,
vgf
.
cost
.
SoulBlast
(
3
),
vgf
.
con
.
IsR
,
nil
,
1
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
...
...
c10401016.lua
View file @
dc1dcd06
...
@@ -9,7 +9,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -9,7 +9,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetTargetRange
(
LOCATION_CIRCLE
,
0
)
e1
:
SetTargetRange
(
LOCATION_CIRCLE
,
0
)
e1
:
SetValue
(
10000
)
e1
:
SetValue
(
10000
)
e1
:
SetCondition
(
vgf
.
PlayerEffect
)
e1
:
SetCondition
(
vgf
.
con
.
PlayerEffect
)
e1
:
SetTarget
(
cm
.
tg
)
e1
:
SetTarget
(
cm
.
tg
)
Duel
.
RegisterEffect
(
e1
,
tp
)
Duel
.
RegisterEffect
(
e1
,
tp
)
local
e2
=
e1
:
Clone
()
local
e2
=
e1
:
Clone
()
...
@@ -18,5 +18,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -18,5 +18,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel
.
RegisterEffect
(
e2
,
tp
)
Duel
.
RegisterEffect
(
e2
,
tp
)
end
end
function
cm
.
tg
(
e
,
c
)
function
cm
.
tg
(
e
,
c
)
return
vgf
.
VMonsterFilter
(
c
)
return
vgf
.
filter
.
IsV
(
c
)
end
end
\ No newline at end of file
c10401017.lua
View file @
dc1dcd06
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
op
,
cm
.
cost
,
vgf
.
RMonsterCondition
,
nil
,
1
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
op
,
cm
.
cost
,
vgf
.
con
.
IsR
,
nil
,
1
)
end
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
...
@@ -12,7 +12,7 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -12,7 +12,7 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
vgf
.
CheckPrison
(
tp
)
then
return
end
if
not
vgf
.
CheckPrison
(
tp
)
then
return
end
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_IMPRISON
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_CIRCLE
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_IMPRISON
,
e
,
tp
,
vgf
.
filter
.
IsR
,
tp
,
0
,
LOCATION_CIRCLE
,
1
,
1
,
nil
)
vgf
.
SendtoPrison
(
g
,
tp
)
vgf
.
SendtoPrison
(
g
,
tp
)
if
vgf
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_ORDER
,
0
,
3
,
nil
)
then
if
vgf
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_ORDER
,
0
,
3
,
nil
)
then
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
...
...
c10401019.lua
View file @
dc1dcd06
...
@@ -5,7 +5,7 @@ function cm.initial_effect(c)
...
@@ -5,7 +5,7 @@ function cm.initial_effect(c)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
GetMatchingGroup
(
vgf
.
FrontFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
)
local
g
=
vgf
.
GetMatchingGroup
(
vgf
.
filter
.
Front
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
)
vgf
.
AtkUp
(
c
,
g
,
"DOUBLE"
)
vgf
.
AtkUp
(
c
,
g
,
"DOUBLE"
)
vgf
.
StarUp
(
c
,
g
,
"DOUBLE"
)
vgf
.
StarUp
(
c
,
g
,
"DOUBLE"
)
end
end
\ No newline at end of file
c10401020.lua
View file @
dc1dcd06
...
@@ -2,7 +2,7 @@ local cm,m,o=GetID()
...
@@ -2,7 +2,7 @@ local cm,m,o=GetID()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
CannotBeTarget
(
c
,
m
,
LOCATION_R_CIRCLE
)
vgd
.
CannotBeTarget
(
c
,
m
,
LOCATION_R_CIRCLE
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_HITTING
,
cm
.
op
,
nil
,
vgf
.
RMonsterCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_HITTING
,
cm
.
op
,
nil
,
vgf
.
con
.
IsR
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
vgf
.
CounterCharge
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
vgf
.
CounterCharge
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
...
c10401021.lua
View file @
dc1dcd06
...
@@ -8,5 +8,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -8,5 +8,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
c
:
GetFlagEffect
(
FLAG_SUPPORT
)
>
0
and
vgf
.
RMonsterCondition
(
e
)
return
c
:
GetFlagEffect
(
FLAG_SUPPORT
)
>
0
and
vgf
.
con
.
IsR
(
e
)
end
end
\ No newline at end of file
c10401022.lua
View file @
dc1dcd06
...
@@ -20,5 +20,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -20,5 +20,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
vgf
.
RMonsterFilter
(
c
)
and
c
:
GetFlagEffect
(
FLAG_ALSO_CAN_TRIGGER
)
==
0
and
c
:
IsFaceup
()
return
vgf
.
filter
.
IsR
(
c
)
and
c
:
GetFlagEffect
(
FLAG_ALSO_CAN_TRIGGER
)
==
0
and
c
:
IsFaceup
()
end
end
\ No newline at end of file
c10401023.lua
View file @
dc1dcd06
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
nil
,
vgf
.
RSummonCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
nil
,
vgf
.
con
.
RideOnRCircle
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
op1
,
vgf
.
cost
.
Retire
(),
vgf
.
RMonsterCondition
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
op1
,
vgf
.
cost
.
Retire
(),
vgf
.
con
.
IsR
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
3
)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
3
)
...
...
c10401024.lua
View file @
dc1dcd06
...
@@ -7,7 +7,7 @@ function cm.initial_effect(c)
...
@@ -7,7 +7,7 @@ function cm.initial_effect(c)
end
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
vgf
.
RSummonCondition
(
e
)
and
c
:
IsSummonLocation
(
LOCATION_HAND
)
return
vgf
.
con
.
RideOnRCircle
(
e
)
and
c
:
IsSummonLocation
(
LOCATION_HAND
)
end
end
--效果二处理
--效果二处理
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
...
c10401025.lua
View file @
dc1dcd06
...
@@ -11,7 +11,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -11,7 +11,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local
g1
=
vgf
.
SelectMatchingCard
(
HINTMSG_CRITICAL_STRIKE
,
e
,
tp
,
nil
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
local
g1
=
vgf
.
SelectMatchingCard
(
HINTMSG_CRITICAL_STRIKE
,
e
,
tp
,
nil
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
vgf
.
StarUp
(
c
,
g1
,
1
,
nil
)
vgf
.
StarUp
(
c
,
g1
,
1
,
nil
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATKUP
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATKUP
)
local
g2
=
vgf
.
GetMatchingGroup
(
vgf
.
IsSequence
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
,
0
,
4
,
5
)
local
g2
=
vgf
.
GetMatchingGroup
(
Card
.
IsSequence
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
,
0
,
4
,
5
)
vgf
.
AtkUp
(
c
,
g2
,
10000
,
nil
)
vgf
.
AtkUp
(
c
,
g2
,
10000
,
nil
)
if
vgf
.
GetMatchingGroupCount
(
nil
,
tp
,
LOCATION_DAMAGE
,
0
,
nil
)
>=
vgf
.
GetMatchingGroupCount
(
nil
,
tp
,
0
,
LOCATION_DAMAGE
,
nil
)
then
if
vgf
.
GetMatchingGroupCount
(
nil
,
tp
,
LOCATION_DAMAGE
,
0
,
nil
)
>=
vgf
.
GetMatchingGroupCount
(
nil
,
tp
,
0
,
LOCATION_DAMAGE
,
nil
)
then
local
tc
=
vgf
.
SelectMatchingCard
(
HINTMSG_TODROP
,
e
,
tp
,
nil
,
tp
,
LOCATION_DAMAGE
,
0
,
1
,
1
,
nil
):
GetFirst
()
local
tc
=
vgf
.
SelectMatchingCard
(
HINTMSG_TODROP
,
e
,
tp
,
nil
,
tp
,
LOCATION_DAMAGE
,
0
,
1
,
1
,
nil
):
GetFirst
()
...
...
c10401026.lua
View file @
dc1dcd06
...
@@ -8,19 +8,19 @@ function cm.initial_effect(c)
...
@@ -8,19 +8,19 @@ function cm.initial_effect(c)
end
end
function
cm
.
condition2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
Duel
.
GetAttacker
()
local
c
=
Duel
.
GetAttacker
()
return
vgf
.
RMonsterCondition
(
e
)
and
vgf
.
GetMatchingGroupCount
(
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_CIRCLE
,
nil
)
<=
2
and
vgf
.
VMonsterFilter
(
c
)
return
vgf
.
con
.
IsR
(
e
)
and
vgf
.
GetMatchingGroupCount
(
vgf
.
filter
.
IsR
,
tp
,
0
,
LOCATION_CIRCLE
,
nil
)
<=
2
and
vgf
.
filter
.
IsV
(
c
)
end
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
c
:
IsRelateToEffect
(
e
)
end
if
chk
==
0
then
return
c
:
IsRelateToEffect
(
e
)
end
local
rc
=
vgf
.
GetMatchingGroup
(
vgf
.
VMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
):
GetFirst
()
local
rc
=
vgf
.
GetMatchingGroup
(
vgf
.
filter
.
IsV
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
):
GetFirst
()
vgf
.
Sendto
(
LOCATION_SOUL
,
c
,
rc
)
vgf
.
Sendto
(
LOCATION_SOUL
,
c
,
rc
)
end
end
function
cm
.
operation2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_CRITICAL_STRIKE
,
e
,
tp
,
vgf
.
VMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_CRITICAL_STRIKE
,
e
,
tp
,
vgf
.
filter
.
IsV
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
local
e1
=
vgf
.
StarUp
(
c
,
g
,
1
,
nil
)
local
e1
=
vgf
.
StarUp
(
c
,
g
,
1
,
nil
)
vgf
.
Effect
Reset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
end
end
end
end
\ No newline at end of file
c10401027.lua
View file @
dc1dcd06
...
@@ -20,9 +20,9 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
...
@@ -20,9 +20,9 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
vgf
.
op
.
SoulCharge
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
vgf
.
op
.
SoulCharge
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
then
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
then
local
e1
=
vgf
.
AtkUp
(
c
,
c
,
5000
)
local
e1
=
vgf
.
AtkUp
(
c
,
c
,
5000
)
vgf
.
Effect
Reset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
end
end
end
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
GetMatchingGroupCount
(
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_CIRCLE
,
nil
)
<=
2
return
vgf
.
GetMatchingGroupCount
(
vgf
.
filter
.
IsR
,
tp
,
0
,
LOCATION_CIRCLE
,
nil
)
<=
2
end
end
c10401028.lua
View file @
dc1dcd06
...
@@ -3,12 +3,12 @@ local cm,m,o=GetID()
...
@@ -3,12 +3,12 @@ local cm,m,o=GetID()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
--【自】:这个单位登场到R时,通过【费用】[计数爆发2],灵魂填充1,选择对手的1张后防者,退场。
--【自】:这个单位登场到R时,通过【费用】[计数爆发2],灵魂填充1,选择对手的1张后防者,退场。
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
vgf
.
cost
.
CounterBlast
(
2
),
vgf
.
RSummonCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
vgf
.
cost
.
CounterBlast
(
2
),
vgf
.
con
.
RideOnRCircle
)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
vgf
.
op
.
SoulCharge
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
vgf
.
op
.
SoulCharge
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_LEAVEFIELD
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_CIRCLE
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_LEAVEFIELD
,
e
,
tp
,
vgf
.
filter
.
IsR
,
tp
,
0
,
LOCATION_CIRCLE
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
end
end
...
...
c10401030.lua
View file @
dc1dcd06
...
@@ -3,7 +3,7 @@ local cm,m,o=GetID()
...
@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
--【自】:这个单位登场到R时,通过【费用】[计数爆发1,灵魂爆发1],选择对手的1张等级2以上的后防者,退场。
--【自】:这个单位登场到R时,通过【费用】[计数爆发1,灵魂爆发1],选择对手的1张等级2以上的后防者,退场。
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
cm
.
cost
,
vgf
.
RSummonCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
cm
.
cost
,
vgf
.
con
.
RideOnRCircle
)
end
end
--计数爆发1,灵魂爆发1
--计数爆发1,灵魂爆发1
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
...
@@ -20,5 +20,5 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -20,5 +20,5 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
vgf
.
RMonsterFilter
(
c
)
and
c
:
IsLevelAbove
(
2
)
return
vgf
.
filter
.
IsR
(
c
)
and
c
:
IsLevelAbove
(
2
)
end
end
\ No newline at end of file
c10401031.lua
View file @
dc1dcd06
...
@@ -9,7 +9,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -9,7 +9,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_MONSTER
,
e
,
tp
,
nil
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_MONSTER
,
e
,
tp
,
nil
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
local
tc
=
g
:
GetFirst
()
local
tc
=
g
:
GetFirst
()
if
vgf
.
RMonsterFilter
(
tc
)
then
if
vgf
.
filter
.
IsR
(
tc
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
...
@@ -18,8 +18,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -18,8 +18,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetValue
(
1
)
e1
:
SetValue
(
1
)
tc
:
RegisterEffect
(
e1
)
tc
:
RegisterEffect
(
e1
)
vgf
.
Effect
Reset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
elseif
vgf
.
VMonsterFilter
(
tc
)
then
elseif
vgf
.
filter
.
IsV
(
tc
)
then
tc
:
RegisterFlagEffect
(
FLAG_DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
tc
:
RegisterFlagEffect
(
FLAG_DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
end
end
end
end
...
...
c10401032.lua
View file @
dc1dcd06
...
@@ -9,14 +9,14 @@ vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.cost.CounterBlast(2),cm.cond
...
@@ -9,14 +9,14 @@ vgd.AbilityAct(c,m,LOCATION_CIRCLE,cm.operation,vgf.cost.CounterBlast(2),cm.cond
end
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
vgf
.
RMonsterCondition
(
e
)
and
vgf
.
GetVMonster
(
tp
):
IsCode
(
10401003
)
return
vgf
.
con
.
IsR
(
e
)
and
vgf
.
GetVMonster
(
tp
):
IsCode
(
10401003
)
end
end
function
cm
.
condition1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
vgf
.
RMonsterCondition
(
e
)
and
vgf
.
GetVMonster
(
tp
):
GetOverlayCount
()
>=
10
return
vgf
.
con
.
IsR
(
e
)
and
vgf
.
GetVMonster
(
tp
):
GetOverlayCount
()
>=
10
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
GetMatchingGroup
(
vgf
.
FrontFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
)
local
g
=
vgf
.
GetMatchingGroup
(
vgf
.
filter
.
Front
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
)
vgf
.
AtkUp
(
c
,
g
,
5000
,
nil
)
vgf
.
AtkUp
(
c
,
g
,
5000
,
nil
)
end
end
\ No newline at end of file
c10401033.lua
View file @
dc1dcd06
...
@@ -5,7 +5,7 @@ function cm.initial_effect(c)
...
@@ -5,7 +5,7 @@ function cm.initial_effect(c)
--【自】:这个单位被「重力的支配者 磁力重压」RIDE时,通过【费用】[将手牌中的1张卡放置到灵魂里],抽1张卡,灵魂填充1。
--【自】:这个单位被「重力的支配者 磁力重压」RIDE时,通过【费用】[将手牌中的1张卡放置到灵魂里],抽1张卡,灵魂填充1。
vgd
.
BeRidedByCard
(
c
,
m
,
10401003
,
cm
.
operation
,
cm
.
cost
)
vgd
.
BeRidedByCard
(
c
,
m
,
10401003
,
cm
.
operation
,
cm
.
cost
)
--【自】:这个单位登场到R时,通过【费用】[计数爆发1],灵魂填充2。
--【自】:这个单位登场到R时,通过【费用】[计数爆发1],灵魂填充2。
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation1
,
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
RSummonCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation1
,
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
con
.
RideOnRCircle
)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
@@ -15,7 +15,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -15,7 +15,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
vgf
.
GetMatchingGroupCount
(
nil
,
tp
,
0
,
LOCATION_HAND
,
nil
)
>=
1
end
if
chk
==
0
then
return
vgf
.
GetMatchingGroupCount
(
nil
,
tp
,
0
,
LOCATION_HAND
,
nil
)
>=
1
end
local
rc
=
vgf
.
GetMatchingGroup
(
vgf
.
VMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
):
GetFirst
()
local
rc
=
vgf
.
GetMatchingGroup
(
vgf
.
filter
.
IsV
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
):
GetFirst
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_OVERLAY
,
e
,
tp
,
nil
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_OVERLAY
,
e
,
tp
,
nil
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
e
,
tp
)
vgf
.
Sendto
(
LOCATION_SOUL
,
g
,
rc
)
vgf
.
Sendto
(
LOCATION_SOUL
,
g
,
rc
)
end
end
...
...
c10401035.lua
View file @
dc1dcd06
...
@@ -13,9 +13,9 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -13,9 +13,9 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
vgf
.
IsExistingMatchingCard
(
nil
,
vgf
.
RMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
c
)
and
vgf
.
cost
.
CounterBlast
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
end
if
chk
==
0
then
return
vgf
.
IsExistingMatchingCard
(
nil
,
vgf
.
filter
.
IsR
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
c
)
and
vgf
.
cost
.
CounterBlast
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
end
vgf
.
cost
.
CounterBlast
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
vgf
.
cost
.
CounterBlast
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_OVERLAY
,
nil
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
c
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_OVERLAY
,
nil
,
tp
,
vgf
.
filter
.
IsR
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
c
)
vgf
.
Sendto
(
LOCATION_SOUL
,
g
)
vgf
.
Sendto
(
LOCATION_SOUL
,
g
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
...
c10401036.lua
View file @
dc1dcd06
...
@@ -8,7 +8,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -8,7 +8,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_MONSTER
,
e
,
tp
,
Card
.
IsFaceup
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_MONSTER
,
e
,
tp
,
Card
.
IsFaceup
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
local
tc
=
g
:
GetFirst
()
local
tc
=
g
:
GetFirst
()
if
vgf
.
RMonsterFilter
(
tc
)
then
if
vgf
.
filter
.
IsR
(
tc
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
...
@@ -17,8 +17,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -17,8 +17,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetValue
(
1
)
e1
:
SetValue
(
1
)
tc
:
RegisterEffect
(
e1
)
tc
:
RegisterEffect
(
e1
)
vgf
.
Effect
Reset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
elseif
vgf
.
VMonsterFilter
(
tc
)
then
elseif
vgf
.
filter
.
IsV
(
tc
)
then
tc
:
RegisterFlagEffect
(
FLAG_DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
tc
:
RegisterFlagEffect
(
FLAG_DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
end
end
end
end
...
...
c10401038.lua
View file @
dc1dcd06
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
op
,
vgf
.
cost
.
SoulBlast
(
1
),
vgf
.
RMonsterCondition
,
nil
,
1
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
op
,
vgf
.
cost
.
SoulBlast
(
1
),
vgf
.
con
.
IsR
,
nil
,
1
)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
@@ -10,5 +10,5 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -10,5 +10,5 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
vgf
.
SendtoPrison
(
g
,
tp
)
vgf
.
SendtoPrison
(
g
,
tp
)
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
vgf
.
IsSequence
(
c
,
0
,
4
)
return
Card
.
IsSequence
(
c
,
0
,
4
)
end
end
\ No newline at end of file
c10401039.lua
View file @
dc1dcd06
...
@@ -10,11 +10,11 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -10,11 +10,11 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
vgf
.
AtkUp
(
c
,
g
,
5000
)
vgf
.
AtkUp
(
c
,
g
,
5000
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
VMonsterCondition
(
e
)
and
eg
:
IsExists
(
cm
.
filter
,
1
,
nil
,
tp
)
and
not
eg
:
IsContains
(
e
:
GetHandler
())
return
vgf
.
con
.
IsV
(
e
)
and
eg
:
IsExists
(
cm
.
filter
,
1
,
nil
,
tp
)
and
not
eg
:
IsContains
(
e
:
GetHandler
())
end
end
function
cm
.
filter
(
c
,
tp
)
function
cm
.
filter
(
c
,
tp
)
return
c
:
IsSetCard
(
0x5040
)
and
c
:
IsLocation
(
LOCATION_ORDER
)
and
c
:
IsControler
(
tp
)
return
c
:
IsSetCard
(
0x5040
)
and
c
:
IsLocation
(
LOCATION_ORDER
)
and
c
:
IsControler
(
tp
)
end
end
function
cm
.
con2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
RMonsterCondition
(
e
)
and
Duel
.
IsPlayerAffectedByEffect
(
tp
,
AFFECT_CODE_ABYSSAL_DARK_NIGHT
)
and
Duel
.
GetTurnPlayer
()
==
tp
return
vgf
.
con
.
IsR
(
e
)
and
Duel
.
IsPlayerAffectedByEffect
(
tp
,
AFFECT_CODE_ABYSSAL_DARK_NIGHT
)
and
Duel
.
GetTurnPlayer
()
==
tp
end
end
\ No newline at end of file
c10401040.lua
View file @
dc1dcd06
...
@@ -5,7 +5,7 @@ function cm.initial_effect(c)
...
@@ -5,7 +5,7 @@ function cm.initial_effect(c)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
Duel
.
IsPlayerAffectedByEffect
(
tp
,
AFFECT_CODE_ABYSSAL_DARK_NIGHT
)
and
vgf
.
RSummonCondition
(
e
)
return
Duel
.
IsPlayerAffectedByEffect
(
tp
,
AFFECT_CODE_ABYSSAL_DARK_NIGHT
)
and
vgf
.
con
.
RideOnRCircle
(
e
)
end
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
vgf
.
cost
.
CounterBlast
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
and
vgf
.
cost
.
SoulBlast
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
end
if
chk
==
0
then
return
vgf
.
cost
.
CounterBlast
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
and
vgf
.
cost
.
SoulBlast
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
end
...
...
c10401042.lua
View file @
dc1dcd06
...
@@ -9,7 +9,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -9,7 +9,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_MONSTER
,
e
,
tp
,
nil
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_MONSTER
,
e
,
tp
,
nil
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
local
tc
=
g
:
GetFirst
()
local
tc
=
g
:
GetFirst
()
if
vgf
.
RMonsterFilter
(
tc
)
then
if
vgf
.
filter
.
IsR
(
tc
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
...
@@ -18,8 +18,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -18,8 +18,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetValue
(
1
)
e1
:
SetValue
(
1
)
tc
:
RegisterEffect
(
e1
)
tc
:
RegisterEffect
(
e1
)
vgf
.
Effect
Reset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
elseif
vgf
.
VMonsterFilter
(
tc
)
then
elseif
vgf
.
filter
.
IsV
(
tc
)
then
tc
:
RegisterFlagEffect
(
FLAG_DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
tc
:
RegisterFlagEffect
(
FLAG_DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
end
end
end
end
...
...
c10401044.lua
View file @
dc1dcd06
...
@@ -18,5 +18,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -18,5 +18,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
IsExistingMatchingCard
(
Card
.
IsLevel
,
tp
,
LOCATION_CIRCLE
+
LOCATION_G_CIRCLE
,
0
,
3
,
nil
,
3
)
and
vgf
.
RMonsterCondition
(
e
)
return
vgf
.
IsExistingMatchingCard
(
Card
.
IsLevel
,
tp
,
LOCATION_CIRCLE
+
LOCATION_G_CIRCLE
,
0
,
3
,
nil
,
3
)
and
vgf
.
con
.
IsR
(
e
)
end
end
\ No newline at end of file
c10401046.lua
View file @
dc1dcd06
...
@@ -2,7 +2,7 @@ local cm,m,o=GetID()
...
@@ -2,7 +2,7 @@ local cm,m,o=GetID()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
BeRidedByCard
(
c
,
m
,
10401008
,
cm
.
op
)
vgd
.
BeRidedByCard
(
c
,
m
,
10401008
,
cm
.
op
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op2
,
nil
,
vgf
.
RSummonCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op2
,
nil
,
vgf
.
con
.
RideOnRCircle
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
3
)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
3
)
...
...
c10401047.lua
View file @
dc1dcd06
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
cm
.
cost
,
vgf
.
RSummonCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
cm
.
cost
,
vgf
.
con
.
RideOnRCircle
)
end
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
vgf
.
op
.
Rest
(
e
:
GetHandler
())(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
and
vgf
.
cost
.
SoulBlast
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
end
if
chk
==
0
then
return
vgf
.
op
.
Rest
(
e
:
GetHandler
())(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
and
vgf
.
cost
.
SoulBlast
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
end
...
...
c10401048.lua
View file @
dc1dcd06
...
@@ -4,7 +4,7 @@ function cm.initial_effect(c)
...
@@ -4,7 +4,7 @@ function cm.initial_effect(c)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_FIELD
,
EVENT_MOVE
,
vgf
.
CounterCharge
(
1
),
vgf
.
cost
.
SoulBlast
(
2
),
cm
.
con
,
nil
,
1
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_FIELD
,
EVENT_MOVE
,
vgf
.
CounterCharge
(
1
),
vgf
.
cost
.
SoulBlast
(
2
),
cm
.
con
,
nil
,
1
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
RMonsterCondition
(
e
)
and
eg
:
IsExists
(
cm
.
filter
,
1
,
nil
,
tp
)
and
Duel
.
GetTurnPlayer
()
==
tp
and
Duel
.
GetAttackTarget
()
return
vgf
.
con
.
IsR
(
e
)
and
eg
:
IsExists
(
cm
.
filter
,
1
,
nil
,
tp
)
and
Duel
.
GetTurnPlayer
()
==
tp
and
Duel
.
GetAttackTarget
()
end
end
function
cm
.
filter
(
c
,
tp
)
function
cm
.
filter
(
c
,
tp
)
return
c
:
IsTrigger
(
TRIGGER_CARDS
)
and
c
:
IsLocation
(
LOCATION_TRIGGER
)
and
c
:
IsControler
(
tp
)
return
c
:
IsTrigger
(
TRIGGER_CARDS
)
and
c
:
IsLocation
(
LOCATION_TRIGGER
)
and
c
:
IsControler
(
tp
)
...
...
c10401049.lua
View file @
dc1dcd06
...
@@ -9,7 +9,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -9,7 +9,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_MONSTER
,
e
,
tp
,
nil
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_MONSTER
,
e
,
tp
,
nil
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
local
tc
=
g
:
GetFirst
()
local
tc
=
g
:
GetFirst
()
if
vgf
.
RMonsterFilter
(
tc
)
then
if
vgf
.
filter
.
IsR
(
tc
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
...
@@ -18,8 +18,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -18,8 +18,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetValue
(
1
)
e1
:
SetValue
(
1
)
tc
:
RegisterEffect
(
e1
)
tc
:
RegisterEffect
(
e1
)
vgf
.
Effect
Reset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
elseif
vgf
.
VMonsterFilter
(
tc
)
then
elseif
vgf
.
filter
.
IsV
(
tc
)
then
tc
:
RegisterFlagEffect
(
FLAG_DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
tc
:
RegisterFlagEffect
(
FLAG_DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
end
end
end
end
...
...
c10401050.lua
View file @
dc1dcd06
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
vgf
.
op
.
CardsFromTo
(
REASON_EFFECT
,
LOCATION_HAND
,
LOCATION_DROP
,
cm
.
filter
,
1
,
0
),
nil
,
vgf
.
VSummonCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
vgf
.
op
.
CardsFromTo
(
REASON_EFFECT
,
LOCATION_HAND
,
LOCATION_DROP
,
cm
.
filter
,
1
,
0
),
nil
,
vgf
.
con
.
RideOnVCircle
)
vgd
.
AbilityCont
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EFFECT_UPDATE_ATTACK
,
5000
,
cm
.
con2
)
vgd
.
AbilityCont
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EFFECT_UPDATE_ATTACK
,
5000
,
cm
.
con2
)
vgd
.
GlobalCheckEffect
(
c
,
m
,
EVENT_CHAINING
,
cm
.
checkcon
)
vgd
.
GlobalCheckEffect
(
c
,
m
,
EVENT_CHAINING
,
cm
.
checkcon
)
end
end
...
@@ -12,5 +12,5 @@ function cm.checkcon(e,tp,eg,ep,ev,re,r,rp)
...
@@ -12,5 +12,5 @@ function cm.checkcon(e,tp,eg,ep,ev,re,r,rp)
return
re
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
and
rp
==
tp
return
re
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
and
rp
==
tp
end
end
function
cm
.
con2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetFlagEffect
(
tp
,
m
)
>
0
and
vgf
.
RMonsterCondition
(
e
)
return
Duel
.
GetFlagEffect
(
tp
,
m
)
>
0
and
vgf
.
con
.
IsR
(
e
)
end
end
\ No newline at end of file
c10401051.lua
View file @
dc1dcd06
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
op
,
vgf
.
cost
.
Retire
(),
vgf
.
RMonsterCondition
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
op
,
vgf
.
cost
.
Retire
(),
vgf
.
con
.
IsR
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
...
c10401052.lua
View file @
dc1dcd06
...
@@ -9,7 +9,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -9,7 +9,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_MONSTER
,
e
,
tp
,
nil
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_MONSTER
,
e
,
tp
,
nil
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
local
tc
=
g
:
GetFirst
()
local
tc
=
g
:
GetFirst
()
if
vgf
.
RMonsterFilter
(
tc
)
then
if
vgf
.
filter
.
IsR
(
tc
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
...
@@ -18,8 +18,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -18,8 +18,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetValue
(
1
)
e1
:
SetValue
(
1
)
tc
:
RegisterEffect
(
e1
)
tc
:
RegisterEffect
(
e1
)
vgf
.
Effect
Reset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
elseif
vgf
.
VMonsterFilter
(
tc
)
then
elseif
vgf
.
filter
.
IsV
(
tc
)
then
tc
:
RegisterFlagEffect
(
FLAG_DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
tc
:
RegisterFlagEffect
(
FLAG_DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
end
end
end
end
...
...
c10401056.lua
View file @
dc1dcd06
...
@@ -5,11 +5,11 @@ function cm.initial_effect(c)
...
@@ -5,11 +5,11 @@ function cm.initial_effect(c)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
vgf
.
RSummonCondition
(
e
)
return
vgf
.
con
.
RideOnRCircle
(
e
)
and
vgf
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
nil
)
and
vgf
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
nil
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_LEAVEFIELD
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_CIRCLE
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_LEAVEFIELD
,
e
,
tp
,
vgf
.
filter
.
IsR
,
tp
,
0
,
LOCATION_CIRCLE
,
1
,
1
,
nil
)
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
...
...
c10401057.lua
View file @
dc1dcd06
...
@@ -4,12 +4,12 @@ function cm.initial_effect(c)
...
@@ -4,12 +4,12 @@ function cm.initial_effect(c)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
op
,
nil
,
cm
.
con
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
op
,
nil
,
cm
.
con
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
GetMatchingGroup
(
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_CIRCLE
,
nil
):
GetCount
()
<=
2
and
vgf
.
RMonsterCondition
(
e
)
return
vgf
.
GetMatchingGroup
(
vgf
.
filter
.
IsR
,
tp
,
0
,
LOCATION_CIRCLE
,
nil
):
GetCount
()
<=
2
and
vgf
.
con
.
IsR
(
e
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
then
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
then
local
e1
=
vgf
.
AtkUp
(
c
,
c
,
5000
)
local
e1
=
vgf
.
AtkUp
(
c
,
c
,
5000
)
vgf
.
Effect
Reset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
end
end
end
end
\ No newline at end of file
c10401058.lua
View file @
dc1dcd06
...
@@ -6,7 +6,7 @@ end
...
@@ -6,7 +6,7 @@ end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
e1
=
vgf
.
DefUp
(
c
,
c
,
5000
)
local
e1
=
vgf
.
DefUp
(
c
,
c
,
5000
)
vgf
.
Effect
Reset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
...
c10401060.lua
View file @
dc1dcd06
...
@@ -5,7 +5,7 @@ function cm.initial_effect(c)
...
@@ -5,7 +5,7 @@ function cm.initial_effect(c)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_FIELD
,
EVENT_TO_GRAVE
,
cm
.
op
,
vgf
.
cost
.
And
(
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
cost
.
Retire
()),
cm
.
con
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_FIELD
,
EVENT_TO_GRAVE
,
cm
.
op
,
vgf
.
cost
.
And
(
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
cost
.
Retire
()),
cm
.
con
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_LEAVEFIELD
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_CIRCLE
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_LEAVEFIELD
,
e
,
tp
,
vgf
.
filter
.
IsR
,
tp
,
0
,
LOCATION_CIRCLE
,
1
,
1
,
nil
)
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
end
end
function
cm
.
filter
(
c
,
tp
)
function
cm
.
filter
(
c
,
tp
)
...
...
c10401061.lua
View file @
dc1dcd06
...
@@ -8,7 +8,7 @@ function cm.initial_effect(c)
...
@@ -8,7 +8,7 @@ function cm.initial_effect(c)
end
end
--你的主要阶段中对手的后防者退场时
--你的主要阶段中对手的后防者退场时
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
cm
.
filter
,
1
,
nil
,
tp
)
and
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN1
and
Duel
.
GetTurnPlayer
()
==
tp
and
vgf
.
RMonsterCondition
(
e
)
return
eg
:
IsExists
(
cm
.
filter
,
1
,
nil
,
tp
)
and
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN1
and
Duel
.
GetTurnPlayer
()
==
tp
and
vgf
.
con
.
IsR
(
e
)
end
end
function
cm
.
filter
(
c
,
tp
)
function
cm
.
filter
(
c
,
tp
)
return
c
:
IsPreviousLocation
(
LOCATION_CIRCLE
)
and
c
:
IsPreviousControler
(
1
-
tp
)
and
c
:
IsPreviousPosition
(
POS_FACEUP
)
return
c
:
IsPreviousLocation
(
LOCATION_CIRCLE
)
and
c
:
IsPreviousControler
(
1
-
tp
)
and
c
:
IsPreviousPosition
(
POS_FACEUP
)
...
...
c10401067.lua
View file @
dc1dcd06
...
@@ -5,11 +5,7 @@ function cm.initial_effect(c)
...
@@ -5,11 +5,7 @@ function cm.initial_effect(c)
--通过【费用】[使用1张以上的你希望的张数的卡进行计数爆发]施放!
--通过【费用】[使用1张以上的你希望的张数的卡进行计数爆发]施放!
--由于这个费用支付的计数爆发1每有1张,选择对手的1张后防者,退场。
--由于这个费用支付的计数爆发1每有1张,选择对手的1张后防者,退场。
vgd
.
Order
(
c
,
m
,
cm
.
op
,
cm
.
cost
)
vgd
.
Order
(
c
,
m
,
cm
.
op
,
cm
.
cost
)
vgf
.
AddAlchemagicFrom
(
c
,
m
,
"LOCATION_DAMAGE"
)
VgF
.
AddAlchemagic
(
m
,
"LOCATION_DAMAGE"
,
"POSCHANGE"
,
1
,
100
,
Card
.
IsFaceup
)
vgf
.
AddAlchemagicTo
(
c
,
m
,
"POSCHANGE"
)
vgf
.
AddAlchemagicFilter
(
c
,
m
,
Card
.
IsFaceup
)
vgf
.
AddAlchemagicCountMin
(
c
,
m
,
1
)
vgf
.
AddAlchemagicCountMax
(
c
,
m
,
100
)
end
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
ct
=
vgf
.
GetMatchingGroupCount
(
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
nil
)
local
ct
=
vgf
.
GetMatchingGroupCount
(
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
nil
)
...
...
c10401069.lua
View file @
dc1dcd06
...
@@ -3,16 +3,16 @@ local cm,m,o=GetID()
...
@@ -3,16 +3,16 @@ local cm,m,o=GetID()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
-- 【自】【R】:这个单位的攻击击中时,灵魂填充1。
-- 【自】【R】:这个单位的攻击击中时,灵魂填充1。
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_HITTING
,
vgf
.
op
.
SoulCharge
(
1
),
nil
,
vgf
.
RMonsterCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_HITTING
,
vgf
.
op
.
SoulCharge
(
1
),
nil
,
vgf
.
con
.
IsR
)
-- 【自】【R】:这个单位攻击的战斗结束时,你的灵魂在10张以上的话,通过【费用】[将这个单位放置到灵魂里],计数回充1
-- 【自】【R】:这个单位攻击的战斗结束时,你的灵魂在10张以上的话,通过【费用】[将这个单位放置到灵魂里],计数回充1
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_BATTLED
,
vgf
.
CounterCharge
(
1
),
cm
.
cost
,
cm
.
con
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_BATTLED
,
vgf
.
CounterCharge
(
1
),
cm
.
cost
,
cm
.
con
)
end
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
c
:
IsRelateToEffect
(
e
)
end
if
chk
==
0
then
return
c
:
IsRelateToEffect
(
e
)
end
local
rc
=
vgf
.
GetMatchingGroup
(
vgf
.
VMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
):
GetFirst
()
local
rc
=
vgf
.
GetMatchingGroup
(
vgf
.
filter
.
IsV
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
):
GetFirst
()
vgf
.
Sendto
(
LOCATION_SOUL
,
c
,
rc
)
vgf
.
Sendto
(
LOCATION_SOUL
,
c
,
rc
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
GetMatchingGroupCount
(
nil
,
tp
,
LOCATION_SOUL
,
0
,
nil
)
>=
10
and
vgf
.
RMonsterCondition
(
e
)
return
vgf
.
GetMatchingGroupCount
(
nil
,
tp
,
LOCATION_SOUL
,
0
,
nil
)
>=
10
and
vgf
.
con
.
IsR
(
e
)
end
end
\ No newline at end of file
c10401070.lua
View file @
dc1dcd06
...
@@ -8,7 +8,7 @@ vgd.GlobalCheckEffect(c,m,EVENT_CUSTOM+EVENT_OVERLAY_FILL,cm.checkcon)
...
@@ -8,7 +8,7 @@ vgd.GlobalCheckEffect(c,m,EVENT_CUSTOM+EVENT_OVERLAY_FILL,cm.checkcon)
end
end
function
cm
.
con
(
e
)
function
cm
.
con
(
e
)
local
tp
=
e
:
GetHandlerPlayer
()
local
tp
=
e
:
GetHandlerPlayer
()
return
vgf
.
RMonsterCondition
(
e
)
and
Duel
.
GetFlagEffect
(
tp
,
m
)
>
0
return
vgf
.
con
.
IsR
(
e
)
and
Duel
.
GetFlagEffect
(
tp
,
m
)
>
0
end
end
function
cm
.
checkcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
checkcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetTurnPlayer
()
==
tp
and
rp
==
tp
return
Duel
.
GetTurnPlayer
()
==
tp
and
rp
==
tp
...
...
c10401071.lua
View file @
dc1dcd06
...
@@ -7,7 +7,7 @@ function cm.initial_effect(c)
...
@@ -7,7 +7,7 @@ function cm.initial_effect(c)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
vgf
.
RMonsterFilter
(
c
)
and
eg
:
IsContains
(
c
)
return
vgf
.
filter
.
IsR
(
c
)
and
eg
:
IsContains
(
c
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
...
c10401072.lua
View file @
dc1dcd06
...
@@ -3,12 +3,12 @@ local cm,m,o=GetID()
...
@@ -3,12 +3,12 @@ local cm,m,o=GetID()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
-- 【起】【R】:通过【费用】[将这个单位放置到灵魂里],选择你的1个单位,这个回合中,力量+2000。
-- 【起】【R】:通过【费用】[将这个单位放置到灵魂里],选择你的1个单位,这个回合中,力量+2000。
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
op
,
cm
.
cost
,
vgf
.
RMonsterCondition
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
op
,
cm
.
cost
,
vgf
.
con
.
IsR
)
end
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
c
:
IsRelateToEffect
(
e
)
end
if
chk
==
0
then
return
c
:
IsRelateToEffect
(
e
)
end
local
rc
=
vgf
.
GetMatchingGroup
(
vgf
.
VMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
):
GetFirst
()
local
rc
=
vgf
.
GetMatchingGroup
(
vgf
.
filter
.
IsV
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
):
GetFirst
()
vgf
.
Sendto
(
LOCATION_SOUL
,
c
,
rc
)
vgf
.
Sendto
(
LOCATION_SOUL
,
c
,
rc
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
...
c10401073.lua
View file @
dc1dcd06
...
@@ -3,7 +3,7 @@ local cm,m,o=GetID()
...
@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
--【自】:这个单位登场到R时,选择你其他的1个与这个单位同纵列的单位,这个回合中,力量+2000。你处于“一气呵成之势”状态的话,力量不+2000而是+5000。
--【自】:这个单位登场到R时,选择你其他的1个与这个单位同纵列的单位,这个回合中,力量+2000。你处于“一气呵成之势”状态的话,力量不+2000而是+5000。
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
nil
,
vgf
.
RSummonCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
nil
,
vgf
.
con
.
RideOnRCircle
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
...
c10401074.lua
View file @
dc1dcd06
...
@@ -5,7 +5,7 @@ function cm.initial_effect(c)
...
@@ -5,7 +5,7 @@ function cm.initial_effect(c)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
vgf
.
RMonsterFilter
(
c
)
and
eg
:
IsContains
(
c
)
and
vgf
.
GetVMonster
(
tp
):
GetOverlayCount
()
>=
5
return
vgf
.
filter
.
IsR
(
c
)
and
eg
:
IsContains
(
c
)
and
vgf
.
GetVMonster
(
tp
):
GetOverlayCount
()
>=
5
end
end
--对手要从手牌将卡CALL到G上之际,不将2张以上同时CALL的话则不能CALL出场。
--对手要从手牌将卡CALL到G上之际,不将2张以上同时CALL的话则不能CALL出场。
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
@@ -21,7 +21,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -21,7 +21,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetOperation
(
cm
.
costop
)
e1
:
SetOperation
(
cm
.
costop
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
vgf
.
Effect
Reset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
end
end
function
cm
.
costtg
(
e
,
re
,
tp
)
function
cm
.
costtg
(
e
,
re
,
tp
)
e
:
SetLabelObject
(
re
:
GetHandler
())
e
:
SetLabelObject
(
re
:
GetHandler
())
...
...
c10401075.lua
View file @
dc1dcd06
...
@@ -3,11 +3,11 @@ local cm,m,o=GetID()
...
@@ -3,11 +3,11 @@ local cm,m,o=GetID()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
--【自】:这个单位登场到V时,灵魂填充1
--【自】:这个单位登场到V时,灵魂填充1
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
vgf
.
op
.
SoulCharge
(
1
),
nil
,
vgf
.
VSummonCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
vgf
.
op
.
SoulCharge
(
1
),
nil
,
vgf
.
con
.
RideOnVCircle
)
--【永】【R】:你的回合中,你的灵魂在10张以上的话,这个单位的力量+10000。
--【永】【R】:你的回合中,你的灵魂在10张以上的话,这个单位的力量+10000。
vgd
.
AbilityCont
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EFFECT_UPDATE_ATTACK
,
10000
,
cm
.
con2
)
vgd
.
AbilityCont
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EFFECT_UPDATE_ATTACK
,
10000
,
cm
.
con2
)
end
end
function
cm
.
con2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
vgf
.
RMonsterCondition
(
e
)
and
vgf
.
GetVMonster
(
tp
):
GetOverlayCount
()
>=
10
return
vgf
.
con
.
IsR
(
e
)
and
vgf
.
GetVMonster
(
tp
):
GetOverlayCount
()
>=
10
end
end
c10401081.lua
View file @
dc1dcd06
...
@@ -10,5 +10,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -10,5 +10,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
e
,
tp
,
nil
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
e
,
tp
,
nil
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
local
e1
=
vgf
.
AtkUp
(
c
,
g
,
15000
)
local
e1
=
vgf
.
AtkUp
(
c
,
g
,
15000
)
vgf
.
Effect
Reset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
end
end
\ No newline at end of file
c10401083.lua
View file @
dc1dcd06
...
@@ -5,7 +5,7 @@ function cm.initial_effect(c)
...
@@ -5,7 +5,7 @@ function cm.initial_effect(c)
end
end
function
cm
.
con
(
e
,
c
)
function
cm
.
con
(
e
,
c
)
local
tp
=
e
:
GetHandlerPlayer
()
local
tp
=
e
:
GetHandlerPlayer
()
return
vgf
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_ORDER
,
0
,
1
,
nil
)
and
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
and
vgf
.
RMonsterCondition
(
e
)
return
vgf
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_ORDER
,
0
,
1
,
nil
)
and
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
and
vgf
.
con
.
IsR
(
e
)
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
c
:
GetFlagEffect
(
FLAG_IMPRISON
)
>
0
return
c
:
GetFlagEffect
(
FLAG_IMPRISON
)
>
0
...
...
c10401084.lua
View file @
dc1dcd06
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
vgf
.
op
.
CardsFromTo
(
REASON_EFFECT
,
LOCATION_HAND
,
LOCATION_DECK
,
Card
.
IsSetCard
,
1
,
0
,
0x5040
),
nil
,
vgf
.
VSummonCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
vgf
.
op
.
CardsFromTo
(
REASON_EFFECT
,
LOCATION_HAND
,
LOCATION_DECK
,
Card
.
IsSetCard
,
1
,
0
,
0x5040
),
nil
,
vgf
.
con
.
RideOnVCircle
)
vgd
.
AbilityCont
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EFFECT_UPDATE_ATTACK
,
2000
,
cm
.
con
)
vgd
.
AbilityCont
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EFFECT_UPDATE_ATTACK
,
2000
,
cm
.
con
)
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
...
@@ -12,5 +12,5 @@ function cm.con(e)
...
@@ -12,5 +12,5 @@ function cm.con(e)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
(
Duel
.
IsPlayerAffectedByEffect
(
tp
,
AFFECT_CODE_DARK_NIGHT
)
or
Duel
.
IsPlayerAffectedByEffect
(
tp
,
AFFECT_CODE_ABYSSAL_DARK_NIGHT
))
return
(
Duel
.
IsPlayerAffectedByEffect
(
tp
,
AFFECT_CODE_DARK_NIGHT
)
or
Duel
.
IsPlayerAffectedByEffect
(
tp
,
AFFECT_CODE_ABYSSAL_DARK_NIGHT
))
and
(
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
or
c
:
GetFlagEffect
(
FLAG_SUPPORT
)
>
0
)
and
(
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
or
c
:
GetFlagEffect
(
FLAG_SUPPORT
)
>
0
)
and
vgf
.
RMonsterCondition
(
e
)
and
vgf
.
con
.
IsR
(
e
)
end
end
\ No newline at end of file
c10401085.lua
View file @
dc1dcd06
...
@@ -4,7 +4,7 @@ function cm.initial_effect(c)
...
@@ -4,7 +4,7 @@ function cm.initial_effect(c)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_FIELD
,
EVENT_CUSTOM
+
EVENT_SUPPORT
,
cm
.
op
,
nil
,
cm
.
con
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_FIELD
,
EVENT_CUSTOM
+
EVENT_SUPPORT
,
cm
.
op
,
nil
,
cm
.
con
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
RMonsterCondition
(
e
)
and
eg
:
GetFirst
()
==
e
:
GetHandler
()
return
vgf
.
con
.
IsR
(
e
)
and
eg
:
GetFirst
()
==
e
:
GetHandler
()
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
...
c10401092.lua
View file @
dc1dcd06
...
@@ -5,6 +5,6 @@ function cm.initial_effect(c)
...
@@ -5,6 +5,6 @@ function cm.initial_effect(c)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
e
,
tp
,
vgf
.
VMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
e
,
tp
,
vgf
.
filter
.
IsV
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
vgf
.
AtkUp
(
c
,
g
,
10000
,
nil
)
vgf
.
AtkUp
(
c
,
g
,
10000
,
nil
)
end
end
\ No newline at end of file
c10401093.lua
View file @
dc1dcd06
...
@@ -8,7 +8,7 @@ function cm.initial_effect(c)
...
@@ -8,7 +8,7 @@ function cm.initial_effect(c)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
e
,
tp
,
vgf
.
VMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
e
,
tp
,
vgf
.
filter
.
IsV
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
local
e1
=
vgf
.
AtkUp
(
c
,
g
,
30000
,
nil
)
local
e1
=
vgf
.
AtkUp
(
c
,
g
,
30000
,
nil
)
vgf
.
Effect
Reset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
end
end
\ No newline at end of file
c10401094.lua
View file @
dc1dcd06
...
@@ -11,7 +11,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -11,7 +11,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
vgf
.
RMonsterFilter
(
c
)
and
vgf
.
FrontFilter
(
c
)
return
vgf
.
filter
.
IsR
(
c
)
and
vgf
.
filter
.
Front
(
c
)
end
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsLocation
(
LOCATION_ORDER
)
return
e
:
GetHandler
():
IsLocation
(
LOCATION_ORDER
)
...
...
c10401096.lua
View file @
dc1dcd06
...
@@ -4,7 +4,7 @@ function cm.initial_effect(c)
...
@@ -4,7 +4,7 @@ function cm.initial_effect(c)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_FIELD
,
EVENT_MOVE
,
cm
.
op
,
vgf
.
cost
.
CounterBlast
(
2
),
cm
.
con
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_FIELD
,
EVENT_MOVE
,
cm
.
op
,
vgf
.
cost
.
CounterBlast
(
2
),
cm
.
con
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
RMonsterCondition
(
e
)
and
eg
:
IsExists
(
cm
.
filter
,
1
,
nil
,
tp
)
and
Duel
.
GetTurnPlayer
()
==
tp
and
Duel
.
GetAttackTarget
()
return
vgf
.
con
.
IsR
(
e
)
and
eg
:
IsExists
(
cm
.
filter
,
1
,
nil
,
tp
)
and
Duel
.
GetTurnPlayer
()
==
tp
and
Duel
.
GetAttackTarget
()
end
end
function
cm
.
filter
(
c
,
tp
)
function
cm
.
filter
(
c
,
tp
)
return
c
:
IsTrigger
(
TRIGGER_CARDS
)
and
c
:
IsLocation
(
LOCATION_TRIGGER
)
and
c
:
IsControler
(
tp
)
return
c
:
IsTrigger
(
TRIGGER_CARDS
)
and
c
:
IsLocation
(
LOCATION_TRIGGER
)
and
c
:
IsControler
(
tp
)
...
...
c10401098.lua
View file @
dc1dcd06
...
@@ -4,7 +4,7 @@ function cm.initial_effect(c)
...
@@ -4,7 +4,7 @@ function cm.initial_effect(c)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_FIELD
,
EVENT_MOVE
,
cm
.
op
,
vgf
.
cost
.
SoulBlast
(
1
),
cm
.
con
,
nil
,
1
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_FIELD
,
EVENT_MOVE
,
cm
.
op
,
vgf
.
cost
.
SoulBlast
(
1
),
cm
.
con
,
nil
,
1
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
RMonsterCondition
(
e
)
and
eg
:
IsExists
(
cm
.
filter
,
1
,
nil
,
tp
)
and
Duel
.
GetTurnPlayer
()
==
tp
and
Duel
.
GetAttackTarget
()
return
vgf
.
con
.
IsR
(
e
)
and
eg
:
IsExists
(
cm
.
filter
,
1
,
nil
,
tp
)
and
Duel
.
GetTurnPlayer
()
==
tp
and
Duel
.
GetAttackTarget
()
end
end
function
cm
.
filter
(
c
,
tp
)
function
cm
.
filter
(
c
,
tp
)
return
c
:
IsTrigger
(
TRIGGER_CARDS
)
and
c
:
IsLocation
(
LOCATION_TRIGGER
)
and
c
:
IsControler
(
tp
)
return
c
:
IsTrigger
(
TRIGGER_CARDS
)
and
c
:
IsLocation
(
LOCATION_TRIGGER
)
and
c
:
IsControler
(
tp
)
...
...
c10401099.lua
View file @
dc1dcd06
...
@@ -8,7 +8,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -8,7 +8,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
RMonsterCondition
(
e
)
and
eg
:
IsExists
(
cm
.
filter
,
1
,
nil
,
tp
)
and
Duel
.
GetTurnPlayer
()
==
tp
and
Duel
.
GetAttackTarget
()
return
vgf
.
con
.
IsR
(
e
)
and
eg
:
IsExists
(
cm
.
filter
,
1
,
nil
,
tp
)
and
Duel
.
GetTurnPlayer
()
==
tp
and
Duel
.
GetAttackTarget
()
end
end
function
cm
.
filter
(
c
,
tp
)
function
cm
.
filter
(
c
,
tp
)
return
c
:
IsTrigger
(
TRIGGER_CARDS
)
and
c
:
IsLocation
(
LOCATION_TRIGGER
)
and
c
:
IsControler
(
tp
)
return
c
:
IsTrigger
(
TRIGGER_CARDS
)
and
c
:
IsLocation
(
LOCATION_TRIGGER
)
and
c
:
IsControler
(
tp
)
...
@@ -18,5 +18,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -18,5 +18,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
vgf
.
Sendto
(
LOCATION_DECK
,
g
,
tp
,
SEQ_DECKSHUFFLE
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_DECK
,
g
,
tp
,
SEQ_DECKSHUFFLE
,
REASON_EFFECT
)
end
end
function
cm
.
filter2
(
c
)
function
cm
.
filter2
(
c
)
return
vgf
.
FrontFilter
(
c
)
and
vgf
.
RMonsterFilter
(
c
)
return
vgf
.
filter
.
Front
(
c
)
and
vgf
.
filter
.
IsR
(
c
)
end
end
\ No newline at end of file
c10401100.lua
View file @
dc1dcd06
...
@@ -4,7 +4,7 @@ function cm.initial_effect(c)
...
@@ -4,7 +4,7 @@ function cm.initial_effect(c)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_FIELD
,
EVENT_CUSTOM
+
EVENT_SUPPORT
,
cm
.
op
,
nil
,
cm
.
con
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_FIELD
,
EVENT_CUSTOM
+
EVENT_SUPPORT
,
cm
.
op
,
nil
,
cm
.
con
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
RMonsterCondition
(
e
)
and
eg
:
GetFirst
()
==
e
:
GetHandler
()
return
vgf
.
con
.
IsR
(
e
)
and
eg
:
GetFirst
()
==
e
:
GetHandler
()
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
...
c10401106.lua
View file @
dc1dcd06
...
@@ -2,17 +2,13 @@ local cm,m,o=GetID()
...
@@ -2,17 +2,13 @@ local cm,m,o=GetID()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
Order
(
c
,
m
,
cm
.
op
,
cm
.
cost
)
vgd
.
Order
(
c
,
m
,
cm
.
op
,
cm
.
cost
)
vgf
.
AddAlchemagicFrom
(
c
,
m
,
"LOCATION_SOUL"
)
VgF
.
AddAlchemagic
(
m
,
"LOCATION_SOUL"
,
"LOCATION_DROP"
,
1
,
1
,
function
(
tc
)
return
tc
:
IsLevel
(
3
)
end
)
vgf
.
AddAlchemagicTo
(
c
,
m
,
"LOCATION_DROP"
)
vgf
.
AddAlchemagicFilter
(
c
,
m
,
function
(
tc
)
return
tc
:
IsLevel
(
3
)
end
)
vgf
.
AddAlchemagicCountMin
(
c
,
m
,
1
)
vgf
.
AddAlchemagicCountMax
(
c
,
m
,
1
)
end
end
function
cm
.
filter
(
c
,
p
)
function
cm
.
filter
(
c
,
p
)
return
c
:
IsControler
(
p
)
and
vgf
.
RMonsterFilter
(
c
)
return
c
:
IsControler
(
p
)
and
vgf
.
filter
.
IsR
(
c
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_OPPO
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_CIRCLE
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_OPPO
,
e
,
tp
,
vgf
.
filter
.
IsR
,
tp
,
0
,
LOCATION_CIRCLE
,
1
,
1
,
nil
)
if
g
:
GetCount
()
==
0
then
return
end
if
g
:
GetCount
()
==
0
then
return
end
local
sg
=
vgf
.
GetColumnGroup
(
g
:
GetFirst
()):
Filter
(
cm
.
filter
,
nil
,
1
-
tp
)
local
sg
=
vgf
.
GetColumnGroup
(
g
:
GetFirst
()):
Filter
(
cm
.
filter
,
nil
,
1
-
tp
)
if
sg
:
GetCount
()
>
0
then
g
:
Sub
(
sg
)
end
if
sg
:
GetCount
()
>
0
then
g
:
Sub
(
sg
)
end
...
@@ -28,9 +24,9 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -28,9 +24,9 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
vgf
.
GetMatchingGroup
(
vgf
.
VMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
,
nil
):
GetFirst
():
GetOverlayGroup
():
IsExists
(
Card
.
IsLevel
,
1
,
nil
,
3
)
vgf
.
GetMatchingGroup
(
vgf
.
filter
.
IsV
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
,
nil
):
GetFirst
():
GetOverlayGroup
():
IsExists
(
Card
.
IsLevel
,
1
,
nil
,
3
)
end
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVEXYZ
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVEXYZ
)
local
g
=
vgf
.
GetMatchingGroup
(
vgf
.
VMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
):
GetFirst
():
GetOverlayGroup
():
FilterSelect
(
tp
,
Card
.
IsLevel
,
1
,
1
,
nil
,
3
)
local
g
=
vgf
.
GetMatchingGroup
(
vgf
.
filter
.
IsV
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
):
GetFirst
():
GetOverlayGroup
():
FilterSelect
(
tp
,
Card
.
IsLevel
,
1
,
1
,
nil
,
3
)
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_COST
)
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_COST
)
end
end
\ No newline at end of file
c10401107.lua
View file @
dc1dcd06
...
@@ -13,5 +13,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -13,5 +13,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
tp
,
nil
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
tp
,
nil
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
local
e1
=
vgf
.
AtkUp
(
c
,
g
,
15000
,
EVENT_BATTLED
)
local
e1
=
vgf
.
AtkUp
(
c
,
g
,
15000
,
EVENT_BATTLED
)
vgf
.
Effect
Reset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
end
end
\ No newline at end of file
c10401108.lua
View file @
dc1dcd06
...
@@ -3,11 +3,11 @@ local cm,m,o=GetID()
...
@@ -3,11 +3,11 @@ local cm,m,o=GetID()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
--【自】【R】:这个单位攻击时,通过【费用】[计数爆发1],这次战斗中,这个单位的力量+5000。
--【自】【R】:这个单位攻击时,通过【费用】[计数爆发1],这次战斗中,这个单位的力量+5000。
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
operation
,
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
RMonsterCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
operation
,
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
con
.
IsR
)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
e1
=
vgf
.
AtkUp
(
c
,
c
,
5000
,
EVENT_BATTLED
)
local
e1
=
vgf
.
AtkUp
(
c
,
c
,
5000
,
EVENT_BATTLED
)
vgf
.
Effect
Reset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
end
end
c10401109.lua
View file @
dc1dcd06
...
@@ -8,12 +8,12 @@ function cm.initial_effect(c)
...
@@ -8,12 +8,12 @@ function cm.initial_effect(c)
end
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
vgf
.
RMonsterCondition
and
vgf
.
VMonsterFilter
(
Duel
.
GetAttackTarget
())
and
vgf
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_BIND
,
0
,
1
,
nil
,
TYPE_ORDER
)
return
vgf
.
con
.
IsR
and
vgf
.
filter
.
IsV
(
Duel
.
GetAttackTarget
())
and
vgf
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_BIND
,
0
,
1
,
nil
,
TYPE_ORDER
)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
e1
=
vgf
.
AtkUp
(
c
,
c
,
5000
,
EVENT_BATTLED
)
local
e1
=
vgf
.
AtkUp
(
c
,
c
,
5000
,
EVENT_BATTLED
)
vgf
.
Effect
Reset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
end
end
function
cm
.
filter
(
c
,
typ
)
function
cm
.
filter
(
c
,
typ
)
return
c
:
IsType
(
typ
)
and
c
:
IsFaceup
()
return
c
:
IsType
(
typ
)
and
c
:
IsFaceup
()
...
...
c10401111.lua
View file @
dc1dcd06
...
@@ -4,7 +4,7 @@ function cm.initial_effect(c)
...
@@ -4,7 +4,7 @@ function cm.initial_effect(c)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
--【起】【V】【1回合1次】:通过【费用】[灵魂爆发1],抽2张卡,
--【起】【V】【1回合1次】:通过【费用】[灵魂爆发1],抽2张卡,
--选择你的手牌中的至多1张指令卡,舍弃,没有舍弃的话,选择手牌中的的2张卡舍弃。
--选择你的手牌中的至多1张指令卡,舍弃,没有舍弃的话,选择手牌中的的2张卡舍弃。
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
operation
,
vgf
.
cost
.
SoulBlast
(
1
),
vgf
.
VMonsterCondition
,
nil
,
1
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
operation
,
vgf
.
cost
.
SoulBlast
(
1
),
vgf
.
con
.
IsV
,
nil
,
1
)
--【永】【R】:这个回合中你施放过指令卡的话,这个单位的力量+2000。
--【永】【R】:这个回合中你施放过指令卡的话,这个单位的力量+2000。
vgd
.
AbilityCont
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EFFECT_UPDATE_ATTACK
,
2000
,
cm
.
con
)
vgd
.
AbilityCont
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EFFECT_UPDATE_ATTACK
,
2000
,
cm
.
con
)
vgd
.
GlobalCheckEffect
(
c
,
m
,
EVENT_CHAINING
,
cm
.
checkcon
)
vgd
.
GlobalCheckEffect
(
c
,
m
,
EVENT_CHAINING
,
cm
.
checkcon
)
...
@@ -23,5 +23,5 @@ function cm.checkcon(e,tp,eg,ep,ev,re,r,rp)
...
@@ -23,5 +23,5 @@ function cm.checkcon(e,tp,eg,ep,ev,re,r,rp)
return
re
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
and
rp
==
tp
return
re
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
and
rp
==
tp
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetFlagEffect
(
tp
,
m
)
>
0
and
vgf
.
RMonsterCondition
(
e
)
return
Duel
.
GetFlagEffect
(
tp
,
m
)
>
0
and
vgf
.
con
.
IsR
(
e
)
end
end
\ No newline at end of file
c10401112.lua
View file @
dc1dcd06
...
@@ -3,10 +3,10 @@ local cm,m,o=GetID()
...
@@ -3,10 +3,10 @@ local cm,m,o=GetID()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
--【自】:这个单位登场到R时,选择你其他的1张后防者,这个回合中,力量+5000。
--【自】:这个单位登场到R时,选择你其他的1张后防者,这个回合中,力量+5000。
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
nil
,
vgf
.
RSummonCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
nil
,
vgf
.
con
.
RideOnRCircle
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
c
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
tp
,
vgf
.
filter
.
IsR
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
c
)
vgf
.
AtkUp
(
c
,
g
,
5000
)
vgf
.
AtkUp
(
c
,
g
,
5000
)
end
end
c10401118.lua
View file @
dc1dcd06
...
@@ -4,13 +4,8 @@ local cm,m,o=GetID()
...
@@ -4,13 +4,8 @@ local cm,m,o=GetID()
--抽1张卡,将这张卡放置到灵魂里,计数回充1。
--抽1张卡,将这张卡放置到灵魂里,计数回充1。
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
Order
(
c
,
m
,
cm
.
op
,
vgf
.
cost
.
Retire
(
vgf
.
RMonsterFilter
,
2
,
2
))
vgd
.
Order
(
c
,
m
,
cm
.
op
,
vgf
.
cost
.
Retire
(
vgf
.
filter
.
IsR
,
2
,
2
))
vgf
.
AddAlchemagicFrom
(
c
,
m
,
"LOCATION_CIRCLE"
)
VgF
.
AddAlchemagic
(
m
,
"LOCATION_CIRCLE"
,
"LOCATION_DROP"
,
2
,
2
,
vgf
.
filter
.
IsR
)
vgf
.
AddAlchemagicTo
(
c
,
m
,
"LOCATION_DROP"
)
vgf
.
AddAlchemagicFilter
(
c
,
m
,
vgf
.
RMonsterFilter
)
vgf
.
AddAlchemagicCountMin
(
c
,
m
,
2
)
vgf
.
AddAlchemagicCountMax
(
c
,
m
,
2
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
...
c10401119.lua
View file @
dc1dcd06
...
@@ -9,6 +9,6 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -9,6 +9,6 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
e
,
tp
,
nil
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
e
,
tp
,
nil
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
vgf
.
AtkUp
(
c
,
g
,
5000
,
EVENT_BATTLED
)
vgf
.
AtkUp
(
c
,
g
,
5000
,
EVENT_BATTLED
)
local
sg
=
vgf
.
SelectMatchingCard
(
HINTMSG_RTOHAND
,
vgf
.
RMonsterFilter
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
Duel
.
GetAttackTarget
())
local
sg
=
vgf
.
SelectMatchingCard
(
HINTMSG_RTOHAND
,
vgf
.
filter
.
IsR
,
e
,
tp
,
vgf
.
filter
.
IsR
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
Duel
.
GetAttackTarget
())
vgf
.
Sendto
(
LOCATION_HAND
,
sg
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_HAND
,
sg
,
REASON_EFFECT
)
end
end
c10401120.lua
View file @
dc1dcd06
...
@@ -8,7 +8,7 @@ function cm.initial_effect(c)
...
@@ -8,7 +8,7 @@ function cm.initial_effect(c)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_OPPO
,
e
,
tp
,
vgf
.
VMonsterFilter
,
tp
,
0
,
LOCATION_CIRCLE
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_OPPO
,
e
,
tp
,
vgf
.
filter
.
IsV
,
tp
,
0
,
LOCATION_CIRCLE
,
1
,
1
,
nil
)
local
e1
=
vgf
.
StarUp
(
c
,
g
,
-
1
,
EVENT_BATTLED
)
local
e1
=
vgf
.
StarUp
(
c
,
g
,
-
1
,
EVENT_BATTLED
)
vgf
.
Effect
Reset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
end
end
\ No newline at end of file
c10402002.lua
View file @
dc1dcd06
...
@@ -20,12 +20,12 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -20,12 +20,12 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
vgf
.
op
.
SoulCharge
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
vgf
.
op
.
SoulCharge
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
c
:
IsCode
(
10101009
)
and
vgf
.
RMonsterFilter
(
c
)
return
c
:
IsCode
(
10101009
)
and
vgf
.
filter
.
IsR
(
c
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetAttacker
():
IsCode
(
10101009
)
and
vgf
.
GetVMonster
(
tp
):
IsCode
(
10101001
)
return
Duel
.
GetAttacker
():
IsCode
(
10101009
)
and
vgf
.
GetVMonster
(
tp
):
IsCode
(
10101001
)
end
end
function
cm
.
con2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
c
:
GetFlagEffectLabel
(
FLAG_CONDITION
)
==
201
and
(
vgf
.
RMonsterCondition
(
e
)
or
not
c
:
IsLocation
(
LOCATION_CIRCLE
))
return
c
:
GetFlagEffectLabel
(
FLAG_CONDITION
)
==
201
and
(
vgf
.
con
.
IsR
(
e
)
or
not
c
:
IsLocation
(
LOCATION_CIRCLE
))
end
end
\ No newline at end of file
c10402003.lua
View file @
dc1dcd06
...
@@ -5,7 +5,7 @@ function cm.initial_effect(c)
...
@@ -5,7 +5,7 @@ function cm.initial_effect(c)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_SOUL
,
cm
.
op
,
cm
.
cost
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_SOUL
,
cm
.
op
,
cm
.
cost
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
VMonsterFilter
(
Duel
.
GetAttackTarget
())
return
vgf
.
filter
.
IsV
(
Duel
.
GetAttackTarget
())
end
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
vgf
.
cost
.
CounterBlast
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
and
vgf
.
cost
.
Retire
(
e
:
GetHandler
())(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
end
if
chk
==
0
then
return
vgf
.
cost
.
CounterBlast
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
and
vgf
.
cost
.
Retire
(
e
:
GetHandler
())(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
end
...
@@ -14,6 +14,6 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -14,6 +14,6 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
e
,
tp
,
vgf
.
VMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
e
,
tp
,
vgf
.
filter
.
IsV
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
vgf
.
AtkUp
(
c
,
g
,
10000
)
vgf
.
AtkUp
(
c
,
g
,
10000
)
end
end
\ No newline at end of file
c10402004.lua
View file @
dc1dcd06
...
@@ -4,7 +4,7 @@ function cm.initial_effect(c)
...
@@ -4,7 +4,7 @@ function cm.initial_effect(c)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_HITTING
,
cm
.
op
,
nil
,
cm
.
con
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_HITTING
,
cm
.
op
,
nil
,
cm
.
con
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
RMonsterCondition
(
e
)
and
vgf
.
GetVMonster
(
tp
):
IsCode
(
10102001
)
return
vgf
.
con
.
IsR
(
e
)
and
vgf
.
GetVMonster
(
tp
):
IsCode
(
10102001
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_CALL
,
e
,
tp
,
cm
.
filter
,
tp
,
LOCATION_SOUL
,
0
,
0
,
1
,
nil
,
e
,
tp
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_CALL
,
e
,
tp
,
cm
.
filter
,
tp
,
LOCATION_SOUL
,
0
,
0
,
1
,
nil
,
e
,
tp
)
...
...
c10402005.lua
View file @
dc1dcd06
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
AbilityCont
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EFFECT_UPDATE_ATTACK
,
cm
.
val
,
vgf
.
RMonsterCondition
)
vgd
.
AbilityCont
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EFFECT_UPDATE_ATTACK
,
cm
.
val
,
vgf
.
con
.
IsR
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_BATTLED
,
cm
.
op
,
vgf
.
cost
.
Retire
(
10000001
),
cm
.
con
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_BATTLED
,
cm
.
op
,
vgf
.
cost
.
Retire
(
10000001
),
cm
.
con
)
end
end
function
cm
.
val
(
e
)
function
cm
.
val
(
e
)
...
@@ -13,9 +13,9 @@ function cm.val(e)
...
@@ -13,9 +13,9 @@ function cm.val(e)
return
val
return
val
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
RMonsterCondition
(
e
)
and
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
return
vgf
.
con
.
IsR
(
e
)
and
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_LEAVEONFIELD
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_CIRCLE
,
0
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_LEAVEONFIELD
,
e
,
tp
,
vgf
.
filter
.
IsR
,
tp
,
0
,
LOCATION_CIRCLE
,
0
,
1
,
nil
)
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
end
end
\ No newline at end of file
c10402006.lua
View file @
dc1dcd06
...
@@ -6,17 +6,17 @@ function cm.initial_effect(c)
...
@@ -6,17 +6,17 @@ function cm.initial_effect(c)
end
end
function
cm
.
con
(
e
,
c
)
function
cm
.
con
(
e
,
c
)
local
tp
=
e
:
GetHandlerPlayer
()
local
tp
=
e
:
GetHandlerPlayer
()
return
Duel
.
GetTurnPlayer
()
==
tp
and
vgf
.
RMonsterCondition
(
e
)
and
vgf
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_ORDER
,
0
,
2
,
nil
)
return
Duel
.
GetTurnPlayer
()
==
tp
and
vgf
.
con
.
IsR
(
e
)
and
vgf
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_ORDER
,
0
,
2
,
nil
)
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
c
:
GetFlagEffect
(
FLAG_IMPRISON
)
>
0
return
c
:
GetFlagEffect
(
FLAG_IMPRISON
)
>
0
end
end
function
cm
.
con2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
vgf
.
RMonsterCondition
(
e
)
and
vgf
.
FrontFilter
(
c
)
and
eg
:
IsExists
(
cm
.
filter2
,
1
,
nil
,
tp
)
return
vgf
.
con
.
IsR
(
e
)
and
vgf
.
filter
.
Front
(
c
)
and
eg
:
IsExists
(
cm
.
filter2
,
1
,
nil
,
tp
)
end
end
function
cm
.
filter2
(
c
,
tp
)
function
cm
.
filter2
(
c
,
tp
)
return
c
:
IsPreviousLocation
(
LOCATION_ORDER
)
and
c
:
IsPreviousControler
(
tp
)
and
c
:
IsControler
(
1
-
tp
)
and
vgf
.
IsSummonTypeR
(
c
)
return
c
:
IsPreviousLocation
(
LOCATION_ORDER
)
and
c
:
IsPreviousControler
(
tp
)
and
c
:
IsControler
(
1
-
tp
)
and
vgf
.
filter
.
RideOnRCircle
(
c
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
...
c10402007.lua
View file @
dc1dcd06
...
@@ -17,7 +17,7 @@ function cm.checkcon(e,tp,eg,ep,ev,re,r,rp)
...
@@ -17,7 +17,7 @@ function cm.checkcon(e,tp,eg,ep,ev,re,r,rp)
return
eg
:
IsExists
(
Card
.
IsSummonType
,
1
,
nil
,
SUMMON_TYPE_SELFRIDE
)
return
eg
:
IsExists
(
Card
.
IsSummonType
,
1
,
nil
,
SUMMON_TYPE_SELFRIDE
)
end
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetFlagEffect
(
tp
,
m
)
>
0
and
vgf
.
RMonsterCondition
(
e
)
return
Duel
.
GetFlagEffect
(
tp
,
m
)
>
0
and
vgf
.
con
.
IsR
(
e
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
...
c10402008.lua
View file @
dc1dcd06
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
vgf
.
op
.
CardsFromTo
(
REASON_EFFECT
,
LOCATION_CIRCLE
,
LOCATION_SOUL
,
Card
.
IsSetCard
,
1
,
1
,
0x78
),
nil
,
vgf
.
VSummonCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
vgf
.
op
.
CardsFromTo
(
REASON_EFFECT
,
LOCATION_CIRCLE
,
LOCATION_SOUL
,
Card
.
IsSetCard
,
1
,
1
,
0x78
),
nil
,
vgf
.
con
.
RideOnVCircle
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
op
,
vgf
.
cost
.
And
(
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
cost
.
Retire
(
vgf
.
RMonsterFilter
,
3
,
3
)),
nil
,
nil
,
1
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
op
,
vgf
.
cost
.
And
(
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
cost
.
Retire
(
vgf
.
filter
.
IsR
,
3
,
3
)),
nil
,
nil
,
1
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_LEAVEFIELD
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_CIRCLE
,
2
,
2
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_LEAVEFIELD
,
e
,
tp
,
vgf
.
filter
.
IsR
,
tp
,
0
,
LOCATION_CIRCLE
,
2
,
2
,
nil
)
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
vgf
.
AtkUp
(
c
,
c
,
10000
)
vgf
.
AtkUp
(
c
,
c
,
10000
)
vgf
.
StarUp
(
c
,
c
,
1
)
vgf
.
StarUp
(
c
,
c
,
1
)
...
...
c10402009.lua
View file @
dc1dcd06
...
@@ -5,11 +5,11 @@ function cm.initial_effect(c)
...
@@ -5,11 +5,11 @@ function cm.initial_effect(c)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_BECOME_TARGET
,
cm
.
op2
,
nil
,
cm
.
con2
,
nil
,
1
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_BECOME_TARGET
,
cm
.
op2
,
nil
,
cm
.
con2
,
nil
,
1
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
RSummonCondition
(
e
)
and
vgf
.
GetVMonster
(
tp
):
IsCode
(
10104001
)
return
vgf
.
con
.
RideOnRCircle
(
e
)
and
vgf
.
GetVMonster
(
tp
):
IsCode
(
10104001
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_RMONSTER
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_RMONSTER
,
e
,
tp
,
vgf
.
filter
.
IsR
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
local
tc
=
vgf
.
ReturnCard
(
g
)
local
tc
=
vgf
.
ReturnCard
(
g
)
if
tc
then
if
tc
then
vgf
.
AtkUp
(
c
,
tc
,
5000
)
vgf
.
AtkUp
(
c
,
tc
,
5000
)
...
@@ -17,7 +17,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -17,7 +17,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
function
cm
.
con2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsContains
(
e
:
GetHandler
())
and
vgf
.
VMonsterFilter
(
re
:
GetHandler
())
and
vgf
.
RMonsterCondition
(
e
)
return
eg
:
IsContains
(
e
:
GetHandler
())
and
vgf
.
filter
.
IsV
(
re
:
GetHandler
())
and
vgf
.
con
.
IsR
(
e
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
...
c10402010.lua
View file @
dc1dcd06
...
@@ -3,13 +3,13 @@ function cm.initial_effect(c)
...
@@ -3,13 +3,13 @@ function cm.initial_effect(c)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
AbilityCont
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EFFECT_UPDATE_ATTACK
,
5000
,
cm
.
con
)
vgd
.
AbilityCont
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EFFECT_UPDATE_ATTACK
,
5000
,
cm
.
con
)
vgd
.
GlobalCheckEffect
(
c
,
m
,
EVENT_CHAINING
,
cm
.
checkcon
)
vgd
.
GlobalCheckEffect
(
c
,
m
,
EVENT_CHAINING
,
cm
.
checkcon
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
nil
,
vgf
.
RSummonCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
nil
,
vgf
.
con
.
RideOnRCircle
)
end
end
function
cm
.
checkcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
checkcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
re
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
and
rp
==
tp
return
re
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
and
rp
==
tp
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetFlagEffect
(
tp
,
m
)
>
0
and
vgf
.
RMonsterCondition
(
e
)
return
Duel
.
GetFlagEffect
(
tp
,
m
)
>
0
and
vgf
.
con
.
IsR
(
e
)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ct
=
Duel
.
GetFlagEffectLabel
(
tp
,
m
)
local
ct
=
Duel
.
GetFlagEffectLabel
(
tp
,
m
)
...
...
c10402011.lua
View file @
dc1dcd06
...
@@ -12,7 +12,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -12,7 +12,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
vgf
.
FrontFilter
(
c
)
and
vgf
.
RMonsterFilter
(
c
)
return
vgf
.
filter
.
Front
(
c
)
and
vgf
.
filter
.
IsR
(
c
)
end
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
vgf
.
cost
.
CounterBlast
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
and
vgf
.
cost
.
SoulBlast
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
end
if
chk
==
0
then
return
vgf
.
cost
.
CounterBlast
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
and
vgf
.
cost
.
SoulBlast
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
end
...
...
c10402013.lua
View file @
dc1dcd06
...
@@ -5,7 +5,7 @@ function cm.initial_effect(c)
...
@@ -5,7 +5,7 @@ function cm.initial_effect(c)
vgd
.
GlobalCheckEffect
(
c
,
m
,
EVENT_TO_GRAVE
,
cm
.
checkcon
)
vgd
.
GlobalCheckEffect
(
c
,
m
,
EVENT_TO_GRAVE
,
cm
.
checkcon
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
RMonsterCondition
(
e
)
and
Duel
.
GetFlagEffect
(
tp
,
m
)
>
0
return
vgf
.
con
.
IsR
(
e
)
and
Duel
.
GetFlagEffect
(
tp
,
m
)
>
0
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
@@ -24,5 +24,5 @@ function cm.checkcon(e,tp,eg,ep,ev,re,r,rp)
...
@@ -24,5 +24,5 @@ function cm.checkcon(e,tp,eg,ep,ev,re,r,rp)
return
eg
:
IsExists
(
cm
.
checkfilter
,
1
,
nil
,
tp
)
return
eg
:
IsExists
(
cm
.
checkfilter
,
1
,
nil
,
tp
)
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
vgf
.
RMonsterFilter
(
c
)
and
c
:
IsLevelAbove
(
2
)
return
vgf
.
filter
.
IsR
(
c
)
and
c
:
IsLevelAbove
(
2
)
end
end
\ No newline at end of file
c10402014.lua
View file @
dc1dcd06
...
@@ -10,7 +10,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -10,7 +10,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
then
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
then
local
e1
=
vgf
.
AtkUp
(
c
,
c
,
5000
)
local
e1
=
vgf
.
AtkUp
(
c
,
c
,
5000
)
vgf
.
Effect
Reset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
end
end
if
vgf
.
GetVMonster
(
tp
):
GetOverlayCount
()
>=
10
then
if
vgf
.
GetVMonster
(
tp
):
GetOverlayCount
()
>=
10
then
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
...
...
c10402015.lua
View file @
dc1dcd06
...
@@ -10,8 +10,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -10,8 +10,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
then
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
then
local
val
=
5000
local
val
=
5000
if
vgf
.
IsExistingMatchingCard
(
vgf
.
RMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
3
,
c
)
then
val
=
10000
end
if
vgf
.
IsExistingMatchingCard
(
vgf
.
filter
.
IsR
,
tp
,
LOCATION_CIRCLE
,
0
,
3
,
c
)
then
val
=
10000
end
local
e1
=
vgf
.
AtkUp
(
c
,
c
,
val
)
local
e1
=
vgf
.
AtkUp
(
c
,
c
,
val
)
vgf
.
Effect
Reset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
end
end
end
end
\ No newline at end of file
c10402016.lua
View file @
dc1dcd06
...
@@ -7,11 +7,11 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp)
...
@@ -7,11 +7,11 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
ct
=
Duel
.
GetFlagEffectLabel
(
tp
,
FLAG_CONDITION
)
local
ct
=
Duel
.
GetFlagEffectLabel
(
tp
,
FLAG_CONDITION
)
if
vgf
.
GetValueType
(
ct
)
~=
"number"
or
ct
~=
10102001
then
return
false
end
if
vgf
.
GetValueType
(
ct
)
~=
"number"
or
ct
~=
10102001
then
return
false
end
return
eg
:
GetFirst
()
==
c
and
Duel
.
GetAttacker
()
==
vgf
.
GetVMonster
(
tp
)
and
vgf
.
RMonsterCondition
(
e
)
return
eg
:
GetFirst
()
==
c
and
Duel
.
GetAttacker
()
==
vgf
.
GetVMonster
(
tp
)
and
vgf
.
con
.
IsR
(
e
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
tc
=
vgf
.
SelectMatchingCard
(
HINTMSG_VMONSTER
,
e
,
tp
,
vgf
.
VMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
):
GetFirst
()
local
tc
=
vgf
.
SelectMatchingCard
(
HINTMSG_VMONSTER
,
e
,
tp
,
vgf
.
filter
.
IsV
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
):
GetFirst
()
if
tc
:
IsSkill
(
SKILL_TWINDRIVE
)
then
if
tc
:
IsSkill
(
SKILL_TWINDRIVE
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
...
...
c10402017.lua
View file @
dc1dcd06
...
@@ -12,7 +12,7 @@ end
...
@@ -12,7 +12,7 @@ end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
tc
=
Duel
.
GetAttackTarget
()
local
tc
=
Duel
.
GetAttackTarget
()
if
vgf
.
RMonsterFilter
(
tc
)
then
if
vgf
.
filter
.
IsR
(
tc
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
...
@@ -22,8 +22,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -22,8 +22,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetCondition
(
cm
.
con1
)
e1
:
SetCondition
(
cm
.
con1
)
e1
:
SetValue
(
1
)
e1
:
SetValue
(
1
)
tc
:
RegisterEffect
(
e1
)
tc
:
RegisterEffect
(
e1
)
vgf
.
Effect
Reset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
elseif
vgf
.
VMonsterFilter
(
tc
)
then
elseif
vgf
.
filter
.
IsV
(
tc
)
then
tc
:
RegisterFlagEffect
(
FLAG_DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
,
m
)
tc
:
RegisterFlagEffect
(
FLAG_DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
,
m
)
end
end
end
end
...
...
c10402018.lua
View file @
dc1dcd06
...
@@ -5,7 +5,7 @@ function cm.initial_effect(c)
...
@@ -5,7 +5,7 @@ function cm.initial_effect(c)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
eg
:
GetFirst
()
==
c
and
Duel
.
GetAttacker
():
IsCode
(
10000001
)
and
vgf
.
RMonsterCondition
(
e
)
return
eg
:
GetFirst
()
==
c
and
Duel
.
GetAttacker
():
IsCode
(
10000001
)
and
vgf
.
con
.
IsR
(
e
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
@@ -29,5 +29,5 @@ function cm.op2(e,tp,eg,ep,ev,re,r,rp)
...
@@ -29,5 +29,5 @@ function cm.op2(e,tp,eg,ep,ev,re,r,rp)
e
:
Reset
()
e
:
Reset
()
end
end
function
cm
.
filter
(
c
,
tp
)
function
cm
.
filter
(
c
,
tp
)
return
c
:
IsControler
(
tp
)
and
vgf
.
RMonsterFilter
(
c
)
return
c
:
IsControler
(
tp
)
and
vgf
.
filter
.
IsR
(
c
)
end
end
\ No newline at end of file
c10402019.lua
View file @
dc1dcd06
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
vgf
.
CounterCharge
(
1
),
cm
.
cost
,
vgf
.
RMonsterCondition
,
nil
,
1
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
vgf
.
CounterCharge
(
1
),
cm
.
cost
,
vgf
.
con
.
IsR
,
nil
,
1
)
end
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
...
...
c10402020.lua
View file @
dc1dcd06
...
@@ -16,10 +16,10 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -16,10 +16,10 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
if
a
==
0
then
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
else
vgf
.
AtkUp
(
c
,
c
,
5000
)
vgf
.
StarUp
(
c
,
c
,
1
)
end
if
a
==
0
then
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
else
vgf
.
AtkUp
(
c
,
c
,
5000
)
vgf
.
StarUp
(
c
,
c
,
1
)
end
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
vgf
.
RMonsterFilter
(
c
)
and
c
:
IsLevel
(
3
)
return
vgf
.
filter
.
IsR
(
c
)
and
c
:
IsLevel
(
3
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_CIRCLE
,
0
,
4
,
nil
)
and
vgf
.
RMonsterCondition
(
e
)
return
vgf
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_CIRCLE
,
0
,
4
,
nil
)
and
vgf
.
con
.
IsR
(
e
)
end
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
...
...
c10402021.lua
View file @
dc1dcd06
...
@@ -4,11 +4,11 @@ function cm.initial_effect(c)
...
@@ -4,11 +4,11 @@ function cm.initial_effect(c)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
operation
,
nil
,
cm
.
con
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
operation
,
nil
,
cm
.
con
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
not
vgf
.
IsExistingMatchingCard
(
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
1
,
nil
)
and
vgf
.
RMonsterCondition
(
e
)
return
not
vgf
.
IsExistingMatchingCard
(
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
1
,
nil
)
and
vgf
.
con
.
IsR
(
e
)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToEffect
(
e
)
or
c
:
IsFacedown
()
then
return
end
if
not
c
:
IsRelateToEffect
(
e
)
or
c
:
IsFacedown
()
then
return
end
local
e1
=
vgf
.
AtkUp
(
c
,
c
,
5000
)
local
e1
=
vgf
.
AtkUp
(
c
,
c
,
5000
)
vgf
.
Effect
Reset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
end
end
\ No newline at end of file
c10402022.lua
View file @
dc1dcd06
...
@@ -6,7 +6,7 @@ end
...
@@ -6,7 +6,7 @@ end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
tc
=
vgf
.
GetVMonster
(
tp
)
local
tc
=
vgf
.
GetVMonster
(
tp
)
return
vgf
.
RSummonCondition
(
e
)
and
c
:
IsSummonLocation
(
LOCATION_HAND
)
and
tc
:
IsCode
(
10401008
,
10401046
)
return
vgf
.
con
.
RideOnRCircle
(
e
)
and
c
:
IsSummonLocation
(
LOCATION_HAND
)
and
tc
:
IsCode
(
10401008
,
10401046
)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
2
)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
2
)
...
...
c10402023.lua
View file @
dc1dcd06
...
@@ -6,11 +6,11 @@ function cm.initial_effect(c)
...
@@ -6,11 +6,11 @@ function cm.initial_effect(c)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_CANMOVE_PARALLEL
)
e1
:
SetCode
(
EFFECT_CANMOVE_PARALLEL
)
e1
:
SetRange
(
LOCATION_CIRCLE
)
e1
:
SetRange
(
LOCATION_CIRCLE
)
e1
:
SetCondition
(
vgf
.
RMonsterCondition
)
e1
:
SetCondition
(
vgf
.
con
.
IsR
)
e1
:
SetTargetRange
(
LOCATION_CIRCLE
,
0
)
e1
:
SetTargetRange
(
LOCATION_CIRCLE
,
0
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
end
end
function
cm
.
tg
(
e
,
tc
)
function
cm
.
tg
(
e
,
tc
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
vgf
.
FrontFilter
(
tc
)
and
vgf
.
GetColumnGroup
(
c
):
IsContains
(
tc
)
and
tc
:
IsControler
(
c
:
GetControler
())
return
vgf
.
filter
.
Front
(
tc
)
and
vgf
.
GetColumnGroup
(
c
):
IsContains
(
tc
)
and
tc
:
IsControler
(
c
:
GetControler
())
end
end
\ No newline at end of file
c10402024.lua
View file @
dc1dcd06
...
@@ -4,7 +4,7 @@ function cm.initial_effect(c)
...
@@ -4,7 +4,7 @@ function cm.initial_effect(c)
vgd
.
Order
(
c
,
m
,
cm
.
op
,
vgf
.
cost
.
And
(
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
cost
.
SoulBlast
(
1
)))
vgd
.
Order
(
c
,
m
,
cm
.
op
,
vgf
.
cost
.
And
(
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
cost
.
SoulBlast
(
1
)))
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_LEAVEFIELD
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
LOCATION_CIRCLE
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_LEAVEFIELD
,
e
,
tp
,
vgf
.
filter
.
IsR
,
tp
,
LOCATION_CIRCLE
,
LOCATION_CIRCLE
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
local
ct
=
bit
.
ReturnCount
(
vgf
.
GetAvailableLocation
(
tp
))
local
ct
=
bit
.
ReturnCount
(
vgf
.
GetAvailableLocation
(
tp
))
...
...
c10402026.lua
View file @
dc1dcd06
...
@@ -11,10 +11,10 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -11,10 +11,10 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
vgf
.
op
.
Rest
(
c
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
vgf
.
op
.
Rest
(
c
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
RMonsterCondition
(
e
)
and
vgf
.
GetVMonster
(
tp
):
IsCode
(
10401002
)
return
vgf
.
con
.
IsR
(
e
)
and
vgf
.
GetVMonster
(
tp
):
IsCode
(
10401002
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_LEAVEFIELD
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_CIRCLE
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_LEAVEFIELD
,
e
,
tp
,
vgf
.
filter
.
IsR
,
tp
,
0
,
LOCATION_CIRCLE
,
1
,
1
,
nil
)
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
end
end
function
cm
.
op1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
@@ -23,5 +23,5 @@ function cm.op1(e,tp,eg,ep,ev,re,r,rp)
...
@@ -23,5 +23,5 @@ function cm.op1(e,tp,eg,ep,ev,re,r,rp)
vgf
.
AtkUp
(
c
,
c
,
5000
)
vgf
.
AtkUp
(
c
,
c
,
5000
)
end
end
function
cm
.
con1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
GetMatchingGroupCount
(
vgf
.
VMonsterFilter
,
tp
,
0
,
LOCATION_CIRCLE
,
nil
)
<=
1
return
vgf
.
GetMatchingGroupCount
(
vgf
.
filter
.
IsV
,
tp
,
0
,
LOCATION_CIRCLE
,
nil
)
<=
1
end
end
\ No newline at end of file
c10402027.lua
View file @
dc1dcd06
...
@@ -22,5 +22,5 @@ function cm.op1(e,tp,eg,ep,ev,re,r,rp)
...
@@ -22,5 +22,5 @@ function cm.op1(e,tp,eg,ep,ev,re,r,rp)
vgf
.
AtkUp
(
c
,
g
,
5000
)
vgf
.
AtkUp
(
c
,
g
,
5000
)
end
end
function
cm
.
con1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
RMonsterCondition
(
e
)
and
vgf
.
GetVMonster
(
tp
):
IsSetCard
(
0x79
)
return
vgf
.
con
.
IsR
(
e
)
and
vgf
.
GetVMonster
(
tp
):
IsSetCard
(
0x79
)
end
end
\ No newline at end of file
c10402028.lua
View file @
dc1dcd06
...
@@ -4,13 +4,13 @@ function cm.initial_effect(c)
...
@@ -4,13 +4,13 @@ function cm.initial_effect(c)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
op
,
nil
,
cm
.
con
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
op
,
nil
,
cm
.
con
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
RMonsterCondition
(
e
)
and
vgf
.
GetVMonster
(
tp
):
IsSetCard
(
0x79
)
return
vgf
.
con
.
IsR
(
e
)
and
vgf
.
GetVMonster
(
tp
):
IsSetCard
(
0x79
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
then
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
then
local
e1
=
vgf
.
AtkUp
(
c
,
c
,
5000
,
nil
)
local
e1
=
vgf
.
AtkUp
(
c
,
c
,
5000
,
nil
)
vgf
.
Effect
Reset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
end
end
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
if
vgf
.
cost
.
CounterBlast
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
0
)
and
Duel
.
SelectEffectYesNo
(
tp
,
vgf
.
stringid
(
VgID
,
10
))
then
if
vgf
.
cost
.
CounterBlast
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
0
)
and
Duel
.
SelectEffectYesNo
(
tp
,
vgf
.
stringid
(
VgID
,
10
))
then
...
@@ -20,5 +20,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -20,5 +20,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
vgf
.
RMonsterFilter
(
c
)
and
c
:
IsLevelBelow
(
2
)
return
vgf
.
filter
.
IsR
(
c
)
and
c
:
IsLevelBelow
(
2
)
end
end
\ No newline at end of file
c10402029.lua
View file @
dc1dcd06
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
vgf
.
op
.
CardsFromTo
(
REASON_EFFECT
,
LOCATION_CIRCLE
,
LOCATION_DROP
,
cm
.
filter
),
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
RSummonCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
vgf
.
op
.
CardsFromTo
(
REASON_EFFECT
,
LOCATION_CIRCLE
,
LOCATION_DROP
,
cm
.
filter
),
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
con
.
RideOnRCircle
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
op
,
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
RMonsterCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
op
,
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
con
.
IsR
)
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
c
:
IsLevel
(
0
)
return
c
:
IsLevel
(
0
)
...
...
c10402031.lua
View file @
dc1dcd06
...
@@ -2,12 +2,7 @@ local cm,m,o=GetID()
...
@@ -2,12 +2,7 @@ local cm,m,o=GetID()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
Order
(
c
,
m
,
cm
.
op
,
cm
.
cost
)
vgd
.
Order
(
c
,
m
,
cm
.
op
,
cm
.
cost
)
vgf
.
AddAlchemagicFilter
(
c
,
m
,
cm
.
filter
)
VgF
.
AddAlchemagic
(
m
,
"LOCATION_HAND"
,
"LOCATION_DROP"
,
1
,
1
,
cm
.
filter
)
vgf
.
AddAlchemagicCountMin
(
c
,
m
,
1
)
vgf
.
AddAlchemagicCountMax
(
c
,
m
,
1
)
vgf
.
AddAlchemagicFrom
(
c
,
m
,
"LOCATION_HAND"
)
vgf
.
AddAlchemagicTo
(
c
,
m
,
"LOCATION_DROP"
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Draw
(
tp
,
2
,
REASON_EFFECT
)
Duel
.
Draw
(
tp
,
2
,
REASON_EFFECT
)
...
...
c10402032.lua
View file @
dc1dcd06
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
cm
.
cost
,
vgf
.
RSummonCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
cm
.
cost
,
vgf
.
con
.
RideOnRCircle
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
...
...
c10402033.lua
View file @
dc1dcd06
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
op
,
vgf
.
cost
.
SoulBlast
(
1
),
vgf
.
RMonsterCondition
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
op
,
vgf
.
cost
.
SoulBlast
(
1
),
vgf
.
con
.
IsR
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
...
c10402037.lua
View file @
dc1dcd06
...
@@ -10,7 +10,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -10,7 +10,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local
ct
=
Duel
.
GetFlagEffectLabel
(
tp
,
FLAG_CONDITION
)
local
ct
=
Duel
.
GetFlagEffectLabel
(
tp
,
FLAG_CONDITION
)
if
vgf
.
GetValueType
(
ct
)
==
"number"
and
ct
==
10102001
then
if
vgf
.
GetValueType
(
ct
)
==
"number"
and
ct
==
10102001
then
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
local
g
=
vgf
.
GetMatchingGroup
(
vgf
.
FrontFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
)
local
g
=
vgf
.
GetMatchingGroup
(
vgf
.
filter
.
Front
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
)
vgf
.
AtkUp
(
c
,
g
,
10000
,
nil
)
vgf
.
AtkUp
(
c
,
g
,
10000
,
nil
)
end
end
end
end
\ No newline at end of file
c10402038.lua
View file @
dc1dcd06
...
@@ -8,7 +8,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -8,7 +8,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
vgf
.
GetMatchingGroup
(
cm
.
filter
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
)
local
g
=
vgf
.
GetMatchingGroup
(
cm
.
filter
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
)
return
g
:
GetCount
()
>
0
and
vgf
.
RMonsterCondition
(
e
)
return
g
:
GetCount
()
>
0
and
vgf
.
con
.
IsR
(
e
)
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
c
:
GetFlagEffect
(
FLAG_SUPPORT
)
>
0
and
c
:
IsCode
(
10000001
)
return
c
:
GetFlagEffect
(
FLAG_SUPPORT
)
>
0
and
c
:
IsCode
(
10000001
)
...
...
c10402039.lua
View file @
dc1dcd06
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
nil
,
vgf
.
RSummonCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
nil
,
vgf
.
con
.
RideOnRCircle
)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
3
)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
3
)
...
...
c10402041.lua
View file @
dc1dcd06
...
@@ -4,7 +4,7 @@ function cm.initial_effect(c)
...
@@ -4,7 +4,7 @@ function cm.initial_effect(c)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
operation
,
vgf
.
op
.
Rest
(),
cm
.
con
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
operation
,
vgf
.
op
.
Rest
(),
cm
.
con
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
RMonsterCondition
(
e
)
and
vgf
.
GetMatchingGroupCount
(
cm
.
filter
,
tp
,
LOCATION_ORDER
,
0
,
nil
)
<=
1
return
vgf
.
con
.
IsR
(
e
)
and
vgf
.
GetMatchingGroupCount
(
cm
.
filter
,
tp
,
LOCATION_ORDER
,
0
,
nil
)
<=
1
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
c
:
GetFlagEffect
(
FLAG_IMPRISON
)
>
0
return
c
:
GetFlagEffect
(
FLAG_IMPRISON
)
>
0
...
...
c10402044.lua
View file @
dc1dcd06
...
@@ -11,7 +11,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -11,7 +11,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
RSummonCondition
(
e
)
and
vgf
.
GetVMonster
(
tp
):
IsCode
(
10401008
)
return
vgf
.
con
.
RideOnRCircle
(
e
)
and
vgf
.
GetVMonster
(
tp
):
IsCode
(
10401008
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
2
)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
2
)
...
...
c10402045.lua
View file @
dc1dcd06
...
@@ -4,16 +4,16 @@ function cm.initial_effect(c)
...
@@ -4,16 +4,16 @@ function cm.initial_effect(c)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
vgf
.
cost
.
SoulBlast
(
1
),
cm
.
con
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
vgf
.
cost
.
SoulBlast
(
1
),
cm
.
con
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
RSummonCondition
(
e
)
and
vgf
.
GetVMonster
(
tp
):
IsSetCard
(
0x78
)
return
vgf
.
con
.
RideOnRCircle
(
e
)
and
vgf
.
GetVMonster
(
tp
):
IsSetCard
(
0x78
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
then
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
then
vgf
.
AtkUp
(
c
,
c
,
10000
,
nil
)
vgf
.
AtkUp
(
c
,
c
,
10000
,
nil
)
end
end
if
vgf
.
cost
.
And
(
vgf
.
cost
.
SoulBlast
(
1
),
vgf
.
cost
.
Retire
(
vgf
.
RMonsterFilter
,
1
,
1
,
c
))(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
0
)
and
Duel
.
SelectEffectYesNo
(
tp
,
vgf
.
stringid
(
VgID
,
10
))
then
if
vgf
.
cost
.
And
(
vgf
.
cost
.
SoulBlast
(
1
),
vgf
.
cost
.
Retire
(
vgf
.
filter
.
IsR
,
1
,
1
,
c
))(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
0
)
and
Duel
.
SelectEffectYesNo
(
tp
,
vgf
.
stringid
(
VgID
,
10
))
then
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
vgf
.
cost
.
And
(
vgf
.
cost
.
SoulBlast
(
1
),
vgf
.
cost
.
Retire
(
vgf
.
RMonsterFilter
,
1
,
1
,
c
))(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
0
)
vgf
.
cost
.
And
(
vgf
.
cost
.
SoulBlast
(
1
),
vgf
.
cost
.
Retire
(
vgf
.
filter
.
IsR
,
1
,
1
,
c
))(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
0
)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
5
)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
5
)
Duel
.
ConfirmCards
(
tp
,
g
)
Duel
.
ConfirmCards
(
tp
,
g
)
Duel
.
DisableShuffleCheck
()
Duel
.
DisableShuffleCheck
()
...
...
c10402046.lua
View file @
dc1dcd06
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
vgf
.
cost
.
And
(
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
cost
.
Retire
(
vgf
.
RMonsterFilter
,
1
,
1
,
c
)))
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
vgf
.
cost
.
And
(
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
cost
.
Retire
(
vgf
.
filter
.
IsR
,
1
,
1
,
c
)))
vgd
.
GlobalCheckEffect
(
c
,
m
,
EVENT_TO_GRAVE
,
cm
.
chkcon
)
vgd
.
GlobalCheckEffect
(
c
,
m
,
EVENT_TO_GRAVE
,
cm
.
chkcon
)
vgd
.
AbilityCont
(
c
,
m
,
LOCATION_R_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EFFECT_UPDATE_ATTACK
,
5000
,
cm
.
con
)
vgd
.
AbilityCont
(
c
,
m
,
LOCATION_R_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EFFECT_UPDATE_ATTACK
,
5000
,
cm
.
con
)
end
end
...
...
c10501001.lua
View file @
dc1dcd06
...
@@ -4,12 +4,12 @@ function cm.initial_effect(c)--这个函数下面用于注册效果
...
@@ -4,12 +4,12 @@ function cm.initial_effect(c)--这个函数下面用于注册效果
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
vgf
.
op
.
CardsFromTo
(
REASON_EFFECT
,
LOCATION_HAND
,
LOCATION_DECK
,
cm
.
filter
),
vgf
.
cost
.
CounterBlast
(
1
),
cm
.
con2
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
vgf
.
op
.
CardsFromTo
(
REASON_EFFECT
,
LOCATION_HAND
,
LOCATION_DECK
,
cm
.
filter
),
vgf
.
cost
.
CounterBlast
(
1
),
cm
.
con2
)
-- 【自】【V】:这个单位的攻击击中时,抽1张卡,选择你的1张含有「诚意真心」的后防者,这个回合中,力量+5000。
-- 【自】【V】:这个单位的攻击击中时,抽1张卡,选择你的1张含有「诚意真心」的后防者,这个回合中,力量+5000。
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_HITTING
,
cm
.
operation1
,
nil
,
vgf
.
VMonsterCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_HITTING
,
cm
.
operation1
,
nil
,
vgf
.
con
.
IsV
)
end
end
function
cm
.
con2
(
e
)
function
cm
.
con2
(
e
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g
=
c
:
GetMaterial
()
local
g
=
c
:
GetMaterial
()
return
vgf
.
VSummonCondition
(
e
)
and
g
:
IsExists
(
Card
.
IsCode
,
1
,
nil
,
10501036
)
return
vgf
.
con
.
RideOnVCircle
(
e
)
and
g
:
IsExists
(
Card
.
IsCode
,
1
,
nil
,
10501036
)
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
c
:
IsCode
(
10501021
)
return
c
:
IsCode
(
10501021
)
...
@@ -23,6 +23,6 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
...
@@ -23,6 +23,6 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
end
end
function
cm
.
filter1
(
c
)
function
cm
.
filter1
(
c
)
return
c
:
IsSetCard
(
0xb6
)
and
vgf
.
RMonsterFilter
(
c
)
return
c
:
IsSetCard
(
0xb6
)
and
vgf
.
filter
.
IsR
(
c
)
end
end
c10501003.lua
View file @
dc1dcd06
...
@@ -2,7 +2,7 @@ local cm,m,o=GetID()
...
@@ -2,7 +2,7 @@ local cm,m,o=GetID()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
-- 【起】【V】【1回合1次】:通过【费用】[计数爆发1],选择你的指令区中的1张正面表示的歌曲卡,将其歌唱。(发动歌曲卡的能力,那个能力结算完毕后将那张卡转为背面表示。)
-- 【起】【V】【1回合1次】:通过【费用】[计数爆发1],选择你的指令区中的1张正面表示的歌曲卡,将其歌唱。(发动歌曲卡的能力,那个能力结算完毕后将那张卡转为背面表示。)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
op
,
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
VMonsterCondition
,
nil
,
1
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
op
,
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
con
.
IsV
,
nil
,
1
)
-- 补充一回合一次描述
-- 补充一回合一次描述
-- 【自】【V】:这个单位攻击时,你的指令区中的背面表示的卡有2张以上的话,选择你的指令区中的1张卡正面表示的歌曲卡,将其歌唱,这次战斗中,对手不能将守护者从手牌CALL到G上。
-- 【自】【V】:这个单位攻击时,你的指令区中的背面表示的卡有2张以上的话,选择你的指令区中的1张卡正面表示的歌曲卡,将其歌唱,这次战斗中,对手不能将守护者从手牌CALL到G上。
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
op2
,
nil
,
cm
.
con2
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
op2
,
nil
,
cm
.
con2
)
...
@@ -17,7 +17,7 @@ function cm.filter(c)
...
@@ -17,7 +17,7 @@ function cm.filter(c)
end
end
function
cm
.
con2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
vgf
.
RMonsterFilter
(
c
)
and
vgf
.
IsExistingMatchingCard
(
Card
.
IsPosition
,
tp
,
LOCATION_ORDER
,
0
,
2
,
nil
,
POS_FACEDOWN
)
return
vgf
.
filter
.
IsR
(
c
)
and
vgf
.
IsExistingMatchingCard
(
Card
.
IsPosition
,
tp
,
LOCATION_ORDER
,
0
,
2
,
nil
,
POS_FACEDOWN
)
end
end
function
cm
.
op2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
@@ -36,7 +36,7 @@ function cm.op2(e,tp,eg,ep,ev,re,r,rp)
...
@@ -36,7 +36,7 @@ function cm.op2(e,tp,eg,ep,ev,re,r,rp)
e2
:
SetCode
(
AFFECT_CODE_DEFENDER_CANNOT_TO_G_CIRCLE
)
e2
:
SetCode
(
AFFECT_CODE_DEFENDER_CANNOT_TO_G_CIRCLE
)
e2
:
SetTargetRange
(
0
,
1
)
e2
:
SetTargetRange
(
0
,
1
)
Duel
.
RegisterEffect
(
e2
,
tp
)
Duel
.
RegisterEffect
(
e2
,
tp
)
vgf
.
Effect
Reset
(
c
,{
e1
,
e2
},
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,{
e1
,
e2
},
EVENT_BATTLED
)
end
end
function
cm
.
actlimit
(
e
,
te
,
tp
)
function
cm
.
actlimit
(
e
,
te
,
tp
)
local
tc
=
te
:
GetHandler
()
local
tc
=
te
:
GetHandler
()
...
...
c10501020.lua
View file @
dc1dcd06
...
@@ -6,20 +6,20 @@ function cm.initial_effect(c)
...
@@ -6,20 +6,20 @@ function cm.initial_effect(c)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
Duel
.
GetFlagEffect
(
tp
,
m
)
>
0
and
eg
:
IsContains
(
e
:
GetHandler
())
and
vgf
.
RMonsterFilter
(
c
)
return
Duel
.
GetFlagEffect
(
tp
,
m
)
>
0
and
eg
:
IsContains
(
e
:
GetHandler
())
and
vgf
.
filter
.
IsR
(
c
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
then
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
then
local
e1
=
vgf
.
AtkUp
(
c
,
c
,
5000
,
nil
)
local
e1
=
vgf
.
AtkUp
(
c
,
c
,
5000
,
nil
)
vgf
.
Effect
Reset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
end
end
if
vgf
.
IsSequence
(
c
,
2
)
then
if
Card
.
IsSequence
(
c
,
2
)
then
vgf
.
CounterCharge
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
vgf
.
CounterCharge
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
end
end
end
function
cm
.
checkfilter
(
c
,
tp
,
re
)
function
cm
.
checkfilter
(
c
,
tp
,
re
)
return
c
:
IsLocation
(
LOCATION_ORDER
)
and
c
:
IsSetCard
(
0xa040
)
and
c
:
IsControler
(
tp
)
and
c
:
IsPosition
(
POS_FACEDOWN
)
and
vgf
.
VMonsterFilter
(
re
:
GetHandler
())
return
c
:
IsLocation
(
LOCATION_ORDER
)
and
c
:
IsSetCard
(
0xa040
)
and
c
:
IsControler
(
tp
)
and
c
:
IsPosition
(
POS_FACEDOWN
)
and
vgf
.
filter
.
IsV
(
re
:
GetHandler
())
end
end
function
cm
.
checkcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
checkcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
cm
.
checkfilter
,
1
,
nil
,
tp
,
re
)
return
eg
:
IsExists
(
cm
.
checkfilter
,
1
,
nil
,
tp
,
re
)
...
...
c10501034.lua
View file @
dc1dcd06
...
@@ -14,7 +14,7 @@ end
...
@@ -14,7 +14,7 @@ end
function
cm
.
con1
(
e
)
function
cm
.
con1
(
e
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
vgf
.
VSummonCondition
(
e
)
return
vgf
.
con
.
RideOnVCircle
(
e
)
end
end
function
cm
.
op1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
@@ -29,12 +29,12 @@ end
...
@@ -29,12 +29,12 @@ end
function
cm
.
con2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
vgf
.
VMonsterCondition
(
e
)
and
vgf
.
WhiteWings
(
e
)
return
vgf
.
con
.
IsV
(
e
)
and
vgf
.
WhiteWings
(
e
)
end
end
function
cm
.
op2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
vgf
.
StarUp
(
c
,
c
,
1
)
vgf
.
StarUp
(
c
,
c
,
1
)
end
end
function
cm
.
con3
(
e
)
function
cm
.
con3
(
e
)
return
vgf
.
VMonsterCondition
(
e
)
and
vgf
.
BlackWings
(
e
)
return
vgf
.
con
.
IsV
(
e
)
and
vgf
.
BlackWings
(
e
)
end
end
\ No newline at end of file
c10501035.lua
View file @
dc1dcd06
...
@@ -17,11 +17,11 @@ end
...
@@ -17,11 +17,11 @@ end
function
cm
.
con1
(
e
)
function
cm
.
con1
(
e
)
local
tp
=
e
:
GetHandlerPlayer
()
local
tp
=
e
:
GetHandlerPlayer
()
return
vgf
.
IsExistingMatchingCard
(
cm
.
filter2
,
tp
,
LOCATION_CIRCLE
,
0
,
3
,
nil
)
and
vgf
.
RMonsterCondition
(
e
)
and
Duel
.
GetTurnPlayer
()
==
tp
return
vgf
.
IsExistingMatchingCard
(
cm
.
filter2
,
tp
,
LOCATION_CIRCLE
,
0
,
3
,
nil
)
and
vgf
.
con
.
IsR
(
e
)
and
Duel
.
GetTurnPlayer
()
==
tp
end
end
function
cm
.
filter2
(
c
)
function
cm
.
filter2
(
c
)
return
c
:
IsSetCard
(
0xa013
)
and
vgf
.
RMonsterFilter
(
c
)
return
c
:
IsSetCard
(
0xa013
)
and
vgf
.
filter
.
IsR
(
c
)
end
end
function
cm
.
filter3
(
c
)
function
cm
.
filter3
(
c
)
...
...
c10501036.lua
View file @
dc1dcd06
...
@@ -10,12 +10,12 @@ end
...
@@ -10,12 +10,12 @@ end
function
cm
.
con1
(
e
)
function
cm
.
con1
(
e
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
tp
=
e
:
GetHandlerPlayer
()
local
tp
=
e
:
GetHandlerPlayer
()
return
vgf
.
VMonsterCondition
(
e
)
and
not
vgf
.
IsExistingMatchingCard
(
vgf
.
RMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
nil
)
and
Duel
.
GetTurnPlayer
()
==
tp
return
vgf
.
con
.
IsV
(
e
)
and
not
vgf
.
IsExistingMatchingCard
(
vgf
.
filter
.
IsR
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
nil
)
and
Duel
.
GetTurnPlayer
()
==
tp
end
end
function
cm
.
con2
(
e
)
function
cm
.
con2
(
e
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g
=
c
:
GetMaterial
()
local
g
=
c
:
GetMaterial
()
return
vgf
.
VSummonCondition
(
e
)
and
g
:
IsExists
(
Card
.
IsCode
,
1
,
nil
,
10501090
)
return
vgf
.
con
.
RideOnVCircle
(
e
)
and
g
:
IsExists
(
Card
.
IsCode
,
1
,
nil
,
10501090
)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
7
)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
7
)
...
...
c10501038.lua
View file @
dc1dcd06
...
@@ -11,7 +11,7 @@ function cm.con1(e)
...
@@ -11,7 +11,7 @@ function cm.con1(e)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
tp
=
e
:
GetHandlerPlayer
()
local
tp
=
e
:
GetHandlerPlayer
()
local
a
=
vgf
.
IsExistingMatchingCard
(
cm
.
filter1
,
tp
,
LOCATION_ORDER
,
0
,
1
,
c
)
local
a
=
vgf
.
IsExistingMatchingCard
(
cm
.
filter1
,
tp
,
LOCATION_ORDER
,
0
,
1
,
c
)
return
vgf
.
VMonsterCondition
(
e
)
and
a
and
Duel
.
GetTurnPlayer
()
==
tp
return
vgf
.
con
.
IsV
(
e
)
and
a
and
Duel
.
GetTurnPlayer
()
==
tp
end
end
function
cm
.
filter1
(
c
)
function
cm
.
filter1
(
c
)
...
...
c10501039.lua
View file @
dc1dcd06
...
@@ -9,7 +9,7 @@ function cm.initial_effect(c)
...
@@ -9,7 +9,7 @@ function cm.initial_effect(c)
end
end
function
cm
.
con1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
re
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
and
rp
==
tp
and
vgf
.
VMonsterCondition
(
e
)
return
re
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
and
rp
==
tp
and
vgf
.
con
.
IsV
(
e
)
end
end
function
cm
.
val
(
e
)
function
cm
.
val
(
e
)
...
...
c10501040.lua
View file @
dc1dcd06
...
@@ -3,7 +3,7 @@ local cm,m,o=GetID()
...
@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
-- 【自】:这个单位登场到R时,选择你的弃牌区中的相互同名的至多2张宝石卡,将1张放置到牌堆底,其余的卡放置到灵魂里。
-- 【自】:这个单位登场到R时,选择你的弃牌区中的相互同名的至多2张宝石卡,将1张放置到牌堆底,其余的卡放置到灵魂里。
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
nil
,
vgf
.
RSummonCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
nil
,
vgf
.
con
.
RideOnRCircle
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
...
c10501041.lua
View file @
dc1dcd06
...
@@ -6,7 +6,7 @@ function cm.initial_effect(c)
...
@@ -6,7 +6,7 @@ function cm.initial_effect(c)
vgd
.
CannotBeAttackTarget
(
c
,
m
,
LOCATION_V_CIRCLE
,
EFFECT_TYPE_SINGLE
,
cm
.
val
,
vgf
.
BlackWings
)
vgd
.
CannotBeAttackTarget
(
c
,
m
,
LOCATION_V_CIRCLE
,
EFFECT_TYPE_SINGLE
,
cm
.
val
,
vgf
.
BlackWings
)
end
end
function
cm
.
val
(
e
,
c
)
function
cm
.
val
(
e
,
c
)
return
vgf
.
RMonsterFilter
(
c
)
return
vgf
.
filter
.
IsR
(
c
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
...
c10501042.lua
View file @
dc1dcd06
...
@@ -9,7 +9,7 @@ end
...
@@ -9,7 +9,7 @@ end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
ph
=
Duel
.
GetCurrentPhase
()
local
ph
=
Duel
.
GetCurrentPhase
()
return
vgf
.
RSummonCondition
(
e
)
and
(
ph
>=
PHASE_BATTLE_START
and
ph
<=
PHASE_BATTLE
)
and
Duel
.
GetTurnPlayer
()
==
tp
return
vgf
.
con
.
RideOnRCircle
(
e
)
and
(
ph
>=
PHASE_BATTLE_START
and
ph
<=
PHASE_BATTLE
)
and
Duel
.
GetTurnPlayer
()
==
tp
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
...
c10501043.lua
View file @
dc1dcd06
...
@@ -19,5 +19,5 @@ end
...
@@ -19,5 +19,5 @@ end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
vgf
.
RSummonCondition
(
e
)
and
c
:
IsPreviousLocation
(
LOCATION_HAND
)
return
vgf
.
con
.
RideOnRCircle
(
e
)
and
c
:
IsPreviousLocation
(
LOCATION_HAND
)
end
end
\ No newline at end of file
c10501044.lua
View file @
dc1dcd06
...
@@ -3,5 +3,5 @@ local cm,m,o=GetID()
...
@@ -3,5 +3,5 @@ local cm,m,o=GetID()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
-- 【自】:这个单位登场到R时,通过【费用】[灵魂爆发1,将手牌中的1张卡舍弃],选择你的弃牌区中的1张宝石卡,加入手牌。
-- 【自】:这个单位登场到R时,通过【费用】[灵魂爆发1,将手牌中的1张卡舍弃],选择你的弃牌区中的1张宝石卡,加入手牌。
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
vgf
.
op
.
CardsFromTo
(
REASON_EFFECT
,
LOCATION_HAND
,
LOCATION_DROP
,
Card
.
IsSetCard
,
1
,
1
,
0xc040
),
vgf
.
cost
.
And
(
vgf
.
cost
.
SoulBlast
(
1
),
vgf
.
cost
.
Discard
(
1
)),
vgf
.
RSummonCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
vgf
.
op
.
CardsFromTo
(
REASON_EFFECT
,
LOCATION_HAND
,
LOCATION_DROP
,
Card
.
IsSetCard
,
1
,
1
,
0xc040
),
vgf
.
cost
.
And
(
vgf
.
cost
.
SoulBlast
(
1
),
vgf
.
cost
.
Discard
(
1
)),
vgf
.
con
.
RideOnRCircle
)
end
end
\ No newline at end of file
c10501045.lua
View file @
dc1dcd06
...
@@ -3,7 +3,7 @@ local cm,m,o=GetID()
...
@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
-- 【自】:这个单位登场到R时,通过【费用】[计数爆发1,将手牌中的2张普通单位卡公开,按希望的顺序放置到牌堆底],选择你的1张先导者,从牌堆里探寻至多1张与那个单位同名的卡,公开后加入手牌,然后牌堆洗切。
-- 【自】:这个单位登场到R时,通过【费用】[计数爆发1,将手牌中的2张普通单位卡公开,按希望的顺序放置到牌堆底],选择你的1张先导者,从牌堆里探寻至多1张与那个单位同名的卡,公开后加入手牌,然后牌堆洗切。
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
cm
.
cost
,
vgf
.
RSummonCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
cm
.
cost
,
vgf
.
con
.
RideOnRCircle
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
...
c10501046.lua
View file @
dc1dcd06
...
@@ -12,5 +12,5 @@ function cm.filter(c)
...
@@ -12,5 +12,5 @@ function cm.filter(c)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
RSummonCondition
(
e
)
and
vgf
.
WhiteWings
(
e
)
return
vgf
.
con
.
RideOnRCircle
(
e
)
and
vgf
.
WhiteWings
(
e
)
end
end
\ No newline at end of file
c10501047.lua
View file @
dc1dcd06
...
@@ -10,7 +10,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -10,7 +10,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_MONSTER
,
e
,
tp
,
nil
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_MONSTER
,
e
,
tp
,
nil
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
local
tc
=
g
:
GetFirst
()
local
tc
=
g
:
GetFirst
()
if
vgf
.
RMonsterFilter
(
tc
)
then
if
vgf
.
filter
.
IsR
(
tc
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
...
@@ -19,8 +19,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -19,8 +19,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetValue
(
1
)
e1
:
SetValue
(
1
)
tc
:
RegisterEffect
(
e1
)
tc
:
RegisterEffect
(
e1
)
vgf
.
Effect
Reset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
elseif
vgf
.
VMonsterFilter
(
tc
)
then
elseif
vgf
.
filter
.
IsV
(
tc
)
then
tc
:
RegisterFlagEffect
(
FLAG_DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
tc
:
RegisterFlagEffect
(
FLAG_DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
end
end
end
end
...
...
c10501048.lua
View file @
dc1dcd06
...
@@ -10,7 +10,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -10,7 +10,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_MONSTER
,
e
,
tp
,
nil
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_MONSTER
,
e
,
tp
,
nil
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
local
tc
=
g
:
GetFirst
()
local
tc
=
g
:
GetFirst
()
if
vgf
.
RMonsterFilter
(
tc
)
then
if
vgf
.
filter
.
IsR
(
tc
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
...
@@ -19,8 +19,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -19,8 +19,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetValue
(
1
)
e1
:
SetValue
(
1
)
tc
:
RegisterEffect
(
e1
)
tc
:
RegisterEffect
(
e1
)
vgf
.
Effect
Reset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
elseif
vgf
.
VMonsterFilter
(
tc
)
then
elseif
vgf
.
filter
.
IsV
(
tc
)
then
tc
:
RegisterFlagEffect
(
FLAG_DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
tc
:
RegisterFlagEffect
(
FLAG_DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
end
end
end
end
...
...
c10501049.lua
View file @
dc1dcd06
...
@@ -10,7 +10,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -10,7 +10,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_MONSTER
,
e
,
tp
,
nil
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_MONSTER
,
e
,
tp
,
nil
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
local
tc
=
g
:
GetFirst
()
local
tc
=
g
:
GetFirst
()
if
vgf
.
RMonsterFilter
(
tc
)
then
if
vgf
.
filter
.
IsR
(
tc
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
...
@@ -19,8 +19,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -19,8 +19,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetValue
(
1
)
e1
:
SetValue
(
1
)
tc
:
RegisterEffect
(
e1
)
tc
:
RegisterEffect
(
e1
)
vgf
.
Effect
Reset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
elseif
vgf
.
VMonsterFilter
(
tc
)
then
elseif
vgf
.
filter
.
IsV
(
tc
)
then
tc
:
RegisterFlagEffect
(
FLAG_DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
tc
:
RegisterFlagEffect
(
FLAG_DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
end
end
end
end
...
...
c10501050.lua
View file @
dc1dcd06
...
@@ -10,7 +10,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -10,7 +10,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_MONSTER
,
e
,
tp
,
nil
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_MONSTER
,
e
,
tp
,
nil
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
local
tc
=
g
:
GetFirst
()
local
tc
=
g
:
GetFirst
()
if
vgf
.
RMonsterFilter
(
tc
)
then
if
vgf
.
filter
.
IsR
(
tc
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
...
@@ -19,8 +19,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -19,8 +19,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetValue
(
1
)
e1
:
SetValue
(
1
)
tc
:
RegisterEffect
(
e1
)
tc
:
RegisterEffect
(
e1
)
vgf
.
Effect
Reset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
elseif
vgf
.
VMonsterFilter
(
tc
)
then
elseif
vgf
.
filter
.
IsV
(
tc
)
then
tc
:
RegisterFlagEffect
(
FLAG_DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
tc
:
RegisterFlagEffect
(
FLAG_DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
end
end
end
end
...
...
c10501051.lua
View file @
dc1dcd06
...
@@ -10,7 +10,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -10,7 +10,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_MONSTER
,
e
,
tp
,
nil
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_MONSTER
,
e
,
tp
,
nil
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
local
tc
=
g
:
GetFirst
()
local
tc
=
g
:
GetFirst
()
if
vgf
.
RMonsterFilter
(
tc
)
then
if
vgf
.
filter
.
IsR
(
tc
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
...
@@ -19,8 +19,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -19,8 +19,8 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetValue
(
1
)
e1
:
SetValue
(
1
)
tc
:
RegisterEffect
(
e1
)
tc
:
RegisterEffect
(
e1
)
vgf
.
Effect
Reset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
elseif
vgf
.
VMonsterFilter
(
tc
)
then
elseif
vgf
.
filter
.
IsV
(
tc
)
then
tc
:
RegisterFlagEffect
(
FLAG_DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
tc
:
RegisterFlagEffect
(
FLAG_DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
end
end
end
end
...
...
c10501052.lua
View file @
dc1dcd06
...
@@ -8,8 +8,8 @@ end
...
@@ -8,8 +8,8 @@ end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
ph
=
Duel
.
GetCurrentPhase
()
local
ph
=
Duel
.
GetCurrentPhase
()
return
vgf
.
BackFilter
(
c
)
and
(
ph
>=
PHASE_BATTLE_START
and
ph
<=
PHASE_BATTLE
)
and
Duel
.
GetTurnPlayer
()
==
tp
and
eg
:
IsExists
(
cm
.
filter
,
1
,
c
,
tp
)
return
vgf
.
filter
.
Back
(
c
)
and
(
ph
>=
PHASE_BATTLE_START
and
ph
<=
PHASE_BATTLE
)
and
Duel
.
GetTurnPlayer
()
==
tp
and
eg
:
IsExists
(
cm
.
filter
,
1
,
c
,
tp
)
end
end
function
cm
.
filter
(
c
,
tp
)
function
cm
.
filter
(
c
,
tp
)
return
vgf
.
IsSummonTypeR
(
c
)
and
c
:
IsControler
(
tp
)
return
vgf
.
filter
.
RideOnRCircle
(
c
)
and
c
:
IsControler
(
tp
)
end
end
\ No newline at end of file
c10501053.lua
View file @
dc1dcd06
...
@@ -14,6 +14,6 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -14,6 +14,6 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
RMonsterCondition
(
e
)
and
vgf
.
VMonsterFilter
(
Duel
.
GetAttacker
())
return
vgf
.
con
.
IsR
(
e
)
and
vgf
.
filter
.
IsV
(
Duel
.
GetAttacker
())
end
end
c10501054.lua
View file @
dc1dcd06
...
@@ -3,7 +3,7 @@ local cm,m,o=GetID()
...
@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
-- 【自】:这个单位登场到R时,选择你其他的1个单位,这个回合中,力量+10000。
-- 【自】:这个单位登场到R时,选择你其他的1个单位,这个回合中,力量+10000。
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
nil
,
vgf
.
RSummonCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
nil
,
vgf
.
con
.
RideOnRCircle
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
...
c10501056.lua
View file @
dc1dcd06
...
@@ -22,7 +22,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -22,7 +22,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
c
:
IsLevelAbove
(
3
)
and
vgf
.
VMonsterFilter
(
c
)
return
c
:
IsLevelAbove
(
3
)
and
vgf
.
filter
.
IsV
(
c
)
end
end
function
cm
.
con1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
...
c10501057.lua
View file @
dc1dcd06
...
@@ -20,7 +20,7 @@ end
...
@@ -20,7 +20,7 @@ end
function
cm
.
op2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
GetMatchingGroup
(
vgf
.
FrontFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
)
local
g
=
vgf
.
GetMatchingGroup
(
vgf
.
filter
.
Front
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
)
vgf
.
AtkUp
(
c
,
g
,
5000
)
vgf
.
AtkUp
(
c
,
g
,
5000
)
end
end
...
...
c10501058.lua
View file @
dc1dcd06
...
@@ -3,7 +3,7 @@ local cm,m,o=GetID()
...
@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
-- 【自】【R】:这个单位攻击时,通过【费用】[计数爆发1],这个回合中,这个单位的力量+5000。
-- 【自】【R】:这个单位攻击时,通过【费用】[计数爆发1],这个回合中,这个单位的力量+5000。
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
op
,
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
RMonsterCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
op
,
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
con
.
IsR
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
...
c10501059.lua
View file @
dc1dcd06
...
@@ -16,7 +16,7 @@ end
...
@@ -16,7 +16,7 @@ end
function
cm
.
con
(
e
)
function
cm
.
con
(
e
)
local
tp
=
e
:
GetHandlerPlayer
()
local
tp
=
e
:
GetHandlerPlayer
()
return
vgf
.
RMonsterCondition
(
e
)
and
Duel
.
GetFlagEffect
(
tp
,
m
)
>
0
return
vgf
.
con
.
IsR
(
e
)
and
Duel
.
GetFlagEffect
(
tp
,
m
)
>
0
end
end
function
cm
.
checkcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
checkcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
...
c10501060.lua
View file @
dc1dcd06
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
nil
,
vgf
.
RSummonCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
nil
,
vgf
.
con
.
RideOnRCircle
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ct
=
Duel
.
GetFlagEffectLabel
(
tp
,
FLAG_ORDER_COUNT_LIMIT
)
local
ct
=
Duel
.
GetFlagEffectLabel
(
tp
,
FLAG_ORDER_COUNT_LIMIT
)
...
...
c10501061.lua
View file @
dc1dcd06
...
@@ -5,7 +5,7 @@ function cm.initial_effect(c)
...
@@ -5,7 +5,7 @@ function cm.initial_effect(c)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
not
c
:
IsPreviousLocation
(
LOCATION_HAND
)
and
vgf
.
RSummonCondition
(
e
)
return
not
c
:
IsPreviousLocation
(
LOCATION_HAND
)
and
vgf
.
con
.
RideOnRCircle
(
e
)
end
end
--对手要从手牌将卡CALL到G上之际,不将2张以上同时CALL的话则不能CALL出场。
--对手要从手牌将卡CALL到G上之际,不将2张以上同时CALL的话则不能CALL出场。
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
...
c10501062.lua
View file @
dc1dcd06
...
@@ -14,5 +14,5 @@ end
...
@@ -14,5 +14,5 @@ end
function
cm
.
con
(
e
)
function
cm
.
con
(
e
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
tp
=
e
:
GetHandlerPlayer
()
local
tp
=
e
:
GetHandlerPlayer
()
return
vgf
.
RMonsterCondition
(
e
)
and
Duel
.
GetTurnPlayer
()
==
tp
return
vgf
.
con
.
IsR
(
e
)
and
Duel
.
GetTurnPlayer
()
==
tp
end
end
\ No newline at end of file
c10501063.lua
View file @
dc1dcd06
...
@@ -15,12 +15,12 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -15,12 +15,12 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATKUP
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATKUP
)
g
=
g
:
FilterSelect
(
tp
,
Card
.
IsCanBeEffectTarget
,
1
,
1
,
nil
,
e
)
g
=
g
:
FilterSelect
(
tp
,
Card
.
IsCanBeEffectTarget
,
1
,
1
,
nil
,
e
)
local
e1
=
vgf
.
AtkUp
(
c
,
g
,
10000
)
local
e1
=
vgf
.
AtkUp
(
c
,
g
,
10000
)
vgf
.
Effect
Reset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
end
end
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g
=
Group
.
FromCards
(
Duel
.
GetAttackTarget
())
local
g
=
Group
.
FromCards
(
Duel
.
GetAttackTarget
())
return
vgf
.
RMonsterCondition
(
c
)
and
g
:
IsExists
(
Card
.
IsSetCard
,
1
,
nil
,
0xb6
)
return
vgf
.
con
.
IsR
(
c
)
and
g
:
IsExists
(
Card
.
IsSetCard
,
1
,
nil
,
0xb6
)
end
end
\ No newline at end of file
c10501065.lua
View file @
dc1dcd06
...
@@ -10,7 +10,7 @@ end
...
@@ -10,7 +10,7 @@ end
function
cm
.
con
(
e
)
function
cm
.
con
(
e
)
local
tp
=
e
:
GetHandlerPlayer
()
local
tp
=
e
:
GetHandlerPlayer
()
return
vgf
.
RMonsterCondition
(
e
)
and
Duel
.
GetFlagEffect
(
tp
,
m
)
>
0
and
Duel
.
GetFlagEffect
(
tp
,
m
+
1
)
>
0
return
vgf
.
con
.
IsR
(
e
)
and
Duel
.
GetFlagEffect
(
tp
,
m
)
>
0
and
Duel
.
GetFlagEffect
(
tp
,
m
+
1
)
>
0
end
end
function
cm
.
checkcon1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
checkcon1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
...
c10501066.lua
View file @
dc1dcd06
...
@@ -4,12 +4,12 @@ function cm.initial_effect(c)
...
@@ -4,12 +4,12 @@ function cm.initial_effect(c)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
operation
,
vgf
.
cost
.
SoulBlast
(
1
),
cm
.
con
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
operation
,
vgf
.
cost
.
SoulBlast
(
1
),
cm
.
con
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
RMonsterCondition
(
e
)
and
vgf
.
BlackWings
(
e
)
return
vgf
.
con
.
IsR
(
e
)
and
vgf
.
BlackWings
(
e
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
vgf
.
op
.
SoulCharge
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
vgf
.
op
.
SoulCharge
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_RMONSTER
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_CIRCLE
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_RMONSTER
,
e
,
tp
,
vgf
.
filter
.
IsR
,
tp
,
0
,
LOCATION_CIRCLE
,
1
,
1
,
nil
)
local
tc
=
vgf
.
ReturnCard
(
g
)
local
tc
=
vgf
.
ReturnCard
(
g
)
if
tc
then
if
tc
then
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
...
@@ -19,7 +19,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -19,7 +19,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetLabel
(
e
:
GetHandlerPlayer
())
e1
:
SetLabel
(
e
:
GetHandlerPlayer
())
e1
:
SetCondition
(
cm
.
con1
)
e1
:
SetCondition
(
cm
.
con1
)
tc
:
RegisterEffect
(
e1
)
tc
:
RegisterEffect
(
e1
)
vgf
.
Effect
Reset
(
c
,
e1
,
EVENT_PHASE
+
PHASE_DRAW
,
cm
.
con2
,
e
:
GetHandlerPlayer
())
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_PHASE
+
PHASE_DRAW
,
cm
.
con2
,
e
:
GetHandlerPlayer
())
end
end
end
end
function
cm
.
con1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
...
c10501067.lua
View file @
dc1dcd06
...
@@ -8,7 +8,7 @@ function cm.initial_effect(c)
...
@@ -8,7 +8,7 @@ function cm.initial_effect(c)
end
end
function
cm
.
con1
(
e
)
function
cm
.
con1
(
e
)
return
cm
.
con2
(
e
)
and
vgf
.
RMonsterCondition
(
e
)
return
cm
.
con2
(
e
)
and
vgf
.
con
.
IsR
(
e
)
end
end
function
cm
.
con2
(
e
)
function
cm
.
con2
(
e
)
...
@@ -18,5 +18,5 @@ function cm.con2(e)
...
@@ -18,5 +18,5 @@ function cm.con2(e)
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
c
:
IsSetCard
(
0xa013
)
and
vgf
.
RMonsterFilter
(
c
)
return
c
:
IsSetCard
(
0xa013
)
and
vgf
.
filter
.
IsR
(
c
)
end
end
c10501068.lua
View file @
dc1dcd06
...
@@ -21,5 +21,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -21,5 +21,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
BlackWings
(
e
)
and
vgf
.
RSummonCondition
(
e
)
return
vgf
.
BlackWings
(
e
)
and
vgf
.
con
.
RideOnRCircle
(
e
)
end
end
\ No newline at end of file
c10501069.lua
View file @
dc1dcd06
...
@@ -18,5 +18,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -18,5 +18,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
c
:
IsSetCard
(
0xb6
)
and
vgf
.
RMonsterFilter
(
c
)
return
c
:
IsSetCard
(
0xb6
)
and
vgf
.
filter
.
IsR
(
c
)
end
end
\ No newline at end of file
c10501070.lua
View file @
dc1dcd06
...
@@ -8,7 +8,7 @@ end
...
@@ -8,7 +8,7 @@ end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
ph
=
Duel
.
GetCurrentPhase
()
local
ph
=
Duel
.
GetCurrentPhase
()
return
vgf
.
RSummonCondition
(
e
)
and
(
ph
>=
PHASE_BATTLE_START
and
ph
<=
PHASE_BATTLE
)
and
Duel
.
GetTurnPlayer
()
==
tp
return
vgf
.
con
.
RideOnRCircle
(
e
)
and
(
ph
>=
PHASE_BATTLE_START
and
ph
<=
PHASE_BATTLE
)
and
Duel
.
GetTurnPlayer
()
==
tp
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
...
@@ -16,6 +16,6 @@ end
...
@@ -16,6 +16,6 @@ end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
c
:
IsRelateToEffect
(
e
)
end
if
chk
==
0
then
return
c
:
IsRelateToEffect
(
e
)
end
local
rc
=
vgf
.
GetMatchingGroup
(
vgf
.
VMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
):
GetFirst
()
local
rc
=
vgf
.
GetMatchingGroup
(
vgf
.
filter
.
IsV
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
):
GetFirst
()
vgf
.
Sendto
(
LOCATION_SOUL
,
c
,
rc
)
vgf
.
Sendto
(
LOCATION_SOUL
,
c
,
rc
)
end
end
\ No newline at end of file
c10501072.lua
View file @
dc1dcd06
...
@@ -8,5 +8,5 @@ end
...
@@ -8,5 +8,5 @@ end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
vgf
.
RSummonCondition
(
e
)
and
c
:
IsPreviousLocation
(
LOCATION_HAND
)
and
vgf
.
IsExistingMatchingCard
(
vgf
.
RMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
3
,
c
)
return
vgf
.
con
.
RideOnRCircle
(
e
)
and
c
:
IsPreviousLocation
(
LOCATION_HAND
)
and
vgf
.
IsExistingMatchingCard
(
vgf
.
filter
.
IsR
,
tp
,
LOCATION_CIRCLE
,
0
,
3
,
c
)
end
end
c10501074.lua
View file @
dc1dcd06
...
@@ -18,5 +18,5 @@ function cm.initial_effect(c)
...
@@ -18,5 +18,5 @@ function cm.initial_effect(c)
end
end
function
cm
.
con
(
e
)
function
cm
.
con
(
e
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
vgf
.
BackFilter
(
c
)
return
vgf
.
filter
.
Back
(
c
)
end
end
c10501075.lua
View file @
dc1dcd06
...
@@ -14,5 +14,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -14,5 +14,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
c
:
IsPosition
(
POS_FACEUP_ATTACK
)
and
vgf
.
BackFilter
(
c
)
return
c
:
IsPosition
(
POS_FACEUP_ATTACK
)
and
vgf
.
filter
.
Back
(
c
)
end
end
c10501076.lua
View file @
dc1dcd06
...
@@ -10,5 +10,5 @@ function cm.con(e)
...
@@ -10,5 +10,5 @@ function cm.con(e)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
tp
=
e
:
GetHandlerPlayer
()
local
tp
=
e
:
GetHandlerPlayer
()
local
a
=
vgf
.
IsExistingMatchingCard
(
nil
,
tp
,
LOCATION_ORDER
,
0
,
1
,
nil
)
local
a
=
vgf
.
IsExistingMatchingCard
(
nil
,
tp
,
LOCATION_ORDER
,
0
,
1
,
nil
)
return
vgf
.
RMonsterCondition
(
e
)
and
a
and
Duel
.
GetTurnPlayer
()
==
tp
return
vgf
.
con
.
IsR
(
e
)
and
a
and
Duel
.
GetTurnPlayer
()
==
tp
end
end
c10501077.lua
View file @
dc1dcd06
...
@@ -14,5 +14,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -14,5 +14,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
RMonsterCondition
(
e
)
and
eg
:
IsPreviousLocation
(
LOCATION_CIRCLE
)
return
vgf
.
con
.
IsR
(
e
)
and
eg
:
IsPreviousLocation
(
LOCATION_CIRCLE
)
end
end
c10501079.lua
View file @
dc1dcd06
...
@@ -22,5 +22,5 @@ function cm.filter(c)
...
@@ -22,5 +22,5 @@ function cm.filter(c)
end
end
function
cm
.
filter1
(
c
)
function
cm
.
filter1
(
c
)
return
c
:
IsSetCard
(
0xa013
)
and
vgf
.
RMonsterFilter
(
c
)
return
c
:
IsSetCard
(
0xa013
)
and
vgf
.
filter
.
IsR
(
c
)
end
end
\ No newline at end of file
c10501080.lua
View file @
dc1dcd06
...
@@ -9,6 +9,6 @@ end
...
@@ -9,6 +9,6 @@ end
function
cm
.
con1
(
e
)
function
cm
.
con1
(
e
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
tp
=
e
:
GetHandlerPlayer
()
local
tp
=
e
:
GetHandlerPlayer
()
return
vgf
.
RMonsterCondition
(
e
)
and
vgf
.
IsExistingMatchingCard
(
nil
,
tp
,
LOCATION_ORDER
,
0
,
2
,
nil
)
and
Duel
.
GetTurnPlayer
()
==
tp
return
vgf
.
con
.
IsR
(
e
)
and
vgf
.
IsExistingMatchingCard
(
nil
,
tp
,
LOCATION_ORDER
,
0
,
2
,
nil
)
and
Duel
.
GetTurnPlayer
()
==
tp
end
end
c10501081.lua
View file @
dc1dcd06
...
@@ -10,7 +10,7 @@ function cm.con(e)
...
@@ -10,7 +10,7 @@ function cm.con(e)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
tp
=
e
:
GetHandlerPlayer
()
local
tp
=
e
:
GetHandlerPlayer
()
local
a
=
vgf
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
)
local
a
=
vgf
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
)
return
vgf
.
RMonsterCondition
(
e
)
and
a
and
Duel
.
GetTurnPlayer
()
==
tp
return
vgf
.
con
.
IsR
(
e
)
and
a
and
Duel
.
GetTurnPlayer
()
==
tp
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
...
...
c10501082.lua
View file @
dc1dcd06
...
@@ -7,7 +7,7 @@ function cm.initial_effect(c)
...
@@ -7,7 +7,7 @@ function cm.initial_effect(c)
e1
:
SetCode
(
AFFECT_CODE_OVERLAY_INSTEAD_WHEN_RIDE
)
e1
:
SetCode
(
AFFECT_CODE_OVERLAY_INSTEAD_WHEN_RIDE
)
e1
:
SetRange
(
LOCATION_CIRCLE
)
e1
:
SetRange
(
LOCATION_CIRCLE
)
e1
:
SetCondition
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
e1
:
SetCondition
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
WhiteWings
(
e
)
and
vgf
.
VMonsterCondition
(
e
)
return
vgf
.
WhiteWings
(
e
)
and
vgf
.
con
.
IsV
(
e
)
end
)
end
)
e1
:
SetTargetRange
(
1
,
0
)
e1
:
SetTargetRange
(
1
,
0
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
...
@@ -17,13 +17,13 @@ function cm.initial_effect(c)
...
@@ -17,13 +17,13 @@ function cm.initial_effect(c)
e2
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e2
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e2
:
SetRange
(
LOCATION_CIRCLE
)
e2
:
SetRange
(
LOCATION_CIRCLE
)
e2
:
SetCondition
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
e2
:
SetCondition
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
BlackWings
(
e
)
and
vgf
.
VMonsterCondition
(
e
)
return
vgf
.
BlackWings
(
e
)
and
vgf
.
con
.
IsV
(
e
)
end
)
end
)
e2
:
SetValue
(
function
(
e
,
tc
)
e2
:
SetValue
(
function
(
e
,
tc
)
return
tc
:
IsLevelBelow
(
1
)
and
vgf
.
RMonsterFilter
(
tc
)
return
tc
:
IsLevelBelow
(
1
)
and
vgf
.
filter
.
IsR
(
tc
)
end
)
end
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
nil
,
vgf
.
VSummonCondition
)
vgd
.
AbilityAuto
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
nil
,
vgf
.
con
.
RideOnVCircle
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
1
)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
1
)
...
...
c10501083.lua
View file @
dc1dcd06
...
@@ -8,7 +8,7 @@ end
...
@@ -8,7 +8,7 @@ end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ca
=
Duel
.
GetAttacker
()
local
ca
=
Duel
.
GetAttacker
()
return
vgf
.
VMonsterFilter
(
ca
)
and
eg
:
GetFirst
()
==
e
:
GetHandler
()
return
vgf
.
filter
.
IsV
(
ca
)
and
eg
:
GetFirst
()
==
e
:
GetHandler
()
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
...
c10501085.lua
View file @
dc1dcd06
...
@@ -23,5 +23,5 @@ function cm.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -23,5 +23,5 @@ function cm.cost1(e,tp,eg,ep,ev,re,r,rp,chk)
vgf
.
Sendto
(
LOCATION_SOUL
,
g
,
rc
)
vgf
.
Sendto
(
LOCATION_SOUL
,
g
,
rc
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
re
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
and
rp
==
tp
and
vgf
.
RMonsterCondition
(
e
)
return
re
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
and
rp
==
tp
and
vgf
.
con
.
IsR
(
e
)
end
end
c10501086.lua
View file @
dc1dcd06
...
@@ -7,7 +7,7 @@ function cm.initial_effect(c)
...
@@ -7,7 +7,7 @@ function cm.initial_effect(c)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
vgf
.
RMonsterCondition
(
e
)
and
eg
:
IsExists
(
cm
.
filter
,
1
,
nil
,
tp
,
c
)
return
vgf
.
con
.
IsR
(
e
)
and
eg
:
IsExists
(
cm
.
filter
,
1
,
nil
,
tp
,
c
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
...
c10501087.lua
View file @
dc1dcd06
...
@@ -3,11 +3,11 @@ local cm,m,o=GetID()
...
@@ -3,11 +3,11 @@ local cm,m,o=GetID()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
-- 【起】【R】【1回合1次】:通过【费用】[计数爆发1],选择你的1张先导者,这个回合中,力量+5000。
-- 【起】【R】【1回合1次】:通过【费用】[计数爆发1],选择你的1张先导者,这个回合中,力量+5000。
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
op
,
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
RMonsterCondition
,
nil
,
1
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
op
,
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
con
.
IsR
,
nil
,
1
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
-- 选择你的1张先导者
-- 选择你的1张先导者
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_VMONSTER
,
tp
,
vgf
.
VMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_VMONSTER
,
tp
,
vgf
.
filter
.
IsV
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
vgf
.
AtkUp
(
c
,
g
,
5000
)
vgf
.
AtkUp
(
c
,
g
,
5000
)
end
end
\ No newline at end of file
c10501088.lua
View file @
dc1dcd06
...
@@ -8,7 +8,7 @@ function cm.initial_effect(c)
...
@@ -8,7 +8,7 @@ function cm.initial_effect(c)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
vgf
.
RMonsterFilter
(
c
)
and
eg
:
IsContains
(
c
)
return
vgf
.
filter
.
IsR
(
c
)
and
eg
:
IsContains
(
c
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
...
c10501089.lua
View file @
dc1dcd06
...
@@ -9,7 +9,7 @@ function cm.initial_effect(c)
...
@@ -9,7 +9,7 @@ function cm.initial_effect(c)
end
end
function
cm
.
con1
(
e
)
function
cm
.
con1
(
e
)
local
tp
=
e
:
GetHandlerPlayer
()
local
tp
=
e
:
GetHandlerPlayer
()
return
vgf
.
RMonsterCondition
(
e
)
and
Duel
.
GetFlagEffect
(
tp
,
m
)
>
0
return
vgf
.
con
.
IsR
(
e
)
and
Duel
.
GetFlagEffect
(
tp
,
m
)
>
0
end
end
function
cm
.
checkcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
checkcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
re
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
and
rp
==
tp
return
re
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
and
rp
==
tp
...
...
c10501090.lua
View file @
dc1dcd06
...
@@ -9,12 +9,12 @@ function cm.initial_effect(c)
...
@@ -9,12 +9,12 @@ function cm.initial_effect(c)
end
end
function
cm
.
con1
(
e
)
function
cm
.
con1
(
e
)
local
tp
=
e
:
GetHandlerPlayer
()
local
tp
=
e
:
GetHandlerPlayer
()
return
vgf
.
VMonsterCondition
(
e
)
and
not
vgf
.
IsExistingMatchingCard
(
vgf
.
RMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
nil
)
and
Duel
.
GetTurnPlayer
()
==
tp
return
vgf
.
con
.
IsV
(
e
)
and
not
vgf
.
IsExistingMatchingCard
(
vgf
.
filter
.
IsR
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
nil
)
and
Duel
.
GetTurnPlayer
()
==
tp
end
end
function
cm
.
con2
(
e
)
function
cm
.
con2
(
e
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g
=
c
:
GetMaterial
()
local
g
=
c
:
GetMaterial
()
return
vgf
.
VSummonCondition
(
e
)
and
g
:
IsExists
(
Card
.
IsCode
,
1
,
nil
,
10501102
)
return
vgf
.
con
.
RideOnVCircle
(
e
)
and
g
:
IsExists
(
Card
.
IsCode
,
1
,
nil
,
10501102
)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
7
)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
7
)
...
...
c10501091.lua
View file @
dc1dcd06
...
@@ -7,5 +7,5 @@ function cm.initial_effect(c)
...
@@ -7,5 +7,5 @@ function cm.initial_effect(c)
vgd
.
AbilityCont
(
c
,
m
,
LOCATION_G_CIRCLE
,
EFFECT_TYPE_SINGLE
,
5000
,
EFFECT_UPDATE_DEFENSE
,
vgf
.
WhiteWings
)
vgd
.
AbilityCont
(
c
,
m
,
LOCATION_G_CIRCLE
,
EFFECT_TYPE_SINGLE
,
5000
,
EFFECT_UPDATE_DEFENSE
,
vgf
.
WhiteWings
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
WhiteWings
(
e
)
and
vgf
.
RMonsterCondition
(
e
)
return
vgf
.
WhiteWings
(
e
)
and
vgf
.
con
.
IsR
(
e
)
end
end
\ No newline at end of file
c10501092.lua
View file @
dc1dcd06
...
@@ -7,13 +7,13 @@ function cm.initial_effect(c)
...
@@ -7,13 +7,13 @@ function cm.initial_effect(c)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
tp
,
vgf
.
filter
.
IsR
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
vgf
.
AtkUp
(
c
,
g
,
5000
)
vgf
.
AtkUp
(
c
,
g
,
5000
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
vgf
.
RSummonCondition
(
e
)
and
vgf
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
c
)
return
vgf
.
con
.
RideOnRCircle
(
e
)
and
vgf
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
c
)
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
c
:
IsSetCard
(
0xa013
)
and
vgf
.
RMonsterFilter
(
c
)
return
c
:
IsSetCard
(
0xa013
)
and
vgf
.
filter
.
IsR
(
c
)
end
end
\ No newline at end of file
c10501093.lua
View file @
dc1dcd06
...
@@ -7,6 +7,6 @@ function cm.initial_effect(c)
...
@@ -7,6 +7,6 @@ function cm.initial_effect(c)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ct1
=
bit
.
ReturnCount
(
vgf
.
GetAvailableLocation
(
tp
))
local
ct1
=
bit
.
ReturnCount
(
vgf
.
GetAvailableLocation
(
tp
))
local
ct2
=
vgf
.
GetMatchingGroupCount
(
vgf
.
RMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
)
local
ct2
=
vgf
.
GetMatchingGroupCount
(
vgf
.
filter
.
IsR
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
)
return
ct1
-
ct2
>=
3
return
ct1
-
ct2
>=
3
end
end
\ No newline at end of file
c10501094.lua
View file @
dc1dcd06
...
@@ -8,5 +8,5 @@ end
...
@@ -8,5 +8,5 @@ end
function
cm
.
con1
(
e
)
function
cm
.
con1
(
e
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
tp
=
e
:
GetHandlerPlayer
()
local
tp
=
e
:
GetHandlerPlayer
()
return
vgf
.
RMonsterCondition
(
e
)
and
vgf
.
IsExistingMatchingCard
(
vgf
.
RMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
3
,
c
)
return
vgf
.
con
.
IsR
(
e
)
and
vgf
.
IsExistingMatchingCard
(
vgf
.
filter
.
IsR
,
tp
,
LOCATION_CIRCLE
,
0
,
3
,
c
)
end
end
\ No newline at end of file
c10501095.lua
View file @
dc1dcd06
...
@@ -15,5 +15,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -15,5 +15,5 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
eg
:
IsContains
(
c
)
and
vgf
.
WhiteWings
(
e
)
and
vgf
.
RMonsterCondition
(
e
)
return
eg
:
IsContains
(
c
)
and
vgf
.
WhiteWings
(
e
)
and
vgf
.
con
.
IsR
(
e
)
end
end
\ No newline at end of file
c10501097.lua
View file @
dc1dcd06
...
@@ -7,5 +7,5 @@ function cm.initial_effect(c)
...
@@ -7,5 +7,5 @@ function cm.initial_effect(c)
vgd
.
AbilityCont
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EFFECT_UPDATE_ATTACK
,
10000
,
cm
.
con
)
vgd
.
AbilityCont
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EFFECT_UPDATE_ATTACK
,
10000
,
cm
.
con
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
WhiteWings
(
e
)
and
Duel
.
GetTurnPlayer
()
==
tp
and
vgf
.
RMonsterCondition
(
e
)
return
vgf
.
WhiteWings
(
e
)
and
Duel
.
GetTurnPlayer
()
==
tp
and
vgf
.
con
.
IsR
(
e
)
end
end
\ No newline at end of file
c10501117.lua
View file @
dc1dcd06
...
@@ -13,7 +13,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -13,7 +13,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATKUP
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATKUP
)
g
=
g
:
FilterSelect
(
tp
,
Card
.
IsCanBeEffectTarget
,
1
,
1
,
nil
,
e
)
g
=
g
:
FilterSelect
(
tp
,
Card
.
IsCanBeEffectTarget
,
1
,
1
,
nil
,
e
)
local
e1
=
vgf
.
AtkUp
(
c
,
g
,
30000
)
local
e1
=
vgf
.
AtkUp
(
c
,
g
,
30000
)
vgf
.
Effect
Reset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
end
end
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
...
c10501118.lua
View file @
dc1dcd06
...
@@ -21,7 +21,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -21,7 +21,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local
ct
=
vgf
.
GetMatchingGroupCount
(
cm
.
filter
,
tp
,
LOCATION_CIRCLE
,
0
,
c
)
local
ct
=
vgf
.
GetMatchingGroupCount
(
cm
.
filter
,
tp
,
LOCATION_CIRCLE
,
0
,
c
)
local
atk
=
5000
*
ct
local
atk
=
5000
*
ct
local
e1
=
vgf
.
AtkUp
(
c
,
g
,
atk
)
local
e1
=
vgf
.
AtkUp
(
c
,
g
,
atk
)
vgf
.
Effect
Reset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
end
end
local
e4
=
Effect
.
CreateEffect
(
c
)
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_SET
)
e4
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_SET
)
...
@@ -32,7 +32,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -32,7 +32,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
Duel
.
RegisterEffect
(
e4
,
tp
)
Duel
.
RegisterEffect
(
e4
,
tp
)
end
end
function
cm
.
repfilter
(
c
,
tp
)
function
cm
.
repfilter
(
c
,
tp
)
return
c
:
IsControler
(
tp
)
and
(
c
:
IsLocation
(
LOCATION_G_CIRCLE
)
or
vgf
.
RMonsterFilter
(
c
))
and
c
:
GetDestination
()
==
LOCATION_DROP
and
c
:
IsType
(
TYPE_UNIT
)
and
c
:
IsFaceup
()
and
not
cm
.
filter
(
c
)
return
c
:
IsControler
(
tp
)
and
(
c
:
IsLocation
(
LOCATION_G_CIRCLE
)
or
vgf
.
filter
.
IsR
(
c
))
and
c
:
GetDestination
()
==
LOCATION_DROP
and
c
:
IsType
(
TYPE_UNIT
)
and
c
:
IsFaceup
()
and
not
cm
.
filter
(
c
)
end
end
function
cm
.
reptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
reptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
eg
:
IsExists
(
cm
.
repfilter
,
1
,
nil
,
tp
)
end
if
chk
==
0
then
return
eg
:
IsExists
(
cm
.
repfilter
,
1
,
nil
,
tp
)
end
...
...
c10501119.lua
View file @
dc1dcd06
...
@@ -8,10 +8,10 @@ end
...
@@ -8,10 +8,10 @@ end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
vgf
.
IsExistingMatchingCard
(
vgf
.
RMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
3
,
nil
)
then
if
vgf
.
IsExistingMatchingCard
(
vgf
.
filter
.
IsR
,
tp
,
LOCATION_CIRCLE
,
0
,
3
,
nil
)
then
local
ac
=
Duel
.
GetAttackTarget
()
local
ac
=
Duel
.
GetAttackTarget
()
local
e1
=
vgf
.
AtkUp
(
c
,
ac
,
15000
,
nil
)
local
e1
=
vgf
.
AtkUp
(
c
,
ac
,
15000
,
nil
)
vgf
.
Effect
Reset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
c
,
e1
,
EVENT_BATTLED
)
end
end
end
end
c10501120.lua
View file @
dc1dcd06
...
@@ -7,7 +7,7 @@ end
...
@@ -7,7 +7,7 @@ end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
e
,
tp
,
vgf
.
VMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
e
,
tp
,
vgf
.
filter
.
IsV
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
1
,
nil
)
vgf
.
AtkUp
(
c
,
g
,
5000
)
vgf
.
AtkUp
(
c
,
g
,
5000
)
Duel
.
ChangePosition
(
c
,
POS_FACEDOWN_ATTACK
)
Duel
.
ChangePosition
(
c
,
POS_FACEDOWN_ATTACK
)
end
end
...
...
c20101001.lua
View file @
dc1dcd06
...
@@ -3,7 +3,7 @@ local cm,m,o=GetID()
...
@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
--【起】【V】【1回合1次】:通过【费用】[计数爆发1],从你的牌堆里探寻至多1张与这个单位同名的卡,公开后加入手牌,然后牌堆洗切,这个回合中,这个单位的力量+10000。
--【起】【V】【1回合1次】:通过【费用】[计数爆发1],从你的牌堆里探寻至多1张与这个单位同名的卡,公开后加入手牌,然后牌堆洗切,这个回合中,这个单位的力量+10000。
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
operation
,
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
VMonsterCondition
,
nil
,
1
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
operation
,
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
con
.
IsV
,
nil
,
1
)
--【自】【V】:这个单位攻击先导者时,通过【费用】[能量爆发4],选择对手的一张后方者,退场,这次战斗中,这个单位的力量+5000,⭐+1。
--【自】【V】:这个单位攻击先导者时,通过【费用】[能量爆发4],选择对手的一张后方者,退场,这次战斗中,这个单位的力量+5000,⭐+1。
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
operation2
,
vgf
.
cost
.
EnergyBlast
(
4
),
cm
.
condition
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
operation2
,
vgf
.
cost
.
EnergyBlast
(
4
),
cm
.
condition
)
end
end
...
@@ -22,12 +22,12 @@ end
...
@@ -22,12 +22,12 @@ end
--检测打的是不是v
--检测打的是不是v
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
vgf
.
VMonsterFilter
(
c
)
and
vgf
.
VMonsterFilter
(
Duel
.
GetAttackTarget
())
return
vgf
.
filter
.
IsV
(
c
)
and
vgf
.
filter
.
IsV
(
Duel
.
GetAttackTarget
())
end
end
--效果二处理
--效果二处理
function
cm
.
operation2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_LEAVEFIELD
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_CIRCLE
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_LEAVEFIELD
,
e
,
tp
,
vgf
.
filter
.
IsR
,
tp
,
0
,
LOCATION_CIRCLE
,
1
,
1
,
nil
)
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
then
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
then
vgf
.
AtkUp
(
c
,
c
,
5000
)
vgf
.
AtkUp
(
c
,
c
,
5000
)
...
...
c20103001.lua
View file @
dc1dcd06
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
op
,
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
VMonsterCondition
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
op
,
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
con
.
IsV
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
op1
,
vgf
.
cost
.
EnergyBlast
(
4
),
cm
.
con
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
op1
,
vgf
.
cost
.
EnergyBlast
(
4
),
cm
.
con
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
@@ -15,7 +15,7 @@ function cm.filter(c)
...
@@ -15,7 +15,7 @@ function cm.filter(c)
return
c
:
IsCode
(
m
)
return
c
:
IsCode
(
m
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
VMonsterCondition
(
e
)
and
vgf
.
VMonsterFilter
(
Duel
.
GetAttackTarget
())
return
vgf
.
con
.
IsV
(
e
)
and
vgf
.
filter
.
IsV
(
Duel
.
GetAttackTarget
())
end
end
function
cm
.
op1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
...
c20104001.lua
View file @
dc1dcd06
...
@@ -3,7 +3,7 @@ local cm,m,o=GetID()
...
@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
--【起】【V】【1回合1次】:通过【费用】[计数爆发1],从你的牌堆里探寻至多1张与这个单位同名的卡,公开后加入手牌,然后牌堆洗切,这个回合中,这个单位的力量+10000。
--【起】【V】【1回合1次】:通过【费用】[计数爆发1],从你的牌堆里探寻至多1张与这个单位同名的卡,公开后加入手牌,然后牌堆洗切,这个回合中,这个单位的力量+10000。
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
operation
,
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
VMonsterCondition
,
nil
,
1
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
operation
,
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
con
.
IsV
,
nil
,
1
)
--【自】【V】:这个单位攻击先导者时,通过【费用】[能量爆发4],选择你的弃牌区中的1张等级3以下的普通单位卡,CALL到R上,这个回合中,那个单位的力量+10000。
--【自】【V】:这个单位攻击先导者时,通过【费用】[能量爆发4],选择你的弃牌区中的1张等级3以下的普通单位卡,CALL到R上,这个回合中,那个单位的力量+10000。
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
operation2
,
vgf
.
cost
.
EnergyBlast
(
4
),
cm
.
condition
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
operation2
,
vgf
.
cost
.
EnergyBlast
(
4
),
cm
.
condition
)
end
end
...
@@ -22,7 +22,7 @@ end
...
@@ -22,7 +22,7 @@ end
--效果二检测被打的是v
--效果二检测被打的是v
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
vgf
.
VMonsterFilter
(
c
)
and
vgf
.
VMonsterFilter
(
Duel
.
GetAttackTarget
())
return
vgf
.
filter
.
IsV
(
c
)
and
vgf
.
filter
.
IsV
(
Duel
.
GetAttackTarget
())
end
end
--效果二处理
--效果二处理
function
cm
.
operation2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
...
c20106001.lua
View file @
dc1dcd06
...
@@ -3,7 +3,7 @@ local cm,m,o=GetID()
...
@@ -3,7 +3,7 @@ local cm,m,o=GetID()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
VgCard
(
c
)
vgd
.
VgCard
(
c
)
--【起】【V】【1回合1次】:通过【费用】[计数爆发1],从你的牌堆里探寻至多1张与这个单位同名的卡,公开后加入手牌,然后牌堆洗切,这个回合中,这个单位的力量+10000。
--【起】【V】【1回合1次】:通过【费用】[计数爆发1],从你的牌堆里探寻至多1张与这个单位同名的卡,公开后加入手牌,然后牌堆洗切,这个回合中,这个单位的力量+10000。
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
operation
,
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
VMonsterCondition
,
nil
,
1
)
vgd
.
AbilityAct
(
c
,
m
,
LOCATION_CIRCLE
,
cm
.
operation
,
vgf
.
cost
.
CounterBlast
(
1
),
vgf
.
con
.
IsV
,
nil
,
1
)
--自】【V】:这个单位攻击先导者时,通过【费用】[能量爆发4],选择你的1张后防者,返回手牌,选择你的手牌中的至多1张等级3以下的单位卡,CALL到不存在单位的R上,这个回合中,那个单位的力量+10000。(能量爆发4是通过消费4个能量来支付!)
--自】【V】:这个单位攻击先导者时,通过【费用】[能量爆发4],选择你的1张后防者,返回手牌,选择你的手牌中的至多1张等级3以下的单位卡,CALL到不存在单位的R上,这个回合中,那个单位的力量+10000。(能量爆发4是通过消费4个能量来支付!)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
operation2
,
vgf
.
cost
.
EnergyBlast
(
4
),
cm
.
condition
)
vgd
.
AbilityAuto
(
c
,
m
,
LOCATION_CIRCLE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
operation2
,
vgf
.
cost
.
EnergyBlast
(
4
),
cm
.
condition
)
end
end
...
@@ -22,7 +22,7 @@ end
...
@@ -22,7 +22,7 @@ end
--效果二检测被打的是v
--效果二检测被打的是v
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
vgf
.
VMonsterFilter
(
c
)
and
vgf
.
VMonsterFilter
(
Duel
.
GetAttackTarget
())
return
vgf
.
filter
.
IsV
(
c
)
and
vgf
.
filter
.
IsV
(
Duel
.
GetAttackTarget
())
end
end
--效果二处理
--效果二处理
function
cm
.
operation2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
...
vgd.lua
View file @
dc1dcd06
...
@@ -25,7 +25,7 @@ function VgD.Rule(c)
...
@@ -25,7 +25,7 @@ function VgD.Rule(c)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetCountLimit
(
1
,
VgID
+
2
)
e1
:
SetCountLimit
(
1
,
VgID
+
2
)
e1
:
SetCondition
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
e1
:
SetCondition
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
VgF
.
RuleTurnCondtion
(
e
)
and
VgF
.
RuleCardCondtion
(
e
)
return
VgF
.
Condition
.
FirstTurn
(
e
)
and
VgF
.
Condition
.
FirstCard
(
e
)
end
)
end
)
e1
:
SetOperation
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
e1
:
SetOperation
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ct
=
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_HAND
,
0
)
local
ct
=
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_HAND
,
0
)
...
@@ -61,7 +61,7 @@ function VgD.Rule(c)
...
@@ -61,7 +61,7 @@ function VgD.Rule(c)
e3
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e3
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e3
:
SetRange
(
LOCATION_ALL
)
e3
:
SetRange
(
LOCATION_ALL
)
e3
:
SetCountLimit
(
1
,
VgID
+
3
)
e3
:
SetCountLimit
(
1
,
VgID
+
3
)
e3
:
SetCondition
(
VgF
.
RuleCardCondtion
)
e3
:
SetCondition
(
VgF
.
Condition
.
FirstCard
)
e3
:
SetOperation
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
e3
:
SetOperation
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
e
:
GetHandler
()
local
tc
=
e
:
GetHandler
()
if
Duel
.
GetTurnPlayer
()
==
tp
then
if
Duel
.
GetTurnPlayer
()
==
tp
then
...
@@ -76,14 +76,14 @@ function VgD.Rule(c)
...
@@ -76,14 +76,14 @@ function VgD.Rule(c)
e10
:
SetRange
(
LOCATION_ALL
)
e10
:
SetRange
(
LOCATION_ALL
)
e10
:
SetTargetRange
(
1
,
0
)
e10
:
SetTargetRange
(
1
,
0
)
e10
:
SetValue
(
100
)
e10
:
SetValue
(
100
)
e10
:
SetCondition
(
VgF
.
RuleCardCondtion
)
e10
:
SetCondition
(
VgF
.
Condition
.
FirstCard
)
c
:
RegisterEffect
(
e10
)
c
:
RegisterEffect
(
e10
)
local
e11
=
Effect
.
CreateEffect
(
c
)
local
e11
=
Effect
.
CreateEffect
(
c
)
e11
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_SET
)
e11
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_SET
)
e11
:
SetCode
(
EVENT_ADJUST
)
e11
:
SetCode
(
EVENT_ADJUST
)
e11
:
SetRange
(
LOCATION_ALL
)
e11
:
SetRange
(
LOCATION_ALL
)
e11
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e11
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e11
:
SetCondition
(
VgF
.
RuleCardCondtion
)
e11
:
SetCondition
(
VgF
.
Condition
.
FirstCard
)
e11
:
SetOperation
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
e11
:
SetOperation
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetCurrentChain
()
>
0
then
return
end
if
Duel
.
GetCurrentChain
()
>
0
then
return
end
local
g1
=
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_DECK
,
0
)
local
g1
=
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_DECK
,
0
)
...
@@ -117,7 +117,7 @@ function VgD.Rule(c)
...
@@ -117,7 +117,7 @@ function VgD.Rule(c)
e16
:
SetType
(
EFFECT_TYPE_FIELD
)
e16
:
SetType
(
EFFECT_TYPE_FIELD
)
e16
:
SetCode
(
EFFECT_QP_ACT_IN_NTPHAND
)
e16
:
SetCode
(
EFFECT_QP_ACT_IN_NTPHAND
)
e16
:
SetRange
(
LOCATION_ALL
)
e16
:
SetRange
(
LOCATION_ALL
)
e16
:
SetCondition
(
VgF
.
RuleCardCondtion
)
e16
:
SetCondition
(
VgF
.
Condition
.
FirstCard
)
e16
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e16
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e16
:
SetTargetRange
(
LOCATION_HAND
,
0
)
e16
:
SetTargetRange
(
LOCATION_HAND
,
0
)
c
:
RegisterEffect
(
e16
)
c
:
RegisterEffect
(
e16
)
...
@@ -203,7 +203,7 @@ function VgD.RideFilter2(c, lv, code, rc)
...
@@ -203,7 +203,7 @@ function VgD.RideFilter2(c, lv, code, rc)
return
c
:
IsLevel
(
lv
)
and
c
:
IsType
(
TYPE_UNIT
)
and
c
:
IsCode
(
code
)
and
rc
:
IsSkill
(
SKILL_PERSONA_RIDE
)
return
c
:
IsLevel
(
lv
)
and
c
:
IsType
(
TYPE_UNIT
)
and
c
:
IsCode
(
code
)
and
rc
:
IsSkill
(
SKILL_PERSONA_RIDE
)
end
end
function
VgD
.
RideCondition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
VgD
.
RideCondition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
rc
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
):
GetFirst
()
local
rc
=
Duel
.
GetMatchingGroup
(
vgf
.
filter
.
IsV
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
):
GetFirst
()
if
not
rc
then
return
false
end
if
not
rc
then
return
false
end
local
lv
=
rc
:
GetLevel
()
local
lv
=
rc
:
GetLevel
()
local
code
=
rc
:
GetCode
()
local
code
=
rc
:
GetCode
()
...
@@ -211,7 +211,7 @@ function VgD.RideCondition(e, tp, eg, ep, ev, re, r, rp)
...
@@ -211,7 +211,7 @@ function VgD.RideCondition(e, tp, eg, ep, ev, re, r, rp)
local
rg2
=
Duel
.
GetMatchingGroup
(
VgD
.
RideFilter2
,
tp
,
LOCATION_HAND
,
0
,
nil
,
lv
,
code
,
rc
)
local
rg2
=
Duel
.
GetMatchingGroup
(
VgD
.
RideFilter2
,
tp
,
LOCATION_HAND
,
0
,
nil
,
lv
,
code
,
rc
)
local
a
=
rg1
:
GetCount
()
>
0
local
a
=
rg1
:
GetCount
()
>
0
local
b
=
rg2
:
GetCount
()
>
0
local
b
=
rg2
:
GetCount
()
>
0
return
Duel
.
GetTurnPlayer
()
==
tp
and
VgF
.
RuleCardCondtion
(
e
)
and
(
a
or
b
)
return
Duel
.
GetTurnPlayer
()
==
tp
and
VgF
.
Condition
.
FirstCard
(
e
)
and
(
a
or
b
)
end
end
function
VgD
.
RideOperation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
VgD
.
RideOperation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
@@ -277,7 +277,7 @@ function VgD.RideOperation(e, tp, eg, ep, ev, re, r, rp)
...
@@ -277,7 +277,7 @@ function VgD.RideOperation(e, tp, eg, ep, ev, re, r, rp)
e1
:
SetTargetRange
(
LOCATION_CIRCLE
,
0
)
e1
:
SetTargetRange
(
LOCATION_CIRCLE
,
0
)
e1
:
SetValue
(
10000
)
e1
:
SetValue
(
10000
)
e1
:
SetTarget
(
function
(
te
,
tc
)
e1
:
SetTarget
(
function
(
te
,
tc
)
return
VgF
.
FrontFilter
(
tc
)
return
vgf
.
filter
.
Front
(
tc
)
end
)
end
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e1
,
tp
)
Duel
.
RegisterEffect
(
e1
,
tp
)
...
@@ -285,10 +285,10 @@ function VgD.RideOperation(e, tp, eg, ep, ev, re, r, rp)
...
@@ -285,10 +285,10 @@ function VgD.RideOperation(e, tp, eg, ep, ev, re, r, rp)
end
end
function
VgD
.
RideCondition_lv0
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
VgD
.
RideCondition_lv0
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
rc
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
):
GetFirst
()
local
rc
=
Duel
.
GetMatchingGroup
(
vgf
.
filter
.
IsV
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
):
GetFirst
()
if
rc
then
return
false
end
if
rc
then
return
false
end
local
ct
=
Duel
.
GetMatchingGroupCount
(
Card
.
IsLevel
,
tp
,
LOCATION_RIDE
,
0
,
nil
,
0
)
local
ct
=
Duel
.
GetMatchingGroupCount
(
Card
.
IsLevel
,
tp
,
LOCATION_RIDE
,
0
,
nil
,
0
)
return
VgF
.
RuleTurnCondtion
(
e
)
and
ct
>
0
and
VgF
.
RuleCardCondtion
(
e
)
return
VgF
.
Condition
.
FirstTurn
(
e
)
and
ct
>
0
and
VgF
.
Condition
.
FirstCard
(
e
)
end
end
function
VgD
.
RideOperation_lv0
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
VgD
.
RideOperation_lv0
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsLevel
,
tp
,
LOCATION_RIDE
,
0
,
nil
,
0
)
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsLevel
,
tp
,
LOCATION_RIDE
,
0
,
nil
,
0
)
...
@@ -379,7 +379,7 @@ function VgD.CardTriggerOperation(chkop)
...
@@ -379,7 +379,7 @@ function VgD.CardTriggerOperation(chkop)
end
end
end
end
elseif
c
:
IsTrigger
(
TRIGGER_ADVANCE
)
then
elseif
c
:
IsTrigger
(
TRIGGER_ADVANCE
)
then
local
g
=
Duel
.
GetMatchingGroup
(
VgF
.
IsSequence
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
,
0
,
4
,
5
)
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsSequence
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
,
0
,
4
,
5
)
local
atk_up
=
c
.
trigger_atk_up
or
10000
local
atk_up
=
c
.
trigger_atk_up
or
10000
if
c
:
IsHasEffect
(
EFFECT_CHANGE_TRIGGER_ATK
)
then
if
c
:
IsHasEffect
(
EFFECT_CHANGE_TRIGGER_ATK
)
then
atk_up
=
c
:
IsHasEffect
(
EFFECT_CHANGE_TRIGGER_ATK
):
GetValue
()
atk_up
=
c
:
IsHasEffect
(
EFFECT_CHANGE_TRIGGER_ATK
):
GetValue
()
...
@@ -556,8 +556,8 @@ function VgD.CardTriggerOperation(chkop)
...
@@ -556,8 +556,8 @@ function VgD.CardTriggerOperation(chkop)
Duel
.
Damage
(
tp
,
1
,
REASON_EFFECT
)
Duel
.
Damage
(
tp
,
1
,
REASON_EFFECT
)
end
end
end
end
if
VgF
.
GetValueType
(
VgF
.
EffectDamageE
)
~=
"Effect"
then
return
end
if
VgF
.
GetValueType
(
vgf
.
effect
.
Damage
)
~=
"Effect"
then
return
end
local
bc
=
VgF
.
EffectDamageE
:
GetHandler
()
local
bc
=
vgf
.
effect
.
Damage
:
GetHandler
()
local
label
=
bc
:
GetFlagEffectLabel
(
FLAG_DAMAGE_TRIGGER
)
local
label
=
bc
:
GetFlagEffectLabel
(
FLAG_DAMAGE_TRIGGER
)
if
not
label
then
return
end
if
not
label
then
return
end
if
label
>
0
then
if
label
>
0
then
...
@@ -567,8 +567,8 @@ function VgD.CardTriggerOperation(chkop)
...
@@ -567,8 +567,8 @@ function VgD.CardTriggerOperation(chkop)
bc
:
RegisterFlagEffect
(
FLAG_DAMAGE_TRIGGER
,
0
,
0
,
1
,
label
)
bc
:
RegisterFlagEffect
(
FLAG_DAMAGE_TRIGGER
,
0
,
0
,
1
,
label
)
elseif
label
==
0
then
elseif
label
==
0
then
bc
:
ResetFlagEffect
(
FLAG_DAMAGE_TRIGGER
)
bc
:
ResetFlagEffect
(
FLAG_DAMAGE_TRIGGER
)
VgF
.
EffectDamageE
:
Reset
()
vgf
.
effect
.
Damage
:
Reset
()
VgF
.
EffectDamageE
=
nil
vgf
.
effect
.
Damage
=
nil
end
end
end
end
end
end
...
@@ -616,10 +616,10 @@ function VgD.CallCondition(e, c)
...
@@ -616,10 +616,10 @@ function VgD.CallCondition(e, c)
if
c
==
nil
then
return
true
end
if
c
==
nil
then
return
true
end
local
tp
=
e
:
GetHandlerPlayer
()
local
tp
=
e
:
GetHandlerPlayer
()
if
VgF
.
GetAvailableLocation
(
tp
)
<=
0
then
return
end
if
VgF
.
GetAvailableLocation
(
tp
)
<=
0
then
return
end
return
VgF
.
LvCondition
(
e
)
return
VgF
.
Condition
.
Level
(
e
)
end
end
function
VgD
.
CallFilter
(
c
,
tp
,
zone
)
function
VgD
.
CallFilter
(
c
,
tp
,
zone
)
return
VgF
.
RMonsterFilter
(
c
)
and
zone
==
VgF
.
SequenceToGlobal
(
tp
,
c
:
GetLocation
(),
c
:
GetSequence
())
return
vgf
.
filter
.
IsR
(
c
)
and
zone
==
VgF
.
SequenceToGlobal
(
tp
,
c
:
GetLocation
(),
c
:
GetSequence
())
end
end
function
VgD
.
CallOperation
(
e
)
function
VgD
.
CallOperation
(
e
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
@@ -667,7 +667,7 @@ function VgD.MonsterBattle(c)
...
@@ -667,7 +667,7 @@ function VgD.MonsterBattle(c)
e2
:
SetRange
(
LOCATION_ALL
)
e2
:
SetRange
(
LOCATION_ALL
)
e2
:
SetCountLimit
(
1
,
VgID
+
4
)
e2
:
SetCountLimit
(
1
,
VgID
+
4
)
e2
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e2
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e2
:
SetCondition
(
VgF
.
RuleCardCondtion
)
e2
:
SetCondition
(
VgF
.
Condition
.
FirstCard
)
e2
:
SetOperation
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
e2
:
SetOperation
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsPosition
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
,
POS_FACEUP_DEFENSE
)
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsPosition
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
,
POS_FACEUP_DEFENSE
)
if
g
:
GetCount
()
>
0
and
Duel
.
GetTurnPlayer
()
==
tp
then
if
g
:
GetCount
()
>
0
and
Duel
.
GetTurnPlayer
()
==
tp
then
...
@@ -690,7 +690,7 @@ function VgD.MonsterBattle(c)
...
@@ -690,7 +690,7 @@ function VgD.MonsterBattle(c)
local
def
=
tc
:
GetAttack
()
local
def
=
tc
:
GetAttack
()
if
Duel
.
GetAttackTarget
():
GetFlagEffect
(
FLAG_DEFENSE_ENTIRELY
)
>
0
and
Duel
.
GetAttackTarget
():
GetFlagEffectLabel
(
FLAG_DEFENSE_ENTIRELY
)
==
10402017
and
bc
:
IsLevelBelow
(
2
)
then
return
false
end
if
Duel
.
GetAttackTarget
():
GetFlagEffect
(
FLAG_DEFENSE_ENTIRELY
)
>
0
and
Duel
.
GetAttackTarget
():
GetFlagEffectLabel
(
FLAG_DEFENSE_ENTIRELY
)
==
10402017
and
bc
:
IsLevelBelow
(
2
)
then
return
false
end
if
Duel
.
GetAttackTarget
():
GetFlagEffect
(
FLAG_DEFENSE_ENTIRELY
)
>
0
and
Duel
.
GetAttackTarget
():
GetFlagEffectLabel
(
FLAG_DEFENSE_ENTIRELY
)
==
0
then
return
false
end
if
Duel
.
GetAttackTarget
():
GetFlagEffect
(
FLAG_DEFENSE_ENTIRELY
)
>
0
and
Duel
.
GetAttackTarget
():
GetFlagEffectLabel
(
FLAG_DEFENSE_ENTIRELY
)
==
0
then
return
false
end
return
VgF
.
VMonsterFilter
(
tc
)
and
tc
==
Duel
.
GetAttackTarget
()
and
atk
>=
def
and
bc
:
GetLeftScale
()
>
0
return
vgf
.
filter
.
IsV
(
tc
)
and
tc
==
Duel
.
GetAttackTarget
()
and
atk
>=
def
and
bc
:
GetLeftScale
()
>
0
end
)
end
)
e3
:
SetOperation
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
e3
:
SetOperation
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
bc
=
Duel
.
GetAttacker
()
local
bc
=
Duel
.
GetAttacker
()
...
@@ -707,7 +707,7 @@ function VgD.MonsterBattle(c)
...
@@ -707,7 +707,7 @@ function VgD.MonsterBattle(c)
e4
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e4
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e4
:
SetCondition
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
e4
:
SetCondition
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
e
:
GetHandler
()
local
tc
=
e
:
GetHandler
()
if
not
VgF
.
VMonsterFilter
(
tc
)
and
tc
:
GetFlagEffect
(
FLAG_ALSO_CAN_TRIGGER
)
==
0
then
return
false
end
if
not
vgf
.
filter
.
IsV
(
tc
)
and
tc
:
GetFlagEffect
(
FLAG_ALSO_CAN_TRIGGER
)
==
0
then
return
false
end
return
tc
:
GetFlagEffectLabel
(
FLAG_ATTACK_TRIGGER
)
and
tc
:
GetFlagEffectLabel
(
FLAG_ATTACK_TRIGGER
)
>
0
and
Duel
.
GetAttacker
()
==
tc
return
tc
:
GetFlagEffectLabel
(
FLAG_ATTACK_TRIGGER
)
and
tc
:
GetFlagEffectLabel
(
FLAG_ATTACK_TRIGGER
)
>
0
and
Duel
.
GetAttacker
()
==
tc
end
)
end
)
e4
:
SetCost
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
e4
:
SetCost
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
...
@@ -724,7 +724,7 @@ function VgD.MonsterBattle(c)
...
@@ -724,7 +724,7 @@ function VgD.MonsterBattle(c)
e5
:
SetRange
(
LOCATION_CIRCLE
)
e5
:
SetRange
(
LOCATION_CIRCLE
)
e5
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e5
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e5
:
SetCondition
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
e5
:
SetCondition
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
VgF
.
ReturnCard
(
eg
):
GetControler
()
==
tp
and
VgF
.
VMonsterFilter
(
e
:
GetHandler
())
and
Duel
.
GetFlagEffect
(
tp
,
FLAG_EFFECT_DAMAGE
)
==
0
return
VgF
.
ReturnCard
(
eg
):
GetControler
()
==
tp
and
vgf
.
filter
.
IsV
(
e
:
GetHandler
())
and
Duel
.
GetFlagEffect
(
tp
,
FLAG_EFFECT_DAMAGE
)
==
0
end
)
end
)
e5
:
SetOperation
(
VgD
.
Trigger
)
e5
:
SetOperation
(
VgD
.
Trigger
)
c
:
RegisterEffect
(
e5
)
c
:
RegisterEffect
(
e5
)
...
@@ -803,7 +803,7 @@ function VgD.MonsterBattle(c)
...
@@ -803,7 +803,7 @@ function VgD.MonsterBattle(c)
e8
:
SetCode
(
EVENT_DAMAGE_STEP_END
)
e8
:
SetCode
(
EVENT_DAMAGE_STEP_END
)
e8
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_DELAY
)
e8
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_DELAY
)
e8
:
SetRange
(
LOCATION_ALL
)
e8
:
SetRange
(
LOCATION_ALL
)
e8
:
SetCondition
(
VgF
.
RuleCardCondtion
)
e8
:
SetCondition
(
VgF
.
Condition
.
FirstCard
)
e8
:
SetOperation
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
e8
:
SetOperation
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_G_CIRCLE
,
0
)
local
g
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_G_CIRCLE
,
0
)
if
g
:
GetCount
()
>
0
then
VgF
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_RULE
)
end
if
g
:
GetCount
()
>
0
then
VgF
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_RULE
)
end
...
@@ -821,7 +821,7 @@ function VgD.MonsterBattle(c)
...
@@ -821,7 +821,7 @@ function VgD.MonsterBattle(c)
e11
:
SetCode
(
EFFECT_CANNOT_ATTACK_ANNOUNCE
)
e11
:
SetCode
(
EFFECT_CANNOT_ATTACK_ANNOUNCE
)
e11
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e11
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e11
:
SetCondition
(
function
(
e
)
e11
:
SetCondition
(
function
(
e
)
return
e
:
GetHandler
():
IsPosition
(
POS_DEFENSE
)
or
(
VgF
.
BackFilter
(
e
:
GetHandler
())
and
e
:
GetHandler
():
GetFlagEffect
(
FLAG_ATTACK_AT_REAR
)
==
0
)
return
e
:
GetHandler
():
IsPosition
(
POS_DEFENSE
)
or
(
vgf
.
filter
.
Back
(
e
:
GetHandler
())
and
e
:
GetHandler
():
GetFlagEffect
(
FLAG_ATTACK_AT_REAR
)
==
0
)
end
)
end
)
c
:
RegisterEffect
(
e11
)
c
:
RegisterEffect
(
e11
)
local
e12
=
Effect
.
CreateEffect
(
c
)
local
e12
=
Effect
.
CreateEffect
(
c
)
...
@@ -841,7 +841,7 @@ function VgD.MonsterBattle(c)
...
@@ -841,7 +841,7 @@ function VgD.MonsterBattle(c)
e14
:
SetRange
(
LOCATION_CIRCLE
)
e14
:
SetRange
(
LOCATION_CIRCLE
)
e14
:
SetCode
(
EFFECT_INDESTRUCTABLE_BATTLE
)
e14
:
SetCode
(
EFFECT_INDESTRUCTABLE_BATTLE
)
e14
:
SetCondition
(
function
(
e
)
e14
:
SetCondition
(
function
(
e
)
return
VgF
.
VMonsterFilter
(
e
:
GetHandler
())
or
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
return
vgf
.
filter
.
IsV
(
e
:
GetHandler
())
or
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
end
)
end
)
e14
:
SetValue
(
1
)
e14
:
SetValue
(
1
)
c
:
RegisterEffect
(
e14
)
c
:
RegisterEffect
(
e14
)
...
@@ -857,7 +857,7 @@ function VgD.MonsterBattle(c)
...
@@ -857,7 +857,7 @@ function VgD.MonsterBattle(c)
e16
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
+
EFFECT_FLAG_CANNOT_DISABLE
)
e16
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
+
EFFECT_FLAG_CANNOT_DISABLE
)
e16
:
SetRange
(
LOCATION_CIRCLE
)
e16
:
SetRange
(
LOCATION_CIRCLE
)
e16
:
SetCondition
(
function
(
e
)
e16
:
SetCondition
(
function
(
e
)
return
VgF
.
BackFilter
(
e
:
GetHandler
())
return
vgf
.
filter
.
Back
(
e
:
GetHandler
())
end
)
end
)
e16
:
SetValue
(
VgF
.
True
)
e16
:
SetValue
(
VgF
.
True
)
c
:
RegisterEffect
(
e16
)
c
:
RegisterEffect
(
e16
)
...
@@ -899,7 +899,7 @@ function VgD.OverDressCondition(filter)
...
@@ -899,7 +899,7 @@ function VgD.OverDressCondition(filter)
return
function
(
e
,
c
)
return
function
(
e
,
c
)
if
c
==
nil
then
return
true
end
if
c
==
nil
then
return
true
end
local
tp
=
e
:
GetHandlerPlayer
()
local
tp
=
e
:
GetHandlerPlayer
()
return
VgF
.
LvCondition
(
e
)
and
VgF
.
IsExistingMatchingCard
(
VgD
.
OverDressFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
nil
,
filter
)
return
VgF
.
Condition
.
Level
(
e
)
and
VgF
.
IsExistingMatchingCard
(
VgD
.
OverDressFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
nil
,
filter
)
end
end
end
end
function
VgD
.
OverDressFilter
(
c
,
filter
,
tp
,
zone
)
function
VgD
.
OverDressFilter
(
c
,
filter
,
tp
,
zone
)
...
@@ -984,7 +984,7 @@ function VgD.Order(c, m, op, cost, con)
...
@@ -984,7 +984,7 @@ function VgD.Order(c, m, op, cost, con)
end
end
function
VgD
.
OrderCondtion
(
con
)
function
VgD
.
OrderCondtion
(
con
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
VgF
.
LvCondition
(
e
)
and
(
not
con
or
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
))
return
VgF
.
Condition
.
Level
(
e
)
and
(
not
con
or
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
))
end
end
end
end
function
VgD
.
AlchemagicCost
(
cost
)
function
VgD
.
AlchemagicCost
(
cost
)
...
@@ -1009,19 +1009,19 @@ function VgD.AlchemagicCostFilter(c, e, tp, eg, ep, ev, re, r, rp, mc)
...
@@ -1009,19 +1009,19 @@ function VgD.AlchemagicCostFilter(c, e, tp, eg, ep, ev, re, r, rp, mc)
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
AFFECT_CODE_ALCHEMAGIC_DIFFERENT_NAME
)
and
c
:
IsCode
(
mc
:
GetCode
())
then
return
false
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
AFFECT_CODE_ALCHEMAGIC_DIFFERENT_NAME
)
and
c
:
IsCode
(
mc
:
GetCode
())
then
return
false
end
--得到需要支付的费用(从哪来,几张卡,什么卡)
--得到需要支付的费用(从哪来,几张卡,什么卡)
local
cfrom
,
cval
,
cfilter
,
mcfrom
,
mcval
,
mcfilter
local
cfrom
,
cval
,
cfilter
,
mcfrom
,
mcval
,
mcfilter
table
.
copy
(
cfrom
,
c
.
cos_from
)
table
.
copy
(
cfrom
,
c
.
order_cost
[
'from'
]
)
table
.
copy
(
cval
,
c
.
cos_val
)
table
.
copy
(
cval
,
c
.
order_cost
[
'min'
]
)
table
.
copy
(
cfilter
,
c
.
cos_filter
)
table
.
copy
(
cfilter
,
c
.
order_cost
[
'filter'
]
)
table
.
copy
(
mcfrom
,
mc
.
cos_from
)
table
.
copy
(
mcfrom
,
mc
.
order_cost
[
'from'
]
)
table
.
copy
(
mcval
,
mc
.
cos_val
)
table
.
copy
(
mcval
,
mc
.
order_cost
[
'min'
]
)
table
.
copy
(
mcfilter
,
mc
.
cos_filter
)
table
.
copy
(
mcfilter
,
mc
.
order_cost
[
'filter'
]
)
--如果都有费用要付,则合成费用
--如果都有费用要付,则合成费用
if
#
cfrom
>
0
and
#
mcfrom
>
0
then
if
#
cfrom
>
0
and
#
mcfrom
>
0
then
for
cv
=
1
,
#
cfrom
do
for
cv
=
1
,
#
cfrom
do
local
c_cost_from
=
LOCATION_LIST
[
cfrom
[
cv
]]
local
c_cost_from
=
LOCATION_LIST
[
cfrom
[
cv
]]
or
cfrom
[
cv
]
local
pos
=
0
local
pos
=
0
for
mcv
=
1
,
#
mcfrom
do
for
mcv
=
1
,
#
mcfrom
do
local
mc_cost_from
=
LOCATION_LIST
[
mcfrom
[
mcv
]]
local
mc_cost_from
=
LOCATION_LIST
[
mcfrom
[
mcv
]]
or
mcfrom
[
mcv
]
if
mc_cost_from
==
c_cost_from
then
if
mc_cost_from
==
c_cost_from
then
local
mc_cos_val
=
mcval
[
mcv
]
local
mc_cos_val
=
mcval
[
mcv
]
local
c_cos_val
=
cval
[
cv
]
local
c_cos_val
=
cval
[
cv
]
...
@@ -1083,7 +1083,7 @@ function VgD.AlchemagicCostFilter(c, e, tp, eg, ep, ev, re, r, rp, mc)
...
@@ -1083,7 +1083,7 @@ function VgD.AlchemagicCostFilter(c, e, tp, eg, ep, ev, re, r, rp, mc)
--如果本体需要支付而合成的卡不需要支付
--如果本体需要支付而合成的卡不需要支付
elseif
#
mcfrom
>
0
then
elseif
#
mcfrom
>
0
then
for
mcv
=
1
,
#
mcfrom
do
for
mcv
=
1
,
#
mcfrom
do
local
mc_cost_from
=
LOCATION_LIST
[
mcfrom
[
mcv
]]
local
mc_cost_from
=
LOCATION_LIST
[
mcfrom
[
mcv
]]
or
mcfrom
[
mcv
]
local
mc_cos_val
=
mcval
[
mcv
]
local
mc_cos_val
=
mcval
[
mcv
]
if
VgF
.
GetValueType
(
mc_cos_val
)
~=
"number"
then
mc_cos_val
=
0
end
if
VgF
.
GetValueType
(
mc_cos_val
)
~=
"number"
then
mc_cos_val
=
0
end
--判断其他减少费用的效果
--判断其他减少费用的效果
...
@@ -1101,7 +1101,7 @@ function VgD.AlchemagicCostFilter(c, e, tp, eg, ep, ev, re, r, rp, mc)
...
@@ -1101,7 +1101,7 @@ function VgD.AlchemagicCostFilter(c, e, tp, eg, ep, ev, re, r, rp, mc)
--如果本体不需要支付而合成的卡需要支付
--如果本体不需要支付而合成的卡需要支付
elseif
#
cfrom
>
0
then
elseif
#
cfrom
>
0
then
for
cv
=
1
,
#
cfrom
do
for
cv
=
1
,
#
cfrom
do
local
c_cost_from
=
LOCATION_LIST
[
cfrom
[
cv
]]
local
c_cost_from
=
LOCATION_LIST
[
cfrom
[
cv
]]
or
cfrom
[
cv
]
local
c_cos_val
=
mcval
[
cv
]
local
c_cos_val
=
mcval
[
cv
]
if
VgF
.
GetValueType
(
c_cos_val
)
~=
"number"
then
c_cos_val
=
0
end
if
VgF
.
GetValueType
(
c_cos_val
)
~=
"number"
then
c_cos_val
=
0
end
--判断其他减少费用的效果
--判断其他减少费用的效果
...
@@ -1119,21 +1119,21 @@ function VgD.AlchemagicCostFilter(c, e, tp, eg, ep, ev, re, r, rp, mc)
...
@@ -1119,21 +1119,21 @@ function VgD.AlchemagicCostFilter(c, e, tp, eg, ep, ev, re, r, rp, mc)
--都不需要支付
--都不需要支付
else
return
true
else
return
true
end
end
return
VgF
.
LvCondition
(
c
)
return
VgF
.
Condition
.
Level
(
c
)
end
end
function
VgD
.
AlchemagicCostOperation
(
c
,
bc
,
tp
)
function
VgD
.
AlchemagicCostOperation
(
c
,
bc
,
tp
)
--得到需要支付的费用(从哪来,到哪去,最少几张卡,最多几张卡,什么卡)
--得到需要支付的费用(从哪来,到哪去,最少几张卡,最多几张卡,什么卡)
local
cfrom
,
cto
,
cval
,
cval_max
,
cfilter
,
bcfrom
,
bcto
,
bcval
,
bcval_max
,
bcfilter
local
cfrom
,
cto
,
cval
,
cval_max
,
cfilter
,
bcfrom
,
bcto
,
bcval
,
bcval_max
,
bcfilter
table
.
copy
(
cfrom
,
c
.
cos_from
)
table
.
copy
(
cfrom
,
c
.
order_cost
[
'from'
]
)
table
.
copy
(
cto
,
c
.
cos_to
)
table
.
copy
(
cto
,
c
.
order_cost
[
'to'
]
)
table
.
copy
(
cval
,
c
.
cos_val
)
table
.
copy
(
cval
,
c
.
order_cost
[
'min'
]
)
table
.
copy
(
cval_max
,
c
.
cos_val_max
)
table
.
copy
(
cval_max
,
c
.
order_cost
[
'max'
]
)
table
.
copy
(
cfilter
,
bc
.
cos_filter
)
table
.
copy
(
cfilter
,
c
.
order_cost
[
'filter'
]
)
table
.
copy
(
bcfrom
,
bc
.
cos_from
)
table
.
copy
(
bcfrom
,
bc
.
order_cost
[
'from'
]
)
table
.
copy
(
bcto
,
bc
.
cos_to
)
table
.
copy
(
bcto
,
bc
.
order_cost
[
'to'
]
)
table
.
copy
(
bcval
,
bc
.
cos_val
)
table
.
copy
(
bcval
,
bc
.
order_cost
[
'min'
]
)
table
.
copy
(
bcval_max
,
bc
.
cos_val_max
)
table
.
copy
(
bcval_max
,
bc
.
order_cost
[
'max'
]
)
table
.
copy
(
bcfilter
,
bc
.
cos_filter
)
table
.
copy
(
bcfilter
,
bc
.
order_cost
[
'filter'
]
)
local
g_from
=
{}
local
g_from
=
{}
local
g_to
=
{}
local
g_to
=
{}
local
g_filter_c
=
{}
local
g_filter_c
=
{}
...
@@ -1146,11 +1146,11 @@ function VgD.AlchemagicCostOperation(c, bc, tp)
...
@@ -1146,11 +1146,11 @@ function VgD.AlchemagicCostOperation(c, bc, tp)
--在这里合成
--在这里合成
if
#
bcfrom
>
0
and
#
cfrom
>
0
then
if
#
bcfrom
>
0
and
#
cfrom
>
0
then
for
bcv
=
1
,
#
bcfrom
do
for
bcv
=
1
,
#
bcfrom
do
local
bc_cost_from
=
LOCATION_LIST
[
bcfrom
[
bcv
]]
local
bc_cost_from
=
LOCATION_LIST
[
bcfrom
[
bcv
]]
or
bcfrom
[
bcv
]
local
pos
=
0
local
pos
=
0
for
cv
=
1
,
#
cfrom
do
for
cv
=
1
,
#
cfrom
do
local
c_cost_from
=
LOCATION_LIST
[
cfrom
[
cv
]]
local
c_cost_from
=
LOCATION_LIST
[
cfrom
[
cv
]]
or
cfrom
[
cv
]
if
bc_cost_from
==
c_cost_from
and
LOCATION_LIST
[
cto
[
cv
]]
==
LOCATION_LIST
[
bcto
[
bcv
]]
then
if
bc_cost_from
==
c_cost_from
and
(
LOCATION_LIST
[
cto
[
cv
]]
or
cto
[
cv
])
==
(
LOCATION_LIST
[
bcto
[
bcv
]]
or
bcto
[
bcv
])
then
pos
=
bcv
pos
=
bcv
table.insert
(
g_from
,
cfrom
[
cv
])
table.insert
(
g_from
,
cfrom
[
cv
])
table.insert
(
g_to
,
cto
[
cv
])
table.insert
(
g_to
,
cto
[
cv
])
...
@@ -1204,8 +1204,8 @@ function VgD.AlchemagicCostOperation(c, bc, tp)
...
@@ -1204,8 +1204,8 @@ function VgD.AlchemagicCostOperation(c, bc, tp)
end
end
--开始支付合成完的费用
--开始支付合成完的费用
for
i
=
1
,
#
g_from
do
for
i
=
1
,
#
g_from
do
local
tg_from
=
LOCATION_LIST
[
g_from
[
i
]]
local
tg_from
=
LOCATION_LIST
[
g_from
[
i
]]
or
g_from
[
i
]
local
tg_to
=
LOCATION_LIST
[
g_to
[
i
]]
local
tg_to
=
LOCATION_LIST
[
g_to
[
i
]]
or
g_to
[
i
]
local
tg
=
VgF
.
GetMatchingGroup
(
nil
,
tp
,
tg_from
,
0
,
except_group
)
local
tg
=
VgF
.
GetMatchingGroup
(
nil
,
tp
,
tg_from
,
0
,
except_group
)
local
tg_filter_c
=
g_filter_c
[
i
]
local
tg_filter_c
=
g_filter_c
[
i
]
local
tg_filter_bc
=
g_filter_bc
[
i
]
local
tg_filter_bc
=
g_filter_bc
[
i
]
...
@@ -1394,7 +1394,7 @@ function VgD.AbilityAuto(c, m, loc, typ, code, op, cost, con, tg, count, propert
...
@@ -1394,7 +1394,7 @@ function VgD.AbilityAuto(c, m, loc, typ, code, op, cost, con, tg, count, propert
elseif
code
==
EVENT_TO_G_CIRCLE
then
elseif
code
==
EVENT_TO_G_CIRCLE
then
typ
=
typ
or
(
cost
and
EFFECT_TYPE_TRIGGER_O
or
EFFECT_TYPE_TRIGGER_F
)
typ
=
typ
or
(
cost
and
EFFECT_TYPE_TRIGGER_O
or
EFFECT_TYPE_TRIGGER_F
)
op
=
op
or
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
op
=
op
or
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
vgf
.
RMonsterFilter
(
Duel
.
GetAttackTarget
())
then
if
vgf
.
filter
.
IsR
(
Duel
.
GetAttackTarget
())
then
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
...
@@ -1403,8 +1403,8 @@ function VgD.AbilityAuto(c, m, loc, typ, code, op, cost, con, tg, count, propert
...
@@ -1403,8 +1403,8 @@ function VgD.AbilityAuto(c, m, loc, typ, code, op, cost, con, tg, count, propert
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetValue
(
1
)
e1
:
SetValue
(
1
)
Duel
.
GetAttackTarget
():
RegisterEffect
(
e1
)
Duel
.
GetAttackTarget
():
RegisterEffect
(
e1
)
vgf
.
Effect
Reset
(
e
:
GetHandler
(),
e1
,
EVENT_BATTLED
)
vgf
.
effect
.
Reset
(
e
:
GetHandler
(),
e1
,
EVENT_BATTLED
)
elseif
vgf
.
VMonsterFilter
(
Duel
.
GetAttackTarget
())
then
elseif
vgf
.
filter
.
IsV
(
Duel
.
GetAttackTarget
())
then
Duel
.
GetAttackTarget
():
RegisterFlagEffect
(
FLAG_DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
Duel
.
GetAttackTarget
():
RegisterFlagEffect
(
FLAG_DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
end
end
end
end
...
...
vgdefinition.lua
View file @
dc1dcd06
...
@@ -25,7 +25,7 @@ LOCATION_CREST = 0x8000 --纹章区
...
@@ -25,7 +25,7 @@ LOCATION_CREST = 0x8000 --纹章区
LOCATION_ALL
=
0xffff
LOCATION_ALL
=
0xffff
LOCATION_R_CIRCLE
=
0x10000
-- 后防者圆阵导者圆阵
LOCATION_R_CIRCLE
=
0x10000
-- 后防者圆阵导者圆阵
LOCATION_LIST
=
{[
"LOCATION_DECK"
]
=
LOCATION_DECK
,
[
"LOCATION_HAND"
]
=
LOCATION_HAND
,
[
"LOCATION_CIRCLE"
]
=
LOCATION_CIRCLE
,
[
"LOCATION_DROP"
]
=
LOCATION_DROP
,
[
"LOCATION_BIND"
]
=
LOCATION_BIND
,
[
"LOCATION_RIDE"
]
=
LOCATION_RIDE
,
[
"LOCATION_SOUL"
]
=
LOCATION_SOUL
,
[
"LOCATION_REMOVED"
]
=
LOCATION_REMOVED
,
[
"LOCATION_DAMAGE"
]
=
LOCATION_DAMAGE
,
[
"LOCATION_ORDER"
]
=
LOCATION_ORDER
,
[
"LOCATION_SPARE"
]
=
LOCATION_SPARE
,
[
"LOCATION_G_CIRCLE"
]
=
LOCATION_G_CIRCLE
,
[
"LOCATION_CREST"
]
=
LOCATION_CREST
}
LOCATION_LIST
=
{[
"
0"
]
=
0
,
[
"
LOCATION_DECK"
]
=
LOCATION_DECK
,
[
"LOCATION_HAND"
]
=
LOCATION_HAND
,
[
"LOCATION_CIRCLE"
]
=
LOCATION_CIRCLE
,
[
"LOCATION_DROP"
]
=
LOCATION_DROP
,
[
"LOCATION_BIND"
]
=
LOCATION_BIND
,
[
"LOCATION_RIDE"
]
=
LOCATION_RIDE
,
[
"LOCATION_SOUL"
]
=
LOCATION_SOUL
,
[
"LOCATION_REMOVED"
]
=
LOCATION_REMOVED
,
[
"LOCATION_DAMAGE"
]
=
LOCATION_DAMAGE
,
[
"LOCATION_ORDER"
]
=
LOCATION_ORDER
,
[
"LOCATION_SPARE"
]
=
LOCATION_SPARE
,
[
"LOCATION_G_CIRCLE"
]
=
LOCATION_G_CIRCLE
,
[
"LOCATION_CREST"
]
=
LOCATION_CREST
}
--Locations (for redirect) 若在重定向类效果中仅指定LOCATION_DECK则为弹回卡组顶部
--Locations (for redirect) 若在重定向类效果中仅指定LOCATION_DECK则为弹回卡组顶部
LOCATION_DECKBOT
=
0x10001
--弹回卡组底部
LOCATION_DECKBOT
=
0x10001
--弹回卡组底部
...
...
vgfuncLib.lua
View file @
dc1dcd06
...
@@ -3,8 +3,14 @@ VgF = {}
...
@@ -3,8 +3,14 @@ VgF = {}
vgf
=
VgF
vgf
=
VgF
VgF
.
Operation
=
{}
VgF
.
Operation
=
{}
VgF
.
Cost
=
{}
VgF
.
Cost
=
{}
VgF
.
Condition
=
{}
VgF
.
Filter
=
{}
VgF
.
Effect
=
{}
VgF
.
op
=
VgF
.
Operation
VgF
.
op
=
VgF
.
Operation
VgF
.
cost
=
VgF
.
Cost
VgF
.
cost
=
VgF
.
Cost
VgF
.
con
=
VgF
.
Condition
VgF
.
filter
=
VgF
.
Filter
vgf
.
effect
=
VgF
.
Effect
bit
=
{}
bit
=
{}
---@class Card
---@class Card
...
@@ -23,30 +29,19 @@ end
...
@@ -23,30 +29,19 @@ end
function
VgF
.
Stringid
(
code
,
id
)
function
VgF
.
Stringid
(
code
,
id
)
return
code
*
16
+
id
return
code
*
16
+
id
end
end
---根据控制者,区域和编号获取zone;不合法的数据会返回0
---@param p number 控制者
---@param loc number 所在区域,若不是LOCATION_CIRCLE或LOCATION_SZONE则返回0
---@param seq number 编号
---@return number 卡片所在的zone
function
VgF
.
SequenceToGlobal
(
p
,
loc
,
seq
)
if
p
~=
0
and
p
~=
1
then
return
0
end
if
loc
==
LOCATION_CIRCLE
then
if
seq
<=
6
then
return
0x0001
<<
(
seq
)
end
elseif
loc
==
LOCATION_SZONE
then
if
seq
<=
4
then
return
0x0100
<<
(
16
*
p
+
seq
)
end
end
return
0
end
---一个总是返回true的函数。
---一个总是返回true的函数。
---@return true
---@return true
function
VgF
.
True
()
function
VgF
.
True
()
return
true
return
true
end
end
---一个总是返回false的函数。
---一个总是返回false的函数。
---@return false
---@return false
function
VgF
.
False
()
function
VgF
.
False
()
return
false
return
false
end
end
---返回g中的“下一张卡”。第一次调用会返回第一张卡。没有下一张卡会返回nil。
---返回g中的“下一张卡”。第一次调用会返回第一张卡。没有下一张卡会返回nil。
---@param g Group 要遍历的卡片组
---@param g Group 要遍历的卡片组
---@return function 指示返回的卡的函数
---@return function 指示返回的卡的函数
...
@@ -57,6 +52,7 @@ function VgF.Next(g)
...
@@ -57,6 +52,7 @@ function VgF.Next(g)
else
return
g
:
GetNext
()
end
else
return
g
:
GetNext
()
end
end
end
end
end
---返回v在lua中的变量类型,以string方式呈现。
---返回v在lua中的变量类型,以string方式呈现。
---@param v any 要获取类型的变量(或常量)
---@param v any 要获取类型的变量(或常量)
---@return string 以字符串形式呈现的类型
---@return string 以字符串形式呈现的类型
...
@@ -69,6 +65,7 @@ function VgF.GetValueType(v)
...
@@ -69,6 +65,7 @@ function VgF.GetValueType(v)
else
return
"Card"
end
else
return
"Card"
end
else
return
t
end
else
return
t
end
end
end
---如果g是Group的话,返回其第一张卡;如果g是Card的话,返回其本身;否则返回nil。
---如果g是Group的话,返回其第一张卡;如果g是Card的话,返回其本身;否则返回nil。
---@param g any 要操作的变量
---@param g any 要操作的变量
---@return Card
---@return Card
...
@@ -87,7 +84,7 @@ function VgF.ReturnGroup(tc)
...
@@ -87,7 +84,7 @@ function VgF.ReturnGroup(tc)
if
VgF
.
GetValueType
(
tc
)
==
"Group"
then
if
VgF
.
GetValueType
(
tc
)
==
"Group"
then
return
tc
return
tc
elseif
VgF
.
GetValueType
(
g
)
==
"Card"
then
elseif
VgF
.
GetValueType
(
g
)
==
"Card"
then
g
.
AddCard
(
tc
)
g
:
AddCard
(
tc
)
end
end
return
g
return
g
end
end
...
@@ -105,11 +102,20 @@ function VgF.GetCardsFromGroup(g, val)
...
@@ -105,11 +102,20 @@ function VgF.GetCardsFromGroup(g, val)
return
sg
return
sg
end
end
end
end
function
bit
.
ReturnCount
(
n
)
if
n
==
0
then
---根据控制者,区域和编号获取zone;不合法的数据会返回0
return
0
---@param p number 控制者
---@param loc number 所在区域,若不是LOCATION_CIRCLE或LOCATION_SZONE则返回0
---@param seq number 编号
---@return number 卡片所在的zone
function
VgF
.
SequenceToGlobal
(
p
,
loc
,
seq
)
if
p
~=
0
and
p
~=
1
then
return
0
end
if
loc
==
LOCATION_CIRCLE
then
if
seq
<=
6
then
return
0x0001
<<
(
seq
)
end
elseif
loc
==
LOCATION_SZONE
then
if
seq
<=
4
then
return
0x0100
<<
(
16
*
p
+
seq
)
end
end
end
return
1
+
bit
.
ReturnCount
(
n
&
(
n
-
1
))
return
0
end
end
function
table
.
copy
(
copy
,
original
)
function
table
.
copy
(
copy
,
original
)
...
@@ -120,6 +126,13 @@ function table.copy(copy, original)
...
@@ -120,6 +126,13 @@ function table.copy(copy, original)
end
end
end
end
function
bit
.
ReturnCount
(
n
)
if
n
==
0
then
return
0
end
return
1
+
bit
.
ReturnCount
(
n
&
(
n
-
1
))
end
---返回对a和b进行按位与运算的结果。
---返回对a和b进行按位与运算的结果。
---@param a number 操作数1
---@param a number 操作数1
---@param b number 操作数2
---@param b number 操作数2
...
@@ -161,72 +174,9 @@ end
...
@@ -161,72 +174,9 @@ end
function
bit
.
bnot
(
a
)
function
bit
.
bnot
(
a
)
return
~
a
return
~
a
end
end
---返回c是不是先导者。
---@param c Card 要判断的卡
---@return boolean 指示是否是先导者
function
VgF
.
VMonsterFilter
(
c
)
return
VgF
.
IsSequence
(
c
,
5
)
end
---返回c是不是后防者。
---@param c Card 要判断的卡
---@return boolean 指示是否是后防者
function
VgF
.
RMonsterFilter
(
c
)
return
c
:
GetSequence
()
<
5
end
---用于效果的Condition,判断e是否以后防者发动。
---@param e Effect
---@return boolean
function
VgF
.
RMonsterCondition
(
e
)
return
VgF
.
RMonsterFilter
(
e
:
GetHandler
())
end
---用于效果的Condition,判断e是否以先导者发动。
---@param e Effect
---@return boolean
function
VgF
.
VMonsterCondition
(
e
)
return
VgF
.
VMonsterFilter
(
e
:
GetHandler
())
end
function
VgF
.
VSummonCondition
(
e
)
local
c
=
e
:
GetHandler
()
return
VgF
.
IsSummonTypeV
(
c
)
end
function
VgF
.
RSummonCondition
(
e
)
return
not
VgF
.
VSummonCondition
(
e
)
end
function
VgF
.
IsSummonTypeV
(
c
)
return
c
:
IsSummonType
(
SUMMON_TYPE_RIDE
)
or
c
:
IsSummonType
(
SUMMON_TYPE_SELFRIDE
)
end
function
VgF
.
IsSummonTypeR
(
c
)
return
not
VgF
.
IsSummonTypeV
(
c
)
end
---判断c是否在当前区域的某(几)个编号上
---@param c Card 要判断的卡
---@param ... number 编号
---@return boolean 指示是否在给定编号上
function
VgF
.
IsSequence
(
c
,
...
)
for
i
,
v
in
ipairs
{
...
}
do
if
c
:
GetSequence
()
==
v
then
return
true
end
end
return
false
end
function
VgF
.
RuleCardCondtion
(
e
)
local
tp
=
e
:
GetHandlerPlayer
()
local
g
=
Duel
.
GetMatchingGroup
(
nil
,
tp
,
LOCATION_ALL
,
0
,
nil
)
return
e
:
GetHandler
()
==
g
:
GetFirst
()
end
function
VgF
.
RuleTurnCondtion
(
e
)
local
tp
=
e
:
GetHandlerPlayer
()
local
a
=
Duel
.
GetTurnCount
(
tp
)
local
b
=
Duel
.
GetTurnCount
(
1
-
tp
)
return
a
+
b
==
1
end
---返回函数,该函数与f的结果总是相反的。
---返回函数,该函数与f的结果总是相反的。
---@param f
要操作的
函数
---@param f
function<boolean> 要操作的bool
函数
---@return function 经过操作的函数
---@return function 经过操作的函数
function
VgF
.
Not
(
f
)
function
VgF
.
Not
(
f
)
return
function
(
...
)
return
function
(
...
)
...
@@ -240,140 +190,44 @@ function VgF.GetColumnGroup(c)
...
@@ -240,140 +190,44 @@ function VgF.GetColumnGroup(c)
local
tp
=
c
:
GetControler
()
local
tp
=
c
:
GetControler
()
local
g
=
Group
.
CreateGroup
()
local
g
=
Group
.
CreateGroup
()
if
c
:
GetSequence
()
==
0
then
if
c
:
GetSequence
()
==
0
then
local
sg1
=
VgF
.
GetMatchingGroup
(
VgF
.
IsSequence
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
,
1
)
local
sg1
=
VgF
.
GetMatchingGroup
(
Card
.
IsSequence
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
,
1
)
local
sg2
=
VgF
.
GetMatchingGroup
(
VgF
.
IsSequence
,
tp
,
0
,
LOCATION_CIRCLE
,
nil
,
3
,
4
)
local
sg2
=
VgF
.
GetMatchingGroup
(
Card
.
IsSequence
,
tp
,
0
,
LOCATION_CIRCLE
,
nil
,
3
,
4
)
if
sg1
:
GetCount
()
>
0
then
g
:
Merge
(
sg1
)
end
if
sg1
:
GetCount
()
>
0
then
g
:
Merge
(
sg1
)
end
if
sg2
:
GetCount
()
>
0
then
g
:
Merge
(
sg2
)
end
if
sg2
:
GetCount
()
>
0
then
g
:
Merge
(
sg2
)
end
end
end
if
c
:
GetSequence
()
==
1
then
if
c
:
GetSequence
()
==
1
then
local
sg1
=
VgF
.
GetMatchingGroup
(
VgF
.
IsSequence
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
,
0
)
local
sg1
=
VgF
.
GetMatchingGroup
(
Card
.
IsSequence
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
,
0
)
local
sg2
=
VgF
.
GetMatchingGroup
(
VgF
.
IsSequence
,
tp
,
0
,
LOCATION_CIRCLE
,
nil
,
3
,
4
)
local
sg2
=
VgF
.
GetMatchingGroup
(
Card
.
IsSequence
,
tp
,
0
,
LOCATION_CIRCLE
,
nil
,
3
,
4
)
if
sg1
:
GetCount
()
>
0
then
g
:
Merge
(
sg1
)
end
if
sg1
:
GetCount
()
>
0
then
g
:
Merge
(
sg1
)
end
if
sg2
:
GetCount
()
>
0
then
g
:
Merge
(
sg2
)
end
if
sg2
:
GetCount
()
>
0
then
g
:
Merge
(
sg2
)
end
end
end
if
c
:
GetSequence
()
==
2
then
if
c
:
GetSequence
()
==
2
then
local
sg1
=
VgF
.
GetMatchingGroup
(
VgF
.
IsSequence
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
,
5
)
local
sg1
=
VgF
.
GetMatchingGroup
(
Card
.
IsSequence
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
,
5
)
local
sg2
=
VgF
.
GetMatchingGroup
(
VgF
.
IsSequence
,
tp
,
0
,
LOCATION_CIRCLE
,
nil
,
2
,
5
)
local
sg2
=
VgF
.
GetMatchingGroup
(
Card
.
IsSequence
,
tp
,
0
,
LOCATION_CIRCLE
,
nil
,
2
,
5
)
if
sg1
:
GetCount
()
>
0
then
g
:
Merge
(
sg1
)
end
if
sg1
:
GetCount
()
>
0
then
g
:
Merge
(
sg1
)
end
if
sg2
:
GetCount
()
>
0
then
g
:
Merge
(
sg2
)
end
if
sg2
:
GetCount
()
>
0
then
g
:
Merge
(
sg2
)
end
end
end
if
c
:
GetSequence
()
==
3
then
if
c
:
GetSequence
()
==
3
then
local
sg1
=
VgF
.
GetMatchingGroup
(
VgF
.
IsSequence
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
,
4
)
local
sg1
=
VgF
.
GetMatchingGroup
(
Card
.
IsSequence
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
,
4
)
local
sg2
=
VgF
.
GetMatchingGroup
(
VgF
.
IsSequence
,
tp
,
0
,
LOCATION_CIRCLE
,
nil
,
0
,
1
)
local
sg2
=
VgF
.
GetMatchingGroup
(
Card
.
IsSequence
,
tp
,
0
,
LOCATION_CIRCLE
,
nil
,
0
,
1
)
if
sg1
:
GetCount
()
>
0
then
g
:
Merge
(
sg1
)
end
if
sg1
:
GetCount
()
>
0
then
g
:
Merge
(
sg1
)
end
if
sg2
:
GetCount
()
>
0
then
g
:
Merge
(
sg2
)
end
if
sg2
:
GetCount
()
>
0
then
g
:
Merge
(
sg2
)
end
end
end
if
c
:
GetSequence
()
==
4
then
if
c
:
GetSequence
()
==
4
then
local
sg1
=
VgF
.
GetMatchingGroup
(
VgF
.
IsSequence
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
,
3
)
local
sg1
=
VgF
.
GetMatchingGroup
(
Card
.
IsSequence
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
,
3
)
local
sg2
=
VgF
.
GetMatchingGroup
(
VgF
.
IsSequence
,
tp
,
0
,
LOCATION_CIRCLE
,
nil
,
0
,
1
)
local
sg2
=
VgF
.
GetMatchingGroup
(
Card
.
IsSequence
,
tp
,
0
,
LOCATION_CIRCLE
,
nil
,
0
,
1
)
if
sg1
:
GetCount
()
>
0
then
g
:
Merge
(
sg1
)
end
if
sg1
:
GetCount
()
>
0
then
g
:
Merge
(
sg1
)
end
if
sg2
:
GetCount
()
>
0
then
g
:
Merge
(
sg2
)
end
if
sg2
:
GetCount
()
>
0
then
g
:
Merge
(
sg2
)
end
end
end
if
c
:
GetSequence
()
==
5
then
if
c
:
GetSequence
()
==
5
then
local
sg1
=
VgF
.
GetMatchingGroup
(
VgF
.
IsSequence
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
,
2
)
local
sg1
=
VgF
.
GetMatchingGroup
(
Card
.
IsSequence
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
,
2
)
local
sg2
=
VgF
.
GetMatchingGroup
(
VgF
.
IsSequence
,
tp
,
0
,
LOCATION_CIRCLE
,
nil
,
2
,
5
)
local
sg2
=
VgF
.
GetMatchingGroup
(
Card
.
IsSequence
,
tp
,
0
,
LOCATION_CIRCLE
,
nil
,
2
,
5
)
if
sg1
:
GetCount
()
>
0
then
g
:
Merge
(
sg1
)
end
if
sg1
:
GetCount
()
>
0
then
g
:
Merge
(
sg1
)
end
if
sg2
:
GetCount
()
>
0
then
g
:
Merge
(
sg2
)
end
if
sg2
:
GetCount
()
>
0
then
g
:
Merge
(
sg2
)
end
end
end
return
g
return
g
end
end
function
VgF
.
GetAvailableLocation
(
tp
,
zone
)
local
z
if
zone
then
z
=
zone
else
z
=
0x1f
end
local
rg
=
Duel
.
GetMatchingGroup
(
Card
.
IsPosition
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
,
POS_FACEDOWN_ATTACK
)
for
tc
in
VgF
.
Next
(
rg
)
do
local
szone
=
VgF
.
SequenceToGlobal
(
tp
,
tc
:
GetLocation
(),
tc
:
GetSequence
())
z
=
bit
.
bxor
(
z
,
szone
)
end
return
z
end
---将g(中的每一张卡)Call到单位区。返回Call成功的数量。
---@param g Card|Group 要Call的卡(片组)
---@param sumtype number Call的方式,默认填0
---@param tp number Call的玩家
---@param zone number|nil 指示要Call到的格子。<br>前列的R:17; 后列的R:14; 全部的R:31; V:32
---@param pos number|nil 表示形式
---@return number Call成功的数量
function
VgF
.
Call
(
g
,
sumtype
,
tp
,
zone
,
pos
)
if
(
VgF
.
GetValueType
(
g
)
~=
"Card"
and
VgF
.
GetValueType
(
g
)
~=
"Group"
)
or
(
VgF
.
GetValueType
(
g
)
==
"Group"
and
g
:
GetCount
()
==
0
)
then
return
0
end
if
VgF
.
GetValueType
(
pos
)
~=
"number"
then
pos
=
POS_FACEUP_ATTACK
end
if
VgF
.
GetValueType
(
zone
)
==
"string"
and
zone
==
"NoMonster"
then
return
Duel
.
SpecialSummon
(
g
,
sumtype
,
tp
,
tp
,
false
,
false
,
pos
)
elseif
VgF
.
GetValueType
(
zone
)
==
"string"
and
zone
==
"FromOverlayToV"
then
local
tc
=
VgF
.
ReturnCard
(
g
)
if
not
VgF
.
IsCanBeCalled
(
tc
,
nil
,
tp
,
sumtype
,
pos
,
"FromOverlayToV"
)
then
return
0
end
VgF
.
Sendto
(
0
,
tc
,
tp
,
POS_FACEUP
,
REASON_EFFECT
)
local
_
,
code
=
tc
:
GetOriginalCode
()
local
c
=
Duel
.
CreateToken
(
tp
,
code
)
return
VgF
.
Call
(
c
,
sumtype
,
tp
,
0x20
,
pos
)
elseif
VgF
.
GetValueType
(
zone
)
==
"number"
and
zone
>
0
then
local
sc
=
VgF
.
ReturnCard
(
g
)
local
z
=
VgF
.
GetAvailableLocation
(
tp
,
zone
)
local
ct
=
bit
.
ReturnCount
(
z
)
local
szone
if
ct
>
1
then
z
=
bit
.
bnot
(
z
)
z
=
bit
.
bor
(
z
,
0xffffff00
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CallZONE
)
szone
=
Duel
.
SelectField
(
tp
,
1
,
LOCATION_CIRCLE
,
0
,
z
)
else
szone
=
z
end
if
szone
==
0x20
then
if
VgF
.
GetVMonster
(
tp
)
then
local
tc
=
VgF
.
GetVMonster
(
tp
)
local
mg
=
tc
:
GetOverlayGroup
()
if
mg
:
GetCount
()
~=
0
then
VgF
.
Sendto
(
LOCATION_SOUL
,
mg
,
sc
)
end
sc
:
SetMaterial
(
Group
.
FromCards
(
tc
))
VgF
.
Sendto
(
LOCATION_SOUL
,
Group
.
FromCards
(
tc
),
sc
)
end
elseif
VgF
.
IsExistingMatchingCard
(
VgD
.
CallFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
nil
,
tp
,
szone
)
then
local
tc
=
Duel
.
GetMatchingGroup
(
VgD
.
CallFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
,
tp
,
szone
):
GetFirst
()
if
bit
.
band
(
sumtype
,
SUMMON_VALUE_OVERDRESS
)
>
0
then
VgF
.
Sendto
(
LOCATION_SOUL
,
Group
.
FromCards
(
tc
),
sc
)
else
VgF
.
Sendto
(
LOCATION_DROP
,
tc
,
REASON_COST
)
end
end
return
Duel
.
SpecialSummon
(
sc
,
sumtype
,
tp
,
tp
,
false
,
false
,
pos
,
szone
)
else
local
sg
local
z
=
bit
.
bnot
(
VgF
.
GetAvailableLocation
(
tp
))
z
=
bit
.
bor
(
z
,
0xffffff00
)
if
VgF
.
GetValueType
(
g
)
==
"Card"
then
sg
=
Group
.
FromCards
(
g
)
else
sg
=
Group
.
Clone
(
g
)
end
for
sc
in
VgF
.
Next
(
sg
)
do
if
sc
:
IsLocation
(
LOCATION_RIDE
)
then
local
rc
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
):
GetFirst
()
local
mg
=
rc
:
GetOverlayGroup
()
if
mg
:
GetCount
()
~=
0
then
VgF
.
Sendto
(
LOCATION_SOUL
,
mg
,
sc
)
end
sc
:
SetMaterial
(
Group
.
FromCards
(
rc
))
VgF
.
Sendto
(
LOCATION_SOUL
,
Group
.
FromCards
(
rc
),
sc
)
Duel
.
SpecialSummonStep
(
sc
,
sumtype
,
tp
,
tp
,
false
,
false
,
pos
,
0x20
)
else
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CallZONE
)
local
szone
=
Duel
.
SelectField
(
tp
,
1
,
LOCATION_CIRCLE
,
0
,
z
)
if
VgF
.
IsExistingMatchingCard
(
VgD
.
CallFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
nil
,
tp
,
szone
)
then
local
tc
=
Duel
.
GetMatchingGroup
(
VgD
.
CallFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
,
tp
,
szone
):
GetFirst
()
VgF
.
Sendto
(
LOCATION_DROP
,
tc
,
REASON_COST
)
end
Duel
.
SpecialSummonStep
(
sc
,
sumtype
,
tp
,
tp
,
false
,
false
,
pos
,
szone
)
z
=
bit
.
bor
(
z
,
szone
)
end
end
return
Duel
.
SpecialSummonComplete
()
end
end
function
VgF
.
LvCondition
(
e_or_c
)
local
c
=
VgF
.
GetValueType
(
e_or_c
)
==
"Effect"
and
e_or_c
:
GetHandler
()
or
e_or_c
local
tp
,
lv
=
c
:
GetControler
(),
c
:
GetLevel
()
return
VgF
.
IsExistingMatchingCard
(
VgF
.
LvConditionFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
nil
,
lv
)
end
function
VgF
.
LvConditionFilter
(
c
,
lv
)
return
VgF
.
VMonsterFilter
(
c
)
and
c
:
IsLevelAbove
(
lv
)
end
---以c的名义,使g(中的每一张卡)的攻击力上升val,并在reset时重置。
---以c的名义,使g(中的每一张卡)的攻击力上升val,并在reset时重置。
---@param c Card 要使卡上升攻击力的卡
---@param c Card 要使卡上升攻击力的卡
---@param g Card|Group 要被上升攻击力的卡
---@param g Card|Group 要被上升攻击力的卡
...
@@ -463,7 +317,7 @@ function VgF.DefUp(c, g, val, reset, resetcount)
...
@@ -463,7 +317,7 @@ function VgF.DefUp(c, g, val, reset, resetcount)
end
end
---以c的名义,使g(中的每一张卡)的☆上升val,并在reset时重置。
---以c的名义,使g(中的每一张卡)的☆上升val,并在reset时重置。
---@param c Card 要使卡上升☆的卡
---@param c Card 要使卡上升☆的卡
---@param g Card|Group 要被上升☆的卡
---@param g Card|Group 要被上升☆的卡
---@param val number|string 要上升的☆(可以为负)
---@param val number|string 要上升的☆(可以为负)
---@param reset number|nil 指示重置的时点,默认为“回合结束时”。无论如何,都会在离场时重置。
---@param reset number|nil 指示重置的时点,默认为“回合结束时”。无论如何,都会在离场时重置。
function
VgF
.
StarUp
(
c
,
g
,
val
,
reset
,
resetcount
)
function
VgF
.
StarUp
(
c
,
g
,
val
,
reset
,
resetcount
)
...
@@ -567,11 +421,133 @@ function VgF.IsAbleToGCircle(c)
...
@@ -567,11 +421,133 @@ function VgF.IsAbleToGCircle(c)
if
Duel
.
IsPlayerAffectedByEffect
(
c
:
GetControler
(),
AFFECT_CODE_DEFENDER_CANNOT_TO_G_CIRCLE
)
and
c
:
GetBaseDefense
()
==
0
then
return
false
end
if
Duel
.
IsPlayerAffectedByEffect
(
c
:
GetControler
(),
AFFECT_CODE_DEFENDER_CANNOT_TO_G_CIRCLE
)
and
c
:
GetBaseDefense
()
==
0
then
return
false
end
return
c
:
IsType
(
TYPE_UNIT
)
return
c
:
IsType
(
TYPE_UNIT
)
elseif
c
:
IsLocation
(
LOCATION_CIRCLE
)
then
elseif
c
:
IsLocation
(
LOCATION_CIRCLE
)
then
return
c
:
IsSkill
(
SKILL_INTERCEPT
)
and
VgF
.
IsSequence
(
c
,
0
,
4
)
and
c
:
IsLocation
(
LOCATION_CIRCLE
)
and
c
:
IsFaceup
()
return
c
:
IsSkill
(
SKILL_INTERCEPT
)
and
Card
.
IsSequence
(
c
,
0
,
4
)
and
c
:
IsLocation
(
LOCATION_CIRCLE
)
and
c
:
IsFaceup
()
end
end
return
false
return
false
end
end
--Effect类函数-------------------------------------------------------------------------------
VgF
.
Effect
.
Damage
=
nil
function
VgF
.
Effect
.
Reset
(
c
,
e
,
code
,
con
)
if
VgF
.
GetValueType
(
e
)
==
"Effect"
then
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_SET
)
e1
:
SetCode
(
code
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetRange
(
LOCATION_ALL
)
e1
:
SetLabelObject
(
e
)
if
VgF
.
GetValueType
(
con
)
==
"function"
then
e1
:
SetCondition
(
con
)
end
e1
:
SetOperation
(
VgF
.
Effect
.
ResetOperation
)
c
:
RegisterEffect
(
e1
)
elseif
VgF
.
GetValueType
(
e
)
==
"table"
then
for
i
,
v
in
ipairs
(
e
)
do
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_SET
)
e1
:
SetCode
(
code
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetRange
(
LOCATION_ALL
)
e1
:
SetLabelObject
(
v
)
if
VgF
.
GetValueType
(
con
)
==
"function"
then
e1
:
SetCondition
(
con
)
end
e1
:
SetOperation
(
VgF
.
Effect
.
ResetOperation
)
c
:
RegisterEffect
(
e1
)
end
end
end
function
VgF
.
Effect
.
ResetOperation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
e1
=
e
:
GetLabelObject
()
if
VgF
.
GetValueType
(
e1
)
==
"Effect"
then
e1
:
Reset
()
end
e
:
Reset
()
end
--Filter函数---------------------------------------------------------------------------------------
---返回c是不是先导者。
---@param c Card 要判断的卡
---@return boolean 指示是否是先导者
function
VgF
.
Filter
.
IsV
(
c
)
return
Card
.
IsSequence
(
c
,
5
)
end
---返回c是不是后防者。
---@param c Card 要判断的卡
---@return boolean 指示是否是后防者
function
VgF
.
Filter
.
IsR
(
c
)
return
c
:
GetSequence
()
<
5
end
function
VgF
.
Filter
.
RideOnVCircle
(
c
)
return
c
:
IsSummonType
(
SUMMON_TYPE_RIDE
)
or
c
:
IsSummonType
(
SUMMON_TYPE_SELFRIDE
)
end
function
VgF
.
Filter
.
RideOnRCircle
(
c
)
return
not
VgF
.
Filter
.
RideOnVCircle
(
c
)
end
---判断c是否在前列。
---@param c Card 要判断的卡
---@return boolean 指示c是否是前列的单位
function
VgF
.
Filter
.
Front
(
c
)
return
Card
.
IsSequence
(
c
,
0
,
4
,
5
)
and
c
:
IsLocation
(
LOCATION_CIRCLE
)
end
---判断c是否在后列。
---@param c Card 要判断的卡
---@return boolean 指示c是否是后列的单位
function
VgF
.
Filter
.
Back
(
c
)
return
Card
.
IsSequence
(
c
,
1
,
2
,
3
)
and
c
:
IsLocation
(
LOCATION_CIRCLE
)
end
--Condition函数------------------------------------------------------------------------------------
function
VgF
.
Condition
.
FirstCard
(
e
)
local
tp
=
e
:
GetHandlerPlayer
()
local
g
=
Duel
.
GetMatchingGroup
(
nil
,
tp
,
LOCATION_ALL
,
0
,
nil
)
return
e
:
GetHandler
()
==
g
:
GetFirst
()
end
function
VgF
.
Condition
.
FirstTurn
(
e
)
local
tp
=
e
:
GetHandlerPlayer
()
local
a
=
Duel
.
GetTurnCount
(
tp
)
local
b
=
Duel
.
GetTurnCount
(
1
-
tp
)
return
a
+
b
==
1
end
function
VgF
.
Condition
.
Level
(
e_or_c
)
local
c
=
VgF
.
GetValueType
(
e_or_c
)
==
"Effect"
and
e_or_c
:
GetHandler
()
or
e_or_c
local
tp
,
lv
=
c
:
GetControler
(),
c
:
GetLevel
()
return
VgF
.
IsExistingMatchingCard
(
function
(
tc
)
return
VgF
.
Filter
.
IsV
(
tc
)
and
tc
:
IsLevelAbove
(
lv
)
end
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
nil
)
end
---用于效果的Condition,判断e是否以后防者发动。
---@param e Effect
---@return boolean
function
VgF
.
Condition
.
IsR
(
e
)
return
VgF
.
Filter
.
IsR
(
e
:
GetHandler
())
end
---用于效果的Condition,判断e是否以先导者发动。
---@param e Effect
---@return boolean
function
VgF
.
Condition
.
IsV
(
e
)
return
VgF
.
Filter
.
IsV
(
e
:
GetHandler
())
end
function
VgF
.
Condition
.
RideOnVCircle
(
e
)
local
c
=
e
:
GetHandler
()
return
VgF
.
Filter
.
RideOnVCircle
(
c
)
end
function
VgF
.
Condition
.
RideOnRCircle
(
e
)
return
not
VgF
.
Condition
.
RideOnVCircle
(
e
)
end
---用于效果的Condition,判断对玩家效果e是否受影响于零之命运者。
---@return boolean
function
VgF
.
Condition
.
PlayerEffect
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
true
end
--Cost函数----------------------------------------------------------------------------------------
--Cost函数----------------------------------------------------------------------------------------
---用于效果的Cost。执行“[将这个单位放置到灵魂里]”的函数。
---用于效果的Cost。执行“[将这个单位放置到灵魂里]”的函数。
...
@@ -607,11 +583,7 @@ function VgF.Cost.Discard(val)
...
@@ -607,11 +583,7 @@ function VgF.Cost.Discard(val)
local
m
=
c
:
GetOriginalCode
()
local
m
=
c
:
GetOriginalCode
()
if
chk
==
0
then
if
chk
==
0
then
if
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
then
if
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
then
VgF
.
AddAlchemagicFrom
(
c
,
m
,
"LOCATION_HAND"
)
VgF
.
AddAlchemagic
(
m
,
"LOCATION_HAND"
,
"LOCATION_DROP"
,
val
,
val
)
VgF
.
AddAlchemagicTo
(
c
,
m
,
"LOCATION_DROP"
)
VgF
.
AddAlchemagicFilter
(
c
,
m
,
nil
)
VgF
.
AddAlchemagicCountMin
(
c
,
m
,
val
)
VgF
.
AddAlchemagicCountMax
(
c
,
m
,
val
)
end
end
return
VgF
.
IsExistingMatchingCard
(
nil
,
tp
,
LOCATION_HAND
,
0
,
val
,
nil
)
return
VgF
.
IsExistingMatchingCard
(
nil
,
tp
,
LOCATION_HAND
,
0
,
val
,
nil
)
end
end
...
@@ -630,11 +602,7 @@ function VgF.Cost.EnergyBlast(val)
...
@@ -630,11 +602,7 @@ function VgF.Cost.EnergyBlast(val)
local
m
=
c
:
GetOriginalCode
()
local
m
=
c
:
GetOriginalCode
()
if
chk
==
0
then
if
chk
==
0
then
if
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
then
if
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
then
VgF
.
AddAlchemagicFrom
(
c
,
m
,
"LOCATION_CREST"
)
VgF
.
AddAlchemagic
(
m
,
"LOCATION_CREST"
,
"0"
,
val
,
val
,
function
(
tc
)
tc
:
IsCode
(
CARD_ENERGY
)
end
)
VgF
.
AddAlchemagicTo
(
c
,
m
,
"0"
)
VgF
.
AddAlchemagicFilter
(
c
,
m
,
function
(
tc
)
tc
:
IsCode
(
CARD_ENERGY
)
end
)
VgF
.
AddAlchemagicCountMin
(
c
,
m
,
val
)
VgF
.
AddAlchemagicCountMax
(
c
,
m
,
val
)
end
end
return
VgF
.
IsExistingMatchingCard
(
Card
.
IsCode
,
tp
,
LOCATION_CREST
,
0
,
val
,
nil
,
CARD_ENERGY
)
return
VgF
.
IsExistingMatchingCard
(
Card
.
IsCode
,
tp
,
LOCATION_CREST
,
0
,
val
,
nil
,
CARD_ENERGY
)
end
end
...
@@ -653,16 +621,12 @@ function VgF.Cost.SoulBlast(val)
...
@@ -653,16 +621,12 @@ function VgF.Cost.SoulBlast(val)
local
m
=
c
:
GetOriginalCode
()
local
m
=
c
:
GetOriginalCode
()
if
chk
==
0
then
if
chk
==
0
then
if
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
then
if
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
then
VgF
.
AddAlchemagicFrom
(
c
,
m
,
"LOCATION_SOUL"
)
VgF
.
AddAlchemagic
(
m
,
"LOCATION_SOUL"
,
"LOCATION_DROP"
,
val
,
val
)
VgF
.
AddAlchemagicTo
(
c
,
m
,
"LOCATION_DROP"
)
VgF
.
AddAlchemagicFilter
(
c
,
m
,
nil
)
VgF
.
AddAlchemagicCountMin
(
c
,
m
,
val
)
VgF
.
AddAlchemagicCountMax
(
c
,
m
,
val
)
end
end
return
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
,
nil
):
GetFirst
():
GetOverlayCount
()
>=
val
return
Duel
.
GetMatchingGroup
(
VgF
.
Filter
.
IsV
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
,
nil
):
GetFirst
():
GetOverlayCount
()
>=
val
end
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVEXYZ
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVEXYZ
)
local
g
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
):
GetFirst
():
GetOverlayGroup
():
Select
(
tp
,
nil
,
val
,
val
,
nil
)
local
g
=
Duel
.
GetMatchingGroup
(
VgF
.
Filter
.
IsV
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
):
GetFirst
():
GetOverlayGroup
():
Select
(
tp
,
nil
,
val
,
val
,
nil
)
return
VgF
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_COST
)
return
VgF
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_COST
)
end
end
end
end
...
@@ -677,11 +641,7 @@ function VgF.Cost.CounterBlast(val)
...
@@ -677,11 +641,7 @@ function VgF.Cost.CounterBlast(val)
local
m
=
c
:
GetOriginalCode
()
local
m
=
c
:
GetOriginalCode
()
if
chk
==
0
then
if
chk
==
0
then
if
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
then
if
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
then
VgF
.
AddAlchemagicFrom
(
c
,
m
,
"LOCATION_DAMAGE"
)
VgF
.
AddAlchemagic
(
m
,
"LOCATION_DAMAGE"
,
"POSCHANGE"
,
val
,
val
,
Card
.
IsFaceup
)
VgF
.
AddAlchemagicTo
(
c
,
m
,
"POSCHANGE"
)
VgF
.
AddAlchemagicFilter
(
c
,
m
,
Card
.
IsFaceup
)
VgF
.
AddAlchemagicCountMin
(
c
,
m
,
val
)
VgF
.
AddAlchemagicCountMax
(
c
,
m
,
val
)
end
end
return
VgF
.
IsExistingMatchingCard
(
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
val
,
nil
)
return
VgF
.
IsExistingMatchingCard
(
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
val
,
nil
)
end
end
...
@@ -759,7 +719,7 @@ function VgF.IsCanBeCalled(c, e, tp, sumtype, pos, zone)
...
@@ -759,7 +719,7 @@ function VgF.IsCanBeCalled(c, e, tp, sumtype, pos, zone)
else
z
=
VgF
.
GetAvailableLocation
(
tp
)
zone
=
0xff
end
else
z
=
VgF
.
GetAvailableLocation
(
tp
)
zone
=
0xff
end
if
VgF
.
GetValueType
(
sumtype
)
~=
"number"
then
sumtype
=
0
end
if
VgF
.
GetValueType
(
sumtype
)
~=
"number"
then
sumtype
=
0
end
if
VgF
.
GetValueType
(
pos
)
~=
"number"
then
pos
=
POS_FACEUP_ATTACK
end
if
VgF
.
GetValueType
(
pos
)
~=
"number"
then
pos
=
POS_FACEUP_ATTACK
end
if
VgF
.
GetValueType
(
zone
)
==
"string"
and
zone
==
"From
OverlayT
oV"
then
if
VgF
.
GetValueType
(
zone
)
==
"string"
and
zone
==
"From
Soul
oV"
then
local
_
,
code
=
c
:
GetOriginalCode
()
local
_
,
code
=
c
:
GetOriginalCode
()
return
Duel
.
IsPlayerCanSpecialSummonMonster
(
tp
,
code
,
nil
,
TYPE_UNIT
+
TYPE_NORMAL
,
c
:
GetBaseAttack
(),
c
:
GetBaseDefense
(),
c
:
GetOriginalLevel
(),
c
:
GetOriginalRace
(),
c
:
GetOriginalAttribute
())
return
Duel
.
IsPlayerCanSpecialSummonMonster
(
tp
,
code
,
nil
,
TYPE_UNIT
+
TYPE_NORMAL
,
c
:
GetBaseAttack
(),
c
:
GetBaseDefense
(),
c
:
GetOriginalLevel
(),
c
:
GetOriginalRace
(),
c
:
GetOriginalAttribute
())
end
end
...
@@ -800,15 +760,11 @@ function VgF.Operation.SoulCharge(val)
...
@@ -800,15 +760,11 @@ function VgF.Operation.SoulCharge(val)
local
m
=
c
:
GetOriginalCode
()
local
m
=
c
:
GetOriginalCode
()
if
chk
==
0
then
if
chk
==
0
then
if
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
then
if
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
then
VgF
.
AddAlchemagicFrom
(
c
,
m
,
"LOCATION_DECK"
)
VgF
.
AddAlchemagic
(
m
,
"LOCATION_DECK"
,
"LOCATION_SOUL"
,
val
,
val
)
VgF
.
AddAlchemagicTo
(
c
,
m
,
"LOCATION_SOUL"
)
VgF
.
AddAlchemagicFilter
(
c
,
m
,
nil
)
VgF
.
AddAlchemagicCountMin
(
c
,
m
,
val
)
VgF
.
AddAlchemagicCountMax
(
c
,
m
,
val
)
end
end
return
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_DECK
,
0
)
>=
val
return
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_DECK
,
0
)
>=
val
end
end
local
rc
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
):
GetFirst
()
local
rc
=
Duel
.
GetMatchingGroup
(
VgF
.
Filter
.
IsV
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
):
GetFirst
()
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
val
)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
val
)
Duel
.
DisableShuffleCheck
()
Duel
.
DisableShuffleCheck
()
Duel
.
RaiseEvent
(
g
,
EVENT_CUSTOM
+
EVENT_OVERLAY_FILL
,
e
,
0
,
tp
,
tp
,
val
)
Duel
.
RaiseEvent
(
g
,
EVENT_CUSTOM
+
EVENT_OVERLAY_FILL
,
e
,
0
,
tp
,
tp
,
val
)
...
@@ -867,7 +823,7 @@ function VgF.Operation.CardsFromTo(reason ,loc_to, loc_from, f, int_max, int_min
...
@@ -867,7 +823,7 @@ function VgF.Operation.CardsFromTo(reason ,loc_to, loc_from, f, int_max, int_min
return
VgF
.
GetValueType
(
f
)
~=
"function"
or
f
(
c
,
table.unpack
(
ext_params
))
return
VgF
.
GetValueType
(
f
)
~=
"function"
or
f
(
c
,
table.unpack
(
ext_params
))
end
,
tp
,
loc_from
,
0
,
int_min
,
int_max
,
nil
)
end
,
tp
,
loc_from
,
0
,
int_min
,
int_max
,
nil
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
if
loc_from
==
LOCATION_SOUL
then
return
VgF
.
Sendto
(
loc_to
,
g
,
0
,
tp
,
"From
OverlayT
oV"
)
if
loc_from
==
LOCATION_SOUL
then
return
VgF
.
Sendto
(
loc_to
,
g
,
0
,
tp
,
"From
Soul
oV"
)
else
return
VgF
.
Sendto
(
loc_to
,
g
,
0
,
tp
,
0x20
)
else
return
VgF
.
Sendto
(
loc_to
,
g
,
0
,
tp
,
0x20
)
end
end
end
end
...
@@ -921,6 +877,48 @@ function VgF.Operation.CardsFromTo(reason ,loc_to, loc_from, f, int_max, int_min
...
@@ -921,6 +877,48 @@ function VgF.Operation.CardsFromTo(reason ,loc_to, loc_from, f, int_max, int_min
end
end
end
end
---效果伤害的operation函数
---@param val number 伤害的数值
---@param p number 受伤的玩家
function
VgF
.
Operation
.
Damage
(
val
,
p
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
c
:
RegisterFlagEffect
(
FLAG_DAMAGE_TRIGGER
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
,
val
-
1
)
Duel
.
RegisterFlagEffect
(
p
,
FLAG_EFFECT_DAMAGE
,
0
,
0
,
1
)
VgD
.
Trigger
(
e
,
p
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_F
)
e1
:
SetCode
(
EVENT_CUSTOM
+
EVENT_TRIGGER
)
e1
:
SetRange
(
LOCATION_ALL
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetCondition
(
function
(
te
,
ttp
,
teg
,
tep
,
tev
,
tre
,
tr
,
trp
)
return
Duel
.
GetFlagEffect
(
p
,
FLAG_EFFECT_DAMAGE
)
>
0
end
)
e1
:
SetOperation
(
VgD
.
Trigger
)
c
:
RegisterEffect
(
e1
)
if
VgF
.
GetValueType
(
VgF
.
Effect
.
Damage
)
==
"Effect"
then
VgF
.
Effect
.
Damage
:
Reset
()
VgF
.
Effect
.
Damage
=
nil
end
VgF
.
Effect
.
Damage
=
e1
end
end
--Card库自定义函数-----------------------------------------------------------------------
---判断c是否在当前区域的某(几)个编号上
---@param c Card 要判断的卡
---@param ... number 编号
---@return boolean 指示是否在给定编号上
function
Card
.
IsSequence
(
c
,
...
)
for
i
,
v
in
ipairs
{
...
}
do
if
c
:
GetSequence
()
==
v
then
return
true
end
end
return
false
end
function
Card
.
IsSkill
(
c
,
skill
)
function
Card
.
IsSkill
(
c
,
skill
)
return
c
:
IsAttribute
(
skill
)
return
c
:
IsAttribute
(
skill
)
end
end
...
@@ -929,6 +927,8 @@ function Card.IsTrigger(c, skill)
...
@@ -929,6 +927,8 @@ function Card.IsTrigger(c, skill)
return
c
:
IsRace
(
skill
)
return
c
:
IsRace
(
skill
)
end
end
--Group库自定义函数-----------------------------------------------------------------------
function
Group
.
ForEach
(
g
,
f
,
...
)
function
Group
.
ForEach
(
g
,
f
,
...
)
local
ext_params
=
{
...
}
local
ext_params
=
{
...
}
if
#
g
==
0
then
return
end
if
#
g
==
0
then
return
end
...
@@ -1056,69 +1056,35 @@ function Group.SelectDoubleSubGroup(g, p, f1, int_min1, int_max1, f2, int_min2,
...
@@ -1056,69 +1056,35 @@ function Group.SelectDoubleSubGroup(g, p, f1, int_min1, int_max1, f2, int_min2,
result
=
Group
.
__add
(
result1
,
result2
)
result
=
Group
.
__add
(
result1
,
result2
)
return
result
return
result
end
end
--Other--------------------------------------------------------------------------------------
---返回p场上的先导者。
---返回p场上的先导者。
---@param p number 要获取先导者的玩家。不合法则返回nil。
---@param p number 要获取先导者的玩家。不合法则返回nil。
---@return Card|nil p场上的先导者
---@return Card|nil p场上的先导者
function
VgF
.
GetVMonster
(
p
)
function
VgF
.
GetVMonster
(
p
)
if
p
~=
0
and
p
~=
1
then
return
end
if
p
~=
0
and
p
~=
1
then
return
end
return
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
p
,
LOCATION_CIRCLE
,
0
,
nil
):
GetFirst
()
return
Duel
.
GetMatchingGroup
(
VgF
.
Filter
.
IsV
,
p
,
LOCATION_CIRCLE
,
0
,
nil
):
GetFirst
()
end
---判断c是否在前列。
---@param c Card 要判断的卡
---@return boolean 指示c是否是前列的单位
function
VgF
.
FrontFilter
(
c
)
return
vgf
.
IsSequence
(
c
,
0
,
4
,
5
)
and
c
:
IsLocation
(
LOCATION_CIRCLE
)
end
---判断c是否在后列。
---@param c Card 要判断的卡
---@return boolean 指示c是否是后列的单位
function
VgF
.
BackFilter
(
c
)
return
vgf
.
IsSequence
(
c
,
1
,
2
,
3
)
and
c
:
IsLocation
(
LOCATION_CIRCLE
)
end
function
VgF
.
PrisonFilter
(
c
,
ct
)
return
c
:
GetSequence
()
==
ct
-
1
end
end
---收容g(中的每一张卡)到p的监狱。没有监狱时,不操作。
---收容g(中的每一张卡)到p的监狱。没有监狱时,不操作。
---@param g Card|Group
---@param g Card|Group
---@param p number
---@param p number
function
VgF
.
SendtoPrison
(
g
,
p
)
function
VgF
.
SendtoPrison
(
g
,
p
)
if
not
VgF
.
CheckPrison
(
p
)
or
not
g
then
return
end
if
not
VgF
.
CheckPrison
(
p
)
or
not
g
then
return
end
local
og
=
Duel
.
GetFieldGroup
(
p
,
LOCATION_ORDER
,
0
)
local
og
=
Duel
.
GetFieldGroup
(
p
,
LOCATION_ORDER
,
0
)
local
oc
=
og
:
Filter
(
VgF
.
PrisonFilter
,
nil
,
og
:
GetCount
()
):
GetFirst
()
local
oc
=
og
:
Filter
(
Card
.
IsSequence
,
nil
,
og
:
GetCount
()
-
1
):
GetFirst
()
if
VgF
.
GetValueType
(
g
)
==
"Card"
then
if
VgF
.
GetValueType
(
g
)
==
"Card"
then
VgF
.
Sendto
(
LOCATION_ORDER
,
g
,
p
,
POS_FACEUP_ATTACK
,
REASON_EFFECT
)
VgF
.
Sendto
(
LOCATION_ORDER
,
g
,
p
,
POS_FACEUP_ATTACK
,
REASON_EFFECT
,
oc
:
GetSequence
()
-
1
)
g
:
RegisterFlagEffect
(
FLAG_IMPRISON
,
RESET_EVENT
+
RESETS_STANDARD
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
0
,
VgF
.
Stringid
(
10105015
,
0
))
g
:
RegisterFlagEffect
(
FLAG_IMPRISON
,
RESET_EVENT
+
RESETS_STANDARD
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
0
,
VgF
.
Stringid
(
10105015
,
0
))
elseif
VgF
.
GetValueType
(
g
)
==
"Group"
then
elseif
VgF
.
GetValueType
(
g
)
==
"Group"
then
for
tc
in
VgF
.
Next
(
g
)
do
for
tc
in
VgF
.
Next
(
g
)
do
VgF
.
Sendto
(
LOCATION_ORDER
,
tc
,
p
,
POS_FACEUP_ATTACK
,
REASON_EFFECT
)
VgF
.
Sendto
(
LOCATION_ORDER
,
tc
,
p
,
POS_FACEUP_ATTACK
,
REASON_EFFECT
,
oc
:
GetSequence
()
-
1
)
tc
:
RegisterFlagEffect
(
FLAG_IMPRISON
,
RESET_EVENT
+
RESETS_STANDARD
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
0
,
VgF
.
Stringid
(
10105015
,
0
))
tc
:
RegisterFlagEffect
(
FLAG_IMPRISON
,
RESET_EVENT
+
RESETS_STANDARD
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
0
,
VgF
.
Stringid
(
10105015
,
0
))
end
end
end
end
Duel
.
MoveSequence
(
oc
,
og
:
GetCount
()
-
1
)
end
--[[
function VgF.PrisonFilter(c, tp)
return c:IsSetCard(0x3040) and not VgF.IsExistingMatchingCard(function (tc)
return tc:GetSequence() < c:GetSequence()
end, tp, LOCATION_ORDER, 0, 1, c)
end
end
---收容g(中的每一张卡)到p的监狱。没有监狱时,不操作。
---@param g Card|Group
---@param p number
function VgF.SendtoPrison(g, p)
if not VgF.CheckPrison(p) or not g then return end
local og = Duel.GetFieldGroup(p, LOCATION_ORDER, 0)
local oc = og:Filter(VgF.PrisonFilter, nil, p):GetFirst()
if VgF.GetValueType(g) == "Card" then
Duel.Sendto(g, p, LOCATION_ORDER, POS_FACEUP_ATTACK, REASON_EFFECT, 1)
g:RegisterFlagEffect(FLAG_IMPRISON, RESET_EVENT + RESETS_STANDARD, EFFECT_FLAG_CLIENT_HINT, 1, 0, VgF.Stringid(10105015, 0))
elseif VgF.GetValueType(g) == "Group" then
for tc in VgF.Next(g) do
Duel.Sendto(tc, p, LOCATION_ORDER, POS_FACEUP_ATTACK, REASON_EFFECT, 1)
tc:RegisterFlagEffect(FLAG_IMPRISON, RESET_EVENT + RESETS_STANDARD, EFFECT_FLAG_CLIENT_HINT, 1, 0, VgF.Stringid(10105015, 0))
end
end
end]]
---检测p场上有没有监狱。
---检测p场上有没有监狱。
---@param p number
---@param p number
---@return boolean 指示p场上有没有监狱。
---@return boolean 指示p场上有没有监狱。
...
@@ -1126,37 +1092,7 @@ function VgF.CheckPrison(p)
...
@@ -1126,37 +1092,7 @@ function VgF.CheckPrison(p)
local
og
=
Duel
.
GetFieldGroup
(
p
,
LOCATION_ORDER
,
0
)
local
og
=
Duel
.
GetFieldGroup
(
p
,
LOCATION_ORDER
,
0
)
return
og
:
IsExists
(
Card
.
IsSetCard
,
1
,
nil
,
0x3040
)
return
og
:
IsExists
(
Card
.
IsSetCard
,
1
,
nil
,
0x3040
)
end
end
--重置Effect
function
VgF
.
EffectReset
(
c
,
e
,
code
,
con
)
if
VgF
.
GetValueType
(
e
)
==
"Effect"
then
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_SET
)
e1
:
SetCode
(
code
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetRange
(
LOCATION_ALL
)
e1
:
SetLabelObject
(
e
)
if
VgF
.
GetValueType
(
con
)
==
"function"
then
e1
:
SetCondition
(
con
)
end
e1
:
SetOperation
(
VgF
.
EffectResetOperation
)
c
:
RegisterEffect
(
e1
)
elseif
VgF
.
GetValueType
(
e
)
==
"table"
then
for
i
,
v
in
ipairs
(
e
)
do
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_SET
)
e1
:
SetCode
(
code
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetRange
(
LOCATION_ALL
)
e1
:
SetLabelObject
(
v
)
if
VgF
.
GetValueType
(
con
)
==
"function"
then
e1
:
SetCondition
(
con
)
end
e1
:
SetOperation
(
VgF
.
EffectResetOperation
)
c
:
RegisterEffect
(
e1
)
end
end
end
function
VgF
.
EffectResetOperation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
e1
=
e
:
GetLabelObject
()
if
VgF
.
GetValueType
(
e1
)
==
"Effect"
then
e1
:
Reset
()
end
e
:
Reset
()
end
function
VgF
.
IsExistingMatchingCard
(
f
,
tp
,
loc_self
,
loc_op
,
int
,
except_g
,
...
)
function
VgF
.
IsExistingMatchingCard
(
f
,
tp
,
loc_self
,
loc_op
,
int
,
except_g
,
...
)
return
VgF
.
GetMatchingGroupCount
(
f
,
tp
,
loc_self
,
loc_op
,
except_g
,
...
)
>=
int
return
VgF
.
GetMatchingGroupCount
(
f
,
tp
,
loc_self
,
loc_op
,
except_g
,
...
)
>=
int
end
end
...
@@ -1178,13 +1114,13 @@ function VgF.SelectMatchingCard(hintmsg, e, select_tp, f, tp, loc_self, loc_op,
...
@@ -1178,13 +1114,13 @@ function VgF.SelectMatchingCard(hintmsg, e, select_tp, f, tp, loc_self, loc_op,
end
end
elseif
bit
.
band
(
loc_self
,
LOCATION_V_CIRCLE
)
>
0
then
elseif
bit
.
band
(
loc_self
,
LOCATION_V_CIRCLE
)
>
0
then
loc_self
=
loc_self
-
LOCATION_V_CIRCLE
loc_self
=
loc_self
-
LOCATION_V_CIRCLE
loc_self_f
=
VgF
.
VMonsterFilter
loc_self_f
=
VgF
.
Filter
.
IsV
if
bit
.
band
(
loc_self
,
LOCATION_CIRCLE
)
==
0
then
if
bit
.
band
(
loc_self
,
LOCATION_CIRCLE
)
==
0
then
loc_self
=
loc_self
+
LOCATION_CIRCLE
loc_self
=
loc_self
+
LOCATION_CIRCLE
end
end
elseif
bit
.
band
(
loc_self
,
LOCATION_R_CIRCLE
)
>
0
then
elseif
bit
.
band
(
loc_self
,
LOCATION_R_CIRCLE
)
>
0
then
loc_self
=
loc_self
-
LOCATION_R_CIRCLE
loc_self
=
loc_self
-
LOCATION_R_CIRCLE
loc_self_f
=
VgF
.
RMonsterFilter
loc_self_f
=
VgF
.
Filter
.
IsR
if
bit
.
band
(
loc_self
,
LOCATION_CIRCLE
)
==
0
then
if
bit
.
band
(
loc_self
,
LOCATION_CIRCLE
)
==
0
then
loc_self
=
loc_self
+
LOCATION_CIRCLE
loc_self
=
loc_self
+
LOCATION_CIRCLE
end
end
...
@@ -1196,13 +1132,13 @@ function VgF.SelectMatchingCard(hintmsg, e, select_tp, f, tp, loc_self, loc_op,
...
@@ -1196,13 +1132,13 @@ function VgF.SelectMatchingCard(hintmsg, e, select_tp, f, tp, loc_self, loc_op,
end
end
elseif
bit
.
band
(
loc_op
,
LOCATION_V_CIRCLE
)
>
0
then
elseif
bit
.
band
(
loc_op
,
LOCATION_V_CIRCLE
)
>
0
then
loc_op
=
loc_op
-
LOCATION_V_CIRCLE
loc_op
=
loc_op
-
LOCATION_V_CIRCLE
loc_op_f
=
VgF
.
VMonsterFilter
loc_op_f
=
VgF
.
Filter
.
IsV
if
bit
.
band
(
loc_op
,
LOCATION_CIRCLE
)
==
0
then
if
bit
.
band
(
loc_op
,
LOCATION_CIRCLE
)
==
0
then
loc_op
=
loc_op
+
LOCATION_CIRCLE
loc_op
=
loc_op
+
LOCATION_CIRCLE
end
end
elseif
bit
.
band
(
loc_op
,
LOCATION_R_CIRCLE
)
>
0
then
elseif
bit
.
band
(
loc_op
,
LOCATION_R_CIRCLE
)
>
0
then
loc_op
=
loc_op
-
LOCATION_R_CIRCLE
loc_op
=
loc_op
-
LOCATION_R_CIRCLE
loc_op_f
=
VgF
.
RMonsterFilter
loc_op_f
=
VgF
.
Filter
.
IsR
if
bit
.
band
(
loc_op
,
LOCATION_CIRCLE
)
==
0
then
if
bit
.
band
(
loc_op
,
LOCATION_CIRCLE
)
==
0
then
loc_op
=
loc_op
+
LOCATION_CIRCLE
loc_op
=
loc_op
+
LOCATION_CIRCLE
end
end
...
@@ -1266,13 +1202,13 @@ function VgF.GetMatchingGroup(f, tp, loc_self, loc_op, except_g, ...)
...
@@ -1266,13 +1202,13 @@ function VgF.GetMatchingGroup(f, tp, loc_self, loc_op, except_g, ...)
end
end
elseif
bit
.
band
(
loc_self
,
LOCATION_V_CIRCLE
)
>
0
then
elseif
bit
.
band
(
loc_self
,
LOCATION_V_CIRCLE
)
>
0
then
loc_self
=
loc_self
-
LOCATION_V_CIRCLE
loc_self
=
loc_self
-
LOCATION_V_CIRCLE
loc_self_f
=
VgF
.
VMonsterFilter
loc_self_f
=
VgF
.
Filter
.
IsV
if
bit
.
band
(
loc_self
,
LOCATION_CIRCLE
)
==
0
then
if
bit
.
band
(
loc_self
,
LOCATION_CIRCLE
)
==
0
then
loc_self
=
loc_self
+
LOCATION_CIRCLE
loc_self
=
loc_self
+
LOCATION_CIRCLE
end
end
elseif
bit
.
band
(
loc_self
,
LOCATION_R_CIRCLE
)
>
0
then
elseif
bit
.
band
(
loc_self
,
LOCATION_R_CIRCLE
)
>
0
then
loc_self
=
loc_self
-
LOCATION_R_CIRCLE
loc_self
=
loc_self
-
LOCATION_R_CIRCLE
loc_self_f
=
VgF
.
RMonsterFilter
loc_self_f
=
VgF
.
Filter
.
IsR
if
bit
.
band
(
loc_self
,
LOCATION_CIRCLE
)
==
0
then
if
bit
.
band
(
loc_self
,
LOCATION_CIRCLE
)
==
0
then
loc_self
=
loc_self
+
LOCATION_CIRCLE
loc_self
=
loc_self
+
LOCATION_CIRCLE
end
end
...
@@ -1284,13 +1220,13 @@ function VgF.GetMatchingGroup(f, tp, loc_self, loc_op, except_g, ...)
...
@@ -1284,13 +1220,13 @@ function VgF.GetMatchingGroup(f, tp, loc_self, loc_op, except_g, ...)
end
end
elseif
bit
.
band
(
loc_op
,
LOCATION_V_CIRCLE
)
>
0
then
elseif
bit
.
band
(
loc_op
,
LOCATION_V_CIRCLE
)
>
0
then
loc_op
=
loc_op
-
LOCATION_V_CIRCLE
loc_op
=
loc_op
-
LOCATION_V_CIRCLE
loc_op_f
=
VgF
.
VMonsterFilter
loc_op_f
=
VgF
.
Filter
.
IsV
if
bit
.
band
(
loc_op
,
LOCATION_CIRCLE
)
==
0
then
if
bit
.
band
(
loc_op
,
LOCATION_CIRCLE
)
==
0
then
loc_op
=
loc_op
+
LOCATION_CIRCLE
loc_op
=
loc_op
+
LOCATION_CIRCLE
end
end
elseif
bit
.
band
(
loc_op
,
LOCATION_R_CIRCLE
)
>
0
then
elseif
bit
.
band
(
loc_op
,
LOCATION_R_CIRCLE
)
>
0
then
loc_op
=
loc_op
-
LOCATION_R_CIRCLE
loc_op
=
loc_op
-
LOCATION_R_CIRCLE
loc_op_f
=
VgF
.
RMonsterFilter
loc_op_f
=
VgF
.
Filter
.
IsR
if
bit
.
band
(
loc_op
,
LOCATION_CIRCLE
)
==
0
then
if
bit
.
band
(
loc_op
,
LOCATION_CIRCLE
)
==
0
then
loc_op
=
loc_op
+
LOCATION_CIRCLE
loc_op
=
loc_op
+
LOCATION_CIRCLE
end
end
...
@@ -1418,6 +1354,95 @@ function VgF.Sendto(loc, sg, ...)
...
@@ -1418,6 +1354,95 @@ function VgF.Sendto(loc, sg, ...)
return
0
return
0
end
end
function
VgF
.
GetAvailableLocation
(
tp
,
zone
)
local
z
if
zone
then
z
=
zone
else
z
=
0x1f
end
local
rg
=
Duel
.
GetMatchingGroup
(
Card
.
IsPosition
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
,
POS_FACEDOWN_ATTACK
)
for
tc
in
VgF
.
Next
(
rg
)
do
local
szone
=
VgF
.
SequenceToGlobal
(
tp
,
tc
:
GetLocation
(),
tc
:
GetSequence
())
z
=
bit
.
bxor
(
z
,
szone
)
end
return
z
end
---将g(中的每一张卡)Call到单位区。返回Call成功的数量。
---@param g Card|Group 要Call的卡(片组)
---@param sumtype number Call的方式,默认填0
---@param tp number Call的玩家
---@param zone number|string|nil 指示要Call到的格子。<br>前列的R:17; 后列的R:14; 全部的R:31; V:32
---@param pos number|nil 表示形式
---@return number Call成功的数量
function
VgF
.
Call
(
g
,
sumtype
,
tp
,
zone
,
pos
)
if
(
VgF
.
GetValueType
(
g
)
~=
"Card"
and
VgF
.
GetValueType
(
g
)
~=
"Group"
)
or
(
VgF
.
GetValueType
(
g
)
==
"Group"
and
g
:
GetCount
()
==
0
)
then
return
0
end
if
VgF
.
GetValueType
(
pos
)
~=
"number"
then
pos
=
POS_FACEUP_ATTACK
end
if
VgF
.
GetValueType
(
zone
)
==
"string"
and
zone
==
"NoMonster"
then
return
Duel
.
SpecialSummon
(
g
,
sumtype
,
tp
,
tp
,
false
,
false
,
pos
)
elseif
VgF
.
GetValueType
(
zone
)
==
"string"
and
zone
==
"FromSouloV"
then
local
tc
=
VgF
.
ReturnCard
(
g
)
if
not
VgF
.
IsCanBeCalled
(
tc
,
nil
,
tp
,
sumtype
,
pos
,
"FromSouloV"
)
then
return
0
end
VgF
.
Sendto
(
0
,
tc
,
tp
,
POS_FACEUP
,
REASON_EFFECT
)
local
_
,
code
=
tc
:
GetOriginalCode
()
local
c
=
Duel
.
CreateToken
(
tp
,
code
)
return
VgF
.
Call
(
c
,
sumtype
,
tp
,
0x20
,
pos
)
elseif
VgF
.
GetValueType
(
zone
)
==
"number"
and
zone
>
0
then
local
sc
=
VgF
.
ReturnCard
(
g
)
local
z
=
VgF
.
GetAvailableLocation
(
tp
,
zone
)
local
ct
=
bit
.
ReturnCount
(
z
)
local
szone
if
ct
>
1
then
z
=
bit
.
bnot
(
z
)
z
=
bit
.
bor
(
z
,
0xffffff00
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CallZONE
)
szone
=
Duel
.
SelectField
(
tp
,
1
,
LOCATION_CIRCLE
,
0
,
z
)
else
szone
=
z
end
if
szone
==
0x20
then
if
VgF
.
GetVMonster
(
tp
)
then
local
tc
=
VgF
.
GetVMonster
(
tp
)
local
mg
=
tc
:
GetOverlayGroup
()
if
mg
:
GetCount
()
~=
0
then
VgF
.
Sendto
(
LOCATION_SOUL
,
mg
,
sc
)
end
sc
:
SetMaterial
(
Group
.
FromCards
(
tc
))
VgF
.
Sendto
(
LOCATION_SOUL
,
Group
.
FromCards
(
tc
),
sc
)
end
elseif
VgF
.
IsExistingMatchingCard
(
VgD
.
CallFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
nil
,
tp
,
szone
)
then
local
tc
=
Duel
.
GetMatchingGroup
(
VgD
.
CallFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
,
tp
,
szone
):
GetFirst
()
if
bit
.
band
(
sumtype
,
SUMMON_VALUE_OVERDRESS
)
>
0
then
VgF
.
Sendto
(
LOCATION_SOUL
,
Group
.
FromCards
(
tc
),
sc
)
else
VgF
.
Sendto
(
LOCATION_DROP
,
tc
,
REASON_COST
)
end
end
return
Duel
.
SpecialSummon
(
sc
,
sumtype
,
tp
,
tp
,
false
,
false
,
pos
,
szone
)
else
local
sg
local
z
=
bit
.
bnot
(
VgF
.
GetAvailableLocation
(
tp
))
z
=
bit
.
bor
(
z
,
0xffffff00
)
if
VgF
.
GetValueType
(
g
)
==
"Card"
then
sg
=
Group
.
FromCards
(
g
)
else
sg
=
Group
.
Clone
(
g
)
end
for
sc
in
VgF
.
Next
(
sg
)
do
if
sc
:
IsLocation
(
LOCATION_RIDE
)
then
local
rc
=
Duel
.
GetMatchingGroup
(
VgF
.
Filter
.
IsV
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
):
GetFirst
()
local
mg
=
rc
:
GetOverlayGroup
()
if
mg
:
GetCount
()
~=
0
then
VgF
.
Sendto
(
LOCATION_SOUL
,
mg
,
sc
)
end
sc
:
SetMaterial
(
Group
.
FromCards
(
rc
))
VgF
.
Sendto
(
LOCATION_SOUL
,
Group
.
FromCards
(
rc
),
sc
)
Duel
.
SpecialSummonStep
(
sc
,
sumtype
,
tp
,
tp
,
false
,
false
,
pos
,
0x20
)
else
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CallZONE
)
local
szone
=
Duel
.
SelectField
(
tp
,
1
,
LOCATION_CIRCLE
,
0
,
z
)
if
VgF
.
IsExistingMatchingCard
(
VgD
.
CallFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
1
,
nil
,
tp
,
szone
)
then
local
tc
=
Duel
.
GetMatchingGroup
(
VgD
.
CallFilter
,
tp
,
LOCATION_CIRCLE
,
0
,
nil
,
tp
,
szone
):
GetFirst
()
VgF
.
Sendto
(
LOCATION_DROP
,
tc
,
REASON_COST
)
end
Duel
.
SpecialSummonStep
(
sc
,
sumtype
,
tp
,
tp
,
false
,
false
,
pos
,
szone
)
z
=
bit
.
bor
(
z
,
szone
)
end
end
return
Duel
.
SpecialSummonComplete
()
end
end
-- 白翼能力在你的封锁区中的卡只有奇数的等级的场合有效
-- 白翼能力在你的封锁区中的卡只有奇数的等级的场合有效
function
VgF
.
WhiteWings
(
e
)
function
VgF
.
WhiteWings
(
e
)
local
tp
=
e
:
GetHandlerPlayer
()
local
tp
=
e
:
GetHandlerPlayer
()
...
@@ -1469,50 +1494,38 @@ function VgF.AddRideMaterialCode(c, m, ...)
...
@@ -1469,50 +1494,38 @@ function VgF.AddRideMaterialCode(c, m, ...)
table.insert
(
cm
.
ride_code
,
v
)
table.insert
(
cm
.
ride_code
,
v
)
end
end
end
end
function
VgF
.
AddAlchemagicFrom
(
c
,
m
,
...
)
local
cm
=
_G
[
"c"
..
m
]
---魔合成所用的cost记录
if
VgF
.
GetValueType
(
cm
.
cos_from
)
~=
"table"
then
cm
.
cos_from
=
{}
end
---@param m number 所记录的卡的卡号
for
i
,
v
in
ipairs
({
...
})
do
---@param from table|string|number 费用的卡属于哪个区域
table.insert
(
cm
.
cos_from
,
v
)
---@param to table|string|number 费用的卡送去哪个区域
end
---@param min table|number|nil 费用的卡的最少数量
end
---@param max table|number|nil 费用的卡的最多数量
function
VgF
.
AddAlchemagicTo
(
c
,
m
,
...
)
---@param filter table<function<boolean>>|function<boolean>|nil 费用的卡的过滤函数
local
cm
=
_G
[
"c"
..
m
]
function
VgF
.
AddAlchemagic
(
m
,
from
,
to
,
min
,
max
,
filter
)
if
VgF
.
GetValueType
(
cm
.
cos_to
)
~=
"table"
then
cm
.
cos_to
=
{}
end
for
i
,
v
in
ipairs
({
...
})
do
table.insert
(
cm
.
cos_to
,
v
)
end
end
function
VgF
.
AddAlchemagicCountMin
(
c
,
m
,
...
)
local
cm
=
_G
[
"c"
..
m
]
if
VgF
.
GetValueType
(
cm
.
cos_val
)
~=
"table"
then
cm
.
cos_val
=
{}
end
for
i
,
v
in
ipairs
({
...
})
do
table.insert
(
cm
.
cos_val
,
v
)
end
end
function
VgF
.
AddAlchemagicCountMax
(
c
,
m
,
...
)
local
cm
=
_G
[
"c"
..
m
]
if
VgF
.
GetValueType
(
cm
.
cos_val_max
)
~=
"table"
then
cm
.
cos_val_max
=
{}
end
for
i
,
v
in
ipairs
({
...
})
do
table.insert
(
cm
.
cos_val_max
,
v
)
end
end
function
VgF
.
AddAlchemagicFilter
(
c
,
m
,
...
)
local
cm
=
_G
[
"c"
..
m
]
local
cm
=
_G
[
"c"
..
m
]
if
VgF
.
GetValueType
(
cm
.
cos_filter
)
~=
"table"
then
cm
.
cos_filter
=
{}
end
if
#
from
~=
#
to
then
return
end
for
i
,
v
in
ipairs
({
...
})
do
if
#
from
==
0
or
#
to
==
0
then
return
end
table.insert
(
cm
.
cos_filter
,
v
)
cm
.
order_cost
=
cm
.
order_cost
or
{[
'from'
]
=
{},
[
'to'
]
=
{},
[
'min'
]
=
{},
[
'max'
]
=
{},
[
'filter'
]
=
{}}
from
=
type
(
from
)
==
"table"
and
from
or
{
from
}
to
=
type
(
to
)
==
"table"
and
to
or
{
to
}
min
=
type
(
min
)
==
"table"
and
min
or
{
min
}
max
=
type
(
max
)
==
"table"
and
max
or
{
max
}
filter
=
type
(
filter
)
==
"table"
and
filter
or
{
filter
}
for
i
,
v
in
ipairs
(
type
(
from
)
==
"table"
and
from
or
{
from
})
do
table.insert
(
cm
.
order_cost
[
'from'
],
v
)
table.insert
(
cm
.
order_cost
[
'to'
],
to
[
i
])
table.insert
(
cm
.
order_cost
[
'min'
],
min
[
i
]
or
1
)
table.insert
(
cm
.
order_cost
[
'max'
],
(
max
[
i
]
and
max
[
i
]
>=
min
[
i
])
and
max
[
i
]
or
min
[
i
])
table.insert
(
cm
.
order_cost
[
'filter'
],
filter
[
i
])
end
end
end
end
function
VgF
.
AddEffectWhenTrigger
(
c
,
m
,
op
,
cost
,
con
,
tg
,
chk
)
function
VgF
.
AddEffectWhenTrigger
(
c
,
m
,
op
,
cost
,
con
,
tg
,
chk
)
local
cm
=
_G
[
"c"
..
m
]
local
cm
=
_G
[
"c"
..
m
]
cm
.
effect_when_trigger
=
{
op
,
cost
,
con
,
tg
,
chk
}
cm
.
effect_when_trigger
=
{
op
,
cost
,
con
,
tg
,
chk
}
end
end
function
VgF
.
PlayerEffect
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
true
end
---创建一个函数检查器 检查func是否为nil或函数
---创建一个函数检查器 检查func是否为nil或函数
function
VgF
.
IllegalFunctionCheck
(
name
,
c
)
function
VgF
.
IllegalFunctionCheck
(
name
,
c
)
if
VgF
.
GetValueType
(
c
)
~=
"Card"
then
Debug
.
Message
(
"VgD."
..
name
..
" param c isn't Card"
)
end
if
VgF
.
GetValueType
(
c
)
~=
"Card"
then
Debug
.
Message
(
"VgD."
..
name
..
" param c isn't Card"
)
end
...
@@ -1531,42 +1544,13 @@ end
...
@@ -1531,42 +1544,13 @@ end
function
VgF
.
GetLocCondition
(
loc
,
con
)
function
VgF
.
GetLocCondition
(
loc
,
con
)
local
con_exf
=
VgF
.
True
local
con_exf
=
VgF
.
True
if
loc
==
LOCATION_R_CIRCLE
then
if
loc
==
LOCATION_R_CIRCLE
then
loc
,
con_exf
=
LOCATION_CIRCLE
,
VgF
.
RMonsterCondition
loc
,
con_exf
=
LOCATION_CIRCLE
,
VgF
.
Condition
.
IsR
elseif
loc
==
LOCATION_V_CIRCLE
then
elseif
loc
==
LOCATION_V_CIRCLE
then
loc
,
con_exf
=
LOCATION_CIRCLE
,
VgF
.
VMonsterCondition
loc
,
con_exf
=
LOCATION_CIRCLE
,
VgF
.
Condition
.
IsV
end
end
loc
=
loc
or
LOCATION_CIRCLE
loc
=
loc
or
LOCATION_CIRCLE
local
condition
=
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
condition
=
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
(
not
con
or
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
))
and
con_exf
(
e
)
return
(
not
con
or
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
))
and
con_exf
(
e
)
end
end
return
loc
,
condition
return
loc
,
condition
end
end
\ No newline at end of file
VgF
.
EffectDamageE
=
nil
---效果伤害的operation函数
---@param val number 伤害的数值
---@param p number 受伤的玩家
function
VgF
.
EffectDamage
(
val
,
p
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
c
:
RegisterFlagEffect
(
FLAG_DAMAGE_TRIGGER
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
,
val
-
1
)
Duel
.
RegisterFlagEffect
(
p
,
FLAG_EFFECT_DAMAGE
,
0
,
0
,
1
)
VgD
.
Trigger
(
e
,
p
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_F
)
e1
:
SetCode
(
EVENT_CUSTOM
+
EVENT_TRIGGER
)
e1
:
SetRange
(
LOCATION_ALL
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetCondition
(
function
(
te
,
ttp
,
teg
,
tep
,
tev
,
tre
,
tr
,
trp
)
return
Duel
.
GetFlagEffect
(
p
,
FLAG_EFFECT_DAMAGE
)
>
0
end
)
e1
:
SetOperation
(
VgD
.
Trigger
)
c
:
RegisterEffect
(
e1
)
if
VgF
.
GetValueType
(
VgF
.
EffectDamageE
)
==
"Effect"
then
VgF
.
EffectDamageE
:
Reset
()
VgF
.
EffectDamageE
=
nil
end
VgF
.
EffectDamageE
=
e1
end
end
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