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
Hide 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)
...
@@ -5,7 +5,7 @@ function cm.initial_effect(c)
e5
:
SetType
(
EFFECT_TYPE_SINGLE
)
e5
:
SetType
(
EFFECT_TYPE_SINGLE
)
e5
:
SetCode
(
EFFECT_SUMMON_COST
)
e5
:
SetCode
(
EFFECT_SUMMON_COST
)
e5
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
+
EFFECT_FLAG_SINGLE_RANGE
)
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
:
SetCost
(
cm
.
spcost
)
e5
:
SetOperation
(
cm
.
spcop
)
e5
:
SetOperation
(
cm
.
spcop
)
c
:
RegisterEffect
(
e5
)
c
:
RegisterEffect
(
e5
)
...
@@ -24,9 +24,9 @@ function cm.initial_effect(c)
...
@@ -24,9 +24,9 @@ function cm.initial_effect(c)
local
_ReturnToField
=
Duel
.
ReturnToField
local
_ReturnToField
=
Duel
.
ReturnToField
local
_Equip
=
Duel
.
Equip
local
_Equip
=
Duel
.
Equip
function
Duel
.
MoveToField
(
c
,
tp
,
...
)
function
Duel
.
MoveToField
(
c
,
tp
,
...
)
if
c
:
IsHasEffect
(
m
)
then
if
c
:
Is
Location
(
0xf3
)
and
c
:
Is
HasEffect
(
m
)
then
return
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
if
not
cm
.
spcost
(
nil
,
nil
,
tp
,
c
)
then
return
end
cm
.
spcop
(
nil
,
tp
,
nil
,
nil
,
nil
,
nil
,
nil
,
nil
,
c
)
cm
.
spcop
(
nil
,
tp
,
nil
,
nil
,
nil
,
nil
,
nil
,
nil
,
c
)
end
end
...
@@ -43,9 +43,9 @@ function cm.initial_effect(c)
...
@@ -43,9 +43,9 @@ function cm.initial_effect(c)
return
_ReturnToField
(
c
,
...
)
return
_ReturnToField
(
c
,
...
)
end
end
function
Duel
.
Equip
(
tp
,
c
,
mc
,
...
)
function
Duel
.
Equip
(
tp
,
c
,
mc
,
...
)
if
c
:
IsHasEffect
(
m
)
then
if
c
:
Is
Location
(
0xf3
)
and
c
:
Is
HasEffect
(
m
)
then
return
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
if
not
cm
.
spcost
(
nil
,
nil
,
tp
,
c
)
then
return
end
cm
.
spcop
(
nil
,
tp
,
nil
,
nil
,
nil
,
nil
,
nil
,
nil
,
c
)
cm
.
spcop
(
nil
,
tp
,
nil
,
nil
,
nil
,
nil
,
nil
,
nil
,
c
)
end
end
...
...
expansions/script/c11451033.lua
View file @
4ec614c7
...
@@ -30,31 +30,20 @@ function cm.initial_effect(c)
...
@@ -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
)
e3
:
SetValue
(
function
(
e
,
c
)
local
res
=
c
:
GetFlagEffect
(
m
)
>
0
c
:
ResetFlagEffect
(
m
)
return
res
end
)
Duel
.
RegisterEffect
(
e3
,
0
)
Duel
.
RegisterEffect
(
e3
,
0
)
local
_MoveToField
=
Duel
.
MoveToField
local
_MoveToField
=
Duel
.
MoveToField
local
_ReturnToField
=
Duel
.
ReturnToField
local
_Equip
=
Duel
.
Equip
local
_Equip
=
Duel
.
Equip
function
Duel
.
MoveToField
(
c
,
tp
,
...
)
function
Duel
.
MoveToField
(
c
,
tp
,
...
)
if
c
:
IsHasEffect
(
m
)
then
if
c
:
Is
Location
(
LOCATION_EXTRA
)
and
c
:
Is
HasEffect
(
m
)
then
return
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
if
not
cm
.
spcost
(
nil
,
nil
,
tp
,
c
)
then
return
end
cm
.
spcop
(
nil
,
tp
,
nil
,
nil
,
nil
,
nil
,
nil
,
nil
,
c
)
cm
.
spcop
(
nil
,
tp
,
nil
,
nil
,
nil
,
nil
,
nil
,
nil
,
c
)
end
end
return
_MoveToField
(
c
,
tp
,
...
)
return
_MoveToField
(
c
,
tp
,
...
)
end
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
,
...
)
function
Duel
.
Equip
(
tp
,
c
,
mc
,
...
)
if
c
:
IsHasEffect
(
m
)
then
if
c
:
Is
Location
(
LOCATION_EXTRA
)
and
c
:
Is
HasEffect
(
m
)
then
return
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
if
not
cm
.
spcost
(
nil
,
nil
,
tp
,
c
)
then
return
end
cm
.
spcop
(
nil
,
tp
,
nil
,
nil
,
nil
,
nil
,
nil
,
nil
,
c
)
cm
.
spcop
(
nil
,
tp
,
nil
,
nil
,
nil
,
nil
,
nil
,
nil
,
c
)
end
end
...
...
expansions/script/c11451721.lua
View file @
4ec614c7
...
@@ -27,6 +27,7 @@ function cm.initial_effect(c)
...
@@ -27,6 +27,7 @@ function cm.initial_effect(c)
local
e3
=
Effect
.
CreateEffect
(
c
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_GRANT
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_GRANT
)
e3
:
SetRange
(
LOCATION_SZONE
)
e3
:
SetRange
(
LOCATION_SZONE
)
e3
:
SetProperty
(
EFFECT_FLAG_IGNORE_IMMUNE
)
e3
:
SetTargetRange
(
LOCATION_MZONE
,
LOCATION_MZONE
)
e3
:
SetTargetRange
(
LOCATION_MZONE
,
LOCATION_MZONE
)
e3
:
SetTarget
(
cm
.
eftg
)
e3
:
SetTarget
(
cm
.
eftg
)
e3
:
SetLabelObject
(
e2
)
e3
:
SetLabelObject
(
e2
)
...
...
expansions/script/c11451722.lua
View file @
4ec614c7
...
@@ -27,6 +27,7 @@ function cm.initial_effect(c)
...
@@ -27,6 +27,7 @@ function cm.initial_effect(c)
local
e3
=
Effect
.
CreateEffect
(
c
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_GRANT
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_GRANT
)
e3
:
SetRange
(
LOCATION_SZONE
)
e3
:
SetRange
(
LOCATION_SZONE
)
e3
:
SetProperty
(
EFFECT_FLAG_IGNORE_IMMUNE
)
e3
:
SetTargetRange
(
LOCATION_MZONE
,
LOCATION_MZONE
)
e3
:
SetTargetRange
(
LOCATION_MZONE
,
LOCATION_MZONE
)
e3
:
SetTarget
(
cm
.
eftg
)
e3
:
SetTarget
(
cm
.
eftg
)
e3
:
SetLabelObject
(
e2
)
e3
:
SetLabelObject
(
e2
)
...
...
expansions/script/c11451723.lua
View file @
4ec614c7
...
@@ -27,6 +27,7 @@ function cm.initial_effect(c)
...
@@ -27,6 +27,7 @@ function cm.initial_effect(c)
local
e3
=
Effect
.
CreateEffect
(
c
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_GRANT
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_GRANT
)
e3
:
SetRange
(
LOCATION_SZONE
)
e3
:
SetRange
(
LOCATION_SZONE
)
e3
:
SetProperty
(
EFFECT_FLAG_IGNORE_IMMUNE
)
e3
:
SetTargetRange
(
LOCATION_MZONE
,
LOCATION_MZONE
)
e3
:
SetTargetRange
(
LOCATION_MZONE
,
LOCATION_MZONE
)
e3
:
SetTarget
(
cm
.
eftg
)
e3
:
SetTarget
(
cm
.
eftg
)
e3
:
SetLabelObject
(
e2
)
e3
:
SetLabelObject
(
e2
)
...
...
expansions/script/c11451724.lua
View file @
4ec614c7
...
@@ -27,6 +27,7 @@ function cm.initial_effect(c)
...
@@ -27,6 +27,7 @@ function cm.initial_effect(c)
local
e3
=
Effect
.
CreateEffect
(
c
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_GRANT
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_GRANT
)
e3
:
SetRange
(
LOCATION_SZONE
)
e3
:
SetRange
(
LOCATION_SZONE
)
e3
:
SetProperty
(
EFFECT_FLAG_IGNORE_IMMUNE
)
e3
:
SetTargetRange
(
LOCATION_MZONE
,
LOCATION_MZONE
)
e3
:
SetTargetRange
(
LOCATION_MZONE
,
LOCATION_MZONE
)
e3
:
SetTarget
(
cm
.
eftg
)
e3
:
SetTarget
(
cm
.
eftg
)
e3
:
SetLabelObject
(
e2
)
e3
:
SetLabelObject
(
e2
)
...
...
expansions/script/c130006048.lua
View file @
4ec614c7
...
@@ -15,9 +15,17 @@ function cm.initial_effect(c)
...
@@ -15,9 +15,17 @@ function cm.initial_effect(c)
cm
.
global_check
=
true
cm
.
global_check
=
true
local
_Equip
=
Duel
.
Equip
local
_Equip
=
Duel
.
Equip
Duel
.
Equip
=
function
(
p
,
c
,
...
)
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
,
...
)
local
res
=
_Equip
(
p
,
c
,
...
)
c
:
ResetFlagEffect
(
m
)
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
return
res
end
end
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
...
@@ -53,7 +61,7 @@ function cm.costchk(e,c,tp,st)
...
@@ -53,7 +61,7 @@ function cm.costchk(e,c,tp,st)
return
false
return
false
end
end
function
cm
.
filter
(
c
,
e
)
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
if
e
:
GetCode
()
==
EVENT_MOVE
then
local
b1
,
g1
=
Duel
.
CheckEvent
(
EVENT_SUMMON_SUCCESS
,
true
)
local
b1
,
g1
=
Duel
.
CheckEvent
(
EVENT_SUMMON_SUCCESS
,
true
)
local
b2
,
g2
=
Duel
.
CheckEvent
(
EVENT_SPSUMMON_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)
...
@@ -82,7 +90,24 @@ function cm.operation(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetCode
(
EVENT_CUSTOM
+
m
)
e1
:
SetCode
(
EVENT_CUSTOM
+
m
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
)
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
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e1
,
0
)
Duel
.
RegisterEffect
(
e1
,
0
)
end
end
\ No newline at end of file
expansions/script/c21000702.lua
View file @
4ec614c7
...
@@ -38,7 +38,7 @@ function s.initial_effect(c)
...
@@ -38,7 +38,7 @@ function s.initial_effect(c)
end
end
function
s
.
counterfilter
(
c
)
function
s
.
counterfilter
(
c
)
return
c
:
Is
SetCard
(
0x605
)
return
c
:
Is
Race
(
RACE_PSYCHO
)
end
end
function
s
.
filter
(
c
)
function
s
.
filter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsAbleToRemoveAsCost
()
and
c
:
IsSetCard
(
0x603
)
return
c
:
IsFaceup
()
and
c
:
IsAbleToRemoveAsCost
()
and
c
:
IsSetCard
(
0x603
)
...
...
expansions/script/c75000003.lua
View file @
4ec614c7
--救世神龙 传承琉迩
--救世神龙 传承琉迩
function
c75000003
.
initial_effect
(
c
)
local
m
=
75000003
--fusion material
local
cm
=
_G
[
"c"
..
m
]
c
:
EnableReviveLimit
()
function
cm
.
initial_effect
(
c
)
aux
.
AddFusionProcCode2FunRep
(
c
,
21159309
,
75000001
,
aux
.
FilterBoolFunction
(
Card
.
IsFusionSetCard
,
0x751
),
1
,
1
,
true
,
true
)
aux
.
AddCodeList
(
c
,
75000001
)
--cannot disable spsummon
aux
.
AddFusionProcCodeFunRep
(
c
,
75000001
,
c75000003
.
ffilter
,
1
,
127
,
true
,
true
)
--material check
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
Set
Code
(
EFFECT_CANNOT_DISABLE_SPSUMMON
)
e1
:
Set
Property
(
EFFECT_FLAG_CANNOT_DISABLE
)
e1
:
Set
Property
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e1
:
Set
Code
(
EVENT_SPSUMMON_SUCCESS
)
e1
:
SetCondition
(
function
(
e
)
e1
:
SetCondition
(
c75000003
.
matcon
)
return
e
:
GetHandler
():
IsSummonType
(
SUMMON_TYPE_FUSION
)
end
)
e1
:
SetOperation
(
c75000003
.
matop
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
--summon success
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e2
:
SetCode
(
EFFECT_MATERIAL_CHECK
)
e2
:
SetOperation
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
e2
:
SetValue
(
c75000003
.
valcheck
)
Duel
.
SetChainLimitTillChainEnd
(
function
(
e
,
ep
,
tp
)
return
tp
==
ep
end
)
end
)
e2
:
SetLabelObject
(
e1
)
e2
:
SetCondition
(
function
(
e
)
c
:
RegisterEffect
(
e2
)
return
e
:
GetHandler
():
IsSummonType
(
SUMMON_TYPE_FUSION
)
end
)
--SetCard
c
:
RegisterEffect
(
e2
)
local
e3
=
Effect
.
CreateEffect
(
c
)
--atk
e3
:
SetDescription
(
aux
.
Stringid
(
75000003
,
0
))
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
)
e3
:
SetCode
(
EVENT_FREE_CHAIN
)
e3
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e3
:
SetCountLimit
(
1
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetHintTiming
(
0
,
TIMINGS_CHECK_MONSTER
+
TIMING_MAIN_END
)
e3
:
SetValue
(
function
(
e
)
e3
:
SetRange
(
LOCATION_MZONE
)
local
tp
=
e
:
GetHandlerPlayer
()
e3
:
SetCondition
(
c75000003
.
efcon2
)
return
Duel
.
GetMatchingGroup
(
Card
.
IsFaceup
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
nil
):
GetClassCount
(
Card
.
GetAttribute
)
*
500
end
)
e3
:
SetTarget
(
c75000003
.
sttg
)
c
:
RegisterEffect
(
e3
)
e3
:
SetOperation
(
c75000003
.
stop
)
--to deck and dam
c
:
RegisterEffect
(
e3
)
local
e4
=
Effect
.
CreateEffect
(
c
)
--extra attack
e4
:
SetCategory
(
CATEGORY_TODECK
+
CATEGORY_DAMAGE
)
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e4
:
SetType
(
EFFECT_TYPE_SINGLE
)
e4
:
SetCode
(
EVENT_FREE_CHAIN
)
e4
:
SetCode
(
EFFECT_EXTRA_ATTACK
)
e4
:
SetHintTiming
(
0
,
TIMINGS_CHECK_MONSTER
)
e4
:
SetRange
(
LOCATION_MZONE
)
e4
:
SetRange
(
LOCATION_MZONE
)
e4
:
SetCountLimit
(
1
,
75000003
)
e4
:
SetCondition
(
c75000003
.
efcon3
)
e4
:
SetCost
(
c75000003
.
tddcost
)
e4
:
SetValue
(
1
)
e4
:
SetTarget
(
c75000003
.
tddtg
)
c
:
RegisterEffect
(
e4
)
e4
:
SetOperation
(
c75000003
.
tddop
)
--special summon
c
:
RegisterEffect
(
e4
)
--fusion
local
e5
=
Effect
.
CreateEffect
(
c
)
local
e5
=
Effect
.
CreateEffect
(
c
)
e5
:
Set
Category
(
CATEGORY_TODECK
+
CATEGORY_SPECIAL_SUMMON
+
CATEGORY_FUSION_SUMMON
)
e5
:
Set
Description
(
aux
.
Stringid
(
75000003
,
1
)
)
e5
:
SetType
(
EFFECT_TYPE_
SINGLE
+
EFFECT_TYPE_TRIGGER
_O
)
e5
:
SetType
(
EFFECT_TYPE_
QUICK
_O
)
e5
:
SetCode
(
EVENT_
LEAVE_FIELD
)
e5
:
SetCode
(
EVENT_
FREE_CHAIN
)
e5
:
Set
Property
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_DAMAGE_STEP
)
e5
:
Set
CountLimit
(
1
)
e5
:
Set
CountLimit
(
1
,
15000003
)
e5
:
Set
HintTiming
(
0
,
TIMINGS_CHECK_MONSTER
+
TIMING_MAIN_END
)
e5
:
Set
Condition
(
function
(
e
)
e5
:
Set
Range
(
LOCATION_MZONE
)
return
e
:
GetHandler
():
GetReasonPlayer
()
==
1
-
e
:
GetHandlerPlayer
()
end
)
e5
:
SetCondition
(
c75000003
.
efcon4
)
e5
:
SetTarget
(
c75000003
.
fu
tg
)
e5
:
SetTarget
(
c75000003
.
sp
tg
)
e5
:
SetOperation
(
c75000003
.
fu
op
)
e5
:
SetOperation
(
c75000003
.
sp
op
)
c
:
RegisterEffect
(
e5
)
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
end
c75000003
.
material_setcode
=
75000001
c75000003
.
fusion_effect
=
true
function
c75000003
.
tddcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c75000003
.
fspcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
c
=
e
:
GetHandler
()
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
)
return
c
:
IsPreviousPosition
(
POS_FACEUP
)
and
c
:
IsPreviousLocation
(
LOCATION_ONFIELD
)
Duel
.
SendtoGrave
(
g
,
REASON_COST
)
end
end
function
c75000003
.
fspfilter0
(
c
)
function
c75000003
.
tddtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
return
(
c
:
IsLocation
(
LOCATION_GRAVE
)
or
c
:
IsFaceup
())
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsAbleToDeck
()
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
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
nil
,
2
,
1
-
tp
,
LOCATION_GRAVE
+
LOCATION_ONFIELD
)
function
c75000003
.
fspfilter1
(
c
,
e
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DAMAGE
,
nil
,
0
,
1
-
tp
,
600
)
return
(
c
:
IsLocation
(
LOCATION_GRAVE
)
or
c
:
IsFaceup
())
and
c
:
IsType
(
TYPE_MONSTER
)
and
not
c
:
IsImmuneToEffect
(
e
)
and
c
:
IsAbleToDeck
()
end
end
function
c75000003
.
tddop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c75000003
.
fspfilter2
(
c
,
e
,
tp
,
m
,
f
,
chkf
)
local
c
=
e
:
GetHandler
()
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
)
local
g
=
Group
.
CreateGroup
()
end
if
Duel
.
IsExistingMatchingCard
(
Card
.
IsAbleToDeck
,
tp
,
0
,
LOCATION_ONFIELD
,
1
,
nil
)
then
function
c75000003
.
fsptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
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
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
()
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
)
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
)
end
function
c75000003
.
futg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
if
chk
==
0
then
local
chkf
=
tp
local
chkf
=
tp
local
mg
=
Duel
.
GetMatchingGroup
(
c75000003
.
filter0
,
tp
,
LOCATION_ONFIELD
+
LOCATION_GRAVE
+
LOCATION_REMOVED
,
0
,
nil
)
local
mg
1
=
Duel
.
GetMatchingGroup
(
c75000003
.
fspfilter0
,
tp
,
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
res
=
Duel
.
IsExistingMatchingCard
(
c75000003
.
f
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
1
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
if
not
res
then
if
not
res
then
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
local
fgroup
=
ce
:
GetTarget
()
local
mg
3
=
fgroup
(
ce
,
e
,
tp
)
local
mg
2
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
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
end
end
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_
GRAVE
+
LOCATION_REMOVED
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
nil
,
1
,
tp
,
LOCATION_GRAVE
+
LOCATION_REMOVED
)
end
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
chkf
=
tp
local
mg
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
c75000003
.
filter1
),
tp
,
LOCATION_ONFIELD
+
LOCATION_GRAVE
+
LOCATION_REMOVED
,
0
,
nil
,
e
)
local
mg
1
=
Duel
.
GetMatchingGroup
(
c75000003
.
fspfilter1
,
tp
,
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
sg1
=
Duel
.
GetMatchingGroup
(
c75000003
.
f
spfilter2
,
tp
,
LOCATION_EXTRA
,
0
,
nil
,
e
,
tp
,
mg1
,
nil
,
chkf
)
local
mg
3
=
nil
local
mg
2
=
nil
local
sg2
=
nil
local
sg2
=
nil
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
local
ce
=
Duel
.
GetChainMaterial
(
tp
)
if
ce
~=
nil
then
if
ce
~=
nil
then
local
fgroup
=
ce
:
GetTarget
()
local
fgroup
=
ce
:
GetTarget
()
mg
3
=
fgroup
(
ce
,
e
,
tp
)
mg
2
=
fgroup
(
ce
,
e
,
tp
)
local
mf
=
ce
:
GetValue
()
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
end
if
sg1
:
GetCount
()
>
0
or
(
sg2
~=
nil
and
sg2
:
GetCount
()
>
0
)
then
if
sg1
:
GetCount
()
>
0
or
(
sg2
~=
nil
and
sg2
:
GetCount
()
>
0
)
then
local
sg
=
sg1
:
Clone
()
local
sg
=
sg1
:
Clone
()
...
@@ -129,17 +128,14 @@ function c75000003.fuop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -129,17 +128,14 @@ function c75000003.fuop(e,tp,eg,ep,ev,re,r,rp)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tg
=
sg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
tg
:
GetFirst
()
local
tc
=
tg
:
GetFirst
()
if
sg1
:
IsContains
(
tc
)
and
(
sg2
==
nil
or
not
sg2
:
IsContains
(
tc
)
or
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
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
)
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
tc
:
SetMaterial
(
mat
)
tc
:
SetMaterial
(
mat1
)
if
mat
:
IsExists
(
Card
.
IsFacedown
,
1
,
nil
)
then
Duel
.
HintSelection
(
mat1
)
local
cg
=
mat
:
Filter
(
Card
.
IsFacedown
,
nil
)
Duel
.
SendtoDeck
(
mat1
,
nil
,
SEQ_DECKSHUFFLE
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
ConfirmCards
(
1
-
tp
,
cg
)
end
Duel
.
SendtoDeck
(
mat
,
nil
,
SEQ_DECKSHUFFLE
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
else
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
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
end
end
...
@@ -147,10 +143,111 @@ function c75000003.fuop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -147,10 +143,111 @@ function c75000003.fuop(e,tp,eg,ep,ev,re,r,rp)
end
end
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