Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
no81cards
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
Huangnan
no81cards
Commits
e6f1e8a3
Commit
e6f1e8a3
authored
May 16, 2022
by
Nemo Ma
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
6e0e5330
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
106 additions
and
27 deletions
+106
-27
expansions/script/c33200071.lua
expansions/script/c33200071.lua
+2
-0
expansions/script/c33400035.lua
expansions/script/c33400035.lua
+7
-9
expansions/script/c33400411.lua
expansions/script/c33400411.lua
+3
-4
expansions/script/c33400437.lua
expansions/script/c33400437.lua
+1
-1
expansions/script/c33400636.lua
expansions/script/c33400636.lua
+10
-3
expansions/script/c33400707.lua
expansions/script/c33400707.lua
+2
-1
expansions/script/c33400711.lua
expansions/script/c33400711.lua
+3
-2
expansions/script/c53716001.lua
expansions/script/c53716001.lua
+23
-1
expansions/script/c53716010.lua
expansions/script/c53716010.lua
+18
-1
expansions/script/c53716011.lua
expansions/script/c53716011.lua
+19
-4
expansions/script/c53716013.lua
expansions/script/c53716013.lua
+18
-1
No files found.
expansions/script/c33200071.lua
View file @
e6f1e8a3
...
@@ -73,6 +73,8 @@ function c33200071.thop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -73,6 +73,8 @@ function c33200071.thop(e,tp,eg,ep,ev,re,r,rp)
local
cg
=
sg1
:
RandomSelect
(
1
-
tp
,
1
)
local
cg
=
sg1
:
RandomSelect
(
1
-
tp
,
1
)
local
tc
=
cg
:
GetFirst
()
local
tc
=
cg
:
GetFirst
()
Duel
.
SendtoHand
(
tc
,
nil
,
REASON_EFFECT
)
Duel
.
SendtoHand
(
tc
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
tc
)
Duel
.
ShuffleHand
()
Duel
.
ShuffleDeck
(
tp
)
Duel
.
ShuffleDeck
(
tp
)
end
end
end
end
expansions/script/c33400035.lua
View file @
e6f1e8a3
...
@@ -66,13 +66,13 @@ function c33400035.ovfilter(c)
...
@@ -66,13 +66,13 @@ function c33400035.ovfilter(c)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x341
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x341
)
end
end
function
c33400035
.
refilter1
(
c
)
function
c33400035
.
refilter1
(
c
)
return
c
:
IsXyzType
(
TYPE_XYZ
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsSetCard
(
0x3341
)
return
c
:
IsXyzType
(
TYPE_XYZ
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsSetCard
(
0x3341
)
and
c
:
IsAbleToRemoveAsCost
()
end
end
function
c33400035
.
refilter2
(
c
)
function
c33400035
.
refilter2
(
c
)
return
c
:
IsXyzType
(
TYPE_XYZ
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsSetCard
(
0x6342
)
return
c
:
IsXyzType
(
TYPE_XYZ
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsSetCard
(
0x6342
)
and
c
:
IsAbleToRemoveAsCost
()
end
end
function
c33400035
.
refilter3
(
c
)
function
c33400035
.
refilter3
(
c
)
return
c
:
IsXyzType
(
TYPE_XYZ
)
and
c
:
IsType
(
TYPE_MONSTER
)
return
c
:
IsXyzType
(
TYPE_XYZ
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsAbleToRemoveAsCost
()
end
end
function
c33400035
.
check
(
g
)
function
c33400035
.
check
(
g
)
return
g
:
IsExists
(
Card
.
IsSetCard
,
1
,
nil
,
0x3341
)
and
g
:
IsExists
(
Card
.
IsSetCard
,
1
,
nil
,
0x6342
)
return
g
:
IsExists
(
Card
.
IsSetCard
,
1
,
nil
,
0x3341
)
and
g
:
IsExists
(
Card
.
IsSetCard
,
1
,
nil
,
0x6342
)
...
@@ -81,9 +81,7 @@ function c33400035.xyzop(e,tp,chk,c)
...
@@ -81,9 +81,7 @@ function c33400035.xyzop(e,tp,chk,c)
local
g1nm
=
Duel
.
GetMatchingGroupCount
(
c33400035
.
refilter1
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
local
g1nm
=
Duel
.
GetMatchingGroupCount
(
c33400035
.
refilter1
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
local
g2nm
=
Duel
.
GetMatchingGroupCount
(
c33400035
.
refilter2
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
local
g2nm
=
Duel
.
GetMatchingGroupCount
(
c33400035
.
refilter2
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
local
g3nm
=
Duel
.
GetMatchingGroupCount
(
c33400035
.
refilter3
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
local
g3nm
=
Duel
.
GetMatchingGroupCount
(
c33400035
.
refilter3
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
local
cnm
=
g1nm
+
g2nm
if
chk
==
0
then
return
g1nm
>=
1
and
g2nm
>=
1
and
g3nm
>=
3
end
local
cnm2
=
g3nm
-
cnm
if
chk
==
0
then
return
cnm
>=
3
or
(
g1nm
==
1
and
g2nm
==
1
and
cnm2
>=
1
)
end
local
g
=
Duel
.
GetMatchingGroup
(
c33400035
.
refilter3
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
local
g
=
Duel
.
GetMatchingGroup
(
c33400035
.
refilter3
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
g1
=
g
:
SelectSubGroup
(
tp
,
c33400035
.
check
,
false
,
3
,
99
)
local
g1
=
g
:
SelectSubGroup
(
tp
,
c33400035
.
check
,
false
,
3
,
99
)
...
@@ -151,7 +149,7 @@ end
...
@@ -151,7 +149,7 @@ end
function
c33400035
.
matg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c33400035
.
matg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c33400035
.
cfilter1
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c33400035
.
cfilter1
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_XMATERIAL
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_XMATERIAL
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c33400035
.
thfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c33400035
.
cfilter1
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
end
end
function
c33400035
.
maop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c33400035
.
maop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
Duel
.
GetFirstTarget
()
local
tc
=
Duel
.
GetFirstTarget
()
...
@@ -203,13 +201,13 @@ function c33400035.TojiEquip(ec,e,tp,eg,ep,ev,re,r,rp)
...
@@ -203,13 +201,13 @@ function c33400035.TojiEquip(ec,e,tp,eg,ep,ev,re,r,rp)
token
:
CancelToGrave
()
token
:
CancelToGrave
()
if
Duel
.
Equip
(
tp
,
token
,
ec
,
false
)
then
if
Duel
.
Equip
(
tp
,
token
,
ec
,
false
)
then
--immune
--immune
local
e4
=
Effect
.
CreateEffect
(
ec
)
local
e4
=
Effect
.
CreateEffect
(
token
)
e4
:
SetType
(
EFFECT_TYPE_EQUIP
)
e4
:
SetType
(
EFFECT_TYPE_EQUIP
)
e4
:
SetCode
(
EFFECT_IMMUNE_EFFECT
)
e4
:
SetCode
(
EFFECT_IMMUNE_EFFECT
)
e4
:
SetValue
(
c33400035
.
efilter1
)
e4
:
SetValue
(
c33400035
.
efilter1
)
token
:
RegisterEffect
(
e4
)
token
:
RegisterEffect
(
e4
)
--indes
--indes
local
e5
=
Effect
.
CreateEffect
(
ec
)
local
e5
=
Effect
.
CreateEffect
(
token
)
e5
:
SetType
(
EFFECT_TYPE_EQUIP
)
e5
:
SetType
(
EFFECT_TYPE_EQUIP
)
e5
:
SetCode
(
EFFECT_INDESTRUCTABLE_COUNT
)
e5
:
SetCode
(
EFFECT_INDESTRUCTABLE_COUNT
)
e5
:
SetValue
(
c33400035
.
valcon
)
e5
:
SetValue
(
c33400035
.
valcon
)
...
...
expansions/script/c33400411.lua
View file @
e6f1e8a3
...
@@ -53,10 +53,10 @@ function c33400411.ovfilter(c)
...
@@ -53,10 +53,10 @@ function c33400411.ovfilter(c)
return
c
:
IsFaceup
()
return
c
:
IsFaceup
()
end
end
function
c33400411
.
refilter1
(
c
)
function
c33400411
.
refilter1
(
c
)
return
c
:
IsXyzType
(
TYPE_XYZ
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsSetCard
(
0x5342
)
return
c
:
IsXyzType
(
TYPE_XYZ
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsSetCard
(
0x5342
)
and
c
:
IsSetCard
(
0x341
)
and
c
:
IsAbleToRemoveAsCost
()
end
end
function
c33400411
.
refilter2
(
c
)
function
c33400411
.
refilter2
(
c
)
return
c
:
IsXyzType
(
TYPE_XYZ
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsSetCard
(
0x341
)
return
c
:
IsXyzType
(
TYPE_XYZ
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsSetCard
(
0x341
)
and
c
:
IsAbleToRemoveAsCost
()
end
end
function
c33400411
.
check
(
g
)
function
c33400411
.
check
(
g
)
return
g
:
IsExists
(
Card
.
IsSetCard
,
1
,
nil
,
0x5342
)
return
g
:
IsExists
(
Card
.
IsSetCard
,
1
,
nil
,
0x5342
)
...
@@ -64,8 +64,7 @@ end
...
@@ -64,8 +64,7 @@ end
function
c33400411
.
xyzop
(
e
,
tp
,
chk
,
c
)
function
c33400411
.
xyzop
(
e
,
tp
,
chk
,
c
)
local
g1nm
=
Duel
.
GetMatchingGroupCount
(
c33400411
.
refilter1
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
local
g1nm
=
Duel
.
GetMatchingGroupCount
(
c33400411
.
refilter1
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
local
g2nm
=
Duel
.
GetMatchingGroupCount
(
c33400411
.
refilter2
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
local
g2nm
=
Duel
.
GetMatchingGroupCount
(
c33400411
.
refilter2
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
local
cnm
=
g2nm
-
g1nm
if
chk
==
0
then
return
g1nm
>=
1
and
g2nm
>=
3
end
if
chk
==
0
then
return
cnm
>=
3
or
(
g1nm
>=
1
and
g2nm
>=
3
)
end
local
g
=
Duel
.
GetMatchingGroup
(
c33400411
.
refilter2
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
local
g
=
Duel
.
GetMatchingGroup
(
c33400411
.
refilter2
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
g1
=
g
:
SelectSubGroup
(
tp
,
c33400411
.
check
,
false
,
3
,
99
)
local
g1
=
g
:
SelectSubGroup
(
tp
,
c33400411
.
check
,
false
,
3
,
99
)
...
...
expansions/script/c33400437.lua
View file @
e6f1e8a3
...
@@ -72,7 +72,7 @@ function cm.cfilter2(c)
...
@@ -72,7 +72,7 @@ function cm.cfilter2(c)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x6343
)
and
c
:
IsType
(
TYPE_SPELL
+
TYPE_EQUIP
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0x6343
)
and
c
:
IsType
(
TYPE_SPELL
+
TYPE_EQUIP
)
end
end
function
cm
.
atkval2
(
e
,
c
)
function
cm
.
atkval2
(
e
,
c
)
return
Duel
.
GetMatchingGroupCount
(
cm
.
cfilter2
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
)
return
Duel
.
GetMatchingGroupCount
(
cm
.
cfilter2
,
e
:
GetHandlerPlayer
()
,
LOCATION_ONFIELD
,
0
,
nil
)
end
end
function
cm
.
con3
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
con3
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
...
expansions/script/c33400636.lua
View file @
e6f1e8a3
...
@@ -44,6 +44,7 @@ function cm.initial_effect(c)
...
@@ -44,6 +44,7 @@ function cm.initial_effect(c)
e4
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e4
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e4
:
SetCountLimit
(
2
,
m
)
e4
:
SetCountLimit
(
2
,
m
)
e4
:
SetRange
(
LOCATION_MZONE
)
e4
:
SetRange
(
LOCATION_MZONE
)
e4
:
SetCondition
(
cm
.
con
)
e4
:
SetCost
(
cm
.
discost
)
e4
:
SetCost
(
cm
.
discost
)
e4
:
SetTarget
(
cm
.
target
)
e4
:
SetTarget
(
cm
.
target
)
e4
:
SetOperation
(
cm
.
activate
)
e4
:
SetOperation
(
cm
.
activate
)
...
@@ -55,6 +56,7 @@ function cm.initial_effect(c)
...
@@ -55,6 +56,7 @@ function cm.initial_effect(c)
e5
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e5
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e5
:
SetCountLimit
(
2
,
m
)
e5
:
SetCountLimit
(
2
,
m
)
e5
:
SetRange
(
LOCATION_MZONE
)
e5
:
SetRange
(
LOCATION_MZONE
)
e5
:
SetCondition
(
cm
.
con
)
e5
:
SetCost
(
cm
.
discost
)
e5
:
SetCost
(
cm
.
discost
)
e5
:
SetTarget
(
cm
.
target
)
e5
:
SetTarget
(
cm
.
target
)
e5
:
SetOperation
(
cm
.
activate
)
e5
:
SetOperation
(
cm
.
activate
)
...
@@ -66,6 +68,7 @@ function cm.initial_effect(c)
...
@@ -66,6 +68,7 @@ function cm.initial_effect(c)
e6
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e6
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e6
:
SetCountLimit
(
2
,
m
)
e6
:
SetCountLimit
(
2
,
m
)
e6
:
SetRange
(
LOCATION_MZONE
)
e6
:
SetRange
(
LOCATION_MZONE
)
e6
:
SetCondition
(
cm
.
con
)
e6
:
SetCost
(
cm
.
discost
)
e6
:
SetCost
(
cm
.
discost
)
e6
:
SetTarget
(
cm
.
target
)
e6
:
SetTarget
(
cm
.
target
)
e6
:
SetOperation
(
cm
.
activate
)
e6
:
SetOperation
(
cm
.
activate
)
...
@@ -117,6 +120,9 @@ function cm.aclimit(e,re,tp)
...
@@ -117,6 +120,9 @@ function cm.aclimit(e,re,tp)
return
re
:
GetActivateLocation
()
==
LOCATION_REMOVED
return
re
:
GetActivateLocation
()
==
LOCATION_REMOVED
end
end
function
cm
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
not
eg
:
IsContains
(
e
:
GetHandler
())
end
function
cm
.
discost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
discost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
ft
=
0
local
ft
=
0
if
e
:
GetHandler
():
GetFlagEffect
(
33401301
)
>
0
then
ft
=
1
end
if
e
:
GetHandler
():
GetFlagEffect
(
33401301
)
>
0
then
ft
=
1
end
...
@@ -125,14 +131,15 @@ function cm.discost(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -125,14 +131,15 @@ function cm.discost(e,tp,eg,ep,ev,re,r,rp,chk)
e
:
GetHandler
():
RemoveOverlayCard
(
tp
,
1
,
1
,
REASON_COST
)
e
:
GetHandler
():
RemoveOverlayCard
(
tp
,
1
,
1
,
REASON_COST
)
end
end
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
,
mc
)
return
c
:
IsAbleToRemove
()
return
c
:
IsAbleToRemove
()
end
end
function
cm
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
cm
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chk
==
0
then
return
eg
:
IsExists
(
cm
.
filter
,
1
,
nil
)
end
if
chk
==
0
then
return
eg
:
IsExists
(
cm
.
filter
,
1
,
nil
,
e
:
GetHandler
()
)
end
local
g
=
eg
:
Filter
(
cm
.
filter
,
nil
)
local
g
=
eg
:
Filter
(
cm
.
filter
,
nil
)
Duel
.
SetTargetCard
(
g
)
Duel
.
SetTargetCard
(
g
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_REMOVE
,
g
,
g
:
GetCount
(),
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_REMOVE
,
g
,
g
:
GetCount
(),
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_LEAVE_GRAVE
,
nil
,
1
,
tp
,
LOCATION_GRAVE
)
end
end
function
cm
.
efilter
(
c
,
e
)
function
cm
.
efilter
(
c
,
e
)
return
c
:
IsRelateToEffect
(
e
)
return
c
:
IsRelateToEffect
(
e
)
...
...
expansions/script/c33400707.lua
View file @
e6f1e8a3
...
@@ -171,7 +171,8 @@ function cm.activate2(e,tp,eg,ep,ev,re,r,rp)
...
@@ -171,7 +171,8 @@ function cm.activate2(e,tp,eg,ep,ev,re,r,rp)
end
end
function
cm
.
setfilter
(
c
)
function
cm
.
setfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsCanTurnSet
()
return
c
:
IsFaceup
()
and
(
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsCanTurnSet
())
and
(
c
:
IsType
(
TYPE_SPELL
+
TYPE_TRAP
)
and
c
:
IsSSetable
())
end
end
function
cm
.
atktg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
atktg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
cm
.
setfilter
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
1
,
nil
)
end
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
cm
.
setfilter
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
1
,
nil
)
end
...
...
expansions/script/c33400711.lua
View file @
e6f1e8a3
...
@@ -38,10 +38,11 @@ end
...
@@ -38,10 +38,11 @@ end
function
cm
.
setop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
setop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
Duel
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
then
return
end
if
not
Duel
.
IsExistingMatchingCard
(
cm
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SET
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SET
)
local
tc
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
local
tg
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
local
tc
=
tg
:
GetFirst
()
Duel
.
SSet
(
tp
,
tc
)
Duel
.
SSet
(
tp
,
tc
)
if
Duel
.
IsExistingMatchingCard
(
cm
.
ckfilter
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
nil
)
then
if
Duel
.
IsExistingMatchingCard
(
cm
.
ckfilter
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
nil
)
then
if
tc
:
IsType
(
TYPE_TRAP
)
then
if
tc
:
IsType
(
TYPE_TRAP
)
then
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_TRAP_ACT_IN_SET_TURN
)
e1
:
SetCode
(
EFFECT_TRAP_ACT_IN_SET_TURN
)
...
...
expansions/script/c53716001.lua
View file @
e6f1e8a3
...
@@ -43,10 +43,32 @@ function cm.initial_effect(c)
...
@@ -43,10 +43,32 @@ function cm.initial_effect(c)
e7
:
SetOperation
(
cm
.
spop
)
e7
:
SetOperation
(
cm
.
spop
)
c
:
RegisterEffect
(
e7
)
c
:
RegisterEffect
(
e7
)
end
end
function
cm
.
fselect
(
g
,
ft
,
res
)
function
cm
.
banned
fselect
(
g
,
ft
,
res
)
local
sel
=
g
:
IsExists
(
function
(
c
)
return
c
:
IsLocation
(
LOCATION_SZONE
)
and
c
:
GetSequence
()
~=
5
and
c
:
IsFaceup
()
end
,
1
,
nil
)
or
ft
>
0
local
sel
=
g
:
IsExists
(
function
(
c
)
return
c
:
IsLocation
(
LOCATION_SZONE
)
and
c
:
GetSequence
()
~=
5
and
c
:
IsFaceup
()
end
,
1
,
nil
)
or
ft
>
0
return
sel
and
((
res
and
#
g
~=
2
and
(
g
:
IsExists
(
function
(
c
)
return
bit
.
band
(
c
:
GetType
(),
0x20002
)
==
0x20002
and
c
:
IsSetCard
(
0x353b
)
end
,
1
,
nil
)
or
#
g
==
3
))
or
(
not
res
and
#
g
==
3
))
return
sel
and
((
res
and
#
g
~=
2
and
(
g
:
IsExists
(
function
(
c
)
return
bit
.
band
(
c
:
GetType
(),
0x20002
)
==
0x20002
and
c
:
IsSetCard
(
0x353b
)
end
,
1
,
nil
)
or
#
g
==
3
))
or
(
not
res
and
#
g
==
3
))
end
end
function
cm
.
bannedcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
costg
=
Duel
.
GetMatchingGroup
(
function
(
c
)
return
c
:
IsType
(
TYPE_CONTINUOUS
)
and
c
:
IsReleasable
()
end
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
local
res
=
Duel
.
GetTurnPlayer
()
==
1
-
tp
and
Duel
.
GetCurrentPhase
()
==
PHASE_END
if
chk
==
0
then
return
costg
:
CheckSubGroup
(
cm
.
bannedfselect
,
1
,
3
,
ft
,
res
)
and
not
e
:
GetHandler
():
IsForbidden
()
end
Duel
.
ConfirmCards
(
1
-
tp
,
e
:
GetHandler
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_RELEASE
)
local
g
=
costg
:
SelectSubGroup
(
tp
,
cm
.
bannedfselect
,
false
,
1
,
3
,
ft
,
res
)
local
cg
=
g
:
Filter
(
Card
.
IsFacedown
,
nil
)
if
#
cg
>
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
cg
)
end
local
list
=
{}
for
tc
in
aux
.
Next
(
g
)
do
if
tc
:
IsLocation
(
LOCATION_SZONE
)
and
tc
:
IsFacedown
()
and
tc
:
GetSequence
()
~=
5
then
table.insert
(
list
,
tc
:
GetSequence
())
end
end
if
#
list
>
0
then
table.insert
(
list
,
5
)
e
:
SetLabel
(
table.unpack
(
list
))
else
e
:
SetLabel
(
5
)
end
Duel
.
Release
(
g
,
REASON_EFFECT
)
end
function
cm
.
fselect
(
g
,
ft
,
res
)
local
sel
=
ft
>
0
return
sel
and
((
res
and
#
g
~=
2
and
(
g
:
IsExists
(
function
(
c
)
return
bit
.
band
(
c
:
GetType
(),
0x20002
)
==
0x20002
and
c
:
IsSetCard
(
0x353b
)
end
,
1
,
nil
)
or
#
g
==
3
))
or
(
not
res
and
#
g
==
3
))
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
costg
=
Duel
.
GetMatchingGroup
(
function
(
c
)
return
c
:
IsType
(
TYPE_CONTINUOUS
)
and
c
:
IsReleasable
()
end
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
)
local
costg
=
Duel
.
GetMatchingGroup
(
function
(
c
)
return
c
:
IsType
(
TYPE_CONTINUOUS
)
and
c
:
IsReleasable
()
end
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
...
...
expansions/script/c53716010.lua
View file @
e6f1e8a3
...
@@ -34,7 +34,7 @@ end
...
@@ -34,7 +34,7 @@ end
function
cm
.
fselect
(
g
,
ft
)
function
cm
.
fselect
(
g
,
ft
)
return
g
:
IsExists
(
function
(
c
)
return
c
:
IsLocation
(
LOCATION_SZONE
)
and
c
:
GetSequence
()
~=
5
and
c
:
IsFaceup
()
end
,
1
,
nil
)
or
ft
>
0
return
g
:
IsExists
(
function
(
c
)
return
c
:
IsLocation
(
LOCATION_SZONE
)
and
c
:
GetSequence
()
~=
5
and
c
:
IsFaceup
()
end
,
1
,
nil
)
or
ft
>
0
end
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
banned
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
costg
=
Duel
.
GetMatchingGroup
(
function
(
c
)
return
c
:
IsType
(
TYPE_CONTINUOUS
)
and
c
:
IsReleasable
()
end
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
)
local
costg
=
Duel
.
GetMatchingGroup
(
function
(
c
)
return
c
:
IsType
(
TYPE_CONTINUOUS
)
and
c
:
IsReleasable
()
end
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
if
chk
==
0
then
return
costg
:
CheckSubGroup
(
cm
.
fselect
,
3
,
3
,
ft
)
and
not
e
:
GetHandler
():
IsForbidden
()
end
if
chk
==
0
then
return
costg
:
CheckSubGroup
(
cm
.
fselect
,
3
,
3
,
ft
)
and
not
e
:
GetHandler
():
IsForbidden
()
end
...
@@ -44,6 +44,23 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -44,6 +44,23 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local
cg
=
g
:
Filter
(
Card
.
IsFacedown
,
nil
)
local
cg
=
g
:
Filter
(
Card
.
IsFacedown
,
nil
)
if
#
cg
>
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
cg
)
end
if
#
cg
>
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
cg
)
end
local
list
=
{}
local
list
=
{}
for
tc
in
aux
.
Next
(
g
)
do
if
tc
:
IsLocation
(
LOCATION_SZONE
)
and
tc
:
IsFacedown
()
and
tc
:
GetSequence
()
~=
5
then
table.insert
(
list
,
tc
:
GetSequence
())
end
end
if
#
list
>
0
then
table.insert
(
list
,
5
)
e
:
SetLabel
(
table.unpack
(
list
))
else
e
:
SetLabel
(
5
)
end
Duel
.
Release
(
g
,
REASON_EFFECT
)
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
cost
=
Duel
.
GetMatchingGroup
(
function
(
c
)
return
c
:
IsType
(
TYPE_CONTINUOUS
)
and
c
:
IsReleasable
()
end
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
if
chk
==
0
then
return
#
cost
>
2
and
ft
>
0
and
not
e
:
GetHandler
():
IsForbidden
()
end
Duel
.
ConfirmCards
(
1
-
tp
,
e
:
GetHandler
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_RELEASE
)
local
g
=
cost
:
Select
(
tp
,
3
,
3
,
nil
)
local
cg
=
g
:
Filter
(
Card
.
IsFacedown
,
nil
)
if
#
cg
>
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
cg
)
end
local
list
=
{}
for
tc
in
aux
.
Next
(
g
)
do
if
tc
:
IsLocation
(
LOCATION_SZONE
)
and
tc
:
GetSequence
()
~=
5
then
table.insert
(
list
,
tc
:
GetSequence
())
end
end
for
tc
in
aux
.
Next
(
g
)
do
if
tc
:
IsLocation
(
LOCATION_SZONE
)
and
tc
:
GetSequence
()
~=
5
then
table.insert
(
list
,
tc
:
GetSequence
())
end
end
if
#
list
>
0
then
if
#
list
>
0
then
table.insert
(
list
,
5
)
table.insert
(
list
,
5
)
...
...
expansions/script/c53716011.lua
View file @
e6f1e8a3
...
@@ -34,7 +34,7 @@ end
...
@@ -34,7 +34,7 @@ end
function
cm
.
fselect
(
g
,
ft
)
function
cm
.
fselect
(
g
,
ft
)
return
g
:
IsExists
(
function
(
c
)
return
c
:
IsLocation
(
LOCATION_SZONE
)
and
c
:
GetSequence
()
~=
5
and
c
:
IsFaceup
()
end
,
1
,
nil
)
or
ft
>
0
return
g
:
IsExists
(
function
(
c
)
return
c
:
IsLocation
(
LOCATION_SZONE
)
and
c
:
GetSequence
()
~=
5
and
c
:
IsFaceup
()
end
,
1
,
nil
)
or
ft
>
0
end
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
banned
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
costg
=
Duel
.
GetMatchingGroup
(
function
(
c
)
return
c
:
IsType
(
TYPE_CONTINUOUS
)
and
c
:
IsReleasable
()
end
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
)
local
costg
=
Duel
.
GetMatchingGroup
(
function
(
c
)
return
c
:
IsType
(
TYPE_CONTINUOUS
)
and
c
:
IsReleasable
()
end
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
if
chk
==
0
then
return
costg
:
CheckSubGroup
(
cm
.
fselect
,
3
,
3
,
ft
)
and
not
e
:
GetHandler
():
IsForbidden
()
end
if
chk
==
0
then
return
costg
:
CheckSubGroup
(
cm
.
fselect
,
3
,
3
,
ft
)
and
not
e
:
GetHandler
():
IsForbidden
()
end
...
@@ -44,9 +44,24 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -44,9 +44,24 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local
cg
=
g
:
Filter
(
Card
.
IsFacedown
,
nil
)
local
cg
=
g
:
Filter
(
Card
.
IsFacedown
,
nil
)
if
#
cg
>
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
cg
)
end
if
#
cg
>
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
cg
)
end
local
list
=
{}
local
list
=
{}
for
tc
in
aux
.
Next
(
g
)
do
for
tc
in
aux
.
Next
(
g
)
do
if
tc
:
IsLocation
(
LOCATION_SZONE
)
and
tc
:
IsFacedown
()
and
tc
:
GetSequence
()
~=
5
then
table.insert
(
list
,
tc
:
GetSequence
())
end
end
if
tc
:
IsLocation
(
LOCATION_SZONE
)
and
tc
:
GetSequence
()
~=
5
then
table.insert
(
list
,
tc
:
GetSequence
())
end
if
#
list
>
0
then
end
table.insert
(
list
,
5
)
e
:
SetLabel
(
table.unpack
(
list
))
else
e
:
SetLabel
(
5
)
end
Duel
.
Release
(
g
,
REASON_EFFECT
)
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
cost
=
Duel
.
GetMatchingGroup
(
function
(
c
)
return
c
:
IsType
(
TYPE_CONTINUOUS
)
and
c
:
IsReleasable
()
end
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
if
chk
==
0
then
return
#
cost
>
2
and
ft
>
0
and
not
e
:
GetHandler
():
IsForbidden
()
end
Duel
.
ConfirmCards
(
1
-
tp
,
e
:
GetHandler
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_RELEASE
)
local
g
=
cost
:
Select
(
tp
,
3
,
3
,
nil
)
local
cg
=
g
:
Filter
(
Card
.
IsFacedown
,
nil
)
if
#
cg
>
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
cg
)
end
local
list
=
{}
for
tc
in
aux
.
Next
(
g
)
do
if
tc
:
IsLocation
(
LOCATION_SZONE
)
and
tc
:
GetSequence
()
~=
5
then
table.insert
(
list
,
tc
:
GetSequence
())
end
end
if
#
list
>
0
then
if
#
list
>
0
then
table.insert
(
list
,
5
)
table.insert
(
list
,
5
)
e
:
SetLabel
(
table.unpack
(
list
))
e
:
SetLabel
(
table.unpack
(
list
))
...
...
expansions/script/c53716013.lua
View file @
e6f1e8a3
...
@@ -30,7 +30,7 @@ end
...
@@ -30,7 +30,7 @@ end
function
cm
.
fselect
(
g
,
ft
)
function
cm
.
fselect
(
g
,
ft
)
return
g
:
IsExists
(
function
(
c
)
return
c
:
IsLocation
(
LOCATION_SZONE
)
and
c
:
GetSequence
()
~=
5
and
c
:
IsFaceup
()
end
,
1
,
nil
)
or
ft
>
0
return
g
:
IsExists
(
function
(
c
)
return
c
:
IsLocation
(
LOCATION_SZONE
)
and
c
:
GetSequence
()
~=
5
and
c
:
IsFaceup
()
end
,
1
,
nil
)
or
ft
>
0
end
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
banned
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
costg
=
Duel
.
GetMatchingGroup
(
function
(
c
)
return
c
:
IsType
(
TYPE_CONTINUOUS
)
and
c
:
IsReleasable
()
end
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
)
local
costg
=
Duel
.
GetMatchingGroup
(
function
(
c
)
return
c
:
IsType
(
TYPE_CONTINUOUS
)
and
c
:
IsReleasable
()
end
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
if
chk
==
0
then
return
costg
:
CheckSubGroup
(
cm
.
fselect
,
2
,
2
,
ft
)
and
not
e
:
GetHandler
():
IsForbidden
()
and
e
:
GetHandler
():
CheckUniqueOnField
(
tp
)
end
if
chk
==
0
then
return
costg
:
CheckSubGroup
(
cm
.
fselect
,
2
,
2
,
ft
)
and
not
e
:
GetHandler
():
IsForbidden
()
and
e
:
GetHandler
():
CheckUniqueOnField
(
tp
)
end
...
@@ -40,6 +40,23 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -40,6 +40,23 @@ function cm.cost(e,tp,eg,ep,ev,re,r,rp,chk)
local
cg
=
g
:
Filter
(
Card
.
IsFacedown
,
nil
)
local
cg
=
g
:
Filter
(
Card
.
IsFacedown
,
nil
)
if
#
cg
>
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
cg
)
end
if
#
cg
>
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
cg
)
end
local
list
=
{}
local
list
=
{}
for
tc
in
aux
.
Next
(
g
)
do
if
tc
:
IsLocation
(
LOCATION_SZONE
)
and
tc
:
IsFacedown
()
and
tc
:
GetSequence
()
~=
5
then
table.insert
(
list
,
tc
:
GetSequence
())
end
end
if
#
list
>
0
then
table.insert
(
list
,
5
)
e
:
SetLabel
(
table.unpack
(
list
))
else
e
:
SetLabel
(
5
)
end
Duel
.
Release
(
g
,
REASON_EFFECT
)
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
cost
=
Duel
.
GetMatchingGroup
(
function
(
c
)
return
c
:
IsType
(
TYPE_CONTINUOUS
)
and
c
:
IsReleasable
()
end
,
tp
,
LOCATION_ONFIELD
,
0
,
nil
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
if
chk
==
0
then
return
#
cost
>
1
and
ft
>
0
and
not
e
:
GetHandler
():
IsForbidden
()
end
Duel
.
ConfirmCards
(
1
-
tp
,
e
:
GetHandler
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_RELEASE
)
local
g
=
cost
:
Select
(
tp
,
2
,
2
,
nil
)
local
cg
=
g
:
Filter
(
Card
.
IsFacedown
,
nil
)
if
#
cg
>
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
cg
)
end
local
list
=
{}
for
tc
in
aux
.
Next
(
g
)
do
if
tc
:
IsLocation
(
LOCATION_SZONE
)
and
tc
:
GetSequence
()
~=
5
then
table.insert
(
list
,
tc
:
GetSequence
())
end
end
for
tc
in
aux
.
Next
(
g
)
do
if
tc
:
IsLocation
(
LOCATION_SZONE
)
and
tc
:
GetSequence
()
~=
5
then
table.insert
(
list
,
tc
:
GetSequence
())
end
end
if
#
list
>
0
then
if
#
list
>
0
then
table.insert
(
list
,
5
)
table.insert
(
list
,
5
)
...
...
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