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
9d811a0b
Commit
9d811a0b
authored
Jan 19, 2025
by
Huangnan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
459d1dec
Pipeline
#32679
failed with stages
in 24 minutes and 45 seconds
Changes
26
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
26 changed files
with
961 additions
and
80 deletions
+961
-80
expansions/FiNALE.cdb
expansions/FiNALE.cdb
+0
-0
expansions/script/Yakumonue.lua
expansions/script/Yakumonue.lua
+1
-0
expansions/script/c16349053.lua
expansions/script/c16349053.lua
+1
-0
expansions/script/c16372019.lua
expansions/script/c16372019.lua
+1
-1
expansions/script/c16372020.lua
expansions/script/c16372020.lua
+1
-1
expansions/script/c16372030.lua
expansions/script/c16372030.lua
+208
-1
expansions/script/c16372035.lua
expansions/script/c16372035.lua
+208
-0
expansions/script/c16372040.lua
expansions/script/c16372040.lua
+115
-0
expansions/script/c16372045.lua
expansions/script/c16372045.lua
+120
-0
expansions/script/c17243036.lua
expansions/script/c17243036.lua
+3
-0
expansions/script/c17243046.lua
expansions/script/c17243046.lua
+1
-1
expansions/script/c18700007.lua
expansions/script/c18700007.lua
+1
-0
expansions/script/c18700194.lua
expansions/script/c18700194.lua
+3
-3
expansions/script/c18700544.lua
expansions/script/c18700544.lua
+3
-3
expansions/script/c18700548.lua
expansions/script/c18700548.lua
+1
-1
expansions/script/c18700552.lua
expansions/script/c18700552.lua
+3
-3
expansions/script/c23410007.lua
expansions/script/c23410007.lua
+1
-1
expansions/script/c52700700.lua
expansions/script/c52700700.lua
+2
-4
expansions/script/c52700706.lua
expansions/script/c52700706.lua
+7
-4
expansions/script/c81902106 (1).lua
expansions/script/c81902106 (1).lua
+240
-0
expansions/script/c81902106.lua
expansions/script/c81902106.lua
+21
-30
expansions/script/c81905002.lua
expansions/script/c81905002.lua
+6
-1
expansions/script/c81905017.lua
expansions/script/c81905017.lua
+1
-2
expansions/script/c81905018.lua
expansions/script/c81905018.lua
+9
-10
expansions/script/c81905020.lua
expansions/script/c81905020.lua
+3
-14
expansions/strings.conf
expansions/strings.conf
+1
-0
No files found.
expansions/FiNALE.cdb
View file @
9d811a0b
No preview for this file type
expansions/script/Yakumonue.lua
View file @
9d811a0b
expansions/script/c16349053.lua
View file @
9d811a0b
...
@@ -20,6 +20,7 @@ function c16349053.initial_effect(c)
...
@@ -20,6 +20,7 @@ function c16349053.initial_effect(c)
e2
:
SetType
(
EFFECT_TYPE_IGNITION
)
e2
:
SetType
(
EFFECT_TYPE_IGNITION
)
e2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetRange
(
LOCATION_SZONE
)
e2
:
SetRange
(
LOCATION_SZONE
)
e2
:
SetCountLimit
(
1
,
16349053
)
e2
:
SetTarget
(
c16349053
.
target
)
e2
:
SetTarget
(
c16349053
.
target
)
e2
:
SetOperation
(
c16349053
.
activate
)
e2
:
SetOperation
(
c16349053
.
activate
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
...
...
expansions/script/c16372019.lua
View file @
9d811a0b
...
@@ -56,7 +56,7 @@ function c16372019.ffilter(c,e,tp)
...
@@ -56,7 +56,7 @@ function c16372019.ffilter(c,e,tp)
and
Duel
.
IsExistingMatchingCard
(
c16372019
.
spfilter
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
,
0
,
1
,
nil
,
c
,
e
,
tp
)
and
Duel
.
IsExistingMatchingCard
(
c16372019
.
spfilter
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
,
0
,
1
,
nil
,
c
,
e
,
tp
)
end
end
function
c16372019
.
spfilter
(
c
,
fc
,
e
,
tp
)
function
c16372019
.
spfilter
(
c
,
fc
,
e
,
tp
)
return
aux
.
Is
MaterialListCode
(
fc
,
c
:
GetCode
())
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
return
aux
.
Is
CodeListed
(
fc
,
c
:
GetCode
())
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
and
Duel
.
IsExistingMatchingCard
(
c16372019
.
setfilter
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
,
0
,
1
,
nil
,
fc
,
c
:
GetCode
())
and
Duel
.
IsExistingMatchingCard
(
c16372019
.
setfilter
,
tp
,
LOCATION_HAND
+
LOCATION_DECK
,
0
,
1
,
nil
,
fc
,
c
:
GetCode
())
end
end
function
c16372019
.
setfilter
(
c
,
fc
,
code
)
function
c16372019
.
setfilter
(
c
,
fc
,
code
)
...
...
expansions/script/c16372020.lua
View file @
9d811a0b
...
@@ -104,7 +104,7 @@ function c16372020.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -104,7 +104,7 @@ function c16372020.operation(e,tp,eg,ep,ev,re,r,rp)
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
tc
=
rg
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
local
tc
=
rg
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
Duel
.
SpecialSummon
Step
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
end
end
end
end
...
...
expansions/script/c16372030.lua
View file @
9d811a0b
--启灵元神 朝霞晖映
--启灵元神 朝霞晖映
function
c16372030
.
initial_effect
(
c
)
function
c16372030
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
--spsummon condition
local
e0
=
Effect
.
CreateEffect
(
c
)
e0
:
SetType
(
EFFECT_TYPE_SINGLE
)
e0
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e0
:
SetCode
(
EFFECT_SPSUMMON_CONDITION
)
e0
:
SetValue
(
c16372030
.
splimit
)
c
:
RegisterEffect
(
e0
)
--counter
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
16372030
,
1
))
e1
:
SetCategory
(
CATEGORY_COUNTER
)
e1
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e1
:
SetCode
(
EVENT_CHAINING
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCondition
(
c16372030
.
ctcon
)
e1
:
SetTarget
(
c16372030
.
cttg
)
e1
:
SetOperation
(
c16372030
.
ctop
)
c
:
RegisterEffect
(
e1
)
--negate activate
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
16372030
,
2
))
e2
:
SetCategory
(
CATEGORY_NEGATE
)
e2
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e2
:
SetCode
(
EVENT_CHAINING
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DAMAGE_CAL
)
e2
:
SetCountLimit
(
1
)
e2
:
SetCondition
(
c16372030
.
condition
)
e2
:
SetCost
(
c16372030
.
cost
)
e2
:
SetTarget
(
c16372030
.
target
)
e2
:
SetOperation
(
c16372030
.
operation
)
c
:
RegisterEffect
(
e2
)
--damage
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
16372030
,
3
))
e3
:
SetCategory
(
CATEGORY_DAMAGE
)
e3
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetCode
(
EVENT_PHASE
+
PHASE_END
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetCountLimit
(
1
,
16372030
)
e3
:
SetCost
(
c16372030
.
damcost
)
e3
:
SetTarget
(
c16372030
.
damtg
)
e3
:
SetOperation
(
c16372030
.
damop
)
c
:
RegisterEffect
(
e3
)
--setself
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_F
)
e4
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e4
:
SetCode
(
EVENT_LEAVE_FIELD
)
e4
:
SetCountLimit
(
1
,
16372030
+
1
)
e4
:
SetCondition
(
c16372030
.
setscon
)
e4
:
SetTarget
(
c16372030
.
setstg
)
e4
:
SetOperation
(
c16372030
.
setsop
)
c
:
RegisterEffect
(
e4
)
--ritual summon
local
e5
=
Effect
.
CreateEffect
(
c
)
e5
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
+
CATEGORY_TOGRAVE
)
e5
:
SetType
(
EFFECT_TYPE_IGNITION
)
e5
:
SetRange
(
LOCATION_SZONE
)
e5
:
SetCountLimit
(
1
,
16372030
)
e5
:
SetCondition
(
c16372030
.
spellcon
)
e5
:
SetTarget
(
c16372030
.
tg1
)
e5
:
SetOperation
(
c16372030
.
op1
)
c
:
RegisterEffect
(
e5
)
end
end
function
c16372030
.
splimit
(
e
,
se
,
sp
,
st
)
return
se
:
GetHandler
():
IsSetCard
(
0xdc1
)
end
function
c16372030
.
ctcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
re
:
IsActiveType
(
TYPE_MONSTER
)
and
rp
==
1
-
tp
end
function
c16372030
.
ctfilter
(
c
)
return
c
:
IsCanAddCounter
(
0x3dc1
,
1
)
and
c
:
GetCounter
(
0x3dc1
)
<
3
end
function
c16372030
.
cttg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c16372030
.
ctfilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
nil
)
end
end
function
c16372030
.
ctop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_FACEUP
)
local
tc
=
Duel
.
SelectMatchingCard
(
tp
,
c16372030
.
ctfilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
):
GetFirst
()
if
tc
and
tc
:
AddCounter
(
0x3dc1
,
1
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1
:
SetCode
(
EFFECT_UNRELEASABLE_SUM
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetCondition
(
c16372030
.
con
)
e1
:
SetValue
(
1
)
tc
:
RegisterEffect
(
e1
)
local
e2
=
e1
:
Clone
()
e2
:
SetCode
(
EFFECT_UNRELEASABLE_NONSUM
)
tc
:
RegisterEffect
(
e2
)
local
e3
=
e1
:
Clone
()
e3
:
SetCode
(
EFFECT_CANNOT_BE_FUSION_MATERIAL
)
e3
:
SetValue
(
c16372030
.
fuslimit
)
tc
:
RegisterEffect
(
e3
)
local
e4
=
e1
:
Clone
()
e4
:
SetCode
(
EFFECT_CANNOT_BE_SYNCHRO_MATERIAL
)
tc
:
RegisterEffect
(
e4
)
local
e5
=
e1
:
Clone
()
e5
:
SetCode
(
EFFECT_CANNOT_BE_XYZ_MATERIAL
)
tc
:
RegisterEffect
(
e5
)
local
e6
=
e1
:
Clone
()
e6
:
SetCode
(
EFFECT_CANNOT_BE_LINK_MATERIAL
)
tc
:
RegisterEffect
(
e6
)
end
end
function
c16372030
.
con
(
e
)
return
e
:
GetHandler
():
GetCounter
(
0x3dc1
)
>=
3
end
function
c16372030
.
fuslimit
(
e
,
c
,
sumtype
)
return
sumtype
==
SUMMON_TYPE_FUSION
end
function
c16372030
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
loc
=
Duel
.
GetChainInfo
(
ev
,
CHAININFO_TRIGGERING_LOCATION
)
return
not
e
:
GetHandler
():
IsStatus
(
STATUS_BATTLE_DESTROYED
)
and
ep
~=
tp
and
loc
==
LOCATION_MZONE
and
re
:
IsActiveType
(
TYPE_MONSTER
)
and
Duel
.
IsChainNegatable
(
ev
)
end
function
c16372030
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsCanRemoveCounter
(
tp
,
1
,
1
,
0x3dc1
,
1
,
REASON_COST
)
end
Duel
.
RemoveCounter
(
tp
,
1
,
1
,
0x3dc1
,
1
,
REASON_COST
)
end
function
c16372030
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_NEGATE
,
eg
,
1
,
0
,
0
)
end
function
c16372030
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
NegateActivation
(
ev
)
end
function
c16372030
.
damfilter
(
c
)
return
c
:
GetCounter
(
0x3dc1
)
>
0
end
function
c16372030
.
damcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetCounter
(
tp
,
1
,
1
,
0x3dc1
)
>
0
end
local
g
=
Duel
.
GetMatchingGroup
(
c16372030
.
damfilter
,
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
,
nil
)
local
tc
=
g
:
GetFirst
()
local
sum
=
0
while
tc
do
local
sct
=
tc
:
GetCounter
(
0x3dc1
)
tc
:
RemoveCounter
(
tp
,
0x3dc1
,
sct
,
0
)
sum
=
sum
+
sct
tc
=
g
:
GetNext
()
end
e
:
SetLabel
(
sum
)
end
function
c16372030
.
damtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
local
ct
=
e
:
GetLabel
()
Duel
.
SetTargetPlayer
(
1
-
tp
)
Duel
.
SetTargetParam
(
ct
*
300
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DAMAGE
,
nil
,
0
,
1
-
tp
,
ct
*
300
)
end
function
c16372030
.
damop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
p
,
d
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_PLAYER
,
CHAININFO_TARGET_PARAM
)
Duel
.
Damage
(
p
,
d
,
REASON_EFFECT
)
end
function
c16372030
.
setscon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsPreviousLocation
(
LOCATION_MZONE
)
end
function
c16372030
.
setstg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
end
function
c16372030
.
setsop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToEffect
(
e
)
or
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
<
1
then
return
end
if
Duel
.
MoveToField
(
c
,
tp
,
tp
,
LOCATION_SZONE
,
POS_FACEUP
,
true
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCode
(
EFFECT_CHANGE_TYPE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
-
RESET_TURN_SET
)
e1
:
SetValue
(
TYPE_SPELL
+
TYPE_CONTINUOUS
)
c
:
RegisterEffect
(
e1
)
end
end
function
c16372030
.
spellcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
GetType
()
==
TYPE_SPELL
+
TYPE_CONTINUOUS
end
function
c16372030
.
tgfilter
(
c
)
return
c
:
IsSetCard
(
0xdc1
)
and
c
:
IsFaceupEx
()
and
c
:
GetOriginalLevel
()
>
0
and
c
:
IsAbleToGrave
()
end
function
c16372030
.
tg1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
mg
=
Duel
.
GetMatchingGroup
(
c16372030
.
tgfilter
,
tp
,
LOCATION_HAND
+
LOCATION_ONFIELD
,
0
,
c
)
if
chk
==
0
then
return
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_RITUAL
,
tp
,
false
,
true
)
and
mg
:
CheckWithSumEqual
(
Card
.
GetLevel
,
9
,
1
,
99
,
c
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
c
,
1
,
0
,
0
)
end
function
c16372030
.
op1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToEffect
(
e
)
then
return
end
local
mg
=
Duel
.
GetMatchingGroup
(
c16372030
.
tgfilter
,
tp
,
LOCATION_HAND
+
LOCATION_ONFIELD
,
0
,
c
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
aux
.
GCheckAdditional
=
aux
.
RitualCheckAdditional
(
c
,
9
,
"Equal"
)
local
mat
=
mg
:
SelectSubGroup
(
tp
,
aux
.
RitualCheck
,
false
,
1
,
9
,
tp
,
c
,
9
,
"Equal"
)
aux
.
GCheckAdditional
=
nil
c
:
SetMaterial
(
mat
)
if
Duel
.
SendtoGrave
(
mat
,
0x40
)
>
0
then
Duel
.
BreakEffect
()
Duel
.
SpecialSummon
(
c
,
SUMMON_TYPE_RITUAL
,
tp
,
tp
,
false
,
true
,
POS_FACEUP
)
c
:
CompleteProcedure
()
end
end
\ No newline at end of file
expansions/script/c16372035.lua
0 → 100644
View file @
9d811a0b
--启灵元神 未来战姬
function
c16372035
.
initial_effect
(
c
)
aux
.
EnablePendulumAttribute
(
c
)
--splimit
local
e0
=
Effect
.
CreateEffect
(
c
)
e0
:
SetType
(
EFFECT_TYPE_SINGLE
)
e0
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e0
:
SetCode
(
EFFECT_SPSUMMON_CONDITION
)
e0
:
SetValue
(
c16372035
.
splimit
)
c
:
RegisterEffect
(
e0
)
--special summon
local
e00
=
Effect
.
CreateEffect
(
c
)
e00
:
SetType
(
EFFECT_TYPE_FIELD
)
e00
:
SetCode
(
EFFECT_SPSUMMON_PROC
)
e00
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e00
:
SetRange
(
LOCATION_HAND
)
e00
:
SetCondition
(
c16372035
.
sprcon
)
e00
:
SetTarget
(
c16372035
.
sprtg
)
e00
:
SetOperation
(
c16372035
.
sprop
)
c
:
RegisterEffect
(
e00
)
--indes
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_INDESTRUCTABLE_COUNT
)
e1
:
SetRange
(
LOCATION_PZONE
)
e1
:
SetTargetRange
(
LOCATION_ONFIELD
,
0
)
e1
:
SetTarget
(
c16372035
.
indtg
)
e1
:
SetValue
(
c16372035
.
indct
)
c
:
RegisterEffect
(
e1
)
--spsummon
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e2
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e2
:
SetCode
(
EVENT_FREE_CHAIN
)
e2
:
SetRange
(
LOCATION_PZONE
)
e2
:
SetHintTiming
(
0
,
TIMINGS_CHECK_MONSTER
+
TIMING_ATTACK
+
TIMING_END_PHASE
)
e2
:
SetCountLimit
(
1
,
16372035
)
e2
:
SetCost
(
c16372035
.
scost
)
e2
:
SetTarget
(
c16372035
.
stg
)
e2
:
SetOperation
(
c16372035
.
sop
)
c
:
RegisterEffect
(
e2
)
--to deck
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
16372035
,
0
))
e3
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e3
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e3
:
SetCode
(
EVENT_FREE_CHAIN
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetHintTiming
(
0
,
TIMINGS_CHECK_MONSTER
+
TIMING_END_PHASE
)
e3
:
SetCountLimit
(
1
,
16372035
+
1
)
e3
:
SetCost
(
c16372035
.
spcost
)
e3
:
SetTarget
(
c16372035
.
sptg
)
e3
:
SetOperation
(
c16372035
.
spop
)
c
:
RegisterEffect
(
e3
)
--setself
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_F
)
e4
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e4
:
SetCode
(
EVENT_LEAVE_FIELD
)
e4
:
SetCountLimit
(
1
,
16372035
+
2
)
e4
:
SetCondition
(
c16372035
.
setscon
)
e4
:
SetTarget
(
c16372035
.
setstg
)
e4
:
SetOperation
(
c16372035
.
setsop
)
c
:
RegisterEffect
(
e4
)
--extra attack
local
e5
=
Effect
.
CreateEffect
(
c
)
e5
:
SetDescription
(
aux
.
Stringid
(
16372035
,
1
))
e5
:
SetCategory
(
CATEGORY_TOHAND
)
e5
:
SetType
(
EFFECT_TYPE_IGNITION
)
e5
:
SetRange
(
LOCATION_SZONE
)
e5
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e5
:
SetCountLimit
(
1
)
e5
:
SetCondition
(
c16372035
.
spellcon
)
e5
:
SetTarget
(
c16372035
.
attg
)
e5
:
SetOperation
(
c16372035
.
atop
)
c
:
RegisterEffect
(
e5
)
end
function
c16372035
.
sprlimit
(
e
,
se
,
sp
,
st
)
return
se
:
IsHasType
(
EFFECT_TYPE_ACTIONS
)
end
function
c16372035
.
sprcon
(
e
,
c
)
if
c
==
nil
then
return
true
end
return
Duel
.
GetLocationCount
(
c
:
GetControler
(),
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c16372035
.
sfilter
,
c
:
GetControler
(),
LOCATION_SZONE
,
0
,
3
,
c
)
end
function
c16372035
.
sprtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
c
)
local
g
=
Duel
.
GetMatchingGroup
(
c16372035
.
sfilter
,
tp
,
LOCATION_SZONE
,
0
,
c
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
sg
=
g
:
CancelableSelect
(
tp
,
3
,
3
,
nil
)
if
sg
then
sg
:
KeepAlive
()
e
:
SetLabelObject
(
sg
)
return
true
else
return
false
end
end
function
c16372035
.
sprop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
local
g
=
e
:
GetLabelObject
()
Duel
.
SendtoGrave
(
g
,
REASON_SPSUMMON
)
end
function
c16372035
.
indtg
(
e
,
c
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0xdc1
)
end
function
c16372035
.
indct
(
e
,
re
,
r
,
rp
)
if
bit
.
band
(
r
,
REASON_EFFECT
)
~=
0
then
return
1
else
return
0
end
end
function
c16372035
.
sfilter
(
c
)
return
c
:
IsSetCard
(
0xdc1
)
and
c
:
IsFaceup
()
and
c
:
IsAbleToGraveAsCost
()
and
c
:
GetOriginalType
()
&
0x1
>
0
and
c
:
GetSequence
()
<
5
end
function
c16372035
.
scost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c16372035
.
sfilter
,
tp
,
LOCATION_SZONE
,
0
,
3
,
c
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c16372035
.
sfilter
,
tp
,
LOCATION_SZONE
,
0
,
3
,
3
,
c
)
Duel
.
SendtoGrave
(
g
,
REASON_COST
)
end
function
c16372035
.
stg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
e
:
GetHandler
():
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
true
,
true
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
e
:
GetHandler
(),
1
,
0
,
0
)
end
function
c16372035
.
sop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToEffect
(
e
)
then
return
end
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
true
,
true
,
POS_FACEUP
)
c
:
CompleteProcedure
()
end
function
c16372035
.
spcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
c
:
GetBattledGroupCount
()
==
0
and
c
:
IsReleasable
()
end
Duel
.
Release
(
c
,
REASON_COST
)
end
function
c16372035
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsFaceupEx
()
and
c
:
IsSetCard
(
0xdc1
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
and
c
:
IsLevelAbove
(
1
)
end
function
c16372035
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
g
=
Duel
.
GetMatchingGroup
(
c16372035
.
spfilter
,
tp
,
LOCATION_GRAVE
+
LOCATION_REMOVED
,
0
,
nil
,
e
,
tp
)
if
chk
==
0
then
return
g
:
CheckWithSumEqual
(
Card
.
GetLevel
,
9
,
1
,
9
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_GRAVE
+
LOCATION_REMOVED
)
end
function
c16372035
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
c16372035
.
spfilter
),
tp
,
LOCATION_GRAVE
+
LOCATION_REMOVED
,
0
,
nil
,
e
,
tp
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
if
ft
<=
0
then
return
end
if
Duel
.
IsPlayerAffectedByEffect
(
tp
,
59822133
)
then
ft
=
1
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
g
:
SelectWithSumEqual
(
tp
,
Card
.
GetLevel
,
9
,
1
,
ft
)
if
sg
and
sg
:
GetCount
()
>
0
then
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
function
c16372035
.
setscon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsPreviousLocation
(
LOCATION_MZONE
)
end
function
c16372035
.
setstg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
end
function
c16372035
.
setsop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToEffect
(
e
)
or
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
<
1
then
return
end
if
Duel
.
MoveToField
(
c
,
tp
,
tp
,
LOCATION_SZONE
,
POS_FACEUP
,
true
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCode
(
EFFECT_CHANGE_TYPE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
-
RESET_TURN_SET
)
e1
:
SetValue
(
TYPE_SPELL
+
TYPE_CONTINUOUS
)
c
:
RegisterEffect
(
e1
)
end
end
function
c16372035
.
spellcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
GetType
()
==
TYPE_SPELL
+
TYPE_CONTINUOUS
and
aux
.
bpcon
(
e
)
end
function
c16372035
.
atfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0xdc1
)
end
function
c16372035
.
cspellfilter
(
c
)
return
c
:
GetType
()
&
(
TYPE_SPELL
+
TYPE_CONTINUOUS
)
==
TYPE_SPELL
+
TYPE_CONTINUOUS
and
c
:
IsFaceup
()
end
function
c16372035
.
attg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
local
g
=
Duel
.
GetMatchingGroup
(
c16372035
.
cspellfilter
,
tp
,
LOCATION_SZONE
,
0
,
nil
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsControler
(
tp
)
and
c16372035
.
tgfilter
(
chkc
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c16372035
.
atfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
and
e
:
GetHandler
():
IsAbleToHand
()
and
#
g
>
1
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
Duel
.
SelectTarget
(
tp
,
c16372035
.
atfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
e
:
GetHandler
(),
1
,
0
,
0
)
end
function
c16372035
.
atop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetMatchingGroup
(
c16372035
.
cspellfilter
,
tp
,
LOCATION_SZONE
,
0
,
nil
)
local
c
=
e
:
GetHandler
()
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsFaceup
()
then
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_EXTRA_ATTACK_MONSTER
)
e1
:
SetValue
(
#
g
-
1
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_END
)
tc
:
RegisterEffect
(
e1
)
if
c
:
IsRelateToEffect
(
e
)
then
Duel
.
BreakEffect
()
Duel
.
SendtoHand
(
c
,
nil
,
0x40
)
end
end
end
\ No newline at end of file
expansions/script/c16372040.lua
0 → 100644
View file @
9d811a0b
--花信物语 四季的誓言
function
c16372040
.
initial_effect
(
c
)
c
:
SetUniqueOnField
(
1
,
0
,
16372040
)
--activate
local
e0
=
Effect
.
CreateEffect
(
c
)
e0
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e0
:
SetCode
(
EVENT_FREE_CHAIN
)
c
:
RegisterEffect
(
e0
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
16372040
,
0
))
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetRange
(
LOCATION_SZONE
)
e1
:
SetCountLimit
(
1
,
16372040
)
e1
:
SetCondition
(
c16372040
.
condition
)
e1
:
SetCost
(
c16372040
.
costoath
)
e1
:
SetTarget
(
c16372040
.
target
)
e1
:
SetOperation
(
c16372040
.
activate
)
c
:
RegisterEffect
(
e1
)
--to field
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
16372040
,
1
))
e2
:
SetCategory
(
CATEGORY_LEAVE_GRAVE
)
e2
:
SetType
(
EFFECT_TYPE_IGNITION
)
e2
:
SetRange
(
LOCATION_SZONE
)
e2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetCountLimit
(
1
,
16372040
+
1
)
e2
:
SetCost
(
c16372040
.
costoath
)
e2
:
SetTarget
(
c16372040
.
target2
)
e2
:
SetOperation
(
c16372040
.
activate2
)
c
:
RegisterEffect
(
e2
)
Duel
.
AddCustomActivityCounter
(
16372040
,
ACTIVITY_SPSUMMON
,
c16372040
.
counterfilter
)
end
function
c16372040
.
counterfilter
(
c
)
return
c
:
IsRace
(
RACE_PLANT
)
end
function
c16372040
.
costoath
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetCustomActivityCount
(
16372040
,
tp
,
ACTIVITY_SPSUMMON
)
==
0
end
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
+
EFFECT_FLAG_OATH
)
e1
:
SetCode
(
EFFECT_CANNOT_SPECIAL_SUMMON
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
e1
:
SetTargetRange
(
1
,
0
)
e1
:
SetTarget
(
c16372040
.
splimitoath
)
Duel
.
RegisterEffect
(
e1
,
tp
)
end
function
c16372040
.
splimitoath
(
e
,
c
)
return
not
c
:
IsRace
(
RACE_PLANT
)
end
function
c16372040
.
cfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0xdc1
)
and
c
:
GetOriginalType
()
&
0x1
>
0
and
c
:
GetSequence
()
<
5
end
function
c16372040
.
condition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
IsExistingMatchingCard
(
c16372040
.
cfilter
,
tp
,
LOCATION_SZONE
,
0
,
3
,
nil
)
end
function
c16372040
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0xdc1
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
and
c
:
GetSequence
()
<
5
end
function
c16372040
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
and
Duel
.
IsExistingMatchingCard
(
c16372040
.
spfilter
,
tp
,
LOCATION_SZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
0
,
LOCATION_SZONE
)
end
function
c16372040
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c16372040
.
spfilter
,
tp
,
LOCATION_SZONE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
function
c16372040
.
filter
(
c
)
return
c
:
IsSetCard
(
0xdc1
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
not
c
:
IsForbidden
()
end
function
c16372040
.
target2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsControler
(
tp
)
and
chkc
:
IsLocation
(
LOCATION_GRAVE
)
and
c16372040
.
filter
(
chkc
)
end
if
chk
==
0
then
if
not
Duel
.
IsExistingTarget
(
c16372040
.
filter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
)
then
return
false
end
if
e
:
GetHandler
():
IsLocation
(
LOCATION_HAND
)
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
>
1
else
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
>
0
end
end
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
if
ft
>
2
then
ft
=
2
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOFIELD
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c16372040
.
filter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
ft
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_LEAVE_GRAVE
,
g
,
g
:
GetCount
(),
0
,
0
)
end
function
c16372040
.
activate2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
if
ft
<=
0
then
return
end
local
g
=
Duel
.
GetChainInfo
(
0
,
CHAININFO_TARGET_CARDS
)
local
sg
=
g
:
Filter
(
Card
.
IsRelateToEffect
,
nil
,
e
)
if
sg
:
GetCount
()
>
0
then
if
sg
:
GetCount
()
>
ft
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOFIELD
)
local
rg
=
sg
:
Select
(
tp
,
ft
,
ft
,
nil
)
sg
=
rg
end
local
tc
=
sg
:
GetFirst
()
while
tc
do
Duel
.
MoveToField
(
tc
,
tp
,
tp
,
LOCATION_SZONE
,
POS_FACEUP
,
true
)
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetCode
(
EFFECT_CHANGE_TYPE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
-
RESET_TURN_SET
)
e1
:
SetValue
(
TYPE_SPELL
+
TYPE_CONTINUOUS
)
tc
:
RegisterEffect
(
e1
)
tc
=
sg
:
GetNext
()
end
end
end
\ No newline at end of file
expansions/script/c16372045.lua
0 → 100644
View file @
9d811a0b
--花信物语 神启者
function
c16372045
.
initial_effect
(
c
)
--activate
local
e0
=
Effect
.
CreateEffect
(
c
)
e0
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e0
:
SetCode
(
EVENT_FREE_CHAIN
)
c
:
RegisterEffect
(
e0
)
--Activate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
16372045
,
0
))
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetRange
(
LOCATION_SZONE
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetCountLimit
(
1
,
16372045
)
e1
:
SetCost
(
c16372045
.
costoath
)
e1
:
SetTarget
(
c16372045
.
target
)
e1
:
SetOperation
(
c16372045
.
activate
)
c
:
RegisterEffect
(
e1
)
--copy
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
16372045
,
1
))
e2
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e2
:
SetCode
(
EVENT_FREE_CHAIN
)
e2
:
SetRange
(
LOCATION_SZONE
)
e2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetCountLimit
(
1
,
16372045
)
e2
:
SetHintTiming
(
TIMINGS_CHECK_MONSTER
+
TIMING_CHAIN_END
+
TIMING_END_PHASE
)
e2
:
SetCost
(
c16372045
.
costoath
)
e2
:
SetTarget
(
c16372045
.
target2
)
e2
:
SetOperation
(
c16372045
.
operation2
)
c
:
RegisterEffect
(
e2
)
Duel
.
AddCustomActivityCounter
(
16372045
,
ACTIVITY_SPSUMMON
,
c16372045
.
counterfilter
)
end
function
c16372045
.
counterfilter
(
c
)
return
c
:
IsRace
(
RACE_PLANT
)
end
function
c16372045
.
costoath
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetCustomActivityCount
(
16372045
,
tp
,
ACTIVITY_SPSUMMON
)
==
0
end
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
+
EFFECT_FLAG_OATH
)
e1
:
SetCode
(
EFFECT_CANNOT_SPECIAL_SUMMON
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
e1
:
SetTargetRange
(
1
,
0
)
e1
:
SetTarget
(
c16372045
.
splimitoath
)
Duel
.
RegisterEffect
(
e1
,
tp
)
end
function
c16372045
.
splimitoath
(
e
,
c
)
return
not
c
:
IsRace
(
RACE_PLANT
)
end
function
c16372045
.
setfilter
(
c
)
return
c
:
IsSetCard
(
0xdc1
)
and
not
c
:
IsForbidden
()
end
function
c16372045
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0xdc1
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
and
c
:
GetSequence
()
<
5
end
function
c16372045
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c16372045
.
setfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
>
0
and
Duel
.
IsExistingTarget
(
c16372045
.
spfilter
,
tp
,
LOCATION_SZONE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOFIELD
)
local
g1
=
Duel
.
SelectTarget
(
tp
,
c16372045
.
setfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
g2
=
Duel
.
SelectTarget
(
tp
,
c16372045
.
spfilter
,
tp
,
LOCATION_SZONE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
g1
:
Merge
(
g2
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
g2
,
1
,
0
,
0
)
end
function
c16372045
.
activate
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetTargetsRelateToChain
()
local
tc
=
g
:
Filter
(
Card
.
IsLocation
,
nil
,
LOCATION_MZONE
):
GetFirst
()
local
sc
=
g
:
Filter
(
Card
.
IsLocation
,
nil
,
LOCATION_SZONE
):
GetFirst
()
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
<
1
then
return
end
if
tc
and
Duel
.
MoveToField
(
tc
,
tp
,
tp
,
LOCATION_SZONE
,
POS_FACEUP
,
true
)
then
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetCode
(
EFFECT_CHANGE_TYPE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
-
RESET_TURN_SET
)
e1
:
SetValue
(
TYPE_SPELL
+
TYPE_CONTINUOUS
)
tc
:
RegisterEffect
(
e1
)
if
sc
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
then
Duel
.
SpecialSummon
(
sc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
end
function
c16372045
.
filter
(
c
)
return
c
:
IsType
(
0x6
)
and
c
:
IsSetCard
(
0xdc1
)
and
not
c
:
IsCode
(
16372045
)
and
c
:
CheckActivateEffect
(
false
,
true
,
false
)
~=
nil
end
function
c16372045
.
target2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
local
te
=
e
:
GetLabelObject
()
local
tg
=
te
:
GetTarget
()
return
tg
and
tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
0
,
chkc
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c16372045
.
filter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
)
end
e
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c16372045
.
filter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
local
te
,
ceg
,
cep
,
cev
,
cre
,
cr
,
crp
=
g
:
GetFirst
():
CheckActivateEffect
(
false
,
true
,
true
)
Duel
.
ClearTargetCard
()
g
:
GetFirst
():
CreateEffectRelation
(
e
)
local
tg
=
te
:
GetTarget
()
e
:
SetProperty
(
te
:
GetProperty
())
if
tg
then
tg
(
e
,
tp
,
ceg
,
cep
,
cev
,
cre
,
cr
,
crp
,
1
)
end
te
:
SetLabelObject
(
e
:
GetLabelObject
())
e
:
SetLabelObject
(
te
)
Duel
.
ClearOperationInfo
(
0
)
end
function
c16372045
.
operation2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
te
=
e
:
GetLabelObject
()
if
not
te
then
return
end
local
tc
=
te
:
GetHandler
()
if
not
tc
:
IsRelateToEffect
(
e
)
then
return
end
e
:
SetLabelObject
(
te
:
GetLabelObject
())
local
op
=
te
:
GetOperation
()
if
op
then
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
end
\ No newline at end of file
expansions/script/c17243036.lua
View file @
9d811a0b
...
@@ -52,6 +52,7 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -52,6 +52,7 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
local
e1
=
Effect
.
CreateEffect
(
tc
)
local
e1
=
Effect
.
CreateEffect
(
tc
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetReset
(
0
,
1
)
e1
:
SetValue
(
1000
)
e1
:
SetValue
(
1000
)
tc
:
RegisterEffect
(
e1
)
tc
:
RegisterEffect
(
e1
)
local
e2
=
e1
:
Clone
()
local
e2
=
e1
:
Clone
()
...
@@ -63,6 +64,7 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -63,6 +64,7 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
e4
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e4
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e4
:
SetRange
(
0xff
)
e4
:
SetRange
(
0xff
)
e4
:
SetCode
(
EFFECT_CANNOT_BE_EFFECT_TARGET
)
e4
:
SetCode
(
EFFECT_CANNOT_BE_EFFECT_TARGET
)
e4
:
SetReset
(
0
,
1
)
e4
:
SetValue
(
aux
.
tgoval
)
e4
:
SetValue
(
aux
.
tgoval
)
tc
:
RegisterEffect
(
e4
)
tc
:
RegisterEffect
(
e4
)
--no damage
--no damage
...
@@ -71,6 +73,7 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -71,6 +73,7 @@ function s.activate(e,tp,eg,ep,ev,re,r,rp)
e3
:
SetCode
(
EFFECT_AVOID_BATTLE_DAMAGE
)
e3
:
SetCode
(
EFFECT_AVOID_BATTLE_DAMAGE
)
e3
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e3
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetReset
(
0
,
1
)
e3
:
SetValue
(
1
)
e3
:
SetValue
(
1
)
tc
:
RegisterEffect
(
e3
)
tc
:
RegisterEffect
(
e3
)
tc
:
RegisterFlagEffect
(
id
,
0
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
0
,
aux
.
Stringid
(
id
,
0
))
tc
:
RegisterFlagEffect
(
id
,
0
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
0
,
aux
.
Stringid
(
id
,
0
))
...
...
expansions/script/c17243046.lua
View file @
9d811a0b
...
@@ -17,7 +17,7 @@ function s.initial_effect(c)
...
@@ -17,7 +17,7 @@ function s.initial_effect(c)
e2
:
SetRange
(
LOCATION_SZONE
)
e2
:
SetRange
(
LOCATION_SZONE
)
e2
:
SetTargetRange
(
LOCATION_MZONE
,
0
)
e2
:
SetTargetRange
(
LOCATION_MZONE
,
0
)
e2
:
SetTarget
(
s
.
tg
)
e2
:
SetTarget
(
s
.
tg
)
e2
:
SetValue
(
6
00
)
e2
:
SetValue
(
8
00
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
--immune
--immune
local
e3
=
Effect
.
CreateEffect
(
c
)
local
e3
=
Effect
.
CreateEffect
(
c
)
...
...
expansions/script/c18700007.lua
View file @
9d811a0b
...
@@ -47,6 +47,7 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -47,6 +47,7 @@ function cm.spop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
e
,
tp
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
g
:
GetCount
()
>
0
and
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
>
0
then
if
g
:
GetCount
()
>
0
and
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
>
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
if
Duel
.
GetMZoneCount
(
tp
,
c
)
<=
0
or
Duel
.
IsExistingMatchingCard
(
cm
.
filter3
,
tp
,
0
,
LOCATION_MZONE
,
1
,
nil
)
then
return
end
if
Duel
.
GetMZoneCount
(
tp
,
c
)
<=
0
or
Duel
.
IsExistingMatchingCard
(
cm
.
filter3
,
tp
,
0
,
LOCATION_MZONE
,
1
,
nil
)
then
return
end
if
Duel
.
IsExistingMatchingCard
(
aux
.
TRUE
,
tp
,
0
,
LOCATION_MZONE
,
1
,
nil
)
and
Duel
.
IsExistingMatchingCard
(
cm
.
filter2
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
,
e
,
tp
)
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
1
))
then
if
Duel
.
IsExistingMatchingCard
(
aux
.
TRUE
,
tp
,
0
,
LOCATION_MZONE
,
1
,
nil
)
and
Duel
.
IsExistingMatchingCard
(
cm
.
filter2
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
,
e
,
tp
)
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
1
))
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
...
...
expansions/script/c18700194.lua
View file @
9d811a0b
--奇物-55 神秘学教典仪
--奇物-55 神秘学教典仪
local
m
=
18700194
local
m
=
18700194
local
cm
=
_G
[
"c"
..
m
]
local
cm
=
_G
[
"c"
..
m
]
Duel
.
LoadScript
(
"1.lua"
)
xpcall
(
function
()
require
(
"expansions/script/1"
)
end
,
function
()
require
(
"script/1"
)
end
)
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e1
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
...
@@ -75,7 +75,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -75,7 +75,7 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
e3
:
SetCode
(
EFFECT_QP_ACT_IN_SET_TURN
)
e3
:
SetCode
(
EFFECT_QP_ACT_IN_SET_TURN
)
e3
:
SetTargetRange
(
LOCATION_SZONE
,
0
)
e3
:
SetTargetRange
(
LOCATION_SZONE
,
0
)
e3
:
Reset
(
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_END
,
2
)
e3
:
Reset
(
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_END
,
2
)
Duel
.
RegisterEffect
(
e
3
,
tp
)
Duel
.
RegisterEffect
(
e
2
,
tp
)
end
end
function
cm
.
tftg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
tftg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
>
0
end
if
chk
==
0
then
return
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
>
0
end
...
@@ -132,4 +132,4 @@ function cm.retop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -132,4 +132,4 @@ function cm.retop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
ConfirmCards
(
1
-
tp
,
c
)
Duel
.
ConfirmCards
(
1
-
tp
,
c
)
Duel
.
Recover
(
tp
,
500
,
REASON_EFFECT
)
Duel
.
Recover
(
tp
,
500
,
REASON_EFFECT
)
end
end
end
end
\ No newline at end of file
expansions/script/c18700544.lua
View file @
9d811a0b
...
@@ -114,10 +114,10 @@ function cm.effcon(e,tp,eg,ep,ev,re,r,rp)
...
@@ -114,10 +114,10 @@ function cm.effcon(e,tp,eg,ep,ev,re,r,rp)
return
eg
:
IsExists
(
cm
.
effilter
,
1
,
nil
,
tp
)
return
eg
:
IsExists
(
cm
.
effilter
,
1
,
nil
,
tp
)
end
end
function
cm
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
cm
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_
GRAVE
)
and
chkc
:
IsAbleToDeck
(
)
end
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_
MZONE
)
end
if
chk
==
0
then
return
true
end
if
chk
==
0
then
return
true
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_
TODECK
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_
OPERATECARD
)
local
g
=
Duel
.
SelectTarget
(
tp
,
cm
.
thfilter2
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectTarget
(
tp
,
cm
.
thfilter2
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
)
end
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
...
expansions/script/c18700548.lua
View file @
9d811a0b
...
@@ -136,7 +136,7 @@ function cm.target2(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -136,7 +136,7 @@ function cm.target2(e,tp,eg,ep,ev,re,r,rp,chk)
return
res
return
res
end
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
nil
,
1
,
tp
,
LOCATION_
ONFIELD
+
LOCATION_GRAV
E
+
LOCATION_REMOVED
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
nil
,
1
,
tp
,
LOCATION_
HAND
+
LOCATION_MZON
E
+
LOCATION_REMOVED
)
end
end
function
cm
.
activate2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
activate2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
tp
local
chkf
=
tp
...
...
expansions/script/c18700552.lua
View file @
9d811a0b
...
@@ -115,9 +115,9 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -115,9 +115,9 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
local
ec
=
re
:
GetHandler
()
local
ec
=
re
:
GetHandler
()
if
Duel
.
NegateActivation
(
ev
)
and
ec
:
IsRelateToEffect
(
re
)
then
if
Duel
.
NegateActivation
(
ev
)
and
ec
:
IsRelateToEffect
(
re
)
then
ec
:
CancelToGrave
()
ec
:
CancelToGrave
()
if
Duel
.
Remove
(
ec
,
POS_FACEUP
,
REASON_EFFECT
)
~=
0
and
ec
:
IsLocation
(
LOCATION_REMOVED
)
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
1
))
and
Duel
.
IsExistingMatchingCard
(
cm
.
cfilter
,
tp
,
0
,
LOCATION_MZONE
+
LOCATION_GRAVE
,
1
,
nil
)
then
if
Duel
.
Remove
(
ec
,
POS_FACEUP
,
REASON_EFFECT
)
~=
0
and
Duel
.
IsExistingMatchingCard
(
cm
.
cfilter
,
tp
,
LOCATION_DECK
+
LOCATION_EXTRA
,
0
,
1
,
nil
)
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
1
)
)
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
tc
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
cfilter
,
tp
,
LOCATION_DECK
+
LOCATION_
REMOVED
,
0
,
1
,
1
,
nil
):
GetFirst
()
local
tc
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
cfilter
,
tp
,
LOCATION_DECK
+
LOCATION_
EXTRA
,
0
,
1
,
1
,
nil
):
GetFirst
()
if
tc
then
if
tc
then
Duel
.
Remove
(
tc
,
POS_FACEUP
,
REASON_EFFECT
)
Duel
.
Remove
(
tc
,
POS_FACEUP
,
REASON_EFFECT
)
end
end
...
@@ -160,7 +160,7 @@ function cm.activate2(e,tp,eg,ep,ev,re,r,rp)
...
@@ -160,7 +160,7 @@ function cm.activate2(e,tp,eg,ep,ev,re,r,rp)
tc
:
RegisterEffect
(
e9
)
tc
:
RegisterEffect
(
e9
)
if
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
3
))
then
if
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
3
))
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
aux
.
Stringid
(
m
,
4
))
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
aux
.
Stringid
(
m
,
4
))
local
zc
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
cfilter
,
tp
,
0
,
LOCATION_MZONE
,
1
,
1
,
nil
):
GetFirst
()
local
zc
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
cfilter
,
tp
,
0
,
LOCATION_MZONE
+
LOCATION_GRAVE
,
1
,
1
,
nil
):
GetFirst
()
Duel
.
HintSelection
(
Group
.
FromCards
(
zc
))
Duel
.
HintSelection
(
Group
.
FromCards
(
zc
))
zc
:
RegisterFlagEffect
(
18700544
,
RESET_PHASE
+
PHASE_END
,
0
,
1
)
zc
:
RegisterFlagEffect
(
18700544
,
RESET_PHASE
+
PHASE_END
,
0
,
1
)
end
end
...
...
expansions/script/c23410007.lua
View file @
9d811a0b
...
@@ -110,5 +110,5 @@ function cm.tgop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -110,5 +110,5 @@ function cm.tgop(e,tp,eg,ep,ev,re,r,rp)
end
end
Duel
.
ShuffleDeck
(
tp
)
Duel
.
ShuffleDeck
(
tp
)
end
end
end
e
lse
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
e
nd
end
end
\ No newline at end of file
expansions/script/c52700700.lua
View file @
9d811a0b
...
@@ -15,10 +15,9 @@ function s.x(c)
...
@@ -15,10 +15,9 @@ function s.x(c)
--add illusionist
--add illusionist
local
e3
=
Effect
.
CreateEffect
(
c
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
2
)
e3
:
SetDescription
(
2
)
e3
:
SetCategory
(
CATEGORY_
SEARCH
+
CATEGORY_TOHAND
+
CATEGORY_TOGRAVE
)
e3
:
SetCategory
(
CATEGORY_
TOHAND
+
CATEGORY_SPECIAL_SUMMON
+
CATEGORY_GRAVE_SPSUMMON
+
CATEGORY_GRAVE_ACTION
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetCode
(
EVENT_BE_MATERIAL
)
e3
:
SetCode
(
EVENT_LEAVE_FIELD
)
e3
:
SetCountLimit
(
1
,
id
)
e3
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e3
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e3
:
SetCondition
(
s
.
drcon1
)
e3
:
SetCondition
(
s
.
drcon1
)
e3
:
SetTarget
(
s
.
drtg
)
e3
:
SetTarget
(
s
.
drtg
)
...
@@ -37,7 +36,6 @@ function s.drfilter(c,e,tp)
...
@@ -37,7 +36,6 @@ function s.drfilter(c,e,tp)
end
end
function
s
.
drtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
s
.
drtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
s
.
drfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
end
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
s
.
drfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_GRAVE
)
end
end
function
s
.
drop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
drop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SELECT
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SELECT
)
...
...
expansions/script/c52700706.lua
View file @
9d811a0b
...
@@ -31,16 +31,19 @@ end
...
@@ -31,16 +31,19 @@ end
function
s
.
opcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
opcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
s
.
opcfilter
,
1
,
nil
)
return
eg
:
IsExists
(
s
.
opcfilter
,
1
,
nil
)
end
end
function
s
.
opfilter
(
c
)
return
c
:
IsAbleToDeck
()
and
c
:
IsFaceupEx
()
end
function
s
.
optg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
s
.
optg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsPlayerCanDraw
(
tp
,
1
)
if
chk
==
0
then
return
Duel
.
IsPlayerCanDraw
(
tp
,
1
)
and
Duel
.
IsExistingMatchingCard
(
Card
.
IsAbleToDeck
,
tp
,
LOCATION_GRAVE
,
LOCATION_GRAVE
,
1
,
nil
)
end
and
Duel
.
IsExistingMatchingCard
(
s
.
opfilter
,
tp
,
LOCATION_GRAVE
+
LOCATION_REMOVED
,
LOCATION_GRAVE
+
LOCATION_REMOVED
,
1
,
nil
)
end
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsAbleToDeck
,
tp
,
LOCATION_GRAVE
,
LOCATION_GRAVE
,
nil
)
local
g
=
Duel
.
GetMatchingGroup
(
s
.
opfilter
,
tp
,
LOCATION_GRAVE
+
LOCATION_REMOVED
,
LOCATION_GRAVE
+
LOCATION_REMOVED
,
nil
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
g
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
nil
,
1
,
tp
,
LOCATION_GRAVE
+
LOCATION_REMOVED
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DRAW
,
nil
,
0
,
tp
,
1
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DRAW
,
nil
,
0
,
tp
,
1
)
end
end
function
s
.
opop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
s
.
opop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
Card
.
IsAbleToDeck
,
tp
,
LOCATION_GRAVE
,
LOCATION_GRAVE
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
s
.
opfilter
),
tp
,
LOCATION_GRAVE
+
LOCATION_REMOVED
,
LOCATION_GRAVE
+
LOCATION_REMOVED
,
1
,
1
,
nil
)
if
g
:
GetCount
()
>
0
and
Duel
.
SendtoDeck
(
g
,
nil
,
SEQ_DECKBOTTOM
,
REASON_EFFECT
)
~=
0
then
if
g
:
GetCount
()
>
0
and
Duel
.
SendtoDeck
(
g
,
nil
,
SEQ_DECKBOTTOM
,
REASON_EFFECT
)
~=
0
then
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
...
...
expansions/script/c81902106 (1).lua
0 → 100644
View file @
9d811a0b
--TC.105 隐匿于幕后的禁忌门扉 摩多罗隐岐奈
local
m
=
81902106
local
cm
=
_G
[
"c"
..
m
]
Duel
.
LoadScript
(
"Yakumonue.lua"
)
cm
.
TC_number
=
105
function
cm
.
initial_effect
(
c
)
aux
.
AddCodeList
(
c
,
81902000
)
--xyz summon
aux
.
AddXyzProcedure
(
c
,
nil
,
8
,
3
,
cm
.
ovfilter
,
aux
.
Stringid
(
m
,
0
),
3
,
cm
.
xyzop
)
c
:
EnableReviveLimit
()
--exsummon
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
m
,
1
))
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
+
CATEGORY_GRAVE_SPSUMMON
)
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetCountLimit
(
1
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCost
(
cm
.
cost
)
e1
:
SetTarget
(
cm
.
target
)
e1
:
SetOperation
(
cm
.
operation
)
c
:
RegisterEffect
(
e1
)
--remove
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
m
,
2
))
e2
:
SetCategory
(
CATEGORY_REMOVE
)
e2
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e2
:
SetCode
(
EVENT_FREE_CHAIN
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetHintTiming
(
0
,
TIMINGS_CHECK_MONSTER
+
TIMING_END_PHASE
)
e2
:
SetCost
(
cm
.
rmcost
)
e2
:
SetTarget
(
cm
.
rmtg
)
e2
:
SetOperation
(
cm
.
rmop
)
c
:
RegisterEffect
(
e2
)
end
--xyz Summon
function
cm
.
ovfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_XYZ
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsSetCard
(
0x851
)
and
c
:
IsAttackAbove
(
2400
)
end
function
cm
.
xyzop
(
e
,
tp
,
chk
)
if
chk
==
0
then
return
Duel
.
GetFlagEffect
(
tp
,
m
)
==
0
end
Duel
.
RegisterFlagEffect
(
tp
,
m
,
RESET_PHASE
+
PHASE_END
,
EFFECT_FLAG_OATH
,
1
)
end
--xyz summon
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
CheckRemoveOverlayCard
(
tp
,
1
,
REASON_COST
)
end
local
g1
=
e
:
GetHandler
():
GetOverlayGroup
()
e
:
GetHandler
():
RemoveOverlayCard
(
tp
,
1
,
1
,
REASON_COST
)
local
g2
=
e
:
GetHandler
():
GetOverlayGroup
()
local
tc
=
g2
:
GetFirst
()
while
tc
do
g1
:
RemoveCard
(
tc
)
tc
=
g2
:
GetNext
()
end
g1
:
KeepAlive
()
e
:
SetLabelObject
(
g1
)
end
function
cm
.
filter1
(
c
,
e
,
tp
)
return
c
:
IsRank
(
5
)
and
c
:
IsAttack
(
2500
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_XYZ
,
tp
,
false
,
false
)
end
function
cm
.
filter2
(
c
)
return
c
:
IsCanOverlay
()
end
function
cm
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
aux
.
NecroValleyFilter
(
cm
.
filter1
),
tp
,
LOCATION_EXTRA
+
LOCATION_GRAVE
,
0
,
1
,
nil
,
e
,
tp
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
end
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g1
=
e
:
GetLabelObject
():
Filter
(
cm
.
filter2
,
nil
)
local
g
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
cm
.
filter1
),
tp
,
LOCATION_EXTRA
+
LOCATION_GRAVE
,
0
,
nil
,
e
,
tp
)
g
:
Sub
(
g1
)
if
#
g
>
0
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
then
Duel
.
Hint
(
HINTMSG_SELECT
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
sg
:
GetFirst
()
if
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_XYZ
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
then
tc
:
CompleteProcedure
()
-- Return it to the Extra Deck during the End Phase
local
e4
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e4
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e4
:
SetCode
(
EVENT_PHASE
+
PHASE_END
)
e4
:
SetCountLimit
(
1
)
e4
:
SetProperty
(
EFFECT_FLAG_IGNORE_IMMUNE
)
e4
:
SetLabelObject
(
tc
)
e4
:
SetCondition
(
cm
.
tdcon
)
e4
:
SetOperation
(
cm
.
tdop
)
Duel
.
RegisterEffect
(
e4
,
tp
)
tc
:
RegisterFlagEffect
(
m
+
100
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
Duel
.
Hint
(
HINTMSG_SELECT
,
tp
,
HINTMSG_XMATERIAL
)
local
oc
=
g1
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
if
oc
:
IsCanOverlay
()
then
Duel
.
Overlay
(
tc
,
oc
)
end
end
end
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e1
:
SetCode
(
EFFECT_CANNOT_SPECIAL_SUMMON
)
e1
:
SetTargetRange
(
1
,
0
)
e1
:
SetTarget
(
cm
.
splimit
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e1
,
tp
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_CONTINUOUS
+
EFFECT_TYPE_FIELD
)
e2
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e2
:
SetOperation
(
cm
.
checkop
)
e2
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e2
,
tp
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
)
e3
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e3
:
SetCode
(
m
)
e3
:
SetTargetRange
(
1
,
0
)
e3
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e3
,
tp
)
end
function
cm
.
tdcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
e
:
GetLabelObject
()
if
not
tc
or
tc
:
GetFlagEffect
(
m
+
100
)
==
0
then
e
:
Reset
()
return
false
end
return
true
end
function
cm
.
tdop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
e
:
GetLabelObject
()
if
tc
then
Duel
.
SendtoDeck
(
tc
,
nil
,
SEQ_DECKSHUFFLE
,
REASON_EFFECT
)
end
end
function
cm
.
splimit
(
e
,
c
,
sump
,
sumtype
,
sumpos
,
targetp
,
se
)
return
c
:
IsLocation
(
LOCATION_EXTRA
)
and
aux
.
ExtraDeckSummonCountLimit
[
sump
]
<=
0
end
function
cm
.
cfilter
(
c
,
tp
)
return
c
:
IsSummonPlayer
(
tp
)
and
c
:
IsPreviousLocation
(
LOCATION_EXTRA
)
end
function
cm
.
checkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
eg
:
IsExists
(
cm
.
cfilter
,
1
,
nil
,
tp
)
then
aux
.
ExtraDeckSummonCountLimit
[
tp
]
=
aux
.
ExtraDeckSummonCountLimit
[
tp
]
-
1
end
if
eg
:
IsExists
(
cm
.
cfilter
,
1
,
nil
,
1
-
tp
)
then
aux
.
ExtraDeckSummonCountLimit
[
1
-
tp
]
=
aux
.
ExtraDeckSummonCountLimit
[
1
-
tp
]
-
1
end
end
--Remove
function
cm
.
rmcost
(
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
)
end
function
cm
.
rmfilter
(
c
)
return
c
:
IsAbleToRemove
()
and
c
:
IsFaceup
()
end
function
cm
.
rmtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
cm
.
rmfilter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_REMOVE
,
nil
,
1
,
0
,
0
)
end
function
cm
.
rmop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
g
=
Duel
.
GetMatchingGroup
(
cm
.
rmfilter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
nil
)
if
#
g
>
0
then
Duel
.
Hint
(
HINTMSG_SELECT
,
tp
,
HINTMSG_REMOVE
)
local
tc
=
g
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
local
atk
=
tc
:
GetAttack
()
local
mg
=
tc
:
GetOverlayGroup
()
for
rc
in
aux
.
Next
(
mg
)
do
Duel
.
Remove
(
rc
,
POS_FACEUP
,
REASON_EFFECT
)
local
e1_1
=
Effect
.
CreateEffect
(
c
)
e1_1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1_1
:
SetCode
(
EFFECT_CANNOT_TRIGGER
)
e1_1
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e1_1
:
SetRange
(
LOCATION_REMOVED
)
e1_1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
rc
:
RegisterEffect
(
e1_1
)
end
if
Duel
.
Remove
(
tc
,
0
,
REASON_EFFECT
+
REASON_TEMPORARY
)
~=
0
and
tc
:
IsLocation
(
LOCATION_REMOVED
)
then
local
fid
=
tc
:
GetFieldID
()
for
rc
in
aux
.
Next
(
mg
)
do
rc
:
RegisterFlagEffect
(
m
+
300
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
,
fid
)
end
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetDescription
(
aux
.
Stringid
(
m
,
2
))
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetCode
(
EVENT_PHASE
+
PHASE_STANDBY
)
e1
:
SetLabelObject
(
tc
)
e1
:
SetLabel
(
atk
)
e1
:
SetCountLimit
(
1
)
e1
:
SetCondition
(
cm
.
retcon
)
e1
:
SetOperation
(
cm
.
retop
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
,
2
)
tc
:
RegisterFlagEffect
(
m
+
200
,
RESET_PHASE
+
PHASE_STANDBY
+
RESET_SELF_TURN
,
0
,
1
)
Duel
.
RegisterEffect
(
e1
,
tp
)
end
end
end
function
cm
.
retcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetLabelObject
():
GetFlagEffect
(
m
+
200
)
~=
0
and
e
:
GetLabelObject
():
IsLocation
(
LOCATION_REMOVED
)
end
function
cm
.
xfilter
(
c
,
fid
)
return
c
:
IsLocation
(
LOCATION_REMOVED
)
and
c
:
IsCanOverlay
()
and
c
:
GetFlagEffectLabel
(
m
+
300
)
==
fid
end
function
cm
.
retop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
e
:
GetLabelObject
()
local
atk
=
e
:
GetLabel
()
local
mg
=
Duel
.
GetMatchingGroup
(
cm
.
xfilter
,
tp
,
LOCATION_REMOVED
,
LOCATION_REMOVED
,
nil
,
tc
:
GetFieldID
())
Duel
.
ReturnToField
(
tc
)
if
#
mg
>
0
then
Duel
.
Overlay
(
tc
,
mg
)
end
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_SET_ATTACK_FINAL
)
e1
:
SetValue
(
atk
*
2
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
tc
:
RegisterEffect
(
e1
)
local
e3
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e3
:
SetType
(
EFFECT_TYPE_SINGLE
)
e3
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
+
EFFECT_FLAG_CANNOT_DISABLE
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetCode
(
EFFECT_IMMUNE_EFFECT
)
e3
:
SetValue
(
cm
.
efilter
)
e3
:
SetReset
(
RESET_EVENT
+
0x1fe0000
+
RESET_PHASE
+
PHASE_END
)
tc
:
RegisterEffect
(
e3
)
tc
:
RegisterFlagEffect
(
m
,
RESET_PHASE
+
PHASE_END
+
RESET_EVENT
+
RESETS_STANDARD
+
RESET_DISABLE
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
0
,
aux
.
Stringid
(
m
,
3
))
end
function
cm
.
efilter
(
e
,
te
)
return
te
:
GetOwnerPlayer
()
~=
e
:
GetOwnerPlayer
()
end
expansions/script/c81902106.lua
View file @
9d811a0b
...
@@ -74,7 +74,8 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -74,7 +74,8 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Hint
(
HINTMSG_SELECT
,
tp
,
HINTMSG_SPSUMMON
)
Duel
.
Hint
(
HINTMSG_SELECT
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
sg
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
sg
:
GetFirst
()
local
tc
=
sg
:
GetFirst
()
if
Duel
.
SpecialSummon
(
sg
,
SUMMON_TYPE_XYZ
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
then
if
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_XYZ
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
then
tc
:
CompleteProcedure
()
-- Return it to the Extra Deck during the End Phase
-- Return it to the Extra Deck during the End Phase
local
e4
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
local
e4
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e4
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e4
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
...
@@ -93,27 +94,31 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -93,27 +94,31 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
end
end
end
end
end
end
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e1
:
SetCode
(
EFFECT_CANNOT_SPECIAL_SUMMON
)
e1
:
SetTargetRange
(
1
,
0
)
e1
:
SetTarget
(
cm
.
splimit
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e1
,
tp
)
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_CONTINUOUS
+
EFFECT_TYPE_FIELD
)
e2
:
SetType
(
EFFECT_TYPE_CONTINUOUS
+
EFFECT_TYPE_FIELD
)
e2
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e2
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e2
:
SetOperation
(
cm
.
checkop
)
e2
:
SetOperation
(
cm
.
checkop
)
e2
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
e2
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e2
,
tp
)
Duel
.
RegisterEffect
(
e2
,
tp
)
local
e3
=
Effect
.
CreateEffect
(
c
)
end
e3
:
SetType
(
EFFECT_TYPE_FIELD
)
function
cm
.
cfilter
(
c
,
tp
)
e3
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
return
c
:
GetSummonPlayer
()
==
tp
and
c
:
IsPreviousLocation
(
LOCATION_EXTRA
)
e3
:
SetCode
(
m
)
end
e3
:
SetTargetRange
(
1
,
0
)
function
cm
.
checkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
e3
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
local
c
=
e
:
GetHandler
()
Duel
.
RegisterEffect
(
e3
,
tp
)
if
eg
:
IsExists
(
cm
.
cfilter
,
1
,
nil
,
tp
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e1
:
SetCode
(
EFFECT_CANNOT_SPECIAL_SUMMON
)
e1
:
SetTargetRange
(
1
,
0
)
e1
:
SetTarget
(
cm
.
splimit
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e1
,
tp
)
end
end
function
cm
.
splimit
(
e
,
c
)
return
c
:
IsLocation
(
LOCATION_EXTRA
)
end
end
function
cm
.
tdcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
tdcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
e
:
GetLabelObject
()
local
tc
=
e
:
GetLabelObject
()
...
@@ -129,20 +134,6 @@ function cm.tdop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -129,20 +134,6 @@ function cm.tdop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
SendtoDeck
(
tc
,
nil
,
SEQ_DECKSHUFFLE
,
REASON_EFFECT
)
Duel
.
SendtoDeck
(
tc
,
nil
,
SEQ_DECKSHUFFLE
,
REASON_EFFECT
)
end
end
end
end
function
cm
.
splimit
(
e
,
c
,
sump
,
sumtype
,
sumpos
,
targetp
,
se
)
return
c
:
IsLocation
(
LOCATION_EXTRA
)
and
aux
.
ExtraDeckSummonCountLimit
[
sump
]
<=
0
end
function
cm
.
cfilter
(
c
,
tp
)
return
c
:
IsSummonPlayer
(
tp
)
and
c
:
IsPreviousLocation
(
LOCATION_EXTRA
)
end
function
cm
.
checkop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
eg
:
IsExists
(
cm
.
cfilter
,
1
,
nil
,
tp
)
then
aux
.
ExtraDeckSummonCountLimit
[
tp
]
=
aux
.
ExtraDeckSummonCountLimit
[
tp
]
-
1
end
if
eg
:
IsExists
(
cm
.
cfilter
,
1
,
nil
,
1
-
tp
)
then
aux
.
ExtraDeckSummonCountLimit
[
1
-
tp
]
=
aux
.
ExtraDeckSummonCountLimit
[
1
-
tp
]
-
1
end
end
--Remove
--Remove
function
cm
.
rmcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
rmcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
CheckRemoveOverlayCard
(
tp
,
1
,
REASON_COST
)
end
if
chk
==
0
then
return
e
:
GetHandler
():
CheckRemoveOverlayCard
(
tp
,
1
,
REASON_COST
)
end
...
...
expansions/script/c81905002.lua
View file @
9d811a0b
...
@@ -18,8 +18,9 @@ function cm.initial_effect(c)
...
@@ -18,8 +18,9 @@ function cm.initial_effect(c)
e2
:
SetCategory
(
CATEGORY_SEARCH
+
CATEGORY_TOHAND
)
e2
:
SetCategory
(
CATEGORY_SEARCH
+
CATEGORY_TOHAND
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetCode
(
EVENT_TO_GRAVE
)
e2
:
SetCode
(
EVENT_TO_GRAVE
)
e2
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e2
:
SetProperty
(
EFFECT_FLAG_D
AMAGE_STEP
+
EFFECT_FLAG_D
ELAY
)
e2
:
SetCountLimit
(
1
,
m
+
100
)
e2
:
SetCountLimit
(
1
,
m
+
100
)
e2
:
SetCondition
(
cm
.
spcon
)
e2
:
SetTarget
(
cm
.
sptg
)
e2
:
SetTarget
(
cm
.
sptg
)
e2
:
SetOperation
(
cm
.
spop
)
e2
:
SetOperation
(
cm
.
spop
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
...
@@ -51,6 +52,10 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -51,6 +52,10 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
SpecialSummon
(
c
,
SUMMON_VALUE_SELF
,
tp
,
tp
,
true
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
c
,
SUMMON_VALUE_SELF
,
tp
,
tp
,
true
,
false
,
POS_FACEUP
)
end
end
--tohand
--tohand
function
cm
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
c
:
IsPreviousLocation
(
LOCATION_MZONE
)
and
c
:
IsPreviousPosition
(
POS_FACEUP
)
end
function
cm
.
spfilter
(
c
,
e
,
tp
)
function
cm
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsAbleToHand
()
and
c
:
IsSetCard
(
0x3596
)
and
c
:
IsType
(
TYPE_MONSTER
)
return
c
:
IsAbleToHand
()
and
c
:
IsSetCard
(
0x3596
)
and
c
:
IsType
(
TYPE_MONSTER
)
end
end
...
...
expansions/script/c81905017.lua
View file @
9d811a0b
...
@@ -57,7 +57,7 @@ function cm.repfilter(c)
...
@@ -57,7 +57,7 @@ function cm.repfilter(c)
return
c
:
IsSetCard
(
0x5596
)
and
c
:
IsType
(
TYPE_TRAP
)
and
c
:
IsType
(
TYPE_CONTINUOUS
)
and
c
:
CheckActivateEffect
(
false
,
true
,
false
)
~=
nil
return
c
:
IsSetCard
(
0x5596
)
and
c
:
IsType
(
TYPE_TRAP
)
and
c
:
IsType
(
TYPE_CONTINUOUS
)
and
c
:
CheckActivateEffect
(
false
,
true
,
false
)
~=
nil
end
end
function
cm
.
repcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
repcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetTurnPlayer
()
==
tp
and
Duel
.
IsExistingMatchingCard
(
cm
.
repfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
)
and
Duel
.
GetFlagEffect
(
tp
,
m
)
==
0
return
Duel
.
GetTurnPlayer
()
==
tp
and
Duel
.
IsExistingMatchingCard
(
cm
.
repfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
)
end
end
function
cm
.
repop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
repop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
...
@@ -74,6 +74,5 @@ function cm.repop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -74,6 +74,5 @@ function cm.repop(e,tp,eg,ep,ev,re,r,rp)
e
:
SetLabelObject
(
te
)
e
:
SetLabelObject
(
te
)
local
op
=
te
:
GetOperation
()
local
op
=
te
:
GetOperation
()
if
op
then
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
if
op
then
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
end
Duel
.
RegisterFlagEffect
(
tp
,
m
,
RESET_PHASE
+
PHASE_END
,
0
,
1
)
end
end
end
end
\ No newline at end of file
expansions/script/c81905018.lua
View file @
9d811a0b
...
@@ -12,6 +12,15 @@ function cm.initial_effect(c)
...
@@ -12,6 +12,15 @@ function cm.initial_effect(c)
e1
:
SetTarget
(
cm
.
target
)
e1
:
SetTarget
(
cm
.
target
)
e1
:
SetOperation
(
cm
.
activate
)
e1
:
SetOperation
(
cm
.
activate
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
--recall
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
m
,
6
))
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e2
:
SetCode
(
EVENT_FREE_CHAIN
)
e2
:
SetRange
(
LOCATION_FZONE
)
e2
:
SetCondition
(
cm
.
recon
)
e2
:
SetOperation
(
cm
.
reop
)
c
:
RegisterEffect
(
e2
)
--Reset
--Reset
local
e3
=
Effect
.
CreateEffect
(
c
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
m
,
4
))
e3
:
SetDescription
(
aux
.
Stringid
(
m
,
4
))
...
@@ -103,16 +112,6 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -103,16 +112,6 @@ function cm.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
sg
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
end
end
--recall
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
m
,
6
))
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e2
:
SetCode
(
EVENT_FREE_CHAIN
)
e2
:
SetRange
(
LOCATION_FZONE
)
e2
:
SetCondition
(
cm
.
recon
)
e2
:
SetOperation
(
cm
.
reop
)
e2
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
c
:
RegisterEffect
(
e2
)
end
end
--recall
--recall
function
cm
.
recon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
recon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
...
expansions/script/c81905020.lua
View file @
9d811a0b
...
@@ -84,23 +84,12 @@ function cm.disable(e,c)
...
@@ -84,23 +84,12 @@ function cm.disable(e,c)
end
end
--disable effect
--disable effect
function
cm
.
discon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
discon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
Get
Controler
():
Get
FlagEffect
(
m
)
<
1
return
e
:
GetHandler
():
GetFlagEffect
(
m
)
<
1
end
end
function
cm
.
disop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
disop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
IsChainNegatable
(
ev
)
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
2
))
then
if
Duel
.
IsChainNegatable
(
ev
)
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
2
))
then
Duel
.
Hint
(
HINT_CARD
,
0
,
m
)
Duel
.
Hint
(
HINT_CARD
,
0
,
m
)
Duel
.
NegateEffect
(
ev
)
Duel
.
NegateEffect
(
ev
)
Duel
.
RegisterFlagEffect
(
tp
,
m
,
RESET_PHASE
+
PHASE_END
,
0
,
1
)
e
:
GetHandler
():
RegisterFlagEffect
(
m
,
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_END
,
0
,
0
)
end
end
end
end
\ No newline at end of file
expansions/strings.conf
View file @
9d811a0b
...
@@ -346,6 +346,7 @@
...
@@ -346,6 +346,7 @@
!
setname
0
xdc4
阿尔法兽
!
setname
0
xdc4
阿尔法兽
!
counter
0
xdc0
神耀指示物
!
counter
0
xdc0
神耀指示物
!
counter
0
xdc1
辛指示物
!
counter
0
xdc1
辛指示物
!
counter
3
dc1
神印指示物
#真正的光 3303217899 164 0xce0-0xcef
#真正的光 3303217899 164 0xce0-0xcef
!
setname
0
xce2
Geass
!
setname
0
xce2
Geass
...
...
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