Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
ygopro-222DIY-cards
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
alstroemeria-silentlove
ygopro-222DIY-cards
Commits
5129c4ad
Commit
5129c4ad
authored
Sep 24, 2024
by
聖園ミカ
🐟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
byd
parent
e98fc1cc
Pipeline
#29945
passed with stages
in 28 minutes and 37 seconds
Changes
6
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
149 additions
and
148 deletions
+149
-148
expansions/script/c33700912.lua
expansions/script/c33700912.lua
+24
-15
expansions/script/c40009671.lua
expansions/script/c40009671.lua
+36
-40
expansions/script/c40009673.lua
expansions/script/c40009673.lua
+23
-24
expansions/script/c40009675.lua
expansions/script/c40009675.lua
+23
-24
expansions/script/c40009677.lua
expansions/script/c40009677.lua
+20
-21
expansions/script/c40009679.lua
expansions/script/c40009679.lua
+23
-24
No files found.
expansions/script/c33700912.lua
View file @
5129c4ad
...
...
@@ -26,18 +26,27 @@ function c33700912.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Draw
(
p
,
d
,
REASON_EFFECT
)
end
Duel
.
BreakEffect
()
local
tn
=
Duel
.
GetTurnPlayer
()
Duel
.
SkipPhase
(
tn
,
PHASE_MAIN1
,
RESET_PHASE
+
PHASE_END
,
1
)
Duel
.
SkipPhase
(
tn
,
PHASE_DRAW
,
RESET_PHASE
+
PHASE_END
,
1
)
Duel
.
SkipPhase
(
tn
,
PHASE_STANDBY
,
RESET_PHASE
+
PHASE_END
,
1
)
Duel
.
SkipPhase
(
tn
,
PHASE_MAIN1
,
RESET_PHASE
+
PHASE_END
,
1
)
Duel
.
SkipPhase
(
tn
,
PHASE_BATTLE
,
RESET_PHASE
+
PHASE_END
,
1
,
1
)
Duel
.
SkipPhase
(
tn
,
PHASE_MAIN2
,
RESET_PHASE
+
PHASE_END
,
1
)
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e1
:
SetTargetRange
(
1
,
0
)
e1
:
SetCode
(
EFFECT_CANNOT_BP
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e1
,
tp
)
end
if
Duel
.
GetCurrentPhase
()
~=
PHASE_END
then
if
Duel
.
GetCurrentPhase
()
==
PHASE_DRAW
then
Duel
.
SkipPhase
(
Duel
.
GetTurnPlayer
(),
PHASE_DRAW
,
RESET_PHASE
+
PHASE_END
,
1
)
Duel
.
SkipPhase
(
Duel
.
GetTurnPlayer
(),
PHASE_STANDBY
,
RESET_PHASE
+
PHASE_END
,
1
)
Duel
.
SkipPhase
(
Duel
.
GetTurnPlayer
(),
PHASE_MAIN1
,
RESET_PHASE
+
PHASE_END
,
1
)
Duel
.
SkipPhase
(
Duel
.
GetTurnPlayer
(),
PHASE_BATTLE
,
RESET_PHASE
+
PHASE_END
,
1
)
Duel
.
SkipPhase
(
Duel
.
GetTurnPlayer
(),
PHASE_MAIN2
,
RESET_PHASE
+
PHASE_END
,
1
)
elseif
Duel
.
GetCurrentPhase
()
==
PHASE_STANDBY
then
Duel
.
SkipPhase
(
Duel
.
GetTurnPlayer
(),
PHASE_STANDBY
,
RESET_PHASE
+
PHASE_END
,
1
)
Duel
.
SkipPhase
(
Duel
.
GetTurnPlayer
(),
PHASE_MAIN1
,
RESET_PHASE
+
PHASE_END
,
1
)
Duel
.
SkipPhase
(
Duel
.
GetTurnPlayer
(),
PHASE_BATTLE
,
RESET_PHASE
+
PHASE_END
,
1
)
Duel
.
SkipPhase
(
Duel
.
GetTurnPlayer
(),
PHASE_MAIN2
,
RESET_PHASE
+
PHASE_END
,
1
)
elseif
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN1
then
Duel
.
SkipPhase
(
Duel
.
GetTurnPlayer
(),
PHASE_MAIN1
,
RESET_PHASE
+
PHASE_END
,
1
)
Duel
.
SkipPhase
(
Duel
.
GetTurnPlayer
(),
PHASE_BATTLE
,
RESET_PHASE
+
PHASE_END
,
1
)
Duel
.
SkipPhase
(
Duel
.
GetTurnPlayer
(),
PHASE_MAIN2
,
RESET_PHASE
+
PHASE_END
,
1
)
elseif
Duel
.
GetCurrentPhase
()
==
PHASE_BATTLE
then
Duel
.
SkipPhase
(
Duel
.
GetTurnPlayer
(),
PHASE_BATTLE
,
RESET_PHASE
+
PHASE_END
,
1
)
Duel
.
SkipPhase
(
Duel
.
GetTurnPlayer
(),
PHASE_MAIN2
,
RESET_PHASE
+
PHASE_END
,
1
)
elseif
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN2
then
Duel
.
SkipPhase
(
Duel
.
GetTurnPlayer
(),
PHASE_MAIN2
,
RESET_PHASE
+
PHASE_END
,
1
)
end
end
end
\ No newline at end of file
expansions/script/c40009671.lua
View file @
5129c4ad
...
...
@@ -27,37 +27,35 @@ function cm.cfilter1(c)
return
c
:
GetType
()
==
TYPE_SPELL
and
c
:
IsAbleToRemoveAsCost
()
and
c
:
CheckActivateEffect
(
true
,
true
,
false
)
~=
nil
end
function
cm
.
cfilter2
(
c
)
return
c
:
IsType
(
TYPE_QUICKPLAY
)
and
c
:
IsAbleToRemoveAsCost
()
and
c
:
CheckActivateEffect
(
true
,
true
,
false
)
~=
nil
return
(
c
:
GetType
()
==
TYPE_SPELL
or
c
:
IsType
(
TYPE_QUICKPLAY
))
and
c
:
IsAbleToRemoveAsCost
()
and
c
:
CheckActivateEffect
(
true
,
true
,
false
)
~=
nil
end
function
cm
.
cfilterz
(
c
)
return
c
:
IsFaceup
()
and
cm
.
Spiritualist
(
c
)
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
local
g1
=
Duel
.
GetMatchingGroup
(
cm
.
cfilter1
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
local
g2
=
Duel
.
GetMatchingGroup
(
cm
.
cfilter2
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
if
not
Duel
.
IsExistingMatchingCard
(
cm
.
cfilterz
,
tp
,
4
,
0
,
1
,
nil
)
then
return
end
cm_copy
=
false
local
g
=
{}
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
40011471
)
then
g1
:
Merge
(
g2
)
g
=
Duel
.
GetMatchingGroup
(
cm
.
cfilter2
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
else
g
=
Duel
.
GetMatchingGroup
(
cm
.
cfilter1
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
end
if
g1
:
GetCount
()
>
0
and
Duel
.
IsExistingMatchingCard
(
cm
.
cfilterz
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
then
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
40011471
)
then
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
2
))
else
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
1
))
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
sg
=
g1
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
if
#
g
<=
0
then
return
end
if
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
1
))
then
Duel
.
Hint
(
3
,
tp
,
HINTMSG_REMOVE
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
Remove
(
sg
,
POS_FACEUP
,
REASON_COST
)
local
te
,
ceg
,
cep
,
cev
,
cre
,
cr
,
crp
=
sg
:
CheckActivateEffect
(
true
,
true
,
false
)
cm_copy
=
true
local
te
,
ceg
,
cep
,
cev
,
cre
,
cr
,
crp
=
sg
:
GetFirst
():
CheckActivateEffect
(
true
,
true
,
true
)
e
:
SetProperty
(
te
:
GetProperty
())
local
tg
=
te
:
GetTarget
()
if
tg
then
tg
(
e
,
tp
,
ceg
,
cep
,
cev
,
cre
,
cr
,
crp
,
1
)
end
te
:
SetLabelObject
(
e
:
GetLabelObject
())
e
:
SetLabelObject
(
te
)
Duel
.
ClearOperationInfo
(
0
)
e
:
SetLabel
(
1
)
else
e
:
SetLabel
(
0
)
end
end
function
cm
.
filter
(
c
)
...
...
@@ -71,32 +69,30 @@ function cm.target(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_DECK
)
end
function
cm
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
e
:
GetHandler
():
IsRelateToEffect
(
e
)
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
c
=
e
:
GetHandler
()
Duel
.
Hint
(
3
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
then
if
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
~=
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
Duel
.
BreakEffect
()
if
e
:
GetLabel
()
==
1
then
local
te
=
e
:
GetLabelObject
()
if
te
then
e
:
SetLabelObject
(
te
:
GetLabelObject
())
local
op
=
te
:
GetOperation
()
if
op
then
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
end
end
local
sg
=
Duel
.
GetMatchingGroup
(
cm
.
atkfilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
local
tc
=
sg
:
GetFirst
()
while
tc
do
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetValue
(
1000
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_END
)
tc
:
RegisterEffect
(
e1
)
tc
=
sg
:
GetNext
()
if
#
g
>
0
and
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
>
0
and
g
:
GetFirst
():
IsLocation
(
LOCATION_HAND
)
then
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
Duel
.
BreakEffect
()
if
cm_copy
then
cm_copy
=
false
local
te
=
e
:
GetLabelObject
()
if
te
then
e
:
SetLabelObject
(
te
:
GetLabelObject
())
local
op
=
te
:
GetOperation
()
if
op
then
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
end
end
local
sg
=
Duel
.
GetMatchingGroup
(
cm
.
atkfilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
if
#
sg
then
return
end
for
tc
in
aux
.
Next
(
sg
)
do
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetValue
(
1000
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_END
)
tc
:
RegisterEffect
(
e1
)
end
end
end
\ No newline at end of file
expansions/script/c40009673.lua
View file @
5129c4ad
...
...
@@ -27,37 +27,35 @@ function cm.cfilter1(c)
return
c
:
GetType
()
==
TYPE_SPELL
and
c
:
IsAbleToRemoveAsCost
()
and
c
:
CheckActivateEffect
(
true
,
true
,
false
)
~=
nil
end
function
cm
.
cfilter2
(
c
)
return
c
:
IsType
(
TYPE_QUICKPLAY
)
and
c
:
IsAbleToRemoveAsCost
()
and
c
:
CheckActivateEffect
(
false
,
true
,
false
)
~=
nil
return
(
c
:
GetType
()
==
TYPE_SPELL
or
c
:
IsType
(
TYPE_QUICKPLAY
))
and
c
:
IsAbleToRemoveAsCost
()
and
c
:
CheckActivateEffect
(
true
,
true
,
false
)
~=
nil
end
function
cm
.
cfilterz
(
c
)
return
c
:
IsFaceup
()
and
cm
.
Spiritualist
(
c
)
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
local
g1
=
Duel
.
GetMatchingGroup
(
cm
.
cfilter1
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
local
g2
=
Duel
.
GetMatchingGroup
(
cm
.
cfilter2
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
if
not
Duel
.
IsExistingMatchingCard
(
cm
.
cfilterz
,
tp
,
4
,
0
,
1
,
nil
)
then
return
end
cm_copy
=
false
local
g
=
{}
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
40011471
)
then
g1
:
Merge
(
g2
)
g
=
Duel
.
GetMatchingGroup
(
cm
.
cfilter2
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
else
g
=
Duel
.
GetMatchingGroup
(
cm
.
cfilter1
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
end
if
g1
:
GetCount
()
>
0
and
Duel
.
IsExistingMatchingCard
(
cm
.
cfilterz
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
then
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
40011471
)
then
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
2
))
else
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
1
))
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
sg
=
g1
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
if
#
g
<=
0
then
return
end
if
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
1
))
then
Duel
.
Hint
(
3
,
tp
,
HINTMSG_REMOVE
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
Remove
(
sg
,
POS_FACEUP
,
REASON_COST
)
local
te
,
ceg
,
cep
,
cev
,
cre
,
cr
,
crp
=
sg
:
CheckActivateEffect
(
true
,
true
,
false
)
cm_copy
=
true
local
te
,
ceg
,
cep
,
cev
,
cre
,
cr
,
crp
=
sg
:
GetFirst
():
CheckActivateEffect
(
true
,
true
,
true
)
e
:
SetProperty
(
te
:
GetProperty
())
local
tg
=
te
:
GetTarget
()
if
tg
then
tg
(
e
,
tp
,
ceg
,
cep
,
cev
,
cre
,
cr
,
crp
,
1
)
end
te
:
SetLabelObject
(
e
:
GetLabelObject
())
e
:
SetLabelObject
(
te
)
Duel
.
ClearOperationInfo
(
0
)
e
:
SetLabel
(
1
)
else
e
:
SetLabel
(
0
)
end
end
function
cm
.
filter
(
c
)
...
...
@@ -80,14 +78,15 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
if
Duel
.
SendtoDeck
(
g
,
nil
,
2
,
REASON_EFFECT
)
~=
0
then
Duel
.
Damage
(
1
-
tp
,
1000
,
REASON_EFFECT
)
Duel
.
BreakEffect
()
if
e
:
GetLabel
()
==
1
then
local
te
=
e
:
GetLabelObject
()
if
te
then
e
:
SetLabelObject
(
te
:
GetLabelObject
())
local
op
=
te
:
GetOperation
()
if
op
then
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
end
end
if
cm_copy
then
cm_copy
=
false
local
te
=
e
:
GetLabelObject
()
if
te
then
e
:
SetLabelObject
(
te
:
GetLabelObject
())
local
op
=
te
:
GetOperation
()
if
op
then
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
end
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
sg
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
rfilter
,
tp
,
LOCATION_REMOVED
,
0
,
1
,
1
,
nil
)
if
#
sg
>
0
then
...
...
expansions/script/c40009675.lua
View file @
5129c4ad
...
...
@@ -27,37 +27,35 @@ function cm.cfilter1(c)
return
c
:
GetType
()
==
TYPE_SPELL
and
c
:
IsAbleToRemoveAsCost
()
and
c
:
CheckActivateEffect
(
true
,
true
,
false
)
~=
nil
end
function
cm
.
cfilter2
(
c
)
return
c
:
IsType
(
TYPE_QUICKPLAY
)
and
c
:
IsAbleToRemoveAsCost
()
and
c
:
CheckActivateEffect
(
true
,
true
,
false
)
~=
nil
return
(
c
:
GetType
()
==
TYPE_SPELL
or
c
:
IsType
(
TYPE_QUICKPLAY
))
and
c
:
IsAbleToRemoveAsCost
()
and
c
:
CheckActivateEffect
(
true
,
true
,
false
)
~=
nil
end
function
cm
.
cfilterz
(
c
)
return
c
:
IsFaceup
()
and
cm
.
Spiritualist
(
c
)
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
local
g1
=
Duel
.
GetMatchingGroup
(
cm
.
cfilter1
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
local
g2
=
Duel
.
GetMatchingGroup
(
cm
.
cfilter2
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
if
not
Duel
.
IsExistingMatchingCard
(
cm
.
cfilterz
,
tp
,
4
,
0
,
1
,
nil
)
then
return
end
cm_copy
=
false
local
g
=
{}
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
40011471
)
then
g1
:
Merge
(
g2
)
g
=
Duel
.
GetMatchingGroup
(
cm
.
cfilter2
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
else
g
=
Duel
.
GetMatchingGroup
(
cm
.
cfilter1
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
end
if
g1
:
GetCount
()
>
0
and
Duel
.
IsExistingMatchingCard
(
cm
.
cfilterz
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
then
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
40011471
)
then
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
2
))
else
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
1
))
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
sg
=
g1
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
if
#
g
<=
0
then
return
end
if
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
1
))
then
Duel
.
Hint
(
3
,
tp
,
HINTMSG_REMOVE
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
Remove
(
sg
,
POS_FACEUP
,
REASON_COST
)
local
te
,
ceg
,
cep
,
cev
,
cre
,
cr
,
crp
=
sg
:
CheckActivateEffect
(
true
,
true
,
false
)
cm_copy
=
true
local
te
,
ceg
,
cep
,
cev
,
cre
,
cr
,
crp
=
sg
:
GetFirst
():
CheckActivateEffect
(
true
,
true
,
true
)
e
:
SetProperty
(
te
:
GetProperty
())
local
tg
=
te
:
GetTarget
()
if
tg
then
tg
(
e
,
tp
,
ceg
,
cep
,
cev
,
cre
,
cr
,
crp
,
1
)
end
te
:
SetLabelObject
(
e
:
GetLabelObject
())
e
:
SetLabelObject
(
te
)
Duel
.
ClearOperationInfo
(
0
)
e
:
SetLabel
(
1
)
else
e
:
SetLabel
(
0
)
end
end
function
cm
.
filter
(
c
,
e
,
tp
)
...
...
@@ -87,14 +85,15 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp)
e2
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
tc
:
RegisterEffect
(
e2
)
Duel
.
BreakEffect
()
if
e
:
GetLabel
()
==
1
then
local
te
=
e
:
GetLabelObject
()
if
te
then
e
:
SetLabelObject
(
te
:
GetLabelObject
())
local
op
=
te
:
GetOperation
()
if
op
then
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
end
end
if
cm_copy
then
cm_copy
=
false
local
te
=
e
:
GetLabelObject
()
if
te
then
e
:
SetLabelObject
(
te
:
GetLabelObject
())
local
op
=
te
:
GetOperation
()
if
op
then
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
end
end
Duel
.
Damage
(
tp
,
1000
,
REASON_EFFECT
)
end
end
...
...
expansions/script/c40009677.lua
View file @
5129c4ad
...
...
@@ -28,37 +28,35 @@ function cm.cfilter1(c)
return
c
:
GetType
()
==
TYPE_SPELL
and
c
:
IsAbleToRemoveAsCost
()
and
c
:
CheckActivateEffect
(
true
,
true
,
false
)
~=
nil
end
function
cm
.
cfilter2
(
c
)
return
c
:
IsType
(
TYPE_QUICKPLAY
)
and
c
:
IsAbleToRemoveAsCost
()
and
c
:
CheckActivateEffect
(
true
,
true
,
false
)
~=
nil
return
(
c
:
GetType
()
==
TYPE_SPELL
or
c
:
IsType
(
TYPE_QUICKPLAY
))
and
c
:
IsAbleToRemoveAsCost
()
and
c
:
CheckActivateEffect
(
true
,
true
,
false
)
~=
nil
end
function
cm
.
cfilterz
(
c
)
return
c
:
IsFaceup
()
and
cm
.
Spiritualist
(
c
)
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
local
g1
=
Duel
.
GetMatchingGroup
(
cm
.
cfilter1
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
local
g2
=
Duel
.
GetMatchingGroup
(
cm
.
cfilter2
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
if
not
Duel
.
IsExistingMatchingCard
(
cm
.
cfilterz
,
tp
,
4
,
0
,
1
,
nil
)
then
return
end
cm_copy
=
false
local
g
=
{}
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
40011471
)
then
g1
:
Merge
(
g2
)
g
=
Duel
.
GetMatchingGroup
(
cm
.
cfilter2
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
else
g
=
Duel
.
GetMatchingGroup
(
cm
.
cfilter1
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
end
if
g1
:
GetCount
()
>
0
and
Duel
.
IsExistingMatchingCard
(
cm
.
cfilterz
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
then
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
40011471
)
then
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
2
))
else
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
1
))
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
sg
=
g1
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
if
#
g
<=
0
then
return
end
if
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
1
))
then
Duel
.
Hint
(
3
,
tp
,
HINTMSG_REMOVE
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
Remove
(
sg
,
POS_FACEUP
,
REASON_COST
)
local
te
,
ceg
,
cep
,
cev
,
cre
,
cr
,
crp
=
sg
:
CheckActivateEffect
(
true
,
true
,
false
)
cm_copy
=
true
local
te
,
ceg
,
cep
,
cev
,
cre
,
cr
,
crp
=
sg
:
GetFirst
():
CheckActivateEffect
(
true
,
true
,
true
)
e
:
SetProperty
(
te
:
GetProperty
())
local
tg
=
te
:
GetTarget
()
if
tg
then
tg
(
e
,
tp
,
ceg
,
cep
,
cev
,
cre
,
cr
,
crp
,
1
)
end
te
:
SetLabelObject
(
e
:
GetLabelObject
())
e
:
SetLabelObject
(
te
)
Duel
.
ClearOperationInfo
(
0
)
e
:
SetLabel
(
1
)
else
e
:
SetLabel
(
0
)
end
end
function
cm
.
filter
(
c
)
...
...
@@ -99,14 +97,15 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
e4
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e4
,
tp
)
Duel
.
BreakEffect
()
if
e
:
GetLabel
()
==
1
then
local
te
=
e
:
GetLabelObject
()
if
cm_copy
then
cm_copy
=
false
local
te
=
e
:
GetLabelObject
()
if
te
then
e
:
SetLabelObject
(
te
:
GetLabelObject
())
local
op
=
te
:
GetOperation
()
e
:
SetLabelObject
(
te
:
GetLabelObject
())
local
op
=
te
:
GetOperation
()
if
op
then
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
end
end
end
end
end
function
cm
.
tgoval
(
e
,
re
,
rp
)
...
...
expansions/script/c40009679.lua
View file @
5129c4ad
...
...
@@ -38,37 +38,35 @@ function cm.cfilter1(c)
return
c
:
GetType
()
==
TYPE_SPELL
and
c
:
IsAbleToRemoveAsCost
()
and
c
:
CheckActivateEffect
(
true
,
true
,
false
)
~=
nil
end
function
cm
.
cfilter2
(
c
)
return
c
:
IsType
(
TYPE_QUICKPLAY
)
and
c
:
IsAbleToRemoveAsCost
()
and
c
:
CheckActivateEffect
(
true
,
true
,
false
)
~=
nil
return
(
c
:
GetType
()
==
TYPE_SPELL
or
c
:
IsType
(
TYPE_QUICKPLAY
))
and
c
:
IsAbleToRemoveAsCost
()
and
c
:
CheckActivateEffect
(
true
,
true
,
false
)
~=
nil
end
function
cm
.
cfilterz
(
c
)
return
c
:
IsFaceup
()
and
cm
.
Spiritualist
(
c
)
end
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
local
g1
=
Duel
.
GetMatchingGroup
(
cm
.
cfilter1
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
local
g2
=
Duel
.
GetMatchingGroup
(
cm
.
cfilter2
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
if
not
Duel
.
IsExistingMatchingCard
(
cm
.
cfilterz
,
tp
,
4
,
0
,
1
,
nil
)
then
return
end
cm_copy
=
false
local
g
=
{}
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
40011471
)
then
g1
:
Merge
(
g2
)
g
=
Duel
.
GetMatchingGroup
(
cm
.
cfilter2
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
else
g
=
Duel
.
GetMatchingGroup
(
cm
.
cfilter1
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
end
if
g1
:
GetCount
()
>
0
and
Duel
.
IsExistingMatchingCard
(
cm
.
cfilterz
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
then
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
40011471
)
then
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
2
))
else
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
1
))
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
sg
=
g1
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
if
#
g
<=
0
then
return
end
if
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
1
))
then
Duel
.
Hint
(
3
,
tp
,
HINTMSG_REMOVE
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
Remove
(
sg
,
POS_FACEUP
,
REASON_COST
)
local
te
,
ceg
,
cep
,
cev
,
cre
,
cr
,
crp
=
sg
:
CheckActivateEffect
(
true
,
true
,
false
)
cm_copy
=
true
local
te
,
ceg
,
cep
,
cev
,
cre
,
cr
,
crp
=
sg
:
GetFirst
():
CheckActivateEffect
(
true
,
true
,
true
)
e
:
SetProperty
(
te
:
GetProperty
())
local
tg
=
te
:
GetTarget
()
if
tg
then
tg
(
e
,
tp
,
ceg
,
cep
,
cev
,
cre
,
cr
,
crp
,
1
)
end
te
:
SetLabelObject
(
e
:
GetLabelObject
())
e
:
SetLabelObject
(
te
)
Duel
.
ClearOperationInfo
(
0
)
e
:
SetLabel
(
1
)
else
e
:
SetLabel
(
0
)
end
end
function
cm
.
filter
(
c
)
...
...
@@ -90,14 +88,15 @@ function cm.desop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
HintSelection
(
g
)
if
Duel
.
Destroy
(
g
,
REASON_EFFECT
)
~=
0
then
Duel
.
BreakEffect
()
if
e
:
GetLabel
()
==
1
then
local
te
=
e
:
GetLabelObject
()
if
te
then
e
:
SetLabelObject
(
te
:
GetLabelObject
())
local
op
=
te
:
GetOperation
()
if
op
then
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
end
end
if
cm_copy
then
cm_copy
=
false
local
te
=
e
:
GetLabelObject
()
if
te
then
e
:
SetLabelObject
(
te
:
GetLabelObject
())
local
op
=
te
:
GetOperation
()
if
op
then
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
end
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g2
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
if
#
g2
>
0
then
...
...
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