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
3d53c661
Commit
3d53c661
authored
Jul 18, 2024
by
Kirikokora
Committed by
GitHub
Jul 18, 2024
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'vgdpro:main' into main
parents
935fa4d9
99a90430
Changes
168
Hide whitespace changes
Inline
Side-by-side
Showing
168 changed files
with
2813 additions
and
1053 deletions
+2813
-1053
README.md
README.md
+3
-3
VgD.Lua
VgD.Lua
+155
-152
VgDefinition.Lua
VgDefinition.Lua
+49
-48
VgFuncLib.lua
VgFuncLib.lua
+463
-253
c10000113.lua
c10000113.lua
+23
-8
c10101001.lua
c10101001.lua
+3
-3
c10101002.lua
c10101002.lua
+1
-1
c10101003.lua
c10101003.lua
+2
-9
c10101006.lua
c10101006.lua
+8
-11
c10101010.lua
c10101010.lua
+3
-7
c10101015.lua
c10101015.lua
+3
-5
c10102001.lua
c10102001.lua
+4
-10
c10102002.lua
c10102002.lua
+4
-8
c10102003.lua
c10102003.lua
+6
-7
c10102005.lua
c10102005.lua
+3
-3
c10102008.lua
c10102008.lua
+3
-2
c10103001.lua
c10103001.lua
+1
-3
c10103002.lua
c10103002.lua
+5
-5
c10103003.lua
c10103003.lua
+8
-9
c10103005.lua
c10103005.lua
+3
-2
c10103006.lua
c10103006.lua
+6
-10
c10103012.lua
c10103012.lua
+1
-1
c10103015.lua
c10103015.lua
+4
-9
c10104001.lua
c10104001.lua
+2
-3
c10104002.lua
c10104002.lua
+6
-6
c10104003.lua
c10104003.lua
+4
-4
c10104006.lua
c10104006.lua
+1
-1
c10104007.lua
c10104007.lua
+4
-5
c10104008.lua
c10104008.lua
+4
-5
c10104015.lua
c10104015.lua
+3
-11
c10105001.lua
c10105001.lua
+3
-4
c10105002.lua
c10105002.lua
+3
-4
c10105003.lua
c10105003.lua
+7
-8
c10105005.lua
c10105005.lua
+1
-2
c10105006.lua
c10105006.lua
+1
-2
c10105008.lua
c10105008.lua
+3
-3
c10105015.lua
c10105015.lua
+13
-16
c10202001.lua
c10202001.lua
+5
-5
c10202002.lua
c10202002.lua
+2
-2
c10202003.lua
c10202003.lua
+8
-9
c10202005.lua
c10202005.lua
+7
-5
c10202007.lua
c10202007.lua
+2
-2
c10202008.lua
c10202008.lua
+1
-1
c10202009.lua
c10202009.lua
+2
-2
c10202010.lua
c10202010.lua
+5
-6
c10202016.lua
c10202016.lua
+3
-3
c10202017.lua
c10202017.lua
+2
-2
c10203001.lua
c10203001.lua
+4
-5
c10203002.lua
c10203002.lua
+3
-3
c10203003.lua
c10203003.lua
+4
-6
c10203005.lua
c10203005.lua
+2
-3
c10203006.lua
c10203006.lua
+1
-1
c10203007.lua
c10203007.lua
+2
-2
c10203011.lua
c10203011.lua
+3
-2
c10203016.lua
c10203016.lua
+9
-10
c10203018.lua
c10203018.lua
+1
-1
c10301001.lua
c10301001.lua
+11
-14
c10301002.lua
c10301002.lua
+5
-7
c10301003.lua
c10301003.lua
+3
-5
c10301005.lua
c10301005.lua
+9
-0
c10301007.lua
c10301007.lua
+9
-0
c10301009.lua
c10301009.lua
+5
-12
c10301015.lua
c10301015.lua
+1
-2
c10400855.lua
c10400855.lua
+6
-6
c10401001.lua
c10401001.lua
+5
-5
c10401002.lua
c10401002.lua
+8
-10
c10401003.lua
c10401003.lua
+8
-20
c10401004.lua
c10401004.lua
+4
-7
c10401021.lua
c10401021.lua
+16
-0
c10401024.lua
c10401024.lua
+24
-0
c10401025.lua
c10401025.lua
+18
-0
c10401026.lua
c10401026.lua
+22
-0
c10401027.lua
c10401027.lua
+22
-0
c10401028.lua
c10401028.lua
+16
-0
c10401029.lua
c10401029.lua
+6
-0
c10401030.lua
c10401030.lua
+24
-0
c10401031.lua
c10401031.lua
+27
-0
c10401032.lua
c10401032.lua
+18
-0
c10401033.lua
c10401033.lua
+24
-0
c10401034.lua
c10401034.lua
+9
-1
c10401036.lua
c10401036.lua
+26
-0
c10401037.lua
c10401037.lua
+16
-0
c10401039.lua
c10401039.lua
+16
-0
c10401040.lua
c10401040.lua
+13
-0
c10401041.lua
c10401041.lua
+13
-0
c10401042.lua
c10401042.lua
+27
-0
c10401043.lua
c10401043.lua
+32
-0
c10401044.lua
c10401044.lua
+18
-0
c10401045.lua
c10401045.lua
+12
-0
c10401046.lua
c10401046.lua
+26
-0
c10401047.lua
c10401047.lua
+23
-0
c10401049.lua
c10401049.lua
+27
-0
c10401050.lua
c10401050.lua
+19
-0
c10401051.lua
c10401051.lua
+10
-0
c10401052.lua
c10401052.lua
+27
-0
c10401053.lua
c10401053.lua
+22
-0
c10401054.lua
c10401054.lua
+9
-0
c10401055.lua
c10401055.lua
+12
-0
c10401056.lua
c10401056.lua
+13
-0
c10401057.lua
c10401057.lua
+9
-0
c10401058.lua
c10401058.lua
+10
-0
c10401059.lua
c10401059.lua
+9
-0
c10401060.lua
c10401060.lua
+20
-0
c10401061.lua
c10401061.lua
+34
-0
c10401067.lua
c10401067.lua
+27
-0
c10401068.lua
c10401068.lua
+12
-0
c10401069.lua
c10401069.lua
+14
-0
c10401070.lua
c10401070.lua
+14
-0
c10401071.lua
c10401071.lua
+11
-0
c10401072.lua
c10401072.lua
+14
-0
c10401073.lua
c10401073.lua
+19
-0
c10401074.lua
c10401074.lua
+33
-0
c10401075.lua
c10401075.lua
+13
-0
c10401077.lua
c10401077.lua
+1
-0
c10401078.lua
c10401078.lua
+1
-0
c10401079.lua
c10401079.lua
+1
-0
c10401080.lua
c10401080.lua
+1
-0
c10501001.lua
c10501001.lua
+28
-4
c10501003.lua
c10501003.lua
+34
-0
c10501020.lua
c10501020.lua
+23
-0
c10501036.lua
c10501036.lua
+14
-32
c10501038.lua
c10501038.lua
+41
-4
c10501060.lua
c10501060.lua
+10
-0
c10501061.lua
c10501061.lua
+32
-0
c10501064.lua
c10501064.lua
+26
-4
c10501065.lua
c10501065.lua
+32
-4
c10501067.lua
c10501067.lua
+22
-4
c10501069.lua
c10501069.lua
+22
-4
c10501070.lua
c10501070.lua
+26
-4
c10501071.lua
c10501071.lua
+22
-4
c10501072.lua
c10501072.lua
+16
-4
c10501073.lua
c10501073.lua
+18
-4
c10501074.lua
c10501074.lua
+21
-4
c10501076.lua
c10501076.lua
+14
-4
c10501077.lua
c10501077.lua
+16
-4
c10501078.lua
c10501078.lua
+11
-4
c10501079.lua
c10501079.lua
+26
-4
c10501080.lua
c10501080.lua
+14
-4
c10501081.lua
c10501081.lua
+18
-4
c10501082.lua
c10501082.lua
+43
-0
c10501083.lua
c10501083.lua
+18
-4
c10501084.lua
c10501084.lua
+23
-4
c10501085.lua
c10501085.lua
+25
-4
c10501086.lua
c10501086.lua
+19
-4
c10501087.lua
c10501087.lua
+13
-4
c10501088.lua
c10501088.lua
+16
-4
c10501089.lua
c10501089.lua
+22
-4
c10501090.lua
c10501090.lua
+13
-32
c10501091.lua
c10501091.lua
+23
-4
c10501092.lua
c10501092.lua
+19
-4
c10501093.lua
c10501093.lua
+12
-4
c10501094.lua
c10501094.lua
+12
-4
c10501095.lua
c10501095.lua
+31
-4
c10501096.lua
c10501096.lua
+17
-4
c10501097.lua
c10501097.lua
+24
-4
c10501099.lua
c10501099.lua
+14
-11
c10501101.lua
c10501101.lua
+13
-11
c10501115.lua
c10501115.lua
+7
-0
c10501116.lua
c10501116.lua
+16
-4
c10501117.lua
c10501117.lua
+28
-4
c10501118.lua
c10501118.lua
+60
-4
c10501119.lua
c10501119.lua
+18
-4
c10501120.lua
c10501120.lua
+12
-0
c10800855.lua
c10800855.lua
+8
-8
c20101001.lua
c20101001.lua
+5
-9
c20103001.lua
c20103001.lua
+22
-0
c20104001.lua
c20104001.lua
+4
-4
c20106001.lua
c20106001.lua
+4
-4
No files found.
README.md
View file @
3d53c661
...
@@ -245,7 +245,7 @@ function cm.operation2(e,tp,eg,ep,ev,re,r,rp)
...
@@ -245,7 +245,7 @@ function cm.operation2(e,tp,eg,ep,ev,re,r,rp)
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
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
vgf
.
RMonsterCondition
(
e
)
and
c
:
GetFlagEffectLabel
(
ConditionFlag
)
==
201
and
vgf
.
VMonsterFilter
(
Duel
.
GetAttackTarget
())
return
vgf
.
RMonsterCondition
(
e
)
and
c
:
GetFlagEffectLabel
(
FLAG_CONDITION
)
==
201
and
vgf
.
VMonsterFilter
(
Duel
.
GetAttackTarget
())
end
end
```
```
...
@@ -351,7 +351,7 @@ function cm.condition2(e,tp,eg,ep,ev,re,r,rp)
...
@@ -351,7 +351,7 @@ function cm.condition2(e,tp,eg,ep,ev,re,r,rp)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
-- vgf.RMonsterCondition(e) 判断 e的持有者(即这张卡) 是否为后防者
-- vgf.RMonsterCondition(e) 判断 e的持有者(即这张卡) 是否为后防者
-- vgf.VMonsterFilter(Duel.GetAttackTarget()) 判断 被攻击的卡 是否为先导者
-- vgf.VMonsterFilter(Duel.GetAttackTarget()) 判断 被攻击的卡 是否为先导者
return
vgf
.
RMonsterCondition
(
e
)
and
c
:
GetFlagEffectLabel
(
ConditionFlag
)
==
201
and
vgf
.
VMonsterFilter
(
Duel
.
GetAttackTarget
())
return
vgf
.
RMonsterCondition
(
e
)
and
c
:
GetFlagEffectLabel
(
FLAG_CONDITION
)
==
201
and
vgf
.
VMonsterFilter
(
Duel
.
GetAttackTarget
())
end
end
```
```
...
@@ -397,6 +397,6 @@ function cm.initial_effect(c)
...
@@ -397,6 +397,6 @@ 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
Duel
.
IsExistingMatchingCard
(
vgf
.
IsLevel
,
tp
,
LOCATION_MZONE
,
0
,
3
,
nil
,
3
)
return
vgf
.
VMonsterCondition
(
e
)
and
vgf
.
IsExistingMatchingCard
(
vgf
.
IsLevel
,
tp
,
LOCATION_MZONE
,
0
,
3
,
nil
,
3
)
end
end
```
```
VgD.Lua
View file @
3d53c661
...
@@ -24,18 +24,19 @@ function VgD.RideUp(c)
...
@@ -24,18 +24,19 @@ function VgD.RideUp(c)
end
end
function
VgD
.
RideUpFilter1
(
c
,
e
,
lv
,
code
,
rc
)
function
VgD
.
RideUpFilter1
(
c
,
e
,
lv
,
code
,
rc
)
local
tp
=
c
:
GetControler
()
local
tp
=
c
:
GetControler
()
if
rc
:
IsAttribute
(
SKILL_SELF_RIDE
)
and
c
:
IsCode
(
code
)
then
if
not
c
:
IsType
(
TYPE_MONSTER
)
then
return
false
end
return
false
if
rc
:
IsAttribute
(
SKILL_SELF_RIDE
)
and
c
:
IsCode
(
code
)
then
return
false
end
end
if
(
c
:
IsLevel
(
lv
,
lv
+
1
)
and
c
:
IsLocation
(
LOCATION_HAND
))
then
return
true
end
return
((
c
:
IsLevel
(
lv
,
lv
+
1
)
and
c
:
IsLocation
(
LOCATION_HAND
))
or
(
c
:
IsLevel
(
lv
+
1
)
and
c
:
IsLocation
(
LOCATION_RIDE
)
and
Duel
.
IsExistingMatchingCard
(
Card
.
IsDiscardable
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
)))
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_RIDE
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
if
(
c
:
IsLevel
(
lv
+
1
)
and
c
:
IsLocation
(
LOCATION_RIDE
)
and
(
VgF
.
IsExistingMatchingCard
(
nil
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
)
or
(
Duel
.
IsPlayerAffectedByEffect
(
tp
,
AFFECT_CODE_OVERLAY_INSTEAD_WHEN_RIDE
)
and
VgF
.
GetVMonster
(
tp
):
GetOverlayCount
()
>
0
)))
then
return
true
end
return
false
end
end
function
VgD
.
DisCardRideUpFilter
(
c
,
e
,
lv
,
code
,
rc
)
function
VgD
.
DisCardRideUpFilter
(
c
,
e
,
lv
,
code
,
rc
)
local
tp
=
c
:
GetControler
()
local
tp
=
c
:
GetControler
()
return
c
:
IsDiscardable
()
and
Duel
.
IsExistingMatchingCard
(
VgD
.
RideUpFilter1
,
tp
,
LOCATION_HAND
+
LOCATION_RIDE
,
0
,
1
,
c
,
e
,
lv
,
code
,
rc
)
return
c
:
IsDiscardable
()
and
VgF
.
IsExistingMatchingCard
(
VgD
.
RideUpFilter1
,
tp
,
LOCATION_HAND
+
LOCATION_RIDE
,
0
,
1
,
c
,
e
,
lv
,
code
,
rc
)
end
end
function
VgD
.
RideUpFilter2
(
c
,
e
,
lv
,
code
,
rc
)
function
VgD
.
RideUpFilter2
(
c
,
e
,
lv
,
code
,
rc
)
local
tp
=
e
:
GetHandlerPlayer
()
local
tp
=
e
:
GetHandlerPlayer
()
return
c
:
IsLevel
(
lv
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsCode
(
code
)
and
rc
:
IsAttribute
(
SKILL_SELF_RIDE
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_SELFRIDE
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
return
c
:
IsLevel
(
lv
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsCode
(
code
)
and
rc
:
IsAttribute
(
SKILL_SELF_RIDE
)
end
end
function
VgD
.
RideUpCondition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
VgD
.
RideUpCondition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
rc
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
()
local
rc
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
()
...
@@ -75,20 +76,24 @@ function VgD.RideUpOperation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -75,20 +76,24 @@ function VgD.RideUpOperation(e,tp,eg,ep,ev,re,r,rp)
local
sg
=
rg1
:
FilterSelect
(
tp
,
Card
.
IsLocation
,
1
,
1
,
nil
,
LOCATION_HAND
+
LOCATION_RIDE
)
local
sg
=
rg1
:
FilterSelect
(
tp
,
Card
.
IsLocation
,
1
,
1
,
nil
,
LOCATION_HAND
+
LOCATION_RIDE
)
local
sc
=
sg
:
GetFirst
()
local
sc
=
sg
:
GetFirst
()
if
sc
:
IsLocation
(
LOCATION_EXTRA
)
then
if
sc
:
IsLocation
(
LOCATION_EXTRA
)
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DISCARD
)
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
AFFECT_CODE_OVERLAY_INSTEAD_WHEN_RIDE
)
and
Duel
.
SelectYesNo
(
tp
,
VgF
.
Stringid
(
VgID
,
14
))
then
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
VgD
.
DisCardRideUpFilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
e
,
lv
,
code
,
rc
)
VgF
.
DamageCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
1
)
Duel
.
SendtoGrave
(
g
,
REASON_COST
+
REASON_DISCARD
)
else
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DISCARD
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
VgD
.
DisCardRideUpFilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
e
,
lv
,
code
,
rc
)
VgF
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_COST
+
REASON_DISCARD
)
end
end
end
local
mg
=
rc
:
GetOverlayGroup
()
local
mg
=
rc
:
GetOverlayGroup
()
if
mg
:
GetCount
()
~=
0
then
if
mg
:
GetCount
()
~=
0
then
Duel
.
Overlay
(
sc
,
mg
)
VgF
.
Sendto
(
LOCATION_OVERLAY
,
mg
,
sc
)
end
end
sc
:
SetMaterial
(
Group
.
FromCards
(
rc
))
sc
:
SetMaterial
(
Group
.
FromCards
(
rc
))
Duel
.
Overlay
(
sc
,
Group
.
FromCards
(
rc
)
)
VgF
.
Sendto
(
LOCATION_OVERLAY
,
Group
.
FromCards
(
rc
),
sc
)
VgF
.
Call
(
sc
,
SUMMON_TYPE_RIDE
,
tp
,
0x20
)
VgF
.
Sendto
(
LOCATION_MZONE
,
sc
,
SUMMON_TYPE_RIDE
,
tp
,
0x20
)
if
Duel
.
IsExistingMatchingCard
(
Card
.
IsType
,
tp
,
LOCATION_RIDE
,
0
,
1
,
nil
,
TYPE_EMBLEM
)
then
if
VgF
.
IsExistingMatchingCard
(
Card
.
IsType
,
tp
,
LOCATION_RIDE
,
0
,
1
,
nil
,
TYPE_EMBLEM
)
then
local
tc
=
Duel
.
GetMatchingGroup
(
Card
.
IsType
,
tp
,
LOCATION_RIDE
,
0
,
nil
,
TYPE_EMBLEM
):
GetFirst
()
local
tc
=
Duel
.
GetMatchingGroup
(
Card
.
IsType
,
tp
,
LOCATION_RIDE
,
0
,
nil
,
TYPE_EMBLEM
):
GetFirst
()
Duel
.
Sendto
(
tc
,
tp
,
LOCATION_EMBLEM
,
POS_FACEUP_DEFENSE
,
REASON_EFFECT
)
VgF
.
Sendto
(
LOCATION_EMBLEM
,
tc
,
tp
,
POS_FACEUP_DEFENSE
,
REASON_EFFECT
)
end
end
elseif
sel
==
0
or
(
sel
==
1
and
a
and
b
)
then
elseif
sel
==
0
or
(
sel
==
1
and
a
and
b
)
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CALL
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CALL
)
...
@@ -96,11 +101,11 @@ function VgD.RideUpOperation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -96,11 +101,11 @@ function VgD.RideUpOperation(e,tp,eg,ep,ev,re,r,rp)
local
sc
=
sg
:
GetFirst
()
local
sc
=
sg
:
GetFirst
()
local
mg
=
rc
:
GetOverlayGroup
()
local
mg
=
rc
:
GetOverlayGroup
()
if
mg
:
GetCount
()
~=
0
then
if
mg
:
GetCount
()
~=
0
then
Duel
.
Overlay
(
sc
,
m
g
)
VgF
.
Sendto
(
LOCATION_OVERLAY
,
mg
,
s
g
)
end
end
sc
:
SetMaterial
(
Group
.
FromCards
(
rc
))
sc
:
SetMaterial
(
Group
.
FromCards
(
rc
))
Duel
.
Overlay
(
sc
,
Group
.
FromCards
(
rc
)
)
VgF
.
Sendto
(
LOCATION_OVERLAY
,
Group
.
FromCards
(
rc
),
sc
)
VgF
.
Call
(
sc
,
SUMMON_TYPE_SELFRIDE
,
tp
,
0x20
)
VgF
.
Sendto
(
LOCATION_MZONE
,
sc
,
SUMMON_TYPE_SELFRIDE
,
tp
,
0x20
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
...
@@ -113,24 +118,21 @@ function VgD.RideUpOperation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -113,24 +118,21 @@ function VgD.RideUpOperation(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
function
VgD
.
SelfRideAtk
(
e
,
c
)
function
VgD
.
SelfRideAtk
(
e
,
c
)
return
vgf
.
IsSequence
(
c
,
0
,
4
,
5
)
return
VgF
.
IsSequence
(
c
,
0
,
4
,
5
)
end
end
function
VgD
.
RideZeroCondition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
VgD
.
RideZeroCondition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
rc
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
()
local
rc
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
()
if
rc
then
return
false
end
if
rc
then
return
false
end
local
ct
=
Duel
.
GetMatchingGroupCount
(
Vg
D
.
RideZeroFilter
,
tp
,
LOCATION_RIDE
,
0
,
nil
,
e
,
tp
)
local
ct
=
Duel
.
GetMatchingGroupCount
(
Vg
F
.
IsLevel
,
tp
,
LOCATION_RIDE
,
0
,
nil
,
0
)
return
VgF
.
RuleTurnCondtion
(
e
)
and
ct
>
0
and
VgF
.
RuleCardCondtion
(
e
)
return
VgF
.
RuleTurnCondtion
(
e
)
and
ct
>
0
and
VgF
.
RuleCardCondtion
(
e
)
end
end
function
VgD
.
RideZeroOperation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
VgD
.
RideZeroOperation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetMatchingGroup
(
Vg
D
.
RideZeroFilter
,
tp
,
LOCATION_RIDE
,
0
,
nil
,
e
,
tp
)
local
g
=
Duel
.
GetMatchingGroup
(
Vg
F
.
IsLevel
,
tp
,
LOCATION_RIDE
,
0
,
nil
,
0
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CALL
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CALL
)
g
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
g
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
end
end
VgF
.
Call
(
g
,
SUMMON_TYPE_RIDE
,
tp
,
0x20
)
VgF
.
Sendto
(
LOCATION_MZONE
,
g
,
SUMMON_TYPE_RIDE
,
tp
,
0x20
)
end
function
VgD
.
RideZeroFilter
(
c
,
e
,
tp
)
return
VgF
.
IsLevel
(
c
,
0
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_RIDE
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
end
end
--Call到R位
--Call到R位
function
VgD
.
CallToR
(
c
)
function
VgD
.
CallToR
(
c
)
...
@@ -149,7 +151,7 @@ function VgD.CallCondition(e,c)
...
@@ -149,7 +151,7 @@ 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
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_VALUE_CALL
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
return
VgF
.
LvCondition
(
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
.
RMonsterFilter
(
c
)
and
zone
==
VgF
.
SequenceToGlobal
(
tp
,
c
:
GetLocation
(),
c
:
GetSequence
())
...
@@ -164,9 +166,9 @@ function VgD.CallOperation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -164,9 +166,9 @@ function VgD.CallOperation(e,tp,eg,ep,ev,re,r,rp)
end
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CallZONE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CallZONE
)
local
zone
=
Duel
.
SelectField
(
tp
,
1
,
LOCATION_MZONE
,
0
,
z
)
local
zone
=
Duel
.
SelectField
(
tp
,
1
,
LOCATION_MZONE
,
0
,
z
)
if
Duel
.
IsExistingMatchingCard
(
VgD
.
CallFilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
tp
,
zone
)
then
if
VgF
.
IsExistingMatchingCard
(
VgD
.
CallFilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
tp
,
zone
)
then
local
tc
=
Duel
.
GetMatchingGroup
(
VgD
.
CallFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
tp
,
zone
):
GetFirst
()
local
tc
=
Duel
.
GetMatchingGroup
(
VgD
.
CallFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
tp
,
zone
):
GetFirst
()
Duel
.
SendtoGrave
(
tc
,
REASON_COST
)
VgF
.
Sendto
(
LOCATION_DROP
,
tc
,
REASON_COST
)
end
end
e
:
SetValue
(
function
()
return
SUMMON_VALUE_CALL
,
zone
end
)
e
:
SetValue
(
function
()
return
SUMMON_VALUE_CALL
,
zone
end
)
end
end
...
@@ -194,7 +196,7 @@ function VgD.OverDressCondition(f)
...
@@ -194,7 +196,7 @@ function VgD.OverDressCondition(f)
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
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_VALUE_CALL
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
and
Duel
.
IsExistingMatchingCard
(
VgD
.
OverDressFilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
f
)
return
VgF
.
LvCondition
(
e
)
and
VgF
.
IsExistingMatchingCard
(
VgD
.
OverDressFilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
f
)
end
end
end
end
function
VgD
.
OverDressFilter
(
c
,
f
,
zone
)
function
VgD
.
OverDressFilter
(
c
,
f
,
zone
)
...
@@ -241,15 +243,15 @@ function VgD.OverDressOperation(f)
...
@@ -241,15 +243,15 @@ function VgD.OverDressOperation(f)
if
not
tc
then
return
end
if
not
tc
then
return
end
local
mg
=
tc
:
GetOverlayGroup
()
local
mg
=
tc
:
GetOverlayGroup
()
if
mg
:
GetCount
()
~=
0
then
if
mg
:
GetCount
()
~=
0
then
Duel
.
Overlay
(
c
,
mg
)
VgF
.
Sendto
(
LOCATION_OVERLAY
,
mg
,
c
)
end
end
c
:
SetMaterial
(
Group
.
FromCards
(
tc
))
c
:
SetMaterial
(
Group
.
FromCards
(
tc
))
Duel
.
Overlay
(
c
,
Group
.
FromCards
(
tc
)
)
VgF
.
Sendto
(
LOCATION_OVERLAY
,
Group
.
FromCards
(
tc
),
c
)
end
end
end
end
function
VgD
.
OverDressSum
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
VgD
.
OverDressSum
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
c
:
RegisterFlagEffect
(
ConditionFlag
,
RESET_EVENT
+
RESETS_STANDARD
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
201
,
vgf
.
Stringid
(
10101006
,
0
))
c
:
RegisterFlagEffect
(
FLAG_CONDITION
,
RESET_EVENT
+
RESETS_STANDARD
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
201
,
VgF
.
Stringid
(
10101006
,
0
))
end
end
--战斗阶段
--战斗阶段
...
@@ -317,20 +319,25 @@ function VgD.MonsterBattle(c)
...
@@ -317,20 +319,25 @@ function VgD.MonsterBattle(c)
c
:
RegisterEffect
(
e9
)
c
:
RegisterEffect
(
e9
)
--防御
--防御
local
e7
=
Effect
.
CreateEffect
(
c
)
local
e7
=
Effect
.
CreateEffect
(
c
)
e7
:
SetCategory
(
CATEGORY_DEFENDER
)
e7
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e7
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e7
:
SetCode
(
EVENT_BATTLE_START
)
e7
:
SetCode
(
EVENT_BATTLE_START
)
e7
:
SetRange
(
LOCATION_
HAND
+
LOCATION_
MZONE
)
e7
:
SetRange
(
LOCATION_MZONE
)
e7
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e7
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e7
:
SetCountLimit
(
1
)
e7
:
SetCountLimit
(
1
)
e7
:
SetCost
(
VgD
.
SendToGCost
)
e7
:
SetCondition
(
VgD
.
SendToGCondition
(
LOCATION_MZONE
))
e7
:
SetCondition
(
VgD
.
SendToGCondition
)
e7
:
SetOperation
(
VgD
.
SendToGOperation
)
e7
:
SetOperation
(
VgD
.
SendToGOperation
)
c
:
RegisterEffect
(
e7
)
c
:
RegisterEffect
(
e7
)
local
e17
=
e7
:
Clone
()
e17
:
SetRange
(
LOCATION_HAND
)
e17
:
SetCondition
(
VgD
.
SendToGCondition
(
LOCATION_HAND
))
c
:
RegisterEffect
(
e17
)
local
e8
=
Effect
.
CreateEffect
(
c
)
local
e8
=
Effect
.
CreateEffect
(
c
)
e8
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e8
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
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_GZONE
)
e8
:
SetRange
(
LOCATION_ALL
)
e8
:
SetCondition
(
VgF
.
RuleCardCondtion
)
e8
:
SetOperation
(
VgD
.
GToGraveOperation
)
e8
:
SetOperation
(
VgD
.
GToGraveOperation
)
c
:
RegisterEffect
(
e8
)
c
:
RegisterEffect
(
e8
)
--其他永续
--其他永续
...
@@ -371,7 +378,7 @@ function VgD.MonsterBattle(c)
...
@@ -371,7 +378,7 @@ function VgD.MonsterBattle(c)
e15
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e15
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e15
:
SetValue
(
100
)
e15
:
SetValue
(
100
)
c
:
RegisterEffect
(
e15
)
c
:
RegisterEffect
(
e15
)
local
e16
=
e15
:
Clone
(
)
local
e16
=
Effect
.
CreateEffect
(
c
)
e16
:
SetType
(
EFFECT_TYPE_SINGLE
)
e16
:
SetType
(
EFFECT_TYPE_SINGLE
)
e16
:
SetCode
(
EFFECT_CANNOT_BE_BATTLE_TARGET
)
e16
:
SetCode
(
EFFECT_CANNOT_BE_BATTLE_TARGET
)
e16
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
+
EFFECT_FLAG_CANNOT_DISABLE
)
e16
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
+
EFFECT_FLAG_CANNOT_DISABLE
)
...
@@ -383,7 +390,7 @@ end
...
@@ -383,7 +390,7 @@ end
function
VgD
.
TriggerCard
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
VgD
.
TriggerCard
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tg
=
Duel
.
GetDecktopGroup
(
tp
,
1
)
local
tg
=
Duel
.
GetDecktopGroup
(
tp
,
1
)
Duel
.
DisableShuffleCheck
()
Duel
.
DisableShuffleCheck
()
Duel
.
MoveToField
(
tg
:
GetFirst
(),
tp
,
tp
,
LOCATION_TRIGGER
,
POS_FACEUP
,
true
)
VgF
.
Sendto
(
LOCATION_TRIGGER
,
tg
:
GetFirst
(),
tp
,
tp
,
POS_FACEUP
,
true
)
end
end
function
VgD
.
MonsterPosDefenseOperation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
VgD
.
MonsterPosDefenseOperation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
@@ -394,7 +401,7 @@ function VgD.MonsterPosDefenseOperation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -394,7 +401,7 @@ function VgD.MonsterPosDefenseOperation(e,tp,eg,ep,ev,re,r,rp)
elseif
c
:
IsAttribute
(
SKILL_THRICE_TRIGGER
)
then
elseif
c
:
IsAttribute
(
SKILL_THRICE_TRIGGER
)
then
label
=
label
+
2
label
=
label
+
2
end
end
c
:
RegisterFlagEffect
(
AttackTriggerFlag
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
,
label
)
c
:
RegisterFlagEffect
(
FLAG_ATTACK_TRIGGER
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
,
label
)
Duel
.
RaiseEvent
(
c
,
EVENT_CUSTOM
+
EVENT_TRIGGERCOUNTUP
,
e
,
0
,
tp
,
tp
,
0
)
Duel
.
RaiseEvent
(
c
,
EVENT_CUSTOM
+
EVENT_TRIGGERCOUNTUP
,
e
,
0
,
tp
,
tp
,
0
)
end
end
function
VgD
.
MonsterPosAttackOperation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
VgD
.
MonsterPosAttackOperation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
@@ -410,13 +417,13 @@ function VgD.MonsterBattleDamageCondition(e,tp,eg,ep,ev,re,r,rp)
...
@@ -410,13 +417,13 @@ function VgD.MonsterBattleDamageCondition(e,tp,eg,ep,ev,re,r,rp)
if
not
bc
or
not
bc
:
IsRelateToBattle
()
then
return
false
end
if
not
bc
or
not
bc
:
IsRelateToBattle
()
then
return
false
end
local
atk
=
bc
:
GetAttack
()
local
atk
=
bc
:
GetAttack
()
local
def
=
c
:
GetAttack
()
local
def
=
c
:
GetAttack
()
return
VgF
.
VMonsterFilter
(
c
)
and
c
==
Duel
.
GetAttackTarget
()
and
atk
>=
def
and
bc
:
GetLeftScale
()
>
0
and
Duel
.
GetAttackTarget
():
GetFlagEffect
(
DefenseEntirelyFlag
)
==
0
return
VgF
.
VMonsterFilter
(
c
)
and
c
==
Duel
.
GetAttackTarget
()
and
atk
>=
def
and
bc
:
GetLeftScale
()
>
0
and
Duel
.
GetAttackTarget
():
GetFlagEffect
(
FLAG_DEFENSE_ENTIRELY
)
==
0
end
end
function
VgD
.
MonsterBattleDamageOperation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
VgD
.
MonsterBattleDamageOperation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
bc
=
c
:
GetBattleTarget
()
local
bc
=
c
:
GetBattleTarget
()
local
label
=
bc
:
GetLeftScale
()
-
1
local
label
=
bc
:
GetLeftScale
()
-
1
bc
:
RegisterFlagEffect
(
DamageTriggerFlag
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
,
label
)
bc
:
RegisterFlagEffect
(
FLAG_DAMAGE_TRIGGER
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
,
label
)
VgD
.
TriggerCard
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
VgD
.
TriggerCard
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
end
function
VgD
.
MonsterNextTrigger
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
VgD
.
MonsterNextTrigger
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
@@ -429,7 +436,7 @@ end
...
@@ -429,7 +436,7 @@ end
function
VgD
.
SupportOperation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
VgD
.
SupportOperation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
Duel
.
ChangePosition
(
c
,
POS_FACEUP_DEFENSE
)
Duel
.
ChangePosition
(
c
,
POS_FACEUP_DEFENSE
)
c
:
RegisterFlagEffect
(
SupportFlag
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
c
:
RegisterFlagEffect
(
FLAG_SUPPORT
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
Duel
.
RaiseEvent
(
c
,
EVENT_CUSTOM
+
EVENT_SUPPORT
,
e
,
0
,
tp
,
tp
,
0
)
Duel
.
RaiseEvent
(
c
,
EVENT_CUSTOM
+
EVENT_SUPPORT
,
e
,
0
,
tp
,
tp
,
0
)
end
end
function
VgD
.
SupportValue
(
e
)
function
VgD
.
SupportValue
(
e
)
...
@@ -437,15 +444,15 @@ function VgD.SupportValue(e)
...
@@ -437,15 +444,15 @@ function VgD.SupportValue(e)
local
atk
=
0
local
atk
=
0
if
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
then
if
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
then
local
g
=
Duel
.
GetMatchingGroup
(
function
(
c
)
local
g
=
Duel
.
GetMatchingGroup
(
function
(
c
)
return
c
:
GetFlagEffect
(
SupportFlag
)
>
0
return
c
:
GetFlagEffect
(
FLAG_SUPPORT
)
>
0
end
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
end
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
for
tc
in
vgf
.
Next
(
g
)
do
for
tc
in
VgF
.
Next
(
g
)
do
atk
=
atk
+
tc
:
GetAttack
()
atk
=
atk
+
tc
:
GetAttack
()
end
end
return
atk
return
atk
elseif
Duel
.
GetAttackTarget
()
==
e
:
GetHandler
()
then
elseif
Duel
.
GetAttackTarget
()
==
e
:
GetHandler
()
then
local
g
=
Duel
.
GetMatchingGroup
(
nil
,
tp
,
LOCATION_GZONE
,
0
,
nil
)
local
g
=
Duel
.
GetMatchingGroup
(
nil
,
tp
,
LOCATION_GZONE
,
0
,
nil
)
for
tc
in
vgf
.
Next
(
g
)
do
for
tc
in
VgF
.
Next
(
g
)
do
local
def
=
tc
:
GetDefense
()
local
def
=
tc
:
GetDefense
()
if
def
<
0
then
def
=
0
end
if
def
<
0
then
def
=
0
end
atk
=
atk
+
def
atk
=
atk
+
def
...
@@ -455,54 +462,34 @@ function VgD.SupportValue(e)
...
@@ -455,54 +462,34 @@ function VgD.SupportValue(e)
return
0
return
0
end
end
end
end
function
VgD
.
SendToGCost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
VgD
.
SendToGCondition
(
loc
)
local
c
=
e
:
GetHandler
()
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
c
:
IsLocation
(
LOCATION_MZONE
)
then
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
true
end
local
bc
=
Duel
.
GetAttackTarget
()
else
return
bc
and
bc
:
IsControler
(
tp
)
and
bc
~=
c
and
VgF
.
IsAbleToGZone
(
c
,
loc
)
if
chk
==
0
then
return
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
OAFFECT_CODE_SENDTOG
)
or
Duel
.
IsExistingMatchingCard
(
nil
,
tp
,
LOCATION_GZONE
,
0
,
1
,
nil
)
or
Duel
.
IsExistingMatchingCard
(
VgF
.
IsAbleToGZone
,
tp
,
LOCATION_HAND
,
0
,
1
,
c
)
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
OAFFECT_CODE_SENDTOG
)
and
not
Duel
.
IsExistingMatchingCard
(
nil
,
tp
,
LOCATION_GZONE
,
0
,
1
,
nil
)
then
local
tc
=
Duel
.
SelectMatchingCard
(
tp
,
VgF
.
IsAbleToGZone
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
c
)
tc
=
VgF
.
ReturnCard
(
tc
)
Duel
.
ConfirmCards
(
1
-
tp
,
tc
)
e
:
SetLabelObject
(
tc
)
end
end
end
end
end
function
VgD
.
SendToGCondition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
bc
=
Duel
.
GetAttackTarget
()
return
bc
and
bc
:
IsControler
(
tp
)
and
bc
~=
c
and
VgF
.
IsAbleToGZone
(
c
)
end
function
VgD
.
SendToGOperation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
VgD
.
SendToGOperation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
bc
=
Duel
.
GetAttackTarget
()
VgF
.
Sendto
(
LOCATION_GZONE
,
c
,
tp
,
POS_FACEUP
,
REASON_EFFECT
)
local
tc
=
e
:
GetLabelObject
()
local
g
=
Group
.
FromCards
(
c
)
if
tc
then
tc
=
VgF
.
ReturnCard
(
tc
)
g
:
AddCard
(
tc
)
end
Duel
.
Sendto
(
g
,
tp
,
LOCATION_GZONE
,
POS_FACEUP
,
REASON_EFFECT
)
end
end
function
VgD
.
GToGraveOperation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
VgD
.
GToGraveOperation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
(
)
local
g
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_GZONE
,
0
)
Duel
.
SendtoGrave
(
c
,
REASON_RULE
)
if
g
:
GetCount
()
>
0
then
VgF
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_RULE
)
end
end
end
function
VgD
.
MonsterAttackAnnounceCondition
(
e
,
c
)
function
VgD
.
MonsterAttackAnnounceCondition
(
e
,
c
)
return
e
:
GetHandler
():
IsPosition
(
POS_DEFENSE
)
or
(
VgF
.
IsSequence
(
e
:
GetHandler
(),
1
,
2
,
3
)
and
e
:
GetHandler
():
GetFlagEffect
(
AttackAtRearFlag
)
==
0
)
return
e
:
GetHandler
():
IsPosition
(
POS_DEFENSE
)
or
(
VgF
.
IsSequence
(
e
:
GetHandler
(),
1
,
2
,
3
)
and
e
:
GetHandler
():
GetFlagEffect
(
FLAG_ATTACK_AT_REAR
)
==
0
)
end
end
function
VgD
.
MonsterAttackCondition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
VgD
.
MonsterAttackCondition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
not
VgF
.
VMonsterFilter
(
c
)
then
return
false
end
if
not
VgF
.
VMonsterFilter
(
c
)
then
return
false
end
local
bc
=
c
:
GetBattleTarget
()
local
a
=
c
:
GetFlagEffectLabel
(
FLAG_ATTACK_TRIGGER
)
and
c
:
GetFlagEffectLabel
(
FLAG_ATTACK_TRIGGER
)
>
0
local
a
=
c
:
GetFlagEffectLabel
(
AttackTriggerFlag
)
and
c
:
GetFlagEffectLabel
(
AttackTriggerFlag
)
>
0
return
a
and
Duel
.
GetAttacker
()
==
c
return
bc
and
Duel
.
GetAttackTarget
()
==
bc
and
a
end
end
function
VgD
.
MonsterAttackCost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
VgD
.
MonsterAttackCost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
c
:
GetFlagEffect
(
CountTriggerFlag
)
==
0
end
if
chk
==
0
then
return
c
:
GetFlagEffect
(
FLAG_COUNT_TRIGGER
)
==
0
end
c
:
RegisterFlagEffect
(
CountTriggerFlag
,
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_DAMAGE_CAL
,
0
,
1
)
c
:
RegisterFlagEffect
(
FLAG_COUNT_TRIGGER
,
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_DAMAGE_CAL
,
0
,
1
)
end
end
function
VgD
.
MonsterCannotBeDestoryCondition
(
e
)
function
VgD
.
MonsterCannotBeDestoryCondition
(
e
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
@@ -531,7 +518,21 @@ function VgD.CardToGCondition(e,tp,eg,ep,ev,re,r,rp)
...
@@ -531,7 +518,21 @@ function VgD.CardToGCondition(e,tp,eg,ep,ev,re,r,rp)
return
c
:
IsLocation
(
LOCATION_GZONE
)
and
Duel
.
GetAttackTarget
()
return
c
:
IsLocation
(
LOCATION_GZONE
)
and
Duel
.
GetAttackTarget
()
end
end
function
VgD
.
CardToGOperation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
VgD
.
CardToGOperation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
GetAttackTarget
():
RegisterFlagEffect
(
DefenseEntirelyFlag
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
local
c
=
e
:
GetHandler
()
local
tc
=
Duel
.
GetAttackTarget
()
if
vgf
.
RMonsterFilter
(
tc
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCode
(
EFFECT_INDESTRUCTABLE_BATTLE
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetValue
(
1
)
tc
:
RegisterEffect
(
e1
)
vgf
.
EffectReset
(
c
,
e1
,
EVENT_BATTLED
)
elseif
vgf
.
VMonsterFilter
(
tc
)
then
tc
:
RegisterFlagEffect
(
FLAG_DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
end
end
end
--判定
--判定
...
@@ -561,7 +562,7 @@ end
...
@@ -561,7 +562,7 @@ end
function
VgD
.
CardTriggerOperation
(
chkop
,
f
)
function
VgD
.
CardTriggerOperation
(
chkop
,
f
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
c
:
IsRace
(
TR
R
IGGER_CRITICAL_STRIKE
)
then
if
c
:
IsRace
(
TRIGGER_CRITICAL_STRIKE
)
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CRITICAL_STRIKE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CRITICAL_STRIKE
)
local
g1
=
Duel
.
SelectMatchingCard
(
tp
,
nil
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
local
g1
=
Duel
.
SelectMatchingCard
(
tp
,
nil
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
Duel
.
HintSelection
(
g1
)
Duel
.
HintSelection
(
g1
)
...
@@ -570,13 +571,13 @@ function VgD.CardTriggerOperation(chkop,f)
...
@@ -570,13 +571,13 @@ function VgD.CardTriggerOperation(chkop,f)
local
g2
=
Duel
.
SelectMatchingCard
(
tp
,
nil
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
local
g2
=
Duel
.
SelectMatchingCard
(
tp
,
nil
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
Duel
.
HintSelection
(
g2
)
Duel
.
HintSelection
(
g2
)
VgF
.
AtkUp
(
c
,
g2
,
10000
,
nil
)
VgF
.
AtkUp
(
c
,
g2
,
10000
,
nil
)
elseif
c
:
IsRace
(
TR
R
IGGER_DRAW
)
then
elseif
c
:
IsRace
(
TRIGGER_DRAW
)
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATKUP
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATKUP
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
nil
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
nil
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
Duel
.
HintSelection
(
g
)
Duel
.
HintSelection
(
g
)
VgF
.
AtkUp
(
c
,
g
,
10000
,
nil
)
VgF
.
AtkUp
(
c
,
g
,
10000
,
nil
)
Duel
.
Draw
(
tp
,
1
,
REASON_TRIGGER
)
Duel
.
Draw
(
tp
,
1
,
REASON_TRIGGER
)
elseif
c
:
IsRace
(
TR
R
IGGER_HEAL
)
then
elseif
c
:
IsRace
(
TRIGGER_HEAL
)
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATKUP
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATKUP
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
nil
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
nil
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
Duel
.
HintSelection
(
g
)
Duel
.
HintSelection
(
g
)
...
@@ -585,62 +586,61 @@ function VgD.CardTriggerOperation(chkop,f)
...
@@ -585,62 +586,61 @@ function VgD.CardTriggerOperation(chkop,f)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODROP
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODROP
)
local
tc
=
Duel
.
SelectMatchingCard
(
tp
,
nil
,
tp
,
LOCATION_DAMAGE
,
0
,
1
,
1
,
nil
):
GetFirst
()
local
tc
=
Duel
.
SelectMatchingCard
(
tp
,
nil
,
tp
,
LOCATION_DAMAGE
,
0
,
1
,
1
,
nil
):
GetFirst
()
if
tc
then
if
tc
then
Duel
.
SendtoGrave
(
tc
,
REASON_TRIGGER
)
VgF
.
Sendto
(
LOCATION_DROP
,
tc
,
REASON_TRIGGER
)
Duel
.
Recover
(
tp
,
1
,
REASON_RULE
)
Duel
.
Recover
(
tp
,
1
,
REASON_RULE
)
end
end
end
end
elseif
c
:
IsRace
(
TR
R
IGGER_ADVANCE
)
then
elseif
c
:
IsRace
(
TRIGGER_ADVANCE
)
then
local
g
=
Duel
.
GetMatchingGroup
(
VgF
.
IsSequence
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
0
,
4
,
5
)
local
g
=
Duel
.
GetMatchingGroup
(
VgF
.
IsSequence
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
0
,
4
,
5
)
VgF
.
AtkUp
(
c
,
g
,
10000
,
nil
)
VgF
.
AtkUp
(
c
,
g
,
10000
,
nil
)
end
end
if
chkop
==
0
then
if
chkop
==
0
then
if
c
:
IsRace
(
TR
R
IGGER_SUPER
)
then
if
c
:
IsRace
(
TRIGGER_SUPER
)
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATKUP
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATKUP
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
nil
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
nil
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
Duel
.
HintSelection
(
g
)
Duel
.
HintSelection
(
g
)
VgF
.
AtkUp
(
c
,
g
,
100000000
,
nil
)
VgF
.
AtkUp
(
c
,
g
,
100000000
,
nil
)
Duel
.
Draw
(
tp
,
1
,
REASON_TRIGGER
)
Duel
.
Draw
(
tp
,
1
,
REASON_TRIGGER
)
Duel
.
Exile
(
c
,
REASON_TRIGGER
)
VgF
.
Sendto
(
LOCATION_EXILE
,
c
,
REASON_TRIGGER
)
else
else
Duel
.
Sendto
(
c
,
tp
,
LOCATION_DAMAGE
,
POS_FACEUP_ATTACK
,
REASON_EFFECT
)
VgF
.
Sendto
(
LOCATION_DAMAGE
,
c
,
tp
,
POS_FACEUP_ATTACK
,
REASON_EFFECT
)
Duel
.
Damage
(
tp
,
1
,
REASON_TRIGGER
)
Duel
.
Damage
(
tp
,
1
,
REASON_TRIGGER
)
end
end
local
rc
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
()
local
rc
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
()
local
bc
=
rc
:
GetBattleTarget
()
local
bc
=
rc
:
GetBattleTarget
()
local
label
=
bc
:
GetFlagEffectLabel
(
DamageTriggerFlag
)
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
label
=
label
-
1
label
=
label
-
1
Duel
.
RaiseEvent
(
c
,
EVENT_CUSTOM
+
EVENT_TRIGGER
,
e
,
0
,
tp
,
tp
,
0
)
Duel
.
RaiseEvent
(
c
,
EVENT_CUSTOM
+
EVENT_TRIGGER
,
e
,
0
,
tp
,
tp
,
0
)
bc
:
ResetFlagEffect
(
DamageTriggerFlag
)
bc
:
ResetFlagEffect
(
FLAG_DAMAGE_TRIGGER
)
bc
:
RegisterFlagEffect
(
DamageTriggerFlag
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
,
label
)
bc
:
RegisterFlagEffect
(
FLAG_DAMAGE_TRIGGER
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
,
label
)
elseif
label
==
0
then
elseif
label
==
0
then
bc
:
ResetFlagEffect
(
DamageTriggerFlag
)
bc
:
ResetFlagEffect
(
FLAG_DAMAGE_TRIGGER
)
Duel
.
RaiseEvent
(
rc
,
EVENT_CUSTOM
+
EVENT_DAMAGE_TRIGGER
,
e
,
0
,
tp
,
tp
,
0
)
Duel
.
RaiseEvent
(
rc
,
EVENT_CUSTOM
+
EVENT_DAMAGE_TRIGGER
,
e
,
0
,
tp
,
tp
,
0
)
end
end
else
else
if
c
:
IsRace
(
TR
R
IGGER_SUPER
)
then
if
c
:
IsRace
(
TRIGGER_SUPER
)
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATKUP
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATKUP
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
nil
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
nil
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
Duel
.
HintSelection
(
g
)
Duel
.
HintSelection
(
g
)
VgF
.
AtkUp
(
c
,
g
,
100000000
,
nil
)
VgF
.
AtkUp
(
c
,
g
,
100000000
,
nil
)
if
f
then
f
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
if
f
then
f
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
Duel
.
Draw
(
tp
,
1
,
REASON_TRIGGER
)
Duel
.
Draw
(
tp
,
1
,
REASON_TRIGGER
)
Duel
.
Exile
(
c
,
REASON_TRIGGER
)
VgF
.
Sendto
(
LOCATION_EXILE
,
c
,
REASON_TRIGGER
)
else
else
Duel
.
SendtoHand
(
c
,
nil
,
REASON_TRIGGER
)
VgF
.
Sendto
(
LOCATION_HAND
,
c
,
nil
,
REASON_TRIGGER
)
Duel
.
ConfirmCards
(
1
-
tp
,
c
)
end
end
local
rc
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
()
local
rc
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
()
local
label
=
rc
:
GetFlagEffectLabel
(
AttackTriggerFlag
)
local
label
=
rc
:
GetFlagEffectLabel
(
FLAG_ATTACK_TRIGGER
)
if
not
label
then
return
end
if
not
label
then
return
end
if
label
>
1
then
if
label
>
1
then
label
=
label
-
1
label
=
label
-
1
Duel
.
RaiseEvent
(
c
,
EVENT_CUSTOM
+
EVENT_TRIGGER
,
e
,
0
,
tp
,
tp
,
0
)
Duel
.
RaiseEvent
(
c
,
EVENT_CUSTOM
+
EVENT_TRIGGER
,
e
,
0
,
tp
,
tp
,
0
)
rc
:
ResetFlagEffect
(
AttackTriggerFlag
)
rc
:
ResetFlagEffect
(
FLAG_ATTACK_TRIGGER
)
rc
:
RegisterFlagEffect
(
AttackTriggerFlag
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
,
label
)
rc
:
RegisterFlagEffect
(
FLAG_ATTACK_TRIGGER
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
,
label
)
elseif
label
==
1
then
elseif
label
==
1
then
rc
:
ResetFlagEffect
(
AttackTriggerFlag
)
rc
:
ResetFlagEffect
(
FLAG_ATTACK_TRIGGER
)
end
end
end
end
end
end
...
@@ -711,7 +711,7 @@ function VgD.Rule(c)
...
@@ -711,7 +711,7 @@ function VgD.Rule(c)
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
.
RuleCardCondtion
)
e16
:
SetProperty
(
EFFECT_FLAG_
PLAYER_TARGET
+
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
)
end
end
...
@@ -723,19 +723,15 @@ function VgD.EventRideStart(e,tp,eg,ep,ev,re,r,rp)
...
@@ -723,19 +723,15 @@ function VgD.EventRideStart(e,tp,eg,ep,ev,re,r,rp)
end
end
function
VgD
.
RuleWin
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
VgD
.
RuleWin
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetCurrentChain
()
>
0
then
return
end
if
Duel
.
GetCurrentChain
()
>
0
then
return
end
for
WinReason
=
0x1
,
0xff
,
1
do
local
g1
=
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_DECK
,
0
)
if
WinReason
==
0x2
then
local
g2
=
Duel
.
GetFieldGroupCount
(
tp
,
0
,
LOCATION_DECK
)
local
g1
=
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_DECK
,
0
)
if
g1
==
0
and
g2
==
0
then
local
g2
=
Duel
.
GetFieldGroupCount
(
tp
,
0
,
LOCATION_DECK
)
Duel
.
Win
(
PLAYER_NONE
,
0x2
)
if
g1
==
0
and
g2
==
0
then
elseif
g1
==
0
then
Duel
.
Win
(
PLAYER_NONE
,
WinReason
)
Duel
.
Win
(
1
-
tp
,
0x2
)
elseif
g1
==
0
then
elseif
g2
==
0
then
Duel
.
Win
(
1
-
tp
,
WinReason
)
Duel
.
Win
(
tp
,
0x2
)
elseif
g2
==
0
then
end
Duel
.
Win
(
tp
,
WinReason
)
end
end
end
end
end
function
VgD
.
RuelDrawCondition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
VgD
.
RuelDrawCondition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
VgF
.
RuleTurnCondtion
(
e
)
and
VgF
.
RuleCardCondtion
(
e
)
return
VgF
.
RuleTurnCondtion
(
e
)
and
VgF
.
RuleCardCondtion
(
e
)
...
@@ -755,8 +751,8 @@ function VgD.RuelDrawOperation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -755,8 +751,8 @@ function VgD.RuelDrawOperation(e,tp,eg,ep,ev,re,r,rp)
end
end
function
VgD
.
ResetOperation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
VgD
.
ResetOperation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
c
:
GetFlagEffect
(
SupportFlag
)
>
0
then
c
:
ResetFlagEffect
(
SupportFlag
)
end
if
c
:
GetFlagEffect
(
FLAG_SUPPORT
)
>
0
then
c
:
ResetFlagEffect
(
FLAG_SUPPORT
)
end
if
c
:
GetFlagEffect
(
DefenseEntirelyFlag
)
>
0
then
c
:
ResetFlagEffect
(
DefenseEntirelyFlag
)
end
if
c
:
GetFlagEffect
(
FLAG_DEFENSE_ENTIRELY
)
>
0
then
c
:
ResetFlagEffect
(
FLAG_DEFENSE_ENTIRELY
)
end
end
end
--指令卡
--指令卡
...
@@ -766,7 +762,7 @@ end
...
@@ -766,7 +762,7 @@ end
---@param op function|nil 作为指令卡的效果
---@param op function|nil 作为指令卡的效果
---@param con function|nil 作为指令卡的发动条件
---@param con function|nil 作为指令卡的发动条件
---@param cost any|nil 作为指令卡的发动费用
---@param cost any|nil 作为指令卡的发动费用
function
VgD
.
SpellActivate
(
c
,
m
,
op
,
co
n
,
cost
)
function
VgD
.
SpellActivate
(
c
,
m
,
op
,
co
st
,
con
)
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
if
m
then
e1
:
SetDescription
(
VgF
.
Stringid
(
m
,
0
))
end
if
m
then
e1
:
SetDescription
(
VgF
.
Stringid
(
m
,
0
))
end
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
...
@@ -774,6 +770,7 @@ function VgD.SpellActivate(c,m,op,con,cost)
...
@@ -774,6 +770,7 @@ function VgD.SpellActivate(c,m,op,con,cost)
e1
:
SetCountLimit
(
1
,
VgID
+
EFFECT_COUNT_CODE_OATH
)
e1
:
SetCountLimit
(
1
,
VgID
+
EFFECT_COUNT_CODE_OATH
)
e1
:
SetCost
(
VgD
.
MixCost
(
cost
))
e1
:
SetCost
(
VgD
.
MixCost
(
cost
))
e1
:
SetCondition
(
VgD
.
SpellCondtion
(
con
))
e1
:
SetCondition
(
VgD
.
SpellCondtion
(
con
))
e1
:
Settarget
(
VgD
.
SpellTarget
)
e1
:
SetOperation
(
VgD
.
SpellOperation
(
op
))
e1
:
SetOperation
(
VgD
.
SpellOperation
(
op
))
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
end
end
...
@@ -784,9 +781,9 @@ function VgF.MixFilter(mg, cf, cval, bf, bmin, bmax, bval)
...
@@ -784,9 +781,9 @@ function VgF.MixFilter(mg, cf, cval, bf, bmin, bmax, bval)
end
end
end
end
function
VgD
.
MixCostFilter
(
c
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
mc
)
function
VgD
.
MixCostFilter
(
c
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
mc
)
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
AFFECT_CODE_MIX_DIFFERENT_NAME
)
and
c
:
IsCode
(
mc
:
GetCode
())
then
return
false
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
AFFECT_CODE_MIX_DIFFERENT_NAME
)
and
c
:
IsCode
(
mc
:
GetCode
())
then
return
false
end
local
ce
=
c
:
GetActivateEffect
()
local
ce
=
c
:
GetActivateEffect
()
if
not
ce
or
(
ce
:
GetCost
()
and
not
ce
:
GetCost
()(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
0
))
then
return
false
end
if
not
ce
or
(
ce
:
GetCost
()
and
not
ce
:
GetCost
()(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
))
then
return
false
end
local
cg
,
cval
=
mc
.
cos_g
,
mc
.
cos_val
local
cg
,
cval
=
mc
.
cos_g
,
mc
.
cos_val
local
bg
,
bval
=
c
.
cos_g
,
c
.
cos_val
local
bg
,
bval
=
c
.
cos_g
,
c
.
cos_val
if
not
(
cg
and
bg
and
cval
and
bval
)
then
return
1
end
if
not
(
cg
and
bg
and
cval
and
bval
)
then
return
1
end
...
@@ -798,20 +795,20 @@ function VgD.MixCostFilter(c,e,tp,eg,ep,ev,re,r,rp,mc)
...
@@ -798,20 +795,20 @@ function VgD.MixCostFilter(c,e,tp,eg,ep,ev,re,r,rp,mc)
local
bmin
=
table.remove
(
bval
,
1
)
local
bmin
=
table.remove
(
bval
,
1
)
local
bmax
=
table.remove
(
bval
,
1
)
local
bmax
=
table.remove
(
bval
,
1
)
local
mix_f
=
VgF
.
MixFilter
(
mg
,
cf
,
cval
,
bf
,
bmin
,
bmax
,
bval
)
local
mix_f
=
VgF
.
MixFilter
(
mg
,
cf
,
cval
,
bf
,
bmin
,
bmax
,
bval
)
return
mg
:
CheckSubGroup
(
mix_f
,
min
,
max
)
and
c
:
IsAbleToRemoveAsCost
()
and
VgF
.
LvCondition
(
c
)
return
mg
:
CheckSubGroup
(
mix_f
,
min
,
max
)
and
VgF
.
LvCondition
(
c
)
end
end
function
VgD
.
MixCost
(
cost
)
function
VgD
.
MixCost
(
cost
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
bool
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
bool
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
VgF
.
GetValueType
(
cost
)
~=
"function"
or
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
0
)
end
if
chk
==
0
then
return
VgF
.
GetValueType
(
cost
)
~=
"function"
or
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
end
if
not
bool
and
(
Duel
.
IsPlayerAffectedByEffect
(
tp
,
AFFECT_CODE_MIX
)
and
Duel
.
IsExistingMatchingCard
(
VgD
.
MixCostFilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
and
Duel
.
SelectYesNo
(
tp
,
VgF
.
Stringid
(
VgID
,
6
)))
then
if
not
bool
and
(
Duel
.
IsPlayerAffectedByEffect
(
tp
,
AFFECT_CODE_MIX
)
and
VgF
.
IsExistingMatchingCard
(
VgD
.
MixCostFilter
,
tp
,
LOCATION_DROP
,
0
,
1
,
nil
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
and
Duel
.
SelectYesNo
(
tp
,
VgF
.
Stringid
(
VgID
,
6
)))
then
local
bc
=
Duel
.
SelectMatchingCard
(
tp
,
VgD
.
MixCostFilter
,
tp
,
LOCATION_
GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
):
GetFirst
()
local
bc
=
Duel
.
SelectMatchingCard
(
tp
,
VgD
.
MixCostFilter
,
tp
,
LOCATION_
DROP
,
0
,
1
,
1
,
nil
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
):
GetFirst
()
if
cost
then
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
if
cost
then
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
if
bc
then
if
bc
then
Duel
.
Remove
(
bc
,
POS_FACEUP
,
REASON_COST
)
VgF
.
Sendto
(
LOCATION_REMOVED
,
bc
,
POS_FACEUP
,
REASON_COST
)
e
:
SetLabelObject
(
bc
)
e
:
SetLabelObject
(
bc
)
local
bce
=
bc
:
GetActivateEffect
()
local
bce
=
bc
:
GetActivateEffect
()
if
bce
and
bce
:
GetCost
()
then
bce
:
GetCost
()(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
1
,
true
)
end
if
bce
and
bce
:
GetCost
()
then
bce
:
GetCost
()(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
true
)
end
end
end
else
else
if
cost
then
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
if
cost
then
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
...
@@ -824,9 +821,17 @@ function VgD.SpellCondtion(con)
...
@@ -824,9 +821,17 @@ function VgD.SpellCondtion(con)
return
VgF
.
LvCondition
(
e
)
return
VgF
.
LvCondition
(
e
)
end
end
end
end
function
VgD
.
SpellTarget
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
ct1
=
Duel
.
GetFlagEffectLabel
(
tp
,
FLAG_SPELL_COUNT_LIMIT
)
local
ct2
=
Duel
.
GetFlagEffectLabel
(
tp
,
FLAG_SPELL_USED_COUNT
)
if
VgF
.
GetValueType
(
ct1
)
~=
"number"
then
ct1
=
1
end
if
VgF
.
GetValueType
(
ct2
)
~=
"number"
then
ct2
=
0
end
if
chk
==
0
then
return
ct2
<
ct1
end
Duel
.
RegisterFlagEffect
(
tp
,
FLAG_SPELL_USED_COUNT
,
RESET_PHASE
+
PHASE_END
,
0
,
1
,
ct2
+
1
)
end
function
VgD
.
SpellOperation
(
op
)
function
VgD
.
SpellOperation
(
op
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
bool
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
bool
)
if
op
then
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
if
op
then
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
1
)
end
local
mc
=
e
:
GetLabelObject
()
local
mc
=
e
:
GetLabelObject
()
if
bool
or
not
mc
then
return
end
if
bool
or
not
mc
then
return
end
local
te
=
mc
:
GetActivateEffect
()
local
te
=
mc
:
GetActivateEffect
()
...
@@ -841,7 +846,7 @@ end
...
@@ -841,7 +846,7 @@ end
---@param op function|nil 触发的效果
---@param op function|nil 触发的效果
---@param cost function|nil 效果的费用
---@param cost function|nil 效果的费用
---@param con function|nil 效果的条件
---@param con function|nil 效果的条件
---@param tg function|nil
未知。请资讯群主。
---@param tg function|nil
function
VgD
.
BeRidedByCard
(
c
,
m
,
code
,
op
,
cost
,
con
,
tg
)
function
VgD
.
BeRidedByCard
(
c
,
m
,
code
,
op
,
cost
,
con
,
tg
)
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
...
@@ -895,7 +900,7 @@ end
...
@@ -895,7 +900,7 @@ end
---@param op function|nil 触发的效果
---@param op function|nil 触发的效果
---@param cost function|nil 效果的费用
---@param cost function|nil 效果的费用
---@param con function|nil 效果触发的条件
---@param con function|nil 效果触发的条件
---@param tg function|nil
未知。请资讯群主。
---@param tg function|nil
---@param count integer|nil 指示效果在同一回合内最多发动的次数
---@param count integer|nil 指示效果在同一回合内最多发动的次数
---@param property integer|nil 指示效果的特殊属性。如确有必要填,请咨询群主。
---@param property integer|nil 指示效果的特殊属性。如确有必要填,请咨询群主。
function
VgD
.
EffectTypeTrigger
(
c
,
m
,
loc
,
typ
,
code
,
op
,
cost
,
con
,
tg
,
count
,
property
,
stringid
)
function
VgD
.
EffectTypeTrigger
(
c
,
m
,
loc
,
typ
,
code
,
op
,
cost
,
con
,
tg
,
count
,
property
,
stringid
)
...
@@ -925,7 +930,7 @@ end
...
@@ -925,7 +930,7 @@ end
---@param op function|nil 触发的效果
---@param op function|nil 触发的效果
---@param cost function|nil 效果的费用
---@param cost function|nil 效果的费用
---@param con function|nil 效果触发的条件
---@param con function|nil 效果触发的条件
---@param tg function|nil
未知。请资讯群主。
---@param tg function|nil
---@param count integer|nil 指示效果在同一回合内最多发动的次数
---@param count integer|nil 指示效果在同一回合内最多发动的次数
---@param property integer|nil 指示效果的特殊属性。如确有必要填,请咨询群主。
---@param property integer|nil 指示效果的特殊属性。如确有必要填,请咨询群主。
function
VgD
.
EffectTypeIgnition
(
c
,
m
,
loc
,
op
,
cost
,
con
,
tg
,
count
,
property
,
stringid
)
function
VgD
.
EffectTypeIgnition
(
c
,
m
,
loc
,
op
,
cost
,
con
,
tg
,
count
,
property
,
stringid
)
...
@@ -961,38 +966,36 @@ function VgD.EffectTypeTriggerWhenHitting(c,m,loc,typ,op,cost,con,tg,count,p,pro
...
@@ -961,38 +966,36 @@ function VgD.EffectTypeTriggerWhenHitting(c,m,loc,typ,op,cost,con,tg,count,p,pro
end
end
function
VgD
.
EffectTypeTriggerWhenHittingCon
(
typ
,
con
,
p
)
function
VgD
.
EffectTypeTriggerWhenHittingCon
(
typ
,
con
,
p
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetAttacker
():
GetControler
()
~=
p
then
return
false
end
if
eg
:
GetFirst
():
GetControler
()
==
p
and
(
VgF
.
GetValueType
(
con
)
==
"function"
and
not
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
))
then
return
false
end
if
typ
==
EFFECT_TYPE_SINGLE
then
if
typ
==
EFFECT_TYPE_SINGLE
then
if
VgF
.
GetValueType
(
con
)
~=
"function"
or
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
then
return
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
return
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
end
return
false
end
end
return
VgF
.
GetValueType
(
con
)
~=
"function"
or
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
true
end
end
end
end
function
VgD
.
QuickSpell
(
c
,
code
,
op
,
cost
,
con
,
tg
)
function
VgD
.
QuickSpell
(
c
,
op
,
cost
,
con
,
tg
)
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
code
)
e1
:
SetCode
(
EVENT_BATTLE_START
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_DAMAGE_STEP
)
e1
:
SetCondition
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
e1
:
SetCondition
(
VgD
.
LvCondition
(
con
))
if
VgF
.
GetValueType
(
con
)
==
"function"
and
not
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
then
return
false
end
local
bc
=
Duel
.
GetAttackTarget
()
return
bc
and
bc
:
IsControler
(
tp
)
and
VgF
.
LvCondition
(
e
)
end
)
if
VgF
.
GetValueType
(
cost
)
==
"function"
then
e1
:
SetCost
(
cost
)
end
if
VgF
.
GetValueType
(
cost
)
==
"function"
then
e1
:
SetCost
(
cost
)
end
if
VgF
.
GetValueType
(
tg
)
==
"function"
then
e1
:
SetTarget
(
tg
)
end
if
VgF
.
GetValueType
(
tg
)
==
"function"
then
e1
:
SetTarget
(
tg
)
end
if
VgF
.
GetValueType
(
op
)
==
"function"
then
e1
:
SetOperation
(
op
)
end
if
VgF
.
GetValueType
(
op
)
==
"function"
then
e1
:
SetOperation
(
op
)
end
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
end
end
function
VgD
.
LvCondition
(
con
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
VgF
.
GetValueType
(
con
)
==
"function"
and
not
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
then
return
false
end
return
VgF
.
LvCondition
(
e
)
end
end
function
VgD
.
ContinuousSpell
(
c
,
cost
,
con
,
tg
)
function
VgD
.
ContinuousSpell
(
c
,
cost
,
con
,
tg
)
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetCondition
(
VgD
.
LvCondition
(
con
))
e1
:
SetCountLimit
(
1
,
VgID
+
EFFECT_COUNT_CODE_OATH
)
e1
:
SetCondition
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
VgF
.
GetValueType
(
con
)
==
"function"
and
not
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
then
return
false
end
return
VgF
.
LvCondition
(
e
)
end
)
if
VgF
.
GetValueType
(
cost
)
==
"function"
then
e1
:
SetCost
(
cost
)
end
if
VgF
.
GetValueType
(
cost
)
==
"function"
then
e1
:
SetCost
(
cost
)
end
if
VgF
.
GetValueType
(
tg
)
==
"function"
then
e1
:
SetTarget
(
tg
)
end
if
VgF
.
GetValueType
(
tg
)
==
"function"
then
e1
:
SetTarget
(
tg
)
end
e1
:
SetOperation
(
VgD
.
ContinuousSpellOperation
)
e1
:
SetOperation
(
VgD
.
ContinuousSpellOperation
)
...
@@ -1000,21 +1003,21 @@ function VgD.ContinuousSpell(c,cost,con,tg)
...
@@ -1000,21 +1003,21 @@ function VgD.ContinuousSpell(c,cost,con,tg)
end
end
function
VgD
.
ContinuousSpellOperation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
VgD
.
ContinuousSpellOperation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
Duel
.
Sendto
(
c
,
tp
,
LOCATION_ORDER
,
POS_FACEUP_ATTACK
,
REASON_RULE
)
VgF
.
Sendto
(
LOCATION_ORDER
,
c
,
tp
,
POS_FACEUP_ATTACK
,
REASON_RULE
)
end
end
function
VgD
.
EffectTypeContinuousChangeAttack
(
c
,
typ
,
val
,
con
,
tg
,
mc
,
code
,
reset
,
loc
,
loc
1
,
loc2
)
function
VgD
.
EffectTypeContinuousChangeAttack
(
c
,
typ
,
val
,
con
,
tg
,
mc
,
code
,
reset
,
loc
,
loc
_self
,
loc_op
)
if
VgF
.
GetValueType
(
mc
)
~=
"Card"
then
mc
=
c
end
if
VgF
.
GetValueType
(
mc
)
~=
"Card"
then
mc
=
c
end
if
not
typ
then
typ
=
EFFECT_TYPE_SINGLE
end
if
not
typ
then
typ
=
EFFECT_TYPE_SINGLE
end
if
not
code
then
code
=
EFFECT_UPDATE_ATTACK
end
if
not
code
then
code
=
EFFECT_UPDATE_ATTACK
end
if
not
loc
then
loc
=
LOCATION_MZONE
end
if
not
loc
then
loc
=
LOCATION_MZONE
end
if
not
loc
1
then
loc1
=
0
end
if
not
loc
_self
then
loc_self
=
0
end
if
not
loc
2
then
loc2
=
0
end
if
not
loc
_op
then
loc_op
=
0
end
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
typ
)
e1
:
SetType
(
typ
)
e1
:
SetCode
(
code
)
e1
:
SetCode
(
code
)
e1
:
SetRange
(
loc
)
e1
:
SetRange
(
loc
)
if
reset
and
reset
>
0
then
e1
:
SetReset
(
reset
)
end
if
reset
and
reset
>
0
then
e1
:
SetReset
(
reset
)
end
if
typ
==
EFFECT_TYPE_FIELD
then
e1
:
SetTargetRange
(
loc
1
,
loc2
)
end
if
typ
==
EFFECT_TYPE_FIELD
then
e1
:
SetTargetRange
(
loc
_self
,
loc_op
)
end
if
VgF
.
GetValueType
(
con
)
==
"function"
then
e1
:
SetCondition
(
con
)
end
if
VgF
.
GetValueType
(
con
)
==
"function"
then
e1
:
SetCondition
(
con
)
end
if
VgF
.
GetValueType
(
tg
)
==
"function"
then
e1
:
SetTarget
(
tg
)
end
if
VgF
.
GetValueType
(
tg
)
==
"function"
then
e1
:
SetTarget
(
tg
)
end
e1
:
SetValue
(
val
)
e1
:
SetValue
(
val
)
...
@@ -1038,12 +1041,12 @@ end
...
@@ -1038,12 +1041,12 @@ end
function
VgD
.
TriggerCountUpOperation
(
num
)
function
VgD
.
TriggerCountUpOperation
(
num
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
label
=
c
:
GetFlagEffectLabel
(
AttackTriggerFlag
)
local
label
=
c
:
GetFlagEffectLabel
(
FLAG_ATTACK_TRIGGER
)
if
not
label
then
label
=
0
end
if
not
label
then
label
=
0
end
label
=
label
+
num
label
=
label
+
num
if
label
<
0
then
label
=
0
end
if
label
<
0
then
label
=
0
end
c
:
ResetFlagEffect
(
AttackTriggerFlag
)
c
:
ResetFlagEffect
(
FLAG_ATTACK_TRIGGER
)
c
:
RegisterFlagEffect
(
AttackTriggerFlag
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
,
label
)
c
:
RegisterFlagEffect
(
FLAG_ATTACK_TRIGGER
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
,
label
)
end
end
end
end
function
VgD
.
GlobalCheckEffect
(
c
,
m
,
typ
,
code
,
con
,
op
)
function
VgD
.
GlobalCheckEffect
(
c
,
m
,
typ
,
code
,
con
,
op
)
...
...
VgDefinition.Lua
View file @
3d53c661
...
@@ -87,13 +87,15 @@ SKILL_TWICE_TRIGGER =0x10 --三判
...
@@ -87,13 +87,15 @@ SKILL_TWICE_TRIGGER =0x10 --三判
SKILL_SELF_RIDE
=
0x20
--人格骑升
SKILL_SELF_RIDE
=
0x20
--人格骑升
SKILL_DEBRIS
=
0x40
--结晶碎片
SKILL_DEBRIS
=
0x40
--结晶碎片
--触发类型 --种族
--触发类型 --种族
TRRIGGER_ALL
=
0x3ffffff
--All
TRIGGER_ALL
=
0x3ffffff
--All
TRRIGGER_NONE
=
0x1
--无
TRIGGER_NONE
=
0x1
--无
TRRIGGER_CRITICAL_STRIKE
=
0x2
--暴击触发
TRIGGER_CRITICAL_STRIKE
=
0x2
--暴击触发
TRRIGGER_DRAW
=
0x4
--抽牌触发
TRIGGER_DRAW
=
0x4
--抽牌触发
TRRIGGER_HEAL
=
0x8
--治愈触发
TRIGGER_HEAL
=
0x8
--治愈触发
TRRIGGER_ADVANCE
=
0x10
--前列触发
TRIGGER_ADVANCE
=
0x10
--前列触发
TRRIGGER_SUPER
=
0x20
--超限触发
TRIGGER_SUPER
=
0x20
--超限触发
--Category 效果分类
CATEGORY_DEFENDER
=
0x1
--守护者
--Reason 卡片到当前位置的原因
--Reason 卡片到当前位置的原因
REASON_DESTROY
=
0x1
--破坏
REASON_DESTROY
=
0x1
--破坏
REASON_RELEASE
=
0x2
--解放
REASON_RELEASE
=
0x2
--解放
...
@@ -675,11 +677,13 @@ EVENT_DAMAGE_TRIGGER =VgID+2 --受伤判定完毕时点
...
@@ -675,11 +677,13 @@ EVENT_DAMAGE_TRIGGER =VgID+2 --受伤判定完毕时点
EVENT_RIDE_START
=
VgID
+
3
--骑升时点
EVENT_RIDE_START
=
VgID
+
3
--骑升时点
EVENT_SUPPORT
=
VgID
+
4
--支援时点
EVENT_SUPPORT
=
VgID
+
4
--支援时点
EVENT_TRIGGERCOUNTUP
=
VgID
+
5
--驱动追加
EVENT_TRIGGERCOUNTUP
=
VgID
+
5
--驱动追加
EVENT_SING
=
VgID
+
6
--演唱时
EVENT_OVERLAY_FILL
=
VgID
+
7
--灵魂填充时
--攻击时(EVENT_ATTACK_ANNOUNCE)
--攻击时(EVENT_ATTACK_ANNOUNCE)
--支援时(EVENT_CUSTOM+EVENT_SUPPORT)
--支援时(EVENT_CUSTOM+EVENT_SUPPORT)
--截击|放置到G(EVENT_MOVE)
--截击|放置到G(EVENT_MOVE)
--攻击击中时(EVENT_CUSTOM+EVENT_DAMAGE|EVENT_BATTLE_DESTROYING)
--攻击击中时(EVENT_CUSTOM+EVENT_DAMAGE
_TRIGGER
|EVENT_BATTLE_DESTROYING)
--战斗结束时(EVENT_BATTLED)
--战斗结束时(EVENT_BATTLED)
--Hint
--Hint
...
@@ -720,30 +724,28 @@ OPCODE_ISATTRIBUTE =0x40000104
...
@@ -720,30 +724,28 @@ OPCODE_ISATTRIBUTE =0x40000104
DOUBLE_DAMAGE
=-
2147483648
DOUBLE_DAMAGE
=-
2147483648
HALF_DAMAGE
=-
2147483647
HALF_DAMAGE
=-
2147483647
--Hint Message --提示消息,显示在窗口的上面
--Hint Message --提示消息,显示在窗口的上面
HINTMSG_
RELEASE
=
500
HINTMSG_
LEAVEONFIELD
=
500
--请选择要退场的卡
HINTMSG_DISCARD
=
501
--请选择要丢弃的手牌
HINTMSG_DISCARD
=
501
--请选择要丢弃的手牌
HINTMSG_
DESTROY
=
502
--
HINTMSG_
IMPRISON
=
502
--请选择要收容的卡
HINTMSG_REMOVE
=
503
--请选择要除外的卡
HINTMSG_REMOVE
=
503
--请选择要除外的卡
HINTMSG_TO
GRAVE
=
504
--
HINTMSG_TO
DROP
=
504
--请选择要置入弃牌区的卡
HINTMSG_RTOHAND
=
505
--请选择要返回手牌的卡
HINTMSG_RTOHAND
=
505
--请选择要返回手牌的卡
HINTMSG_ATOHAND
=
506
--请选择要加入手牌的卡
HINTMSG_ATOHAND
=
506
--请选择要加入手牌的卡
HINTMSG_TODECK
=
507
--请选择要返回卡组的卡
HINTMSG_TODECK
=
507
--请选择要返回卡组的卡
HINTMSG_
SUMMON
=
508
--
HINTMSG_
CALL
=
508
--请选择要Call到圆阵的卡
HINTMSG_SPSUMMON
=
509
--请选择要特殊召唤的卡
HINTMSG_SPSUMMON
=
509
--请选择要特殊召唤的卡
HINTMSG_
SET
=
510
--
HINTMSG_
DAMAGE
=
510
--请选择要消耗的费用
HINTMSG_
FMATERIAL
=
511
--
HINTMSG_
ATKUP
=
511
--请选择力量上升的卡
HINTMSG_
SMATERIAL
=
512
--
HINTMSG_
CRITICAL_STRIKE
=
512
--请选择☆值上升的卡
HINTMSG_FACEUP
=
514
--请选择表侧表示的卡
HINTMSG_FACEUP
=
514
--请选择表侧表示的卡
HINTMSG_FACEDOWN
=
515
--请选择里侧表示的卡
HINTMSG_FACEDOWN
=
515
--请选择里侧表示的卡
HINTMSG_ATTACK
=
516
--请选择攻击表示的怪兽
HINTMSG_ATTACK
=
516
--请选择攻击表示的怪兽
HINTMSG_DEFENSE
=
517
--请选择守备表示的怪兽
HINTMSG_DEFENSE
=
517
--请选择守备表示的怪兽
HINTMSG_EQUIP
=
518
--请选择要装备的卡
HINTMSG_EQUIP
=
518
--请选择要装备的卡
HINTMSG_REMOVEXYZ
=
519
--请选择要取除的超量素材
HINTMSG_TO_GZONE
=
519
--请选择要CALL到防卫者圆阵的卡
HINTMSG_CONTROL
=
520
--请选择要改变控制权的怪兽
HINTMSG_VMONSTER
=
522
--请选择先导者
HINTMSG_DESREPLACE
=
521
--请选择要代替破坏的卡
HINTMSG_RMONSTER
=
523
--请选择后防者
HINTMSG_FACEUPATTACK
=
522
--
HINTMSG_MONSTER
=
524
--请选择单位
HINTMSG_FACEUPDEFENSE
=
523
--请选择表侧守备表示的怪兽
HINTMSG_FACEDOWNATTACK
=
524
--请选择里侧攻击表示的怪兽
HINTMSG_FACEDOWNDEFENSE
=
525
--请选择里侧守备表示的怪兽
HINTMSG_FACEDOWNDEFENSE
=
525
--请选择里侧守备表示的怪兽
HINTMSG_CONFIRM
=
526
--请选择给对方确认的卡
HINTMSG_CONFIRM
=
526
--请选择给对方确认的卡
HINTMSG_TOFIELD
=
527
--请选择要放置到场上的卡
HINTMSG_TOFIELD
=
527
--请选择要放置到场上的卡
...
@@ -772,18 +774,11 @@ HINTMSG_RESOLVECARD =568 --请选择要处理效果的卡
...
@@ -772,18 +774,11 @@ HINTMSG_RESOLVECARD =568 --请选择要处理效果的卡
HINTMSG_ZONE
=
569
--请选择[%ls]的位置
HINTMSG_ZONE
=
569
--请选择[%ls]的位置
HINTMSG_CallZONE
=
570
--请选择圆阵
HINTMSG_CallZONE
=
570
--请选择圆阵
HINTMSG_TOZONE
=
571
--请选择要移动到的位置
HINTMSG_TOZONE
=
571
--请选择要移动到的位置
HINTMSG_
COUNTER
=
572
--请选择要放置指示物
的卡
HINTMSG_
TOTOP
=
572
--请选择要放置到牌堆顶
的卡
HINTMSG_DISABLE
=
573
--请选择要无效的卡
HINTMSG_DISABLE
=
573
--请选择要无效的卡
HINTMSG_OPERATECARD
=
574
--请选择要操作的卡
HINTMSG_OPERATECARD
=
574
--请选择要操作的卡
HINTMSG_XMATERIAL
=
513
--请选择要充入魂中的卡
HINTMSG_XMATERIAL
=
513
--请选择要充入魂中的卡
HINTMSG_LEAVEONFIELD
=
HINTMSG_RELEASE
--请选择要退场的卡
HINTMSG_TODROP
=
HINTMSG_TOGRAVE
--请选择要置入弃牌区的卡
HINTMSG_CALL
=
HINTMSG_SUMMON
--请选择要Call到圆阵的卡
HINTMSG_DAMAGE
=
HINTMSG_SET
--请选择要消耗的费用
HINTMSG_ATKUP
=
HINTMSG_FMATERIAL
--请选择力量上升的卡
HINTMSG_CRITICAL_STRIKE
=
HINTMSG_SMATERIAL
--请选择☆值上升的卡
HINTMSG_IMPRISON
=
HINTMSG_DESTROY
--请选择要收容的卡
HINTMSG_VMONSTER
=
HINTMSG_FACEUPATTACK
--请选择先导者
--Select --请选择
--Select --请选择
SELECT_HEADS
=
60
--正面
SELECT_HEADS
=
60
--正面
SELECT_TAILS
=
61
--反面
SELECT_TAILS
=
61
--反面
...
@@ -836,14 +831,14 @@ EFFECT_COUNT_CODE_DUEL =0x20000000 --决斗中使用次数
...
@@ -836,14 +831,14 @@ EFFECT_COUNT_CODE_DUEL =0x20000000 --决斗中使用次数
EFFECT_COUNT_CODE_CHAIN
=
0x40000000
--同一连锁中使用次数
EFFECT_COUNT_CODE_CHAIN
=
0x40000000
--同一连锁中使用次数
EFFECT_COUNT_CODE_SINGLE
=
0x1
--同一张卡的多个效果公共使用次数
EFFECT_COUNT_CODE_SINGLE
=
0x1
--同一张卡的多个效果公共使用次数
--特殊选项
--特殊选项
DUEL_TEST_MODE
=
0x01
--测试模式(目前暫無)
DUEL_TEST_MODE
=
0x01
--测试模式(目前暫無)
DUEL_ATTACK_FIRST_TURN
=
0x02
--第一回合可以攻击(用于残局)
DUEL_ATTACK_FIRST_TURN
=
0x02
--第一回合可以攻击(用于残局)
DUEL_OLD_REPLAY
=
0x04
--旧录像
DUEL_OLD_REPLAY
=
0x04
--旧录像
DUEL_OBSOLETE_RULING
=
0x08
--使用舊規則
DUEL_OBSOLETE_RULING
=
0x08
--使用舊規則
DUEL_PSEUDO_SHUFFLE
=
0x10
--不洗牌
DUEL_PSEUDO_SHUFFLE
=
0x10
--不洗牌
DUEL_TAG_MODE
=
0x20
--双打PP
DUEL_TAG_MODE
=
0x20
--双打PP
DUEL_SIMPLE_AI
=
0x40
--AI(用于残局)
DUEL_SIMPLE_AI
=
0x40
--AI(用于残局)
DUEL_RETURN_DECK_TOP
=
0x80
--回卡组洗切的卡放到卡组最上方(不洗牌模式下曾经的默认行为)
DUEL_RETURN_DECK_TOP
=
0x80
--回卡组洗切的卡放到卡组最上方(不洗牌模式下曾经的默认行为)
--Activity counter
--Activity counter
--global: 1-6 (binary: 5,6)
--global: 1-6 (binary: 5,6)
--custom: 1-5,7 (binary: 1-5)
--custom: 1-5,7 (binary: 1-5)
...
@@ -859,19 +854,25 @@ FLAG_ID_CHAINING =1
...
@@ -859,19 +854,25 @@ FLAG_ID_CHAINING =1
FLAG_ID_UNION
=
2
FLAG_ID_UNION
=
2
FLAG_ID_NO_NORMAL_DRAW
=
3
FLAG_ID_NO_NORMAL_DRAW
=
3
--Flag
--Flag
CountTriggerFlag
=
VgID
--计数标识
FLAG_COUNT_TRIGGER
=
VgID
--计数标识
AttackTriggerFlag
=
VgID
+
1
--多次攻击判定标识
FLAG_ATTACK_TRIGGER
=
VgID
+
1
--多次攻击判定标识
DamageTriggerFlag
=
VgID
+
2
--多次伤害判定标识
FLAG_DAMAGE_TRIGGER
=
VgID
+
2
--多次伤害判定标识
DefenseEntirelyFlag
=
VgID
+
3
--完全防御标识
FLAG_DEFENSE_ENTIRELY
=
VgID
+
3
--完全防御标识
ConditionFlag
=
VgID
+
4
--处于XX状态标识
FLAG_CONDITION
=
VgID
+
4
--处于XX状态标识
SupportFlag
=
VgID
+
5
--支援状态标识
FLAG_SUPPORT
=
VgID
+
5
--支援状态标识
AttackAtRearFlag
=
VgID
+
6
--后列攻击
FLAG_ATTACK_AT_REAR
=
VgID
+
6
--后列攻击
ImprisonFlag
=
VgID
+
6
--被收容
FLAG_IMPRISON
=
VgID
+
7
--被收容
FLAG_SPELL_COUNT_LIMIT
=
VgID
+
8
--指令卡次数
FLAG_SPELL_USED_COUNT
=
VgID
+
9
--指令卡已使用次数
--AffectedByEffect
--AffectedByEffect
AFFECT_CODE_MIX
=
VgID
--魔合成
AFFECT_CODE_MIX
=
VgID
--魔合成
AFFECT_CODE_MIX_DIFFERENT_NAME
=
VgID
+
1
--魔合成(卡名不同)
AFFECT_CODE_MIX_DIFFERENT_NAME
=
VgID
+
1
--魔合成(卡名不同)
AFFECT_CODE_SENDTOG
=
VgID
+
2
--需要两张卡才能防御
AFFECT_CODE_BOTH_WING
=
VgID
+
2
--你的卡片的白翼能力和黑翼能力两方均有效
AFFECT_CODE_SENDTOG_MZONE
=
VgID
+
3
--不能截击
AFFECT_CODE_NIGHT
=
VgID
+
3
--黑夜
AFFECT_CODE_DEEP_NIGHT
=
VgID
+
4
--深渊黑夜
AFFECT_CODE_OVERLAY_INSTEAD_WHEN_RIDE
=
10501082
--不执行『选择手牌中的1张卡,舍弃』而是执行『灵魂爆发1』来将卡RIDE
POS_FACEUP_DEFENCE
=
POS_FACEUP_DEFENSE
POS_FACEUP_DEFENCE
=
POS_FACEUP_DEFENSE
...
...
VgFuncLib.lua
View file @
3d53c661
...
@@ -10,12 +10,12 @@ vgf=VgF
...
@@ -10,12 +10,12 @@ vgf=VgF
function
VgF
.
VgCard
(
c
)
function
VgF
.
VgCard
(
c
)
VgD
.
Rule
(
c
)
VgD
.
Rule
(
c
)
VgF
.
DefineArguments
()
VgF
.
DefineArguments
()
VgD
.
RideUp
(
c
)
if
c
:
IsType
(
TYPE_MONSTER
)
then
if
c
:
IsType
(
TYPE_MONSTER
)
then
VgD
.
RideUp
(
c
)
VgD
.
CallToR
(
c
)
VgD
.
CallToR
(
c
)
VgD
.
MonsterBattle
(
c
)
VgD
.
MonsterBattle
(
c
)
end
end
if
not
c
:
IsRace
(
TR
R
IGGER_SUPER
)
then
if
not
c
:
IsRace
(
TRIGGER_SUPER
)
then
VgD
.
CardTrigger
(
c
,
nil
)
VgD
.
CardTrigger
(
c
,
nil
)
end
end
end
end
...
@@ -44,6 +44,7 @@ function VgF.DefineArguments()
...
@@ -44,6 +44,7 @@ function VgF.DefineArguments()
if
not
con
then
con
=
nil
end
if
not
con
then
con
=
nil
end
if
not
tg
then
tg
=
nil
end
if
not
tg
then
tg
=
nil
end
if
not
f
then
f
=
nil
end
if
not
f
then
f
=
nil
end
if
not
zone
then
zone
=
nil
end
end
end
---根据控制者,区域和编号获取zone;不合法的数据会返回0
---根据控制者,区域和编号获取zone;不合法的数据会返回0
---@param p integer 控制者
---@param p integer 控制者
...
@@ -99,7 +100,7 @@ function VgF.GetValueType(v)
...
@@ -99,7 +100,7 @@ function VgF.GetValueType(v)
end
end
---如果g是Group的话,返回其第一张卡;如果g是Card的话,返回其本身;否则返回nil。
---如果g是Group的话,返回其第一张卡;如果g是Card的话,返回其本身;否则返回nil。
---@param g any 要操作的变量
---@param g any 要操作的变量
---@return Card
|nil
---@return Card
function
VgF
.
ReturnCard
(
g
)
function
VgF
.
ReturnCard
(
g
)
local
tc
local
tc
if
VgF
.
GetValueType
(
g
)
==
"Group"
then
if
VgF
.
GetValueType
(
g
)
==
"Group"
then
...
@@ -309,9 +310,12 @@ end
...
@@ -309,9 +310,12 @@ end
---@param zone integer 指示要Call到的格子。<br>前列的R:17; 后列的R:14; 全部的R:31; V:32
---@param zone integer 指示要Call到的格子。<br>前列的R:17; 后列的R:14; 全部的R:31; V:32
---@param pos integer 表示形式
---@param pos integer 表示形式
---@return integer Call成功的数量
---@return integer Call成功的数量
function
VgF
.
Call
(
g
,
sumtype
,
tp
,
zone
,
pos
)
function
VgF
.
Call
(
g
,
sumtype
,
tp
,
zone
,
pos
,
chk
)
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
(
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
(
pos
)
~=
"number"
then
pos
=
POS_FACEUP_ATTACK
end
if
chk
==
0
then
return
Duel
.
SpecialSummon
(
g
,
sumtype
,
tp
,
tp
,
false
,
false
,
pos
)
end
if
zone
and
zone
>
0
then
if
zone
and
zone
>
0
then
local
sc
=
VgF
.
ReturnCard
(
g
)
local
sc
=
VgF
.
ReturnCard
(
g
)
local
z
=
VgF
.
GetAvailableLocation
(
tp
,
zone
)
local
z
=
VgF
.
GetAvailableLocation
(
tp
,
zone
)
...
@@ -329,13 +333,13 @@ function VgF.Call(g,sumtype,tp,zone,pos)
...
@@ -329,13 +333,13 @@ function VgF.Call(g,sumtype,tp,zone,pos)
local
tc
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
()
local
tc
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
()
local
mg
=
tc
:
GetOverlayGroup
()
local
mg
=
tc
:
GetOverlayGroup
()
if
mg
:
GetCount
()
~=
0
then
if
mg
:
GetCount
()
~=
0
then
Duel
.
Overlay
(
sc
,
mg
)
VgF
.
Sendto
(
LOCATION_OVERLAY
,
mg
,
sc
)
end
end
sc
:
SetMaterial
(
Group
.
FromCards
(
tc
))
sc
:
SetMaterial
(
Group
.
FromCards
(
tc
))
Duel
.
Overlay
(
sc
,
Group
.
FromCards
(
tc
)
)
VgF
.
Sendto
(
LOCATION_OVERLAY
,
Group
.
FromCards
(
tc
),
sc
)
elseif
Duel
.
IsExistingMatchingCard
(
VgD
.
CallFilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
tp
,
szone
)
then
elseif
VgF
.
IsExistingMatchingCard
(
VgD
.
CallFilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
tp
,
szone
)
then
local
tc
=
Duel
.
GetMatchingGroup
(
VgD
.
CallFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
tp
,
szone
):
GetFirst
()
local
tc
=
Duel
.
GetMatchingGroup
(
VgD
.
CallFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
tp
,
szone
):
GetFirst
()
Duel
.
SendtoGrave
(
tc
,
REASON_COST
)
VgF
.
Sendto
(
LOCATION_DROP
,
tc
,
REASON_COST
)
end
end
return
Duel
.
SpecialSummon
(
sc
,
sumtype
,
tp
,
tp
,
false
,
false
,
pos
,
szone
)
return
Duel
.
SpecialSummon
(
sc
,
sumtype
,
tp
,
tp
,
false
,
false
,
pos
,
szone
)
else
else
...
@@ -348,17 +352,17 @@ function VgF.Call(g,sumtype,tp,zone,pos)
...
@@ -348,17 +352,17 @@ function VgF.Call(g,sumtype,tp,zone,pos)
local
rc
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
()
local
rc
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
()
local
mg
=
rc
:
GetOverlayGroup
()
local
mg
=
rc
:
GetOverlayGroup
()
if
mg
:
GetCount
()
~=
0
then
if
mg
:
GetCount
()
~=
0
then
Duel
.
Overlay
(
sc
,
mg
)
VgF
.
Sendto
(
LOCATION_OVERLAY
,
mg
,
sc
)
end
end
sc
:
SetMaterial
(
Group
.
FromCards
(
rc
))
sc
:
SetMaterial
(
Group
.
FromCards
(
rc
))
Duel
.
Overlay
(
sc
,
Group
.
FromCards
(
rc
)
)
VgF
.
Sendto
(
LOCATION_OVERLAY
,
Group
.
FromCards
(
rc
),
sc
)
Duel
.
SpecialSummonStep
(
sc
,
sumtype
,
tp
,
tp
,
false
,
false
,
pos
,
0x20
)
Duel
.
SpecialSummonStep
(
sc
,
sumtype
,
tp
,
tp
,
false
,
false
,
pos
,
0x20
)
else
else
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CallZONE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CallZONE
)
local
szone
=
Duel
.
SelectField
(
tp
,
1
,
LOCATION_MZONE
,
0
,
z
)
local
szone
=
Duel
.
SelectField
(
tp
,
1
,
LOCATION_MZONE
,
0
,
z
)
if
Duel
.
IsExistingMatchingCard
(
VgD
.
CallFilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
tp
,
szone
)
then
if
VgF
.
IsExistingMatchingCard
(
VgD
.
CallFilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
tp
,
szone
)
then
local
tc
=
Duel
.
GetMatchingGroup
(
VgD
.
CallFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
tp
,
szone
):
GetFirst
()
local
tc
=
Duel
.
GetMatchingGroup
(
VgD
.
CallFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
tp
,
szone
):
GetFirst
()
Duel
.
SendtoGrave
(
tc
,
REASON_COST
)
VgF
.
Sendto
(
LOCATION_DROP
,
tc
,
REASON_COST
)
end
end
Duel
.
SpecialSummonStep
(
sc
,
sumtype
,
tp
,
tp
,
false
,
false
,
pos
,
szone
)
Duel
.
SpecialSummonStep
(
sc
,
sumtype
,
tp
,
tp
,
false
,
false
,
pos
,
szone
)
z
=
bit
.
bor
(
z
,
szone
)
z
=
bit
.
bor
(
z
,
szone
)
...
@@ -370,7 +374,7 @@ end
...
@@ -370,7 +374,7 @@ end
function
VgF
.
LvCondition
(
e_or_c
)
function
VgF
.
LvCondition
(
e_or_c
)
local
c
=
VgF
.
GetValueType
(
e_or_c
)
==
"Effect"
and
e_or_c
:
GetHandler
()
or
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
()
local
tp
,
lv
=
c
:
GetControler
(),
c
:
GetLevel
()
return
Duel
.
IsExistingMatchingCard
(
VgF
.
LvConditionFilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
lv
)
return
VgF
.
IsExistingMatchingCard
(
VgF
.
LvConditionFilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
lv
)
end
end
function
VgF
.
LvConditionFilter
(
c
,
lv
)
function
VgF
.
LvConditionFilter
(
c
,
lv
)
return
VgF
.
VMonsterFilter
(
c
)
and
c
:
IsLevelAbove
(
lv
)
return
VgF
.
VMonsterFilter
(
c
)
and
c
:
IsLevelAbove
(
lv
)
...
@@ -380,34 +384,24 @@ end
...
@@ -380,34 +384,24 @@ end
---@param g Card|Group 要被上升攻击力的卡
---@param g Card|Group 要被上升攻击力的卡
---@param val integer 要上升的攻击力(可以为负)
---@param val integer 要上升的攻击力(可以为负)
---@param reset integer|nil 指示重置的时点,默认为“回合结束时”。无论如何,都会在离场时重置。
---@param reset integer|nil 指示重置的时点,默认为“回合结束时”。无论如何,都会在离场时重置。
function
VgF
.
AtkUp
(
c
,
g
,
val
,
reset
,
resetcount
,
resettype
,
resetcode
)
function
VgF
.
AtkUp
(
c
,
g
,
val
,
reset
,
resetcount
)
if
not
c
then
return
end
if
not
c
then
return
end
if
not
reset
then
reset
=
RESET_PHASE
+
PHASE_END
end
if
not
resetcount
then
resetcount
=
1
end
if
not
resetcount
then
resetcount
=
1
end
if
not
resettype
then
resettype
=
EFFECT_TYPE_FIELD
end
if
not
reset
then
reset
=
RESET_PHASE
+
PHASE_END
end
if
not
resetcode
then
resetcode
=
0
end
if
not
val
or
val
==
0
then
return
end
if
not
val
or
val
==
0
then
return
end
if
VgF
.
GetValueType
(
g
)
==
"Group"
and
g
:
GetCount
()
>
0
then
if
VgF
.
GetValueType
(
g
)
==
"Group"
and
g
:
GetCount
()
>
0
then
local
e
=
{}
for
tc
in
VgF
.
Next
(
g
)
do
for
tc
in
VgF
.
Next
(
g
)
do
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetValue
(
val
)
e1
:
SetValue
(
val
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
reset
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
reset
,
resetcount
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
reset
,
resetcount
)
tc
:
RegisterEffect
(
e1
)
tc
:
RegisterEffect
(
e1
)
if
resetcode
>
0
then
table.insert
(
e
,
e1
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
resettype
+
EFFECT_TYPE_CONTINUOUS
)
e2
:
SetCode
(
resetcode
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e2
:
SetOperation
(
function
(
te
)
e1
:
Reset
()
te
:
Reset
()
end
)
tc
:
RegisterEffect
(
e2
)
end
end
end
return
e
elseif
VgF
.
GetValueType
(
g
)
==
"Card"
then
elseif
VgF
.
GetValueType
(
g
)
==
"Card"
then
local
tc
=
VgF
.
ReturnCard
(
g
)
local
tc
=
VgF
.
ReturnCard
(
g
)
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
...
@@ -416,18 +410,7 @@ function VgF.AtkUp(c,g,val,reset,resetcount,resettype,resetcode)
...
@@ -416,18 +410,7 @@ function VgF.AtkUp(c,g,val,reset,resetcount,resettype,resetcode)
e1
:
SetValue
(
val
)
e1
:
SetValue
(
val
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
reset
,
resetcount
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
reset
,
resetcount
)
tc
:
RegisterEffect
(
e1
)
tc
:
RegisterEffect
(
e1
)
if
resetcode
>
0
then
return
e1
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
resettype
+
EFFECT_TYPE_CONTINUOUS
)
e2
:
SetCode
(
resetcode
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e2
:
SetOperation
(
function
(
te
)
e1
:
Reset
()
te
:
Reset
()
end
)
tc
:
RegisterEffect
(
e2
)
end
end
end
end
end
---以c的名义,使g(中的每一张卡)的盾值上升val,并在reset时重置。
---以c的名义,使g(中的每一张卡)的盾值上升val,并在reset时重置。
...
@@ -435,13 +418,13 @@ end
...
@@ -435,13 +418,13 @@ end
---@param g Card|Group 要被上升盾值的卡
---@param g Card|Group 要被上升盾值的卡
---@param val integer 要上升的盾值(可以为负)
---@param val integer 要上升的盾值(可以为负)
---@param reset integer|nil 指示重置的时点,默认为“回合结束时”。无论如何,都会在离场时重置。
---@param reset integer|nil 指示重置的时点,默认为“回合结束时”。无论如何,都会在离场时重置。
function
VgF
.
DefUp
(
c
,
g
,
val
,
reset
,
resetcount
,
resettype
,
resetcode
)
function
VgF
.
DefUp
(
c
,
g
,
val
,
reset
,
resetcount
)
if
not
c
then
return
end
if
not
c
then
return
end
if
not
reset
then
reset
=
RESET_PHASE
+
PHASE_END
end
if
not
reset
then
reset
=
RESET_PHASE
+
PHASE_END
end
if
not
resetcount
then
resetcount
=
1
end
if
not
resetcount
then
resetcount
=
1
end
if
not
resettype
then
resettype
=
EFFECT_TYPE_FIELD
end
if
not
val
or
val
==
0
then
return
end
if
not
val
or
val
==
0
then
return
end
if
VgF
.
GetValueType
(
g
)
==
"Group"
and
g
:
GetCount
()
>
0
then
if
VgF
.
GetValueType
(
g
)
==
"Group"
and
g
:
GetCount
()
>
0
then
local
e
=
{}
for
tc
in
VgF
.
Next
(
g
)
do
for
tc
in
VgF
.
Next
(
g
)
do
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
...
@@ -449,19 +432,9 @@ function VgF.DefUp(c,g,val,reset,resetcount,resettype,resetcode)
...
@@ -449,19 +432,9 @@ function VgF.DefUp(c,g,val,reset,resetcount,resettype,resetcode)
e1
:
SetValue
(
val
)
e1
:
SetValue
(
val
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
reset
,
resetcount
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
reset
,
resetcount
)
tc
:
RegisterEffect
(
e1
)
tc
:
RegisterEffect
(
e1
)
if
resetcode
>
0
then
table.insert
(
e
,
e1
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
resettype
+
EFFECT_TYPE_CONTINUOUS
)
e2
:
SetCode
(
resetcode
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e2
:
SetOperation
(
function
(
te
)
e1
:
Reset
()
te
:
Reset
()
end
)
tc
:
RegisterEffect
(
e2
)
end
end
end
return
e
elseif
VgF
.
GetValueType
(
g
)
==
"Card"
then
elseif
VgF
.
GetValueType
(
g
)
==
"Card"
then
local
tc
=
VgF
.
ReturnCard
(
g
)
local
tc
=
VgF
.
ReturnCard
(
g
)
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
...
@@ -470,18 +443,7 @@ function VgF.DefUp(c,g,val,reset,resetcount,resettype,resetcode)
...
@@ -470,18 +443,7 @@ function VgF.DefUp(c,g,val,reset,resetcount,resettype,resetcode)
e1
:
SetValue
(
val
)
e1
:
SetValue
(
val
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
reset
,
resetcount
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
reset
,
resetcount
)
tc
:
RegisterEffect
(
e1
)
tc
:
RegisterEffect
(
e1
)
if
resetcode
>
0
then
return
e1
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
resettype
+
EFFECT_TYPE_CONTINUOUS
)
e2
:
SetCode
(
resetcode
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e2
:
SetOperation
(
function
(
te
)
e1
:
Reset
()
te
:
Reset
()
end
)
tc
:
RegisterEffect
(
e2
)
end
end
end
end
end
---以c的名义,使g(中的每一张卡)的☆上升val,并在reset时重置。
---以c的名义,使g(中的每一张卡)的☆上升val,并在reset时重置。
...
@@ -489,13 +451,14 @@ end
...
@@ -489,13 +451,14 @@ end
---@param g Card|Group 要被上升☆的卡
---@param g Card|Group 要被上升☆的卡
---@param val integer 要上升的☆(可以为负)
---@param val integer 要上升的☆(可以为负)
---@param reset integer|nil 指示重置的时点,默认为“回合结束时”。无论如何,都会在离场时重置。
---@param reset integer|nil 指示重置的时点,默认为“回合结束时”。无论如何,都会在离场时重置。
function
VgF
.
StarUp
(
c
,
g
,
val
,
reset
,
resetcount
,
resettype
,
resetcode
)
function
VgF
.
StarUp
(
c
,
g
,
val
,
reset
,
resetcount
)
if
not
c
or
not
g
then
return
end
if
not
c
or
not
g
then
return
end
if
not
reset
then
reset
=
RESET_PHASE
+
PHASE_END
end
if
not
reset
then
reset
=
RESET_PHASE
+
PHASE_END
end
if
not
resetcount
then
resetcount
=
1
end
if
not
resetcount
then
resetcount
=
1
end
if
not
resettype
then
resettype
=
EFFECT_TYPE_FIELD
end
if
not
val
or
val
==
0
then
return
end
if
not
val
or
val
==
0
then
return
end
if
VgF
.
GetValueType
(
g
)
==
"Group"
and
g
:
GetCount
()
>
0
then
if
VgF
.
GetValueType
(
g
)
==
"Group"
and
g
:
GetCount
()
>
0
then
local
t1
=
{}
local
t2
=
{}
for
tc
in
VgF
.
Next
(
g
)
do
for
tc
in
VgF
.
Next
(
g
)
do
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
...
@@ -508,25 +471,10 @@ function VgF.StarUp(c,g,val,reset,resetcount,resettype,resetcode)
...
@@ -508,25 +471,10 @@ function VgF.StarUp(c,g,val,reset,resetcount,resettype,resetcode)
local
e2
=
e1
:
Clone
()
local
e2
=
e1
:
Clone
()
e2
:
SetCode
(
EFFECT_UPDATE_RSCALE
)
e2
:
SetCode
(
EFFECT_UPDATE_RSCALE
)
tc
:
RegisterEffect
(
e2
)
tc
:
RegisterEffect
(
e2
)
if
resetcode
>
0
then
table.insert
(
t1
,
e1
)
local
e3
=
Effect
.
CreateEffect
(
c
)
table.insert
(
t2
,
e2
)
e3
:
SetType
(
resettype
+
EFFECT_TYPE_CONTINUOUS
)
e3
:
SetCode
(
resetcode
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e3
:
SetOperation
(
function
(
te
)
e1
:
Reset
()
te
:
Reset
()
end
)
tc
:
RegisterEffect
(
e3
)
local
e4
=
e3
:
Clone
()
e4
:
SetOperation
(
function
(
te
)
e2
:
Reset
()
te
:
Reset
()
end
)
tc
:
RegisterEffect
(
e4
)
end
end
end
return
t1
,
t2
elseif
VgF
.
GetValueType
(
g
)
==
"Card"
then
elseif
VgF
.
GetValueType
(
g
)
==
"Card"
then
local
tc
=
VgF
.
ReturnCard
(
g
)
local
tc
=
VgF
.
ReturnCard
(
g
)
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
...
@@ -540,202 +488,209 @@ function VgF.StarUp(c,g,val,reset,resetcount,resettype,resetcode)
...
@@ -540,202 +488,209 @@ function VgF.StarUp(c,g,val,reset,resetcount,resettype,resetcode)
local
e2
=
e1
:
Clone
()
local
e2
=
e1
:
Clone
()
e2
:
SetCode
(
EFFECT_UPDATE_RSCALE
)
e2
:
SetCode
(
EFFECT_UPDATE_RSCALE
)
tc
:
RegisterEffect
(
e2
)
tc
:
RegisterEffect
(
e2
)
if
resetcode
>
0
then
return
e1
,
e2
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
resettype
+
EFFECT_TYPE_CONTINUOUS
)
e3
:
SetCode
(
resetcode
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e3
:
SetOperation
(
function
(
te
)
e1
:
Reset
()
te
:
Reset
()
end
)
tc
:
RegisterEffect
(
e3
)
local
e4
=
e3
:
Clone
()
e4
:
SetOperation
(
function
(
te
)
e2
:
Reset
()
te
:
Reset
()
end
)
tc
:
RegisterEffect
(
e4
)
end
end
end
end
end
---判断c是否可以以规则的手段到G区域。
---判断c是否可以以规则的手段到G区域。
---@param c Card 要判断的卡
---@param c Card 要判断的卡
---@return boolean 指示c能否去到G区域。
---@return boolean 指示c能否去到G区域。
function
VgF
.
IsAbleToGZone
(
c
)
function
VgF
.
IsAbleToGZone
(
c
,
loc
)
if
c
:
IsLocation
(
LOCATION_HAND
)
then
return
true
end
if
loc
==
LOCATION_HAND
then
local
tp
=
c
:
GetControler
()
return
c
:
IsType
(
TYPE_MONSTER
)
return
c
:
IsAttribute
(
SKILL_BLOCK
)
and
VgF
.
IsSequence
(
c
,
0
,
4
)
and
not
Duel
.
IsPlayerAffectedByEffect
(
tp
,
AFFECT_CODE_SENDTOG_MZONE
)
and
c
:
IsLocation
(
LOCATION_MZONE
)
and
c
:
IsFaceup
()
elseif
loc
==
LOCATION_MZONE
then
return
c
:
IsAttribute
(
SKILL_BLOCK
)
and
VgF
.
IsSequence
(
c
,
0
,
4
)
and
c
:
IsLocation
(
LOCATION_MZONE
)
and
c
:
IsFaceup
()
end
return
false
end
---用于效果的Operation。它返回一个执行“[计数回充num]”的函数。
---@param num integer 计数回充的数量
---@return function 效果的Operation函数
function
VgF
.
DamageFill
(
num
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_POSCHANGE
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
num
,
num
,
nil
)
Duel
.
ChangePosition
(
g
,
POS_FACEUP_ATTACK
)
return
Duel
.
GetOperatedGroup
():
GetCount
()
end
end
end
---用于效果的Cost。它返回一个执行“【费用】[将手牌中的num张卡舍弃]”的函数。
---用于效果的Cost。它返回一个执行“【费用】[将手牌中的num张卡舍弃]”的函数。
---@param num integer 要舍弃的卡的数量
---@param num integer 要舍弃的卡的数量
---@return function 效果的Cost函数
---@return function 效果的Cost函数
function
VgF
.
DisCardCost
(
num
)
function
VgF
.
DisCardCost
(
num
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
return
VgF
.
DisCardCostOp
(
num
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
VgF
.
GetValueType
(
num
)
~=
"number"
then
return
0
end
end
local
c
=
e
:
GetHandler
()
end
local
m
=
c
:
GetOriginalCode
()
function
VgF
.
DisCardCostOp
(
num
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
cm
=
_G
[
"c"
..
m
]
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
local
m
=
c
:
GetOriginalCode
()
if
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
then
local
cm
=
_G
[
"c"
..
m
]
cm
.
cos_g
=
Duel
.
GetMatchingGroup
(
nil
,
tp
,
LOCATION_HAND
,
0
,
nil
)
if
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
then
cm
.
cos_val
=
{
nil
,
num
,
num
}
cm
.
cos_g
=
Duel
.
GetMatchingGroup
(
Card
.
IsDiscardable
,
tp
,
LOCATION_HAND
,
0
,
nil
)
end
cm
.
cos_val
=
{
nil
,
num
,
num
}
return
VgF
.
IsExistingMatchingCard
(
nil
,
tp
,
LOCATION_HAND
,
0
,
num
,
nil
)
end
end
if
chk
==
0
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DISCARD
)
return
Duel
.
IsExistingMatchingCard
(
Card
.
IsDiscardable
,
tp
,
LOCATION_HAND
,
0
,
num
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
nil
,
tp
,
LOCATION_HAND
,
0
,
num
,
num
,
nil
)
return
VgF
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_COST
+
REASON_DISCARD
)
end
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DISCARD
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
Card
.
IsDiscardable
,
tp
,
LOCATION_HAND
,
0
,
num
,
num
,
nil
)
Duel
.
SendtoGrave
(
g
,
REASON_COST
+
REASON_DISCARD
)
return
Duel
.
GetOperatedGroup
():
GetCount
()
end
end
---用于效果的Cost。它返回一个执行“【费用】[能量爆发num]”的函数。
---用于效果的Cost。它返回一个执行“【费用】[能量爆发num]”的函数。
---@param num integer 能量爆发的数量
---@param num integer 能量爆发的数量
---@return function 效果的Cost函数
---@return function 效果的Cost函数
function
VgF
.
EnergyCost
(
num
)
function
VgF
.
EnergyCost
(
num
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
return
VgF
.
EnergyCostOp
(
num
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
VgF
.
GetValueType
(
num
)
~=
"number"
then
return
0
end
end
local
c
=
e
:
GetHandler
()
end
local
m
=
c
:
GetOriginalCode
()
function
VgF
.
EnergyCostOp
(
num
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
cm
=
_G
[
"c"
..
m
]
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
local
m
=
c
:
GetOriginalCode
()
if
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
then
local
cm
=
_G
[
"c"
..
m
]
cm
.
cos_g
=
Duel
.
GetMatchingGroup
(
Card
.
IsCode
,
tp
,
LOCATION_EMBLEM
,
0
,
nil
,
10800730
)
if
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
then
cm
.
cos_val
=
{
nil
,
num
,
num
}
cm
.
cos_g
=
Duel
.
GetMatchingGroup
(
Card
.
IsCode
,
tp
,
LOCATION_EMBLEM
,
0
,
nil
,
10800730
)
end
cm
.
cos_val
=
{
nil
,
num
,
num
}
return
VgF
.
IsExistingMatchingCard
(
Card
.
IsCode
,
tp
,
LOCATION_EMBLEM
,
0
,
num
,
nil
,
10800730
)
end
end
if
chk
==
0
then
local
sg
=
Duel
.
GetMatchingGroup
(
Card
.
IsCode
,
tp
,
LOCATION_EMBLEM
,
0
,
nil
,
10800730
)
return
Duel
.
IsExistingMatchingCard
(
Card
.
IsCode
,
tp
,
LOCATION_EMBLEM
,
0
,
num
,
nil
,
10800730
)
local
g
=
VgF
.
GetCardsFromGroup
(
sg
,
num
)
return
VgF
.
Sendto
(
0
,
g
,
tp
,
POS_FACEUP
,
REASON_COST
)
end
end
local
sg
=
Duel
.
GetMatchingGroup
(
Card
.
IsCode
,
tp
,
LOCATION_EMBLEM
,
0
,
nil
,
10800730
)
local
g
=
VgF
.
GetCardsFromGroup
(
sg
,
num
)
Duel
.
Sendto
(
g
,
tp
,
0
,
POS_FACEUP
,
REASON_COST
)
return
Duel
.
GetOperatedGroup
():
GetCount
()
end
end
---用于效果的Cost。它返回一个执行“【费用】[灵魂爆发num]”的函数。
---用于效果的Cost。它返回一个执行“【费用】[灵魂爆发num]”的函数。
---@param num integer 灵魂爆发的数量
---@param num integer 灵魂爆发的数量
---@return function 效果的Cost函数
---@return function 效果的Cost函数
function
VgF
.
OverlayCost
(
num
)
function
VgF
.
OverlayCost
(
num
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
return
VgF
.
OverlayCostOp
(
num
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
VgF
.
GetValueType
(
num
)
~=
"number"
then
return
0
end
end
local
c
=
e
:
GetHandler
()
end
local
m
=
c
:
GetOriginalCode
()
function
VgF
.
OverlayCostOp
(
num
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
cm
=
_G
[
"c"
..
m
]
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
local
m
=
c
:
GetOriginalCode
()
if
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
then
local
cm
=
_G
[
"c"
..
m
]
cm
.
cos_g
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
nil
):
GetFirst
():
GetOverlayGroup
()
if
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
then
cm
.
cos_val
=
{
nil
,
num
,
num
}
cm
.
cos_g
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
nil
):
GetFirst
():
GetOverlayGroup
():
FilterCount
(
Card
.
IsAbleToGraveAsCost
,
nil
)
end
cm
.
cos_val
=
{
nil
,
num
,
num
}
return
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
nil
):
GetFirst
():
GetOverlayCount
()
>=
num
end
end
if
chk
==
0
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVEXYZ
)
return
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
nil
):
GetFirst
():
GetOverlayGroup
():
FilterCount
(
Card
.
IsAbleToGraveAsCost
,
nil
)
>=
num
local
g
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
():
GetOverlayGroup
():
Select
(
tp
,
nil
,
num
,
num
,
nil
)
return
VgF
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_COST
)
end
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVEXYZ
)
local
g
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
():
GetOverlayGroup
():
FilterSelect
(
tp
,
Card
.
IsAbleToGraveAsCost
,
num
,
num
,
nil
)
Duel
.
SendtoGrave
(
g
,
REASON_COST
)
return
Duel
.
GetOperatedGroup
():
GetCount
()
end
end
---用于效果的Cost或Operation。它返回一个执行“【费用】[灵魂填充num]”的函数。
---用于效果的Cost或Operation。它返回一个执行“【费用】[灵魂填充num]”的函数。
---@param num integer 灵魂填充的数量
---@param num integer 灵魂填充的数量
---@return function 效果的Cost或Operation函数
---@return function 效果的Cost或Operation函数
function
VgF
.
OverlayFill
(
num
)
function
VgF
.
OverlayFill
(
num
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
return
VgF
.
OverlayFillOP
(
num
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
VgF
.
GetValueType
(
num
)
~=
"number"
then
return
0
end
end
local
c
=
e
:
GetHandler
()
end
local
m
=
c
:
GetOriginalCode
()
function
VgF
.
OverlayFillOP
(
num
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
cm
=
_G
[
"c"
..
m
]
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
local
m
=
c
:
GetOriginalCode
()
if
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
then
local
cm
=
_G
[
"c"
..
m
]
cm
.
cos_g
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_DECK
,
0
)
if
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
then
cm
.
cos_val
=
{
nil
,
num
,
num
}
cm
.
cos_g
=
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_DECK
)
end
cm
.
cos_val
=
{
nil
,
num
,
num
}
return
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_DECK
,
0
)
>=
num
end
end
if
chk
==
0
then
local
rc
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
()
return
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_DECK
,
0
)
>=
num
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
num
)
Duel
.
DisableShuffleCheck
()
Duel
.
RaiseEvent
(
g
,
EVENT_CUSTOM
+
EVENT_OVERLAY_FILL
,
e
,
0
,
tp
,
tp
,
num
)
return
VgF
.
Sendto
(
LOCATION_OVERLAY
,
g
,
rc
)
end
end
local
rc
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
()
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
num
)
Duel
.
DisableShuffleCheck
()
Duel
.
Overlay
(
rc
,
g
)
return
Duel
.
GetOperatedGroup
():
GetCount
()
end
end
---用于效果的Cost。它返回一个执行“【费用】[计数爆发num]”的函数。
---用于效果的Cost。它返回一个执行“【费用】[计数爆发num]”的函数。
---@param num integer 计数爆发的数量
---@param num integer 计数爆发的数量
---@return function 效果的Cost函数
---@return function 效果的Cost函数
function
VgF
.
DamageCost
(
num
)
function
VgF
.
DamageCost
(
num
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
return
VgF
.
DamageCostOP
(
num
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
VgF
.
GetValueType
(
num
)
~=
"number"
then
return
0
end
end
local
c
=
e
:
GetHandler
()
end
local
m
=
c
:
GetOriginalCode
()
function
VgF
.
DamageCostOP
(
num
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
cm
=
_G
[
"c"
..
m
]
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
local
m
=
c
:
GetOriginalCode
()
if
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
then
local
cm
=
_G
[
"c"
..
m
]
cm
.
cos_g
=
Duel
.
GetMatchingGroup
(
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
nil
)
if
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
then
cm
.
cos_val
=
{
nil
,
num
,
num
}
cm
.
cos_g
=
Duel
.
GetMatchingGroup
(
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
nil
)
end
cm
.
cos_val
=
{
nil
,
num
,
num
}
return
VgF
.
IsExistingMatchingCard
(
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
num
,
nil
)
end
end
if
chk
==
0
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DAMAGE
)
return
Duel
.
IsExistingMatchingCard
(
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
num
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
num
,
num
,
nil
)
end
Duel
.
ChangePosition
(
g
,
POS_FACEDOWN_ATTACK
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DAMAGE
)
return
Duel
.
GetOperatedGroup
():
GetCount
()
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
num
,
num
,
nil
)
Duel
.
ChangePosition
(
g
,
POS_FACEDOWN_ATTACK
)
return
Duel
.
GetOperatedGroup
():
GetCount
()
end
---用于效果的Operation。执行“从loc中选取1张满足f的卡,返回手牌。”。
---@param loc integer 要选取的区域。不填则返回nil,而不是效果的Operation函数。
---@param f function 卡片过滤的条件
---@return function|nil 效果的Operation函数
function
VgF
.
SearchCard
(
loc
,
f
)
if
not
loc
then
return
end
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
VgF
.
SearchCardOP
(
loc
,
f
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
end
end
end
function
VgF
.
SearchCardOP
(
loc
,
f
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
VgF
.
IsCanBeCalled
(
c
,
e
,
tp
,
sumtype
,
pos
,
zone
)
if
not
loc
then
return
end
if
VgF
.
GetValueType
(
zone
)
~=
"number"
then
zone
=
VgF
.
GetAvailableLocation
(
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
if
VgF
.
GetValueType
(
sumtype
)
~=
"number"
then
sumtype
=
0
end
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
function
(
c
)
if
VgF
.
GetValueType
(
pos
)
~=
"number"
then
pos
=
POS_FACEUP_ATTACK
end
if
VgF
.
GetValueType
(
f
)
==
"function"
and
not
f
(
c
)
then
return
false
end
return
zone
>
0
and
c
:
IsCanBeSpecialSummoned
(
e
,
sumtype
,
tp
,
false
,
false
,
pos
,
tp
,
zone
)
return
c
:
IsAbleToHand
()
end
,
tp
,
loc
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
local
sg
=
Duel
.
GetOperatedGroup
()
return
sg
:
GetCount
()
end
end
---用于效果的Operation。执行“从loc中选取1张满足f的卡,Call到R上。”。
---用于效果的Operation。执行“从loc_from中选取最少int_min,最多int_max张满足f的卡,送去loc_to。”。
---@param loc integer 要选取的区域。不填则返回nil,而不是效果的Operation函数。
---@param loc_to integer 要送去的区域。不填则返回0。
---@param loc_from integer 要选取的区域。不填则返回0。
---@param f function 卡片过滤的条件
---@param f function 卡片过滤的条件
---@return function|nil 效果的Operation函数
function
VgF
.
SearchCard
(
loc_to
,
loc_from
,
f
,
int_max
,
int_min
)
function
VgF
.
SearchCardSpecialSummon
(
loc
,
f
)
if
not
loc
then
return
end
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
VgF
.
SearchCardSpecialSummonOP
(
loc
,
f
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
loc_to
or
not
loc_from
then
return
0
end
end
if
VgF
.
GetValueType
(
int_max
)
~=
"number"
then
int_max
=
1
end
end
if
VgF
.
GetValueType
(
int_min
)
~=
"number"
then
int_min
=
int_max
end
function
VgF
.
SearchCardSpecialSummonOP
(
loc
,
f
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
loc_to
==
LOCATION_HAND
then
if
not
loc
then
return
end
local
g
=
VgF
.
SelectMatchingCard
(
HINTMSG_ATOHAND
,
e
,
tp
,
function
(
c
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CALL
)
return
VgF
.
GetValueType
(
f
)
~=
"function"
or
f
(
c
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
function
(
c
)
end
,
tp
,
loc_from
,
0
,
int_min
,
int_max
,
nil
)
if
VgF
.
GetValueType
(
f
)
==
"function"
and
not
f
(
c
)
then
return
false
end
if
g
:
GetCount
()
>
0
then
return
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
return
VgF
.
Sendto
(
loc_to
,
g
,
nil
,
REASON_EFFECT
)
end
,
tp
,
loc
,
0
,
1
,
1
,
nil
)
end
if
g
:
GetCount
()
>
0
then
elseif
loc_to
==
LOCATION_MZONE
then
if
loc
&
LOCATION_DECK
+
LOCATION_HAND
+
LOCATION_EXTRA
==
0
then
Duel
.
HintSelection
(
g
)
end
local
g
=
VgF
.
SelectMatchingCard
(
HINTMSG_CALL
,
e
,
tp
,
function
(
c
)
VgF
.
Call
(
g
,
0
,
tp
)
if
not
VgF
.
IsCanBeCalled
(
c
,
e
,
tp
)
then
return
false
end
return
VgF
.
GetValueType
(
f
)
~=
"function"
or
f
(
c
)
end
,
tp
,
loc_from
,
0
,
int_min
,
int_max
,
nil
)
if
g
:
GetCount
()
>
0
then
return
VgF
.
Sendto
(
loc_to
,
g
,
0
,
tp
)
end
elseif
loc_to
==
LOCATION_DROP
then
local
g
=
VgF
.
SelectMatchingCard
(
HINTMSG_CALL
,
e
,
tp
,
function
(
c
)
return
VgF
.
GetValueType
(
f
)
~=
"function"
or
f
(
c
)
end
,
tp
,
loc_from
,
0
,
int_min
,
int_max
,
nil
)
if
g
:
GetCount
()
>
0
then
return
VgF
.
Sendto
(
loc_to
,
g
,
REASON_EFFECT
)
end
elseif
loc_to
==
LOCATION_REMOVED
then
local
g
=
VgF
.
SelectMatchingCard
(
HINTMSG_CALL
,
e
,
tp
,
function
(
c
)
return
VgF
.
GetValueType
(
f
)
~=
"function"
or
f
(
c
)
end
,
tp
,
loc_from
,
0
,
int_min
,
int_max
,
nil
)
if
g
:
GetCount
()
>
0
then
return
VgF
.
Sendto
(
loc_to
,
g
,
POS_FACEUP
,
REASON_EFFECT
)
end
elseif
loc_to
==
LOCATION_EXILE
then
local
g
=
VgF
.
SelectMatchingCard
(
HINTMSG_CALL
,
e
,
tp
,
function
(
c
)
return
VgF
.
GetValueType
(
f
)
~=
"function"
or
f
(
c
)
end
,
tp
,
loc_from
,
0
,
int_min
,
int_max
,
nil
)
if
g
:
GetCount
()
>
0
then
return
VgF
.
Sendto
(
loc_to
,
g
,
REASON_EFFECT
)
end
elseif
loc_to
==
LOCATION_OVERLAY
then
local
g
=
VgF
.
SelectMatchingCard
(
HINTMSG_CALL
,
e
,
tp
,
function
(
c
)
return
VgF
.
GetValueType
(
f
)
~=
"function"
or
f
(
c
)
end
,
tp
,
loc_from
,
0
,
int_min
,
int_max
,
nil
)
if
g
:
GetCount
()
>
0
then
local
rc
=
VgF
.
GetVMonster
(
tp
)
return
VgF
.
Sendto
(
loc_to
,
g
,
rc
)
end
elseif
bit
.
band
(
loc_to
,
0xf800
)
>
0
then
local
g
=
VgF
.
SelectMatchingCard
(
HINTMSG_CALL
,
e
,
tp
,
function
(
c
)
return
VgF
.
GetValueType
(
f
)
~=
"function"
or
f
(
c
)
end
,
tp
,
loc_from
,
0
,
int_min
,
int_max
,
nil
)
if
g
:
GetCount
()
>
0
then
return
VgF
.
Sendto
(
loc_to
,
g
,
tp
,
POS_FACEUP_ATTACK
,
REASON_EFFECT
)
end
end
return
0
end
end
local
sg
=
Duel
.
GetOperatedGroup
()
return
sg
:
GetCount
()
end
end
function
Group
.
CheckSubGroup
(
g
,
f
,
min
,
max
,
...
)
function
Group
.
CheckSubGroup
(
g
,
f
,
min
,
max
,
...
)
min
=
min
or
1
min
=
min
or
1
...
@@ -797,37 +752,292 @@ function VgF.SendtoPrison(g,p)
...
@@ -797,37 +752,292 @@ function VgF.SendtoPrison(g,p)
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
(
VgF
.
PrisonFilter
,
nil
,
og
:
GetCount
()):
GetFirst
()
if
VgF
.
GetValueType
(
g
)
==
"Card"
then
if
VgF
.
GetValueType
(
g
)
==
"Card"
then
Duel
.
Sendto
(
g
,
p
,
LOCATION_ORDER
,
POS_FACEUP_ATTACK
,
REASON_EFFECT
)
VgF
.
Sendto
(
LOCATION_ORDER
,
g
,
p
,
POS_FACEUP_ATTACK
,
REASON_EFFECT
)
g
:
RegisterFlagEffect
(
ImprisonFlag
,
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
Duel
.
Sendto
(
tc
,
p
,
LOCATION_ORDER
,
POS_FACEUP_ATTACK
,
REASON_EFFECT
)
VgF
.
Sendto
(
LOCATION_ORDER
,
tc
,
p
,
POS_FACEUP_ATTACK
,
REASON_EFFECT
)
tc
:
RegisterFlagEffect
(
ImprisonFlag
,
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
)
Duel
.
MoveSequence
(
oc
,
og
:
GetCount
()
-
1
)
end
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
---收容g(中的每一张卡)到p的监狱。没有监狱时,不操作。
---@param g Card|Group
---@param p integer
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 integer
---@param p integer
---@return boolean 指示p场上有没有监狱。
---@return boolean 指示p场上有没有监狱。
function
VgF
.
CheckPrison
(
p
)
function
VgF
.
CheckPrison
(
p
)
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
()
return
og
:
IsExists
(
Card
.
IsSetCard
,
1
,
nil
,
0x3040
)
return
oc
:
IsSetCard
(
0x3040
)
end
end
--重置Effect
--重置Effect
function
VgF
.
EffectReset
(
c
,
e
,
code
,
con
)
function
VgF
.
EffectReset
(
c
,
e
,
code
,
con
)
local
e1
=
Effect
.
CreateEffect
(
c
)
if
VgF
.
GetValueType
(
e
)
==
"Effect"
then
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCode
(
code
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetCode
(
code
)
e1
:
SetRange
(
LOCATION_ALL
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetLabelObject
(
e
)
e1
:
SetRange
(
LOCATION_ALL
)
if
VgF
.
GetValueType
(
con
)
==
"function"
then
e1
:
SetCondition
(
con
)
end
e1
:
SetLabelObject
(
e
)
e1
:
SetOperation
(
VgF
.
EffectResetOperation
)
if
VgF
.
GetValueType
(
con
)
==
"function"
then
e1
:
SetCondition
(
con
)
end
c
:
RegisterEffect
(
e1
)
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_CONTINUOUS
)
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
end
function
VgF
.
EffectResetOperation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
VgF
.
EffectResetOperation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
e1
=
e
:
GetLabelObject
()
local
e1
=
e
:
GetLabelObject
()
if
VgF
.
GetValueType
(
e1
)
==
"Effect"
then
e1
:
Reset
()
end
if
VgF
.
GetValueType
(
e1
)
==
"Effect"
then
e1
:
Reset
()
end
e
:
Reset
()
end
function
VgF
.
IsExistingMatchingCard
(
f
,
tp
,
loc_self
,
loc_op
,
int
,
except_g
,
...
)
return
VgF
.
GetMatchingGroupCount
(
f
,
tp
,
loc_self
,
loc_op
,
except_g
,
...
)
>
int
end
function
VgF
.
SelectMatchingCard
(
hintmsg
,
e
,
select_tp
,
f
,
tp
,
loc_self
,
loc_op
,
int_min
,
int_max
,
except_g
,
...
)
local
a
=
false
if
((
select_tp
==
tp
and
bit
.
band
(
loc_self
,
LOCATION_DECK
)
>
0
)
or
(
select_tp
~=
tp
and
bit
.
band
(
loc_op
,
LOCATION_DECK
)
>
0
))
and
Duel
.
SelectYesNo
(
select_tp
,
VgF
.
Stringid
(
VgID
,
13
))
then
local
g
=
Duel
.
GetFieldGroup
(
select_tp
,
LOCATION_DECK
,
0
)
Duel
.
DisableShuffleCheck
()
Duel
.
ConfirmCards
(
select_tp
,
g
)
a
=
true
end
local
g
=
Group
.
CreateGroup
()
if
bit
.
band
(
loc_self
,
LOCATION_MZONE
)
>
0
then
local
g1
=
Duel
.
GetMatchingGroup
(
function
(
c
)
return
c
:
IsCanBeEffectTarget
(
e
)
and
c
:
IsFaceup
()
end
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
loc_self
=
loc_self
-
LOCATION_MZONE
if
g1
:
GetCount
()
>
0
then
g
:
Merge
(
g1
)
end
end
if
bit
.
band
(
loc_op
,
LOCATION_MZONE
)
>
0
then
local
g1
=
Duel
.
GetMatchingGroup
(
function
(
c
)
return
c
:
IsCanBeEffectTarget
(
e
)
and
c
:
IsFaceup
()
end
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
loc_op
=
loc_op
-
LOCATION_MZONE
if
g1
:
GetCount
()
>
0
then
g
:
Merge
(
g1
)
end
end
if
loc_self
>
0
or
loc_op
>
0
then
local
g1
=
Duel
.
GetMatchingGroup
(
nil
,
tp
,
loc_self
,
loc_op
,
nil
)
if
g1
:
GetCount
()
>
0
then
g
:
Merge
(
g1
)
end
end
if
g
:
GetCount
()
>
0
then
Duel
.
Hint
(
HINT_SELECTMSG
,
select_tp
,
hintmsg
)
if
VgF
.
GetValueType
(
f
)
==
"function"
then
g
=
g
:
FilterSelect
(
select_tp
,
f
,
int_min
,
int_max
,
except_g
,
...
)
else
g
=
g
:
Select
(
select_tp
,
int_min
,
int_max
,
except_g
)
end
end
local
cg
=
g
:
Filter
(
function
(
tc
)
return
not
tc
:
IsLocation
(
LOCATION_DECK
+
LOCATION_HAND
+
LOCATION_EXTRA
)
end
,
nil
)
if
cg
:
GetCount
()
>
0
then
Duel
.
HintSelection
(
cg
)
end
if
a
then
Duel
.
ShuffleDeck
(
select_tp
)
end
return
g
end
function
VgF
.
GetMatchingGroupCount
(
f
,
tp
,
loc_self
,
loc_op
,
except_g
,
...
)
return
VgF
.
GetMatchingGroup
(
f
,
tp
,
loc_self
,
loc_op
,
except_g
,
...
):
GetCount
()
end
function
VgF
.
GetMatchingGroup
(
f
,
tp
,
loc_self
,
loc_op
,
except_g
,
...
)
local
g
=
Group
.
CreateGroup
()
if
bit
.
band
(
loc_self
,
LOCATION_MZONE
)
>
0
then
local
g1
=
Duel
.
GetMatchingGroup
(
Card
.
IsFaceup
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
loc_self
=
loc_self
-
LOCATION_MZONE
if
g1
:
GetCount
()
>
0
then
g
:
Merge
(
g1
)
end
end
if
bit
.
band
(
loc_op
,
LOCATION_MZONE
)
>
0
then
local
g1
=
Duel
.
GetMatchingGroup
(
Card
.
IsFaceup
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
loc_op
=
loc_op
-
LOCATION_MZONE
if
g1
:
GetCount
()
>
0
then
g
:
Merge
(
g1
)
end
end
if
loc_self
>
0
or
loc_op
>
0
then
local
g1
=
Duel
.
GetMatchingGroup
(
nil
,
tp
,
loc_self
,
loc_op
,
nil
)
if
g1
:
GetCount
()
>
0
then
g
:
Merge
(
g1
)
end
end
if
g
:
GetCount
()
>
0
and
VgF
.
GetValueType
(
f
)
==
"function"
then
g
=
g
:
Filter
(
f
,
except_g
,
...
)
end
return
g
end
---用于效果的Operation。执行“把卡sg,送去loc,第三个参数开始为额外参数,内容与原函数相同。”。
---@param loc integer 要送去的区域。不填则返回0。
---@param sg integer 要操作的卡|卡片组。
---@return number 具体操作的卡的数量
function
VgF
.
Sendto
(
loc
,
sg
,
...
)
local
function
AddOverlayGroup
(
g
)
for
tc
in
VgF
.
Next
(
g
)
do
if
tc
:
GetOverlayCount
()
>
0
then
local
mg
=
tc
:
GetOverlayGroup
()
g
:
Merge
(
mg
)
end
end
end
local
g
=
nil
if
VgF
.
GetValueType
(
sg
)
==
"Group"
and
sg
:
GetCount
()
>
0
then
g
=
Group
.
Clone
(
sg
)
elseif
VgF
.
GetValueType
(
sg
)
==
"Card"
then
g
=
Group
.
FromCards
(
sg
)
else
return
0
end
if
loc
==
LOCATION_DROP
then
AddOverlayGroup
(
g
)
local
function
repfilter
(
c
,
tp
)
return
c
:
IsControler
(
tp
)
and
(
c
:
IsLocation
(
LOCATION_GZONE
)
or
VgF
.
RMonsterFilter
(
c
))
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
GetLevel
()
%
2
==
1
end
local
print
=
0
for
tp
=
0
,
1
do
local
replace_to_overlay_group
=
g
:
Filter
(
repfilter
,
nil
,
tp
)
local
ct
=
replace_to_overlay_group
:
GetCount
()
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
10501118
)
and
ct
>
0
and
Duel
.
SelectYesNo
(
tp
,
VgF
.
Stringid
(
10501118
,
0
))
then
if
ct
>
1
then
replace_to_overlay_group
=
replace_to_overlay_group
:
Select
(
tp
,
1
,
ct
,
nil
)
end
local
ct1
=
VgF
.
Sendto
(
LOCATION_OVERLAY
,
replace_to_overlay_group
,
VgF
.
GetVMonster
(
tp
))
print
=
print
+
ct1
g
:
Sub
(
replace_to_overlay_group
)
end
end
if
g
:
GetCount
()
>
0
then
local
ct
=
Duel
.
SendtoGrave
(
g
,
...
)
print
=
print
+
ct
end
return
print
elseif
loc
==
LOCATION_DECK
then
return
Duel
.
SendtoDeck
(
g
,
...
)
elseif
loc
==
LOCATION_HAND
then
local
ct
=
Duel
.
SendtoHand
(
g
,
...
)
local
cg
=
Duel
.
GetOperatedGroup
()
for
tp
=
0
,
1
do
local
confirm_group
=
cg
:
Filter
(
Card
.
IsControler
,
nil
,
tp
)
if
confirm_group
:
GetCount
()
>
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
confirm_group
)
Duel
.
ShuffleHand
(
tp
)
end
end
return
ct
elseif
loc
==
LOCATION_REMOVED
then
AddOverlayGroup
(
g
)
return
Duel
.
Remove
(
g
,
...
)
elseif
loc
==
LOCATION_EXILE
then
AddOverlayGroup
(
g
)
return
Duel
.
Exile
(
g
,
...
)
elseif
loc
==
LOCATION_OVERLAY
then
AddOverlayGroup
(
g
)
local
list
=
{
...
}
local
c
=
nil
local
ct
=
0
if
#
list
>
0
then
c
=
list
[
1
]
Duel
.
Overlay
(
c
,
g
)
ct
=
Duel
.
GetOperatedGroup
():
GetCount
()
else
for
tp
=
0
,
1
do
c
=
VgF
.
GetVMonster
(
tp
)
local
og
=
g
:
Filter
(
Card
.
IsControler
,
nil
,
tp
)
if
og
:
GetCount
()
>
0
then
Duel
.
Overlay
(
c
,
og
)
ct
=
ct
+
Duel
.
GetOperatedGroup
():
GetCount
()
end
end
end
return
ct
elseif
loc
==
LOCATION_TRIGGER
then
AddOverlayGroup
(
g
)
local
list
=
{
...
}
local
move_tp
=
list
[
1
]
local
target_tp
=
list
[
2
]
local
pos
=
list
[
3
]
local
enable
=
list
[
4
]
local
ct
=
0
for
tc
in
VgF
.
Next
(
g
)
do
if
Duel
.
MoveToField
(
tc
,
move_tp
,
target_tp
,
loc
,
pos
,
enable
)
then
ct
=
ct
+
1
end
end
return
ct
elseif
loc
==
LOCATION_MZONE
then
local
list
=
{
...
}
local
sumtype
=
list
[
1
]
local
tp
=
list
[
2
]
local
zone
=
nil
if
#
list
>
2
then
zone
=
list
[
3
]
end
local
pos
=
nil
if
#
list
>
3
then
pos
=
list
[
4
]
end
local
chk
=
1
if
#
list
>
4
then
chk
=
list
[
5
]
end
return
VgF
.
Call
(
g
,
sumtype
,
tp
,
zone
,
pos
,
chk
)
elseif
bit
.
band
(
loc
,
0xf800
)
>
0
then
AddOverlayGroup
(
g
)
local
list
=
{
...
}
local
tp
=
list
[
1
]
local
pos
=
list
[
2
]
local
reason
=
list
[
3
]
if
#
list
>=
4
then
local
seq
=
list
[
4
]
Duel
.
Sendto
(
g
,
tp
,
loc
,
pos
,
reason
,
seq
)
local
return_group
=
Duel
.
GetOperatedGroup
()
return
return_group
:
GetCount
()
end
Duel
.
Sendto
(
g
,
tp
,
loc
,
pos
,
reason
)
local
return_group
=
Duel
.
GetOperatedGroup
()
return
return_group
:
GetCount
()
end
return
0
end
-- 白翼能力在你的封锁区中的卡只有奇数的等级的场合有效
function
VgF
.
WhiteWing
(
e
)
local
tp
=
e
:
GetHandlerPlayer
()
local
a
=
vgf
.
IsExistingMatchingCard
(
function
(
c
)
return
c
:
GetLevel
()
%
2
==
1
end
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
nil
)
local
b
=
vgf
.
IsExistingMatchingCard
(
function
(
c
)
return
c
:
GetLevel
()
%
2
==
0
end
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
nil
)
return
(
not
a
and
b
)
or
Duel
.
IsPlayerAffectedByEffect
(
tp
,
AFFECT_CODE_BOTH_WING
)
end
-- 黑翼能力在你的封锁区中的卡只有偶数的等级的场合有效
function
VgF
.
DarkWing
(
e
)
local
tp
=
e
:
GetHandlerPlayer
()
local
a
=
vgf
.
IsExistingMatchingCard
(
function
(
c
)
return
c
:
GetLevel
()
%
2
==
1
end
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
nil
)
local
b
=
vgf
.
IsExistingMatchingCard
(
function
(
c
)
return
c
:
GetLevel
()
%
2
==
0
end
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
nil
)
return
(
a
and
not
b
)
or
Duel
.
IsPlayerAffectedByEffect
(
tp
,
AFFECT_CODE_BOTH_WING
)
end
end
\ No newline at end of file
c10000113.lua
View file @
3d53c661
...
@@ -4,13 +4,28 @@ function cm.initial_effect(c)
...
@@ -4,13 +4,28 @@ function cm.initial_effect(c)
vgd
.
CardToG
(
c
,
nil
,
cm
.
op
)
vgd
.
CardToG
(
c
,
nil
,
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
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SELF
)
local
c
=
e
:
GetHandler
()
local
tg
=
Duel
.
SelectMatchingCard
(
tp
,
Card
.
IsFaceup
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_MONSTER
)
if
tg
:
GetCount
()
>
0
then
tg
:
GetFirst
():
RegisterFlagEffect
(
DefenseEntirelyFlag
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
end
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_MONSTER
,
e
,
tp
,
Card
.
IsFaceup
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
local
g
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_HAND
,
0
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>=
2
then
local
tc
=
g
:
GetFirst
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DISCARD
)
if
vgf
.
RMonsterFilter
(
tc
)
then
g
=
g
:
FilterSelect
(
tp
,
Card
.
IsDiscardable
,
1
,
1
,
nil
,
REASON_EFFECT
)
local
e1
=
Effect
.
CreateEffect
(
c
)
Duel
.
SendtoGrave
(
g
,
REASON_EFFECT
+
REASON_DISCARD
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCode
(
EFFECT_INDESTRUCTABLE_BATTLE
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetValue
(
1
)
tc
:
RegisterEffect
(
e1
)
vgf
.
EffectReset
(
c
,
e1
,
EVENT_BATTLED
)
elseif
vgf
.
VMonsterFilter
(
tc
)
then
tc
:
RegisterFlagEffect
(
FLAG_DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
end
end
local
sg
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_HAND
,
0
)
if
sg
:
GetCount
()
>=
2
then
sg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
vgf
.
Sendto
(
LOCATION_DROP
,
sg
,
REASON_DISCARD
+
REASON_EFFECT
)
end
end
end
end
\ No newline at end of file
c10101001.lua
View file @
3d53c661
...
@@ -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
)
vgf
.
VgCard
(
c
)
vgf
.
VgCard
(
c
)
vgd
.
EffectTypeIgnition
(
c
,
m
,
LOCATION_MZONE
,
vgf
.
SearchCard
SpecialSummon
(
LOCATION_DROP
,
cm
.
filter
),
vgf
.
DisCardCost
(
1
),
nil
,
nil
,
1
)
vgd
.
EffectTypeIgnition
(
c
,
m
,
LOCATION_MZONE
,
vgf
.
SearchCard
(
LOCATION_HAND
,
LOCATION_MZONE
,
LOCATION_DROP
,
cm
.
filter
),
vgf
.
DisCardCost
(
1
),
nil
,
nil
,
1
)
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
operation
,
vgf
.
DamageCost
(
1
))
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
operation
,
vgf
.
DamageCost
(
1
))
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
...
@@ -11,12 +11,12 @@ end
...
@@ -11,12 +11,12 @@ 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
=
Group
.
FromCards
(
c
)
local
g
=
Group
.
FromCards
(
c
)
local
sg
=
Duel
.
GetMatchingGroup
(
Card
.
IsSetCard
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
0x201
)
local
sg
=
vgf
.
GetMatchingGroup
(
Card
.
IsSetCard
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
0x201
)
if
sg
then
g
:
Merge
(
sg
)
end
if
sg
then
g
:
Merge
(
sg
)
end
vgf
.
AtkUp
(
c
,
g
,
10000
)
vgf
.
AtkUp
(
c
,
g
,
10000
)
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
.
GetMatchingGroup
(
nil
,
tp
,
LOCATION_DAMAGE
,
0
,
nil
)
local
g
=
vgf
.
GetMatchingGroup
(
nil
,
tp
,
LOCATION_DAMAGE
,
0
,
nil
)
for
tc
in
vgf
.
Next
(
g
)
do
for
tc
in
vgf
.
Next
(
g
)
do
Duel
.
ChangePosition
(
tc
,
POS_FACEDOWN
)
Duel
.
ChangePosition
(
tc
,
POS_FACEDOWN
)
end
end
...
...
c10101002.lua
View file @
3d53c661
...
@@ -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
)
vgf
.
VgCard
(
c
)
vgf
.
VgCard
(
c
)
vgd
.
BeRidedByCard
(
c
,
m
,
10101001
,
vgf
.
SearchCard
(
LOCATION_DECK
,
cm
.
filter
),
vgf
.
OverlayCost
(
1
))
vgd
.
BeRidedByCard
(
c
,
m
,
10101001
,
vgf
.
SearchCard
(
LOCATION_
HAND
,
LOCATION_
DECK
,
cm
.
filter
),
vgf
.
OverlayCost
(
1
))
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
)
...
...
c10101003.lua
View file @
3d53c661
...
@@ -2,15 +2,8 @@
...
@@ -2,15 +2,8 @@
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
.
BeRidedByCard
(
c
,
m
,
10101002
,
vgf
.
SearchCardSpecialSummon
(
LOCATION_DECK
,
cm
.
filter
))
vgd
.
BeRidedByCard
(
c
,
m
,
10101002
,
vgf
.
SearchCard
(
LOCATION_MZONE
,
LOCATION_DECK
,
cm
.
filter
))
local
e1
=
Effect
.
CreateEffect
(
c
)
vgd
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_SINGLE
,
2000
,
cm
.
con
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCondition
(
cm
.
con
)
e1
:
SetValue
(
2000
)
c
:
RegisterEffect
(
e1
)
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
c
:
IsCode
(
10101009
)
return
c
:
IsCode
(
10101009
)
...
...
c10101006.lua
View file @
3d53c661
...
@@ -7,20 +7,17 @@ function cm.initial_effect(c)
...
@@ -7,20 +7,17 @@ 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
()
VgF
.
AtkUp
(
c
,
c
,
10000
,
nil
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_BATTLED
)
local
e1
=
vgf
.
AtkUp
(
c
,
c
,
5000
,
nil
)
if
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
nil
):
GetFirst
():
GetOverlayGroup
():
FilterCount
(
Card
.
IsAbleToGraveAsCost
,
nil
)
>=
2
and
Duel
.
SelectEffectYesNo
(
tp
,
vgf
.
stringid
(
VgID
,
10
))
then
vgf
.
EffectReset
(
c
,
e1
,
EVENT_BATTLED
)
local
cg
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
():
GetOverlayGroup
():
FilterSelect
(
tp
,
Card
.
IsAbleToGraveAsCost
,
2
,
2
,
nil
)
if
vgf
.
GetMatchingGroup
(
vgf
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
nil
):
GetFirst
():
GetOverlayCount
()
>=
2
and
Duel
.
SelectEffectYesNo
(
tp
,
vgf
.
stringid
(
VgID
,
10
))
then
if
Duel
.
SendtoGrave
(
cg
,
REASON_COST
)
==
2
then
local
cg
=
vgf
.
GetMatchingGroup
(
vgf
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
():
GetOverlayGroup
():
Select
(
tp
,
2
,
2
,
nil
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_LEAVEONFIELD
)
if
vgf
.
Sendto
(
LOCATION_DROP
,
cg
,
REASON_COST
)
==
2
then
local
g
=
Duel
.
SelectTarget
(
tp
,
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_LEAVEONFIELD
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
if
g
then
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
Duel
.
HintSelection
(
g
)
Duel
.
SendtoGrave
(
g
,
REASON_EFFECT
)
end
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
(
ConditionFlag
)
==
201
and
vgf
.
VMonsterFilter
(
Duel
.
GetAttackTarget
())
return
vgf
.
RMonsterCondition
(
e
)
and
c
:
GetFlagEffectLabel
(
FLAG_CONDITION
)
==
201
and
vgf
.
VMonsterFilter
(
Duel
.
GetAttackTarget
())
end
end
\ No newline at end of file
c10101010.lua
View file @
3d53c661
...
@@ -2,14 +2,10 @@
...
@@ -2,14 +2,10 @@
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
.
CardTrigger
(
c
,
cm
.
operation
)
vgd
.
CardTrigger
(
c
,
cm
.
operation
)
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
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATKUP
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
e
,
tp
,
nil
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
nil
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
vgf
.
AtkUp
(
c
,
g
,
100000000
,
nil
)
if
g
then
Duel
.
HintSelection
(
g
)
vgf
.
AtkUp
(
c
,
g
,
100000000
,
nil
)
end
end
end
\ No newline at end of file
c10101015.lua
View file @
3d53c661
...
@@ -6,11 +6,9 @@ function cm.initial_effect(c)
...
@@ -6,11 +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
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATKUP
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
e
,
tp
,
nil
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
nil
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
vgf
.
AtkUp
(
c
,
g
,
5000
,
nil
)
Duel
.
HintSelection
(
g
)
vgf
.
SearchCard
(
LOCATION_HAND
,
LOCATION_DROP
,
cm
.
filter
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
VgF
.
AtkUp
(
c
,
g
,
5000
,
nil
)
vgf
.
SearchCardOP
(
LOCATION_DROP
,
cm
.
filter
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
c
:
IsCode
(
10101006
)
return
c
:
IsCode
(
10101006
)
...
...
c10102001.lua
View file @
3d53c661
...
@@ -6,22 +6,16 @@ function cm.initial_effect(c)
...
@@ -6,22 +6,16 @@ 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
()
Duel
.
RegisterFlagEffect
(
tp
,
ConditionFlag
,
RESET_PHASE
+
PHASE_END
,
0
,
1
,
m
)
Duel
.
RegisterFlagEffect
(
tp
,
FLAG_CONDITION
,
RESET_PHASE
+
PHASE_END
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
m
,
vgf
.
Stringid
(
m
,
0
))
local
e
=
Effect
.
CreateEffect
(
c
)
e
:
SetType
(
EFFECT_TYPE_FIELD
)
e
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
+
EFFECT_FLAG_CLIENT_HINT
)
e
:
SetCode
(
m
)
e
:
SetTargetRange
(
1
,
0
)
e
:
SetDescription
(
vgf
.
Stringid
(
m
,
0
))
Duel
.
RegisterEffect
(
e
,
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
.
GetTurnPlayer
()
==
tp
and
vgf
.
VMonsterCondition
(
e
)
return
Duel
.
GetTurnPlayer
()
==
tp
and
vgf
.
VMonsterCondition
(
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
=
Duel
.
GetMatchingGroup
(
vgf
.
IsSequence
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
0
,
4
)
local
g
=
vgf
.
GetMatchingGroup
(
vgf
.
IsSequence
,
tp
,
LOCATION_MZONE
,
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
)
return
Duel
.
GetFlagEffectLabel
(
tp
,
ConditionFlag
)
==
10102001
and
vgf
.
VMonsterCondition
(
e
)
local
ct
=
Duel
.
GetFlagEffectLabel
(
tp
,
FLAG_CONDITION
)
return
VgF
.
GetValueType
(
ct
)
==
"number"
and
ct
==
10102001
and
vgf
.
VMonsterCondition
(
e
)
end
end
\ No newline at end of file
c10102002.lua
View file @
3d53c661
...
@@ -14,20 +14,16 @@ end
...
@@ -14,20 +14,16 @@ 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
)
end
end
function
cm
.
filter
(
c
)
return
c
:
IsCanOverlay
()
and
vgf
.
RMonsterFilter
(
c
)
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
Duel
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
if
chk
==
0
then
return
vgf
.
IsExistingMatchingCard
(
vgf
.
RMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_XMATERIAL
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_XMATERIAL
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
vgf
.
Sendto
(
LOCATION_OVERLAY
,
g
,
c
)
Duel
.
Overlay
(
c
,
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
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
c
:
IsSummonType
(
SUMMON_TYPE_RIDE
)
or
c
:
IsSummonType
(
SUMMON_TYPE_SELFRIDE
)
return
c
:
IsSummonType
(
SUMMON_TYPE_RIDE
)
or
c
:
IsSummonType
(
SUMMON_TYPE_SELFRIDE
)
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
.
GetFlagEffectLabel
(
tp
,
ConditionFlag
)
==
10102001
return
Duel
.
GetFlagEffectLabel
(
tp
,
FLAG_CONDITION
)
==
10102001
end
end
\ No newline at end of file
c10102003.lua
View file @
3d53c661
...
@@ -12,17 +12,16 @@ function cm.initial_effect(c)
...
@@ -12,17 +12,16 @@ function cm.initial_effect(c)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
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
.
GetFlagEffectLabel
(
tp
,
ConditionFlag
)
==
10102001
local
ct
=
Duel
.
GetFlagEffectLabel
(
tp
,
FLAG_CONDITION
)
return
VgF
.
GetValueType
(
ct
)
==
"number"
and
ct
==
10102001
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
.
IsSequence
(
c
,
5
)
and
r
==
REASON_RIDEUP
return
(
c
:
IsSummonType
(
SUMMON_TYPE_RIDE
)
or
c
:
IsSummonType
(
SUMMON_TYPE_SELFRIDE
))
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
vgf
.
GetAvailableLocation
(
tp
)
&
0x4
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CALL
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CALL
)
local
g
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
():
GetOverlayGroup
():
FilterSelect
(
tp
,
Card
.
IsCanBeSpecialSummoned
,
1
,
1
,
nil
,
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
,
0x4
)
local
g
=
vgf
.
GetMatchingGroup
(
vgf
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
():
GetOverlayGroup
():
FilterSelect
(
tp
,
vgf
.
IsCanBeCalled
,
1
,
1
,
nil
,
e
,
tp
,
nil
,
nil
,
0x4
)
if
vgf
.
Call
(
g
,
0
,
tp
,
0x4
)
>
0
then
vgf
.
Sendto
(
LOCATION_MZONE
,
g
,
0
,
tp
,
0x4
)
vgf
.
OverlayFillOP
(
num
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
vgf
.
OverlayFill
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
end
end
c10102005.lua
View file @
3d53c661
...
@@ -11,9 +11,9 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -11,9 +11,9 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
vgf
.
OverlayFill
(
1
)
vgf
.
OverlayFill
(
1
)
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
if
Duel
.
GetFlagEffectLabel
(
tp
,
ConditionFlag
)
==
10102001
and
Duel
.
IsExistingMatchingCard
(
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
1
,
nil
)
and
Duel
.
SelectEffectYesNo
(
tp
,
vgf
.
stringid
(
VgID
,
10
))
then
local
ct
=
Duel
.
GetFlagEffectLabel
(
tp
,
FLAG_CONDITION
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DAMAGE
)
if
VgF
.
GetValueType
(
ct
)
==
"number"
and
ct
==
10102001
and
vgf
.
IsExistingMatchingCard
(
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
1
,
nil
)
and
Duel
.
SelectEffectYesNo
(
tp
,
vgf
.
stringid
(
VgID
,
10
))
then
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_DAMAGE
,
e
,
tp
,
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
1
,
1
,
nil
)
Duel
.
ChangePosition
(
g
,
POS_FACEDOWN_ATTACK
)
Duel
.
ChangePosition
(
g
,
POS_FACEDOWN_ATTACK
)
vgf
.
AtkUp
(
c
,
c
,
15000
)
vgf
.
AtkUp
(
c
,
c
,
15000
)
end
end
...
...
c10102008.lua
View file @
3d53c661
...
@@ -6,8 +6,9 @@ function cm.initial_effect(c)
...
@@ -6,8 +6,9 @@ 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
num
=
1
local
num
=
1
if
Duel
.
GetFlagEffectLabel
(
tp
,
ConditionFlag
)
==
10102001
then
num
=
num
+
1
end
local
ct
=
Duel
.
GetFlagEffectLabel
(
tp
,
FLAG_CONDITION
)
VgF
.
OverlayFillOP
(
num
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
VgF
.
GetValueType
(
ct
)
==
"number"
and
ct
==
10102001
then
num
=
num
+
1
end
vgf
.
OverlayFill
(
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
.
RMonsterCondition
(
e
)
and
vgf
.
GetVMonster
(
tp
):
IsCode
(
10102001
)
...
...
c10103001.lua
View file @
3d53c661
...
@@ -38,10 +38,8 @@ function cm.filter(c)
...
@@ -38,10 +38,8 @@ function cm.filter(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
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATKUP
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_RMONSTER
,
e
,
tp
,
cm
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
Duel
.
HintSelection
(
g
)
Duel
.
ChangePosition
(
g
,
POS_FACEUP_ATTACK
)
Duel
.
ChangePosition
(
g
,
POS_FACEUP_ATTACK
)
vgf
.
AtkUp
(
c
,
g
,
10000
,
nil
)
vgf
.
AtkUp
(
c
,
g
,
10000
,
nil
)
end
end
...
...
c10103002.lua
View file @
3d53c661
--天枪的骑士 勒克斯
--天枪的骑士 勒克斯
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
.
BeRidedByCard
(
c
,
m
,
10103001
,
cm
.
operation
,
cm
.
cost
)
vgd
.
BeRidedByCard
(
c
,
m
,
10103001
,
cm
.
operation
,
cm
.
cost
)
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
...
@@ -24,12 +24,12 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -24,12 +24,12 @@ 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
.
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
Duel
.
IsExistingMatchingCard
(
vgf
.
IsLevel
,
tp
,
LOCATION_HAND
,
0
,
3
,
nil
,
3
)
end
if
chk
==
0
then
return
vgf
.
IsExistingMatchingCard
(
vgf
.
IsLevel
,
tp
,
LOCATION_HAND
,
0
,
3
,
nil
,
3
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CONFIRM
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_CONFIRM
,
e
,
tp
,
vgf
.
IsLevel
,
tp
,
LOCATION_HAND
,
0
,
3
,
3
,
nil
,
3
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
vgf
.
IsLevel
,
tp
,
LOCATION_HAND
,
0
,
3
,
3
,
nil
,
3
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
Duel
.
ShuffleHand
(
tp
)
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
Duel
.
IsExistingMatchingCard
(
vgf
.
IsLevel
,
tp
,
LOCATION_MZONE
,
0
,
3
,
nil
,
3
)
return
vgf
.
RMonsterCondition
(
e
)
and
vgf
.
IsExistingMatchingCard
(
vgf
.
IsLevel
,
tp
,
LOCATION_MZONE
,
0
,
3
,
nil
,
3
)
end
end
\ No newline at end of file
c10103003.lua
View file @
3d53c661
...
@@ -6,26 +6,25 @@ function cm.initial_effect(c)
...
@@ -6,26 +6,25 @@ function cm.initial_effect(c)
vgd
.
EffectTypeIgnition
(
c
,
m
,
LOCATION_MZONE
,
cm
.
operation2
,
vgf
.
DamageCost
(
1
),
vgf
.
RMonsterCondition
,
nil
,
1
)
vgd
.
EffectTypeIgnition
(
c
,
m
,
LOCATION_MZONE
,
cm
.
operation2
,
vgf
.
DamageCost
(
1
),
vgf
.
RMonsterCondition
,
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
Duel
.
IsExistingMatchingCard
(
vgf
.
IsLevel
,
tp
,
LOCATION_HAND
,
0
,
2
,
nil
,
3
)
end
if
chk
==
0
then
return
vgf
.
IsExistingMatchingCard
(
vgf
.
IsLevel
,
tp
,
LOCATION_HAND
,
0
,
2
,
nil
,
3
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CONFIRM
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_CONFIRM
,
e
,
tp
,
vgf
.
IsLevel
,
tp
,
LOCATION_HAND
,
0
,
2
,
2
,
nil
,
3
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
vgf
.
IsLevel
,
tp
,
LOCATION_HAND
,
0
,
2
,
2
,
nil
,
3
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
Duel
.
ShuffleHand
(
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
)
Duel
.
ConfirmDecktop
(
tp
,
1
)
Duel
.
ConfirmDecktop
(
tp
,
1
)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
1
)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
1
)
local
tc
=
vgf
.
ReturnCard
(
g
)
local
tc
=
vgf
.
ReturnCard
(
g
)
Duel
.
DisableShuffleCheck
()
Duel
.
DisableShuffleCheck
()
if
tc
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
then
if
vgf
.
IsCanBeCalled
(
tc
,
e
,
tp
)
then
vgf
.
Call
(
g
,
0
,
tp
)
vgf
.
Sendto
(
LOCATION_MZONE
,
g
,
0
,
tp
)
else
if
tc
:
IsAbleToGrave
()
then
else
Duel
.
SendtoGrave
(
g
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
end
end
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
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATKUP
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
e
,
tp
,
cm
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
vgf
.
AtkUp
(
c
,
g
,
5000
)
vgf
.
AtkUp
(
c
,
g
,
5000
)
end
end
...
...
c10103005.lua
View file @
3d53c661
--激烈的魔女 拉玛娜
--激烈的魔女 拉玛娜
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
)
--【自】【R】:这个单位攻击时,通过【费用】[计数爆发1],这次战斗中,这个单位的力量+5000。
--【自】【R】:这个单位攻击时,通过【费用】[计数爆发1],这次战斗中,这个单位的力量+5000。
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
operation
,
vgf
.
DamageCost
(
1
),
vgf
.
RMonsterCondition
)
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
operation
,
vgf
.
DamageCost
(
1
),
vgf
.
RMonsterCondition
)
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
.
AtkUp
(
c
,
c
,
5000
,
nil
)
local
e1
=
vgf
.
AtkUp
(
c
,
c
,
5000
,
nil
)
vgf
.
EffectReset
(
c
,
e1
,
EVENT_BATTLED
)
end
end
c10103006.lua
View file @
3d53c661
--斧钺的骑士 拉夫尔克
--斧钺的骑士 拉夫尔克
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
.
EffectTypeIgnition
(
c
,
m
,
LOCATION_MZONE
,
cm
.
operation
,
cm
.
cost
,
vgf
.
RMonsterCondition
)
vgd
.
EffectTypeIgnition
(
c
,
m
,
LOCATION_MZONE
,
cm
.
operation
,
cm
.
cost
,
vgf
.
RMonsterCondition
)
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
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATKUP
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
e
,
tp
,
cm
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
vgf
.
AtkUp
(
c
,
g
,
10000
,
nil
)
if
g
then
Duel
.
HintSelection
(
g
)
VgF
.
AtkUp
(
c
,
g
,
10000
,
nil
)
end
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
vgf
.
IsLevel
(
c
,
3
)
and
vgf
.
RMonsterFilter
(
c
)
return
vgf
.
IsLevel
(
c
,
3
)
and
vgf
.
RMonsterFilter
(
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
:
IsCanOverlay
()
end
if
chk
==
0
then
return
true
end
local
rc
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
()
local
rc
=
vgf
.
GetMatchingGroup
(
vgf
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
()
Duel
.
Overlay
(
rc
,
c
)
vgf
.
Sendto
(
LOCATION_OVERLAY
,
c
,
r
c
)
end
end
\ No newline at end of file
c10103012.lua
View file @
3d53c661
--天贯的骑士 加尔斯
--天贯的骑士 加尔斯
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
)
end
end
\ No newline at end of file
c10103015.lua
View file @
3d53c661
--圣裁之刻,来临
--圣裁之刻,来临
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
.
SpellActivate
(
c
,
m
,
cm
.
operation
,
nil
,
0
,
0
,
0
,
0
,
0
,
2
)
vgd
.
SpellActivate
(
c
,
m
,
cm
.
operation
)
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
,
2
,
REASON_EFFECT
)
Duel
.
Draw
(
tp
,
2
,
REASON_EFFECT
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATKUP
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
e
,
tp
,
nil
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
nil
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
vgf
.
AtkUp
(
c
,
g
,
5000
)
if
g
then
Duel
.
HintSelection
(
g
)
VgF
.
AtkUp
(
c
,
g
,
5000
)
end
end
end
\ No newline at end of file
c10104001.lua
View file @
3d53c661
...
@@ -9,12 +9,11 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -9,12 +9,11 @@ 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
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATKUP
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
ct
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
vgf
.
RMonsterFilter
,
tp
,
LOCATION_MZONE
,
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
tc
:
RegisterFlagEffect
(
AttackAtRearFlag
,
RESET_EVENT
+
RESETS_STANDARD
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
0
,
vgf
.
Stringid
(
VgID
,
10
))
tc
:
RegisterFlagEffect
(
FLAG_ATTACK_AT_REAR
,
RESET_EVENT
+
RESETS_STANDARD
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
0
,
vgf
.
Stringid
(
VgID
,
10
))
end
end
vgf
.
AtkUp
(
c
,
g
,
5000
,
nil
)
vgf
.
AtkUp
(
c
,
g
,
5000
,
nil
)
end
end
...
...
c10104002.lua
View file @
3d53c661
...
@@ -13,16 +13,16 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -13,16 +13,16 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
1
)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
1
)
local
tc
=
vgf
.
ReturnCard
(
g
)
local
tc
=
vgf
.
ReturnCard
(
g
)
Duel
.
DisableShuffleCheck
()
Duel
.
DisableShuffleCheck
()
if
tc
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
then
if
vgf
.
IsCanBeCalled
(
tc
,
e
,
tp
)
then
vgf
.
Call
(
g
,
0
,
tp
)
vgf
.
Sendto
(
LOCATION_MZONE
,
g
,
0
,
tp
)
elseif
tc
:
IsAbleToHand
()
then
else
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_HAND
,
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
end
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
()
vgf
.
AtkUp
(
c
,
c
,
10000
,
nil
)
local
e1
=
vgf
.
AtkUp
(
c
,
c
,
10000
,
nil
)
vgf
.
EffectReset
(
c
,
e1
,
EVENT_BATTLED
)
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
()
...
...
c10104003.lua
View file @
3d53c661
...
@@ -20,10 +20,10 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -20,10 +20,10 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
1
)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
1
)
local
tc
=
vgf
.
ReturnCard
(
g
)
local
tc
=
vgf
.
ReturnCard
(
g
)
Duel
.
DisableShuffleCheck
()
Duel
.
DisableShuffleCheck
()
if
tc
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
and
vgf
.
IsLevel
(
tc
,
0
,
1
,
2
)
then
if
vgf
.
IsCanBeCalled
(
tc
,
e
,
tp
)
and
vgf
.
IsLevel
(
tc
,
0
,
1
,
2
)
then
vgf
.
Call
(
g
,
0
,
tp
)
vgf
.
Sendto
(
LOCATION_MZONE
,
g
,
0
,
tp
)
else
if
tc
:
IsCanOverlay
()
then
else
Duel
.
Overlay
(
c
,
g
)
vgf
.
Sendto
(
LOCATION_OVERLAY
,
g
,
c
)
end
end
end
end
function
cm
.
con
(
e
)
function
cm
.
con
(
e
)
...
...
c10104006.lua
View file @
3d53c661
...
@@ -13,5 +13,5 @@ end
...
@@ -13,5 +13,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
.
IsExistingMatchingCard
(
vgf
.
RMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
4
,
c
)
return
vgf
.
RMonsterCondition
(
e
)
and
vgf
.
IsExistingMatchingCard
(
vgf
.
RMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
4
,
c
)
end
end
\ No newline at end of file
c10104007.lua
View file @
3d53c661
...
@@ -17,11 +17,10 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -17,11 +17,10 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
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
Duel
.
IsExistingMatchingCard
(
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
1
,
nil
)
and
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
nil
):
GetFirst
():
GetOverlayGroup
():
FilterCount
(
Card
.
IsAbleToGraveAsCost
,
nil
)
>=
1
end
if
chk
==
0
then
return
vgf
.
IsExistingMatchingCard
(
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
1
,
nil
)
and
vgf
.
GetMatchingGroup
(
vgf
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
nil
):
GetFirst
():
GetOverlayCount
()
>=
1
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DAMAGE
)
local
g1
=
vgf
.
SelectMatchingCard
(
HINTMSG_DAMAGE
,
e
,
tp
,
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
1
,
1
,
nil
)
local
g1
=
Duel
.
SelectMatchingCard
(
tp
,
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
1
,
1
,
nil
)
Duel
.
ChangePosition
(
g1
,
POS_FACEDOWN
)
Duel
.
ChangePosition
(
g1
,
POS_FACEDOWN
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVEXYZ
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVEXYZ
)
local
g2
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
():
GetOverlayGroup
():
FilterSelect
(
tp
,
Card
.
IsAbleToGraveAsCost
,
1
,
1
,
nil
)
local
g2
=
vgf
.
GetMatchingGroup
(
vgf
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
():
GetOverlayGroup
():
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
SendtoGrave
(
g2
,
REASON_COST
)
vgf
.
Sendto
(
LOCATION_DROP
,
g2
,
REASON_COST
)
end
end
\ No newline at end of file
c10104008.lua
View file @
3d53c661
...
@@ -11,10 +11,9 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -11,10 +11,9 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
1
)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
1
)
local
tc
=
vgf
.
ReturnCard
(
g
)
local
tc
=
vgf
.
ReturnCard
(
g
)
Duel
.
DisableShuffleCheck
()
Duel
.
DisableShuffleCheck
()
if
tc
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
then
if
vgf
.
IsCanBeCalled
(
tc
,
e
,
tp
)
then
vgf
.
Call
(
g
,
0
,
tp
)
vgf
.
Sendto
(
LOCATION_MZONE
,
g
,
0
,
tp
)
elseif
tc
:
IsAbleToHand
()
then
else
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_HAND
,
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
end
end
end
\ No newline at end of file
c10104015.lua
View file @
3d53c661
...
@@ -3,22 +3,14 @@ function cm.initial_effect(c)
...
@@ -3,22 +3,14 @@ function cm.initial_effect(c)
vgf
.
VgCard
(
c
)
vgf
.
VgCard
(
c
)
--(闪现指令只能在你能将防卫者CALL出场的时段施放。)
--(闪现指令只能在你能将防卫者CALL出场的时段施放。)
--选择你的1个单位,这次战斗中,力量+5000。后列的你的后防者有3张以上的话,不+5000,而是+15000。
--选择你的1个单位,这次战斗中,力量+5000。后列的你的后防者有3张以上的话,不+5000,而是+15000。
vgd
.
QuickSpell
(
c
,
EVENT_MOVE
,
cm
.
op
,
nil
,
cm
.
con
)
vgd
.
QuickSpell
(
c
,
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
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATKUP
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
e
,
tp
,
nil
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
nil
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
local
atk
=
5000
local
atk
=
5000
if
Duel
.
IsExistingMatchingCard
(
vgf
.
IsSequence
,
tp
,
LOCATION_MZONE
,
0
,
3
,
nil
,
1
,
2
,
3
)
then
atk
=
15000
end
if
vgf
.
IsExistingMatchingCard
(
vgf
.
IsSequence
,
tp
,
LOCATION_MZONE
,
0
,
3
,
nil
,
1
,
2
,
3
)
then
atk
=
15000
end
if
g
then
if
g
then
Duel
.
HintSelection
(
g
)
vgf
.
AtkUp
(
c
,
g
,
atk
)
vgf
.
AtkUp
(
c
,
g
,
atk
)
end
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
cm
.
filter
,
1
,
nil
,
tp
)
end
function
cm
.
filter
(
c
,
tp
)
return
c
:
IsLocation
(
LOCATION_GZONE
)
and
c
:
IsControler
(
tp
)
end
end
\ No newline at end of file
c10105001.lua
View file @
3d53c661
...
@@ -7,14 +7,13 @@ function cm.initial_effect(c)
...
@@ -7,14 +7,13 @@ function cm.initial_effect(c)
end
end
function
cm
.
con
(
e
,
c
)
function
cm
.
con
(
e
,
c
)
local
tp
=
e
:
GetHandler
()
local
tp
=
e
:
GetHandler
()
return
Duel
.
GetTurnPlayer
()
==
tp
and
vgf
.
VMonsterCondition
(
e
)
and
Duel
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_ORDER
,
0
,
1
,
nil
)
return
Duel
.
GetTurnPlayer
()
==
tp
and
vgf
.
VMonsterCondition
(
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
(
ImprisonFlag
)
>
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
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_IMPRISON
)
local
g1
=
vgf
.
SelectMatchingCard
(
HINTMSG_IMPRISON
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_MZONE
,
2
,
2
,
nil
)
local
g1
=
Duel
.
SelectMatchingCard
(
tp
,
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_MZONE
,
2
,
2
,
nil
)
vgf
.
SendtoPrison
(
g1
,
tp
)
vgf
.
SendtoPrison
(
g1
,
tp
)
end
end
\ No newline at end of file
c10105002.lua
View file @
3d53c661
...
@@ -7,8 +7,7 @@ end
...
@@ -7,8 +7,7 @@ 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
Duel
.
Hint
(
HINT_MESSAGE
,
1
-
tp
,
HINTMSG_IMPRISON
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_IMPRISON
,
e
,
1
-
tp
,
nil
,
tp
,
0
,
LOCATION_HAND
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
1
-
tp
,
nil
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
)
vgf
.
SendtoPrison
(
g
,
tp
)
vgf
.
SendtoPrison
(
g
,
tp
)
end
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
@@ -18,8 +17,8 @@ end
...
@@ -18,8 +17,8 @@ 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
Duel
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_ORDER
,
0
,
1
,
nil
)
return
vgf
.
RMonsterFilter
(
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
(
ImprisonFlag
)
>
0
return
c
:
GetFlagEffect
(
FLAG_IMPRISON
)
>
0
end
end
\ No newline at end of file
c10105003.lua
View file @
3d53c661
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
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
vgf
.
SearchCard
(
LOCATION_DECK
,
cm
.
filter
),
nil
,
cm
.
condition
)
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
vgf
.
SearchCard
(
LOCATION_
HAND
,
LOCATION_
DECK
,
cm
.
filter
),
nil
,
cm
.
condition
)
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation1
,
cm
.
cost
,
cm
.
condition1
)
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation1
,
cm
.
cost
,
cm
.
condition1
)
end
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
@@ -13,20 +13,19 @@ function cm.filter(c)
...
@@ -13,20 +13,19 @@ function cm.filter(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
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
not
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
and
Duel
.
IsExistingMatchingCard
(
cm
.
filter1
,
tp
,
LOCATION_ORDER
,
0
,
1
,
nil
)
return
not
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
and
vgf
.
IsExistingMatchingCard
(
cm
.
filter1
,
tp
,
LOCATION_ORDER
,
0
,
1
,
nil
)
end
end
function
cm
.
filter1
(
c
)
function
cm
.
filter1
(
c
)
return
c
:
GetFlagEffect
(
ImprisonFlag
)
>
0
return
c
:
GetFlagEffect
(
FLAG_IMPRISON
)
>
0
end
end
function
cm
.
operation1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
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
Duel
.
IsExistingMatchingCard
(
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
1
,
nil
)
and
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
nil
):
GetFirst
():
GetOverlayGroup
():
FilterCount
(
Card
.
IsAbleToGraveAsCost
,
nil
)
>=
1
end
if
chk
==
0
then
return
vgf
.
IsExistingMatchingCard
(
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
1
,
nil
)
and
vgf
.
GetMatchingGroup
(
vgf
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
nil
):
GetFirst
():
GetOverlayCount
()
>=
1
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DAMAGE
)
local
g1
=
vgf
.
SelectMatchingCard
(
HINTMSG_DAMAGE
,
e
,
tp
,
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
1
,
1
,
nil
)
local
g1
=
Duel
.
SelectMatchingCard
(
tp
,
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
1
,
1
,
nil
)
Duel
.
ChangePosition
(
g1
,
POS_FACEDOWN
)
Duel
.
ChangePosition
(
g1
,
POS_FACEDOWN
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVEXYZ
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVEXYZ
)
local
g2
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
():
GetOverlayGroup
():
FilterSelect
(
tp
,
Card
.
IsAbleToGraveAsCost
,
1
,
1
,
nil
)
local
g2
=
vgf
.
GetMatchingGroup
(
vgf
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
():
GetOverlayGroup
():
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
SendtoGrave
(
g2
,
REASON_COST
)
vgf
.
Sendto
(
LOCATION_DROP
,
g2
,
REASON_COST
)
end
end
\ No newline at end of file
c10105005.lua
View file @
3d53c661
...
@@ -10,7 +10,6 @@ end
...
@@ -10,7 +10,6 @@ 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
Duel
.
Hint
(
HINT_MESSAGE
,
1
-
tp
,
HINTMSG_IMPRISON
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_IMPRISON
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_MZONE
,
0
,
2
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_MZONE
,
0
,
2
,
nil
)
vgf
.
SendtoPrison
(
g
,
tp
)
vgf
.
SendtoPrison
(
g
,
tp
)
end
end
\ No newline at end of file
c10105006.lua
View file @
3d53c661
...
@@ -10,7 +10,6 @@ end
...
@@ -10,7 +10,6 @@ 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
Duel
.
Hint
(
HINT_MESSAGE
,
tp
,
HINTMSG_IMPRISON
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_IMPRISON
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
vgf
.
SendtoPrison
(
g
,
tp
)
vgf
.
SendtoPrison
(
g
,
tp
)
end
end
\ No newline at end of file
c10105008.lua
View file @
3d53c661
...
@@ -2,12 +2,12 @@ local cm,m,o=GetID()
...
@@ -2,12 +2,12 @@ local cm,m,o=GetID()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgf
.
VgCard
(
c
)
vgf
.
VgCard
(
c
)
vgd
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_SINGLE
,
2000
,
con
)
vgd
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_SINGLE
,
2000
,
con
)
vgd
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_SINGLE
,
5000
,
con
,
tg
,
c
,
EFFECT_UPDATE_DEFENSE
,
reset
,
LOCATION_G
RAV
E
)
vgd
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_SINGLE
,
5000
,
con
,
tg
,
c
,
EFFECT_UPDATE_DEFENSE
,
reset
,
LOCATION_G
ZON
E
)
end
end
function
cm
.
con
(
e
,
c
)
function
cm
.
con
(
e
,
c
)
local
tp
=
e
:
GetHandler
()
local
tp
=
e
:
GetHandler
()
return
Duel
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_ORDER
,
0
,
1
,
nil
)
return
vgf
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_ORDER
,
0
,
1
,
nil
)
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
c
:
GetFlagEffect
(
ImprisonFlag
)
>
0
return
c
:
GetFlagEffect
(
FLAG_IMPRISON
)
>
0
end
end
\ No newline at end of file
c10105015.lua
View file @
3d53c661
...
@@ -9,34 +9,33 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp)
...
@@ -9,34 +9,33 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp)
return
e
:
GetHandler
():
IsLocation
(
LOCATION_ORDER
)
return
e
:
GetHandler
():
IsLocation
(
LOCATION_ORDER
)
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
)
local
a
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
nil
):
GetFirst
():
GetOverlayGroup
():
FilterCount
(
Card
.
IsAbleToGraveAsCost
,
nil
)
>=
1
local
a
=
vgf
.
GetMatchingGroup
(
vgf
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
nil
):
GetFirst
():
GetOverlayCount
(
)
>=
1
local
b
=
Duel
.
IsExistingMatchingCard
(
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
1
,
nil
)
local
b
=
vgf
.
IsExistingMatchingCard
(
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
1
,
nil
)
if
chk
==
0
then
return
a
or
b
end
if
chk
==
0
then
return
a
or
b
end
local
off
=
1
local
off
=
1
local
ops
=
{}
local
ops
=
{}
if
a
then
if
a
then
ops
[
off
]
=
VgF
.
Stringid
(
VgID
,
11
)
ops
[
off
]
=
vgf
.
Stringid
(
VgID
,
11
)
off
=
off
+
1
off
=
off
+
1
end
end
if
b
then
if
b
then
ops
[
off
]
=
VgF
.
Stringid
(
VgID
,
12
)
ops
[
off
]
=
vgf
.
Stringid
(
VgID
,
12
)
off
=
off
+
1
off
=
off
+
1
end
end
local
sel
=
Duel
.
SelectOption
(
tp
,
table.unpack
(
ops
))
local
sel
=
Duel
.
SelectOption
(
tp
,
table.unpack
(
ops
))
if
sel
==
0
and
a
then
if
sel
==
0
and
a
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVEXYZ
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVEXYZ
)
local
g
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
():
GetOverlayGroup
():
FilterSelect
(
tp
,
Card
.
IsAbleToGraveAsCost
,
num
,
num
,
nil
)
local
g
=
vgf
.
GetMatchingGroup
(
vgf
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
():
GetOverlayGroup
():
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
SendtoGrave
(
g
,
REASON_COST
)
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_COST
)
e
:
SetLabel
(
1
)
e
:
SetLabel
(
1
)
else
else
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DAMAGE
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_DAMAGE
,
e
,
tp
,
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
num
,
num
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
num
,
num
,
nil
)
Duel
.
ChangePosition
(
g
,
POS_FACEDOWN_ATTACK
)
Duel
.
ChangePosition
(
g
,
POS_FACEDOWN_ATTACK
)
e
:
SetLabel
(
2
)
e
:
SetLabel
(
2
)
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
)
return
eg
:
IsExists
(
cm
.
filter
,
1
,
nil
,
e
)
and
eg
:
Count
()
==
1
return
eg
:
IsExists
(
cm
.
filter
,
1
,
nil
,
e
)
and
eg
:
Get
Count
()
==
1
end
end
function
cm
.
filter
(
c
,
e
)
function
cm
.
filter
(
c
,
e
)
return
c
:
IsSummonType
(
SUMMON_VALUE_CALL
)
and
c
:
GetControler
()
~=
e
:
GetHandler
():
GetControler
()
return
c
:
IsSummonType
(
SUMMON_VALUE_CALL
)
and
c
:
GetControler
()
~=
e
:
GetHandler
():
GetControler
()
...
@@ -45,17 +44,15 @@ function cm.op1(e,tp,eg,ep,ev,re,r,rp)
...
@@ -45,17 +44,15 @@ function cm.op1(e,tp,eg,ep,ev,re,r,rp)
local
zone
=
vgf
.
GetAvailableLocation
(
tp
)
local
zone
=
vgf
.
GetAvailableLocation
(
tp
)
local
ct
=
bit
.
ReturnCount
(
zone
)
local
ct
=
bit
.
ReturnCount
(
zone
)
if
ct
>
e
:
GetLabel
()
then
ct
=
e
:
GetLabel
()
end
if
ct
>
e
:
GetLabel
()
then
ct
=
e
:
GetLabel
()
end
Duel
.
Hint
(
HINT_MESSAGE
,
tp
,
HINTMSG_CALL
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_CALL
,
e
,
tp
,
cm
.
filter1
,
tp
,
0
,
LOCATION_ORDER
,
ct
,
ct
,
nil
,
e
,
tp
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
filter1
,
tp
,
0
,
LOCATION_ORDER
,
ct
,
ct
,
nil
,
e
,
tp
)
Duel
.
HintSelection
(
g
)
for
tc
in
vgf
.
Next
(
g
)
do
for
tc
in
vgf
.
Next
(
g
)
do
if
tc
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
then
if
vgf
.
IsCanBeCalled
(
tc
,
e
,
tp
)
then
vgf
.
Call
(
tc
,
0
,
tp
)
vgf
.
Sendto
(
LOCATION_MZONE
,
tc
,
0
,
tp
)
else
else
Duel
.
SendtoGrave
(
tc
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_DROP
,
tc
,
REASON_EFFECT
)
end
end
end
end
end
end
function
cm
.
filter1
(
c
,
e
,
tp
)
function
cm
.
filter1
(
c
,
e
,
tp
)
return
c
:
GetFlagEffect
(
ImprisonFlag
)
>
0
return
c
:
GetFlagEffect
(
FLAG_IMPRISON
)
>
0
and
(
vgf
.
IsCanBeCalled
(
c
,
e
,
tp
)
or
not
c
:
IsType
(
TYPE_MONSTER
))
end
end
\ No newline at end of file
c10202001.lua
View file @
3d53c661
...
@@ -32,7 +32,7 @@ function cm.con(e,c)
...
@@ -32,7 +32,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
.
VMonsterFilter
(
e
:
GetHandler
())
and
vgf
.
VMonsterFilter
(
Duel
.
GetAttackTarget
())
end
end
function
cm
.
check
(
g
)
function
cm
.
check
(
g
)
return
g
:
GetClassCount
(
Card
.
GetLevel
)
==#
g
return
g
:
GetClassCount
(
Card
.
GetLevel
)
==#
g
...
@@ -46,17 +46,17 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -46,17 +46,17 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVEXYZ
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVEXYZ
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
cm
.
check
,
true
,
4
,
4
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
cm
.
check
,
true
,
4
,
4
)
Duel
.
SendtoGrave
(
sg
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_DROP
,
sg
,
REASON_EFFECT
)
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
=
Duel
.
SelectTarget
(
tp
,
vgf
.
VMonsterFilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
):
GetFirst
()
local
tc
=
vgf
.
SelectMatchingCard
(
HINTMSG_VMONSTER
,
e
,
tp
,
vgf
.
VMonsterFilter
,
tp
,
0
,
LOCATION_MZONE
,
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
)
end
end
if
Duel
.
IsExistingMatchingCard
(
tp
,
cm
.
filter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
then
if
vgf
.
IsExistingMatchingCard
(
tp
,
cm
.
filter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
then
VgF
.
StarUp
(
c
,
c
,
1
)
vgf
.
StarUp
(
c
,
c
,
1
)
end
end
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
...
...
c10202002.lua
View file @
3d53c661
...
@@ -12,8 +12,8 @@ function cm.condition(e,tp,eg,ep,ev,re,r,rp)
...
@@ -12,8 +12,8 @@ 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
()
vgf
.
OverlayFill
OP
(
1
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
vgf
.
OverlayFill
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
VgF
.
GetVMonster
(
tp
):
GetOverlayGroup
():
GetClassCount
(
Card
.
GetLevel
)
>=
3
then
if
vgf
.
GetVMonster
(
tp
):
GetOverlayGroup
():
GetClassCount
(
Card
.
GetLevel
)
>=
3
then
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
end
end
end
end
...
...
c10202003.lua
View file @
3d53c661
...
@@ -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
)
vgf
.
VgCard
(
c
)
vgf
.
VgCard
(
c
)
--【自】:这个单位被「魔石龙 珠艾尼尔」骑升时,将这张卡召唤到R上。
--【自】:这个单位被「魔石龙 珠艾尼尔」骑升时,将这张卡召唤到R上。
vgd
.
BeRidedByCard
(
c
,
m
,
10202002
,
cm
.
operation
,
nil
,
cm
.
condition
)
vgd
.
BeRidedByCard
(
c
,
m
,
10202002
,
cm
.
operation
)
--【自】【R】:这个单位攻击或支援时,这次战斗中,这个单位的力量+5000。这次战斗结束时,将这个单位放置到灵魂里。(这个效果为强制执行。)
--【自】【R】:这个单位攻击或支援时,这次战斗中,这个单位的力量+5000。这次战斗结束时,将这个单位放置到灵魂里。(这个效果为强制执行。)
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
operation2
,
nil
,
cm
.
condition2
)
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
operation2
,
nil
,
cm
.
condition2
)
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_FIELD
,
EVENT_CUSTOM
+
EVENT_SUPPORT
,
cm
.
operation2
,
nil
,
cm
.
condition3
)
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_FIELD
,
EVENT_CUSTOM
+
EVENT_SUPPORT
,
cm
.
operation2
,
nil
,
cm
.
condition3
)
...
@@ -11,14 +11,15 @@ end
...
@@ -11,14 +11,15 @@ 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
:
GetLabelObject
()
local
c
=
e
:
GetLabelObject
()
if
c
:
IsRelateToEffect
()
then
if
c
:
IsRelateToEffect
(
e
)
and
vgf
.
IsCanBeCalled
(
c
,
e
,
tp
)
then
vgf
.
Call
(
c
,
0
,
tp
)
vgf
.
Sendto
(
LOCATION_MZONE
,
c
,
0
,
tp
)
end
end
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
()
if
c
:
IsRelateToEffect
()
then
if
c
:
IsRelateToEffect
(
e
)
then
VgF
.
AtkUp
(
c
,
c
,
5000
,
EVENT_BATTLED
)
local
e2
=
vgf
.
AtkUp
(
c
,
c
,
5000
)
vgf
.
EffectReset
(
c
,
e2
,
EVENT_BATTLED
)
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetCode
(
EVENT_BATTLED
)
e1
:
SetCode
(
EVENT_BATTLED
)
...
@@ -30,14 +31,12 @@ function cm.operation2(e,tp,eg,ep,ev,re,r,rp)
...
@@ -30,14 +31,12 @@ 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
.
RMonsterFilter
(
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
()
end
end
function
cm
.
operation3
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation3
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
e
:
GetHandler
():
IsCanOverlay
()
then
vgf
.
Sendto
(
LOCATION_OVERLAY
,
e
:
GetHandler
(),
vgf
.
GetVMonster
(
tp
))
Duel
.
Overlay
(
VgF
.
GetVMonster
(
tp
),
e
:
GetHandler
())
end
e
:
Reset
()
e
:
Reset
()
end
end
c10202005.lua
View file @
3d53c661
...
@@ -3,13 +3,14 @@ local cm,m,o=GetID()
...
@@ -3,13 +3,14 @@ local cm,m,o=GetID()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgf
.
VgCard
(
c
)
vgf
.
VgCard
(
c
)
--【自】【R】:这个单位攻击时,你有含有「道拉珠艾尔德」的先导者的话,通过【费用】[计数爆发1],这次战斗中,这个单位的力量+10000。这次战斗结束时,将这个单位放置到灵魂里。
--【自】【R】:这个单位攻击时,你有含有「道拉珠艾尔德」的先导者的话,通过【费用】[计数爆发1],这次战斗中,这个单位的力量+10000。这次战斗结束时,将这个单位放置到灵魂里。
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
operation
,
VgF
.
DamageCost
(
1
),
cm
.
condition
)
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
operation
,
vgf
.
DamageCost
(
1
),
cm
.
condition
)
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
()
then
if
c
:
IsRelateToEffect
(
e
)
then
VgF
.
AtkUp
(
c
,
c
,
10000
,
EVENT_BATTLED
)
local
e2
=
vgf
.
AtkUp
(
c
,
c
,
10000
)
vgf
.
EffectReset
(
c
,
e2
,
EVENT_BATTLED
)
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetCode
(
EVENT_BATTLED
)
e1
:
SetCode
(
EVENT_BATTLED
)
...
@@ -21,8 +22,9 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -21,8 +22,9 @@ 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
.
RMonsterFilter
(
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
)
Duel
.
Overlay
(
VgF
.
GetVMonster
(
tp
),
e
:
GetHandler
())
vgf
.
Sendto
(
LOCATION_OVERLAY
,
e
:
GetHandler
(),
vgf
.
GetVMonster
(
tp
))
e
:
Reset
()
end
end
c10202007.lua
View file @
3d53c661
...
@@ -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
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
()
local
rc
=
vgf
.
GetMatchingGroup
(
vgf
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
()
Duel
.
Overlay
(
rc
,
c
)
vgf
.
Sendto
(
LOCATION_OVERLAY
,
c
,
r
c
)
end
end
c10202008.lua
View file @
3d53c661
...
@@ -4,7 +4,7 @@ function cm.initial_effect(c)
...
@@ -4,7 +4,7 @@ function cm.initial_effect(c)
vgf
.
VgCard
(
c
)
vgf
.
VgCard
(
c
)
--【自】【R】:这个单位支援等级2以上的单位时,你可以灵魂填充1。
--【自】【R】:这个单位支援等级2以上的单位时,你可以灵魂填充1。
--时点需要改成支援时
--时点需要改成支援时
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_FIELD
,
EVENT_CUSTOM
+
EVENT_SUPPORT
,
vgf
.
OverlayFill
(
1
),
VgF
.
True
,
cm
.
condition
)
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_FIELD
,
EVENT_CUSTOM
+
EVENT_SUPPORT
,
vgf
.
OverlayFill
(
1
),
vgf
.
True
,
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
Duel
.
GetAttacker
():
IsLevelAbove
(
3
)
and
eg
:
GetFirst
()
==
e
:
GetHandler
()
return
Duel
.
GetAttacker
():
IsLevelAbove
(
3
)
and
eg
:
GetFirst
()
==
e
:
GetHandler
()
...
...
c10202009.lua
View file @
3d53c661
...
@@ -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
)
vgf
.
VgCard
(
c
)
vgf
.
VgCard
(
c
)
--【起】【R】【1回合1次】:你有等级3以上的先导者的话,通过【费用】[计数爆发2],抽1张卡。
--【起】【R】【1回合1次】:你有等级3以上的先导者的话,通过【费用】[计数爆发2],抽1张卡。
vgd
.
EffectTypeIgnition
(
c
,
m
,
LOCATION_MZONE
,
cm
.
operation
,
VgF
.
DamageCost
(
2
),
cm
.
condition
,
nil
,
1
)
vgd
.
EffectTypeIgnition
(
c
,
m
,
LOCATION_MZONE
,
cm
.
operation
,
vgf
.
DamageCost
(
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
(
4
)
return
vgf
.
RMonsterFilter
(
e
:
GetHandler
())
and
vgf
.
GetVMonster
(
tp
):
IsLevelAbove
(
4
)
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 @
3d53c661
...
@@ -3,17 +3,16 @@ local cm,m,o=GetID()
...
@@ -3,17 +3,16 @@ local cm,m,o=GetID()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgf
.
VgCard
(
c
)
vgf
.
VgCard
(
c
)
--【自】:这个单位登场到R时,你有含有「道拉珠艾尔德」的先导者的话,通过【费用】[灵魂爆发1],选择你的弃牌区中的1张卡,放置到灵魂里,这个回合中,这个单位的力量+2000。
--【自】:这个单位登场到R时,你有含有「道拉珠艾尔德」的先导者的话,通过【费用】[灵魂爆发1],选择你的弃牌区中的1张卡,放置到灵魂里,这个回合中,这个单位的力量+2000。
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
VgF
.
OverlayCost
(
1
),
cm
.
condition
)
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
vgf
.
OverlayCost
(
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
.
RMonsterFilter
(
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
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_XMATERIAL
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
nil
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_XMATERIAL
,
e
,
tp
,
nil
,
tp
,
LOCATION_DROP
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
Duel
.
Overlay
(
VgF
.
GetVMonster
(
tp
),
g
)
vgf
.
Sendto
(
LOCATION_OVERLAY
,
g
,
vgf
.
GetVMonster
(
tp
)
)
end
end
VgF
.
AtkUp
(
c
,
c
,
2000
,
nil
)
vgf
.
AtkUp
(
c
,
c
,
2000
,
nil
)
end
end
c10202016.lua
View file @
3d53c661
...
@@ -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
)
vgf
.
VgCard
(
c
)
vgf
.
VgCard
(
c
)
--【自】:这个单位从手牌登场到R时,通过【费用】[计数爆发1],查看你的牌堆顶的3张卡,选择1张卡,放置到灵魂里,然后牌堆洗切,你的灵魂里有4张以上的相互不同等级的卡的话,抽1张卡。
--【自】:这个单位从手牌登场到R时,通过【费用】[计数爆发1],查看你的牌堆顶的3张卡,选择1张卡,放置到灵魂里,然后牌堆洗切,你的灵魂里有4张以上的相互不同等级的卡的话,抽1张卡。
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
VgF
.
DamageCost
(
1
),
cm
.
condition
)
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
vgf
.
DamageCost
(
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
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
@@ -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)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_XMATERIAL
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_XMATERIAL
)
local
sc
=
g
:
FilterSelect
(
tp
,
Card
.
IsCanOverlay
,
1
,
1
,
nil
):
GetFirst
()
local
sc
=
g
:
FilterSelect
(
tp
,
Card
.
IsCanOverlay
,
1
,
1
,
nil
):
GetFirst
()
if
sc
then
if
sc
then
Duel
.
Overlay
(
VgF
.
GetVMonster
(
tp
),
sc
)
vgf
.
Sendto
(
LOCATION_OVERLAY
,
sc
,
vgf
.
GetVMonster
(
tp
)
)
end
end
Duel
.
ShuffleDeck
(
tp
)
Duel
.
ShuffleDeck
(
tp
)
if
VgF
.
GetVMonster
(
tp
):
GetOverlayGroup
():
GetClassCount
(
Card
.
GetLevel
)
>=
4
then
if
vgf
.
GetVMonster
(
tp
):
GetOverlayGroup
():
GetClassCount
(
Card
.
GetLevel
)
>=
4
then
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
end
end
end
end
c10202017.lua
View file @
3d53c661
...
@@ -6,7 +6,7 @@ function cm.initial_effect(c)
...
@@ -6,7 +6,7 @@ function cm.initial_effect(c)
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
nil
,
cm
.
condition
)
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
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
.
RMonsterFilter
(
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
)
...
@@ -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)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_XMATERIAL
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_XMATERIAL
)
local
sc
=
g
:
FilterSelect
(
tp
,
Card
.
IsCanOverlay
,
1
,
1
,
nil
):
GetFirst
()
local
sc
=
g
:
FilterSelect
(
tp
,
Card
.
IsCanOverlay
,
1
,
1
,
nil
):
GetFirst
()
if
sc
then
if
sc
then
Duel
.
Overlay
(
VgF
.
GetVMonster
(
tp
),
sc
)
vgf
.
Sendto
(
LOCATION_OVERLAY
,
sc
,
vgf
.
GetVMonster
(
tp
)
)
g
:
RemoveCard
(
sc
)
g
:
RemoveCard
(
sc
)
end
end
if
#
g
>
1
then
if
#
g
>
1
then
...
...
c10203001.lua
View file @
3d53c661
...
@@ -6,16 +6,15 @@ function cm.initial_effect(c)
...
@@ -6,16 +6,15 @@ function cm.initial_effect(c)
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_BATTLED
,
cm
.
operation
,
nil
,
cm
.
condition
)
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_BATTLED
,
cm
.
operation
,
nil
,
cm
.
condition
)
--【永】【R】:这个回合中曾有你的等级3以上的先导者登场过的话,这个单位的力量+5000。
--【永】【R】:这个回合中曾有你的等级3以上的先导者登场过的话,这个单位的力量+5000。
vgd
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_SINGLE
,
5000
,
cm
.
con
)
vgd
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_SINGLE
,
5000
,
cm
.
con
)
VgD
.
GlobalCheckEffect
(
c
,
m
,
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
checkcon
,
cm
.
checkop
)
vgd
.
GlobalCheckEffect
(
c
,
m
,
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
checkcon
,
cm
.
checkop
)
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
return
Duel
.
GetFlagEffect
(
tp
,
m
)
>
0
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
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CALL
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_CALL
,
e
,
tp
,
cm
.
filter
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
filter
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
vgf
.
Sendto
(
LOCATION_MZONE
,
g
,
SUMMON_VALUE_REVOLT
,
tp
,
0x20
)
>
0
then
if
vgf
.
Call
(
g
,
SUMMON_VALUE_REVOLT
,
tp
,
0x20
)
>
0
then
local
mg
=
Duel
.
GetOperatedGroup
()
local
mg
=
Duel
.
GetOperatedGroup
()
vgd
.
TriggerCountUp
(
c
,
-
2
,
RESET_PHASE
+
PHASE_END
,
mg
)
vgd
.
TriggerCountUp
(
c
,
-
2
,
RESET_PHASE
+
PHASE_END
,
mg
)
end
end
...
@@ -25,7 +24,7 @@ function cm.condition(e,tp,eg,ep,ev,re,r,rp)
...
@@ -25,7 +24,7 @@ function cm.condition(e,tp,eg,ep,ev,re,r,rp)
return
Duel
.
GetAttacker
()
==
c
return
Duel
.
GetAttacker
()
==
c
end
end
function
cm
.
filter
(
c
,
e
,
tp
)
function
cm
.
filter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x76
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
return
c
:
IsSetCard
(
0x76
)
and
vgf
.
IsCanBeCalled
(
c
,
e
,
tp
)
end
end
function
cm
.
checkfilter
(
c
)
function
cm
.
checkfilter
(
c
)
return
(
c
:
IsSummonType
(
SUMMON_TYPE_SELFRIDE
)
or
c
:
IsSummonType
(
SUMMON_TYPE_RIDE
))
and
c
:
IsLevelAbove
(
4
)
return
(
c
:
IsSummonType
(
SUMMON_TYPE_SELFRIDE
)
or
c
:
IsSummonType
(
SUMMON_TYPE_RIDE
))
and
c
:
IsLevelAbove
(
4
)
...
...
c10203002.lua
View file @
3d53c661
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
.
BeRidedByCard
(
c
,
m
,
cm
.
filter
,
vgf
.
SearchCard
(
LOCATION_
DROP
,
cm
.
filter1
),
VgF
.
DamageCost
(
1
))
vgd
.
BeRidedByCard
(
c
,
m
,
cm
.
filter
,
vgf
.
SearchCard
(
LOCATION_
HAND
,
LOCATION_DROP
,
cm
.
filter1
),
vgf
.
DamageCost
(
1
))
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_FIELD
,
EVENT_CUSTOM
+
EVENT_SUPPORT
,
cm
.
operation1
,
VgF
.
OverlayCost
(
1
),
cm
.
condition1
)
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_FIELD
,
EVENT_CUSTOM
+
EVENT_SUPPORT
,
cm
.
operation1
,
vgf
.
OverlayCost
(
1
),
cm
.
condition1
)
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
c
:
IsSetCard
(
0x202
)
return
c
:
IsSetCard
(
0x202
)
...
@@ -19,5 +19,5 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
...
@@ -19,5 +19,5 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
vgf
.
EffectReset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
EffectReset
(
c
,
e1
,
EVENT_BATTLED
)
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
(
SupportFlag
)
>
0
return
vgf
.
GetColumnGroup
(
c
):
IsContains
(
mc
)
and
c
:
IsControler
(
mc
:
GetControler
())
and
c
:
GetFlagEffect
(
FLAG_SUPPORT
)
>
0
end
end
\ No newline at end of file
c10203003.lua
View file @
3d53c661
...
@@ -29,14 +29,12 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -29,14 +29,12 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
sg
=
g
:
FilterSelect
(
tp
,
cm
.
filter
,
1
,
1
,
nil
)
local
sg
=
g
:
FilterSelect
(
tp
,
cm
.
filter
,
1
,
1
,
nil
)
Duel
.
DisableShuffleCheck
()
Duel
.
DisableShuffleCheck
()
Duel
.
SendtoHand
(
sg
,
nil
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_HAND
,
sg
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg
)
Duel
.
ShuffleHand
(
tp
)
g
:
RemoveCard
(
vgf
.
ReturnCard
(
sg
))
g
:
RemoveCard
(
vgf
.
ReturnCard
(
sg
))
elseif
(
sel
==
1
and
a
and
b
)
or
(
sel
==
0
and
not
a
and
b
)
then
elseif
(
sel
==
1
and
a
and
b
)
or
(
sel
==
0
and
not
a
and
b
)
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CALL
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CALL
)
local
sg
=
g
:
FilterSelect
(
tp
,
cm
.
filter1
,
1
,
1
,
nil
,
e
,
tp
)
local
sg
=
g
:
FilterSelect
(
tp
,
cm
.
filter1
,
1
,
1
,
nil
,
e
,
tp
)
vgf
.
Call
(
sg
,
0
,
tp
)
vgf
.
Sendto
(
LOCATION_MZONE
,
sg
,
0
,
tp
)
g
:
RemoveCard
(
vgf
.
ReturnCard
(
sg
))
g
:
RemoveCard
(
vgf
.
ReturnCard
(
sg
))
end
end
if
#
g
>
1
then
if
#
g
>
1
then
...
@@ -48,8 +46,8 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -48,8 +46,8 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
c
:
IsSetCard
(
0x77
)
and
c
:
IsAbleToHand
()
return
c
:
IsSetCard
(
0x77
)
end
end
function
cm
.
filter1
(
c
,
e
,
tp
)
function
cm
.
filter1
(
c
,
e
,
tp
)
return
c
:
IsLevelBelow
(
3
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
and
vgf
.
GetAvailableLocation
(
tp
)
>
0
return
c
:
IsLevelBelow
(
3
)
and
vgf
.
IsCanBeCalled
(
c
,
e
,
tp
)
end
end
\ No newline at end of file
c10203005.lua
View file @
3d53c661
...
@@ -34,9 +34,8 @@ end
...
@@ -34,9 +34,8 @@ 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
)
--Duel.Sendto(g,tp,0,POS_FACEUP,REASON_EFFECT)
vgf
.
Sendto
(
LOCATION_MZONE
,
g
,
SUMMON_TYPE_RIDE
,
tp
,
0x20
,
POS_FACEDOWN_DEFENCE
)
vgf
.
Call
(
g
,
0
,
tp
,
0x20
,
POS_FACEDOWN_DEFENCE
)
end
end
function
cm
.
filter
(
c
,
e
,
tp
)
function
cm
.
filter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x202
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
)
return
c
:
IsSetCard
(
0x202
)
and
vgf
.
IsCanBeCalled
(
c
,
e
,
tp
,
SUMMON_TYPE_RIDE
,
POS_FACEDOWN_DEFENCE
,
0x20
)
end
end
\ No newline at end of file
c10203006.lua
View file @
3d53c661
...
@@ -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)
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
Duel
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
return
vgf
.
RMonsterFilter
(
c
)
and
vgf
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
vgf
.
VMonsterFilter
and
c
:
IsSetCard
(
0x77
)
return
vgf
.
VMonsterFilter
and
c
:
IsSetCard
(
0x77
)
...
...
c10203007.lua
View file @
3d53c661
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
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_FIELD
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
VgF
.
DamageCost
(
1
),
cm
.
condition
)
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_FIELD
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
vgf
.
DamageCost
(
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
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
VgF
.
RMonsterFilter
(
c
)
and
eg
:
IsExists
(
cm
.
filter
,
1
,
nil
,
tp
)
return
vgf
.
RMonsterFilter
(
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
.
VMonsterFilter
(
c
)
and
c
:
IsControler
(
tp
)
...
...
c10203011.lua
View file @
3d53c661
...
@@ -8,6 +8,7 @@ function cm.condition(e,tp,eg,ep,ev,re,r,rp)
...
@@ -8,6 +8,7 @@ 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
()
if
vgf
.
GetAvailableLocation
(
tp
)
<=
0
then
return
end
if
vgf
.
IsCanBeCalled
(
c
,
e
,
tp
)
then
vgf
.
Call
(
c
,
0
,
tp
)
vgf
.
Sendto
(
LOCATION_MZONE
,
c
,
0
,
tp
)
end
end
end
\ No newline at end of file
c10203016.lua
View file @
3d53c661
...
@@ -5,28 +5,27 @@ function cm.initial_effect(c)
...
@@ -5,28 +5,27 @@ 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
Duel
.
IsExistingMatchingCard
(
nil
,
tp
,
LOCATION_MZONE
,
0
,
4
,
nil
)
return
vgf
.
RMonsterFilter
(
c
)
and
vgf
.
VMonsterFilter
(
Duel
.
GetAttackTarget
())
and
vgf
.
IsExistingMatchingCard
(
nil
,
tp
,
LOCATION_MZONE
,
0
,
4
,
nil
)
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
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
nil
):
GetFirst
():
GetOverlayGroup
():
FilterCount
(
Card
.
IsAbleToGraveAsCost
,
nil
)
>=
1
and
e
:
GetHandler
():
IsAbleToGraveAsCost
()
end
if
chk
==
0
then
return
vgf
.
GetMatchingGroup
(
vgf
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
nil
):
GetFirst
():
GetOverlayCount
()
>=
1
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVEXYZ
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVEXYZ
)
local
g
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
():
GetOverlayGroup
():
FilterSelect
(
tp
,
Card
.
IsAbleToGraveAsCost
,
1
,
1
,
nil
)
local
g
=
vgf
.
GetMatchingGroup
(
vgf
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
():
GetOverlayGroup
():
Select
(
tp
,
1
,
1
,
nil
)
g
:
AddCard
(
e
:
GetHandler
())
g
:
AddCard
(
e
:
GetHandler
())
Duel
.
SendtoGrave
(
g
,
REASON_COST
)
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_COST
)
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
)
Duel
.
ConfirmCards
(
tp
,
g
)
Duel
.
ConfirmCards
(
tp
,
g
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
sg
=
g
:
FilterSelect
(
tp
,
cm
.
filter
,
0
,
1
,
nil
)
local
sg
=
g
:
FilterSelect
(
tp
,
cm
.
filter
,
0
,
1
,
nil
,
e
,
tp
)
if
sg
:
GetCount
()
>
0
then
if
sg
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
sg
,
nil
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_HAND
,
sg
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg
)
else
else
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
Duel
.
ShuffleDeck
(
tp
)
Duel
.
ShuffleDeck
(
tp
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
end
end
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
,
e
,
tp
)
return
c
:
IsLevelAbove
(
3
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsAbleToHand
(
)
return
c
:
IsLevelAbove
(
3
)
and
vgf
.
IsCanBeCalled
(
c
,
e
,
tp
)
end
end
\ No newline at end of file
c10203018.lua
View file @
3d53c661
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
.
SpellActivate
(
c
,
m
,
vgf
.
SearchCard
(
LOCATION_
DECK
,
cm
.
filter
),
cm
.
condition
,
vgf
.
DamageCost
(
1
)
)
vgd
.
SpellActivate
(
c
,
m
,
vgf
.
SearchCard
(
LOCATION_
HAND
,
LOCATION_DECK
,
cm
.
filter
),
vgf
.
DamageCost
(
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
(
0x202
)
return
vgf
.
GetVMonster
(
tp
):
IsSetCard
(
0x202
)
...
...
c10301001.lua
View file @
3d53c661
...
@@ -17,13 +17,11 @@ function cm.condition(e,tp,eg,ep,ev,re,r,rp)
...
@@ -17,13 +17,11 @@ 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
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_RTOHAND
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_RTOHAND
,
e
,
tp
,
cm
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
2
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
2
,
nil
)
vgf
.
Sendto
(
LOCATION_HAND
,
g
,
nil
,
REASON_EFFECT
)
Duel
.
HintSelection
(
g
)
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
vgf
.
RMonsterFilter
(
c
)
and
c
:
IsAbleToHand
()
return
vgf
.
RMonsterFilter
(
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
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
@@ -35,17 +33,16 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
...
@@ -35,17 +33,16 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
local
ct
=
bit
.
ReturnCount
(
zone
)
local
ct
=
bit
.
ReturnCount
(
zone
)
zone
=
bit
.
bor
(
zone
,
0xffffff00
)
zone
=
bit
.
bor
(
zone
,
0xffffff00
)
if
ct
>
2
then
ct
=
2
end
if
ct
>
2
then
ct
=
2
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CALL
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_CALL
,
e
,
tp
,
vgf
.
IsCanBeCalled
,
tp
,
LOCATION_HAND
,
0
,
0
,
ct
,
nil
,
e
,
tp
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
Card
.
IsCanBeSpecialSummoned
,
tp
,
LOCATION_HAND
,
0
,
0
,
ct
,
nil
,
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
if
g
:
GetCount
()
==
1
then
if
g
:
GetCount
()
==
1
then
vgf
.
Call
(
g
,
0
,
tp
)
vgf
.
Sendto
(
LOCATION_MZONE
,
g
,
0
,
tp
)
elseif
g
:
GetCount
()
==
2
then
elseif
g
:
GetCount
()
==
2
then
local
tc1
=
g
:
GetFirst
()
local
tc1
=
g
:
GetFirst
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CallZONE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CallZONE
)
local
szone
=
Duel
.
SelectField
(
tp
,
1
,
LOCATION_MZONE
,
0
,
zone
)
local
szone
=
Duel
.
SelectField
(
tp
,
1
,
LOCATION_MZONE
,
0
,
zone
)
if
Duel
.
IsExistingMatchingCard
(
VgD
.
CallFilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
tp
,
szone
)
then
if
vgf
.
IsExistingMatchingCard
(
vgd
.
CallFilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
tp
,
szone
)
then
local
tc
=
Duel
.
GetMatchingGroup
(
VgD
.
CallFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
tp
,
szone
):
GetFirst
()
local
tc
=
vgf
.
GetMatchingGroup
(
vgd
.
CallFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
tp
,
szone
):
GetFirst
()
Duel
.
SendtoGrave
(
tc
,
REASON_COST
)
vgf
.
Sendto
(
LOCATION_DROP
,
tc
,
REASON_COST
)
end
end
Duel
.
SpecialSummonStep
(
tc1
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
,
szone
)
Duel
.
SpecialSummonStep
(
tc1
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
,
szone
)
if
szone
&
0x11
>
0
then
if
szone
&
0x11
>
0
then
...
@@ -56,9 +53,9 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
...
@@ -56,9 +53,9 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
local
tc2
=
g
:
GetNext
()
local
tc2
=
g
:
GetNext
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CallZONE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CallZONE
)
szone
=
Duel
.
SelectField
(
tp
,
1
,
LOCATION_MZONE
,
0
,
zone
)
szone
=
Duel
.
SelectField
(
tp
,
1
,
LOCATION_MZONE
,
0
,
zone
)
if
Duel
.
IsExistingMatchingCard
(
VgD
.
CallFilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
tp
,
szone
)
then
if
vgf
.
IsExistingMatchingCard
(
vgd
.
CallFilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
tp
,
szone
)
then
local
tc
=
Duel
.
GetMatchingGroup
(
VgD
.
CallFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
tp
,
szone
):
GetFirst
()
local
tc
=
vgf
.
GetMatchingGroup
(
vgd
.
CallFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
tp
,
szone
):
GetFirst
()
Duel
.
SendtoGrave
(
tc
,
REASON_COST
)
vgf
.
Sendto
(
LOCATION_DROP
,
tc
,
REASON_COST
)
end
end
Duel
.
SpecialSummonStep
(
tc2
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
,
szone
)
Duel
.
SpecialSummonStep
(
tc2
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
,
szone
)
Duel
.
SpecialSummonComplete
()
Duel
.
SpecialSummonComplete
()
...
...
c10301002.lua
View file @
3d53c661
...
@@ -6,17 +6,15 @@ function cm.initial_effect(c)
...
@@ -6,17 +6,15 @@ 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
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_RTOHAND
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_RTOHAND
,
e
,
tp
,
cm
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
vgf
.
Sendto
(
LOCATION_HAND
,
g
,
nil
,
REASON_EFFECT
)
Duel
.
HintSelection
(
g
)
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
vgf
.
RMonsterFilter
(
c
)
and
c
:
IsAbleToHand
()
return
vgf
.
RMonsterFilter
(
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
.
IsExistingMatchingCard
(
cm
.
cfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
:
GetHandler
())
and
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
and
vgf
.
RMonsterCondition
(
e
)
return
vgf
.
IsExistingMatchingCard
(
cm
.
cfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
:
GetHandler
())
and
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
and
vgf
.
RMonsterCondition
(
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
(
SupportFlag
)
>
0
return
vgf
.
GetColumnGroup
(
c
):
IsContains
(
mc
)
and
c
:
IsControler
(
mc
:
GetControler
())
and
c
:
GetFlagEffect
(
FLAG_SUPPORT
)
>
0
end
end
\ No newline at end of file
c10301003.lua
View file @
3d53c661
...
@@ -15,13 +15,11 @@ end
...
@@ -15,13 +15,11 @@ 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
vgf
.
GetAvailableLocation
(
tp
)
<=
0
then
return
end
if
vgf
.
GetAvailableLocation
(
tp
)
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_Call
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_Call
,
e
,
tp
,
cm
.
filter
,
tp
,
LOCATION_DROP
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
filter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
vgf
.
Sendto
(
LOCATION_MZONE
,
g
,
0
,
tp
,
nil
,
POS_FACEUP_DEFENSE
)
Duel
.
HintSelection
(
g
)
vgf
.
Call
(
g
,
0
,
tp
,
nil
,
POS_FACEUP_DEFENSE
)
end
end
function
cm
.
filter
(
c
,
e
,
tp
)
function
cm
.
filter
(
c
,
e
,
tp
)
return
c
:
IsLevel
(
c
,
0
,
1
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
return
c
:
IsLevel
(
c
,
0
,
1
)
and
vgf
.
IsCanBeCalled
(
c
,
e
,
tp
)
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
()
...
...
c10301005.lua
View file @
3d53c661
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
.
EffectTypeTrigger
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
nil
,
cm
.
condition
)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
vgf
.
AtkUp
(
c
,
c
,
10000
)
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
not
(
c
:
IsSummonType
(
SUMMON_TYPE_RIDE
)
or
c
:
IsSummonType
(
SUMMON_TYPE_SELFRIDE
))
end
\ No newline at end of file
c10301007.lua
View file @
3d53c661
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
.
EffectTypeTrigger
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
vgf
.
DamageCost
(
1
),
cm
.
condition
)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
vgf
.
AtkUp
(
c
,
c
,
10000
)
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
not
(
c
:
IsSummonType
(
SUMMON_TYPE_RIDE
)
or
c
:
IsSummonType
(
SUMMON_TYPE_SELFRIDE
))
end
\ No newline at end of file
c10301009.lua
View file @
3d53c661
...
@@ -11,25 +11,18 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -11,25 +11,18 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
Duel
.
DisableShuffleCheck
()
Duel
.
DisableShuffleCheck
()
local
off
=
1
local
off
=
1
local
ops
=
{}
local
ops
=
{}
local
a
=
tc
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
and
vgf
.
GetAvailableLocation
(
tp
)
>
0
local
a
=
vgf
.
IsCanBeCalled
(
tc
,
e
,
tp
)
local
b
=
tc
:
IsAbleToHand
()
if
not
a
and
not
b
then
return
end
if
a
then
if
a
then
ops
[
off
]
=
1152
ops
[
off
]
=
1152
off
=
off
+
1
off
=
off
+
1
end
end
if
b
then
ops
[
off
]
=
1190
ops
[
off
]
=
1190
off
=
off
+
1
end
local
sel
=
Duel
.
SelectOption
(
tp
,
table.unpack
(
ops
))
local
sel
=
Duel
.
SelectOption
(
tp
,
table.unpack
(
ops
))
if
sel
==
0
and
a
then
if
sel
==
0
and
a
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
else
else
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_HAND
,
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
local
tg
=
vgf
.
SelectMatchingCard
(
HINTMSG_DISCARD
,
e
,
tp
,
nil
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DISCARD
)
vgf
.
Sendto
(
LOCATION_DROP
,
tg
,
REASON_COST
)
local
tg
=
Duel
.
SelectMatchingCard
(
tp
,
Card
.
IsDiscardable
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
REASON_EFFECT
)
Duel
.
SendtoGrave
(
tg
,
REASON_COST
)
end
end
end
end
\ No newline at end of file
c10301015.lua
View file @
3d53c661
...
@@ -6,8 +6,7 @@ function cm.initial_effect(c)
...
@@ -6,8 +6,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
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_VMONSTER
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_VMONSTER
,
e
,
tp
,
vgf
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
vgf
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
vgd
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_FIELD
,
5000
,
nil
,
cm
.
tg
,
g
:
GetFirst
(),
EFFECT_UPDATE_ATTACK
,
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_END
,
LOCATION_MZONE
,
LOCATION_MZONE
)
vgd
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_FIELD
,
5000
,
nil
,
cm
.
tg
,
g
:
GetFirst
(),
EFFECT_UPDATE_ATTACK
,
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_END
,
LOCATION_MZONE
,
LOCATION_MZONE
)
end
end
function
cm
.
tg
(
e
,
c
)
function
cm
.
tg
(
e
,
c
)
...
...
c10400855.lua
View file @
3d53c661
--能量发生器
--能量发生器
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
VgD
.
Rule
(
c
)
vgd
.
Rule
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
)
...
@@ -23,7 +23,7 @@ function cm.initial_effect(c)
...
@@ -23,7 +23,7 @@ function cm.initial_effect(c)
e3
:
SetType
(
EFFECT_TYPE_IGNITION
)
e3
:
SetType
(
EFFECT_TYPE_IGNITION
)
e3
:
SetRange
(
LOCATION_EMBLEM
)
e3
:
SetRange
(
LOCATION_EMBLEM
)
e3
:
SetCountLimit
(
1
)
e3
:
SetCountLimit
(
1
)
e3
:
SetCost
(
VgF
.
EnergyCost
(
7
))
e3
:
SetCost
(
vgf
.
EnergyCost
(
7
))
e3
:
SetOperation
(
cm
.
op3
)
e3
:
SetOperation
(
cm
.
op3
)
c
:
RegisterEffect
(
e3
)
c
:
RegisterEffect
(
e3
)
end
end
...
@@ -35,17 +35,17 @@ function cm.op1(e,tp,eg,ep,ev,re,r,rp)
...
@@ -35,17 +35,17 @@ function cm.op1(e,tp,eg,ep,ev,re,r,rp)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
for
i
=
1
,
3
,
1
do
for
i
=
1
,
3
,
1
do
local
token
=
Duel
.
CreateToken
(
tp
,
20401001
)
local
token
=
Duel
.
CreateToken
(
tp
,
20401001
)
Duel
.
Sendto
(
token
,
tp
,
LOCATION_EMBLEM
,
POS_FACEUP
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_EMBLEM
,
token
,
tp
,
POS_FACEUP
,
REASON_EFFECT
)
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
Duel
.
GetTurnPlayer
()
==
tp
and
Duel
.
GetMatchingGroupCount
(
Card
.
IsCode
,
tp
,
LOCATION_EMBLEM
,
0
,
nil
,
20401001
)
<
10
return
Duel
.
GetTurnPlayer
()
==
tp
and
vgf
.
GetMatchingGroupCount
(
Card
.
IsCode
,
tp
,
LOCATION_EMBLEM
,
0
,
nil
,
20401001
)
<
10
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
()
if
Duel
.
GetMatchingGroupCount
(
Card
.
IsCode
,
tp
,
LOCATION_EMBLEM
,
0
,
nil
,
20401001
)
>=
10
then
return
end
if
vgf
.
GetMatchingGroupCount
(
Card
.
IsCode
,
tp
,
LOCATION_EMBLEM
,
0
,
nil
,
20401001
)
>=
10
then
return
end
local
token
=
Duel
.
CreateToken
(
tp
,
20401001
)
local
token
=
Duel
.
CreateToken
(
tp
,
20401001
)
Duel
.
Sendto
(
token
,
tp
,
LOCATION_EMBLEM
,
POS_FACEUP
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_EMBLEM
,
token
,
tp
,
POS_FACEUP
,
REASON_EFFECT
)
end
end
function
cm
.
op3
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op3
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
...
...
c10401001.lua
View file @
3d53c661
...
@@ -6,11 +6,11 @@ function cm.initial_effect(c)
...
@@ -6,11 +6,11 @@ function cm.initial_effect(c)
vgd
.
EffectTypeTriggerWhenHitting
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
cm
.
op
,
cm
.
cost
,
cm
.
con
)
vgd
.
EffectTypeTriggerWhenHitting
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
cm
.
op
,
cm
.
cost
,
cm
.
con
)
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
c
:
IsCode
(
10101009
)
or
(
c
:
IsLevelBelow
(
4
)
and
c
:
GetFlagEffectLabel
(
ConditionFlag
)
==
201
)
return
c
:
IsCode
(
10101009
)
or
(
c
:
IsLevelBelow
(
4
)
and
c
:
GetFlagEffectLabel
(
FLAG_CONDITION
)
==
201
)
end
end
function
cm
.
con
(
e
)
function
cm
.
con
(
e
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
c
:
GetFlagEffectLabel
(
ConditionFlag
)
==
201
and
vgf
.
RMonsterCondition
(
e
)
return
c
:
GetFlagEffectLabel
(
FLAG_CONDITION
)
==
201
and
vgf
.
RMonsterCondition
(
e
)
end
end
function
cm
.
val
(
e
)
function
cm
.
val
(
e
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
@@ -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)
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
return
vgf
.
DamageCost
OP
(
1
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
and
vgf
.
DisCardCostOp
(
1
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
return
vgf
.
DamageCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
and
vgf
.
DisCardCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
end
end
vgf
.
DamageCost
OP
(
1
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
vgf
.
DamageCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
vgf
.
DisCardCost
Op
(
1
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
vgf
.
DisCardCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
end
end
\ No newline at end of file
c10401002.lua
View file @
3d53c661
...
@@ -6,9 +6,8 @@ function cm.initial_effect(c)
...
@@ -6,9 +6,8 @@ function cm.initial_effect(c)
vgd
.
GlobalCheckEffect
(
c
,
m
,
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
,
EVENT_TO_GRAVE
,
cm
.
checkcon
,
cm
.
checkop
)
vgd
.
GlobalCheckEffect
(
c
,
m
,
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
,
EVENT_TO_GRAVE
,
cm
.
checkcon
,
cm
.
checkop
)
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
Duel
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
2
,
nil
)
end
if
chk
==
0
then
return
vgf
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
2
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_POSCHANGE
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_POSCHANGE
,
e
,
tp
,
cm
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
2
,
2
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
2
,
2
,
nil
)
Duel
.
ChangePosition
(
g
,
POS_FACEUP_DEFENCE
)
Duel
.
ChangePosition
(
g
,
POS_FACEUP_DEFENCE
)
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
...
@@ -16,9 +15,8 @@ function cm.filter(c)
...
@@ -16,9 +15,8 @@ function cm.filter(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
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_LEAVEONFIELD
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_LEAVEONFIELD
,
e
,
tp
,
vgf
.
VMonsterFilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectTarget
(
tp
,
vgf
.
VMonsterFilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
end
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoGrave
(
g
,
REASON_EFFECT
)
end
vgf
.
AtkUp
(
c
,
c
,
10000
)
vgf
.
AtkUp
(
c
,
c
,
10000
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
@@ -31,14 +29,14 @@ function cm.op1(e,tp,eg,ep,ev,re,r,rp)
...
@@ -31,14 +29,14 @@ function cm.op1(e,tp,eg,ep,ev,re,r,rp)
Duel
.
ConfirmCards
(
g
)
Duel
.
ConfirmCards
(
g
)
local
ct1
=
vgf
.
GetAvailableLocation
(
tp
)
local
ct1
=
vgf
.
GetAvailableLocation
(
tp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CALL
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CALL
)
local
sg
=
g
:
FilterSelect
(
tp
,
Card
.
IsCanBeSpecialSummoned
,
0
,
ct1
,
nil
)
local
sg
=
g
:
FilterSelect
(
tp
,
vgf
.
IsCanBeCalled
,
0
,
ct1
,
nil
,
e
,
tp
)
if
sg
:
GetCount
()
>
0
then
if
sg
:
GetCount
()
>
0
then
vgf
.
Call
(
sg
,
0
,
tp
)
vgf
.
Sendto
(
LOCATION_MZONE
,
sg
,
0
,
tp
)
for
tc
in
vgf
.
Next
(
sg
)
do
g
:
RemoveCard
(
tc
)
end
g
:
Sub
(
sg
)
end
end
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
local
tc
=
vgf
.
GetVMonster
(
tp
)
local
tc
=
vgf
.
GetVMonster
(
tp
)
Duel
.
Overlay
(
tc
,
g
)
vgf
.
Sendto
(
LOCATION_OVERLAY
,
g
,
tc
)
end
end
end
end
function
cm
.
checkcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
checkcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
...
c10401003.lua
View file @
3d53c661
...
@@ -8,31 +8,19 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -8,31 +8,19 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local
ct
=
c
:
GetOverlayCount
()
local
ct
=
c
:
GetOverlayCount
()
if
ct
>=
5
then
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
end
if
ct
>=
5
then
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
end
if
ct
>=
10
then
if
ct
>=
10
then
vgf
.
AtkUp
(
c
,
c
,
10000
,
nil
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_BATTLED
)
local
t
=
{
vgf
.
AtkUp
(
c
,
c
,
10000
),
vgf
.
StarUp
(
c
,
c
,
1
)}
vgf
.
StarUp
(
c
,
c
,
1
,
nil
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_BATTLED
)
vgf
.
EffectReset
(
c
,
t
,
EVENT_BATTLED
)
end
end
if
ct
>=
15
then
if
ct
>=
15
then
local
g1
=
Duel
.
GetMatchingGroup
(
vgf
.
RMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
local
g1
=
vgf
.
GetMatchingGroup
(
vgf
.
RMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
local
g2
=
Duel
.
GetMatchingGroup
(
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
local
g2
=
vgf
.
GetMatchingGroup
(
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
local
tc1
=
vgf
.
GetVMonster
(
tp
)
local
tc1
=
vgf
.
GetVMonster
(
tp
)
local
tc2
=
vgf
.
GetVMonster
(
1
-
tp
)
local
tc2
=
vgf
.
GetVMonster
(
1
-
tp
)
for
tc
in
vgf
.
Next
(
g1
)
do
vgf
.
Sendto
(
LOCATION_OVERLAY
,
g1
,
tc1
)
local
og
=
tc
:
GetOverlayGroup
()
vgf
.
Sendto
(
LOCATION_OVERLAY
,
g2
,
tc2
)
if
og
:
GetCount
()
>
0
then
Duel
.
Overlay
(
tc1
,
og
)
end
end
for
tc
in
vgf
.
Next
(
g2
)
do
local
og
=
tc
:
GetOverlayGroup
()
if
og
:
GetCount
()
>
0
then
Duel
.
Overlay
(
tc2
,
og
)
end
end
Duel
.
Overlay
(
tc1
,
g1
)
Duel
.
Overlay
(
tc2
,
g2
)
if
vgf
.
GetAvailableLocation
(
tp
)
>
0
then
if
vgf
.
GetAvailableLocation
(
tp
)
>
0
then
local
g
=
tc1
:
GetOverlayGroup
():
FilterSelect
(
tp
,
Card
.
IsCanBeSpecialSummoned
,
tp
,
0
,
2
,
nil
,
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
local
g
=
tc1
:
GetOverlayGroup
():
FilterSelect
(
tp
,
vgf
.
IsCanBeCalled
,
tp
,
0
,
2
,
nil
,
e
,
tp
)
vgf
.
Call
(
g
,
0
,
tp
)
vgf
.
Sendto
(
LOCATION_MZONE
,
g
,
0
,
tp
)
end
end
end
end
end
end
\ No newline at end of file
c10401004.lua
View file @
3d53c661
...
@@ -14,16 +14,13 @@ function cm.checkop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -14,16 +14,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
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetFlagEffectLabel
(
tp
,
ConditionFlag
)
==
10102001
local
ct
=
Duel
.
GetFlagEffectLabel
(
tp
,
FLAG_CONDITION
)
return
VgF
.
GetValueType
(
ct
)
==
"number"
and
ct
==
10102001
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
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
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_LEAVEONFIELD
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_LEAVEONFIELD
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectTarget
(
tp
,
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
if
g
then
Duel
.
HintSelection
(
g
)
Duel
.
SendtoGrave
(
g
,
REASON_EFFECT
)
end
end
end
\ No newline at end of file
c10401021.lua
View file @
3d53c661
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
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_FIELD
,
EVENT_BATTLED
,
cm
.
op
,
cm
.
cost
,
cm
.
con
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
c
:
GetFlagEffect
(
FLAG_SUPPORT
)
>
0
and
vgf
.
RMonsterCondition
(
e
)
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
vgf
.
OverlayCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
end
vgf
.
OverlayCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
vgf
.
Sendto
(
LOCATION_DROP
,
c
,
REASON_COST
)
end
\ No newline at end of file
c10401024.lua
View file @
3d53c661
--鞭挞的少女 伊蕾尼娅
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
)
--【自】:这个单位从手牌登场到R时,通过【费用】[计数爆发1,灵魂爆发1],选择你的弃牌区中的1张等级2以下的卡,CALL到R上,这个回合中,那个单位的力量+5000。
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
cm
.
cost
,
cm
.
condition
)
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
not
(
c
:
IsSummonType
(
SUMMON_TYPE_RIDE
)
or
c
:
IsSummonType
(
SUMMON_TYPE_SELFRIDE
))
and
c
:
IsSummonLocation
(
LOCATION_HAND
)
end
--效果二处理
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
vgf
.
SearchCard
(
LOCATION_MZONE
,
LOCATION_DROP
,
cm
.
filter2
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetOperatedGroup
()
vgf
.
AtkUp
(
c
,
g
,
5000
)
end
--效果二召唤等级筛选
function
cm
.
filter2
(
c
)
return
vgf
.
IsLevel
(
c
,
0
,
1
,
2
)
end
--计数爆发1,灵魂爆发1
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
vgf
.
DamageCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
and
vgf
.
OverlayCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
end
vgf
.
DamageCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
vgf
.
OverlayCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
end
end
c10401025.lua
View file @
3d53c661
--天惠之源龙王 恩宠吐息
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
)
--追加效果——抽1张卡!选择你的1个单位,这个回合中,☆+1!将当前存在于前列的你所有的单位的力量+10000!你的伤害区中的卡的张数在对手的伤害区中的卡的张数以上的话,选择你的伤害区中的1张卡,回复!
vgd
.
CardTrigger
(
c
,
cm
.
operation
)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
Duel
.
Draw
(
tp
,
1
,
REASON_TRIGGER
)
local
g1
=
vgf
.
SelectMatchingCard
(
HINTMSG_CRITICAL_STRIKE
,
e
,
tp
,
nil
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
vgf
.
StarUp
(
c
,
g1
,
1
,
nil
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATKUP
)
local
g2
=
vgf
.
GetMatchingGroup
(
vgf
.
IsSequence
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
0
,
4
,
5
)
vgf
.
AtkUp
(
c
,
g2
,
10000
,
nil
)
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
()
if
tc
then
vgf
.
Sendto
(
LOCATION_DROP
,
tc
,
REASON_TRIGGER
)
end
end
end
\ No newline at end of file
c10401026.lua
View file @
3d53c661
--突贯龙 猛击三角龙
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
)
--【自】【R】:你的先导者攻击时,对手的后防者在2张以下的话,通过【费用】[将这个单位放置到灵魂里],选择你的1张先导者,这次战斗中,☆+1。
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_FIELD
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
operation2
,
cm
.
cost
,
cm
.
condition2
)
end
end
function
cm
.
condition2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
Duel
.
GetAttacker
()
return
vgf
.
RMonsterCondition
(
e
)
and
vgf
.
GetMatchingGroupCount
(
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
<=
2
and
vgf
.
VMonsterFilter
(
c
)
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
true
end
local
rc
=
vgf
.
GetMatchingGroup
(
vgf
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
()
vgf
.
Sendto
(
LOCATION_OVERLAY
,
c
,
rc
)
end
function
cm
.
operation2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_CRITICAL_STRIKE
,
e
,
tp
,
vgf
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
local
e1
=
vgf
.
StarUp
(
c
,
g
,
1
,
nil
)
vgf
.
EffectReset
(
c
,
e1
,
EVENT_BATTLED
)
end
end
\ No newline at end of file
c10401027.lua
View file @
3d53c661
--沙尘之凶弹 兰多尔
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
)
--【自】:这个单位被「沙尘之重炮 尤金」RIDE时,抽1张卡,选择你的弃牌区中的至多1张卡,放置到灵魂里。
vgd
.
BeRidedByCard
(
c
,
m
,
10401002
,
cm
.
operation
)
--【自】【V/R】:这个单位攻击时,对手的后防者在2张以下的话,通过【费用】[计数爆发1],灵魂填充1,这次战斗中,这个单位的力量+5000。
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
operation1
,
vgf
.
DamageCost
(
1
),
cm
.
condition
)
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_XMATERIAL
,
e
,
tp
,
nil
,
tp
,
LOCATION_DROP
,
0
,
0
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
vgf
.
Sendto
(
LOCATION_OVERLAY
,
g
,
vgf
.
GetVMonster
(
tp
))
end
end
function
cm
.
operation1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
vgf
.
OverlayFill
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
e1
=
vgf
.
AtkUp
(
c
,
c
,
5000
)
vgf
.
EffectReset
(
c
,
e1
,
EVENT_BATTLED
)
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
GetMatchingGroupCount
(
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
<=
2
end
end
c10401028.lua
View file @
3d53c661
--龙族骑士 达巴弗
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
)
--【自】:这个单位登场到R时,通过【费用】[计数爆发2],灵魂填充1,选择对手的1张后防者,退场。
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
vgf
.
DamageCost
(
2
),
cm
.
condition
)
end
--这个单位从手牌登场到R时
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
not
(
c
:
IsSummonType
(
SUMMON_TYPE_RIDE
)
or
c
:
IsSummonType
(
SUMMON_TYPE_SELFRIDE
))
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
vgf
.
OverlayFill
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_LEAVEONFIELD
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
end
end
end
c10401029.lua
View file @
3d53c661
--争斗的忍鬼 不动丸
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
)
--【自】【R】:这个单位的攻击击中时,通过【费用】[将手牌中的1张卡舍弃],抽1张卡。
vgd
.
EffectTypeTriggerWhenHitting
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
cm
.
operation
,
vgf
.
DisCardCost
(
1
))
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
end
\ No newline at end of file
c10401030.lua
View file @
3d53c661
--龙族骑士 阿尔瓦利斯
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
)
--【自】:这个单位登场到R时,通过【费用】[计数爆发1,灵魂爆发1],选择对手的1张等级2以上的后防者,退场。
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
cm
.
cost
,
cm
.
condition
)
end
end
--计数爆发1,灵魂爆发1
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
vgf
.
DamageCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
and
vgf
.
OverlayCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
end
vgf
.
DamageCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
vgf
.
OverlayCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
end
--选择对手的1张等级2以上的后防者
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
not
(
c
:
IsSummonType
(
SUMMON_TYPE_RIDE
)
or
c
:
IsSummonType
(
SUMMON_TYPE_SELFRIDE
))
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_LEAVEONFIELD
,
e
,
tp
,
cm
.
filter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
end
end
function
cm
.
filter
(
c
)
return
vgf
.
RMonsterFilter
(
c
)
and
c
:
IsLevelAbove
(
3
)
end
\ No newline at end of file
c10401031.lua
View file @
3d53c661
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
.
CardToG
(
c
,
nil
,
cm
.
op
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_MONSTER
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_MONSTER
,
e
,
tp
,
nil
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
local
tc
=
g
:
GetFirst
()
if
vgf
.
RMonsterFilter
(
tc
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCode
(
EFFECT_INDESTRUCTABLE_BATTLE
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetValue
(
1
)
tc
:
RegisterEffect
(
e1
)
vgf
.
EffectReset
(
c
,
e1
,
EVENT_BATTLED
)
elseif
vgf
.
VMonsterFilter
(
tc
)
then
tc
:
RegisterFlagEffect
(
FLAG_DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
end
end
local
sg
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_HAND
,
0
)
if
sg
:
GetCount
()
>=
2
then
sg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
vgf
.
Sendto
(
LOCATION_DROP
,
sg
,
REASON_DISCARD
+
REASON_EFFECT
)
end
end
\ No newline at end of file
c10401032.lua
View file @
3d53c661
--幻想的奇术师 卡提斯
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
)
--【自】:这个单位登场到R时,你有「重力的支配者 磁力重压」的先导者的话,灵魂填充2。
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
vgf
.
OverlayFill
(
2
),
nil
,
cm
.
condition
)
--【起】【R】:你的灵魂在10张以上的话,通过【费用】[计数爆发2],这个回合中,将当前存在于前列的你所有的单位的力量+5000。
vgd
.
EffectTypeIgnition
(
c
,
m
,
LOCATION_MZONE
,
cm
.
operation
,
vgf
.
DamageCost
(
2
),
cm
.
condition1
)
end
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
not
(
c
:
IsSummonType
(
SUMMON_TYPE_RIDE
)
or
c
:
IsSummonType
(
SUMMON_TYPE_SELFRIDE
))
and
vgf
.
GetVMonster
(
tp
):
IsCode
(
10401003
)
end
function
cm
.
condition1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
vgf
.
RMonsterCondition
(
e
)
and
vgf
.
GetVMonster
(
tp
):
GetOverlayCount
()
>=
10
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
g2
=
vgf
.
GetMatchingGroup
(
vgf
.
IsSequence
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
0
,
4
,
5
)
vgf
.
AtkUp
(
c
,
g2
,
10000
,
nil
)
end
\ No newline at end of file
c10401033.lua
View file @
3d53c661
--电光斯巴达
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
)
--【自】:这个单位被「重力的支配者 磁力重压」RIDE时,通过【费用】[将手牌中的1张卡放置到灵魂里],抽1张卡,灵魂填充1。
vgd
.
BeRidedByCard
(
c
,
m
,
10401003
,
cm
.
operation
,
cm
.
cost
)
--【自】:这个单位登场到R时,通过【费用】[计数爆发1],灵魂填充2。
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation1
,
vgf
.
DamageCost
(
1
),
cm
.
condition
)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
vgf
.
OverlayFill
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
end
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
local
rc
=
vgf
.
GetMatchingGroup
(
vgf
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_OVERLAY
,
e
,
tp
,
nil
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
e
,
tp
)
vgf
.
Sendto
(
LOCATION_OVERLAY
,
g
,
rc
)
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
not
(
c
:
IsSummonType
(
SUMMON_TYPE_RIDE
)
or
c
:
IsSummonType
(
SUMMON_TYPE_SELFRIDE
))
end
function
cm
.
operation1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
vgf
.
OverlayFill
(
2
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
end
\ No newline at end of file
c10401034.lua
View file @
3d53c661
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
)
end
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCode
(
EFFECT_CANNOT_BE_EFFECT_TARGET
)
e1
:
SetCondition
(
vgf
.
RMonsterCondition
)
e1
:
SetValue
(
vgf
.
tgoval
)
c
:
RegisterEffect
(
e1
)
end
\ No newline at end of file
c10401036.lua
View file @
3d53c661
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
.
CardToG
(
c
,
nil
,
cm
.
op
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_MONSTER
,
e
,
tp
,
Card
.
IsFaceup
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
local
tc
=
g
:
GetFirst
()
if
vgf
.
RMonsterFilter
(
tc
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCode
(
EFFECT_INDESTRUCTABLE_BATTLE
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetValue
(
1
)
tc
:
RegisterEffect
(
e1
)
vgf
.
EffectReset
(
c
,
e1
,
EVENT_BATTLED
)
elseif
vgf
.
VMonsterFilter
(
tc
)
then
tc
:
RegisterFlagEffect
(
FLAG_DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
end
end
local
sg
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_HAND
,
0
)
if
sg
:
GetCount
()
>=
2
then
sg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
vgf
.
Sendto
(
LOCATION_DROP
,
sg
,
REASON_DISCARD
+
REASON_EFFECT
)
end
end
\ No newline at end of file
c10401037.lua
View file @
3d53c661
--在地上爬行吧,“下等生物”!
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
)
--通过【费用】[计数爆发1]施放!灵魂填充1。这之后,选择你的1个单位,你的灵魂里的卡每有5张,这个回合中,力量+10000。你的灵魂在10张以上的话,抽1张卡。
vgd
.
SpellActivate
(
c
,
m
,
cm
.
operation
,
vgf
.
DamageCost
(
1
))
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
vgf
.
OverlayFill
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
Duel
.
BreakEffect
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATKUP
)
local
e1
=
vgf
.
GetMatchingGroupCount
(
nil
,
tp
,
LOCATION_OVERLAY
,
0
,
nil
)
/
5
local
e2
=
e1
*
10000
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
e
,
tp
,
nil
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
vgf
.
AtkUp
(
c
,
g
,
e2
,
nil
)
if
vgf
.
GetMatchingGroupCount
(
nil
,
tp
,
LOCATION_OVERLAY
,
0
,
nil
)
>=
10
then
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
end
end
\ No newline at end of file
c10401039.lua
View file @
3d53c661
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
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_FIELD
,
EVENT_MOVE
,
cm
.
op
,
nil
,
cm
.
con
)
vgd
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_SINGLE
,
5000
,
cm
.
con2
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
e
,
tp
,
nil
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
vgf
.
AtkUp
(
c
,
g
,
5000
)
end
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
())
end
function
cm
.
filter
(
c
,
tp
)
return
c
:
IsSetCard
(
0x5040
)
and
c
:
IsLocation
(
LOCATION_ORDER
)
and
c
:
IsControler
(
tp
)
end
function
cm
.
con2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
RMonsterCondition
(
e
)
and
Duel
.
IsPlayerAffectedByEffect
(
tp
,
AFFECT_CODE_DEEP_NIGHT
)
and
Duel
.
GetTurnPlayer
()
==
tp
end
\ No newline at end of file
c10401040.lua
View file @
3d53c661
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
.
EffectTypeTrigger
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
cm
.
cost
,
cm
.
con
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
Duel
.
IsPlayerAffectedByEffect
(
tp
,
AFFECT_CODE_DEEP_NIGHT
)
and
not
(
c
:
IsSummonType
(
SUMMON_TYPE_RIDE
)
or
c
:
IsSummonType
(
SUMMON_TYPE_SELFRIDE
))
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
vgf
.
DamageCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
and
vgf
.
OverlayCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
end
vgf
.
DamageCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
vgf
.
OverlayCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
end
\ No newline at end of file
c10401041.lua
View file @
3d53c661
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
.
EffectTypeTrigger
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_DISCARD
,
cm
.
op
,
vgf
.
DamageCost
(
1
),
cm
.
con
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
vgf
.
IsCanBeCalled
(
c
,
e
,
tp
)
then
vgf
.
Sendto
(
LOCATION_MZONE
,
c
,
0
,
tp
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetTurnPlayer
()
==
tp
and
vgf
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_ORDER
,
0
,
1
,
nil
)
end
function
cm
.
filter
(
c
)
return
c
:
IsType
(
TYPE_CONTINUOUS
)
and
c
:
IsFaceup
()
end
\ No newline at end of file
c10401042.lua
View file @
3d53c661
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
.
CardToG
(
c
,
nil
,
cm
.
op
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_MONSTER
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_MONSTER
,
e
,
tp
,
nil
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
local
tc
=
g
:
GetFirst
()
if
vgf
.
RMonsterFilter
(
tc
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCode
(
EFFECT_INDESTRUCTABLE_BATTLE
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetValue
(
1
)
tc
:
RegisterEffect
(
e1
)
vgf
.
EffectReset
(
c
,
e1
,
EVENT_BATTLED
)
elseif
vgf
.
VMonsterFilter
(
tc
)
then
tc
:
RegisterFlagEffect
(
FLAG_DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
end
end
local
sg
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_HAND
,
0
)
if
sg
:
GetCount
()
>=
2
then
sg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
vgf
.
Sendto
(
LOCATION_DROP
,
sg
,
REASON_DISCARD
+
REASON_EFFECT
)
end
end
\ No newline at end of file
c10401043.lua
View file @
3d53c661
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
.
ContinuousSpell
(
c
,
vgf
.
OverlayCost
(
1
))
vgd
.
EffectTypeTrigger
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_MOVE
,
cm
.
operation
,
nil
,
cm
.
condition
)
--黑夜
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e1
:
SetCode
(
AFFECT_CODE_NIGHT
)
e1
:
SetRange
(
LOCATION_ORDER
)
e1
:
SetTargetRange
(
1
,
0
)
e1
:
SetCondition
(
cm
.
con1
)
c
:
RegisterEffect
(
e1
)
--深渊黑夜
local
e2
=
e1
:
Clone
()
e2
:
SetCode
(
AFFECT_CODE_DEEP_NIGHT
)
e2
:
SetCondition
(
cm
.
con2
)
c
:
RegisterEffect
(
e2
)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsLocation
(
LOCATION_ORDER
)
end
function
cm
.
con1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
not
vgf
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_ORDER
,
0
,
1
,
nil
)
and
vgf
.
IsExistingMatchingCard
(
Card
.
IsSetCard
,
tp
,
LOCATION_ORDER
,
0
,
1
,
nil
,
0x5040
)
and
not
vgf
.
IsExistingMatchingCard
(
Card
.
IsSetCard
,
tp
,
LOCATION_ORDER
,
0
,
2
,
nil
,
0x5040
)
end
function
cm
.
con2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
not
vgf
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_ORDER
,
0
,
1
,
nil
)
and
vgf
.
IsExistingMatchingCard
(
Card
.
IsSetCard
,
tp
,
LOCATION_ORDER
,
0
,
2
,
nil
,
0x5040
)
end
function
cm
.
filter
(
c
)
return
not
c
:
IsSetCard
(
0x5040
)
and
c
:
IsType
(
TYPE_CONTINUOUS
)
end
\ No newline at end of file
c10401044.lua
View file @
3d53c661
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
.
EffectTypeIgnition
(
c
,
m
,
LOCATION_MZONE
,
cm
.
op
,
vgf
.
OverlayCost
(
2
),
cm
.
con
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
GetMatchingGroup
(
vgf
.
IsLevel
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
3
)
for
tc
in
vgf
.
Next
(
g
)
do
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetCode
(
EFFECT_ADD_ATTRIBUTE
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetValue
(
SKILL_SUPPORT
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_END
)
tc
:
RegisterEffect
(
e1
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
IsExistingMatchingCard
(
vgf
.
IsLevel
,
tp
,
LOCATION_MZONE
,
0
,
2
,
nil
,
3
)
and
vgf
.
RMonsterCondition
(
e
)
end
\ No newline at end of file
c10401045.lua
View file @
3d53c661
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
.
EffectTypeTrigger
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_DISCARD
,
cm
.
op
,
cm
.
cost
,
cm
.
con
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
vgf
.
DamageCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
and
vgf
.
OverlayCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
end
vgf
.
DamageCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
vgf
.
OverlayCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetTurnPlayer
()
==
tp
end
\ No newline at end of file
c10401046.lua
View file @
3d53c661
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
.
BeRidedByCard
(
c
,
m
,
10401008
,
cm
.
op
)
vgd
.
EffectTypeTrigger
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op2
,
nil
,
cm
.
con
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
3
)
local
ct
=
g
:
GetCount
()
if
ct
>
0
then
Duel
.
ConfirmCards
(
tp
,
g
)
if
ct
>
1
then
Duel
.
SortDecktop
(
tp
,
tp
,
ct
)
end
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
not
(
c
:
IsSummonType
(
SUMMON_TYPE_RIDE
)
or
c
:
IsSummonType
(
SUMMON_TYPE_SELFRIDE
))
end
function
cm
.
op2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
1
)
if
g
:
GetCount
()
>
0
then
Duel
.
ConfirmCards
(
tp
,
g
)
Duel
.
DisableShuffleCheck
()
if
Duel
.
SelectOption
(
tp
,
1195
,
1196
)
==
1
then
Duel
.
MoveSequence
(
g
:
GetFirst
(),
1
)
vgf
.
AtkUp
(
c
,
c
,
2000
)
end
end
end
\ No newline at end of file
c10401047.lua
View file @
3d53c661
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
.
EffectTypeTrigger
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
cm
.
cost
,
cm
.
con
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
not
(
c
:
IsSummonType
(
SUMMON_TYPE_RIDE
)
or
c
:
IsSummonType
(
SUMMON_TYPE_SELFRIDE
))
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsCanChangePosition
()
and
e
:
GetHandler
():
IsPosition
(
POS_FACEUP_ATTACK
)
and
vgf
.
OverlayCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
end
vgf
.
OverlayCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
Duel
.
ChangePosition
(
e
:
GetHandler
(),
POS_FACEUP_DEFENCE
)
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
2
)
if
g
:
GetCount
()
>
0
then
Duel
.
ConfirmCards
(
tp
,
g
)
Duel
.
DisableShuffleCheck
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOTOP
)
local
sg
=
g
:
select
(
tp
,
1
,
1
,
nil
)
g
:
Sub
(
sg
)
if
g
:
GetCount
()
>
0
then
Duel
.
MoveSequence
(
g
:
GetFirst
(),
1
)
end
end
end
\ No newline at end of file
c10401049.lua
View file @
3d53c661
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
.
CardToG
(
c
,
nil
,
cm
.
op
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_MONSTER
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_MONSTER
,
e
,
tp
,
nil
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
local
tc
=
g
:
GetFirst
()
if
vgf
.
RMonsterFilter
(
tc
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCode
(
EFFECT_INDESTRUCTABLE_BATTLE
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetValue
(
1
)
tc
:
RegisterEffect
(
e1
)
vgf
.
EffectReset
(
c
,
e1
,
EVENT_BATTLED
)
elseif
vgf
.
VMonsterFilter
(
tc
)
then
tc
:
RegisterFlagEffect
(
FLAG_DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
end
end
local
sg
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_HAND
,
0
)
if
sg
:
GetCount
()
>=
2
then
sg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
vgf
.
Sendto
(
LOCATION_DROP
,
sg
,
REASON_DISCARD
+
REASON_EFFECT
)
end
end
\ No newline at end of file
c10401050.lua
View file @
3d53c661
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
.
EffectTypeTrigger
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
vgf
.
SearchCard
(
LOCATION_HAND
,
LOCATION_DROP
,
cm
.
filter
,
1
,
0
),
nil
,
cm
.
con
)
vgd
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_SINGLE
,
5000
,
cm
.
con2
)
vgd
.
GlobalCheckEffect
(
c
,
m
,
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
,
EVENT_CHAINING
,
cm
.
checkcon
,
cm
.
checkop
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
c
:
IsSummonType
(
SUMMON_TYPE_RIDE
)
or
c
:
IsSummonType
(
SUMMON_TYPE_SELFRIDE
)
end
function
cm
.
filter
(
c
)
return
c
:
GetType
()
==
TYPE_SPELL
end
function
cm
.
checkcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
re
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
and
rp
==
tp
end
function
cm
.
checkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
RegisterFlagEffect
(
tp
,
m
,
RESET_PHASE
+
PHASE_END
,
0
,
1
)
end
function
cm
.
con2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetFlagEffect
(
tp
,
m
)
>
0
and
vgf
.
RMonsterCondition
(
e
)
end
\ No newline at end of file
c10401051.lua
View file @
3d53c661
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
.
EffectTypeIgnition
(
c
,
m
,
LOCATION_MZONE
,
cm
.
op
,
cm
.
cost
,
vgf
.
RMonsterCondition
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
e
,
tp
,
nil
,
tp
,
LOCATION_MZONE
,
0
,
2
,
2
,
nil
)
vgf
.
AtkUp
(
c
,
g
,
5000
)
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsAbleToGraveAsCost
()
end
vgf
.
Sendto
(
LOCATION_DROP
,
e
:
GetHandler
(),
REASON_COST
)
end
\ No newline at end of file
c10401052.lua
View file @
3d53c661
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
.
CardToG
(
c
,
nil
,
cm
.
op
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_MONSTER
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_MONSTER
,
e
,
tp
,
nil
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
local
tc
=
g
:
GetFirst
()
if
vgf
.
RMonsterFilter
(
tc
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCode
(
EFFECT_INDESTRUCTABLE_BATTLE
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetValue
(
1
)
tc
:
RegisterEffect
(
e1
)
vgf
.
EffectReset
(
c
,
e1
,
EVENT_BATTLED
)
elseif
vgf
.
VMonsterFilter
(
tc
)
then
tc
:
RegisterFlagEffect
(
FLAG_DEFENSE_ENTIRELY
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
end
end
local
sg
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_HAND
,
0
)
if
sg
:
GetCount
()
>=
2
then
sg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
vgf
.
Sendto
(
LOCATION_DROP
,
sg
,
REASON_DISCARD
+
REASON_EFFECT
)
end
end
\ No newline at end of file
c10401053.lua
View file @
3d53c661
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
.
SpellActivate
(
c
,
m
,
cm
.
op
,
vgf
.
OverlayCost
(
2
))
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
4
)
Duel
.
ConfirmCards
(
tp
,
4
)
local
ct
=
bit
.
ReturnCount
(
vgf
.
GetAvailableLocation
(
tp
))
if
chk
>
0
then
if
ct
>
2
then
ct
=
2
end
else
if
ct
>
1
then
ct
=
1
end
end
if
ct
>
0
then
Duel
.
DisableShuffleCheck
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CALL
)
local
sg
=
g
:
FilterSelect
(
tp
,
vgf
.
IsCanBeCalled
,
0
,
ct
,
nil
,
e
,
tp
)
vgf
.
Sendto
(
LOCATION_MZONE
,
sg
,
0
,
tp
)
sg
=
Duel
.
GetOperatedGroup
()
vgf
.
AtkUp
(
c
,
sg
,
5000
)
g
:
Sub
(
sg
)
end
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
end
\ No newline at end of file
c10401054.lua
View file @
3d53c661
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
.
SpellActivate
(
c
,
m
,
cm
.
op
,
vgf
.
DamageCost
(
1
),
cm
.
con
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
e
,
tp
,
nil
,
tp
,
LOCATION_MZONE
,
0
,
3
,
3
,
nil
)
vgf
.
AtkUp
(
c
,
g
,
10000
)
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
GetVMonster
(
tp
):
IsCode
(
10401009
)
end
\ No newline at end of file
c10401055.lua
View file @
3d53c661
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
.
SpellActivate
(
c
,
m
,
cm
.
op
,
vgf
.
OverlayCost
(
1
))
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
vgf
.
SearchCard
(
LOCATION_MZONE
,
LOCATION_GRAVE
,
cm
.
filter
,
1
,
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetOperatedGroup
()
vgf
.
AtkUp
(
c
,
g
,
10000
)
end
function
cm
.
filter
(
c
)
local
tp
=
c
:
GetControl
()
local
lv
=
vgf
.
GetVMonster
(
tp
):
GetLevel
()
return
c
:
IsLevelBelow
(
lv
)
end
\ No newline at end of file
c10401056.lua
View file @
3d53c661
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
.
EffectTypeTrigger
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
vgf
.
DamageCost
(
1
),
cm
.
con
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
not
(
c
:
IsSummonType
(
SUMMON_TYPE_RIDE
)
or
c
:
IsSummonType
(
SUMMON_TYPE_SELFRIDE
))
and
vgf
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_LEAVEONFIELD
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
end
function
cm
.
filter
(
c
)
return
c
:
GetFlagEffectLabel
(
FLAG_CONDITION
)
==
201
end
\ No newline at end of file
c10401057.lua
View file @
3d53c661
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
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
op
,
nil
,
cm
.
con
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
GetMatchingGroup
(
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_MZONE
,
nil
):
GetCount
()
<=
2
and
vgf
.
RMonsterCondition
(
e
)
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
e1
=
vgf
.
AtkUp
(
c
,
c
,
5000
)
vgf
.
EffectReset
(
c
,
e1
,
EVENT_BATTLED
)
end
\ No newline at end of file
c10401058.lua
View file @
3d53c661
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
.
EffectTypeTrigger
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_MOVE
,
cm
.
op
,
vgf
.
OverlayCost
(
1
),
cm
.
con
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
e1
=
vgf
.
DefUp
(
c
,
c
,
5000
)
vgf
.
EffectReset
(
c
,
e1
,
EVENT_BATTLED
)
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
c
:
IsLocation
(
LOCATION_GZONE
)
and
c
:
IsPreviousLocation
(
LOCATION_MZONE
)
end
\ No newline at end of file
c10401059.lua
View file @
3d53c661
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
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_FIELD
,
EVENT_CUSTOM
+
EVENT_SUPPORT
,
cm
.
op
,
nil
,
cm
.
con
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
e1
=
vgf
.
DefUp
(
c
,
c
,
2000
)
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
eg
:
IsContains
(
c
)
end
\ No newline at end of file
c10401060.lua
View file @
3d53c661
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
.
BeRidedByCard
(
c
,
m
,
10401027
,
vgf
.
OverlayFill
(
1
))
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_FIELD
,
EVENT_TO_GRAVE
,
cm
.
op
,
cm
.
cost
,
cm
.
con
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_LEAVEONFIELD
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
end
function
cm
.
filter
(
c
,
tp
)
return
c
:
IsPreviousLocation
(
LOCATION_MZONE
)
and
c
:
IsPreviousControler
(
1
-
tp
)
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
cm
.
filter
,
1
,
nil
,
tp
)
and
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN1
and
Duel
.
GetTurnPlayer
()
==
tp
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
c
:
IsAbleToGraveAsCost
()
and
vgf
.
DamageCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
end
vgf
.
DamageCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
vgf
.
Sendto
(
LOCATION_DROP
,
c
,
REASON_COST
)
end
\ No newline at end of file
c10401061.lua
View file @
3d53c661
--忍妖 凌汛爱子
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
)
--【自】【R】:你的主要阶段中对手的后防者退场时,通过【费用】[将这个单位退场],查看你的牌堆顶的1张卡,你可以将查看的单位卡CALL到R上。没有这么做的话,将其余的查看的卡放置到灵魂里。
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_FIELD
,
EVENT_TO_GRAVE
,
cm
.
op
,
cm
.
cost
,
cm
.
con
)
end
end
--将这个单位退场
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
c
:
IsAbleToGraveAsCost
()
end
vgf
.
Sendto
(
LOCATION_DROP
,
c
,
REASON_COST
)
end
--你的主要阶段中对手的后防者退场时
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
)
end
function
cm
.
filter
(
c
,
tp
)
return
c
:
IsPreviousLocation
(
LOCATION_MZONE
)
and
c
:
IsPreviousControler
(
1
-
tp
)
and
c
:
IsPreviousPosition
(
POS_FACEUP
)
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
1
)
Duel
.
ConfirmCards
(
g
)
Duel
.
DisableShuffleCheck
()
local
sg
=
g
:
FilterSelect
(
tp
,
vgf
.
IsCanBeCalled
,
0
,
1
,
nil
,
e
,
tp
)
if
sg
:
GetCount
()
>
0
then
vgf
.
Sendto
(
LOCATION_MZONE
,
g
,
0
,
tp
)
g
:
Sub
(
sg
)
else
local
tc
=
vgf
.
GetVMonster
(
tp
)
vgf
.
Sendto
(
LOCATION_OVERLAY
,
g
,
tc
)
end
end
c10401067.lua
View file @
3d53c661
--阳光之惩戒
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
)
--通过【费用】[使用1张以上的你希望的张数的卡进行计数爆发]施放!
--由于这个费用支付的计数爆发1每有1张,选择对手的1张后防者,退场。
vgd
.
SpellActivate
(
c
,
m
,
cm
.
op
,
cm
.
cost
)
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
ct
=
vgf
.
GetMatchingGroupCount
(
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
nil
)
if
chk
==
0
then
if
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
then
cm
.
cos_g
=
Duel
.
GetMatchingGroup
(
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
nil
)
cm
.
cos_val
=
{
nil
,
1
,
ct
}
end
return
vgf
.
IsExistingMatchingCard
(
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
1
,
nil
)
end
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_DAMAGE
,
e
,
tp
,
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
1
,
ct
,
nil
)
local
lab
=
Duel
.
ChangePosition
(
g
,
POS_FACEDOWN_ATTACK
)
e
:
SetLabel
(
lab
)
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ct
=
e
:
GetLabel
()
local
ct1
=
vgf
.
GetMatchingGroupCount
(
nil
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
if
ct
>
ct1
then
ct
=
ct1
end
if
ct
==
0
then
return
end
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_LEAVEONFIELD
,
e
,
tp
,
nil
,
tp
,
0
,
LOCATION_MZONE
,
1
,
ct
,
nil
)
if
g
:
GetCount
()
>
0
then
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
end
end
end
c10401068.lua
View file @
3d53c661
--清澈的祈祷啊,旺盛燃烧吧
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
.
QuickSpell
(
c
,
cm
.
op
,
nil
,
cm
.
con
)
end
end
--你的伤害区中的卡有3张以上的话,选择你的1个单位,这次战斗中,力量+15000。
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
vgf
.
IsExistingMatchingCard
(
nil
,
tp
,
LOCATION_DAMAGE
,
0
,
3
,
nil
)
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
e
,
tp
,
nil
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
vgf
.
AtkUp
(
c
,
g
,
15000
,
nil
)
end
\ No newline at end of file
c10401069.lua
View file @
3d53c661
--自私雕刻师
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
)
-- 【自】【R】:这个单位的攻击击中时,灵魂填充1。
vgd
.
EffectTypeTriggerWhenHitting
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
vgf
.
OverlayFill
(
1
),
nil
,
vgf
.
RMonsterCondition
)
-- 【自】【R】:这个单位攻击的战斗结束时,你的灵魂在10张以上的话,通过【费用】[将这个单位放置到灵魂里],计数回充1
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_BATTLED
,
vgf
.
DamageFill
(
1
),
cm
.
cost
,
cm
.
con
)
end
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
true
end
local
rc
=
vgf
.
GetMatchingGroup
(
vgf
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
()
vgf
.
Sendto
(
LOCATION_OVERLAY
,
c
,
rc
)
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
GetMatchingGroupCount
(
nil
,
tp
,
LOCATION_OVERLAY
,
0
,
nil
)
>=
10
and
vgf
.
RMonsterCondition
(
e
)
end
\ No newline at end of file
c10401070.lua
View file @
3d53c661
--入魂的操兽师 梅甘
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
)
--【永】【R】:这个回合中你进行过灵魂填充的话,这个单位的力量+2000
vgd
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_SINGLE
,
2000
,
cm
.
con
)
vgd
.
GlobalCheckEffect
(
c
,
m
,
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
,
EVENT_CUSTOM
+
EVENT_OVERLAY_FILL
,
cm
.
checkcon
,
cm
.
checkop
)
end
end
function
cm
.
con
(
e
)
local
tp
=
e
:
GetHandlerPlayer
()
return
vgf
.
RMonsterCondition
(
e
)
and
Duel
.
GetFlagEffect
(
tp
,
m
)
>
0
end
function
cm
.
checkcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetTurnPlayer
()
==
tp
and
rp
==
tp
end
function
cm
.
checkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
RegisterFlagEffect
(
tp
,
m
,
PHASE_END
,
0
,
1
)
end
\ No newline at end of file
c10401071.lua
View file @
3d53c661
--出众三头巨犬
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
)
-- 【自】【R】:这个单位支援时,这个回合中,这个单位的力量+2000。
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_FIELD
,
EVENT_CUSTOM
+
EVENT_SUPPORT
,
cm
.
op
,
nil
,
cm
.
con
)
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
vgf
.
RMonsterFilter
(
c
)
and
eg
:
IsContains
(
c
)
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
vgf
.
AtkUp
(
c
,
c
,
2000
)
end
end
c10401072.lua
View file @
3d53c661
--蒸汽艺术家 皮坦纳
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
)
-- 【起】【R】:通过【费用】[将这个单位放置到灵魂里],选择你的1个单位,这个回合中,力量+2000。
vgd
.
EffectTypeIgnition
(
c
,
m
,
LOCATION_MZONE
,
cm
.
op
,
cm
.
cost
,
vgf
.
RMonsterCondition
)
end
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
true
end
local
rc
=
vgf
.
GetMatchingGroup
(
vgf
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
()
vgf
.
Sendto
(
LOCATION_OVERLAY
,
c
,
rc
)
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
tp
,
nil
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
VgF
.
AtkUp
(
c
,
g
,
2000
,
nil
)
end
\ No newline at end of file
c10401073.lua
View file @
3d53c661
--蒸汽侦探 乌巴里特
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
)
--【自】:这个单位登场到R时,选择你其他的1个与这个单位同纵列的单位,这个回合中,力量+2000。你处于“一气呵成之势”状态的话,力量不+2000而是+5000。
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
nil
,
cm
.
con
)
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
GetColumnGroup
(
c
):
FilterSelect
(
tp
,
cm
.
filter
,
1
,
1
,
nil
,
tp
)
local
atk
=
2000
if
Duel
.
GetFlagEffectLabel
(
tp
,
FLAG_CONDITION
)
==
10102001
then
atk
=
5000
end
vgf
.
AtkUp
(
c
,
g
,
atk
)
end
function
cm
.
filter
(
c
,
tp
)
return
c
:
IsControler
(
tp
)
and
c
:
IsFaceup
()
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
not
(
c
:
IsSummonType
(
SUMMON_TYPE_SELFRIDE
)
or
c
:
IsSummonType
(
SUMMON_TYPE_RIDE
))
end
end
c10401074.lua
View file @
3d53c661
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
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_FIELD
,
EVENT_CUSTOM
+
EVENT_SUPPORT
,
cm
.
op
,
vgf
.
DamageCost
(
1
),
cm
.
con
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
vgf
.
RMonsterFilter
(
c
)
and
eg
:
IsContains
(
c
)
and
vgf
.
GetVMonster
(
tp
):
GetOverlayCount
()
>=
5
end
--对手要从手牌将卡CALL到G上之际,不将2张以上同时CALL的话则不能CALL出场。
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e1
:
SetCode
(
EFFECT_ACTIVATE_COST
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetTargetRange
(
0
,
1
)
e1
:
SetTarget
(
cm
.
costtg
)
e1
:
SetCost
(
cm
.
costchk
)
e1
:
SetOperation
(
cm
.
costop
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
c
:
RegisterEffect
(
e1
)
vgf
.
EffectReset
(
c
,
e1
,
EVENT_BATTLED
)
end
function
cm
.
costtg
(
e
,
re
,
tp
)
e
:
SetLabelObject
(
re
:
GetHandler
())
return
re
:
IsHasCategory
(
CATEGORY_DEFENDER
)
and
re
:
GetHandler
():
IsLocation
(
LOCATION_HAND
)
and
re
:
GetHandlerPlayer
()
==
tp
and
not
vgf
.
IsExistingMatchingCard
(
nil
,
tp
,
LOCATION_GZONE
,
0
,
1
,
nil
)
and
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
end
function
cm
.
costchk
(
e
,
re
,
tp
)
return
vgf
.
IsExistingMatchingCard
(
vgf
.
IsAbleToGZone
,
tp
,
LOCATION_HAND
,
0
,
1
,
re
:
GetHandler
(),
LOCATION_HAND
)
end
function
cm
.
costop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetLabelObject
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_TO_GZONE
,
e
,
tp
,
vgf
.
IsAbleToGZone
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
c
,
LOCATION_HAND
)
vgf
.
Sendto
(
LOCATION_GZONE
,
g
,
tp
,
POS_FACEUP
,
REASON_EFFECT
)
end
\ No newline at end of file
c10401075.lua
View file @
3d53c661
--深度音速
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
)
--【自】:这个单位登场到V时,灵魂填充1
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
vgf
.
OverlayFill
(
1
),
nil
,
cm
.
con1
)
--【永】【R】:你的回合中,你的灵魂在10张以上的话,这个单位的力量+10000。
vgd
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_SINGLE
,
10000
,
cm
.
con2
)
end
function
cm
.
con1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
c
:
IsSummonType
(
SUMMON_TYPE_RIDE
)
or
c
:
IsSummonType
(
SUMMON_TYPE_SELFRIDE
)
end
function
cm
.
con2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
vgf
.
RMonsterCondition
(
e
)
and
vgf
.
GetVMonster
(
tp
):
GetOverlayCount
()
>=
10
end
end
c10401077.lua
View file @
3d53c661
--暴
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
)
...
...
c10401078.lua
View file @
3d53c661
--引
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
)
...
...
c10401079.lua
View file @
3d53c661
--前
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
)
...
...
c10401080.lua
View file @
3d53c661
--治
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
)
...
...
c10501001.lua
View file @
3d53c661
local
cm
,
m
,
o
=
GetID
()
--诚意真心的领队 克拉莉萨
function
cm
.
initial_effect
(
c
)
local
cm
,
m
,
o
=
GetID
()
vgf
.
VgCard
(
c
)
function
cm
.
initial_effect
(
c
)
--这个函数下面用于注册效果
end
vgf
.
VgCard
(
c
)
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
vgf
.
SearchCard
(
LOCATION_HAND
,
LOCATION_DECK
,
cm
.
filter
),
vgf
.
DamageCost
(
1
),
cm
.
con2
)
-- 【自】【V】:这个单位的攻击击中时,抽1张卡,选择你的1张含有「诚意真心」的后防者,这个回合中,力量+5000。
vgd
.
EffectTypeTriggerWhenHitting
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
cm
.
operation1
,
nil
,
vgf
.
VMonsterCondition
)
end
function
cm
.
con2
(
e
)
local
c
=
e
:
GetHandler
()
local
g
=
c
:
GetMaterial
()
return
(
c
:
IsSummonType
(
SUMMON_TYPE_RIDE
)
or
c
:
IsSummonType
(
SUMMON_TYPE_SELFRIDE
))
and
g
:
IsExists
(
Card
.
IsCode
,
1
,
nil
,
10501036
)
end
function
cm
.
filter
(
c
)
return
c
:
IsCode
(
10501021
)
end
function
cm
.
operation1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATKUP
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
e
,
tp
,
cm
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
vgf
.
AtkUp
(
c
,
g
,
5000
)
end
function
cm
.
filter1
(
c
)
return
c
:
IsSetCard
(
0xb6
)
and
vgf
.
RMonsterFilter
(
c
)
end
c10501003.lua
View file @
3d53c661
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
)
-- 【起】【V】【1回合1次】:通过【费用】[计数爆发1],选择你的指令区中的1张正面表示的歌曲卡,将其歌唱。(发动歌曲卡的能力,那个能力结算完毕后将那张卡转为背面表示。)
vgd
.
EffectTypeIgnition
(
c
,
m
,
LOCATION_MZONE
,
cm
.
op
,
vgf
.
DamageCost
(
1
),
vgf
.
VMonsterCondition
,
nil
,
1
)
-- 补充一回合一次描述
-- 【自】【V】:这个单位攻击时,你的指令区中的背面表示的卡有2张以上的话,选择你的指令区中的1张卡正面表示的歌曲卡,将其歌唱,这次战斗中,对手不能将守护者从手牌CALL到G上。
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
op2
,
nil
,
cm
.
con2
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_FACEUP
,
e
,
tp
,
cm
.
filter
,
tp
,
LOCATION_ORDER
,
0
,
1
,
1
,
nil
)
Duel
.
RaiseEvent
(
g
,
EVENT_CUSTOM
+
EVENT_SING
,
e
,
0
,
tp
,
tp
,
0
)
end
function
cm
.
filter
(
c
)
return
c
:
IsSetCard
(
0xa040
)
and
c
:
IsPosition
(
POS_FACEUP
)
end
function
cm
.
con2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
vgf
.
RMonsterFilter
(
c
)
and
vgf
.
IsExistingMatchingCard
(
Card
.
IsPosition
,
tp
,
LOCATION_ORDER
,
0
,
2
,
nil
,
POS_FACEDOWN
)
end
function
cm
.
op2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_FACEUP
,
e
,
tp
,
cm
.
filter
,
tp
,
LOCATION_ORDER
,
0
,
1
,
1
,
nil
)
Duel
.
RaiseEvent
(
g
,
EVENT_CUSTOM
+
EVENT_SING
,
e
,
0
,
tp
,
tp
,
0
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_CANNOT_ACTIVATE
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e1
:
SetTargetRange
(
0
,
1
)
e1
:
SetValue
(
cm
.
actlimit
)
Duel
.
RegisterEffect
(
e1
,
tp
)
vgf
.
EffectReset
(
c
,
e1
,
EVENT_BATTLED
)
end
function
cm
.
actlimit
(
e
,
te
,
tp
)
local
tc
=
te
:
GetHandler
()
return
te
:
IsHasCategory
(
CATEGORY_DEFENDER
)
and
tc
:
IsType
(
TYPE_MONSTER
)
and
tc
:
GetBaseDefense
()
==
0
and
tc
:
IsLocation
(
LOCATION_HAND
)
end
\ No newline at end of file
c10501020.lua
View file @
3d53c661
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
.
GlobalCheckEffect
(
c
,
m
,
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
,
EVENT_CHANGE_POS
,
cm
.
checkcon
,
cm
.
checkop
)
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
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
)
local
c
=
e
:
GetHandler
()
return
Duel
.
GetFlagEffect
(
tp
,
m
)
>
0
and
eg
:
IsContains
(
e
:
GetHandler
())
and
vgf
.
RMonsterFilter
(
c
)
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
e1
=
vgf
.
AtkUp
(
c
,
c
,
5000
,
nil
)
vgf
.
EffectReset
(
c
,
e1
,
EVENT_BATTLED
)
if
vgf
.
IsSequence
(
c
,
2
)
then
vgf
.
DamageFill
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
end
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
())
end
function
cm
.
checkcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
cm
.
checkfilter
,
1
,
nil
,
tp
,
re
)
end
function
cm
.
checkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
RegisterFlagEffect
(
tp
,
m
,
RESET_PHASE
+
PHASE_END
,
0
,
1
)
end
\ No newline at end of file
c10501036.lua
View file @
3d53c661
...
@@ -3,56 +3,38 @@ local cm,m,o=GetID()
...
@@ -3,56 +3,38 @@ local cm,m,o=GetID()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgf
.
VgCard
(
c
)
vgf
.
VgCard
(
c
)
-- 【永】【V】:你的回合中,你没有后防者的话,这个单位的力量+5000。
-- 【永】【V】:你的回合中,你没有后防者的话,这个单位的力量+5000。
local
e1
=
Effect
.
CreateEffect
(
c
)
vgd
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_SINGLE
,
5000
,
cm
.
con1
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCondition
(
cm
.
con1
)
e1
:
SetValue
(
5000
)
c
:
RegisterEffect
(
e1
)
--【自】:通过在「认真的挑战者 克拉莉萨」上RIDE的方式将这个单位登场到V时,通过【费用】[灵魂爆发1],查看你的牌堆顶的7张卡,选择至多1张等级2以下的含有「诚意真心」的卡,公开后加入手牌,将其余的卡洗切后放置到牌堆底。
--【自】:通过在「认真的挑战者 克拉莉萨」上RIDE的方式将这个单位登场到V时,通过【费用】[灵魂爆发1],查看你的牌堆顶的7张卡,选择至多1张等级2以下的含有「诚意真心」的卡,公开后加入手牌,将其余的卡洗切后放置到牌堆底。
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
VgF
.
OverlayCost
(
1
),
cm
.
con2
,
nil
,
1
)
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
vgf
.
OverlayCost
(
1
),
cm
.
con2
)
end
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
()
local
a
=
Duel
.
IsExistingMatchingCard
(
vgf
.
RMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
c
)
return
vgf
.
VMonsterCondition
(
e
)
and
not
vgf
.
IsExistingMatchingCard
(
vgf
.
RMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
and
Duel
.
GetTurnPlayer
()
==
tp
if
a
==
true
then
a
=
flase
else
a
=
true
end
return
vgf
.
VMonsterCondition
(
e
)
and
a
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
c
:
IsSummonType
(
SUMMON_TYPE_RIDE
)
and
g
:
IsExists
(
Card
.
IsCode
,
1
,
nil
,
10501090
)
return
(
c
:
IsSummonType
(
SUMMON_TYPE_RIDE
)
or
c
:
IsSummonType
(
SUMMON_TYPE_SELFRIDE
)
)
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
)
Duel
.
ConfirmCards
(
tp
,
g
)
Duel
.
ConfirmCards
(
tp
,
g
)
Duel
.
DisableShuffleCheck
()
Duel
.
DisableShuffleCheck
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
sg
=
g
:
FilterSelect
(
tp
,
cm
.
filter
,
0
,
1
,
nil
)
local
sg
=
g
:
FilterSelect
(
tp
,
cm
.
filter
,
0
,
1
,
nil
)
Duel
.
DisableShuffleCheck
()
if
#
sg
>
0
then
if
#
sg
>
0
then
vgf
.
Sendto
(
LOCATION_HAND
,
sg
,
nil
,
REASON_EFFECT
)
Duel
.
SendtoHand
(
sg
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg
)
Duel
.
ShuffleHand
(
tp
)
g
:
RemoveCard
(
vgf
.
ReturnCard
(
sg
))
g
:
RemoveCard
(
vgf
.
ReturnCard
(
sg
))
end
end
for
i
=
1
,
#
g
do
while
g
:
GetCount
()
>
0
do
local
dg
=
Duel
.
GetDecktopGroup
(
tp
,
1
)
local
dg
=
g
:
RandomSelect
(
tp
,
1
)
Duel
.
MoveSequence
(
dg
:
GetFirst
(),
SEQ_DECKBOTTOM
)
Duel
.
MoveSequence
(
dg
:
GetFirst
(),
SEQ_DECKBOTTOM
)
end
g
:
Sub
(
dg
)
-- Duel.Remove(c:GetMaterial(),POS_FACEUP,REASON_TEMPORARY)
end
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
c
:
IsSetCard
(
0xb6
)
and
c
:
IsLevelBelow
(
3
)
and
c
:
IsAbleToHand
()
return
c
:
IsSetCard
(
0xb6
)
and
c
:
IsLevelBelow
(
3
)
end
end
c10501038.lua
View file @
3d53c661
local
cm
,
m
,
o
=
GetID
()
--花绽的歌声 罗洛涅萝尔
function
cm
.
initial_effect
(
c
)
local
cm
,
m
,
o
=
GetID
()
vgf
.
VgCard
(
c
)
function
cm
.
initial_effect
(
c
)
end
vgf
.
VgCard
(
c
)
-- 【永】【V】:【永】【V】:你的回合中,你的指令区中有正面表示的歌曲卡的话,这个单位的力量+5000。
vgd
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_SINGLE
,
5000
,
cm
.
con1
)
-- 【自】:这个单位被RIDE时,选择你的牌堆或手牌中的至多1张等级2的歌曲卡,公开后放置到指令区,从牌堆探寻了的话,牌堆洗切。从手牌放置了的话,抽卡1张。
vgd
.
BeRidedByCard
(
c
,
m
,
nil
,
cm
.
operation
)
end
function
cm
.
con1
(
e
)
local
c
=
e
:
GetHandler
()
local
tp
=
e
:
GetHandlerPlayer
()
local
a
=
vgf
.
IsExistingMatchingCard
(
cm
.
filter1
,
tp
,
LOCATION_ORDER
,
0
,
1
,
c
)
return
vgf
.
VMonsterCondition
(
e
)
and
a
and
Duel
.
GetTurnPlayer
()
==
tp
end
function
cm
.
filter1
(
c
)
return
c
:
IsSetCard
(
0xa040
)
and
c
:
IsFaceup
()
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_TOFIELD
,
e
,
tp
,
cm
.
filter
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
,
0
,
0
,
1
,
nil
)
if
#
g
>
0
then
local
tc
=
g
:
GetFirst
()
local
chk
=
tc
:
IsLocation
(
LOCATION_HAND
)
vgf
.
Sendto
(
LOCATION_ORDER
,
tc
,
tp
,
POS_FACEUP_ATTACK
,
REASON_EFFECT
)
Duel
.
ShuffleDeck
(
tp
)
if
chk
then
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
end
end
end
function
cm
.
filter
(
c
)
return
c
:
IsSetCard
(
0xa040
)
and
vgf
.
IsLevel
(
c
,
2
)
end
c10501060.lua
View file @
3d53c661
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
.
EffectTypeTrigger
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
nil
,
cm
.
con
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
not
(
c
:
IsSummonType
(
SUMMON_TYPE_RIDE
)
or
c
:
IsSummonType
(
SUMMON_TYPE_SELFRIDE
))
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ct
=
Duel
.
GetFlagEffectLabel
(
tp
,
FLAG_SPELL_COUNT_LIMIT
)
if
vgf
.
GetValueType
(
ct
)
~=
"number"
then
Duel
.
RegisterFlagEffect
(
tp
,
FLAG_SPELL_COUNT_LIMIT
,
RESET_PHASE
+
PHASE_END
,
0
,
1
,
2
)
else
Duel
.
RegisterFlagEffect
(
tp
,
FLAG_SPELL_COUNT_LIMIT
,
RESET_PHASE
+
PHASE_END
,
0
,
1
,
ct
+
1
)
end
end
\ No newline at end of file
c10501061.lua
View file @
3d53c661
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
.
EffectTypeTrigger
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
nil
,
cm
.
con
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
not
c
:
IsPreviousLocation
(
LOCATION_HAND
)
and
not
(
c
:
IsSummonType
(
SUMMON_TYPE_RIDE
)
or
c
:
IsSummonType
(
SUMMON_TYPE_SELFRIDE
))
end
--对手要从手牌将卡CALL到G上之际,不将2张以上同时CALL的话则不能CALL出场。
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e1
:
SetCode
(
EFFECT_ACTIVATE_COST
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetTargetRange
(
0
,
1
)
e1
:
SetTarget
(
cm
.
costtg
)
e1
:
SetCost
(
cm
.
costchk
)
e1
:
SetOperation
(
cm
.
costop
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_END
)
c
:
RegisterEffect
(
e1
)
end
function
cm
.
costtg
(
e
,
re
,
tp
)
e
:
SetLabelObject
(
re
:
GetHandler
())
return
re
:
IsHasCategory
(
CATEGORY_DEFENDER
)
and
re
:
GetHandler
():
IsLocation
(
LOCATION_HAND
)
and
re
:
GetHandlerPlayer
()
==
tp
and
not
vgf
.
IsExistingMatchingCard
(
nil
,
tp
,
LOCATION_GZONE
,
0
,
1
,
nil
)
and
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
end
function
cm
.
costchk
(
e
,
re
,
tp
)
return
vgf
.
IsExistingMatchingCard
(
vgf
.
IsAbleToGZone
,
tp
,
LOCATION_HAND
,
0
,
1
,
re
:
GetHandler
(),
LOCATION_HAND
)
end
function
cm
.
costop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetLabelObject
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_TO_GZONE
,
e
,
tp
,
vgf
.
IsAbleToGZone
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
c
,
LOCATION_HAND
)
vgf
.
Sendto
(
LOCATION_GZONE
,
g
,
tp
,
POS_FACEUP
,
REASON_EFFECT
)
end
\ No newline at end of file
c10501064.lua
View file @
3d53c661
local
cm
,
m
,
o
=
GetID
()
--午夜课程 凡努
function
cm
.
initial_effect
(
c
)
local
cm
,
m
,
o
=
GetID
()
vgf
.
VgCard
(
c
)
function
cm
.
initial_effect
(
c
)
end
vgf
.
VgCard
(
c
)
-- 【自】:这个单位登场到R时,通过【费用】[计数爆发2],查看你的牌堆顶的5张卡,选择至多2张触发单位卡,CALL到不存在单位的R上,然后牌堆洗切。
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
vgf
.
DamageCost
(
2
),
cm
.
con
)
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
5
)
local
c
=
e
:
GetHandler
()
Duel
.
ConfirmCards
(
tp
,
g
)
Duel
.
DisableShuffleCheck
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CALL
)
local
sg
=
g
:
FilterSelect
(
tp
,
cm
.
filter
,
0
,
2
,
nil
,
e
,
tp
)
if
#
sg
>
0
then
vgf
.
Sendto
(
LOCATION_MZONE
,
c
,
0
,
tp
,
31
,
POS_FACEUP_ATTACK
,
0
)
end
Duel
.
ShuffleDeck
(
tp
)
end
function
cm
.
filter
(
c
,
e
,
tp
)
return
not
c
:
IsRace
(
TRIGGER_NONE
)
and
vgf
.
IsCanBeCalled
(
c
,
e
,
tp
)
end
c10501065.lua
View file @
3d53c661
local
cm
,
m
,
o
=
GetID
()
--书写记录的思绪 罗玛娜
function
cm
.
initial_effect
(
c
)
local
cm
,
m
,
o
=
GetID
()
vgf
.
VgCard
(
c
)
function
cm
.
initial_effect
(
c
)
end
vgf
.
VgCard
(
c
)
-- 【永】【R】:这个回合中你施放了「不移之绯红」和「无尽之苍蓝」的话,这个单位的力量+10000。
vgd
.
GlobalCheckEffect
(
c
,
m
,
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
,
EVENT_CHAIN_SOLVING
,
cm
.
checkcon1
,
cm
.
checkop1
)
vgd
.
GlobalCheckEffect
(
c
,
m
,
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
,
EVENT_CHAIN_SOLVING
,
cm
.
checkcon2
,
cm
.
checkop2
)
vgd
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_SINGLE
,
10000
,
cm
.
con
)
end
function
cm
.
con
(
e
)
local
tp
=
e
:
GetHandlerPlayer
()
return
vgf
.
RMonsterCondition
(
e
)
and
Duel
.
GetFlagEffect
(
tp
,
m
)
>
0
and
Duel
.
GetFlagEffect
(
tp
,
m
+
1
)
>
0
end
function
cm
.
checkcon1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
rc
=
re
:
GetHandler
()
return
rc
:
IsCode
(
10501116
)
and
rp
==
tp
end
function
cm
.
checkcon2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
rc
=
re
:
GetHandler
()
return
rc
:
IsCode
(
10501055
)
and
rp
==
tp
end
function
cm
.
checkop1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
RegisterFlagEffect
(
tp
,
m
,
PHASE_END
,
0
,
1
)
end
function
cm
.
checkop2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
RegisterFlagEffect
(
tp
,
m
+
1
,
PHASE_END
,
0
,
1
)
end
c10501067.lua
View file @
3d53c661
local
cm
,
m
,
o
=
GetID
()
--亲卫队长 玛尔伦
function
cm
.
initial_effect
(
c
)
local
cm
,
m
,
o
=
GetID
()
vgf
.
VgCard
(
c
)
function
cm
.
initial_effect
(
c
)
end
vgf
.
VgCard
(
c
)
-- 【永】【R/G】:你的R上的〈幽灵〉有3张以上的话,这个单位的力量+2000、盾护+5000。
vgd
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_SINGLE
,
2000
,
cm
.
con1
)
vgd
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_SINGLE
,
5000
,
cm
.
con2
,
tg
,
EFFECT_UPDATE_DEFENSE
,
reset
,
LOCATION_GZONE
)
end
function
cm
.
con1
(
e
)
return
cm
.
con2
(
e
)
and
vgf
.
RMonsterCondition
(
e
)
end
function
cm
.
con2
(
e
)
local
c
=
e
:
GetHandler
()
local
tp
=
e
:
GetHandlerPlayer
()
return
vgf
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
3
)
end
function
cm
.
filter
(
c
)
return
c
:
IsSetCard
(
0xa013
)
and
vgf
.
RMonsterFilter
(
c
)
end
c10501069.lua
View file @
3d53c661
local
cm
,
m
,
o
=
GetID
()
--友情交友 伊尔达
function
cm
.
initial_effect
(
c
)
local
cm
,
m
,
o
=
GetID
()
vgf
.
VgCard
(
c
)
function
cm
.
initial_effect
(
c
)
end
vgf
.
VgCard
(
c
)
-- 【自】:这个单位被放置到G时,选择你的至多1张含有「诚意真心」的后防者,返回手牌。(即使被攻击的单位离场,发起攻击的单位的玩家也要正常进行驱动判定以及结算战斗结束时的能力。)
vgd
.
EffectTypeTrigger
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_MOVE
,
cm
.
op
,
nil
,
cm
.
con
)
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
c
:
IsLocation
(
LOCATION_GZONE
)
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
VgF
.
SearchCard
(
LOCATION_HAND
,
LOCATION_MZONE
,
cm
.
filter
,
0
,
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
-- local g = vgf.SelectMatchingCard(HINTMSG_ATOHAND,e,tp,cm.filter,tp,LOCATION_MZONE,0,0,1,nil)
-- vgf.Sendto(LOCATION_HAND,g)
end
function
cm
.
filter
(
c
)
return
c
:
IsSetCard
(
0xb6
)
and
vgf
.
RMonsterFilter
(
c
)
end
\ No newline at end of file
c10501070.lua
View file @
3d53c661
local
cm
,
m
,
o
=
GetID
()
--扎起头发的憧憬 海尔维希
function
cm
.
initial_effect
(
c
)
local
cm
,
m
,
o
=
GetID
()
vgf
.
VgCard
(
c
)
function
cm
.
initial_effect
(
c
)
end
vgf
.
VgCard
(
c
)
-- 【自】:你的战斗阶段中这个单位登场到R时,通过【费用】[将这个单位放置到灵魂里],抽1张卡。
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
cm
.
cost
,
cm
.
con
)
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
ph
=
Duel
.
GetCurrentPhase
()
return
not
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
and
(
ph
>=
PHASE_BATTLE_START
and
ph
<=
PHASE_BATTLE
)
and
Duel
.
GetTurnPlayer
()
==
tp
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
c
:
IsSummonType
(
SUMMON_TYPE_RIDE
)
or
c
:
IsSummonType
(
SUMMON_TYPE_SELFRIDE
)
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
true
end
local
rc
=
vgf
.
GetMatchingGroup
(
vgf
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
()
vgf
.
Sendto
(
LOCATION_OVERLAY
,
c
,
rc
)
end
\ No newline at end of file
c10501071.lua
View file @
3d53c661
local
cm
,
m
,
o
=
GetID
()
--倾注感情 艾贝莉娜
function
cm
.
initial_effect
(
c
)
local
cm
,
m
,
o
=
GetID
()
vgf
.
VgCard
(
c
)
function
cm
.
initial_effect
(
c
)
end
vgf
.
VgCard
(
c
)
-- 【自】:这个单位被放置到G时,通过【费用】[灵魂爆发1],选择你的1个含有「诚意真心」的单位,这次战斗中,力量+10000。
vgd
.
EffectTypeTrigger
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_MOVE
,
cm
.
op
,
vgf
.
OverlayCost
(
1
),
cm
.
con
)
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATKUP
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
e
,
tp
,
cm
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
vgf
.
AtkUp
(
c
,
g
,
10000
)
end
function
cm
.
filter
(
c
)
return
c
:
IsSetCard
(
0xb6
)
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
c
:
IsLocation
(
LOCATION_GZONE
)
end
c10501072.lua
View file @
3d53c661
local
cm
,
m
,
o
=
GetID
()
--魅惑的微笑 采塞利娅
function
cm
.
initial_effect
(
c
)
local
cm
,
m
,
o
=
GetID
()
vgf
.
VgCard
(
c
)
function
cm
.
initial_effect
(
c
)
end
vgf
.
VgCard
(
c
)
-- 【自】:这个单位从手牌登场到R时,你其他的后防者有3张以上的话,通过【费用】[计数爆发1],抽1张卡。
vgd
.
EffectTypeTrigger
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
vgf
.
DamageCost
(
1
),
cm
.
con
)
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
vgf
.
RMonsterFilter
(
c
)
and
c
:
IsPreviousLocation
(
LOCATION_HAND
)
and
vgf
.
IsExistingMatchingCard
(
vgf
.
RMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
3
,
c
)
end
c10501073.lua
View file @
3d53c661
local
cm
,
m
,
o
=
GetID
()
--舞动的五线谱 艾露梅尔
function
cm
.
initial_effect
(
c
)
local
cm
,
m
,
o
=
GetID
()
vgf
.
VgCard
(
c
)
function
cm
.
initial_effect
(
c
)
end
vgf
.
VgCard
(
c
)
-- 【自】:这个单位被放置到G时,通过【费用】[灵魂爆发1],你的指令区中的你的卡每有1张,这次战斗中,这个单位的盾护+5000。
vgd
.
EffectTypeTrigger
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_MOVE
,
cm
.
op
,
vgf
.
OverlayCost
(
1
),
cm
.
con
)
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
c
:
IsLocation
(
LOCATION_GZONE
)
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
ct
=
Duel
.
GetMatchingGroupCount
(
nil
,
tp
,
LOCATION_ORDER
,
0
,
c
)
local
defup
=
5000
*
ct
VgF
.
DefUp
(
c
,
c
,
defup
)
end
\ No newline at end of file
c10501074.lua
View file @
3d53c661
local
cm
,
m
,
o
=
GetID
()
--最不服输 托蕾因
function
cm
.
initial_effect
(
c
)
local
cm
,
m
,
o
=
GetID
()
vgf
.
VgCard
(
c
)
function
cm
.
initial_effect
(
c
)
end
vgf
.
VgCard
(
c
)
-- 【永】【后列的R】:这个单位的获得『支援』的技能,力量-2000。
-- 支援
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e2
:
SetCode
(
EFFECT_ADD_ATTRIBUTE
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetValue
(
SKILL_SUPPORT
)
e2
:
SetCondition
(
cm
.
con
)
c
:
RegisterEffect
(
e2
)
-- -2000
vgd
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_SINGLE
,
-
2000
,
cm
.
con
)
end
function
cm
.
con
(
e
)
local
c
=
e
:
GetHandler
()
return
VgF
.
BackFilter
(
c
)
end
c10501076.lua
View file @
3d53c661
local
cm
,
m
,
o
=
GetID
()
--爽朗的大姐 欧德莉
function
cm
.
initial_effect
(
c
)
local
cm
,
m
,
o
=
GetID
()
vgf
.
VgCard
(
c
)
function
cm
.
initial_effect
(
c
)
end
vgf
.
VgCard
(
c
)
-- 【永】【R】:你的回合中,你的指令区中有卡存在的话,这个单位的力量+5000。
vgd
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_SINGLE
,
5000
,
cm
.
con
)
end
function
cm
.
con
(
e
)
local
c
=
e
:
GetHandler
()
local
tp
=
e
:
GetHandlerPlayer
()
local
a
=
vgf
.
IsExistingMatchingCard
(
nil
,
tp
,
LOCATION_ORDER
,
0
,
1
,
nil
)
return
vgf
.
RMonsterCondition
(
e
)
and
a
and
Duel
.
GetTurnPlayer
()
==
tp
end
c10501077.lua
View file @
3d53c661
local
cm
,
m
,
o
=
GetID
()
--花开的季节 露蒂
function
cm
.
initial_effect
(
c
)
local
cm
,
m
,
o
=
GetID
()
vgf
.
VgCard
(
c
)
function
cm
.
initial_effect
(
c
)
end
vgf
.
VgCard
(
c
)
-- 【自】【R】:你的后防者被返回手牌时,这个回合中,这个单位的力量+5000。
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_FIELD
,
EVENT_TO_HAND
,
VgF
.
AtkUp
(
c
,
c
,
5000
),
nil
,
cm
.
con
)
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
VgF
.
AtkUp
(
c
,
c
,
5000
)
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
VgF
.
RMonsterCondition
(
e
)
and
eg
:
IsPreviousLocation
(
LOCATION_MZONE
)
end
c10501078.lua
View file @
3d53c661
local
cm
,
m
,
o
=
GetID
()
--紧张的瞬间 凯缇
function
cm
.
initial_effect
(
c
)
local
cm
,
m
,
o
=
GetID
()
vgf
.
VgCard
(
c
)
function
cm
.
initial_effect
(
c
)
end
vgf
.
VgCard
(
c
)
-- 【永】【V/R】:对手的回合中,这个单位的力量-2000。
vgd
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_SINGLE
,
-
2000
,
cm
.
con
)
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetTurnPlayer
()
==
1
-
tp
end
c10501079.lua
View file @
3d53c661
local
cm
,
m
,
o
=
GetID
()
--美丽的假日 菲尔缇萝萨
function
cm
.
initial_effect
(
c
)
local
cm
,
m
,
o
=
GetID
()
vgf
.
VgCard
(
c
)
function
cm
.
initial_effect
(
c
)
end
vgf
.
VgCard
(
c
)
-- 【自】:这个单位被RIDE时,通过【费用】[灵魂爆发1],选择你的弃牌区中的至多1张〈幽灵〉,加入手牌。
vgd
.
BeRidedByCard
(
c
,
m
,
nil
,
cm
.
op
,
OverlayCost
(
1
))
-- 【永】【V/R】:你的回合中,你的R上有〈幽灵〉的话,这个单位的力量+2000。
vgd
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_SINGLE
,
2000
,
cm
.
con
)
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
VgF
.
SearchCard
(
LOCATION_HAND
,
LOCATION_GRAVE
,
cm
.
filter
,
1
,
0
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
function
cm
.
con
(
e
)
local
tp
=
e
:
GetHandlerPlayer
()
return
vgf
.
IsExistingMatchingCard
(
cm
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
and
Duel
.
GetTurnPlayer
()
==
tp
end
function
cm
.
filter
(
c
)
return
c
:
IsSetCard
(
0xa013
)
end
function
cm
.
filter1
(
c
)
return
c
:
IsSetCard
(
0xa013
)
and
vgf
.
RMonsterFilter
(
c
)
end
\ No newline at end of file
c10501080.lua
View file @
3d53c661
local
cm
,
m
,
o
=
GetID
()
--爽朗的王子 哈里耶特
function
cm
.
initial_effect
(
c
)
local
cm
,
m
,
o
=
GetID
()
vgf
.
VgCard
(
c
)
function
cm
.
initial_effect
(
c
)
end
vgf
.
VgCard
(
c
)
-- 【永】【R】:你的回合中,你的指令区中有2张以上的卡的话,这个单位的力量+5000。
vgd
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_SINGLE
,
5000
,
cm
.
con1
)
end
function
cm
.
con1
(
e
)
local
c
=
e
:
GetHandler
()
local
tp
=
e
:
GetHandlerPlayer
()
return
vgf
.
RMonsterCondition
(
e
)
and
vgf
.
IsExistingMatchingCard
(
nil
,
tp
,
LOCATION_ORDER
,
0
,
2
,
nil
)
and
Duel
.
GetTurnPlayer
()
==
tp
end
c10501081.lua
View file @
3d53c661
local
cm
,
m
,
o
=
GetID
()
--坚实的步伐 佩可莉
function
cm
.
initial_effect
(
c
)
local
cm
,
m
,
o
=
GetID
()
vgf
.
VgCard
(
c
)
function
cm
.
initial_effect
(
c
)
end
vgf
.
VgCard
(
c
)
-- 【永】【R】:你的回合中,你有含有「诚意真心」的单位的话,这个单位的力量+2000。
vgd
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_SINGLE
,
2000
,
cm
.
con
)
end
function
cm
.
con
(
e
)
local
c
=
e
:
GetHandler
()
local
tp
=
e
:
GetHandlerPlayer
()
local
a
=
vgf
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
)
return
vgf
.
RMonsterCondition
(
e
)
and
a
and
Duel
.
GetTurnPlayer
()
==
tp
end
function
cm
.
filter
(
c
)
return
c
:
IsSetCard
(
0xb6
)
end
\ No newline at end of file
c10501082.lua
View file @
3d53c661
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
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e1
:
SetCode
(
AFFECT_OVERLAY_INSTEAD_WHEN_RIDE
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCondition
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
and
vgf
.
VMonsterCondition
(
e
)
end
)
e1
:
SetTargetRange
(
1
,
0
)
c
:
RegisterEffect
(
e1
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetCode
(
EFFECT_CANNOT_BE_BATTLE_TARGET
)
e2
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCondition
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
not
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
and
vgf
.
VMonsterCondition
(
e
)
end
)
e2
:
SetValue
(
function
(
e
,
tc
)
return
tc
:
IsLevelBelow
(
2
)
and
vgf
.
RMonsterFilter
(
tc
)
end
)
c
:
RegisterEffect
(
e2
)
vgd
.
EffectTypeTrigger
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
nil
,
cm
.
con1
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
a
=
vgf
.
IsExistingMatchingCard
(
cm
.
filter1
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
nil
)
local
b
=
vgf
.
IsExistingMatchingCard
(
cm
.
filter2
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
nil
)
-- 白翼(你的封锁区中的卡只有奇数的等级的场合才有效)
return
not
a
and
b
end
function
cm
.
filter1
(
c
)
return
c
:
GetLevel
()
%
2
==
1
end
function
cm
.
filter2
(
c
)
return
c
:
GetLevel
()
%
2
==
0
end
function
cm
.
con1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
c
:
IsSummonType
(
SUMMON_TYPE_RIDE
)
or
c
:
IsSummonType
(
SUMMON_TYPE_SELFRIDE
)
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
1
)
vgf
.
Sendto
(
LOCATION_REMOVED
,
g
,
POS_FACEUP
,
REASON_EFFECT
)
end
\ No newline at end of file
c10501083.lua
View file @
3d53c661
local
cm
,
m
,
o
=
GetID
()
--仓促短跑 瑟尔玛
function
cm
.
initial_effect
(
c
)
local
cm
,
m
,
o
=
GetID
()
vgf
.
VgCard
(
c
)
function
cm
.
initial_effect
(
c
)
end
vgf
.
VgCard
(
c
)
-- 【自】【R】:这个单位支援先导者时,抽1张卡,选择你的手牌中的1张卡,舍弃。
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_FIELD
,
EVENT_SUPPORT
,
cm
.
op
,
nil
,
cm
.
con
)
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ca
=
Duel
.
GetAttacker
()
return
VgF
.
VMonsterFilter
(
ca
)
and
eg
:
GetFirst
()
==
e
:
GetHandler
()
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
VgF
.
SearchCard
(
LOCATION_GRAVE
,
LOCATION_HAND
,
nil
,
1
,
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
\ No newline at end of file
c10501084.lua
View file @
3d53c661
local
cm
,
m
,
o
=
GetID
()
--探寻心动 罗洛涅萝尔
function
cm
.
initial_effect
(
c
)
local
cm
,
m
,
o
=
GetID
()
vgf
.
VgCard
(
c
)
end
function
cm
.
initial_effect
(
c
)
vgf
.
VgCard
(
c
)
-- 【自】:这个单位被RIDE时,选择你的牌堆或手牌中的至多1张等级1的歌曲卡,公开后放置到指令区,从牌堆探寻了的话,牌堆洗切。从手牌放置了的话,抽卡1张。
vgd
.
BeRidedByCard
(
c
,
m
,
nil
,
cm
.
operation
,
nil
,
nil
)
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_TOFIELD
,
e
,
tp
,
cm
.
filter
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
,
0
,
0
,
1
,
nil
)
if
#
g
>
0
then
local
tc
=
g
:
GetFirst
()
local
chk
=
tc
:
IsLocation
(
LOCATION_HAND
)
vgf
.
Sendto
(
LOCATION_ORDER
,
tc
,
tp
,
POS_FACEUP_ATTACK
,
REASON_EFFECT
)
Duel
.
ShuffleDeck
(
tp
)
if
chk
then
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
end
end
end
function
cm
.
filter
(
c
)
return
c
:
IsSetCard
(
0xa040
)
and
vgf
.
IsLevel
(
c
,
1
)
end
\ No newline at end of file
c10501085.lua
View file @
3d53c661
local
cm
,
m
,
o
=
GetID
()
--努力的证明 维莉丝塔
function
cm
.
initial_effect
(
c
)
local
cm
,
m
,
o
=
GetID
()
vgf
.
VgCard
(
c
)
function
cm
.
initial_effect
(
c
)
end
vgf
.
VgCard
(
c
)
-- 【自】:这个单位被RIDE时,通过【费用】[将手牌中的1张卡放置到灵魂里],从你的牌堆里探寻至多1张宝石卡,公开后加入手牌,然后牌堆洗切。
vgd
.
BeRidedByCard
(
c
,
m
,
nil
,
vgf
.
SearchCard
(
LOCATION_HAND
,
LOCATION_DECK
,
cm
.
filter
,
1
,
0
),
cm
.
cost1
)
-- 【自】【R】:你施放指令卡时,通过【费用】[灵魂爆发1],这个回合中,这个单位的力量+5000。
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_FIELD
,
EVENT_CHAINING
,
cm
.
op
,
VgF
.
OverlayCost
(
1
),
cm
.
con
)
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
VgF
.
AtkUp
(
c
,
c
,
5000
)
end
function
cm
.
filter
(
c
)
return
c
:
IsCode
(
0xc040
)
and
c
:
IsAbleToHand
()
end
function
cm
.
cost1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
vgf
.
GetMatchingGroupCount
(
nil
,
tp
,
LOCATION_HAND
,
0
,
nil
)
>
0
end
local
rc
=
vgf
.
GetVMonster
(
tp
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_XMATERIAL
,
tp
,
nil
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
e
,
tp
)
vgf
.
Sendto
(
LOCATION_OVERLAY
,
g
,
rc
)
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
re
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
and
rp
==
tp
and
vgf
.
RMonsterCondition
(
e
)
end
c10501086.lua
View file @
3d53c661
local
cm
,
m
,
o
=
GetID
()
--虚梦少女 汉内洛蕾
function
cm
.
initial_effect
(
c
)
local
cm
,
m
,
o
=
GetID
()
vgf
.
VgCard
(
c
)
function
cm
.
initial_effect
(
c
)
end
vgf
.
VgCard
(
c
)
-- 【自】【R】:你其他的后防者登场到这个单位的同纵列时,这个回合中,这个单位的力量+2000。
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_FIELD
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
nil
,
cm
.
con
)
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
VgF
.
RMonsterCondition
(
e
)
and
eg
:
IsExists
(
cm
.
filter
,
1
,
nil
,
tp
,
c
)
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
vgf
.
AtkUp
(
c
,
c
,
2000
)
end
function
cm
.
filter
(
c
,
tp
,
mc
)
local
g
=
VgF
.
GetColumnGroup
(
mc
)
return
g
:
GetCount
()
>
0
and
g
:
IsContains
(
c
)
end
\ No newline at end of file
c10501087.lua
View file @
3d53c661
local
cm
,
m
,
o
=
GetID
()
--紧张的早晨 珊塔尔
function
cm
.
initial_effect
(
c
)
local
cm
,
m
,
o
=
GetID
()
vgf
.
VgCard
(
c
)
function
cm
.
initial_effect
(
c
)
end
vgf
.
VgCard
(
c
)
-- 【起】【R】【1回合1次】:通过【费用】[计数爆发1],选择你的1张先导者,这个回合中,力量+5000。
vgd
.
EffectTypeIgnition
(
c
,
m
,
LOCATION_MZONE
,
cm
.
op
,
vgf
.
DamageCost
(
1
),
vgf
.
RMonsterCondition
,
nil
,
1
)
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
-- 选择你的1张先导者
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_VMONSTER
,
tp
,
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
vgf
.
AtkUp
(
c
,
g
,
5000
)
end
\ No newline at end of file
c10501088.lua
View file @
3d53c661
local
cm
,
m
,
o
=
GetID
()
--鼓起踏步向前的勇气 贝尔缇优
function
cm
.
initial_effect
(
c
)
local
cm
,
m
,
o
=
GetID
()
vgf
.
VgCard
(
c
)
function
cm
.
initial_effect
(
c
)
end
vgf
.
VgCard
(
c
)
-- 【自】【R】:这个单位支援时,这个回合中,这个单位的力量+2000。
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_FIELD
,
EVENT_CUSTOM
+
EVENT_SUPPORT
,
cm
.
op
,
nil
,
cm
.
con
)
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
vgf
.
RMonsterFilter
(
c
)
and
eg
:
IsContains
(
c
)
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
vgf
.
AtkUp
(
c
,
c
,
2000
)
end
\ No newline at end of file
c10501089.lua
View file @
3d53c661
local
cm
,
m
,
o
=
GetID
()
--精确课程表 莉布谢
function
cm
.
initial_effect
(
c
)
vgf
.
VgCard
(
c
)
local
cm
,
m
,
o
=
GetID
()
end
function
cm
.
initial_effect
(
c
)
vgf
.
VgCard
(
c
)
-- 【永】【R】:这个回合中你施放了指令卡的话,这个单位的力量+2000。
vgd
.
GlobalCheckEffect
(
c
,
m
,
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
,
EVENT_CHAIN_SOLVING
,
cm
.
checkcon
,
cm
.
checkop
)
vgd
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_SINGLE
,
2000
,
cm
.
con1
)
end
function
cm
.
con1
(
e
)
local
tp
=
e
:
GetHandlerPlayer
()
return
vgf
.
RMonsterCondition
(
e
)
and
Duel
.
GetFlagEffect
(
tp
,
m
)
>
0
end
function
cm
.
checkcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
re
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
and
rp
==
tp
end
function
cm
.
checkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
RegisterFlagEffect
(
tp
,
m
,
PHASE_END
,
0
,
1
)
end
c10501090.lua
View file @
3d53c661
...
@@ -3,54 +3,35 @@ local cm,m,o=GetID()
...
@@ -3,54 +3,35 @@ local cm,m,o=GetID()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgf
.
VgCard
(
c
)
vgf
.
VgCard
(
c
)
-- 【永】【V】:你的回合中,你没有后防者的话,这个单位的力量+5000。
-- 【永】【V】:你的回合中,你没有后防者的话,这个单位的力量+5000。
local
e1
=
Effect
.
CreateEffect
(
c
)
vgd
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_SINGLE
,
5000
,
cm
.
con1
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCondition
(
cm
.
con1
)
e1
:
SetValue
(
5000
)
c
:
RegisterEffect
(
e1
)
-- 【自】:通过在「凛然之志 克拉莉萨」上RIDE的方式将这个单位登场到V时,查看你的牌堆顶的7张卡,选择至多1张等级1以下的含有「诚意真心」的卡,公开后加入手牌,将其余的卡洗切后放置到牌堆底。
-- 【自】:通过在「凛然之志 克拉莉萨」上RIDE的方式将这个单位登场到V时,查看你的牌堆顶的7张卡,选择至多1张等级1以下的含有「诚意真心」的卡,公开后加入手牌,将其余的卡洗切后放置到牌堆底。
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
nil
,
cm
.
con2
,
nil
,
1
)
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
nil
,
cm
.
con2
,
nil
,
1
)
end
end
function
cm
.
con1
(
e
)
function
cm
.
con1
(
e
)
local
c
=
e
:
GetHandler
()
local
tp
=
e
:
GetHandlerPlayer
()
local
tp
=
e
:
GetHandlerPlayer
()
local
a
=
Duel
.
IsExistingMatchingCard
(
vgf
.
RMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
c
)
return
vgf
.
VMonsterCondition
(
e
)
and
not
vgf
.
IsExistingMatchingCard
(
vgf
.
RMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
and
Duel
.
GetTurnPlayer
()
==
tp
return
vgf
.
VMonsterCondition
(
e
)
and
not
a
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
c
:
IsSummonType
(
SUMMON_TYPE_RIDE
)
and
g
:
IsExists
(
Card
.
IsCode
,
1
,
nil
,
10501102
)
return
(
c
:
IsSummonType
(
SUMMON_TYPE_RIDE
)
or
c
:
IsSummonType
(
SUMMON_TYPE_SELFRIDE
)
)
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
)
Duel
.
ConfirmCards
(
tp
,
g
)
Duel
.
ConfirmCards
(
tp
,
g
)
Duel
.
DisableShuffleCheck
()
Duel
.
DisableShuffleCheck
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
sg
=
g
:
FilterSelect
(
tp
,
cm
.
filter
,
0
,
1
,
nil
)
local
sg
=
g
:
FilterSelect
(
tp
,
cm
.
filter
,
0
,
1
,
nil
)
Duel
.
DisableShuffleCheck
()
if
#
sg
>
0
then
if
#
sg
>
0
then
Duel
.
SendtoHand
(
sg
,
nil
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_HAND
,
sg
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg
)
Duel
.
ShuffleHand
(
tp
)
g
:
RemoveCard
(
vgf
.
ReturnCard
(
sg
))
g
:
RemoveCard
(
vgf
.
ReturnCard
(
sg
))
end
end
for
i
=
1
,
#
g
do
while
g
:
GetCount
()
>
0
do
local
dg
=
Duel
.
GetDecktopGroup
(
tp
,
1
)
local
dg
=
g
:
RandomSelect
(
tp
,
1
)
Duel
.
MoveSequence
(
dg
:
GetFirst
(),
SEQ_DECKBOTTOM
)
Duel
.
MoveSequence
(
dg
:
GetFirst
(),
SEQ_DECKBOTTOM
)
end
g
:
Sub
(
dg
)
-- Duel.Remove(c:GetMaterial(),POS_FACEUP,REASON_TEMPORARY)
end
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
c
:
IsSetCard
(
0xb6
)
and
c
:
IsLevelBelow
(
2
)
and
c
:
IsAbleToHand
()
return
c
:
IsSetCard
(
0xb6
)
and
c
:
IsLevelBelow
(
2
)
end
end
\ No newline at end of file
c10501091.lua
View file @
3d53c661
local
cm
,
m
,
o
=
GetID
()
--微小的和平 普拉耶尔
function
cm
.
initial_effect
(
c
)
local
cm
,
m
,
o
=
GetID
()
vgf
.
VgCard
(
c
)
function
cm
.
initial_effect
(
c
)
end
vgf
.
VgCard
(
c
)
-- 白翼(你的封锁区中的卡只有奇数的等级的场合才有效)-【永】【R/G】:这个单位的力量+2000、盾护+5000。
VgD
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_SINGLE
,
2000
,
cm
.
con1
)
vgd
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_SINGLE
,
5000
,
cm
.
con2
,
tg
,
EFFECT_UPDATE_DEFENSE
,
reset
,
LOCATION_GZONE
)
end
function
cm
.
con1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
cm
.
con2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
and
vgf
.
RMonsterCondition
(
e
)
end
function
cm
.
con2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
a
=
vgf
.
IsExistingMatchingCard
(
cm
.
filter1
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
nil
)
local
b
=
vgf
.
IsExistingMatchingCard
(
cm
.
filter2
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
nil
)
-- 白翼(你的封锁区中的卡只有奇数的等级的场合才有效)
return
not
a
and
b
end
function
cm
.
filter1
(
c
)
return
c
:
GetLevel
()
%
2
==
1
end
function
cm
.
filter2
(
c
)
return
c
:
GetLevel
()
%
2
==
0
end
\ No newline at end of file
c10501092.lua
View file @
3d53c661
local
cm
,
m
,
o
=
GetID
()
--任性姑娘 赫尔米娜
function
cm
.
initial_effect
(
c
)
local
cm
,
m
,
o
=
GetID
()
vgf
.
VgCard
(
c
)
function
cm
.
initial_effect
(
c
)
end
vgf
.
VgCard
(
c
)
-- 【自】:这个单位登场到R时,你的R上有其他的〈幽灵〉的话,选择你的1张后防者,这个回合中,力量+5000。
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
nil
,
cm
.
con
)
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
vgf
.
AtkUp
(
c
,
g
,
5000
)
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
not
(
c
:
IsSummonType
(
SUMMON_TYPE_RIDE
)
or
c
:
IsSummonType
(
SUMMON_TYPE_SELFRIDE
))
and
vgf
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
c
)
end
function
cm
.
filter
(
c
)
return
c
:
IsSetCard
(
0xa013
)
and
vgf
.
RMonsterFilter
(
c
)
end
\ No newline at end of file
c10501093.lua
View file @
3d53c661
local
cm
,
m
,
o
=
GetID
()
--可靠的最高年级生 阿莉艾斯
function
cm
.
initial_effect
(
c
)
local
cm
,
m
,
o
=
GetID
()
vgf
.
VgCard
(
c
)
function
cm
.
initial_effect
(
c
)
end
vgf
.
VgCard
(
c
)
-- 【永】【G】:你的不存在单位的R有3个以上的话,这个单位的盾护+10000。
vgd
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_SINGLE
,
10000
,
cm
.
con
,
tg
,
EFFECT_UPDATE_DEFENSE
,
reset
,
LOCATION_GZONE
)
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ct1
=
bit
.
ReturnCount
(
vgf
.
GetAvailableLocation
(
tp
))
local
ct2
=
vgf
.
GetMatchingGroupCount
(
vgf
.
RMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
return
ct1
-
ct2
>=
3
end
\ No newline at end of file
c10501094.lua
View file @
3d53c661
local
cm
,
m
,
o
=
GetID
()
--梦想之瞳 爱梅莱茵
function
cm
.
initial_effect
(
c
)
local
cm
,
m
,
o
=
GetID
()
vgf
.
VgCard
(
c
)
function
cm
.
initial_effect
(
c
)
end
vgf
.
VgCard
(
c
)
-- 【永】【R】:你其他的后防者有3张以上的话,这个单位的力量+5000。
vgd
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_SINGLE
,
5000
,
cm
.
con1
)
end
function
cm
.
con1
(
e
)
local
c
=
e
:
GetHandler
()
local
tp
=
e
:
GetHandlerPlayer
()
return
vgf
.
RMonsterCondition
(
e
)
and
vgf
.
IsExistingMatchingCard
(
vgf
.
RMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
3
,
c
)
end
\ No newline at end of file
c10501095.lua
View file @
3d53c661
local
cm
,
m
,
o
=
GetID
()
--分赠的幸福 达纳耶尔
function
cm
.
initial_effect
(
c
)
local
cm
,
m
,
o
=
GetID
()
vgf
.
VgCard
(
c
)
function
cm
.
initial_effect
(
c
)
end
vgf
.
VgCard
(
c
)
-- 白翼(你的封锁区中的卡只有奇数的等级的场合才有效)
-- 【自】【R】:这个单位支援时,通过【费用】[灵魂爆发2],选择你其他的1个单位,等级是奇数的这个单位以外的单位每有1个,这个回合中,那个单位的力量+5000。
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_FIELD
,
EVENT_CUSTOM
+
EVENT_SUPPORT
,
cm
.
op
,
VgF
.
OverlayCost
(
2
),
cm
.
con
)
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
tp
,
nil
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
c
)
local
ct
=
vgf
.
GetMatchingGroupCount
(
cm
.
filter2
,
tp
,
LOCATION_MZONE
,
0
,
c
)
local
atk
=
5000
*
ct
vgf
.
AtkUp
(
c
,
g
,
atk
)
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
eg
:
IsContains
(
c
)
and
cm
.
con1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
and
vgf
.
RMonsterCondition
(
e
)
end
function
cm
.
con1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
a
=
vgf
.
IsExistingMatchingCard
(
cm
.
filter1
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
nil
)
local
b
=
vgf
.
IsExistingMatchingCard
(
cm
.
filter2
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
nil
)
-- 白翼(你的封锁区中的卡只有奇数的等级的场合才有效)
return
not
a
and
b
end
function
cm
.
filter1
(
c
)
return
c
:
GetLevel
()
%
2
==
1
end
function
cm
.
filter2
(
c
)
return
c
:
GetLevel
()
%
2
==
0
end
\ No newline at end of file
c10501096.lua
View file @
3d53c661
local
cm
,
m
,
o
=
GetID
()
--元气爆发 尤丝缇涅
function
cm
.
initial_effect
(
c
)
local
cm
,
m
,
o
=
GetID
()
vgf
.
VgCard
(
c
)
function
cm
.
initial_effect
(
c
)
end
vgf
.
VgCard
(
c
)
-- 【自】:你的回合中这张卡被从手牌舍弃时,通过【费用】[灵魂爆发1],将这张卡CALL到不存在单位的R上。
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_GRAVE
,
EFFECT_TYPE_SINGLE
,
EVENT_DISCARD
,
cm
.
op
,
VgF
.
OverlayCost
(
1
),
cm
.
con
)
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
vgf
.
Sendto
(
LOCATION_MZONE
,
c
,
0
,
tp
,
31
,
POS_FACEUP_ATTACK
,
0
)
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetTurnPlayer
()
==
tp
end
c10501097.lua
View file @
3d53c661
local
cm
,
m
,
o
=
GetID
()
--震空的跃动 玛莉布耶尔
function
cm
.
initial_effect
(
c
)
local
cm
,
m
,
o
=
GetID
()
vgf
.
VgCard
(
c
)
function
cm
.
initial_effect
(
c
)
end
vgf
.
VgCard
(
c
)
-- 白翼(你的封锁区中的卡只有奇数的等级的场合才有效)
-- 【永】【R】:你的回合中,这个单位的力量+10000。
VgD
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_SINGLE
,
10000
,
cm
.
con
)
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
cm
.
con1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
and
Duel
.
GetTurnPlayer
()
==
tp
and
vgf
.
RMonsterCondition
(
e
)
end
function
cm
.
con1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
a
=
vgf
.
IsExistingMatchingCard
(
cm
.
filter1
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
nil
)
local
b
=
vgf
.
IsExistingMatchingCard
(
cm
.
filter2
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
nil
)
-- 白翼(你的封锁区中的卡只有奇数的等级的场合才有效)
return
not
a
and
b
end
function
cm
.
filter1
(
c
)
return
c
:
GetLevel
()
%
2
==
1
end
function
cm
.
filter2
(
c
)
return
c
:
GetLevel
()
%
2
==
0
end
\ No newline at end of file
c10501099.lua
View file @
3d53c661
local
cm
,
m
,
o
=
GetID
()
--为了传递歌声 罗洛涅萝尔
function
cm
.
initial_effect
(
c
)
local
cm
,
m
,
o
=
GetID
()
vgf
.
VgCard
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
BeRidedByCard
(
c
,
m
,
nil
,
cm
.
operation
,
nil
,
cm
.
condition
)
vgf
.
VgCard
(
c
)
end
vgd
.
BeRidedByCard
(
c
,
m
,
nil
,
cm
.
operation
,
nil
,
cm
.
condition
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
-- 【自】:这个单位被RIDE时,你是后攻的话,抽1张卡。
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
return
tp
==
1
and
Duel
.
GetTurnPlayer
()
==
tp
end
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
\ No newline at end of file
return
tp
==
1
and
Duel
.
GetTurnPlayer
()
==
tp
end
c10501101.lua
View file @
3d53c661
local
cm
,
m
,
o
=
GetID
()
--白黑的个性 阿蕾斯缇耶尔
function
cm
.
initial_effect
(
c
)
local
cm
,
m
,
o
=
GetID
()
vgf
.
VgCard
(
c
)
function
cm
.
initial_effect
(
c
)
vgd
.
BeRidedByCard
(
c
,
m
,
nil
,
cm
.
operation
,
nil
,
cm
.
condition
)
vgf
.
VgCard
(
c
)
end
vgd
.
BeRidedByCard
(
c
,
m
,
nil
,
cm
.
operation
,
nil
,
cm
.
condition
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
-- 【自】:这个单位被RIDE时,你是后攻的话,抽1张卡。
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
return
tp
==
1
and
Duel
.
GetTurnPlayer
()
==
tp
end
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
\ No newline at end of file
return
tp
==
1
and
Duel
.
GetTurnPlayer
()
==
tp
end
c10501115.lua
View file @
3d53c661
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
.
SpellActivate
(
c
,
m
,
cm
.
op
,
vgf
.
DamageCost
(
1
))
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
tp
,
nil
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
vgf
.
AtkUp
(
c
,
g
,
5000
)
end
\ No newline at end of file
c10501116.lua
View file @
3d53c661
local
cm
,
m
,
o
=
GetID
()
--无尽之苍蓝
function
cm
.
initial_effect
(
c
)
local
cm
,
m
,
o
=
GetID
()
vgf
.
VgCard
(
c
)
function
cm
.
initial_effect
(
c
)
end
vgf
.
VgCard
(
c
)
-- 选择你的1个单位,这个回合中,力量+5000。将这张卡放置到灵魂里。
vgd
.
SpellActivate
(
c
,
m
,
cm
.
operation
,
nil
)
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
tp
,
nil
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
VgF
.
AtkUp
(
c
,
g
,
5000
,
nil
)
local
rc
=
vgf
.
GetVMonster
(
tp
)
c
:
CancelToGrave
()
vgf
.
Sendto
(
LOCATION_OVERLAY
,
c
,
rc
)
end
c10501117.lua
View file @
3d53c661
local
cm
,
m
,
o
=
GetID
()
--活力交响乐
function
cm
.
initial_effect
(
c
)
local
cm
,
m
,
o
=
GetID
()
vgf
.
VgCard
(
c
)
function
cm
.
initial_effect
(
c
)
--这个函数下面用于注册效果
end
vgf
.
VgCard
(
c
)
-- 这个回合中你的先导者被攻击击中过的话,选择1个被攻击的单位,这次战斗中,力量+30000。
vgd
.
QuickSpell
(
c
,
cm
.
op
,
nil
,
cm
.
con
)
vgd
.
GlobalCheckEffect
(
c
,
m
,
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
,
EVENT_CUSTOM
+
EVENT_DAMAGE_TRIGGER
,
cm
.
checkcon
,
cm
.
checkop
)
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
g
=
Group
.
FromCards
(
Duel
.
GetAttackTarget
())
if
g
:
GetCount
()
>
0
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATKUP
)
g
=
g
:
FilterSelect
(
tp
,
Card
.
IsCanBeEffectTarget
,
1
,
1
,
nil
,
e
)
local
e1
=
vgf
.
AtkUp
(
c
,
g
,
30000
)
vgf
.
EffectReset
(
c
,
e1
,
EVENT_BATTLED
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetFlagEffect
(
tp
,
m
)
>
0
end
function
cm
.
checkcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
rc
=
vgf
.
GetVMonster
(
tp
)
return
eg
:
IsContains
(
rc
)
end
function
cm
.
checkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
RegisterFlagEffect
(
tp
,
m
,
RESET_PHASE
+
PHASE_END
,
0
,
1
)
end
\ No newline at end of file
c10501118.lua
View file @
3d53c661
local
cm
,
m
,
o
=
GetID
()
--相互面对,共渡难关
function
cm
.
initial_effect
(
c
)
local
cm
,
m
,
o
=
GetID
()
vgf
.
VgCard
(
c
)
function
cm
.
initial_effect
(
c
)
end
vgf
.
VgCard
(
c
)
-- 你的先导者是「双翼的大天使 阿蕾斯缇耶尔」的话能施放!
-- 选择1个正在被攻击的单位,你的等级是奇数的后防者每有1张,这次战斗中,被选择的单位的力量+5000。这个回合中,你的等级是偶数的单位将要从R或G退场之际,你也可以不将那些卡放置到弃牌区,而是将那些卡放置到灵魂里。
vgd
.
QuickSpell
(
c
,
cm
.
op
)
--,nil,cm.con)
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
VgF
.
GetVMonster
(
tp
):
IsCode
(
10501002
)
end
function
cm
.
filter
(
c
)
return
c
:
GetLevel
()
%
2
==
0
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
g
=
Group
.
FromCards
(
Duel
.
GetAttackTarget
())
if
g
:
GetCount
()
>
0
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATKUP
)
g
=
g
:
FilterSelect
(
tp
,
Card
.
IsCanBeEffectTarget
,
1
,
1
,
nil
,
e
)
local
ct
=
vgf
.
GetMatchingGroupCount
(
cm
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
c
)
local
atk
=
5000
*
ct
local
e1
=
vgf
.
AtkUp
(
c
,
g
,
atk
)
vgf
.
EffectReset
(
c
,
e1
,
EVENT_BATTLED
)
end
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e4
:
SetCode
(
EFFECT_SEND_REPLACE
)
e4
:
SetTarget
(
cm
.
reptg
)
e4
:
SetValue
(
cm
.
repval
)
e4
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e4
,
tp
)
end
function
cm
.
repfilter
(
c
,
tp
)
return
c
:
IsControler
(
tp
)
and
(
c
:
IsLocation
(
LOCATION_GZONE
)
or
vgf
.
RMonsterFilter
(
c
))
and
c
:
GetDestination
()
==
LOCATION_GRAVE
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsFaceup
()
and
not
cm
.
filter
(
c
)
end
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
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
0
))
then
local
g
=
eg
:
Filter
(
cm
.
repfilter
,
nil
,
tp
)
local
ct
=
g
:
GetCount
()
if
ct
>
1
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_XMATERIAL
)
g
=
g
:
Select
(
tp
,
1
,
ct
,
nil
)
end
for
tc
in
vgf
.
Next
(
g
)
do
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_TO_GRAVE_REDIRECT
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetValue
(
LOCATION_OVERLAY
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_END
)
tc
:
RegisterEffect
(
e1
)
end
return
true
else
return
false
end
end
function
cm
.
repval
(
e
,
c
)
return
false
end
\ No newline at end of file
c10501119.lua
View file @
3d53c661
local
cm
,
m
,
o
=
GetID
()
--激发之泉
function
cm
.
initial_effect
(
c
)
local
cm
,
m
,
o
=
GetID
()
vgf
.
VgCard
(
c
)
function
cm
.
initial_effect
(
c
)
end
vgf
.
VgCard
(
c
)
-- 你的后防者在3张以上的话,这次战斗中,你所有的正在被攻击的单位的力量+15000。
vgd
.
QuickSpell
(
c
,
cm
.
op
)
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
b
=
vgf
.
IsExistingMatchingCard
(
vgf
.
RMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
3
,
nil
)
if
b
then
local
ac
=
Duel
.
GetAttackTarget
()
local
e1
=
vgf
.
AtkUp
(
c
,
ac
,
15000
,
nil
)
vgf
.
EffectReset
(
c
,
e1
,
EVENT_BATTLED
)
end
end
c10501120.lua
View file @
3d53c661
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
.
ContinuousSpell
(
c
)
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_ORDER
,
EFFECT_TYPE_FIELD
,
EVENT_CUSTOM
+
EVENT_SING
,
cm
.
op
,
nil
,
cm
.
con
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
e
,
tp
,
vgf
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
vgf
.
AtkUp
(
c
,
g
,
5000
)
Duel
.
ChangePosition
(
c
,
POS_FACEDOWN_ATTACK
)
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsContains
(
e
:
GetHandler
())
end
\ No newline at end of file
c10800855.lua
View file @
3d53c661
--能量发生器
--能量发生器
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
VgD
.
Rule
(
c
)
vgd
.
Rule
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
)
...
@@ -22,7 +22,7 @@ function cm.initial_effect(c)
...
@@ -22,7 +22,7 @@ function cm.initial_effect(c)
e3
:
SetType
(
EFFECT_TYPE_IGNITION
)
e3
:
SetType
(
EFFECT_TYPE_IGNITION
)
e3
:
SetRange
(
LOCATION_EMBLEM
)
e3
:
SetRange
(
LOCATION_EMBLEM
)
e3
:
SetCountLimit
(
1
)
e3
:
SetCountLimit
(
1
)
e3
:
SetCost
(
VgF
.
EnergyCost
(
7
))
e3
:
SetCost
(
vgf
.
EnergyCost
(
7
))
e3
:
SetOperation
(
cm
.
op3
)
e3
:
SetOperation
(
cm
.
op3
)
c
:
RegisterEffect
(
e3
)
c
:
RegisterEffect
(
e3
)
end
end
...
@@ -39,24 +39,24 @@ function cm.op1(e,tp,eg,ep,ev,re,r,rp)
...
@@ -39,24 +39,24 @@ function cm.op1(e,tp,eg,ep,ev,re,r,rp)
local
token2
=
Duel
.
CreateToken
(
tp
,
code
)
local
token2
=
Duel
.
CreateToken
(
tp
,
code
)
local
token3
=
Duel
.
CreateToken
(
tp
,
code
)
local
token3
=
Duel
.
CreateToken
(
tp
,
code
)
local
g
=
Group
.
FromCards
(
token1
,
token2
,
token3
)
local
g
=
Group
.
FromCards
(
token1
,
token2
,
token3
)
Duel
.
Sendto
(
g
,
tp
,
LOCATION_EMBLEM
,
POS_FACEUP_ATTACK
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_EMBLEM
,
g
,
tp
,
POS_FACEUP_ATTACK
,
REASON_EFFECT
)
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
.
GetTurnPlayer
()
==
tp
and
Duel
.
GetMatchingGroupCount
(
Card
.
IsCode
,
tp
,
LOCATION_EMBLEM
,
0
,
nil
,
code
)
<
10
return
Duel
.
GetTurnPlayer
()
==
tp
and
vgf
.
GetMatchingGroupCount
(
Card
.
IsCode
,
tp
,
LOCATION_EMBLEM
,
0
,
nil
,
code
)
<
10
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
()
local
code
=
10800730
local
code
=
10800730
local
selfcode1
,
selfcode2
=
c
:
GetOriginalCode
()
local
selfcode1
,
selfcode2
=
c
:
GetOriginalCode
()
if
selfcode2
==
10800855
then
code
=
code
+
1
end
if
selfcode2
==
10800855
then
code
=
code
+
1
end
if
Duel
.
GetMatchingGroupCount
(
Card
.
IsCode
,
tp
,
LOCATION_EMBLEM
,
0
,
nil
,
code
)
>=
10
then
return
end
if
vgf
.
GetMatchingGroupCount
(
Card
.
IsCode
,
tp
,
LOCATION_EMBLEM
,
0
,
nil
,
code
)
>=
10
then
return
end
local
ct
=
10
-
Duel
.
GetMatchingGroupCount
(
Card
.
IsCode
,
tp
,
LOCATION_EMBLEM
,
0
,
nil
,
code
)
local
ct
=
10
-
vgf
.
GetMatchingGroupCount
(
Card
.
IsCode
,
tp
,
LOCATION_EMBLEM
,
0
,
nil
,
code
)
local
token1
=
Duel
.
CreateToken
(
tp
,
code
)
local
token1
=
Duel
.
CreateToken
(
tp
,
code
)
local
token2
=
Duel
.
CreateToken
(
tp
,
code
)
local
token2
=
Duel
.
CreateToken
(
tp
,
code
)
local
token3
=
Duel
.
CreateToken
(
tp
,
code
)
local
token3
=
Duel
.
CreateToken
(
tp
,
code
)
local
sg
=
Group
.
FromCards
(
token1
,
token2
,
token3
)
local
sg
=
Group
.
FromCards
(
token1
,
token2
,
token3
)
local
g
=
VgF
.
GetCardsFromGroup
(
sg
,
ct
)
local
g
=
vgf
.
GetCardsFromGroup
(
sg
,
ct
)
Duel
.
Sendto
(
g
,
tp
,
LOCATION_EMBLEM
,
POS_FACEUP_ATTACK
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_EMBLEM
,
g
,
tp
,
POS_FACEUP_ATTACK
,
REASON_EFFECT
)
end
end
function
cm
.
op3
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op3
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
...
...
c20101001.lua
View file @
3d53c661
...
@@ -10,11 +10,11 @@ end
...
@@ -10,11 +10,11 @@ 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
.
SearchCard
OP
(
LOCATION_DECK
,
cm
.
fliter
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
vgf
.
SearchCard
(
LOCATION_HAND
,
LOCATION_DECK
,
cm
.
filter
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
vgf
.
AtkUp
(
c
,
c
,
10000
,
nil
)
vgf
.
AtkUp
(
c
,
c
,
10000
,
nil
)
end
end
--返回效果一寻找卡密
--返回效果一寻找卡密
function
cm
.
f
li
ter
(
c
)
function
cm
.
f
il
ter
(
c
)
return
c
:
IsCode
(
m
)
return
c
:
IsCode
(
m
)
end
end
--检测打的是不是v
--检测打的是不是v
...
@@ -25,12 +25,8 @@ end
...
@@ -25,12 +25,8 @@ 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
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_LEAVEONFIELD
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_LEAVEONFIELD
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectTarget
(
tp
,
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
if
g
then
Duel
.
HintSelection
(
g
)
Duel
.
SendtoGrave
(
g
,
REASON_EFFECT
)
end
vgf
.
AtkUp
(
c
,
c
,
5000
)
vgf
.
AtkUp
(
c
,
c
,
5000
)
VgF
.
StarUp
(
c
,
c
,
1
)
vgf
.
StarUp
(
c
,
c
,
1
)
end
end
\ No newline at end of file
c20103001.lua
View file @
3d53c661
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
.
EffectTypeIgnition
(
c
,
m
,
LOCATION_MZONE
,
cm
.
op
,
vgf
.
DamageCost
(
1
),
vgf
.
VMonsterCondition
)
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
op1
,
vgf
.
EnergyCost
(
4
),
cm
.
con
)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
vgf
.
SearchCard
(
LOCATION_HAND
,
LOCATION_DECK
,
cm
.
filter
,
1
,
0
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
vgf
.
AtkUp
(
c
,
c
,
10000
)
end
function
cm
.
filter
(
c
)
return
c
:
IsCode
(
m
)
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
VMonsterCondition
(
e
)
and
vgf
.
VMonsterFilter
(
Duel
.
GetAttackTarget
())
end
function
cm
.
op1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_RMONSTER
,
e
,
tp
,
cm
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
ChangePosition
(
g
,
POS_FACEUP_ATTACK
)
g
:
AddCard
(
c
)
vgf
.
AtkUp
(
c
,
g
,
10000
,
nil
)
end
end
\ No newline at end of file
c20104001.lua
View file @
3d53c661
...
@@ -10,11 +10,11 @@ end
...
@@ -10,11 +10,11 @@ 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
.
SearchCard
OP
(
LOCATION_DECK
,
cm
.
fliter
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
vgf
.
SearchCard
(
LOCATION_HAND
,
LOCATION_DECK
,
cm
.
filter
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
vgf
.
AtkUp
(
c
,
c
,
10000
,
nil
)
vgf
.
AtkUp
(
c
,
c
,
10000
,
nil
)
end
end
--返回效果一寻找目标
--返回效果一寻找目标
function
cm
.
f
li
ter
(
c
)
function
cm
.
f
il
ter
(
c
)
return
c
:
IsCode
(
m
)
return
c
:
IsCode
(
m
)
end
end
--效果二检测被打的是v
--效果二检测被打的是v
...
@@ -25,11 +25,11 @@ end
...
@@ -25,11 +25,11 @@ 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
()
vgf
.
SearchCard
SpecialSummonOP
(
LOCATION_DROP
,
cm
.
fliter2
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
vgf
.
SearchCard
(
LOCATION_MZONE
,
LOCATION_DROP
,
cm
.
filter2
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetOperatedGroup
()
local
g
=
Duel
.
GetOperatedGroup
()
vgf
.
AtkUp
(
c
,
g
,
10000
)
vgf
.
AtkUp
(
c
,
g
,
10000
)
end
end
--效果二召唤等级筛选
--效果二召唤等级筛选
function
cm
.
f
li
ter2
(
c
)
function
cm
.
f
il
ter2
(
c
)
return
vgf
.
IsLevel
(
c
,
0
,
1
,
2
,
3
)
return
vgf
.
IsLevel
(
c
,
0
,
1
,
2
,
3
)
end
end
\ No newline at end of file
c20106001.lua
View file @
3d53c661
...
@@ -10,11 +10,11 @@ end
...
@@ -10,11 +10,11 @@ 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
.
SearchCard
OP
(
LOCATION_DECK
,
cm
.
fliter
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
vgf
.
SearchCard
(
LOCATION_HAND
,
LOCATION_DECK
,
cm
.
filter
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
vgf
.
AtkUp
(
c
,
c
,
10000
,
nil
)
vgf
.
AtkUp
(
c
,
c
,
10000
,
nil
)
end
end
--返回找的卡密
--返回找的卡密
function
cm
.
f
li
ter
(
c
)
function
cm
.
f
il
ter
(
c
)
return
c
:
IsCode
(
m
)
return
c
:
IsCode
(
m
)
end
end
--效果二检测被打的是v
--效果二检测被打的是v
...
@@ -25,10 +25,10 @@ end
...
@@ -25,10 +25,10 @@ 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
()
vgf
.
SearchCard
SpecialSummonOP
(
LOCATION_HAND
,
cm
.
fliter2
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
vgf
.
SearchCard
(
LOCATION_MZONE
,
LOCATION_HAND
,
cm
.
filter2
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetOperatedGroup
()
local
g
=
Duel
.
GetOperatedGroup
()
vgf
.
AtkUp
(
c
,
g
,
10000
)
vgf
.
AtkUp
(
c
,
g
,
10000
)
end
end
function
cm
.
f
li
ter2
(
c
)
function
cm
.
f
il
ter2
(
c
)
return
vgf
.
IsLevel
(
c
,
1
,
2
,
3
)
return
vgf
.
IsLevel
(
c
,
1
,
2
,
3
)
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