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
1f0850e2
Commit
1f0850e2
authored
Jun 07, 2025
by
POLYMER
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
c9827f64
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
253 additions
and
250 deletions
+253
-250
expansions/script/c260013011.lua
expansions/script/c260013011.lua
+198
-198
expansions/script/c71404000.lua
expansions/script/c71404000.lua
+6
-2
expansions/script/c71404014.lua
expansions/script/c71404014.lua
+49
-50
No files found.
expansions/script/c260013011.lua
View file @
1f0850e2
--天の聖杯 Πνευμα(プネウマ)
function
c260013011
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
c
:
SetSPSummonOnce
(
26001
260013011
)
--special summon rule
local
e6
=
Effect
.
CreateEffect
(
c
)
e6
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e6
:
SetCode
(
EVENT_CHAINING
)
e6
:
SetProperty
(
EFFECT_FLAG_UNCOPYABLE
+
EFFECT_FLAG_IGNORE_IMMUNE
)
e6
:
SetRange
(
LOCATION_EXTRA
)
e6
:
SetCondition
(
c260013011
.
chcon
)
e6
:
SetOperation
(
c260013011
.
chop
)
c
:
RegisterEffect
(
e6
)
local
e7
=
Effect
.
CreateEffect
(
c
)
e7
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e7
:
SetProperty
(
EFFECT_FLAG_UNCOPYABLE
+
EFFECT_FLAG_IGNORE_IMMUNE
)
e7
:
SetRange
(
LOCATION_EXTRA
)
e7
:
SetCode
(
EVENT_BE_BATTLE_TARGET
)
e7
:
SetCondition
(
c260013011
.
atcon
)
e7
:
SetOperation
(
c260013011
.
atop
)
c
:
RegisterEffect
(
e7
)
local
e8
=
Effect
.
CreateEffect
(
c
)
e8
:
SetProperty
(
EFFECT_FLAG_UNCOPYABLE
)
e8
:
SetType
(
EFFECT_TYPE_FIELD
)
e8
:
SetCode
(
EFFECT_SPSUMMON_PROC
)
e8
:
SetRange
(
LOCATION_EXTRA
)
e8
:
SetCondition
(
c260013011
.
xyzcon
)
e8
:
SetOperation
(
c260013011
.
xyzop
)
e8
:
SetValue
(
SUMMON_TYPE_XYZ
)
c
:
RegisterEffect
(
e8
)
--spsummon condition
local
e9
=
Effect
.
CreateEffect
(
c
)
e9
:
SetType
(
EFFECT_TYPE_SINGLE
)
e9
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e9
:
SetCode
(
EFFECT_SPSUMMON_CONDITION
)
e9
:
SetValue
(
c260013011
.
splimit
)
c
:
RegisterEffect
(
e9
)
--act limit
local
e10
=
Effect
.
CreateEffect
(
c
)
e10
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e10
:
SetCode
(
EVENT_SPSUMMON
)
e10
:
SetOperation
(
c260013011
.
limop
)
c
:
RegisterEffect
(
e10
)
--【ここまでX召喚ルール】
--immune
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetCode
(
EFFECT_IMMUNE_EFFECT
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetValue
(
c260013011
.
efilter1
)
c
:
RegisterEffect
(
e1
)
--destroy
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
260013011
,
2
))
e2
:
SetCategory
(
CATEGORY_DESTROY
)
e2
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e2
:
SetCode
(
EVENT_FREE_CHAIN
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetHintTiming
(
0
,
0x1e0
)
e2
:
SetCost
(
c260013011
.
descost
)
e2
:
SetTarget
(
c260013011
.
destg
)
e2
:
SetOperation
(
c260013011
.
desop
)
c
:
RegisterEffect
(
e2
)
--spsummon
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetCategory
(
CATEGORY_TODECK
+
CATEGORY_SPECIAL_SUMMON
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_F
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetCountLimit
(
1
)
e3
:
SetCode
(
EVENT_PHASE
+
PHASE_END
)
e3
:
SetTarget
(
c260013011
.
sptg2
)
e3
:
SetOperation
(
c260013011
.
spop2
)
c
:
RegisterEffect
(
e3
)
c
:
EnableReviveLimit
()
c
:
SetSPSummonOnce
(
260013011
)
--special summon rule
local
e6
=
Effect
.
CreateEffect
(
c
)
e6
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e6
:
SetCode
(
EVENT_CHAINING
)
e6
:
SetProperty
(
EFFECT_FLAG_UNCOPYABLE
+
EFFECT_FLAG_IGNORE_IMMUNE
)
e6
:
SetRange
(
LOCATION_EXTRA
)
e6
:
SetCondition
(
c260013011
.
chcon
)
e6
:
SetOperation
(
c260013011
.
chop
)
c
:
RegisterEffect
(
e6
)
local
e7
=
Effect
.
CreateEffect
(
c
)
e7
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e7
:
SetProperty
(
EFFECT_FLAG_UNCOPYABLE
+
EFFECT_FLAG_IGNORE_IMMUNE
)
e7
:
SetRange
(
LOCATION_EXTRA
)
e7
:
SetCode
(
EVENT_BE_BATTLE_TARGET
)
e7
:
SetCondition
(
c260013011
.
atcon
)
e7
:
SetOperation
(
c260013011
.
atop
)
c
:
RegisterEffect
(
e7
)
local
e8
=
Effect
.
CreateEffect
(
c
)
e8
:
SetProperty
(
EFFECT_FLAG_UNCOPYABLE
)
e8
:
SetType
(
EFFECT_TYPE_FIELD
)
e8
:
SetCode
(
EFFECT_SPSUMMON_PROC
)
e8
:
SetRange
(
LOCATION_EXTRA
)
e8
:
SetCondition
(
c260013011
.
xyzcon
)
e8
:
SetOperation
(
c260013011
.
xyzop
)
e8
:
SetValue
(
SUMMON_TYPE_XYZ
)
c
:
RegisterEffect
(
e8
)
--spsummon condition
local
e9
=
Effect
.
CreateEffect
(
c
)
e9
:
SetType
(
EFFECT_TYPE_SINGLE
)
e9
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e9
:
SetCode
(
EFFECT_SPSUMMON_CONDITION
)
e9
:
SetValue
(
c260013011
.
splimit
)
c
:
RegisterEffect
(
e9
)
--act limit
local
e10
=
Effect
.
CreateEffect
(
c
)
e10
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e10
:
SetCode
(
EVENT_SPSUMMON
)
e10
:
SetOperation
(
c260013011
.
limop
)
c
:
RegisterEffect
(
e10
)
--【ここまでX召喚ルール】
--immune
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetCode
(
EFFECT_IMMUNE_EFFECT
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetValue
(
c260013011
.
efilter1
)
c
:
RegisterEffect
(
e1
)
--destroy
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
260013011
,
2
))
e2
:
SetCategory
(
CATEGORY_DESTROY
)
e2
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e2
:
SetCode
(
EVENT_FREE_CHAIN
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetHintTiming
(
0
,
0x1e0
)
e2
:
SetCost
(
c260013011
.
descost
)
e2
:
SetTarget
(
c260013011
.
destg
)
e2
:
SetOperation
(
c260013011
.
desop
)
c
:
RegisterEffect
(
e2
)
--spsummon
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetCategory
(
CATEGORY_TODECK
+
CATEGORY_SPECIAL_SUMMON
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_F
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetCountLimit
(
1
)
e3
:
SetCode
(
EVENT_PHASE
+
PHASE_END
)
e3
:
SetTarget
(
c260013011
.
sptg2
)
e3
:
SetOperation
(
c260013011
.
spop2
)
c
:
RegisterEffect
(
e3
)
end
--【召喚ルール】
function
c260013011
.
cfilter
(
c
,
xyzc
,
tp
)
return
c
:
IsControler
(
tp
)
and
c
:
IsLocation
(
LOCATION_MZONE
)
and
c
:
IsSetCard
(
0x943
)
and
c
:
IsType
(
TYPE_LINK
)
and
c
:
IsCanBeXyzMaterial
(
xyzc
)
and
c
:
IsFaceup
()
return
c
:
IsControler
(
tp
)
and
c
:
IsLocation
(
LOCATION_MZONE
)
and
c
:
IsSetCard
(
0x943
)
and
c
:
IsType
(
TYPE_LINK
)
and
c
:
IsCanBeXyzMaterial
(
xyzc
)
and
c
:
IsFaceup
()
end
function
c260013011
.
chcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
not
re
:
IsHasProperty
(
EFFECT_FLAG_CARD_TARGET
)
then
return
false
end
local
g
=
Duel
.
GetChainInfo
(
ev
,
CHAININFO_TARGET_CARDS
)
return
g
and
g
:
IsExists
(
c260013011
.
cfilter
,
1
,
nil
,
c
,
tp
)
and
Duel
.
IsChainNegatable
(
ev
)
and
re
:
GetHandler
():
IsRelateToEffect
(
re
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_XYZ
,
tp
,
false
,
false
)
local
c
=
e
:
GetHandler
()
if
not
re
:
IsHasProperty
(
EFFECT_FLAG_CARD_TARGET
)
then
return
false
end
local
g
=
Duel
.
GetChainInfo
(
ev
,
CHAININFO_TARGET_CARDS
)
return
g
and
g
:
IsExists
(
c260013011
.
cfilter
,
1
,
nil
,
c
,
tp
)
and
Duel
.
IsChainNegatable
(
ev
)
and
re
:
GetHandler
():
IsRelateToEffect
(
re
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_XYZ
,
tp
,
false
,
false
)
end
function
c260013011
.
xyzfilter
(
c
,
e
,
tp
,
xyzc
)
return
not
c
:
IsType
(
TYPE_TOKEN
)
and
(
c
:
IsCanBeXyzMaterial
(
xyzc
)
or
not
c
:
IsType
(
TYPE_MONSTER
))
return
not
c
:
IsType
(
TYPE_TOKEN
)
and
(
c
:
IsCanBeXyzMaterial
(
xyzc
)
or
not
c
:
IsType
(
TYPE_MONSTER
))
end
function
c260013011
.
xyzfilter2
(
c
,
e
,
tp
)
return
not
c
:
IsType
(
TYPE_TOKEN
)
return
not
c
:
IsType
(
TYPE_TOKEN
)
end
function
c260013011
.
chop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
rc
=
re
:
GetHandler
()
local
g
=
Duel
.
GetChainInfo
(
ev
,
CHAININFO_TARGET_CARDS
):
Filter
(
c260013011
.
xyzfilter
,
nil
,
e
,
tp
,
c
)
local
g2
=
Duel
.
GetChainInfo
(
ev
,
CHAININFO_TARGET_CARDS
):
Filter
(
c260013011
.
xyzfilter2
,
nil
,
e
,
tp
)
if
Duel
.
GetFlagEffect
(
tp
,
260013011
)
==
0
and
g
:
GetCount
()
>
0
and
g
:
GetCount
()
==
g2
:
GetCount
()
and
rc
:
IsRelateToEffect
(
re
)
and
Duel
.
IsChainNegatable
(
ev
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
g
,
c
)
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
260013011
,
0
))
then
Duel
.
ConfirmCards
(
1
-
tp
,
c
)
Duel
.
RegisterFlagEffect
(
tp
,
260013011
,
RESET_PHASE
+
PHASE_END
,
0
,
1
)
if
Duel
.
NegateEffect
(
ev
)
then
rc
:
CancelToGrave
()
g
:
AddCard
(
rc
)
local
tc
=
g
:
GetFirst
()
while
tc
do
local
og
=
tc
:
GetOverlayGroup
()
if
og
:
GetCount
()
>
0
then
Duel
.
SendtoGrave
(
og
,
REASON_RULE
)
end
tc
:
RegisterFlagEffect
(
260013011
,
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
,
0
,
1
)
tc
=
g
:
GetNext
()
end
Duel
.
XyzSummon
(
tp
,
c
,
nil
)
end
end
local
c
=
e
:
GetHandler
()
local
rc
=
re
:
GetHandler
()
local
g
=
Duel
.
GetChainInfo
(
ev
,
CHAININFO_TARGET_CARDS
):
Filter
(
c260013011
.
xyzfilter
,
nil
,
e
,
tp
,
c
)
local
g2
=
Duel
.
GetChainInfo
(
ev
,
CHAININFO_TARGET_CARDS
):
Filter
(
c260013011
.
xyzfilter2
,
nil
,
e
,
tp
)
if
Duel
.
GetFlagEffect
(
tp
,
260013011
)
==
0
and
g
:
GetCount
()
>
0
and
g
:
GetCount
()
==
g2
:
GetCount
()
and
rc
:
IsRelateToEffect
(
re
)
and
Duel
.
IsChainNegatable
(
ev
)
and
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
g
,
c
)
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
260013011
,
0
))
then
Duel
.
ConfirmCards
(
1
-
tp
,
c
)
Duel
.
RegisterFlagEffect
(
tp
,
260013011
,
RESET_PHASE
+
PHASE_END
,
0
,
1
)
if
Duel
.
NegateEffect
(
ev
)
then
rc
:
CancelToGrave
()
g
:
AddCard
(
rc
)
local
tc
=
g
:
GetFirst
()
while
tc
do
local
og
=
tc
:
GetOverlayGroup
()
if
og
:
GetCount
()
>
0
then
Duel
.
SendtoGrave
(
og
,
REASON_RULE
)
end
tc
:
RegisterFlagEffect
(
260013011
,
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
,
0
,
1
)
tc
=
g
:
GetNext
()
end
Duel
.
XyzSummon
(
tp
,
c
,
nil
)
end
end
end
function
c260013011
.
atcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
tc
=
eg
:
GetFirst
()
return
tc
:
IsControler
(
tp
)
and
tc
:
IsFaceup
()
and
tc
:
IsSetCard
(
0x943
)
and
not
tc
:
IsType
(
TYPE_TOKEN
)
and
tc
:
IsType
(
TYPE_LINK
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_XYZ
,
tp
,
false
,
false
)
local
c
=
e
:
GetHandler
()
local
tc
=
eg
:
GetFirst
()
return
tc
:
IsControler
(
tp
)
and
tc
:
IsFaceup
()
and
tc
:
IsSetCard
(
0x943
)
and
not
tc
:
IsType
(
TYPE_TOKEN
)
and
tc
:
IsType
(
TYPE_LINK
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_XYZ
,
tp
,
false
,
false
)
end
function
c260013011
.
atop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
a
=
Duel
.
GetAttacker
()
local
d
=
Duel
.
GetAttackTarget
()
if
not
(
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
a
,
c
)
>
0
or
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
d
,
c
)
>
0
)
then
return
end
if
not
a
:
IsRelateToEffect
(
e
)
and
a
:
IsAttackable
()
and
not
a
:
IsStatus
(
STATUS_ATTACK_CANCELED
)
and
a
:
IsCanBeXyzMaterial
(
c
)
and
d
:
IsCanBeXyzMaterial
(
c
)
and
not
d
:
IsRelateToEffect
(
e
)
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
260013011
,
0
))
then
Duel
.
ConfirmCards
(
1
-
tp
,
c
)
if
Duel
.
NegateAttack
()
then
local
g
=
Group
.
FromCards
(
a
,
d
)
local
tc
=
g
:
GetFirst
()
while
tc
do
local
og
=
tc
:
GetOverlayGroup
()
if
og
:
GetCount
()
>
0
then
Duel
.
SendtoGrave
(
og
,
REASON_RULE
)
end
tc
:
RegisterFlagEffect
(
260013011
,
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
,
0
,
1
)
tc
=
g
:
GetNext
()
end
Duel
.
XyzSummon
(
tp
,
c
,
nil
)
end
end
local
c
=
e
:
GetHandler
()
local
a
=
Duel
.
GetAttacker
()
local
d
=
Duel
.
GetAttackTarget
()
if
not
(
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
a
,
c
)
>
0
or
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
d
,
c
)
>
0
)
then
return
end
if
not
a
:
IsRelateToEffect
(
e
)
and
a
:
IsAttackable
()
and
not
a
:
IsStatus
(
STATUS_ATTACK_CANCELED
)
and
a
:
IsCanBeXyzMaterial
(
c
)
and
d
:
IsCanBeXyzMaterial
(
c
)
and
not
d
:
IsRelateToEffect
(
e
)
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
260013011
,
0
))
then
Duel
.
ConfirmCards
(
1
-
tp
,
c
)
if
Duel
.
NegateAttack
()
then
local
g
=
Group
.
FromCards
(
a
,
d
)
local
tc
=
g
:
GetFirst
()
while
tc
do
local
og
=
tc
:
GetOverlayGroup
()
if
og
:
GetCount
()
>
0
then
Duel
.
SendtoGrave
(
og
,
REASON_RULE
)
end
tc
:
RegisterFlagEffect
(
260013011
,
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
,
0
,
1
)
tc
=
g
:
GetNext
()
end
Duel
.
XyzSummon
(
tp
,
c
,
nil
)
end
end
end
function
c260013011
.
mfilter
(
c
,
xyzc
)
return
c
:
GetFlagEffect
(
260013011
)
~=
0
and
(
c
:
IsCanBeXyzMaterial
(
xyzc
)
or
not
c
:
IsType
(
TYPE_MONSTER
))
return
c
:
GetFlagEffect
(
260013011
)
~=
0
and
(
c
:
IsCanBeXyzMaterial
(
xyzc
)
or
not
c
:
IsType
(
TYPE_MONSTER
))
end
function
c260013011
.
xyzcon
(
e
,
c
,
og
,
min
,
max
)
if
c
==
nil
then
return
true
end
local
tp
=
c
:
GetControler
()
local
mg
=
nil
if
og
then
mg
=
og
:
Filter
(
c260013011
.
mfilter
,
nil
,
c
)
else
mg
=
Duel
.
GetMatchingGroup
(
c260013011
.
mfilter
,
tp
,
0xff
,
0xff
,
nil
,
c
)
end
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>-
1
and
mg
:
GetCount
()
>
0
if
c
==
nil
then
return
true
end
local
tp
=
c
:
GetControler
()
local
mg
=
nil
if
og
then
mg
=
og
:
Filter
(
c260013011
.
mfilter
,
nil
,
c
)
else
mg
=
Duel
.
GetMatchingGroup
(
c260013011
.
mfilter
,
tp
,
0xff
,
0xff
,
nil
,
c
)
end
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>-
1
and
mg
:
GetCount
()
>
0
end
function
c260013011
.
xyzop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
,
og
,
min
,
max
)
local
c
=
e
:
GetHandler
()
local
g
=
nil
local
sg
=
Group
.
CreateGroup
()
local
xyzg
=
Group
.
CreateGroup
()
if
og
then
g
=
og
local
tc
=
og
:
GetFirst
()
else
local
mg
=
nil
if
og
then
mg
=
og
:
Filter
(
c260013011
.
mfilter
,
nil
,
c
)
else
mg
=
Duel
.
GetMatchingGroup
(
c260013011
.
mfilter
,
tp
,
0xff
,
0xff
,
nil
,
c
)
end
local
ct
=
mg
:
GetCount
()
xyzg
:
Merge
(
mg
)
end
c
:
SetMaterial
(
xyzg
)
Duel
.
Overlay
(
c
,
xyzg
)
local
c
=
e
:
GetHandler
()
local
g
=
nil
local
sg
=
Group
.
CreateGroup
()
local
xyzg
=
Group
.
CreateGroup
()
if
og
then
g
=
og
local
tc
=
og
:
GetFirst
()
else
local
mg
=
nil
if
og
then
mg
=
og
:
Filter
(
c260013011
.
mfilter
,
nil
,
c
)
else
mg
=
Duel
.
GetMatchingGroup
(
c260013011
.
mfilter
,
tp
,
0xff
,
0xff
,
nil
,
c
)
end
local
ct
=
mg
:
GetCount
()
xyzg
:
Merge
(
mg
)
end
c
:
SetMaterial
(
xyzg
)
Duel
.
Overlay
(
c
,
xyzg
)
end
function
c260013011
.
splimit
(
e
,
se
,
sp
,
st
)
return
not
e
:
GetHandler
():
IsLocation
(
LOCATION_EXTRA
)
or
(
bit
.
band
(
st
,
SUMMON_TYPE_XYZ
)
==
SUMMON_TYPE_XYZ
and
se
:
GetHandler
():
IsCode
(
260013011
))
return
not
e
:
GetHandler
():
IsLocation
(
LOCATION_EXTRA
)
or
(
bit
.
band
(
st
,
SUMMON_TYPE_XYZ
)
==
SUMMON_TYPE_XYZ
and
se
:
GetHandler
():
IsCode
(
260013011
))
end
function
c260013011
.
limop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetCurrentChain
()
==
0
then
return
end
Duel
.
SetChainLimitTillChainEnd
(
c260013011
.
chlimit
)
if
Duel
.
GetCurrentChain
()
==
0
then
return
end
Duel
.
SetChainLimitTillChainEnd
(
c260013011
.
chlimit
)
end
function
c260013011
.
chlimit
(
e
,
rp
,
tp
)
return
e
:
IsActiveType
(
TYPE_TRAP
)
and
e
:
GetHandler
():
IsType
(
TYPE_COUNTER
)
return
e
:
IsActiveType
(
TYPE_TRAP
)
and
e
:
GetHandler
():
IsType
(
TYPE_COUNTER
)
end
--【モンスター効果耐性】
function
c260013011
.
efilter1
(
e
,
te
)
return
te
:
GetOwnerPlayer
()
~=
e
:
GetHandlerPlayer
()
and
te
:
IsActiveType
(
TYPE_MONSTER
)
return
te
:
GetOwnerPlayer
()
~=
e
:
GetHandlerPlayer
()
and
te
:
IsActiveType
(
TYPE_MONSTER
)
end
--【破壊効果】
function
c260013011
.
descost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
CheckRemoveOverlayCard
(
tp
,
1
,
REASON_COST
)
end
e
:
GetHandler
():
RemoveOverlayCard
(
tp
,
1
,
1
,
REASON_COST
)
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_OATH
)
e1
:
SetCode
(
EFFECT_CANNOT_ATTACK
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
)
e
:
GetHandler
():
RegisterEffect
(
e1
)
if
chk
==
0
then
return
e
:
GetHandler
():
CheckRemoveOverlayCard
(
tp
,
1
,
REASON_COST
)
end
e
:
GetHandler
():
RemoveOverlayCard
(
tp
,
1
,
1
,
REASON_COST
)
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_OATH
)
e1
:
SetCode
(
EFFECT_CANNOT_ATTACK
)
e1
:
SetReset
(
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
)
e
:
GetHandler
():
RegisterEffect
(
e1
)
end
function
c260013011
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
aux
.
TRUE
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
nil
)
end
local
g
=
Duel
.
GetMatchingGroup
(
aux
.
TRUE
,
tp
,
0
,
LOCATION_ONFIELD
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
g
,
g
:
GetCount
(),
0
,
0
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
aux
.
TRUE
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
nil
)
end
local
g
=
Duel
.
GetMatchingGroup
(
aux
.
TRUE
,
tp
,
0
,
LOCATION_ONFIELD
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
g
,
g
:
GetCount
(),
0
,
0
)
end
function
c260013011
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetMatchingGroup
(
aux
.
TRUE
,
tp
,
0
,
LOCATION_ONFIELD
,
nil
)
Duel
.
Destroy
(
g
,
REASON_EFFECT
)
local
g
=
Duel
.
GetMatchingGroup
(
aux
.
TRUE
,
tp
,
0
,
LOCATION_ONFIELD
,
nil
)
Duel
.
Destroy
(
g
,
REASON_EFFECT
)
end
--【EXデッキ帰還】
function
c260013011
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0x943
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
and
not
c
:
IsType
(
TYPE_XYZ
)
return
c
:
IsSetCard
(
0x943
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
and
not
c
:
IsType
(
TYPE_XYZ
)
end
function
c260013011
.
sptg2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
e
:
GetHandler
(),
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_GRAVE
)
if
chk
==
0
then
return
true
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
e
:
GetHandler
(),
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_GRAVE
)
end
function
c260013011
.
spop2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToEffect
(
e
)
or
c
:
IsFacedown
()
then
return
end
Duel
.
SendtoDeck
(
c
,
nil
,
2
,
REASON_EFFECT
)
if
c
:
IsLocation
(
LOCATION_EXTRA
)
then
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
local
g
=
Duel
.
GetMatchingGroup
(
c260013011
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
260013011
,
1
))
then
Duel
.
BreakEffect
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
true
,
false
,
POS_FACEUP
)
end
end
local
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToEffect
(
e
)
or
c
:
IsFacedown
()
then
return
end
Duel
.
SendtoDeck
(
c
,
nil
,
2
,
REASON_EFFECT
)
if
c
:
IsLocation
(
LOCATION_EXTRA
)
then
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
local
g
=
Duel
.
GetMatchingGroup
(
c260013011
.
spfilter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
260013011
,
1
))
then
Duel
.
BreakEffect
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
true
,
false
,
POS_FACEUP
)
end
end
end
\ No newline at end of file
expansions/script/c71404000.lua
View file @
1f0850e2
...
...
@@ -721,6 +721,7 @@ function yume.stellar_memories.BanishorSendSpell(sid,tp,msg1,msg2)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
local
g
=
g2
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
SendtoDeck
(
g
,
nil
,
SEQ_DECKSHUFFLE
,
REASON_EFFECT
)
end
end
--filters for common spell effects
function
yume
.
stellar_memories
.
SpellActivationBanishFilter
(
c
,
cid
,
tp
)
...
...
@@ -733,16 +734,18 @@ function yume.stellar_memories.SpellActivationSendFilter(c,lid)
return
c
:
IsCode
(
lid
)
and
c
:
IsAbleToExtra
()
end
function
yume
.
stellar_memories
.
BanishedSpellCon
(
cid
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
re
and
re
:
GetHandler
():
IsCode
(
cid
)
end
end
--spell for low level and low link
function
yume
.
stellar_memories
.
LowSpellActivationTg
(
rid
,
lid
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
yume
.
stellar_memories
.
SpellActivationSearchFilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
,
rid
)
or
Duel
.
IsExistingMatchingCard
(
yume
.
stellar_memories
.
SpellActivationBanishFilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
lid
,
tp
)
end
end
end
function
yume
.
stellar_memories
.
LowSpellActivationOp
(
rid
,
lid
,
msg1
,
msg2
)
return
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
...
@@ -761,6 +764,7 @@ function yume.stellar_memories.LowSpellActivationOp(rid,lid,msg1,msg2)
local
g
=
g2
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_EFFECT
)
end
end
end
function
yume
.
stellar_memories
.
LinkSummonFilter
(
c
)
return
c
:
IsLinkSummonable
(
nil
)
and
c
:
IsRace
(
RACE_SPELLCASTER
)
...
...
expansions/script/c71404014.lua
View file @
1f0850e2
...
...
@@ -81,58 +81,57 @@ function s.tg3(e,tp,eg,ep,ev,re,r,rp,chk)
end
function
s
.
op3
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
if
ft
<
0
then
return
end
::
cancel
::
local
mat_location
=
LOCATION_GRAVE
+
LOCATION_REMOVED
local
summon_location
=
LOCATION_GRAVE
+
LOCATION_REMOVED
local
greater_or_equal
=
"Greater"
local
mg
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
s
.
MultiRitualToDeckFilter
),
tp
,
mat_location
,
0
,
nil
,
tp
)
if
ft
==
0
then
mg
=
mg
:
Filter
(
yume
.
stellar_memories
.
MainZoneFilter
,
nil
,
tp
)
end
mg
=
mg
:
Filter
(
yume
.
stellar_memories
.
MultiRitualSelectToUseFilter
,
nil
,
e
,
tp
,
summon_location
,
Card
.
GetLink
,
greater_or_equal
)
if
mg
:
GetCount
()
==
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
local
mat
=
mg
:
Select
(
tp
,
1
,
1
,
nil
)
local
mc
=
mat
:
GetFirst
()
local
sg
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
yume
.
stellar_memories
.
MultiRitualSelectToSummonFilter
),
tp
,
summon_location
,
0
,
mc
,
e
,
tp
,
mc
,
Card
.
GetLink
,
greater_or_equal
)
if
sg
:
GetCount
()
==
0
then
return
end
if
mc
:
IsLocation
(
LOCATION_MZONE
)
then
ft
=
ft
+
1
end
if
ct
and
ct
<
ft
then
ft
=
ct
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ft
=
1
end
--Ritual Summon 1 monster with ritual Level
local
b1
=
sg
:
IsExists
(
yume
.
stellar_memories
.
MultiRitualRitualLevelCheck
,
1
,
nil
,
mc
,
Card
.
GetLink
,
greater_or_equal
)
--Ritual Summon 1+ monsters with Link Rating
local
b2
=
sg
:
IsExists
(
yume
.
stellar_memories
.
MultiRitualLevelCheck
,
1
,
nil
,
mc
,
Card
.
GetLink
,
greater_or_equal
)
if
b1
and
(
not
b2
or
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
71404000
,
4
)))
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tc
=
sg
:
Filter
(
yume
.
stellar_memories
.
MultiRitualRitualLevelCheck
,
nil
,
mc
,
Card
.
GetLink
,
greater_or_equal
):
SelectUnselect
(
nil
,
tp
,
false
,
true
,
1
,
1
)
if
not
tc
then
goto
cancel
end
if
ft
<
0
then
return
end
::
cancel
::
local
mat_location
=
LOCATION_GRAVE
+
LOCATION_REMOVED
local
summon_location
=
LOCATION_GRAVE
+
LOCATION_REMOVED
local
greater_or_equal
=
"Greater"
local
mg
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
s
.
MultiRitualToDeckFilter
),
tp
,
mat_location
,
0
,
nil
,
tp
)
if
ft
==
0
then
mg
=
mg
:
Filter
(
yume
.
stellar_memories
.
MainZoneFilter
,
nil
,
tp
)
end
mg
=
mg
:
Filter
(
yume
.
stellar_memories
.
MultiRitualSelectToUseFilter
,
nil
,
e
,
tp
,
summon_location
,
Card
.
GetLink
,
greater_or_equal
)
if
mg
:
GetCount
()
==
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
local
mat
=
mg
:
Select
(
tp
,
1
,
1
,
nil
)
local
mc
=
mat
:
GetFirst
()
local
sg
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
yume
.
stellar_memories
.
MultiRitualSelectToSummonFilter
),
tp
,
summon_location
,
0
,
mc
,
e
,
tp
,
mc
,
Card
.
GetLink
,
greater_or_equal
)
if
sg
:
GetCount
()
==
0
then
return
end
if
mc
:
IsLocation
(
LOCATION_MZONE
)
then
ft
=
ft
+
1
end
if
ct
and
ct
<
ft
then
ft
=
ct
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ft
=
1
end
--Ritual Summon 1 monster with ritual Level
local
b1
=
sg
:
IsExists
(
yume
.
stellar_memories
.
MultiRitualRitualLevelCheck
,
1
,
nil
,
mc
,
Card
.
GetLink
,
greater_or_equal
)
--Ritual Summon 1+ monsters with Link Rating
local
b2
=
sg
:
IsExists
(
yume
.
stellar_memories
.
MultiRitualLevelCheck
,
1
,
nil
,
mc
,
Card
.
GetLink
,
greater_or_equal
)
if
b1
and
(
not
b2
or
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
71404000
,
4
)))
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tc
=
sg
:
Filter
(
yume
.
stellar_memories
.
MultiRitualRitualLevelCheck
,
nil
,
mc
,
Card
.
GetLink
,
greater_or_equal
):
SelectUnselect
(
nil
,
tp
,
false
,
true
,
1
,
1
)
if
not
tc
then
goto
cancel
end
tc
:
SetMaterial
(
mat
)
Duel
.
SendtoDeck
(
mc
,
nil
,
SEQ_DECKTOP
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_RITUAL
)
Duel
.
BreakEffect
()
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_RITUAL
,
tp
,
tp
,
false
,
true
,
POS_FACEUP
)
tc
:
CompleteProcedure
()
else
local
lv
=
mc
:
GetLink
()
*
2
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
aux
.
GCheckAdditional
=
yume
.
stellar_memories
.
MultiRitualCheckAdditional
(
lv
)
local
tg
=
mg
:
SelectSubGroup
(
tp
,
yume
.
stellar_memories
.
MultiRitualFSelect
,
true
,
1
,
ft
,
tp
,
lv
)
aux
.
GCheckAdditional
=
nil
if
not
tg
then
goto
cancel
end
local
tc
=
tg
:
GetFirst
()
while
tc
do
tc
:
SetMaterial
(
mat
)
Duel
.
SendtoDeck
(
mc
,
nil
,
SEQ_DECKTOP
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_RITUAL
)
Duel
.
BreakEffect
()
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_RITUAL
,
tp
,
tp
,
false
,
true
,
POS_FACEUP
)
tc
=
tg
:
GetNext
()
end
Duel
.
SendtoDeck
(
mat
,
nil
,
SEQ_DECKTOP
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_RITUAL
)
Duel
.
BreakEffect
()
tc
=
tg
:
GetFirst
()
while
tc
do
Duel
.
SpecialSummonStep
(
tc
,
SUMMON_TYPE_RITUAL
,
tp
,
tp
,
false
,
true
,
POS_FACEUP
)
tc
:
CompleteProcedure
()
else
local
lv
=
mc
:
GetLink
()
*
2
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
aux
.
GCheckAdditional
=
yume
.
stellar_memories
.
MultiRitualCheckAdditional
(
lv
)
local
tg
=
mg
:
SelectSubGroup
(
tp
,
yume
.
stellar_memories
.
MultiRitualFSelect
,
true
,
1
,
ft
,
tp
,
lv
)
aux
.
GCheckAdditional
=
nil
if
not
tg
then
goto
cancel
end
local
tc
=
tg
:
GetFirst
()
while
tc
do
tc
:
SetMaterial
(
mat
)
tc
=
tg
:
GetNext
()
end
Duel
.
SendtoDeck
(
mat
,
nil
,
SEQ_DECKTOP
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_RITUAL
)
Duel
.
BreakEffect
()
tc
=
tg
:
GetFirst
()
while
tc
do
Duel
.
SpecialSummonStep
(
tc
,
SUMMON_TYPE_RITUAL
,
tp
,
tp
,
false
,
true
,
POS_FACEUP
)
tc
:
CompleteProcedure
()
tc
=
tg
:
GetNext
()
end
Duel
.
SpecialSummonComplete
()
tc
=
tg
:
GetNext
()
end
Duel
.
SpecialSummonComplete
()
end
end
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment