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
aa1fd8f3
Commit
aa1fd8f3
authored
Feb 17, 2026
by
POLYMER
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
f60f0840
Changes
14
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
192 additions
and
182 deletions
+192
-182
expansions/script/c10200044.lua
expansions/script/c10200044.lua
+8
-7
expansions/script/c10200046.lua
expansions/script/c10200046.lua
+8
-8
expansions/script/c10200048.lua
expansions/script/c10200048.lua
+7
-6
expansions/script/c10200050.lua
expansions/script/c10200050.lua
+11
-12
expansions/script/c10200053.lua
expansions/script/c10200053.lua
+8
-6
expansions/script/c10200055.lua
expansions/script/c10200055.lua
+9
-8
expansions/script/c10200057.lua
expansions/script/c10200057.lua
+15
-10
expansions/script/c10200059.lua
expansions/script/c10200059.lua
+8
-7
expansions/script/c10200060.lua
expansions/script/c10200060.lua
+9
-8
expansions/script/c10200062.lua
expansions/script/c10200062.lua
+23
-15
expansions/script/c10200064.lua
expansions/script/c10200064.lua
+28
-31
expansions/script/c10200065.lua
expansions/script/c10200065.lua
+8
-3
expansions/script/c10200066.lua
expansions/script/c10200066.lua
+47
-60
expansions/script/c22348284.lua
expansions/script/c22348284.lua
+3
-1
No files found.
expansions/script/c10200044.lua
View file @
aa1fd8f3
--午夜战栗·月下狼影
function
c10200044
.
initial_effect
(
c
)
--
效果1
--
①:自己场上没有怪兽存在的场合从手卡特殊召唤并检索
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
10200044
,
0
))
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
+
CATEGORY_SEARCH
+
CATEGORY_TOHAND
)
...
...
@@ -11,17 +11,18 @@ function c10200044.initial_effect(c)
e1
:
SetTarget
(
c10200044
.
sptg1
)
e1
:
SetOperation
(
c10200044
.
spop1
)
c
:
RegisterEffect
(
e1
)
--
效果2
--
②:向相邻区域移动并在原区域特招深红舞王
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
10200044
,
1
))
e2
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
+
CATEGORY_TOHAND
)
e2
:
SetType
(
EFFECT_TYPE_IGNITION
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCountLimit
(
1
,
{
10200044
,
1
}
)
e2
:
SetCountLimit
(
1
,
10200045
)
e2
:
SetTarget
(
c10200044
.
mvtg
)
e2
:
SetOperation
(
c10200044
.
mvop
)
c
:
RegisterEffect
(
e2
)
if
not
c10200044
.
global_check
then
--全局监测:用于处理"向其他怪兽区域移动"的自定义事件
if
not
c10200044
.
global_check
then
c10200044
.
global_check
=
true
local
ge1
=
Effect
.
CreateEffect
(
c
)
ge1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
...
...
@@ -30,7 +31,7 @@ function c10200044.initial_effect(c)
Duel
.
RegisterEffect
(
ge1
,
0
)
end
end
--
1
--
全局移动事件检测
function
c10200044
.
movecheckfilter
(
c
)
return
c
:
IsLocation
(
LOCATION_MZONE
)
and
c
:
IsPreviousLocation
(
LOCATION_MZONE
)
and
c
:
GetPreviousSequence
()
~=
c
:
GetSequence
()
...
...
@@ -41,7 +42,7 @@ function c10200044.movecheckop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
RaiseEvent
(
g
,
EVENT_CUSTOM
+
0xe25
,
re
,
r
,
rp
,
ep
,
ev
)
end
end
--
2
--
①效果
function
c10200044
.
spcon1
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
Duel
.
GetFieldGroupCount
(
tp
,
LOCATION_MZONE
,
0
)
==
0
end
...
...
@@ -79,7 +80,7 @@ end
function
c10200044
.
splimit
(
e
,
c
)
return
not
c
:
IsRace
(
RACE_ZOMBIE
)
end
--
3
--
②效果
function
c10200044
.
spfilter2
(
c
,
e
,
tp
)
return
c
:
IsCode
(
10200046
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
...
...
expansions/script/c10200046.lua
View file @
aa1fd8f3
--
午夜战栗·深红舞王
--午夜战栗·深红舞王
function
c10200046
.
initial_effect
(
c
)
--
效果1
--
①:展示手卡特殊召唤
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
10200046
,
0
))
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
...
...
@@ -11,7 +11,7 @@ function c10200046.initial_effect(c)
e1
:
SetTarget
(
c10200046
.
sptg
)
e1
:
SetOperation
(
c10200046
.
spop
)
c
:
RegisterEffect
(
e1
)
--
效果2
--
②:移动或表示形式变更时破坏对方1张卡
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
10200046
,
1
))
e2
:
SetCategory
(
CATEGORY_DESTROY
+
CATEGORY_DAMAGE
)
...
...
@@ -27,19 +27,19 @@ function c10200046.initial_effect(c)
e2b
:
SetCode
(
EVENT_CHANGE_POS
)
e2b
:
SetCondition
(
c10200046
.
descon2
)
c
:
RegisterEffect
(
e2b
)
--
效果3
--
③:对方特殊召唤时移动到相邻区域
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
10200046
,
2
))
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetCountLimit
(
1
,
{
10200046
,
1
}
)
e3
:
SetCountLimit
(
1
,
10200047
)
e3
:
SetCondition
(
c10200046
.
mvcon
)
e3
:
SetTarget
(
c10200046
.
mvtg
)
e3
:
SetOperation
(
c10200046
.
mvop
)
c
:
RegisterEffect
(
e3
)
end
--
1
--
①效果
function
c10200046
.
cfilter
(
c
)
return
c
:
IsSetCard
(
0xe25
)
and
not
c
:
IsPublic
()
end
...
...
@@ -64,7 +64,7 @@ function c10200046.spop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
end
end
--
2
--
②效果
function
c10200046
.
descon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsContains
(
e
:
GetHandler
())
end
...
...
@@ -90,7 +90,7 @@ function c10200046.desop(e,tp,eg,ep,ev,re,r,rp)
end
end
end
--
3
--
③效果
function
c10200046
.
mvcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
Card
.
IsSummonPlayer
,
1
,
nil
,
1
-
tp
)
end
...
...
expansions/script/c10200048.lua
View file @
aa1fd8f3
--
午夜战栗·腐朽伴舞
--午夜战栗·腐朽伴舞
function
c10200048
.
initial_effect
(
c
)
--
效果1
--
①:午夜战栗怪兽移动或表示形式变更时从手卡·墓地特殊召唤
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
10200048
,
0
))
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
...
...
@@ -16,18 +16,18 @@ function c10200048.initial_effect(c)
e1b
:
SetCode
(
EVENT_CHANGE_POS
)
e1b
:
SetCondition
(
c10200048
.
spcon2
)
c
:
RegisterEffect
(
e1b
)
--
效果2
--
②:特殊召唤时移动午夜战栗怪兽或变成里侧守备
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
10200048
,
1
))
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e2
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetCountLimit
(
1
,
{
10200048
,
1
}
)
e2
:
SetCountLimit
(
1
,
10200049
)
e2
:
SetTarget
(
c10200048
.
mvtg
)
e2
:
SetOperation
(
c10200048
.
mvop
)
c
:
RegisterEffect
(
e2
)
end
--
1
--
①效果
function
c10200048
.
cfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0xe25
)
end
...
...
@@ -47,6 +47,7 @@ function c10200048.spop(e,tp,eg,ep,ev,re,r,rp)
local
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToEffect
(
e
)
then
return
end
if
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_LEAVE_FIELD_REDIRECT
)
...
...
@@ -56,7 +57,7 @@ function c10200048.spop(e,tp,eg,ep,ev,re,r,rp)
c
:
RegisterEffect
(
e1
)
end
end
--
2
--
②效果
function
c10200048
.
mvfilter
(
c
,
tp
)
if
not
c
:
IsFaceup
()
or
not
c
:
IsSetCard
(
0xe25
)
then
return
false
end
if
c
:
IsCanTurnSet
()
then
return
true
end
...
...
expansions/script/c10200050.lua
View file @
aa1fd8f3
--
午夜战栗·墓语旁白
--午夜战栗·墓语旁白
function
c10200050
.
initial_effect
(
c
)
--
效果1
--
①:展示手卡,不用解放进行午夜战栗怪兽的召唤
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
10200050
,
0
))
e1
:
SetCategory
(
CATEGORY_SUMMON
)
...
...
@@ -11,34 +11,34 @@ function c10200050.initial_effect(c)
e1
:
SetTarget
(
c10200050
.
sumtg
)
e1
:
SetOperation
(
c10200050
.
sumop
)
c
:
RegisterEffect
(
e1
)
--
效果2
--
②:召唤·反转召唤时从卡组把午夜战栗怪兽送去墓地
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
10200050
,
1
))
e2
:
SetCategory
(
CATEGORY_TOGRAVE
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetCode
(
EVENT_SUMMON_SUCCESS
)
e2
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e2
:
SetCountLimit
(
1
,
{
10200050
,
1
}
)
e2
:
SetCountLimit
(
1
,
10200051
)
e2
:
SetTarget
(
c10200050
.
tgtg
)
e2
:
SetOperation
(
c10200050
.
tgop
)
c
:
RegisterEffect
(
e2
)
local
e2b
=
e2
:
Clone
()
e2b
:
SetCode
(
EVENT_FLIP_SUMMON_SUCCESS
)
c
:
RegisterEffect
(
e2b
)
--
效果3
--
③:墓地存在,自己场上怪兽变成里侧守备时特殊召唤
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
10200050
,
2
))
e3
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetCode
(
EVENT_CHANGE_POS
)
e3
:
SetRange
(
LOCATION_GRAVE
)
e3
:
SetCountLimit
(
1
,
{
10200050
,
2
}
)
e3
:
SetCountLimit
(
1
,
10200052
)
e3
:
SetCondition
(
c10200050
.
spcon
)
e3
:
SetTarget
(
c10200050
.
sptg
)
e3
:
SetOperation
(
c10200050
.
spop
)
c
:
RegisterEffect
(
e3
)
end
--
1
--
①效果
function
c10200050
.
cfilter
(
c
)
return
c
:
IsSetCard
(
0xe25
)
and
not
c
:
IsPublic
()
end
...
...
@@ -46,7 +46,6 @@ function c10200050.ntcon(e,c,minc)
if
c
==
nil
then
return
true
end
return
minc
==
0
and
c
:
IsLevelAbove
(
1
)
and
Duel
.
GetLocationCount
(
c
:
GetControler
(),
LOCATION_MZONE
)
>
0
end
function
c10200050
.
sumfilter
(
c
,
tp
)
return
c
:
IsSetCard
(
0xe25
)
and
c
:
IsLevelAbove
(
1
)
end
...
...
@@ -61,8 +60,7 @@ function c10200050.sumcost(e,tp,eg,ep,ev,re,r,rp,chk)
Duel
.
ShuffleHand
(
tp
)
end
function
c10200050
.
sumtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c10200050
.
sumfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
,
tp
)
end
if
chk
==
0
then
return
Duel
.
IsExistingMatchingCard
(
c10200050
.
sumfilter
,
tp
,
LOCATION_HAND
,
0
,
1
,
nil
,
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_SUMMON
,
nil
,
1
,
0
,
0
)
end
function
c10200050
.
sumop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
...
...
@@ -83,7 +81,7 @@ function c10200050.sumop(e,tp,eg,ep,ev,re,r,rp)
end
end
end
--
2
--
②效果
function
c10200050
.
tgfilter
(
c
)
return
c
:
IsSetCard
(
0xe25
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsAbleToGrave
()
end
...
...
@@ -98,7 +96,7 @@ function c10200050.tgop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
SendtoGrave
(
g
,
REASON_EFFECT
)
end
end
--
3
--
③效果
function
c10200050
.
posfilter
(
c
,
tp
)
return
c
:
IsFacedown
()
and
c
:
IsControler
(
tp
)
and
c
:
IsPreviousPosition
(
POS_FACEUP
)
end
...
...
@@ -115,6 +113,7 @@ function c10200050.spop(e,tp,eg,ep,ev,re,r,rp)
local
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToEffect
(
e
)
then
return
end
if
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_LEAVE_FIELD_REDIRECT
)
...
...
expansions/script/c10200053.lua
View file @
aa1fd8f3
--
午夜战栗·惊魂名伶
--午夜战栗·惊魂名伶
function
c10200053
.
initial_effect
(
c
)
--
效果1
--
①:场上有深红舞王,对方特殊召唤或攻击宣言时展示手卡特殊召唤
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
10200053
,
0
))
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
+
CATEGORY_POSITION
)
...
...
@@ -17,19 +17,19 @@ function c10200053.initial_effect(c)
e1b
:
SetCode
(
EVENT_ATTACK_ANNOUNCE
)
e1b
:
SetCondition
(
c10200053
.
spcon2
)
c
:
RegisterEffect
(
e1b
)
--
效果2
--
②:特殊召唤成功时移动午夜战栗怪兽,之后可以变成表侧守备
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
10200053
,
1
))
e2
:
SetCategory
(
CATEGORY_POSITION
)
e2
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e2
:
SetProperty
(
EFFECT_FLAG_DELAY
+
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetCountLimit
(
1
,
{
10200053
,
1
}
)
e2
:
SetCountLimit
(
1
,
10200054
)
e2
:
SetTarget
(
c10200053
.
mvtg
)
e2
:
SetOperation
(
c10200053
.
mvop
)
c
:
RegisterEffect
(
e2
)
end
--
1
--
①效果
function
c10200053
.
chkfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsCode
(
10200046
)
end
...
...
@@ -65,6 +65,7 @@ function c10200053.spop(e,tp,eg,ep,ev,re,r,rp)
local
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToEffect
(
e
)
then
return
end
if
Duel
.
SpecialSummon
(
c
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
==
0
then
return
end
--可以把自己和同纵列怪兽变成里侧守备
if
not
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
10200053
,
2
))
then
return
end
local
seq
=
c
:
GetSequence
()
if
seq
>
4
then
...
...
@@ -76,7 +77,7 @@ function c10200053.spop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
ChangePosition
(
g
,
POS_FACEDOWN_DEFENSE
)
end
end
--
2
--
②效果
function
c10200053
.
mvfilter
(
c
,
tp
)
if
not
c
:
IsFaceup
()
or
not
c
:
IsSetCard
(
0xe25
)
then
return
false
end
local
seq
=
c
:
GetSequence
()
...
...
@@ -106,6 +107,7 @@ function c10200053.mvop(e,tp,eg,ep,ev,re,r,rp)
local
zone
=
Duel
.
SelectField
(
tp
,
1
,
LOCATION_MZONE
,
0
,
~
flag
)
local
nseq
=
math.log
(
zone
,
2
)
Duel
.
MoveSequence
(
tc
,
nseq
)
--之后可以把自己场上1只怪兽变成表侧守备
if
Duel
.
IsExistingMatchingCard
(
c10200053
.
deffilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
)
and
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
10200053
,
3
))
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_POSCHANGE
)
...
...
expansions/script/c10200055.lua
View file @
aa1fd8f3
--
午夜战栗·幽灵和声
--午夜战栗·幽灵和声
function
c10200055
.
initial_effect
(
c
)
--
效果1
--
①:卡名在场上·墓地当作腐朽伴舞
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetCode
(
EFFECT_CHANGE_CODE
)
...
...
@@ -8,25 +8,25 @@ function c10200055.initial_effect(c)
e1
:
SetRange
(
LOCATION_MZONE
+
LOCATION_GRAVE
)
e1
:
SetValue
(
10200048
)
c
:
RegisterEffect
(
e1
)
--
效果2
--
②:丢弃检索同名卡不在墓地的午夜战栗怪兽
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
10200055
,
0
))
e2
:
SetCategory
(
CATEGORY_SEARCH
+
CATEGORY_TOHAND
)
e2
:
SetType
(
EFFECT_TYPE_IGNITION
)
e2
:
SetRange
(
LOCATION_HAND
)
e2
:
SetCountLimit
(
1
,
{
10200055
,
1
}
)
e2
:
SetCountLimit
(
1
,
10200056
)
e2
:
SetCost
(
c10200055
.
thcost
)
e2
:
SetTarget
(
c10200055
.
thtg
)
e2
:
SetOperation
(
c10200055
.
thop
)
c
:
RegisterEffect
(
e2
)
--
效果3
--
③:墓地存在,午夜战栗怪兽移动或表示形式变更时特殊召唤
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
10200055
,
1
))
e3
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetCode
(
EVENT_CUSTOM
+
0xe25
)
e3
:
SetRange
(
LOCATION_GRAVE
)
e3
:
SetCountLimit
(
1
,
{
10200055
,
2
}
)
e3
:
SetCountLimit
(
1
,
10200055
)
e3
:
SetCondition
(
c10200055
.
spcon
)
e3
:
SetTarget
(
c10200055
.
sptg
)
e3
:
SetOperation
(
c10200055
.
spop
)
...
...
@@ -36,7 +36,7 @@ function c10200055.initial_effect(c)
e3b
:
SetCondition
(
c10200055
.
spcon2
)
c
:
RegisterEffect
(
e3b
)
end
--
1
--
②效果
function
c10200055
.
thcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
e
:
GetHandler
():
IsDiscardable
()
end
Duel
.
SendtoGrave
(
e
:
GetHandler
(),
REASON_COST
+
REASON_DISCARD
)
...
...
@@ -57,7 +57,7 @@ function c10200055.thop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
end
--
2
--
③效果
function
c10200055
.
cfilter
(
c
,
tp
)
return
c
:
IsFaceup
()
and
c
:
IsSetCard
(
0xe25
)
and
c
:
IsControler
(
tp
)
end
...
...
@@ -77,6 +77,7 @@ function c10200055.spop(e,tp,eg,ep,ev,re,r,rp)
local
c
=
e
:
GetHandler
()
if
not
c
:
IsRelateToEffect
(
e
)
then
return
end
if
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_LEAVE_FIELD_REDIRECT
)
...
...
expansions/script/c10200057.lua
View file @
aa1fd8f3
--
午夜战栗·四万年的尸气
--午夜战栗·四万年的尸气
function
c10200057
.
initial_effect
(
c
)
--
Activate
--Activate
local
e0
=
Effect
.
CreateEffect
(
c
)
e0
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e0
:
SetCode
(
EVENT_FREE_CHAIN
)
c
:
RegisterEffect
(
e0
)
--
效果1
--
①:双方召唤午夜战栗怪兽的解放减少1只
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_DECREASE_TRIBUTE
)
...
...
@@ -14,24 +14,24 @@ function c10200057.initial_effect(c)
e1
:
SetTarget
(
aux
.
TargetBoolFunction
(
Card
.
IsSetCard
,
0xe25
))
e1
:
SetValue
(
c10200057
.
decval
)
c
:
RegisterEffect
(
e1
)
--
效果2
--
②:午夜战栗怪兽移动或表示形式变更或变成里侧守备
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
10200057
,
0
))
e2
:
SetType
(
EFFECT_TYPE_IGNITION
)
e2
:
SetRange
(
LOCATION_FZONE
)
e2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetCountLimit
(
1
,
{
10200057
,
1
}
)
e2
:
SetCountLimit
(
1
,
10200058
)
e2
:
SetTarget
(
c10200057
.
mvtg
)
e2
:
SetOperation
(
c10200057
.
mvop
)
c
:
RegisterEffect
(
e2
)
--
效果3
--
③:不死族怪兽移动或表示形式变更时对方全部怪兽变成里侧守备
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
10200057
,
1
))
e3
:
SetCategory
(
CATEGORY_POSITION
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetCode
(
EVENT_CUSTOM
+
0xe25
)
e3
:
SetRange
(
LOCATION_FZONE
)
e3
:
SetCountLimit
(
1
,
{
10200057
,
2
}
)
e3
:
SetCountLimit
(
1
,
10200057
)
e3
:
SetCondition
(
c10200057
.
poscon
)
e3
:
SetTarget
(
c10200057
.
postg
)
e3
:
SetOperation
(
c10200057
.
posop
)
...
...
@@ -41,20 +41,23 @@ function c10200057.initial_effect(c)
e3b
:
SetCondition
(
c10200057
.
poscon2
)
c
:
RegisterEffect
(
e3b
)
end
--
1
--
①效果
function
c10200057
.
decval
(
e
,
c
)
return
1
,
1
end
--
2
--
②效果
function
c10200057
.
mvfilter
(
c
,
tp
)
if
not
c
:
IsFaceup
()
or
not
c
:
IsSetCard
(
0xe25
)
then
return
false
end
--能移动
local
seq
=
c
:
GetSequence
()
local
b1
=
false
if
seq
<=
4
then
b1
=
(
seq
>
0
and
Duel
.
CheckLocation
(
tp
,
LOCATION_MZONE
,
seq
-
1
))
or
(
seq
<
4
and
Duel
.
CheckLocation
(
tp
,
LOCATION_MZONE
,
seq
+
1
))
end
--能表示形式变更
local
b2
=
c
:
IsCanChangePosition
()
--能变成里侧守备
local
b3
=
c
:
IsCanTurnSet
()
return
b1
or
b2
or
b3
end
...
...
@@ -68,6 +71,7 @@ function c10200057.mvop(e,tp,eg,ep,ev,re,r,rp)
local
tc
=
Duel
.
GetFirstTarget
()
if
not
tc
or
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsFacedown
()
then
return
end
local
seq
=
tc
:
GetSequence
()
--检查各选项可用性
local
b1
=
false
local
flag
=
0
if
seq
<=
4
then
...
...
@@ -78,6 +82,7 @@ function c10200057.mvop(e,tp,eg,ep,ev,re,r,rp)
local
b2
=
tc
:
IsCanChangePosition
()
local
b3
=
tc
:
IsCanTurnSet
()
if
not
b1
and
not
b2
and
not
b3
then
return
end
--构建选项
local
ops
=
{}
local
opval
=
{}
if
b1
then
...
...
@@ -108,7 +113,7 @@ function c10200057.mvop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
ChangePosition
(
tc
,
POS_FACEDOWN_DEFENSE
)
end
end
--
3
--
③效果
function
c10200057
.
poscfilter
(
c
,
tp
)
return
c
:
IsRace
(
RACE_ZOMBIE
)
and
c
:
IsControler
(
tp
)
end
...
...
expansions/script/c10200059.lua
View file @
aa1fd8f3
--
午夜战栗·迫近的午夜
--午夜战栗·迫近的午夜
function
c10200059
.
initial_effect
(
c
)
--
效果1
--
①:检索午夜战栗怪兽,之后可以移动或表示形式变更
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
10200059
,
0
))
e1
:
SetCategory
(
CATEGORY_SEARCH
+
CATEGORY_TOHAND
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetCountLimit
(
1
,
10200059
)
e1
:
SetCountLimit
(
1
,
10200059
,
EFFECT_COUNT_CODE_OATH
)
e1
:
SetTarget
(
c10200059
.
thtg
)
e1
:
SetOperation
(
c10200059
.
thop
)
c
:
RegisterEffect
(
e1
)
--
效果2
--
②:对方召唤时墓地除外,午夜战栗怪兽表示形式变更或里侧守备
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
10200059
,
1
))
e2
:
SetCategory
(
CATEGORY_POSITION
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetCode
(
EVENT_SUMMON_SUCCESS
)
e2
:
SetRange
(
LOCATION_GRAVE
)
e2
:
SetCountLimit
(
1
,
10200059
)
e2
:
SetCountLimit
(
1
,
10200059
,
EFFECT_COUNT_CODE_OATH
)
e2
:
SetCondition
(
c10200059
.
poscon
)
e2
:
SetCost
(
aux
.
bfgcost
)
e2
:
SetTarget
(
c10200059
.
postg
)
e2
:
SetOperation
(
c10200059
.
posop
)
c
:
RegisterEffect
(
e2
)
end
--
1
--
①效果
function
c10200059
.
thfilter
(
c
)
return
c
:
IsSetCard
(
0xe25
)
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsAbleToHand
()
end
...
...
@@ -49,6 +49,7 @@ function c10200059.thop(e,tp,eg,ep,ev,re,r,rp)
if
#
g
>
0
and
Duel
.
SendtoHand
(
g
,
nil
,
REASON_EFFECT
)
>
0
then
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
--那之后,可以移动或表示形式变更
if
not
Duel
.
IsExistingMatchingCard
(
c10200059
.
mvfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
tp
)
then
return
end
if
not
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
10200059
,
2
))
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TARGET
)
...
...
@@ -86,7 +87,7 @@ function c10200059.thop(e,tp,eg,ep,ev,re,r,rp)
end
end
end
--
2
--
②效果
function
c10200059
.
poscon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
return
eg
:
IsExists
(
Card
.
IsSummonPlayer
,
1
,
nil
,
1
-
tp
)
end
...
...
expansions/script/c10200060.lua
View file @
aa1fd8f3
--
午夜战栗·满月影院
--午夜战栗·满月影院
function
c10200060
.
initial_effect
(
c
)
--
Activate
--Activate
local
e0
=
Effect
.
CreateEffect
(
c
)
e0
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e0
:
SetCode
(
EVENT_FREE_CHAIN
)
c
:
RegisterEffect
(
e0
)
--
效果1
--
①:从手卡·墓地特殊召唤午夜战栗怪兽,结束阶段回手卡
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
10200060
,
0
))
e1
:
SetCategory
(
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_IGNITION
)
e1
:
SetRange
(
LOCATION_SZONE
)
e1
:
SetCountLimit
(
1
,
{
10200060
,
1
}
)
e1
:
SetCountLimit
(
1
,
10200060
)
e1
:
SetTarget
(
c10200060
.
sptg
)
e1
:
SetOperation
(
c10200060
.
spop
)
c
:
RegisterEffect
(
e1
)
--
效果2
--
②:不死族怪兽移动或表示形式变更时弹回对方同纵列卡
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
10200060
,
1
))
e2
:
SetCategory
(
CATEGORY_TOHAND
)
...
...
@@ -23,7 +23,7 @@ function c10200060.initial_effect(c)
e2
:
SetCode
(
EVENT_CUSTOM
+
0xe25
)
e2
:
SetRange
(
LOCATION_SZONE
)
e2
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e2
:
SetCountLimit
(
1
,
{
10200060
,
2
}
)
e2
:
SetCountLimit
(
1
,
10200061
)
e2
:
SetCondition
(
c10200060
.
thcon
)
e2
:
SetTarget
(
c10200060
.
thtg
)
e2
:
SetOperation
(
c10200060
.
thop
)
...
...
@@ -33,7 +33,7 @@ function c10200060.initial_effect(c)
e2b
:
SetCondition
(
c10200060
.
thcon2
)
c
:
RegisterEffect
(
e2b
)
end
--
1
--
①效果
function
c10200060
.
spfilter
(
c
,
e
,
tp
)
return
c
:
IsSetCard
(
0xe25
)
and
c
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
)
end
...
...
@@ -49,6 +49,7 @@ function c10200060.spop(e,tp,eg,ep,ev,re,r,rp)
if
#
g
>
0
then
local
tc
=
g
:
GetFirst
()
if
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
>
0
then
--结束阶段回手卡
local
e1
=
Effect
.
CreateEffect
(
e
:
GetHandler
())
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetCode
(
EVENT_PHASE
+
PHASE_END
)
...
...
@@ -72,7 +73,7 @@ function c10200060.retop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
SendtoHand
(
tc
,
nil
,
REASON_EFFECT
)
end
end
--
2
--
②效果
function
c10200060
.
cfilter
(
c
,
tp
)
return
c
:
IsFaceup
()
and
c
:
IsRace
(
RACE_ZOMBIE
)
and
c
:
IsControler
(
tp
)
end
...
...
expansions/script/c10200062.lua
View file @
aa1fd8f3
--
午夜战栗·未尽的凝视
--午夜战栗·未尽的凝视
function
c10200062
.
initial_effect
(
c
)
--
效果1
--
①:除外的3张午夜战栗卡回卡组,之后可以特招午夜战栗怪兽
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
10200062
,
0
))
e1
:
SetCategory
(
CATEGORY_TODECK
+
CATEGORY_SPECIAL_SUMMON
)
e1
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e1
:
SetCode
(
EVENT_FREE_CHAIN
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetCountLimit
(
1
,
{
10200062
,
1
}
)
e1
:
SetCountLimit
(
1
,
10200062
)
e1
:
SetTarget
(
c10200062
.
tdtg
)
e1
:
SetOperation
(
c10200062
.
tdop
)
c
:
RegisterEffect
(
e1
)
--
效果2
--
②:午夜战栗怪兽战斗破坏对方怪兽时墓地除外造成伤害
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
10200062
,
1
))
e2
:
SetCategory
(
CATEGORY_DAMAGE
)
e2
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e2
:
SetCode
(
EVENT_BATTLE_DESTROYED
)
e2
:
SetRange
(
LOCATION_GRAVE
)
e2
:
SetCountLimit
(
1
,
{
10200062
,
2
}
)
e2
:
SetCountLimit
(
1
,
10200063
)
e2
:
SetCondition
(
c10200062
.
damcon
)
e2
:
SetCost
(
aux
.
bfgcost
)
e2
:
SetTarget
(
c10200062
.
damtg
)
e2
:
SetOperation
(
c10200062
.
damop
)
c
:
RegisterEffect
(
e2
)
end
--
1
--
①效果
function
c10200062
.
tdfilter
(
c
)
return
c
:
IsSetCard
(
0xe25
)
and
c
:
IsAbleToDeck
()
end
...
...
@@ -40,28 +40,36 @@ function c10200062.tdtg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
nil
,
3
,
tp
,
LOCATION_REMOVED
)
end
function
c10200062
.
tdop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
Get
ChainInfo
(
0
,
CHAININFO_TARGET_CARDS
)
if
not
g
or
#
g
<
3
then
return
end
local
g
=
Duel
.
Get
TargetCards
(
e
)
if
#
g
<
3
then
return
end
if
Duel
.
SendtoDeck
(
g
,
nil
,
SEQ_DECKSHUFFLE
,
REASON_EFFECT
)
<
3
then
return
end
--那之后,可以从卡组特招
if
Duel
.
GetLocationCount
(
tp
,
LOCATION_MZONE
)
<=
0
then
return
end
if
not
Duel
.
IsExistingMatchingCard
(
c10200062
.
spfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
nil
,
e
,
tp
)
then
return
end
if
not
Duel
.
SelectYesNo
(
tp
,
aux
.
Stringid
(
10200062
,
2
))
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_SPSUMMON
)
local
sg
=
Duel
.
SelectMatchingCard
(
tp
,
c10200062
.
spfilter
,
tp
,
LOCATION_DECK
,
0
,
1
,
1
,
nil
,
e
,
tp
)
if
#
sg
>
0
then
Duel
.
BreakEffect
()
local
tc
=
sg
:
GetFirst
()
Duel
.
SpecialSummonStep
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
+
POS_FACEDOWN_DEFENSE
)
Duel
.
SpecialSummonComplete
()
--选择表侧表示或里侧守备表示
local
pos
=
POS_FACEUP
if
tc
:
IsCanBeSpecialSummoned
(
e
,
0
,
tp
,
false
,
false
,
POS_FACEDOWN_DEFENSE
)
then
local
op
=
Duel
.
SelectOption
(
tp
,
aux
.
Stringid
(
10200062
,
3
),
aux
.
Stringid
(
10200062
,
4
))
if
op
==
1
then
pos
=
POS_FACEDOWN_DEFENSE
end
end
Duel
.
SpecialSummon
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
pos
)
end
end
--
2
--
②效果
function
c10200062
.
damcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
tc
=
eg
:
GetFirst
()
local
bc
=
tc
:
GetBattleTarget
()
e
:
SetLabelObject
(
tc
)
return
tc
:
IsControler
(
1
-
tp
)
and
tc
:
IsLocation
(
LOCATION_GRAVE
)
and
tc
:
IsReason
(
REASON_BATTLE
)
and
bc
and
bc
:
IsSetCard
(
0xe25
)
and
bc
:
IsControler
(
tp
)
if
tc
:
IsControler
(
1
-
tp
)
and
tc
:
IsLocation
(
LOCATION_GRAVE
)
and
tc
:
IsReason
(
REASON_BATTLE
)
and
bc
and
bc
:
IsSetCard
(
0xe25
)
and
bc
:
IsControler
(
tp
)
then
e
:
SetLabelObject
(
tc
)
return
true
end
return
false
end
function
c10200062
.
damtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
tc
=
e
:
GetLabelObject
()
...
...
expansions/script/c10200064.lua
View file @
aa1fd8f3
--
午夜战栗·深渊颤栗
--午夜战栗·深渊颤栗
function
c10200064
.
initial_effect
(
c
)
--
Activate
--Activate
local
e0
=
Effect
.
CreateEffect
(
c
)
e0
:
SetType
(
EFFECT_TYPE_ACTIVATE
)
e0
:
SetCode
(
EVENT_FREE_CHAIN
)
c
:
RegisterEffect
(
e0
)
--
效果1
--
①:午夜战栗怪兽同纵列对方效果发动时,那只怪兽变里侧守备,效果无效
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
10200064
,
0
))
e1
:
SetCategory
(
CATEGORY_DISABLE
+
CATEGORY_POSITION
)
e1
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e1
:
SetCode
(
EVENT_CHAINING
)
e1
:
SetRange
(
LOCATION_SZONE
)
e1
:
SetProperty
(
EFFECT_FLAG_CARD_TARGET
)
e1
:
SetCountLimit
(
1
,
0
,
EFFECT_COUNT_CODE_CHAIN
)
e1
:
SetCondition
(
c10200064
.
negcon
)
e1
:
SetTarget
(
c10200064
.
negtg
)
e1
:
SetOperation
(
c10200064
.
negop
)
c
:
RegisterEffect
(
e1
)
end
-- 1
function
c10200064
.
cfilter
(
c
,
seq
)
if
not
c
:
IsFaceup
()
or
not
c
:
IsSetCard
(
0xe25
)
or
not
c
:
IsLocation
(
LOCATION_MZONE
)
then
return
false
end
if
not
c
:
IsCanTurnSet
()
then
return
false
end
local
cseq
=
c
:
GetSequence
()
if
cseq
>
4
then
if
cseq
==
5
then
cseq
=
1
elseif
cseq
==
6
then
cseq
=
3
end
end
return
cseq
==
seq
end
--①效果
function
c10200064
.
getcolumnseq
(
c
)
local
loc
=
c
:
GetLocation
()
local
seq
=
c
:
GetSequence
()
...
...
@@ -39,39 +30,45 @@ function c10200064.getcolumnseq(c)
end
elseif
loc
==
LOCATION_SZONE
then
if
seq
>
4
then
return
-
1
end
elseif
loc
==
LOCATION_FZONE
then
return
-
1
elseif
loc
==
LOCATION_PZONE
then
elseif
loc
==
LOCATION_FZONE
or
loc
==
LOCATION_PZONE
then
return
-
1
end
return
seq
end
function
c10200064
.
cfilter
(
c
,
seq
,
tp
)
if
not
c
:
IsFaceup
()
or
not
c
:
IsSetCard
(
0xe25
)
or
not
c
:
IsLocation
(
LOCATION_MZONE
)
then
return
false
end
if
not
c
:
IsControler
(
tp
)
then
return
false
end
if
not
c
:
IsCanTurnSet
()
then
return
false
end
local
cseq
=
c
:
GetSequence
()
if
cseq
>
4
then
if
cseq
==
5
then
cseq
=
1
elseif
cseq
==
6
then
cseq
=
3
end
end
return
cseq
==
seq
end
function
c10200064
.
negcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
rp
==
tp
or
not
re
:
IsActiveType
(
TYPE_MONSTER
+
TYPE_SPELL
+
TYPE_TRAP
)
then
return
false
end
local
rc
=
re
:
GetHandler
()
local
seq
=
c10200064
.
getcolumnseq
(
rc
)
if
seq
<
0
then
return
false
end
local
g
=
Duel
.
GetMatchingGroup
(
c10200064
.
cfilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
seq
)
local
g
=
Duel
.
GetMatchingGroup
(
c10200064
.
cfilter
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
seq
,
tp
)
if
#
g
==
0
then
return
false
end
e
:
SetLabel
Object
(
g
)
e
:
SetLabel
(
seq
)
return
true
end
function
c10200064
.
negtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
if
chk
==
0
then
return
true
end
function
c10200064
.
negtg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
chkc
)
local
seq
=
e
:
GetLabel
()
if
chkc
then
return
chkc
:
IsLocation
(
LOCATION_MZONE
)
and
chkc
:
IsControler
(
tp
)
and
c10200064
.
cfilter
(
chkc
,
seq
,
tp
)
end
if
chk
==
0
then
return
Duel
.
IsExistingTarget
(
c10200064
.
cfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
nil
,
seq
,
tp
)
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_POSCHANGE
)
Duel
.
SelectTarget
(
tp
,
c10200064
.
cfilter
,
tp
,
LOCATION_MZONE
,
0
,
1
,
1
,
nil
,
seq
,
tp
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DISABLE
,
eg
,
1
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_POSITION
,
nil
,
1
,
0
,
0
)
end
function
c10200064
.
negop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
e
:
GetLabelObject
()
if
not
g
then
return
end
local
fg
=
g
:
Filter
(
Card
.
IsRelateToEffect
,
nil
,
e
)
if
#
fg
==
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_POSCHANGE
)
local
sg
=
fg
:
Select
(
tp
,
1
,
1
,
nil
)
local
tc
=
sg
:
GetFirst
()
if
tc
and
tc
:
IsFaceup
()
and
tc
:
IsCanTurnSet
()
then
local
tc
=
Duel
.
GetFirstTarget
()
if
tc
and
tc
:
IsRelateToEffect
(
e
)
and
tc
:
IsFaceup
()
and
tc
:
IsCanTurnSet
()
then
Duel
.
ChangePosition
(
tc
,
POS_FACEDOWN_DEFENSE
)
if
Duel
.
NegateEffect
(
ev
)
then
end
Duel
.
NegateEffect
(
ev
)
end
end
expansions/script/c10200065.lua
View file @
aa1fd8f3
--
午夜战栗·尸群围城
--午夜战栗·尸群围城
function
c10200065
.
initial_effect
(
c
)
--
效果1
--
①:移动并变更表示形式,根据表示形式适用效果
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetDescription
(
aux
.
Stringid
(
10200065
,
0
))
e1
:
SetCategory
(
CATEGORY_POSITION
+
CATEGORY_DESTROY
+
CATEGORY_TODECK
+
CATEGORY_DRAW
)
...
...
@@ -12,7 +12,7 @@ function c10200065.initial_effect(c)
e1
:
SetOperation
(
c10200065
.
activate
)
c
:
RegisterEffect
(
e1
)
end
--
1
--
效果
function
c10200065
.
tgfilter
(
c
,
tp
)
if
not
c
:
IsFaceup
()
or
not
c
:
IsSetCard
(
0xe25
)
then
return
false
end
if
not
c
:
IsCanChangePosition
()
then
return
false
end
...
...
@@ -56,6 +56,7 @@ function c10200065.activate(e,tp,eg,ep,ev,re,r,rp)
if
not
tc
or
not
tc
:
IsRelateToEffect
(
e
)
or
tc
:
IsFacedown
()
then
return
end
local
seq
=
tc
:
GetSequence
()
if
seq
>
4
then
return
end
--移动到相邻区域
local
flag
=
0
if
seq
>
0
and
Duel
.
CheckLocation
(
tp
,
LOCATION_MZONE
,
seq
-
1
)
then
flag
=
flag
|
(
1
<<
(
seq
-
1
))
end
if
seq
<
4
and
Duel
.
CheckLocation
(
tp
,
LOCATION_MZONE
,
seq
+
1
)
then
flag
=
flag
|
(
1
<<
(
seq
+
1
))
end
...
...
@@ -65,13 +66,16 @@ function c10200065.activate(e,tp,eg,ep,ev,re,r,rp)
local
nseq
=
math.log
(
zone
,
2
)
Duel
.
MoveSequence
(
tc
,
nseq
)
if
tc
:
GetSequence
()
~=
nseq
then
return
end
--表示形式变更
if
not
tc
:
IsCanChangePosition
()
then
return
end
if
tc
:
IsAttackPos
()
then
Duel
.
ChangePosition
(
tc
,
POS_FACEUP_DEFENSE
)
else
Duel
.
ChangePosition
(
tc
,
POS_FACEUP_ATTACK
)
end
--根据表示形式适用效果
if
tc
:
IsAttackPos
()
then
--表侧攻击表示:破坏同纵列及相邻纵列的对方卡
local
curseq
=
c10200065
.
getcolumnseq
(
tc
)
if
curseq
<
0
then
return
end
local
seqs
=
{
curseq
}
...
...
@@ -82,6 +86,7 @@ function c10200065.activate(e,tp,eg,ep,ev,re,r,rp)
Duel
.
Destroy
(
g
,
REASON_EFFECT
)
end
else
--表侧守备表示:墓地5张午夜战栗卡回卡组,抽2张
if
Duel
.
IsExistingMatchingCard
(
c10200065
.
tdfilter
,
tp
,
LOCATION_GRAVE
,
0
,
5
,
nil
)
then
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
local
g
=
Duel
.
SelectMatchingCard
(
tp
,
c10200065
.
tdfilter
,
tp
,
LOCATION_GRAVE
,
0
,
5
,
5
,
nil
)
...
...
expansions/script/c10200066.lua
View file @
aa1fd8f3
--
午夜战栗·天顶巨星
--午夜战栗·天顶巨星
function
c10200066
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
--
融合素材设定
--融合素材设定
aux
.
AddFusionProcMix
(
c
,
true
,
true
,
10200046
,
c10200066
.
matfilter
)
-- 接触融合
--接触融合
aux
.
AddContactFusionProcedure
(
c
,
c10200066
.
contactfilter
,
LOCATION_MZONE
,
0
,
Duel
.
SendtoGrave
,
REASON_COST
,
c10200066
.
contactop
)
--特殊召唤条件
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
)
e1
:
SetCode
(
EFFECT_SPSUMMON_PROC
)
e1
:
SetType
(
EFFECT_TYPE_SINGLE
)
e1
:
SetProperty
(
EFFECT_FLAG_CANNOT_DISABLE
+
EFFECT_FLAG_UNCOPYABLE
)
e1
:
SetRange
(
LOCATION_EXTRA
)
e1
:
SetCondition
(
c10200066
.
spcon
)
e1
:
SetTarget
(
c10200066
.
sptg
)
e1
:
SetOperation
(
c10200066
.
spop
)
e1
:
SetValue
(
SUMMON_TYPE_FUSION
)
e1
:
SetCode
(
EFFECT_SPSUMMON_CONDITION
)
e1
:
SetValue
(
c10200066
.
splimit
)
c
:
RegisterEffect
(
e1
)
--
效果1
--
①:检索午夜战栗卡
local
e2
=
Effect
.
CreateEffect
(
c
)
e2
:
SetDescription
(
aux
.
Stringid
(
10200066
,
0
))
e2
:
SetCategory
(
CATEGORY_SEARCH
+
CATEGORY_TOHAND
)
e2
:
SetType
(
EFFECT_TYPE_IGNITION
)
e2
:
SetRange
(
LOCATION_MZONE
)
e2
:
SetCountLimit
(
1
,
{
10200066
,
1
}
)
e2
:
SetCountLimit
(
1
,
10200066
)
e2
:
SetTarget
(
c10200066
.
thtg
)
e2
:
SetOperation
(
c10200066
.
thop
)
c
:
RegisterEffect
(
e2
)
--
效果2
--
②:额外怪兽区域存在,移动或表示形式变更时变里侧守备
local
e3
=
Effect
.
CreateEffect
(
c
)
e3
:
SetDescription
(
aux
.
Stringid
(
10200066
,
1
))
e3
:
SetCategory
(
CATEGORY_POSITION
)
e3
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_TRIGGER_O
)
e3
:
SetCode
(
EVENT_CUSTOM
+
0xe25
)
e3
:
SetRange
(
LOCATION_MZONE
)
e3
:
SetCountLimit
(
1
,
{
10200066
,
2
}
)
e3
:
SetCountLimit
(
1
,
10200067
)
e3
:
SetCondition
(
c10200066
.
poscon
)
e3
:
SetTarget
(
c10200066
.
postg
)
e3
:
SetOperation
(
c10200066
.
posop
)
...
...
@@ -40,58 +38,35 @@ function c10200066.initial_effect(c)
e3b
:
SetCode
(
EVENT_CHANGE_POS
)
e3b
:
SetCondition
(
c10200066
.
poscon2
)
c
:
RegisterEffect
(
e3b
)
--
效果3
--
③:送去墓地时除外回卡组
local
e4
=
Effect
.
CreateEffect
(
c
)
e4
:
SetDescription
(
aux
.
Stringid
(
10200066
,
2
))
e4
:
SetCategory
(
CATEGORY_TODECK
)
e4
:
SetType
(
EFFECT_TYPE_SINGLE
+
EFFECT_TYPE_TRIGGER_O
)
e4
:
SetCode
(
EVENT_TO_GRAVE
)
e4
:
SetProperty
(
EFFECT_FLAG_DELAY
)
e4
:
SetCountLimit
(
1
,
{
10200066
,
3
}
)
e4
:
SetCountLimit
(
1
,
10200068
)
e4
:
SetCost
(
c10200066
.
tdcost
)
e4
:
SetTarget
(
c10200066
.
tdtg
)
e4
:
SetOperation
(
c10200066
.
tdop
)
c
:
RegisterEffect
(
e4
)
end
--
1
--
融合素材过滤
function
c10200066
.
matfilter
(
c
,
fc
,
sumtype
,
tp
)
return
c
:
IsSetCard
(
0xe25
)
and
c
:
IsType
(
TYPE_MONSTER
,
fc
,
sumtype
,
tp
)
end
--
2
function
c10200066
.
spfilter1
(
c
,
tp
)
return
c
:
Is
Code
(
10200046
)
and
c
:
IsFaceup
()
and
c
:
IsAbleToGraveAsCost
()
and
c
:
IsControler
(
tp
)
--
接触融合
function
c10200066
.
contactfilter
(
c
)
return
c
:
Is
Faceup
()
and
c
:
IsSetCard
(
0xe25
)
and
c
:
IsAbleToGraveAsCost
(
)
end
function
c10200066
.
spfilter2
(
c
,
tp
)
return
c
:
IsSetCard
(
0xe25
)
and
c
:
IsFaceup
()
and
c
:
IsType
(
TYPE_MONSTER
)
and
c
:
IsAbleToGraveAsCost
()
and
c
:
IsControler
(
tp
)
function
c10200066
.
contactop
(
g
,
tp
)
return
#
g
>=
2
and
g
:
IsExists
(
Card
.
IsCode
,
1
,
nil
,
10200046
)
end
function
c10200066
.
spcon
(
e
,
c
)
if
c
==
nil
then
return
true
end
local
tp
=
c
:
GetControler
()
local
g1
=
Duel
.
GetMatchingGroup
(
c10200066
.
spfilter1
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
tp
)
local
g2
=
Duel
.
GetMatchingGroup
(
c10200066
.
spfilter2
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
tp
)
return
#
g1
>
0
and
#
g2
>
1
--特殊召唤条件
function
c10200066
.
splimit
(
e
,
se
,
sp
,
st
)
return
bit
.
band
(
st
,
SUMMON_TYPE_FUSION
)
==
SUMMON_TYPE_FUSION
end
function
c10200066
.
sptg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
,
c
)
local
g1
=
Duel
.
GetMatchingGroup
(
c10200066
.
spfilter1
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
tp
)
local
g2
=
Duel
.
GetMatchingGroup
(
c10200066
.
spfilter2
,
tp
,
LOCATION_MZONE
,
0
,
nil
,
tp
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
sg1
=
g1
:
Select
(
tp
,
1
,
1
,
nil
)
g2
:
Sub
(
sg1
)
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TOGRAVE
)
local
sg2
=
g2
:
Select
(
tp
,
1
,
1
,
nil
)
sg1
:
Merge
(
sg2
)
if
sg1
:
GetCount
()
<
2
then
return
false
end
sg1
:
KeepAlive
()
e
:
SetLabelObject
(
sg1
)
return
true
end
function
c10200066
.
spop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
c
)
local
g
=
e
:
GetLabelObject
()
if
not
g
then
return
end
Duel
.
SendtoGrave
(
g
,
REASON_COST
)
g
:
DeleteGroup
()
end
-- 3
--①效果
function
c10200066
.
thfilter
(
c
)
return
c
:
IsSetCard
(
0xe25
)
and
c
:
IsAbleToHand
()
end
...
...
@@ -107,7 +82,10 @@ function c10200066.thop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
end
-- 4
--②效果
function
c10200066
.
poscfilter
(
c
,
tp
)
return
c
:
IsFaceup
()
and
c
:
IsControler
(
tp
)
end
function
c10200066
.
poscon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
c
:
GetSequence
()
<
5
then
return
false
end
...
...
@@ -116,7 +94,7 @@ end
function
c10200066
.
poscon2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
if
c
:
GetSequence
()
<
5
then
return
false
end
return
eg
:
IsExists
(
function
(
c
,
tp
)
return
c
:
IsFaceup
()
and
c
:
IsControler
(
tp
)
end
,
1
,
nil
,
tp
)
return
eg
:
IsExists
(
c10200066
.
poscfilter
,
1
,
nil
,
tp
)
end
function
c10200066
.
posfilter
(
c
)
return
c
:
IsFaceup
()
and
c
:
IsCanTurnSet
()
...
...
@@ -133,7 +111,7 @@ function c10200066.posop(e,tp,eg,ep,ev,re,r,rp)
Duel
.
ChangePosition
(
g
,
POS_FACEDOWN_DEFENSE
)
end
end
--
5
--
③效果
function
c10200066
.
tdcost
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
c
=
e
:
GetHandler
()
if
chk
==
0
then
return
c
:
IsAbleToRemove
()
end
...
...
@@ -162,23 +140,32 @@ function c10200066.tdtg(e,tp,eg,ep,ev,re,r,rp,chk)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_TODECK
,
nil
,
4
,
tp
,
LOCATION_GRAVE
)
end
function
c10200066
.
tdfilter
(
c
,
s
g
)
function
c10200066
.
tdfilter
(
c
,
s
elected
)
if
not
c
:
IsSetCard
(
0xe25
)
or
not
c
:
IsType
(
TYPE_MONSTER
)
or
not
c
:
IsAbleToDeck
()
then
return
false
end
return
not
sg
:
IsExists
(
Card
.
IsCode
,
1
,
nil
,
c
:
GetCode
())
local
tc
=
selected
:
GetFirst
()
while
tc
do
if
tc
:
GetCode
()
==
c
:
GetCode
()
then
return
false
end
tc
=
selected
:
GetNext
()
end
return
true
end
function
c10200066
.
tdop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetMatchingGroup
(
aux
.
NecroValleyFilter
(
c10200066
.
tdchkfilter
),
tp
,
LOCATION_GRAVE
,
0
,
nil
)
if
#
g
<
4
or
not
g
:
IsExists
(
Card
.
IsCode
,
1
,
nil
,
10200046
)
then
return
end
if
#
g
<
4
then
return
end
local
g1
=
g
:
Filter
(
Card
.
IsCode
,
nil
,
10200046
)
if
#
g1
==
0
then
return
end
local
selected
=
Group
.
CreateGroup
()
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
local
sg
=
g
:
FilterSelect
(
tp
,
Card
.
IsCode
,
1
,
1
,
nil
,
10200046
)
local
sg1
=
g1
:
Select
(
tp
,
1
,
1
,
nil
)
selected
:
Merge
(
sg1
)
for
i
=
1
,
3
do
local
ng
=
g
:
Filter
(
c10200066
.
tdfilter
,
nil
,
s
g
)
local
ng
=
g
:
Filter
(
c10200066
.
tdfilter
,
nil
,
s
elected
)
if
#
ng
==
0
then
return
end
Duel
.
Hint
(
HINT_SELECTMSG
,
tp
,
HINTMSG_TODECK
)
local
tc
=
ng
:
Select
(
tp
,
1
,
1
,
nil
):
GetFirst
()
s
g
:
AddCard
(
tc
)
s
elected
:
AddCard
(
tc
)
end
if
#
s
g
==
4
then
Duel
.
SendtoDeck
(
s
g
,
nil
,
SEQ_DECKSHUFFLE
,
REASON_EFFECT
)
if
#
s
elected
==
4
then
Duel
.
SendtoDeck
(
s
elected
,
nil
,
SEQ_DECKSHUFFLE
,
REASON_EFFECT
)
end
end
expansions/script/c22348284.lua
View file @
aa1fd8f3
...
...
@@ -111,7 +111,9 @@ function c22348284.tdop(e,tp,eg,ep,ev,re,r,rp)
if
g
:
GetCount
()
>
0
then
local
tc
=
g
:
GetFirst
()
if
Duel
.
SpecialSummonStep
(
tc
,
0
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
then
Duel
.
Equip
(
tp
,
c
,
tc
)
if
c
:
IsRelateToEffect
(
e
)
then
Duel
.
Equip
(
tp
,
c
,
tc
)
end
Duel
.
SpecialSummonComplete
()
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