16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
-
-
-
-
-
+
+
+
+
+
+
|
28363749,
19474136,
17390179,
83980492,
}
d["所有区域"] = LOCATION_HAND + LOCATION_MZONE + LOCATION_SZONE + LOCATION_GRAVE + LOCATION_REMOVED + LOCATION_DECK + LOCATION_EXTRA
do
local h1
local k1
--~ 则对
h1 = {
k1 = {
[3] = "大师规则 ",
[4] = "新大师规则(2017) ",
[5] = "大师规则(2020) ",
}
s["Debug.ReloadFieldBegin"] = _G.Debug.ReloadFieldBegin
--~ 模
--~ 则数
function _G.Debug.ReloadFieldBegin(u1, u2)
d["假洗卡"] = u1 & DUEL_PSEUDO_SHUFFLE
d["战斗阶段"] = u1 & DUEL_ATTACK_FIRST_TURN
d["人工智能"] = u1 & DUEL_SIMPLE_AI
if u2 then
s["则"] = h1[u2]
s["则"] = k1[u2]
else
s["则"] = h1[5]
s["则"] = k1[5]
end
s["Debug.ReloadFieldBegin"](u1, u2)
end
end
f["不被连锁"] = function()
Duel.SetChainLimit(aux.FALSE)
return true
end
d["是否有效果卡"] = function(card)
for i = 1, #d["排_非效果灵摆怪兽的卡编"] do
if Card.IsCode(card, d["排_非效果灵摆怪兽的卡编"][i]) then
return false
end
end
return true
end
do
local h1
local k1
--~ “调该效果”的效果
--~ “调该效果”的玩家
s["_开局选卡入手"] = function(u1, u2)
local h2
local k2
--~ 玩家选定的卡
h2 = Duel.SelectMatchingCard(u2, Card.IsAbleToHand, u2, LOCATION_DECK, 0, h1, h1, nil)
Duel.SendtoHand(h2, nil, REASON_RULE)
k2 = Duel.SelectMatchingCard(u2, Card.IsAbleToHand, u2, LOCATION_DECK, 0, k1, k1, nil)
Duel.SendtoHand(k2, nil, REASON_RULE)
u1:Reset()
end
s["开局选卡入手"] = function(u1)
local h2
local k2
d["数_选卡"] = u1
--~ 「开局选卡入手」之量
h1 = u1
k1 = u1
--~ 效果
h2 = Effect.GlobalEffect()
h2:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS)
h2:SetCode(EVENT_ADJUST)
h2:SetCondition(aux.TRUE)
h2:SetOperation(s["_开局选卡入手"])
Duel.RegisterEffect(h2, 0)
k2 = Effect.GlobalEffect()
k2:SetType(EFFECT_TYPE_FIELD + EFFECT_TYPE_CONTINUOUS)
k2:SetCode(EVENT_ADJUST)
k2:SetCondition(aux.TRUE)
k2:SetOperation(s["_开局选卡入手"])
Duel.RegisterEffect(k2, 0)
end
end
--~ 禁几个怪兽格
f["禁格"] = function(o1)
local k1
d["禁几个怪兽格"] = o1
--~ 效果
|
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
|
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
|
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
|
k5:SetProperty(EFFECT_FLAG_BOTH_SIDE + EFFECT_FLAG_UNCOPYABLE + EFFECT_FLAG_CANNOT_NEGATE + EFFECT_FLAG_CANNOT_DISABLE)
k5:SetTarget(f["不被连锁"])
k5:SetRange(LOCATION_EXTRA)
k5:SetOperation(f["_印卡"])
o1:RegisterEffect(k5)
end
end
d["开局提示"] = function()
local h1, h2, h3
--~ 此局效卡之数
h2 = Duel.GetMatchingGroupCount(d["是否有效果卡"], 0, d["所有区域"], d["所有区域"], nil)
--~ 超量材组
h3 = Duel.GetOverlayGroup(0, LOCATION_MZONE, LOCATION_MZONE)
for u1 in aux.Next(h3) do
if d["是否有效果卡"](u1) then
h2 = h2 + 1
f["开局提示"] = function()
local k1, k2, k3
--~ 这一局的效果卡数量
k2 = Duel.GetMatchingGroupCount(d["是否有效果卡"], 0, d["所有区域"], d["所有区域"], nil)
--~ 超量素材的组
k3 = Duel.GetOverlayGroup(0, LOCATION_MZONE, LOCATION_MZONE)
for o1 in aux.Next(k3) do
if d["是否有效果卡"](o1) then
k2 = k2 + 1
end
end
--~ 开局说明
h1 = h2 .. "卡 " .. s["则"]
k1 = k2 .. "卡 " .. s["则"]
if d["假洗卡"] == 0 then
else
h1 = h1 .. "假洗卡 "
k1 = k1 .. "假洗卡 "
end
if d["战斗阶段"] == 0 then
h1 = h1 .. "无战斗阶段 "
k1 = k1 .. "无战斗阶段 "
end
if d["人工智能"] == 0 then
h1 = h1 .. "无人工智能 "
k1 = k1 .. "无人工智能 "
end
if d["数_选卡"] then
h1 = h1 .. "选" .. d["数_选卡"] .. "卡 "
k1 = k1 .. "选" .. d["数_选卡"] .. "卡 "
end
if d["数_禁格"] then
h1 = h1 .. "禁" .. d["数_禁格"] .. "怪格 "
k1 = k1 .. "禁" .. d["数_禁格"] .. "怪格 "
end
Debug.ShowHint(h1)
Debug.ShowHint(k1)
end
do
f["aux.BeginPuzzle"] = _G.aux.BeginPuzzle
--~ 开局选卡入手的数量
--~ 禁几个我方主要怪兽格
--~ 传入对方额外卡组最上面的表侧卡,并将其作为印卡源
--~ 能印几张手卡
|