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
20c6885c
Commit
20c6885c
authored
Jun 13, 2024
by
ikaros131417
Committed by
GitHub
Jun 13, 2024
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'vgdpro:main' into main
parents
d597aafa
9f5f243f
Changes
89
Show whitespace changes
Inline
Side-by-side
Showing
89 changed files
with
802 additions
and
557 deletions
+802
-557
VgD.Lua
VgD.Lua
+57
-64
VgDefinition.Lua
VgDefinition.Lua
+7
-4
VgFuncLib.lua
VgFuncLib.lua
+333
-144
c10000113.lua
c10000113.lua
+3
-4
c10101001.lua
c10101001.lua
+1
-1
c10101002.lua
c10101002.lua
+1
-1
c10101003.lua
c10101003.lua
+2
-9
c10101006.lua
c10101006.lua
+5
-6
c10101010.lua
c10101010.lua
+2
-3
c10101015.lua
c10101015.lua
+3
-4
c10102001.lua
c10102001.lua
+1
-8
c10102002.lua
c10102002.lua
+3
-7
c10102003.lua
c10102003.lua
+4
-5
c10102005.lua
c10102005.lua
+1
-2
c10102008.lua
c10102008.lua
+1
-1
c10103001.lua
c10103001.lua
+1
-2
c10103002.lua
c10103002.lua
+2
-3
c10103003.lua
c10103003.lua
+6
-8
c10103005.lua
c10103005.lua
+1
-1
c10103006.lua
c10103006.lua
+6
-7
c10103012.lua
c10103012.lua
+1
-1
c10103015.lua
c10103015.lua
+3
-4
c10104001.lua
c10104001.lua
+1
-2
c10104002.lua
c10104002.lua
+4
-4
c10104003.lua
c10104003.lua
+4
-4
c10104007.lua
c10104007.lua
+4
-5
c10104008.lua
c10104008.lua
+4
-4
c10104015.lua
c10104015.lua
+1
-2
c10105001.lua
c10105001.lua
+1
-2
c10105002.lua
c10105002.lua
+1
-2
c10105003.lua
c10105003.lua
+5
-6
c10105005.lua
c10105005.lua
+1
-2
c10105006.lua
c10105006.lua
+1
-2
c10105008.lua
c10105008.lua
+1
-1
c10105015.lua
c10105015.lua
+11
-13
c10202001.lua
c10202001.lua
+4
-4
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
+5
-6
c10203002.lua
c10203002.lua
+2
-2
c10203003.lua
c10203003.lua
+6
-6
c10203005.lua
c10203005.lua
+2
-3
c10203007.lua
c10203007.lua
+2
-2
c10203011.lua
c10203011.lua
+1
-1
c10203016.lua
c10203016.lua
+6
-6
c10203018.lua
c10203018.lua
+1
-1
c10301001.lua
c10301001.lua
+11
-13
c10301002.lua
c10301002.lua
+3
-4
c10301003.lua
c10301003.lua
+4
-5
c10301009.lua
c10301009.lua
+5
-11
c10301015.lua
c10301015.lua
+1
-2
c10400855.lua
c10400855.lua
+4
-4
c10401001.lua
c10401001.lua
+3
-3
c10401002.lua
c10401002.lua
+7
-9
c10401003.lua
c10401003.lua
+4
-16
c10401004.lua
c10401004.lua
+2
-3
c10401021.lua
c10401021.lua
+16
-0
c10401024.lua
c10401024.lua
+4
-4
c10401025.lua
c10401025.lua
+7
-9
c10401026.lua
c10401026.lua
+6
-7
c10401027.lua
c10401027.lua
+3
-4
c10401028.lua
c10401028.lua
+4
-5
c10401029.lua
c10401029.lua
+1
-1
c10401030.lua
c10401030.lua
+7
-8
c10401031.lua
c10401031.lua
+27
-0
c10401032.lua
c10401032.lua
+6
-6
c10401033.lua
c10401033.lua
+7
-7
c10401036.lua
c10401036.lua
+26
-0
c10401037.lua
c10401037.lua
+3
-3
c10501001.lua
c10501001.lua
+3
-3
c10501003.lua
c10501003.lua
+33
-0
c10501020.lua
c10501020.lua
+23
-0
c10501036.lua
c10501036.lua
+3
-3
c10501038.lua
c10501038.lua
+4
-5
c10501080.lua
c10501080.lua
+1
-1
c10501084.lua
c10501084.lua
+3
-4
c10501090.lua
c10501090.lua
+2
-2
c10501120.lua
c10501120.lua
+12
-0
c10800855.lua
c10800855.lua
+5
-5
c20101001.lua
c20101001.lua
+4
-5
c20104001.lua
c20104001.lua
+2
-2
c20106001.lua
c20106001.lua
+2
-2
No files found.
VgD.Lua
View file @
20c6885c
...
@@ -27,7 +27,7 @@ function VgD.RideUpFilter1(c,e,lv,code,rc)
...
@@ -27,7 +27,7 @@ function VgD.RideUpFilter1(c,e,lv,code,rc)
if
rc
:
IsAttribute
(
SKILL_SELF_RIDE
)
and
c
:
IsCode
(
code
)
then
if
rc
:
IsAttribute
(
SKILL_SELF_RIDE
)
and
c
:
IsCode
(
code
)
then
return
false
return
false
end
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
)
return
((
c
:
IsLevel
(
lv
,
lv
+
1
)
and
c
:
IsLocation
(
LOCATION_HAND
))
or
(
c
:
IsLevel
(
lv
+
1
)
and
c
:
IsLocation
(
LOCATION_RIDE
)
and
Duel
.
IsExistingMatchingCard
(
nil
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
)))
and
c
:
IsType
(
TYPE_MONSTER
)
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
()
...
@@ -35,7 +35,7 @@ function VgD.DisCardRideUpFilter(c,e,lv,code,rc)
...
@@ -35,7 +35,7 @@ function VgD.DisCardRideUpFilter(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
()
...
@@ -77,18 +77,18 @@ function VgD.RideUpOperation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -77,18 +77,18 @@ function VgD.RideUpOperation(e,tp,eg,ep,ev,re,r,rp)
if
sc
:
IsLocation
(
LOCATION_EXTRA
)
then
if
sc
:
IsLocation
(
LOCATION_EXTRA
)
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DISCARD
)
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
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
VgD
.
DisCardRideUpFilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
e
,
lv
,
code
,
rc
)
Duel
.
SendtoGrave
(
g
,
REASON_COST
+
REASON_DISCARD
)
VgF
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_COST
+
REASON_DISCARD
)
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
Duel
.
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 +96,11 @@ function VgD.RideUpOperation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -96,11 +96,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 +113,21 @@ function VgD.RideUpOperation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -113,24 +113,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 +146,7 @@ function VgD.CallCondition(e,c)
...
@@ -149,7 +146,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
())
...
@@ -166,7 +163,7 @@ function VgD.CallOperation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -166,7 +163,7 @@ function VgD.CallOperation(e,tp,eg,ep,ev,re,r,rp)
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
Duel
.
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 +191,7 @@ function VgD.OverDressCondition(f)
...
@@ -194,7 +191,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
Duel
.
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 +238,15 @@ function VgD.OverDressOperation(f)
...
@@ -241,15 +238,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
(
ConditionFlag
,
RESET_EVENT
+
RESETS_STANDARD
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
201
,
VgF
.
Stringid
(
10101006
,
0
))
end
end
--战斗阶段
--战斗阶段
...
@@ -317,20 +314,19 @@ function VgD.MonsterBattle(c)
...
@@ -317,20 +314,19 @@ 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_MZONE
)
e7
:
SetRange
(
LOCATION_MZONE
)
e7
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e7
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e7
:
SetCountLimit
(
1
,
EFFECT_COUNT_CODE_CHAIN
)
e7
:
SetCountLimit
(
1
,
EFFECT_COUNT_CODE_CHAIN
)
e7
:
SetCondition
(
VgD
.
SendToGCondition
(
VgF
.
IsAbleToGZone
))
e7
:
SetCondition
(
VgD
.
SendToGCondition
(
LOCATION_MZONE
))
e7
:
SetOperation
(
VgD
.
SendToGOperation
)
e7
:
SetOperation
(
VgD
.
SendToGOperation
)
c
:
RegisterEffect
(
e7
)
c
:
RegisterEffect
(
e7
)
local
e17
=
e7
:
Clone
()
local
e17
=
e7
:
Clone
()
e17
:
SetRange
(
LOCATION_HAND
)
e17
:
SetRange
(
LOCATION_HAND
)
e17
:
SetCost
(
VgD
.
SendToGCost
)
e17
:
SetCost
(
VgD
.
SendToGCost
)
e17
:
SetCondition
(
VgD
.
SendToGCondition
(
function
(
tc
)
e17
:
SetCondition
(
VgD
.
SendToGCondition
(
LOCATION_HAND
))
tc
:
IsType
(
TYPE_MONSTER
)
end
))
c
:
RegisterEffect
(
e17
)
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
)
...
@@ -389,7 +385,7 @@ end
...
@@ -389,7 +385,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
()
...
@@ -445,13 +441,13 @@ function VgD.SupportValue(e)
...
@@ -445,13 +441,13 @@ function VgD.SupportValue(e)
local
g
=
Duel
.
GetMatchingGroup
(
function
(
c
)
local
g
=
Duel
.
GetMatchingGroup
(
function
(
c
)
return
c
:
GetFlagEffect
(
SupportFlag
)
>
0
return
c
:
GetFlagEffect
(
SupportFlag
)
>
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
...
@@ -463,35 +459,34 @@ function VgD.SupportValue(e)
...
@@ -463,35 +459,34 @@ function VgD.SupportValue(e)
end
end
function
VgD
.
SendToGCost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
VgD
.
SendToGCost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
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
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
,
LOCATION_HAND
)
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
OAFFECT_CODE_SENDTOG
)
and
not
Duel
.
IsExistingMatchingCard
(
nil
,
tp
,
LOCATION_GZONE
,
0
,
1
,
nil
)
then
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
)
local
tc
=
Duel
.
SelectMatchingCard
(
tp
,
VgF
.
IsAbleToGZone
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
c
,
LOCATION_HAND
)
tc
=
VgF
.
ReturnCard
(
tc
)
tc
=
VgF
.
ReturnCard
(
tc
)
Duel
.
ConfirmCards
(
1
-
tp
,
tc
)
Duel
.
ConfirmCards
(
1
-
tp
,
tc
)
e
:
SetLabelObject
(
tc
)
e
:
SetLabelObject
(
tc
)
end
end
end
end
function
VgD
.
SendToGCondition
(
f
)
function
VgD
.
SendToGCondition
(
loc
)
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
bc
=
Duel
.
GetAttackTarget
()
local
bc
=
Duel
.
GetAttackTarget
()
return
bc
and
bc
:
IsControler
(
tp
)
and
bc
~=
c
and
(
vgf
.
GetValueType
(
f
)
~=
"function"
or
f
(
c
)
)
return
bc
and
bc
:
IsControler
(
tp
)
and
bc
~=
c
and
VgF
.
IsAbleToGZone
(
c
,
loc
)
end
end
end
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
()
local
tc
=
e
:
GetLabelObject
()
local
tc
=
e
:
GetLabelObject
()
local
g
=
Group
.
FromCards
(
c
)
local
g
=
Group
.
FromCards
(
c
)
if
tc
then
if
tc
then
tc
=
VgF
.
ReturnCard
(
tc
)
tc
=
VgF
.
ReturnCard
(
tc
)
g
:
AddCard
(
tc
)
g
:
AddCard
(
tc
)
end
end
Duel
.
Sendto
(
g
,
tp
,
LOCATION_GZONE
,
POS_FACEUP
,
REASON_EFFECT
)
VgF
.
Sendto
(
LOCATION_GZONE
,
g
,
tp
,
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
c
=
e
:
GetHandler
()
Duel
.
SendtoGrave
(
c
,
REASON_RULE
)
VgF
.
Sendto
(
LOCATION_DROP
,
c
,
REASON_RULE
)
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
(
AttackAtRearFlag
)
==
0
)
...
@@ -499,9 +494,8 @@ end
...
@@ -499,9 +494,8 @@ 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
(
AttackTriggerFlag
)
and
c
:
GetFlagEffectLabel
(
AttackTriggerFlag
)
>
0
local
a
=
c
:
GetFlagEffectLabel
(
AttackTriggerFlag
)
and
c
:
GetFlagEffectLabel
(
AttackTriggerFlag
)
>
0
return
bc
and
Duel
.
GetAttackTarget
()
==
bc
and
a
return
a
and
Duel
.
GetAttacker
()
==
c
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
()
...
@@ -589,7 +583,7 @@ function VgD.CardTriggerOperation(chkop,f)
...
@@ -589,7 +583,7 @@ 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
...
@@ -604,9 +598,9 @@ function VgD.CardTriggerOperation(chkop,f)
...
@@ -604,9 +598,9 @@ function VgD.CardTriggerOperation(chkop,f)
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
()
...
@@ -630,10 +624,9 @@ function VgD.CardTriggerOperation(chkop,f)
...
@@ -630,10 +624,9 @@ function VgD.CardTriggerOperation(chkop,f)
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
(
AttackTriggerFlag
)
...
@@ -784,7 +777,7 @@ function VgF.MixFilter(mg, cf, cval, bf, bmin, bmax, bval)
...
@@ -784,7 +777,7 @@ 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
,
0
))
then
return
false
end
local
cg
,
cval
=
mc
.
cos_g
,
mc
.
cos_val
local
cg
,
cval
=
mc
.
cos_g
,
mc
.
cos_val
...
@@ -798,17 +791,17 @@ function VgD.MixCostFilter(c,e,tp,eg,ep,ev,re,r,rp,mc)
...
@@ -798,17 +791,17 @@ 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
,
0
)
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
Duel
.
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
,
1
,
true
)
end
...
@@ -972,25 +965,25 @@ function VgD.QuickSpell(c,code,op,cost,con,tg)
...
@@ -972,25 +965,25 @@ function VgD.QuickSpell(c,code,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
(
EVENT_BATTLE_START
)
e1
:
SetCode
(
EVENT_BATTLE_START
)
e1
:
SetCondition
(
VgD
.
LvCondition
(
con
))
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
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
local
bc
=
Duel
.
GetAttackTarget
()
return
bc
and
bc
:
IsControler
(
tp
)
and
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
:
SetCountLimit
(
1
,
VgID
+
EFFECT_COUNT_CODE_OATH
)
e1
:
SetCountLimit
(
1
,
VgID
+
EFFECT_COUNT_CODE_OATH
)
e1
:
SetCondition
(
VgD
.
LvCondition
(
con
))
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
)
...
@@ -998,21 +991,21 @@ function VgD.ContinuousSpell(c,cost,con,tg)
...
@@ -998,21 +991,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
)
...
...
VgDefinition.Lua
View file @
20c6885c
...
@@ -94,6 +94,8 @@ TRRIGGER_DRAW =0x4 --抽牌触发
...
@@ -94,6 +94,8 @@ TRRIGGER_DRAW =0x4 --抽牌触发
TRRIGGER_HEAL
=
0x8
--治愈触发
TRRIGGER_HEAL
=
0x8
--治愈触发
TRRIGGER_ADVANCE
=
0x10
--前列触发
TRRIGGER_ADVANCE
=
0x10
--前列触发
TRRIGGER_SUPER
=
0x20
--超限触发
TRRIGGER_SUPER
=
0x20
--超限触发
--Category 效果分类
CATEGORY_DEFENDER
=
0x1
--守护者
--Reason 卡片到当前位置的原因
--Reason 卡片到当前位置的原因
REASON_DESTROY
=
0x1
--破坏
REASON_DESTROY
=
0x1
--破坏
REASON_RELEASE
=
0x2
--解放
REASON_RELEASE
=
0x2
--解放
...
@@ -675,6 +677,7 @@ EVENT_DAMAGE_TRIGGER =VgID+2 --受伤判定完毕时点
...
@@ -675,6 +677,7 @@ 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_ATTACK_ANNOUNCE)
--攻击时(EVENT_ATTACK_ANNOUNCE)
--支援时(EVENT_CUSTOM+EVENT_SUPPORT)
--支援时(EVENT_CUSTOM+EVENT_SUPPORT)
...
@@ -742,8 +745,8 @@ HINTMSG_REMOVEXYZ =519 --请选择要取除的超量素材
...
@@ -742,8 +745,8 @@ HINTMSG_REMOVEXYZ =519 --请选择要取除的超量素材
HINTMSG_CONTROL
=
520
--请选择要改变控制权的怪兽
HINTMSG_CONTROL
=
520
--请选择要改变控制权的怪兽
HINTMSG_DESREPLACE
=
521
--请选择要代替破坏的卡
HINTMSG_DESREPLACE
=
521
--请选择要代替破坏的卡
HINTMSG_FACEUPATTACK
=
522
--
HINTMSG_FACEUPATTACK
=
522
--
HINTMSG_FACEUPDEFENSE
=
523
--
请选择表侧守备表示的怪兽
HINTMSG_FACEUPDEFENSE
=
523
--
HINTMSG_FACEDOWNATTACK
=
524
--
请选择里侧攻击表示的怪兽
HINTMSG_FACEDOWNATTACK
=
524
--
HINTMSG_FACEDOWNDEFENSE
=
525
--请选择里侧守备表示的怪兽
HINTMSG_FACEDOWNDEFENSE
=
525
--请选择里侧守备表示的怪兽
HINTMSG_CONFIRM
=
526
--请选择给对方确认的卡
HINTMSG_CONFIRM
=
526
--请选择给对方确认的卡
HINTMSG_TOFIELD
=
527
--请选择要放置到场上的卡
HINTMSG_TOFIELD
=
527
--请选择要放置到场上的卡
...
@@ -784,6 +787,8 @@ HINTMSG_ATKUP =HINTMSG_FMATERIAL --请选择力量上升的卡
...
@@ -784,6 +787,8 @@ HINTMSG_ATKUP =HINTMSG_FMATERIAL --请选择力量上升的卡
HINTMSG_CRITICAL_STRIKE
=
HINTMSG_SMATERIAL
--请选择☆值上升的卡
HINTMSG_CRITICAL_STRIKE
=
HINTMSG_SMATERIAL
--请选择☆值上升的卡
HINTMSG_IMPRISON
=
HINTMSG_DESTROY
--请选择要收容的卡
HINTMSG_IMPRISON
=
HINTMSG_DESTROY
--请选择要收容的卡
HINTMSG_VMONSTER
=
HINTMSG_FACEUPATTACK
--请选择先导者
HINTMSG_VMONSTER
=
HINTMSG_FACEUPATTACK
--请选择先导者
HINTMSG_RMONSTER
=
HINTMSG_FACEUPDEFENSE
--请选择后防者
HINTMSG_MONSTER
=
HINTMSG_FACEDOWNATTACK
--请选择单位
--Select --请选择
--Select --请选择
SELECT_HEADS
=
60
--正面
SELECT_HEADS
=
60
--正面
SELECT_TAILS
=
61
--反面
SELECT_TAILS
=
61
--反面
...
@@ -867,12 +872,10 @@ ConditionFlag =VgID+4 --处于XX状态标识
...
@@ -867,12 +872,10 @@ ConditionFlag =VgID+4 --处于XX状态标识
SupportFlag
=
VgID
+
5
--支援状态标识
SupportFlag
=
VgID
+
5
--支援状态标识
AttackAtRearFlag
=
VgID
+
6
--后列攻击
AttackAtRearFlag
=
VgID
+
6
--后列攻击
ImprisonFlag
=
VgID
+
7
--被收容
ImprisonFlag
=
VgID
+
7
--被收容
DamageFlag
=
VgID
+
8
--被收容
--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_SENDTOG
=
VgID
+
2
--需要两张卡才能防御
AFFECT_CODE_SENDTOG_MZONE
=
VgID
+
3
--不能截击
POS_FACEUP_DEFENCE
=
POS_FACEUP_DEFENSE
POS_FACEUP_DEFENCE
=
POS_FACEUP_DEFENSE
...
...
VgFuncLib.lua
View file @
20c6885c
...
@@ -10,8 +10,8 @@ vgf=VgF
...
@@ -10,8 +10,8 @@ vgf=VgF
function
VgF
.
VgCard
(
c
)
function
VgF
.
VgCard
(
c
)
VgD
.
Rule
(
c
)
VgD
.
Rule
(
c
)
VgF
.
DefineArguments
()
VgF
.
DefineArguments
()
if
c
:
IsType
(
TYPE_MONSTER
)
then
VgD
.
RideUp
(
c
)
VgD
.
RideUp
(
c
)
if
c
:
IsType
(
TYPE_MONSTER
)
then
VgD
.
CallToR
(
c
)
VgD
.
CallToR
(
c
)
VgD
.
MonsterBattle
(
c
)
VgD
.
MonsterBattle
(
c
)
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
Duel
.
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
Duel
.
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
)
...
@@ -490,43 +494,53 @@ end
...
@@ -490,43 +494,53 @@ 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
)
local
tp
=
c
:
GetControler
()
if
loc
==
LOCATION_HAND
then
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
()
return
c
:
IsType
(
TYPE_MONSTER
)
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
end
function
VgF
.
DisCardCostOP
(
num
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
m
=
c
:
GetOriginalCode
()
local
m
=
c
:
GetOriginalCode
()
local
cm
=
_G
[
"c"
..
m
]
local
cm
=
_G
[
"c"
..
m
]
if
chk
==
0
then
if
chk
==
0
then
if
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
then
if
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
then
cm
.
cos_g
=
Duel
.
GetMatchingGroup
(
Card
.
IsDiscardable
,
tp
,
LOCATION_HAND
,
0
,
nil
)
cm
.
cos_g
=
Duel
.
GetMatchingGroup
(
nil
,
tp
,
LOCATION_HAND
,
0
,
nil
)
cm
.
cos_val
=
{
nil
,
num
,
num
}
cm
.
cos_val
=
{
nil
,
num
,
num
}
end
end
return
Duel
.
IsExistingMatchingCard
(
Card
.
IsDiscardable
,
tp
,
LOCATION_HAND
,
0
,
num
,
nil
)
return
Duel
.
IsExistingMatchingCard
(
nil
,
tp
,
LOCATION_HAND
,
0
,
num
,
nil
)
end
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DISCARD
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DISCARD
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
Card
.
IsDiscardable
,
tp
,
LOCATION_HAND
,
0
,
num
,
num
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
nil
,
tp
,
LOCATION_HAND
,
0
,
num
,
num
,
nil
)
Duel
.
SendtoGrave
(
g
,
REASON_COST
+
REASON_DISCARD
)
return
VgF
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_COST
+
REASON_DISCARD
)
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
.
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
end
function
VgF
.
EnergyCostOP
(
num
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
m
=
c
:
GetOriginalCode
()
local
m
=
c
:
GetOriginalCode
()
local
cm
=
_G
[
"c"
..
m
]
local
cm
=
_G
[
"c"
..
m
]
...
@@ -539,42 +553,36 @@ function VgF.EnergyCostOP(num,e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -539,42 +553,36 @@ function VgF.EnergyCostOP(num,e,tp,eg,ep,ev,re,r,rp,chk)
end
end
local
sg
=
Duel
.
GetMatchingGroup
(
Card
.
IsCode
,
tp
,
LOCATION_EMBLEM
,
0
,
nil
,
10800730
)
local
sg
=
Duel
.
GetMatchingGroup
(
Card
.
IsCode
,
tp
,
LOCATION_EMBLEM
,
0
,
nil
,
10800730
)
local
g
=
VgF
.
GetCardsFromGroup
(
sg
,
num
)
local
g
=
VgF
.
GetCardsFromGroup
(
sg
,
num
)
Duel
.
Sendto
(
g
,
tp
,
0
,
POS_FACEUP
,
REASON_COST
)
return
VgF
.
Sendto
(
0
,
g
,
tp
,
POS_FACEUP
,
REASON_COST
)
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
.
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
end
function
VgF
.
OverlayCostOP
(
num
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
m
=
c
:
GetOriginalCode
()
local
m
=
c
:
GetOriginalCode
()
local
cm
=
_G
[
"c"
..
m
]
local
cm
=
_G
[
"c"
..
m
]
if
chk
==
0
then
if
chk
==
0
then
if
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
then
if
e
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
then
cm
.
cos_g
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
nil
):
GetFirst
():
GetOverlayGroup
():
FilterCount
(
Card
.
IsAbleToGraveAsCost
,
nil
)
cm
.
cos_g
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
nil
):
GetFirst
():
GetOverlayGroup
(
)
cm
.
cos_val
=
{
nil
,
num
,
num
}
cm
.
cos_val
=
{
nil
,
num
,
num
}
end
end
return
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
nil
):
GetFirst
():
GetOverlayGroup
():
FilterCount
(
Card
.
IsAbleToGraveAsCost
,
nil
)
>=
num
return
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
nil
):
GetFirst
():
GetOverlayCount
(
)
>=
num
end
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
,
num
,
num
,
nil
)
local
g
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
():
GetOverlayGroup
():
Select
(
tp
,
nil
,
num
,
num
,
nil
)
Duel
.
SendtoGrave
(
g
,
REASON_COST
)
return
VgF
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_COST
)
return
Duel
.
GetOperatedGroup
():
GetCount
()
end
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
end
function
VgF
.
OverlayFillOP
(
num
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
m
=
c
:
GetOriginalCode
()
local
m
=
c
:
GetOriginalCode
()
local
cm
=
_G
[
"c"
..
m
]
local
cm
=
_G
[
"c"
..
m
]
...
@@ -588,18 +596,15 @@ function VgF.OverlayFillOP(num,e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -588,18 +596,15 @@ function VgF.OverlayFillOP(num,e,tp,eg,ep,ev,re,r,rp,chk)
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
g
=
Duel
.
GetDecktopGroup
(
tp
,
num
)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
num
)
Duel
.
DisableShuffleCheck
()
Duel
.
DisableShuffleCheck
()
Duel
.
Overlay
(
rc
,
g
)
return
VgF
.
Sendto
(
LOCATION_OVERLAY
,
g
,
rc
)
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
.
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
end
function
VgF
.
DamageCostOP
(
num
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
m
=
c
:
GetOriginalCode
()
local
m
=
c
:
GetOriginalCode
()
local
cm
=
_G
[
"c"
..
m
]
local
cm
=
_G
[
"c"
..
m
]
...
@@ -610,59 +615,74 @@ function VgF.DamageCostOP(num,e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -610,59 +615,74 @@ function VgF.DamageCostOP(num,e,tp,eg,ep,ev,re,r,rp,chk)
end
end
return
Duel
.
IsExistingMatchingCard
(
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
num
,
nil
)
return
Duel
.
IsExistingMatchingCard
(
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
num
,
nil
)
end
end
Debug
.
Message
(
chk
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DAMAGE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DAMAGE
)
local
g
=
Duel
.
SelectMatchingCard
(
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
)
return
Duel
.
GetOperatedGroup
():
GetCount
()
return
Duel
.
GetOperatedGroup
():
GetCount
()
end
end
end
---用于效果的Operation。执行“从loc中选取1张满足f的卡,返回手牌。”。
---用于效果的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
.
SearchCard
(
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
.
SearchCardOP
(
loc
,
f
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
loc_to
or
not
loc_from
then
return
0
end
if
VgF
.
GetValueType
(
int_max
)
~=
"number"
then
int_max
=
1
end
if
VgF
.
GetValueType
(
int_min
)
~=
"number"
then
int_min
=
int_max
end
if
loc_to
==
LOCATION_HAND
then
local
g
=
VgF
.
SelectMatchingCard
(
HINTMSG_ATOHAND
,
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
,
nil
,
REASON_EFFECT
)
end
end
end
elseif
loc_to
==
LOCATION_MZONE
then
function
VgF
.
SearchCardOP
(
loc
,
f
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
VgF
.
SelectMatchingCard
(
HINTMSG_CALL
,
e
,
tp
,
function
(
c
)
if
not
loc
then
return
end
return
VgF
.
GetValueType
(
f
)
~=
"function"
or
f
(
c
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
end
,
tp
,
loc_from
,
0
,
int_min
,
int_max
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
function
(
c
)
if
VgF
.
GetValueType
(
f
)
==
"function"
and
not
f
(
c
)
then
return
false
end
return
c
:
IsAbleToHand
()
end
,
tp
,
loc
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
return
VgF
.
Sendto
(
loc_to
,
g
,
0
,
tp
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
end
local
sg
=
Duel
.
GetOperatedGroup
()
elseif
loc_to
==
LOCATION_DROP
then
return
sg
:
GetCount
()
local
g
=
VgF
.
SelectMatchingCard
(
HINTMSG_CALL
,
e
,
tp
,
function
(
c
)
end
return
VgF
.
GetValueType
(
f
)
~=
"function"
or
f
(
c
)
---用于效果的Operation。执行“从loc中选取1张满足f的卡,Call到R上。”。
end
,
tp
,
loc_from
,
0
,
int_min
,
int_max
,
nil
)
---@param loc integer 要选取的区域。不填则返回nil,而不是效果的Operation函数。
if
g
:
GetCount
()
>
0
then
---@param f function 卡片过滤的条件
return
VgF
.
Sendto
(
loc_to
,
g
,
REASON_EFFECT
)
---@return function|nil 效果的Operation函数
function
VgF
.
SearchCardSpecialSummon
(
loc
,
f
)
if
not
loc
then
return
end
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
VgF
.
SearchCardSpecialSummonOP
(
loc
,
f
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
end
end
elseif
loc_to
==
LOCATION_REMOVED
then
function
VgF
.
SearchCardSpecialSummonOP
(
loc
,
f
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
VgF
.
SelectMatchingCard
(
HINTMSG_CALL
,
e
,
tp
,
function
(
c
)
if
not
loc
then
return
end
return
VgF
.
GetValueType
(
f
)
~=
"function"
or
f
(
c
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CALL
)
end
,
tp
,
loc_from
,
0
,
int_min
,
int_max
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
function
(
c
)
if
VgF
.
GetValueType
(
f
)
==
"function"
and
not
f
(
c
)
then
return
false
end
return
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
end
,
tp
,
loc
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
if
loc
&
LOCATION_DECK
+
LOCATION_HAND
+
LOCATION_EXTRA
==
0
then
Duel
.
HintSelection
(
g
)
end
return
VgF
.
Sendto
(
loc_to
,
g
,
POS_FACEUP
,
REASON_EFFECT
)
VgF
.
Call
(
g
,
0
,
tp
)
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
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
...
@@ -724,23 +744,45 @@ function VgF.SendtoPrison(g,p)
...
@@ -724,23 +744,45 @@ 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
(
ImprisonFlag
,
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
(
ImprisonFlag
,
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 Duel.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(ImprisonFlag,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(ImprisonFlag,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
)
...
@@ -773,3 +815,150 @@ function VgF.EffectResetOperation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -773,3 +815,150 @@ function VgF.EffectResetOperation(e,tp,eg,ep,ev,re,r,rp)
if
VgF
.
GetValueType
(
e1
)
==
"Effect"
then
e1
:
Reset
()
end
if
VgF
.
GetValueType
(
e1
)
==
"Effect"
then
e1
:
Reset
()
end
e
:
Reset
()
e
:
Reset
()
end
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
loc_self
|
LOCATION_DECK
>
0
)
or
(
select_tp
~=
tp
and
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
loc_self
|
LOCATION_MZONE
>
0
then
local
g1
=
Duel
.
GetMatchingGroup
(
Card
.
IsCanBeEffectTarget
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
e
)
loc_self
=
loc_self
-
LOCATION_MZONE
if
g1
:
GetCount
()
>
0
then
g
:
Merge
(
g1
)
end
end
if
loc_op
|
LOCATION_MZONE
>
0
then
local
g1
=
Duel
.
GetMatchingGroup
(
Card
.
IsCanBeEffectTarget
,
tp
,
0
,
LOCATION_MZONE
,
nil
,
e
)
loc_op
=
loc_op
-
LOCATION_MZONE
if
g1
:
GetCount
()
>
0
then
g
:
Merge
(
g1
)
end
end
local
g1
=
Duel
.
GetMatchingGroup
(
nil
,
tp
,
0
,
loc_op
,
nil
)
if
g1
:
GetCount
()
>
0
then
g
:
Merge
(
g1
)
end
local
g2
=
Duel
.
GetMatchingGroup
(
nil
,
tp
,
loc_self
,
0
,
nil
)
if
g2
:
GetCount
()
>
0
then
g
:
Merge
(
g2
)
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
---用于效果的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"
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
)
return
Duel
.
SendtoGrave
(
g
,
...
)
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
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
\ No newline at end of file
c10000113.lua
View file @
20c6885c
...
@@ -4,13 +4,12 @@ function cm.initial_effect(c)
...
@@ -4,13 +4,12 @@ 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
tg
=
vgf
.
SelectMatchingCard
(
HINTMSG_SELF
,
e
,
tp
,
Card
.
IsFaceup
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
local
tg
=
Duel
.
SelectMatchingCard
(
tp
,
Card
.
IsFaceup
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
if
tg
:
GetCount
()
>
0
then
tg
:
GetFirst
():
RegisterFlagEffect
(
DefenseEntirelyFlag
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
end
if
tg
:
GetCount
()
>
0
then
tg
:
GetFirst
():
RegisterFlagEffect
(
DefenseEntirelyFlag
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
end
local
g
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_HAND
,
0
)
local
g
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_HAND
,
0
)
if
g
:
GetCount
()
>=
2
then
if
g
:
GetCount
()
>=
2
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DISCARD
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DISCARD
)
g
=
g
:
FilterSelect
(
tp
,
Card
.
IsDiscardable
,
1
,
1
,
nil
,
REASON_EFFECT
)
g
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
SendtoGrave
(
g
,
REASON_EFFECT
+
REASON_DISCARD
)
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
+
REASON_DISCARD
)
end
end
end
end
\ No newline at end of file
c10101001.lua
View file @
20c6885c
...
@@ -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
)
...
...
c10101002.lua
View file @
20c6885c
...
@@ -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 @
20c6885c
...
@@ -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_HAND
,
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 @
20c6885c
...
@@ -9,14 +9,13 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -9,14 +9,13 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
e1
=
vgf
.
AtkUp
(
c
,
c
,
5000
,
nil
)
local
e1
=
vgf
.
AtkUp
(
c
,
c
,
5000
,
nil
)
vgf
.
EffectReset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
EffectReset
(
c
,
e1
,
EVENT_BATTLED
)
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
if
Duel
.
GetMatchingGroup
(
vgf
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
nil
):
GetFirst
():
GetOverlayCount
()
>=
2
and
Duel
.
SelectEffectYesNo
(
tp
,
vgf
.
stringid
(
VgID
,
10
))
then
local
cg
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
():
GetOverlayGroup
():
FilterSelect
(
tp
,
Card
.
IsAbleToGraveAsCost
,
2
,
2
,
nil
)
local
cg
=
Duel
.
GetMatchingGroup
(
vgf
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
():
GetOverlayGroup
():
Select
(
tp
,
2
,
2
,
nil
)
if
Duel
.
SendtoGrave
(
cg
,
REASON_COST
)
==
2
then
if
vgf
.
Sendto
(
LOCATION_DROP
,
cg
,
REASON_COST
)
==
2
then
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
)
if
g
then
if
g
then
Duel
.
HintSelection
(
g
)
Duel
.
HintSelection
(
g
)
Duel
.
SendtoGrave
(
g
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
end
end
end
end
end
end
...
...
c10101010.lua
View file @
20c6885c
...
@@ -2,12 +2,11 @@
...
@@ -2,12 +2,11 @@
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
)
if
g
then
if
g
then
Duel
.
HintSelection
(
g
)
Duel
.
HintSelection
(
g
)
vgf
.
AtkUp
(
c
,
g
,
100000000
,
nil
)
vgf
.
AtkUp
(
c
,
g
,
100000000
,
nil
)
...
...
c10101015.lua
View file @
20c6885c
...
@@ -6,11 +6,10 @@ function cm.initial_effect(c)
...
@@ -6,11 +6,10 @@ 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
)
Duel
.
HintSelection
(
g
)
Duel
.
HintSelection
(
g
)
VgF
.
AtkUp
(
c
,
g
,
5000
,
nil
)
vgf
.
AtkUp
(
c
,
g
,
5000
,
nil
)
vgf
.
SearchCard
OP
(
LOCATION_DROP
,
cm
.
filter
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
vgf
.
SearchCard
(
LOCATION_HAND
,
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 @
20c6885c
...
@@ -6,14 +6,7 @@ function cm.initial_effect(c)
...
@@ -6,14 +6,7 @@ function cm.initial_effect(c)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
Duel
.
RegisterFlagEffect
(
tp
,
ConditionFlag
,
RESET_PHASE
+
PHASE_END
,
0
,
1
,
m
)
Duel
.
RegisterFlagEffect
(
tp
,
ConditionFlag
,
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
)
...
...
c10102002.lua
View file @
20c6885c
...
@@ -14,15 +14,11 @@ end
...
@@ -14,15 +14,11 @@ 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
Duel
.
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
()
...
...
c10102003.lua
View file @
20c6885c
...
@@ -16,13 +16,12 @@ function cm.con2(e,tp,eg,ep,ev,re,r,rp)
...
@@ -16,13 +16,12 @@ function cm.con2(e,tp,eg,ep,ev,re,r,rp)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
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
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
=
Duel
.
GetMatchingGroup
(
vgf
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
():
GetOverlayGroup
():
Select
(
tp
,
1
,
1
,
nil
)
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 @
20c6885c
...
@@ -12,8 +12,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -12,8 +12,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
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
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
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DAMAGE
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_DAMAGE
,
e
,
tp
,
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
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 @
20c6885c
...
@@ -7,7 +7,7 @@ end
...
@@ -7,7 +7,7 @@ end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
num
=
1
local
num
=
1
if
Duel
.
GetFlagEffectLabel
(
tp
,
ConditionFlag
)
==
10102001
then
num
=
num
+
1
end
if
Duel
.
GetFlagEffectLabel
(
tp
,
ConditionFlag
)
==
10102001
then
num
=
num
+
1
end
VgF
.
OverlayFillOP
(
num
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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 @
20c6885c
...
@@ -38,8 +38,7 @@ function cm.filter(c)
...
@@ -38,8 +38,7 @@ 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
.
HintSelection
(
g
)
Duel
.
ChangePosition
(
g
,
POS_FACEUP_ATTACK
)
Duel
.
ChangePosition
(
g
,
POS_FACEUP_ATTACK
)
...
...
c10103002.lua
View file @
20c6885c
--天枪的骑士 勒克斯
--天枪的骑士 勒克斯
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
)
...
@@ -25,8 +25,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -25,8 +25,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
vgf
.
IsLevel
,
tp
,
LOCATION_HAND
,
0
,
3
,
nil
,
3
)
end
if
chk
==
0
then
return
Duel
.
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
)
end
end
function
cm
.
condition
(
e
,
c
)
function
cm
.
condition
(
e
,
c
)
...
...
c10103003.lua
View file @
20c6885c
...
@@ -7,8 +7,7 @@ function cm.initial_effect(c)
...
@@ -7,8 +7,7 @@ function cm.initial_effect(c)
end
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
vgf
.
IsLevel
,
tp
,
LOCATION_HAND
,
0
,
2
,
nil
,
3
)
end
if
chk
==
0
then
return
Duel
.
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
)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
@@ -16,16 +15,15 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -16,16 +15,15 @@ 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
:
Is
CanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
then
if
tc
:
Is
Type
(
TYPE_MONSTER
)
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 @
20c6885c
--激烈的魔女 拉玛娜
--激烈的魔女 拉玛娜
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
...
...
c10103006.lua
View file @
20c6885c
--斧钺的骑士 拉夫尔克
--斧钺的骑士 拉夫尔克
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
)
if
g
then
if
g
then
Duel
.
HintSelection
(
g
)
Duel
.
HintSelection
(
g
)
VgF
.
AtkUp
(
c
,
g
,
10000
,
nil
)
vgf
.
AtkUp
(
c
,
g
,
10000
,
nil
)
end
end
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
...
@@ -18,7 +17,7 @@ function cm.filter(c)
...
@@ -18,7 +17,7 @@ function cm.filter(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
=
Duel
.
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 @
20c6885c
--天贯的骑士 加尔斯
--天贯的骑士 加尔斯
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 @
20c6885c
--圣裁之刻,来临
--圣裁之刻,来临
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
)
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
)
if
g
then
if
g
then
Duel
.
HintSelection
(
g
)
Duel
.
HintSelection
(
g
)
VgF
.
AtkUp
(
c
,
g
,
5000
)
vgf
.
AtkUp
(
c
,
g
,
5000
)
end
end
end
end
\ No newline at end of file
c10104001.lua
View file @
20c6885c
...
@@ -9,8 +9,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -9,8 +9,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
ct
=
1
local
ct
=
1
if
c
:
IsSummonType
(
SUMMON_TYPE_SELFRIDE
)
then
ct
=
3
end
if
c
:
IsSummonType
(
SUMMON_TYPE_SELFRIDE
)
then
ct
=
3
end
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
...
...
c10104002.lua
View file @
20c6885c
...
@@ -13,10 +13,10 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -13,10 +13,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
:
Is
CanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
then
if
tc
:
Is
Type
(
TYPE_MONSTER
)
then
vgf
.
Call
(
g
,
0
,
tp
)
vgf
.
Sendto
(
LOCATION_MZONE
,
g
,
0
,
tp
)
else
if
tc
:
IsAbleToHand
()
then
else
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_HAND
,
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
end
end
end
...
...
c10104003.lua
View file @
20c6885c
...
@@ -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
:
Is
CanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
and
vgf
.
IsLevel
(
tc
,
0
,
1
,
2
)
then
if
tc
:
Is
Type
(
TYPE_MONSTER
)
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
)
...
...
c10104007.lua
View file @
20c6885c
...
@@ -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
Duel
.
IsExistingMatchingCard
(
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
1
,
nil
)
and
Duel
.
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
=
Duel
.
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 @
20c6885c
...
@@ -11,10 +11,10 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -11,10 +11,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
:
Is
CanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
then
if
tc
:
Is
Type
(
TYPE_MONSTER
)
then
vgf
.
Call
(
g
,
0
,
tp
)
vgf
.
Sendto
(
LOCATION_MZONE
,
g
,
0
,
tp
)
else
if
tc
:
IsAbleToHand
()
then
else
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_HAND
,
g
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
end
end
end
\ No newline at end of file
c10104015.lua
View file @
20c6885c
...
@@ -7,8 +7,7 @@ function cm.initial_effect(c)
...
@@ -7,8 +7,7 @@ function cm.initial_effect(c)
end
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
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
Duel
.
IsExistingMatchingCard
(
vgf
.
IsSequence
,
tp
,
LOCATION_MZONE
,
0
,
3
,
nil
,
1
,
2
,
3
)
then
atk
=
15000
end
if
g
then
if
g
then
...
...
c10105001.lua
View file @
20c6885c
...
@@ -14,7 +14,6 @@ function cm.filter(c)
...
@@ -14,7 +14,6 @@ function cm.filter(c)
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 @
20c6885c
...
@@ -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_SELECTMSG
,
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
,
0
,
LOCATION_HAND
,
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
)
...
...
c10105003.lua
View file @
20c6885c
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
)
...
@@ -22,11 +22,10 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
...
@@ -22,11 +22,10 @@ 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
Duel
.
IsExistingMatchingCard
(
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
1
,
nil
)
and
Duel
.
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
=
Duel
.
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 @
20c6885c
...
@@ -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_SELECTMSG
,
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 @
20c6885c
...
@@ -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_SELECTMSG
,
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 @
20c6885c
...
@@ -2,7 +2,7 @@ local cm,m,o=GetID()
...
@@ -2,7 +2,7 @@ local cm,m,o=GetID()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
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_
GRAVE
)
vgd
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_SINGLE
,
5000
,
con
,
tg
,
c
,
EFFECT_UPDATE_DEFENSE
,
reset
,
LOCATION_
DROP
)
end
end
function
cm
.
con
(
e
,
c
)
function
cm
.
con
(
e
,
c
)
local
tp
=
e
:
GetHandler
()
local
tp
=
e
:
GetHandler
()
...
...
c10105015.lua
View file @
20c6885c
...
@@ -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
=
Duel
.
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
=
Duel
.
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
=
Duel
.
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,14 +44,13 @@ function cm.op1(e,tp,eg,ep,ev,re,r,rp)
...
@@ -45,14 +44,13 @@ 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_SELECTMSG
,
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
)
Duel
.
HintSelection
(
g
)
for
tc
in
vgf
.
Next
(
g
)
do
for
tc
in
vgf
.
Next
(
g
)
do
if
tc
:
Is
CanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
then
if
tc
:
Is
Type
(
TYPE_MONSTER
)
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
...
...
c10202001.lua
View file @
20c6885c
...
@@ -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
Duel
.
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 @
20c6885c
...
@@ -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 @
20c6885c
...
@@ -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
)
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 @
20c6885c
...
@@ -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 @
20c6885c
...
@@ -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
=
Duel
.
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 @
20c6885c
...
@@ -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 @
20c6885c
...
@@ -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 @
20c6885c
...
@@ -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 @
20c6885c
...
@@ -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 @
20c6885c
...
@@ -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 @
20c6885c
...
@@ -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
)
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
...
@@ -24,8 +23,8 @@ function cm.condition(e,tp,eg,ep,ev,re,r,rp)
...
@@ -24,8 +23,8 @@ function cm.condition(e,tp,eg,ep,ev,re,r,rp)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
Duel
.
GetAttacker
()
==
c
return
Duel
.
GetAttacker
()
==
c
end
end
function
cm
.
filter
(
c
,
e
,
tp
)
function
cm
.
filter
(
c
)
return
c
:
IsSetCard
(
0x76
)
and
c
:
Is
CanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
return
c
:
IsSetCard
(
0x76
)
and
c
:
Is
Type
(
TYPE_MONSTER
)
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 @
20c6885c
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
)
...
...
c10203003.lua
View file @
20c6885c
...
@@ -29,14 +29,14 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -29,14 +29,14 @@ 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
.
ConfirmCards
(
1
-
tp
,
sg
)
Duel
.
ShuffleHand
(
tp
)
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
,
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 +48,8 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -48,8 +48,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
,
tp
)
return
c
:
IsLevelBelow
(
3
)
and
c
:
Is
CanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
and
vgf
.
GetAvailableLocation
(
tp
)
>
0
return
c
:
IsLevelBelow
(
3
)
and
c
:
Is
Type
(
TYPE_MONSTER
)
and
vgf
.
GetAvailableLocation
(
tp
)
>
0
end
end
\ No newline at end of file
c10203005.lua
View file @
20c6885c
...
@@ -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
,
0
,
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
:
Is
CanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
)
return
c
:
IsSetCard
(
0x202
)
and
c
:
Is
Type
(
TYPE_MONSTER
)
end
end
\ No newline at end of file
c10203007.lua
View file @
20c6885c
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 @
20c6885c
...
@@ -9,5 +9,5 @@ end
...
@@ -9,5 +9,5 @@ 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
vgf
.
Call
(
c
,
0
,
tp
)
vgf
.
Sendto
(
LOCATION_MZONE
,
c
,
0
,
tp
)
end
end
\ No newline at end of file
c10203016.lua
View file @
20c6885c
...
@@ -5,14 +5,14 @@ function cm.initial_effect(c)
...
@@ -5,14 +5,14 @@ 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
Duel
.
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
Duel
.
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
=
Duel
.
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
)
...
@@ -20,7 +20,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -20,7 +20,7 @@ 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
,
0
,
1
,
nil
)
local
sg
=
g
:
FilterSelect
(
tp
,
cm
.
filter
,
0
,
1
,
nil
)
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
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg
)
else
else
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
...
@@ -28,5 +28,5 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -28,5 +28,5 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
c
:
IsLevelAbove
(
3
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsAbleToHand
()
return
c
:
IsLevelAbove
(
3
)
and
c
:
IsType
(
TYPE_MONSTER
)
end
end
\ No newline at end of file
c10203018.lua
View file @
20c6885c
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
),
vgf
.
DamageCost
(
1
),
cm
.
condition
)
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 @
20c6885c
...
@@ -17,13 +17,12 @@ function cm.condition(e,tp,eg,ep,ev,re,r,rp)
...
@@ -17,13 +17,12 @@ 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
)
Duel
.
HintSelection
(
g
)
Duel
.
HintSelection
(
g
)
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_HAND
,
g
,
nil
,
REASON_EFFECT
)
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
vgf
.
RMonsterFilter
(
c
)
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 +34,16 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
...
@@ -35,17 +34,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
,
Card
.
IsType
,
tp
,
LOCATION_HAND
,
0
,
0
,
ct
,
nil
,
TYPE_MONSTER
)
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
Duel
.
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
(
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 +54,9 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
...
@@ -56,9 +54,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
Duel
.
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
(
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 @
20c6885c
...
@@ -6,13 +6,12 @@ function cm.initial_effect(c)
...
@@ -6,13 +6,12 @@ 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
)
Duel
.
HintSelection
(
g
)
Duel
.
HintSelection
(
g
)
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_HAND
,
g
,
nil
,
REASON_EFFECT
)
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
vgf
.
RMonsterFilter
(
c
)
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
Duel
.
IsExistingMatchingCard
(
cm
.
cfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
e
:
GetHandler
())
and
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
and
vgf
.
RMonsterCondition
(
e
)
...
...
c10301003.lua
View file @
20c6885c
...
@@ -15,13 +15,12 @@ end
...
@@ -15,13 +15,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
()
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
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
filter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
HintSelection
(
g
)
Duel
.
HintSelection
(
g
)
vgf
.
Call
(
g
,
0
,
tp
,
nil
,
POS_FACEUP_DEFENSE
)
vgf
.
Sendto
(
LOCATION_MZONE
,
g
,
0
,
tp
,
nil
,
POS_FACEUP_DEFENSE
)
end
end
function
cm
.
filter
(
c
,
e
,
tp
)
function
cm
.
filter
(
c
)
return
c
:
IsLevel
(
c
,
0
,
1
)
and
c
:
Is
CanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
return
c
:
IsLevel
(
c
,
0
,
1
)
and
c
:
Is
Type
(
TYPE_MONSTER
)
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
()
...
...
c10301009.lua
View file @
20c6885c
...
@@ -11,25 +11,19 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -11,25 +11,19 @@ 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
=
tc
:
IsType
(
TYPE_MONSTERS
)
and
vgf
.
GetAvailableLocation
(
tp
)
>
0
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
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DISCARD
)
local
tg
=
vgf
.
SelectMatchingCard
(
HINTMSG_DISCARD
,
e
,
tp
,
nil
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
)
local
tg
=
Duel
.
SelectMatchingCard
(
tp
,
Card
.
IsDiscardable
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_DROP
,
tg
,
REASON_COST
)
Duel
.
SendtoGrave
(
tg
,
REASON_COST
)
end
end
end
end
\ No newline at end of file
c10301015.lua
View file @
20c6885c
...
@@ -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 @
20c6885c
--能量发生器
--能量发生器
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,7 +35,7 @@ function cm.op1(e,tp,eg,ep,ev,re,r,rp)
...
@@ -35,7 +35,7 @@ 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
)
...
@@ -45,7 +45,7 @@ function cm.op2(e,tp,eg,ep,ev,re,r,rp)
...
@@ -45,7 +45,7 @@ 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
Duel
.
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 @
20c6885c
...
@@ -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 @
20c6885c
...
@@ -7,8 +7,7 @@ function cm.initial_effect(c)
...
@@ -7,8 +7,7 @@ function cm.initial_effect(c)
end
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
2
,
nil
)
end
if
chk
==
0
then
return
Duel
.
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
.
Is
CanBeSpecialSummoned
,
0
,
ct1
,
nil
)
local
sg
=
g
:
FilterSelect
(
tp
,
Card
.
Is
Type
,
0
,
ct1
,
nil
,
TYPE_MONSTER
)
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 @
20c6885c
...
@@ -16,23 +16,11 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -16,23 +16,11 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local
g2
=
Duel
.
GetMatchingGroup
(
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
local
g2
=
Duel
.
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
.
Is
CanBeSpecialSummoned
,
tp
,
0
,
2
,
nil
,
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
local
g
=
tc1
:
GetOverlayGroup
():
FilterSelect
(
tp
,
Card
.
Is
Type
,
tp
,
0
,
2
,
nil
,
TYPE_MONSTER
)
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 @
20c6885c
...
@@ -20,10 +20,9 @@ function cm.con1(e,tp,eg,ep,ev,re,r,rp)
...
@@ -20,10 +20,9 @@ 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
)
if
g
then
if
g
then
Duel
.
HintSelection
(
g
)
Duel
.
HintSelection
(
g
)
Duel
.
SendtoGrave
(
g
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
end
end
end
end
\ No newline at end of file
c10401021.lua
View file @
20c6885c
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
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
(
SupportFlag
)
>
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
end
\ No newline at end of file
c10401024.lua
View file @
20c6885c
...
@@ -12,7 +12,7 @@ end
...
@@ -12,7 +12,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
()
vgf
.
SearchCard
SpecialSummonOP
(
LOCATION_DROP
,
cm
.
fliter2
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
vgf
.
SearchCard
(
LOCATION_MZONE
,
LOCATION_DROP
,
cm
.
fliter2
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetOperatedGroup
()
local
g
=
Duel
.
GetOperatedGroup
()
vgf
.
AtkUp
(
c
,
g
,
5000
)
vgf
.
AtkUp
(
c
,
g
,
5000
)
end
end
...
@@ -22,7 +22,7 @@ function cm.fliter2(c)
...
@@ -22,7 +22,7 @@ function cm.fliter2(c)
end
end
--计数爆发1,灵魂爆发1
--计数爆发1,灵魂爆发1
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
vgf
.
DamageCost
OP
(
1
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
0
)
and
vgf
.
OverlayCostOP
(
1
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
0
)
end
if
chk
==
0
then
return
vgf
.
DamageCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
0
)
and
vgf
.
OverlayCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
0
)
end
vgf
.
DamageCost
OP
(
1
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
1
)
vgf
.
DamageCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
1
)
vgf
.
OverlayCost
OP
(
1
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
1
)
vgf
.
OverlayCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
1
)
end
end
c10401025.lua
View file @
20c6885c
...
@@ -3,23 +3,21 @@ local cm,m,o=GetID()
...
@@ -3,23 +3,21 @@ 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张卡,回复!
--追加效果——抽1张卡!选择你的1个单位,这个回合中,☆+1!将当前存在于前列的你所有的单位的力量+10000!你的伤害区中的卡的张数在对手的伤害区中的卡的张数以上的话,选择你的伤害区中的1张卡,回复!
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
.
Draw
(
tp
,
1
,
REASON_TRIGGER
)
Duel
.
Draw
(
tp
,
1
,
REASON_TRIGGER
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CRITICAL_STRIKE
)
local
g1
=
vgf
.
SelectMatchingCard
(
HINTMSG_CRITICAL_STRIKE
,
e
,
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
)
VgF
.
StarUp
(
c
,
g1
,
1
,
nil
)
vgf
.
StarUp
(
c
,
g1
,
1
,
nil
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATKUP
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATKUP
)
local
g2
=
Duel
.
GetMatchingGroup
(
VgF
.
IsSequence
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
0
,
4
,
5
)
local
g2
=
Duel
.
GetMatchingGroup
(
vgf
.
IsSequence
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
0
,
4
,
5
)
VgF
.
AtkUp
(
c
,
g2
,
10000
,
nil
)
vgf
.
AtkUp
(
c
,
g2
,
10000
,
nil
)
if
Duel
.
GetMatchingGroupCount
(
nil
,
tp
,
LOCATION_DAMAGE
,
0
,
nil
)
>=
Duel
.
GetMatchingGroupCount
(
nil
,
tp
,
0
,
LOCATION_DAMAGE
,
nil
)
then
if
Duel
.
GetMatchingGroupCount
(
nil
,
tp
,
LOCATION_DAMAGE
,
0
,
nil
)
>=
Duel
.
GetMatchingGroupCount
(
nil
,
tp
,
0
,
LOCATION_DAMAGE
,
nil
)
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODROP
)
local
tc
=
vgf
.
SelectMatchingCard
(
HINTMSG_TODROP
,
e
,
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
)
end
end
end
end
end
end
\ No newline at end of file
c10401026.lua
View file @
20c6885c
...
@@ -8,20 +8,19 @@ function cm.initial_effect(c)
...
@@ -8,20 +8,19 @@ function cm.initial_effect(c)
end
end
function
cm
.
condition2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
Duel
.
GetAttacker
()
local
c
=
Duel
.
GetAttacker
()
return
vgf
.
RMonsterCondition
(
e
)
and
Duel
.
GetMatchingGroupCount
(
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
<=
2
and
VgF
.
VMonsterFilter
(
c
)
return
vgf
.
RMonsterCondition
(
e
)
and
Duel
.
GetMatchingGroupCount
(
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_MZONE
,
nil
)
<=
2
and
vgf
.
VMonsterFilter
(
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
=
Duel
.
GetMatchingGroup
(
vgf
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
()
Duel
.
Overlay
(
rc
,
c
)
vgf
.
Sendto
(
LOCATION_OVERLAY
,
c
,
r
c
)
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_CRITICAL_STRIKE
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_CRITICAL_STRIKE
,
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
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
local
e1
=
VgF
.
StarUp
(
c
,
g
,
1
,
nil
)
local
e1
=
vgf
.
StarUp
(
c
,
g
,
1
,
nil
)
vgf
.
EffectReset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
EffectReset
(
c
,
e1
,
EVENT_BATTLED
)
end
end
end
end
\ No newline at end of file
c10401027.lua
View file @
20c6885c
...
@@ -10,15 +10,14 @@ function cm.initial_effect(c)
...
@@ -10,15 +10,14 @@ 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
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_XMATERIAL
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_XMATERIAL
,
e
,
tp
,
nil
,
tp
,
LOCATION_DROP
,
0
,
0
,
1
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
nil
,
tp
,
LOCATION_GRAVE
,
0
,
0
,
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
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
()
vgf
.
OverlayFill
OP
(
1
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
1
)
vgf
.
OverlayFill
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
1
)
local
e1
=
vgf
.
AtkUp
(
c
,
c
,
5000
)
local
e1
=
vgf
.
AtkUp
(
c
,
c
,
5000
)
vgf
.
EffectReset
(
c
,
e1
,
EVENT_BATTLED
)
vgf
.
EffectReset
(
c
,
e1
,
EVENT_BATTLED
)
end
end
...
...
c10401028.lua
View file @
20c6885c
...
@@ -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时,通过【费用】[计数爆发2],灵魂填充1,选择对手的1张后防者,退场。
--【自】:这个单位登场到R时,通过【费用】[计数爆发2],灵魂填充1,选择对手的1张后防者,退场。
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
VgF
.
DamageCost
(
2
),
cm
.
condition
)
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
vgf
.
DamageCost
(
2
),
cm
.
condition
)
end
end
--这个单位从手牌登场到R时
--这个单位从手牌登场到R时
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
@@ -12,10 +12,9 @@ function cm.condition(e,tp,eg,ep,ev,re,r,rp)
...
@@ -12,10 +12,9 @@ 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
.
OverlayFillOP
(
1
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
vgf
.
OverlayFill
(
1
)(
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
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoGrave
(
g
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
end
end
end
end
c10401029.lua
View file @
20c6885c
...
@@ -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张卡舍弃],抽1张卡。
--【自】【R】:这个单位的攻击击中时,通过【费用】[将手牌中的1张卡舍弃],抽1张卡。
vgd
.
EffectTypeTriggerWhenHitting
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
cm
.
operation
,
VgF
.
DisCardCost
(
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
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
...
...
c10401030.lua
View file @
20c6885c
...
@@ -7,9 +7,9 @@ function cm.initial_effect(c)
...
@@ -7,9 +7,9 @@ function cm.initial_effect(c)
end
end
--计数爆发1,灵魂爆发1
--计数爆发1,灵魂爆发1
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
vgf
.
DamageCost
OP
(
1
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
0
)
and
vgf
.
OverlayCostOP
(
1
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
0
)
end
if
chk
==
0
then
return
vgf
.
DamageCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
0
)
and
vgf
.
OverlayCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
0
)
end
vgf
.
DamageCost
OP
(
1
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
1
)
vgf
.
DamageCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
1
)
vgf
.
OverlayCost
OP
(
1
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
1
)
vgf
.
OverlayCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
1
)
end
end
--选择对手的1张等级2以上的后防者
--选择对手的1张等级2以上的后防者
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
@@ -18,10 +18,9 @@ function cm.condition(e,tp,eg,ep,ev,re,r,rp)
...
@@ -18,10 +18,9 @@ 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_LEAVEONFIELD
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_LEAVEONFIELD
,
e
,
tp
,
cm
.
fliter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectTarget
(
tp
,
cm
.
fliter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoGrave
(
g
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
end
end
end
end
function
cm
.
fliter
(
c
)
function
cm
.
fliter
(
c
)
...
...
c10401031.lua
View file @
20c6885c
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
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
,
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
(
DefenseEntirelyFlag
,
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
\ No newline at end of file
c10401032.lua
View file @
20c6885c
...
@@ -3,20 +3,20 @@ local cm,m,o=GetID()
...
@@ -3,20 +3,20 @@ local cm,m,o=GetID()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgf
.
VgCard
(
c
)
vgf
.
VgCard
(
c
)
--【自】:这个单位登场到R时,你有「重力的支配者 磁力重压」的先导者的话,灵魂填充2。
--【自】:这个单位登场到R时,你有「重力的支配者 磁力重压」的先导者的话,灵魂填充2。
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
VgF
.
OverlayFill
(
2
),
nil
,
cm
.
condition
)
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
vgf
.
OverlayFill
(
2
),
nil
,
cm
.
condition
)
--【起】【R】:你的灵魂在10张以上的话,通过【费用】[计数爆发2],这个回合中,将当前存在于前列的你所有的单位的力量+5000。
--【起】【R】:你的灵魂在10张以上的话,通过【费用】[计数爆发2],这个回合中,将当前存在于前列的你所有的单位的力量+5000。
vgd
.
EffectTypeIgnition
(
c
,
m
,
LOCATION_MZONE
,
cm
.
operation
,
VgF
.
DamageCost
(
2
),
cm
.
condition1
)
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
)
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
not
(
c
:
IsSummonType
(
SUMMON_TYPE_RIDE
)
or
c
:
IsSummonType
(
SUMMON_TYPE_SELFRIDE
))
and
VgF
.
GetVMonster
(
tp
):
IsCode
(
10401003
)
return
not
(
c
:
IsSummonType
(
SUMMON_TYPE_RIDE
)
or
c
:
IsSummonType
(
SUMMON_TYPE_SELFRIDE
))
and
vgf
.
GetVMonster
(
tp
):
IsCode
(
10401003
)
end
end
function
cm
.
condition1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
return
vgf
.
RMonsterCondition
(
e
)
and
VgF
.
GetVMonster
(
tp
):
GetOverlayCount
()
>=
10
return
vgf
.
RMonsterCondition
(
e
)
and
vgf
.
GetVMonster
(
tp
):
GetOverlayCount
()
>=
10
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g2
=
Duel
.
GetMatchingGroup
(
VgF
.
IsSequence
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
0
,
4
,
5
)
local
g2
=
Duel
.
GetMatchingGroup
(
vgf
.
IsSequence
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
0
,
4
,
5
)
VgF
.
AtkUp
(
c
,
g2
,
10000
,
nil
)
vgf
.
AtkUp
(
c
,
g2
,
10000
,
nil
)
end
end
\ No newline at end of file
c10401033.lua
View file @
20c6885c
...
@@ -5,25 +5,25 @@ function cm.initial_effect(c)
...
@@ -5,25 +5,25 @@ function cm.initial_effect(c)
--【自】:这个单位被「重力的支配者 磁力重压」RIDE时,通过【费用】[将手牌中的1张卡放置到灵魂里],抽1张卡,灵魂填充1。
--【自】:这个单位被「重力的支配者 磁力重压」RIDE时,通过【费用】[将手牌中的1张卡放置到灵魂里],抽1张卡,灵魂填充1。
vgd
.
BeRidedByCard
(
c
,
m
,
10401003
,
cm
.
operation
,
cm
.
cost
)
vgd
.
BeRidedByCard
(
c
,
m
,
10401003
,
cm
.
operation
,
cm
.
cost
)
--【自】:这个单位登场到R时,通过【费用】[计数爆发1],灵魂填充2。
--【自】:这个单位登场到R时,通过【费用】[计数爆发1],灵魂填充2。
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation1
,
VgF
.
DamageCost
(
1
),
cm
.
condition
)
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
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
VgF
.
OverlayFillOP
(
1
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
1
)
vgf
.
OverlayFill
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
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
.
GetMatchingGroupCount
(
nil
,
tp
,
0
,
LOCATION_HAND
,
nil
)
>=
1
end
if
chk
==
0
then
return
Duel
.
GetMatchingGroupCount
(
nil
,
tp
,
0
,
LOCATION_HAND
,
nil
)
>=
1
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
g
=
Duel
.
SelectMatchingCard
(
tp
,
nil
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_OVERLAY
,
e
,
tp
,
nil
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
e
,
tp
)
Duel
.
HintSelection
(
g
)
Duel
.
HintSelection
(
g
)
Duel
.
Overlay
(
rc
,
g
)
vgf
.
Sendto
(
LOCATION_OVERLAY
,
g
,
rc
)
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
not
(
c
:
IsSummonType
(
SUMMON_TYPE_RIDE
)
or
c
:
IsSummonType
(
SUMMON_TYPE_SELFRIDE
))
return
not
(
c
:
IsSummonType
(
SUMMON_TYPE_RIDE
)
or
c
:
IsSummonType
(
SUMMON_TYPE_SELFRIDE
))
end
end
function
cm
.
operation1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
vgf
.
OverlayFill
OP
(
2
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
1
)
vgf
.
OverlayFill
(
2
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
1
)
end
end
\ No newline at end of file
c10401036.lua
View file @
20c6885c
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
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
(
DefenseEntirelyFlag
,
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
\ No newline at end of file
c10401037.lua
View file @
20c6885c
...
@@ -7,14 +7,14 @@ function cm.initial_effect(c)
...
@@ -7,14 +7,14 @@ 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
.
OverlayFill
OP
(
1
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
1
)
vgf
.
OverlayFill
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
1
)
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATKUP
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATKUP
)
local
e1
=
Duel
.
GetMatchingGroupCount
(
nil
,
tp
,
LOCATION_OVERLAY
,
0
,
nil
)
/
5
local
e1
=
Duel
.
GetMatchingGroupCount
(
nil
,
tp
,
LOCATION_OVERLAY
,
0
,
nil
)
/
5
local
e2
=
e1
*
10000
local
e2
=
e1
*
10000
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
nil
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
e
,
tp
,
nil
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
Duel
.
HintSelection
(
g
)
Duel
.
HintSelection
(
g
)
VgF
.
AtkUp
(
c
,
g
,
e2
,
nil
)
vgf
.
AtkUp
(
c
,
g
,
e2
,
nil
)
if
Duel
.
GetMatchingGroupCount
(
nil
,
tp
,
LOCATION_OVERLAY
,
0
,
nil
)
>=
10
then
if
Duel
.
GetMatchingGroupCount
(
nil
,
tp
,
LOCATION_OVERLAY
,
0
,
nil
)
>=
10
then
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
end
end
...
...
c10501001.lua
View file @
20c6885c
...
@@ -2,9 +2,9 @@
...
@@ -2,9 +2,9 @@
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
),
VgF
.
DamageCost
(
1
),
cm
.
con2
)
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。
-- 【自】【V】:这个单位的攻击击中时,抽1张卡,选择你的1张含有「诚意真心」的后防者,这个回合中,力量+5000。
vgd
.
EffectTypeTriggerWhenHitting
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
cm
.
operation1
,
nil
,
VgF
.
VMonsterCondition
)
vgd
.
EffectTypeTriggerWhenHitting
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
cm
.
operation1
,
nil
,
vgf
.
VMonsterCondition
)
end
end
function
cm
.
con2
(
e
)
function
cm
.
con2
(
e
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
@@ -18,7 +18,7 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
...
@@ -18,7 +18,7 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATKUP
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATKUP
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
e
,
tp
,
cm
.
filter1
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
vgf
.
AtkUp
(
c
,
g
,
5000
)
vgf
.
AtkUp
(
c
,
g
,
5000
)
end
end
...
...
c10501003.lua
View file @
20c6885c
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
.
op2
,
nil
,
cm
.
con2
)
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
.
HintSelection
(
g
)
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
Duel
.
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
.
HintSelection
(
g
)
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
end
\ No newline at end of file
c10501020.lua
View file @
20c6885c
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
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
end
\ No newline at end of file
c10501036.lua
View file @
20c6885c
...
@@ -5,7 +5,7 @@ function cm.initial_effect(c)
...
@@ -5,7 +5,7 @@ function cm.initial_effect(c)
-- 【永】【V】:你的回合中,你没有后防者的话,这个单位的力量+5000。
-- 【永】【V】:你的回合中,你没有后防者的话,这个单位的力量+5000。
vgd
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_SINGLE
,
5000
,
cm
.
con1
)
vgd
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_SINGLE
,
5000
,
cm
.
con1
)
--【自】:通过在「认真的挑战者 克拉莉萨」上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
)
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
()
...
@@ -24,7 +24,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -24,7 +24,7 @@ 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
,
0
,
1
,
nil
)
local
sg
=
g
:
FilterSelect
(
tp
,
cm
.
filter
,
0
,
1
,
nil
)
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
.
ConfirmCards
(
1
-
tp
,
sg
)
Duel
.
ShuffleHand
(
tp
)
Duel
.
ShuffleHand
(
tp
)
g
:
RemoveCard
(
vgf
.
ReturnCard
(
sg
))
g
:
RemoveCard
(
vgf
.
ReturnCard
(
sg
))
...
@@ -35,7 +35,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -35,7 +35,7 @@ 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
(
0xb6
)
and
c
:
IsLevelBelow
(
3
)
and
c
:
IsAbleToHand
()
return
c
:
IsSetCard
(
0xb6
)
and
c
:
IsLevelBelow
(
3
)
end
end
c10501038.lua
View file @
20c6885c
...
@@ -4,7 +4,7 @@ function cm.initial_effect(c)
...
@@ -4,7 +4,7 @@ function cm.initial_effect(c)
vgf
.
VgCard
(
c
)
vgf
.
VgCard
(
c
)
-- 【永】【V】:【永】【V】:你的回合中,你的指令区中有正面表示的歌曲卡的话,这个单位的力量+5000。
-- 【永】【V】:【永】【V】:你的回合中,你的指令区中有正面表示的歌曲卡的话,这个单位的力量+5000。
VgD
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_SINGLE
,
5000
,
cm
.
con1
)
vgd
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_SINGLE
,
5000
,
cm
.
con1
)
-- 【自】:这个单位被RIDE时,选择你的牌堆或手牌中的至多1张等级2的歌曲卡,公开后放置到指令区,从牌堆探寻了的话,牌堆洗切。从手牌放置了的话,抽卡1张。
-- 【自】:这个单位被RIDE时,选择你的牌堆或手牌中的至多1张等级2的歌曲卡,公开后放置到指令区,从牌堆探寻了的话,牌堆洗切。从手牌放置了的话,抽卡1张。
vgd
.
BeRidedByCard
(
c
,
m
,
nil
,
cm
.
operation
)
vgd
.
BeRidedByCard
(
c
,
m
,
nil
,
cm
.
operation
)
end
end
...
@@ -20,12 +20,11 @@ function cm.filter1(c)
...
@@ -20,12 +20,11 @@ function cm.filter1(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
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOFIELD
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_TOFIELD
,
e
,
tp
,
cm
.
filter
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
,
0
,
0
,
1
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
filter
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
,
0
,
0
,
1
,
nil
)
if
#
g
>
0
then
if
#
g
>
0
then
local
tc
=
g
:
GetFirst
()
local
tc
=
g
:
GetFirst
()
local
chk
=
tc
:
IsLocation
(
LOCATION_HAND
)
local
chk
=
tc
:
IsLocation
(
LOCATION_HAND
)
Duel
.
Sendto
(
tc
,
tp
,
LOCATION_ORDER
,
POS_FACEUP_ATTACK
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_ORDER
,
tc
,
tp
,
POS_FACEUP_ATTACK
,
REASON_EFFECT
)
Duel
.
ShuffleDeck
(
tp
)
Duel
.
ShuffleDeck
(
tp
)
if
chk
then
if
chk
then
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
...
@@ -33,7 +32,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -33,7 +32,7 @@ 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
(
0xa040
)
and
c
:
IsAbleToHand
()
and
vgf
.
IsLevel
(
c
,
2
)
return
c
:
IsSetCard
(
0xa040
)
and
vgf
.
IsLevel
(
c
,
2
)
end
end
...
...
c10501080.lua
View file @
20c6885c
...
@@ -4,7 +4,7 @@ local cm,m,o=GetID()
...
@@ -4,7 +4,7 @@ local cm,m,o=GetID()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgf
.
VgCard
(
c
)
vgf
.
VgCard
(
c
)
-- 【永】【R】:你的回合中,你的指令区中有2张以上的卡的话,这个单位的力量+5000。
-- 【永】【R】:你的回合中,你的指令区中有2张以上的卡的话,这个单位的力量+5000。
VgD
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_SINGLE
,
5000
,
cm
.
con1
)
vgd
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_SINGLE
,
5000
,
cm
.
con1
)
end
end
function
cm
.
con1
(
e
)
function
cm
.
con1
(
e
)
...
...
c10501084.lua
View file @
20c6885c
...
@@ -7,12 +7,11 @@ function cm.initial_effect(c)
...
@@ -7,12 +7,11 @@ function cm.initial_effect(c)
vgd
.
BeRidedByCard
(
c
,
m
,
nil
,
cm
.
operation
,
nil
,
nil
)
vgd
.
BeRidedByCard
(
c
,
m
,
nil
,
cm
.
operation
,
nil
,
nil
)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOFIELD
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_TOFIELD
,
e
,
tp
,
cm
.
filter
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
,
0
,
0
,
1
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
filter
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
,
0
,
0
,
1
,
nil
)
if
#
g
>
0
then
if
#
g
>
0
then
local
tc
=
g
:
GetFirst
()
local
tc
=
g
:
GetFirst
()
local
chk
=
tc
:
IsLocation
(
LOCATION_HAND
)
local
chk
=
tc
:
IsLocation
(
LOCATION_HAND
)
Duel
.
Sendto
(
tc
,
tp
,
LOCATION_ORDER
,
POS_FACEUP_ATTACK
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_ORDER
,
tc
,
tp
,
POS_FACEUP_ATTACK
,
REASON_EFFECT
)
Duel
.
ShuffleDeck
(
tp
)
Duel
.
ShuffleDeck
(
tp
)
if
chk
then
if
chk
then
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
...
@@ -20,5 +19,5 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -20,5 +19,5 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
c
:
IsSetCard
(
0xa040
)
and
c
:
IsAbleToHand
()
and
vgf
.
IsLevel
(
c
,
1
)
return
c
:
IsSetCard
(
0xa040
)
and
vgf
.
IsLevel
(
c
,
1
)
end
end
\ No newline at end of file
c10501090.lua
View file @
20c6885c
...
@@ -24,7 +24,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -24,7 +24,7 @@ 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
,
0
,
1
,
nil
)
local
sg
=
g
:
FilterSelect
(
tp
,
cm
.
filter
,
0
,
1
,
nil
)
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
.
ConfirmCards
(
1
-
tp
,
sg
)
Duel
.
ShuffleHand
(
tp
)
Duel
.
ShuffleHand
(
tp
)
g
:
RemoveCard
(
vgf
.
ReturnCard
(
sg
))
g
:
RemoveCard
(
vgf
.
ReturnCard
(
sg
))
...
@@ -35,5 +35,5 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -35,5 +35,5 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
return
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
c10501120.lua
View file @
20c6885c
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
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
end
\ No newline at end of file
c10800855.lua
View file @
20c6885c
--能量发生器
--能量发生器
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,7 +39,7 @@ function cm.op1(e,tp,eg,ep,ev,re,r,rp)
...
@@ -39,7 +39,7 @@ 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
Duel
.
GetMatchingGroupCount
(
Card
.
IsCode
,
tp
,
LOCATION_EMBLEM
,
0
,
nil
,
code
)
<
10
...
@@ -55,8 +55,8 @@ function cm.op2(e,tp,eg,ep,ev,re,r,rp)
...
@@ -55,8 +55,8 @@ function cm.op2(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
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 @
20c6885c
...
@@ -10,7 +10,7 @@ end
...
@@ -10,7 +10,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
()
vgf
.
SearchCard
OP
(
LOCATION_DECK
,
cm
.
fliter
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
vgf
.
SearchCard
(
LOCATION_HAND
,
LOCATION_DECK
,
cm
.
fliter
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
vgf
.
AtkUp
(
c
,
c
,
10000
,
nil
)
vgf
.
AtkUp
(
c
,
c
,
10000
,
nil
)
end
end
--返回效果一寻找卡密
--返回效果一寻找卡密
...
@@ -25,12 +25,11 @@ end
...
@@ -25,12 +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
()
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
)
if
g
then
if
g
then
Duel
.
HintSelection
(
g
)
Duel
.
HintSelection
(
g
)
Duel
.
SendtoGrave
(
g
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_DROP
,
g
,
REASON_EFFECT
)
end
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
c20104001.lua
View file @
20c6885c
...
@@ -10,7 +10,7 @@ end
...
@@ -10,7 +10,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
()
vgf
.
SearchCard
OP
(
LOCATION_DECK
,
cm
.
fliter
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
vgf
.
SearchCard
(
LOCATION_HAND
,
LOCATION_DECK
,
cm
.
fliter
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
vgf
.
AtkUp
(
c
,
c
,
10000
,
nil
)
vgf
.
AtkUp
(
c
,
c
,
10000
,
nil
)
end
end
--返回效果一寻找目标
--返回效果一寻找目标
...
@@ -25,7 +25,7 @@ end
...
@@ -25,7 +25,7 @@ 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
.
fliter2
)(
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
...
...
c20106001.lua
View file @
20c6885c
...
@@ -10,7 +10,7 @@ end
...
@@ -10,7 +10,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
()
vgf
.
SearchCard
OP
(
LOCATION_DECK
,
cm
.
fliter
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
vgf
.
SearchCard
(
LOCATION_HAND
,
LOCATION_DECK
,
cm
.
fliter
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
vgf
.
AtkUp
(
c
,
c
,
10000
,
nil
)
vgf
.
AtkUp
(
c
,
c
,
10000
,
nil
)
end
end
--返回找的卡密
--返回找的卡密
...
@@ -25,7 +25,7 @@ end
...
@@ -25,7 +25,7 @@ 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
.
fliter2
)(
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
...
...
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