Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
ygopro-scripts
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Reinen
ygopro-scripts
Commits
5cf70d82
Commit
5cf70d82
authored
Nov 19, 2017
by
mercury233
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update & fix Auxiliary.AddFusionProcShaddoll
parent
35916a63
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
94 additions
and
450 deletions
+94
-450
c19261966.lua
c19261966.lua
+2
-75
c20366274.lua
c20366274.lua
+2
-75
c48424886.lua
c48424886.lua
+2
-75
c74009824.lua
c74009824.lua
+2
-75
c74822425.lua
c74822425.lua
+2
-75
c94977269.lua
c94977269.lua
+2
-75
utility.lua
utility.lua
+82
-0
No files found.
c19261966.lua
View file @
5cf70d82
--エルシャドール・アノマリリス
--エルシャドール・アノマリリス
function
c19261966
.
initial_effect
(
c
)
function
c19261966
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
--fusion material
--fusion material
local
e1
=
Effect
.
CreateEffect
(
c
)
c
:
EnableReviveLimit
()
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
aux
.
AddFusionProcShaddoll
(
c
,
ATTRIBUTE_WATER
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetCode
(
EFFECT_FUSION_MATERIAL
)
e1
:
SetCondition
(
c19261966
.
fuscon
)
e1
:
SetOperation
(
c19261966
.
fusop
)
c
:
RegisterEffect
(
e1
)
--splimit
--splimit
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
...
@@ -37,73 +31,6 @@ function c19261966.initial_effect(c)
...
@@ -37,73 +31,6 @@ function c19261966.initial_effect(c)
e4
:
SetOperation
(
c19261966
.
thop
)
e4
:
SetOperation
(
c19261966
.
thop
)
c
:
RegisterEffect
(
e4
)
c
:
RegisterEffect
(
e4
)
end
end
function
c19261966
.
ffilter
(
c
,
fc
)
return
(
c19261966
.
ffilter1
(
c
)
or
c19261966
.
ffilter2
(
c
))
and
c
:
IsCanBeFusionMaterial
(
fc
)
and
not
c
:
IsHasEffect
(
6205579
)
end
function
c19261966
.
exfilter
(
c
,
fc
)
return
c
:
IsFaceup
()
and
c19261966
.
ffilter
(
c
,
fc
)
end
function
c19261966
.
ffilter1
(
c
)
return
c
:
IsFusionSetCard
(
0x9d
)
end
function
c19261966
.
ffilter2
(
c
)
return
c
:
IsFusionAttribute
(
ATTRIBUTE_WATER
)
or
c
:
IsHasEffect
(
4904633
)
end
function
c19261966
.
spfilter1
(
c
,
tp
,
mg
,
exg
)
return
mg
:
IsExists
(
c19261966
.
spfilter2
,
1
,
c
,
tp
,
c
)
or
(
exg
and
exg
:
IsExists
(
c19261966
.
spfilter2
,
1
,
c
,
tp
,
c
))
end
function
c19261966
.
spfilter2
(
c
,
tp
,
mc
)
local
sg
=
Group
.
FromCards
(
c
,
mc
)
if
sg
:
IsExists
(
aux
.
FCheckTuneMagicianX
,
1
,
nil
,
sg
)
then
return
false
end
return
(
c19261966
.
ffilter1
(
c
)
and
c19261966
.
ffilter2
(
mc
)
or
c19261966
.
ffilter2
(
c
)
and
c19261966
.
ffilter1
(
mc
))
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
sg
)
>
0
end
function
c19261966
.
fuscon
(
e
,
g
,
gc
,
chkf
)
if
g
==
nil
then
return
true
end
local
c
=
e
:
GetHandler
()
local
mg
=
g
:
Filter
(
c19261966
.
ffilter
,
nil
,
c
)
local
tp
=
e
:
GetHandlerPlayer
()
local
fc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
local
exg
=
nil
if
fc
and
fc
:
IsHasEffect
(
81788994
)
and
fc
:
IsCanRemoveCounter
(
tp
,
0x16
,
3
,
REASON_EFFECT
)
then
exg
=
Duel
.
GetMatchingGroup
(
c19261966
.
exfilter
,
tp
,
0
,
LOCATION_MZONE
,
mg
,
c
)
end
if
gc
then
if
not
mg
:
IsContains
(
gc
)
then
return
false
end
return
c19261966
.
spfilter1
(
gc
,
tp
,
mg
,
exg
)
end
return
mg
:
IsExists
(
c19261966
.
spfilter1
,
1
,
nil
,
tp
,
mg
,
exg
)
end
function
c19261966
.
fusop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
gc
,
chkf
)
local
c
=
e
:
GetHandler
()
local
mg
=
eg
:
Filter
(
c19261966
.
ffilter
,
nil
,
c
)
local
fc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
local
exg
=
nil
if
fc
and
fc
:
IsHasEffect
(
81788994
)
and
fc
:
IsCanRemoveCounter
(
tp
,
0x16
,
3
,
REASON_EFFECT
)
then
exg
=
Duel
.
GetMatchingGroup
(
c19261966
.
exfilter
,
tp
,
0
,
LOCATION_MZONE
,
mg
,
c
)
end
local
g
=
nil
if
gc
then
g
=
Group
.
FromCards
(
gc
)
mg
:
RemoveCard
(
gc
)
else
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
g
=
mg
:
FilterSelect
(
tp
,
c19261966
.
spfilter1
,
1
,
1
,
nil
,
tp
,
mg
,
exg
)
mg
:
Sub
(
g
)
end
if
exg
and
(
mg
:
GetCount
()
==
0
or
(
exg
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
81788994
,
0
))))
then
fc
:
RemoveCounter
(
tp
,
0x16
,
3
,
REASON_EFFECT
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
local
sg
=
exg
:
FilterSelect
(
tp
,
c19261966
.
spfilter2
,
1
,
1
,
nil
,
tp
,
g
:
GetFirst
())
g
:
Merge
(
sg
)
else
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
local
sg
=
mg
:
FilterSelect
(
tp
,
c19261966
.
spfilter2
,
1
,
1
,
nil
,
tp
,
g
:
GetFirst
())
g
:
Merge
(
sg
)
end
Duel
.
SetFusionMaterial
(
g
)
end
function
c19261966
.
splimit
(
e
,
se
,
sp
,
st
)
function
c19261966
.
splimit
(
e
,
se
,
sp
,
st
)
return
bit
.
band
(
st
,
SUMMON_TYPE_FUSION
)
==
SUMMON_TYPE_FUSION
return
bit
.
band
(
st
,
SUMMON_TYPE_FUSION
)
==
SUMMON_TYPE_FUSION
end
end
...
...
c20366274.lua
View file @
5cf70d82
--エルシャドール・ネフィリム
--エルシャドール・ネフィリム
function
c20366274
.
initial_effect
(
c
)
function
c20366274
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
--fusion material
--fusion material
local
e1
=
Effect
.
CreateEffect
(
c
)
c
:
EnableReviveLimit
()
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
aux
.
AddFusionProcShaddoll
(
c
,
ATTRIBUTE_LIGHT
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetCode
(
EFFECT_FUSION_MATERIAL
)
e1
:
SetCondition
(
c20366274
.
fuscon
)
e1
:
SetOperation
(
c20366274
.
fusop
)
c
:
RegisterEffect
(
e1
)
--cannot spsummon
--cannot spsummon
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
...
@@ -48,73 +42,6 @@ function c20366274.initial_effect(c)
...
@@ -48,73 +42,6 @@ function c20366274.initial_effect(c)
e5
:
SetOperation
(
c20366274
.
thop
)
e5
:
SetOperation
(
c20366274
.
thop
)
c
:
RegisterEffect
(
e5
)
c
:
RegisterEffect
(
e5
)
end
end
function
c20366274
.
ffilter
(
c
,
fc
)
return
(
c20366274
.
ffilter1
(
c
)
or
c20366274
.
ffilter2
(
c
))
and
c
:
IsCanBeFusionMaterial
(
fc
)
and
not
c
:
IsHasEffect
(
6205579
)
end
function
c20366274
.
exfilter
(
c
,
fc
)
return
c
:
IsFaceup
()
and
c20366274
.
ffilter
(
c
,
fc
)
end
function
c20366274
.
ffilter1
(
c
)
return
c
:
IsFusionSetCard
(
0x9d
)
end
function
c20366274
.
ffilter2
(
c
)
return
c
:
IsFusionAttribute
(
ATTRIBUTE_LIGHT
)
or
c
:
IsHasEffect
(
4904633
)
end
function
c20366274
.
spfilter1
(
c
,
tp
,
mg
,
exg
)
return
mg
:
IsExists
(
c20366274
.
spfilter2
,
1
,
c
,
tp
,
c
)
or
(
exg
and
exg
:
IsExists
(
c20366274
.
spfilter2
,
1
,
c
,
tp
,
c
))
end
function
c20366274
.
spfilter2
(
c
,
tp
,
mc
)
local
sg
=
Group
.
FromCards
(
c
,
mc
)
if
sg
:
IsExists
(
aux
.
FCheckTuneMagicianX
,
1
,
nil
,
sg
)
then
return
false
end
return
(
c20366274
.
ffilter1
(
c
)
and
c20366274
.
ffilter2
(
mc
)
or
c20366274
.
ffilter2
(
c
)
and
c20366274
.
ffilter1
(
mc
))
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
sg
)
>
0
end
function
c20366274
.
fuscon
(
e
,
g
,
gc
,
chkf
)
if
g
==
nil
then
return
true
end
local
c
=
e
:
GetHandler
()
local
mg
=
g
:
Filter
(
c20366274
.
ffilter
,
nil
,
c
)
local
tp
=
e
:
GetHandlerPlayer
()
local
fc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
local
exg
=
nil
if
fc
and
fc
:
IsHasEffect
(
81788994
)
and
fc
:
IsCanRemoveCounter
(
tp
,
0x16
,
3
,
REASON_EFFECT
)
then
exg
=
Duel
.
GetMatchingGroup
(
c20366274
.
exfilter
,
tp
,
0
,
LOCATION_MZONE
,
mg
,
c
)
end
if
gc
then
if
not
mg
:
IsContains
(
gc
)
then
return
false
end
return
c20366274
.
spfilter1
(
gc
,
tp
,
mg
,
exg
)
end
return
mg
:
IsExists
(
c20366274
.
spfilter1
,
1
,
nil
,
tp
,
mg
,
exg
)
end
function
c20366274
.
fusop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
gc
,
chkf
)
local
c
=
e
:
GetHandler
()
local
mg
=
eg
:
Filter
(
c20366274
.
ffilter
,
nil
,
c
)
local
fc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
local
exg
=
nil
if
fc
and
fc
:
IsHasEffect
(
81788994
)
and
fc
:
IsCanRemoveCounter
(
tp
,
0x16
,
3
,
REASON_EFFECT
)
then
exg
=
Duel
.
GetMatchingGroup
(
c20366274
.
exfilter
,
tp
,
0
,
LOCATION_MZONE
,
mg
,
c
)
end
local
g
=
nil
if
gc
then
g
=
Group
.
FromCards
(
gc
)
mg
:
RemoveCard
(
gc
)
else
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
g
=
mg
:
FilterSelect
(
tp
,
c20366274
.
spfilter1
,
1
,
1
,
nil
,
tp
,
mg
,
exg
)
mg
:
Sub
(
g
)
end
if
exg
and
(
mg
:
GetCount
()
==
0
or
(
exg
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
81788994
,
0
))))
then
fc
:
RemoveCounter
(
tp
,
0x16
,
3
,
REASON_EFFECT
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
local
sg
=
exg
:
FilterSelect
(
tp
,
c20366274
.
spfilter2
,
1
,
1
,
nil
,
tp
,
g
:
GetFirst
())
g
:
Merge
(
sg
)
else
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
local
sg
=
mg
:
FilterSelect
(
tp
,
c20366274
.
spfilter2
,
1
,
1
,
nil
,
tp
,
g
:
GetFirst
())
g
:
Merge
(
sg
)
end
Duel
.
SetFusionMaterial
(
g
)
end
function
c20366274
.
splimit
(
e
,
se
,
sp
,
st
)
function
c20366274
.
splimit
(
e
,
se
,
sp
,
st
)
return
bit
.
band
(
st
,
SUMMON_TYPE_FUSION
)
==
SUMMON_TYPE_FUSION
return
bit
.
band
(
st
,
SUMMON_TYPE_FUSION
)
==
SUMMON_TYPE_FUSION
end
end
...
...
c48424886.lua
View file @
5cf70d82
--エルシャドール・エグリスタ
--エルシャドール・エグリスタ
function
c48424886
.
initial_effect
(
c
)
function
c48424886
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
--fusion material
--fusion material
local
e1
=
Effect
.
CreateEffect
(
c
)
c
:
EnableReviveLimit
()
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
aux
.
AddFusionProcShaddoll
(
c
,
ATTRIBUTE_FIRE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetCode
(
EFFECT_FUSION_MATERIAL
)
e1
:
SetCondition
(
c48424886
.
fuscon
)
e1
:
SetOperation
(
c48424886
.
fusop
)
c
:
RegisterEffect
(
e1
)
--cannot spsummon
--cannot spsummon
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
...
@@ -40,73 +34,6 @@ function c48424886.initial_effect(c)
...
@@ -40,73 +34,6 @@ function c48424886.initial_effect(c)
e4
:
SetOperation
(
c48424886
.
thop
)
e4
:
SetOperation
(
c48424886
.
thop
)
c
:
RegisterEffect
(
e4
)
c
:
RegisterEffect
(
e4
)
end
end
function
c48424886
.
ffilter
(
c
,
fc
)
return
(
c48424886
.
ffilter1
(
c
)
or
c48424886
.
ffilter2
(
c
))
and
c
:
IsCanBeFusionMaterial
(
fc
)
and
not
c
:
IsHasEffect
(
6205579
)
end
function
c48424886
.
exfilter
(
c
,
fc
)
return
c
:
IsFaceup
()
and
c48424886
.
ffilter
(
c
,
fc
)
end
function
c48424886
.
ffilter1
(
c
)
return
c
:
IsFusionSetCard
(
0x9d
)
end
function
c48424886
.
ffilter2
(
c
)
return
c
:
IsFusionAttribute
(
ATTRIBUTE_FIRE
)
or
c
:
IsHasEffect
(
4904633
)
end
function
c48424886
.
spfilter1
(
c
,
tp
,
mg
,
exg
)
return
mg
:
IsExists
(
c48424886
.
spfilter2
,
1
,
c
,
tp
,
c
)
or
(
exg
and
exg
:
IsExists
(
c48424886
.
spfilter2
,
1
,
c
,
tp
,
c
))
end
function
c48424886
.
spfilter2
(
c
,
tp
,
mc
)
local
sg
=
Group
.
FromCards
(
c
,
mc
)
if
sg
:
IsExists
(
aux
.
FCheckTuneMagicianX
,
1
,
nil
,
sg
)
then
return
false
end
return
(
c48424886
.
ffilter1
(
c
)
and
c48424886
.
ffilter2
(
mc
)
or
c48424886
.
ffilter2
(
c
)
and
c48424886
.
ffilter1
(
mc
))
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
sg
)
>
0
end
function
c48424886
.
fuscon
(
e
,
g
,
gc
,
chkf
)
if
g
==
nil
then
return
true
end
local
c
=
e
:
GetHandler
()
local
mg
=
g
:
Filter
(
c48424886
.
ffilter
,
nil
,
c
)
local
tp
=
e
:
GetHandlerPlayer
()
local
fc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
local
exg
=
nil
if
fc
and
fc
:
IsHasEffect
(
81788994
)
and
fc
:
IsCanRemoveCounter
(
tp
,
0x16
,
3
,
REASON_EFFECT
)
then
exg
=
Duel
.
GetMatchingGroup
(
c48424886
.
exfilter
,
tp
,
0
,
LOCATION_MZONE
,
mg
,
c
)
end
if
gc
then
if
not
mg
:
IsContains
(
gc
)
then
return
false
end
return
c48424886
.
spfilter1
(
gc
,
tp
,
mg
,
exg
)
end
return
mg
:
IsExists
(
c48424886
.
spfilter1
,
1
,
nil
,
tp
,
mg
,
exg
)
end
function
c48424886
.
fusop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
gc
,
chkf
)
local
c
=
e
:
GetHandler
()
local
mg
=
eg
:
Filter
(
c48424886
.
ffilter
,
nil
,
c
)
local
fc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
local
exg
=
nil
if
fc
and
fc
:
IsHasEffect
(
81788994
)
and
fc
:
IsCanRemoveCounter
(
tp
,
0x16
,
3
,
REASON_EFFECT
)
then
exg
=
Duel
.
GetMatchingGroup
(
c48424886
.
exfilter
,
tp
,
0
,
LOCATION_MZONE
,
mg
,
c
)
end
local
g
=
nil
if
gc
then
g
=
Group
.
FromCards
(
gc
)
mg
:
RemoveCard
(
gc
)
else
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
g
=
mg
:
FilterSelect
(
tp
,
c48424886
.
spfilter1
,
1
,
1
,
nil
,
tp
,
mg
,
exg
)
mg
:
Sub
(
g
)
end
if
exg
and
(
mg
:
GetCount
()
==
0
or
(
exg
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
81788994
,
0
))))
then
fc
:
RemoveCounter
(
tp
,
0x16
,
3
,
REASON_EFFECT
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
local
sg
=
exg
:
FilterSelect
(
tp
,
c48424886
.
spfilter2
,
1
,
1
,
nil
,
tp
,
g
:
GetFirst
())
g
:
Merge
(
sg
)
else
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
local
sg
=
mg
:
FilterSelect
(
tp
,
c48424886
.
spfilter2
,
1
,
1
,
nil
,
tp
,
g
:
GetFirst
())
g
:
Merge
(
sg
)
end
Duel
.
SetFusionMaterial
(
g
)
end
function
c48424886
.
splimit
(
e
,
se
,
sp
,
st
)
function
c48424886
.
splimit
(
e
,
se
,
sp
,
st
)
return
bit
.
band
(
st
,
SUMMON_TYPE_FUSION
)
==
SUMMON_TYPE_FUSION
return
bit
.
band
(
st
,
SUMMON_TYPE_FUSION
)
==
SUMMON_TYPE_FUSION
end
end
...
...
c74009824.lua
View file @
5cf70d82
--エルシャドール・ウェンディゴ
--エルシャドール・ウェンディゴ
function
c74009824
.
initial_effect
(
c
)
function
c74009824
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
--fusion material
--fusion material
local
e1
=
Effect
.
CreateEffect
(
c
)
c
:
EnableReviveLimit
()
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
aux
.
AddFusionProcShaddoll
(
c
,
ATTRIBUTE_WIND
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetCode
(
EFFECT_FUSION_MATERIAL
)
e1
:
SetCondition
(
c74009824
.
fuscon
)
e1
:
SetOperation
(
c74009824
.
fusop
)
c
:
RegisterEffect
(
e1
)
--cannot spsummon
--cannot spsummon
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
...
@@ -39,73 +33,6 @@ function c74009824.initial_effect(c)
...
@@ -39,73 +33,6 @@ function c74009824.initial_effect(c)
e4
:
SetOperation
(
c74009824
.
thop
)
e4
:
SetOperation
(
c74009824
.
thop
)
c
:
RegisterEffect
(
e4
)
c
:
RegisterEffect
(
e4
)
end
end
function
c74009824
.
ffilter
(
c
,
fc
)
return
(
c74009824
.
ffilter1
(
c
)
or
c74009824
.
ffilter2
(
c
))
and
c
:
IsCanBeFusionMaterial
(
fc
)
and
not
c
:
IsHasEffect
(
6205579
)
end
function
c74009824
.
exfilter
(
c
,
fc
)
return
c
:
IsFaceup
()
and
c74009824
.
ffilter
(
c
,
fc
)
end
function
c74009824
.
ffilter1
(
c
)
return
c
:
IsFusionSetCard
(
0x9d
)
end
function
c74009824
.
ffilter2
(
c
)
return
c
:
IsFusionAttribute
(
ATTRIBUTE_WIND
)
or
c
:
IsHasEffect
(
4904633
)
end
function
c74009824
.
spfilter1
(
c
,
tp
,
mg
,
exg
)
return
mg
:
IsExists
(
c74009824
.
spfilter2
,
1
,
c
,
tp
,
c
)
or
(
exg
and
exg
:
IsExists
(
c74009824
.
spfilter2
,
1
,
c
,
tp
,
c
))
end
function
c74009824
.
spfilter2
(
c
,
tp
,
mc
)
local
sg
=
Group
.
FromCards
(
c
,
mc
)
if
sg
:
IsExists
(
aux
.
FCheckTuneMagicianX
,
1
,
nil
,
sg
)
then
return
false
end
return
(
c74009824
.
ffilter1
(
c
)
and
c74009824
.
ffilter2
(
mc
)
or
c74009824
.
ffilter2
(
c
)
and
c74009824
.
ffilter1
(
mc
))
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
sg
)
>
0
end
function
c74009824
.
fuscon
(
e
,
g
,
gc
,
chkf
)
if
g
==
nil
then
return
true
end
local
c
=
e
:
GetHandler
()
local
mg
=
g
:
Filter
(
c74009824
.
ffilter
,
nil
,
c
)
local
tp
=
e
:
GetHandlerPlayer
()
local
fc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
local
exg
=
nil
if
fc
and
fc
:
IsHasEffect
(
81788994
)
and
fc
:
IsCanRemoveCounter
(
tp
,
0x16
,
3
,
REASON_EFFECT
)
then
exg
=
Duel
.
GetMatchingGroup
(
c74009824
.
exfilter
,
tp
,
0
,
LOCATION_MZONE
,
mg
,
c
)
end
if
gc
then
if
not
mg
:
IsContains
(
gc
)
then
return
false
end
return
c74009824
.
spfilter1
(
gc
,
tp
,
mg
,
exg
)
end
return
mg
:
IsExists
(
c74009824
.
spfilter1
,
1
,
nil
,
tp
,
mg
,
exg
)
end
function
c74009824
.
fusop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
gc
,
chkf
)
local
c
=
e
:
GetHandler
()
local
mg
=
eg
:
Filter
(
c74009824
.
ffilter
,
nil
,
c
)
local
fc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
local
exg
=
nil
if
fc
and
fc
:
IsHasEffect
(
81788994
)
and
fc
:
IsCanRemoveCounter
(
tp
,
0x16
,
3
,
REASON_EFFECT
)
then
exg
=
Duel
.
GetMatchingGroup
(
c74009824
.
exfilter
,
tp
,
0
,
LOCATION_MZONE
,
mg
,
c
)
end
local
g
=
nil
if
gc
then
g
=
Group
.
FromCards
(
gc
)
mg
:
RemoveCard
(
gc
)
else
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
g
=
mg
:
FilterSelect
(
tp
,
c74009824
.
spfilter1
,
1
,
1
,
nil
,
tp
,
mg
,
exg
)
mg
:
Sub
(
g
)
end
if
exg
and
(
mg
:
GetCount
()
==
0
or
(
exg
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
81788994
,
0
))))
then
fc
:
RemoveCounter
(
tp
,
0x16
,
3
,
REASON_EFFECT
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
local
sg
=
exg
:
FilterSelect
(
tp
,
c74009824
.
spfilter2
,
1
,
1
,
nil
,
tp
,
g
:
GetFirst
())
g
:
Merge
(
sg
)
else
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
local
sg
=
mg
:
FilterSelect
(
tp
,
c74009824
.
spfilter2
,
1
,
1
,
nil
,
tp
,
g
:
GetFirst
())
g
:
Merge
(
sg
)
end
Duel
.
SetFusionMaterial
(
g
)
end
function
c74009824
.
splimit
(
e
,
se
,
sp
,
st
)
function
c74009824
.
splimit
(
e
,
se
,
sp
,
st
)
return
bit
.
band
(
st
,
SUMMON_TYPE_FUSION
)
==
SUMMON_TYPE_FUSION
return
bit
.
band
(
st
,
SUMMON_TYPE_FUSION
)
==
SUMMON_TYPE_FUSION
end
end
...
...
c74822425.lua
View file @
5cf70d82
--エルシャドール・シェキナーガ
--エルシャドール・シェキナーガ
function
c74822425
.
initial_effect
(
c
)
function
c74822425
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
--fusion material
--fusion material
local
e1
=
Effect
.
CreateEffect
(
c
)
c
:
EnableReviveLimit
()
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
aux
.
AddFusionProcShaddoll
(
c
,
ATTRIBUTE_EARTH
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetCode
(
EFFECT_FUSION_MATERIAL
)
e1
:
SetCondition
(
c74822425
.
fuscon
)
e1
:
SetOperation
(
c74822425
.
fusop
)
c
:
RegisterEffect
(
e1
)
--cannot spsummon
--cannot spsummon
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
...
@@ -41,73 +35,6 @@ function c74822425.initial_effect(c)
...
@@ -41,73 +35,6 @@ function c74822425.initial_effect(c)
e4
:
SetOperation
(
c74822425
.
thop
)
e4
:
SetOperation
(
c74822425
.
thop
)
c
:
RegisterEffect
(
e4
)
c
:
RegisterEffect
(
e4
)
end
end
function
c74822425
.
ffilter
(
c
,
fc
)
return
(
c74822425
.
ffilter1
(
c
)
or
c74822425
.
ffilter2
(
c
))
and
c
:
IsCanBeFusionMaterial
(
fc
)
and
not
c
:
IsHasEffect
(
6205579
)
end
function
c74822425
.
exfilter
(
c
,
fc
)
return
c
:
IsFaceup
()
and
c74822425
.
ffilter
(
c
,
fc
)
end
function
c74822425
.
ffilter1
(
c
)
return
c
:
IsFusionSetCard
(
0x9d
)
end
function
c74822425
.
ffilter2
(
c
)
return
c
:
IsFusionAttribute
(
ATTRIBUTE_EARTH
)
or
c
:
IsHasEffect
(
4904633
)
end
function
c74822425
.
spfilter1
(
c
,
tp
,
mg
,
exg
)
return
mg
:
IsExists
(
c74822425
.
spfilter2
,
1
,
c
,
tp
,
c
)
or
(
exg
and
exg
:
IsExists
(
c74822425
.
spfilter2
,
1
,
c
,
tp
,
c
))
end
function
c74822425
.
spfilter2
(
c
,
tp
,
mc
)
local
sg
=
Group
.
FromCards
(
c
,
mc
)
if
sg
:
IsExists
(
aux
.
FCheckTuneMagicianX
,
1
,
nil
,
sg
)
then
return
false
end
return
(
c74822425
.
ffilter1
(
c
)
and
c74822425
.
ffilter2
(
mc
)
or
c74822425
.
ffilter2
(
c
)
and
c74822425
.
ffilter1
(
mc
))
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
sg
)
>
0
end
function
c74822425
.
fuscon
(
e
,
g
,
gc
,
chkf
)
if
g
==
nil
then
return
true
end
local
c
=
e
:
GetHandler
()
local
mg
=
g
:
Filter
(
c74822425
.
ffilter
,
nil
,
c
)
local
tp
=
e
:
GetHandlerPlayer
()
local
fc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
local
exg
=
nil
if
fc
and
fc
:
IsHasEffect
(
81788994
)
and
fc
:
IsCanRemoveCounter
(
tp
,
0x16
,
3
,
REASON_EFFECT
)
then
exg
=
Duel
.
GetMatchingGroup
(
c74822425
.
exfilter
,
tp
,
0
,
LOCATION_MZONE
,
mg
,
c
)
end
if
gc
then
if
not
mg
:
IsContains
(
gc
)
then
return
false
end
return
c74822425
.
spfilter1
(
gc
,
tp
,
mg
,
exg
)
end
return
mg
:
IsExists
(
c74822425
.
spfilter1
,
1
,
nil
,
tp
,
mg
,
exg
)
end
function
c74822425
.
fusop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
gc
,
chkf
)
local
c
=
e
:
GetHandler
()
local
mg
=
eg
:
Filter
(
c74822425
.
ffilter
,
nil
,
c
)
local
fc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
local
exg
=
nil
if
fc
and
fc
:
IsHasEffect
(
81788994
)
and
fc
:
IsCanRemoveCounter
(
tp
,
0x16
,
3
,
REASON_EFFECT
)
then
exg
=
Duel
.
GetMatchingGroup
(
c74822425
.
exfilter
,
tp
,
0
,
LOCATION_MZONE
,
mg
,
c
)
end
local
g
=
nil
if
gc
then
g
=
Group
.
FromCards
(
gc
)
mg
:
RemoveCard
(
gc
)
else
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
g
=
mg
:
FilterSelect
(
tp
,
c74822425
.
spfilter1
,
1
,
1
,
nil
,
tp
,
mg
,
exg
)
mg
:
Sub
(
g
)
end
if
exg
and
(
mg
:
GetCount
()
==
0
or
(
exg
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
81788994
,
0
))))
then
fc
:
RemoveCounter
(
tp
,
0x16
,
3
,
REASON_EFFECT
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
local
sg
=
exg
:
FilterSelect
(
tp
,
c74822425
.
spfilter2
,
1
,
1
,
nil
,
tp
,
g
:
GetFirst
())
g
:
Merge
(
sg
)
else
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
local
sg
=
mg
:
FilterSelect
(
tp
,
c74822425
.
spfilter2
,
1
,
1
,
nil
,
tp
,
g
:
GetFirst
())
g
:
Merge
(
sg
)
end
Duel
.
SetFusionMaterial
(
g
)
end
function
c74822425
.
splimit
(
e
,
se
,
sp
,
st
)
function
c74822425
.
splimit
(
e
,
se
,
sp
,
st
)
return
bit
.
band
(
st
,
SUMMON_TYPE_FUSION
)
==
SUMMON_TYPE_FUSION
return
bit
.
band
(
st
,
SUMMON_TYPE_FUSION
)
==
SUMMON_TYPE_FUSION
end
end
...
...
c94977269.lua
View file @
5cf70d82
--エルシャドール・ミドラーシュ
--エルシャドール・ミドラーシュ
function
c94977269
.
initial_effect
(
c
)
function
c94977269
.
initial_effect
(
c
)
Duel
.
EnableGlobalFlag
(
GLOBALFLAG_SPSUMMON_COUNT
)
Duel
.
EnableGlobalFlag
(
GLOBALFLAG_SPSUMMON_COUNT
)
c
:
EnableReviveLimit
()
--fusion material
--fusion material
local
e1
=
Effect
.
CreateEffect
(
c
)
c
:
EnableReviveLimit
()
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
aux
.
AddFusionProcShaddoll
(
c
,
ATTRIBUTE_DARK
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetCode
(
EFFECT_FUSION_MATERIAL
)
e1
:
SetCondition
(
c94977269
.
fuscon
)
e1
:
SetOperation
(
c94977269
.
fusop
)
c
:
RegisterEffect
(
e1
)
--splimit
--splimit
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
...
@@ -46,73 +40,6 @@ function c94977269.initial_effect(c)
...
@@ -46,73 +40,6 @@ function c94977269.initial_effect(c)
e5
:
SetOperation
(
c94977269
.
thop
)
e5
:
SetOperation
(
c94977269
.
thop
)
c
:
RegisterEffect
(
e5
)
c
:
RegisterEffect
(
e5
)
end
end
function
c94977269
.
ffilter
(
c
,
fc
)
return
(
c94977269
.
ffilter1
(
c
)
or
c94977269
.
ffilter2
(
c
))
and
c
:
IsCanBeFusionMaterial
(
fc
)
and
not
c
:
IsHasEffect
(
6205579
)
end
function
c94977269
.
exfilter
(
c
,
fc
)
return
c
:
IsFaceup
()
and
c94977269
.
ffilter
(
c
,
fc
)
end
function
c94977269
.
ffilter1
(
c
)
return
c
:
IsFusionSetCard
(
0x9d
)
end
function
c94977269
.
ffilter2
(
c
)
return
c
:
IsFusionAttribute
(
ATTRIBUTE_DARK
)
or
c
:
IsHasEffect
(
4904633
)
end
function
c94977269
.
spfilter1
(
c
,
tp
,
mg
,
exg
)
return
mg
:
IsExists
(
c94977269
.
spfilter2
,
1
,
c
,
tp
,
c
)
or
(
exg
and
exg
:
IsExists
(
c94977269
.
spfilter2
,
1
,
c
,
tp
,
c
))
end
function
c94977269
.
spfilter2
(
c
,
tp
,
mc
)
local
sg
=
Group
.
FromCards
(
c
,
mc
)
if
sg
:
IsExists
(
aux
.
FCheckTuneMagicianX
,
1
,
nil
,
sg
)
then
return
false
end
return
(
c94977269
.
ffilter1
(
c
)
and
c94977269
.
ffilter2
(
mc
)
or
c94977269
.
ffilter2
(
c
)
and
c94977269
.
ffilter1
(
mc
))
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
sg
)
>
0
end
function
c94977269
.
fuscon
(
e
,
g
,
gc
,
chkf
)
if
g
==
nil
then
return
true
end
local
c
=
e
:
GetHandler
()
local
mg
=
g
:
Filter
(
c94977269
.
ffilter
,
nil
,
c
)
local
tp
=
e
:
GetHandlerPlayer
()
local
fc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
local
exg
=
nil
if
fc
and
fc
:
IsHasEffect
(
81788994
)
and
fc
:
IsCanRemoveCounter
(
tp
,
0x16
,
3
,
REASON_EFFECT
)
then
exg
=
Duel
.
GetMatchingGroup
(
c94977269
.
exfilter
,
tp
,
0
,
LOCATION_MZONE
,
mg
,
c
)
end
if
gc
then
if
not
mg
:
IsContains
(
gc
)
then
return
false
end
return
c94977269
.
spfilter1
(
gc
,
tp
,
mg
,
exg
)
end
return
mg
:
IsExists
(
c94977269
.
spfilter1
,
1
,
nil
,
tp
,
mg
,
exg
)
end
function
c94977269
.
fusop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
gc
,
chkf
)
local
c
=
e
:
GetHandler
()
local
mg
=
eg
:
Filter
(
c94977269
.
ffilter
,
nil
,
c
)
local
fc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
local
exg
=
nil
if
fc
and
fc
:
IsHasEffect
(
81788994
)
and
fc
:
IsCanRemoveCounter
(
tp
,
0x16
,
3
,
REASON_EFFECT
)
then
exg
=
Duel
.
GetMatchingGroup
(
c94977269
.
exfilter
,
tp
,
0
,
LOCATION_MZONE
,
mg
,
c
)
end
local
g
=
nil
if
gc
then
g
=
Group
.
FromCards
(
gc
)
mg
:
RemoveCard
(
gc
)
else
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
g
=
mg
:
FilterSelect
(
tp
,
c94977269
.
spfilter1
,
1
,
1
,
nil
,
tp
,
mg
,
exg
)
mg
:
Sub
(
g
)
end
if
exg
and
(
mg
:
GetCount
()
==
0
or
(
exg
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
81788994
,
0
))))
then
fc
:
RemoveCounter
(
tp
,
0x16
,
3
,
REASON_EFFECT
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
local
sg
=
exg
:
FilterSelect
(
tp
,
c94977269
.
spfilter2
,
1
,
1
,
nil
,
tp
,
g
:
GetFirst
())
g
:
Merge
(
sg
)
else
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
local
sg
=
mg
:
FilterSelect
(
tp
,
c94977269
.
spfilter2
,
1
,
1
,
nil
,
tp
,
g
:
GetFirst
())
g
:
Merge
(
sg
)
end
Duel
.
SetFusionMaterial
(
g
)
end
function
c94977269
.
splimit
(
e
,
se
,
sp
,
st
)
function
c94977269
.
splimit
(
e
,
se
,
sp
,
st
)
return
bit
.
band
(
st
,
SUMMON_TYPE_FUSION
)
==
SUMMON_TYPE_FUSION
return
bit
.
band
(
st
,
SUMMON_TYPE_FUSION
)
==
SUMMON_TYPE_FUSION
end
end
...
...
utility.lua
View file @
5cf70d82
...
@@ -1250,6 +1250,88 @@ end
...
@@ -1250,6 +1250,88 @@ end
function
Auxiliary
.
AddFusionProcCode2FunRep
(
c
,
code1
,
code2
,
f
,
minc
,
maxc
,
sub
,
insf
)
function
Auxiliary
.
AddFusionProcCode2FunRep
(
c
,
code1
,
code2
,
f
,
minc
,
maxc
,
sub
,
insf
)
Auxiliary
.
AddFusionProcMixRep
(
c
,
sub
,
insf
,
f
,
minc
,
maxc
,
code1
,
code2
)
Auxiliary
.
AddFusionProcMixRep
(
c
,
sub
,
insf
,
f
,
minc
,
maxc
,
code1
,
code2
)
end
end
--Fusion monster, Shaddoll materials
function
Auxiliary
.
AddFusionProcShaddoll
(
c
,
attr
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetCode
(
EFFECT_FUSION_MATERIAL
)
e1
:
SetCondition
(
Auxiliary
.
FShaddollCondition
(
attr
))
e1
:
SetOperation
(
Auxiliary
.
FShaddollOperation
(
attr
))
c
:
RegisterEffect
(
e1
)
end
function
Auxiliary
.
FShaddollFilter
(
c
,
fc
,
attr
)
return
(
Auxiliary
.
FShaddollFilter1
(
c
)
or
Auxiliary
.
FShaddollFilter2
(
c
,
attr
))
and
c
:
IsCanBeFusionMaterial
(
fc
)
and
not
c
:
IsHasEffect
(
6205579
)
end
function
Auxiliary
.
FShaddollExFilter
(
c
,
fc
,
attr
)
return
c
:
IsFaceup
()
and
Auxiliary
.
FShaddollFilter
(
c
,
fc
,
attr
)
end
function
Auxiliary
.
FShaddollFilter1
(
c
)
return
c
:
IsFusionSetCard
(
0x9d
)
end
function
Auxiliary
.
FShaddollFilter2
(
c
,
attr
)
return
c
:
IsFusionAttribute
(
attr
)
or
c
:
IsHasEffect
(
4904633
)
end
function
Auxiliary
.
FShaddollSpFilter1
(
c
,
tp
,
mg
,
exg
,
attr
)
return
mg
:
IsExists
(
Auxiliary
.
FShaddollSpFilter2
,
1
,
c
,
tp
,
c
,
attr
)
or
(
exg
and
exg
:
IsExists
(
Auxiliary
.
FShaddollSpFilter2
,
1
,
c
,
tp
,
c
,
attr
))
end
function
Auxiliary
.
FShaddollSpFilter2
(
c
,
tp
,
mc
,
attr
)
local
sg
=
Group
.
FromCards
(
c
,
mc
)
if
sg
:
IsExists
(
Auxiliary
.
FCheckTuneMagicianX
,
1
,
nil
,
sg
)
then
return
false
end
return
((
Auxiliary
.
FShaddollFilter1
(
c
)
and
Auxiliary
.
FShaddollFilter2
(
mc
,
attr
))
or
(
Auxiliary
.
FShaddollFilter2
(
c
,
attr
)
and
Auxiliary
.
FShaddollFilter1
(
mc
)))
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
sg
)
>
0
end
function
Auxiliary
.
FShaddollCondition
(
attr
)
return
function
(
e
,
g
,
gc
,
chkf
)
if
g
==
nil
then
return
true
end
local
c
=
e
:
GetHandler
()
local
mg
=
g
:
Filter
(
Auxiliary
.
FShaddollFilter
,
nil
,
c
,
attr
)
local
tp
=
e
:
GetHandlerPlayer
()
local
fc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
local
exg
=
nil
if
fc
and
fc
:
IsHasEffect
(
81788994
)
and
fc
:
IsCanRemoveCounter
(
tp
,
0x16
,
3
,
REASON_EFFECT
)
then
exg
=
Duel
.
GetMatchingGroup
(
Auxiliary
.
FShaddollExFilter
,
tp
,
0
,
LOCATION_MZONE
,
mg
,
c
,
attr
)
end
if
gc
then
if
not
mg
:
IsContains
(
gc
)
then
return
false
end
return
Auxiliary
.
FShaddollSpFilter1
(
gc
,
tp
,
mg
,
exg
,
attr
)
end
return
mg
:
IsExists
(
Auxiliary
.
FShaddollSpFilter1
,
1
,
nil
,
tp
,
mg
,
exg
,
attr
)
end
end
function
Auxiliary
.
FShaddollOperation
(
attr
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
gc
,
chkf
)
local
c
=
e
:
GetHandler
()
local
mg
=
eg
:
Filter
(
Auxiliary
.
FShaddollFilter
,
nil
,
c
,
attr
)
local
fc
=
Duel
.
GetFieldCard
(
tp
,
LOCATION_SZONE
,
5
)
local
exg
=
nil
if
fc
and
fc
:
IsHasEffect
(
81788994
)
and
fc
:
IsCanRemoveCounter
(
tp
,
0x16
,
3
,
REASON_EFFECT
)
then
exg
=
Duel
.
GetMatchingGroup
(
Auxiliary
.
FShaddollExFilter
,
tp
,
0
,
LOCATION_MZONE
,
mg
,
c
,
attr
)
end
local
g
=
nil
if
gc
then
g
=
Group
.
FromCards
(
gc
)
mg
:
RemoveCard
(
gc
)
else
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
g
=
mg
:
FilterSelect
(
tp
,
Auxiliary
.
FShaddollSpFilter1
,
1
,
1
,
nil
,
tp
,
mg
,
exg
,
attr
)
mg
:
Sub
(
g
)
end
if
exg
and
exg
:
IsExists
(
Auxiliary
.
FShaddollSpFilter2
,
1
,
nil
,
tp
,
g
:
GetFirst
(),
attr
)
and
(
mg
:
GetCount
()
==
0
or
(
exg
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
81788994
,
0
))))
then
fc
:
RemoveCounter
(
tp
,
0x16
,
3
,
REASON_EFFECT
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
local
sg
=
exg
:
FilterSelect
(
tp
,
Auxiliary
.
FShaddollSpFilter2
,
1
,
1
,
nil
,
tp
,
g
:
GetFirst
(),
attr
)
g
:
Merge
(
sg
)
else
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FMATERIAL
)
local
sg
=
mg
:
FilterSelect
(
tp
,
Auxiliary
.
FShaddollSpFilter2
,
1
,
1
,
nil
,
tp
,
g
:
GetFirst
(),
attr
)
g
:
Merge
(
sg
)
end
Duel
.
SetFusionMaterial
(
g
)
end
end
--Ritual Summon, geq fixed lv
--Ritual Summon, geq fixed lv
function
Auxiliary
.
AddRitualProcGreater
(
c
,
filter
)
function
Auxiliary
.
AddRitualProcGreater
(
c
,
filter
)
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
...
...
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