游戏王残局简化版

Diff
Login

Diff

Differences From Artifact [e31f06ac81]:

To Artifact [d348e18ee9]:


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

1
2
3

4
5
6
7
8
9
10
11
12
13
14
15











16
17
18
19
20
21
22
-



-












-
-
-
-
-
-
-
-
-
-
-







local str = {}
local string = string
local table = table
local s = {}
_G.fun = {}
s["效牌之类排"] = {
TYPE_SPELL
, TYPE_TRAP
, TYPE_EFFECT
}
s["无效灵摆怪兽之卡编排"] = {
28363749
, 19474136
, 17390179
, 83980492
}
s["全区"] = LOCATION_HAND + LOCATION_MZONE + LOCATION_SZONE + LOCATION_GRAVE + LOCATION_REMOVED + LOCATION_DECK + LOCATION_EXTRA
--第一层-------------------------------
local cache_1
local cache_2
local cache_3
local cache_4
local cache_5
local cache_6
local cache_7
local cache_8
local cache_9
local _
do
  local h1
  --~ 则对
  h1 = {
  [3] = "大师3 "
  , [4] = "新大师 "
  , [5] = "大师2020 "
63
64
65
66
67
68
69
70

71
72
73
74
75
76
77
50
51
52
53
54
55
56

57
58
59
60
61
62
63
64







-
+







    Duel.ShuffleDeck(0)
    Duel.Draw(0, u1, REASON_RULE)
    u2:Reset()
    end
  h1:SetOperation(h2)
  Duel.RegisterEffect(h1, 0)
  end
fun["一_该效果被连锁"] = function()
function s.["不被连锁"]()
  Duel.SetChainLimit(aux.FALSE)
  return true
  end
do
  local h1, h2
  --~ 原解邀请
  h1 = "残局群181175613"
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
177
178
179
180
181
182




183
184

185
186
187
188
189
190
191
192
193














194
195
196
197
198




199
200
201
202
203
204
205
206
207
208









209
210
211


212
213
214
215

216
217
218
219
220

221
222
223
224
225
226
227
130
131
132
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
177
178
179
180
181
182
183
184
185


186
187
188
189
190

191
192
193
194
195

196
197
198
199
200
201
202
203







-
-
-
-
-
-
-
-
-
-
-










-
+
+

-
-
+
-
-
-
-
-
-
-
-
+
+
+
+
-
-
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+

-
-
-
-
+
+
+
+

-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+

-
-
+
+



-
+




-
+







  s["禁格之数"] = u1
  --~ 效果
  h1 = Effect.GlobalEffect()
  h1:SetCode(EFFECT_USE_EXTRA_MZONE)
  h1:SetValue(u1)
  Duel.RegisterEffect(h1, 0)
  end
--第二层-------------------------------
local cache_1
local cache_2
local cache_3
local cache_4
local cache_5
local cache_6
local cache_7
local cache_8
local cache_9
local _
do
  s["Debug.ReloadFieldEnd"] = _G.Debug.ReloadFieldEnd
  --~ 开局洗牌抽牌之数
  function _G.Debug.ReloadFieldEnd(u1)
    s["Debug.ReloadFieldEnd"]()
    if u1 then
      s["开局洗牌抽牌"](u1)
      end
    end
  end
fun["二_印牌"] = function(u1, u2, u3)
function s.["印牌"](u1, u2, u3)
  local h1, h2, h3
  u3 = u3 or u2
  Debug.ShowHint(
    "点击对方额外牌组可以进行印牌。\n手牌只能印 "
  Debug.ShowHint("点击对方额外牌组可以进行印牌。\n手牌只能印 " .. u2 .. " 张。\n最多可以印 " .. u3 .. " 张")
      .. u2
      .. " 张。\n最多可以印 "
      .. u3
      .. " 张"
  )
  str["效果"] = Effect.CreateEffect(u1)
  str["当前印牌数"] = 1
  str["效果"]:SetType(EFFECT_TYPE_IGNITION)
  h1 = Effect.CreateEffect(u1)
  --~ 现之印牌数
  h2 = 1
  h1:SetType(EFFECT_TYPE_IGNITION)
  str["效果"]:SetProperty(
    EFFECT_FLAG_BOTH_SIDE + EFFECT_FLAG_UNCOPYABLE + EFFECT_FLAG_CANNOT_NEGATE + EFFECT_FLAG_CANNOT_DISABLE
  h1:SetProperty(EFFECT_FLAG_BOTH_SIDE + EFFECT_FLAG_UNCOPYABLE + EFFECT_FLAG_CANNOT_NEGATE + EFFECT_FLAG_CANNOT_DISABLE)
  )
  str["效果"]:SetTarget(fun["一_该效果被连锁"])
  str["效果"]:SetRange(LOCATION_EXTRA)
  function print_hand(effect_event, player_who_activate_the_effect)
    announce_card = Duel.AnnounceCard(player_who_activate_the_effect)
    card = Duel.CreateToken(player_who_activate_the_effect, announce_card)
    if str["当前印牌数"] <= u2 then
      str["当前印牌数"] = str["当前印牌数"] + 1
      Duel.SendtoHand(card, nil, REASON_RULE)
  h1:SetTarget(s["不被连锁"])
  h1:SetRange(LOCATION_EXTRA)
  -- 印牌
  --~ 调该效果的效果
  --~ 调该效果的玩家
  function h3(u4, u5)
    local h4, h5
    --~ 印卡之卡编
    h4 = Duel.AnnounceCard(u5)
    --~ 卡
    h5 = Duel.CreateToken(u5, h4)
    if h2 <= u2 then
      h2 = h2 + 1
      Duel.SendtoHand(h5, nil, REASON_RULE)
    else
      if str["当前印牌数"] <= u3 then
        str["当前印牌数"] = str["当前印牌数"] + 1
        Duel.Remove(card, POS_FACEUP, REASON_RULE)
        Duel.SendtoDeck(card, player_who_activate_the_effect, 0, REASON_RULE)
      if h2 <= u3 then
        h2 = h2 + 1
        Duel.Remove(h5, POS_FACEUP, REASON_RULE)
        Duel.SendtoDeck(card, u5, 0, REASON_RULE)
      else
        Debug.ShowHint("印牌过多")
        effect_event:Reset()
      end
    end
  end
  str["效果"]:SetOperation(print_hand)
  u1:RegisterEffect(str["效果"])
end
fun["二_开局说明"] = function()
        Debug.ShowHint("印牌过多")
        u4:Reset()
        end
      end
    end
  h1:SetOperation(h3)
  u1:RegisterEffect(h1)
  end
function s.["开局之示"]()
  local h1, h2, h3
  --~ 此局效牌数
  h2 = Duel.GetMatchingGroupCount(fun["是否效牌"], 0, s["全区"], s["全区"], nil)
  --~ 此局效牌数
  h2 = Duel.GetMatchingGroupCount(s["是否效牌"], 0, s["全区"], s["全区"], nil)
  --~ 超量材组
  h3 = Duel.GetOverlayGroup(0, LOCATION_MZONE, LOCATION_MZONE)
  for u1 in aux.Next(h3) do
    if fun["一_是否效牌"](u1) then
    if s["是否效牌"](u1) then
      h2 = h2 + 1
      end
    end
  --~ 开局说明
  h1 = str["这个残局的效果牌数量"] .. "牌 " .. str["规则"]
  h1 = h2 .. "牌 " .. s["则"]
  if s["伪洗牌"] == 0 then
  else
    h1 = h1 .. "伪洗牌 "
    end
  if s["战段"] == 0 then
    h1 = h1 .. "无战段 "
    end
247
248
249
250
251
252
253
254

255
256
257
258
259
260
261
262
263
223
224
225
226
227
228
229

230
231
232
233













-
+



-
-
-
-
-
-
    s["aux.BeginPuzzle"]()
    if u1 then
      s["开局选牌入手"](u1)
      end
    if u2 then
      s["禁格"](u2)
      end
    fun["二_开局说明"]()
    s["开局之示"]()
    s["通关之邀"]()
    end
  end
--兼容层-------------------------------
fun["印牌"] = fun["二_印牌"]
fun["开局添加手牌"] = s["开局选牌入手"]
fun["是否效果牌"] = fun["一_是否效果牌"]
fun["禁格"] = s["禁格"]
fun["随机抽牌"] = s["开局洗牌抽牌"]