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
b8ee1f64
Commit
b8ee1f64
authored
Jul 16, 2025
by
POLYMER
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
8f0aa358
Changes
7
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
2304 additions
and
945 deletions
+2304
-945
expansions/script/c20000000.lua
expansions/script/c20000000.lua
+819
-405
expansions/script/c20099997.lua
expansions/script/c20099997.lua
+385
-92
expansions/script/c20099998.lua
expansions/script/c20099998.lua
+957
-344
expansions/script/c20099999.lua
expansions/script/c20099999.lua
+36
-17
expansions/script/c66620025.lua
expansions/script/c66620025.lua
+8
-0
expansions/script/c66620515.lua
expansions/script/c66620515.lua
+10
-0
expansions/script/c89390003.lua
expansions/script/c89390003.lua
+89
-87
No files found.
expansions/script/c20000000.lua
View file @
b8ee1f64
This diff is collapsed.
Click to expand it.
expansions/script/c20099997.lua
View file @
b8ee1f64
This diff is collapsed.
Click to expand it.
expansions/script/c20099998.lua
View file @
b8ee1f64
This diff is collapsed.
Click to expand it.
expansions/script/c20099999.lua
View file @
b8ee1f64
...
@@ -124,9 +124,9 @@ fucs.cod = {
...
@@ -124,9 +124,9 @@ fucs.cod = {
RE
=
EVENT_REMOVE
,
RE
=
EVENT_REMOVE
,
MO
=
EVENT_MOVE
,
MO
=
EVENT_MOVE
,
--召唤
--召唤
PS
=
EVENT_SUMMON
,
--召唤之际(怪兽还没上场、神宣等时点)
PS
=
EVENT_SUMMON
,
--召唤之际(怪兽还没上场、神宣等时点)
PSP
=
EVENT_SPSUMMON
,
--特殊召唤之际
PSP
=
EVENT_SPSUMMON
,
--特殊召唤之际
PFS
=
EVENT_FLIP_SUMMON
,
--翻转召唤之际
PFS
=
EVENT_FLIP_SUMMON
,
--翻转召唤之际
S
=
EVENT_SUMMON_SUCCESS
,
--通常召唤成功时
S
=
EVENT_SUMMON_SUCCESS
,
--通常召唤成功时
SP
=
EVENT_SPSUMMON_SUCCESS
,
--特殊召唤成功时
SP
=
EVENT_SPSUMMON_SUCCESS
,
--特殊召唤成功时
FS
=
EVENT_FLIP_SUMMON_SUCCESS
,
--翻转召唤成功时
FS
=
EVENT_FLIP_SUMMON_SUCCESS
,
--翻转召唤成功时
...
@@ -150,30 +150,30 @@ fucs.cod = {
...
@@ -150,30 +150,30 @@ fucs.cod = {
NEGS
=
EVENT_SUMMON_NEGATED
,
--召唤被无效时
NEGS
=
EVENT_SUMMON_NEGATED
,
--召唤被无效时
NEGFS
=
EVENT_FLIP_SUMMON_NEGATED
,
--反转召唤被无效时
NEGFS
=
EVENT_FLIP_SUMMON_NEGATED
,
--反转召唤被无效时
NEGSP
=
EVENT_SPSUMMON_NEGATED
,
--特殊召唤被无效时
NEGSP
=
EVENT_SPSUMMON_NEGATED
,
--特殊召唤被无效时
NEGATK
=
EVENT_ATTACK_DISABLED
,
--攻击无效时(翻倍机会)
--连锁
--连锁
CH
=
EVENT_CHAINING
,
--效果发动时
CH
=
EVENT_CHAINING
,
--效果发动时
CHED
=
EVENT_CHAIN_SOLVED
,
--连锁处理结束时
CHED
=
EVENT_CHAIN_SOLVED
,
--连锁处理结束时
----组合时点
--攻击
PHS
=
EVENT_PHASE_START
,
ATK
=
EVENT_ATTACK_ANNOUNCE
,
--攻击宣言时
BATK
=
EVENT_BE_BATTLE_TARGET
,
--被选为攻击对象时
--需组合 阶段时点
PH
=
EVENT_PHASE
,
--阶段结束时
PHS
=
EVENT_PHASE_START
,
--阶段开始时
--[[
--[[
EVENT_CHAIN_SOLVING =1020 --连锁处理开始时(EVENT_CHAIN_ACTIVATING之後)
EVENT_CHAIN_SOLVING =1020 --连锁处理开始时(EVENT_CHAIN_ACTIVATING之後)
EVENT_CHAIN_ACTIVATING =1021 --连锁处理准备中
EVENT_CHAIN_ACTIVATING =1021 --连锁处理准备中
EVENT_CHAIN_ACTIVATED =1023 --N/A
EVENT_CHAIN_ACTIVATED =1023 --N/A
EVENT_CHAIN_NEGATED =1024 --连锁发动无效时(EVENT_CHAIN_ACTIVATING之後)
EVENT_CHAIN_DISABLED =1025 --连锁效果无效时
EVENT_CHAIN_END =1026 --连锁串结束时
EVENT_CHAIN_END =1026 --连锁串结束时
EVENT_BECOME_TARGET =1028 --成为效果对象时
EVENT_BECOME_TARGET =1028 --成为效果对象时
EVENT_BREAK_EFFECT =1050 --Duel.BreakEffect()被调用时
EVENT_BREAK_EFFECT =1050 --Duel.BreakEffect()被调用时
EVENT_MSET =1106 --放置怪兽时
EVENT_MSET =1106 --放置怪兽时
EVENT_SSET =1107 --放置魔陷时
EVENT_SSET =1107 --放置魔陷时
EVENT_DRAW =1110 --抽卡时
EVENT_DAMAGE =1111 --造成战斗/效果伤害时
EVENT_DAMAGE =1111 --造成战斗/效果伤害时
EVENT_RECOVER =1112 --回复生命值时
EVENT_RECOVER =1112 --回复生命值时
EVENT_PREDRAW =1113 --抽卡阶段通常抽卡前
EVENT_PREDRAW =1113 --抽卡阶段通常抽卡前
EVENT_CONTROL_CHANGED =1120 --控制权变更
EVENT_CONTROL_CHANGED =1120 --控制权变更
EVENT_EQUIP =1121 --装备卡装备时
EVENT_EQUIP =1121 --装备卡装备时
EVENT_ATTACK_ANNOUNCE =1130 --攻击宣言时
EVENT_BE_BATTLE_TARGET =1131 --被选为攻击对象时
EVENT_BATTLE_START =1132 --伤害步骤开始时(反转前)
EVENT_BATTLE_START =1132 --伤害步骤开始时(反转前)
EVENT_BATTLE_CONFIRM =1133 --伤害计算前(反转後)
EVENT_BATTLE_CONFIRM =1133 --伤害计算前(反转後)
EVENT_PRE_DAMAGE_CALCULATE =1134 --伤害计算时(羽斬)
EVENT_PRE_DAMAGE_CALCULATE =1134 --伤害计算时(羽斬)
...
@@ -184,7 +184,6 @@ EVENT_BATTLED =1138 --伤害计算后(异女、同反转效果时点)
...
@@ -184,7 +184,6 @@ EVENT_BATTLED =1138 --伤害计算后(异女、同反转效果时点)
EVENT_BATTLE_DESTROYING =1139 --以战斗破坏怪兽送去墓地时(BF-苍炎之修罗)
EVENT_BATTLE_DESTROYING =1139 --以战斗破坏怪兽送去墓地时(BF-苍炎之修罗)
EVENT_BATTLE_DESTROYED =1140 --被战斗破坏送去墓地时(杀人番茄等)
EVENT_BATTLE_DESTROYED =1140 --被战斗破坏送去墓地时(杀人番茄等)
EVENT_DAMAGE_STEP_END =1141 --伤害步骤结束时
EVENT_DAMAGE_STEP_END =1141 --伤害步骤结束时
EVENT_ATTACK_DISABLED =1142 --攻击无效时(翻倍机会)
EVENT_BATTLE_DAMAGE =1143 --造成战斗伤害时
EVENT_BATTLE_DAMAGE =1143 --造成战斗伤害时
EVENT_TOSS_DICE =1150 --掷骰子的结果产生后
EVENT_TOSS_DICE =1150 --掷骰子的结果产生后
EVENT_TOSS_COIN =1151 --抛硬币的结果产生后
EVENT_TOSS_COIN =1151 --抛硬币的结果产生后
...
@@ -194,8 +193,6 @@ EVENT_LEVEL_UP =1200 --等级上升时
...
@@ -194,8 +193,6 @@ EVENT_LEVEL_UP =1200 --等级上升时
EVENT_PAY_LPCOST =1201 --支付生命值时
EVENT_PAY_LPCOST =1201 --支付生命值时
EVENT_RETURN_TO_GRAVE =1203 --回到墓地时
EVENT_RETURN_TO_GRAVE =1203 --回到墓地时
EVENT_TURN_END =1210 --回合结束时
EVENT_TURN_END =1210 --回合结束时
EVENT_PHASE =0x1000 --阶段结束时
EVENT_PHASE_START =0x2000 --阶段开始时
EVENT_ADD_COUNTER =0x10000 --增加指示物时
EVENT_ADD_COUNTER =0x10000 --增加指示物时
EVENT_REMOVE_COUNTER =0x20000 --去除指示物时(A指示物),Card.RemoveCounter()必須手動觸發此事件
EVENT_REMOVE_COUNTER =0x20000 --去除指示物时(A指示物),Card.RemoveCounter()必須手動觸發此事件
--]]
--]]
...
@@ -219,7 +216,7 @@ fucs.pro = {
...
@@ -219,7 +216,7 @@ fucs.pro = {
CAL
=
EFFECT_FLAG_DAMAGE_CAL
,
--可以在伤害计算时发动
CAL
=
EFFECT_FLAG_DAMAGE_CAL
,
--可以在伤害计算时发动
OP
=
EFFECT_FLAG_EVENT_PLAYER
,
--发动/处理效果的玩家为触发事件的玩家而不是卡片的持有者,如仪式魔人,万魔殿
OP
=
EFFECT_FLAG_EVENT_PLAYER
,
--发动/处理效果的玩家为触发事件的玩家而不是卡片的持有者,如仪式魔人,万魔殿
NR
=
EFFECT_FLAG_NO_TURN_RESET
,
--发条等“这张卡在场上只能发动一次”的效果
NR
=
EFFECT_FLAG_NO_TURN_RESET
,
--发条等“这张卡在场上只能发动一次”的效果
OE
=
0x40400
,
--EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE(out effect)
OE
=
0x40400
,
--EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE(out effect)
}
}
--Location Variable
--Location Variable
fucs
.
ran
=
{
fucs
.
ran
=
{
...
@@ -237,13 +234,19 @@ fucs.ran = {
...
@@ -237,13 +234,19 @@ fucs.ran = {
[
"P"
]
=
LOCATION_PZONE
,
[
"P"
]
=
LOCATION_PZONE
,
[
"A"
]
=
0xff
[
"A"
]
=
0xff
}
}
--Countlimit Variable
fucs
.
ctl
=
{
O
=
EFFECT_COUNT_CODE_OATH
,
D
=
EFFECT_COUNT_CODE_DUEL
,
C
=
EFFECT_COUNT_CODE_CHAIN
,
}
--Phase Variable
--Phase Variable
fucs
.
pha
=
{
fucs
.
pha
=
{
DP
=
PHASE_DRAW
,
--抽卡阶段
DP
=
PHASE_DRAW
,
--抽卡阶段
SP
=
PHASE_STANDBY
,
--准备阶段
SP
=
PHASE_STANDBY
,
--准备阶段
M1
=
PHASE_MAIN1
,
--主要阶段1
M1
=
PHASE_MAIN1
,
--主要阶段1
BPS
=
PHASE_BATTLE_START
,
--战斗阶段开始
BPS
=
PHASE_BATTLE_START
,
--战斗阶段开始
B
P
=
PHASE_BATTLE_STEP
,
--战斗步驟
B
S
=
PHASE_BATTLE_STEP
,
--战斗步驟
DS
=
PHASE_DAMAGE
,
--伤害步驟
DS
=
PHASE_DAMAGE
,
--伤害步驟
DC
=
PHASE_DAMAGE_CAL
,
--伤害计算时
DC
=
PHASE_DAMAGE_CAL
,
--伤害计算时
BPE
=
PHASE_BATTLE
,
--战斗阶段結束
BPE
=
PHASE_BATTLE
,
--战斗阶段結束
...
@@ -396,5 +399,21 @@ fucs.val = {
...
@@ -396,5 +399,21 @@ fucs.val = {
LI
=
SUMMON_TYPE_LINK
,
LI
=
SUMMON_TYPE_LINK
,
--Summon Value --特定的召唤方式
--Summon Value --特定的召唤方式
SELF
=
SUMMON_VALUE_SELF
,
SELF
=
SUMMON_VALUE_SELF
,
SYM
=
SUMMON_VALUE_SYNCHRO_MATERIAL
SYM
=
SUMMON_VALUE_SYNCHRO_MATERIAL
,
}
--location Value --离场重定向
\ No newline at end of file
H
=
LOCATION_HAND
,
D
=
LOCATION_DECK
,
G
=
LOCATION_GRAVE
,
R
=
LOCATION_REMOVED
,
E
=
LOCATION_EXTRA
,
}
--Value Variable
fucs
.
act
=
{
S
=
ACTIVITY_SUMMON
,
--召唤(不包括通常召唤的set)
NS
=
ACTIVITY_NORMALSUMMON
,
--通常召唤(包括通常召唤的set)
SP
=
ACTIVITY_SPSUMMON
,
--特殊召唤
FS
=
ACTIVITY_FLIPSUMMON
,
--反转召唤
ATK
=
ACTIVITY_ATTACK
,
--攻击
CH
=
ACTIVITY_CHAIN
,
--发动效果
}
expansions/script/c66620025.lua
View file @
b8ee1f64
...
@@ -160,6 +160,10 @@ function s.fspop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -160,6 +160,10 @@ function s.fspop(e,tp,eg,ep,ev,re,r,rp)
if
sg1
:
IsContains
(
tc
)
and
(
sg2
==
nil
or
not
sg2
:
IsContains
(
tc
)
or
ce
and
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
if
sg1
:
IsContains
(
tc
)
and
(
sg2
==
nil
or
not
sg2
:
IsContains
(
tc
)
or
ce
and
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
if
#
mat1
==
0
then
goto
cancel
end
if
#
mat1
==
0
then
goto
cancel
end
if
mat1
:
IsExists
(
Card
.
IsFacedown
,
1
,
nil
)
then
Duel
.
ConfirmCards
(
1
-
tp
,
mat1
)
end
Duel
.
HintSelection
(
mat1
)
tc
:
SetMaterial
(
mat1
)
tc
:
SetMaterial
(
mat1
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
SendtoGrave
(
mat1
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
...
@@ -167,6 +171,10 @@ function s.fspop(e,tp,eg,ep,ev,re,r,rp)
...
@@ -167,6 +171,10 @@ function s.fspop(e,tp,eg,ep,ev,re,r,rp)
elseif
ce
~=
nil
then
elseif
ce
~=
nil
then
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg2
,
nil
,
chkf
)
if
#
mat2
==
0
then
goto
cancel
end
if
#
mat2
==
0
then
goto
cancel
end
if
mat2
:
IsExists
(
Card
.
IsFacedown
,
1
,
nil
)
then
Duel
.
ConfirmCards
(
1
-
tp
,
mat2
)
end
Duel
.
HintSelection
(
mat2
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
end
end
...
...
expansions/script/c66620515.lua
View file @
b8ee1f64
...
@@ -90,11 +90,21 @@ function c66620515.activate(e,tp,eg,ep,ev,re,r,rp)
...
@@ -90,11 +90,21 @@ function c66620515.activate(e,tp,eg,ep,ev,re,r,rp)
if
sg1
:
IsContains
(
tc
)
and
(
sg2
==
nil
or
not
sg2
:
IsContains
(
tc
)
or
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
if
sg1
:
IsContains
(
tc
)
and
(
sg2
==
nil
or
not
sg2
:
IsContains
(
tc
)
or
not
Duel
.
SelectYesNo
(
tp
,
ce
:
GetDescription
()))
then
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
local
mat1
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg1
,
nil
,
chkf
)
tc
:
SetMaterial
(
mat1
)
tc
:
SetMaterial
(
mat1
)
if
mat1
:
IsExists
(
Card
.
IsFacedown
,
1
,
nil
)
then
local
g
=
mat1
:
Filter
(
Card
.
IsFacedown
,
nil
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
Duel
.
HintSelection
(
mat1
)
Duel
.
Remove
(
mat1
,
POS_FACEUP
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
Remove
(
mat1
,
POS_FACEUP
,
REASON_EFFECT
+
REASON_MATERIAL
+
REASON_FUSION
)
Duel
.
BreakEffect
()
Duel
.
BreakEffect
()
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
Duel
.
SpecialSummon
(
tc
,
SUMMON_TYPE_FUSION
,
tp
,
tp
,
false
,
false
,
POS_FACEUP
)
else
else
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
local
mat2
=
Duel
.
SelectFusionMaterial
(
tp
,
tc
,
mg3
,
nil
,
chkf
)
if
mat2
:
IsExists
(
Card
.
IsFacedown
,
1
,
nil
)
then
local
g
=
mat2
:
Filter
(
Card
.
IsFacedown
,
nil
)
Duel
.
ConfirmCards
(
1
-
tp
,
g
)
end
Duel
.
HintSelection
(
mat2
)
local
fop
=
ce
:
GetOperation
()
local
fop
=
ce
:
GetOperation
()
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
fop
(
ce
,
e
,
tp
,
tc
,
mat2
)
end
end
...
...
expansions/script/c89390003.lua
View file @
b8ee1f64
...
@@ -2,111 +2,113 @@
...
@@ -2,111 +2,113 @@
local
m
=
89390003
local
m
=
89390003
local
cm
=
_G
[
"c"
..
m
]
local
cm
=
_G
[
"c"
..
m
]
function
cm
.
initial_effect
(
c
)
function
cm
.
initial_effect
(
c
)
c
:
EnableReviveLimit
()
c
:
EnableReviveLimit
()
aux
.
AddFusionProcFunRep
(
c
,
cm
.
ffilter
,
3
,
true
)
aux
.
AddFusionProcFunRep
(
c
,
cm
.
ffilter
,
3
,
true
)
local
e1
=
Effect
.
CreateEffect
(
c
)
local
e1
=
Effect
.
CreateEffect
(
c
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e1
:
SetCode
(
EVENT_SUMMON_SUCCESS
)
e1
:
SetCode
(
EVENT_SUMMON_SUCCESS
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetRange
(
LOCATION_MZONE
)
e1
:
SetCondition
(
cm
.
limcon
)
e1
:
SetCondition
(
cm
.
limcon
)
e1
:
SetOperation
(
cm
.
limop
)
e1
:
SetOperation
(
cm
.
limop
)
c
:
RegisterEffect
(
e1
)
c
:
RegisterEffect
(
e1
)
local
e2
=
e1
:
Clone
()
local
e2
=
e1
:
Clone
()
e2
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
e2
:
SetCode
(
EVENT_SPSUMMON_SUCCESS
)
c
:
RegisterEffect
(
e2
)
c
:
RegisterEffect
(
e2
)
local
e0
=
e1
:
Clone
()
local
e0
=
e1
:
Clone
()
e0
:
SetCode
(
EVENT_FLIP_SUMMON_SUCCESS
)
e0
:
SetCode
(
EVENT_FLIP_SUMMON_SUCCESS
)
c
:
RegisterEffect
(
e0
)
c
:
RegisterEffect
(
e0
)
local
e5
=
Effect
.
CreateEffect
(
c
)
local
e5
=
Effect
.
CreateEffect
(
c
)
e5
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e5
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e5
:
SetRange
(
LOCATION_MZONE
)
e5
:
SetRange
(
LOCATION_MZONE
)
e5
:
SetCode
(
EVENT_CHAIN_END
)
e5
:
SetCode
(
EVENT_CHAIN_END
)
e5
:
SetOperation
(
cm
.
limop2
)
e5
:
SetOperation
(
cm
.
limop2
)
c
:
RegisterEffect
(
e5
)
c
:
RegisterEffect
(
e5
)
local
e6
=
Effect
.
CreateEffect
(
c
)
local
e6
=
Effect
.
CreateEffect
(
c
)
e6
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e6
:
SetType
(
EFFECT_TYPE_FIELD
+
EFFECT_TYPE_CONTINUOUS
)
e6
:
SetCode
(
EVENT_CHAINING
)
e6
:
SetCode
(
EVENT_CHAINING
)
e6
:
SetRange
(
LOCATION_MZONE
)
e6
:
SetRange
(
LOCATION_MZONE
)
e6
:
SetCondition
(
cm
.
limcon
)
e6
:
SetCondition
(
cm
.
limcon
)
e6
:
SetOperation
(
cm
.
chainop
)
e6
:
SetOperation
(
cm
.
chainop
)
c
:
RegisterEffect
(
e6
)
c
:
RegisterEffect
(
e6
)
local
e7
=
Effect
.
CreateEffect
(
c
)
local
e7
=
Effect
.
CreateEffect
(
c
)
e7
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e7
:
SetDescription
(
aux
.
Stringid
(
m
,
0
))
e7
:
SetCategory
(
CATEGORY_REMOVE
+
CATEGORY_DRAW
)
e7
:
SetCategory
(
CATEGORY_REMOVE
+
CATEGORY_DRAW
)
e7
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e7
:
SetType
(
EFFECT_TYPE_QUICK_O
)
e7
:
SetCode
(
EVENT_FREE_CHAIN
)
e7
:
SetCode
(
EVENT_FREE_CHAIN
)
e7
:
SetProperty
(
EFFECT_FLAG_NO_TURN_RESET
)
e7
:
SetProperty
(
EFFECT_FLAG_NO_TURN_RESET
)
e7
:
SetRange
(
LOCATION_MZONE
)
e7
:
SetRange
(
LOCATION_MZONE
)
e7
:
SetCountLimit
(
1
,
EFFECT_COUNT_CODE_SINGLE
)
e7
:
SetCountLimit
(
1
,
EFFECT_COUNT_CODE_SINGLE
)
e7
:
SetTarget
(
cm
.
destg
)
e7
:
SetTarget
(
cm
.
destg
)
e7
:
SetOperation
(
cm
.
desop
)
e7
:
SetOperation
(
cm
.
desop
)
c
:
RegisterEffect
(
e7
)
c
:
RegisterEffect
(
e7
)
local
e8
=
e7
:
Clone
()
local
e8
=
e7
:
Clone
()
e8
:
SetDescription
(
aux
.
Stringid
(
m
,
1
))
e8
:
SetDescription
(
aux
.
Stringid
(
m
,
1
))
e8
:
SetTarget
(
cm
.
destg2
)
e8
:
SetTarget
(
cm
.
destg2
)
e8
:
SetOperation
(
cm
.
desop2
)
e8
:
SetOperation
(
cm
.
desop2
)
c
:
RegisterEffect
(
e8
)
c
:
RegisterEffect
(
e8
)
end
end
function
cm
.
ffilter
(
c
,
fc
,
sub
,
mg
,
sg
)
function
cm
.
ffilter
(
c
,
fc
,
sub
,
mg
,
sg
)
return
c
:
IsRace
(
RACE_PSYCHO
)
and
(
not
sg
or
not
sg
:
IsExists
(
Card
.
IsFusionCode
,
1
,
c
,
c
:
GetFusionCode
()))
return
c
:
IsRace
(
RACE_PSYCHO
)
and
(
not
sg
or
not
sg
:
IsExists
(
Card
.
IsFusionCode
,
1
,
c
,
c
:
GetFusionCode
()))
end
end
function
cm
.
chainlm
(
e
,
rp
,
tp
)
function
cm
.
chainlm
(
e
,
rp
,
tp
)
return
tp
==
rp
return
tp
==
rp
end
end
function
cm
.
limcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
limcon
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g
=
c
:
GetMaterial
()
local
g
=
c
:
GetMaterial
()
return
c
:
IsSummonType
(
SUMMON_TYPE_FUSION
)
and
g
:
IsExists
(
Card
.
IsFusionCode
,
1
,
nil
,
89390000
)
and
g
:
IsExists
(
Card
.
IsFusionCode
,
1
,
nil
,
89390001
)
and
g
:
IsExists
(
Card
.
IsFusionCode
,
1
,
nil
,
89390002
)
return
c
:
IsSummonType
(
SUMMON_TYPE_FUSION
)
and
g
:
IsExists
(
Card
.
IsFusionCode
,
1
,
nil
,
89390000
)
and
g
:
IsExists
(
Card
.
IsFusionCode
,
1
,
nil
,
89390001
)
and
g
:
IsExists
(
Card
.
IsFusionCode
,
1
,
nil
,
89390002
)
end
end
function
cm
.
limop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
limop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
if
Duel
.
GetCurrentChain
()
==
0
then
if
Duel
.
GetCurrentChain
()
==
0
then
Duel
.
SetChainLimitTillChainEnd
(
cm
.
chainlm
)
Duel
.
SetChainLimitTillChainEnd
(
cm
.
chainlm
)
elseif
Duel
.
GetCurrentChain
()
==
1
then
elseif
Duel
.
GetCurrentChain
()
==
1
then
e
:
GetHandler
():
RegisterFlagEffect
(
m
,
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_END
,
0
,
1
)
e
:
GetHandler
():
RegisterFlagEffect
(
m
,
RESET_EVENT
+
RESETS_STANDARD
+
RESET_PHASE
+
PHASE_END
,
0
,
1
)
end
end
end
end
function
cm
.
limop2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
limop2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
c
=
e
:
GetHandler
()
local
c
=
e
:
GetHandler
()
local
g
=
c
:
GetMaterial
()
local
g
=
c
:
GetMaterial
()
if
c
:
IsSummonType
(
SUMMON_TYPE_FUSION
)
and
g
:
IsExists
(
Card
.
IsFusionCode
,
1
,
nil
,
89390000
)
and
g
:
IsExists
(
Card
.
IsFusionCode
,
1
,
nil
,
89390001
)
and
g
:
IsExists
(
Card
.
IsFusionCode
,
1
,
nil
,
89390002
)
and
c
:
GetFlagEffect
(
m
)
>
0
then
if
c
:
IsSummonType
(
SUMMON_TYPE_FUSION
)
and
g
:
IsExists
(
Card
.
IsFusionCode
,
1
,
nil
,
89390000
)
and
g
:
IsExists
(
Card
.
IsFusionCode
,
1
,
nil
,
89390001
)
and
g
:
IsExists
(
Card
.
IsFusionCode
,
1
,
nil
,
89390002
)
and
c
:
GetFlagEffect
(
m
)
>
0
then
Duel
.
SetChainLimitTillChainEnd
(
cm
.
chainlm
)
Duel
.
SetChainLimitTillChainEnd
(
cm
.
chainlm
)
end
end
c
:
ResetFlagEffect
(
m
)
c
:
ResetFlagEffect
(
m
)
end
end
function
cm
.
chainop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
chainop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
Duel
.
SetChainLimit
(
cm
.
chainlm
)
Duel
.
SetChainLimit
(
cm
.
chainlm
)
end
end
function
cm
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
destg
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
g
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_HAND
,
0
)
local
g
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_HAND
,
0
)
local
gc
=
g
:
GetCount
()
local
gc
=
g
:
GetCount
()
if
chk
==
0
then
return
gc
>
0
and
g
:
FilterCount
(
Card
.
IsAbleToRemove
,
nil
)
==
gc
and
Duel
.
IsPlayerCanDraw
(
tp
,
gc
)
end
if
chk
==
0
then
return
gc
>
0
and
g
:
FilterCount
(
Card
.
IsAbleToRemove
,
nil
)
==
gc
and
Duel
.
IsPlayerCanDraw
(
tp
,
gc
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_REMOVE
,
g
,
gc
,
0
,
0
)
Duel
.
Hint
(
HINT_OPSELECTED
,
1
-
tp
,
e
:
GetDescription
())
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DRAW
,
nil
,
0
,
tp
,
gc
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_REMOVE
,
g
,
gc
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DRAW
,
nil
,
0
,
tp
,
gc
)
end
end
function
cm
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
desop
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_HAND
,
0
)
local
g
=
Duel
.
GetFieldGroup
(
tp
,
LOCATION_HAND
,
0
)
local
gc
=
g
:
GetCount
()
local
gc
=
g
:
GetCount
()
if
gc
>
0
and
g
:
FilterCount
(
Card
.
IsAbleToRemove
,
nil
)
==
gc
then
if
gc
>
0
and
g
:
FilterCount
(
Card
.
IsAbleToRemove
,
nil
)
==
gc
then
local
oc
=
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_EFFECT
)
local
oc
=
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_EFFECT
)
if
oc
>
0
then
if
oc
>
0
then
Duel
.
Draw
(
tp
,
oc
,
REASON_EFFECT
)
Duel
.
Draw
(
tp
,
oc
,
REASON_EFFECT
)
end
end
end
end
end
end
function
cm
.
destg2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
function
cm
.
destg2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
,
chk
)
local
g
=
Duel
.
GetFieldGroup
(
tp
,
0
,
LOCATION_HAND
)
local
g
=
Duel
.
GetFieldGroup
(
tp
,
0
,
LOCATION_HAND
)
local
gc
=
g
:
GetCount
()
local
gc
=
g
:
GetCount
()
if
chk
==
0
then
return
gc
>
0
and
g
:
FilterCount
(
Card
.
IsAbleToRemove
,
nil
)
==
gc
and
Duel
.
IsPlayerCanDraw
(
1
-
tp
)
end
if
chk
==
0
then
return
gc
>
0
and
g
:
FilterCount
(
Card
.
IsAbleToRemove
,
nil
)
==
gc
and
Duel
.
IsPlayerCanDraw
(
1
-
tp
)
end
Duel
.
SetOperationInfo
(
0
,
CATEGORY_REMOVE
,
g
,
gc
,
0
,
0
)
Duel
.
Hint
(
HINT_OPSELECTED
,
1
-
tp
,
e
:
GetDescription
())
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DRAW
,
nil
,
0
,
1
-
tp
,
gc
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_REMOVE
,
g
,
gc
,
0
,
0
)
Duel
.
SetOperationInfo
(
0
,
CATEGORY_DRAW
,
nil
,
0
,
1
-
tp
,
gc
)
end
end
function
cm
.
desop2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
function
cm
.
desop2
(
e
,
tp
,
eg
,
ep
,
ev
,
re
,
r
,
rp
)
local
g
=
Duel
.
GetFieldGroup
(
tp
,
0
,
LOCATION_HAND
)
local
g
=
Duel
.
GetFieldGroup
(
tp
,
0
,
LOCATION_HAND
)
local
gc
=
g
:
GetCount
()
local
gc
=
g
:
GetCount
()
if
gc
>
0
and
g
:
FilterCount
(
Card
.
IsAbleToRemove
,
nil
)
==
gc
then
if
gc
>
0
and
g
:
FilterCount
(
Card
.
IsAbleToRemove
,
nil
)
==
gc
then
local
oc
=
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_EFFECT
)
local
oc
=
Duel
.
Remove
(
g
,
POS_FACEUP
,
REASON_EFFECT
)
if
oc
>
0
then
if
oc
>
0
then
Duel
.
Draw
(
1
-
tp
,
oc
,
REASON_EFFECT
)
Duel
.
Draw
(
1
-
tp
,
oc
,
REASON_EFFECT
)
end
end
end
end
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