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
7bbf3151
Commit
7bbf3151
authored
Mar 21, 2024
by
POLYMER
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
6be6c8aa
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
94 additions
and
268 deletions
+94
-268
expansions/script/c11450998.lua
expansions/script/c11450998.lua
+8
-6
expansions/script/c130006050.lua
expansions/script/c130006050.lua
+73
-260
expansions/script/c15000600.lua
expansions/script/c15000600.lua
+1
-1
expansions/script/c15000627.lua
expansions/script/c15000627.lua
+1
-1
expansions/script/c60152901.lua
expansions/script/c60152901.lua
+11
-0
No files found.
expansions/script/c11450998.lua
View file @
7bbf3151
...
...
@@ -23,6 +23,9 @@ function cm.initial_effect(c)
e2
:
SetCode
(
EVENT_TO_GRAVE
)
e2
:
SetOperation
(
cm
.
imop
)
c
:
RegisterEffect
(
e2
)
local
e3
=
e2
:
Clone
()
e3
:
SetCode
(
EVENT_REMOVE
)
--c:RegisterEffect(e3)
--check add count
if
not
cm
.
global_check
then
cm
.
global_check
=
true
...
...
@@ -95,15 +98,14 @@ function cm.imop(e,tp,eg,ep,ev,re,r,rp)
e1
:
SetLabel
(
1
)
end
Duel
.
RegisterEffect
(
e1
,
tp
)
--[[
local e2=Effect.CreateEffect(e:GetHandler())
local
e2
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e2
:
SetType
(
EFFECT_TYPE_SINGLE
)
e2
:
SetCode
(
0x20000000
+
m
+
1
)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetRange(LOCATION_GRAVE)
e2:SetTargetRange(1,0)
e2
:
SetProperty
(
EFFECT_FLAG_UNCOPYABLE
+
EFFECT_FLAG_IGNORE_IMMUNE
)
e2
:
SetRange
(
e
:
GetHandler
():
GetLocation
())
e2
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_END
)
e:GetHandler():RegisterEffect(e2)
--]]
e
:
GetHandler
():
RegisterFlagEffect
(
m
+
1
,
RESET_EVENT
+
RESETS_STANDAR
D
,
0
,
1
)
e
:
GetHandler
():
RegisterEffect
(
e2
)
--e:GetHandler():RegisterFlagEffect(m+1,RESET_EVENT+RESETS_STANDARD+RESET_PHASE+PHASE_EN
D,0,1)
end
function
cm
.
flcon
(
e
)
return
e
:
GetHandler
():
GetFlagEffect
(
m
+
1
)
>
0
...
...
expansions/script/c130006050.lua
View file @
7bbf3151
--
星之奔流★十三拘束解放
--
囚徒与恶眼
local
cm
,
m
=
GetID
()
function
cm
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
--spsummon condition
--search limit
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetCode
(
EFFECT_SPSUMMON_CONDITION
)
e1
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e1
:
SetCode
(
EVENT_CUSTOM
+
m
)
e1
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e1
:
SetRange
(
LOCATION_HAND
)
e1
:
SetCost
(
cm
.
cost
)
e1
:
SetOperation
(
cm
.
operation
)
c
:
RegisterEffect
(
e1
)
--tograve
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_CONTINUOUS
)
e2
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e2
:
SetOperation
(
cm
.
imop
)
c
:
RegisterEffect
(
e2
)
--immune
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
)
e3
:
SetCode
(
EFFECT_IMMUNE_EFFECT
)
e3
:
SetProperty
(
EFFECT_FLAG_SINGLE_RANGE
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetValue
(
cm
.
efilter
)
c
:
RegisterEffect
(
e3
)
--addition
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e4
:
SetCode
(
EVENT_CHAINING
)
e4
:
SetRange
(
LOCATION_EXTRA
)
e4
:
SetCondition
(
cm
.
chcon
)
e4
:
SetOperation
(
cm
.
chop
)
c
:
RegisterEffect
(
e4
)
end
function
cm
.
efilter
(
e
,
te
)
return
te
:
GetOwner
()
~=
e
:
GetOwner
()
end
function
cm
.
imop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
--tograve
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetCode
(
EVENT_ADJUST
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetProperty
(
EFFECT_FLAG_IGNORE_IMMUNE
)
e1
:
SetOperation
(
cm
.
adjustop
)
e1
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_END
,
2
)
e
:
GetHandler
():
RegisterEffect
(
e1
,
true
)
end
function
cm
.
tgfilter
(
c
,
tc
)
if
c
:
IsLocation
(
LOCATION_FZONE
)
then
return
false
end
local
seq
=
c
:
GetSequence
()
if
seq
==
5
then
seq
=
1
elseif
seq
==
6
then
seq
=
3
end
local
tseq
=
tc
:
GetSequence
()
if
tseq
==
5
then
tseq
=
1
elseif
tseq
==
6
then
tseq
=
3
end
return
tc
:
GetColumnGroup
():
IsContains
(
c
)
or
(
seq
+
tseq
==
3
)
or
(
seq
+
tseq
==
5
)
end
function
cm
.
adjustop
(
e
,
tp
)
local
phase
=
Duel
.
GetCurrentPhase
()
if
(
phase
==
PHASE_DAMAGE
and
not
Duel
.
IsDamageCalculated
())
or
phase
==
PHASE_DAMAGE_CAL
then
return
end
local
g
=
Duel
.
GetMatchingGroup
(
cm
.
tgfilter
,
tp
,
0
,
LOCATION_ONFIELD
,
e
:
GetHandler
(),
e
:
GetHandler
())
if
Duel
.
SendtoGrave
(
g
,
REASON_RULE
)
>
0
then
Duel
.
Readjust
()
if
not
cm
.
global_check
then
cm
.
global_check
=
true
local
_Equip
=
Duel
.
Equip
Duel
.
Equip
=
function
(
p
,
c
,
...
)
c
:
RegisterFlagEffect
(
m
,
RESET_CHAIN
,
0
,
1
)
local
res
=
_Equip
(
p
,
c
,
...
)
c
:
ResetFlagEffect
(
m
)
return
res
end
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetCode
(
EVENT_SUMMON_SUCCESS
)
--e1:SetProperty(EFFECT_FLAG_DELAY)
e1
:
SetCondition
(
cm
.
descon
)
e1
:
SetOperation
(
cm
.
desop2
)
Duel
.
RegisterEffect
(
e1
,
0
)
local
e2
=
e1
:
Clone
()
e2
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
Duel
.
RegisterEffect
(
e2
,
0
)
local
e3
=
e1
:
Clone
()
e3
:
SetCode
(
EVENT_MOVE
)
Duel
.
RegisterEffect
(
e3
,
0
)
local
e4
=
e1
:
Clone
()
e4
:
SetCode
(
EVENT_CHAINING
)
e4
:
SetCondition
(
cm
.
descon3
)
e4
:
SetOperation
(
cm
.
desop3
)
Duel
.
RegisterEffect
(
e4
,
0
)
local
e5
=
Effect
.
CreateEffect
(
c
)
e5
:
SetType
(
EFFECT_TYPE_FIELD
)
e5
:
SetCode
(
EFFECT_CANNOT_SUMMON
)
e5
:
SetProperty
(
EFFECT_FLAG_PLAYER_TARGET
)
e5
:
SetTargetRange
(
1
,
1
)
e5
:
SetTarget
(
cm
.
costchk
)
Duel
.
RegisterEffect
(
e5
,
0
)
end
end
function
cm
.
chcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
rp
==
tp
and
e
:
GetLabel
()
==
ev
-
1
and
ev
<=
13
function
cm
.
costchk
(
e
,
c
,
tp
,
st
)
if
bit
.
band
(
st
,
SUMMON_TYPE_DUAL
)
~=
SUMMON_TYPE_DUAL
then
return
false
end
if
c
:
GetFlagEffect
(
m
)
==
0
then
c
:
RegisterFlagEffect
(
m
,
RESET_EVENT
+
RESETS_STANDARD
,
0
,
1
)
end
return
false
end
function
cm
.
chop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
cat
=
{
CATEGORY_RECOVER
,
CATEGORY_DAMAGE
,
CATEGORY_DECKDES
+
CATEGORY_TOGRAVE
,
CATEGORY_DRAW
,
CATEGORY_REMOVE
,
0
,
CATEGORY_REMOVE
,
0
,
CATEGORY_ATKCHANGE
,
CATEGORY_TOGRAVE
,
0
,
CATEGORY_TODECK
,
CATEGORY_DISABLE
}
local
cat0
=
re
:
GetCategory
()
local
op0
=
re
:
GetOperation
()
local
repop
=
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
op0
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
cm
.
addition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
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
e
:
GetCode
()
==
EVENT_MOVE
then
local
b1
,
g1
=
Duel
.
CheckEvent
(
EVENT_SUMMON_SUCCESS
,
true
)
local
b2
,
g2
=
Duel
.
CheckEvent
(
EVENT_SPSUMMON_SUCCESS
,
true
)
return
c
:
GetPreviousLocation
()
==
LOCATION_DECK
and
(
not
b1
or
not
g1
:
IsContains
(
c
))
and
(
not
b2
or
not
g2
:
IsContains
(
c
))
end
if
not
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
14
))
then
return
end
Duel
.
ConfirmCards
(
1
-
tp
,
e
:
GetHandler
())
Duel
.
Hint
(
HINT_CARD
,
0
,
m
)
if
ev
==
1
then
Debug
.
Message
(
"「此战,即为生存而战」"
)
elseif
ev
==
2
then
Debug
.
Message
(
"「此战,即为抗争强于自身之人之战」"
)
elseif
ev
==
3
then
Debug
.
Message
(
"「此战,非背离人道之战」"
)
elseif
ev
==
4
then
Debug
.
Message
(
"「此战,即为追求真实之战」"
)
elseif
ev
==
5
then
Debug
.
Message
(
"「此战,非抗争精灵之战」"
)
elseif
ev
==
6
then
Debug
.
Message
(
"「此战,即为公平之战」"
)
elseif
ev
==
7
then
Debug
.
Message
(
"「此战,乃讨伐邪恶之战」"
)
elseif
ev
==
8
then
Debug
.
Message
(
"「此战,非为私欲而战」"
)
elseif
ev
==
9
then
Debug
.
Message
(
"「此战,即高贵荣誉之战」"
)
elseif
ev
==
10
then
Debug
.
Message
(
"「此战,即勇者同行之战」"
)
elseif
ev
==
11
then
Debug
.
Message
(
"「此战,非向善者挥剑之战」"
)
elseif
ev
==
12
then
Debug
.
Message
(
"「此战,即守护弱者之战」"
)
elseif
ev
==
13
then
Debug
.
Message
(
"「此战,即拯救世界之战」"
)
end
re
:
SetCategory
(
cat0
|
cat
[
ev
])
re
:
SetOperation
(
repop
)
e
:
SetLabel
(
ev
)
if
ev
==
13
then
if
Duel
.
IsExistingMatchingCard
(
Card
.
IsAbleToHandAsCost
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
true
,
false
)
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
15
))
then
Debug
.
Message
(
"「十三拘束解放(シール・サーティーン)──円卓議決開始(デシジョン・スタート)」!"
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_RTOHAND
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
Card
.
IsAbleToHandAsCost
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
)
Duel
.
SendtoHand
(
g
,
nil
,
REASON_COST
)
if
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
true
,
false
,
POS_FACEUP
)
~=
0
then
c
:
CompleteProcedure
()
end
end
end
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetProperty
(
EFFECT_FLAG_IGNORE_IMMUNE
)
e1
:
SetCode
(
EVENT_CHAIN_SOLVED
)
e1
:
SetCountLimit
(
1
)
e1
:
SetLabel
(
ev
)
e1
:
SetLabelObject
(
e
)
e1
:
SetCondition
(
cm
.
rscon
)
e1
:
SetOperation
(
function
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
re
:
SetOperation
(
op0
)
re
:
SetCategory
(
cat0
)
e
:
GetLabelObject
():
SetLabel
(
4650
)
end
)
e1
:
SetReset
(
RESET_CHAIN
)
Duel
.
RegisterEffect
(
e1
,
tp
)
local
e2
=
e1
:
Clone
()
e2
:
SetCode
(
EVENT_CHAIN_NEGATED
)
Duel
.
RegisterEffect
(
e2
,
tp
)
return
c
:
GetPreviousLocation
()
==
LOCATION_DECK
and
not
(
e
:
GetCode
()
==
EVENT_SUMMON_SUCCESS
and
c
:
GetFlagEffect
(
m
)
>
0
)
end
function
cm
.
r
scon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
v
==
e
:
GetLabel
(
)
function
cm
.
de
scon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
e
g
:
IsExists
(
cm
.
filter
,
1
,
nil
,
e
)
end
function
cm
.
addition
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
ev
=
Duel
.
GetCurrentChain
()
if
ev
==
1
and
cm
[
ev
]
==
nil
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
ev
))
then
Duel
.
Recover
(
tp
,
100
,
REASON_EFFECT
)
elseif
ev
==
2
and
cm
[
ev
]
==
nil
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
ev
))
then
Duel
.
Damage
(
1
-
tp
,
100
,
REASON_EFFECT
)
elseif
ev
==
3
and
cm
[
ev
]
==
nil
and
Duel
.
IsPlayerCanDiscardDeck
(
tp
,
1
)
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
ev
))
then
Duel
.
DiscardDeck
(
tp
,
1
,
REASON_EFFECT
)
elseif
ev
==
4
and
cm
[
ev
]
==
nil
and
Duel
.
IsPlayerCanDraw
(
tp
,
1
)
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
ev
))
then
Duel
.
Draw
(
tp
,
1
,
REASON_EFFECT
)
elseif
ev
==
5
and
cm
[
ev
]
==
nil
and
Duel
.
IsExistingMatchingCard
(
Card
.
IsAbleToRemove
,
tp
,
0
,
LOCATION_DECK
,
1
,
nil
)
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
ev
))
then
local
g
=
Duel
.
GetDecktopGroup
(
1
-
tp
,
1
)
if
g
:
GetCount
()
>
0
then
Duel
.
DisableShuffleCheck
()
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_EFFECT
)
end
elseif
ev
==
6
and
cm
[
ev
]
==
nil
then
local
ft
=
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
,
PLAYER_NONE
,
0
)
+
Duel
.
GetLocationCount
(
1
-
tp
,
LOCATION_MZONE
,
PLAYER_NONE
,
0
)
if
Duel
.
CheckLocation
(
tp
,
LOCATION_MZONE
,
5
)
and
Duel
.
CheckLocation
(
1
-
tp
,
LOCATION_MZONE
,
6
)
then
ft
=
ft
+
1
end
if
Duel
.
CheckLocation
(
tp
,
LOCATION_MZONE
,
6
)
and
Duel
.
CheckLocation
(
1
-
tp
,
LOCATION_MZONE
,
5
)
then
ft
=
ft
+
1
end
if
ft
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
ev
))
then
local
zone
=
Duel
.
SelectDisableField
(
tp
,
1
,
LOCATION_MZONE
,
LOCATION_MZONE
,
0
)
if
tp
==
1
then
zone
=
((
zone
&
0xffff
)
<<
16
)
|
((
zone
>>
16
)
&
0xffff
)
end
--disable field
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_DISABLE_FIELD
)
e1
:
SetValue
(
zone
)
e1
:
SetReset
(
RESET_PHASE
+
PHASE_END
,
2
)
Duel
.
RegisterEffect
(
e1
,
tp
)
end
elseif
ev
==
7
and
cm
[
ev
]
==
nil
and
Duel
.
IsExistingMatchingCard
(
Card
.
IsAbleToRemove
,
tp
,
LOCATION_GRAVE
,
LOCATION_GRAVE
,
1
,
nil
,
POS_FACEDOWN
)
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
ev
))
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_REMOVE
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
Card
.
IsAbleToRemove
,
tp
,
LOCATION_GRAVE
,
LOCATION_GRAVE
,
1
,
1
,
nil
,
POS_FACEDOWN
)
if
g
:
GetCount
()
>
0
then
Duel
.
Remove
(
g
,
POS_FACEDOWN
,
REASON_EFFECT
)
end
elseif
ev
==
8
and
cm
[
ev
]
==
nil
and
Duel
.
IsExistingMatchingCard
(
cm
.
seqfilter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
nil
)
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
ev
))
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_OPERATECARD
)
local
tc
=
Duel
.
SelectMatchingCard
(
tp
,
cm
.
seqfilter
,
tp
,
LOCATION_MZONE
,
LOCATION_MZONE
,
1
,
1
,
nil
):
GetFirst
()
if
tc
then
local
p1
,
p2
if
tc
:
IsControler
(
tp
)
then
p1
=
LOCATION_MZONE
p2
=
0
else
p1
=
0
p2
=
LOCATION_MZONE
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOZONE
)
local
seq
=
math.log
(
Duel
.
SelectDisableField
(
tp
,
1
,
p1
,
p2
,
0
),
2
)
if
tc
:
IsControler
(
1
-
tp
)
then
seq
=
seq
-
16
end
Duel
.
MoveSequence
(
tc
,
seq
)
end
elseif
ev
==
9
and
cm
[
ev
]
==
nil
then
local
c
=
e
:
GetHandler
()
local
g
=
Duel
.
GetMatchingGroup
(
Card
.
IsFaceup
,
tp
,
LOCATION_MZONE
,
0
,
nil
)
if
#
g
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
ev
))
then
local
tc
=
g
:
GetFirst
()
while
tc
do
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetType
(
EFFECT_TYPE_SINGLE
)
e3
:
SetCode
(
EFFECT_UPDATE_ATTACK
)
e3
:
SetReset
(
RESET_EVENT
+
RESETS_STANDARD
)
e3
:
SetValue
(
500
)
tc
:
RegisterEffect
(
e3
)
tc
=
g
:
GetNext
()
end
end
elseif
ev
==
10
and
cm
[
ev
]
==
nil
then
local
g2
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_ONFIELD
,
LOCATION_ONFIELD
)
if
g2
:
GetCount
()
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
ev
))
then
Duel
.
BreakEffect
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
sg
=
g2
:
Select
(
tp
,
1
,
1
,
nil
)
Duel
.
HintSelection
(
sg
)
Duel
.
SendtoGrave
(
sg
,
REASON_EFFECT
)
end
elseif
ev
==
11
and
cm
[
ev
]
==
nil
and
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_DECK
,
0
)
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
ev
))
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
nil
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
)
local
tc
=
g
:
GetFirst
()
if
tc
then
Duel
.
ShuffleDeck
(
tp
)
Duel
.
MoveSequence
(
tc
,
SEQ_DECKTOP
)
Duel
.
ConfirmDecktop
(
tp
,
1
)
end
elseif
ev
==
12
and
cm
[
ev
]
==
nil
and
Duel
.
GetFieldGroupCount
(
tp
,
0
,
LOCATION_HAND
)
>
0
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
ev
))
then
local
p
=
tp
local
g
=
Duel
.
GetFieldGroup
(
p
,
0
,
LOCATION_HAND
)
if
g
:
GetCount
()
>
0
then
Duel
.
ConfirmCards
(
p
,
g
)
Duel
.
Hint
(
HINT_SELECTMSG
,
p
,
HINTMSG_TODECK
)
local
sg
=
g
:
Select
(
p
,
1
,
1
,
nil
)
Duel
.
SendtoDeck
(
sg
,
nil
,
SEQ_DECKSHUFFLE
,
REASON_EFFECT
)
Duel
.
ShuffleHand
(
1
-
p
)
end
elseif
ev
==
13
and
cm
[
ev
]
==
nil
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
m
,
ev
))
then
local
c
=
e
:
GetHandler
()
--negate
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetCategory
(
CATEGORY_DISABLE
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetCode
(
EVENT_CHAINING
)
e1
:
SetCountLimit
(
1
)
e1
:
SetCondition
(
cm
.
negcon
)
e1
:
SetOperation
(
cm
.
negop
)
e1
:
SetLabel
(
tp
)
Duel
.
RegisterEffect
(
e1
,
tp
)
end
cm
[
ev
]
=
1
function
cm
.
desop2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
RaiseEvent
(
eg
,
EVENT_CUSTOM
+
m
,
re
,
r
,
rp
,
ep
,
ev
)
end
function
cm
.
negcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tp
=
e
:
GetLabel
()
return
rp
==
1
-
tp
and
re
:
IsActivated
()
function
cm
.
descon3
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
re
:
IsHasType
(
EFFECT_TYPE_ACTIVATE
)
and
re
:
GetHandler
():
GetFieldID
()
==
re
:
GetHandler
():
GetRealFieldID
()
and
re
:
GetHandler
():
GetPreviousLocation
()
==
LOCATION_DECK
end
function
cm
.
negop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tp
=
e
:
GetLabel
()
local
c
=
e
:
GetHandler
()
--negate
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e2
:
SetCode
(
EVENT_CHAIN_SOLVING
)
e2
:
SetCountLimit
(
1
)
e2
:
SetOperation
(
cm
.
dis2op
)
e2
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e2
,
tp
)
e
:
Reset
()
function
cm
.
desop3
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
RaiseEvent
(
eg
,
EVENT_CUSTOM
+
m
,
re
,
r
,
rp
,
ep
,
ev
)
end
function
cm
.
dis2op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
Hint
(
HINT_CARD
,
0
,
m
)
Duel
.
NegateEffect
(
ev
)
function
cm
.
cost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsAbleToGraveAsCost
()
end
Duel
.
SendtoGrave
(
e
:
GetHandler
(),
REASON_COST
)
end
function
cm
.
seqfilter
(
c
)
return
Duel
.
GetLocationCount
(
c
:
GetControler
(),
LOCATION_MZONE
,
PLAYER_NONE
,
0
)
>
0
function
cm
.
operation
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
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
:
SetReset
(
RESET_PHASE
+
PHASE_END
)
Duel
.
RegisterEffect
(
e1
,
0
)
end
\ No newline at end of file
expansions/script/c15000600.lua
View file @
7bbf3151
...
...
@@ -83,7 +83,7 @@ function cm.splimit(e,c)
end
function
cm
.
damval2
(
e
,
re
,
val
,
r
,
rp
,
rc
)
local
c
=
e
:
GetHandler
()
if
bit
.
band
(
r
,
REASON_
BATTLE
+
REASON_
EFFECT
)
~=
0
and
Duel
.
GetFlagEffect
(
e
:
GetHandlerPlayer
(),
m
)
==
0
then
if
bit
.
band
(
r
,
REASON_EFFECT
)
~=
0
and
Duel
.
GetFlagEffect
(
e
:
GetHandlerPlayer
(),
m
)
==
0
then
Duel
.
RegisterFlagEffect
(
e
:
GetHandlerPlayer
(),
m
,
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_END
,
0
,
1
)
return
0
end
...
...
expansions/script/c15000627.lua
View file @
7bbf3151
...
...
@@ -46,7 +46,7 @@ function cm.indcon(e,tp,eg,ep,ev,re,r,rp)
end
function
cm
.
regcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
re
:
GetHandler
():
IsCode
(
15000627
)
then
return
false
end
if
not
re
:
GetHandler
():
IsSetCard
(
0xf36
)
then
return
false
end
if
not
re
:
GetHandler
():
IsSetCard
(
0xf36
)
or
not
re
:
IsActiveType
(
TYPE_MONSTER
)
then
return
false
end
e
:
SetLabel
(
rp
)
return
true
end
...
...
expansions/script/c60152901.lua
View file @
7bbf3151
...
...
@@ -15,6 +15,13 @@ function c60152901.initial_effect(c)
e1
:
SetTarget
(
c60152901
.
e1tg
)
e1
:
SetOperation
(
c60152901
.
e1op
)
c
:
RegisterEffect
(
e1
)
--disable and destroy
local
e11
=
Effect
.
CreateEffect
(
c
)
e11
:
SetType
(
EFFECT_TYPE_CONTINUOUS
+
EFFECT_TYPE_FIELD
)
e11
:
SetRange
(
LOCATION_MZONE
)
e11
:
SetCode
(
EVENT_CUSTOM
+
60152901
)
e11
:
SetOperation
(
c60152901
.
e11op
)
c
:
RegisterEffect
(
e11
)
if
not
c60152901
.
global_check
then
c60152901
.
global_check
=
true
...
...
@@ -124,8 +131,12 @@ function c60152901.regcon(e,tp,eg,ep,ev,re,r,rp)
return
true
end
function
c60152901
.
regop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
RaiseEvent
(
eg
,
EVENT_CUSTOM
+
60152901
,
re
,
r
,
rp
,
ep
,
e
:
GetLabel
())
end
function
c60152901
.
e11op
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
RegisterFlagEffect
(
tp
,
60152901
,
RESET_PHASE
+
PHASE_END
,
0
,
1
)
end
function
c60152901
.
e2tg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
p
=
PLAYER_ALL
if
chk
==
0
then
return
not
Duel
.
GetFlagEffect
(
tp
,
60152901
)
==
0
and
Duel
.
GetMatchingGroupCount
(
aux
.
NOT
(
Card
.
IsPublic
),
tp
,
0
,
LOCATION_HAND
,
nil
)
>
0
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