Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
ygopro-scripts
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
八宫一月
ygopro-scripts
Commits
13c1889e
Commit
13c1889e
authored
Apr 10, 2016
by
DailyShana
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix (40/80)
parent
084a91d2
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
172 additions
and
106 deletions
+172
-106
c29951323.lua
c29951323.lua
+58
-12
c32134638.lua
c32134638.lua
+1
-1
c33256280.lua
c33256280.lua
+14
-9
c56562619.lua
c56562619.lua
+8
-9
c60473572.lua
c60473572.lua
+14
-9
c69351984.lua
c69351984.lua
+14
-9
c7868571.lua
c7868571.lua
+14
-9
c94689206.lua
c94689206.lua
+12
-12
c96746083.lua
c96746083.lua
+37
-36
No files found.
c29951323.lua
View file @
13c1889e
...
@@ -17,19 +17,58 @@ function c29951323.initial_effect(c)
...
@@ -17,19 +17,58 @@ function c29951323.initial_effect(c)
e2
:
SetCountLimit
(
2
)
e2
:
SetCountLimit
(
2
)
e2
:
SetValue
(
c29951323
.
valcon
)
e2
:
SetValue
(
c29951323
.
valcon
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
--
disable spsummon
--
spsummon limit
local
e3
=
Effect
.
CreateEffect
(
c
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetCode
(
EFFECT_CANNOT_SPECIAL_SUMMON
)
e3
:
SetCode
(
EFFECT_CANNOT_SPECIAL_SUMMON
)
e3
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e3
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e3
:
SetTargetRange
(
1
,
0
)
e3
:
SetTargetRange
(
1
,
1
)
e3
:
Set
Condition
(
c29951323
.
spcon
)
e3
:
Set
Target
(
c29951323
.
limittg
)
c
:
RegisterEffect
(
e3
)
c
:
RegisterEffect
(
e3
)
local
e4
=
e3
:
Clone
()
--counter
e4
:
SetTargetRange
(
0
,
1
)
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetCondition
(
c29951323
.
spcon2
)
e4
:
SetType
(
EFFECT_TYPE_FIELD
)
e4
:
SetCode
(
EFFECT_LEFT_SPSUMMON_COUNT
)
e4
:
SetRange
(
LOCATION_SZONE
)
e4
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e4
:
SetTargetRange
(
1
,
0
)
e4
:
SetCondition
(
c29951323
.
countcon1
)
e4
:
SetValue
(
c29951323
.
countval
)
c
:
RegisterEffect
(
e4
)
c
:
RegisterEffect
(
e4
)
local
e5
=
e4
:
Clone
()
e5
:
SetCondition
(
c29951323
.
countcon2
)
e5
:
SetTargetRange
(
0
,
1
)
c
:
RegisterEffect
(
e5
)
if
not
c29951323
.
global_check
then
c29951323
.
global_check
=
true
c29951323
[
0
]
=
0
c29951323
[
1
]
=
0
local
ge1
=
Effect
.
CreateEffect
(
c
)
ge1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
ge1
:
SetCode
(
EVENT_ATTACK_ANNOUNCE
)
ge1
:
SetOperation
(
c29951323
.
checkop1
)
Duel
.
RegisterEffect
(
ge1
,
0
)
local
ge2
=
ge1
:
Clone
()
ge2
:
SetCode
(
EVENT_ATTACK_DISABLED
)
ge2
:
SetOperation
(
c29951323
.
checkop2
)
Duel
.
RegisterEffect
(
ge2
,
0
)
local
ge3
=
Effect
.
CreateEffect
(
c
)
ge3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
ge3
:
SetCode
(
EVENT_PHASE_START
+
PHASE_DRAW
)
ge3
:
SetOperation
(
c29951323
.
clear
)
Duel
.
RegisterEffect
(
ge3
,
0
)
end
end
function
c29951323
.
checkop1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
c29951323
[
ep
]
=
c29951323
[
ep
]
+
1
end
function
c29951323
.
checkop2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
c29951323
[
ep
]
=
c29951323
[
ep
]
-
1
end
function
c29951323
.
clear
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
c29951323
[
0
]
=
0
c29951323
[
1
]
=
0
end
end
function
c29951323
.
splimit
(
e
,
se
,
sp
,
st
)
function
c29951323
.
splimit
(
e
,
se
,
sp
,
st
)
return
se
:
IsHasType
(
EFFECT_TYPE_ACTIONS
)
and
Duel
.
GetActivityCount
(
e
:
GetHandlerPlayer
(),
ACTIVITY_SPSUMMON
)
==
0
return
se
:
IsHasType
(
EFFECT_TYPE_ACTIONS
)
and
Duel
.
GetActivityCount
(
e
:
GetHandlerPlayer
(),
ACTIVITY_SPSUMMON
)
==
0
...
@@ -38,11 +77,18 @@ end
...
@@ -38,11 +77,18 @@ end
function
c29951323
.
valcon
(
e
,
re
,
r
,
rp
)
function
c29951323
.
valcon
(
e
,
re
,
r
,
rp
)
return
bit
.
band
(
r
,
REASON_BATTLE
)
~=
0
return
bit
.
band
(
r
,
REASON_BATTLE
)
~=
0
end
end
function
c29951323
.
spcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c29951323
.
limittg
(
e
,
c
,
tp
)
return
Duel
.
GetTurnPlayer
()
==
tp
if
Duel
.
GetTurnPlayer
()
~=
tp
then
return
false
end
and
Duel
.
GetActivityCount
(
tp
,
ACTIVITY_SPSUMMON
)
>=
Duel
.
GetActivityCount
(
tp
,
ACTIVITY_ATTACK
)
return
Duel
.
GetActivityCount
(
tp
,
ACTIVITY_SPSUMMON
)
>=
c29951323
[
tp
]
end
function
c29951323
.
countcon1
(
e
)
return
Duel
.
GetTurnPlayer
()
==
e
:
GetHandlerPlayer
()
end
function
c29951323
.
countcon2
(
e
)
return
Duel
.
GetTurnPlayer
()
~=
e
:
GetHandlerPlayer
()
end
end
function
c29951323
.
spcon2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c29951323
.
countval
(
e
,
tp
)
return
Duel
.
GetTurnPlayer
()
~=
tp
local
t1
=
Duel
.
GetActivityCount
(
tp
,
ACTIVITY_SPSUMMON
)
and
Duel
.
GetActivityCount
(
1
-
tp
,
ACTIVITY_SPSUMMON
)
>=
Duel
.
GetActivityCount
(
1
-
tp
,
ACTIVITY_ATTACK
)
local
t2
=
c29951323
[
tp
]
if
t1
>=
t2
then
return
0
else
return
t2
-
t1
end
end
end
c32134638.lua
View file @
13c1889e
...
@@ -7,7 +7,7 @@ function c32134638.initial_effect(c)
...
@@ -7,7 +7,7 @@ function c32134638.initial_effect(c)
e1
:
SetDescription
(
aux
.
Stringid
(
32134638
,
0
))
e1
:
SetDescription
(
aux
.
Stringid
(
32134638
,
0
))
e1
:
SetCategory
(
CATEGORY_DISABLE
)
e1
:
SetCategory
(
CATEGORY_DISABLE
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetCode
(
EVENT_CHAIN_
SOLV
ING
)
e1
:
SetCode
(
EVENT_CHAIN_
ACTIVAT
ING
)
e1
:
SetRange
(
LOCATION_PZONE
)
e1
:
SetRange
(
LOCATION_PZONE
)
e1
:
SetCondition
(
c32134638
.
negcon
)
e1
:
SetCondition
(
c32134638
.
negcon
)
e1
:
SetOperation
(
c32134638
.
negop
)
e1
:
SetOperation
(
c32134638
.
negop
)
...
...
c33256280.lua
View file @
13c1889e
...
@@ -13,18 +13,23 @@ function c33256280.initial_effect(c)
...
@@ -13,18 +13,23 @@ function c33256280.initial_effect(c)
e1
:
SetOperation
(
c33256280
.
operation
)
e1
:
SetOperation
(
c33256280
.
operation
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
end
end
function
c33256280
.
desfilter
(
c
)
function
c33256280
.
desfilter
(
c
,
tp
,
ft
)
return
c
:
IsFaceup
()
and
c
:
IsDestructable
()
if
c
:
IsFacedown
()
or
not
c
:
IsDestructable
()
then
return
false
end
if
ft
==
0
and
c
:
IsLocation
(
LOCATION_SZONE
)
and
c
:
GetSequence
()
<
5
then
return
Duel
.
IsExistingMatchingCard
(
c33256280
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
,
true
)
else
return
Duel
.
IsExistingMatchingCard
(
c33256280
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
,
false
)
end
end
end
function
c33256280
.
filter
(
c
)
function
c33256280
.
filter
(
c
,
ignore
)
return
c
:
IsSetCard
(
0xe1
)
and
c
:
IsType
(
TYPE_SPELL
+
TYPE_TRAP
)
and
c
:
IsSSetable
()
return
c
:
IsSetCard
(
0xe1
)
and
c
:
IsType
(
TYPE_SPELL
+
TYPE_TRAP
)
and
c
:
IsSSetable
(
ignore
)
end
end
function
c33256280
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c33256280
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsOnField
()
and
chkc
:
IsControler
(
tp
)
and
c33256280
.
desfilter
(
chkc
)
and
chkc
~=
e
:
GetHandler
()
end
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c33256280
.
desfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
e
:
GetHandler
())
if
chk
c
then
return
chkc
:
IsOnField
()
and
chkc
:
IsControler
(
tp
)
and
c33256280
.
desfilter
(
chkc
,
ft
)
and
chkc
~=
e
:
GetHandler
()
end
and
Duel
.
IsExistingMatchingCard
(
c33256280
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c33256280
.
desfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
e
:
GetHandler
(),
ft
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c33256280
.
desfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
1
,
e
:
GetHandler
())
local
g
=
Duel
.
SelectTarget
(
tp
,
c33256280
.
desfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
1
,
e
:
GetHandler
()
,
ft
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
g
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
g
,
1
,
0
,
0
)
end
end
function
c33256280
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c33256280
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
@@ -32,7 +37,7 @@ function c33256280.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -32,7 +37,7 @@ function c33256280.operation(e,tp,eg,ep,ev,re,r,rp)
local
tc
=
Duel
.
GetFirstTarget
()
local
tc
=
Duel
.
GetFirstTarget
()
if
c
:
IsRelateToEffect
(
e
)
and
tc
:
IsRelateToEffect
(
e
)
and
Duel
.
Destroy
(
tc
,
REASON_EFFECT
)
~=
0
then
if
c
:
IsRelateToEffect
(
e
)
and
tc
:
IsRelateToEffect
(
e
)
and
Duel
.
Destroy
(
tc
,
REASON_EFFECT
)
~=
0
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SET
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SET
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c33256280
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c33256280
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
false
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
Duel
.
SSet
(
tp
,
g
:
GetFirst
())
Duel
.
SSet
(
tp
,
g
:
GetFirst
())
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
...
...
c56562619.lua
View file @
13c1889e
...
@@ -39,19 +39,19 @@ end
...
@@ -39,19 +39,19 @@ end
function
c56562619
.
splimit
(
e
,
se
,
sp
,
st
)
function
c56562619
.
splimit
(
e
,
se
,
sp
,
st
)
return
(
se
:
IsActiveType
(
TYPE_MONSTER
)
and
se
:
GetHandler
():
IsSetCard
(
0x2b
))
or
se
:
GetHandler
():
IsSetCard
(
0x61
)
return
(
se
:
IsActiveType
(
TYPE_MONSTER
)
and
se
:
GetHandler
():
IsSetCard
(
0x2b
))
or
se
:
GetHandler
():
IsSetCard
(
0x61
)
end
end
function
c56562619
.
c
1filter
(
c
)
function
c56562619
.
c
filter1
(
c
)
return
(
c
:
IsLocation
(
LOCATION_HAND
)
or
c
:
IsFaceup
())
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsSetCard
(
0x2b
)
and
c
:
IsAbleToGraveAsCost
()
return
(
c
:
IsLocation
(
LOCATION_HAND
)
or
c
:
IsFaceup
())
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsSetCard
(
0x2b
)
and
c
:
IsAbleToGraveAsCost
()
end
end
function
c56562619
.
c
2filter
(
c
)
function
c56562619
.
c
filter2
(
c
)
return
(
c
:
IsLocation
(
LOCATION_HAND
)
or
c
:
IsFaceup
())
and
c
:
IsSetCard
(
0x61
)
and
c
:
IsAbleToGraveAsCost
()
return
(
c
:
IsLocation
(
LOCATION_HAND
)
or
c
:
IsFaceup
())
and
c
:
IsSetCard
(
0x61
)
and
c
:
IsAbleToGraveAsCost
()
end
end
function
c56562619
.
rmcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c56562619
.
rmcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c56562619
.
c
1filter
,
tp
,
LOCATION_HAND
+
LOCATION_ONFIELD
,
0
,
1
,
nil
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c56562619
.
c
filter1
,
tp
,
LOCATION_HAND
+
LOCATION_ONFIELD
,
0
,
1
,
nil
)
and
Duel
.
IsExistingMatchingCard
(
c56562619
.
c
2filter
,
tp
,
LOCATION_HAND
+
LOCATION_ONFIELD
,
0
,
1
,
nil
)
end
and
Duel
.
IsExistingMatchingCard
(
c56562619
.
c
filter2
,
tp
,
LOCATION_HAND
+
LOCATION_ONFIELD
,
0
,
1
,
nil
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
g1
=
Duel
.
SelectMatchingCard
(
tp
,
c56562619
.
c
1filter
,
tp
,
LOCATION_HAND
+
LOCATION_ONFIELD
,
0
,
1
,
1
,
nil
)
local
g1
=
Duel
.
SelectMatchingCard
(
tp
,
c56562619
.
c
filter1
,
tp
,
LOCATION_HAND
+
LOCATION_ONFIELD
,
0
,
1
,
1
,
nil
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
g2
=
Duel
.
SelectMatchingCard
(
tp
,
c56562619
.
c
2filter
,
tp
,
LOCATION_HAND
+
LOCATION_ONFIELD
,
0
,
1
,
1
,
nil
)
local
g2
=
Duel
.
SelectMatchingCard
(
tp
,
c56562619
.
c
filter2
,
tp
,
LOCATION_HAND
+
LOCATION_ONFIELD
,
0
,
1
,
1
,
nil
)
g1
:
Merge
(
g2
)
g1
:
Merge
(
g2
)
Duel
.
SendtoGrave
(
g1
,
REASON_COST
)
Duel
.
SendtoGrave
(
g1
,
REASON_COST
)
end
end
...
@@ -81,7 +81,7 @@ function c56562619.spcon(e,tp,eg,ep,ev,re,r,rp)
...
@@ -81,7 +81,7 @@ function c56562619.spcon(e,tp,eg,ep,ev,re,r,rp)
local
act
=
e
:
GetLabel
()
local
act
=
e
:
GetLabel
()
e
:
SetLabel
(
0
)
e
:
SetLabel
(
0
)
if
act
==
1
and
c
:
IsPreviousPosition
(
POS_FACEUP
)
and
c
:
GetLocation
()
~=
LOCATION_DECK
if
act
==
1
and
c
:
IsPreviousPosition
(
POS_FACEUP
)
and
c
:
GetLocation
()
~=
LOCATION_DECK
and
c
:
GetFlagEffect
(
56562619
)
then
return
true
and
c
:
GetFlagEffect
(
56562619
)
~=
0
then
return
true
else
rg
:
Clear
()
return
false
end
else
rg
:
Clear
()
return
false
end
end
end
function
c56562619
.
spfilter
(
c
,
e
,
tp
)
function
c56562619
.
spfilter
(
c
,
e
,
tp
)
...
@@ -94,9 +94,8 @@ end
...
@@ -94,9 +94,8 @@ end
function
c56562619
.
spfilter2
(
c
,
e
,
tp
)
function
c56562619
.
spfilter2
(
c
,
e
,
tp
)
return
c
:
GetFlagEffect
(
56562619
)
~=
0
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
1
-
tp
)
and
c
:
GetOwner
()
==
1
-
tp
return
c
:
GetFlagEffect
(
56562619
)
~=
0
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
1
-
tp
)
and
c
:
GetOwner
()
==
1
-
tp
end
end
function
c56562619
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c56562619
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
rg
=
e
:
GetLabelObject
()
local
rg
=
e
:
GetLabelObject
()
if
chkc
then
return
rg
:
IsContains
(
chkc
)
and
c56562619
.
spfilter
(
chkc
,
e
,
tp
)
end
if
chk
==
0
then
if
chk
==
0
then
if
rg
:
IsExists
(
c56562619
.
spfilter
,
1
,
nil
,
e
,
tp
)
then
return
true
if
rg
:
IsExists
(
c56562619
.
spfilter
,
1
,
nil
,
e
,
tp
)
then
return
true
else
rg
:
Clear
()
return
false
end
else
rg
:
Clear
()
return
false
end
...
...
c60473572.lua
View file @
13c1889e
...
@@ -13,18 +13,23 @@ function c60473572.initial_effect(c)
...
@@ -13,18 +13,23 @@ function c60473572.initial_effect(c)
e1
:
SetOperation
(
c60473572
.
operation
)
e1
:
SetOperation
(
c60473572
.
operation
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
end
end
function
c60473572
.
desfilter
(
c
)
function
c60473572
.
desfilter
(
c
,
tp
,
ft
)
return
c
:
IsFaceup
()
and
c
:
IsDestructable
()
if
c
:
IsFacedown
()
or
not
c
:
IsDestructable
()
then
return
false
end
if
ft
==
0
and
c
:
IsLocation
(
LOCATION_SZONE
)
and
c
:
GetSequence
()
<
5
then
return
Duel
.
IsExistingMatchingCard
(
c60473572
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
,
true
)
else
return
Duel
.
IsExistingMatchingCard
(
c60473572
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
,
false
)
end
end
end
function
c60473572
.
filter
(
c
)
function
c60473572
.
filter
(
c
,
ignore
)
return
c
:
IsSetCard
(
0xe1
)
and
c
:
IsType
(
TYPE_SPELL
+
TYPE_TRAP
)
and
c
:
IsSSetable
()
return
c
:
IsSetCard
(
0xe1
)
and
c
:
IsType
(
TYPE_SPELL
+
TYPE_TRAP
)
and
c
:
IsSSetable
(
ignore
)
end
end
function
c60473572
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c60473572
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsOnField
()
and
chkc
:
IsControler
(
tp
)
and
c60473572
.
desfilter
(
chkc
)
and
chkc
~=
e
:
GetHandler
()
end
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c60473572
.
desfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
e
:
GetHandler
())
if
chk
c
then
return
chkc
:
IsOnField
()
and
chkc
:
IsControler
(
tp
)
and
c60473572
.
desfilter
(
chkc
,
ft
)
and
chkc
~=
e
:
GetHandler
()
end
and
Duel
.
IsExistingMatchingCard
(
c60473572
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c60473572
.
desfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
e
:
GetHandler
(),
ft
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c60473572
.
desfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
1
,
e
:
GetHandler
())
local
g
=
Duel
.
SelectTarget
(
tp
,
c60473572
.
desfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
1
,
e
:
GetHandler
()
,
ft
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
g
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
g
,
1
,
0
,
0
)
end
end
function
c60473572
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c60473572
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
@@ -32,7 +37,7 @@ function c60473572.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -32,7 +37,7 @@ function c60473572.operation(e,tp,eg,ep,ev,re,r,rp)
local
tc
=
Duel
.
GetFirstTarget
()
local
tc
=
Duel
.
GetFirstTarget
()
if
c
:
IsRelateToEffect
(
e
)
and
tc
:
IsRelateToEffect
(
e
)
and
Duel
.
Destroy
(
tc
,
REASON_EFFECT
)
~=
0
then
if
c
:
IsRelateToEffect
(
e
)
and
tc
:
IsRelateToEffect
(
e
)
and
Duel
.
Destroy
(
tc
,
REASON_EFFECT
)
~=
0
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SET
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SET
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c60473572
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c60473572
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
false
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
Duel
.
SSet
(
tp
,
g
:
GetFirst
())
Duel
.
SSet
(
tp
,
g
:
GetFirst
())
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
...
...
c69351984.lua
View file @
13c1889e
...
@@ -13,18 +13,23 @@ function c69351984.initial_effect(c)
...
@@ -13,18 +13,23 @@ function c69351984.initial_effect(c)
e1
:
SetOperation
(
c69351984
.
operation
)
e1
:
SetOperation
(
c69351984
.
operation
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
end
end
function
c69351984
.
desfilter
(
c
)
function
c69351984
.
desfilter
(
c
,
tp
,
ft
)
return
c
:
IsFaceup
()
and
c
:
IsDestructable
()
if
c
:
IsFacedown
()
or
not
c
:
IsDestructable
()
then
return
false
end
if
ft
==
0
and
c
:
IsLocation
(
LOCATION_SZONE
)
and
c
:
GetSequence
()
<
5
then
return
Duel
.
IsExistingMatchingCard
(
c69351984
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
,
true
)
else
return
Duel
.
IsExistingMatchingCard
(
c69351984
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
,
false
)
end
end
end
function
c69351984
.
filter
(
c
)
function
c69351984
.
filter
(
c
,
ignore
)
return
c
:
IsSetCard
(
0xe1
)
and
c
:
IsType
(
TYPE_SPELL
+
TYPE_TRAP
)
and
c
:
IsSSetable
()
return
c
:
IsSetCard
(
0xe1
)
and
c
:
IsType
(
TYPE_SPELL
+
TYPE_TRAP
)
and
c
:
IsSSetable
(
ignore
)
end
end
function
c69351984
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c69351984
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsOnField
()
and
chkc
:
IsControler
(
tp
)
and
c69351984
.
desfilter
(
chkc
)
and
chkc
~=
e
:
GetHandler
()
end
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c69351984
.
desfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
e
:
GetHandler
())
if
chk
c
then
return
chkc
:
IsOnField
()
and
chkc
:
IsControler
(
tp
)
and
c69351984
.
desfilter
(
chkc
,
ft
)
and
chkc
~=
e
:
GetHandler
()
end
and
Duel
.
IsExistingMatchingCard
(
c69351984
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c69351984
.
desfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
e
:
GetHandler
(),
ft
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c69351984
.
desfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
1
,
e
:
GetHandler
())
local
g
=
Duel
.
SelectTarget
(
tp
,
c69351984
.
desfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
1
,
e
:
GetHandler
()
,
ft
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
g
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
g
,
1
,
0
,
0
)
end
end
function
c69351984
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c69351984
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
@@ -32,7 +37,7 @@ function c69351984.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -32,7 +37,7 @@ function c69351984.operation(e,tp,eg,ep,ev,re,r,rp)
local
tc
=
Duel
.
GetFirstTarget
()
local
tc
=
Duel
.
GetFirstTarget
()
if
c
:
IsRelateToEffect
(
e
)
and
tc
:
IsRelateToEffect
(
e
)
and
Duel
.
Destroy
(
tc
,
REASON_EFFECT
)
~=
0
then
if
c
:
IsRelateToEffect
(
e
)
and
tc
:
IsRelateToEffect
(
e
)
and
Duel
.
Destroy
(
tc
,
REASON_EFFECT
)
~=
0
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SET
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SET
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c69351984
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c69351984
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
false
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
Duel
.
SSet
(
tp
,
g
:
GetFirst
())
Duel
.
SSet
(
tp
,
g
:
GetFirst
())
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
...
...
c7868571.lua
View file @
13c1889e
...
@@ -13,18 +13,23 @@ function c7868571.initial_effect(c)
...
@@ -13,18 +13,23 @@ function c7868571.initial_effect(c)
e1
:
SetOperation
(
c7868571
.
operation
)
e1
:
SetOperation
(
c7868571
.
operation
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
end
end
function
c7868571
.
desfilter
(
c
)
function
c7868571
.
desfilter
(
c
,
tp
,
ft
)
return
c
:
IsFaceup
()
and
c
:
IsDestructable
()
if
c
:
IsFacedown
()
or
not
c
:
IsDestructable
()
then
return
false
end
if
ft
==
0
and
c
:
IsLocation
(
LOCATION_SZONE
)
and
c
:
GetSequence
()
<
5
then
return
Duel
.
IsExistingMatchingCard
(
c7868571
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
,
true
)
else
return
Duel
.
IsExistingMatchingCard
(
c7868571
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
,
false
)
end
end
end
function
c7868571
.
filter
(
c
)
function
c7868571
.
filter
(
c
,
ignore
)
return
c
:
IsSetCard
(
0xe1
)
and
c
:
IsType
(
TYPE_SPELL
+
TYPE_TRAP
)
and
c
:
IsSSetable
()
return
c
:
IsSetCard
(
0xe1
)
and
c
:
IsType
(
TYPE_SPELL
+
TYPE_TRAP
)
and
c
:
IsSSetable
(
ignore
)
end
end
function
c7868571
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
function
c7868571
.
target
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
if
chkc
then
return
chkc
:
IsOnField
()
and
chkc
:
IsControler
(
tp
)
and
c7868571
.
desfilter
(
chkc
)
and
chkc
~=
e
:
GetHandler
()
end
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_SZONE
)
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c7868571
.
desfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
e
:
GetHandler
())
if
chk
c
then
return
chkc
:
IsOnField
()
and
chkc
:
IsControler
(
tp
)
and
c7868571
.
desfilter
(
chkc
,
ft
)
and
chkc
~=
e
:
GetHandler
()
end
and
Duel
.
IsExistingMatchingCard
(
c7868571
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c7868571
.
desfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
e
:
GetHandler
(),
ft
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
local
g
=
Duel
.
SelectTarget
(
tp
,
c7868571
.
desfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
1
,
e
:
GetHandler
())
local
g
=
Duel
.
SelectTarget
(
tp
,
c7868571
.
desfilter
,
tp
,
LOCATION_ONFIELD
,
0
,
1
,
1
,
e
:
GetHandler
()
,
ft
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
g
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
g
,
1
,
0
,
0
)
end
end
function
c7868571
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c7868571
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
@@ -32,7 +37,7 @@ function c7868571.operation(e,tp,eg,ep,ev,re,r,rp)
...
@@ -32,7 +37,7 @@ function c7868571.operation(e,tp,eg,ep,ev,re,r,rp)
local
tc
=
Duel
.
GetFirstTarget
()
local
tc
=
Duel
.
GetFirstTarget
()
if
c
:
IsRelateToEffect
(
e
)
and
tc
:
IsRelateToEffect
(
e
)
and
Duel
.
Destroy
(
tc
,
REASON_EFFECT
)
~=
0
then
if
c
:
IsRelateToEffect
(
e
)
and
tc
:
IsRelateToEffect
(
e
)
and
Duel
.
Destroy
(
tc
,
REASON_EFFECT
)
~=
0
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SET
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SET
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c7868571
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c7868571
.
filter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
false
)
if
g
:
GetCount
()
>
0
then
if
g
:
GetCount
()
>
0
then
Duel
.
SSet
(
tp
,
g
:
GetFirst
())
Duel
.
SSet
(
tp
,
g
:
GetFirst
())
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
...
...
c94689206.lua
View file @
13c1889e
...
@@ -17,14 +17,14 @@ function c94689206.initial_effect(c)
...
@@ -17,14 +17,14 @@ function c94689206.initial_effect(c)
e2
:
SetOperation
(
c94689206
.
spop
)
e2
:
SetOperation
(
c94689206
.
spop
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
--indes
--indes
local
e3
=
Effect
.
CreateEffect
(
c
)
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
)
e3
:
SetCode
(
EFFECT_INDESTRUCTABLE
)
e3
:
SetCode
(
EFFECT_INDESTRUCTABLE
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetTargetRange
(
LOCATION_MZONE
,
0
)
e3
:
SetTargetRange
(
LOCATION_MZONE
,
0
)
e3
:
SetTarget
(
aux
.
TargetBoolFunction
(
Card
.
IsRace
,
RACE_ROCK
))
e3
:
SetTarget
(
aux
.
TargetBoolFunction
(
Card
.
IsRace
,
RACE_ROCK
))
e3
:
SetValue
(
c94689206
.
indesval
)
e3
:
SetValue
(
c94689206
.
indesval
)
c
:
RegisterEffect
(
e3
)
c
:
RegisterEffect
(
e3
)
--to hand
--to hand
local
e4
=
Effect
.
CreateEffect
(
c
)
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetDescription
(
aux
.
Stringid
(
94689206
,
0
))
e4
:
SetDescription
(
aux
.
Stringid
(
94689206
,
0
))
...
@@ -52,7 +52,7 @@ function c94689206.spop(e,tp,eg,ep,ev,re,r,rp,c)
...
@@ -52,7 +52,7 @@ function c94689206.spop(e,tp,eg,ep,ev,re,r,rp,c)
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_COST
)
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_COST
)
end
end
function
c94689206
.
indesval
(
e
,
re
,
r
,
rp
)
function
c94689206
.
indesval
(
e
,
re
,
r
,
rp
)
return
bit
.
band
(
r
,
REASON_RULE
+
REASON_BATTLE
)
==
0
return
bit
.
band
(
r
,
REASON_RULE
+
REASON_BATTLE
)
==
0
end
end
function
c94689206
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c94689206
.
thcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
:
GetHandler
():
IsPreviousLocation
(
LOCATION_ONFIELD
)
return
e
:
GetHandler
():
IsPreviousLocation
(
LOCATION_ONFIELD
)
...
@@ -67,9 +67,9 @@ function c94689206.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
...
@@ -67,9 +67,9 @@ function c94689206.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
end
end
function
c94689206
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c94689206
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetMatchingGroup
(
c94689206
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
local
g
=
Duel
.
GetMatchingGroup
(
c94689206
.
thfilter
,
tp
,
LOCATION_DECK
,
0
,
nil
)
if
g
:
CheckWithSumEqual
(
Card
.
GetLevel
,
8
,
1
,
3
)
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
local
sg
=
g
:
SelectWithSumEqual
(
tp
,
Card
.
GetLevel
,
8
,
1
,
3
)
local
sg
=
g
:
SelectWithSumEqual
(
tp
,
Card
.
GetLevel
,
8
,
1
,
3
)
if
sg
:
GetCount
()
>
0
then
Duel
.
SendtoHand
(
sg
,
nil
,
REASON_EFFECT
)
Duel
.
SendtoHand
(
sg
,
nil
,
REASON_EFFECT
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg
)
Duel
.
ConfirmCards
(
1
-
tp
,
sg
)
end
end
...
...
c96746083.lua
View file @
13c1889e
...
@@ -13,7 +13,7 @@ function c96746083.initial_effect(c)
...
@@ -13,7 +13,7 @@ function c96746083.initial_effect(c)
local
e2
=
Effect
.
CreateEffect
(
c
)
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetCategory
(
CATEGORY_TOHAND
)
e2
:
SetCategory
(
CATEGORY_TOHAND
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e2
:
SetCode
(
EVENT_DESTROYED
)
e2
:
SetCode
(
EVENT_DESTROYED
)
e2
:
SetCountLimit
(
1
,
96746084
)
e2
:
SetCountLimit
(
1
,
96746084
)
e2
:
SetCondition
(
c96746083
.
thcon
)
e2
:
SetCondition
(
c96746083
.
thcon
)
...
@@ -21,44 +21,47 @@ function c96746083.initial_effect(c)
...
@@ -21,44 +21,47 @@ function c96746083.initial_effect(c)
e2
:
SetOperation
(
c96746083
.
thop
)
e2
:
SetOperation
(
c96746083
.
thop
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
end
end
function
c96746083
.
desfilter
(
c
,
tc
)
function
c96746083
.
desfilter
(
c
)
return
c
~=
tc
and
c
:
IsType
(
TYPE_MONSTER
)
and
((
c
:
IsLocation
(
LOCATION_MZONE
)
and
c
:
IsFaceup
())
or
c
:
IsLocation
(
LOCATION_HAND
))
and
c
:
IsDestructable
()
return
c
:
IsType
(
TYPE_MONSTER
)
and
((
c
:
IsLocation
(
LOCATION_MZONE
)
and
c
:
IsFaceup
())
or
c
:
IsLocation
(
LOCATION_HAND
))
and
c
:
IsDestructable
()
end
function
c96746083
.
desfilter2
(
c
,
tc
)
return
c96746083
.
desfilter
(
c
,
tc
)
and
c
:
IsAttribute
(
ATTRIBUTE_FIRE
)
end
function
c96746083
.
rmfilter
(
c
,
tp
)
return
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsAbleToRemove
(
tp
)
end
end
function
c96746083
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c96746083
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g1
=
Duel
.
GetMatchingGroup
(
c96746083
.
desfilter
,
tp
,
LOCATION_MZONE
+
LOCATION_HAND
,
0
,
nil
,
c
)
local
g2
=
Duel
.
GetMatchingGroup
(
c96746083
.
desfilter2
,
tp
,
LOCATION_MZONE
+
LOCATION_HAND
,
0
,
nil
,
c
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
loc
=
LOCATION_MZONE
+
LOCATION_HAND
if
ft
<
0
then
loc
=
LOCATION_MZONE
end
local
g
=
Duel
.
GetMatchingGroup
(
c96746083
.
desfilter
,
tp
,
loc
,
0
,
c
)
if
chk
==
0
then
return
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
if
chk
==
0
then
return
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
and
g
1
:
GetCount
()
>=
2
and
g2
:
GetCount
()
>=
1
and
g
:
GetCount
()
>=
2
and
g
:
IsExists
(
Card
.
IsAttribute
,
1
,
nil
,
ATTRIBUTE_FIRE
)
and
(
ft
>
0
or
Duel
.
IsExistingMatchingCard
(
c96746083
.
desfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
c
))
end
and
(
ft
>
0
or
g
:
IsExists
(
Card
.
IsLocation
,
-
ft
+
1
,
nil
,
LOCATION_MZONE
))
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
g1
,
2
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DESTROY
,
nil
,
2
,
tp
,
loc
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
c
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SPECIAL_SUMMON
,
c
,
1
,
0
,
0
)
end
end
function
c96746083
.
rmfilter
(
c
,
tp
)
return
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsAbleToRemove
(
tp
)
end
function
c96746083
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c96746083
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
not
c96746083
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
0
)
then
return
end
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
local
loc
=
LOCATION_MZONE
+
LOCATION_HAND
if
ft
<
0
then
loc
=
LOCATION_MZONE
end
local
g
=
Duel
.
GetMatchingGroup
(
c96746083
.
desfilter
,
tp
,
loc
,
0
,
c
)
if
g
:
GetCount
()
<
2
or
not
g
:
IsExists
(
Card
.
IsAttribute
,
1
,
nil
,
ATTRIBUTE_FIRE
)
then
return
end
local
g1
=
nil
local
g2
=
nil
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
if
ft
<
1
then
g1
=
g
:
FilterSelect
(
tp
,
Card
.
IsLocation
,
1
,
1
,
nil
,
LOCATION_MZONE
)
else
g1
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
end
g
:
RemoveCard
(
g1
:
GetFirst
())
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
local
g1
=
Duel
.
SelectMatchingCard
(
tp
,
c96746083
.
desfilter2
,
tp
,
LOCATION_MZONE
+
LOCATION_HAND
,
0
,
1
,
1
,
nil
,
c
)
if
g1
:
GetFirst
():
IsAttribute
(
ATTRIBUTE_FIRE
)
then
if
g1
:
GetCount
()
<=
0
then
return
end
g2
=
g
:
Select
(
tp
,
1
,
1
,
nil
)
local
c1
=
g1
:
GetFirst
()
local
g2
if
c1
:
IsLocation
(
LOCATION_HAND
)
and
ft
<
1
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
g2
=
Duel
.
SelectMatchingCard
(
tp
,
c96746083
.
desfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
c1
,
c
)
else
else
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_DESTROY
)
g2
=
g
:
FilterSelect
(
tp
,
Card
.
IsAttribute
,
1
,
1
,
nil
,
ATTRIBUTE_FIRE
)
g2
=
Duel
.
SelectMatchingCard
(
tp
,
c96746083
.
desfilter
,
tp
,
LOCATION_MZONE
+
LOCATION_HAND
,
0
,
1
,
1
,
c1
,
c
)
end
end
if
g2
:
GetCount
()
<=
0
then
return
end
g1
:
Merge
(
g2
)
g1
:
Merge
(
g2
)
local
rm
=
g1
:
IsExists
(
Card
.
IsAttribute
,
2
,
nil
,
ATTRIBUTE_FIRE
)
if
Duel
.
Destroy
(
g1
,
REASON_EFFECT
)
==
2
then
if
Duel
.
Destroy
(
g1
,
REASON_EFFECT
)
==
2
then
if
not
c
:
IsRelateToEffect
(
e
)
then
return
end
if
not
c
:
IsRelateToEffect
(
e
)
then
return
end
if
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
==
0
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
if
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
==
0
and
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
...
@@ -66,13 +69,12 @@ function c96746083.spop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -66,13 +69,12 @@ function c96746083.spop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
SendtoGrave
(
c
,
REASON_RULE
)
Duel
.
SendtoGrave
(
c
,
REASON_RULE
)
return
return
end
end
local
g
=
Duel
.
GetMatchingGroup
(
c96746083
.
rmfilter
,
tp
,
0
,
LOCATION_MZONE
+
LOCATION_GRAVE
,
nil
,
tp
)
local
rg
=
Duel
.
GetMatchingGroup
(
c96746083
.
rmfilter
,
tp
,
0
,
LOCATION_MZONE
+
LOCATION_GRAVE
,
nil
,
tp
)
if
g1
:
FilterCount
(
Card
.
IsAttribute
,
nil
,
ATTRIBUTE_FIRE
)
==
2
and
g
:
GetCount
()
>
0
if
rm
and
rg
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
96746083
,
0
))
then
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
96746083
,
0
))
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
Duel
.
BreakEffect
()
local
tg
=
rg
:
Select
(
tp
,
1
,
1
,
nil
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c96746083
.
rmfilter
,
tp
,
0
,
LOCATION_MZONE
+
LOCATION_GRAVE
,
1
,
1
,
nil
,
tp
)
Duel
.
HintSelection
(
tg
)
Duel
.
HintSelection
(
g
)
Duel
.
Remove
(
tg
,
POS_FACEUP
,
REASON_EFFECT
)
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_EFFECT
)
end
end
end
end
end
end
...
@@ -80,12 +82,11 @@ function c96746083.thcon(e,tp,eg,ep,ev,re,r,rp)
...
@@ -80,12 +82,11 @@ function c96746083.thcon(e,tp,eg,ep,ev,re,r,rp)
return
e
:
GetHandler
():
IsReason
(
REASON_EFFECT
)
return
e
:
GetHandler
():
IsReason
(
REASON_EFFECT
)
end
end
function
c96746083
.
thfilter
(
c
)
function
c96746083
.
thfilter
(
c
)
return
not
c
:
IsAttribute
(
ATTRIBUTE_FIRE
)
and
c
:
IsRace
(
RACE_WYRM
)
and
c
:
IsAbleToHand
()
return
c
:
GetAttribute
()
~=
ATTRIBUTE_FIRE
and
c
:
IsRace
(
RACE_WYRM
)
and
c
:
IsAbleToHand
()
end
end
function
c96746083
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
c96746083
.
thtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
g
=
Duel
.
GetMatchingGroup
(
c96746083
.
thfilter
,
tp
,
LOCATION_GRAVE
,
0
,
nil
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c96746083
.
thfilter
,
tp
,
LOCATION_GRAVE
,
0
,
1
,
nil
)
end
if
chk
==
0
then
return
g
:
GetCount
()
>
0
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
nil
,
1
,
tp
,
LOCATION_GRAVE
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TOHAND
,
g
,
1
,
0
,
0
)
end
end
function
c96746083
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
c96746083
.
thop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_ATOHAND
)
...
...
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