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
595ffd2d
Commit
595ffd2d
authored
Aug 29, 2024
by
xiaoye
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update 10401005-10401020
parent
2fcf2667
Changes
15
Show whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
194 additions
and
59 deletions
+194
-59
README.md
README.md
+3
-1
VgD.Lua
VgD.Lua
+16
-0
VgFuncLib.lua
VgFuncLib.lua
+59
-40
c10101009.lua
c10101009.lua
+1
-8
c10401006.lua
c10401006.lua
+4
-2
c10401012.lua
c10401012.lua
+18
-0
c10401013.lua
c10401013.lua
+5
-0
c10401014.lua
c10401014.lua
+19
-0
c10401015.lua
c10401015.lua
+5
-0
c10401016.lua
c10401016.lua
+18
-0
c10401017.lua
c10401017.lua
+19
-0
c10401018.lua
c10401018.lua
+13
-0
c10401019.lua
c10401019.lua
+7
-0
c10401020.lua
c10401020.lua
+6
-0
c10401034.lua
c10401034.lua
+1
-8
No files found.
README.md
View file @
595ffd2d
...
...
@@ -429,7 +429,7 @@ vgf.VgCard(c)
## 2.用于行为的封装函数(仅用于operation函数):从X1处寻找卡送去X2处
```
lua
vgf
.
SearchCard
(
loc_to
,
loc_from
,
f
[,
int_max
,
int_min
])
vgf
.
SearchCard
(
loc_to
,
loc_from
,
f
[,
int_max
,
int_min
,
...
])
```
返回值:int 【具体操作的数量】
...
...
@@ -444,6 +444,8 @@ vgf.SearchCard(loc_to, loc_from, f[, int_max, int_min])
> **int_max : 找至多几张卡 `填nil | 不填则为1张`**
>
> **int_min : 找至少几张卡 `一般用于“探寻至多x张”的字样,此时填0,填nil | 不填则等同于int_max`**
>
> **... : 额外参数 `如过滤函数内容为cm.filter(c,e,tp),c为内核对函数传递的参数(即遍历到的每张卡),e,tp则需从额外参数传入`**
## 3.用于行为的封装函数:力量上升
...
...
VgD.Lua
View file @
595ffd2d
...
...
@@ -1251,3 +1251,19 @@ function VgD.GlobalCheckEffect(c,m,typ,code,con,op)
Duel
.
RegisterEffect
(
ge1
,
0
)
end
end
function
VgD
.
CannotBeTarget
(
c
,
con
,
val
,
loc
)
if
not
loc
then
loc
=
LOCATION_MZONE
end
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetRange
(
loc
)
e1
:
SetCode
(
EFFECT_CANNOT_BE_EFFECT_TARGET
)
if
VgF
.
GetValueType
(
con
)
==
"function"
then
e1
:
SetCondition
(
con
)
end
if
VgF
.
GetValueType
(
val
)
==
"function"
then
e1
:
SetValue
(
val
)
else
e1
:
SetValue
(
function
(
e
,
re
,
rp
)
return
rp
==
1
-
e
:
GetHandlerPlayer
()
end
)
end
c
:
RegisterEffect
(
e1
)
end
\ No newline at end of file
VgFuncLib.lua
View file @
595ffd2d
...
...
@@ -288,15 +288,7 @@ function VgF.GetColumnGroup(c)
end
return
g
end
---用于【永】效果的Value属性。判断是否是对方发动的效果。<br>
---仅有特定的Code对此函数有效,其他Code的结果未知。
---@param e Effect 要注册的效果
---@param re Effect 引发该效果的效果
---@param rp integer 发动引发该效果的效果的玩家
---@return boolean 指示是否是对方发动的效果
function
VgF
.
tgoval
(
e
,
re
,
rp
)
return
rp
==
1
-
e
:
GetHandlerPlayer
()
end
function
VgF
.
GetAvailableLocation
(
tp
,
zone
)
local
z
if
zone
then
z
=
zone
else
z
=
0x1f
end
...
...
@@ -391,17 +383,20 @@ end
---以c的名义,使g(中的每一张卡)的攻击力上升val,并在reset时重置。
---@param c Card 要使卡上升攻击力的卡
---@param g Card|Group 要被上升攻击力的卡
---@param val integer 要上升的攻击力(可以为负)
---@param val integer
|string
要上升的攻击力(可以为负)
---@param reset integer|nil 指示重置的时点,默认为“回合结束时”。无论如何,都会在离场时重置。
function
VgF
.
AtkUp
(
c
,
g
,
val
,
reset
,
resetcount
)
if
not
c
or
not
g
then
return
end
if
not
resetcount
then
resetcount
=
1
end
if
not
reset
then
reset
=
RESET_PHASE
+
PHASE_END
end
if
not
val
or
val
==
0
then
return
end
if
not
val
or
(
VgF
.
GetValueType
(
val
)
==
"number"
and
val
==
0
)
then
return
end
if
VgF
.
GetValueType
(
g
)
==
"Group"
and
g
:
GetCount
()
>
0
then
local
e
=
{}
for
tc
in
VgF
.
Next
(
g
)
do
if
tc
:
IsLocation
(
LOCATION_MZONE
)
then
if
VgF
.
GetValueType
(
val
)
==
"string"
and
val
==
"DOUBLE"
then
val
=
tc
:
GetLeftScale
()
end
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
...
...
@@ -416,6 +411,9 @@ function VgF.AtkUp(c,g,val,reset,resetcount)
local
tc
=
g
if
tc
:
IsLocation
(
LOCATION_MZONE
)
then
local
tc
=
VgF
.
ReturnCard
(
g
)
if
VgF
.
GetValueType
(
val
)
==
"string"
and
val
==
"DOUBLE"
then
val
=
tc
:
GetLeftScale
()
end
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
...
...
@@ -429,17 +427,20 @@ end
---以c的名义,使g(中的每一张卡)的盾值上升val,并在reset时重置。
---@param c Card 要使卡上升盾值的卡
---@param g Card|Group 要被上升盾值的卡
---@param val integer 要上升的盾值(可以为负)
---@param val integer
|string
要上升的盾值(可以为负)
---@param reset integer|nil 指示重置的时点,默认为“回合结束时”。无论如何,都会在离场时重置。
function
VgF
.
DefUp
(
c
,
g
,
val
,
reset
,
resetcount
)
if
not
c
or
not
g
then
return
end
if
not
reset
then
reset
=
RESET_PHASE
+
PHASE_END
end
if
not
resetcount
then
resetcount
=
1
end
if
not
val
or
val
==
0
then
return
end
if
not
val
or
(
VgF
.
GetValueType
(
val
)
==
"number"
and
val
==
0
)
then
return
end
if
VgF
.
GetValueType
(
g
)
==
"Group"
and
g
:
GetCount
()
>
0
then
local
e
=
{}
for
tc
in
VgF
.
Next
(
g
)
do
if
tc
:
IsLocation
(
LOCATION_MZONE
)
then
if
VgF
.
GetValueType
(
val
)
==
"string"
and
val
==
"DOUBLE"
then
val
=
tc
:
GetLeftScale
()
end
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_UPDATE_DEFENSE
)
...
...
@@ -453,6 +454,9 @@ function VgF.DefUp(c,g,val,reset,resetcount)
elseif
VgF
.
GetValueType
(
g
)
==
"Card"
then
local
tc
=
g
if
tc
:
IsLocation
(
LOCATION_MZONE
)
then
if
VgF
.
GetValueType
(
val
)
==
"string"
and
val
==
"DOUBLE"
then
val
=
tc
:
GetLeftScale
()
end
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_UPDATE_DEFENSE
)
...
...
@@ -466,17 +470,21 @@ end
---以c的名义,使g(中的每一张卡)的☆上升val,并在reset时重置。
---@param c Card 要使卡上升☆的卡
---@param g Card|Group 要被上升☆的卡
---@param val integer 要上升的☆(可以为负)
---@param val integer
|string
要上升的☆(可以为负)
---@param reset integer|nil 指示重置的时点,默认为“回合结束时”。无论如何,都会在离场时重置。
function
VgF
.
StarUp
(
c
,
g
,
val
,
reset
,
resetcount
)
if
not
c
or
not
g
then
return
end
if
not
reset
then
reset
=
RESET_PHASE
+
PHASE_END
end
if
not
resetcount
then
resetcount
=
1
end
if
not
val
or
val
==
0
then
return
end
if
not
val
or
(
VgF
.
GetValueType
(
val
)
==
"number"
and
val
==
0
)
then
return
end
if
VgF
.
GetValueType
(
g
)
==
"Group"
and
g
:
GetCount
()
>
0
then
local
t1
=
{}
local
t2
=
{}
for
tc
in
VgF
.
Next
(
g
)
do
if
tc
:
IsLocation
(
LOCATION_MZONE
)
then
if
VgF
.
GetValueType
(
val
)
==
"string"
and
val
==
"DOUBLE"
then
val
=
tc
:
GetLeftScale
()
end
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_UPDATE_LSCALE
)
...
...
@@ -491,9 +499,14 @@ function VgF.StarUp(c,g,val,reset,resetcount)
table.insert
(
t1
,
e1
)
table.insert
(
t2
,
e2
)
end
end
return
t1
,
t2
elseif
VgF
.
GetValueType
(
g
)
==
"Card"
then
local
tc
=
VgF
.
ReturnCard
(
g
)
if
tc
:
IsLocation
(
LOCATION_MZONE
)
then
if
VgF
.
GetValueType
(
val
)
==
"string"
and
val
==
"DOUBLE"
then
val
=
tc
:
GetLeftScale
()
end
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_UPDATE_LSCALE
)
...
...
@@ -507,6 +520,7 @@ function VgF.StarUp(c,g,val,reset,resetcount)
tc
:
RegisterEffect
(
e2
)
return
e1
,
e2
end
end
end
---判断c是否可以以规则的手段到G区域。
---@param c Card 要判断的卡
...
...
@@ -663,14 +677,15 @@ end
---@param loc_to integer 要送去的区域。不填则返回0。
---@param loc_from integer 要选取的区域。不填则返回0。
---@param f function 卡片过滤的条件
function
VgF
.
SearchCard
(
loc_to
,
loc_from
,
f
,
int_max
,
int_min
)
function
VgF
.
SearchCard
(
loc_to
,
loc_from
,
f
,
int_max
,
int_min
,
...
)
local
ext_params
=
{
...
}
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
loc_to
or
not
loc_from
then
return
0
end
if
VgF
.
GetValueType
(
int_max
)
~=
"number"
then
int_max
=
1
end
if
VgF
.
GetValueType
(
int_min
)
~=
"number"
then
int_min
=
int_max
end
if
loc_to
==
LOCATION_HAND
then
local
g
=
VgF
.
SelectMatchingCard
(
HINTMSG_ATOHAND
,
e
,
tp
,
function
(
c
)
return
VgF
.
GetValueType
(
f
)
~=
"function"
or
f
(
c
)
return
VgF
.
GetValueType
(
f
)
~=
"function"
or
f
(
c
,
table.unpack
(
ext_params
)
)
end
,
tp
,
loc_from
,
0
,
int_min
,
int_max
,
nil
)
if
g
:
GetCount
()
>
0
then
return
VgF
.
Sendto
(
loc_to
,
g
,
nil
,
REASON_EFFECT
)
...
...
@@ -678,35 +693,35 @@ function VgF.SearchCard(loc_to,loc_from,f,int_max,int_min)
elseif
loc_to
==
LOCATION_MZONE
then
local
g
=
VgF
.
SelectMatchingCard
(
HINTMSG_CALL
,
e
,
tp
,
function
(
c
)
if
not
VgF
.
IsCanBeCalled
(
c
,
e
,
tp
)
then
return
false
end
return
VgF
.
GetValueType
(
f
)
~=
"function"
or
f
(
c
)
return
VgF
.
GetValueType
(
f
)
~=
"function"
or
f
(
c
,
table.unpack
(
ext_params
)
)
end
,
tp
,
loc_from
,
0
,
int_min
,
int_max
,
nil
)
if
g
:
GetCount
()
>
0
then
return
VgF
.
Sendto
(
loc_to
,
g
,
0
,
tp
)
end
elseif
loc_to
==
LOCATION_DROP
then
local
g
=
VgF
.
SelectMatchingCard
(
HINTMSG_CALL
,
e
,
tp
,
function
(
c
)
return
VgF
.
GetValueType
(
f
)
~=
"function"
or
f
(
c
)
return
VgF
.
GetValueType
(
f
)
~=
"function"
or
f
(
c
,
table.unpack
(
ext_params
)
)
end
,
tp
,
loc_from
,
0
,
int_min
,
int_max
,
nil
)
if
g
:
GetCount
()
>
0
then
return
VgF
.
Sendto
(
loc_to
,
g
,
REASON_EFFECT
)
end
elseif
loc_to
==
LOCATION_REMOVED
then
local
g
=
VgF
.
SelectMatchingCard
(
HINTMSG_CALL
,
e
,
tp
,
function
(
c
)
return
VgF
.
GetValueType
(
f
)
~=
"function"
or
f
(
c
)
return
VgF
.
GetValueType
(
f
)
~=
"function"
or
f
(
c
,
table.unpack
(
ext_params
)
)
end
,
tp
,
loc_from
,
0
,
int_min
,
int_max
,
nil
)
if
g
:
GetCount
()
>
0
then
return
VgF
.
Sendto
(
loc_to
,
g
,
POS_FACEUP
,
REASON_EFFECT
)
end
elseif
loc_to
==
LOCATION_EXILE
then
local
g
=
VgF
.
SelectMatchingCard
(
HINTMSG_CALL
,
e
,
tp
,
function
(
c
)
return
VgF
.
GetValueType
(
f
)
~=
"function"
or
f
(
c
)
return
VgF
.
GetValueType
(
f
)
~=
"function"
or
f
(
c
,
table.unpack
(
ext_params
)
)
end
,
tp
,
loc_from
,
0
,
int_min
,
int_max
,
nil
)
if
g
:
GetCount
()
>
0
then
return
VgF
.
Sendto
(
loc_to
,
g
,
REASON_EFFECT
)
end
elseif
loc_to
==
LOCATION_OVERLAY
then
local
g
=
VgF
.
SelectMatchingCard
(
HINTMSG_CALL
,
e
,
tp
,
function
(
c
)
return
VgF
.
GetValueType
(
f
)
~=
"function"
or
f
(
c
)
return
VgF
.
GetValueType
(
f
)
~=
"function"
or
f
(
c
,
table.unpack
(
ext_params
)
)
end
,
tp
,
loc_from
,
0
,
int_min
,
int_max
,
nil
)
if
g
:
GetCount
()
>
0
then
local
rc
=
VgF
.
GetVMonster
(
tp
)
...
...
@@ -714,7 +729,7 @@ function VgF.SearchCard(loc_to,loc_from,f,int_max,int_min)
end
elseif
bit
.
band
(
loc_to
,
0xf800
)
>
0
then
local
g
=
VgF
.
SelectMatchingCard
(
HINTMSG_CALL
,
e
,
tp
,
function
(
c
)
return
VgF
.
GetValueType
(
f
)
~=
"function"
or
f
(
c
)
return
VgF
.
GetValueType
(
f
)
~=
"function"
or
f
(
c
,
table.unpack
(
ext_params
)
)
end
,
tp
,
loc_from
,
0
,
int_min
,
int_max
,
nil
)
if
g
:
GetCount
()
>
0
then
return
VgF
.
Sendto
(
loc_to
,
g
,
tp
,
POS_FACEUP_ATTACK
,
REASON_EFFECT
)
...
...
@@ -1211,3 +1226,7 @@ function table.copy(copy,original)
table.insert
(
copy
,
original
[
i
])
end
end
function
VgF
.
PlayerEffect
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
true
end
\ No newline at end of file
c10101009.lua
View file @
595ffd2d
...
...
@@ -2,12 +2,5 @@
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
vgf
.
VgCard
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCode
(
EFFECT_CANNOT_BE_EFFECT_TARGET
)
e1
:
SetCondition
(
vgf
.
RMonsterCondition
)
e1
:
SetValue
(
vgf
.
tgoval
)
c
:
RegisterEffect
(
e1
)
vgd
.
CannotBeTarget
(
c
,
vgf
.
RMonsterCondition
)
end
\ No newline at end of file
c10401006.lua
View file @
595ffd2d
...
...
@@ -13,8 +13,10 @@ function cm.filter(c)
return
c
:
GetFlagEffect
(
FLAG_IMPRISON
)
>
0
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
vgf
.
CheckPrison
(
tp
)
then
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_OPPO
,
e
,
tp
,
cm
.
filter1
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
vgf
.
SendtoPrison
(
g
,
tp
)
end
end
function
cm
.
filter1
(
c
)
return
vgf
.
RMonsterFilter
(
c
)
and
vgf
.
FrontFilter
(
c
)
...
...
c10401012.lua
View file @
595ffd2d
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
vgf
.
VgCard
(
c
)
vgd
.
EffectTypeTriggerWhenHitting
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_FIELD
,
cm
.
op
,
cm
.
cost
,
cm
.
con
)
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
code
=
vgf
.
GetVMonster
(
tp
):
GetCode
()
vgf
.
SearchCard
(
LOCATION_HAND
,
LOCATION_DECK
,
cm
.
filter
,
1
,
0
,
code
)
end
function
cm
.
filter
(
c
,
code
)
return
c
:
IsCode
(
code
)
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
c
:
IsAbleToGraveAsCost
()
and
vgf
.
DamageCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
end
vgf
.
DamageCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
vgf
.
Sendto
(
LOCATION_DROP
,
c
,
REASON_COST
)
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
c
:
GetFlagEffect
(
FLAG_SUPPORT
)
>
0
end
\ No newline at end of file
c10401013.lua
View file @
595ffd2d
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
vgf
.
VgCard
(
c
)
vgd
.
CardTrigger
(
c
,
cm
.
op
)
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_VMONSTER
,
e
,
tp
,
vgf
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
Duel
.
ChangePosition
(
g
,
POS_FACEUP_ATTACK
)
end
\ No newline at end of file
c10401014.lua
View file @
595ffd2d
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
vgf
.
VgCard
(
c
)
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_ATTACK_ANNOUNCE
,
cm
.
op
,
cm
.
cost
,
cm
.
con
,
nil
,
1
)
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
vgf
.
OverlayFill
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
c
:
IsRelateToEffect
(
e
)
and
c
:
IsFaceup
()
then
vgf
.
AtkUp
(
c
,
c
,
10000
)
end
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
vgf
.
IsExistingMatchingCard
(
vgf
.
RMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
c
)
end
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_XMATERIAL
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
c
)
vgf
.
Sendto
(
LOCATION_OVERLAY
,
g
)
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ct
=
Duel
.
GetFlagEffectLabel
(
tp
,
FLAG_CONDITION
)
return
VgF
.
GetValueType
(
ct
)
==
"number"
and
ct
==
10102001
and
vgf
.
RMonsterCondition
(
e
)
end
\ No newline at end of file
c10401015.lua
View file @
595ffd2d
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
vgf
.
VgCard
(
c
)
vgd
.
EffectTypeTrigger
(
c
,
m
,
nil
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
vgf
.
OverlayFill
(
1
),
nil
,
vgf
.
RSummonCondition
)
vgd
.
EffectTypeIgnition
(
c
,
m
,
LOCATION_MZONE
,
cm
.
op
,
vgf
.
OverlayCost
(
3
),
vgf
.
RMonsterCondition
,
nil
,
1
)
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
end
\ No newline at end of file
c10401016.lua
View file @
595ffd2d
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
vgf
.
VgCard
(
c
)
vgd
.
CardTrigger
(
c
,
cm
.
op
)
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetTargetRange
(
LOCATION_MZONE
,
0
)
e1
:
SetValue
(
10000
)
e1
:
SetCondition
(
vgf
.
PlayerEffect
)
e1
:
SetTarget
(
cm
.
tg
)
Duel
.
RegisterEffect
(
e1
,
tp
)
local
e2
=
e1
:
Clone
()
e2
:
SetCode
(
EFFECT_UPDATE_LSCALE
)
e2
:
SetValue
(
1
)
Duel
.
RegisterEffect
(
e2
,
tp
)
end
function
cm
.
tg
(
e
,
c
)
return
vgf
.
VMonsterFilter
(
c
)
end
\ No newline at end of file
c10401017.lua
View file @
595ffd2d
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
vgf
.
VgCard
(
c
)
vgd
.
EffectTypeIgnition
(
c
,
m
,
LOCATION_MZONE
,
cm
.
op
,
cm
.
cost
,
vgf
.
RMonsterCondition
,
nil
,
1
)
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
vgf
.
DamageCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
and
vgf
.
OverlayCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
end
vgf
.
DamageCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
vgf
.
OverlayCost
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
vgf
.
CheckPrison
(
tp
)
then
return
end
local
g
=
vgf
.
SelectMatchingCard
(
HINTMSG_IMPRISON
,
e
,
tp
,
vgf
.
RMonsterFilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
vgf
.
SendtoPrison
(
g
,
tp
)
if
vgf
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_ORDER
,
0
,
3
,
nil
)
then
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
end
end
function
cm
.
filter
(
c
)
return
c
:
GetFlagEffect
(
FLAG_IMPRISON
)
>
0
end
\ No newline at end of file
c10401018.lua
View file @
595ffd2d
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
vgf
.
VgCard
(
c
)
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_FIELD
,
EVENT_BATTLED
,
vgf
.
DamageFill
(
1
),
cm
.
cost
,
cm
.
con
)
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
true
end
vgf
.
Sendto
(
LOCATION_OVERLAY
,
c
)
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
c
:
GetFlagEffect
(
FLAG_SUPPORT
)
>
0
and
vgf
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_ORDER
,
0
,
1
,
nil
)
end
function
cm
.
filter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_CONTINUOUS
)
end
\ No newline at end of file
c10401019.lua
View file @
595ffd2d
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
vgf
.
VgCard
(
c
)
vgd
.
CardTrigger
(
c
,
cm
.
op
)
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
g
=
vgf
.
GetMatchingGroup
(
vgf
.
FrontFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
vgf
.
AtkUp
(
c
,
g
,
"DOUBLE"
)
vgf
.
StarUp
(
c
,
g
,
"DOUBLE"
)
end
\ No newline at end of file
c10401020.lua
View file @
595ffd2d
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
vgf
.
VgCard
(
c
)
vgd
.
CannotBeTarget
(
c
,
vgf
.
RMonsterCondition
)
vgd
.
EffectTypeTriggerWhenHitting
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
cm
.
op
,
nil
,
vgf
.
RMonsterCondition
)
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
vgf
.
DamageFill
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
vgf
.
OverlayFill
(
1
)(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
\ No newline at end of file
c10401034.lua
View file @
595ffd2d
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
vgf
.
VgCard
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCode
(
EFFECT_CANNOT_BE_EFFECT_TARGET
)
e1
:
SetCondition
(
vgf
.
RMonsterCondition
)
e1
:
SetValue
(
vgf
.
tgoval
)
c
:
RegisterEffect
(
e1
)
vgd
.
CannotBeTarget
(
c
,
vgf
.
RMonsterCondition
)
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