游戏王残局简化版

Diff
Login

Diff

Differences From Artifact [dea14af374]:

To Artifact [55db02fd1f]:


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
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
do
  local k1
  --~ 这一局所适用规则的对
  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["则"] = k1[u2]
    else
      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 k1
  --~ “调该效果”的效果
  --~ “调该效果”的玩家
  s["_开局选卡入手"] = function(u1, u2)
    local k2
    --~ 玩家选定的卡
    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 k2
    d["数_选卡"] = u1
    --~ 「开局选卡入手」之量
    k1 = u1
    --~ 效果
    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)








<











|








|


|
|
|
|
|
|



|


















|


|

|

|

|

|







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 = {}

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
do
  local k1
  --~ 这一局所适用规则的对
  k1 = {
    [3] = "大师规则 ",
    [4] = "新大师规则(2017) ",
    [5] = "大师规则(2020) ",
    }
  f["Debug.ReloadFieldBegin"] = _G.Debug.ReloadFieldBegin
  --~ 模
  --~ 则数
  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"](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(o1, o2)
    local k2
    --~ 玩家选定的卡
    k2 = Duel.SelectMatchingCard(o2, Card.IsAbleToHand, o2, LOCATION_DECK, 0, k1, k1, nil)
    Duel.SendtoHand(k2, nil, REASON_RULE)
    o1:Reset()
    end
  s["开局选卡入手"] = function(o1)
    local k2
    d["数_选卡"] = o1
    --~ 「开局选卡入手」之量
    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
    k5:SetOperation(f["_印卡"])
    o1:RegisterEffect(k5)
    end
  end
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
  --~ 开局说明
  k1 = k2 .. "卡 " .. s["则"]
  if d["假洗卡"] == 0 then
  else
    k1 = k1 .. "假洗卡 "
    end
  if d["战斗阶段"] == 0 then
    k1 = k1 .. "无战斗阶段 "
    end
  if d["人工智能"] == 0 then
    k1 = k1 .. "无人工智能 "
    end
  if d["数_选卡"] then
    k1 = k1 .. "选" .. d["数_选卡"] .. "卡 "
    end
  if d["数_禁格"] then
    k1 = k1 .. "禁" .. d["数_禁格"] .. "怪格 "







|









|



|


|







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)
  --~ 超量素材的组
  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
  else
    k1 = k1 .. "假洗卡 "
    end
  if d["数_战斗阶段"] == 0 then
    k1 = k1 .. "无战斗阶段 "
    end
  if d["数_人工智能"] == 0 then
    k1 = k1 .. "无人工智能 "
    end
  if d["数_选卡"] then
    k1 = k1 .. "选" .. d["数_选卡"] .. "卡 "
    end
  if d["数_禁格"] then
    k1 = k1 .. "禁" .. d["数_禁格"] .. "怪格 "