游戏王残局简化版

Check-in [e14f5fd087]
Login

Check-in [e14f5fd087]

Overview
Comment:
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: e14f5fd0873521e072b6ca969301ff2ccd0fbc8bfccf602c4a3dafc263b272bf
User & Date: 顽雨沉风 on 2024-02-14 02:01:32
Other Links: manifest | tags
Context
2024-02-14
02:03
check-in: 6fdfa2454c user: 顽雨沉风 tags: trunk
02:01
check-in: e14f5fd087 user: 顽雨沉风 tags: trunk
01:40
check-in: f4490a058a user: 顽雨沉风 tags: trunk
Changes

Modified script/c0.lua from [e31f06ac81] to [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
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 "
<



<












<
<
<
<
<
<
<
<
<
<
<








1
2
3

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











16
17
18
19
20
21
22

local string = string
local table = table
local s = {}

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











do
  local h1
  --~ 则对
  h1 = {
  [3] = "大师3 "
  , [4] = "新大师 "
  , [5] = "大师2020 "
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
    Duel.ShuffleDeck(0)
    Duel.Draw(0, u1, REASON_RULE)
    u2:Reset()
    end
  h1:SetOperation(h2)
  Duel.RegisterEffect(h1, 0)
  end
fun["一_该效果被连锁"] = function()
  Duel.SetChainLimit(aux.FALSE)
  return true
  end
do
  local h1, h2
  --~ 原解邀请
  h1 = "残局群181175613"







|







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
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
  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)

  u3 = u3 or u2
  Debug.ShowHint(
    "点击对方额外牌组可以进行印牌。\n手牌只能印 "
      .. u2
      .. " 张。\n最多可以印 "
      .. u3
      .. " 张"
  )
  str["效果"] = Effect.CreateEffect(u1)
  str["当前印牌数"] = 1

  str["效果"]:SetType(EFFECT_TYPE_IGNITION)
  str["效果"]: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)
    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)
      else
        Debug.ShowHint("印牌过多")
        effect_event:Reset()
      end
    end
  end
  str["效果"]:SetOperation(print_hand)
  u1:RegisterEffect(str["效果"])
end
fun["二_开局说明"] = function()
  local h1, h2, h3
  --~ 此局效牌数
  h2 = Duel.GetMatchingGroupCount(fun["是否效牌"], 0, s["全区"], s["全区"], nil)
  --~ 超量材组
  h3 = Duel.GetOverlayGroup(0, LOCATION_MZONE, LOCATION_MZONE)
  for u1 in aux.Next(h3) do
    if fun["一_是否效牌"](u1) then
      h2 = h2 + 1
      end
    end
  --~ 开局说明
  h1 = str["这个残局的效果牌数量"] .. "牌 " .. str["规则"]
  if s["伪洗牌"] == 0 then
  else
    h1 = h1 .. "伪洗牌 "
    end
  if s["战段"] == 0 then
    h1 = h1 .. "无战段 "
    end







<
<
<
<
<
<
<
<
<
<
<










|
>

<
|
<
<
<
<
<
|
|
>
|
<
|
<
|
|
>
>
>
|
>
>
|
>
|
|
|
|

|
|
|
|

|
|
|
|
|
|
|
|
|

|
|



|




|







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











do
  s["Debug.ReloadFieldEnd"] = _G.Debug.ReloadFieldEnd
  --~ 开局洗牌抽牌之数
  function _G.Debug.ReloadFieldEnd(u1)
    s["Debug.ReloadFieldEnd"]()
    if u1 then
      s["开局洗牌抽牌"](u1)
      end
    end
  end
function s.["印牌"](u1, u2, u3)
  local h1, h2, h3
  u3 = u3 or u2

  Debug.ShowHint("点击对方额外牌组可以进行印牌。\n手牌只能印 " .. u2 .. " 张。\n最多可以印 " .. u3 .. " 张")





  h1 = Effect.CreateEffect(u1)
  --~ 现之印牌数
  h2 = 1
  h1:SetType(EFFECT_TYPE_IGNITION)

  h1:SetProperty(EFFECT_FLAG_BOTH_SIDE + EFFECT_FLAG_UNCOPYABLE + EFFECT_FLAG_CANNOT_NEGATE + EFFECT_FLAG_CANNOT_DISABLE)

  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 h2 <= u3 then
        h2 = h2 + 1
        Duel.Remove(h5, POS_FACEUP, REASON_RULE)
        Duel.SendtoDeck(card, u5, 0, REASON_RULE)
      else
        Debug.ShowHint("印牌过多")
        u4:Reset()
        end
      end
    end
  h1:SetOperation(h3)
  u1:RegisterEffect(h1)
  end
function s.["开局之示"]()
  local h1, h2, h3
  --~ 此局效牌数
  h2 = Duel.GetMatchingGroupCount(s["是否效牌"], 0, s["全区"], s["全区"], nil)
  --~ 超量材组
  h3 = Duel.GetOverlayGroup(0, LOCATION_MZONE, LOCATION_MZONE)
  for u1 in aux.Next(h3) do
    if s["是否效牌"](u1) then
      h2 = h2 + 1
      end
    end
  --~ 开局说明
  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
    s["aux.BeginPuzzle"]()
    if u1 then
      s["开局选牌入手"](u1)
      end
    if u2 then
      s["禁格"](u2)
      end
    fun["二_开局说明"]()
    s["通关之邀"]()
    end
  end
--兼容层-------------------------------
fun["印牌"] = fun["二_印牌"]
fun["开局添加手牌"] = s["开局选牌入手"]
fun["是否效果牌"] = fun["一_是否效果牌"]
fun["禁格"] = s["禁格"]
fun["随机抽牌"] = s["开局洗牌抽牌"]







|



<
<
<
<
<
<
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
    s["开局之示"]()
    s["通关之邀"]()
    end
  end