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
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)
c
:
RegisterEffect
(
e2
)
end
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
)
end
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)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
cm
.
atkfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FACEUP
)
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
function
cm
.
atkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
...
...
expansions/script/c40011104.lua
View file @
ab564c7b
...
...
@@ -9,7 +9,7 @@ function cm.initial_effect(c)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e1
:
SetCode
(
EVENT_SUMMON_SUCCESS
)
e1
:
SetCountLimit
(
1
,
m
)
e1
:
SetCountLimit
(
1
,
m
+
1
)
e1
:
SetTarget
(
cm
.
sptg
)
e1
:
SetOperation
(
cm
.
spop
)
c
:
RegisterEffect
(
e1
)
...
...
@@ -24,6 +24,16 @@ function cm.initial_effect(c)
e3
:
SetCode
(
EFFECT_CANNOT_SELECT_BATTLE_TARGET
)
e3
:
SetValue
(
cm
.
atlimit
)
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
function
cm
.
spfilter
(
c
,
e
,
tp
)
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)
end
function
cm
.
atlimit
(
e
,
c
)
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
\ 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)
e1
:
SetValue
(
ec
:
GetLevel
())
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
RESET_DISABLE
)
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
...
...
expansions/script/c40011399.lua
View file @
ab564c7b
...
...
@@ -26,19 +26,22 @@ function cm.initial_effect(c)
e2
:
SetOperation
(
cm
.
spop
)
c
:
RegisterEffect
(
e2
)
end
function
cm
.
filter
(
c
)
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
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
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
function
cm
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
local
te
=
e
:
GetLabelObject
()
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
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
)
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
)
Duel
.
ClearTargetCard
()
g
:
GetFirst
():
CreateEffectRelation
(
e
)
...
...
@@ -57,6 +60,18 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
e
:
SetLabelObject
(
te
:
GetLabelObject
())
local
op
=
te
:
GetOperation
()
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
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)
te
:
SetLabelObject
(
e
:
GetLabelObject
())
e
:
SetLabelObject
(
te
)
Duel
.
ClearOperationInfo
(
0
)
Duel
.
SetChainLimit
(
s
.
chlimit
)
end
function
s
.
chlimit
(
e
,
ep
,
tp
)
return
tp
==
ep
end
function
s
.
operation2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
te
=
e
:
GetLabelObject
()
...
...
@@ -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
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
function
s
.
pfilter
(
c
,
tp
)
return
c
:
IsType
(
TYPE_CONTINUOUS
)
and
c
:
IsSetCard
(
0xf11
)
...
...
expansions/script/c40011411.lua
View file @
ab564c7b
...
...
@@ -2,7 +2,7 @@
function
c40011411
.
initial_effect
(
c
)
--copy self continuous spell
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_TOGRAVE
)
e1
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetHintTiming
(
0
,
TIMINGS_CHECK_MONSTER
)
...
...
@@ -57,6 +57,7 @@ function c40011411.cptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
te
:
SetLabelObject
(
e
:
GetLabelObject
())
e
:
SetLabelObject
(
te
)
Duel
.
ClearOperationInfo
(
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOGRAVE
,
g
,
1
,
0
,
0
)
end
function
c40011411
.
cpop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
te
=
e
:
GetLabelObject
()
...
...
@@ -67,6 +68,8 @@ function c40011411.cpop(e,tp,eg,ep,ev,re,r,rp)
local
op
=
te
:
GetOperation
()
if
op
then
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
end
Duel
.
BreakEffect
()
Duel
.
SendtoGrave
(
tc
,
REASON_EFFECT
)
end
function
c40011411
.
setfilter
(
c
)
return
c
:
IsCode
(
40011407
)
and
c
:
IsSSetable
()
...
...
expansions/script/c60152901.lua
View file @
ab564c7b
--苍蓝的心意 美树沙耶香
function
c60152901
.
initial_effect
(
c
)
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
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetHintTiming
(
0
,
TIMINGS_CHECK_MONSTER
+
TIMING_MAIN_END
)
e1
:
SetCountLimit
(
1
,
60152901
)
e1
:
SetCondition
(
c60152901
.
e1con
)
e1
:
SetTarget
(
c60152901
.
e1tg
)
e1
:
SetOperation
(
c60152901
.
e1op
)
c
:
RegisterEffect
(
e1
)
if
not
c60152901
.
global_check
then
c60152901
.
global_check
=
true
local
ge1
=
Effect
.
CreateEffect
(
c
)
...
...
@@ -47,15 +52,64 @@ end
function
c60152901
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetMatchingGroupCount
(
Card
.
IsFacedown
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
==
0
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
)
return
Duel
.
GetMatchingGroupCount
(
Card
.
IsFacedown
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
==
0
and
(
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN1
or
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN2
)
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
)
return
c
:
IsControler
(
tp
)
and
c
:
IsPreviousLocation
(
LOCATION_DECK
)
end
...
...
expansions/script/c60152902.lua
View file @
ab564c7b
--恋慕的思念 美树沙耶香
function
c60152902
.
initial_effect
(
c
)
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
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetHintTiming
(
0
,
TIMINGS_CHECK_MONSTER
+
TIMING_MAIN_END
)
e1
:
SetCountLimit
(
1
,
60152902
)
e1
:
SetCondition
(
c60152902
.
e1con
)
e1
:
SetTarget
(
c60152902
.
e1tg
)
e1
:
SetOperation
(
c60152902
.
e1op
)
c
:
RegisterEffect
(
e1
)
if
not
c60152902
.
global_check
then
c60152902
.
global_check
=
true
local
ge1
=
Effect
.
CreateEffect
(
c
)
...
...
@@ -52,15 +57,64 @@ end
function
c60152902
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetMatchingGroupCount
(
Card
.
IsFacedown
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
==
0
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
)
return
Duel
.
GetMatchingGroupCount
(
Card
.
IsFacedown
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
==
0
and
(
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN1
or
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN2
)
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
)
local
tc
=
eg
:
GetFirst
()
while
tc
do
...
...
expansions/script/c60152903.lua
View file @
ab564c7b
--鼓动的愿望 美树沙耶香
function
c60152903
.
initial_effect
(
c
)
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
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetHintTiming
(
0
,
TIMINGS_CHECK_MONSTER
+
TIMING_MAIN_END
)
e1
:
SetCountLimit
(
1
,
60152903
)
e1
:
SetCondition
(
c60152903
.
e1con
)
e1
:
SetTarget
(
c60152903
.
e1tg
)
e1
:
SetOperation
(
c60152903
.
e1op
)
c
:
RegisterEffect
(
e1
)
if
not
c60152903
.
global_check
then
c60152903
.
global_check
=
true
local
ge1
=
Effect
.
GlobalEffect
()
...
...
@@ -46,15 +51,64 @@ end
function
c60152903
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetMatchingGroupCount
(
Card
.
IsFacedown
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
==
0
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
)
return
Duel
.
GetMatchingGroupCount
(
Card
.
IsFacedown
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
==
0
and
(
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN1
or
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN2
)
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
)
return
c
end
...
...
expansions/script/c60152904.lua
View file @
ab564c7b
--真挚的谎言 美树沙耶香
function
c60152904
.
initial_effect
(
c
)
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
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetHintTiming
(
0
,
TIMINGS_CHECK_MONSTER
+
TIMING_MAIN_END
)
e1
:
SetCountLimit
(
1
,
60152904
)
e1
:
SetCondition
(
c60152904
.
e1con
)
e1
:
SetTarget
(
c60152904
.
e1tg
)
e1
:
SetOperation
(
c60152904
.
e1op
)
c
:
RegisterEffect
(
e1
)
if
not
c60152904
.
global_check
then
c60152904
.
global_check
=
true
local
ge1
=
Effect
.
GlobalEffect
()
...
...
@@ -46,15 +51,64 @@ end
function
c60152904
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetMatchingGroupCount
(
Card
.
IsFacedown
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
==
0
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
)
return
Duel
.
GetMatchingGroupCount
(
Card
.
IsFacedown
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
==
0
and
(
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN1
or
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN2
)
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
)
local
g
=
eg
:
Filter
(
Card
.
IsType
,
nil
,
TYPE_MONSTER
)
local
tc
=
g
:
GetFirst
()
...
...
expansions/script/c60152905.lua
View file @
ab564c7b
--虚伪的臊动 美树沙耶香
function
c60152905
.
initial_effect
(
c
)
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
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetHintTiming
(
0
,
TIMINGS_CHECK_MONSTER
+
TIMING_MAIN_END
)
e1
:
SetCountLimit
(
1
,
60152905
)
e1
:
SetCondition
(
c60152905
.
e1con
)
e1
:
SetTarget
(
c60152905
.
e1tg
)
e1
:
SetOperation
(
c60152905
.
e1op
)
c
:
RegisterEffect
(
e1
)
Duel
.
AddCustomActivityCounter
(
60152905
,
ACTIVITY_CHAIN
,
aux
.
TRUE
)
local
e2
=
Effect
.
CreateEffect
(
c
)
...
...
@@ -40,15 +44,64 @@ end
function
c60152905
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetMatchingGroupCount
(
Card
.
IsFacedown
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
==
0
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
)
return
Duel
.
GetMatchingGroupCount
(
Card
.
IsFacedown
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
==
0
and
(
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN1
or
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN2
)
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
)
local
p
=
PLAYER_ALL
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
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
)
end
function
c60152906
.
e1tg
filter
(
c
,
e
,
tp
)
function
c60152906
.
filter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x3b29
)
and
c
:
IsType
(
TYPE_RITUAL
)
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
)
if
chk
==
0
then
local
mg
=
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"
)
local
mg
1
=
Duel
.
GetRitualMaterial
(
tp
)
return
Duel
.
IsExistingMatchingCard
(
c60152906
.
RitualUltimateFilter
,
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
,
0
,
1
,
nil
,
c60152906
.
filter
,
e
,
tp
,
mg1
,
nil
,
Card
.
GetLevel
,
"Greater"
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
)
end
function
c60152906
.
e1op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
::
cancel
::
local
mg
=
Duel
.
GetRitualMaterial
(
tp
)
local
mg
1
=
Duel
.
GetRitualMaterial
(
tp
)
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
tc
=
t
g
:
GetFirst
()
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
=
g
:
GetFirst
()
if
tc
then
mg
=
mg
:
Filter
(
Card
.
IsCanBeRitualMaterial
,
tc
,
tc
)
local
mg
=
mg1
:
Filter
(
Card
.
IsCanBeRitualMaterial
,
tc
,
tc
)
if
tc
.
mat_filter
then
mg
=
mg
:
Filter
(
tc
.
mat_filter
,
tc
,
tp
)
else
...
...
@@ -74,10 +91,12 @@ function c60152906.e1op(e,tp,eg,ep,ev,re,r,rp)
aux
.
GCheckAdditional
=
nil
if
not
mat
then
goto
cancel
end
tc
:
SetMaterial
(
mat
)
local
mat2
=
mat
:
Filter
(
Card
.
IsLocation
,
nil
,
LOCATION_EXTRA
)
mat
:
Sub
(
mat2
)
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
()
end
end
...
...
expansions/script/c60152907.lua
View file @
ab564c7b
...
...
@@ -45,24 +45,41 @@ end
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
)
end
function
c60152907
.
e1tg
filter
(
c
,
e
,
tp
)
function
c60152907
.
filter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x3b29
)
and
c
:
IsType
(
TYPE_RITUAL
)
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
)
if
chk
==
0
then
local
mg
=
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"
)
local
mg
1
=
Duel
.
GetRitualMaterial
(
tp
)
return
Duel
.
IsExistingMatchingCard
(
c60152907
.
RitualUltimateFilter
,
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
,
0
,
1
,
nil
,
c60152907
.
filter
,
e
,
tp
,
mg1
,
nil
,
Card
.
GetLevel
,
"Greater"
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_HAND
+
LOCATION_GRAVE
)
end
function
c60152907
.
e1op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
::
cancel
::
local
mg
=
Duel
.
GetRitualMaterial
(
tp
)
local
mg
1
=
Duel
.
GetRitualMaterial
(
tp
)
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
tc
=
t
g
:
GetFirst
()
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
=
g
:
GetFirst
()
if
tc
then
mg
=
mg
:
Filter
(
Card
.
IsCanBeRitualMaterial
,
tc
,
tc
)
local
mg
=
mg1
:
Filter
(
Card
.
IsCanBeRitualMaterial
,
tc
,
tc
)
if
tc
.
mat_filter
then
mg
=
mg
:
Filter
(
tc
.
mat_filter
,
tc
,
tp
)
else
...
...
@@ -74,10 +91,12 @@ function c60152907.e1op(e,tp,eg,ep,ev,re,r,rp)
aux
.
GCheckAdditional
=
nil
if
not
mat
then
goto
cancel
end
tc
:
SetMaterial
(
mat
)
local
mat2
=
mat
:
Filter
(
Card
.
IsLocation
,
nil
,
LOCATION_EXTRA
)
mat
:
Sub
(
mat2
)
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
()
end
end
...
...
expansions/script/c60152913.lua
View file @
ab564c7b
...
...
@@ -51,8 +51,8 @@ function c60152913.e3op(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCountLimit
(
1
,
6012901
)
e1
:
SetCondition
(
c60152913
.
con
)
e1
:
SetTarget
(
c60152913
.
2901e2
tg
)
e1
:
SetOperation
(
c60152913
.
2901e2
op
)
e1
:
SetTarget
(
c60152913
.
e22901
tg
)
e1
:
SetOperation
(
c60152913
.
e22901
op
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterFlagEffect
(
0
,
RESET_EVENT
+
RESETS_STANDARD
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
0
,
aux
.
Stringid
(
c60152913
,
1
))
end
...
...
@@ -65,8 +65,8 @@ function c60152913.e3op(e,tp,eg,ep,ev,re,r,rp)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCountLimit
(
1
,
6012902
)
e2
:
SetCondition
(
c60152913
.
con
)
e2
:
SetTarget
(
c60152913
.
2902e
2
tg
)
e2
:
SetOperation
(
c60152913
.
2902e
2
op
)
e2
:
SetTarget
(
c60152913
.
e2290
2tg
)
e2
:
SetOperation
(
c60152913
.
e2290
2op
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterFlagEffect
(
0
,
RESET_EVENT
+
RESETS_STANDARD
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
0
,
aux
.
Stringid
(
60152913
,
2
))
end
...
...
@@ -79,8 +79,8 @@ function c60152913.e3op(e,tp,eg,ep,ev,re,r,rp)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetCountLimit
(
1
,
6012903
)
e3
:
SetCondition
(
c60152913
.
con
)
e3
:
SetTarget
(
c60152913
.
2903e2
tg
)
e3
:
SetOperation
(
c60152913
.
2903e2
op
)
e3
:
SetTarget
(
c60152913
.
e22903
tg
)
e3
:
SetOperation
(
c60152913
.
e22903
op
)
c
:
RegisterEffect
(
e3
)
c
:
RegisterFlagEffect
(
0
,
RESET_EVENT
+
RESETS_STANDARD
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
0
,
aux
.
Stringid
(
60152913
,
3
))
end
...
...
@@ -93,8 +93,8 @@ function c60152913.e3op(e,tp,eg,ep,ev,re,r,rp)
e4
:
SetRange
(
LOCATION_MZONE
)
e4
:
SetCountLimit
(
1
,
6012904
)
e4
:
SetCondition
(
c60152913
.
con
)
e4
:
SetTarget
(
c60152913
.
2904e2
tg
)
e4
:
SetOperation
(
c60152913
.
2904e2
op
)
e4
:
SetTarget
(
c60152913
.
e22904
tg
)
e4
:
SetOperation
(
c60152913
.
e22904
op
)
c
:
RegisterEffect
(
e4
)
c
:
RegisterFlagEffect
(
0
,
RESET_EVENT
+
RESETS_STANDARD
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
0
,
aux
.
Stringid
(
60152913
,
4
))
end
...
...
@@ -107,8 +107,8 @@ function c60152913.e3op(e,tp,eg,ep,ev,re,r,rp)
e5
:
SetRange
(
LOCATION_MZONE
)
e5
:
SetCountLimit
(
1
,
6012905
)
e5
:
SetCondition
(
c60152913
.
con
)
e5
:
SetTarget
(
c60152913
.
2905e2
tg
)
e5
:
SetOperation
(
c60152913
.
2905e2
op
)
e5
:
SetTarget
(
c60152913
.
e22905
tg
)
e5
:
SetOperation
(
c60152913
.
e22905
op
)
c
:
RegisterEffect
(
e5
)
c
:
RegisterFlagEffect
(
0
,
RESET_EVENT
+
RESETS_STANDARD
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
0
,
aux
.
Stringid
(
60152913
,
5
))
end
...
...
@@ -121,8 +121,8 @@ function c60152913.e3op(e,tp,eg,ep,ev,re,r,rp)
e6
:
SetRange
(
LOCATION_MZONE
)
e6
:
SetCountLimit
(
1
,
6012906
)
e6
:
SetCondition
(
c60152913
.
con
)
e6
:
SetTarget
(
c60152913
.
2906e2
tg
)
e6
:
SetOperation
(
c60152913
.
2906e2
op
)
e6
:
SetTarget
(
c60152913
.
e22906
tg
)
e6
:
SetOperation
(
c60152913
.
e22906
op
)
c
:
RegisterEffect
(
e6
)
c
:
RegisterFlagEffect
(
0
,
RESET_EVENT
+
RESETS_STANDARD
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
0
,
aux
.
Stringid
(
60152913
,
6
))
end
...
...
@@ -135,8 +135,8 @@ function c60152913.e3op(e,tp,eg,ep,ev,re,r,rp)
e7
:
SetRange
(
LOCATION_MZONE
)
e7
:
SetCountLimit
(
1
,
6012907
)
e7
:
SetCondition
(
c60152913
.
con
)
e7
:
SetTarget
(
c60152913
.
2907e2
tg
)
e7
:
SetOperation
(
c60152913
.
2907e2
op
)
e7
:
SetTarget
(
c60152913
.
e22907
tg
)
e7
:
SetOperation
(
c60152913
.
e22907
op
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterFlagEffect
(
0
,
RESET_EVENT
+
RESETS_STANDARD
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
0
,
aux
.
Stringid
(
60152913
,
7
))
end
...
...
@@ -144,17 +144,17 @@ end
function
c60152913
.
con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetMatchingGroupCount
(
Card
.
IsFacedown
,
tp
,
LOCATION_EXTRA
,
0
,
nil
)
==
0
end
function
c60152913
.
2901e2
tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c60152913
.
e22901
tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
p
=
PLAYER_ALL
if
chk
==
0
then
return
not
Duel
.
GetFlagEffect
(
tp
,
60152901
)
==
0
and
Duel
.
GetMatchingGroupCount
(
aux
.
NOT
(
Card
.
IsPublic
),
tp
,
0
,
LOCATION_HAND
,
nil
)
>
0
end
Duel
.
SetTargetPlayer
(
p
)
Duel
.
SetTargetParam
(
1000
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DAMAGE
,
nil
,
0
,
p
,
1000
)
end
function
c60152913
.
2901e2
opfilter
(
c
)
function
c60152913
.
e22901
opfilter
(
c
)
return
c
:
IsAbleToDeck
()
end
function
c60152913
.
2901e2
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c60152913
.
e22901
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
p
,
d
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_PLAYER
,
CHAININFO_TARGET_PARAM
)
if
p
==
PLAYER_ALL
then
Duel
.
Damage
(
0
,
d
,
REASON_EFFECT
,
true
)
...
...
@@ -166,7 +166,7 @@ function c60152913.2901e2op(e,tp,eg,ep,ev,re,r,rp)
if
g
:
GetCount
()
>
0
then
Duel
.
ConfirmCards
(
tp
,
g
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c60152913
.
2901e2
opfilter
,
tp
,
0
,
LOCATION_HAND
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c60152913
.
e22901
opfilter
,
tp
,
0
,
LOCATION_HAND
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
HintSelection
(
g
)
Duel
.
SendtoDeck
(
g
,
nil
,
SEQ_DECKSHUFFLE
,
REASON_EFFECT
)
...
...
@@ -175,17 +175,17 @@ function c60152913.2901e2op(e,tp,eg,ep,ev,re,r,rp)
end
end
end
function
c60152913
.
2902e
2
opfilter
(
c
)
function
c60152913
.
e2290
2opfilter
(
c
)
return
c
:
IsFaceup
()
and
not
c
:
IsDisabled
()
end
function
c60152913
.
2902e
2
tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c60152913
.
e2290
2tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
p
=
PLAYER_ALL
if
chk
==
0
then
return
not
Duel
.
GetFlagEffect
(
1
-
tp
,
60152902
)
==
0
end
Duel
.
SetTargetPlayer
(
p
)
Duel
.
SetTargetParam
(
1000
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DAMAGE
,
nil
,
0
,
p
,
1000
)
end
function
c60152913
.
2902e
2
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c60152913
.
e2290
2op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
p
,
d
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_PLAYER
,
CHAININFO_TARGET_PARAM
)
if
p
==
PLAYER_ALL
then
Duel
.
Damage
(
0
,
d
,
REASON_EFFECT
,
true
)
...
...
@@ -199,7 +199,7 @@ function c60152913.2902e2op(e,tp,eg,ep,ev,re,r,rp)
if
s
<
0
then
s
=
p1
-
p2
end
local
d2
=
math.floor
(
s
/
1000
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FACEUP
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c60152913
.
2902e
2
opfilter
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
d2
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c60152913
.
e2290
2opfilter
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
d2
,
nil
)
local
tc
=
g
:
GetFirst
()
while
tc
do
local
e1
=
Effect
.
CreateEffect
(
c
)
...
...
@@ -216,24 +216,24 @@ function c60152913.2902e2op(e,tp,eg,ep,ev,re,r,rp)
end
end
end
function
c60152913
.
2903e2
tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c60152913
.
e22903
tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
p
=
PLAYER_ALL
if
chk
==
0
then
return
not
Duel
.
GetFlagEffect
(
tp
,
60152903
)
==
0
and
Duel
.
GetMatchingGroupCount
(
aux
.
NOT
(
Card
.
IsPublic
),
tp
,
0
,
LOCATION_HAND
,
nil
)
>
0
end
Duel
.
SetTargetPlayer
(
p
)
Duel
.
SetTargetParam
(
1000
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DAMAGE
,
nil
,
0
,
p
,
1000
)
end
function
c60152913
.
2903e2
opfilter
(
c
)
function
c60152913
.
e22903
opfilter
(
c
)
return
c
:
IsAbleToDeck
()
end
function
c60152913
.
2903e2
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c60152913
.
e22903
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
p
,
d
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_PLAYER
,
CHAININFO_TARGET_PARAM
)
if
p
==
PLAYER_ALL
then
Duel
.
Damage
(
0
,
d
,
REASON_EFFECT
,
true
)
Duel
.
Damage
(
1
,
d
,
REASON_EFFECT
,
true
)
Duel
.
RDComplete
()
Duel
.
BreakEffect
()
local
g
=
Duel
.
GetMatchingGroup
(
c60152913
.
2903e2
opfilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
local
g
=
Duel
.
GetMatchingGroup
(
c60152913
.
e22903
opfilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
local
tc
=
g
:
GetFirst
()
while
tc
do
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
...
...
@@ -251,17 +251,17 @@ function c60152913.2903e2op(e,tp,eg,ep,ev,re,r,rp)
end
end
end
function
c60152913
.
2904e2
tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c60152913
.
e22904
tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
p
=
PLAYER_ALL
if
chk
==
0
then
return
not
Duel
.
GetFlagEffect
(
1
-
tp
,
60152904
)
==
0
end
Duel
.
SetTargetPlayer
(
p
)
Duel
.
SetTargetParam
(
1000
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DAMAGE
,
nil
,
0
,
p
,
1000
)
end
function
c60152913
.
2904e2
opfilter
(
c
)
function
c60152913
.
e22904
opfilter
(
c
)
return
c
:
IsAbleToDeck
()
end
function
c60152913
.
2904e2
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c60152913
.
e22904
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
p
,
d
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_PLAYER
,
CHAININFO_TARGET_PARAM
)
if
p
==
PLAYER_ALL
then
Duel
.
Damage
(
0
,
d
,
REASON_EFFECT
,
true
)
...
...
@@ -276,7 +276,7 @@ function c60152913.2904e2op(e,tp,eg,ep,ev,re,r,rp)
local
d2
=
math.floor
(
s
/
1000
)
if
d2
>=
1
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c60152913
.
2904e2
opfilter
,
tp
,
0
,
LOCATION_GRAVE
,
1
,
d2
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c60152913
.
e22904
opfilter
,
tp
,
0
,
LOCATION_GRAVE
,
1
,
d2
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
HintSelection
(
g
)
Duel
.
SendtoDeck
(
g
,
nil
,
SEQ_DECKSHUFFLE
,
REASON_EFFECT
)
...
...
@@ -284,7 +284,7 @@ function c60152913.2904e2op(e,tp,eg,ep,ev,re,r,rp)
end
end
end
function
c60152913
.
2905e2
tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c60152913
.
e22905
tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
p
=
PLAYER_ALL
if
chk
==
0
then
return
Duel
.
GetCustomActivityCount
(
60152905
,
1
-
tp
,
ACTIVITY_CHAIN
)
~=
0
end
Duel
.
SetTargetPlayer
(
p
)
...
...
@@ -305,7 +305,7 @@ function c60152913.2905e2tg(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetTargetCard
(
dg
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_NEGATE
,
ng
,
ng
:
GetCount
(),
0
,
0
)
end
function
c60152913
.
2905e2
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c60152913
.
e22905
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
p
,
d
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_PLAYER
,
CHAININFO_TARGET_PARAM
)
if
p
==
PLAYER_ALL
then
Duel
.
Damage
(
0
,
d
,
REASON_EFFECT
,
true
)
...
...
@@ -324,16 +324,16 @@ function c60152913.2905e2op(e,tp,eg,ep,ev,re,r,rp)
end
end
end
function
c60152913
.
2906e2
tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c60152913
.
e22906
tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
Duel
.
SetTargetPlayer
(
tp
)
Duel
.
SetTargetParam
(
1000
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_RECOVER
,
nil
,
0
,
tp
,
1000
)
end
function
c60152913
.
2906e2
opfilter
(
c
)
function
c60152913
.
e22906
opfilter
(
c
)
return
c
end
function
c60152913
.
2906e2
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c60152913
.
e22906
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
p
,
d
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_PLAYER
,
CHAININFO_TARGET_PARAM
)
Duel
.
Recover
(
p
,
d
,
REASON_EFFECT
)
Duel
.
BreakEffect
()
...
...
@@ -345,31 +345,31 @@ function c60152913.2906e2op(e,tp,eg,ep,ev,re,r,rp)
local
d2
=
math.floor
(
s
/
1000
)
if
d2
>=
1
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c60152913
.
2906e2
opfilter
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
d2
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c60152913
.
e22906
opfilter
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
d2
,
nil
)
if
g
:
GetCount
()
>
0
then
Duel
.
HintSelection
(
g
)
Duel
.
SendtoGrave
(
g
,
REASON_EFFECT
)
end
end
end
function
c60152913
.
2907e2
tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c60152913
.
e22907
tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
Duel
.
SetTargetPlayer
(
tp
)
Duel
.
SetTargetParam
(
1000
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_RECOVER
,
nil
,
0
,
tp
,
1000
)
end
function
c60152913
.
2907e2
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c60152913
.
e22907
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
p
,
d
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_PLAYER
,
CHAININFO_TARGET_PARAM
)
Duel
.
Recover
(
p
,
d
,
REASON_EFFECT
)
--lose lp
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetCode
(
EVENT_CHAIN_SOLVED
)
e1
:
SetOperation
(
c60152913
.
2907e2
opop
)
e1
:
SetOperation
(
c60152913
.
e22907
opop
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e1
,
tp
)
end
function
c60152913
.
2907e2
opop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c60152913
.
e22907
opop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_CARD
,
0
,
60152913
)
Duel
.
Damage
(
tp
,
500
,
REASON_EFFECT
,
true
)
Duel
.
Damage
(
1
-
tp
,
500
,
REASON_EFFECT
,
true
)
...
...
expansions/script/c87470001.lua
View file @
ab564c7b
...
...
@@ -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
lab2
==
tc
:
GetFieldID
()
then
cg
:
AddCard
(
tc
)
end
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
()
end
function
c87470001
.
dsrtg
(
e
,
c
)
...
...
expansions/script/c91000402.lua
View file @
ab564c7b
...
...
@@ -13,9 +13,13 @@ function c91000402.initial_effect(c)
e1
:
SetTarget
(
cm
.
tg1
)
e1
:
SetOperation
(
cm
.
op1
)
c
:
RegisterEffect
(
e1
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_EQUIP
)
e2
:
SetCode
(
EFFECT_SELF_DESTROY
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
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
)
local
e5
=
Effect
.
CreateEffect
(
c
)
e5
:
SetCategory
(
CATEGORY_EQUIP
)
...
...
@@ -76,7 +80,13 @@ function cm.op1(e,tp,eg,ep,ev,re,r,rp)
c
:
RegisterEffect
(
e3
)
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
)
return
e
:
GetLabelObject
()
==
c
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