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
Nemo Ma
no81cards
Commits
ab564c7b
Commit
ab564c7b
authored
Mar 20, 2024
by
POLYMER
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
dc0874f1
Changes
17
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
497 additions
and
121 deletions
+497
-121
expansions/script/c15000602.lua
expansions/script/c15000602.lua
+1
-0
expansions/script/c40009964.lua
expansions/script/c40009964.lua
+1
-1
expansions/script/c40011104.lua
expansions/script/c40011104.lua
+30
-1
expansions/script/c40011397.lua
expansions/script/c40011397.lua
+13
-0
expansions/script/c40011399.lua
expansions/script/c40011399.lua
+20
-5
expansions/script/c40011403.lua
expansions/script/c40011403.lua
+5
-7
expansions/script/c40011411.lua
expansions/script/c40011411.lua
+4
-1
expansions/script/c60152901.lua
expansions/script/c60152901.lua
+62
-8
expansions/script/c60152902.lua
expansions/script/c60152902.lua
+62
-8
expansions/script/c60152903.lua
expansions/script/c60152903.lua
+62
-8
expansions/script/c60152904.lua
expansions/script/c60152904.lua
+62
-8
expansions/script/c60152905.lua
expansions/script/c60152905.lua
+62
-9
expansions/script/c60152906.lua
expansions/script/c60152906.lua
+29
-10
expansions/script/c60152907.lua
expansions/script/c60152907.lua
+29
-10
expansions/script/c60152913.lua
expansions/script/c60152913.lua
+40
-40
expansions/script/c87470001.lua
expansions/script/c87470001.lua
+1
-1
expansions/script/c91000402.lua
expansions/script/c91000402.lua
+14
-4
No files found.
expansions/script/c15000602.lua
View file @
ab564c7b
...
@@ -28,6 +28,7 @@ function cm.initial_effect(c)
...
@@ -28,6 +28,7 @@ function cm.initial_effect(c)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
end
end
function
cm
.
regcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
regcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
e
:
GetHandler
():
GetReasonEffect
()
then
return
false
end
return
e
:
GetHandler
():
GetReasonEffect
():
GetHandler
():
IsCode
(
15000624
)
return
e
:
GetHandler
():
GetReasonEffect
():
GetHandler
():
IsCode
(
15000624
)
end
end
function
cm
.
regop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
regop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
...
expansions/script/c40009964.lua
View file @
ab564c7b
...
@@ -58,7 +58,7 @@ function cm.atkcost(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -58,7 +58,7 @@ function cm.atkcost(e,tp,eg,ep,ev,re,r,rp,chk)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
cm
.
atkfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
cm
.
atkfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FACEUP
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FACEUP
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
atkfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
atkfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
Duel
.
ChangePosition
(
g
,
POS_FACEDOWN_
ATTACK
)
Duel
.
ChangePosition
(
g
,
POS_FACEDOWN_
DEFENSE
)
end
end
function
cm
.
atkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
atkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
...
expansions/script/c40011104.lua
View file @
ab564c7b
...
@@ -9,7 +9,7 @@ function cm.initial_effect(c)
...
@@ -9,7 +9,7 @@ function cm.initial_effect(c)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e1
:
SetCode
(
EVENT_SUMMON_SUCCESS
)
e1
:
SetCode
(
EVENT_SUMMON_SUCCESS
)
e1
:
SetCountLimit
(
1
,
m
)
e1
:
SetCountLimit
(
1
,
m
+
1
)
e1
:
SetTarget
(
cm
.
sptg
)
e1
:
SetTarget
(
cm
.
sptg
)
e1
:
SetOperation
(
cm
.
spop
)
e1
:
SetOperation
(
cm
.
spop
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
...
@@ -24,6 +24,16 @@ function cm.initial_effect(c)
...
@@ -24,6 +24,16 @@ function cm.initial_effect(c)
e3
:
SetCode
(
EFFECT_CANNOT_SELECT_BATTLE_TARGET
)
e3
:
SetCode
(
EFFECT_CANNOT_SELECT_BATTLE_TARGET
)
e3
:
SetValue
(
cm
.
atlimit
)
e3
:
SetValue
(
cm
.
atlimit
)
c
:
RegisterEffect
(
e3
)
c
:
RegisterEffect
(
e3
)
--special summon
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_SPSUMMON_PROC
)
e1
:
SetProperty
(
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetCountLimit
(
1
,
m
+
EFFECT_COUNT_CODE_OATH
)
e1
:
SetCondition
(
cm
.
sprcon
)
e1
:
SetOperation
(
cm
.
sprop
)
c
:
RegisterEffect
(
e1
)
end
end
function
cm
.
spfilter
(
c
,
e
,
tp
)
function
cm
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0xf11
)
and
not
c
:
IsCode
(
m
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
return
c
:
IsSetCard
(
0xf11
)
and
not
c
:
IsCode
(
m
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
...
@@ -56,4 +66,23 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -56,4 +66,23 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp)
end
end
function
cm
.
atlimit
(
e
,
c
)
function
cm
.
atlimit
(
e
,
c
)
return
c
~=
e
:
GetHandler
()
and
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0xf11
)
return
c
~=
e
:
GetHandler
()
and
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0xf11
)
end
function
cm
.
sprfilter
(
c
)
return
c
:
IsSetCard
(
0xf11
)
and
c
:
IsAbleToDeckAsCost
()
end
function
cm
.
gcheck
(
g
)
return
g
:
IsExists
(
Card
.
IsType
,
1
,
nil
,
TYPE_CONTINUOUS
)
end
function
cm
.
sprcon
(
e
,
c
)
if
c
==
nil
then
return
true
end
local
tp
=
c
:
GetControler
()
local
g
=
Duel
.
GetMatchingGroup
(
cm
.
sprfilter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
g
:
CheckSubGroup
(
cm
.
gcheck
,
2
,
2
)
end
function
cm
.
sprop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
local
g
=
Duel
.
GetMatchingGroup
(
cm
.
sprfilter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
local
sg
=
g
:
SelectSubGroup
(
tp
,
cm
.
gcheck
,
false
,
2
,
2
)
Duel
.
SendtoDeck
(
sg
,
nil
,
2
,
REASON_COST
)
end
end
\ No newline at end of file
expansions/script/c40011397.lua
View file @
ab564c7b
...
@@ -55,6 +55,19 @@ function cm.lvop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -55,6 +55,19 @@ function cm.lvop(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetValue
(
ec
:
GetLevel
())
e1
:
SetValue
(
ec
:
GetLevel
())
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
RESET_DISABLE
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
RESET_DISABLE
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
if
Duel
.
IsCanRemoveCounter
(
tp
,
1
,
0
,
0xf11
,
1
,
REASON_EFFECT
)
and
Duel
.
IsPlayerCanSummon
(
tp
)
and
Duel
.
IsPlayerCanAdditionalSummon
(
tp
)
and
Duel
.
GetFlagEffect
(
tp
,
m
)
==
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
2
))
then
Duel
.
BreakEffect
()
Duel
.
RemoveCounter
(
tp
,
1
,
0
,
0xf11
,
1
,
REASON_EFFECT
)
local
e2
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e2
:
SetDescription
(
aux
.
Stringid
(
m
,
3
))
e2
:
SetType
(
EFFECT_TYPE_FIELD
)
e2
:
SetCode
(
EFFECT_EXTRA_SUMMON_COUNT
)
e2
:
SetTargetRange
(
LOCATION_HAND
+
LOCATION_MZONE
,
0
)
e2
:
SetTarget
(
aux
.
TargetBoolFunction
(
Card
.
IsSetCard
,
0xf11
))
e2
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e2
,
tp
)
Duel
.
RegisterFlagEffect
(
tp
,
m
,
RESET_PHASE
+
PHASE_END
,
0
,
1
)
end
end
end
end
end
end
end
...
...
expansions/script/c40011399.lua
View file @
ab564c7b
...
@@ -26,19 +26,22 @@ function cm.initial_effect(c)
...
@@ -26,19 +26,22 @@ function cm.initial_effect(c)
e2
:
SetOperation
(
cm
.
spop
)
e2
:
SetOperation
(
cm
.
spop
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
end
end
function
cm
.
filter
(
c
)
function
cm
.
filter
(
c
,
tp
)
return
c
:
GetType
()
&
(
TYPE_CONTINUOUS
+
TYPE_SPELL
)
==
TYPE_CONTINUOUS
+
TYPE_SPELL
and
c
:
IsSetCard
(
0xf11
)
and
c
:
IsFaceup
()
and
c
:
CheckActivateEffect
(
true
,
true
,
false
)
~=
nil
return
c
:
GetType
()
&
(
TYPE_CONTINUOUS
+
TYPE_SPELL
)
==
TYPE_CONTINUOUS
+
TYPE_SPELL
and
c
:
IsSetCard
(
0xf11
)
and
c
:
IsFaceup
()
and
c
:
CheckActivateEffect
(
true
,
true
,
false
)
~=
nil
and
Duel
.
IsExistingMatchingCard
(
cm
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
,
c
)
end
function
cm
.
thfilter
(
c
,
tc
)
return
c
:
IsSetCard
(
0xf11
)
and
c
:
IsAbleToHand
()
and
not
c
:
IsCode
(
tc
:
GetCode
())
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
chkc
then
if
chkc
then
local
te
=
e
:
GetLabelObject
()
local
te
=
e
:
GetLabelObject
()
local
tg
=
te
:
GetTarget
()
local
tg
=
te
:
GetTarget
()
return
chkc
:
IsSetCard
(
0xf11
)
and
chkc
:
GetType
()
&
(
TYPE_CONTINUOUS
+
TYPE_SPELL
)
==
TYPE_CONTINUOUS
+
TYPE_SPELL
and
tg
and
tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
0
,
chkc
)
return
chkc
:
IsSetCard
(
0xf11
)
and
chkc
:
GetType
()
&
(
TYPE_CONTINUOUS
+
TYPE_SPELL
)
==
TYPE_CONTINUOUS
+
TYPE_SPELL
and
tg
and
tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
0
,
chkc
,
tp
)
end
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
cm
.
filter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
nil
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
cm
.
filter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
nil
,
tp
)
end
e
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
local
g
=
Duel
.
SelectTarget
(
tp
,
cm
.
filter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectTarget
(
tp
,
cm
.
filter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
1
,
nil
,
tp
)
local
te
,
ceg
,
cep
,
cev
,
cre
,
cr
,
crp
=
g
:
GetFirst
():
CheckActivateEffect
(
true
,
true
,
true
)
local
te
,
ceg
,
cep
,
cev
,
cre
,
cr
,
crp
=
g
:
GetFirst
():
CheckActivateEffect
(
true
,
true
,
true
)
Duel
.
ClearTargetCard
()
Duel
.
ClearTargetCard
()
g
:
GetFirst
():
CreateEffectRelation
(
e
)
g
:
GetFirst
():
CreateEffectRelation
(
e
)
...
@@ -57,6 +60,18 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -57,6 +60,18 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
e
:
SetLabelObject
(
te
:
GetLabelObject
())
e
:
SetLabelObject
(
te
:
GetLabelObject
())
local
op
=
te
:
GetOperation
()
local
op
=
te
:
GetOperation
()
if
op
then
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
if
op
then
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
if
tc
:
IsAbleToGrave
()
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
0
))
then
Duel
.
BreakEffect
()
if
Duel
.
SendtoGrave
(
tc
,
REASON_EFFECT
)
>
0
and
tc
:
IsLocation
(
LOCATION_GRAVE
)
then
--Duel.SendtoGrave(tc,REASON_EFFECT)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
tc
)
if
g
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
g
,
tp
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
end
end
end
end
end
end
function
cm
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
...
expansions/script/c40011403.lua
View file @
ab564c7b
...
@@ -72,6 +72,10 @@ function s.target2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
...
@@ -72,6 +72,10 @@ function s.target2(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
te
:
SetLabelObject
(
e
:
GetLabelObject
())
te
:
SetLabelObject
(
e
:
GetLabelObject
())
e
:
SetLabelObject
(
te
)
e
:
SetLabelObject
(
te
)
Duel
.
ClearOperationInfo
(
0
)
Duel
.
ClearOperationInfo
(
0
)
Duel
.
SetChainLimit
(
s
.
chlimit
)
end
function
s
.
chlimit
(
e
,
ep
,
tp
)
return
tp
==
ep
end
end
function
s
.
operation2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
operation2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
te
=
e
:
GetLabelObject
()
local
te
=
e
:
GetLabelObject
()
...
@@ -84,13 +88,7 @@ function s.operation2(e,tp,eg,ep,ev,re,r,rp)
...
@@ -84,13 +88,7 @@ function s.operation2(e,tp,eg,ep,ev,re,r,rp)
if
op
then
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
if
op
then
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
end
end
if
not
c
:
IsRelateToChain
()
then
return
end
if
not
c
:
IsRelateToChain
()
then
return
end
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_INDESTRUCTABLE_EFFECT
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetValue
(
1
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_END
,
1
)
c
:
RegisterEffect
(
e1
)
end
end
function
s
.
pfilter
(
c
,
tp
)
function
s
.
pfilter
(
c
,
tp
)
return
c
:
IsType
(
TYPE_CONTINUOUS
)
and
c
:
IsSetCard
(
0xf11
)
return
c
:
IsType
(
TYPE_CONTINUOUS
)
and
c
:
IsSetCard
(
0xf11
)
...
...
expansions/script/c40011411.lua
View file @
ab564c7b
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
function
c40011411
.
initial_effect
(
c
)
function
c40011411
.
initial_effect
(
c
)
--copy self continuous spell
--copy self continuous spell
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_TOGRAVE
)
e1
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e1
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetHintTiming
(
0
,
TIMINGS_CHECK_MONSTER
)
e1
:
SetHintTiming
(
0
,
TIMINGS_CHECK_MONSTER
)
...
@@ -57,6 +57,7 @@ function c40011411.cptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
...
@@ -57,6 +57,7 @@ function c40011411.cptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
te
:
SetLabelObject
(
e
:
GetLabelObject
())
te
:
SetLabelObject
(
e
:
GetLabelObject
())
e
:
SetLabelObject
(
te
)
e
:
SetLabelObject
(
te
)
Duel
.
ClearOperationInfo
(
0
)
Duel
.
ClearOperationInfo
(
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOGRAVE
,
g
,
1
,
0
,
0
)
end
end
function
c40011411
.
cpop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c40011411
.
cpop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
te
=
e
:
GetLabelObject
()
local
te
=
e
:
GetLabelObject
()
...
@@ -67,6 +68,8 @@ function c40011411.cpop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -67,6 +68,8 @@ function c40011411.cpop(e,tp,eg,ep,ev,re,r,rp)
local
op
=
te
:
GetOperation
()
local
op
=
te
:
GetOperation
()
if
op
then
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
if
op
then
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
end
end
Duel
.
BreakEffect
()
Duel
.
SendtoGrave
(
tc
,
REASON_EFFECT
)
end
end
function
c40011411
.
setfilter
(
c
)
function
c40011411
.
setfilter
(
c
)
return
c
:
IsCode
(
40011407
)
and
c
:
IsSSetable
()
return
c
:
IsCode
(
40011407
)
and
c
:
IsSSetable
()
...
...
expansions/script/c60152901.lua
View file @
ab564c7b
--苍蓝的心意 美树沙耶香
--苍蓝的心意 美树沙耶香
function
c60152901
.
initial_effect
(
c
)
function
c60152901
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
--ritual summon
local
e1
=
aux
.
AddRitualProcGreater2
(
c
,
c60152901
.
e1filter
,
nil
,
nil
,
c60152901
.
e1matfilter
,
true
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
60152901
,
0
))
e1
:
SetDescription
(
aux
.
Stringid
(
60152901
,
0
))
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e1
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetHintTiming
(
0
,
TIMINGS_CHECK_MONSTER
+
TIMING_MAIN_END
)
e1
:
SetHintTiming
(
0
,
TIMINGS_CHECK_MONSTER
+
TIMING_MAIN_END
)
e1
:
SetCountLimit
(
1
,
60152901
)
e1
:
SetCountLimit
(
1
,
60152901
)
e1
:
SetCondition
(
c60152901
.
e1con
)
e1
:
SetCondition
(
c60152901
.
e1con
)
e1
:
SetTarget
(
c60152901
.
e1tg
)
e1
:
SetOperation
(
c60152901
.
e1op
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
if
not
c60152901
.
global_check
then
if
not
c60152901
.
global_check
then
c60152901
.
global_check
=
true
c60152901
.
global_check
=
true
local
ge1
=
Effect
.
CreateEffect
(
c
)
local
ge1
=
Effect
.
CreateEffect
(
c
)
...
@@ -47,15 +52,64 @@ end
...
@@ -47,15 +52,64 @@ end
function
c60152901
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c60152901
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetMatchingGroupCount
(
Card
.
IsFacedown
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
==
0
return
Duel
.
GetMatchingGroupCount
(
Card
.
IsFacedown
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
==
0
end
end
function
c60152901
.
e1filter
(
c
,
e
,
tp
,
chk
)
return
c
:
IsSetCard
(
0x3b29
)
and
(
not
chk
or
c
~=
e
:
GetHandler
())
end
function
c60152901
.
e1matfilter
(
c
,
e
,
tp
,
chk
)
return
not
chk
or
c
~=
e
:
GetHandler
()
end
function
c60152901
.
e1con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c60152901
.
e1con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetMatchingGroupCount
(
Card
.
IsFacedown
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
==
0
and
(
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN1
or
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN2
)
return
Duel
.
GetMatchingGroupCount
(
Card
.
IsFacedown
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
==
0
and
(
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN1
or
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN2
)
end
end
function
c60152901
.
filter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x3b29
)
and
c
:
IsType
(
TYPE_RITUAL
)
end
function
c60152901
.
RitualUltimateFilter
(
c
,
filter
,
e
,
tp
,
m1
,
m2
,
level_function
,
greater_or_equal
,
chk
)
if
bit
.
band
(
c
:
GetType
(),
0x81
)
~=
0x81
or
(
filter
and
not
filter
(
c
,
e
,
tp
,
chk
))
or
not
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_RITUAL
,
tp
,
false
,
true
,
POS_FACEUP
)
then
return
false
end
local
mg
=
m1
:
Filter
(
Card
.
IsCanBeRitualMaterial
,
c
,
c
)
if
m2
then
mg
:
Merge
(
m2
)
end
if
c
.
mat_filter
then
mg
=
mg
:
Filter
(
c
.
mat_filter
,
c
,
tp
)
else
mg
:
RemoveCard
(
c
)
end
local
lv
=
level_function
(
c
)
Auxiliary
.
GCheckAdditional
=
Auxiliary
.
RitualCheckAdditional
(
c
,
lv
,
greater_or_equal
)
local
res
=
mg
:
CheckSubGroup
(
Auxiliary
.
RitualCheck
,
1
,
lv
,
tp
,
c
,
lv
,
greater_or_equal
)
Auxiliary
.
GCheckAdditional
=
nil
return
res
end
function
c60152901
.
e1tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
mg1
=
Duel
.
GetRitualMaterial
(
tp
)
return
Duel
.
IsExistingMatchingCard
(
c60152901
.
RitualUltimateFilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
,
c60152901
.
filter
,
e
,
tp
,
mg1
,
nil
,
Card
.
GetLevel
,
"Greater"
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_HAND
)
end
function
c60152901
.
e1op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
::
cancel
::
local
mg1
=
Duel
.
GetRitualMaterial
(
tp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c60152901
.
RitualUltimateFilter
),
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
c60152901
.
filter
,
e
,
tp
,
mg1
,
nil
,
Card
.
GetLevel
,
"Greater"
)
local
tc
=
g
:
GetFirst
()
if
tc
then
local
mg
=
mg1
:
Filter
(
Card
.
IsCanBeRitualMaterial
,
tc
,
tc
)
if
tc
.
mat_filter
then
mg
=
mg
:
Filter
(
tc
.
mat_filter
,
tc
,
tp
)
else
mg
:
RemoveCard
(
tc
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_RELEASE
)
aux
.
GCheckAdditional
=
aux
.
RitualCheckAdditional
(
tc
,
tc
:
GetLevel
(),
"Greater"
)
local
mat
=
mg
:
SelectSubGroup
(
tp
,
aux
.
RitualCheck
,
true
,
1
,
tc
:
GetLevel
(),
tp
,
tc
,
tc
:
GetLevel
(),
"Greater"
)
aux
.
GCheckAdditional
=
nil
if
not
mat
then
goto
cancel
end
tc
:
SetMaterial
(
mat
)
Duel
.
ReleaseRitualMaterial
(
mat
)
Duel
.
BreakEffect
()
if
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_RITUAL
,
tp
,
tp
,
false
,
true
,
POS_FACEUP
)
~=
0
and
tc
:
IsFacedown
()
then
Duel
.
ConfirmCards
(
1
-
tp
,
tc
)
end
tc
:
CompleteProcedure
()
end
end
function
c60152901
.
cfilter
(
c
,
tp
)
function
c60152901
.
cfilter
(
c
,
tp
)
return
c
:
IsControler
(
tp
)
and
c
:
IsPreviousLocation
(
LOCATION_DECK
)
return
c
:
IsControler
(
tp
)
and
c
:
IsPreviousLocation
(
LOCATION_DECK
)
end
end
...
...
expansions/script/c60152902.lua
View file @
ab564c7b
--恋慕的思念 美树沙耶香
--恋慕的思念 美树沙耶香
function
c60152902
.
initial_effect
(
c
)
function
c60152902
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
--ritual summon
local
e1
=
aux
.
AddRitualProcGreater2
(
c
,
c60152902
.
e1filter
,
nil
,
nil
,
c60152902
.
e1matfilter
,
true
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
60152902
,
0
))
e1
:
SetDescription
(
aux
.
Stringid
(
60152902
,
0
))
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e1
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetHintTiming
(
0
,
TIMINGS_CHECK_MONSTER
+
TIMING_MAIN_END
)
e1
:
SetHintTiming
(
0
,
TIMINGS_CHECK_MONSTER
+
TIMING_MAIN_END
)
e1
:
SetCountLimit
(
1
,
60152902
)
e1
:
SetCountLimit
(
1
,
60152902
)
e1
:
SetCondition
(
c60152902
.
e1con
)
e1
:
SetCondition
(
c60152902
.
e1con
)
e1
:
SetTarget
(
c60152902
.
e1tg
)
e1
:
SetOperation
(
c60152902
.
e1op
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
if
not
c60152902
.
global_check
then
if
not
c60152902
.
global_check
then
c60152902
.
global_check
=
true
c60152902
.
global_check
=
true
local
ge1
=
Effect
.
CreateEffect
(
c
)
local
ge1
=
Effect
.
CreateEffect
(
c
)
...
@@ -52,15 +57,64 @@ end
...
@@ -52,15 +57,64 @@ end
function
c60152902
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c60152902
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetMatchingGroupCount
(
Card
.
IsFacedown
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
==
0
return
Duel
.
GetMatchingGroupCount
(
Card
.
IsFacedown
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
==
0
end
end
function
c60152902
.
e1filter
(
c
,
e
,
tp
,
chk
)
return
c
:
IsSetCard
(
0x3b29
)
and
(
not
chk
or
c
~=
e
:
GetHandler
())
end
function
c60152902
.
e1matfilter
(
c
,
e
,
tp
,
chk
)
return
not
chk
or
c
~=
e
:
GetHandler
()
end
function
c60152902
.
e1con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c60152902
.
e1con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetMatchingGroupCount
(
Card
.
IsFacedown
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
==
0
and
(
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN1
or
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN2
)
return
Duel
.
GetMatchingGroupCount
(
Card
.
IsFacedown
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
==
0
and
(
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN1
or
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN2
)
end
end
function
c60152902
.
filter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x3b29
)
and
c
:
IsType
(
TYPE_RITUAL
)
end
function
c60152902
.
RitualUltimateFilter
(
c
,
filter
,
e
,
tp
,
m1
,
m2
,
level_function
,
greater_or_equal
,
chk
)
if
bit
.
band
(
c
:
GetType
(),
0x81
)
~=
0x81
or
(
filter
and
not
filter
(
c
,
e
,
tp
,
chk
))
or
not
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_RITUAL
,
tp
,
false
,
true
,
POS_FACEUP
)
then
return
false
end
local
mg
=
m1
:
Filter
(
Card
.
IsCanBeRitualMaterial
,
c
,
c
)
if
m2
then
mg
:
Merge
(
m2
)
end
if
c
.
mat_filter
then
mg
=
mg
:
Filter
(
c
.
mat_filter
,
c
,
tp
)
else
mg
:
RemoveCard
(
c
)
end
local
lv
=
level_function
(
c
)
Auxiliary
.
GCheckAdditional
=
Auxiliary
.
RitualCheckAdditional
(
c
,
lv
,
greater_or_equal
)
local
res
=
mg
:
CheckSubGroup
(
Auxiliary
.
RitualCheck
,
1
,
lv
,
tp
,
c
,
lv
,
greater_or_equal
)
Auxiliary
.
GCheckAdditional
=
nil
return
res
end
function
c60152902
.
e1tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
mg1
=
Duel
.
GetRitualMaterial
(
tp
)
return
Duel
.
IsExistingMatchingCard
(
c60152902
.
RitualUltimateFilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
,
c60152902
.
filter
,
e
,
tp
,
mg1
,
nil
,
Card
.
GetLevel
,
"Greater"
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_HAND
)
end
function
c60152902
.
e1op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
::
cancel
::
local
mg1
=
Duel
.
GetRitualMaterial
(
tp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c60152902
.
RitualUltimateFilter
),
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
c60152902
.
filter
,
e
,
tp
,
mg1
,
nil
,
Card
.
GetLevel
,
"Greater"
)
local
tc
=
g
:
GetFirst
()
if
tc
then
local
mg
=
mg1
:
Filter
(
Card
.
IsCanBeRitualMaterial
,
tc
,
tc
)
if
tc
.
mat_filter
then
mg
=
mg
:
Filter
(
tc
.
mat_filter
,
tc
,
tp
)
else
mg
:
RemoveCard
(
tc
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_RELEASE
)
aux
.
GCheckAdditional
=
aux
.
RitualCheckAdditional
(
tc
,
tc
:
GetLevel
(),
"Greater"
)
local
mat
=
mg
:
SelectSubGroup
(
tp
,
aux
.
RitualCheck
,
true
,
1
,
tc
:
GetLevel
(),
tp
,
tc
,
tc
:
GetLevel
(),
"Greater"
)
aux
.
GCheckAdditional
=
nil
if
not
mat
then
goto
cancel
end
tc
:
SetMaterial
(
mat
)
Duel
.
ReleaseRitualMaterial
(
mat
)
Duel
.
BreakEffect
()
if
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_RITUAL
,
tp
,
tp
,
false
,
true
,
POS_FACEUP
)
~=
0
and
tc
:
IsFacedown
()
then
Duel
.
ConfirmCards
(
1
-
tp
,
tc
)
end
tc
:
CompleteProcedure
()
end
end
function
c60152902
.
checkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c60152902
.
checkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
eg
:
GetFirst
()
local
tc
=
eg
:
GetFirst
()
while
tc
do
while
tc
do
...
...
expansions/script/c60152903.lua
View file @
ab564c7b
--鼓动的愿望 美树沙耶香
--鼓动的愿望 美树沙耶香
function
c60152903
.
initial_effect
(
c
)
function
c60152903
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
--ritual summon
local
e1
=
aux
.
AddRitualProcGreater2
(
c
,
c60152903
.
e1filter
,
nil
,
nil
,
c60152903
.
e1matfilter
,
true
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
60152903
,
0
))
e1
:
SetDescription
(
aux
.
Stringid
(
60152903
,
0
))
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e1
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetHintTiming
(
0
,
TIMINGS_CHECK_MONSTER
+
TIMING_MAIN_END
)
e1
:
SetHintTiming
(
0
,
TIMINGS_CHECK_MONSTER
+
TIMING_MAIN_END
)
e1
:
SetCountLimit
(
1
,
60152903
)
e1
:
SetCountLimit
(
1
,
60152903
)
e1
:
SetCondition
(
c60152903
.
e1con
)
e1
:
SetCondition
(
c60152903
.
e1con
)
e1
:
SetTarget
(
c60152903
.
e1tg
)
e1
:
SetOperation
(
c60152903
.
e1op
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
if
not
c60152903
.
global_check
then
if
not
c60152903
.
global_check
then
c60152903
.
global_check
=
true
c60152903
.
global_check
=
true
local
ge1
=
Effect
.
GlobalEffect
()
local
ge1
=
Effect
.
GlobalEffect
()
...
@@ -46,15 +51,64 @@ end
...
@@ -46,15 +51,64 @@ end
function
c60152903
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c60152903
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetMatchingGroupCount
(
Card
.
IsFacedown
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
==
0
return
Duel
.
GetMatchingGroupCount
(
Card
.
IsFacedown
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
==
0
end
end
function
c60152903
.
e1filter
(
c
,
e
,
tp
,
chk
)
return
c
:
IsSetCard
(
0x3b29
)
and
(
not
chk
or
c
~=
e
:
GetHandler
())
end
function
c60152903
.
e1matfilter
(
c
,
e
,
tp
,
chk
)
return
not
chk
or
c
~=
e
:
GetHandler
()
end
function
c60152903
.
e1con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c60152903
.
e1con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetMatchingGroupCount
(
Card
.
IsFacedown
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
==
0
and
(
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN1
or
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN2
)
return
Duel
.
GetMatchingGroupCount
(
Card
.
IsFacedown
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
==
0
and
(
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN1
or
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN2
)
end
end
function
c60152903
.
filter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x3b29
)
and
c
:
IsType
(
TYPE_RITUAL
)
end
function
c60152903
.
RitualUltimateFilter
(
c
,
filter
,
e
,
tp
,
m1
,
m2
,
level_function
,
greater_or_equal
,
chk
)
if
bit
.
band
(
c
:
GetType
(),
0x81
)
~=
0x81
or
(
filter
and
not
filter
(
c
,
e
,
tp
,
chk
))
or
not
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_RITUAL
,
tp
,
false
,
true
,
POS_FACEUP
)
then
return
false
end
local
mg
=
m1
:
Filter
(
Card
.
IsCanBeRitualMaterial
,
c
,
c
)
if
m2
then
mg
:
Merge
(
m2
)
end
if
c
.
mat_filter
then
mg
=
mg
:
Filter
(
c
.
mat_filter
,
c
,
tp
)
else
mg
:
RemoveCard
(
c
)
end
local
lv
=
level_function
(
c
)
Auxiliary
.
GCheckAdditional
=
Auxiliary
.
RitualCheckAdditional
(
c
,
lv
,
greater_or_equal
)
local
res
=
mg
:
CheckSubGroup
(
Auxiliary
.
RitualCheck
,
1
,
lv
,
tp
,
c
,
lv
,
greater_or_equal
)
Auxiliary
.
GCheckAdditional
=
nil
return
res
end
function
c60152903
.
e1tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
mg1
=
Duel
.
GetRitualMaterial
(
tp
)
return
Duel
.
IsExistingMatchingCard
(
c60152903
.
RitualUltimateFilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
,
c60152903
.
filter
,
e
,
tp
,
mg1
,
nil
,
Card
.
GetLevel
,
"Greater"
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_HAND
)
end
function
c60152903
.
e1op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
::
cancel
::
local
mg1
=
Duel
.
GetRitualMaterial
(
tp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c60152903
.
RitualUltimateFilter
),
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
c60152903
.
filter
,
e
,
tp
,
mg1
,
nil
,
Card
.
GetLevel
,
"Greater"
)
local
tc
=
g
:
GetFirst
()
if
tc
then
local
mg
=
mg1
:
Filter
(
Card
.
IsCanBeRitualMaterial
,
tc
,
tc
)
if
tc
.
mat_filter
then
mg
=
mg
:
Filter
(
tc
.
mat_filter
,
tc
,
tp
)
else
mg
:
RemoveCard
(
tc
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_RELEASE
)
aux
.
GCheckAdditional
=
aux
.
RitualCheckAdditional
(
tc
,
tc
:
GetLevel
(),
"Greater"
)
local
mat
=
mg
:
SelectSubGroup
(
tp
,
aux
.
RitualCheck
,
true
,
1
,
tc
:
GetLevel
(),
tp
,
tc
,
tc
:
GetLevel
(),
"Greater"
)
aux
.
GCheckAdditional
=
nil
if
not
mat
then
goto
cancel
end
tc
:
SetMaterial
(
mat
)
Duel
.
ReleaseRitualMaterial
(
mat
)
Duel
.
BreakEffect
()
if
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_RITUAL
,
tp
,
tp
,
false
,
true
,
POS_FACEUP
)
~=
0
and
tc
:
IsFacedown
()
then
Duel
.
ConfirmCards
(
1
-
tp
,
tc
)
end
tc
:
CompleteProcedure
()
end
end
function
c60152903
.
check
(
c
)
function
c60152903
.
check
(
c
)
return
c
return
c
end
end
...
...
expansions/script/c60152904.lua
View file @
ab564c7b
--真挚的谎言 美树沙耶香
--真挚的谎言 美树沙耶香
function
c60152904
.
initial_effect
(
c
)
function
c60152904
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
--ritual summon
local
e1
=
aux
.
AddRitualProcGreater2
(
c
,
c60152904
.
e1filter
,
nil
,
nil
,
c60152904
.
e1matfilter
,
true
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
60152904
,
0
))
e1
:
SetDescription
(
aux
.
Stringid
(
60152904
,
0
))
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e1
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetHintTiming
(
0
,
TIMINGS_CHECK_MONSTER
+
TIMING_MAIN_END
)
e1
:
SetHintTiming
(
0
,
TIMINGS_CHECK_MONSTER
+
TIMING_MAIN_END
)
e1
:
SetCountLimit
(
1
,
60152904
)
e1
:
SetCountLimit
(
1
,
60152904
)
e1
:
SetCondition
(
c60152904
.
e1con
)
e1
:
SetCondition
(
c60152904
.
e1con
)
e1
:
SetTarget
(
c60152904
.
e1tg
)
e1
:
SetOperation
(
c60152904
.
e1op
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
if
not
c60152904
.
global_check
then
if
not
c60152904
.
global_check
then
c60152904
.
global_check
=
true
c60152904
.
global_check
=
true
local
ge1
=
Effect
.
GlobalEffect
()
local
ge1
=
Effect
.
GlobalEffect
()
...
@@ -46,15 +51,64 @@ end
...
@@ -46,15 +51,64 @@ end
function
c60152904
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c60152904
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetMatchingGroupCount
(
Card
.
IsFacedown
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
==
0
return
Duel
.
GetMatchingGroupCount
(
Card
.
IsFacedown
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
==
0
end
end
function
c60152904
.
e1filter
(
c
,
e
,
tp
,
chk
)
return
c
:
IsSetCard
(
0x3b29
)
and
(
not
chk
or
c
~=
e
:
GetHandler
())
end
function
c60152904
.
e1matfilter
(
c
,
e
,
tp
,
chk
)
return
not
chk
or
c
~=
e
:
GetHandler
()
end
function
c60152904
.
e1con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c60152904
.
e1con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetMatchingGroupCount
(
Card
.
IsFacedown
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
==
0
and
(
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN1
or
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN2
)
return
Duel
.
GetMatchingGroupCount
(
Card
.
IsFacedown
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
==
0
and
(
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN1
or
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN2
)
end
end
function
c60152904
.
filter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x3b29
)
and
c
:
IsType
(
TYPE_RITUAL
)
end
function
c60152904
.
RitualUltimateFilter
(
c
,
filter
,
e
,
tp
,
m1
,
m2
,
level_function
,
greater_or_equal
,
chk
)
if
bit
.
band
(
c
:
GetType
(),
0x81
)
~=
0x81
or
(
filter
and
not
filter
(
c
,
e
,
tp
,
chk
))
or
not
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_RITUAL
,
tp
,
false
,
true
,
POS_FACEUP
)
then
return
false
end
local
mg
=
m1
:
Filter
(
Card
.
IsCanBeRitualMaterial
,
c
,
c
)
if
m2
then
mg
:
Merge
(
m2
)
end
if
c
.
mat_filter
then
mg
=
mg
:
Filter
(
c
.
mat_filter
,
c
,
tp
)
else
mg
:
RemoveCard
(
c
)
end
local
lv
=
level_function
(
c
)
Auxiliary
.
GCheckAdditional
=
Auxiliary
.
RitualCheckAdditional
(
c
,
lv
,
greater_or_equal
)
local
res
=
mg
:
CheckSubGroup
(
Auxiliary
.
RitualCheck
,
1
,
lv
,
tp
,
c
,
lv
,
greater_or_equal
)
Auxiliary
.
GCheckAdditional
=
nil
return
res
end
function
c60152904
.
e1tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
mg1
=
Duel
.
GetRitualMaterial
(
tp
)
return
Duel
.
IsExistingMatchingCard
(
c60152904
.
RitualUltimateFilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
,
c60152904
.
filter
,
e
,
tp
,
mg1
,
nil
,
Card
.
GetLevel
,
"Greater"
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_HAND
)
end
function
c60152904
.
e1op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
::
cancel
::
local
mg1
=
Duel
.
GetRitualMaterial
(
tp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c60152904
.
RitualUltimateFilter
),
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
c60152904
.
filter
,
e
,
tp
,
mg1
,
nil
,
Card
.
GetLevel
,
"Greater"
)
local
tc
=
g
:
GetFirst
()
if
tc
then
local
mg
=
mg1
:
Filter
(
Card
.
IsCanBeRitualMaterial
,
tc
,
tc
)
if
tc
.
mat_filter
then
mg
=
mg
:
Filter
(
tc
.
mat_filter
,
tc
,
tp
)
else
mg
:
RemoveCard
(
tc
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_RELEASE
)
aux
.
GCheckAdditional
=
aux
.
RitualCheckAdditional
(
tc
,
tc
:
GetLevel
(),
"Greater"
)
local
mat
=
mg
:
SelectSubGroup
(
tp
,
aux
.
RitualCheck
,
true
,
1
,
tc
:
GetLevel
(),
tp
,
tc
,
tc
:
GetLevel
(),
"Greater"
)
aux
.
GCheckAdditional
=
nil
if
not
mat
then
goto
cancel
end
tc
:
SetMaterial
(
mat
)
Duel
.
ReleaseRitualMaterial
(
mat
)
Duel
.
BreakEffect
()
if
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_RITUAL
,
tp
,
tp
,
false
,
true
,
POS_FACEUP
)
~=
0
and
tc
:
IsFacedown
()
then
Duel
.
ConfirmCards
(
1
-
tp
,
tc
)
end
tc
:
CompleteProcedure
()
end
end
function
c60152904
.
checkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c60152904
.
checkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
eg
:
Filter
(
Card
.
IsType
,
nil
,
TYPE_MONSTER
)
local
g
=
eg
:
Filter
(
Card
.
IsType
,
nil
,
TYPE_MONSTER
)
local
tc
=
g
:
GetFirst
()
local
tc
=
g
:
GetFirst
()
...
...
expansions/script/c60152905.lua
View file @
ab564c7b
--虚伪的臊动 美树沙耶香
--虚伪的臊动 美树沙耶香
function
c60152905
.
initial_effect
(
c
)
function
c60152905
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
--ritual summon
local
e1
=
aux
.
AddRitualProcGreater2
(
c
,
c60152905
.
e1filter
,
nil
,
nil
,
c60152905
.
e1matfilter
,
true
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
60152905
,
0
))
e1
:
SetDescription
(
aux
.
Stringid
(
60152905
,
0
))
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e1
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetHintTiming
(
0
,
TIMINGS_CHECK_MONSTER
+
TIMING_MAIN_END
)
e1
:
SetHintTiming
(
0
,
TIMINGS_CHECK_MONSTER
+
TIMING_MAIN_END
)
e1
:
SetCountLimit
(
1
,
60152905
)
e1
:
SetCountLimit
(
1
,
60152905
)
e1
:
SetCondition
(
c60152905
.
e1con
)
e1
:
SetCondition
(
c60152905
.
e1con
)
e1
:
SetTarget
(
c60152905
.
e1tg
)
e1
:
SetOperation
(
c60152905
.
e1op
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
Duel
.
AddCustomActivityCounter
(
60152905
,
ACTIVITY_CHAIN
,
aux
.
TRUE
)
Duel
.
AddCustomActivityCounter
(
60152905
,
ACTIVITY_CHAIN
,
aux
.
TRUE
)
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
...
@@ -40,15 +44,64 @@ end
...
@@ -40,15 +44,64 @@ end
function
c60152905
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c60152905
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetMatchingGroupCount
(
Card
.
IsFacedown
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
==
0
return
Duel
.
GetMatchingGroupCount
(
Card
.
IsFacedown
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
==
0
end
end
function
c60152905
.
e1filter
(
c
,
e
,
tp
,
chk
)
return
c
:
IsSetCard
(
0x3b29
)
and
(
not
chk
or
c
~=
e
:
GetHandler
())
end
function
c60152905
.
e1matfilter
(
c
,
e
,
tp
,
chk
)
return
not
chk
or
c
~=
e
:
GetHandler
()
end
function
c60152905
.
e1con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c60152905
.
e1con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetMatchingGroupCount
(
Card
.
IsFacedown
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
==
0
and
(
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN1
or
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN2
)
return
Duel
.
GetMatchingGroupCount
(
Card
.
IsFacedown
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
==
0
and
(
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN1
or
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN2
)
end
end
function
c60152905
.
filter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x3b29
)
and
c
:
IsType
(
TYPE_RITUAL
)
end
function
c60152905
.
RitualUltimateFilter
(
c
,
filter
,
e
,
tp
,
m1
,
m2
,
level_function
,
greater_or_equal
,
chk
)
if
bit
.
band
(
c
:
GetType
(),
0x81
)
~=
0x81
or
(
filter
and
not
filter
(
c
,
e
,
tp
,
chk
))
or
not
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_RITUAL
,
tp
,
false
,
true
,
POS_FACEUP
)
then
return
false
end
local
mg
=
m1
:
Filter
(
Card
.
IsCanBeRitualMaterial
,
c
,
c
)
if
m2
then
mg
:
Merge
(
m2
)
end
if
c
.
mat_filter
then
mg
=
mg
:
Filter
(
c
.
mat_filter
,
c
,
tp
)
else
mg
:
RemoveCard
(
c
)
end
local
lv
=
level_function
(
c
)
Auxiliary
.
GCheckAdditional
=
Auxiliary
.
RitualCheckAdditional
(
c
,
lv
,
greater_or_equal
)
local
res
=
mg
:
CheckSubGroup
(
Auxiliary
.
RitualCheck
,
1
,
lv
,
tp
,
c
,
lv
,
greater_or_equal
)
Auxiliary
.
GCheckAdditional
=
nil
return
res
end
function
c60152905
.
e1tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
mg1
=
Duel
.
GetRitualMaterial
(
tp
)
return
Duel
.
IsExistingMatchingCard
(
c60152905
.
RitualUltimateFilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
,
c60152905
.
filter
,
e
,
tp
,
mg1
,
nil
,
Card
.
GetLevel
,
"Greater"
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_HAND
)
end
function
c60152905
.
e1op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
::
cancel
::
local
mg1
=
Duel
.
GetRitualMaterial
(
tp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c60152905
.
RitualUltimateFilter
),
tp
,
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
c60152905
.
filter
,
e
,
tp
,
mg1
,
nil
,
Card
.
GetLevel
,
"Greater"
)
local
tc
=
g
:
GetFirst
()
if
tc
then
local
mg
=
mg1
:
Filter
(
Card
.
IsCanBeRitualMaterial
,
tc
,
tc
)
if
tc
.
mat_filter
then
mg
=
mg
:
Filter
(
tc
.
mat_filter
,
tc
,
tp
)
else
mg
:
RemoveCard
(
tc
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_RELEASE
)
aux
.
GCheckAdditional
=
aux
.
RitualCheckAdditional
(
tc
,
tc
:
GetLevel
(),
"Greater"
)
local
mat
=
mg
:
SelectSubGroup
(
tp
,
aux
.
RitualCheck
,
true
,
1
,
tc
:
GetLevel
(),
tp
,
tc
,
tc
:
GetLevel
(),
"Greater"
)
aux
.
GCheckAdditional
=
nil
if
not
mat
then
goto
cancel
end
tc
:
SetMaterial
(
mat
)
Duel
.
ReleaseRitualMaterial
(
mat
)
Duel
.
BreakEffect
()
if
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_RITUAL
,
tp
,
tp
,
false
,
true
,
POS_FACEUP
)
~=
0
and
tc
:
IsFacedown
()
then
Duel
.
ConfirmCards
(
1
-
tp
,
tc
)
end
tc
:
CompleteProcedure
()
end
end
function
c60152905
.
e2tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c60152905
.
e2tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
p
=
PLAYER_ALL
local
p
=
PLAYER_ALL
if
chk
==
0
then
return
Duel
.
GetCustomActivityCount
(
60152905
,
1
-
tp
,
ACTIVITY_CHAIN
)
~=
0
end
if
chk
==
0
then
return
Duel
.
GetCustomActivityCount
(
60152905
,
1
-
tp
,
ACTIVITY_CHAIN
)
~=
0
end
...
...
expansions/script/c60152906.lua
View file @
ab564c7b
...
@@ -45,24 +45,41 @@ end
...
@@ -45,24 +45,41 @@ end
function
c60152906
.
e1con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c60152906
.
e1con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetMatchingGroupCount
(
Card
.
IsFacedown
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
==
0
and
(
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN1
or
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN2
)
return
Duel
.
GetMatchingGroupCount
(
Card
.
IsFacedown
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
==
0
and
(
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN1
or
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN2
)
end
end
function
c60152906
.
e1tg
filter
(
c
,
e
,
tp
)
function
c60152906
.
filter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x3b29
)
and
c
:
IsType
(
TYPE_RITUAL
)
return
c
:
IsSetCard
(
0x3b29
)
and
c
:
IsType
(
TYPE_RITUAL
)
end
end
function
c60152906
.
RitualUltimateFilter
(
c
,
filter
,
e
,
tp
,
m1
,
m2
,
level_function
,
greater_or_equal
,
chk
)
if
bit
.
band
(
c
:
GetType
(),
0x81
)
~=
0x81
or
(
filter
and
not
filter
(
c
,
e
,
tp
,
chk
))
or
not
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_RITUAL
,
tp
,
false
,
true
,
POS_FACEUP
)
then
return
false
end
local
mg
=
m1
:
Filter
(
Card
.
IsCanBeRitualMaterial
,
c
,
c
)
if
m2
then
mg
:
Merge
(
m2
)
end
if
c
.
mat_filter
then
mg
=
mg
:
Filter
(
c
.
mat_filter
,
c
,
tp
)
else
mg
:
RemoveCard
(
c
)
end
local
lv
=
level_function
(
c
)
Auxiliary
.
GCheckAdditional
=
Auxiliary
.
RitualCheckAdditional
(
c
,
lv
,
greater_or_equal
)
local
res
=
mg
:
CheckSubGroup
(
Auxiliary
.
RitualCheck
,
1
,
lv
,
tp
,
c
,
lv
,
greater_or_equal
)
Auxiliary
.
GCheckAdditional
=
nil
return
res
end
function
c60152906
.
e1tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c60152906
.
e1tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
local
mg
=
Duel
.
GetRitualMaterial
(
tp
)
local
mg
1
=
Duel
.
GetRitualMaterial
(
tp
)
return
Duel
.
IsExistingMatchingCard
(
aux
.
RitualUltimateFilter
,
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
,
0
,
1
,
nil
,
c60152906
.
e1tgfilter
,
e
,
tp
,
mg
,
sg
,
Card
.
GetLevel
,
"Greater"
)
return
Duel
.
IsExistingMatchingCard
(
c60152906
.
RitualUltimateFilter
,
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
,
0
,
1
,
nil
,
c60152906
.
filter
,
e
,
tp
,
mg1
,
nil
,
Card
.
GetLevel
,
"Greater"
)
end
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
)
end
end
function
c60152906
.
e1op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c60152906
.
e1op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
::
cancel
::
::
cancel
::
local
mg
=
Duel
.
GetRitualMaterial
(
tp
)
local
mg
1
=
Duel
.
GetRitualMaterial
(
tp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tg
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
aux
.
RitualUltimateFilter
),
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
c60152906
.
e1tgfilter
,
e
,
tp
,
mg
,
sg
,
Card
.
GetLevel
,
"Greater"
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c60152906
.
RitualUltimateFilter
),
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
c60152906
.
filter
,
e
,
tp
,
mg1
,
nil
,
Card
.
GetLevel
,
"Greater"
)
local
tc
=
t
g
:
GetFirst
()
local
tc
=
g
:
GetFirst
()
if
tc
then
if
tc
then
mg
=
mg
:
Filter
(
Card
.
IsCanBeRitualMaterial
,
tc
,
tc
)
local
mg
=
mg1
:
Filter
(
Card
.
IsCanBeRitualMaterial
,
tc
,
tc
)
if
tc
.
mat_filter
then
if
tc
.
mat_filter
then
mg
=
mg
:
Filter
(
tc
.
mat_filter
,
tc
,
tp
)
mg
=
mg
:
Filter
(
tc
.
mat_filter
,
tc
,
tp
)
else
else
...
@@ -74,10 +91,12 @@ function c60152906.e1op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -74,10 +91,12 @@ function c60152906.e1op(e,tp,eg,ep,ev,re,r,rp)
aux
.
GCheckAdditional
=
nil
aux
.
GCheckAdditional
=
nil
if
not
mat
then
goto
cancel
end
if
not
mat
then
goto
cancel
end
tc
:
SetMaterial
(
mat
)
tc
:
SetMaterial
(
mat
)
local
mat2
=
mat
:
Filter
(
Card
.
IsLocation
,
nil
,
LOCATION_EXTRA
)
mat
:
Sub
(
mat2
)
Duel
.
ReleaseRitualMaterial
(
mat
)
Duel
.
ReleaseRitualMaterial
(
mat
)
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_RITUAL
,
tp
,
tp
,
false
,
true
,
POS_FACEUP
)
Duel
.
BreakEffect
()
if
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_RITUAL
,
tp
,
tp
,
false
,
true
,
POS_FACEUP
)
~=
0
and
tc
:
IsFacedown
()
then
Duel
.
ConfirmCards
(
1
-
tp
,
tc
)
end
tc
:
CompleteProcedure
()
tc
:
CompleteProcedure
()
end
end
end
end
...
...
expansions/script/c60152907.lua
View file @
ab564c7b
...
@@ -45,24 +45,41 @@ end
...
@@ -45,24 +45,41 @@ end
function
c60152907
.
e1con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c60152907
.
e1con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetMatchingGroupCount
(
Card
.
IsFacedown
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
==
0
and
(
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN1
or
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN2
)
return
Duel
.
GetMatchingGroupCount
(
Card
.
IsFacedown
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
==
0
and
(
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN1
or
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN2
)
end
end
function
c60152907
.
e1tg
filter
(
c
,
e
,
tp
)
function
c60152907
.
filter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x3b29
)
and
c
:
IsType
(
TYPE_RITUAL
)
return
c
:
IsSetCard
(
0x3b29
)
and
c
:
IsType
(
TYPE_RITUAL
)
end
end
function
c60152907
.
RitualUltimateFilter
(
c
,
filter
,
e
,
tp
,
m1
,
m2
,
level_function
,
greater_or_equal
,
chk
)
if
bit
.
band
(
c
:
GetType
(),
0x81
)
~=
0x81
or
(
filter
and
not
filter
(
c
,
e
,
tp
,
chk
))
or
not
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_RITUAL
,
tp
,
false
,
true
,
POS_FACEUP
)
then
return
false
end
local
mg
=
m1
:
Filter
(
Card
.
IsCanBeRitualMaterial
,
c
,
c
)
if
m2
then
mg
:
Merge
(
m2
)
end
if
c
.
mat_filter
then
mg
=
mg
:
Filter
(
c
.
mat_filter
,
c
,
tp
)
else
mg
:
RemoveCard
(
c
)
end
local
lv
=
level_function
(
c
)
Auxiliary
.
GCheckAdditional
=
Auxiliary
.
RitualCheckAdditional
(
c
,
lv
,
greater_or_equal
)
local
res
=
mg
:
CheckSubGroup
(
Auxiliary
.
RitualCheck
,
1
,
lv
,
tp
,
c
,
lv
,
greater_or_equal
)
Auxiliary
.
GCheckAdditional
=
nil
return
res
end
function
c60152907
.
e1tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c60152907
.
e1tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
local
mg
=
Duel
.
GetRitualMaterial
(
tp
)
local
mg
1
=
Duel
.
GetRitualMaterial
(
tp
)
return
Duel
.
IsExistingMatchingCard
(
aux
.
RitualUltimateFilter
,
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
,
0
,
1
,
nil
,
c60152907
.
e1tgfilter
,
e
,
tp
,
mg
,
sg
,
Card
.
GetLevel
,
"Greater"
)
return
Duel
.
IsExistingMatchingCard
(
c60152907
.
RitualUltimateFilter
,
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
,
0
,
1
,
nil
,
c60152907
.
filter
,
e
,
tp
,
mg1
,
nil
,
Card
.
GetLevel
,
"Greater"
)
end
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
)
end
end
function
c60152907
.
e1op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c60152907
.
e1op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
::
cancel
::
::
cancel
::
local
mg
=
Duel
.
GetRitualMaterial
(
tp
)
local
mg
1
=
Duel
.
GetRitualMaterial
(
tp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tg
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
aux
.
RitualUltimateFilter
),
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
c60152907
.
e1tgfilter
,
e
,
tp
,
mg
,
sg
,
Card
.
GetLevel
,
"Greater"
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c60152907
.
RitualUltimateFilter
),
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
c60152907
.
filter
,
e
,
tp
,
mg1
,
nil
,
Card
.
GetLevel
,
"Greater"
)
local
tc
=
t
g
:
GetFirst
()
local
tc
=
g
:
GetFirst
()
if
tc
then
if
tc
then
mg
=
mg
:
Filter
(
Card
.
IsCanBeRitualMaterial
,
tc
,
tc
)
local
mg
=
mg1
:
Filter
(
Card
.
IsCanBeRitualMaterial
,
tc
,
tc
)
if
tc
.
mat_filter
then
if
tc
.
mat_filter
then
mg
=
mg
:
Filter
(
tc
.
mat_filter
,
tc
,
tp
)
mg
=
mg
:
Filter
(
tc
.
mat_filter
,
tc
,
tp
)
else
else
...
@@ -74,10 +91,12 @@ function c60152907.e1op(e,tp,eg,ep,ev,re,r,rp)
...
@@ -74,10 +91,12 @@ function c60152907.e1op(e,tp,eg,ep,ev,re,r,rp)
aux
.
GCheckAdditional
=
nil
aux
.
GCheckAdditional
=
nil
if
not
mat
then
goto
cancel
end
if
not
mat
then
goto
cancel
end
tc
:
SetMaterial
(
mat
)
tc
:
SetMaterial
(
mat
)
local
mat2
=
mat
:
Filter
(
Card
.
IsLocation
,
nil
,
LOCATION_EXTRA
)
mat
:
Sub
(
mat2
)
Duel
.
ReleaseRitualMaterial
(
mat
)
Duel
.
ReleaseRitualMaterial
(
mat
)
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_RITUAL
,
tp
,
tp
,
false
,
true
,
POS_FACEUP
)
Duel
.
BreakEffect
()
if
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_RITUAL
,
tp
,
tp
,
false
,
true
,
POS_FACEUP
)
~=
0
and
tc
:
IsFacedown
()
then
Duel
.
ConfirmCards
(
1
-
tp
,
tc
)
end
tc
:
CompleteProcedure
()
tc
:
CompleteProcedure
()
end
end
end
end
...
...
expansions/script/c60152913.lua
View file @
ab564c7b
This diff is collapsed.
Click to expand it.
expansions/script/c87470001.lua
View file @
ab564c7b
...
@@ -99,7 +99,7 @@ function c87470001.tdop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -99,7 +99,7 @@ function c87470001.tdop(e,tp,eg,ep,ev,re,r,rp)
if
lab1
==
c
:
GetFieldID
()
then
cg
:
AddCard
(
c
)
end
if
lab1
==
c
:
GetFieldID
()
then
cg
:
AddCard
(
c
)
end
if
lab2
==
tc
:
GetFieldID
()
then
cg
:
AddCard
(
tc
)
end
if
lab2
==
tc
:
GetFieldID
()
then
cg
:
AddCard
(
tc
)
end
Duel
.
Hint
(
HINT_CARD
,
0
,
87470001
)
Duel
.
Hint
(
HINT_CARD
,
0
,
87470001
)
Duel
.
SendtoDeck
(
cg
,
nil
,
2
,
REASON_EFFECT
)
if
#
cg
==
2
then
Duel
.
SendtoDeck
(
cg
,
nil
,
2
,
REASON_EFFECT
)
end
e
:
Reset
()
e
:
Reset
()
end
end
function
c87470001
.
dsrtg
(
e
,
c
)
function
c87470001
.
dsrtg
(
e
,
c
)
...
...
expansions/script/c91000402.lua
View file @
ab564c7b
...
@@ -13,9 +13,13 @@ function c91000402.initial_effect(c)
...
@@ -13,9 +13,13 @@ function c91000402.initial_effect(c)
e1
:
SetTarget
(
cm
.
tg1
)
e1
:
SetTarget
(
cm
.
tg1
)
e1
:
SetOperation
(
cm
.
op1
)
e1
:
SetOperation
(
cm
.
op1
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_EQUIP
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e2
:
SetCode
(
EFFECT_SELF_DESTROY
)
e2
:
SetRange
(
LOCATION_SZONE
)
e2
:
SetCode
(
EVENT_ADJUST
)
e2
:
SetTargetRange
(
LOCATION_MZONE
,
LOCATION_MZONE
)
e2
:
SetCondition
(
cm
.
con2
)
e2
:
SetOperation
(
cm
.
op2
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
local
e5
=
Effect
.
CreateEffect
(
c
)
local
e5
=
Effect
.
CreateEffect
(
c
)
e5
:
SetCategory
(
CATEGORY_EQUIP
)
e5
:
SetCategory
(
CATEGORY_EQUIP
)
...
@@ -76,7 +80,13 @@ function cm.op1(e,tp,eg,ep,ev,re,r,rp)
...
@@ -76,7 +80,13 @@ function cm.op1(e,tp,eg,ep,ev,re,r,rp)
c
:
RegisterEffect
(
e3
)
c
:
RegisterEffect
(
e3
)
end
end
end
end
function
cm
.
con2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
GetEquipTarget
()
end
function
cm
.
op2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
e
:
GetHandler
():
GetEquipTarget
()
Duel
.
Destroy
(
g
,
REASON_EFFECT
)
end
function
cm
.
eqlimit
(
e
,
c
)
function
cm
.
eqlimit
(
e
,
c
)
return
e
:
GetLabelObject
()
==
c
return
e
:
GetLabelObject
()
==
c
end
end
...
...
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