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
...
@@ -388,7 +388,7 @@ 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
()
Duel
.
ChangePosition
(
c
,
POS_FACEUP_DEFENSE
)
Duel
.
ChangePosition
(
c
,
POS_FACEUP_DEFENSE
)
local
label
=
0
local
label
=
1
if
c
:
IsAttribute
(
SKILL_TWICE_TRIGGER
)
then
if
c
:
IsAttribute
(
SKILL_TWICE_TRIGGER
)
then
label
=
label
+
1
label
=
label
+
1
elseif
c
:
IsAttribute
(
SKILL_THRICE_TRIGGER
)
then
elseif
c
:
IsAttribute
(
SKILL_THRICE_TRIGGER
)
then
...
@@ -549,9 +549,10 @@ end
...
@@ -549,9 +549,10 @@ end
function
VgD
.
CardTriggerCondtion
(
chkcon
)
function
VgD
.
CardTriggerCondtion
(
chkcon
)
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
rc
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
()
local
cp
=
tp
local
cp
=
tp
if
chkcon
==
0
then
cp
=
1
-
tp
end
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
end
end
function
VgD
.
CardTriggerOperation
(
chkop
,
f
)
function
VgD
.
CardTriggerOperation
(
chkop
,
f
)
...
@@ -582,6 +583,7 @@ 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
()
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
)
Duel
.
SendtoGrave
(
tc
,
REASON_TRIGGER
)
Duel
.
Recover
(
tp
,
1
,
REASON_RULE
)
end
end
end
end
elseif
c
:
IsRace
(
TRRIGGER_ADVANCE
)
then
elseif
c
:
IsRace
(
TRRIGGER_ADVANCE
)
then
...
@@ -629,12 +631,12 @@ function VgD.CardTriggerOperation(chkop,f)
...
@@ -629,12 +631,12 @@ function VgD.CardTriggerOperation(chkop,f)
local
rc
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
()
local
rc
=
Duel
.
GetMatchingGroup
(
VgF
.
VMonsterFilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
):
GetFirst
()
local
label
=
rc
:
GetFlagEffectLabel
(
AttackTriggerFlag
)
local
label
=
rc
:
GetFlagEffectLabel
(
AttackTriggerFlag
)
if
not
label
then
return
end
if
not
label
then
return
end
if
label
>
0
then
if
label
>
1
then
label
=
label
-
1
label
=
label
-
1
Duel
.
RaiseEvent
(
c
,
EVENT_CUSTOM
+
EVENT_TRIGGER
,
e
,
0
,
tp
,
tp
,
0
)
Duel
.
RaiseEvent
(
c
,
EVENT_CUSTOM
+
EVENT_TRIGGER
,
e
,
0
,
tp
,
tp
,
0
)
rc
:
ResetFlagEffect
(
AttackTriggerFlag
)
rc
:
ResetFlagEffect
(
AttackTriggerFlag
)
rc
:
RegisterFlagEffect
(
AttackTriggerFlag
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
,
label
)
rc
:
RegisterFlagEffect
(
AttackTriggerFlag
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
,
label
)
elseif
label
==
0
then
elseif
label
==
1
then
rc
:
ResetFlagEffect
(
AttackTriggerFlag
)
rc
:
ResetFlagEffect
(
AttackTriggerFlag
)
end
end
end
end
...
@@ -1025,8 +1027,9 @@ function VgD.TriggerCountUpOperation(num)
...
@@ -1025,8 +1027,9 @@ function VgD.TriggerCountUpOperation(num)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
label
=
c
:
GetFlagEffectLabel
(
AttackTriggerFlag
)
local
label
=
c
:
GetFlagEffectLabel
(
AttackTriggerFlag
)
if
not
label
then
if
label
and
label
>
0
then
label
=
label
+
num
label
=
label
+
num
if
label
<
0
then
label
=
0
end
c
:
ResetFlagEffect
(
AttackTriggerFlag
)
c
:
ResetFlagEffect
(
AttackTriggerFlag
)
c
:
RegisterFlagEffect
(
AttackTriggerFlag
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
,
label
)
c
:
RegisterFlagEffect
(
AttackTriggerFlag
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
,
label
)
else
else
...
...
VgDefinition.Lua
View file @
91b7f751
...
@@ -24,7 +24,7 @@ LOCATION_EMBLEM =0x8000 --纹章区
...
@@ -24,7 +24,7 @@ LOCATION_EMBLEM =0x8000 --纹章区
LOCATION_RIDE
=
LOCATION_EXTRA
LOCATION_RIDE
=
LOCATION_EXTRA
LOCATION_DROP
=
LOCATION_GRAVE
LOCATION_DROP
=
LOCATION_GRAVE
LOCATION_LOCK
=
LOCATION_REMOVED
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则为弹回卡组顶部
--Locations (for redirect) 若在重定向类效果中仅指定LOCATION_DECK则为弹回卡组顶部
LOCATION_DECKBOT
=
0x10001
--弹回卡组底部
LOCATION_DECKBOT
=
0x10001
--弹回卡组底部
LOCATION_DECKSHF
=
0x20001
--弹回卡组并洗牌
LOCATION_DECKSHF
=
0x20001
--弹回卡组并洗牌
...
@@ -145,7 +145,7 @@ SUMMON_TYPE_RIDE =0x49000000 --骑升
...
@@ -145,7 +145,7 @@ SUMMON_TYPE_RIDE =0x49000000 --骑升
SUMMON_TYPE_LINK
=
0x4c000000
--连接召唤
SUMMON_TYPE_LINK
=
0x4c000000
--连接召唤
--Summon Value --特定的召唤方式
--Summon Value --特定的召唤方式
SUMMON_VALUE_CALL
=
0x1
--通常CALL出场
SUMMON_VALUE_CALL
=
0x1
--通常CALL出场
SUMMON_VALUE_
SYNCHRO_MATERIAL
=
0x11
--特殊召唤并作为同调素材(黑羽-东云之东风检查)
SUMMON_VALUE_
REVOLT
=
0x2
--反抗舞装
SUMMON_VALUE_DARK_SANCTUARY
=
0x12
--暗黑圣域
SUMMON_VALUE_DARK_SANCTUARY
=
0x12
--暗黑圣域
SUMMON_VALUE_MONSTER_REBORN
=
0x13
--死者苏生(千年的启示)
SUMMON_VALUE_MONSTER_REBORN
=
0x13
--死者苏生(千年的启示)
SUMMON_VALUE_MASK_CHANGE
=
0x14
--
SUMMON_VALUE_MASK_CHANGE
=
0x14
--
...
...
VgFuncLib.lua
View file @
91b7f751
...
@@ -304,10 +304,12 @@ end
...
@@ -304,10 +304,12 @@ end
---将g(中的每一张卡)Call到单位区。返回Call成功的数量。
---将g(中的每一张卡)Call到单位区。返回Call成功的数量。
---@param g Card|Group 要Call的卡(片组)
---@param g Card|Group 要Call的卡(片组)
---@param sumtype integer Call的方式,默认填0
---@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 zone integer 指示要Call到的格子。<br>前列的R:17; 后列的R:14; 全部的R:31; V:32
---@param pos integer 表示形式
---@return integer Call成功的数量
---@return integer Call成功的数量
function
VgF
.
Call
(
g
,
sumtype
,
tp
,
zone
,
pos
)
function
VgF
.
Call
(
g
,
sumtype
,
tp
,
zone
,
pos
)
if
not
g
then
return
0
end
if
VgF
.
GetValueType
(
pos
)
~=
"number"
then
pos
=
POS_FACEUP_ATTACK
end
if
VgF
.
GetValueType
(
pos
)
~=
"number"
then
pos
=
POS_FACEUP_ATTACK
end
if
zone
and
zone
>
0
then
if
zone
and
zone
>
0
then
local
z
=
VgF
.
GetAvailableLocation
(
tp
,
zone
)
local
z
=
VgF
.
GetAvailableLocation
(
tp
,
zone
)
...
@@ -392,6 +394,38 @@ function VgF.AtkUp(c,g,val,reset)
...
@@ -392,6 +394,38 @@ function VgF.AtkUp(c,g,val,reset)
return
e1
,
1
return
e1
,
1
end
end
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时重置。
---以c的名义,使g(中的每一张卡)的☆上升val,并在reset时重置。
---@param c Card 要使卡上升☆的卡
---@param c Card 要使卡上升☆的卡
---@param g Card|Group 要被上升☆的卡
---@param g Card|Group 要被上升☆的卡
...
@@ -562,7 +596,7 @@ function VgF.SearchCard(loc,f)
...
@@ -562,7 +596,7 @@ function VgF.SearchCard(loc,f)
end
end
function
VgF
.
SearchCardOP
(
loc
,
f
,
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
function
(
c
)
local
g
=
Duel
.
SelectMatchingCard
(
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
c
:
IsAbleToHand
()
...
@@ -647,22 +681,16 @@ function VgF.BackFilter(c)
...
@@ -647,22 +681,16 @@ function VgF.BackFilter(c)
local
seq
=
c
:
GetSequence
()
local
seq
=
c
:
GetSequence
()
return
(
seq
==
1
or
seq
==
2
or
seq
==
3
)
and
c
:
IsType
(
TYPE_MONSTER
)
return
(
seq
==
1
or
seq
==
2
or
seq
==
3
)
and
c
:
IsType
(
TYPE_MONSTER
)
end
end
function
VgF
.
SetOrder
Filter
(
c
,
ct
)
function
VgF
.
Prison
Filter
(
c
,
ct
)
return
c
:
GetSequence
()
==
ct
-
1
return
c
:
GetSequence
()
==
ct
-
1
end
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的监狱。没有监狱时,不操作。
---收容g(中的每一张卡)到p的监狱。没有监狱时,不操作。
---@param g Card|Group
---@param g Card|Group
---@param p integer
---@param p integer
function
VgF
.
SendtoPrison
(
g
,
p
)
function
VgF
.
SendtoPrison
(
g
,
p
)
if
not
VgF
.
CheckPrison
(
p
)
or
not
g
then
return
end
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
if
VgF
.
GetValueType
(
g
)
==
"Card"
then
Duel
.
Sendto
(
g
,
p
,
LOCATION_ORDER
,
POS_FACEUP_ATTACK
,
REASON_EFFECT
)
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
))
g
:
RegisterFlagEffect
(
ImprisonFlag
,
RESET_EVENT
+
RESETS_STANDARD
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
0
,
vgf
.
Stringid
(
10105015
,
0
))
...
@@ -678,6 +706,23 @@ end
...
@@ -678,6 +706,23 @@ end
---@param p integer
---@param p integer
---@return boolean 指示p场上有没有监狱。
---@return boolean 指示p场上有没有监狱。
function
VgF
.
CheckPrison
(
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
)
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
end
\ No newline at end of file
c10203001.lua
View file @
91b7f751
local
cm
,
m
,
o
=
GetID
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgf
.
VgCard
(
c
)
vgf
.
VgCard
(
c
)
--【永】:这张卡将要被RIDE之际,这张卡也当做「朱斯贝克 “破天黎骑”」使用。
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
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
()
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
.
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
)
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
()
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
,
10203002
,
cm
.
operation
,
vgf
.
OverlayCost
(
1
))
vgd
.
EffectTypeContinuousChangeAttack
(
c
,
EFFECT_TYPE_SINGLE
,
2000
,
cm
.
con
)
end
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
()
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
,
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
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
()
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
,
vgf
.
DamageCost
(
2
),
cm
.
condition
,
nil
,
1
)
end
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
()
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
)
end
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
()
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
,
loc
,
EFFECT_TYPE_SINGLE
,
EVENT_MOVE
,
cm
.
op
,
nil
,
cm
.
con
)
end
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
()
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
,
loc
,
EFFECT_TYPE_SINGLE
,
EVENT_DISCARD
,
cm
.
operation
,
vgf
.
True
,
cm
.
condition
)
end
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
()
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_BATTLED
,
cm
.
operation
,
cm
.
cost
,
cm
.
condition
)
end
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
()
local
cm
,
m
,
o
=
GetID
()
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
vgf
.
VgCard
(
c
)
vgf
.
VgCard
(
c
)
vgd
.
SpellActivate
(
c
,
m
,
vgf
.
SearchCard
(
LOCATION_DECK
,
cm
.
filter
),
cm
.
condition
,
vgf
.
DamageCost
(
1
))
end
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