Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
no81cards
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Nemo Ma
no81cards
Commits
4ec614c7
Commit
4ec614c7
authored
Oct 04, 2024
by
POLYMER
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
4f472bba
Changes
9
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
251 additions
and
136 deletions
+251
-136
expansions/script/c11451032.lua
expansions/script/c11451032.lua
+5
-5
expansions/script/c11451033.lua
expansions/script/c11451033.lua
+4
-15
expansions/script/c11451721.lua
expansions/script/c11451721.lua
+1
-0
expansions/script/c11451722.lua
expansions/script/c11451722.lua
+1
-0
expansions/script/c11451723.lua
expansions/script/c11451723.lua
+1
-0
expansions/script/c11451724.lua
expansions/script/c11451724.lua
+1
-0
expansions/script/c130006048.lua
expansions/script/c130006048.lua
+29
-4
expansions/script/c21000702.lua
expansions/script/c21000702.lua
+1
-1
expansions/script/c75000003.lua
expansions/script/c75000003.lua
+208
-111
No files found.
expansions/script/c11451032.lua
View file @
4ec614c7
...
...
@@ -5,7 +5,7 @@ function cm.initial_effect(c)
e5
:
SetType
(
EFFECT_TYPE_SINGLE
)
e5
:
SetCode
(
EFFECT_SUMMON_COST
)
e5
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
+
EFFECT_FLAG_SINGLE_RANGE
)
e5
:
SetRange
(
0xf
f
)
e5
:
SetRange
(
0xf
3
)
e5
:
SetCost
(
cm
.
spcost
)
e5
:
SetOperation
(
cm
.
spcop
)
c
:
RegisterEffect
(
e5
)
...
...
@@ -24,9 +24,9 @@ function cm.initial_effect(c)
local
_ReturnToField
=
Duel
.
ReturnToField
local
_Equip
=
Duel
.
Equip
function
Duel
.
MoveToField
(
c
,
tp
,
...
)
if
c
:
IsHasEffect
(
m
)
then
if
c
:
Is
Location
(
0xf3
)
and
c
:
Is
HasEffect
(
m
)
then
return
elseif
c
:
GetOriginalCode
()
==
m
then
elseif
c
:
IsLocation
(
0xf3
)
and
c
:
GetOriginalCode
()
==
m
then
if
not
cm
.
spcost
(
nil
,
nil
,
tp
,
c
)
then
return
end
cm
.
spcop
(
nil
,
tp
,
nil
,
nil
,
nil
,
nil
,
nil
,
nil
,
c
)
end
...
...
@@ -43,9 +43,9 @@ function cm.initial_effect(c)
return
_ReturnToField
(
c
,
...
)
end
function
Duel
.
Equip
(
tp
,
c
,
mc
,
...
)
if
c
:
IsHasEffect
(
m
)
then
if
c
:
Is
Location
(
0xf3
)
and
c
:
Is
HasEffect
(
m
)
then
return
elseif
c
:
GetOriginalCode
()
==
m
then
elseif
c
:
IsLocation
(
0xf3
)
and
c
:
GetOriginalCode
()
==
m
then
if
not
cm
.
spcost
(
nil
,
nil
,
tp
,
c
)
then
return
end
cm
.
spcop
(
nil
,
tp
,
nil
,
nil
,
nil
,
nil
,
nil
,
nil
,
c
)
end
...
...
expansions/script/c11451033.lua
View file @
4ec614c7
...
...
@@ -30,31 +30,20 @@ function cm.initial_effect(c)
e3
:
SetValue
(
function
(
e
,
c
)
local
res
=
c
:
GetFlagEffect
(
m
)
>
0
c
:
ResetFlagEffect
(
m
)
return
res
end
)
Duel
.
RegisterEffect
(
e3
,
0
)
local
_MoveToField
=
Duel
.
MoveToField
local
_ReturnToField
=
Duel
.
ReturnToField
local
_Equip
=
Duel
.
Equip
function
Duel
.
MoveToField
(
c
,
tp
,
...
)
if
c
:
IsHasEffect
(
m
)
then
if
c
:
Is
Location
(
LOCATION_EXTRA
)
and
c
:
Is
HasEffect
(
m
)
then
return
elseif
c
:
GetOriginalCode
()
==
m
then
elseif
c
:
IsLocation
(
LOCATION_EXTRA
)
and
c
:
GetOriginalCode
()
==
m
then
if
not
cm
.
spcost
(
nil
,
nil
,
tp
,
c
)
then
return
end
cm
.
spcop
(
nil
,
tp
,
nil
,
nil
,
nil
,
nil
,
nil
,
nil
,
c
)
end
return
_MoveToField
(
c
,
tp
,
...
)
end
function
Duel
.
ReturnToField
(
c
,
...
)
local
tp
=
c
:
GetPreviousControler
()
if
c
:
IsHasEffect
(
m
)
then
return
elseif
c
:
GetOriginalCode
()
==
m
then
if
not
cm
.
spcost
(
nil
,
nil
,
tp
,
c
)
then
return
end
cm
.
spcop
(
nil
,
tp
,
nil
,
nil
,
nil
,
nil
,
nil
,
nil
,
c
)
end
return
_ReturnToField
(
c
,
...
)
end
function
Duel
.
Equip
(
tp
,
c
,
mc
,
...
)
if
c
:
IsHasEffect
(
m
)
then
if
c
:
Is
Location
(
LOCATION_EXTRA
)
and
c
:
Is
HasEffect
(
m
)
then
return
elseif
c
:
GetOriginalCode
()
==
m
then
elseif
c
:
IsLocation
(
LOCATION_EXTRA
)
and
c
:
GetOriginalCode
()
==
m
then
if
not
cm
.
spcost
(
nil
,
nil
,
tp
,
c
)
then
return
end
cm
.
spcop
(
nil
,
tp
,
nil
,
nil
,
nil
,
nil
,
nil
,
nil
,
c
)
end
...
...
expansions/script/c11451721.lua
View file @
4ec614c7
...
...
@@ -27,6 +27,7 @@ function cm.initial_effect(c)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_GRANT
)
e3
:
SetRange
(
LOCATION_SZONE
)
e3
:
SetProperty
(
EFFECT_FLAG_IGNORE_IMMUNE
)
e3
:
SetTargetRange
(
LOCATION_MZONE
,
LOCATION_MZONE
)
e3
:
SetTarget
(
cm
.
eftg
)
e3
:
SetLabelObject
(
e2
)
...
...
expansions/script/c11451722.lua
View file @
4ec614c7
...
...
@@ -27,6 +27,7 @@ function cm.initial_effect(c)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_GRANT
)
e3
:
SetRange
(
LOCATION_SZONE
)
e3
:
SetProperty
(
EFFECT_FLAG_IGNORE_IMMUNE
)
e3
:
SetTargetRange
(
LOCATION_MZONE
,
LOCATION_MZONE
)
e3
:
SetTarget
(
cm
.
eftg
)
e3
:
SetLabelObject
(
e2
)
...
...
expansions/script/c11451723.lua
View file @
4ec614c7
...
...
@@ -27,6 +27,7 @@ function cm.initial_effect(c)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_GRANT
)
e3
:
SetRange
(
LOCATION_SZONE
)
e3
:
SetProperty
(
EFFECT_FLAG_IGNORE_IMMUNE
)
e3
:
SetTargetRange
(
LOCATION_MZONE
,
LOCATION_MZONE
)
e3
:
SetTarget
(
cm
.
eftg
)
e3
:
SetLabelObject
(
e2
)
...
...
expansions/script/c11451724.lua
View file @
4ec614c7
...
...
@@ -27,6 +27,7 @@ function cm.initial_effect(c)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_GRANT
)
e3
:
SetRange
(
LOCATION_SZONE
)
e3
:
SetProperty
(
EFFECT_FLAG_IGNORE_IMMUNE
)
e3
:
SetTargetRange
(
LOCATION_MZONE
,
LOCATION_MZONE
)
e3
:
SetTarget
(
cm
.
eftg
)
e3
:
SetLabelObject
(
e2
)
...
...
expansions/script/c130006048.lua
View file @
4ec614c7
...
...
@@ -15,9 +15,17 @@ function cm.initial_effect(c)
cm
.
global_check
=
true
local
_Equip
=
Duel
.
Equip
Duel
.
Equip
=
function
(
p
,
c
,
...
)
c
:
RegisterFlagEffect
(
m
,
RESET_CHAIN
,
0
,
1
)
if
not
c
:
IsOnField
()
then
c
:
RegisterFlagEffect
(
m
,
RESET_CHAIN
,
0
,
1
)
end
local
res
=
_Equip
(
p
,
c
,
...
)
return
res
end
local
_CRegisterEffect
=
Card
.
RegisterEffect
function
Card
.
RegisterEffect
(
c
,
e
,
bool
)
local
res
=
_CRegisterEffect
(
c
,
e
,
bool
)
if
e
:
GetCode
()
==
EFFECT_EQUIP_LIMIT
and
c
:
GetFlagEffect
(
m
)
>
0
then
c
:
ResetFlagEffect
(
m
)
Duel
.
RaiseEvent
(
Group
.
FromCards
(
c
),
EVENT_CUSTOM
+
m
,
e
,
0
,
0
,
0
,
0
)
end
return
res
end
local
e1
=
Effect
.
CreateEffect
(
c
)
...
...
@@ -53,7 +61,7 @@ function cm.costchk(e,c,tp,st)
return
false
end
function
cm
.
filter
(
c
,
e
)
if
not
(
c
:
IsOnField
()
and
(
c
:
IsFacedown
()
or
c
:
IsStatus
(
STATUS_EFFECT_ENABLED
)
or
c
:
GetFlagEffect
(
m
)
>
0
))
then
return
false
end
if
not
(
c
:
IsOnField
()
and
(
c
:
IsFacedown
()
or
c
:
IsStatus
(
STATUS_EFFECT_ENABLED
)
))
or
c
:
GetFlagEffect
(
m
)
>
0
then
return
false
end
if
e
:
GetCode
()
==
EVENT_MOVE
then
local
b1
,
g1
=
Duel
.
CheckEvent
(
EVENT_SUMMON_SUCCESS
,
true
)
local
b2
,
g2
=
Duel
.
CheckEvent
(
EVENT_SPSUMMON_SUCCESS
,
true
)
...
...
@@ -82,7 +90,24 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetCode
(
EVENT_CUSTOM
+
m
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e1
:
SetOperation
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
eg
:
Filter
(
cm
.
filter
,
nil
,
e
)
Duel
.
SendtoDeck
(
g
,
nil
,
2
,
REASON_RULE
)
end
)
e1
:
SetOperation
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
--[[if Duel.GetFlagEffect(0,m)>1 then return end
Duel.RegisterFlagEffect(0,m,RESET_CHAIN,0,1)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_CHAINING)
e1:SetOperation(function() Duel.ResetFlagEffect(0,m) end)
e1:SetReset(RESET_CHAIN)
Duel.RegisterEffect(e1,tp)
local e2=e1:Clone()
e2:SetCode(EVENT_BREAK_EFFECT)
Duel.RegisterEffect(e2,tp)
local e3=e1:Clone()
e3:SetCode(EVENT_CHAIN_SOLVED)
Duel.RegisterEffect(e3,tp)--]]
local
g
=
eg
:
Filter
(
cm
.
filter
,
nil
,
e
)
Duel
.
SendtoDeck
(
g
,
nil
,
2
,
REASON_RULE
)
end
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e1
,
0
)
end
\ No newline at end of file
expansions/script/c21000702.lua
View file @
4ec614c7
...
...
@@ -38,7 +38,7 @@ function s.initial_effect(c)
end
function
s
.
counterfilter
(
c
)
return
c
:
Is
SetCard
(
0x605
)
return
c
:
Is
Race
(
RACE_PSYCHO
)
end
function
s
.
filter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsAbleToRemoveAsCost
()
and
c
:
IsSetCard
(
0x603
)
...
...
expansions/script/c75000003.lua
View file @
4ec614c7
--救世神龙 传承琉迩
function
c75000003
.
initial_effect
(
c
)
--fusion material
c
:
EnableReviveLimit
()
aux
.
AddFusionProcCode2FunRep
(
c
,
21159309
,
75000001
,
aux
.
FilterBoolFunction
(
Card
.
IsFusionSetCard
,
0x751
),
1
,
1
,
true
,
true
)
--cannot disable spsummon
local
m
=
75000003
local
cm
=
_G
[
"c"
..
m
]
function
cm
.
initial_effect
(
c
)
aux
.
AddCodeList
(
c
,
75000001
)
aux
.
AddFusionProcCodeFunRep
(
c
,
75000001
,
c75000003
.
ffilter
,
1
,
127
,
true
,
true
)
--material check
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
Set
Code
(
EFFECT_CANNOT_DISABLE_SPSUMMON
)
e1
:
Set
Property
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetCondition
(
function
(
e
)
return
e
:
GetHandler
():
IsSummonType
(
SUMMON_TYPE_FUSION
)
end
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
Set
Property
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
Set
Code
(
EVENT_SPSUMMON_SUCCESS
)
e1
:
SetCondition
(
c75000003
.
matcon
)
e1
:
SetOperation
(
c75000003
.
matop
)
c
:
RegisterEffect
(
e1
)
--summon success
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e2
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e2
:
SetOperation
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
SetChainLimitTillChainEnd
(
function
(
e
,
ep
,
tp
)
return
tp
==
ep
end
)
end
)
e2
:
SetCondition
(
function
(
e
)
return
e
:
GetHandler
():
IsSummonType
(
SUMMON_TYPE_FUSION
)
end
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetCode
(
EFFECT_MATERIAL_CHECK
)
e2
:
SetValue
(
c75000003
.
valcheck
)
e2
:
SetLabelObject
(
e1
)
c
:
RegisterEffect
(
e2
)
--
atk
--
SetCard
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
)
e3
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e3
:
SetDescription
(
aux
.
Stringid
(
75000003
,
0
))
e3
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e3
:
SetCode
(
EVENT_FREE_CHAIN
)
e3
:
SetCountLimit
(
1
)
e3
:
SetHintTiming
(
0
,
TIMINGS_CHECK_MONSTER
+
TIMING_MAIN_END
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
Set
Value
(
function
(
e
)
local
tp
=
e
:
GetHandlerPlayer
()
return
Duel
.
GetMatchingGroup
(
Card
.
IsFaceup
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
nil
):
GetClassCount
(
Card
.
GetAttribute
)
*
500
end
)
e3
:
Set
Condition
(
c75000003
.
efcon2
)
e3
:
SetTarget
(
c75000003
.
sttg
)
e3
:
SetOperation
(
c75000003
.
stop
)
c
:
RegisterEffect
(
e3
)
--
to deck and dam
--
extra attack
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetCategory
(
CATEGORY_TODECK
+
CATEGORY_DAMAGE
)
e4
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e4
:
SetCode
(
EVENT_FREE_CHAIN
)
e4
:
SetHintTiming
(
0
,
TIMINGS_CHECK_MONSTER
)
e4
:
SetType
(
EFFECT_TYPE_SINGLE
)
e4
:
SetCode
(
EFFECT_EXTRA_ATTACK
)
e4
:
SetRange
(
LOCATION_MZONE
)
e4
:
SetCountLimit
(
1
,
75000003
)
e4
:
SetCost
(
c75000003
.
tddcost
)
e4
:
SetTarget
(
c75000003
.
tddtg
)
e4
:
SetOperation
(
c75000003
.
tddop
)
e4
:
SetCondition
(
c75000003
.
efcon3
)
e4
:
SetValue
(
1
)
c
:
RegisterEffect
(
e4
)
--
fusion
--
special summon
local
e5
=
Effect
.
CreateEffect
(
c
)
e5
:
Set
Category
(
CATEGORY_TODECK
+
CATEGORY_SPECIAL_SUMMON
+
CATEGORY_FUSION_SUMMON
)
e5
:
SetType
(
EFFECT_TYPE_
SINGLE
+
EFFECT_TYPE_TRIGGER
_O
)
e5
:
SetCode
(
EVENT_
LEAVE_FIELD
)
e5
:
Set
Property
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_DAMAGE_STEP
)
e5
:
Set
CountLimit
(
1
,
15000003
)
e5
:
Set
Condition
(
function
(
e
)
return
e
:
GetHandler
():
GetReasonPlayer
()
==
1
-
e
:
GetHandlerPlayer
()
end
)
e5
:
SetTarget
(
c75000003
.
fu
tg
)
e5
:
SetOperation
(
c75000003
.
fu
op
)
e5
:
Set
Description
(
aux
.
Stringid
(
75000003
,
1
)
)
e5
:
SetType
(
EFFECT_TYPE_
QUICK
_O
)
e5
:
SetCode
(
EVENT_
FREE_CHAIN
)
e5
:
Set
CountLimit
(
1
)
e5
:
Set
HintTiming
(
0
,
TIMINGS_CHECK_MONSTER
+
TIMING_MAIN_END
)
e5
:
Set
Range
(
LOCATION_MZONE
)
e5
:
SetCondition
(
c75000003
.
efcon4
)
e5
:
SetTarget
(
c75000003
.
sp
tg
)
e5
:
SetOperation
(
c75000003
.
sp
op
)
c
:
RegisterEffect
(
e5
)
--spsummon
local
e6
=
Effect
.
CreateEffect
(
c
)
e6
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
+
CATEGORY_FUSION_SUMMON
+
CATEGORY_ATKCHANGE
)
e6
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e6
:
SetCode
(
EVENT_TO_GRAVE
)
e6
:
SetProperty
(
EFFECT_FLAG_DAMAGE_STEP
+
EFFECT_FLAG_DELAY
)
e6
:
SetCountLimit
(
1
,
75000003
+
EFFECT_COUNT_CODE_DUEL
)
e6
:
SetCondition
(
c75000003
.
sp4con
)
e6
:
SetTarget
(
c75000003
.
sp4tg
)
e6
:
SetOperation
(
c75000003
.
sp4op
)
c
:
RegisterEffect
(
e6
)
--f summon
local
e7
=
Effect
.
CreateEffect
(
c
)
e7
:
SetDescription
(
aux
.
Stringid
(
75000003
,
2
))
e7
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
+
CATEGORY_FUSION_SUMMON
)
e7
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e7
:
SetCode
(
EVENT_LEAVE_FIELD
)
e7
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_DAMAGE_STEP
)
e7
:
SetCountLimit
(
1
,
75000003
)
e7
:
SetCondition
(
c75000003
.
fspcon
)
e7
:
SetTarget
(
c75000003
.
fsptg
)
e7
:
SetOperation
(
c75000003
.
fspop
)
c
:
RegisterEffect
(
e7
)
end
c75000003
.
material_setcode
=
75000001
function
c75000003
.
tddcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
function
(
c
)
return
c
:
IsSetCard
(
0x751
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsAbleToGraveAsCost
()
end
,
tp
,
LOCATION_DECK
+
LOCATION_EXTRA
,
0
,
1
,
nil
)
end
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
function
(
c
)
return
c
:
IsSetCard
(
0x751
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsAbleToGraveAsCost
()
end
,
tp
,
LOCATION_DECK
+
LOCATION_EXTRA
,
0
,
1
,
1
,
nil
)
Duel
.
SendtoGrave
(
g
,
REASON_COST
)
end
function
c75000003
.
tddtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
Card
.
IsAbleToDeck
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
nil
)
and
Duel
.
IsExistingMatchingCard
(
Card
.
IsAbleToDeck
,
tp
,
0
,
LOCATION_GRAVE
,
1
,
nil
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
nil
,
2
,
1
-
tp
,
LOCATION_GRAVE
+
LOCATION_ONFIELD
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DAMAGE
,
nil
,
0
,
1
-
tp
,
600
)
end
function
c75000003
.
tddop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
c75000003
.
fusion_effect
=
true
function
c75000003
.
fspcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
g
=
Group
.
CreateGroup
()
if
Duel
.
IsExistingMatchingCard
(
Card
.
IsAbleToDeck
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
nil
)
then
local
g1
=
Duel
.
SelectMatchingCard
(
tp
,
Card
.
IsAbleToDeck
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
1
,
nil
)
g
:
Merge
(
g1
)
end
if
Duel
.
IsExistingMatchingCard
(
Card
.
IsAbleToDeck
,
tp
,
0
,
LOCATION_GRAVE
,
1
,
nil
)
then
local
g2
=
Duel
.
SelectMatchingCard
(
tp
,
Card
.
IsAbleToDeck
,
tp
,
0
,
LOCATION_GRAVE
,
1
,
1
,
nil
)
g
:
Merge
(
g2
)
end
if
Duel
.
SendtoDeck
(
g
,
nil
,
2
,
REASON_EFFECT
)
~=
0
then
Duel
.
Damage
(
1
-
tp
,
600
,
REASON_EFFECT
)
Duel
.
Damage
(
1
-
tp
,
600
,
REASON_EFFECT
)
end
return
c
:
IsPreviousPosition
(
POS_FACEUP
)
and
c
:
IsPreviousLocation
(
LOCATION_ONFIELD
)
end
function
c75000003
.
filter0
(
c
)
return
(
c
:
IsLocation
(
LOCATION_
ONFIELD
+
LOCATION_GRAVE
)
or
c
:
IsFaceup
())
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsCanBeFusionMaterial
(
)
and
c
:
IsAbleToDeck
()
function
c75000003
.
f
spf
ilter0
(
c
)
return
(
c
:
IsLocation
(
LOCATION_
GRAVE
)
or
c
:
IsFaceup
())
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsAbleToDeck
()
end
function
c75000003
.
filter1
(
c
,
e
)
return
(
c
:
IsLocation
(
LOCATION_
ONFIELD
+
LOCATION_GRAVE
)
or
c
:
IsFaceup
())
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsCanBeFusionMaterial
()
and
c
:
IsAbleToDeck
()
and
not
c
:
IsImmuneToEffect
(
e
)
function
c75000003
.
f
spf
ilter1
(
c
,
e
)
return
(
c
:
IsLocation
(
LOCATION_
GRAVE
)
or
c
:
IsFaceup
())
and
c
:
IsType
(
TYPE_MONSTER
)
and
not
c
:
IsImmuneToEffect
(
e
)
and
c
:
IsAbleToDeck
(
)
end
function
c75000003
.
filter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
(
aux
.
IsMaterialListCode
(
c
,
75000001
)
or
aux
.
IsMaterialListSetCard
(
c
,
75000001
)
)
and
(
not
f
or
f
(
c
))
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
nil
,
chkf
)
function
c75000003
.
f
spf
ilter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
return
c
:
IsType
(
TYPE_FUSION
)
and
aux
.
IsMaterialListCode
(
c
,
75000003
)
and
(
not
f
or
f
(
c
))
and
c
:
IsCanBeSpecialSummoned
(
e
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
and
c
:
CheckFusionMaterial
(
m
,
nil
,
chkf
)
end
function
c75000003
.
f
u
tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c75000003
.
f
sp
tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
local
chkf
=
tp
local
mg
=
Duel
.
GetMatchingGroup
(
c75000003
.
filter0
,
tp
,
LOCATION_ONFIELD
+
LOCATION_GRAVE
+
LOCATION_REMOVED
,
0
,
nil
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c75000003
.
f
ilter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg
,
nil
,
chkf
)
local
mg
1
=
Duel
.
GetMatchingGroup
(
c75000003
.
fspfilter0
,
tp
,
LOCATION_GRAVE
+
LOCATION_REMOVED
,
0
,
nil
)
local
res
=
Duel
.
IsExistingMatchingCard
(
c75000003
.
f
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
local
mg
3
=
fgroup
(
ce
,
e
,
tp
)
local
mg
2
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
res
=
Duel
.
IsExistingMatchingCard
(
c75000003
.
f
ilter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg3
,
mf
,
chkf
)
res
=
Duel
.
IsExistingMatchingCard
(
c75000003
.
f
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg2
,
mf
,
chkf
)
end
end
return
res
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_EXTRA
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
nil
,
1
,
tp
,
LOCATION_
ONFIELD
+
LOCATION_
GRAVE
+
LOCATION_REMOVED
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
nil
,
1
,
tp
,
LOCATION_GRAVE
+
LOCATION_REMOVED
)
end
function
c75000003
.
f
u
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c75000003
.
f
sp
op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
chkf
=
tp
local
mg
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
c75000003
.
filter1
),
tp
,
LOCATION_ONFIELD
+
LOCATION_GRAVE
+
LOCATION_REMOVED
,
0
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c75000003
.
f
ilter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg
,
nil
,
chkf
)
local
mg
3
=
nil
local
mg
1
=
Duel
.
GetMatchingGroup
(
c75000003
.
fspfilter1
,
tp
,
LOCATION_GRAVE
+
LOCATION_REMOVED
,
0
,
nil
,
e
)
local
sg1
=
Duel
.
GetMatchingGroup
(
c75000003
.
f
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg
2
=
nil
local
sg2
=
nil
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
mg
3
=
fgroup
(
ce
,
e
,
tp
)
mg
2
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
sg2
=
Duel
.
GetMatchingGroup
(
c75000003
.
f
ilter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg3
,
mf
,
chkf
)
sg2
=
Duel
.
GetMatchingGroup
(
c75000003
.
f
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg2
,
mf
,
chkf
)
end
if
sg1
:
GetCount
()
>
0
or
(
sg2
~=
nil
and
sg2
:
GetCount
()
>
0
)
then
local
sg
=
sg1
:
Clone
()
...
...
@@ -129,17 +128,14 @@ function c75000003.fuop(e,tp,eg,ep,ev,re,r,rp)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
tg
:
GetFirst
()
if
sg1
:
IsContains
(
tc
)
and
(
sg2
==
nil
or
not
sg2
:
IsContains
(
tc
)
or
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
local
mat
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg
,
nil
,
chkf
)
tc
:
SetMaterial
(
mat
)
if
mat
:
IsExists
(
Card
.
IsFacedown
,
1
,
nil
)
then
local
cg
=
mat
:
Filter
(
Card
.
IsFacedown
,
nil
)
Duel
.
ConfirmCards
(
1
-
tp
,
cg
)
end
Duel
.
SendtoDeck
(
mat
,
nil
,
SEQ_DECKSHUFFLE
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
tc
:
SetMaterial
(
mat1
)
Duel
.
HintSelection
(
mat1
)
Duel
.
SendtoDeck
(
mat1
,
nil
,
SEQ_DECKSHUFFLE
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
BreakEffect
()
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
else
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg
3
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg
2
,
nil
,
chkf
)
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
end
...
...
@@ -147,10 +143,111 @@ function c75000003.fuop(e,tp,eg,ep,ev,re,r,rp)
end
end
function
c75000003
.
sp4con
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
return
c
:
IsPreviousLocation
(
LOCATION_MZONE
)
and
c
:
IsSummonType
(
SUMMON_TYPE_FUSION
)
-- and c:GetReasonPlayer()==1-tp
end
function
c75000003
.
sp4tg
(
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
,
SUMMON_TYPE_FUSION
,
tp
,
false
,
false
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
e
:
GetHandler
(),
1
,
0
,
LOCATION_EXTRA
)
end
function
c75000003
.
sp4op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
not
aux
.
MustMaterialCheck
(
nil
,
tp
,
EFFECT_MUST_BE_FMATERIAL
)
then
return
end
c
:
SetMaterial
(
nil
)
if
c
:
IsRelateToEffect
(
e
)
and
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
~=
0
then
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
RESET_DISABLE
)
e1
:
SetValue
(
math.floor
(
Duel
.
GetLP
(
tp
)
/
2
))
c
:
RegisterEffect
(
e1
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetCode
(
EFFECT_UPDATE_DEFENSE
)
e2
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
RESET_DISABLE
)
e2
:
SetValue
(
math.floor
(
Duel
.
GetLP
(
tp
)
/
2
))
c
:
RegisterEffect
(
e2
)
c
:
RegisterFlagEffect
(
75000003
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
,
4
)
c
:
RegisterFlagEffect
(
75000010
,
RESET_EVENT
+
RESETS_STANDARD
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
1
,
aux
.
Stringid
(
75000003
,
5
))
end
end
function
c75000003
.
efcon2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
GetFlagEffectLabel
(
75000003
)
and
e
:
GetHandler
():
GetFlagEffectLabel
(
75000003
)
>
1
end
function
c75000003
.
efcon3
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
GetFlagEffectLabel
(
75000003
)
and
e
:
GetHandler
():
GetFlagEffectLabel
(
75000003
)
>
2
end
function
c75000003
.
efcon4
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
GetFlagEffectLabel
(
75000003
)
and
e
:
GetHandler
():
GetFlagEffectLabel
(
75000003
)
>
3
and
(
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN1
or
Duel
.
GetCurrentPhase
()
==
PHASE_MAIN2
)
end
function
c75000003
.
ffilter
(
c
,
fc
,
sub
,
mg
,
sg
)
return
aux
.
IsCodeListed
(
c
,
75000001
)
end
function
c75000003
.
matcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsSummonType
(
SUMMON_TYPE_FUSION
)
and
e
:
GetLabel
()
>
0
end
function
c75000003
.
matop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
e
:
GetHandler
():
RegisterFlagEffect
(
75000003
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
,
e
:
GetLabel
())
if
e
:
GetLabel
()
==
2
then
e
:
GetHandler
():
RegisterFlagEffect
(
75000008
,
RESET_EVENT
+
RESETS_STANDARD
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
1
,
aux
.
Stringid
(
75000003
,
3
))
elseif
e
:
GetLabel
()
==
3
then
e
:
GetHandler
():
RegisterFlagEffect
(
75000009
,
RESET_EVENT
+
RESETS_STANDARD
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
1
,
aux
.
Stringid
(
75000003
,
4
))
elseif
e
:
GetLabel
()
>
3
then
e
:
GetHandler
():
RegisterFlagEffect
(
75000010
,
RESET_EVENT
+
RESETS_STANDARD
,
EFFECT_FLAG_CLIENT_HINT
,
1
,
1
,
aux
.
Stringid
(
75000003
,
5
))
end
end
function
c75000003
.
valcheck
(
e
,
c
)
local
g
=
c
:
GetMaterial
()
local
ct
=
g
:
GetClassCount
(
Card
.
GetFusionAttribute
)
e
:
GetLabelObject
():
SetLabel
(
ct
)
end
function
c75000003
.
setfilter
(
c
)
return
c
:
IsSetCard
(
0x75a
)
and
c
:
IsType
(
TYPE_SPELL
+
TYPE_TRAP
)
and
c
:
IsSSetable
()
end
function
c75000003
.
sttg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c75000003
.
setfilter
,
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
nil
)
end
end
function
c75000003
.
stop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SET
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
aux
.
NecroValleyFilter
(
c75000003
.
setfilter
),
tp
,
LOCATION_DECK
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
)
local
tc
=
g
:
GetFirst
()
if
tc
and
Duel
.
SSet
(
tp
,
tc
)
~=
0
then
if
tc
:
IsType
(
TYPE_TRAP
)
then
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetDescription
(
aux
.
Stringid
(
75000003
,
6
))
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_SET_AVAILABLE
)
e1
:
SetCode
(
EFFECT_TRAP_ACT_IN_SET_TURN
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
tc
:
RegisterEffect
(
e1
)
elseif
tc
:
IsType
(
TYPE_QUICKPLAY
)
then
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetDescription
(
aux
.
Stringid
(
75000003
,
6
))
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_SET_AVAILABLE
)
e1
:
SetCode
(
EFFECT_QP_ACT_IN_SET_TURN
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
tc
:
RegisterEffect
(
e1
)
end
end
end
function
c75000003
.
atkval
(
e
,
c
)
return
Duel
.
GetMatchingGroup
(
Card
.
IsFaceup
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
nil
):
GetClassCount
(
Card
.
GetAttribute
)
*
400
end
function
c75000003
.
spfilter
(
c
,
e
,
tp
)
return
aux
.
IsCodeListed
(
c
,
75000001
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
and
((
Duel
.
GetLocationCountFromEx
(
tp
,
tp
,
nil
,
c
)
>
0
and
c
:
IsLocation
(
LOCATION_EXTRA
))
or
(
not
c
:
IsLocation
(
LOCATION_EXTRA
)
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
>
0
))
end
function
c75000003
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c75000003
.
spfilter
,
tp
,
LOCATION_DECK
+
LOCATION_EXTRA
+
LOCATION_GRAVE
,
0
,
1
,
e
:
GetHandler
(),
e
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
nil
,
1
,
tp
,
LOCATION_REMOVED
+
LOCATION_GRAVE
)
end
function
c75000003
.
spop
(
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
,
aux
.
NecroValleyFilter
(
c75000003
.
spfilter
),
tp
,
LOCATION_DECK
+
LOCATION_EXTRA
+
LOCATION_GRAVE
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
#
g
>
0
then
Duel
.
SpecialSummon
(
g
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
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