1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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
|
-
-
+
-
+
-
-
-
-
-
-
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
|
local string = string
local table = table
local Debug = Debug
local Effect = Effect
local Duel = Duel
local Card = Card
local d = {}
local f = {}
local s = {}
d["排_效果卡的类型"] = {
TYPE_SPELL,
TYPE_TRAP,
TYPE_EFFECT,
}
d["排_非效果灵摆怪兽的卡编"] = {
28363749,
19474136,
17390179,
83980492,
}
d["所有区域"] = LOCATION_HAND + LOCATION_MZONE + LOCATION_SZONE + LOCATION_GRAVE + LOCATION_REMOVED + LOCATION_DECK + LOCATION_EXTRA
d["数_所有区域"] = LOCATION_HAND + LOCATION_MZONE + LOCATION_SZONE + LOCATION_GRAVE + LOCATION_REMOVED + LOCATION_DECK + LOCATION_EXTRA
do
local k1
--~ 这一局所适用规则的对
k1 = {
[3] = "大师规则 ",
[4] = "新大师规则(2017) ",
[5] = "大师规则(2020) ",
}
s["Debug.ReloadFieldBegin"] = _G.Debug.ReloadFieldBegin
f["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["则"] = k1[u2]
function _G.Debug.ReloadFieldBegin(o1, o2)
d["数_假洗卡"] = o1 & DUEL_PSEUDO_SHUFFLE
d["数_战斗阶段"] = o1 & DUEL_ATTACK_FIRST_TURN
d["数_人工智能"] = o1 & DUEL_SIMPLE_AI
if o2 then
s["则"] = k1[o2]
else
s["则"] = k1[5]
end
s["Debug.ReloadFieldBegin"](u1, u2)
s["Debug.ReloadFieldBegin"](o1, o2)
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 k1
--~ “调该效果”的效果
--~ “调该效果”的玩家
s["_开局选卡入手"] = function(u1, u2)
s["_开局选卡入手"] = function(o1, o2)
local k2
--~ 玩家选定的卡
k2 = Duel.SelectMatchingCard(u2, Card.IsAbleToHand, u2, LOCATION_DECK, 0, k1, k1, nil)
k2 = Duel.SelectMatchingCard(o2, Card.IsAbleToHand, o2, LOCATION_DECK, 0, k1, k1, nil)
Duel.SendtoHand(k2, nil, REASON_RULE)
u1:Reset()
o1:Reset()
end
s["开局选卡入手"] = function(u1)
s["开局选卡入手"] = function(o1)
local k2
d["数_选卡"] = u1
d["数_选卡"] = o1
--~ 「开局选卡入手」之量
k1 = u1
k1 = o1
--~ 效果
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)
|
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
|
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
|
-
+
-
+
-
+
-
+
|
k5:SetOperation(f["_印卡"])
o1:RegisterEffect(k5)
end
end
f["开局提示"] = function()
local k1, k2, k3
--~ 这一局的效果卡数量
k2 = Duel.GetMatchingGroupCount(d["是否有效果卡"], 0, d["所有区域"], d["所有区域"], nil)
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
--~ 开局说明
k1 = k2 .. "卡 " .. s["则"]
if d["假洗卡"] == 0 then
if d["数_假洗卡"] == 0 then
else
k1 = k1 .. "假洗卡 "
end
if d["战斗阶段"] == 0 then
if d["数_战斗阶段"] == 0 then
k1 = k1 .. "无战斗阶段 "
end
if d["人工智能"] == 0 then
if d["数_人工智能"] == 0 then
k1 = k1 .. "无人工智能 "
end
if d["数_选卡"] then
k1 = k1 .. "选" .. d["数_选卡"] .. "卡 "
end
if d["数_禁格"] then
k1 = k1 .. "禁" .. d["数_禁格"] .. "怪格 "
|