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
91b7f751
Commit
91b7f751
authored
May 05, 2024
by
jwyxym
Committed by
GitHub
May 05, 2024
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add files via upload
parent
b6ccfe4e
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
291 additions
and
19 deletions
+291
-19
VgD.Lua
VgD.Lua
+8
-5
VgDefinition.Lua
VgDefinition.Lua
+2
-2
VgFuncLib.lua
VgFuncLib.lua
+57
-12
c10203001.lua
c10203001.lua
+39
-0
c10203002.lua
c10203002.lua
+19
-0
c10203003.lua
c10203003.lua
+49
-0
c10203005.lua
c10203005.lua
+39
-0
c10203006.lua
c10203006.lua
+12
-0
c10203007.lua
c10203007.lua
+12
-0
c10203008.lua
c10203008.lua
+10
-0
c10203011.lua
c10203011.lua
+9
-0
c10203016.lua
c10203016.lua
+28
-0
c10203018.lua
c10203018.lua
+7
-0
No files found.
VgD.Lua
View file @
91b7f751
...
...
@@ -388,7 +388,7 @@ end
function
VgD
.
MonsterPosDefenseOperation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
Duel
.
ChangePosition
(
c
,
POS_FACEUP_DEFENSE
)
local
label
=
0
local
label
=
1
if
c
:
IsAttribute
(
SKILL_TWICE_TRIGGER
)
then
label
=
label
+
1
elseif
c
:
IsAttribute
(
SKILL_THRICE_TRIGGER
)
then
...
...
@@ -549,9 +549,10 @@ end
function
VgD
.
CardTriggerCondtion
(
chkcon
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
rc
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
()
local
cp
=
tp
if
chkcon
==
0
then
cp
=
1
-
tp
end
return
Duel
.
GetTurnPlayer
()
==
cp
and
c
:
IsLocation
(
LOCATION_TRIGGER
)
return
Duel
.
GetTurnPlayer
()
==
cp
and
c
:
IsLocation
(
LOCATION_TRIGGER
)
and
(
rc
:
GetFlagEffectLabel
(
AttackTriggerFlag
)
and
rc
:
GetFlagEffectLabel
(
AttackTriggerFlag
)
>
0
)
end
end
function
VgD
.
CardTriggerOperation
(
chkop
,
f
)
...
...
@@ -582,6 +583,7 @@ function VgD.CardTriggerOperation(chkop,f)
local
tc
=
Duel
.
SelectMatchingCard
(
tp
,
nil
,
tp
,
LOCATION_DAMAGE
,
0
,
1
,
1
,
nil
):
GetFirst
()
if
tc
then
Duel
.
SendtoGrave
(
tc
,
REASON_TRIGGER
)
Duel
.
Recover
(
tp
,
1
,
REASON_RULE
)
end
end
elseif
c
:
IsRace
(
TRRIGGER_ADVANCE
)
then
...
...
@@ -629,12 +631,12 @@ function VgD.CardTriggerOperation(chkop,f)
local
rc
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
()
local
label
=
rc
:
GetFlagEffectLabel
(
AttackTriggerFlag
)
if
not
label
then
return
end
if
label
>
0
then
if
label
>
1
then
label
=
label
-
1
Duel
.
RaiseEvent
(
c
,
EVENT_CUSTOM
+
EVENT_TRIGGER
,
e
,
0
,
tp
,
tp
,
0
)
rc
:
ResetFlagEffect
(
AttackTriggerFlag
)
rc
:
RegisterFlagEffect
(
AttackTriggerFlag
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
,
label
)
elseif
label
==
0
then
elseif
label
==
1
then
rc
:
ResetFlagEffect
(
AttackTriggerFlag
)
end
end
...
...
@@ -1025,8 +1027,9 @@ function VgD.TriggerCountUpOperation(num)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
label
=
c
:
GetFlagEffectLabel
(
AttackTriggerFlag
)
if
not
label
then
if
label
and
label
>
0
then
label
=
label
+
num
if
label
<
0
then
label
=
0
end
c
:
ResetFlagEffect
(
AttackTriggerFlag
)
c
:
RegisterFlagEffect
(
AttackTriggerFlag
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
,
label
)
else
...
...
VgDefinition.Lua
View file @
91b7f751
...
...
@@ -24,7 +24,7 @@ LOCATION_EMBLEM =0x8000 --纹章区
LOCATION_RIDE
=
LOCATION_EXTRA
LOCATION_DROP
=
LOCATION_GRAVE
LOCATION_LOCK
=
LOCATION_REMOVED
LOCATION_ALL
=
LOCATION_DECK
+
LOCATION_HAND
+
LOCATION_ONFIELD
+
LOCATION_REMOVED
+
LOCATION_GRAVE
+
LOCATION_EXTRA
LOCATION_ALL
=
0xffff
--Locations (for redirect) 若在重定向类效果中仅指定LOCATION_DECK则为弹回卡组顶部
LOCATION_DECKBOT
=
0x10001
--弹回卡组底部
LOCATION_DECKSHF
=
0x20001
--弹回卡组并洗牌
...
...
@@ -145,7 +145,7 @@ SUMMON_TYPE_RIDE =0x49000000 --骑升
SUMMON_TYPE_LINK
=
0x4c000000
--连接召唤
--Summon Value --特定的召唤方式
SUMMON_VALUE_CALL
=
0x1
--通常CALL出场
SUMMON_VALUE_
SYNCHRO_MATERIAL
=
0x11
--特殊召唤并作为同调素材(黑羽-东云之东风检查)
SUMMON_VALUE_
REVOLT
=
0x2
--反抗舞装
SUMMON_VALUE_DARK_SANCTUARY
=
0x12
--暗黑圣域
SUMMON_VALUE_MONSTER_REBORN
=
0x13
--死者苏生(千年的启示)
SUMMON_VALUE_MASK_CHANGE
=
0x14
--
...
...
VgFuncLib.lua
View file @
91b7f751
...
...
@@ -304,10 +304,12 @@ end
---将g(中的每一张卡)Call到单位区。返回Call成功的数量。
---@param g Card|Group 要Call的卡(片组)
---@param sumtype integer Call的方式,默认填0
---@param
sp integer 表示形式
---@param
tp integer Call的玩家
---@param zone integer 指示要Call到的格子。<br>前列的R:17; 后列的R:14; 全部的R:31; V:32
---@param pos integer 表示形式
---@return integer Call成功的数量
function
VgF
.
Call
(
g
,
sumtype
,
tp
,
zone
,
pos
)
if
not
g
then
return
0
end
if
VgF
.
GetValueType
(
pos
)
~=
"number"
then
pos
=
POS_FACEUP_ATTACK
end
if
zone
and
zone
>
0
then
local
z
=
VgF
.
GetAvailableLocation
(
tp
,
zone
)
...
...
@@ -392,6 +394,38 @@ function VgF.AtkUp(c,g,val,reset)
return
e1
,
1
end
end
---以c的名义,使g(中的每一张卡)的盾值上升val,并在reset时重置。
---@param c Card 要使卡上升盾值的卡
---@param g Card|Group 要被上升盾值的卡
---@param val integer 要上升的盾值(可以为负)
---@param reset integer|nil 指示重置的时点,默认为“回合结束时”。无论如何,都会在离场时重置。
function
VgF
.
DefUp
(
c
,
g
,
val
,
reset
)
if
not
c
then
return
end
if
not
reset
then
reset
=
RESET_PHASE
+
PHASE_END
end
if
not
val
or
val
==
0
then
return
end
if
VgF
.
GetValueType
(
g
)
==
"Group"
and
g
:
GetCount
()
>
0
then
local
e
=
{}
for
tc
in
VgF
.
Next
(
g
)
do
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_UPDATE_DEFENSE
)
e1
:
SetValue
(
val
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
reset
)
tc
:
RegisterEffect
(
e1
)
table.insert
(
e
,
e1
)
end
return
e
,
#
e
elseif
VgF
.
GetValueType
(
g
)
==
"Card"
then
local
tc
=
VgF
.
ReturnCard
(
g
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_UPDATE_DEFENSE
)
e1
:
SetValue
(
val
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
reset
)
tc
:
RegisterEffect
(
e1
)
return
e1
,
1
end
end
---以c的名义,使g(中的每一张卡)的☆上升val,并在reset时重置。
---@param c Card 要使卡上升☆的卡
---@param g Card|Group 要被上升☆的卡
...
...
@@ -562,7 +596,7 @@ function VgF.SearchCard(loc,f)
end
function
VgF
.
SearchCardOP
(
loc
,
f
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
loc
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
function
(
c
)
if
VgF
.
GetValueType
(
f
)
==
"function"
and
not
f
(
c
)
then
return
false
end
return
c
:
IsAbleToHand
()
...
...
@@ -647,22 +681,16 @@ function VgF.BackFilter(c)
local
seq
=
c
:
GetSequence
()
return
(
seq
==
1
or
seq
==
2
or
seq
==
3
)
and
c
:
IsType
(
TYPE_MONSTER
)
end
function
VgF
.
SetOrder
Filter
(
c
,
ct
)
function
VgF
.
Prison
Filter
(
c
,
ct
)
return
c
:
GetSequence
()
==
ct
-
1
end
---返回p场上的设置指令。
---@param p integer
---@return Card
function
VgF
.
GetSetOrder
(
p
)
local
og
=
Duel
.
GetFieldGroup
(
p
,
LOCATION_ORDER
,
0
)
return
og
:
Filter
(
VgF
.
PrisonFilter
,
nil
,
og
:
GetCount
()):
GetFirst
()
end
---收容g(中的每一张卡)到p的监狱。没有监狱时,不操作。
---@param g Card|Group
---@param p integer
function
VgF
.
SendtoPrison
(
g
,
p
)
if
not
VgF
.
CheckPrison
(
p
)
or
not
g
then
return
end
local
oc
=
VgF
.
GetSetOrder
(
p
)
local
og
=
Duel
.
GetFieldGroup
(
p
,
LOCATION_ORDER
,
0
)
local
oc
=
og
:
Filter
(
VgF
.
PrisonFilter
,
nil
,
og
:
GetCount
()):
GetFirst
()
if
VgF
.
GetValueType
(
g
)
==
"Card"
then
Duel
.
Sendto
(
g
,
p
,
LOCATION_ORDER
,
POS_FACEUP_ATTACK
,
REASON_EFFECT
)
g
:
RegisterFlagEffect
(
ImprisonFlag
,
RESET_EVENT
+
RESETS_STANDARD
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
0
,
vgf
.
Stringid
(
10105015
,
0
))
...
...
@@ -678,6 +706,23 @@ end
---@param p integer
---@return boolean 指示p场上有没有监狱。
function
VgF
.
CheckPrison
(
p
)
local
oc
=
VgF
.
GetSetOrder
(
p
)
local
og
=
Duel
.
GetFieldGroup
(
p
,
LOCATION_ORDER
,
0
)
local
oc
=
og
:
Filter
(
VgF
.
PrisonFilter
,
nil
,
og
:
GetCount
()):
GetFirst
()
return
oc
:
IsSetCard
(
0x3040
)
end
--重置Effect
function
VgF
.
EffectReset
(
c
,
e
,
code
,
con
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetCode
(
code
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetRange
(
LOCATION_ALL
)
e1
:
SetLabelObject
(
e
)
if
VgF
.
GetValueType
(
con
)
==
"function"
then
e1
:
SetCondition
(
con
)
end
e1
:
SetOperation
(
VgF
.
EffectResetOperation
)
c
:
RegisterEffect
(
e1
)
end
function
VgF
.
EffectResetOperation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
e1
=
e
:
GetLabelObject
()
if
e1
then
e1
:
Reset
()
end
end
\ No newline at end of file
c10203001.lua
View file @
91b7f751
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
vgf
.
VgCard
(
c
)
--【永】:这张卡将要被RIDE之际,这张卡也当做「朱斯贝克 “破天黎骑”」使用。
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_BATTLED
,
cm
.
operation
,
nil
,
cm
.
condition
)
--【永】【R】:这个回合中曾有你的等级3以上的先导者登场过的话,这个单位的力量+5000。
vgd
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_SINGLE
,
5000
,
cm
.
con
)
if
not
cm
.
global_check
then
cm
.
global_check
=
true
local
ge1
=
Effect
.
CreateEffect
(
c
)
ge1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
ge1
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
ge1
:
SetCondition
(
cm
.
checkcon
)
ge1
:
SetOperation
(
cm
.
checkop
)
Duel
.
RegisterEffect
(
ge1
,
0
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetFlagEffect
(
tp
,
m
)
>
0
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CALL
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
filter
,
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
vgf
.
Call
(
g
,
SUMMON_VALUE_REVOLT
,
tp
,
0x20
)
>
0
then
vgd
.
TriggerCountUp
(
c
,
-
2
,
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_END
)
end
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
end
function
cm
.
filter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x76
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
end
function
cm
.
checkfilter
(
c
)
return
(
c
:
IsSummonType
(
SUMMON_TYPE_SELFRIDE
)
or
c
:
IsSummonType
(
SUMMON_TYPE_RIDE
))
and
c
:
IsLevelAbove
(
4
)
end
function
cm
.
checkcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
cm
.
checkfilter
,
1
,
nil
)
end
function
cm
.
checkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
RegisterFlagEffect
(
tp
,
m
,
RESET_PHASE
+
PHASE_END
,
0
,
1
)
end
\ No newline at end of file
c10203002.lua
View file @
91b7f751
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
vgf
.
VgCard
(
c
)
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
)
end
function
cm
.
filter
(
c
)
return
c
:
IsSetCard
(
0x202
)
end
function
cm
.
filter1
(
c
)
return
c
:
IsLevelAbove
(
3
)
end
function
cm
.
condition1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
cm
.
cfilter
,
1
,
nil
)
and
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
end
function
cm
.
operation1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
e1
=
vgf
.
AtkUp
(
c
,
c
,
5000
,
nil
)
vgf
.
EffectReset
(
c
,
e1
,
EVENT_BATTLED
)
end
function
cm
.
cfilter
(
c
,
mc
)
return
vgf
.
GetColumnGroup
(
c
):
IsContains
(
mc
)
and
c
:
IsControler
(
mc
:
GetControler
())
and
c
:
GetFlagEffect
(
SupportFlag
)
>
0
end
\ No newline at end of file
c10203003.lua
View file @
91b7f751
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
vgf
.
VgCard
(
c
)
vgd
.
BeRidedByCard
(
c
,
m
,
10203002
,
cm
.
operation
,
vgf
.
OverlayCost
(
1
))
vgd
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_SINGLE
,
2000
,
cm
.
con
)
end
function
cm
.
con
(
e
)
return
Duel
.
GetAttacker
()
==
e
:
GetHandler
()
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
3
)
Duel
.
ConfirmCards
(
tp
,
g
)
Duel
.
DisableShuffleCheck
()
local
off
=
1
local
ops
=
{}
local
a
=
g
:
IsExists
(
cm
.
filter
,
1
,
nil
)
local
b
=
g
:
IsExists
(
cm
.
filter1
,
1
,
nil
,
e
,
tp
)
if
a
then
ops
[
off
]
=
1190
off
=
off
+
1
end
if
b
then
ops
[
off
]
=
1152
off
=
off
+
1
end
ops
[
off
]
=
1194
if
Duel
.
SelectOption
(
tp
,
table.unpack
(
ops
))
==
0
and
a
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
sg
=
g
:
FilterSelect
(
tp
,
cm
.
filter
,
0
,
1
,
nil
)
Duel
.
DisableShuffleCheck
()
Duel
.
SendtoHand
(
sg
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg
)
g
:
RemoveCard
(
vgf
.
ReturnCard
(
sg
))
elseif
(
Duel
.
SelectOption
(
tp
,
table.unpack
(
ops
))
==
1
and
a
and
b
)
or
(
Duel
.
SelectOption
(
tp
,
table.unpack
(
ops
))
==
0
and
not
a
and
b
)
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_CALL
)
local
sg
=
g
:
FilterSelect
(
tp
,
cm
.
filter1
,
0
,
1
,
nil
)
vgf
.
Call
(
sg
,
0
,
tp
)
g
:
RemoveCard
(
vgf
.
ReturnCard
(
sg
))
end
if
#
g
>
1
then
Duel
.
SortDecktop
(
tp
,
tp
,
#
g
-
1
)
for
i
=
1
,
#
g
-
1
do
local
dg
=
Duel
.
GetDecktopGroup
(
tp
,
2
)
Duel
.
MoveSequence
(
dg
:
GetFirst
(),
SEQ_DECKBOTTOM
)
end
end
end
function
cm
.
filter
(
c
)
return
c
:
IsSetCard
(
0x77
)
and
c
:
IsAbleToHand
()
end
function
cm
.
filter1
(
c
,
e
,
tp
)
return
c
:
IsLevelBelow
(
3
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_ATTACK
)
and
vgf
.
GetAvailableLocation
(
tp
)
>
0
end
\ No newline at end of file
c10203005.lua
View file @
91b7f751
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
vgf
.
VgCard
(
c
)
vgd
.
EffectTypeTrigger
(
c
,
m
,
loc
,
EFFECT_TYPE_SINGLE
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
op
,
nil
,
cm
.
con
)
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_PHASE
,
cm
.
op1
,
nil
,
cm
.
con1
)
if
not
cm
.
global_check
then
cm
.
global_check
=
true
local
ge1
=
Effect
.
CreateEffect
(
c
)
ge1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
ge1
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
ge1
:
SetCondition
(
cm
.
checkcon
)
ge1
:
SetOperation
(
cm
.
checkop
)
Duel
.
RegisterEffect
(
ge1
,
0
)
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
c
:
IsSummonType
(
SUMMON_VALUE_REVOLT
)
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
vgf
.
AtkUp
(
c
,
c
,
15000
)
if
Duel
.
GetFlagEffect
(
tp
,
m
)
>
0
then
vgf
.
StarUp
(
c
,
c
,
1
)
end
end
function
cm
.
checkcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
Card
.
IsSummonType
,
1
,
nil
,
SUMMON_TYPE_SELFRIDE
)
end
function
cm
.
checkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
RegisterFlagEffect
(
tp
,
m
,
RESET_PHASE
+
PHASE_END
,
0
,
1
)
end
function
cm
.
con1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetTurnPlayer
()
==
tp
end
function
cm
.
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_Call
)
local
g
=
vgf
.
GetVMonster
(
tp
):
GetOverlayGroup
():
FilterSelect
(
tp
,
cm
.
filter
,
1
,
1
,
nil
,
e
,
tp
)
if
g
then
vgf
.
Call
()
end
end
function
cm
.
filter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x202
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEUP_DEFENSE
)
end
\ No newline at end of file
c10203006.lua
View file @
91b7f751
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
vgf
.
VgCard
(
c
)
vgd
.
EffectTypeIgnition
(
c
,
m
,
LOCATION_MZONE
,
cm
.
operation
,
vgf
.
DamageCost
(
2
),
cm
.
condition
,
nil
,
1
)
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
vgf
.
AtkUp
(
c
,
c
,
10000
,
nil
)
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
vgf
.
RMonsterFilter
(
c
)
and
Duel
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
function
cm
.
filter
(
c
)
return
vgf
.
VMonsterFilter
and
c
:
IsSetCard
(
0x77
)
end
\ No newline at end of file
c10203007.lua
View file @
91b7f751
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
vgf
.
VgCard
(
c
)
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_FIELD
,
EVENT_SPSUMMON_SUCCESS
,
cm
.
operation
,
VgF
.
DamageCost
(
1
),
cm
.
condition
)
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
VgF
.
RMonsterFilter
(
c
)
and
eg
:
IsExists
(
cm
.
filter
,
1
,
nil
,
tp
)
end
function
cm
.
filter
(
c
,
tp
)
return
c
:
IsSummonType
(
SUMMON_VALUE_REVOLT
)
and
vgf
.
VMonsterFilter
(
c
)
and
c
:
IsControler
(
tp
)
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
vgf
.
AtkUp
(
c
,
c
,
10000
)
end
\ No newline at end of file
c10203008.lua
View file @
91b7f751
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
vgf
.
VgCard
(
c
)
vgd
.
EffectTypeTrigger
(
c
,
m
,
loc
,
EFFECT_TYPE_SINGLE
,
EVENT_MOVE
,
cm
.
op
,
nil
,
cm
.
con
)
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
c
:
IsLocation
(
LOCATION_GZONE
)
and
vgf
.
GetVMonster
(
tp
):
GetOverlayGroup
():
FilterCount
(
Card
.
IsSetCard
,
nil
,
0x76
)
>=
1
end
function
cm
.
filter
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
e1
=
vgf
.
DefUp
(
c
,
c
,
10000
)
vgf
.
EffectReset
(
c
,
e1
,
EVENT_BATTLED
)
end
\ No newline at end of file
c10203011.lua
View file @
91b7f751
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
vgf
.
VgCard
(
c
)
vgd
.
EffectTypeTrigger
(
c
,
m
,
loc
,
EFFECT_TYPE_SINGLE
,
EVENT_DISCARD
,
cm
.
operation
,
vgf
.
True
,
cm
.
condition
)
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetCurrentPhase
()
==
PHASE_STANDBY
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
vgf
.
GetAvailableLocation
(
tp
)
<=
0
then
return
end
vgf
.
Call
(
c
,
0
,
tp
)
end
\ No newline at end of file
c10203016.lua
View file @
91b7f751
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
vgf
.
VgCard
(
c
)
vgd
.
EffectTypeTrigger
(
c
,
m
,
LOCATION_MZONE
,
EFFECT_TYPE_SINGLE
,
EVENT_BATTLED
,
cm
.
operation
,
cm
.
cost
,
cm
.
condition
)
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
vgf
.
RMonsterFilter
(
c
)
and
VgF
.
VMonsterFilter
(
Duel
.
GetAttackTarget
())
and
Duel
.
IsExistingMatchingCard
(
nil
,
tp
,
LOCATION_MZONE
,
0
,
4
,
nil
)
end
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
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
)
g
:
AddCard
(
e
:
GetHandler
())
Duel
.
SendtoGrave
(
g
,
REASON_COST
)
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetDecktopGroup
(
tp
,
3
)
Duel
.
ConfirmCards
(
tp
,
g
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
sg
=
g
:
FilterSelect
(
tp
,
cm
.
filter
,
0
,
1
,
nil
)
if
sg
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
sg
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg
)
else
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
Duel
.
ShuffleDeck
(
tp
)
end
end
function
cm
.
filter
(
c
)
return
c
:
IsLevelAbove
(
3
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsAbleToHand
()
end
\ No newline at end of file
c10203018.lua
View file @
91b7f751
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
vgf
.
VgCard
(
c
)
vgd
.
SpellActivate
(
c
,
m
,
vgf
.
SearchCard
(
LOCATION_DECK
,
cm
.
filter
),
cm
.
condition
,
vgf
.
DamageCost
(
1
))
end
function
cm
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
vgf
.
GetVMonster
(
tp
):
IsSetCard
(
0x202
)
end
function
cm
.
filter
(
c
)
return
c
:
IsCode
(
10203005
)
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