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
19fa379a
Commit
19fa379a
authored
Jun 09, 2024
by
jwyxym
Committed by
GitHub
Jun 09, 2024
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add files via upload
parent
8deb46a5
Changes
65
Hide whitespace changes
Inline
Side-by-side
Showing
65 changed files
with
310 additions
and
281 deletions
+310
-281
VgD.Lua
VgD.Lua
+44
-44
VgFuncLib.lua
VgFuncLib.lua
+74
-25
c10000113.lua
c10000113.lua
+2
-2
c10101006.lua
c10101006.lua
+5
-5
c10101010.lua
c10101010.lua
+1
-1
c10101015.lua
c10101015.lua
+1
-1
c10102002.lua
c10102002.lua
+3
-6
c10102003.lua
c10102003.lua
+2
-2
c10102008.lua
c10102008.lua
+1
-1
c10103002.lua
c10103002.lua
+1
-1
c10103003.lua
c10103003.lua
+3
-3
c10103005.lua
c10103005.lua
+1
-1
c10103006.lua
c10103006.lua
+5
-5
c10103012.lua
c10103012.lua
+1
-1
c10103015.lua
c10103015.lua
+2
-2
c10104002.lua
c10104002.lua
+3
-3
c10104003.lua
c10104003.lua
+3
-3
c10104007.lua
c10104007.lua
+3
-3
c10104008.lua
c10104008.lua
+3
-3
c10105003.lua
c10105003.lua
+3
-3
c10105015.lua
c10105015.lua
+7
-7
c10202001.lua
c10202001.lua
+4
-4
c10202002.lua
c10202002.lua
+1
-1
c10202003.lua
c10202003.lua
+7
-8
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
+4
-4
c10202016.lua
c10202016.lua
+3
-3
c10202017.lua
c10202017.lua
+2
-2
c10203001.lua
c10203001.lua
+4
-4
c10203002.lua
c10203002.lua
+2
-2
c10203003.lua
c10203003.lua
+5
-5
c10203005.lua
c10203005.lua
+1
-2
c10203007.lua
c10203007.lua
+2
-2
c10203016.lua
c10203016.lua
+6
-6
c10301001.lua
c10301001.lua
+9
-9
c10301002.lua
c10301002.lua
+2
-2
c10301003.lua
c10301003.lua
+3
-3
c10301009.lua
c10301009.lua
+5
-10
c10400855.lua
c10400855.lua
+4
-4
c10401002.lua
c10401002.lua
+5
-5
c10401003.lua
c10401003.lua
+3
-15
c10401004.lua
c10401004.lua
+2
-2
c10401021.lua
c10401021.lua
+2
-2
c10401025.lua
c10401025.lua
+5
-5
c10401026.lua
c10401026.lua
+5
-5
c10401027.lua
c10401027.lua
+1
-1
c10401028.lua
c10401028.lua
+3
-3
c10401029.lua
c10401029.lua
+1
-1
c10401030.lua
c10401030.lua
+2
-2
c10401031.lua
c10401031.lua
+2
-2
c10401032.lua
c10401032.lua
+6
-6
c10401033.lua
c10401033.lua
+5
-5
c10401036.lua
c10401036.lua
+2
-2
c10401037.lua
c10401037.lua
+1
-1
c10501001.lua
c10501001.lua
+2
-2
c10501036.lua
c10501036.lua
+3
-3
c10501038.lua
c10501038.lua
+3
-3
c10501080.lua
c10501080.lua
+1
-1
c10501084.lua
c10501084.lua
+2
-2
c10501090.lua
c10501090.lua
+2
-2
c10800855.lua
c10800855.lua
+5
-5
c20101001.lua
c20101001.lua
+3
-3
No files found.
VgD.Lua
View file @
19fa379a
...
@@ -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
)))
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_GRAVE
,
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
.
Call
(
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,10 +96,10 @@ function VgD.RideUpOperation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -96,10 +96,10 @@ 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
.
Call
(
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
)
...
@@ -113,25 +113,22 @@ function VgD.RideUpOperation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -113,25 +113,22 @@ 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
.
Call
(
g
,
SUMMON_TYPE_RIDE
,
tp
,
0x20
)
end
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
--Call到R位
--Call到R位
function
VgD
.
CallToR
(
c
)
function
VgD
.
CallToR
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
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_GRAVE
,
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
--战斗阶段
--战斗阶段
...
@@ -388,7 +385,7 @@ end
...
@@ -388,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
()
...
@@ -444,13 +441,13 @@ function VgD.SupportValue(e)
...
@@ -444,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
...
@@ -474,23 +471,26 @@ function VgD.SendToGCondition(loc)
...
@@ -474,23 +471,26 @@ 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
.
IsAbleToGZone
(
c
,
loc
)
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
)
local
mg
=
c
:
GetOverlayGroup
()
if
mg
:
GetCount
()
>
0
then
g
:
Merge
(
mg
)
end
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_GRAVE
,
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
)
...
@@ -588,7 +588,7 @@ function VgD.CardTriggerOperation(chkop,f)
...
@@ -588,7 +588,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_GRAVE
,
tc
,
REASON_TRIGGER
)
Duel
.
Recover
(
tp
,
1
,
REASON_RULE
)
Duel
.
Recover
(
tp
,
1
,
REASON_RULE
)
end
end
end
end
...
@@ -603,9 +603,9 @@ function VgD.CardTriggerOperation(chkop,f)
...
@@ -603,9 +603,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
()
...
@@ -629,9 +629,9 @@ function VgD.CardTriggerOperation(chkop,f)
...
@@ -629,9 +629,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
)
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
()
...
@@ -797,7 +797,7 @@ function VgD.MixCostFilter(c,e,tp,eg,ep,ev,re,r,rp,mc)
...
@@ -797,7 +797,7 @@ 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
)
...
@@ -807,7 +807,7 @@ function VgD.MixCost(cost)
...
@@ -807,7 +807,7 @@ function VgD.MixCost(cost)
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_GRAVE
,
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
...
@@ -971,25 +971,25 @@ function VgD.QuickSpell(c,code,op,cost,con,tg)
...
@@ -971,25 +971,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
)
...
@@ -997,7 +997,7 @@ function VgD.ContinuousSpell(c,cost,con,tg)
...
@@ -997,7 +997,7 @@ 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
,
loc1
,
loc2
)
function
VgD
.
EffectTypeContinuousChangeAttack
(
c
,
typ
,
val
,
con
,
tg
,
mc
,
code
,
reset
,
loc
,
loc1
,
loc2
)
if
VgF
.
GetValueType
(
mc
)
~=
"Card"
then
mc
=
c
end
if
VgF
.
GetValueType
(
mc
)
~=
"Card"
then
mc
=
c
end
...
...
VgFuncLib.lua
View file @
19fa379a
...
@@ -329,13 +329,13 @@ function VgF.Call(g,sumtype,tp,zone,pos)
...
@@ -329,13 +329,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_GRAVE
,
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 +348,17 @@ function VgF.Call(g,sumtype,tp,zone,pos)
...
@@ -348,17 +348,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_GRAVE
,
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
)
...
@@ -527,14 +527,14 @@ function VgF.DisCardCostOP(num,e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -527,14 +527,14 @@ function VgF.DisCardCostOP(num,e,tp,eg,ep,ev,re,r,rp,chk)
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
)
VgF
.
Sendto
(
LOCATION_GRAVE
,
g
,
REASON_COST
+
REASON_DISCARD
)
return
Duel
.
GetOperatedGroup
():
GetCount
()
return
Duel
.
GetOperatedGroup
():
GetCount
()
end
end
---用于效果的Cost。它返回一个执行“【费用】[能量爆发num]”的函数。
---用于效果的Cost。它返回一个执行“【费用】[能量爆发num]”的函数。
...
@@ -558,7 +558,7 @@ function VgF.EnergyCostOP(num,e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -558,7 +558,7 @@ 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
)
VgF
.
Sendto
(
0
,
g
,
tp
,
POS_FACEUP
,
REASON_COST
)
return
Duel
.
GetOperatedGroup
():
GetCount
()
return
Duel
.
GetOperatedGroup
():
GetCount
()
end
end
---用于效果的Cost。它返回一个执行“【费用】[灵魂爆发num]”的函数。
---用于效果的Cost。它返回一个执行“【费用】[灵魂爆发num]”的函数。
...
@@ -575,14 +575,14 @@ function VgF.OverlayCostOP(num,e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -575,14 +575,14 @@ function VgF.OverlayCostOP(num,e,tp,eg,ep,ev,re,r,rp,chk)
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
():
GetOverlay
Group
():
FilterCount
(
Card
.
IsAbleToGraveAsCost
,
nil
)
>=
num
return
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
nil
):
GetFirst
():
GetOverlay
Count
(
)
>=
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
)
VgF
.
Sendto
(
LOCATION_GRAVE
,
g
,
REASON_COST
)
return
Duel
.
GetOperatedGroup
():
GetCount
()
return
Duel
.
GetOperatedGroup
():
GetCount
()
end
end
---用于效果的Cost或Operation。它返回一个执行“【费用】[灵魂填充num]”的函数。
---用于效果的Cost或Operation。它返回一个执行“【费用】[灵魂填充num]”的函数。
...
@@ -607,7 +607,7 @@ function VgF.OverlayFillOP(num,e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -607,7 +607,7 @@ 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
)
VgF
.
Sendto
(
LOCATION_OVERLAY
,
g
,
rc
)
return
Duel
.
GetOperatedGroup
():
GetCount
()
return
Duel
.
GetOperatedGroup
():
GetCount
()
end
end
---用于效果的Cost。它返回一个执行“【费用】[计数爆发num]”的函数。
---用于效果的Cost。它返回一个执行“【费用】[计数爆发num]”的函数。
...
@@ -648,10 +648,10 @@ function VgF.SearchCardOP(loc,f,e,tp,eg,ep,ev,re,r,rp)
...
@@ -648,10 +648,10 @@ function VgF.SearchCardOP(loc,f,e,tp,eg,ep,ev,re,r,rp)
if
not
loc
then
return
end
if
not
loc
then
return
end
local
g
=
VgF
.
SelectMatchingCard
(
HINTMSG_ATOHAND
,
e
,
tp
,
function
(
c
)
local
g
=
VgF
.
SelectMatchingCard
(
HINTMSG_ATOHAND
,
e
,
tp
,
function
(
c
)
if
VgF
.
GetValueType
(
f
)
==
"function"
and
not
f
(
c
)
then
return
false
end
if
VgF
.
GetValueType
(
f
)
==
"function"
and
not
f
(
c
)
then
return
false
end
return
c
:
IsAbleToHand
()
return
true
end
,
tp
,
loc
,
0
,
1
,
1
,
nil
)
end
,
tp
,
loc
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
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
local
sg
=
Duel
.
GetOperatedGroup
()
local
sg
=
Duel
.
GetOperatedGroup
()
...
@@ -671,7 +671,7 @@ function VgF.SearchCardSpecialSummonOP(loc,f,e,tp,eg,ep,ev,re,r,rp)
...
@@ -671,7 +671,7 @@ function VgF.SearchCardSpecialSummonOP(loc,f,e,tp,eg,ep,ev,re,r,rp)
if
not
loc
then
return
end
if
not
loc
then
return
end
local
g
=
VgF
.
SelectMatchingCard
(
HINTMSG_CALL
,
e
,
tp
,
function
(
c
)
local
g
=
VgF
.
SelectMatchingCard
(
HINTMSG_CALL
,
e
,
tp
,
function
(
c
)
if
VgF
.
GetValueType
(
f
)
==
"function"
and
not
f
(
c
)
then
return
false
end
if
VgF
.
GetValueType
(
f
)
==
"function"
and
not
f
(
c
)
then
return
false
end
return
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
return
true
end
,
tp
,
loc
,
0
,
1
,
1
,
nil
)
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
if
loc
&
LOCATION_DECK
+
LOCATION_HAND
+
LOCATION_EXTRA
==
0
then
Duel
.
HintSelection
(
g
)
end
...
@@ -740,12 +740,12 @@ function VgF.SendtoPrison(g,p)
...
@@ -740,12 +740,12 @@ 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
)
...
@@ -765,11 +765,11 @@ function VgF.SendtoPrison(g,p)
...
@@ -765,11 +765,11 @@ function VgF.SendtoPrison(g,p)
local oc=og:Filter(VgF.PrisonFilter,nil,p):GetFirst()
local oc=og:Filter(VgF.PrisonFilter,nil,p):GetFirst()
if VgF.GetValueType(g)=="Card" then
if VgF.GetValueType(g)=="Card" then
Duel.Sendto(g,p,LOCATION_ORDER,POS_FACEUP_ATTACK,REASON_EFFECT,1)
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))
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,1)
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))
tc:RegisterFlagEffect(ImprisonFlag,RESET_EVENT+RESETS_STANDARD,EFFECT_FLAG_CLIENT_HINT,1,0,
VgF
.Stringid(10105015,0))
end
end
end
end
end]]
end]]
...
@@ -840,4 +840,53 @@ function VgF.SelectMatchingCard(hintmsg,e,select_tp,f,tp,loc_self,loc_op,int_min
...
@@ -840,4 +840,53 @@ function VgF.SelectMatchingCard(hintmsg,e,select_tp,f,tp,loc_self,loc_op,int_min
end
end
if
a
then
Duel
.
ShuffleDeck
(
select_tp
)
end
if
a
then
Duel
.
ShuffleDeck
(
select_tp
)
end
return
g
return
g
end
function
VgF
.
Sendto
(
loc
,
sg
,
...
)
local
function
AddOverlayGroup
(
g
)
for
tc
in
VgF
.
Next
(
sg
)
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
)
end
if
loc
==
LOCATION_GRAVE
then
AddOverlayGroup
(
g
)
return
Duel
.
SendtoGrave
(
g
,
...
)
elseif
loc
==
LOCATION_DECK
then
return
Duel
.
SendtoDeck
(
g
,
...
)
elseif
loc
==
LOCATION_HAND
then
return
Duel
.
SendtoHand
(
g
,
...
)
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
local
tc
=
VgF
.
ReturnCard
(
sg
)
local
list
=
{
...
}
local
c
=
list
[
1
]
Duel
.
Overlay
(
c
,
tc
)
elseif
loc
==
LOCATION_TRIGGER
then
local
tc
=
VgF
.
ReturnCard
(
sg
)
Duel
.
MoveToField
(
tc
,
...
)
else
local
loclist
=
{
LOCATION_GZONE
,
LOCATION_ORDER
,
LOCATION_DAMAGE
,
LOCATION_SPARE
,
LOCATION_EMBLEM
}
for
i
,
v
in
ipairs
{
loclist
}
do
if
loc
==
v
then
AddOverlayGroup
(
g
)
local
list
=
{
...
}
local
tp
=
list
[
1
]
table.remove
(
list
,
1
)
return
Duel
.
Sendto
(
g
,
tp
,
loc
,
...
)
end
end
end
end
end
\ No newline at end of file
c10000113.lua
View file @
19fa379a
...
@@ -9,7 +9,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -9,7 +9,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
local
g
=
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_GRAVE
,
g
,
REASON_EFFECT
+
REASON_DISCARD
)
end
end
end
end
\ No newline at end of file
c10101006.lua
View file @
19fa379a
...
@@ -9,13 +9,13 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -9,13 +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_GRAVE
,
cg
,
REASON_COST
)
==
2
then
local
g
=
VgF
.
SelectMatchingCard
(
HINTMSG_LEAVEONFIELD
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_LEAVEONFIELD
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
if
g
then
if
g
then
Duel
.
HintSelection
(
g
)
Duel
.
HintSelection
(
g
)
Duel
.
SendtoGrave
(
g
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_GRAVE
,
g
,
REASON_EFFECT
)
end
end
end
end
end
end
...
...
c10101010.lua
View file @
19fa379a
...
@@ -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
.
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
()
...
...
c10101015.lua
View file @
19fa379a
...
@@ -8,7 +8,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -8,7 +8,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
e
,
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
,
5000
,
nil
)
vgf
.
AtkUp
(
c
,
g
,
5000
,
nil
)
vgf
.
SearchCardOP
(
LOCATION_DROP
,
cm
.
filter
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
vgf
.
SearchCardOP
(
LOCATION_DROP
,
cm
.
filter
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
)
...
...
c10102002.lua
View file @
19fa379a
...
@@ -14,14 +14,11 @@ end
...
@@ -14,14 +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
.
f
ilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
vgf
.
RMonsterF
ilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_XMATERIAL
,
e
,
tp
,
cm
.
f
ilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_XMATERIAL
,
e
,
tp
,
vgf
.
RMonsterF
ilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
Duel
.
Overlay
(
c
,
g
)
vgf
.
Sendto
(
LOCATION_OVERLAY
,
g
,
c
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
...
c10102003.lua
View file @
19fa379a
...
@@ -16,12 +16,12 @@ function cm.con2(e,tp,eg,ep,ev,re,r,rp)
...
@@ -16,12 +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
if
vgf
.
Call
(
g
,
0
,
tp
,
0x4
)
>
0
then
vgf
.
OverlayFillOP
(
num
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
vgf
.
OverlayFillOP
(
num
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
end
...
...
c10102008.lua
View file @
19fa379a
...
@@ -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
.
OverlayFillOP
(
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
)
...
...
c10103002.lua
View file @
19fa379a
--天枪的骑士 勒克斯
--天枪的骑士 勒克斯
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
)
...
...
c10103003.lua
View file @
19fa379a
...
@@ -15,10 +15,10 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -15,10 +15,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
.
Call
(
g
,
0
,
tp
)
else
if
tc
:
IsAbleToGrave
()
then
else
Duel
.
SendtoGrave
(
g
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_GRAVE
,
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
)
...
...
c10103005.lua
View file @
19fa379a
--激烈的魔女 拉玛娜
--激烈的魔女 拉玛娜
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 @
19fa379a
--斧钺的骑士 拉夫尔克
--斧钺的骑士 拉夫尔克
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
)
...
@@ -9,7 +9,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -9,7 +9,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
e
,
tp
,
cm
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
e
,
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
)
...
@@ -17,7 +17,7 @@ function cm.filter(c)
...
@@ -17,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 @
19fa379a
--天贯的骑士 加尔斯
--天贯的骑士 加尔斯
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 @
19fa379a
--圣裁之刻,来临
--圣裁之刻,来临
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
)
...
@@ -10,6 +10,6 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -10,6 +10,6 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
e
,
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
)
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
c10104002.lua
View file @
19fa379a
...
@@ -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
.
Call
(
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 @
19fa379a
...
@@ -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
.
Call
(
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 @
19fa379a
...
@@ -17,10 +17,10 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -17,10 +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
local
g1
=
vgf
.
SelectMatchingCard
(
HINTMSG_DAMAGE
,
e
,
tp
,
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
1
,
1
,
nil
)
local
g1
=
vgf
.
SelectMatchingCard
(
HINTMSG_DAMAGE
,
e
,
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_GRAVE
,
g2
,
REASON_COST
)
end
end
\ No newline at end of file
c10104008.lua
View file @
19fa379a
...
@@ -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
.
Call
(
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
c10105003.lua
View file @
19fa379a
...
@@ -22,10 +22,10 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
...
@@ -22,10 +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
local
g1
=
vgf
.
SelectMatchingCard
(
HINTMSG_DAMAGE
,
e
,
tp
,
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
1
,
1
,
nil
)
local
g1
=
vgf
.
SelectMatchingCard
(
HINTMSG_DAMAGE
,
e
,
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_GRAVE
,
g2
,
REASON_COST
)
end
end
\ No newline at end of file
c10105015.lua
View file @
19fa379a
...
@@ -9,24 +9,24 @@ function cm.con(e,tp,eg,ep,ev,re,r,rp)
...
@@ -9,24 +9,24 @@ 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_GRAVE
,
g
,
REASON_COST
)
e
:
SetLabel
(
1
)
e
:
SetLabel
(
1
)
else
else
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_DAMAGE
,
e
,
tp
,
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
num
,
num
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_DAMAGE
,
e
,
tp
,
Card
.
IsFaceup
,
tp
,
LOCATION_DAMAGE
,
0
,
num
,
num
,
nil
)
...
@@ -47,10 +47,10 @@ function cm.op1(e,tp,eg,ep,ev,re,r,rp)
...
@@ -47,10 +47,10 @@ function cm.op1(e,tp,eg,ep,ev,re,r,rp)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_CALL
,
e
,
tp
,
cm
.
filter1
,
tp
,
0
,
LOCATION_ORDER
,
ct
,
ct
,
nil
,
e
,
tp
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_CALL
,
e
,
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
.
Call
(
tc
,
0
,
tp
)
else
else
Duel
.
SendtoGrave
(
tc
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_GRAVE
,
tc
,
REASON_EFFECT
)
end
end
end
end
end
end
...
...
c10202001.lua
View file @
19fa379a
...
@@ -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_GRAVE
,
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
=
VgF
.
SelectMatchingCard
(
HINTMSG_VMONSTER
,
e
,
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 @
19fa379a
...
@@ -13,7 +13,7 @@ end
...
@@ -13,7 +13,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
.
OverlayFillOP
(
1
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
vgf
.
OverlayFillOP
(
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 @
19fa379a
...
@@ -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
.
Call
(
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 @
19fa379a
...
@@ -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 @
19fa379a
...
@@ -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 @
19fa379a
...
@@ -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 @
19fa379a
...
@@ -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 @
19fa379a
...
@@ -3,16 +3,16 @@ local cm,m,o=GetID()
...
@@ -3,16 +3,16 @@ local cm,m,o=GetID()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
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
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_XMATERIAL
,
e
,
tp
,
nil
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_XMATERIAL
,
e
,
tp
,
nil
,
tp
,
LOCATION_GRAVE
,
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 @
19fa379a
...
@@ -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 @
19fa379a
...
@@ -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 @
19fa379a
...
@@ -6,14 +6,14 @@ function cm.initial_effect(c)
...
@@ -6,14 +6,14 @@ 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
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_CALL
,
e
,
tp
,
cm
.
filter
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_CALL
,
e
,
tp
,
cm
.
filter
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
)
if
vgf
.
Call
(
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
)
...
@@ -23,8 +23,8 @@ function cm.condition(e,tp,eg,ep,ev,re,r,rp)
...
@@ -23,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 @
19fa379a
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_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 @
19fa379a
...
@@ -29,13 +29,13 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -29,13 +29,13 @@ 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
.
Call
(
sg
,
0
,
tp
)
g
:
RemoveCard
(
vgf
.
ReturnCard
(
sg
))
g
:
RemoveCard
(
vgf
.
ReturnCard
(
sg
))
end
end
...
@@ -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 @
19fa379a
...
@@ -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
.
Call
(
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 @
19fa379a
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
)
...
...
c10203016.lua
View file @
19fa379a
...
@@ -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_GRAVE
,
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
c10301001.lua
View file @
19fa379a
...
@@ -19,10 +19,10 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -19,10 +19,10 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_RTOHAND
,
e
,
tp
,
cm
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
2
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_RTOHAND
,
e
,
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
()
...
@@ -34,16 +34,16 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
...
@@ -34,16 +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
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_CALL
,
e
,
tp
,
Card
.
Is
CanBeSpecialSummoned
,
tp
,
LOCATION_HAND
,
0
,
0
,
ct
,
nil
,
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_CALL
,
e
,
tp
,
Card
.
Is
Type
,
tp
,
LOCATION_HAND
,
0
,
0
,
ct
,
nil
,
TYPE_MONSTER
)
if
g
:
GetCount
()
==
1
then
if
g
:
GetCount
()
==
1
then
vgf
.
Call
(
g
,
0
,
tp
)
vgf
.
Call
(
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_GRAVE
,
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
...
@@ -54,9 +54,9 @@ function cm.operation1(e,tp,eg,ep,ev,re,r,rp)
...
@@ -54,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_GRAVE
,
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 @
19fa379a
...
@@ -8,10 +8,10 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -8,10 +8,10 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_RTOHAND
,
e
,
tp
,
cm
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_RTOHAND
,
e
,
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 @
19fa379a
...
@@ -15,12 +15,12 @@ end
...
@@ -15,12 +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
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_Call
,
e
,
tp
,
cm
.
filter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_Call
,
e
,
tp
,
cm
.
filter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
Duel
.
HintSelection
(
g
)
Duel
.
HintSelection
(
g
)
vgf
.
Call
(
g
,
0
,
tp
,
nil
,
POS_FACEUP_DEFENSE
)
vgf
.
Call
(
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 @
19fa379a
...
@@ -11,24 +11,19 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -11,24 +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
)
local
tg
=
vgf
.
SelectMatchingCard
(
HINTMSG_DISCARD
,
e
,
tp
,
Card
.
IsDiscardable
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
REASON_EFFECT
)
local
tg
=
vgf
.
SelectMatchingCard
(
HINTMSG_DISCARD
,
e
,
tp
,
nil
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
)
Duel
.
SendtoGrave
(
tg
,
REASON_COST
)
vgf
.
Sendto
(
LOCATION_GRAVE
,
tg
,
REASON_COST
)
end
end
end
end
\ No newline at end of file
c10400855.lua
View file @
19fa379a
--能量发生器
--能量发生器
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
)
...
...
c10401002.lua
View file @
19fa379a
...
@@ -15,8 +15,8 @@ function cm.filter(c)
...
@@ -15,8 +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
()
local
g
=
VgF
.
SelectMatchingCard
(
HINTMSG_LEAVEONFIELD
,
e
,
tp
,
vgf
.
VMonsterFilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_LEAVEONFIELD
,
e
,
tp
,
vgf
.
VMonsterFilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoGrave
(
g
,
REASON_EFFECT
)
end
if
g
:
GetCount
()
>
0
then
vgf
.
Sendto
(
LOCATION_GRAVE
,
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
)
...
@@ -29,14 +29,14 @@ function cm.op1(e,tp,eg,ep,ev,re,r,rp)
...
@@ -29,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
.
Call
(
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 @
19fa379a
...
@@ -16,22 +16,10 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -16,22 +16,10 @@ 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
.
Call
(
g
,
0
,
tp
)
end
end
end
end
...
...
c10401004.lua
View file @
19fa379a
...
@@ -20,9 +20,9 @@ function cm.con1(e,tp,eg,ep,ev,re,r,rp)
...
@@ -20,9 +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
)
local
g
=
VgF
.
SelectMatchingCard
(
HINTMSG_LEAVEONFIELD
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_LEAVEONFIELD
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
if
g
then
if
g
then
Duel
.
HintSelection
(
g
)
Duel
.
HintSelection
(
g
)
Duel
.
SendtoGrave
(
g
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_GRAVE
,
g
,
REASON_EFFECT
)
end
end
end
end
\ No newline at end of file
c10401021.lua
View file @
19fa379a
...
@@ -13,8 +13,8 @@ end
...
@@ -13,8 +13,8 @@ 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
if
chk
==
0
then
return
vgf
.
OverlayCostOP
(
1
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
and
c
:
IsAbleToGraveAsCost
()
return
vgf
.
OverlayCostOP
(
1
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
end
end
vgf
.
OverlayCostOP
(
1
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
vgf
.
OverlayCostOP
(
1
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
Duel
.
SendtoGrave
(
c
,
REASON_COST
)
vgf
.
Sendto
(
LOCATION_GRAVE
,
c
,
REASON_COST
)
end
end
\ No newline at end of file
c10401025.lua
View file @
19fa379a
...
@@ -3,21 +3,21 @@ local cm,m,o=GetID()
...
@@ -3,21 +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
)
local
g1
=
vgf
.
SelectMatchingCard
(
HINTMSG_CRITICAL_STRIKE
,
e
,
tp
,
nil
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
local
g1
=
vgf
.
SelectMatchingCard
(
HINTMSG_CRITICAL_STRIKE
,
e
,
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
local
tc
=
vgf
.
SelectMatchingCard
(
HINTMSG_TODROP
,
e
,
tp
,
nil
,
tp
,
LOCATION_DAMAGE
,
0
,
1
,
1
,
nil
):
GetFirst
()
local
tc
=
vgf
.
SelectMatchingCard
(
HINTMSG_TODROP
,
e
,
tp
,
nil
,
tp
,
LOCATION_DAMAGE
,
0
,
1
,
1
,
nil
):
GetFirst
()
if
tc
then
if
tc
then
Duel
.
SendtoGrave
(
tc
,
REASON_TRIGGER
)
vgf
.
Sendto
(
LOCATION_GRAVE
,
tc
,
REASON_TRIGGER
)
end
end
end
end
end
end
\ No newline at end of file
c10401026.lua
View file @
19fa379a
...
@@ -8,19 +8,19 @@ function cm.initial_effect(c)
...
@@ -8,19 +8,19 @@ function cm.initial_effect(c)
end
end
function
cm
.
condition2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
condition2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
Duel
.
GetAttacker
()
local
c
=
Duel
.
GetAttacker
()
return
vgf
.
RMonsterCondition
(
e
)
and
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
()
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_CRITICAL_STRIKE
,
e
,
tp
,
vgf
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_CRITICAL_STRIKE
,
e
,
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 @
19fa379a
...
@@ -12,7 +12,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -12,7 +12,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_XMATERIAL
,
e
,
tp
,
nil
,
tp
,
LOCATION_GRAVE
,
0
,
0
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_XMATERIAL
,
e
,
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
)
...
...
c10401028.lua
View file @
19fa379a
...
@@ -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
)
...
@@ -13,8 +13,8 @@ end
...
@@ -13,8 +13,8 @@ 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
.
OverlayFillOP
(
1
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
VgF
.
SelectMatchingCard
(
HINTMSG_LEAVEONFIELD
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_LEAVEONFIELD
,
e
,
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_GRAVE
,
g
,
REASON_EFFECT
)
end
end
end
end
c10401029.lua
View file @
19fa379a
...
@@ -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 @
19fa379a
...
@@ -18,9 +18,9 @@ function cm.condition(e,tp,eg,ep,ev,re,r,rp)
...
@@ -18,9 +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
()
local
g
=
VgF
.
SelectMatchingCard
(
HINTMSG_LEAVEONFIELD
,
e
,
tp
,
cm
.
fliter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_LEAVEONFIELD
,
e
,
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_GRAVE
,
g
,
REASON_EFFECT
)
end
end
end
end
function
cm
.
fliter
(
c
)
function
cm
.
fliter
(
c
)
...
...
c10401031.lua
View file @
19fa379a
...
@@ -25,7 +25,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -25,7 +25,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
end
local
sg
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_HAND
,
0
)
local
sg
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_HAND
,
0
)
if
sg
:
GetCount
()
>=
2
then
if
sg
:
GetCount
()
>=
2
then
sg
=
sg
:
FilterSelect
(
tp
,
Card
.
IsDiscardable
,
1
,
1
,
nil
,
REASON_EFFECT
)
sg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
SendtoGrave
(
sg
,
REASON_DISCARD
+
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_GRAVE
,
sg
,
REASON_DISCARD
+
REASON_EFFECT
)
end
end
end
end
\ No newline at end of file
c10401032.lua
View file @
19fa379a
...
@@ -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 @
19fa379a
...
@@ -5,20 +5,20 @@ function cm.initial_effect(c)
...
@@ -5,20 +5,20 @@ 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
.
OverlayFillOP
(
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
=
vgf
.
SelectMatchingCard
(
HINTMSG_OVERLAY
,
e
,
tp
,
nil
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_OVERLAY
,
e
,
tp
,
nil
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
e
,
tp
)
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
()
...
...
c10401036.lua
View file @
19fa379a
...
@@ -24,7 +24,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -24,7 +24,7 @@ function cm.op(e,tp,eg,ep,ev,re,r,rp)
end
end
local
sg
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_HAND
,
0
)
local
sg
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_HAND
,
0
)
if
sg
:
GetCount
()
>=
2
then
if
sg
:
GetCount
()
>=
2
then
sg
=
sg
:
FilterSelect
(
tp
,
Card
.
IsDiscardable
,
1
,
1
,
nil
,
REASON_EFFECT
)
sg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
SendtoGrave
(
sg
,
REASON_DISCARD
+
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_GRAVE
,
sg
,
REASON_DISCARD
+
REASON_EFFECT
)
end
end
end
end
\ No newline at end of file
c10401037.lua
View file @
19fa379a
...
@@ -14,7 +14,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -14,7 +14,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
local
e2
=
e1
*
10000
local
e2
=
e1
*
10000
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_ATKUP
,
e
,
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 @
19fa379a
...
@@ -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_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
()
...
...
c10501036.lua
View file @
19fa379a
...
@@ -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 @
19fa379a
...
@@ -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
...
@@ -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)
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
)
...
@@ -32,7 +32,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -32,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 @
19fa379a
...
@@ -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 @
19fa379a
...
@@ -11,7 +11,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -11,7 +11,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
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
)
...
@@ -19,5 +19,5 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -19,5 +19,5 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
function
cm
.
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 @
19fa379a
...
@@ -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
c10800855.lua
View file @
19fa379a
--能量发生器
--能量发生器
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 @
19fa379a
...
@@ -25,11 +25,11 @@ end
...
@@ -25,11 +25,11 @@ end
--效果二处理
--效果二处理
function
cm
.
operation2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g
=
VgF
.
SelectMatchingCard
(
HINTMSG_LEAVEONFIELD
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_LEAVEONFIELD
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
if
g
then
if
g
then
Duel
.
HintSelection
(
g
)
Duel
.
HintSelection
(
g
)
Duel
.
SendtoGrave
(
g
,
REASON_EFFECT
)
vgf
.
Sendto
(
LOCATION_GRAVE
,
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
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