Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
ygopro-scripts-888
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
5
Merge Requests
5
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
MyCard
ygopro-scripts-888
Commits
55efae7c
Commit
55efae7c
authored
Mar 20, 2023
by
Chrono-Genex
Committed by
GitHub
Mar 20, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update EFFECT_EXTRA_SYNCHRO_MATERIAL (#2042)
parent
0625cf0f
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
32 additions
and
13 deletions
+32
-13
c14507213.lua
c14507213.lua
+4
-4
c16769305.lua
c16769305.lua
+5
-3
c62899696.lua
c62899696.lua
+4
-2
constant.lua
constant.lua
+1
-1
utility.lua
utility.lua
+18
-3
No files found.
c14507213.lua
View file @
55efae7c
...
@@ -34,13 +34,13 @@ function c14507213.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -34,13 +34,13 @@ function c14507213.activate(e,tp,eg,ep,ev,re,r,rp)
if
tc
and
tc
:
IsRelateToEffect
(
e
)
then
if
tc
and
tc
:
IsRelateToEffect
(
e
)
then
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_SYNCHRO_MATERIAL
)
e1
:
SetCode
(
EFFECT_
EXTRA_
SYNCHRO_MATERIAL
)
e1
:
SetOwnerPlayer
(
tp
)
e1
:
SetOwnerPlayer
(
tp
)
e1
:
Set
Condition
(
c14507213
.
matcon
)
e1
:
Set
Value
(
c14507213
.
matval
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_END
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_END
)
tc
:
RegisterEffect
(
e1
)
tc
:
RegisterEffect
(
e1
)
end
end
end
end
function
c14507213
.
mat
con
(
e
)
function
c14507213
.
mat
val
(
e
,
c
)
return
e
:
GetHandler
():
IsControler
(
1
-
e
:
GetOwnerPlayer
())
return
c
:
IsControler
(
e
:
GetOwnerPlayer
())
end
end
c16769305.lua
View file @
55efae7c
--魔界造車
-
GT19
--魔界造車
-
GT19
local
s
,
id
,
o
=
GetID
()
local
s
,
id
,
o
=
GetID
()
function
s
.
initial_effect
(
c
)
function
s
.
initial_effect
(
c
)
--flip
--flip
...
@@ -62,7 +62,8 @@ function s.filter(tc,c,tp)
...
@@ -62,7 +62,8 @@ function s.filter(tc,c,tp)
if
not
tc
:
IsFaceup
()
or
not
tc
:
IsCanBeSynchroMaterial
()
then
return
false
end
if
not
tc
:
IsFaceup
()
or
not
tc
:
IsCanBeSynchroMaterial
()
then
return
false
end
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_SYNCHRO_MATERIAL
)
e1
:
SetCode
(
EFFECT_EXTRA_SYNCHRO_MATERIAL
)
e1
:
SetValue
(
1
)
tc
:
RegisterEffect
(
e1
,
true
)
tc
:
RegisterEffect
(
e1
,
true
)
local
mg
=
Group
.
FromCards
(
c
,
tc
)
local
mg
=
Group
.
FromCards
(
c
,
tc
)
local
res
=
Duel
.
IsExistingMatchingCard
(
s
.
synfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
mg
)
local
res
=
Duel
.
IsExistingMatchingCard
(
s
.
synfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
mg
)
...
@@ -87,7 +88,8 @@ function s.synop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -87,7 +88,8 @@ function s.synop(e,tp,eg,ep,ev,re,r,rp)
and
tc
:
IsFaceup
()
and
tc
:
IsRelateToEffect
(
e
)
and
not
tc
:
IsImmuneToEffect
(
e
)
then
and
tc
:
IsFaceup
()
and
tc
:
IsRelateToEffect
(
e
)
and
not
tc
:
IsImmuneToEffect
(
e
)
then
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_SYNCHRO_MATERIAL
)
e1
:
SetCode
(
EFFECT_EXTRA_SYNCHRO_MATERIAL
)
e1
:
SetValue
(
1
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
tc
:
RegisterEffect
(
e1
)
tc
:
RegisterEffect
(
e1
)
local
mg
=
Group
.
FromCards
(
c
,
tc
)
local
mg
=
Group
.
FromCards
(
c
,
tc
)
...
...
c62899696.lua
View file @
55efae7c
...
@@ -36,7 +36,8 @@ function c62899696.filter(tc,c,tp)
...
@@ -36,7 +36,8 @@ function c62899696.filter(tc,c,tp)
c
:
RegisterFlagEffect
(
62899696
,
0
,
0
,
1
)
c
:
RegisterFlagEffect
(
62899696
,
0
,
0
,
1
)
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_SYNCHRO_MATERIAL
)
e1
:
SetCode
(
EFFECT_EXTRA_SYNCHRO_MATERIAL
)
e1
:
SetValue
(
1
)
tc
:
RegisterEffect
(
e1
,
true
)
tc
:
RegisterEffect
(
e1
,
true
)
local
mg
=
Group
.
FromCards
(
c
,
tc
)
local
mg
=
Group
.
FromCards
(
c
,
tc
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c62899696
.
synfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
mg
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c62899696
.
synfilter
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
mg
)
...
@@ -62,7 +63,8 @@ function c62899696.spop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -62,7 +63,8 @@ function c62899696.spop(e,tp,eg,ep,ev,re,r,rp)
c
:
RegisterFlagEffect
(
62899696
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
c
:
RegisterFlagEffect
(
62899696
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_SYNCHRO_MATERIAL
)
e1
:
SetCode
(
EFFECT_EXTRA_SYNCHRO_MATERIAL
)
e1
:
SetValue
(
1
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
tc
:
RegisterEffect
(
e1
)
tc
:
RegisterEffect
(
e1
)
local
mg
=
Group
.
FromCards
(
c
,
tc
)
local
mg
=
Group
.
FromCards
(
c
,
tc
)
...
...
constant.lua
View file @
55efae7c
...
@@ -492,7 +492,7 @@ EFFECT_TOSS_COIN_REPLACE =220 --重新抛硬币
...
@@ -492,7 +492,7 @@ EFFECT_TOSS_COIN_REPLACE =220 --重新抛硬币
EFFECT_TOSS_DICE_REPLACE
=
221
--重新掷骰子
EFFECT_TOSS_DICE_REPLACE
=
221
--重新掷骰子
EFFECT_FUSION_MATERIAL
=
230
--指定融合素材的條件
EFFECT_FUSION_MATERIAL
=
230
--指定融合素材的條件
EFFECT_CHAIN_MATERIAL
=
231
--玩家受到連鎖物質的效果影響
EFFECT_CHAIN_MATERIAL
=
231
--玩家受到連鎖物質的效果影響
EFFECT_
SYNCHRO_MATERIAL
=
232
--可以当作同调素材
EFFECT_
EXTRA_SYNCHRO_MATERIAL
=
232
--可以当作同调素材
EFFECT_XYZ_MATERIAL
=
233
--可以当作超量素材
EFFECT_XYZ_MATERIAL
=
233
--可以当作超量素材
EFFECT_FUSION_SUBSTITUTE
=
234
--代替融合素材
EFFECT_FUSION_SUBSTITUTE
=
234
--代替融合素材
EFFECT_CANNOT_BE_FUSION_MATERIAL
=
235
--不能做融合素材
EFFECT_CANNOT_BE_FUSION_MATERIAL
=
235
--不能做融合素材
...
...
utility.lua
View file @
55efae7c
...
@@ -458,7 +458,7 @@ function Auxiliary.AddSynchroMixProcedure(c,f1,f2,f3,f4,minc,maxc,gc)
...
@@ -458,7 +458,7 @@ function Auxiliary.AddSynchroMixProcedure(c,f1,f2,f3,f4,minc,maxc,gc)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
end
end
function
Auxiliary
.
SynMaterialFilter
(
c
,
syncard
)
function
Auxiliary
.
SynMaterialFilter
(
c
,
syncard
)
return
c
:
IsFaceup
()
and
c
:
IsCanBeSynchroMaterial
(
syncard
)
return
c
:
IsFaceup
Ex
()
and
c
:
IsCanBeSynchroMaterial
(
syncard
)
end
end
function
Auxiliary
.
SynLimitFilter
(
c
,
f
,
e
,
syncard
)
function
Auxiliary
.
SynLimitFilter
(
c
,
f
,
e
,
syncard
)
return
f
and
not
f
(
e
,
c
,
syncard
)
return
f
and
not
f
(
e
,
c
,
syncard
)
...
@@ -467,7 +467,7 @@ function Auxiliary.GetSynchroLevelFlowerCardian(c)
...
@@ -467,7 +467,7 @@ function Auxiliary.GetSynchroLevelFlowerCardian(c)
return
2
return
2
end
end
function
Auxiliary
.
GetSynMaterials
(
tp
,
syncard
)
function
Auxiliary
.
GetSynMaterials
(
tp
,
syncard
)
local
mg
=
Duel
.
Get
MatchingGroup
(
Auxiliary
.
SynMaterialFilter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
nil
,
syncard
)
local
mg
=
Duel
.
Get
SynchroMaterial
(
tp
):
Filter
(
Auxiliary
.
SynMaterialFilter
,
nil
,
syncard
)
if
mg
:
IsExists
(
Card
.
GetHandSynchro
,
1
,
nil
)
then
if
mg
:
IsExists
(
Card
.
GetHandSynchro
,
1
,
nil
)
then
local
mg2
=
Duel
.
GetMatchingGroup
(
Card
.
IsCanBeSynchroMaterial
,
tp
,
LOCATION_HAND
,
0
,
nil
,
syncard
)
local
mg2
=
Duel
.
GetMatchingGroup
(
Card
.
IsCanBeSynchroMaterial
,
tp
,
LOCATION_HAND
,
0
,
nil
,
syncard
)
if
mg2
:
GetCount
()
>
0
then
mg
:
Merge
(
mg2
)
end
if
mg2
:
GetCount
()
>
0
then
mg
:
Merge
(
mg2
)
end
...
@@ -628,6 +628,21 @@ function Auxiliary.SynMixCheckRecursive(c,tp,sg,mg,ct,minc,maxc,syncard,sg1,smat
...
@@ -628,6 +628,21 @@ function Auxiliary.SynMixCheckRecursive(c,tp,sg,mg,ct,minc,maxc,syncard,sg1,smat
ct
=
ct
-
1
ct
=
ct
-
1
return
res
return
res
end
end
-- the material is in hand and don't has extra synchro material effect itself
-- that mean some other tuner added it as material
function
Auxiliary
.
SynMixHandFilter
(
c
,
tp
,
syncard
)
if
not
c
:
IsLocation
(
LOCATION_HAND
)
then
return
false
end
local
le
=
{
c
:
IsHasEffect
(
EFFECT_EXTRA_SYNCHRO_MATERIAL
,
tp
)}
for
_
,
te
in
pairs
(
le
)
do
local
tf
=
te
:
GetValue
()
if
Auxiliary
.
GetValueType
(
tf
)
==
"function"
then
if
tf
(
te
,
syncard
)
then
return
false
end
else
if
tf
~=
0
then
return
false
end
end
end
return
true
end
function
Auxiliary
.
SynMixCheckGoal
(
tp
,
sg
,
minc
,
ct
,
syncard
,
sg1
,
smat
,
gc
,
mgchk
)
function
Auxiliary
.
SynMixCheckGoal
(
tp
,
sg
,
minc
,
ct
,
syncard
,
sg1
,
smat
,
gc
,
mgchk
)
if
ct
<
minc
then
return
false
end
if
ct
<
minc
then
return
false
end
local
g
=
sg
:
Clone
()
local
g
=
sg
:
Clone
()
...
@@ -640,7 +655,7 @@ function Auxiliary.SynMixCheckGoal(tp,sg,minc,ct,syncard,sg1,smat,gc,mgchk)
...
@@ -640,7 +655,7 @@ function Auxiliary.SynMixCheckGoal(tp,sg,minc,ct,syncard,sg1,smat,gc,mgchk)
and
(
not
g
:
IsExists
(
Card
.
IsHasEffect
,
1
,
nil
,
89818984
)
and
(
not
g
:
IsExists
(
Card
.
IsHasEffect
,
1
,
nil
,
89818984
)
or
not
g
:
CheckWithSumEqual
(
Auxiliary
.
GetSynchroLevelFlowerCardian
,
syncard
:
GetLevel
(),
g
:
GetCount
(),
g
:
GetCount
(),
syncard
))
or
not
g
:
CheckWithSumEqual
(
Auxiliary
.
GetSynchroLevelFlowerCardian
,
syncard
:
GetLevel
(),
g
:
GetCount
(),
g
:
GetCount
(),
syncard
))
then
return
false
end
then
return
false
end
local
hg
=
g
:
Filter
(
Card
.
IsLocation
,
nil
,
LOCATION_HAND
)
local
hg
=
g
:
Filter
(
Auxiliary
.
SynMixHandFilter
,
nil
,
tp
,
syncard
)
local
hct
=
hg
:
GetCount
()
local
hct
=
hg
:
GetCount
()
if
hct
>
0
and
not
mgchk
then
if
hct
>
0
and
not
mgchk
then
local
found
=
false
local
found
=
false
...
...
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